@vireo-ai/trellis-ui 0.1.50 → 0.1.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -1
- package/packages/client/src/components/data-grid/styles.css +13 -10
- package/packages/client/src/components/import-flow/styles.css +20 -0
- package/packages/client/src/components/import-mapper/styles.css +8 -0
- package/packages/client/src/components/select/styles.css +19 -0
- package/packages/client/src/styles/components.css +2 -0
- package/packages/client/src/styles/generated-sources.css +1 -1
- package/packages/client/src/styles/theme-support.css +267 -0
- package/packages/client/src/styles/theme.css +1 -268
- package/packages/client/types/assets/full-runtime.generated.d.ts +1 -1
- package/packages/client/types/components/date-picker/contract.d.ts +15 -6
- package/packages/client/types/components/date-picker/machine.d.ts +4 -2
- package/packages/client/types/components/entry.generated.d.ts +2 -0
- package/packages/client/types/components/formset/contract.d.ts +10 -0
- package/packages/client/types/components/formset/entry.generated.d.ts +5 -0
- package/packages/client/types/components/formset/index.d.ts +41 -0
- package/packages/client/types/components/formset/machine.d.ts +22 -0
- package/packages/client/types/components/formset/runtime-docs.d.ts +2 -0
- package/packages/client/types/components/heading/contract.d.ts +4 -2
- package/packages/client/types/components/import-flow/contract.d.ts +13 -0
- package/packages/client/types/components/import-flow/index.d.ts +2 -0
- package/packages/client/types/components/import-mapper/entry.generated.d.ts +5 -0
- package/packages/client/types/components/import-mapper/index.d.ts +25 -0
- package/packages/client/types/components/runtime.d.ts +2 -0
- package/packages/client/types/components/select/contract.d.ts +1 -0
- package/packages/client/types/components/select/machine.d.ts +3 -0
- package/packages/client/types/components/text/contract.d.ts +4 -2
- package/packages/client/types/components/virtualizer/index.d.ts +4 -1
- package/packages/client/types/runtime/cursor-data-source.d.ts +19 -1
- package/packages/client/types/runtime/engine/stream.d.ts +1 -0
- package/packages/client/types/runtime/virtualizer-schema.d.ts +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.css +56 -12
- package/packages/server/trellis_ui/static/trellis_ui/assets/css/trellis.min.css +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +393 -323
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/motion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-DQitxnHn.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-motion-BeZZfCbD.js.map → capability-motion-DQitxnHn.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-Dzv1zWaL.js +3 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-D5jfePOE.js.map → capability-sortable-Dzv1zWaL.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-DMbnlSdM.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{core-CGPV218r.js.map → core-DMbnlSdM.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/cursor-data-source-DvHNTjt1.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js → entry.generated-2QEJDMe-.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BGqM-PEq.js.map → entry.generated-2QEJDMe-.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js → entry.generated-BB7wWQfT.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-BsJJMR1g.js.map → entry.generated-BB7wWQfT.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-C07Tn0r-.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js → entry.generated-C2gP0OfV.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-qYKh9MwP.js.map → entry.generated-C2gP0OfV.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CRj4-Ef1.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js → entry.generated-CirM6w9Q.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ByvN55ox.js.map → entry.generated-CirM6w9Q.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js → entry.generated-CvcufWkj.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-DVk-PDBl.js.map → entry.generated-CvcufWkj.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D3w3QaSO.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DCLIvEtJ.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js → entry.generated-DVQaci6w.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-B3F9jaO_.js.map → entry.generated-DVQaci6w.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-D_FlEfdN.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js → entry.generated-DvvVMsQo.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-ZTRbQ10A.js.map → entry.generated-DvvVMsQo.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-QspMEPHx.js → entry.generated-QspMEPHx.js} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-QspMEPHx.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Rx9NofFi.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry2.generated-gxr2-89M.js → entry.generated-gxr2-89M.js} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-gxr2-89M.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-oz1RCU1b.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js → entry.generated-payXlXhL.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-yg-lGtcT.js.map → entry.generated-payXlXhL.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js → entry.generated-wEt8LYAv.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{entry.generated-Cwv0HSDM.js.map → entry.generated-wEt8LYAv.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-CpoK52gE.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-D1X0sDop.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-DXDHgDsN.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-_UPpJlWp.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{form-control-BkVb2Qed.js → form-control-DjbUb602.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-DjbUb602.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/morph-Cq3V_23_.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js → motion-BDQdr83d.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{motion-C3XtSJ4O.js.map → motion-BDQdr83d.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js +4 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-SdoiMWig.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/accordion.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/checkbox.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/date-picker.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/dropdown.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/file-upload.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/formset.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/import-mapper.js +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/index.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/input.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/modal.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/panels.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/radio.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/scroll-area.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/select.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/sidebar.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/slider.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/switch.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/table.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tabs.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/toast.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/tooltip.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/virtualizer.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/index.js.map +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +168 -126
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/trellis.min.js +8 -8
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-motion-BeZZfCbD.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/capability-sortable-D5jfePOE.js +0 -3
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/core-CGPV218r.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-6_ClPYhC.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-B6Gjj1Mu.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-By-7ucpB.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-CvHs5hfG.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-DFkEr0wI.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-N4M4QtmC.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-Wl7imdNP.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry.generated-qNEmG1Ht.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-Dzq4GSqn.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-QspMEPHx.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/entry2.generated-gxr2-89M.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/form-control-BkVb2Qed.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js +0 -4
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-BHBokFNi.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/virtualizer-CSk2RJEN.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.generated-BGqM-PEq.js","names":[],"sources":["../../../../../../../../client/src/components/input/contract.ts","../../../../../../../../client/src/components/input/machine.ts","../../../../../../../../client/src/components/input/index.ts","../../../../../../../../client/src/components/input/entry.generated.ts"],"sourcesContent":["import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n CONTROL_SIZES,\n CONTROL_VARIANTS,\n COMPONENT_RADII,\n ICON_VARIANTS,\n type ComponentRadius,\n type ControlSize,\n type ControlVariant,\n type IconVariant,\n} from '../common';\n\nconst INPUT_SIZES = CONTROL_SIZES;\nconst INPUT_VARIANTS = CONTROL_VARIANTS;\nconst INPUT_RADII = COMPONENT_RADII;\nconst INPUT_ICON_VARIANTS = ICON_VARIANTS;\n\ntype InputSize = ControlSize;\ntype InputVariant = ControlVariant;\ntype InputRadius = ComponentRadius;\ntype InputIconVariant = IconVariant;\n\nconst inputSchema = {\n type: string.default('text'),\n name: string,\n value: string,\n placeholder: string,\n size: oneOf(INPUT_SIZES, 'lg' as InputSize),\n variant: oneOf(INPUT_VARIANTS, 'outline' as InputVariant),\n radius: oneOf(INPUT_RADII, 'md' as InputRadius),\n disabled: bool,\n readonly: bool,\n required: bool,\n invalid: bool,\n icon: string,\n iconTrailing: string,\n iconVariant: oneOf(INPUT_ICON_VARIANTS, 'outline' as InputIconVariant),\n clearable: bool,\n copyable: bool,\n kbd: string,\n prefix: string,\n suffix: string,\n rootClass: string,\n controlClass: string,\n class: string,\n};\n\nconst inputGroupSchema = {\n size: oneOf(INPUT_SIZES, 'lg' as InputSize),\n variant: oneOf(INPUT_VARIANTS, 'outline' as InputVariant),\n radius: oneOf(INPUT_RADII, 'md' as InputRadius),\n label: string,\n description: string,\n descriptionTrailing: string,\n error: string,\n errors: string,\n badge: string,\n fieldClass: string,\n class: string,\n};\n\nconst inputAffixSchema = {\n class: string,\n};\n\ntype InputProps = SchemaToProps<typeof inputSchema>;\n\nexport {INPUT_ICON_VARIANTS, INPUT_RADII, INPUT_SIZES, INPUT_VARIANTS, inputAffixSchema, inputGroupSchema, inputSchema};\nexport type {InputIconVariant, InputProps, InputRadius, InputSize, InputVariant};\n","import {createMachine, propsChangedEvent, type Machine, type MachineEventObject, type MachineScope} from '../../runtime/state-machine';\nimport type {InputProps} from './contract';\n\ntype InputContext = {value: string};\ntype InputEffects = {\n sync(scope: MachineScope<InputContext, InputProps>): void;\n copy(scope: MachineScope<InputContext, InputProps>): void;\n emitInput(scope: MachineScope<InputContext, InputProps>): void;\n emitChange(scope: MachineScope<InputContext, InputProps>): void;\n focus(scope: MachineScope<InputContext, InputProps>): void;\n startCopiedTimer(scope: MachineScope<InputContext, InputProps>): void;\n};\nconst inputHooks = [] as const;\nconst eventValue = (event: MachineEventObject): string => typeof event.value === 'string' ? event.value : '';\nconst setValue = (scope: MachineScope<InputContext, InputProps>) => ({context: {value: eventValue(scope.event)}});\nconst clearValue = () => ({context: {value: ''}});\nconst reconcileProps = (scope: MachineScope<InputContext, InputProps>) => {\n const event = propsChangedEvent<InputProps>(scope.event);\n if (!event) return;\n const valueChanged = event.changes.some(({key}) => key === 'value');\n return {props: event.props, context: valueChanged ? {value: event.props.value} : scope.context};\n};\n\nconst createInputMachine = ({props, effects}: {props: InputProps; effects: InputEffects}): Machine<InputContext, InputProps> => createMachine<InputContext, InputProps>({\n initial: 'idle',\n on: {\n VALUE_CHANGED: {reduce: 'setValue', effects: 'sync'},\n CLEAR: {target: 'idle', reduce: 'clearValue', effects: ['sync', 'emitInput', 'emitChange', 'focus']},\n COPY: {target: 'copying', effects: 'copy'},\n PROPS_CHANGED: {reduce: 'reconcileProps', effects: 'sync'},\n },\n states: {\n idle: {},\n copying: {on: {\n COPY_DONE: {target: 'copied', effects: ['sync', 'startCopiedTimer']},\n COPY_ERROR: {target: 'idle', effects: 'sync'},\n }},\n copied: {tags: ['copied'], on: {\n COPY: {target: 'copying', effects: 'copy'},\n COPIED_TIMEOUT: {target: 'idle', effects: 'sync'},\n }},\n },\n}, {\n context: {value: props.value},\n props,\n reducers: {setValue, clearValue, reconcileProps},\n effects,\n});\n\nexport {createInputMachine, inputHooks};\nexport type {InputContext, InputEffects};\n","import type Alpine from 'alpinejs';\n\nimport {type AlpineMachine, createAlpineMachine, defineAlpineData, type MachineSnapshot, type TrellisAlpineComponent} from '@client/runtime';\nimport {syncControlPresence, syncNativeControl} from '@client/runtime/form-control';\nimport {addListener, setPresence, type CleanupStack} from '@client/utils';\nimport {inputSchema, type InputProps} from './contract';\nimport {createInputMachine, inputHooks, type InputContext} from './machine';\n\n/** Public Alpine API for `ui.input` and `ui.input.control`. @public */\ninterface UiInputApi {\n /** Current native input value. */\n readonly value: string;\n /** Clear the input, emit native input/change events, and restore focus. */\n clear(): void;\n /** Copy the current value to the clipboard. */\n copy(): void;\n}\n\ntype InputData = AlpineMachine<InputContext, InputProps, typeof inputHooks> & UiInputApi & {\n init(): void;\n destroy(): void;\n};\n\nconst UiInput = (): TrellisAlpineComponent<InputData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let inputEl: HTMLInputElement | null = null;\n let listeners: CleanupStack = [];\n let copiedTimer: number | null = null;\n let dispatching = false;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Input has not been initialized.');\n return rootEl;\n };\n const input = (): HTMLInputElement => {\n if (!inputEl) throw new Error('Input requires a native input element.');\n return inputEl;\n };\n const snapshot = (): MachineSnapshot<InputContext, InputProps> => bridge.getCommittedSnapshot();\n const syncDom = (): void => {\n const current = snapshot();\n const props = current.props;\n const native = input();\n if (native.value !== current.context.value) native.value = current.context.value;\n native.type = props.type;\n if (props.placeholder) native.placeholder = props.placeholder;\n else native.removeAttribute('placeholder');\n syncNativeControl({input: native, state: {\n name: props.name,\n disabled: props.disabled,\n readonly: props.readonly,\n required: props.required,\n invalid: props.invalid,\n }});\n syncControlPresence({el: root(), state: props, value: 'true'});\n const control = root().querySelector<HTMLElement>('[data-ui-input-control]');\n if (control) syncControlPresence({el: control, state: {disabled: props.disabled, invalid: props.invalid}, value: 'true'});\n root().querySelectorAll<HTMLElement>('[data-ui-input-clear]').forEach((button) => {\n button.hidden = current.context.value.length === 0;\n if (button instanceof HTMLButtonElement) button.disabled = props.disabled || props.readonly;\n });\n root().querySelectorAll<HTMLElement>('[data-ui-input-copy]').forEach((button) => {\n if (button instanceof HTMLButtonElement) button.disabled = props.disabled;\n setPresence({el: button, attr: 'data-copied', present: current.tags.includes('copied'), value: 'true'});\n });\n setPresence({el: root(), attr: 'data-copied', present: current.tags.includes('copied'), value: 'true'});\n };\n const dispatchNative = (type: 'input' | 'change'): void => {\n dispatching = true;\n try { input().dispatchEvent(new Event(type, {bubbles: true})); } finally { dispatching = false; }\n };\n const bridge = createAlpineMachine({\n schema: inputSchema,\n hooks: inputHooks,\n createMachine: ({props}) => createInputMachine({props, effects: {\n sync: syncDom,\n copy: (scope) => {\n const write = navigator.clipboard?.writeText(scope.context.value) ?? Promise.resolve();\n void write.then(() => bridge.send('COPY_DONE')).catch(() => bridge.send('COPY_ERROR'));\n },\n emitInput: () => dispatchNative('input'),\n emitChange: () => dispatchNative('change'),\n focus: () => input().focus({preventScroll: true}),\n startCopiedTimer: () => {\n if (copiedTimer !== null) window.clearTimeout(copiedTimer);\n copiedTimer = window.setTimeout(() => bridge.send('COPIED_TIMEOUT'), 1200);\n },\n }}),\n });\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n inputEl = root().querySelector<HTMLInputElement>('[data-ui-input]');\n if (!inputEl) throw new Error('Input requires a native input element.');\n bridge.connect(rootEl, this.snapshot);\n addListener({target: inputEl, event: 'input', handler: () => {\n if (!dispatching) bridge.send({type: 'VALUE_CHANGED', value: input().value});\n }, cleanup: listeners});\n addListener({target: rootEl, event: 'click', handler: (event) => {\n const target = event.target;\n if (!(target instanceof Element)) return;\n if (target.closest('[data-ui-input-clear]')) {\n event.preventDefault();\n bridge.send('CLEAR');\n } else if (target.closest('[data-ui-input-copy]')) {\n event.preventDefault();\n bridge.send('COPY');\n }\n }, cleanup: listeners});\n syncDom();\n },\n destroy(): void {\n if (copiedTimer !== null) window.clearTimeout(copiedTimer);\n copiedTimer = null;\n listeners.splice(0).reverse().forEach((cleanup) => cleanup());\n bridge.disconnect();\n rootEl = null;\n inputEl = null;\n },\n get value(): string {\n return bridge.getCommittedSnapshot().context.value;\n },\n clear(): void {\n if (!input().disabled && !input().readOnly) bridge.send('CLEAR');\n },\n copy(): void {\n if (!input().disabled) bridge.send('COPY');\n },\n };\n};\n\nconst registerInput = defineAlpineData('UiInput', UiInput);\n\nexport {registerInput, UiInput};\nexport type {InputData, UiInputApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerInput as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerInput = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerInput};\nexport default registerInput;\nexport * from './index';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entry.generated-2QEJDMe-.js","names":[],"sources":["../../../../../../../../client/src/components/input/contract.ts","../../../../../../../../client/src/components/input/machine.ts","../../../../../../../../client/src/components/input/index.ts","../../../../../../../../client/src/components/input/entry.generated.ts"],"sourcesContent":["import {bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n CONTROL_SIZES,\n CONTROL_VARIANTS,\n COMPONENT_RADII,\n ICON_VARIANTS,\n type ComponentRadius,\n type ControlSize,\n type ControlVariant,\n type IconVariant,\n} from '../common';\n\nconst INPUT_SIZES = CONTROL_SIZES;\nconst INPUT_VARIANTS = CONTROL_VARIANTS;\nconst INPUT_RADII = COMPONENT_RADII;\nconst INPUT_ICON_VARIANTS = ICON_VARIANTS;\n\ntype InputSize = ControlSize;\ntype InputVariant = ControlVariant;\ntype InputRadius = ComponentRadius;\ntype InputIconVariant = IconVariant;\n\nconst inputSchema = {\n type: string.default('text'),\n name: string,\n value: string,\n placeholder: string,\n size: oneOf(INPUT_SIZES, 'lg' as InputSize),\n variant: oneOf(INPUT_VARIANTS, 'outline' as InputVariant),\n radius: oneOf(INPUT_RADII, 'md' as InputRadius),\n disabled: bool,\n readonly: bool,\n required: bool,\n invalid: bool,\n icon: string,\n iconTrailing: string,\n iconVariant: oneOf(INPUT_ICON_VARIANTS, 'outline' as InputIconVariant),\n clearable: bool,\n copyable: bool,\n kbd: string,\n prefix: string,\n suffix: string,\n rootClass: string,\n controlClass: string,\n class: string,\n};\n\nconst inputGroupSchema = {\n size: oneOf(INPUT_SIZES, 'lg' as InputSize),\n variant: oneOf(INPUT_VARIANTS, 'outline' as InputVariant),\n radius: oneOf(INPUT_RADII, 'md' as InputRadius),\n label: string,\n description: string,\n descriptionTrailing: string,\n error: string,\n errors: string,\n badge: string,\n fieldClass: string,\n class: string,\n};\n\nconst inputAffixSchema = {\n class: string,\n};\n\ntype InputProps = SchemaToProps<typeof inputSchema>;\n\nexport {INPUT_ICON_VARIANTS, INPUT_RADII, INPUT_SIZES, INPUT_VARIANTS, inputAffixSchema, inputGroupSchema, inputSchema};\nexport type {InputIconVariant, InputProps, InputRadius, InputSize, InputVariant};\n","import {createMachine, propsChangedEvent, type Machine, type MachineEventObject, type MachineScope} from '../../runtime/state-machine';\nimport type {InputProps} from './contract';\n\ntype InputContext = {value: string};\ntype InputEffects = {\n sync(scope: MachineScope<InputContext, InputProps>): void;\n copy(scope: MachineScope<InputContext, InputProps>): void;\n emitInput(scope: MachineScope<InputContext, InputProps>): void;\n emitChange(scope: MachineScope<InputContext, InputProps>): void;\n focus(scope: MachineScope<InputContext, InputProps>): void;\n startCopiedTimer(scope: MachineScope<InputContext, InputProps>): void;\n};\nconst inputHooks = [] as const;\nconst eventValue = (event: MachineEventObject): string => typeof event.value === 'string' ? event.value : '';\nconst setValue = (scope: MachineScope<InputContext, InputProps>) => ({context: {value: eventValue(scope.event)}});\nconst clearValue = () => ({context: {value: ''}});\nconst reconcileProps = (scope: MachineScope<InputContext, InputProps>) => {\n const event = propsChangedEvent<InputProps>(scope.event);\n if (!event) return;\n const valueChanged = event.changes.some(({key}) => key === 'value');\n return {props: event.props, context: valueChanged ? {value: event.props.value} : scope.context};\n};\n\nconst createInputMachine = ({props, effects}: {props: InputProps; effects: InputEffects}): Machine<InputContext, InputProps> => createMachine<InputContext, InputProps>({\n initial: 'idle',\n on: {\n VALUE_CHANGED: {reduce: 'setValue', effects: 'sync'},\n CLEAR: {target: 'idle', reduce: 'clearValue', effects: ['sync', 'emitInput', 'emitChange', 'focus']},\n COPY: {target: 'copying', effects: 'copy'},\n PROPS_CHANGED: {reduce: 'reconcileProps', effects: 'sync'},\n },\n states: {\n idle: {},\n copying: {on: {\n COPY_DONE: {target: 'copied', effects: ['sync', 'startCopiedTimer']},\n COPY_ERROR: {target: 'idle', effects: 'sync'},\n }},\n copied: {tags: ['copied'], on: {\n COPY: {target: 'copying', effects: 'copy'},\n COPIED_TIMEOUT: {target: 'idle', effects: 'sync'},\n }},\n },\n}, {\n context: {value: props.value},\n props,\n reducers: {setValue, clearValue, reconcileProps},\n effects,\n});\n\nexport {createInputMachine, inputHooks};\nexport type {InputContext, InputEffects};\n","import type Alpine from 'alpinejs';\n\nimport {type AlpineMachine, createAlpineMachine, defineAlpineData, type MachineSnapshot, type TrellisAlpineComponent} from '@client/runtime';\nimport {syncControlPresence, syncNativeControl} from '@client/runtime/form-control';\nimport {addListener, setPresence, type CleanupStack} from '@client/utils';\nimport {inputSchema, type InputProps} from './contract';\nimport {createInputMachine, inputHooks, type InputContext} from './machine';\n\n/** Public Alpine API for `ui.input` and `ui.input.control`. @public */\ninterface UiInputApi {\n /** Current native input value. */\n readonly value: string;\n /** Clear the input, emit native input/change events, and restore focus. */\n clear(): void;\n /** Copy the current value to the clipboard. */\n copy(): void;\n}\n\ntype InputData = AlpineMachine<InputContext, InputProps, typeof inputHooks> & UiInputApi & {\n init(): void;\n destroy(): void;\n};\n\nconst UiInput = (): TrellisAlpineComponent<InputData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let inputEl: HTMLInputElement | null = null;\n let listeners: CleanupStack = [];\n let copiedTimer: number | null = null;\n let dispatching = false;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Input has not been initialized.');\n return rootEl;\n };\n const input = (): HTMLInputElement => {\n if (!inputEl) throw new Error('Input requires a native input element.');\n return inputEl;\n };\n const snapshot = (): MachineSnapshot<InputContext, InputProps> => bridge.getCommittedSnapshot();\n const syncDom = (): void => {\n const current = snapshot();\n const props = current.props;\n const native = input();\n if (native.value !== current.context.value) native.value = current.context.value;\n native.type = props.type;\n if (props.placeholder) native.placeholder = props.placeholder;\n else native.removeAttribute('placeholder');\n syncNativeControl({input: native, state: {\n name: props.name,\n disabled: props.disabled,\n readonly: props.readonly,\n required: props.required,\n invalid: props.invalid,\n }});\n syncControlPresence({el: root(), state: props, value: 'true'});\n const control = root().querySelector<HTMLElement>('[data-ui-input-control]');\n if (control) syncControlPresence({el: control, state: {disabled: props.disabled, invalid: props.invalid}, value: 'true'});\n root().querySelectorAll<HTMLElement>('[data-ui-input-clear]').forEach((button) => {\n button.hidden = current.context.value.length === 0;\n if (button instanceof HTMLButtonElement) button.disabled = props.disabled || props.readonly;\n });\n root().querySelectorAll<HTMLElement>('[data-ui-input-copy]').forEach((button) => {\n if (button instanceof HTMLButtonElement) button.disabled = props.disabled;\n setPresence({el: button, attr: 'data-copied', present: current.tags.includes('copied'), value: 'true'});\n });\n setPresence({el: root(), attr: 'data-copied', present: current.tags.includes('copied'), value: 'true'});\n };\n const dispatchNative = (type: 'input' | 'change'): void => {\n dispatching = true;\n try { input().dispatchEvent(new Event(type, {bubbles: true})); } finally { dispatching = false; }\n };\n const bridge = createAlpineMachine({\n schema: inputSchema,\n hooks: inputHooks,\n createMachine: ({props}) => createInputMachine({props, effects: {\n sync: syncDom,\n copy: (scope) => {\n const write = navigator.clipboard?.writeText(scope.context.value) ?? Promise.resolve();\n void write.then(() => bridge.send('COPY_DONE')).catch(() => bridge.send('COPY_ERROR'));\n },\n emitInput: () => dispatchNative('input'),\n emitChange: () => dispatchNative('change'),\n focus: () => input().focus({preventScroll: true}),\n startCopiedTimer: () => {\n if (copiedTimer !== null) window.clearTimeout(copiedTimer);\n copiedTimer = window.setTimeout(() => bridge.send('COPIED_TIMEOUT'), 1200);\n },\n }}),\n });\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n inputEl = root().querySelector<HTMLInputElement>('[data-ui-input]');\n if (!inputEl) throw new Error('Input requires a native input element.');\n bridge.connect(rootEl, this.snapshot);\n addListener({target: inputEl, event: 'input', handler: () => {\n if (!dispatching) bridge.send({type: 'VALUE_CHANGED', value: input().value});\n }, cleanup: listeners});\n addListener({target: rootEl, event: 'click', handler: (event) => {\n const target = event.target;\n if (!(target instanceof Element)) return;\n if (target.closest('[data-ui-input-clear]')) {\n event.preventDefault();\n bridge.send('CLEAR');\n } else if (target.closest('[data-ui-input-copy]')) {\n event.preventDefault();\n bridge.send('COPY');\n }\n }, cleanup: listeners});\n syncDom();\n },\n destroy(): void {\n if (copiedTimer !== null) window.clearTimeout(copiedTimer);\n copiedTimer = null;\n listeners.splice(0).reverse().forEach((cleanup) => cleanup());\n bridge.disconnect();\n rootEl = null;\n inputEl = null;\n },\n get value(): string {\n return bridge.getCommittedSnapshot().context.value;\n },\n clear(): void {\n if (!input().disabled && !input().readOnly) bridge.send('CLEAR');\n },\n copy(): void {\n if (!input().disabled) bridge.send('COPY');\n },\n };\n};\n\nconst registerInput = defineAlpineData('UiInput', UiInput);\n\nexport {registerInput, UiInput};\nexport type {InputData, UiInputApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerInput as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerInput = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerInput};\nexport default registerInput;\nexport * from './index';\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as e,l as t,n,t as r}from"./codecs-Cb1ns_47.js";import{a as i,o as a,s as o,t as s}from"./dom-qAeVl7dc.js";import{t as c}from"./alpine-machine-BTDXpEr6.js";import{t as l}from"./alpine-data-CytyCyfk.js";import{n as u,t as d}from"./styles-TfvwVPGw.js";import{t as f}from"./machine-Dqut4h89.js";import{n as p,t as m}from"./props-change-2xfsIAEN.js";import{n as h,r as ee}from"./form-control-BkVb2Qed.js";import{C as g,D as _,E as v,L as y,M as b,N as x,O as S,P as C,S as w,T,k as E,o as te,s as D,v as O,w as k,x as ne,y as re}from"./common-Dfj6NCjU.js";import{n as ie,r as ae,t as A}from"./styles-CpTCQjY5.js";var j=C,oe=[`default`,`cards`,`pills`,`menu`],M=O,N=te,P=[`default`,`cards`,`pills`,`menu`],F=y,I=re,L={value:e.default(`on`),name:e,label:e,description:e,checked:r(n,`prop-checked`),indeterminate:r(n,`prop-indeterminate`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),indicator:n.default(!0),placement:t(M,`leading`),icon:e,variant:t(P,`default`),color:t(F,`neutral`),interaction:t(I,`tonal`),size:t(N,`md`),inputClass:e,indicatorClass:e,indicatorIconClass:e,iconClass:e,contentClass:e,labelClass:e,descriptionClass:e,class:e};({...L});var se={name:e,orientation:t(j,`vertical`),variant:t(oe,`default`),color:t(F,`neutral`),interaction:t(I,`tonal`),indicator:n.default(!0),placement:t(M,`leading`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),class:e};t(N,`md`);var ce=[],le=[],ue={name:``,disabled:!1,required:!1,invalid:!1,variant:`default`},R=e=>e.indeterminate?`indeterminate`:e.checked?`checked`:`unchecked`,z=e=>e.state===`checked`||e.state===`indeterminate`?e.state:`unchecked`,B=({event:e})=>m(e,`checked`,`indeterminate`),V=e=>t=>{let n=p(t.event)?.props;return B(t)&&!!n&&R(n)===e},H=e=>({event:t})=>z(t)===e,de=e=>({context:{...e.context,selection:{state:z(e.event)}}}),fe=e=>{let t=p(e.event)?.props;if(t)return{props:t,context:B(e)?{...e.context,selection:{state:R(t)}}:e.context}},U=e=>[{target:`unchecked`,guard:H(`unchecked`),reduce:`setSelection`,effects:e},{target:`checked`,guard:H(`checked`),reduce:`setSelection`,effects:e},{target:`indeterminate`,guard:H(`indeterminate`),reduce:`setSelection`,effects:e}],pe=({props:e,inherited:t=ue,effects:n})=>{let r=R(e);return f({initial:r,on:{NATIVE_CHANGED:U([`sync`]),API_SET:U([`sync`,`emitInput`,`emitChange`]),INHERITANCE_CHANGED:{reduce:`setInheritance`,effects:`sync`},PROPS_CHANGED:[{target:`unchecked`,guard:V(`unchecked`),reduce:`reconcileProps`,effects:`sync`},{target:`checked`,guard:V(`checked`),reduce:`reconcileProps`,effects:`sync`},{target:`indeterminate`,guard:V(`indeterminate`),reduce:`reconcileProps`,effects:`sync`},{reduce:`reconcileProps`,effects:`sync`}]},states:{unchecked:{tags:[`unchecked`]},checked:{tags:[`checked`]},indeterminate:{tags:[`indeterminate`]}}},{context:{selection:{state:r},inherited:{...t}},props:e,reducers:{setSelection:de,reconcileProps:fe,setInheritance:e=>({context:{...e.context,inherited:{name:typeof e.event.name==`string`?e.event.name:``,disabled:e.event.disabled===!0,required:e.event.required===!0,invalid:e.event.invalid===!0,variant:e.event.variant===`menu`?`menu`:`default`}}})},effects:n})},W=e=>({name:e.name,disabled:e.disabled,required:e.required,invalid:e.invalid,variant:e.variant}),me=({props:e,effects:t})=>f({initial:`ready`,states:{ready:{tags:[`ready`],on:{PROPS_CHANGED:{reduce:`reconcileProps`,effects:`sync`}}}}},{context:{inherited:W(e)},props:e,reducers:{reconcileProps:e=>{let t=p(e.event)?.props;return t?{props:t,context:{inherited:W(t)}}:void 0}},effects:t}),G=[`relative isolate min-w-0 overflow-hidden rounded-surface-md`],K={sm:`text-xs`,md:`text-sm`},he=[K.md,_[4]];d({definition:{component:`ui.card`,parts:{root:{base:[G,`grid`],variants:{size:K,padding:_,paddingX:S,paddingY:E,gap:ne,gapX:w,gapY:g,margin:k,marginX:T,marginY:v},defaults:{size:`md`,padding:`4`,paddingX:`0`,paddingY:`0`,gap:`4`,gapX:`0`,gapY:`0`,margin:`0`,marginX:`0`,marginY:`0`}},header:{base:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] gap-x-3 gap-y-1`},title:{base:`col-start-1 block min-w-0 pr-2`},description:{base:`col-start-1 min-w-0 pr-2 text-surface-ink-muted`},action:{base:`col-start-2 row-span-2 row-start-1 -mr-1 -mt-1 justify-self-end self-start`},content:{base:`min-w-0 text-inherit`},footer:{base:`min-w-0 gap-2`,variants:{layout:{row:`flex flex-wrap items-center`,stack:`grid`},align:{start:`justify-start`,end:`justify-end`,between:`justify-between`,stretch:``}},compounds:[{when:{layout:`stack`,align:`start`},class:`justify-items-start`},{when:{layout:`stack`,align:`end`},class:`justify-items-end`},{when:{layout:`stack`,align:`stretch`},class:`justify-items-stretch`}],defaults:{layout:`row`,align:`end`}}}}});var q=[...ie,`relative w-auto rounded-full text-surface-ink`,`shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)]`,`[--ui-interaction-rest-edge:var(--ui-surface-edge)]`,`[&_[data-ui-checkbox-indicator]]:hidden`,`hover:bg-interaction-hover`,`active:bg-interaction-pressed`,`has-[:focus-visible]:ui-focus-ring`,`data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)]`,`data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)]`,`data-invalid:has-[:focus-visible]:ui-focus-ring-danger`],J=ae,Y=d({definition:{component:`ui.checkbox`,parts:{group:{base:`min-w-0`,variants:{orientation:{vertical:``,horizontal:``},variant:{default:``,cards:``,pills:``,menu:`contents`}},compounds:[{when:{orientation:`vertical`,variant:`default`},class:`grid w-full gap-2`},{when:{orientation:`horizontal`,variant:`default`},class:`flex w-full flex-wrap items-start gap-3`},{when:{orientation:`vertical`,variant:`cards`},class:`grid w-full gap-3`},{when:{orientation:`horizontal`,variant:`cards`},class:`flex w-full flex-wrap items-stretch gap-3`},{when:{orientation:`vertical`,variant:`pills`},class:`inline-grid w-auto gap-2`},{when:{orientation:`horizontal`,variant:`pills`},class:`flex flex-wrap items-center gap-2`}],defaults:{orientation:`vertical`,variant:`default`}},checkbox:{base:`relative min-w-0 text-inherit outline-none`,variants:{variant:{default:`flex w-full items-start gap-2 rounded-control-md py-0.5`,cards:[...G,...he,`flex w-auto flex-1 items-start gap-3`],pills:q,menu:x},size:{xs:``,sm:``,md:``,lg:``,xlg:``}},compounds:[{when:{variant:`default`,size:`xs`},class:D.xs},{when:{variant:`default`,size:`sm`},class:D.sm},{when:{variant:`default`,size:`md`},class:D.md},{when:{variant:`default`,size:`lg`},class:D.lg},{when:{variant:`default`,size:`xlg`},class:D.xlg},{when:{variant:`pills`,size:`xs`},class:J.xs},{when:{variant:`pills`,size:`sm`},class:J.sm},{when:{variant:`pills`,size:`md`},class:J.md},{when:{variant:`pills`,size:`lg`},class:J.lg},{when:{variant:`pills`,size:`xlg`},class:J.xlg}],defaults:{variant:`default`,size:`md`}},input:{base:`peer sr-only`},indicator:{base:[`relative mt-0.5 flex shrink-0 items-center justify-center rounded-control-md border-0`],variants:{variant:{default:``,cards:``,pills:``,menu:`order-10 !mt-0 ml-auto`},size:{xs:`size-checkbox-indicator-xs`,sm:`size-checkbox-indicator-sm`,md:`size-checkbox-indicator-md`,lg:`size-checkbox-indicator-lg`,xlg:`size-checkbox-indicator-xlg`}},defaults:{variant:`default`,size:`md`}},indicatorIcon:{base:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100`,variants:{size:{xs:`size-icon-xs`,sm:`size-icon-sm`,md:`size-icon-sm`,lg:`size-icon-sm`,xlg:`size-icon-lg`}},defaults:{size:`md`}},menuIndicator:{base:[`relative order-10 flex`,b]},menuIndicatorIcon:{base:`pointer-events-none absolute inset-0 size-icon shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100`},content:{base:`grid min-w-0 gap-0.5`},icon:{base:`shrink-0 fill-current text-current opacity-75`,variants:{variant:{default:`mt-0.5 size-icon`,cards:`mt-0.5 size-icon`,pills:``},size:{xs:``,sm:``,md:``,lg:``,xlg:``}},compounds:[{when:{variant:`pills`,size:`xs`},class:A.xs},{when:{variant:`pills`,size:`sm`},class:A.sm},{when:{variant:`pills`,size:`md`},class:A.md},{when:{variant:`pills`,size:`lg`},class:A.lg},{when:{variant:`pills`,size:`xlg`},class:A.xlg}],defaults:{variant:`default`,size:`md`}},label:{base:``},description:{base:`text-surface-ink-muted`}}}}),X=new WeakMap,ge=e=>{let t=e.parentElement?.closest(`[data-ui-checkbox-group]`)??null;return t?X.get(t)??null:null},Z=()=>{let e=null,t=null,n=[],r=null,l=!1,d=()=>{if(!e)throw Error(`Checkbox has not been initialized.`);return e},f=()=>{if(!t)throw Error(`Checkbox requires a native checkbox input.`);return t},p=()=>_.getCommittedSnapshot(),m=()=>{let e=d(),t=f(),n=p(),r=n.props,s=n.context.inherited,c=n.context.selection.state,l=c===`checked`,m=c===`indeterminate`,g=r.disabled||s.disabled,_=r.required||s.required,v=r.invalid||s.invalid,y=r.name||s.name,b=r.variant===`menu`||s.variant===`menu`;t.checked=l,t.indeterminate=m,y||t.removeAttribute(`name`),ee({input:t,state:{name:y,value:r.value,disabled:g,required:_,invalid:v}}),m?t.setAttribute(`aria-checked`,`mixed`):t.removeAttribute(`aria-checked`),a({el:e,attr:`data-state`,value:c}),o({el:e,attr:`data-checked`,present:l}),o({el:e,attr:`data-indeterminate`,present:m}),h({el:e,state:{disabled:g,required:_,invalid:v}}),o({el:t,attr:`data-checked`,present:l}),o({el:t,attr:`data-indeterminate`,present:m}),e.className=u({part:Y.parts.checkbox,props:{...r,variant:b?`menu`:r.variant},className:e.dataset.class}),o({el:e,attr:`data-ui-menu-item`,present:b}),o({el:e,attr:`data-ui-option-recipe`,present:b}),o({el:e,attr:`data-keep-open`,present:b,value:`true`}),o({el:e,attr:`data-selected`,present:b&&(l||m)}),b?(e.setAttribute(`role`,`menuitemcheckbox`),e.setAttribute(`aria-checked`,m?`mixed`:l?`true`:`false`),e.tabIndex=-1,t.tabIndex=-1,t.setAttribute(`aria-hidden`,`true`)):(e.removeAttribute(`role`),e.removeAttribute(`aria-checked`),e.removeAttribute(`tabindex`),t.removeAttribute(`aria-hidden`));let x=e.querySelector(`[data-ui-checkbox-indicator]`);x&&(x.hidden=b,x.className=u({part:Y.parts.indicator,props:{...r,variant:b?`menu`:r.variant},className:x.dataset.class}),a({el:x,attr:`data-state`,value:c}),o({el:x,attr:`data-checked`,present:l}),o({el:x,attr:`data-indeterminate`,present:m}),o({el:x,attr:`data-disabled`,present:g}),o({el:x,attr:`data-invalid`,present:v}));let S=e.querySelector(`[data-ui-checkbox-indicator-icon="checked"]`);S&&(S.setAttribute(`class`,u({part:Y.parts.indicatorIcon,props:r,className:S.dataset.class})),o({el:S,attr:`data-checked`,present:l}),i({el:S,attr:`data-indeterminate`}));let C=e.querySelector(`[data-ui-checkbox-indicator-icon="indeterminate"]`);C&&(C.setAttribute(`class`,u({part:Y.parts.indicatorIcon,props:r,className:C.dataset.class})),o({el:C,attr:`data-indeterminate`,present:m}),i({el:C,attr:`data-checked`}));let w=e.querySelector(`[data-ui-checkbox-menu-indicator]`);w&&(w.hidden=!b,o({el:w,attr:`data-selected`,present:l||m}));let T=e.querySelector(`[data-ui-checkbox-menu-indicator-icon="checked"]`);T&&(o({el:T,attr:`data-checked`,present:l}),i({el:T,attr:`data-indeterminate`}));let E=e.querySelector(`[data-ui-checkbox-menu-indicator-icon="indeterminate"]`);E&&(o({el:E,attr:`data-indeterminate`,present:m}),i({el:E,attr:`data-checked`}))},g=e=>{l=!0;try{f().dispatchEvent(new Event(e,{bubbles:!0}))}finally{l=!1}},_=c({schema:L,hooks:ce,createMachine:({props:e})=>pe({props:e,effects:{sync:m,emitInput:()=>g(`input`),emitChange:()=>g(`change`)}})}),v={setInheritance(e){_.send({type:`INHERITANCE_CHANGED`,...e})}};return{..._,init(){if(e=this.$el,t=d().querySelector(`[data-ui-checkbox-input]`),!t)throw Error(`Checkbox requires a native checkbox input.`);_.connect(e,this.snapshot),s({target:t,event:`input`,handler:()=>{l||_.send({type:`NATIVE_CHANGED`,state:f().checked?`checked`:`unchecked`})},cleanup:n}),s({target:t,event:`change`,handler:()=>{l||_.send({type:`NATIVE_CHANGED`,state:f().checked?`checked`:`unchecked`})},cleanup:n});let i=ge(d());i&&(r=i.register(v)),m()},destroy(){r?.(),r=null,n.splice(0).reverse().forEach(e=>e()),_.disconnect(),e=null,t=null},get state(){return _.getCommittedSnapshot().context.selection.state},setState(e){if(![`unchecked`,`checked`,`indeterminate`].includes(e))throw Error(`Unknown checkbox state: ${String(e)}`);e!==_.getCommittedSnapshot().context.selection.state&&_.send({type:`API_SET`,state:e})}}},Q=()=>{let e=null,t=new Set,n=()=>{if(!e)throw Error(`Checkbox group has not been initialized.`);return e},r=()=>o.getCommittedSnapshot(),i=()=>{let e=r();a({el:n(),attr:`data-orientation`,value:e.props.orientation}),a({el:n(),attr:`data-variant`,value:e.props.variant}),h({el:n(),state:e.context.inherited}),t.forEach(t=>t.setInheritance(e.context.inherited))},o=c({schema:se,hooks:le,createMachine:({props:e})=>me({props:e,effects:{sync:i}})}),s={register(e){return t.add(e),e.setInheritance(r().context.inherited),()=>t.delete(e)},inherited:()=>r().context.inherited};return{...o,init(){e=this.$el,o.connect(e,this.snapshot),X.set(n(),s),i()},destroy(){X.delete(n()),t.clear(),o.disconnect(),e=null}}},_e=e=>{l(`UiCheckbox`,Z)(e),l(`UiCheckboxGroup`,Q)(e)},$=new WeakSet,ve=e=>{$.has(e)||($.add(e),_e(e))};export{Z as n,Q as r,ve as t};
|
|
2
|
-
//# sourceMappingURL=entry.generated-
|
|
1
|
+
import{f as e,l as t,n,t as r}from"./codecs-Cb1ns_47.js";import{a as i,o as a,s as o,t as s}from"./dom-qAeVl7dc.js";import{t as c}from"./alpine-machine-BTDXpEr6.js";import{t as l}from"./alpine-data-CytyCyfk.js";import{n as u,t as d}from"./styles-TfvwVPGw.js";import{t as f}from"./machine-Dqut4h89.js";import{n as p,t as m}from"./props-change-2xfsIAEN.js";import{n as h,r as ee}from"./form-control-DjbUb602.js";import{C as g,D as _,E as v,L as y,M as b,N as x,O as S,P as C,S as w,T,k as E,o as te,s as D,v as O,w as k,x as ne,y as re}from"./common-Dfj6NCjU.js";import{n as ie,r as ae,t as A}from"./styles-CpTCQjY5.js";var j=C,oe=[`default`,`cards`,`pills`,`menu`],M=O,N=te,P=[`default`,`cards`,`pills`,`menu`],F=y,I=re,L={value:e.default(`on`),name:e,label:e,description:e,checked:r(n,`prop-checked`),indeterminate:r(n,`prop-indeterminate`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),indicator:n.default(!0),placement:t(M,`leading`),icon:e,variant:t(P,`default`),color:t(F,`neutral`),interaction:t(I,`tonal`),size:t(N,`md`),inputClass:e,indicatorClass:e,indicatorIconClass:e,iconClass:e,contentClass:e,labelClass:e,descriptionClass:e,class:e};({...L});var se={name:e,orientation:t(j,`vertical`),variant:t(oe,`default`),color:t(F,`neutral`),interaction:t(I,`tonal`),indicator:n.default(!0),placement:t(M,`leading`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),class:e};t(N,`md`);var ce=[],le=[],ue={name:``,disabled:!1,required:!1,invalid:!1,variant:`default`},R=e=>e.indeterminate?`indeterminate`:e.checked?`checked`:`unchecked`,z=e=>e.state===`checked`||e.state===`indeterminate`?e.state:`unchecked`,B=({event:e})=>m(e,`checked`,`indeterminate`),V=e=>t=>{let n=p(t.event)?.props;return B(t)&&!!n&&R(n)===e},H=e=>({event:t})=>z(t)===e,de=e=>({context:{...e.context,selection:{state:z(e.event)}}}),fe=e=>{let t=p(e.event)?.props;if(t)return{props:t,context:B(e)?{...e.context,selection:{state:R(t)}}:e.context}},U=e=>[{target:`unchecked`,guard:H(`unchecked`),reduce:`setSelection`,effects:e},{target:`checked`,guard:H(`checked`),reduce:`setSelection`,effects:e},{target:`indeterminate`,guard:H(`indeterminate`),reduce:`setSelection`,effects:e}],pe=({props:e,inherited:t=ue,effects:n})=>{let r=R(e);return f({initial:r,on:{NATIVE_CHANGED:U([`sync`]),API_SET:U([`sync`,`emitInput`,`emitChange`]),INHERITANCE_CHANGED:{reduce:`setInheritance`,effects:`sync`},PROPS_CHANGED:[{target:`unchecked`,guard:V(`unchecked`),reduce:`reconcileProps`,effects:`sync`},{target:`checked`,guard:V(`checked`),reduce:`reconcileProps`,effects:`sync`},{target:`indeterminate`,guard:V(`indeterminate`),reduce:`reconcileProps`,effects:`sync`},{reduce:`reconcileProps`,effects:`sync`}]},states:{unchecked:{tags:[`unchecked`]},checked:{tags:[`checked`]},indeterminate:{tags:[`indeterminate`]}}},{context:{selection:{state:r},inherited:{...t}},props:e,reducers:{setSelection:de,reconcileProps:fe,setInheritance:e=>({context:{...e.context,inherited:{name:typeof e.event.name==`string`?e.event.name:``,disabled:e.event.disabled===!0,required:e.event.required===!0,invalid:e.event.invalid===!0,variant:e.event.variant===`menu`?`menu`:`default`}}})},effects:n})},W=e=>({name:e.name,disabled:e.disabled,required:e.required,invalid:e.invalid,variant:e.variant}),me=({props:e,effects:t})=>f({initial:`ready`,states:{ready:{tags:[`ready`],on:{PROPS_CHANGED:{reduce:`reconcileProps`,effects:`sync`}}}}},{context:{inherited:W(e)},props:e,reducers:{reconcileProps:e=>{let t=p(e.event)?.props;return t?{props:t,context:{inherited:W(t)}}:void 0}},effects:t}),G=[`relative isolate min-w-0 overflow-hidden rounded-surface-md`],K={sm:`text-xs`,md:`text-sm`},he=[K.md,_[4]];d({definition:{component:`ui.card`,parts:{root:{base:[G,`grid`],variants:{size:K,padding:_,paddingX:S,paddingY:E,gap:ne,gapX:w,gapY:g,margin:k,marginX:T,marginY:v},defaults:{size:`md`,padding:`4`,paddingX:`0`,paddingY:`0`,gap:`4`,gapX:`0`,gapY:`0`,margin:`0`,marginX:`0`,marginY:`0`}},header:{base:`grid min-w-0 grid-cols-[minmax(0,1fr)_auto] gap-x-3 gap-y-1`},title:{base:`col-start-1 block min-w-0 pr-2`},description:{base:`col-start-1 min-w-0 pr-2 text-surface-ink-muted`},action:{base:`col-start-2 row-span-2 row-start-1 -mr-1 -mt-1 justify-self-end self-start`},content:{base:`min-w-0 text-inherit`},footer:{base:`min-w-0 gap-2`,variants:{layout:{row:`flex flex-wrap items-center`,stack:`grid`},align:{start:`justify-start`,end:`justify-end`,between:`justify-between`,stretch:``}},compounds:[{when:{layout:`stack`,align:`start`},class:`justify-items-start`},{when:{layout:`stack`,align:`end`},class:`justify-items-end`},{when:{layout:`stack`,align:`stretch`},class:`justify-items-stretch`}],defaults:{layout:`row`,align:`end`}}}}});var q=[...ie,`relative w-auto rounded-full text-surface-ink`,`shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)]`,`[--ui-interaction-rest-edge:var(--ui-surface-edge)]`,`[&_[data-ui-checkbox-indicator]]:hidden`,`hover:bg-interaction-hover`,`active:bg-interaction-pressed`,`has-[:focus-visible]:ui-focus-ring`,`data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)]`,`data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)]`,`data-invalid:has-[:focus-visible]:ui-focus-ring-danger`],J=ae,Y=d({definition:{component:`ui.checkbox`,parts:{group:{base:`min-w-0`,variants:{orientation:{vertical:``,horizontal:``},variant:{default:``,cards:``,pills:``,menu:`contents`}},compounds:[{when:{orientation:`vertical`,variant:`default`},class:`grid w-full gap-2`},{when:{orientation:`horizontal`,variant:`default`},class:`flex w-full flex-wrap items-start gap-3`},{when:{orientation:`vertical`,variant:`cards`},class:`grid w-full gap-3`},{when:{orientation:`horizontal`,variant:`cards`},class:`flex w-full flex-wrap items-stretch gap-3`},{when:{orientation:`vertical`,variant:`pills`},class:`inline-grid w-auto gap-2`},{when:{orientation:`horizontal`,variant:`pills`},class:`flex flex-wrap items-center gap-2`}],defaults:{orientation:`vertical`,variant:`default`}},checkbox:{base:`relative min-w-0 text-inherit outline-none`,variants:{variant:{default:`flex w-full items-start gap-2 rounded-control-md py-0.5`,cards:[...G,...he,`flex w-auto flex-1 items-start gap-3`],pills:q,menu:x},size:{xs:``,sm:``,md:``,lg:``,xlg:``}},compounds:[{when:{variant:`default`,size:`xs`},class:D.xs},{when:{variant:`default`,size:`sm`},class:D.sm},{when:{variant:`default`,size:`md`},class:D.md},{when:{variant:`default`,size:`lg`},class:D.lg},{when:{variant:`default`,size:`xlg`},class:D.xlg},{when:{variant:`pills`,size:`xs`},class:J.xs},{when:{variant:`pills`,size:`sm`},class:J.sm},{when:{variant:`pills`,size:`md`},class:J.md},{when:{variant:`pills`,size:`lg`},class:J.lg},{when:{variant:`pills`,size:`xlg`},class:J.xlg}],defaults:{variant:`default`,size:`md`}},input:{base:`peer sr-only`},indicator:{base:[`relative mt-0.5 flex shrink-0 items-center justify-center rounded-control-md border-0`],variants:{variant:{default:``,cards:``,pills:``,menu:`order-10 !mt-0 ml-auto`},size:{xs:`size-checkbox-indicator-xs`,sm:`size-checkbox-indicator-sm`,md:`size-checkbox-indicator-md`,lg:`size-checkbox-indicator-lg`,xlg:`size-checkbox-indicator-xlg`}},defaults:{variant:`default`,size:`md`}},indicatorIcon:{base:`pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100`,variants:{size:{xs:`size-icon-xs`,sm:`size-icon-sm`,md:`size-icon-sm`,lg:`size-icon-sm`,xlg:`size-icon-lg`}},defaults:{size:`md`}},menuIndicator:{base:[`relative order-10 flex`,b]},menuIndicatorIcon:{base:`pointer-events-none absolute inset-0 size-icon shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100`},content:{base:`grid min-w-0 gap-0.5`},icon:{base:`shrink-0 fill-current text-current opacity-75`,variants:{variant:{default:`mt-0.5 size-icon`,cards:`mt-0.5 size-icon`,pills:``},size:{xs:``,sm:``,md:``,lg:``,xlg:``}},compounds:[{when:{variant:`pills`,size:`xs`},class:A.xs},{when:{variant:`pills`,size:`sm`},class:A.sm},{when:{variant:`pills`,size:`md`},class:A.md},{when:{variant:`pills`,size:`lg`},class:A.lg},{when:{variant:`pills`,size:`xlg`},class:A.xlg}],defaults:{variant:`default`,size:`md`}},label:{base:``},description:{base:`text-surface-ink-muted`}}}}),X=new WeakMap,ge=e=>{let t=e.parentElement?.closest(`[data-ui-checkbox-group]`)??null;return t?X.get(t)??null:null},Z=()=>{let e=null,t=null,n=[],r=null,l=!1,d=()=>{if(!e)throw Error(`Checkbox has not been initialized.`);return e},f=()=>{if(!t)throw Error(`Checkbox requires a native checkbox input.`);return t},p=()=>_.getCommittedSnapshot(),m=()=>{let e=d(),t=f(),n=p(),r=n.props,s=n.context.inherited,c=n.context.selection.state,l=c===`checked`,m=c===`indeterminate`,g=r.disabled||s.disabled,_=r.required||s.required,v=r.invalid||s.invalid,y=r.name||s.name,b=r.variant===`menu`||s.variant===`menu`;t.checked=l,t.indeterminate=m,y||t.removeAttribute(`name`),ee({input:t,state:{name:y,value:r.value,disabled:g,required:_,invalid:v}}),m?t.setAttribute(`aria-checked`,`mixed`):t.removeAttribute(`aria-checked`),a({el:e,attr:`data-state`,value:c}),o({el:e,attr:`data-checked`,present:l}),o({el:e,attr:`data-indeterminate`,present:m}),h({el:e,state:{disabled:g,required:_,invalid:v}}),o({el:t,attr:`data-checked`,present:l}),o({el:t,attr:`data-indeterminate`,present:m}),e.className=u({part:Y.parts.checkbox,props:{...r,variant:b?`menu`:r.variant},className:e.dataset.class}),o({el:e,attr:`data-ui-menu-item`,present:b}),o({el:e,attr:`data-ui-option-recipe`,present:b}),o({el:e,attr:`data-keep-open`,present:b,value:`true`}),o({el:e,attr:`data-selected`,present:b&&(l||m)}),b?(e.setAttribute(`role`,`menuitemcheckbox`),e.setAttribute(`aria-checked`,m?`mixed`:l?`true`:`false`),e.tabIndex=-1,t.tabIndex=-1,t.setAttribute(`aria-hidden`,`true`)):(e.removeAttribute(`role`),e.removeAttribute(`aria-checked`),e.removeAttribute(`tabindex`),t.removeAttribute(`aria-hidden`));let x=e.querySelector(`[data-ui-checkbox-indicator]`);x&&(x.hidden=b,x.className=u({part:Y.parts.indicator,props:{...r,variant:b?`menu`:r.variant},className:x.dataset.class}),a({el:x,attr:`data-state`,value:c}),o({el:x,attr:`data-checked`,present:l}),o({el:x,attr:`data-indeterminate`,present:m}),o({el:x,attr:`data-disabled`,present:g}),o({el:x,attr:`data-invalid`,present:v}));let S=e.querySelector(`[data-ui-checkbox-indicator-icon="checked"]`);S&&(S.setAttribute(`class`,u({part:Y.parts.indicatorIcon,props:r,className:S.dataset.class})),o({el:S,attr:`data-checked`,present:l}),i({el:S,attr:`data-indeterminate`}));let C=e.querySelector(`[data-ui-checkbox-indicator-icon="indeterminate"]`);C&&(C.setAttribute(`class`,u({part:Y.parts.indicatorIcon,props:r,className:C.dataset.class})),o({el:C,attr:`data-indeterminate`,present:m}),i({el:C,attr:`data-checked`}));let w=e.querySelector(`[data-ui-checkbox-menu-indicator]`);w&&(w.hidden=!b,o({el:w,attr:`data-selected`,present:l||m}));let T=e.querySelector(`[data-ui-checkbox-menu-indicator-icon="checked"]`);T&&(o({el:T,attr:`data-checked`,present:l}),i({el:T,attr:`data-indeterminate`}));let E=e.querySelector(`[data-ui-checkbox-menu-indicator-icon="indeterminate"]`);E&&(o({el:E,attr:`data-indeterminate`,present:m}),i({el:E,attr:`data-checked`}))},g=e=>{l=!0;try{f().dispatchEvent(new Event(e,{bubbles:!0}))}finally{l=!1}},_=c({schema:L,hooks:ce,createMachine:({props:e})=>pe({props:e,effects:{sync:m,emitInput:()=>g(`input`),emitChange:()=>g(`change`)}})}),v={setInheritance(e){_.send({type:`INHERITANCE_CHANGED`,...e})}};return{..._,init(){if(e=this.$el,t=d().querySelector(`[data-ui-checkbox-input]`),!t)throw Error(`Checkbox requires a native checkbox input.`);_.connect(e,this.snapshot),s({target:t,event:`input`,handler:()=>{l||_.send({type:`NATIVE_CHANGED`,state:f().checked?`checked`:`unchecked`})},cleanup:n}),s({target:t,event:`change`,handler:()=>{l||_.send({type:`NATIVE_CHANGED`,state:f().checked?`checked`:`unchecked`})},cleanup:n});let i=ge(d());i&&(r=i.register(v)),m()},destroy(){r?.(),r=null,n.splice(0).reverse().forEach(e=>e()),_.disconnect(),e=null,t=null},get state(){return _.getCommittedSnapshot().context.selection.state},setState(e){if(![`unchecked`,`checked`,`indeterminate`].includes(e))throw Error(`Unknown checkbox state: ${String(e)}`);e!==_.getCommittedSnapshot().context.selection.state&&_.send({type:`API_SET`,state:e})}}},Q=()=>{let e=null,t=new Set,n=()=>{if(!e)throw Error(`Checkbox group has not been initialized.`);return e},r=()=>o.getCommittedSnapshot(),i=()=>{let e=r();a({el:n(),attr:`data-orientation`,value:e.props.orientation}),a({el:n(),attr:`data-variant`,value:e.props.variant}),h({el:n(),state:e.context.inherited}),t.forEach(t=>t.setInheritance(e.context.inherited))},o=c({schema:se,hooks:le,createMachine:({props:e})=>me({props:e,effects:{sync:i}})}),s={register(e){return t.add(e),e.setInheritance(r().context.inherited),()=>t.delete(e)},inherited:()=>r().context.inherited};return{...o,init(){e=this.$el,o.connect(e,this.snapshot),X.set(n(),s),i()},destroy(){X.delete(n()),t.clear(),o.disconnect(),e=null}}},_e=e=>{l(`UiCheckbox`,Z)(e),l(`UiCheckboxGroup`,Q)(e)},$=new WeakSet,ve=e=>{$.has(e)||($.add(e),_e(e))};export{Z as n,Q as r,ve as t};
|
|
2
|
+
//# sourceMappingURL=entry.generated-BB7wWQfT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.generated-BsJJMR1g.js","names":[],"sources":["../../../../../../../../client/src/components/checkbox/contract.ts","../../../../../../../../client/src/components/checkbox/machine.ts","../../../../../../../../client/src/components/card/styles.ts","../../../../../../../../client/src/components/checkbox/styles.ts","../../../../../../../../client/src/components/checkbox/index.ts","../../../../../../../../client/src/components/checkbox/entry.generated.ts"],"sourcesContent":["import {attribute, bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n CONTROL_SIZES,\n INDICATOR_PLACEMENTS,\n INTERACTION_TREATMENTS,\n ORIENTATIONS,\n SELECTION_COLORS,\n type ControlSize,\n type IndicatorPlacement,\n type Orientation,\n} from '../common';\n\nconst CHECKBOX_GROUP_ORIENTATIONS = ORIENTATIONS;\nconst CHECKBOX_GROUP_VARIANTS = ['default', 'cards', 'pills', 'menu'] as const;\nconst CHECKBOX_PLACEMENTS = INDICATOR_PLACEMENTS;\nconst CHECKBOX_SIZES = CONTROL_SIZES;\nconst CHECKBOX_VARIANTS = ['default', 'cards', 'pills', 'menu'] as const;\nconst CHECKBOX_COLORS = SELECTION_COLORS;\nconst CHECKBOX_INTERACTIONS = INTERACTION_TREATMENTS;\n\ntype CheckboxGroupOrientation = Orientation;\ntype CheckboxGroupVariant = (typeof CHECKBOX_GROUP_VARIANTS)[number];\ntype CheckboxPlacement = IndicatorPlacement;\ntype CheckboxSize = ControlSize;\ntype CheckboxVariant = (typeof CHECKBOX_VARIANTS)[number];\ntype CheckboxColor = (typeof CHECKBOX_COLORS)[number];\ntype CheckboxInteraction = (typeof CHECKBOX_INTERACTIONS)[number];\n\nconst checkboxControlSchema = {\n value: string.default('on'),\n name: string,\n label: string,\n description: string,\n checked: attribute(bool, 'prop-checked'),\n indeterminate: attribute(bool, 'prop-indeterminate'),\n disabled: attribute(bool, 'prop-disabled'),\n required: attribute(bool, 'prop-required'),\n invalid: attribute(bool, 'prop-invalid'),\n indicator: bool.default(true),\n placement: oneOf(CHECKBOX_PLACEMENTS, 'leading' as CheckboxPlacement),\n icon: string,\n variant: oneOf(CHECKBOX_VARIANTS, 'default' as CheckboxVariant),\n color: oneOf(CHECKBOX_COLORS, 'neutral' as CheckboxColor),\n interaction: oneOf(CHECKBOX_INTERACTIONS, 'tonal' as CheckboxInteraction),\n size: oneOf(CHECKBOX_SIZES, 'md' as CheckboxSize),\n inputClass: string,\n indicatorClass: string,\n indicatorIconClass: string,\n iconClass: string,\n contentClass: string,\n labelClass: string,\n descriptionClass: string,\n class: string,\n};\n\nconst checkboxSchema = {\n ...checkboxControlSchema,\n label: string,\n description: string,\n descriptionTrailing: string,\n error: string,\n errors: string,\n badge: string,\n fieldClass: string,\n};\n\nconst checkboxGroupSchema = {\n name: string,\n orientation: oneOf(CHECKBOX_GROUP_ORIENTATIONS, 'vertical' as CheckboxGroupOrientation),\n variant: oneOf(CHECKBOX_GROUP_VARIANTS, 'default' as CheckboxGroupVariant),\n color: oneOf(CHECKBOX_COLORS, 'neutral' as CheckboxColor),\n interaction: oneOf(CHECKBOX_INTERACTIONS, 'tonal' as CheckboxInteraction),\n indicator: bool.default(true),\n placement: oneOf(CHECKBOX_PLACEMENTS, 'leading' as CheckboxPlacement),\n disabled: attribute(bool, 'prop-disabled'),\n required: attribute(bool, 'prop-required'),\n invalid: attribute(bool, 'prop-invalid'),\n class: string,\n};\n\nconst checkboxIndicatorSchema = {\n size: oneOf(CHECKBOX_SIZES, 'md' as CheckboxSize),\n class: string,\n};\n\ntype CheckboxControlProps = SchemaToProps<typeof checkboxControlSchema>;\ntype CheckboxGroupProps = SchemaToProps<typeof checkboxGroupSchema>;\ntype CheckboxProps = SchemaToProps<typeof checkboxSchema>;\n\nexport {\n CHECKBOX_GROUP_ORIENTATIONS,\n CHECKBOX_GROUP_VARIANTS,\n CHECKBOX_COLORS,\n CHECKBOX_INTERACTIONS,\n CHECKBOX_PLACEMENTS,\n CHECKBOX_SIZES,\n CHECKBOX_VARIANTS,\n checkboxControlSchema,\n checkboxGroupSchema,\n checkboxIndicatorSchema,\n checkboxSchema,\n};\nexport type {\n CheckboxControlProps,\n CheckboxColor,\n CheckboxGroupOrientation,\n CheckboxGroupProps,\n CheckboxGroupVariant,\n CheckboxInteraction,\n CheckboxPlacement,\n CheckboxProps,\n CheckboxSize,\n CheckboxVariant,\n};\n","import {\n createMachine,\n propsChanged,\n propsChangedEvent,\n type Machine,\n type MachineEventObject,\n type MachineScope,\n} from '../../runtime/state-machine';\nimport type {CheckboxControlProps, CheckboxGroupProps} from './contract';\n\ntype CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\ntype CheckboxInheritance = {\n name: string;\n disabled: boolean;\n required: boolean;\n invalid: boolean;\n variant: CheckboxGroupProps['variant'];\n};\ntype CheckboxContext = {\n selection: {state: CheckboxState};\n inherited: CheckboxInheritance;\n};\ntype CheckboxGroupContext = {inherited: CheckboxInheritance};\n\ntype CheckboxMachineEffects = {\n sync(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n emitInput(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n emitChange(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n};\ntype CheckboxGroupMachineEffects = {\n sync(scope: MachineScope<CheckboxGroupContext, CheckboxGroupProps>): void;\n};\n\nconst checkboxHooks = [] as const;\nconst checkboxGroupHooks = [] as const;\nconst EMPTY_INHERITANCE: CheckboxInheritance = {\n name: '', disabled: false, required: false, invalid: false, variant: 'default',\n};\n\nconst checkboxStateFromProps = (props: CheckboxControlProps): CheckboxState => {\n if (props.indeterminate) return 'indeterminate';\n return props.checked ? 'checked' : 'unchecked';\n};\n\nconst stateFromEvent = (event: MachineEventObject): CheckboxState => {\n if (event.state === 'checked' || event.state === 'indeterminate') return event.state;\n return 'unchecked';\n};\n\nconst selectionPropsChanged = ({event}: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => (\n propsChanged<CheckboxControlProps>(event, 'checked', 'indeterminate')\n);\nconst nextSelectionIs = (state: CheckboxState) => (scope: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => {\n const next = propsChangedEvent<CheckboxControlProps>(scope.event)?.props;\n return selectionPropsChanged(scope) && Boolean(next) && checkboxStateFromProps(next as CheckboxControlProps) === state;\n};\nconst eventStateIs = (state: CheckboxState) => ({event}: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => (\n stateFromEvent(event) === state\n);\n\nconst setSelection = (scope: MachineScope<CheckboxContext, CheckboxControlProps>) => ({\n context: {...scope.context, selection: {state: stateFromEvent(scope.event)}},\n});\nconst reconcileProps = (scope: MachineScope<CheckboxContext, CheckboxControlProps>) => {\n const next = propsChangedEvent<CheckboxControlProps>(scope.event)?.props;\n if (!next) return;\n return {\n props: next,\n context: selectionPropsChanged(scope)\n ? {...scope.context, selection: {state: checkboxStateFromProps(next)}}\n : scope.context,\n };\n};\n\nconst selectionTransitions = (effects: string[]) => [\n {target: 'unchecked', guard: eventStateIs('unchecked'), reduce: 'setSelection', effects},\n {target: 'checked', guard: eventStateIs('checked'), reduce: 'setSelection', effects},\n {target: 'indeterminate', guard: eventStateIs('indeterminate'), reduce: 'setSelection', effects},\n];\n\nconst createCheckboxMachine = ({\n props,\n inherited = EMPTY_INHERITANCE,\n effects,\n}: {\n props: CheckboxControlProps;\n inherited?: CheckboxInheritance;\n effects: CheckboxMachineEffects;\n}): Machine<CheckboxContext, CheckboxControlProps> => {\n const initial = checkboxStateFromProps(props);\n return createMachine<CheckboxContext, CheckboxControlProps>({\n initial,\n on: {\n NATIVE_CHANGED: selectionTransitions(['sync']),\n API_SET: selectionTransitions(['sync', 'emitInput', 'emitChange']),\n INHERITANCE_CHANGED: {reduce: 'setInheritance', effects: 'sync'},\n PROPS_CHANGED: [\n {target: 'unchecked', guard: nextSelectionIs('unchecked'), reduce: 'reconcileProps', effects: 'sync'},\n {target: 'checked', guard: nextSelectionIs('checked'), reduce: 'reconcileProps', effects: 'sync'},\n {target: 'indeterminate', guard: nextSelectionIs('indeterminate'), reduce: 'reconcileProps', effects: 'sync'},\n {reduce: 'reconcileProps', effects: 'sync'},\n ],\n },\n states: {\n unchecked: {tags: ['unchecked']},\n checked: {tags: ['checked']},\n indeterminate: {tags: ['indeterminate']},\n },\n }, {\n context: {selection: {state: initial}, inherited: {...inherited}},\n props,\n reducers: {\n setSelection,\n reconcileProps,\n setInheritance: (scope) => ({\n context: {\n ...scope.context,\n inherited: {\n name: typeof scope.event.name === 'string' ? scope.event.name : '',\n disabled: scope.event.disabled === true,\n required: scope.event.required === true,\n invalid: scope.event.invalid === true,\n variant: scope.event.variant === 'menu' ? 'menu' : 'default',\n },\n },\n }),\n },\n effects,\n });\n};\n\nconst inheritanceFromGroupProps = (props: CheckboxGroupProps): CheckboxInheritance => ({\n name: props.name,\n disabled: props.disabled,\n required: props.required,\n invalid: props.invalid,\n variant: props.variant,\n});\n\nconst createCheckboxGroupMachine = ({\n props,\n effects,\n}: {\n props: CheckboxGroupProps;\n effects: CheckboxGroupMachineEffects;\n}): Machine<CheckboxGroupContext, CheckboxGroupProps> => createMachine<CheckboxGroupContext, CheckboxGroupProps>({\n initial: 'ready',\n states: {\n ready: {\n tags: ['ready'],\n on: {\n PROPS_CHANGED: {reduce: 'reconcileProps', effects: 'sync'},\n },\n },\n },\n}, {\n context: {inherited: inheritanceFromGroupProps(props)},\n props,\n reducers: {\n reconcileProps: (scope) => {\n const next = propsChangedEvent<CheckboxGroupProps>(scope.event)?.props;\n return next ? {props: next, context: {inherited: inheritanceFromGroupProps(next)}} : undefined;\n },\n },\n effects,\n});\n\nexport {\n checkboxGroupHooks,\n checkboxHooks,\n checkboxStateFromProps,\n createCheckboxGroupMachine,\n createCheckboxMachine,\n EMPTY_INHERITANCE,\n};\nexport type {\n CheckboxContext,\n CheckboxGroupContext,\n CheckboxGroupMachineEffects,\n CheckboxInheritance,\n CheckboxMachineEffects,\n CheckboxState,\n};\n","import {defineStyles} from '../../runtime';\nimport {\n LAYOUT_GAP_CLASSES,\n LAYOUT_GAP_X_CLASSES,\n LAYOUT_GAP_Y_CLASSES,\n LAYOUT_MARGIN_CLASSES,\n LAYOUT_MARGIN_X_CLASSES,\n LAYOUT_MARGIN_Y_CLASSES,\n LAYOUT_PADDING_CLASSES,\n LAYOUT_PADDING_X_CLASSES,\n LAYOUT_PADDING_Y_CLASSES,\n} from '../common';\n\nconst CARD_ROOT_BASE_CLASSES = [\n 'relative isolate min-w-0 overflow-hidden rounded-surface-md',\n];\n\nconst CARD_SIZE_CLASSES = {\n sm: 'text-xs',\n md: 'text-sm',\n} as const;\n\nconst CARD_ROOT_DEFAULT_CLASSES = [\n CARD_SIZE_CLASSES.md,\n LAYOUT_PADDING_CLASSES['4'],\n];\n\nconst cardStyles = defineStyles({definition: {\n component: 'ui.card',\n parts: {\n root: {\n base: [\n CARD_ROOT_BASE_CLASSES,\n 'grid',\n ],\n variants: {\n size: CARD_SIZE_CLASSES,\n padding: LAYOUT_PADDING_CLASSES,\n paddingX: LAYOUT_PADDING_X_CLASSES,\n paddingY: LAYOUT_PADDING_Y_CLASSES,\n gap: LAYOUT_GAP_CLASSES,\n gapX: LAYOUT_GAP_X_CLASSES,\n gapY: LAYOUT_GAP_Y_CLASSES,\n margin: LAYOUT_MARGIN_CLASSES,\n marginX: LAYOUT_MARGIN_X_CLASSES,\n marginY: LAYOUT_MARGIN_Y_CLASSES,\n },\n defaults: {\n size: 'md',\n padding: '4',\n paddingX: '0',\n paddingY: '0',\n gap: '4',\n gapX: '0',\n gapY: '0',\n margin: '0',\n marginX: '0',\n marginY: '0',\n },\n },\n header: {\n base: 'grid min-w-0 grid-cols-[minmax(0,1fr)_auto] gap-x-3 gap-y-1',\n },\n title: {\n base: 'col-start-1 block min-w-0 pr-2',\n },\n description: {\n base: 'col-start-1 min-w-0 pr-2 text-surface-ink-muted',\n },\n action: {\n base: 'col-start-2 row-span-2 row-start-1 -mr-1 -mt-1 justify-self-end self-start',\n },\n content: {\n base: 'min-w-0 text-inherit',\n },\n footer: {\n base: 'min-w-0 gap-2',\n variants: {\n layout: {\n row: 'flex flex-wrap items-center',\n stack: 'grid',\n },\n align: {\n start: 'justify-start',\n end: 'justify-end',\n between: 'justify-between',\n stretch: '',\n },\n },\n compounds: [\n {when: {layout: 'stack', align: 'start'}, class: 'justify-items-start'},\n {when: {layout: 'stack', align: 'end'}, class: 'justify-items-end'},\n {when: {layout: 'stack', align: 'stretch'}, class: 'justify-items-stretch'},\n ],\n defaults: {\n layout: 'row',\n align: 'end',\n },\n },\n },\n}});\n\nexport {CARD_ROOT_BASE_CLASSES, CARD_ROOT_DEFAULT_CLASSES, CARD_SIZE_CLASSES, cardStyles};\n","import {defineStyles} from '../../runtime';\nimport {CONTROL_TYPOGRAPHY_CLASSES, OPTION_INDICATOR_CLASSES, OPTION_ITEM_CLASSES} from '../common';\nimport {\n BADGE_ICON_SIZE_CLASSES,\n BADGE_ROOT_BASE_CLASSES,\n BADGE_SIZE_CLASSES,\n} from '../badge/styles';\nimport {CARD_ROOT_BASE_CLASSES, CARD_ROOT_DEFAULT_CLASSES} from '../card/styles';\n\nconst CHECKBOX_PILL_CLASSES = [\n ...BADGE_ROOT_BASE_CLASSES,\n 'relative w-auto rounded-full text-surface-ink',\n 'shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)]',\n '[--ui-interaction-rest-edge:var(--ui-surface-edge)]',\n '[&_[data-ui-checkbox-indicator]]:hidden',\n 'hover:bg-interaction-hover',\n 'active:bg-interaction-pressed',\n 'has-[:focus-visible]:ui-focus-ring',\n 'data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)]',\n 'data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)]',\n 'data-invalid:has-[:focus-visible]:ui-focus-ring-danger',\n];\n\nconst CHECKBOX_PILL_SIZE_CLASSES = BADGE_SIZE_CLASSES;\nconst CHECKBOX_CARD_CLASSES = [\n ...CARD_ROOT_BASE_CLASSES,\n ...CARD_ROOT_DEFAULT_CLASSES,\n 'flex w-auto flex-1 items-start gap-3',\n];\n\nconst checkboxStyles = defineStyles({definition: {\n component: 'ui.checkbox',\n parts: {\n group: {\n base: 'min-w-0',\n variants: {\n orientation: {\n vertical: '',\n horizontal: '',\n },\n variant: {\n default: '',\n cards: '',\n pills: '',\n menu: 'contents',\n },\n },\n compounds: [\n {when: {orientation: 'vertical', variant: 'default'}, class: 'grid w-full gap-2'},\n {when: {orientation: 'horizontal', variant: 'default'}, class: 'flex w-full flex-wrap items-start gap-3'},\n {when: {orientation: 'vertical', variant: 'cards'}, class: 'grid w-full gap-3'},\n {when: {orientation: 'horizontal', variant: 'cards'}, class: 'flex w-full flex-wrap items-stretch gap-3'},\n {when: {orientation: 'vertical', variant: 'pills'}, class: 'inline-grid w-auto gap-2'},\n {when: {orientation: 'horizontal', variant: 'pills'}, class: 'flex flex-wrap items-center gap-2'},\n ],\n defaults: {\n orientation: 'vertical',\n variant: 'default',\n },\n },\n checkbox: {\n base: 'relative min-w-0 text-inherit outline-none',\n variants: {\n variant: {\n default: 'flex w-full items-start gap-2 rounded-control-md py-0.5',\n cards: CHECKBOX_CARD_CLASSES,\n pills: CHECKBOX_PILL_CLASSES,\n menu: OPTION_ITEM_CLASSES,\n },\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n xlg: '',\n },\n },\n compounds: [\n {when: {variant: 'default', size: 'xs'}, class: CONTROL_TYPOGRAPHY_CLASSES.xs},\n {when: {variant: 'default', size: 'sm'}, class: CONTROL_TYPOGRAPHY_CLASSES.sm},\n {when: {variant: 'default', size: 'md'}, class: CONTROL_TYPOGRAPHY_CLASSES.md},\n {when: {variant: 'default', size: 'lg'}, class: CONTROL_TYPOGRAPHY_CLASSES.lg},\n {when: {variant: 'default', size: 'xlg'}, class: CONTROL_TYPOGRAPHY_CLASSES.xlg},\n {when: {variant: 'pills', size: 'xs'}, class: CHECKBOX_PILL_SIZE_CLASSES.xs},\n {when: {variant: 'pills', size: 'sm'}, class: CHECKBOX_PILL_SIZE_CLASSES.sm},\n {when: {variant: 'pills', size: 'md'}, class: CHECKBOX_PILL_SIZE_CLASSES.md},\n {when: {variant: 'pills', size: 'lg'}, class: CHECKBOX_PILL_SIZE_CLASSES.lg},\n {when: {variant: 'pills', size: 'xlg'}, class: CHECKBOX_PILL_SIZE_CLASSES.xlg},\n ],\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n input: {\n base: 'peer sr-only',\n },\n indicator: {\n base: [\n 'relative mt-0.5 flex shrink-0 items-center justify-center rounded-control-md border-0',\n ],\n variants: {\n variant: {\n default: '',\n cards: '',\n pills: '',\n menu: 'order-10 !mt-0 ml-auto',\n },\n size: {\n xs: 'size-checkbox-indicator-xs',\n sm: 'size-checkbox-indicator-sm',\n md: 'size-checkbox-indicator-md',\n lg: 'size-checkbox-indicator-lg',\n xlg: 'size-checkbox-indicator-xlg',\n },\n },\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n indicatorIcon: {\n base: 'pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100',\n variants: {\n size: {\n xs: 'size-icon-xs',\n sm: 'size-icon-sm',\n md: 'size-icon-sm',\n lg: 'size-icon-sm',\n xlg: 'size-icon-lg',\n },\n },\n defaults: {\n size: 'md',\n },\n },\n menuIndicator: {\n base: ['relative order-10 flex', OPTION_INDICATOR_CLASSES],\n },\n menuIndicatorIcon: {\n base: 'pointer-events-none absolute inset-0 size-icon shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100',\n },\n content: {\n base: 'grid min-w-0 gap-0.5',\n },\n icon: {\n base: 'shrink-0 fill-current text-current opacity-75',\n variants: {\n variant: {\n default: 'mt-0.5 size-icon',\n cards: 'mt-0.5 size-icon',\n pills: '',\n },\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n xlg: '',\n },\n },\n compounds: [\n {when: {variant: 'pills', size: 'xs'}, class: BADGE_ICON_SIZE_CLASSES.xs},\n {when: {variant: 'pills', size: 'sm'}, class: BADGE_ICON_SIZE_CLASSES.sm},\n {when: {variant: 'pills', size: 'md'}, class: BADGE_ICON_SIZE_CLASSES.md},\n {when: {variant: 'pills', size: 'lg'}, class: BADGE_ICON_SIZE_CLASSES.lg},\n {when: {variant: 'pills', size: 'xlg'}, class: BADGE_ICON_SIZE_CLASSES.xlg},\n ],\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n label: {\n base: '',\n },\n description: {\n base: 'text-surface-ink-muted',\n },\n },\n}});\n\nexport {CHECKBOX_CARD_CLASSES, CHECKBOX_PILL_CLASSES, CHECKBOX_PILL_SIZE_CLASSES, checkboxStyles};\n","import type Alpine from 'alpinejs';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n defineAlpineData,\n type MachineSnapshot,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {syncControlPresence, syncNativeControl} from '@client/runtime/form-control';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {addListener, removeAttribute, setAttribute, setPresence, type CleanupStack} from '@client/utils';\nimport {checkboxControlSchema, checkboxGroupSchema, type CheckboxControlProps, type CheckboxGroupProps} from './contract';\nimport {\n checkboxGroupHooks,\n checkboxHooks,\n createCheckboxGroupMachine,\n createCheckboxMachine,\n type CheckboxContext,\n type CheckboxGroupContext,\n type CheckboxInheritance,\n type CheckboxState,\n} from './machine';\nimport {checkboxStyles} from './styles';\n\n/**\n * Public Alpine API for `ui.checkbox` and `ui.checkbox.control`.\n *\n * @public\n */\ninterface UiCheckboxApi {\n /** Current semantic checkbox state. */\n readonly state: CheckboxState;\n /** Set and commit the semantic checkbox state. */\n setState(state: CheckboxState): void;\n}\n\ntype CheckboxData = AlpineMachine<CheckboxContext, CheckboxControlProps, typeof checkboxHooks> & UiCheckboxApi & {\n init(): void;\n destroy(): void;\n};\ntype CheckboxGroupData = AlpineMachine<CheckboxGroupContext, CheckboxGroupProps, typeof checkboxGroupHooks> & {\n init(): void;\n destroy(): void;\n};\n\ntype CheckboxOwner = {setInheritance(inherited: CheckboxInheritance): void};\ntype CheckboxGroupOwner = {\n register(owner: CheckboxOwner): () => void;\n inherited(): CheckboxInheritance;\n};\n\nconst groupOwners = new WeakMap<HTMLElement, CheckboxGroupOwner>();\n\nconst closestGroupOwner = (element: HTMLElement): CheckboxGroupOwner | null => {\n const group = element.parentElement?.closest<HTMLElement>('[data-ui-checkbox-group]') ?? null;\n return group ? groupOwners.get(group) ?? null : null;\n};\n\nconst UiCheckbox = (): TrellisAlpineComponent<CheckboxData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let inputEl: HTMLInputElement | null = null;\n let listeners: CleanupStack = [];\n let unregisterGroup: (() => void) | null = null;\n let dispatchingNative = false;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Checkbox has not been initialized.');\n return rootEl;\n };\n const input = (): HTMLInputElement => {\n if (!inputEl) throw new Error('Checkbox requires a native checkbox input.');\n return inputEl;\n };\n const currentSnapshot = (): MachineSnapshot<CheckboxContext, CheckboxControlProps> => bridge.getCommittedSnapshot();\n\n const syncDom = (): void => {\n const checkbox = root();\n const native = input();\n const snapshot = currentSnapshot();\n const props = snapshot.props;\n const inherited = snapshot.context.inherited;\n const state = snapshot.context.selection.state;\n const checked = state === 'checked';\n const indeterminate = state === 'indeterminate';\n const disabled = props.disabled || inherited.disabled;\n const required = props.required || inherited.required;\n const invalid = props.invalid || inherited.invalid;\n const name = props.name || inherited.name;\n const menu = props.variant === 'menu' || inherited.variant === 'menu';\n\n native.checked = checked;\n native.indeterminate = indeterminate;\n if (!name) native.removeAttribute('name');\n syncNativeControl({input: native, state: {name, value: props.value, disabled, required, invalid}});\n if (indeterminate) native.setAttribute('aria-checked', 'mixed');\n else native.removeAttribute('aria-checked');\n\n setAttribute({el: checkbox, attr: 'data-state', value: state});\n setPresence({el: checkbox, attr: 'data-checked', present: checked});\n setPresence({el: checkbox, attr: 'data-indeterminate', present: indeterminate});\n syncControlPresence({el: checkbox, state: {disabled, required, invalid}});\n setPresence({el: native, attr: 'data-checked', present: checked});\n setPresence({el: native, attr: 'data-indeterminate', present: indeterminate});\n checkbox.className = resolveStyle({\n part: checkboxStyles.parts.checkbox,\n props: {...props, variant: menu ? 'menu' : props.variant},\n className: checkbox.dataset.class,\n });\n setPresence({el: checkbox, attr: 'data-ui-menu-item', present: menu});\n setPresence({el: checkbox, attr: 'data-ui-option-recipe', present: menu});\n setPresence({el: checkbox, attr: 'data-keep-open', present: menu, value: 'true'});\n setPresence({el: checkbox, attr: 'data-selected', present: menu && (checked || indeterminate)});\n if (menu) {\n checkbox.setAttribute('role', 'menuitemcheckbox');\n checkbox.setAttribute('aria-checked', indeterminate ? 'mixed' : checked ? 'true' : 'false');\n checkbox.tabIndex = -1;\n native.tabIndex = -1;\n native.setAttribute('aria-hidden', 'true');\n } else {\n checkbox.removeAttribute('role');\n checkbox.removeAttribute('aria-checked');\n checkbox.removeAttribute('tabindex');\n native.removeAttribute('aria-hidden');\n }\n\n const indicator = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator]');\n if (indicator) {\n indicator.hidden = menu;\n indicator.className = resolveStyle({\n part: checkboxStyles.parts.indicator,\n props: {...props, variant: menu ? 'menu' : props.variant},\n className: indicator.dataset.class,\n });\n setAttribute({el: indicator, attr: 'data-state', value: state});\n setPresence({el: indicator, attr: 'data-checked', present: checked});\n setPresence({el: indicator, attr: 'data-indeterminate', present: indeterminate});\n setPresence({el: indicator, attr: 'data-disabled', present: disabled});\n setPresence({el: indicator, attr: 'data-invalid', present: invalid});\n }\n const checkedIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator-icon=\"checked\"]');\n if (checkedIcon) {\n checkedIcon.setAttribute('class', resolveStyle({\n part: checkboxStyles.parts.indicatorIcon,\n props,\n className: checkedIcon.dataset.class,\n }));\n setPresence({el: checkedIcon, attr: 'data-checked', present: checked});\n removeAttribute({el: checkedIcon, attr: 'data-indeterminate'});\n }\n const indeterminateIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator-icon=\"indeterminate\"]');\n if (indeterminateIcon) {\n indeterminateIcon.setAttribute('class', resolveStyle({\n part: checkboxStyles.parts.indicatorIcon,\n props,\n className: indeterminateIcon.dataset.class,\n }));\n setPresence({el: indeterminateIcon, attr: 'data-indeterminate', present: indeterminate});\n removeAttribute({el: indeterminateIcon, attr: 'data-checked'});\n }\n const menuIndicator = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator]');\n if (menuIndicator) {\n menuIndicator.hidden = !menu;\n setPresence({el: menuIndicator, attr: 'data-selected', present: checked || indeterminate});\n }\n const menuCheckedIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator-icon=\"checked\"]');\n if (menuCheckedIcon) {\n setPresence({el: menuCheckedIcon, attr: 'data-checked', present: checked});\n removeAttribute({el: menuCheckedIcon, attr: 'data-indeterminate'});\n }\n const menuIndeterminateIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator-icon=\"indeterminate\"]');\n if (menuIndeterminateIcon) {\n setPresence({el: menuIndeterminateIcon, attr: 'data-indeterminate', present: indeterminate});\n removeAttribute({el: menuIndeterminateIcon, attr: 'data-checked'});\n }\n };\n\n const dispatchNative = (type: 'input' | 'change'): void => {\n dispatchingNative = true;\n try { input().dispatchEvent(new Event(type, {bubbles: true})); } finally { dispatchingNative = false; }\n };\n\n const bridge = createAlpineMachine({\n schema: checkboxControlSchema,\n hooks: checkboxHooks,\n createMachine: ({props}) => createCheckboxMachine({\n props,\n effects: {\n sync: syncDom,\n emitInput: () => dispatchNative('input'),\n emitChange: () => dispatchNative('change'),\n },\n }),\n });\n\n const owner: CheckboxOwner = {\n setInheritance(inherited): void {\n bridge.send({type: 'INHERITANCE_CHANGED', ...inherited});\n },\n };\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n inputEl = root().querySelector<HTMLInputElement>('[data-ui-checkbox-input]');\n if (!inputEl) throw new Error('Checkbox requires a native checkbox input.');\n bridge.connect(rootEl, this.snapshot);\n addListener({target: inputEl, event: 'input', handler: () => {\n if (dispatchingNative) return;\n bridge.send({type: 'NATIVE_CHANGED', state: input().checked ? 'checked' : 'unchecked'});\n }, cleanup: listeners});\n addListener({target: inputEl, event: 'change', handler: () => {\n if (dispatchingNative) return;\n bridge.send({type: 'NATIVE_CHANGED', state: input().checked ? 'checked' : 'unchecked'});\n }, cleanup: listeners});\n const group = closestGroupOwner(root());\n if (group) unregisterGroup = group.register(owner);\n syncDom();\n },\n destroy(): void {\n unregisterGroup?.();\n unregisterGroup = null;\n listeners.splice(0).reverse().forEach((cleanup) => cleanup());\n bridge.disconnect();\n rootEl = null;\n inputEl = null;\n },\n get state(): CheckboxState {\n return bridge.getCommittedSnapshot().context.selection.state;\n },\n setState(state: CheckboxState): void {\n if (!['unchecked', 'checked', 'indeterminate'].includes(state)) {\n throw new Error(`Unknown checkbox state: ${String(state)}`);\n }\n if (state === bridge.getCommittedSnapshot().context.selection.state) return;\n bridge.send({type: 'API_SET', state});\n },\n };\n};\n\nconst UiCheckboxGroup = (): TrellisAlpineComponent<CheckboxGroupData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n const members = new Set<CheckboxOwner>();\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Checkbox group has not been initialized.');\n return rootEl;\n };\n const currentSnapshot = (): MachineSnapshot<CheckboxGroupContext, CheckboxGroupProps> => bridge.getCommittedSnapshot();\n const syncDom = (): void => {\n const snapshot = currentSnapshot();\n setAttribute({el: root(), attr: 'data-orientation', value: snapshot.props.orientation});\n setAttribute({el: root(), attr: 'data-variant', value: snapshot.props.variant});\n syncControlPresence({el: root(), state: snapshot.context.inherited});\n members.forEach((member) => member.setInheritance(snapshot.context.inherited));\n };\n const bridge = createAlpineMachine({\n schema: checkboxGroupSchema,\n hooks: checkboxGroupHooks,\n createMachine: ({props}) => createCheckboxGroupMachine({\n props,\n effects: {sync: syncDom},\n }),\n });\n const owner: CheckboxGroupOwner = {\n register(member): () => void {\n members.add(member);\n member.setInheritance(currentSnapshot().context.inherited);\n return () => members.delete(member);\n },\n inherited: () => currentSnapshot().context.inherited,\n };\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n bridge.connect(rootEl, this.snapshot);\n groupOwners.set(root(), owner);\n syncDom();\n },\n destroy(): void {\n groupOwners.delete(root());\n members.clear();\n bridge.disconnect();\n rootEl = null;\n },\n };\n};\n\nconst registerCheckbox = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiCheckbox', UiCheckbox)(AlpineInstance);\n defineAlpineData('UiCheckboxGroup', UiCheckboxGroup)(AlpineInstance);\n};\n\nexport {registerCheckbox, UiCheckbox, UiCheckboxGroup};\nexport type {CheckboxData, CheckboxGroupData, CheckboxState, UiCheckboxApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerCheckbox as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerCheckbox = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerCheckbox};\nexport default registerCheckbox;\nexport * from './index';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entry.generated-BB7wWQfT.js","names":[],"sources":["../../../../../../../../client/src/components/checkbox/contract.ts","../../../../../../../../client/src/components/checkbox/machine.ts","../../../../../../../../client/src/components/card/styles.ts","../../../../../../../../client/src/components/checkbox/styles.ts","../../../../../../../../client/src/components/checkbox/index.ts","../../../../../../../../client/src/components/checkbox/entry.generated.ts"],"sourcesContent":["import {attribute, bool, oneOf, string, type SchemaToProps} from '../../runtime';\nimport {\n CONTROL_SIZES,\n INDICATOR_PLACEMENTS,\n INTERACTION_TREATMENTS,\n ORIENTATIONS,\n SELECTION_COLORS,\n type ControlSize,\n type IndicatorPlacement,\n type Orientation,\n} from '../common';\n\nconst CHECKBOX_GROUP_ORIENTATIONS = ORIENTATIONS;\nconst CHECKBOX_GROUP_VARIANTS = ['default', 'cards', 'pills', 'menu'] as const;\nconst CHECKBOX_PLACEMENTS = INDICATOR_PLACEMENTS;\nconst CHECKBOX_SIZES = CONTROL_SIZES;\nconst CHECKBOX_VARIANTS = ['default', 'cards', 'pills', 'menu'] as const;\nconst CHECKBOX_COLORS = SELECTION_COLORS;\nconst CHECKBOX_INTERACTIONS = INTERACTION_TREATMENTS;\n\ntype CheckboxGroupOrientation = Orientation;\ntype CheckboxGroupVariant = (typeof CHECKBOX_GROUP_VARIANTS)[number];\ntype CheckboxPlacement = IndicatorPlacement;\ntype CheckboxSize = ControlSize;\ntype CheckboxVariant = (typeof CHECKBOX_VARIANTS)[number];\ntype CheckboxColor = (typeof CHECKBOX_COLORS)[number];\ntype CheckboxInteraction = (typeof CHECKBOX_INTERACTIONS)[number];\n\nconst checkboxControlSchema = {\n value: string.default('on'),\n name: string,\n label: string,\n description: string,\n checked: attribute(bool, 'prop-checked'),\n indeterminate: attribute(bool, 'prop-indeterminate'),\n disabled: attribute(bool, 'prop-disabled'),\n required: attribute(bool, 'prop-required'),\n invalid: attribute(bool, 'prop-invalid'),\n indicator: bool.default(true),\n placement: oneOf(CHECKBOX_PLACEMENTS, 'leading' as CheckboxPlacement),\n icon: string,\n variant: oneOf(CHECKBOX_VARIANTS, 'default' as CheckboxVariant),\n color: oneOf(CHECKBOX_COLORS, 'neutral' as CheckboxColor),\n interaction: oneOf(CHECKBOX_INTERACTIONS, 'tonal' as CheckboxInteraction),\n size: oneOf(CHECKBOX_SIZES, 'md' as CheckboxSize),\n inputClass: string,\n indicatorClass: string,\n indicatorIconClass: string,\n iconClass: string,\n contentClass: string,\n labelClass: string,\n descriptionClass: string,\n class: string,\n};\n\nconst checkboxSchema = {\n ...checkboxControlSchema,\n label: string,\n description: string,\n descriptionTrailing: string,\n error: string,\n errors: string,\n badge: string,\n fieldClass: string,\n};\n\nconst checkboxGroupSchema = {\n name: string,\n orientation: oneOf(CHECKBOX_GROUP_ORIENTATIONS, 'vertical' as CheckboxGroupOrientation),\n variant: oneOf(CHECKBOX_GROUP_VARIANTS, 'default' as CheckboxGroupVariant),\n color: oneOf(CHECKBOX_COLORS, 'neutral' as CheckboxColor),\n interaction: oneOf(CHECKBOX_INTERACTIONS, 'tonal' as CheckboxInteraction),\n indicator: bool.default(true),\n placement: oneOf(CHECKBOX_PLACEMENTS, 'leading' as CheckboxPlacement),\n disabled: attribute(bool, 'prop-disabled'),\n required: attribute(bool, 'prop-required'),\n invalid: attribute(bool, 'prop-invalid'),\n class: string,\n};\n\nconst checkboxIndicatorSchema = {\n size: oneOf(CHECKBOX_SIZES, 'md' as CheckboxSize),\n class: string,\n};\n\ntype CheckboxControlProps = SchemaToProps<typeof checkboxControlSchema>;\ntype CheckboxGroupProps = SchemaToProps<typeof checkboxGroupSchema>;\ntype CheckboxProps = SchemaToProps<typeof checkboxSchema>;\n\nexport {\n CHECKBOX_GROUP_ORIENTATIONS,\n CHECKBOX_GROUP_VARIANTS,\n CHECKBOX_COLORS,\n CHECKBOX_INTERACTIONS,\n CHECKBOX_PLACEMENTS,\n CHECKBOX_SIZES,\n CHECKBOX_VARIANTS,\n checkboxControlSchema,\n checkboxGroupSchema,\n checkboxIndicatorSchema,\n checkboxSchema,\n};\nexport type {\n CheckboxControlProps,\n CheckboxColor,\n CheckboxGroupOrientation,\n CheckboxGroupProps,\n CheckboxGroupVariant,\n CheckboxInteraction,\n CheckboxPlacement,\n CheckboxProps,\n CheckboxSize,\n CheckboxVariant,\n};\n","import {\n createMachine,\n propsChanged,\n propsChangedEvent,\n type Machine,\n type MachineEventObject,\n type MachineScope,\n} from '../../runtime/state-machine';\nimport type {CheckboxControlProps, CheckboxGroupProps} from './contract';\n\ntype CheckboxState = 'unchecked' | 'checked' | 'indeterminate';\ntype CheckboxInheritance = {\n name: string;\n disabled: boolean;\n required: boolean;\n invalid: boolean;\n variant: CheckboxGroupProps['variant'];\n};\ntype CheckboxContext = {\n selection: {state: CheckboxState};\n inherited: CheckboxInheritance;\n};\ntype CheckboxGroupContext = {inherited: CheckboxInheritance};\n\ntype CheckboxMachineEffects = {\n sync(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n emitInput(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n emitChange(scope: MachineScope<CheckboxContext, CheckboxControlProps>): void;\n};\ntype CheckboxGroupMachineEffects = {\n sync(scope: MachineScope<CheckboxGroupContext, CheckboxGroupProps>): void;\n};\n\nconst checkboxHooks = [] as const;\nconst checkboxGroupHooks = [] as const;\nconst EMPTY_INHERITANCE: CheckboxInheritance = {\n name: '', disabled: false, required: false, invalid: false, variant: 'default',\n};\n\nconst checkboxStateFromProps = (props: CheckboxControlProps): CheckboxState => {\n if (props.indeterminate) return 'indeterminate';\n return props.checked ? 'checked' : 'unchecked';\n};\n\nconst stateFromEvent = (event: MachineEventObject): CheckboxState => {\n if (event.state === 'checked' || event.state === 'indeterminate') return event.state;\n return 'unchecked';\n};\n\nconst selectionPropsChanged = ({event}: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => (\n propsChanged<CheckboxControlProps>(event, 'checked', 'indeterminate')\n);\nconst nextSelectionIs = (state: CheckboxState) => (scope: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => {\n const next = propsChangedEvent<CheckboxControlProps>(scope.event)?.props;\n return selectionPropsChanged(scope) && Boolean(next) && checkboxStateFromProps(next as CheckboxControlProps) === state;\n};\nconst eventStateIs = (state: CheckboxState) => ({event}: MachineScope<CheckboxContext, CheckboxControlProps>): boolean => (\n stateFromEvent(event) === state\n);\n\nconst setSelection = (scope: MachineScope<CheckboxContext, CheckboxControlProps>) => ({\n context: {...scope.context, selection: {state: stateFromEvent(scope.event)}},\n});\nconst reconcileProps = (scope: MachineScope<CheckboxContext, CheckboxControlProps>) => {\n const next = propsChangedEvent<CheckboxControlProps>(scope.event)?.props;\n if (!next) return;\n return {\n props: next,\n context: selectionPropsChanged(scope)\n ? {...scope.context, selection: {state: checkboxStateFromProps(next)}}\n : scope.context,\n };\n};\n\nconst selectionTransitions = (effects: string[]) => [\n {target: 'unchecked', guard: eventStateIs('unchecked'), reduce: 'setSelection', effects},\n {target: 'checked', guard: eventStateIs('checked'), reduce: 'setSelection', effects},\n {target: 'indeterminate', guard: eventStateIs('indeterminate'), reduce: 'setSelection', effects},\n];\n\nconst createCheckboxMachine = ({\n props,\n inherited = EMPTY_INHERITANCE,\n effects,\n}: {\n props: CheckboxControlProps;\n inherited?: CheckboxInheritance;\n effects: CheckboxMachineEffects;\n}): Machine<CheckboxContext, CheckboxControlProps> => {\n const initial = checkboxStateFromProps(props);\n return createMachine<CheckboxContext, CheckboxControlProps>({\n initial,\n on: {\n NATIVE_CHANGED: selectionTransitions(['sync']),\n API_SET: selectionTransitions(['sync', 'emitInput', 'emitChange']),\n INHERITANCE_CHANGED: {reduce: 'setInheritance', effects: 'sync'},\n PROPS_CHANGED: [\n {target: 'unchecked', guard: nextSelectionIs('unchecked'), reduce: 'reconcileProps', effects: 'sync'},\n {target: 'checked', guard: nextSelectionIs('checked'), reduce: 'reconcileProps', effects: 'sync'},\n {target: 'indeterminate', guard: nextSelectionIs('indeterminate'), reduce: 'reconcileProps', effects: 'sync'},\n {reduce: 'reconcileProps', effects: 'sync'},\n ],\n },\n states: {\n unchecked: {tags: ['unchecked']},\n checked: {tags: ['checked']},\n indeterminate: {tags: ['indeterminate']},\n },\n }, {\n context: {selection: {state: initial}, inherited: {...inherited}},\n props,\n reducers: {\n setSelection,\n reconcileProps,\n setInheritance: (scope) => ({\n context: {\n ...scope.context,\n inherited: {\n name: typeof scope.event.name === 'string' ? scope.event.name : '',\n disabled: scope.event.disabled === true,\n required: scope.event.required === true,\n invalid: scope.event.invalid === true,\n variant: scope.event.variant === 'menu' ? 'menu' : 'default',\n },\n },\n }),\n },\n effects,\n });\n};\n\nconst inheritanceFromGroupProps = (props: CheckboxGroupProps): CheckboxInheritance => ({\n name: props.name,\n disabled: props.disabled,\n required: props.required,\n invalid: props.invalid,\n variant: props.variant,\n});\n\nconst createCheckboxGroupMachine = ({\n props,\n effects,\n}: {\n props: CheckboxGroupProps;\n effects: CheckboxGroupMachineEffects;\n}): Machine<CheckboxGroupContext, CheckboxGroupProps> => createMachine<CheckboxGroupContext, CheckboxGroupProps>({\n initial: 'ready',\n states: {\n ready: {\n tags: ['ready'],\n on: {\n PROPS_CHANGED: {reduce: 'reconcileProps', effects: 'sync'},\n },\n },\n },\n}, {\n context: {inherited: inheritanceFromGroupProps(props)},\n props,\n reducers: {\n reconcileProps: (scope) => {\n const next = propsChangedEvent<CheckboxGroupProps>(scope.event)?.props;\n return next ? {props: next, context: {inherited: inheritanceFromGroupProps(next)}} : undefined;\n },\n },\n effects,\n});\n\nexport {\n checkboxGroupHooks,\n checkboxHooks,\n checkboxStateFromProps,\n createCheckboxGroupMachine,\n createCheckboxMachine,\n EMPTY_INHERITANCE,\n};\nexport type {\n CheckboxContext,\n CheckboxGroupContext,\n CheckboxGroupMachineEffects,\n CheckboxInheritance,\n CheckboxMachineEffects,\n CheckboxState,\n};\n","import {defineStyles} from '../../runtime';\nimport {\n LAYOUT_GAP_CLASSES,\n LAYOUT_GAP_X_CLASSES,\n LAYOUT_GAP_Y_CLASSES,\n LAYOUT_MARGIN_CLASSES,\n LAYOUT_MARGIN_X_CLASSES,\n LAYOUT_MARGIN_Y_CLASSES,\n LAYOUT_PADDING_CLASSES,\n LAYOUT_PADDING_X_CLASSES,\n LAYOUT_PADDING_Y_CLASSES,\n} from '../common';\n\nconst CARD_ROOT_BASE_CLASSES = [\n 'relative isolate min-w-0 overflow-hidden rounded-surface-md',\n];\n\nconst CARD_SIZE_CLASSES = {\n sm: 'text-xs',\n md: 'text-sm',\n} as const;\n\nconst CARD_ROOT_DEFAULT_CLASSES = [\n CARD_SIZE_CLASSES.md,\n LAYOUT_PADDING_CLASSES['4'],\n];\n\nconst cardStyles = defineStyles({definition: {\n component: 'ui.card',\n parts: {\n root: {\n base: [\n CARD_ROOT_BASE_CLASSES,\n 'grid',\n ],\n variants: {\n size: CARD_SIZE_CLASSES,\n padding: LAYOUT_PADDING_CLASSES,\n paddingX: LAYOUT_PADDING_X_CLASSES,\n paddingY: LAYOUT_PADDING_Y_CLASSES,\n gap: LAYOUT_GAP_CLASSES,\n gapX: LAYOUT_GAP_X_CLASSES,\n gapY: LAYOUT_GAP_Y_CLASSES,\n margin: LAYOUT_MARGIN_CLASSES,\n marginX: LAYOUT_MARGIN_X_CLASSES,\n marginY: LAYOUT_MARGIN_Y_CLASSES,\n },\n defaults: {\n size: 'md',\n padding: '4',\n paddingX: '0',\n paddingY: '0',\n gap: '4',\n gapX: '0',\n gapY: '0',\n margin: '0',\n marginX: '0',\n marginY: '0',\n },\n },\n header: {\n base: 'grid min-w-0 grid-cols-[minmax(0,1fr)_auto] gap-x-3 gap-y-1',\n },\n title: {\n base: 'col-start-1 block min-w-0 pr-2',\n },\n description: {\n base: 'col-start-1 min-w-0 pr-2 text-surface-ink-muted',\n },\n action: {\n base: 'col-start-2 row-span-2 row-start-1 -mr-1 -mt-1 justify-self-end self-start',\n },\n content: {\n base: 'min-w-0 text-inherit',\n },\n footer: {\n base: 'min-w-0 gap-2',\n variants: {\n layout: {\n row: 'flex flex-wrap items-center',\n stack: 'grid',\n },\n align: {\n start: 'justify-start',\n end: 'justify-end',\n between: 'justify-between',\n stretch: '',\n },\n },\n compounds: [\n {when: {layout: 'stack', align: 'start'}, class: 'justify-items-start'},\n {when: {layout: 'stack', align: 'end'}, class: 'justify-items-end'},\n {when: {layout: 'stack', align: 'stretch'}, class: 'justify-items-stretch'},\n ],\n defaults: {\n layout: 'row',\n align: 'end',\n },\n },\n },\n}});\n\nexport {CARD_ROOT_BASE_CLASSES, CARD_ROOT_DEFAULT_CLASSES, CARD_SIZE_CLASSES, cardStyles};\n","import {defineStyles} from '../../runtime';\nimport {CONTROL_TYPOGRAPHY_CLASSES, OPTION_INDICATOR_CLASSES, OPTION_ITEM_CLASSES} from '../common';\nimport {\n BADGE_ICON_SIZE_CLASSES,\n BADGE_ROOT_BASE_CLASSES,\n BADGE_SIZE_CLASSES,\n} from '../badge/styles';\nimport {CARD_ROOT_BASE_CLASSES, CARD_ROOT_DEFAULT_CLASSES} from '../card/styles';\n\nconst CHECKBOX_PILL_CLASSES = [\n ...BADGE_ROOT_BASE_CLASSES,\n 'relative w-auto rounded-full text-surface-ink',\n 'shadow-[0_0_0_var(--border-width-edge-control)_var(--ui-surface-edge)]',\n '[--ui-interaction-rest-edge:var(--ui-surface-edge)]',\n '[&_[data-ui-checkbox-indicator]]:hidden',\n 'hover:bg-interaction-hover',\n 'active:bg-interaction-pressed',\n 'has-[:focus-visible]:ui-focus-ring',\n 'data-invalid:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge)]',\n 'data-invalid:hover:shadow-[0_0_0_var(--border-width-edge-control)_var(--color-intent-danger-edge-hover)]',\n 'data-invalid:has-[:focus-visible]:ui-focus-ring-danger',\n];\n\nconst CHECKBOX_PILL_SIZE_CLASSES = BADGE_SIZE_CLASSES;\nconst CHECKBOX_CARD_CLASSES = [\n ...CARD_ROOT_BASE_CLASSES,\n ...CARD_ROOT_DEFAULT_CLASSES,\n 'flex w-auto flex-1 items-start gap-3',\n];\n\nconst checkboxStyles = defineStyles({definition: {\n component: 'ui.checkbox',\n parts: {\n group: {\n base: 'min-w-0',\n variants: {\n orientation: {\n vertical: '',\n horizontal: '',\n },\n variant: {\n default: '',\n cards: '',\n pills: '',\n menu: 'contents',\n },\n },\n compounds: [\n {when: {orientation: 'vertical', variant: 'default'}, class: 'grid w-full gap-2'},\n {when: {orientation: 'horizontal', variant: 'default'}, class: 'flex w-full flex-wrap items-start gap-3'},\n {when: {orientation: 'vertical', variant: 'cards'}, class: 'grid w-full gap-3'},\n {when: {orientation: 'horizontal', variant: 'cards'}, class: 'flex w-full flex-wrap items-stretch gap-3'},\n {when: {orientation: 'vertical', variant: 'pills'}, class: 'inline-grid w-auto gap-2'},\n {when: {orientation: 'horizontal', variant: 'pills'}, class: 'flex flex-wrap items-center gap-2'},\n ],\n defaults: {\n orientation: 'vertical',\n variant: 'default',\n },\n },\n checkbox: {\n base: 'relative min-w-0 text-inherit outline-none',\n variants: {\n variant: {\n default: 'flex w-full items-start gap-2 rounded-control-md py-0.5',\n cards: CHECKBOX_CARD_CLASSES,\n pills: CHECKBOX_PILL_CLASSES,\n menu: OPTION_ITEM_CLASSES,\n },\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n xlg: '',\n },\n },\n compounds: [\n {when: {variant: 'default', size: 'xs'}, class: CONTROL_TYPOGRAPHY_CLASSES.xs},\n {when: {variant: 'default', size: 'sm'}, class: CONTROL_TYPOGRAPHY_CLASSES.sm},\n {when: {variant: 'default', size: 'md'}, class: CONTROL_TYPOGRAPHY_CLASSES.md},\n {when: {variant: 'default', size: 'lg'}, class: CONTROL_TYPOGRAPHY_CLASSES.lg},\n {when: {variant: 'default', size: 'xlg'}, class: CONTROL_TYPOGRAPHY_CLASSES.xlg},\n {when: {variant: 'pills', size: 'xs'}, class: CHECKBOX_PILL_SIZE_CLASSES.xs},\n {when: {variant: 'pills', size: 'sm'}, class: CHECKBOX_PILL_SIZE_CLASSES.sm},\n {when: {variant: 'pills', size: 'md'}, class: CHECKBOX_PILL_SIZE_CLASSES.md},\n {when: {variant: 'pills', size: 'lg'}, class: CHECKBOX_PILL_SIZE_CLASSES.lg},\n {when: {variant: 'pills', size: 'xlg'}, class: CHECKBOX_PILL_SIZE_CLASSES.xlg},\n ],\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n input: {\n base: 'peer sr-only',\n },\n indicator: {\n base: [\n 'relative mt-0.5 flex shrink-0 items-center justify-center rounded-control-md border-0',\n ],\n variants: {\n variant: {\n default: '',\n cards: '',\n pills: '',\n menu: 'order-10 !mt-0 ml-auto',\n },\n size: {\n xs: 'size-checkbox-indicator-xs',\n sm: 'size-checkbox-indicator-sm',\n md: 'size-checkbox-indicator-md',\n lg: 'size-checkbox-indicator-lg',\n xlg: 'size-checkbox-indicator-xlg',\n },\n },\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n indicatorIcon: {\n base: 'pointer-events-none absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100',\n variants: {\n size: {\n xs: 'size-icon-xs',\n sm: 'size-icon-sm',\n md: 'size-icon-sm',\n lg: 'size-icon-sm',\n xlg: 'size-icon-lg',\n },\n },\n defaults: {\n size: 'md',\n },\n },\n menuIndicator: {\n base: ['relative order-10 flex', OPTION_INDICATOR_CLASSES],\n },\n menuIndicatorIcon: {\n base: 'pointer-events-none absolute inset-0 size-icon shrink-0 fill-current opacity-0 data-checked:opacity-100 data-indeterminate:opacity-100',\n },\n content: {\n base: 'grid min-w-0 gap-0.5',\n },\n icon: {\n base: 'shrink-0 fill-current text-current opacity-75',\n variants: {\n variant: {\n default: 'mt-0.5 size-icon',\n cards: 'mt-0.5 size-icon',\n pills: '',\n },\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '',\n xlg: '',\n },\n },\n compounds: [\n {when: {variant: 'pills', size: 'xs'}, class: BADGE_ICON_SIZE_CLASSES.xs},\n {when: {variant: 'pills', size: 'sm'}, class: BADGE_ICON_SIZE_CLASSES.sm},\n {when: {variant: 'pills', size: 'md'}, class: BADGE_ICON_SIZE_CLASSES.md},\n {when: {variant: 'pills', size: 'lg'}, class: BADGE_ICON_SIZE_CLASSES.lg},\n {when: {variant: 'pills', size: 'xlg'}, class: BADGE_ICON_SIZE_CLASSES.xlg},\n ],\n defaults: {\n variant: 'default',\n size: 'md',\n },\n },\n label: {\n base: '',\n },\n description: {\n base: 'text-surface-ink-muted',\n },\n },\n}});\n\nexport {CHECKBOX_CARD_CLASSES, CHECKBOX_PILL_CLASSES, CHECKBOX_PILL_SIZE_CLASSES, checkboxStyles};\n","import type Alpine from 'alpinejs';\n\nimport {\n type AlpineMachine,\n createAlpineMachine,\n defineAlpineData,\n type MachineSnapshot,\n type TrellisAlpineComponent,\n} from '@client/runtime';\nimport {syncControlPresence, syncNativeControl} from '@client/runtime/form-control';\nimport {resolveStyle} from '@client/runtime/styles';\nimport {addListener, removeAttribute, setAttribute, setPresence, type CleanupStack} from '@client/utils';\nimport {checkboxControlSchema, checkboxGroupSchema, type CheckboxControlProps, type CheckboxGroupProps} from './contract';\nimport {\n checkboxGroupHooks,\n checkboxHooks,\n createCheckboxGroupMachine,\n createCheckboxMachine,\n type CheckboxContext,\n type CheckboxGroupContext,\n type CheckboxInheritance,\n type CheckboxState,\n} from './machine';\nimport {checkboxStyles} from './styles';\n\n/**\n * Public Alpine API for `ui.checkbox` and `ui.checkbox.control`.\n *\n * @public\n */\ninterface UiCheckboxApi {\n /** Current semantic checkbox state. */\n readonly state: CheckboxState;\n /** Set and commit the semantic checkbox state. */\n setState(state: CheckboxState): void;\n}\n\ntype CheckboxData = AlpineMachine<CheckboxContext, CheckboxControlProps, typeof checkboxHooks> & UiCheckboxApi & {\n init(): void;\n destroy(): void;\n};\ntype CheckboxGroupData = AlpineMachine<CheckboxGroupContext, CheckboxGroupProps, typeof checkboxGroupHooks> & {\n init(): void;\n destroy(): void;\n};\n\ntype CheckboxOwner = {setInheritance(inherited: CheckboxInheritance): void};\ntype CheckboxGroupOwner = {\n register(owner: CheckboxOwner): () => void;\n inherited(): CheckboxInheritance;\n};\n\nconst groupOwners = new WeakMap<HTMLElement, CheckboxGroupOwner>();\n\nconst closestGroupOwner = (element: HTMLElement): CheckboxGroupOwner | null => {\n const group = element.parentElement?.closest<HTMLElement>('[data-ui-checkbox-group]') ?? null;\n return group ? groupOwners.get(group) ?? null : null;\n};\n\nconst UiCheckbox = (): TrellisAlpineComponent<CheckboxData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n let inputEl: HTMLInputElement | null = null;\n let listeners: CleanupStack = [];\n let unregisterGroup: (() => void) | null = null;\n let dispatchingNative = false;\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Checkbox has not been initialized.');\n return rootEl;\n };\n const input = (): HTMLInputElement => {\n if (!inputEl) throw new Error('Checkbox requires a native checkbox input.');\n return inputEl;\n };\n const currentSnapshot = (): MachineSnapshot<CheckboxContext, CheckboxControlProps> => bridge.getCommittedSnapshot();\n\n const syncDom = (): void => {\n const checkbox = root();\n const native = input();\n const snapshot = currentSnapshot();\n const props = snapshot.props;\n const inherited = snapshot.context.inherited;\n const state = snapshot.context.selection.state;\n const checked = state === 'checked';\n const indeterminate = state === 'indeterminate';\n const disabled = props.disabled || inherited.disabled;\n const required = props.required || inherited.required;\n const invalid = props.invalid || inherited.invalid;\n const name = props.name || inherited.name;\n const menu = props.variant === 'menu' || inherited.variant === 'menu';\n\n native.checked = checked;\n native.indeterminate = indeterminate;\n if (!name) native.removeAttribute('name');\n syncNativeControl({input: native, state: {name, value: props.value, disabled, required, invalid}});\n if (indeterminate) native.setAttribute('aria-checked', 'mixed');\n else native.removeAttribute('aria-checked');\n\n setAttribute({el: checkbox, attr: 'data-state', value: state});\n setPresence({el: checkbox, attr: 'data-checked', present: checked});\n setPresence({el: checkbox, attr: 'data-indeterminate', present: indeterminate});\n syncControlPresence({el: checkbox, state: {disabled, required, invalid}});\n setPresence({el: native, attr: 'data-checked', present: checked});\n setPresence({el: native, attr: 'data-indeterminate', present: indeterminate});\n checkbox.className = resolveStyle({\n part: checkboxStyles.parts.checkbox,\n props: {...props, variant: menu ? 'menu' : props.variant},\n className: checkbox.dataset.class,\n });\n setPresence({el: checkbox, attr: 'data-ui-menu-item', present: menu});\n setPresence({el: checkbox, attr: 'data-ui-option-recipe', present: menu});\n setPresence({el: checkbox, attr: 'data-keep-open', present: menu, value: 'true'});\n setPresence({el: checkbox, attr: 'data-selected', present: menu && (checked || indeterminate)});\n if (menu) {\n checkbox.setAttribute('role', 'menuitemcheckbox');\n checkbox.setAttribute('aria-checked', indeterminate ? 'mixed' : checked ? 'true' : 'false');\n checkbox.tabIndex = -1;\n native.tabIndex = -1;\n native.setAttribute('aria-hidden', 'true');\n } else {\n checkbox.removeAttribute('role');\n checkbox.removeAttribute('aria-checked');\n checkbox.removeAttribute('tabindex');\n native.removeAttribute('aria-hidden');\n }\n\n const indicator = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator]');\n if (indicator) {\n indicator.hidden = menu;\n indicator.className = resolveStyle({\n part: checkboxStyles.parts.indicator,\n props: {...props, variant: menu ? 'menu' : props.variant},\n className: indicator.dataset.class,\n });\n setAttribute({el: indicator, attr: 'data-state', value: state});\n setPresence({el: indicator, attr: 'data-checked', present: checked});\n setPresence({el: indicator, attr: 'data-indeterminate', present: indeterminate});\n setPresence({el: indicator, attr: 'data-disabled', present: disabled});\n setPresence({el: indicator, attr: 'data-invalid', present: invalid});\n }\n const checkedIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator-icon=\"checked\"]');\n if (checkedIcon) {\n checkedIcon.setAttribute('class', resolveStyle({\n part: checkboxStyles.parts.indicatorIcon,\n props,\n className: checkedIcon.dataset.class,\n }));\n setPresence({el: checkedIcon, attr: 'data-checked', present: checked});\n removeAttribute({el: checkedIcon, attr: 'data-indeterminate'});\n }\n const indeterminateIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-indicator-icon=\"indeterminate\"]');\n if (indeterminateIcon) {\n indeterminateIcon.setAttribute('class', resolveStyle({\n part: checkboxStyles.parts.indicatorIcon,\n props,\n className: indeterminateIcon.dataset.class,\n }));\n setPresence({el: indeterminateIcon, attr: 'data-indeterminate', present: indeterminate});\n removeAttribute({el: indeterminateIcon, attr: 'data-checked'});\n }\n const menuIndicator = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator]');\n if (menuIndicator) {\n menuIndicator.hidden = !menu;\n setPresence({el: menuIndicator, attr: 'data-selected', present: checked || indeterminate});\n }\n const menuCheckedIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator-icon=\"checked\"]');\n if (menuCheckedIcon) {\n setPresence({el: menuCheckedIcon, attr: 'data-checked', present: checked});\n removeAttribute({el: menuCheckedIcon, attr: 'data-indeterminate'});\n }\n const menuIndeterminateIcon = checkbox.querySelector<HTMLElement>('[data-ui-checkbox-menu-indicator-icon=\"indeterminate\"]');\n if (menuIndeterminateIcon) {\n setPresence({el: menuIndeterminateIcon, attr: 'data-indeterminate', present: indeterminate});\n removeAttribute({el: menuIndeterminateIcon, attr: 'data-checked'});\n }\n };\n\n const dispatchNative = (type: 'input' | 'change'): void => {\n dispatchingNative = true;\n try { input().dispatchEvent(new Event(type, {bubbles: true})); } finally { dispatchingNative = false; }\n };\n\n const bridge = createAlpineMachine({\n schema: checkboxControlSchema,\n hooks: checkboxHooks,\n createMachine: ({props}) => createCheckboxMachine({\n props,\n effects: {\n sync: syncDom,\n emitInput: () => dispatchNative('input'),\n emitChange: () => dispatchNative('change'),\n },\n }),\n });\n\n const owner: CheckboxOwner = {\n setInheritance(inherited): void {\n bridge.send({type: 'INHERITANCE_CHANGED', ...inherited});\n },\n };\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n inputEl = root().querySelector<HTMLInputElement>('[data-ui-checkbox-input]');\n if (!inputEl) throw new Error('Checkbox requires a native checkbox input.');\n bridge.connect(rootEl, this.snapshot);\n addListener({target: inputEl, event: 'input', handler: () => {\n if (dispatchingNative) return;\n bridge.send({type: 'NATIVE_CHANGED', state: input().checked ? 'checked' : 'unchecked'});\n }, cleanup: listeners});\n addListener({target: inputEl, event: 'change', handler: () => {\n if (dispatchingNative) return;\n bridge.send({type: 'NATIVE_CHANGED', state: input().checked ? 'checked' : 'unchecked'});\n }, cleanup: listeners});\n const group = closestGroupOwner(root());\n if (group) unregisterGroup = group.register(owner);\n syncDom();\n },\n destroy(): void {\n unregisterGroup?.();\n unregisterGroup = null;\n listeners.splice(0).reverse().forEach((cleanup) => cleanup());\n bridge.disconnect();\n rootEl = null;\n inputEl = null;\n },\n get state(): CheckboxState {\n return bridge.getCommittedSnapshot().context.selection.state;\n },\n setState(state: CheckboxState): void {\n if (!['unchecked', 'checked', 'indeterminate'].includes(state)) {\n throw new Error(`Unknown checkbox state: ${String(state)}`);\n }\n if (state === bridge.getCommittedSnapshot().context.selection.state) return;\n bridge.send({type: 'API_SET', state});\n },\n };\n};\n\nconst UiCheckboxGroup = (): TrellisAlpineComponent<CheckboxGroupData> => {\n let rootEl: (HTMLElement & Alpine.ElementWithXAttributes) | null = null;\n const members = new Set<CheckboxOwner>();\n\n const root = (): HTMLElement => {\n if (!rootEl) throw new Error('Checkbox group has not been initialized.');\n return rootEl;\n };\n const currentSnapshot = (): MachineSnapshot<CheckboxGroupContext, CheckboxGroupProps> => bridge.getCommittedSnapshot();\n const syncDom = (): void => {\n const snapshot = currentSnapshot();\n setAttribute({el: root(), attr: 'data-orientation', value: snapshot.props.orientation});\n setAttribute({el: root(), attr: 'data-variant', value: snapshot.props.variant});\n syncControlPresence({el: root(), state: snapshot.context.inherited});\n members.forEach((member) => member.setInheritance(snapshot.context.inherited));\n };\n const bridge = createAlpineMachine({\n schema: checkboxGroupSchema,\n hooks: checkboxGroupHooks,\n createMachine: ({props}) => createCheckboxGroupMachine({\n props,\n effects: {sync: syncDom},\n }),\n });\n const owner: CheckboxGroupOwner = {\n register(member): () => void {\n members.add(member);\n member.setInheritance(currentSnapshot().context.inherited);\n return () => members.delete(member);\n },\n inherited: () => currentSnapshot().context.inherited,\n };\n\n return {\n ...bridge,\n init(): void {\n rootEl = this.$el;\n bridge.connect(rootEl, this.snapshot);\n groupOwners.set(root(), owner);\n syncDom();\n },\n destroy(): void {\n groupOwners.delete(root());\n members.clear();\n bridge.disconnect();\n rootEl = null;\n },\n };\n};\n\nconst registerCheckbox = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiCheckbox', UiCheckbox)(AlpineInstance);\n defineAlpineData('UiCheckboxGroup', UiCheckboxGroup)(AlpineInstance);\n};\n\nexport {registerCheckbox, UiCheckbox, UiCheckboxGroup};\nexport type {CheckboxData, CheckboxGroupData, CheckboxState, UiCheckboxApi};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerCheckbox as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerCheckbox = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerCheckbox};\nexport default registerCheckbox;\nexport * from './index';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./dom-qAeVl7dc.js";import{t}from"./alpine-data-CytyCyfk.js";var n=e=>{let t=e.filter(e=>!e.deleted),n=new Set(t.map(e=>e.source).filter(Boolean)),r=new Set(t.map(e=>e.target).filter(Boolean));return{usedSources:n,usedTargets:r,sourceAvailable:(e,t)=>t===e||!n.has(t),targetAvailable:(e,t)=>t===e||!r.has(t)}},r=()=>{let t=null,r=[],i=e=>e?.dataset.value??``,a=e=>e.closest(`[data-ui-import-mapper]`)===t,o=e=>Array.from(t?.querySelectorAll(e)??[]).filter(a),s=(e,t)=>Array.from(e.querySelectorAll(t)).find(a)??null,c=()=>Array.from(o(`[data-ui-formset-item]`)).map(e=>({source:i(s(e,`[data-ui-import-mapping-source]`)),target:i(s(e,`[data-ui-import-mapping-target]`)),deleted:e.dataset.formState===`deleted`})),l=(e,t)=>{let n=i(e);e.querySelectorAll(`[data-ui-select-option][data-value]`).forEach(e=>{let r=t(n,e.dataset.value??``);e.toggleAttribute(`data-disabled`,!r),r?e.removeAttribute(`aria-disabled`):e.setAttribute(`aria-disabled`,`true`)})};return{activeSource:``,init(){t=this.$el,r=[e({target:t,event:`ui:formset-change`,handler:()=>this.refresh()}),e({target:t,event:`ui:change`,handler:e=>{let t=e.target instanceof Element?e.target.closest(`[data-ui-import-mapping-source]`):null;t&&a(t)&&this.selectSource(i(t)),this.refresh()}})],this.refresh()},destroy(){r.splice(0).reverse().forEach(e=>e()),t=null},refresh(){if(!t)return;let e=c(),r=n(e);(!this.activeSource||!r.usedSources.has(this.activeSource))&&(this.activeSource=e.find(e=>!e.deleted&&e.source)?.source??``),o(`[data-ui-import-mapping-source]`).forEach(e=>l(e,r.sourceAvailable)),o(`[data-ui-import-mapping-target]`).forEach(e=>l(e,r.targetAvailable))},selectSource(e){e&&(this.activeSource=e)}}},i=e=>{t(`UiImportMapper`,r)(e)},a=new WeakSet,o=e=>{a.has(e)||(a.add(e),i(e))};export{r as n,n as r,o as t};
|
|
2
|
+
//# sourceMappingURL=entry.generated-C07Tn0r-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.generated-C07Tn0r-.js","names":[],"sources":["../../../../../../../../client/src/components/import-mapper/index.ts","../../../../../../../../client/src/components/import-mapper/entry.generated.ts"],"sourcesContent":["import type Alpine from 'alpinejs';\n\nimport {addListener, defineAlpineData, type TrellisAlpineComponent} from '@client/runtime';\n\ntype MappingProjectionRow = {\n source: string;\n target: string;\n deleted: boolean;\n};\n\ntype MappingProjection = {\n usedSources: ReadonlySet<string>;\n usedTargets: ReadonlySet<string>;\n sourceAvailable(current: string, candidate: string): boolean;\n targetAvailable(current: string, candidate: string): boolean;\n};\n\nconst mappingProjection = (rows: readonly MappingProjectionRow[]): MappingProjection => {\n const active = rows.filter((row) => !row.deleted);\n const usedSources = new Set(active.map((row) => row.source).filter(Boolean));\n const usedTargets = new Set(active.map((row) => row.target).filter(Boolean));\n return {\n usedSources,\n usedTargets,\n sourceAvailable: (current, candidate) => candidate === current || !usedSources.has(candidate),\n targetAvailable: (current, candidate) => candidate === current || !usedTargets.has(candidate),\n };\n};\n\ntype ImportMapperData = {\n activeSource: string;\n init(): void;\n destroy(): void;\n refresh(): void;\n selectSource(source: string): void;\n};\n\nconst UiImportMapper = (): TrellisAlpineComponent<ImportMapperData> => {\n let root: HTMLElement | null = null;\n let cleanup: Array<() => void> = [];\n\n const selectValue = (element: HTMLElement | null): string => element?.dataset.value ?? '';\n const owns = (element: Element): boolean => element.closest('[data-ui-import-mapper]') === root;\n const owned = <T extends Element>(selector: string): T[] => Array.from(\n root?.querySelectorAll<T>(selector) ?? [],\n ).filter(owns);\n const ownedDescendant = <T extends Element>(element: Element, selector: string): T | null => (\n Array.from(element.querySelectorAll<T>(selector)).find(owns) ?? null\n );\n const rows = (): MappingProjectionRow[] => Array.from(\n owned<HTMLElement>('[data-ui-formset-item]'),\n ).map((item) => ({\n source: selectValue(ownedDescendant(item, '[data-ui-import-mapping-source]')),\n target: selectValue(ownedDescendant(item, '[data-ui-import-mapping-target]')),\n deleted: item.dataset.formState === 'deleted',\n }));\n\n const setAvailability = (\n select: HTMLElement,\n available: (current: string, candidate: string) => boolean,\n ): void => {\n const current = selectValue(select);\n select.querySelectorAll<HTMLElement>('[data-ui-select-option][data-value]').forEach((option) => {\n const enabled = available(current, option.dataset.value ?? '');\n option.toggleAttribute('data-disabled', !enabled);\n if (enabled) option.removeAttribute('aria-disabled');\n else option.setAttribute('aria-disabled', 'true');\n });\n };\n\n return {\n activeSource: '',\n init(): void {\n root = this.$el;\n cleanup = [\n addListener({target: root, event: 'ui:formset-change', handler: () => this.refresh()}),\n addListener({\n target: root,\n event: 'ui:change',\n handler: (event) => {\n const target = event.target instanceof Element\n ? event.target.closest<HTMLElement>('[data-ui-import-mapping-source]')\n : null;\n if (target && owns(target)) this.selectSource(selectValue(target));\n this.refresh();\n },\n }),\n ];\n this.refresh();\n },\n destroy(): void {\n cleanup.splice(0).reverse().forEach((dispose) => dispose());\n root = null;\n },\n refresh(): void {\n if (!root) return;\n const currentRows = rows();\n const projection = mappingProjection(currentRows);\n if (!this.activeSource || !projection.usedSources.has(this.activeSource)) {\n this.activeSource = currentRows.find((row) => !row.deleted && row.source)?.source ?? '';\n }\n owned<HTMLElement>('[data-ui-import-mapping-source]')\n .forEach((select) => setAvailability(select, projection.sourceAvailable));\n owned<HTMLElement>('[data-ui-import-mapping-target]')\n .forEach((select) => setAvailability(select, projection.targetAvailable));\n },\n selectSource(source: string): void {\n if (source) this.activeSource = source;\n },\n };\n};\n\nconst registerImportMapper = (AlpineInstance: Alpine.Alpine): void => {\n defineAlpineData('UiImportMapper', UiImportMapper)(AlpineInstance);\n};\n\nexport {mappingProjection, registerImportMapper, UiImportMapper};\nexport type {ImportMapperData, MappingProjection, MappingProjectionRow};\n","// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport type {Alpine as AlpineType} from 'alpinejs';\n\nimport {registerImportMapper as registerComponent} from './index';\n\nconst registered = new WeakSet<AlpineType>();\n\nconst registerImportMapper = (AlpineInstance: AlpineType): void => {\n if (registered.has(AlpineInstance)) return;\n registered.add(AlpineInstance);\n\n registerComponent(AlpineInstance);\n};\n\nexport {registerImportMapper};\nexport default registerImportMapper;\nexport * from './index';\n"],"mappings":"+EAiBA,IAAM,EAAqB,GAA6D,CACpF,IAAM,EAAS,EAAK,OAAQ,GAAQ,CAAC,EAAI,OAAO,EAC1C,EAAc,IAAI,IAAI,EAAO,IAAK,GAAQ,EAAI,MAAM,EAAE,OAAO,OAAO,CAAC,EACrE,EAAc,IAAI,IAAI,EAAO,IAAK,GAAQ,EAAI,MAAM,EAAE,OAAO,OAAO,CAAC,EAC3E,MAAO,CACH,cACA,cACA,iBAAkB,EAAS,IAAc,IAAc,GAAW,CAAC,EAAY,IAAI,CAAS,EAC5F,iBAAkB,EAAS,IAAc,IAAc,GAAW,CAAC,EAAY,IAAI,CAAS,CAChG,CACJ,EAUM,MAAiE,CACnE,IAAI,EAA2B,KAC3B,EAA6B,CAAC,EAE5B,EAAe,GAAwC,GAAS,QAAQ,OAAS,GACjF,EAAQ,GAA8B,EAAQ,QAAQ,yBAAyB,IAAM,EACrF,EAA4B,GAA0B,MAAM,KAC9D,GAAM,iBAAoB,CAAQ,GAAK,CAAC,CAC5C,EAAE,OAAO,CAAI,EACP,GAAsC,EAAkB,IAC1D,MAAM,KAAK,EAAQ,iBAAoB,CAAQ,CAAC,EAAE,KAAK,CAAI,GAAK,KAE9D,MAAqC,MAAM,KAC7C,EAAmB,wBAAwB,CAC/C,EAAE,IAAK,IAAU,CACb,OAAQ,EAAY,EAAgB,EAAM,iCAAiC,CAAC,EAC5E,OAAQ,EAAY,EAAgB,EAAM,iCAAiC,CAAC,EAC5E,QAAS,EAAK,QAAQ,YAAc,SACxC,EAAE,EAEI,GACF,EACA,IACO,CACP,IAAM,EAAU,EAAY,CAAM,EAClC,EAAO,iBAA8B,qCAAqC,EAAE,QAAS,GAAW,CAC5F,IAAM,EAAU,EAAU,EAAS,EAAO,QAAQ,OAAS,EAAE,EAC7D,EAAO,gBAAgB,gBAAiB,CAAC,CAAO,EAC5C,EAAS,EAAO,gBAAgB,eAAe,EAC9C,EAAO,aAAa,gBAAiB,MAAM,CACpD,CAAC,CACL,EAEA,MAAO,CACH,aAAc,GACd,MAAa,CACT,EAAO,KAAK,IACZ,EAAU,CACN,EAAY,CAAC,OAAQ,EAAM,MAAO,oBAAqB,YAAe,KAAK,QAAQ,CAAC,CAAC,EACrF,EAAY,CACR,OAAQ,EACR,MAAO,YACP,QAAU,GAAU,CAChB,IAAM,EAAS,EAAM,kBAAkB,QACjC,EAAM,OAAO,QAAqB,iCAAiC,EACnE,KACF,GAAU,EAAK,CAAM,GAAG,KAAK,aAAa,EAAY,CAAM,CAAC,EACjE,KAAK,QAAQ,CACjB,CACJ,CAAC,CACL,EACA,KAAK,QAAQ,CACjB,EACA,SAAgB,CACZ,EAAQ,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAS,GAAY,EAAQ,CAAC,EAC1D,EAAO,IACX,EACA,SAAgB,CACZ,GAAI,CAAC,EAAM,OACX,IAAM,EAAc,EAAK,EACnB,EAAa,EAAkB,CAAW,GAC5C,CAAC,KAAK,cAAgB,CAAC,EAAW,YAAY,IAAI,KAAK,YAAY,KACnE,KAAK,aAAe,EAAY,KAAM,GAAQ,CAAC,EAAI,SAAW,EAAI,MAAM,GAAG,QAAU,IAEzF,EAAmB,iCAAiC,EAC/C,QAAS,GAAW,EAAgB,EAAQ,EAAW,eAAe,CAAC,EAC5E,EAAmB,iCAAiC,EAC/C,QAAS,GAAW,EAAgB,EAAQ,EAAW,eAAe,CAAC,CAChF,EACA,aAAa,EAAsB,CAC3B,IAAQ,KAAK,aAAe,EACpC,CACJ,CACJ,EAEM,EAAwB,GAAwC,CAClE,EAAiB,iBAAkB,CAAc,EAAE,CAAc,CACrE,EC5GM,EAAa,IAAI,QAEjB,EAAwB,GAAqC,CAC3D,EAAW,IAAI,CAAc,IACjC,EAAW,IAAI,CAAc,EAE7B,EAAkB,CAAc,EACpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as e,l as t,n,t as r}from"./codecs-Cb1ns_47.js";import{o as i,s as a,t as o}from"./dom-qAeVl7dc.js";import{t as s}from"./alpine-machine-BTDXpEr6.js";import{t as c}from"./alpine-data-CytyCyfk.js";import{n as l,t as u}from"./styles-TfvwVPGw.js";import{t as d}from"./machine-Dqut4h89.js";import{n as f,t as p}from"./props-change-2xfsIAEN.js";import{n as m,r as h}from"./form-control-BkVb2Qed.js";import{L as g,M as _,N as v,P as y,b,o as x,s as ee,v as te,y as S}from"./common-Dfj6NCjU.js";import{i as C,n as w,r as T}from"./styles-CpTCQjY5.js";var E=y,D=[`default`,`cards`,`pills`,`menu`],O=te,k=x,A=[`default`,`cards`,`pills`,`menu`],j=g,M=S,ne={name:e,value:r(e,`prop-value`),orientation:t(E,`vertical`),variant:t(D,`default`),color:t(j,`neutral`),interaction:t(M,`tonal`),indicator:n.default(!0),placement:t(O,`leading`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),loop:n.default(!0),class:e},re={value:e,name:e,label:e,description:e,checked:r(n,`prop-checked`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),indicator:n.default(!0),placement:t(O,`leading`),icon:e,variant:t(A,`default`),color:t(j,`neutral`),interaction:t(M,`tonal`),size:t(k,`md`),inputClass:e,indicatorClass:e,iconClass:e,contentClass:e,labelClass:e,descriptionClass:e,class:e};t(k,`md`);var N=[],P=[],F=e=>typeof e.value==`string`?e.value:``,I=e=>{let t=e.item;if(!t||typeof t!=`object`)return null;let n=t;return typeof n.id!=`string`||typeof n.value!=`string`?null:{id:n.id,value:n.value,disabled:n.disabled===!0,checked:n.checked===!0}},L=e=>{let{context:t,event:n}=e;if(e.props.disabled)return!1;let r=F(n);return r?t.collection.items.some(e=>e.value===r&&!e.disabled):!e.props.required},R=e=>({event:t})=>!!F(t)===e,z=({event:e})=>p(e,`value`),B=e=>{let t=f(e.event)?.props;return!z(e)||!t?e.context.selection.value:t.value||e.context.collection.items.find(e=>e.checked)?.value||``},V=e=>t=>z(t)&&!!B(t)===e,H=e=>({context:{...e.context,selection:{value:F(e.event)}}}),U=e=>{let t=f(e.event)?.props;if(t)return{props:t,context:z(e)?{...e.context,selection:{value:B(e)}}:e.context}},W=e=>{let t=I(e.event);if(!t)return;let n=[...e.context.collection.items.filter(e=>e.id!==t.id),t];if(n.some(e=>e.id!==t.id&&e.value&&e.value===t.value))throw Error(`Radio group values must be unique: ${t.value}`);return{context:{selection:{value:e.props.value||e.context.selection.value||(t.checked?t.value:``)},collection:{items:n}}}},G=e=>{let t=typeof e.event.id==`string`?e.event.id:``,n=e.context.collection.items.find(e=>e.id===t),r=e.context.collection.items.filter(e=>e.id!==t);return{context:{selection:{value:n?.value===e.context.selection.value?``:e.context.selection.value},collection:{items:r}}}},K=e=>{let t=I(e.event);if(!t)return;let n=e.context.collection.items.find(e=>e.id===t.id),r=e.context.collection.items.map(e=>e.id===t.id?t:e);if(r.some(e=>e.id!==t.id&&e.value&&e.value===t.value))throw Error(`Radio group values must be unique: ${t.value}`);let i=e.context.selection.value;return!e.props.value&&t.checked?i=t.value:!e.props.value&&n?.checked&&!t.checked&&n.value===i?i=``:n?.value===i&&t.value!==n.value&&(i=t.value),{context:{selection:{value:i},collection:{items:r}}}},q=({props:e,effects:t})=>d({initial:e.value?`selected`:`empty`,on:{NATIVE_SELECTED:{target:`selected`,guard:L,reduce:`select`,effects:`sync`},SET_VALUE:[{target:`selected`,guard:e=>L(e)&&R(!0)(e),reduce:`select`,effects:[`sync`,`emitInput`,`emitChange`]},{target:`empty`,guard:e=>L(e)&&R(!1)(e),reduce:`select`,effects:`sync`}],NAVIGATE:{target:`selected`,guard:L,reduce:`select`,effects:[`sync`,`emitInput`,`emitChange`,`focus`]},ITEM_REGISTERED:{reduce:`registerItem`,effects:`sync`},ITEM_UPDATED:{reduce:`updateItem`,effects:`sync`},ITEM_UNREGISTERED:{reduce:`unregisterItem`,effects:`sync`},PROPS_CHANGED:[{target:`selected`,guard:V(!0),reduce:`reconcileProps`,effects:`sync`},{target:`empty`,guard:V(!1),reduce:`reconcileProps`,effects:`sync`},{reduce:`reconcileProps`,effects:`sync`}]},states:{empty:{tags:[`empty`]},selected:{tags:[`selected`]}}},{context:{selection:{value:e.value},collection:{items:[]}},props:e,reducers:{select:H,reconcileProps:U,registerItem:W,unregisterItem:G,updateItem:K},effects:t}),J=({props:e,effects:t})=>d({initial:`ready`,states:{ready:{on:{NATIVE_SELECTED:{reduce:`select`,effects:`sync`},PROPS_CHANGED:{reduce:`reconcileProps`,effects:`sync`}}}}},{context:{checked:e.checked},props:e,reducers:{select:e=>({context:{...e.context,checked:!0}}),reconcileProps:e=>{let t=f(e.event);if(!t)return;let n=t.changes.some(({key:e})=>e===`checked`);return{props:t.props,context:n?{...e.context,checked:t.props.checked}:e.context}}},effects:t}),Y=u({definition:{component:`ui.radio`,parts:{group:{base:`w-full min-w-0`,variants:{orientation:{vertical:``,horizontal:``},variant:{default:``,cards:``,pills:``,menu:`contents`}},compounds:[{when:{variant:`default`,orientation:`vertical`},class:`grid gap-2`},{when:{variant:`default`,orientation:`horizontal`},class:`flex flex-wrap items-start gap-3`},{when:{variant:`cards`,orientation:`vertical`},class:`grid gap-3`},{when:{variant:`cards`,orientation:`horizontal`},class:`flex flex-wrap items-stretch gap-3`},{when:{variant:`pills`,orientation:`vertical`},class:`inline-grid gap-2`},{when:{variant:`pills`,orientation:`horizontal`},class:`flex flex-wrap items-center gap-2`}],defaults:{orientation:`vertical`,variant:`default`}},radio:{base:[`relative flex min-w-0 items-start gap-2 rounded-control-md outline-none`,`text-inherit`],variants:{variant:{default:[`w-full py-0.5`,b],cards:`w-auto flex-1 items-start gap-3`,pills:[w,C.soft,T.md,`w-auto flex-none rounded-full`],menu:[v,`!items-center`]},size:ee},defaults:{variant:`default`,size:`md`}},input:{base:`sr-only`},indicator:{base:[`mt-0.5 flex shrink-0 items-center justify-center rounded-full border-0`],variants:{variant:{default:``,cards:``,pills:``,menu:`order-10 !mt-0 ml-auto`},size:{xs:`size-radio-indicator-xs`,sm:`size-radio-indicator-sm`,md:`size-radio-indicator-md`,lg:`size-radio-indicator-lg`,xlg:`size-radio-indicator-xlg`}},defaults:{variant:`default`,size:`md`}},indicatorDot:{base:`rounded-full bg-current opacity-0 data-checked:opacity-100`,variants:{size:{xs:`size-radio-dot-xs`,sm:`size-radio-dot-sm`,md:`size-radio-dot-md`,lg:`size-radio-dot-lg`,xlg:`size-radio-dot-xlg`}},defaults:{size:`md`}},menuIndicator:{base:[`order-10 flex`,_]},menuIndicatorIcon:{base:`size-icon shrink-0 fill-current`},content:{base:`grid min-w-0 gap-0.5`},icon:{base:`mt-0.5 size-icon shrink-0 fill-current text-current opacity-75`},label:{base:``},description:{base:`text-surface-ink-muted`}}}}),X=new WeakMap,ie=0,ae=e=>{let t=e.parentElement?.closest(`[data-ui-radio-group]`)??null;return t?X.get(t)??null:null},Z=()=>{let e=`ui-radio-${++ie}`,t=null,n=null,r=[],c=null,u=null,d=!1,f=()=>{if(!t)throw Error(`Radio has not been initialized.`);return t},p=()=>{if(!n)throw Error(`Radio requires a native radio input.`);return n},g=()=>y.getCommittedSnapshot(),_=()=>({id:e,value:g().props.value||p().value||``,disabled:g().props.disabled,checked:g().props.checked}),v=e=>{let t=g().props,n=p(),r=e?.checked??g().context.checked,o=t.name||e?.name||``,s=t.disabled||e?.disabled===!0,c=t.required||e?.required===!0,u=t.invalid||e?.invalid===!0,d=t.variant===`menu`||e?.variant===`menu`;n.checked=r,o||n.removeAttribute(`name`),h({input:n,state:{name:o,value:t.value,disabled:s,required:c,invalid:u}}),i({el:f(),attr:`data-state`,value:r?`checked`:`unchecked`}),a({el:f(),attr:`data-checked`,present:r}),m({el:f(),state:{disabled:s,required:c,invalid:u}}),a({el:n,attr:`data-checked`,present:r}),f().className=l({part:Y.parts.radio,props:{...t,variant:d?`menu`:t.variant},className:f().dataset.class}),a({el:f(),attr:`data-ui-menu-item`,present:d}),a({el:f(),attr:`data-ui-option-recipe`,present:d}),a({el:f(),attr:`data-keep-open`,present:d,value:`true`}),a({el:f(),attr:`data-selected`,present:d&&r}),d?(f().setAttribute(`role`,`menuitemradio`),f().setAttribute(`aria-checked`,r?`true`:`false`),f().tabIndex=-1,n.tabIndex=-1,n.setAttribute(`aria-hidden`,`true`)):(f().removeAttribute(`role`),f().removeAttribute(`aria-checked`),f().removeAttribute(`tabindex`),n.removeAttribute(`aria-hidden`));let _=f().querySelector(`[data-ui-radio-indicator]`);_&&(_.hidden=d,_.className=l({part:Y.parts.indicator,props:{...t,variant:d?`menu`:t.variant},className:_.dataset.class}),a({el:_,attr:`data-checked`,present:r}),a({el:_,attr:`data-disabled`,present:s}),a({el:_,attr:`data-invalid`,present:u}));let v=f().querySelector(`[data-ui-radio-indicator-dot]`);v&&a({el:v,attr:`data-checked`,present:r});let y=f().querySelector(`[data-ui-radio-menu-indicator]`);y&&(y.hidden=!d,a({el:y,attr:`data-selected`,present:r}))},y=s({schema:re,hooks:P,createMachine:({props:e})=>J({props:e,effects:{sync:()=>{c?.update(b),c||v()}}})}),b={record:_,input:p,sync:v,emit(e){d=!0;try{p().dispatchEvent(new Event(e,{bubbles:!0}))}finally{d=!1}},focus:()=>p().focus({preventScroll:!0})};return{...y,init(){if(t=this.$el,n=f().querySelector(`[data-ui-radio-input]`),!n)throw Error(`Radio requires a native radio input.`);y.connect(t,this.snapshot),c=ae(f()),c&&(u=c.register(b)),o({target:n,event:`change`,handler:()=>{d||!p().checked||(c?c.nativeSelected(b):y.send(`NATIVE_SELECTED`))},cleanup:r}),o({target:n,event:`keydown`,handler:e=>{if(!c||!(e instanceof KeyboardEvent))return;let t=e.key===`ArrowUp`||e.key===`ArrowLeft`,n=e.key===`ArrowDown`||e.key===`ArrowRight`;!t&&!n||(e.preventDefault(),c.navigate(b,t?-1:1))},cleanup:r}),c||v()},destroy(){u?.(),u=null,c=null,r.splice(0).reverse().forEach(e=>e()),y.disconnect(),t=null,n=null}}},Q=()=>{let e=null,t=new Map,n=()=>{if(!e)throw Error(`Radio group has not been initialized.`);return e},r=()=>l.getCommittedSnapshot(),o=()=>{let e=r(),o=e.props,s=e.context.selection.value;i({el:n(),attr:`data-orientation`,value:o.orientation}),i({el:n(),attr:`data-variant`,value:o.variant}),i({el:n(),attr:`data-placement`,value:o.placement}),i({el:n(),attr:`aria-orientation`,value:o.orientation}),a({el:n(),attr:`data-indicator`,present:!o.indicator,value:`false`}),i({el:n(),attr:`role`,value:o.variant===`menu`?`group`:`radiogroup`}),m({el:n(),state:o});let c=e.context.collection.items.filter(e=>!e.disabled)[0]?.id??``;e.context.collection.items.forEach(e=>{let n=t.get(e.id);if(!n)return;let r=e.value===s;n.sync({checked:r,name:o.name,disabled:o.disabled,required:o.required,invalid:o.invalid,variant:o.variant}),n.input().tabIndex=o.variant===`menu`||e.disabled?-1:r||!s&&e.id===c?0:-1})},c=(e,n)=>{let r=typeof n==`string`?n:e.context.selection.value,i=e.context.collection.items.find(e=>e.value===r);return i?t.get(i.id)??null:null},l=s({schema:ne,hooks:N,createMachine:({props:e})=>q({props:e,effects:{sync:o,emitInput:e=>c(e.snapshot,e.event.value)?.emit(`input`),emitChange:e=>c(e.snapshot,e.event.value)?.emit(`change`),focus:e=>c(e.snapshot,e.event.value)?.focus()}})}),u={register(e){let n=e.record();return t.set(n.id,e),l.send({type:`ITEM_REGISTERED`,item:n}),()=>{t.delete(n.id),l.send({type:`ITEM_UNREGISTERED`,id:n.id})}},update(e){l.send({type:`ITEM_UPDATED`,item:e.record()})},nativeSelected(e){l.send({type:`NATIVE_SELECTED`,value:e.record().value})},navigate(e,t){let n=l.getCommittedSnapshot(),r=n.context.collection.items.filter(e=>!e.disabled),i=r.findIndex(t=>t.id===e.record().id);if(i<0||r.length===0)return;let a=i+t;if(a<0||a>=r.length){if(!n.props.loop)return;a=a<0?r.length-1:0}let o=r[a];o&&l.send({type:`NAVIGATE`,value:o.value})}};return{...l,init(){e=this.$el,l.connect(e,this.snapshot),X.set(n(),u),o()},destroy(){X.delete(n()),t.clear(),l.disconnect(),e=null},get value(){return l.getCommittedSnapshot().context.selection.value},setValue(e){e!==l.getCommittedSnapshot().context.selection.value&&l.send({type:`SET_VALUE`,value:e})}}},oe=e=>{c(`UiRadio`,Z)(e),c(`UiRadioGroup`,Q)(e)},$=new WeakSet,se=e=>{$.has(e)||($.add(e),oe(e))};export{Z as n,Q as r,se as t};
|
|
2
|
-
//# sourceMappingURL=entry.generated-
|
|
1
|
+
import{f as e,l as t,n,t as r}from"./codecs-Cb1ns_47.js";import{o as i,s as a,t as o}from"./dom-qAeVl7dc.js";import{t as s}from"./alpine-machine-BTDXpEr6.js";import{t as c}from"./alpine-data-CytyCyfk.js";import{n as l,t as u}from"./styles-TfvwVPGw.js";import{t as d}from"./machine-Dqut4h89.js";import{n as f,t as p}from"./props-change-2xfsIAEN.js";import{n as m,r as h}from"./form-control-DjbUb602.js";import{L as g,M as _,N as v,P as y,b,o as x,s as ee,v as te,y as S}from"./common-Dfj6NCjU.js";import{i as C,n as w,r as T}from"./styles-CpTCQjY5.js";var E=y,D=[`default`,`cards`,`pills`,`menu`],O=te,k=x,A=[`default`,`cards`,`pills`,`menu`],j=g,M=S,ne={name:e,value:r(e,`prop-value`),orientation:t(E,`vertical`),variant:t(D,`default`),color:t(j,`neutral`),interaction:t(M,`tonal`),indicator:n.default(!0),placement:t(O,`leading`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),loop:n.default(!0),class:e},re={value:e,name:e,label:e,description:e,checked:r(n,`prop-checked`),disabled:r(n,`prop-disabled`),required:r(n,`prop-required`),invalid:r(n,`prop-invalid`),indicator:n.default(!0),placement:t(O,`leading`),icon:e,variant:t(A,`default`),color:t(j,`neutral`),interaction:t(M,`tonal`),size:t(k,`md`),inputClass:e,indicatorClass:e,iconClass:e,contentClass:e,labelClass:e,descriptionClass:e,class:e};t(k,`md`);var N=[],P=[],F=e=>typeof e.value==`string`?e.value:``,I=e=>{let t=e.item;if(!t||typeof t!=`object`)return null;let n=t;return typeof n.id!=`string`||typeof n.value!=`string`?null:{id:n.id,value:n.value,disabled:n.disabled===!0,checked:n.checked===!0}},L=e=>{let{context:t,event:n}=e;if(e.props.disabled)return!1;let r=F(n);return r?t.collection.items.some(e=>e.value===r&&!e.disabled):!e.props.required},R=e=>({event:t})=>!!F(t)===e,z=({event:e})=>p(e,`value`),B=e=>{let t=f(e.event)?.props;return!z(e)||!t?e.context.selection.value:t.value||e.context.collection.items.find(e=>e.checked)?.value||``},V=e=>t=>z(t)&&!!B(t)===e,H=e=>({context:{...e.context,selection:{value:F(e.event)}}}),U=e=>{let t=f(e.event)?.props;if(t)return{props:t,context:z(e)?{...e.context,selection:{value:B(e)}}:e.context}},W=e=>{let t=I(e.event);if(!t)return;let n=[...e.context.collection.items.filter(e=>e.id!==t.id),t];if(n.some(e=>e.id!==t.id&&e.value&&e.value===t.value))throw Error(`Radio group values must be unique: ${t.value}`);return{context:{selection:{value:e.props.value||e.context.selection.value||(t.checked?t.value:``)},collection:{items:n}}}},G=e=>{let t=typeof e.event.id==`string`?e.event.id:``,n=e.context.collection.items.find(e=>e.id===t),r=e.context.collection.items.filter(e=>e.id!==t);return{context:{selection:{value:n?.value===e.context.selection.value?``:e.context.selection.value},collection:{items:r}}}},K=e=>{let t=I(e.event);if(!t)return;let n=e.context.collection.items.find(e=>e.id===t.id),r=e.context.collection.items.map(e=>e.id===t.id?t:e);if(r.some(e=>e.id!==t.id&&e.value&&e.value===t.value))throw Error(`Radio group values must be unique: ${t.value}`);let i=e.context.selection.value;return!e.props.value&&t.checked?i=t.value:!e.props.value&&n?.checked&&!t.checked&&n.value===i?i=``:n?.value===i&&t.value!==n.value&&(i=t.value),{context:{selection:{value:i},collection:{items:r}}}},q=({props:e,effects:t})=>d({initial:e.value?`selected`:`empty`,on:{NATIVE_SELECTED:{target:`selected`,guard:L,reduce:`select`,effects:`sync`},SET_VALUE:[{target:`selected`,guard:e=>L(e)&&R(!0)(e),reduce:`select`,effects:[`sync`,`emitInput`,`emitChange`]},{target:`empty`,guard:e=>L(e)&&R(!1)(e),reduce:`select`,effects:`sync`}],NAVIGATE:{target:`selected`,guard:L,reduce:`select`,effects:[`sync`,`emitInput`,`emitChange`,`focus`]},ITEM_REGISTERED:{reduce:`registerItem`,effects:`sync`},ITEM_UPDATED:{reduce:`updateItem`,effects:`sync`},ITEM_UNREGISTERED:{reduce:`unregisterItem`,effects:`sync`},PROPS_CHANGED:[{target:`selected`,guard:V(!0),reduce:`reconcileProps`,effects:`sync`},{target:`empty`,guard:V(!1),reduce:`reconcileProps`,effects:`sync`},{reduce:`reconcileProps`,effects:`sync`}]},states:{empty:{tags:[`empty`]},selected:{tags:[`selected`]}}},{context:{selection:{value:e.value},collection:{items:[]}},props:e,reducers:{select:H,reconcileProps:U,registerItem:W,unregisterItem:G,updateItem:K},effects:t}),J=({props:e,effects:t})=>d({initial:`ready`,states:{ready:{on:{NATIVE_SELECTED:{reduce:`select`,effects:`sync`},PROPS_CHANGED:{reduce:`reconcileProps`,effects:`sync`}}}}},{context:{checked:e.checked},props:e,reducers:{select:e=>({context:{...e.context,checked:!0}}),reconcileProps:e=>{let t=f(e.event);if(!t)return;let n=t.changes.some(({key:e})=>e===`checked`);return{props:t.props,context:n?{...e.context,checked:t.props.checked}:e.context}}},effects:t}),Y=u({definition:{component:`ui.radio`,parts:{group:{base:`w-full min-w-0`,variants:{orientation:{vertical:``,horizontal:``},variant:{default:``,cards:``,pills:``,menu:`contents`}},compounds:[{when:{variant:`default`,orientation:`vertical`},class:`grid gap-2`},{when:{variant:`default`,orientation:`horizontal`},class:`flex flex-wrap items-start gap-3`},{when:{variant:`cards`,orientation:`vertical`},class:`grid gap-3`},{when:{variant:`cards`,orientation:`horizontal`},class:`flex flex-wrap items-stretch gap-3`},{when:{variant:`pills`,orientation:`vertical`},class:`inline-grid gap-2`},{when:{variant:`pills`,orientation:`horizontal`},class:`flex flex-wrap items-center gap-2`}],defaults:{orientation:`vertical`,variant:`default`}},radio:{base:[`relative flex min-w-0 items-start gap-2 rounded-control-md outline-none`,`text-inherit`],variants:{variant:{default:[`w-full py-0.5`,b],cards:`w-auto flex-1 items-start gap-3`,pills:[w,C.soft,T.md,`w-auto flex-none rounded-full`],menu:[v,`!items-center`]},size:ee},defaults:{variant:`default`,size:`md`}},input:{base:`sr-only`},indicator:{base:[`mt-0.5 flex shrink-0 items-center justify-center rounded-full border-0`],variants:{variant:{default:``,cards:``,pills:``,menu:`order-10 !mt-0 ml-auto`},size:{xs:`size-radio-indicator-xs`,sm:`size-radio-indicator-sm`,md:`size-radio-indicator-md`,lg:`size-radio-indicator-lg`,xlg:`size-radio-indicator-xlg`}},defaults:{variant:`default`,size:`md`}},indicatorDot:{base:`rounded-full bg-current opacity-0 data-checked:opacity-100`,variants:{size:{xs:`size-radio-dot-xs`,sm:`size-radio-dot-sm`,md:`size-radio-dot-md`,lg:`size-radio-dot-lg`,xlg:`size-radio-dot-xlg`}},defaults:{size:`md`}},menuIndicator:{base:[`order-10 flex`,_]},menuIndicatorIcon:{base:`size-icon shrink-0 fill-current`},content:{base:`grid min-w-0 gap-0.5`},icon:{base:`mt-0.5 size-icon shrink-0 fill-current text-current opacity-75`},label:{base:``},description:{base:`text-surface-ink-muted`}}}}),X=new WeakMap,ie=0,ae=e=>{let t=e.parentElement?.closest(`[data-ui-radio-group]`)??null;return t?X.get(t)??null:null},Z=()=>{let e=`ui-radio-${++ie}`,t=null,n=null,r=[],c=null,u=null,d=!1,f=()=>{if(!t)throw Error(`Radio has not been initialized.`);return t},p=()=>{if(!n)throw Error(`Radio requires a native radio input.`);return n},g=()=>y.getCommittedSnapshot(),_=()=>({id:e,value:g().props.value||p().value||``,disabled:g().props.disabled,checked:g().props.checked}),v=e=>{let t=g().props,n=p(),r=e?.checked??g().context.checked,o=t.name||e?.name||``,s=t.disabled||e?.disabled===!0,c=t.required||e?.required===!0,u=t.invalid||e?.invalid===!0,d=t.variant===`menu`||e?.variant===`menu`;n.checked=r,o||n.removeAttribute(`name`),h({input:n,state:{name:o,value:t.value,disabled:s,required:c,invalid:u}}),i({el:f(),attr:`data-state`,value:r?`checked`:`unchecked`}),a({el:f(),attr:`data-checked`,present:r}),m({el:f(),state:{disabled:s,required:c,invalid:u}}),a({el:n,attr:`data-checked`,present:r}),f().className=l({part:Y.parts.radio,props:{...t,variant:d?`menu`:t.variant},className:f().dataset.class}),a({el:f(),attr:`data-ui-menu-item`,present:d}),a({el:f(),attr:`data-ui-option-recipe`,present:d}),a({el:f(),attr:`data-keep-open`,present:d,value:`true`}),a({el:f(),attr:`data-selected`,present:d&&r}),d?(f().setAttribute(`role`,`menuitemradio`),f().setAttribute(`aria-checked`,r?`true`:`false`),f().tabIndex=-1,n.tabIndex=-1,n.setAttribute(`aria-hidden`,`true`)):(f().removeAttribute(`role`),f().removeAttribute(`aria-checked`),f().removeAttribute(`tabindex`),n.removeAttribute(`aria-hidden`));let _=f().querySelector(`[data-ui-radio-indicator]`);_&&(_.hidden=d,_.className=l({part:Y.parts.indicator,props:{...t,variant:d?`menu`:t.variant},className:_.dataset.class}),a({el:_,attr:`data-checked`,present:r}),a({el:_,attr:`data-disabled`,present:s}),a({el:_,attr:`data-invalid`,present:u}));let v=f().querySelector(`[data-ui-radio-indicator-dot]`);v&&a({el:v,attr:`data-checked`,present:r});let y=f().querySelector(`[data-ui-radio-menu-indicator]`);y&&(y.hidden=!d,a({el:y,attr:`data-selected`,present:r}))},y=s({schema:re,hooks:P,createMachine:({props:e})=>J({props:e,effects:{sync:()=>{c?.update(b),c||v()}}})}),b={record:_,input:p,sync:v,emit(e){d=!0;try{p().dispatchEvent(new Event(e,{bubbles:!0}))}finally{d=!1}},focus:()=>p().focus({preventScroll:!0})};return{...y,init(){if(t=this.$el,n=f().querySelector(`[data-ui-radio-input]`),!n)throw Error(`Radio requires a native radio input.`);y.connect(t,this.snapshot),c=ae(f()),c&&(u=c.register(b)),o({target:n,event:`change`,handler:()=>{d||!p().checked||(c?c.nativeSelected(b):y.send(`NATIVE_SELECTED`))},cleanup:r}),o({target:n,event:`keydown`,handler:e=>{if(!c||!(e instanceof KeyboardEvent))return;let t=e.key===`ArrowUp`||e.key===`ArrowLeft`,n=e.key===`ArrowDown`||e.key===`ArrowRight`;!t&&!n||(e.preventDefault(),c.navigate(b,t?-1:1))},cleanup:r}),c||v()},destroy(){u?.(),u=null,c=null,r.splice(0).reverse().forEach(e=>e()),y.disconnect(),t=null,n=null}}},Q=()=>{let e=null,t=new Map,n=()=>{if(!e)throw Error(`Radio group has not been initialized.`);return e},r=()=>l.getCommittedSnapshot(),o=()=>{let e=r(),o=e.props,s=e.context.selection.value;i({el:n(),attr:`data-orientation`,value:o.orientation}),i({el:n(),attr:`data-variant`,value:o.variant}),i({el:n(),attr:`data-placement`,value:o.placement}),i({el:n(),attr:`aria-orientation`,value:o.orientation}),a({el:n(),attr:`data-indicator`,present:!o.indicator,value:`false`}),i({el:n(),attr:`role`,value:o.variant===`menu`?`group`:`radiogroup`}),m({el:n(),state:o});let c=e.context.collection.items.filter(e=>!e.disabled)[0]?.id??``;e.context.collection.items.forEach(e=>{let n=t.get(e.id);if(!n)return;let r=e.value===s;n.sync({checked:r,name:o.name,disabled:o.disabled,required:o.required,invalid:o.invalid,variant:o.variant}),n.input().tabIndex=o.variant===`menu`||e.disabled?-1:r||!s&&e.id===c?0:-1})},c=(e,n)=>{let r=typeof n==`string`?n:e.context.selection.value,i=e.context.collection.items.find(e=>e.value===r);return i?t.get(i.id)??null:null},l=s({schema:ne,hooks:N,createMachine:({props:e})=>q({props:e,effects:{sync:o,emitInput:e=>c(e.snapshot,e.event.value)?.emit(`input`),emitChange:e=>c(e.snapshot,e.event.value)?.emit(`change`),focus:e=>c(e.snapshot,e.event.value)?.focus()}})}),u={register(e){let n=e.record();return t.set(n.id,e),l.send({type:`ITEM_REGISTERED`,item:n}),()=>{t.delete(n.id),l.send({type:`ITEM_UNREGISTERED`,id:n.id})}},update(e){l.send({type:`ITEM_UPDATED`,item:e.record()})},nativeSelected(e){l.send({type:`NATIVE_SELECTED`,value:e.record().value})},navigate(e,t){let n=l.getCommittedSnapshot(),r=n.context.collection.items.filter(e=>!e.disabled),i=r.findIndex(t=>t.id===e.record().id);if(i<0||r.length===0)return;let a=i+t;if(a<0||a>=r.length){if(!n.props.loop)return;a=a<0?r.length-1:0}let o=r[a];o&&l.send({type:`NAVIGATE`,value:o.value})}};return{...l,init(){e=this.$el,l.connect(e,this.snapshot),X.set(n(),u),o()},destroy(){X.delete(n()),t.clear(),l.disconnect(),e=null},get value(){return l.getCommittedSnapshot().context.selection.value},setValue(e){e!==l.getCommittedSnapshot().context.selection.value&&l.send({type:`SET_VALUE`,value:e})}}},oe=e=>{c(`UiRadio`,Z)(e),c(`UiRadioGroup`,Q)(e)},$=new WeakSet,se=e=>{$.has(e)||($.add(e),oe(e))};export{Z as n,Q as r,se as t};
|
|
2
|
+
//# sourceMappingURL=entry.generated-C2gP0OfV.js.map
|