base-ui-vue 0.1.0 → 0.2.0

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.
Files changed (204) hide show
  1. package/README.md +41 -1
  2. package/dist/button/Button.cjs +53 -12
  3. package/dist/button/Button.cjs.map +1 -1
  4. package/dist/button/Button.js +26 -15
  5. package/dist/button/Button.js.map +1 -1
  6. package/dist/button/ToolbarButton.cjs +367 -0
  7. package/dist/button/ToolbarButton.cjs.map +1 -0
  8. package/dist/button/ToolbarButton.js +320 -0
  9. package/dist/button/ToolbarButton.js.map +1 -0
  10. package/dist/button/ToolbarButtonDataAttributes.cjs +27 -0
  11. package/dist/button/ToolbarButtonDataAttributes.cjs.map +1 -0
  12. package/dist/button/ToolbarButtonDataAttributes.js +21 -0
  13. package/dist/button/ToolbarButtonDataAttributes.js.map +1 -0
  14. package/dist/checkbox/index.cjs +1173 -0
  15. package/dist/checkbox/index.cjs.map +1 -0
  16. package/dist/checkbox/index.js +1048 -0
  17. package/dist/checkbox/index.js.map +1 -0
  18. package/dist/checkbox-group/CheckboxGroup.cjs +629 -0
  19. package/dist/checkbox-group/CheckboxGroup.cjs.map +1 -0
  20. package/dist/checkbox-group/CheckboxGroup.js +540 -0
  21. package/dist/checkbox-group/CheckboxGroup.js.map +1 -0
  22. package/dist/checkbox-group/CheckboxGroupDataAttributes.cjs +18 -0
  23. package/dist/checkbox-group/CheckboxGroupDataAttributes.cjs.map +1 -0
  24. package/dist/checkbox-group/CheckboxGroupDataAttributes.js +12 -0
  25. package/dist/checkbox-group/CheckboxGroupDataAttributes.js.map +1 -0
  26. package/dist/composite/composite.cjs +167 -0
  27. package/dist/composite/composite.cjs.map +1 -1
  28. package/dist/composite/composite.js +96 -1
  29. package/dist/composite/composite.js.map +1 -1
  30. package/dist/composite/constants.cjs +12 -0
  31. package/dist/composite/constants.cjs.map +1 -0
  32. package/dist/composite/constants.js +6 -0
  33. package/dist/composite/constants.js.map +1 -0
  34. package/dist/control/FieldControl.cjs +18 -343
  35. package/dist/control/FieldControl.cjs.map +1 -1
  36. package/dist/control/FieldControl.js +14 -285
  37. package/dist/control/FieldControl.js.map +1 -1
  38. package/dist/control/SliderControl.cjs +636 -0
  39. package/dist/control/SliderControl.cjs.map +1 -0
  40. package/dist/control/SliderControl.js +553 -0
  41. package/dist/control/SliderControl.js.map +1 -0
  42. package/dist/control/SliderControlDataAttributes.cjs +47 -0
  43. package/dist/control/SliderControlDataAttributes.cjs.map +1 -0
  44. package/dist/control/SliderControlDataAttributes.js +41 -0
  45. package/dist/control/SliderControlDataAttributes.js.map +1 -0
  46. package/dist/csp-provider/CSPContext.cjs +32 -0
  47. package/dist/csp-provider/CSPContext.cjs.map +1 -0
  48. package/dist/csp-provider/CSPContext.js +21 -0
  49. package/dist/csp-provider/CSPContext.js.map +1 -0
  50. package/dist/csp-provider/CSPProvider.cjs +46 -0
  51. package/dist/csp-provider/CSPProvider.cjs.map +1 -0
  52. package/dist/csp-provider/CSPProvider.js +41 -0
  53. package/dist/csp-provider/CSPProvider.js.map +1 -0
  54. package/dist/description/FieldDescription.cjs +5 -5
  55. package/dist/description/FieldDescription.cjs.map +1 -1
  56. package/dist/description/FieldDescription.js +1 -1
  57. package/dist/direction-provider/DirectionProvider.cjs +2 -2
  58. package/dist/direction-provider/DirectionProvider.cjs.map +1 -1
  59. package/dist/direction-provider/DirectionProvider.js +1 -1
  60. package/dist/error/FieldError.cjs +10 -288
  61. package/dist/error/FieldError.cjs.map +1 -1
  62. package/dist/error/FieldError.js +4 -246
  63. package/dist/error/FieldError.js.map +1 -1
  64. package/dist/form/Form.cjs +5 -4
  65. package/dist/form/Form.cjs.map +1 -1
  66. package/dist/form/Form.js +5 -4
  67. package/dist/form/Form.js.map +1 -1
  68. package/dist/group/ToolbarGroup.cjs +92 -0
  69. package/dist/group/ToolbarGroup.cjs.map +1 -0
  70. package/dist/group/ToolbarGroup.js +87 -0
  71. package/dist/group/ToolbarGroup.js.map +1 -0
  72. package/dist/group/ToolbarGroupDataAttributes.cjs +23 -0
  73. package/dist/group/ToolbarGroupDataAttributes.cjs.map +1 -0
  74. package/dist/group/ToolbarGroupDataAttributes.js +17 -0
  75. package/dist/group/ToolbarGroupDataAttributes.js.map +1 -0
  76. package/dist/header/AccordionHeader.cjs +2 -2
  77. package/dist/header/AccordionHeader.js +1 -1
  78. package/dist/image/AvatarImage.cjs +4 -4
  79. package/dist/image/AvatarImage.cjs.map +1 -1
  80. package/dist/image/AvatarImage.js +1 -1
  81. package/dist/index.cjs +80 -10
  82. package/dist/index.d.cts +2751 -612
  83. package/dist/index.d.cts.map +1 -1
  84. package/dist/index.d.ts +2751 -612
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +15 -5
  87. package/dist/index2.cjs +3651 -370
  88. package/dist/index2.cjs.map +1 -1
  89. package/dist/index2.js +3365 -270
  90. package/dist/index2.js.map +1 -1
  91. package/package.json +8 -4
  92. package/src/accordion/root/AccordionRoot.vue +2 -1
  93. package/src/checkbox/index.ts +23 -0
  94. package/src/checkbox/indicator/CheckboxIndicator.vue +102 -0
  95. package/src/checkbox/indicator/CheckboxIndicatorDataAttributes.ts +61 -0
  96. package/src/checkbox/root/CheckboxRoot.vue +632 -0
  97. package/src/checkbox/root/CheckboxRootContext.ts +22 -0
  98. package/src/checkbox/root/CheckboxRootDataAttributes.ts +54 -0
  99. package/src/checkbox/utils/useStateAttributesMapping.ts +30 -0
  100. package/src/checkbox-group/CheckboxGroup.vue +241 -0
  101. package/src/checkbox-group/CheckboxGroupContext.ts +39 -0
  102. package/src/checkbox-group/CheckboxGroupDataAttributes.ts +6 -0
  103. package/src/checkbox-group/index.ts +11 -0
  104. package/src/checkbox-group/useCheckboxGroupParent.ts +173 -0
  105. package/src/collapsible/panel/useCollapsiblePanel.ts +2 -1
  106. package/src/collapsible/root/useCollapsibleRoot.ts +3 -1
  107. package/src/composite/composite.ts +2 -0
  108. package/src/composite/item/CompositeItem.vue +7 -8
  109. package/src/composite/root/CompositeRoot.vue +12 -1
  110. package/src/csp-provider/CSPContext.ts +26 -0
  111. package/src/csp-provider/CSPProvider.vue +40 -0
  112. package/src/csp-provider/index.ts +5 -0
  113. package/src/field/item/FieldItem.vue +6 -1
  114. package/src/field/label/FieldLabel.vue +10 -51
  115. package/src/field/root/FieldRoot.vue +16 -3
  116. package/src/floating-ui-vue/types.ts +1 -4
  117. package/src/floating-ui-vue/utils/element.ts +12 -0
  118. package/src/floating-ui-vue/utils/shadowDom.ts +44 -0
  119. package/src/floating-ui-vue/utils.ts +3 -0
  120. package/src/form/Form.vue +5 -3
  121. package/src/index.ts +9 -0
  122. package/src/labelable-provider/LabelableContext.ts +2 -2
  123. package/src/labelable-provider/LabelableProvider.vue +21 -4
  124. package/src/labelable-provider/index.ts +2 -0
  125. package/src/labelable-provider/useAriaLabelledBy.ts +9 -9
  126. package/src/labelable-provider/useLabel.ts +115 -0
  127. package/src/labelable-provider/useLabelableId.ts +12 -10
  128. package/src/separator/Separator.vue +65 -0
  129. package/src/separator/SeparatorDataAttributes.ts +7 -0
  130. package/src/separator/index.ts +3 -0
  131. package/src/slider/control/SliderControl.vue +497 -0
  132. package/src/slider/control/SliderControlDataAttributes.ts +35 -0
  133. package/src/slider/index.ts +35 -0
  134. package/src/slider/indicator/SliderIndicator.vue +144 -0
  135. package/src/slider/indicator/SliderIndicatorDataAttributes.ts +35 -0
  136. package/src/slider/label/SliderLabel.vue +75 -0
  137. package/src/slider/root/SliderRoot.vue +557 -0
  138. package/src/slider/root/SliderRootContext.ts +126 -0
  139. package/src/slider/root/SliderRootDataAttributes.ts +35 -0
  140. package/src/slider/root/stateAttributesMapping.ts +13 -0
  141. package/src/slider/thumb/SliderThumb.vue +601 -0
  142. package/src/slider/thumb/SliderThumbDataAttributes.ts +39 -0
  143. package/src/slider/thumb/prehydrationScript.min.ts +5 -0
  144. package/src/slider/thumb/prehydrationScript.template.js +69 -0
  145. package/src/slider/track/SliderTrack.vue +48 -0
  146. package/src/slider/track/SliderTrackDataAttributes.ts +10 -0
  147. package/src/slider/utils/asc.ts +3 -0
  148. package/src/slider/utils/getMidpoint.ts +9 -0
  149. package/src/slider/utils/getPushedThumbValues.ts +68 -0
  150. package/src/slider/utils/getSliderValue.ts +25 -0
  151. package/src/slider/utils/replaceArrayItemAtIndex.ts +15 -0
  152. package/src/slider/utils/resolveThumbCollision.ts +177 -0
  153. package/src/slider/utils/roundValueToStep.ts +19 -0
  154. package/src/slider/utils/test-utils.ts +25 -0
  155. package/src/slider/utils/validateMinimumDistance.ts +20 -0
  156. package/src/slider/utils/valueArrayToPercentages.ts +10 -0
  157. package/src/slider/value/SliderValue.vue +90 -0
  158. package/src/slider/value/SliderValueDataAttributes.ts +35 -0
  159. package/src/switch/index.ts +14 -0
  160. package/src/switch/root/SwitchRoot.vue +448 -0
  161. package/src/switch/root/SwitchRootContext.ts +22 -0
  162. package/src/switch/root/SwitchRootDataAttributes.ts +46 -0
  163. package/src/switch/stateAttributesMapping.ts +23 -0
  164. package/src/switch/thumb/SwitchThumb.vue +59 -0
  165. package/src/switch/thumb/SwitchThumbDataAttributes.ts +46 -0
  166. package/src/toggle/Toggle.vue +211 -0
  167. package/src/toggle/ToggleDataAttributes.ts +6 -0
  168. package/src/toggle/index.ts +3 -0
  169. package/src/toggle-group/ToggleGroup.vue +224 -0
  170. package/src/toggle-group/ToggleGroupContext.ts +45 -0
  171. package/src/toggle-group/ToggleGroupDataAttributes.ts +15 -0
  172. package/src/toggle-group/index.ts +5 -0
  173. package/src/toolbar/button/ToolbarButton.vue +99 -0
  174. package/src/toolbar/button/ToolbarButtonDataAttributes.ts +15 -0
  175. package/src/toolbar/group/ToolbarGroup.vue +70 -0
  176. package/src/toolbar/group/ToolbarGroupContext.ts +23 -0
  177. package/src/toolbar/group/ToolbarGroupDataAttributes.ts +11 -0
  178. package/src/toolbar/index.ts +27 -0
  179. package/src/toolbar/input/ToolbarInput.vue +114 -0
  180. package/src/toolbar/input/ToolbarInputDataAttributes.ts +15 -0
  181. package/src/toolbar/link/ToolbarLink.vue +54 -0
  182. package/src/toolbar/link/ToolbarLinkDataAttributes.ts +7 -0
  183. package/src/toolbar/root/ToolbarRoot.vue +144 -0
  184. package/src/toolbar/root/ToolbarRootContext.ts +29 -0
  185. package/src/toolbar/root/ToolbarRootDataAttributes.ts +11 -0
  186. package/src/toolbar/separator/ToolbarSeparator.vue +41 -0
  187. package/src/toolbar/separator/ToolbarSeparatorDataAttributes.ts +7 -0
  188. package/src/use-button/useButton.ts +2 -1
  189. package/src/utils/areArraysEqual.ts +12 -0
  190. package/src/utils/clamp.ts +7 -0
  191. package/src/utils/createBaseUIEventDetails.ts +9 -0
  192. package/src/utils/formatNumber.ts +7 -0
  193. package/src/utils/owner.ts +5 -0
  194. package/src/utils/resolveAriaLabelledBy.ts +10 -0
  195. package/src/utils/useControllableState.ts +78 -14
  196. package/src/utils/useFocusableWhenDisabled.ts +6 -1
  197. package/src/utils/useMergedRefs.ts +26 -2
  198. package/src/utils/useRegisteredLabelId.ts +21 -0
  199. package/src/utils/valueToPercent.ts +7 -0
  200. package/src/utils/visuallyHidden.ts +24 -0
  201. package/dist/direction-provider/DirectionContext.cjs +0 -26
  202. package/dist/direction-provider/DirectionContext.cjs.map +0 -1
  203. package/dist/direction-provider/DirectionContext.js +0 -15
  204. package/dist/direction-provider/DirectionContext.js.map +0 -1
