{"version":3,"file":"checkbox.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox.ts"],"sourcesContent":["import { useColorProp } from '@vuesax-alpha/hooks'\nimport { UPDATE_MODEL_EVENT } from '@vuesax-alpha/constants'\nimport {\n  buildProps,\n  definePropType,\n  isArray,\n  isBoolean,\n  isNumber,\n  isString,\n} from '@vuesax-alpha/utils'\nimport type { EmitFn } from '@vuesax-alpha/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type Checkbox from './checkbox.vue'\n\nexport type CheckboxValueType = string | number | boolean | object\n\nexport type CheckboxModelType = CheckboxValueType | CheckboxValueType[]\n\nexport const checkboxProps = buildProps({\n  /**\n   * @description Component color - Accept Vuesax's color, Hex, rgb\n   */\n  color: useColorProp,\n\n  /**\n   * @description binding value\n   */\n  modelValue: {\n    type: definePropType<CheckboxModelType>([\n      String,\n      Number,\n      Boolean,\n      Object,\n      Array,\n    ]),\n    default: undefined,\n  },\n\n  notValue: {\n    type: definePropType<CheckboxModelType>([\n      String,\n      Number,\n      Boolean,\n      Object,\n      Array,\n    ]),\n  },\n\n  /**\n   * @description self value of the Checkbox, used inside a `checkbox-group`\n   */\n  value: {\n    type: definePropType<CheckboxModelType>([\n      String,\n      Number,\n      Boolean,\n      Object,\n      Array,\n    ]),\n  },\n\n  /** @description checkbox id */\n  id: {\n    type: String,\n    default: null,\n  },\n\n  /** @description Set indeterminate state, only responsible for style control */\n  indeterminate: {\n    type: Boolean,\n  },\n\n  /** @description if the Checkbox is checked */\n  checked: {\n    type: Boolean,\n  },\n\n  /** @description Force checked component */\n  checkedForce: {\n    type: Boolean,\n  },\n  /**\n   * @description whether the Checkbox is disabled\n   */\n  disabled: {\n    type: Boolean,\n  },\n  /**\n   * @description if the Checkbox is loading\n   */\n  loading: {\n    type: Boolean,\n  },\n  /**\n   * @description Label of the Checkbox\n   */\n  label: {\n    type: String,\n  },\n  /**\n   * @description Change the position of the label.\n   */\n  labelBefore: {\n    type: Boolean,\n  },\n  /**\n   * @description Add a line in the center of the label when checked.\n   */\n  lineThrough: {\n    type: Boolean,\n  },\n  /**\n   * @description native 'name' attribute\n   */\n  name: {\n    type: String,\n    default: undefined,\n  },\n  /**\n   * @description minimum number of checkbox checked\n   */\n  min: {\n    type: Number,\n  },\n  /**\n   * @description maximum number of checkbox checked\n   */\n  max: {\n    type: Number,\n  },\n} as const)\n\nexport const checkboxEmits = {\n  [UPDATE_MODEL_EVENT]: (val: CheckboxModelType) =>\n    isString(val) || isNumber(val) || isBoolean(val) || isArray(val),\n  change: (val: CheckboxModelType) =>\n    isString(val) || isNumber(val) || isBoolean(val),\n}\n\nexport type CheckboxProps = ExtractPropTypes<typeof checkboxProps>\nexport type CheckboxEmits = typeof checkboxEmits\nexport type CheckboxEmitsFn = EmitFn<CheckboxEmits>\nexport type CheckboxInstance = InstanceType<typeof Checkbox>\n"],"names":[],"mappings":";;;;;;;;;AAmBO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EAItC,KAAO,EAAA,YAAA;AAAA,EAKP,UAAY,EAAA;AAAA,IACV,MAAM,cAAkC,CAAA;AAAA,MACtC,MAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA;AAAA,IACD,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,MAAM,cAAkC,CAAA;AAAA,MACtC,MAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA;AAAA,GACH;AAAA,EAKA,KAAO,EAAA;AAAA,IACL,MAAM,cAAkC,CAAA;AAAA,MACtC,MAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,KACD,CAAA;AAAA,GACH;AAAA,EAGA,EAAI,EAAA;AAAA,IACF,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA,EAGA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAGA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAGA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAIA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAIA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EAIA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA,CAAA;AAAA,GACX;AAAA,EAIA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EAIA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,GACR;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,CAAC,kBAAA,GAAqB,CAAC,GAAA,KACrB,SAAS,GAAG,CAAA,IAAK,QAAS,CAAA,GAAG,CAAK,IAAA,SAAA,CAAU,GAAG,CAAA,IAAK,QAAQ,GAAG,CAAA;AAAA,EACjE,MAAA,EAAQ,CAAC,GAAA,KACP,QAAS,CAAA,GAAG,KAAK,QAAS,CAAA,GAAG,CAAK,IAAA,SAAA,CAAU,GAAG,CAAA;AACnD;;;;"}