"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var closure_dimension_element_exports = {};
__export(closure_dimension_element_exports, {
  ClosureDimension: () => ClosureDimension
});
module.exports = __toCommonJS(closure_dimension_element_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const ClosureDimension = (0, import_elements.ClusterElement)(
  { name: "ClosureDimension", id: 261, classification: "application" },
  (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 1 }),
  (0, import_elements.AttributeElement)(
    { name: "FeatureMap", id: 65532, type: "FeatureMap" },
    (0, import_elements.FieldElement)({ name: "PS", conformance: "O.a+", constraint: "0", title: "Positioning" }),
    (0, import_elements.FieldElement)({ name: "LT", conformance: "O.a+", constraint: "1", title: "MotionLatching" }),
    (0, import_elements.FieldElement)({ name: "UT", conformance: "[PS]", constraint: "2", title: "Unit" }),
    (0, import_elements.FieldElement)({ name: "LM", conformance: "[PS]", constraint: "3", title: "Limitation" }),
    (0, import_elements.FieldElement)({ name: "SP", conformance: "[PS]", constraint: "4", title: "Speed" }),
    (0, import_elements.FieldElement)({ name: "TR", conformance: "[PS].b", constraint: "5", title: "Translation" }),
    (0, import_elements.FieldElement)({ name: "RO", conformance: "[PS].b", constraint: "6", title: "Rotation" }),
    (0, import_elements.FieldElement)({ name: "MD", conformance: "[PS].b", constraint: "7", title: "Modulation" })
  ),
  (0, import_elements.AttributeElement)({
    name: "CurrentState",
    id: 0,
    type: "DimensionStateStruct",
    access: "R V",
    conformance: "M",
    constraint: "desc",
    default: null,
    quality: "X Q"
  }),
  (0, import_elements.AttributeElement)({
    name: "TargetState",
    id: 1,
    type: "DimensionStateStruct",
    access: "R V",
    conformance: "M",
    constraint: "desc",
    default: null,
    quality: "X"
  }),
  (0, import_elements.AttributeElement)({
    name: "Resolution",
    id: 2,
    type: "percent100ths",
    access: "R V",
    conformance: "PS",
    constraint: "min 0.01%",
    default: { type: "percent", value: 0 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({
    name: "StepValue",
    id: 3,
    type: "percent100ths",
    access: "R V",
    conformance: "PS",
    constraint: "min 0.01%",
    default: { type: "percent", value: 0 },
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({ name: "Unit", id: 4, type: "ClosureUnitEnum", access: "R V", conformance: "UT", quality: "F" }),
  (0, import_elements.AttributeElement)({
    name: "UnitRange",
    id: 5,
    type: "UnitRangeStruct",
    access: "R V",
    conformance: "UT",
    constraint: "desc",
    default: null,
    quality: "X"
  }),
  (0, import_elements.AttributeElement)({
    name: "LimitRange",
    id: 6,
    type: "RangePercent100thsStruct",
    access: "R V",
    conformance: "LM",
    constraint: "desc"
  }),
  (0, import_elements.AttributeElement)({
    name: "TranslationDirection",
    id: 7,
    type: "TranslationDirectionEnum",
    access: "R V",
    conformance: "TR",
    quality: "F"
  }),
  (0, import_elements.AttributeElement)({ name: "RotationAxis", id: 8, type: "RotationAxisEnum", access: "R V", conformance: "RO", quality: "F" }),
  (0, import_elements.AttributeElement)({ name: "Overflow", id: 9, type: "OverflowEnum", access: "R V", conformance: "RO", quality: "F" }),
  (0, import_elements.AttributeElement)(
    { name: "ModulationType", id: 10, type: "ModulationTypeEnum", access: "R V", conformance: "MD", quality: "F" }
  ),
  (0, import_elements.AttributeElement)({
    name: "LatchControlModes",
    id: 11,
    type: "LatchControlModesBitmap",
    access: "R V",
    conformance: "LT",
    quality: "F"
  }),
  (0, import_elements.CommandElement)(
    { name: "SetTarget", id: 0, access: "O T", conformance: "M", direction: "request", response: "status" },
    (0, import_elements.FieldElement)({ name: "Position", id: 0, type: "percent100ths", conformance: "O.a+" }),
    (0, import_elements.FieldElement)({ name: "Latch", id: 1, type: "bool", conformance: "O.a+" }),
    (0, import_elements.FieldElement)({ name: "Speed", id: 2, type: "ThreeLevelAutoEnum", conformance: "O.a+", default: 0 })
  ),
  (0, import_elements.CommandElement)(
    { name: "Step", id: 1, access: "O T", conformance: "PS", direction: "request", response: "status" },
    (0, import_elements.FieldElement)({ name: "Direction", id: 0, type: "StepDirectionEnum", conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "NumberOfSteps", id: 1, type: "uint16", conformance: "M", constraint: "min 1" }),
    (0, import_elements.FieldElement)({ name: "Speed", id: 2, type: "ThreeLevelAutoEnum", conformance: "[SP]", constraint: "desc", default: 0 })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "TranslationDirectionEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Downward", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Upward", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "VerticalMask", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "VerticalSymmetry", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Leftward", id: 4, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Rightward", id: 5, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "HorizontalMask", id: 6, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "HorizontalSymmetry", id: 7, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Forward", id: 8, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Backward", id: 9, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "DepthMask", id: 10, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "DepthSymmetry", id: 11, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "RotationAxisEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Left", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "CenteredVertical", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "LeftAndRight", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Right", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Top", id: 4, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "CenteredHorizontal", id: 5, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "TopAndBottom", id: 6, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Bottom", id: 7, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "LeftBarrier", id: 8, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "LeftAndRightBarriers", id: 9, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "RightBarrier", id: 10, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "OverflowEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "NoOverflow", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Inside", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Outside", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "TopInside", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "TopOutside", id: 4, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "BottomInside", id: 5, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "BottomOutside", id: 6, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "LeftInside", id: 7, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "LeftOutside", id: 8, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "RightInside", id: 9, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "RightOutside", id: 10, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ModulationTypeEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "SlatsOrientation", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "SlatsOpenwork", id: 1, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "StripesAlignment", id: 2, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Opacity", id: 3, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Ventilation", id: 4, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "ClosureUnitEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Millimeter", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Degree", id: 1, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "StepDirectionEnum", type: "enum8" },
    (0, import_elements.FieldElement)({ name: "Decrease", id: 0, conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Increase", id: 1, conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "RangePercent100thsStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "Min", id: 0, type: "percent100ths", conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Max", id: 1, type: "percent100ths", conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "UnitRangeStruct", type: "struct" },
    (0, import_elements.FieldElement)({ name: "Min", id: 0, type: "int16", conformance: "M" }),
    (0, import_elements.FieldElement)({ name: "Max", id: 1, type: "int16", conformance: "M" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "DimensionStateStruct", type: "struct" },
    (0, import_elements.FieldElement)({
      name: "Position",
      id: 0,
      type: "percent100ths",
      conformance: "PS",
      constraint: "desc",
      default: null,
      quality: "X"
    }),
    (0, import_elements.FieldElement)({ name: "Latch", id: 1, type: "bool", conformance: "LT", constraint: "desc", default: null, quality: "X" }),
    (0, import_elements.FieldElement)({ name: "Speed", id: 2, type: "ThreeLevelAutoEnum", conformance: "SP", constraint: "desc" })
  ),
  (0, import_elements.DatatypeElement)(
    { name: "LatchControlModesBitmap", type: "map8" },
    (0, import_elements.FieldElement)({ name: "RemoteLatching", constraint: "0" }),
    (0, import_elements.FieldElement)({ name: "RemoteUnlatching", constraint: "1" })
  )
);
import_MatterDefinition.MatterDefinition.children.push(ClosureDimension);
//# sourceMappingURL=closure-dimension.element.js.map