@@ -0,0 +1,540 @@
1
+ import { EMPTY_ARRAY, EMPTY_OBJECT, NOOP, error, mergeProps as mergeProps$1, useRenderElement } from "../button/Button.js";
2
+ import { computed, createBlock, createCommentVNode, defineComponent, inject, mergeProps, openBlock, provide, ref, renderSlot, resolveDynamicComponent, shallowReadonly, shallowRef, unref, useAttrs, useId, watch, watchEffect, withCtx } from "vue";
3
+
4
+ //#region src/utils/useId.ts
5
+ let globalId = 0;
6
+ /**
7
+ * Generates a unique ID string, optionally prefixed.
8
+ * Uses Vue 3.5+ `useId()` when available, otherwise falls back to an
9
+ * incrementing counter (client-side only, not SSR-safe).
10
+ *
11
+ * @param idOverride - If provided, returned as-is.
12
+ * @param prefix - Optional prefix prepended to the generated id.
13
+ */
14
+ function useId$1(idOverride, prefix) {
15
+ if (idOverride != null) return idOverride;
16
+ if (typeof useId === "function") {
17
+ const reactId = useId();
18
+ return prefix ? `${prefix}-${reactId}` : reactId;
19
+ }
20
+ globalId += 1;
21
+ const id = String(globalId);
22
+ return prefix ? `${prefix}-${id}` : id;
23
+ }
24
+
25
+ //#endregion
26
+ //#region src/utils/useBaseUiId.ts
27
+ /**
28
+ * Wraps `useId` and prefixes generated IDs with `base-ui-`.
29
+ * @param idOverride - If provided, returned as-is.
30
+ */
31
+ function useBaseUiId(idOverride) {
32
+ return useId$1(idOverride, "base-ui");
33
+ }
34
+
35
+ //#endregion
36
+ //#region src/utils/useControllableState.ts
37
+ function resolveValue(value) {
38
+ return typeof value === "function" ? value() : value;
39
+ }
40
+ /**
41
+ * Manages controlled / uncontrolled state
42
+ * - When `controlled()` returns a non-`undefined` value the component is
43
+ * considered **controlled** and the internal state is ignored.
44
+ * - When `controlled()` returns `undefined` the component is **uncontrolled**
45
+ * and the internal ref drives the value.
46
+ */
47
+ function useControllableState(params) {
48
+ const stateName = params.state ?? "value";
49
+ const componentName = params.name ?? "component";
50
+ const controlledValue = computed(() => params.controlled());
51
+ const defaultValue = computed(() => resolveValue(params.default));
52
+ const isControlled = ref(controlledValue.value !== void 0);
53
+ const internalValue = ref(defaultValue.value);
54
+ const value = computed(() => {
55
+ return isControlled.value ? controlledValue.value : internalValue.value;
56
+ });
57
+ if (process.env.NODE_ENV !== "production") {
58
+ const initialDefaultValue = JSON.stringify(defaultValue.value);
59
+ watch(controlledValue, (nextControlledValue) => {
60
+ const nextIsControlled = nextControlledValue !== void 0;
61
+ if (isControlled.value !== nextIsControlled) error(`A component is changing the ${isControlled.value ? "" : "un"}controlled ${stateName} state of ${componentName} to be ${isControlled.value ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${componentName} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.");
62
+ });
63
+ watch(defaultValue, (nextDefaultValue) => {
64
+ if (!isControlled.value && JSON.stringify(nextDefaultValue) !== initialDefaultValue) error(`A component is changing the default ${stateName} state of an uncontrolled ${componentName} after being initialized.`, `To suppress this warning opt to use a controlled ${componentName}.`);
65
+ });
66
+ }
67
+ function setValue(next) {
68
+ if (isControlled.value) return;
69
+ internalValue.value = typeof next === "function" ? next(internalValue.value) : next;
70
+ }
71
+ return {
72
+ value,
73
+ setValue
74
+ };
75
+ }
76
+
77
+ //#endregion
78
+ //#region src/field/root/FieldRootDataAttributes.ts
79
+ let FieldRootDataAttributes = /* @__PURE__ */ function(FieldRootDataAttributes) {
80
+ /**
81
+ * Present when the field is disabled.
82
+ */
83
+ FieldRootDataAttributes["disabled"] = "data-disabled";
84
+ /**
85
+ * Present when the field has been touched.
86
+ */
87
+ FieldRootDataAttributes["touched"] = "data-touched";
88
+ /**
89
+ * Present when the field's value has changed.
90
+ */
91
+ FieldRootDataAttributes["dirty"] = "data-dirty";
92
+ /**
93
+ * Present when the field is in valid state.
94
+ */
95
+ FieldRootDataAttributes["valid"] = "data-valid";
96
+ /**
97
+ * Present when the field is in invalid state.
98
+ */
99
+ FieldRootDataAttributes["invalid"] = "data-invalid";
100
+ /**
101
+ * Present when the field is filled.
102
+ */
103
+ FieldRootDataAttributes["filled"] = "data-filled";
104
+ /**
105
+ * Present when the field control is focused.
106
+ */
107
+ FieldRootDataAttributes["focused"] = "data-focused";
108
+ return FieldRootDataAttributes;
109
+ }({});
110
+
111
+ //#endregion
112
+ //#region src/field/utils/constants.ts
113
+ const DEFAULT_VALIDITY_STATE = {
114
+ badInput: false,
115
+ customError: false,
116
+ patternMismatch: false,
117
+ rangeOverflow: false,
118
+ rangeUnderflow: false,
119
+ stepMismatch: false,
120
+ tooLong: false,
121
+ tooShort: false,
122
+ typeMismatch: false,
123
+ valid: null,
124
+ valueMissing: false
125
+ };
126
+ const DEFAULT_FIELD_STATE_ATTRIBUTES = {
127
+ valid: null,
128
+ touched: false,
129
+ dirty: false,
130
+ filled: false,
131
+ focused: false
132
+ };
133
+ const DEFAULT_FIELD_ROOT_STATE = {
134
+ disabled: false,
135
+ ...DEFAULT_FIELD_STATE_ATTRIBUTES
136
+ };
137
+ const fieldValidityMapping = { valid(value) {
138
+ if (value === null) return null;
139
+ if (value) return { [FieldRootDataAttributes.valid]: "" };
140
+ return { [FieldRootDataAttributes.invalid]: "" };
141
+ } };
142
+
143
+ //#endregion
144
+ //#region src/checkbox-group/CheckboxGroupContext.ts
145
+ const checkboxGroupContextKey = Symbol("CheckboxGroupContext");
146
+ function useCheckboxGroupContext(optional = false) {
147
+ const context = inject(checkboxGroupContextKey, void 0);
148
+ if (!context && !optional) throw new Error("Base UI Vue: CheckboxGroupContext is missing. CheckboxGroup parts must be placed within <CheckboxGroup>.");
149
+ return context;
150
+ }
151
+
152
+ //#endregion
153
+ //#region src/field/root/FieldRootContext.ts
154
+ function createDefaultContext() {
155
+ const defaultValidation = {
156
+ getValidationProps: () => ({}),
157
+ getInputValidationProps: () => ({}),
158
+ inputRef: shallowReadonly(shallowRef(null)),
159
+ setInputRef: () => {},
160
+ commit: async () => {}
161
+ };
162
+ return {
163
+ invalid: ref(void 0),
164
+ name: ref(void 0),
165
+ validityData: ref({
166
+ state: { ...DEFAULT_VALIDITY_STATE },
167
+ errors: [],
168
+ error: "",
169
+ value: "",
170
+ initialValue: null
171
+ }),
172
+ setValidityData: NOOP,
173
+ disabled: ref(false),
174
+ touched: ref(false),
175
+ setTouched: NOOP,
176
+ dirty: ref(false),
177
+ setDirty: NOOP,
178
+ filled: ref(false),
179
+ setFilled: NOOP,
180
+ focused: ref(false),
181
+ setFocused: NOOP,
182
+ validate: () => null,
183
+ validationMode: ref("onSubmit"),
184
+ validationDebounceTime: ref(0),
185
+ shouldValidateOnChange: () => false,
186
+ state: ref({ ...DEFAULT_FIELD_ROOT_STATE }),
187
+ markedDirtyRef: ref(false),
188
+ validation: defaultValidation
189
+ };
190
+ }
191
+ const fieldRootContextKey = Symbol("FieldRootContext");
192
+ let _defaultContext = null;
193
+ function useFieldRootContext(optional = true) {
194
+ const context = inject(fieldRootContextKey, void 0);
195
+ if (!context && !optional) throw new Error("Base UI Vue: FieldRootContext is missing. Field parts must be placed within <FieldRoot>.");
196
+ if (!context) {
197
+ if (!_defaultContext) _defaultContext = createDefaultContext();
198
+ return _defaultContext;
199
+ }
200
+ return context;
201
+ }
202
+
203
+ //#endregion
204
+ //#region src/form/FormContext.ts
205
+ const formContextKey = Symbol("FormContext");
206
+ const defaultContext$1 = {
207
+ errors: { value: EMPTY_OBJECT },
208
+ clearErrors: NOOP,
209
+ formRef: { value: { fields: /* @__PURE__ */ new Map() } },
210
+ validationMode: { value: "onSubmit" },
211
+ submitAttempted: { value: false }
212
+ };
213
+ function useFormContext() {
214
+ return inject(formContextKey, defaultContext$1);
215
+ }
216
+
217
+ //#endregion
218
+ //#region src/field/utils/getCombinedFieldValidityData.ts
219
+ /**
220
+ * Combines the field's client-side, stateful validity data with the external
221
+ * invalid state to determine the field's true validity.
222
+ */
223
+ function getCombinedFieldValidityData(validityData, invalid) {
224
+ return {
225
+ ...validityData,
226
+ state: {
227
+ ...validityData.state,
228
+ valid: !invalid && validityData.state.valid
229
+ }
230
+ };
231
+ }
232
+
233
+ //#endregion
234
+ //#region src/field/useField.ts
235
+ function useField(params) {
236
+ const { enabled, value, id, name, controlRef, commit } = params;
237
+ const { formRef } = useFormContext();
238
+ const { invalid, markedDirtyRef, validityData, setValidityData } = useFieldRootContext();
239
+ const getValue = params.getValue ?? (() => value.value);
240
+ watchEffect(() => {
241
+ if (enabled && !enabled.value) return;
242
+ let initialValue = value.value;
243
+ if (initialValue === void 0) initialValue = getValue();
244
+ if (validityData.value.initialValue === null && initialValue !== null) setValidityData({
245
+ ...validityData.value,
246
+ initialValue
247
+ });
248
+ });
249
+ watchEffect((onCleanup) => {
250
+ if (enabled && !enabled.value) return;
251
+ const currentId = id.value;
252
+ if (!currentId) return;
253
+ const fields = formRef.value.fields;
254
+ fields.set(currentId, {
255
+ getValue,
256
+ name: name?.value,
257
+ controlRef,
258
+ validityData: getCombinedFieldValidityData(validityData.value, invalid.value),
259
+ validate() {
260
+ let nextValue = value.value;
261
+ if (nextValue === void 0) nextValue = getValue();
262
+ markedDirtyRef.value = true;
263
+ commit(nextValue);
264
+ }
265
+ });
266
+ onCleanup(() => {
267
+ fields.delete(currentId);
268
+ });
269
+ });
270
+ }
271
+
272
+ //#endregion
273
+ //#region src/labelable-provider/LabelableContext.ts
274
+ const defaultContext = {
275
+ controlId: shallowReadonly(shallowRef(void 0)),
276
+ registerControlId: NOOP,
277
+ labelId: shallowReadonly(shallowRef(void 0)),
278
+ setLabelId: NOOP,
279
+ messageIds: shallowReadonly(shallowRef([])),
280
+ setMessageIds: NOOP,
281
+ getDescriptionProps: () => ({})
282
+ };
283
+ const labelableContextKey = Symbol("LabelableContext");
284
+ function useLabelableContext() {
285
+ return inject(labelableContextKey, defaultContext);
286
+ }
287
+
288
+ //#endregion
289
+ //#region src/checkbox-group/useCheckboxGroupParent.ts
290
+ function useCheckboxGroupParent(params) {
291
+ const { allValues, value, onValueChange } = params;
292
+ const resolvedAllValues = computed(() => allValues.value ?? []);
293
+ const uncontrolledStateRef = ref(value.value);
294
+ const disabledStatesRef = ref(/* @__PURE__ */ new Map());
295
+ const registeredControlIdsRef = ref(/* @__PURE__ */ new Map());
296
+ const status = ref("mixed");
297
+ const id = useBaseUiId();
298
+ const checked = computed(() => value.value.length === resolvedAllValues.value.length);
299
+ const indeterminate = computed(() => value.value.length !== resolvedAllValues.value.length && value.value.length > 0);
300
+ watch(() => value.value.slice(), (nextValue) => {
301
+ if (nextValue.length > 0 && nextValue.length < resolvedAllValues.value.length) uncontrolledStateRef.value = nextValue;
302
+ }, { flush: "sync" });
303
+ function getParentProps() {
304
+ return {
305
+ id,
306
+ "indeterminate": indeterminate.value,
307
+ "checked": checked.value,
308
+ "aria-controls": resolvedAllValues.value.map((item) => registeredControlIdsRef.value.get(item)).filter((item) => Boolean(item)).join(" "),
309
+ onCheckedChange(_nextChecked, eventDetails) {
310
+ const uncontrolledState = uncontrolledStateRef.value;
311
+ const none = resolvedAllValues.value.filter((item) => disabledStatesRef.value.get(item) && uncontrolledState.includes(item));
312
+ const all = resolvedAllValues.value.filter((item) => !disabledStatesRef.value.get(item) || disabledStatesRef.value.get(item) && uncontrolledState.includes(item));
313
+ if (uncontrolledState.length === all.length || uncontrolledState.length === 0) {
314
+ if (value.value.length === all.length) onValueChange(none, eventDetails);
315
+ else onValueChange(all, eventDetails);
316
+ return;
317
+ }
318
+ if (status.value === "mixed") {
319
+ onValueChange(all, eventDetails);
320
+ status.value = "on";
321
+ } else if (status.value === "on") {
322
+ onValueChange(none, eventDetails);
323
+ status.value = "off";
324
+ } else {
325
+ onValueChange(uncontrolledState, eventDetails);
326
+ status.value = "mixed";
327
+ }
328
+ }
329
+ };
330
+ }
331
+ function getChildProps(childValue) {
332
+ return {
333
+ checked: value.value.includes(childValue),
334
+ onCheckedChange(nextChecked, eventDetails) {
335
+ const newValue = value.value.slice();
336
+ if (nextChecked) {
337
+ if (!newValue.includes(childValue)) newValue.push(childValue);
338
+ } else {
339
+ const index = newValue.indexOf(childValue);
340
+ if (index !== -1) newValue.splice(index, 1);
341
+ }
342
+ uncontrolledStateRef.value = newValue;
343
+ onValueChange(newValue, eventDetails);
344
+ status.value = "mixed";
345
+ }
346
+ };
347
+ }
348
+ function registerChildControlId(value, id) {
349
+ const nextRegisteredControlIds = new Map(registeredControlIdsRef.value);
350
+ if (id === void 0) {
351
+ nextRegisteredControlIds.delete(value);
352
+ registeredControlIdsRef.value = nextRegisteredControlIds;
353
+ return;
354
+ }
355
+ nextRegisteredControlIds.set(value, id);
356
+ registeredControlIdsRef.value = nextRegisteredControlIds;
357
+ }
358
+ return {
359
+ id,
360
+ indeterminate,
361
+ disabledStatesRef,
362
+ registeredControlIdsRef,
363
+ getParentProps,
364
+ getChildProps,
365
+ registerChildControlId
366
+ };
367
+ }
368
+
369
+ //#endregion
370
+ //#region src/checkbox-group/CheckboxGroup.vue?vue&type=script&setup=true&lang.ts
371
+ /**
372
+ * Provides a shared state to a series of checkboxes.
373
+ *
374
+ * Documentation: [Base UI Vue Checkbox Group](https://baseui-vue.com/docs/components/checkbox-group)
375
+ */
376
+ var CheckboxGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
377
+ name: "CheckboxGroup",
378
+ inheritAttrs: false,
379
+ __name: "CheckboxGroup",
380
+ props: {
381
+ value: {
382
+ type: Array,
383
+ required: false
384
+ },
385
+ defaultValue: {
386
+ type: Array,
387
+ required: false,
388
+ default: () => []
389
+ },
390
+ allValues: {
391
+ type: Array,
392
+ required: false
393
+ },
394
+ disabled: {
395
+ type: Boolean,
396
+ required: false,
397
+ default: false
398
+ },
399
+ id: {
400
+ type: String,
401
+ required: false
402
+ },
403
+ as: {
404
+ type: null,
405
+ required: false,
406
+ default: "div"
407
+ },
408
+ class: {
409
+ type: Function,
410
+ required: false,
411
+ skipCheck: true
412
+ },
413
+ style: {
414
+ type: [
415
+ Boolean,
416
+ null,
417
+ String,
418
+ Object,
419
+ Array,
420
+ Function
421
+ ],
422
+ required: false,
423
+ skipCheck: true
424
+ }
425
+ },
426
+ emits: ["valueChange"],
427
+ setup(__props, { emit: __emit }) {
428
+ const props = __props;
429
+ const emit = __emit;
430
+ const attrsObject = useAttrs();
431
+ const { disabled: fieldDisabled, name: fieldName, state: fieldState, validation, setFilled, setDirty, shouldValidateOnChange, validityData } = useFieldRootContext();
432
+ const labelableContext = useLabelableContext();
433
+ const { labelId, getDescriptionProps } = labelableContext;
434
+ const { clearErrors } = useFormContext();
435
+ const controlSource = Symbol("checkbox-group-control");
436
+ const disabled = computed(() => fieldDisabled.value || props.disabled);
437
+ const { value, setValue: setValueUnwrapped } = useControllableState({
438
+ controlled: () => props.value,
439
+ default: () => props.defaultValue,
440
+ name: "CheckboxGroup"
441
+ });
442
+ const generatedId = useBaseUiId();
443
+ const defaultValue = computed(() => props.defaultValue ?? []);
444
+ const allValues = computed(() => props.allValues);
445
+ const id = computed(() => props.id ?? generatedId);
446
+ watchEffect((onCleanup) => {
447
+ labelableContext.registerControlId(controlSource, id.value);
448
+ onCleanup(() => {
449
+ labelableContext.registerControlId(controlSource, void 0);
450
+ });
451
+ });
452
+ function setValue(nextValue, eventDetails) {
453
+ emit("valueChange", nextValue, eventDetails);
454
+ if (eventDetails.isCanceled) return;
455
+ setValueUnwrapped(nextValue);
456
+ }
457
+ const parent = useCheckboxGroupParent({
458
+ allValues,
459
+ value,
460
+ onValueChange: setValue
461
+ });
462
+ const controlRef = ref(null);
463
+ function registerControlRef(element) {
464
+ if (controlRef.value == null && element != null && !element.hasAttribute("data-parent")) controlRef.value = element;
465
+ }
466
+ useField({
467
+ enabled: computed(() => Boolean(fieldName.value)),
468
+ id,
469
+ commit: (value) => validation.commit(value),
470
+ value,
471
+ controlRef,
472
+ name: fieldName,
473
+ getValue: () => value.value
474
+ });
475
+ watch(() => value.value.slice(), (nextValue) => {
476
+ if (fieldName.value) clearErrors(fieldName.value);
477
+ const initialValue = Array.isArray(validityData.value.initialValue) ? validityData.value.initialValue : EMPTY_ARRAY;
478
+ const normalizedNextValue = normalizeSelection(nextValue);
479
+ const normalizedInitialValue = normalizeSelection(initialValue);
480
+ setFilled(nextValue.length > 0);
481
+ setDirty(!areArraysEqual(normalizedNextValue, normalizedInitialValue));
482
+ if (shouldValidateOnChange()) validation.commit(nextValue);
483
+ else validation.commit(nextValue, true);
484
+ }, { flush: "sync" });
485
+ const state = computed(() => ({
486
+ ...fieldState.value,
487
+ disabled: disabled.value
488
+ }));
489
+ provide(checkboxGroupContextKey, {
490
+ value,
491
+ defaultValue,
492
+ allValues,
493
+ disabled,
494
+ validation,
495
+ parent,
496
+ setValue,
497
+ registerControlRef
498
+ });
499
+ const { tag, mergedProps, renderless, ref: renderRef } = useRenderElement({
500
+ componentProps: props,
501
+ state,
502
+ props: computed(() => mergeProps$1(attrsObject, getDescriptionProps(), {
503
+ "role": "group",
504
+ "aria-labelledby": labelId.value
505
+ })),
506
+ stateAttributesMapping: fieldValidityMapping,
507
+ defaultTagName: "div"
508
+ });
509
+ function areArraysEqual(a, b) {
510
+ if (a === b) return true;
511
+ if (a.length !== b.length) return false;
512
+ return a.every((item, index) => item === b[index]);
513
+ }
514
+ function normalizeSelection(values) {
515
+ return values.slice().sort();
516
+ }
517
+ return (_ctx, _cache) => {
518
+ return unref(renderless) ? renderSlot(_ctx.$slots, "default", {
519
+ key: 0,
520
+ ref: unref(renderRef),
521
+ props: unref(mergedProps),
522
+ state: state.value
523
+ }) : (openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({
524
+ key: 1,
525
+ ref: unref(renderRef)
526
+ }, unref(mergedProps)), {
527
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { state: state.value })]),
528
+ _: 3
529
+ }, 16));
530
+ };
531
+ }
532
+ });
533
+
534
+ //#endregion
535
+ //#region src/checkbox-group/CheckboxGroup.vue
536
+ var CheckboxGroup_default = CheckboxGroup_vue_vue_type_script_setup_true_lang_default;
537
+
538
+ //#endregion
539
+ export { CheckboxGroup_default, DEFAULT_VALIDITY_STATE, checkboxGroupContextKey, fieldRootContextKey, fieldValidityMapping, formContextKey, getCombinedFieldValidityData, labelableContextKey, useBaseUiId, useCheckboxGroupContext, useControllableState, useField, useFieldRootContext, useFormContext, useLabelableContext };
540
+ //# sourceMappingURL=CheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroup.js","names":["useId","vueUseId","useId","defaultContext"],"sources":["../../src/utils/useId.ts","../../src/utils/useBaseUiId.ts","../../src/utils/useControllableState.ts","../../src/field/root/FieldRootDataAttributes.ts","../../src/field/utils/constants.ts","../../src/checkbox-group/CheckboxGroupContext.ts","../../src/field/root/FieldRootContext.ts","../../src/form/FormContext.ts","../../src/field/utils/getCombinedFieldValidityData.ts","../../src/field/useField.ts","../../src/labelable-provider/LabelableContext.ts","../../src/checkbox-group/useCheckboxGroupParent.ts","../../src/checkbox-group/CheckboxGroup.vue","../../src/checkbox-group/CheckboxGroup.vue"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+
2
+ //#region src/checkbox-group/CheckboxGroupDataAttributes.ts
3
+ let CheckboxGroupDataAttributes = /* @__PURE__ */ function(CheckboxGroupDataAttributes) {
4
+ /**
5
+ * Present when the checkbox group is disabled.
6
+ */
7
+ CheckboxGroupDataAttributes["disabled"] = "data-disabled";
8
+ return CheckboxGroupDataAttributes;
9
+ }({});
10
+
11
+ //#endregion
12
+ Object.defineProperty(exports, 'CheckboxGroupDataAttributes', {
13
+ enumerable: true,
14
+ get: function () {
15
+ return CheckboxGroupDataAttributes;
16
+ }
17
+ });
18
+ //# sourceMappingURL=CheckboxGroupDataAttributes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupDataAttributes.cjs","names":[],"sources":["../../src/checkbox-group/CheckboxGroupDataAttributes.ts"],"sourcesContent":[],"mappings":";;AAAA,IAAY,oFAAL;;;;AAIL"}
@@ -0,0 +1,12 @@
1
+ //#region src/checkbox-group/CheckboxGroupDataAttributes.ts
2
+ let CheckboxGroupDataAttributes = /* @__PURE__ */ function(CheckboxGroupDataAttributes) {
3
+ /**
4
+ * Present when the checkbox group is disabled.
5
+ */
6
+ CheckboxGroupDataAttributes["disabled"] = "data-disabled";
7
+ return CheckboxGroupDataAttributes;
8
+ }({});
9
+
10
+ //#endregion
11
+ export { CheckboxGroupDataAttributes };
12
+ //# sourceMappingURL=CheckboxGroupDataAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupDataAttributes.js","names":[],"sources":["../../src/checkbox-group/CheckboxGroupDataAttributes.ts"],"sourcesContent":[],"mappings":";AAAA,IAAY,oFAAL;;;;AAIL"}