@sectile/vue 0.18.3 → 0.19.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 (283) hide show
  1. package/README.md +53 -14
  2. package/dist/accordion.js +1 -1
  3. package/dist/accordion.js.map +1 -1
  4. package/dist/carousel.d.ts +20 -0
  5. package/dist/carousel.js +1 -1
  6. package/dist/carousel.js.map +1 -1
  7. package/dist/cascade-list.js +1 -1
  8. package/dist/cascade-list.js.map +1 -1
  9. package/dist/cascade-select.js +1 -1
  10. package/dist/cascade-select.js.map +1 -1
  11. package/dist/chart.js +1 -1
  12. package/dist/chart.js.map +1 -1
  13. package/dist/checkbox-group.js +1 -1
  14. package/dist/checkbox-group.js.map +1 -1
  15. package/dist/checkbox-tree.d.ts +102 -0
  16. package/dist/checkbox-tree.js +2 -0
  17. package/dist/checkbox-tree.js.map +1 -0
  18. package/dist/checkbox.js +1 -1
  19. package/dist/checkbox.js.map +1 -1
  20. package/dist/color-picker.d.ts +24 -0
  21. package/dist/color-picker.js +1 -1
  22. package/dist/color-picker.js.map +1 -1
  23. package/dist/combobox.d.ts +47 -1
  24. package/dist/combobox.js +1 -1
  25. package/dist/combobox.js.map +1 -1
  26. package/dist/component-handle.d.ts +8 -0
  27. package/dist/component-handle.js +2 -0
  28. package/dist/component-handle.js.map +1 -0
  29. package/dist/context-menu.d.ts +1 -0
  30. package/dist/context-menu.js +2 -0
  31. package/dist/context-menu.js.map +1 -0
  32. package/dist/drag-drop.d.ts +23 -0
  33. package/dist/drag-drop.js +2 -0
  34. package/dist/drag-drop.js.map +1 -0
  35. package/dist/editable.d.ts +3 -0
  36. package/dist/editable.js +1 -1
  37. package/dist/editable.js.map +1 -1
  38. package/dist/form/context.d.ts +3 -0
  39. package/dist/form/context.js +1 -1
  40. package/dist/form/context.js.map +1 -1
  41. package/dist/form/contracts.d.ts +1 -0
  42. package/dist/form/control-inventory.d.ts +20 -0
  43. package/dist/form/control-inventory.js +1 -1
  44. package/dist/form/control-inventory.js.map +1 -1
  45. package/dist/form/control.d.ts +44 -1
  46. package/dist/form/control.js +1 -1
  47. package/dist/form/control.js.map +1 -1
  48. package/dist/form/field.d.ts +10 -0
  49. package/dist/form/field.js +1 -1
  50. package/dist/form/field.js.map +1 -1
  51. package/dist/form/file-input.d.ts +229 -0
  52. package/dist/form/file-input.js +2 -0
  53. package/dist/form/file-input.js.map +1 -0
  54. package/dist/form/file-upload/group.d.ts +28 -0
  55. package/dist/form/file-upload/group.js +2 -0
  56. package/dist/form/file-upload/group.js.map +1 -0
  57. package/dist/form/file-upload.d.ts +26 -0
  58. package/dist/form/file-upload.js +2 -0
  59. package/dist/form/file-upload.js.map +1 -0
  60. package/dist/form/root.js +1 -1
  61. package/dist/form/root.js.map +1 -1
  62. package/dist/form-boundary.d.ts +2 -0
  63. package/dist/form-boundary.js +2 -0
  64. package/dist/form-boundary.js.map +1 -0
  65. package/dist/fullscreen.d.ts +16 -0
  66. package/dist/fullscreen.js +2 -0
  67. package/dist/fullscreen.js.map +1 -0
  68. package/dist/host-provider.d.ts +99 -1
  69. package/dist/host-provider.js +1 -1
  70. package/dist/host-provider.js.map +1 -1
  71. package/dist/image.d.ts +24 -0
  72. package/dist/image.js +2 -0
  73. package/dist/image.js.map +1 -0
  74. package/dist/index.d.ts +6 -5
  75. package/dist/index.js +1 -1
  76. package/dist/index.js.map +1 -1
  77. package/dist/input/native-field.d.ts +25 -6
  78. package/dist/input/native-field.js +1 -1
  79. package/dist/input/native-field.js.map +1 -1
  80. package/dist/input/native-range-field.d.ts +16 -7
  81. package/dist/input/native-range-field.js +1 -1
  82. package/dist/input/native-range-field.js.map +1 -1
  83. package/dist/internal/cascade-choice.js +1 -1
  84. package/dist/internal/cascade-choice.js.map +1 -1
  85. package/dist/internal/connection-lifetime.d.ts +10 -0
  86. package/dist/internal/connection-lifetime.js +2 -0
  87. package/dist/internal/connection-lifetime.js.map +1 -0
  88. package/dist/internal/popup-presentation.d.ts +32 -0
  89. package/dist/internal/popup-presentation.js +2 -0
  90. package/dist/internal/popup-presentation.js.map +1 -0
  91. package/dist/internal/portal-move.d.ts +11 -0
  92. package/dist/internal/portal-move.js +2 -0
  93. package/dist/internal/portal-move.js.map +1 -0
  94. package/dist/internal/scheduled-task.js +1 -1
  95. package/dist/internal/scheduled-task.js.map +1 -1
  96. package/dist/internal/tabs-context.d.ts +11 -0
  97. package/dist/internal/tabs-context.js +1 -1
  98. package/dist/internal/tabs-context.js.map +1 -1
  99. package/dist/internal/tree-parts.d.ts +142 -0
  100. package/dist/internal/tree-parts.js +2 -0
  101. package/dist/internal/tree-parts.js.map +1 -0
  102. package/dist/listbox.d.ts +11 -0
  103. package/dist/listbox.js +1 -1
  104. package/dist/listbox.js.map +1 -1
  105. package/dist/media-gesture.d.ts +20 -0
  106. package/dist/media-gesture.js +2 -0
  107. package/dist/media-gesture.js.map +1 -0
  108. package/dist/menu.d.ts +239 -0
  109. package/dist/menu.js +1 -1
  110. package/dist/menu.js.map +1 -1
  111. package/dist/meter-group.js +1 -1
  112. package/dist/meter-group.js.map +1 -1
  113. package/dist/multi-thumb-slider.js +1 -1
  114. package/dist/multi-thumb-slider.js.map +1 -1
  115. package/dist/overlay/dialog.d.ts +1 -0
  116. package/dist/overlay/dialog.js.map +1 -1
  117. package/dist/overlay/drawer.d.ts +33 -4
  118. package/dist/overlay/drawer.js +1 -1
  119. package/dist/overlay/drawer.js.map +1 -1
  120. package/dist/overlay/popover.d.ts +2 -1
  121. package/dist/overlay/popover.js.map +1 -1
  122. package/dist/overlay/popup.d.ts +46 -2
  123. package/dist/overlay/popup.js +1 -1
  124. package/dist/overlay/popup.js.map +1 -1
  125. package/dist/overlay/tooltip.d.ts +37 -3
  126. package/dist/overlay/tooltip.js +1 -1
  127. package/dist/overlay/tooltip.js.map +1 -1
  128. package/dist/pagination.js +1 -1
  129. package/dist/pagination.js.map +1 -1
  130. package/dist/pin-input.js +1 -1
  131. package/dist/pin-input.js.map +1 -1
  132. package/dist/presence/presence.d.ts +1 -1
  133. package/dist/presence/presence.js +1 -1
  134. package/dist/presence/presence.js.map +1 -1
  135. package/dist/primitive.d.ts +37 -3
  136. package/dist/primitive.js +1 -1
  137. package/dist/primitive.js.map +1 -1
  138. package/dist/quantity-field.js +1 -1
  139. package/dist/quantity-field.js.map +1 -1
  140. package/dist/radio-group.js +1 -1
  141. package/dist/radio-group.js.map +1 -1
  142. package/dist/rating.js +1 -1
  143. package/dist/rating.js.map +1 -1
  144. package/dist/reorder.d.ts +156 -77
  145. package/dist/reorder.js +1 -1
  146. package/dist/reorder.js.map +1 -1
  147. package/dist/select.d.ts +21 -0
  148. package/dist/select.js +1 -1
  149. package/dist/select.js.map +1 -1
  150. package/dist/slider.js +1 -1
  151. package/dist/slider.js.map +1 -1
  152. package/dist/spin-button.d.ts +19 -0
  153. package/dist/spin-button.js +1 -1
  154. package/dist/spin-button.js.map +1 -1
  155. package/dist/stepper.js +1 -1
  156. package/dist/stepper.js.map +1 -1
  157. package/dist/switch.js +1 -1
  158. package/dist/switch.js.map +1 -1
  159. package/dist/tabs.d.ts +2 -0
  160. package/dist/tabs.js +1 -1
  161. package/dist/tabs.js.map +1 -1
  162. package/dist/tabular/components.d.ts +5 -0
  163. package/dist/tabular/components.js.map +1 -1
  164. package/dist/tabular/controller.d.ts +1 -0
  165. package/dist/tabular/controller.js +1 -1
  166. package/dist/tabular/controller.js.map +1 -1
  167. package/dist/tabular/data-grid.d.ts +4 -4
  168. package/dist/tabular/data-grid.js +1 -1
  169. package/dist/tabular/data-grid.js.map +1 -1
  170. package/dist/tabular/data-table.d.ts +4 -4
  171. package/dist/tabular/data-table.js +1 -1
  172. package/dist/tabular/data-table.js.map +1 -1
  173. package/dist/tabular/data-tree-grid.d.ts +4 -4
  174. package/dist/tabular/data-tree-grid.js +1 -1
  175. package/dist/tabular/data-tree-grid.js.map +1 -1
  176. package/dist/tabular/parts.d.ts +11 -1
  177. package/dist/tabular/parts.js +1 -1
  178. package/dist/tabular/parts.js.map +1 -1
  179. package/dist/tags-input.d.ts +12 -1
  180. package/dist/tags-input.js +1 -1
  181. package/dist/tags-input.js.map +1 -1
  182. package/dist/temporal/calendar.d.ts +15 -111
  183. package/dist/temporal/calendar.js +1 -1
  184. package/dist/temporal/calendar.js.map +1 -1
  185. package/dist/temporal/capabilities/date-picker.js +1 -1
  186. package/dist/temporal/capabilities/date-picker.js.map +1 -1
  187. package/dist/temporal/capabilities/date-time-picker.js +1 -1
  188. package/dist/temporal/capabilities/date-time-picker.js.map +1 -1
  189. package/dist/temporal/capabilities/date-time-range-picker.js +1 -1
  190. package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -1
  191. package/dist/temporal/capability.d.ts +13 -1
  192. package/dist/temporal/capability.js.map +1 -1
  193. package/dist/temporal/date-field.d.ts +1 -1
  194. package/dist/temporal/date-field.js +1 -1
  195. package/dist/temporal/date-field.js.map +1 -1
  196. package/dist/temporal/date-picker.d.ts +3 -1
  197. package/dist/temporal/date-picker.js.map +1 -1
  198. package/dist/temporal/date-range-field.d.ts +20 -0
  199. package/dist/temporal/date-range-field.js +1 -1
  200. package/dist/temporal/date-range-field.js.map +1 -1
  201. package/dist/temporal/date-range-picker.d.ts +3 -1
  202. package/dist/temporal/date-range-picker.js.map +1 -1
  203. package/dist/temporal/date-time-field.d.ts +4 -1
  204. package/dist/temporal/date-time-field.js +1 -1
  205. package/dist/temporal/date-time-field.js.map +1 -1
  206. package/dist/temporal/date-time-picker.d.ts +3 -1
  207. package/dist/temporal/date-time-picker.js +1 -1
  208. package/dist/temporal/date-time-picker.js.map +1 -1
  209. package/dist/temporal/date-time-range-field.d.ts +158 -0
  210. package/dist/temporal/date-time-range-field.js +2 -0
  211. package/dist/temporal/date-time-range-field.js.map +1 -0
  212. package/dist/temporal/date-time-range-picker.d.ts +3 -1
  213. package/dist/temporal/date-time-range-picker.js +1 -1
  214. package/dist/temporal/date-time-range-picker.js.map +1 -1
  215. package/dist/temporal/internal/time-presentation.d.ts +15 -0
  216. package/dist/temporal/internal/time-presentation.js +2 -0
  217. package/dist/temporal/internal/time-presentation.js.map +1 -0
  218. package/dist/temporal/month-picker.d.ts +3 -1
  219. package/dist/temporal/month-picker.js.map +1 -1
  220. package/dist/temporal/month-range-picker.d.ts +3 -1
  221. package/dist/temporal/month-range-picker.js.map +1 -1
  222. package/dist/temporal/picker.d.ts +23 -1
  223. package/dist/temporal/picker.js +1 -1
  224. package/dist/temporal/picker.js.map +1 -1
  225. package/dist/temporal/range-calendar.d.ts +119 -2
  226. package/dist/temporal/range-calendar.js +1 -1
  227. package/dist/temporal/range-calendar.js.map +1 -1
  228. package/dist/temporal/temporal-provider.d.ts +23 -0
  229. package/dist/temporal/temporal-provider.js +1 -1
  230. package/dist/temporal/temporal-provider.js.map +1 -1
  231. package/dist/temporal/time-field.d.ts +4 -1
  232. package/dist/temporal/time-field.js +1 -1
  233. package/dist/temporal/time-field.js.map +1 -1
  234. package/dist/temporal/time-picker.d.ts +112 -0
  235. package/dist/temporal/time-picker.js +2 -0
  236. package/dist/temporal/time-picker.js.map +1 -0
  237. package/dist/temporal/time-range-field.d.ts +32 -1
  238. package/dist/temporal/time-range-field.js +1 -1
  239. package/dist/temporal/time-range-field.js.map +1 -1
  240. package/dist/temporal/year-picker.d.ts +3 -1
  241. package/dist/temporal/year-picker.js.map +1 -1
  242. package/dist/temporal/year-range-picker.d.ts +3 -1
  243. package/dist/temporal/year-range-picker.js.map +1 -1
  244. package/dist/text.d.ts +43 -1
  245. package/dist/text.js +1 -1
  246. package/dist/text.js.map +1 -1
  247. package/dist/timer.d.ts +16 -5
  248. package/dist/timer.js +1 -1
  249. package/dist/timer.js.map +1 -1
  250. package/dist/toast.js +1 -1
  251. package/dist/toast.js.map +1 -1
  252. package/dist/toggle-group.js +1 -1
  253. package/dist/toggle-group.js.map +1 -1
  254. package/dist/toolbar.js +1 -1
  255. package/dist/toolbar.js.map +1 -1
  256. package/dist/transfer.d.ts +191 -0
  257. package/dist/transfer.js +2 -0
  258. package/dist/transfer.js.map +1 -0
  259. package/dist/tree-grid.d.ts +122 -0
  260. package/dist/tree-grid.js +1 -1
  261. package/dist/tree-grid.js.map +1 -1
  262. package/dist/tree-select.d.ts +186 -0
  263. package/dist/tree-select.js +2 -0
  264. package/dist/tree-select.js.map +1 -0
  265. package/dist/tree-view.js +1 -1
  266. package/dist/tree-view.js.map +1 -1
  267. package/dist/virtual/virtual-collection.d.ts +2 -0
  268. package/dist/virtual/virtual-collection.js.map +1 -1
  269. package/dist/virtual/virtual-grid.d.ts +12 -2
  270. package/dist/virtual/virtual-grid.js +1 -1
  271. package/dist/virtual/virtual-grid.js.map +1 -1
  272. package/dist/virtual/virtual-list.d.ts +12 -3
  273. package/dist/virtual/virtual-list.js +1 -1
  274. package/dist/virtual/virtual-list.js.map +1 -1
  275. package/dist/virtual/virtual-masonry.d.ts +12 -2
  276. package/dist/virtual/virtual-masonry.js +1 -1
  277. package/dist/virtual/virtual-masonry.js.map +1 -1
  278. package/dist/virtual/virtual-spatial.d.ts +12 -2
  279. package/dist/virtual/virtual-spatial.js +1 -1
  280. package/dist/virtual/virtual-spatial.js.map +1 -1
  281. package/dist/window-splitter.js +1 -1
  282. package/dist/window-splitter.js.map +1 -1
  283. package/package.json +86 -16
package/README.md CHANGED
@@ -1,20 +1,59 @@
1
1
  # @sectile/vue
2
2
 
3
- Headless Vue components backed by Sectile DOM semantics.
3
+ Headless Vue compound components backed by Sectile DOM semantics.
4
4
 
5
- ## Responsibility
5
+ ```sh
6
+ pnpm add @sectile/vue vue
7
+ ```
6
8
 
7
- - Expose controlled and uncontrolled state through Vue conventions
8
- - Render accessible compound components without aesthetic styles
9
- - Forward attributes and styling hooks to consumer-owned elements
10
- - Reuse `@sectile/dom` projections for ARIA and interaction behavior
11
- - Follow Vue and HTML naming at the public boundary instead of exposing core policies
9
+ Import focused entries such as `@sectile/vue/checkbox`. Components expose
10
+ `data-scope`, `data-part` and state attributes for application-owned styling.
11
+ Install the corresponding optional domain package for domain integrations.
12
12
 
13
- Components expose stable `data-scope`, `data-part`, and `data-state` attributes. Styling, themes, spacing, and animation remain application responsibilities.
13
+ Within a `FormField`, compose `SelectRoot` with `SelectTrigger`. `FormLabel`
14
+ targets the trigger button, and the hidden native select inherits the field's
15
+ submission name and constraints in the initial server HTML. Put `FormLabel`
16
+ before the trigger as usual; hydration preserves their generated IDs.
17
+ An explicit name, form association, or constraint on `SelectRoot` overrides
18
+ the field default. For an explicit trigger ID, supply the matching `for` on
19
+ `FormLabel`. A trigger rendered through `as` or `asChild` must resolve to a
20
+ native button, matching the Select connection's trigger contract.
14
21
 
15
- `@sectile/vue/virtual/core` provides the typed `useVirtualizer` composable and
16
- `VirtualizerRoot`, `VirtualizerHeader`, `VirtualizerSurface`, `VirtualizerItem`,
17
- and `VirtualizerFooter` headless parts. `VirtualizerItem` supports `asChild`, so
18
- existing collection items keep their semantic element while receiving virtual
19
- placement and measurement refs. Install `@sectile/virtual` separately when using
20
- this subpath; the rest of `@sectile/vue` does not require it.
22
+ Sectile composite controls declare their label semantics so `FormField` can
23
+ render group labels and inherited native submission metadata during SSR.
24
+ Labels can precede controls, including controls inside native wrappers and
25
+ fragments. `FormField` does not execute child component slots to inspect them.
26
+ For an opaque wrapper around a Sectile group control, use
27
+ `labelMode="labelledby"` on `FormField`; a native field can use `"for"`, and a
28
+ fieldset can use `"legend"`. External controls must also register their semantic
29
+ and submission targets through the Form hooks or supply their own native IDs,
30
+ names and labelling. Explicit label targets and control metadata retain their
31
+ precedence. Native event connections, validation, focus recovery, and
32
+ reset coordination start after mounting.
33
+
34
+ `Anchor` from `@sectile/vue/primitive` renders a native link or adopts one native
35
+ `<a>` with `asChild`. An enabled link requires a nonempty `href`. Disabled links
36
+ remove their destination and tab stop; activation guards run before adopted
37
+ navigation callbacks. Router custom slots supply the anchor, destination and
38
+ navigation callback. Routing remains application-owned. Ordinary `Primitive`
39
+ adoption keeps its existing child-first event order.
40
+
41
+ `useFullscreen` from `@sectile/vue/fullscreen` observes an HTML template ref and
42
+ exposes readonly shallow `snapshot` and `error` refs, plus `enter()`, `exit()` and
43
+ `refresh()`. Call `enter()` directly from an activating handler. Native capability
44
+ does not guarantee permission or activation; each operation returns its own result.
45
+ Observation pauses with the optional `active` ref, inherited host inactivity or
46
+ KeepAlive deactivation. Pausing or unmounting settles pending calls as disposed
47
+ and removes observation, without cancelling a native request or implicitly exiting
48
+ fullscreen. Before mount or while inactive, the snapshot is undefined.
49
+
50
+ `useMediaGesture` from `@sectile/vue/media-gesture` connects an HTML template ref
51
+ to native drag, pinch and optional wheel facts. Supply `onStart` admission and
52
+ `onMove`; optional `onEnd` and `onWheel` receive the native owner's notifications.
53
+ Stable `measure()` projects up to four client points with tuple types preserved;
54
+ `cancel()` ends the current contacts. Inactive measurement returns unavailable.
55
+ The readonly shallow `error` reports connection admission, not media state.
56
+ Observation follows the `active` ref, inherited host activity and KeepAlive.
57
+ Target/activity retirement reports an active gesture's disconnect; terminal
58
+ scope disposal is silent. Media state, zoom policy and presentation remain with
59
+ their owners.
package/dist/accordion.js CHANGED
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,provide,shallowRef,watch}from"vue";import{createAccordionController,getAccordionPanelAttributes,getAccordionRootAttributes,getAccordionTriggerAttributes,toAccordionEvent}from"@sectile/dom/accordion";import{Primitive}from"./primitive.js";import{useHostId}from"./host-provider.js";import{reconcileCollectionState,sameIDs}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const accordionRootContextKey=Symbol("SectileAccordionRoot");const accordionItemContextKey=Symbol("SectileAccordionItem");const accordionHeaderProps=accordionPartProps("h3");const accordionTriggerProps=accordionPartProps("button");const accordionContentProps={...accordionPartProps("div"),...conditionalPresenceProps};const AccordionRoot=defineComponent({name:"SectileAccordionRoot",inheritAttrs:false,props:{items:{type:Array,required:true},type:{type:String,default:"single"},modelValue:{type:[String,Array],default:void 0},defaultValue:{type:[String,Array],default:void 0},collapsible:{type:Boolean,default:true},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},disabledItems:{type:Array,default:()=>[]},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const controlled=useControlledStateInvariant("AccordionRoot","modelValue",()=>props.modelValue);const controller=shallowRef(createController(controlled,toIDs(controlled?props.modelValue:props.defaultValue,props.type),props,emit));const snapshot=shallowRef(controller.value.getSnapshot());const refresh=()=>{snapshot.value=controller.value.getSnapshot()};const rebuild=()=>{const requested=controlled?toIDs(props.modelValue,props.type):snapshot.value.state.openIDs;const reconciled=reconcileCollectionState(props.items,requested,snapshot.value.state.cursor.current,props.disabledItems,props.type);controller.value=createController(controlled,reconciled.selected,props,emit);refresh();if(controlled&&!sameIDs(requested,reconciled.selected)){emit("update:modelValue",fromIDs(reconciled.selected,props.type))}};watch(()=>props.modelValue,value=>{if(!controlled||value===void 0)return;const result=controller.value.syncControlledValues({value:toIDs(value,props.type)});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value});watch([()=>props.items,()=>props.type,()=>props.collapsible,()=>props.disabled,()=>props.readonly,()=>props.disabledItems],rebuild);const openIDs=computed(()=>snapshot.value.state.openIDs);const disabled=computed(()=>props.disabled);const readonly=computed(()=>props.readonly);const disabledItems=computed(()=>new Set(props.disabledItems));const slotProps=computed(()=>Object.freeze({value:fromIDs(openIDs.value,props.type),disabled:disabled.value,readonly:readonly.value}));const toggle=id=>{const result=controller.value.handleEvent({type:"toggle",id});if(result.ok)snapshot.value=result.snapshot};const handleKeydown=event=>{const semantic=toAccordionEvent(event);if(semantic===null||semantic==="toggle")return;event.preventDefault();const result=controller.value.handleEvent(semantic);if(!result.ok)return;snapshot.value=result.snapshot;queueMicrotask(()=>focusAccordionTrigger(event.currentTarget,result.snapshot.state.cursor.current))};provide(accordionRootContextKey,{openIDs,disabled,readonly,disabledItems,toggle,handleKeydown});const attributes=computed(()=>getAccordionRootAttributes({disabled:props.disabled,readOnly:props.readonly}));return()=>h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,onKeydown:handleKeydown}),{default:()=>slots["default"]?.(slotProps.value)})}});const AccordionItem=defineComponent({name:"SectileAccordionItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useAccordionRootContext("AccordionItem");const generatedID=useHostId();const triggerID=`sectile-accordion-trigger-${generatedID}`;const panelID=`sectile-accordion-panel-${generatedID}`;const slotProps=computed(()=>Object.freeze({value:props.value,open:root.openIDs.value.includes(props.value),disabled:root.disabled.value||props.disabled||root.disabledItems.value.has(props.value)}));provide(accordionItemContextKey,{value:props.value,triggerID,panelID,slotProps});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"accordion","data-part":"item","data-state":slotProps.value.open?"open":"closed","data-disabled":slotProps.value.disabled?"":void 0}),{default:()=>slots["default"]?.(slotProps.value)})}});const AccordionHeader=defineComponent({name:"SectileAccordionHeader",inheritAttrs:false,props:accordionHeaderProps,slots:Object,setup(props,{attrs,slots}){const item=useAccordionItemContext("AccordionHeader");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"accordion","data-part":"header","data-state":item.slotProps.value.open?"open":"closed"}),{default:()=>slots["default"]?.(item.slotProps.value)})}});const AccordionTrigger=defineComponent({name:"SectileAccordionTrigger",inheritAttrs:false,props:accordionTriggerProps,slots:Object,setup(props,{attrs,slots}){const root=useAccordionRootContext("AccordionTrigger");const item=useAccordionItemContext("AccordionTrigger");const attributes=computed(()=>getAccordionTriggerAttributes({has:id=>root.openIDs.value.includes(id)},{id:item.value,triggerID:item.triggerID,panelID:item.panelID,disabled:item.slotProps.value.disabled},{disabled:root.disabled.value,readOnly:root.readonly.value,native:props.as==="button"&&!props.asChild}));const handleClick=event=>{if(!event.defaultPrevented)root.toggle(item.value)};return()=>h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,onClick:handleClick}),{default:()=>slots["default"]?.(item.slotProps.value)})}});const AccordionContent=defineComponent({name:"SectileAccordionContent",inheritAttrs:false,props:accordionContentProps,slots:Object,setup(props,{attrs,slots}){const item=useAccordionItemContext("AccordionContent");const active=computed(()=>item.slotProps.value.open);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);const attributes=computed(()=>getAccordionPanelAttributes({has:id=>id===item.value&&item.slotProps.value.open},item.value,{panelID:item.panelID,triggerID:item.triggerID}));return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,elementRef:presence.register,hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{}}),{default:()=>slots["default"]?.(item.slotProps.value)})}}});function accordionPartProps(defaultAs){return{as:{type:[String,Object,Function],default:defaultAs},asChild:{type:Boolean,default:false}}}function useAccordionRootContext(part){const context=inject(accordionRootContextKey);if(context===void 0)throw new TypeError(`${part} must be used inside AccordionRoot.`);return context}function useAccordionItemContext(part){const context=inject(accordionItemContextKey);if(context===void 0)throw new TypeError(`${part} must be used inside AccordionItem.`);return context}function createController(controlled,value,props,emit){const result=createAccordionController({items:props.items,expansion:props.type??"single",collapsible:props.collapsible??true,disabledItems:props.disabledItems??[],disabled:props.disabled??false,readOnly:props.readonly??false,...controlled?{value}:{defaultValue:value},onValueChange:change=>emit("update:modelValue",fromIDs(change.value,props.type??"single"))});if(!result.ok)throw new TypeError(result.error.message);return result.value}function toIDs(value,type){if(value===void 0||value==="")return[];if(Array.isArray(value))return type==="single"?value.slice(0,1):value;return[value]}function fromIDs(value,type){return type==="single"?value[0]??"":value}function focusAccordionTrigger(root,id){if(id===null)return;for(const trigger of root.querySelectorAll("[data-accordion-id]")){if(trigger.dataset["accordionId"]===id)trigger.focus()}}export{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,provide,shallowRef,watch}from"vue";import{createAccordionController,getAccordionPanelAttributes,getAccordionRootAttributes,getAccordionTriggerAttributes,toAccordionEvent}from"@sectile/dom/accordion";import{stableIDToken}from"@sectile/dom/identity";import{Primitive}from"./primitive.js";import{useHostId}from"./host-provider.js";import{reconcileCollectionState,sameIDs}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{useNextTickTask}from"./internal/scheduled-task.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const accordionRootContextKey=Symbol("SectileAccordionRoot");const accordionItemContextKey=Symbol("SectileAccordionItem");const accordionHeaderProps=accordionPartProps("h3");const accordionTriggerProps=accordionPartProps("button");const accordionContentProps={...accordionPartProps("div"),...conditionalPresenceProps};const AccordionRoot=defineComponent({name:"SectileAccordionRoot",inheritAttrs:false,props:{items:{type:Array,required:true},type:{type:String,default:"single"},modelValue:{type:[String,Array],default:void 0},defaultValue:{type:[String,Array],default:void 0},collapsible:{type:Boolean,default:true},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},disabledItems:{type:Array,default:()=>[]},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const controlled=useControlledStateInvariant("AccordionRoot","modelValue",()=>props.modelValue);const controller=shallowRef(createController(controlled,toIDs(controlled?props.modelValue:props.defaultValue,props.type),props,emit));const snapshot=shallowRef(controller.value.getSnapshot());let alive=true;let rootElement=null,pendingFocusRoot=null;const setRootElement=value=>{rootElement=alive?value:null};const focusTask=useNextTickTask(()=>{const root=pendingFocusRoot;pendingFocusRoot=null;if(alive&&!props.disabled&&root?.isConnected)focusAccordionTrigger(root,controller.value.getSnapshot().state.cursor.current)});onBeforeUnmount(()=>{alive=false;rootElement=null;pendingFocusRoot=null;focusTask.cancel()});const refresh=()=>{snapshot.value=controller.value.getSnapshot()};const rebuild=()=>{const requested=controlled?toIDs(props.modelValue,props.type):snapshot.value.state.openIDs;const reconciled=reconcileCollectionState(props.items,requested,snapshot.value.state.cursor.current,props.disabledItems,props.type);controller.value=createController(controlled,reconciled.selected,props,emit);refresh();if(controlled&&!sameIDs(requested,reconciled.selected)){emit("update:modelValue",fromIDs(reconciled.selected,props.type))}};watch(()=>props.modelValue,value=>{if(!controlled||value===void 0)return;const result=controller.value.syncControlledValues({value:toIDs(value,props.type)});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value});watch([()=>props.items,()=>props.type,()=>props.collapsible,()=>props.disabled,()=>props.readonly,()=>props.disabledItems],rebuild);const openIDs=computed(()=>snapshot.value.state.openIDs);const disabled=computed(()=>props.disabled);const readonly=computed(()=>props.readonly);const disabledItems=computed(()=>new Set(props.disabledItems));const slotProps=computed(()=>Object.freeze({value:fromIDs(openIDs.value,props.type),disabled:disabled.value,readonly:readonly.value}));const toggle=id=>{if(!alive)return;const result=controller.value.handleEvent({type:"toggle",id});if(result.ok)snapshot.value=result.snapshot};const focus=id=>{if(!alive)return;const result=controller.value.handleEvent({type:"focus",id});if(result.ok)snapshot.value=result.snapshot};const handleKeydown=event=>{if(!alive||event.defaultPrevented)return;const semantic=toAccordionEvent(event);if(semantic===null||semantic==="toggle")return;event.preventDefault();const result=controller.value.handleEvent(semantic);if(!result.ok)return;snapshot.value=result.snapshot;pendingFocusRoot=rootElement;if(pendingFocusRoot)focusTask.schedule()};provide(accordionRootContextKey,{openIDs,disabled,readonly,disabledItems,toggle,focus,handleKeydown});const attributes=computed(()=>getAccordionRootAttributes({disabled:props.disabled,readOnly:props.readonly}));return()=>{const primitiveProps=mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,elementRef:setRootElement});if(attrs["aria-label"]===void 0)delete primitiveProps["aria-label"];else primitiveProps["aria-label"]=attrs["aria-label"];return h(Primitive,primitiveProps,{default:()=>slots["default"]?.(slotProps.value)})}}});const AccordionItem=defineComponent({name:"SectileAccordionItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useAccordionRootContext("AccordionItem");const generatedID=useHostId();const triggerID=`sectile-accordion-trigger-${generatedID}`;const panelID=`sectile-accordion-panel-${generatedID}`;const slotProps=computed(()=>Object.freeze({value:props.value,open:root.openIDs.value.includes(props.value),disabled:root.disabled.value||props.disabled||root.disabledItems.value.has(props.value)}));provide(accordionItemContextKey,{value:props.value,triggerID,panelID,slotProps});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"accordion","data-part":"item","data-state":slotProps.value.open?"open":"closed","data-disabled":slotProps.value.disabled?"":void 0}),{default:()=>slots["default"]?.(slotProps.value)})}});const AccordionHeader=defineComponent({name:"SectileAccordionHeader",inheritAttrs:false,props:accordionHeaderProps,slots:Object,setup(props,{attrs,slots}){const item=useAccordionItemContext("AccordionHeader");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"accordion","data-part":"header","data-state":item.slotProps.value.open?"open":"closed"}),{default:()=>slots["default"]?.(item.slotProps.value)})}});const AccordionTrigger=defineComponent({name:"SectileAccordionTrigger",inheritAttrs:false,props:accordionTriggerProps,slots:Object,setup(props,{attrs,slots}){const root=useAccordionRootContext("AccordionTrigger");const item=useAccordionItemContext("AccordionTrigger");const attributes=computed(()=>getAccordionTriggerAttributes({has:id=>root.openIDs.value.includes(id)},{id:item.value,triggerID:item.triggerID,panelID:item.panelID,disabled:item.slotProps.value.disabled},{disabled:root.disabled.value,readOnly:root.readonly.value,native:props.as==="button"&&!props.asChild}));const handleClick=event=>{if(!event.defaultPrevented)root.toggle(item.value)};const handleFocus=event=>{if(event.currentTarget?.matches(":focus"))root.focus(item.value)};return()=>{const primitiveProps=mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,onClick:handleClick,onFocus:handleFocus,onKeydown:root.handleKeydown});if(props.asChild&&primitiveProps["disabled"]===void 0)delete primitiveProps["disabled"];return h(Primitive,primitiveProps,{default:()=>slots["default"]?.(item.slotProps.value)})}}});const AccordionContent=defineComponent({name:"SectileAccordionContent",inheritAttrs:false,props:accordionContentProps,slots:Object,setup(props,{attrs,slots}){const item=useAccordionItemContext("AccordionContent");const active=computed(()=>item.slotProps.value.open);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);const attributes=computed(()=>getAccordionPanelAttributes({has:id=>id===item.value&&item.slotProps.value.open},item.value,{panelID:item.panelID,triggerID:item.triggerID}));return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild,elementRef:presence.register,hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{}}),{default:()=>slots["default"]?.(item.slotProps.value)})}}});function accordionPartProps(defaultAs){return{as:{type:[String,Object,Function],default:defaultAs},asChild:{type:Boolean,default:false}}}function useAccordionRootContext(part){const context=inject(accordionRootContextKey);if(context===void 0)throw new TypeError(`${part} must be used inside AccordionRoot.`);return context}function useAccordionItemContext(part){const context=inject(accordionItemContextKey);if(context===void 0)throw new TypeError(`${part} must be used inside AccordionItem.`);return context}function createController(controlled,value,props,emit){const result=createAccordionController({items:props.items,expansion:props.type??"single",collapsible:props.collapsible??true,disabledItems:props.disabledItems??[],disabled:props.disabled??false,readOnly:props.readonly??false,...controlled?{value}:{defaultValue:value},onValueChange:change=>emit("update:modelValue",fromIDs(change.value,props.type??"single"))});if(!result.ok)throw new TypeError(result.error.message);return result.value}function toIDs(value,type){if(value===void 0||value==="")return[];if(Array.isArray(value))return type==="single"?value.slice(0,1):value;return[value]}function fromIDs(value,type){return type==="single"?value[0]??"":value}function focusAccordionTrigger(root,id){if(id===null)return;const token=stableIDToken(id);for(const trigger of root.querySelectorAll("[data-accordion-id]")){if(trigger.dataset["accordionId"]===token)trigger.focus()}}export{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger};
2
2
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/accordion.ts"],"mappings":"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","names":[],"file":"accordion.js"}
1
+ {"version":3,"sources":["../src/accordion.ts"],"mappings":"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","names":[],"file":"accordion.js"}
@@ -13,6 +13,8 @@ export interface CarouselRootProps {
13
13
  readonly autoplay?: boolean | CarouselAutoplayOptions;
14
14
  readonly policies?: CarouselPolicies;
15
15
  readonly label?: string;
16
+ readonly indicatorGroupLabel?: string;
17
+ readonly getPauseLabel?: (paused: boolean) => string;
16
18
  readonly getSlideLabel?: (id: string, index: number, count: number) => string;
17
19
  readonly getIndicatorLabel?: (id: string, index: number, count: number) => string;
18
20
  readonly as?: PrimitiveAs;
@@ -87,6 +89,14 @@ export declare const CarouselRoot: import("vue").DefineComponent<import("vue").E
87
89
  type: PropType<CarouselIndicatorLabelResolver>;
88
90
  default: undefined;
89
91
  };
92
+ indicatorGroupLabel: {
93
+ type: StringConstructor;
94
+ default: undefined;
95
+ };
96
+ getPauseLabel: {
97
+ type: PropType<NonNullable<CarouselRootProps['getPauseLabel']>>;
98
+ default: undefined;
99
+ };
90
100
  as: {
91
101
  type: PropType<PrimitiveAs>;
92
102
  default: string;
@@ -148,6 +158,14 @@ export declare const CarouselRoot: import("vue").DefineComponent<import("vue").E
148
158
  type: PropType<CarouselIndicatorLabelResolver>;
149
159
  default: undefined;
150
160
  };
161
+ indicatorGroupLabel: {
162
+ type: StringConstructor;
163
+ default: undefined;
164
+ };
165
+ getPauseLabel: {
166
+ type: PropType<NonNullable<CarouselRootProps['getPauseLabel']>>;
167
+ default: undefined;
168
+ };
151
169
  as: {
152
170
  type: PropType<PrimitiveAs>;
153
171
  default: string;
@@ -172,6 +190,8 @@ export declare const CarouselRoot: import("vue").DefineComponent<import("vue").E
172
190
  label: string;
173
191
  getSlideLabel: (id: string, index: number, count: number) => string;
174
192
  getIndicatorLabel: (id: string, index: number, count: number) => string;
193
+ indicatorGroupLabel: string;
194
+ getPauseLabel: (paused: boolean) => string;
175
195
  as: PrimitiveAs;
176
196
  asChild: boolean;
177
197
  }, SlotsType<{
package/dist/carousel.js CHANGED
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCarousel}from"@sectile/dom/carousel";import{Primitive}from"./primitive.js";import{useHostDirection,useHostId}from"./host-provider.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const key=Symbol("SectileCarouselRoot");const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const CarouselRoot=defineComponent({name:"SectileCarouselRoot",inheritAttrs:false,props:{slides:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:void 0},paused:{type:Boolean,default:void 0},defaultPaused:{type:Boolean,default:false},disabled:{type:Boolean,default:false},orientation:{type:String,default:"horizontal"},autoplay:{type:[Boolean,Object],default:false},policies:{type:Object,default:void 0},label:{type:String,default:void 0},getSlideLabel:{type:Function,default:void 0},getIndicatorLabel:{type:Function,default:void 0},as:{type:[String,Object,Function],default:"section"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:paused":_value=>true,announce:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const generatedID=`sectile-carousel-${useHostId()}`;const direction=useHostDirection();const elements=new Map;const connection=shallowRef();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue??props.slides[0]??null);const localPaused=shallowRef(props.paused??props.defaultPaused);const controlled={value:useControlledStateInvariant("CarouselRoot","modelValue",()=>props.modelValue),paused:useControlledStateInvariant("CarouselRoot","paused",()=>props.paused)};const state=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;const foundIndex=value===null?-1:props.slides.indexOf(value);return Object.freeze({value,index:foundIndex<0?null:foundIndex,count:props.slides.length,paused:props.paused??localPaused.value,disabled:props.disabled})});const refreshParts=()=>{const root=elements.get("root");if(root===void 0||connection.value===void 0)return;root.querySelectorAll("[data-sectile-carousel-slide]").forEach(element=>{const id=element.dataset["sectileCarouselSlide"];if(id!==void 0)connection.value?.setSlideAttributes(element,id)});root.querySelectorAll("[data-sectile-carousel-indicator]").forEach(element=>{const id=element.dataset["sectileCarouselIndicator"];if(id!==void 0)connection.value?.setIndicatorAttributes(element,id)})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.cursor.current;localPaused.value=snapshot.paused;refreshParts()};const connect=()=>{connection.value?.disconnect();const root=elements.get("root");if(root===void 0)return;const requestedValue=controlled.value?props.modelValue:localValue.value;const reconciled=reconcileCollectionState(props.slides,requestedValue===null?[]:[requestedValue],requestedValue,[],"single",{preserveNullCurrent:true});const value=reconciled.current;localValue.value=value;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCarousel({root,slides:props.slides,manageVisibility:false,...controlled.value?{value}:{defaultValue:value},...controlled.paused?{paused:props.paused}:{defaultPaused:localPaused.value},disabled:props.disabled,orientation:props.orientation,direction:direction.value,autoplay:props.autoplay,...props.policies===void 0?{}:{policies:props.policies},...props.label===void 0?{}:{label:props.label},...props.getSlideLabel===void 0?{}:{getSlideLabel:props.getSlideLabel},...props.getIndicatorLabel===void 0?{}:{getIndicatorLabel:props.getIndicatorLabel},...elements.get("previous")===void 0?{}:{previousButton:elements.get("previous")},...elements.get("next")===void 0?{}:{nextButton:elements.get("next")},...elements.get("pause")===void 0?{}:{pauseButton:elements.get("pause")},...elements.get("indicators")===void 0?{}:{indicatorGroup:elements.get("indicators")},onValueChange:value2=>{localValue.value=value2;emit("update:modelValue",value2)},onPausedChange:value2=>{localPaused.value=value2;emit("update:paused",value2)},onAnnounce:value2=>emit("announce",value2),onUpdate:refresh});refreshParts();refresh()};provide(key,{state,register:(part2,element)=>{if(element===void 0)elements.delete(part2);else elements.set(part2,element)},registerSlide:(element,id)=>connection.value?.setSlideAttributes(element,id),registerIndicator:(element,id)=>connection.value?.setIndicatorAttributes(element,id)});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.slides,()=>props.disabled,()=>props.orientation,()=>props.autoplay,()=>props.policies,()=>props.label,()=>props.getSlideLabel,()=>props.getIndicatorLabel,direction],connect);watch([()=>props.modelValue,()=>props.paused],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.paused?{paused:props.paused}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)elements.set("root",node)},id:typeof attrs["id"]==="string"?attrs["id"]:generatedID,dir:direction.value,"data-scope":"carousel","data-part":"root","data-orientation":props.orientation}),{default:()=>slots["default"]?.(state.value)})}});const CarouselViewport=part("SectileCarouselViewport","viewport","div");const CarouselTrack=part("SectileCarouselTrack","track","div");const CarouselIndicatorGroup=registeredPart("SectileCarouselIndicatorGroup","indicators","indicator-group","div");const CarouselPrevious=registeredPart("SectileCarouselPrevious","previous","previous","button");const CarouselNext=registeredPart("SectileCarouselNext","next","next","button");const CarouselPause=registeredPart("SectileCarouselPause","pause","pause","button");const CarouselSlide=defineComponent({name:"SectileCarouselSlide",inheritAttrs:false,props:{value:{type:String,required:true},...partProps,...conditionalPresenceProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CarouselSlide");const state=computed(()=>({...root.state.value,value:props.value,active:root.state.value.value===props.value}));const active=computed(()=>state.value.active);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{const element=presence.register(node);if(element!==void 0)root.registerSlide(element,props.value)},hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{},"data-sectile-carousel-slide":props.value,"data-scope":"carousel","data-part":"slide","data-state":active.value?"active":"inactive"}),{default:()=>slots["default"]?.(state.value)})}}});const CarouselIndicator=defineComponent({name:"SectileCarouselIndicator",inheritAttrs:false,props:{value:{type:String,required:true},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CarouselIndicator");const state=computed(()=>({...root.state.value,value:props.value,active:root.state.value.value===props.value}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerIndicator(node,props.value)},"data-sectile-carousel-indicator":props.value,"data-scope":"carousel","data-part":"indicator","data-state":state.value.active?"active":"inactive"}),{default:()=>slots["default"]?.(state.value)})}});function part(name,dataPart,defaultAs){return defineComponent({name,inheritAttrs:false,props:{...partProps,as:{...partProps.as,default:defaultAs}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"carousel","data-part":dataPart}),{default:()=>slots["default"]?.(root.state.value)})}})}function registeredPart(name,registration,dataPart,defaultAs){return defineComponent({name,inheritAttrs:false,props:{...partProps,as:{...partProps.as,default:defaultAs}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:props.as==="button"?root.state.value.disabled:void 0,elementRef:node=>root.register(registration,node instanceof HTMLElement?node:void 0),"data-scope":"carousel","data-part":dataPart}),{default:()=>slots["default"]?.(root.state.value)})}})}function useRoot(partName){const root=inject(key);if(root===void 0)throw new TypeError(`${partName} must be used inside CarouselRoot.`);return root}export{CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCarousel}from"@sectile/dom/carousel";import{Primitive}from"./primitive.js";import{useHostDirection,useHostId}from"./host-provider.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{conditionalPresenceProps,useConditionalPresence}from"./presence/conditional-presence.js";const key=Symbol("SectileCarouselRoot");const partProps={as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}};const CarouselRoot=defineComponent({name:"SectileCarouselRoot",inheritAttrs:false,props:{slides:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:void 0},paused:{type:Boolean,default:void 0},defaultPaused:{type:Boolean,default:false},disabled:{type:Boolean,default:false},orientation:{type:String,default:"horizontal"},autoplay:{type:[Boolean,Object],default:false},policies:{type:Object,default:void 0},label:{type:String,default:void 0},getSlideLabel:{type:Function,default:void 0},getIndicatorLabel:{type:Function,default:void 0},indicatorGroupLabel:{type:String,default:void 0},getPauseLabel:{type:Function,default:void 0},as:{type:[String,Object,Function],default:"section"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:paused":_value=>true,announce:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const generatedID=`sectile-carousel-${useHostId()}`;const direction=useHostDirection();const elements=new Map;const connection=shallowRef();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue??props.slides[0]??null);const localPaused=shallowRef(props.paused??props.defaultPaused);const controlled={value:useControlledStateInvariant("CarouselRoot","modelValue",()=>props.modelValue),paused:useControlledStateInvariant("CarouselRoot","paused",()=>props.paused)};const state=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;const foundIndex=value===null?-1:props.slides.indexOf(value);return Object.freeze({value,index:foundIndex<0?null:foundIndex,count:props.slides.length,paused:props.paused??localPaused.value,disabled:props.disabled})});const refreshParts=()=>{const root=elements.get("root");if(root===void 0||connection.value===void 0)return;root.querySelectorAll("[data-sectile-carousel-slide]").forEach(element=>{const id=element.dataset["sectileCarouselSlide"];if(id!==void 0)connection.value?.setSlideAttributes(element,id)});root.querySelectorAll("[data-sectile-carousel-indicator]").forEach(element=>{const id=element.dataset["sectileCarouselIndicator"];if(id!==void 0)connection.value?.setIndicatorAttributes(element,id)})};const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.cursor.current;localPaused.value=snapshot.paused;refreshParts()};const connect=()=>{connection.value?.disconnect();const root=elements.get("root");if(root===void 0)return;const requestedValue=controlled.value?props.modelValue:localValue.value;const reconciled=reconcileCollectionState(props.slides,requestedValue===null?[]:[requestedValue],requestedValue,[],"single",{preserveNullCurrent:true});const value=reconciled.current;localValue.value=value;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCarousel({root,slides:props.slides,manageVisibility:false,...controlled.value?{value}:{defaultValue:value},...controlled.paused?{paused:props.paused}:{defaultPaused:localPaused.value},disabled:props.disabled,orientation:props.orientation,direction:direction.value,autoplay:props.autoplay,...props.policies===void 0?{}:{policies:props.policies},...props.label===void 0?{}:{label:props.label},...props.getSlideLabel===void 0?{}:{getSlideLabel:props.getSlideLabel},...props.getIndicatorLabel===void 0?{}:{getIndicatorLabel:props.getIndicatorLabel},...props.indicatorGroupLabel===void 0?{}:{indicatorGroupLabel:props.indicatorGroupLabel},...props.getPauseLabel===void 0?{}:{getPauseLabel:props.getPauseLabel},...elements.get("previous")===void 0?{}:{previousButton:elements.get("previous")},...elements.get("next")===void 0?{}:{nextButton:elements.get("next")},...elements.get("pause")===void 0?{}:{pauseButton:elements.get("pause")},...elements.get("indicators")===void 0?{}:{indicatorGroup:elements.get("indicators")},onValueChange:value2=>{localValue.value=value2;emit("update:modelValue",value2)},onPausedChange:value2=>{localPaused.value=value2;emit("update:paused",value2)},onAnnounce:value2=>emit("announce",value2),onUpdate:refresh});refreshParts();refresh()};provide(key,{state,register:(part2,element)=>{if(element===void 0)elements.delete(part2);else elements.set(part2,element)},registerSlide:(element,id)=>connection.value?.setSlideAttributes(element,id),registerIndicator:(element,id)=>connection.value?.setIndicatorAttributes(element,id)});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.slides,()=>props.disabled,()=>props.orientation,()=>props.autoplay,()=>props.policies,()=>props.label,()=>props.getSlideLabel,()=>props.getIndicatorLabel,()=>props.indicatorGroupLabel,()=>props.getPauseLabel,direction],connect);watch([()=>props.modelValue,()=>props.paused],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.paused?{paused:props.paused}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)elements.set("root",node)},id:typeof attrs["id"]==="string"?attrs["id"]:generatedID,dir:direction.value,"data-scope":"carousel","data-part":"root","data-orientation":props.orientation}),{default:()=>slots["default"]?.(state.value)})}});const CarouselViewport=part("SectileCarouselViewport","viewport","div");const CarouselTrack=part("SectileCarouselTrack","track","div");const CarouselIndicatorGroup=registeredPart("SectileCarouselIndicatorGroup","indicators","indicator-group","div");const CarouselPrevious=registeredPart("SectileCarouselPrevious","previous","previous","button");const CarouselNext=registeredPart("SectileCarouselNext","next","next","button");const CarouselPause=registeredPart("SectileCarouselPause","pause","pause","button");const CarouselSlide=defineComponent({name:"SectileCarouselSlide",inheritAttrs:false,props:{value:{type:String,required:true},...partProps,...conditionalPresenceProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CarouselSlide");const state=computed(()=>({...root.state.value,value:props.value,active:root.state.value.value===props.value}));const active=computed(()=>state.value.active);const forcePresent=computed(()=>props.forcePresent);const presence=useConditionalPresence(active,forcePresent);return()=>{const inactivePresent=!active.value&&presence.present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{const element=presence.register(node);if(element!==void 0)root.registerSlide(element,props.value)},hidden:presence.hidden.value,...inactivePresent?{inert:true,"aria-hidden":"true"}:{},"data-sectile-carousel-slide":props.value,"data-scope":"carousel","data-part":"slide","data-state":active.value?"active":"inactive"}),{default:()=>slots["default"]?.(state.value)})}}});const CarouselIndicator=defineComponent({name:"SectileCarouselIndicator",inheritAttrs:false,props:{value:{type:String,required:true},as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CarouselIndicator");const state=computed(()=>({...root.state.value,value:props.value,active:root.state.value.value===props.value}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,elementRef:node=>{if(node instanceof HTMLElement)root.registerIndicator(node,props.value)},"data-sectile-carousel-indicator":props.value,"data-scope":"carousel","data-part":"indicator","data-state":state.value.active?"active":"inactive"}),{default:()=>slots["default"]?.(state.value)})}});function part(name,dataPart,defaultAs){return defineComponent({name,inheritAttrs:false,props:{...partProps,as:{...partProps.as,default:defaultAs}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"carousel","data-part":dataPart}),{default:()=>slots["default"]?.(root.state.value)})}})}function registeredPart(name,registration,dataPart,defaultAs){return defineComponent({name,inheritAttrs:false,props:{...partProps,as:{...partProps.as,default:defaultAs}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==="button"?"button":void 0,disabled:props.as==="button"?root.state.value.disabled:void 0,elementRef:node=>root.register(registration,node instanceof HTMLElement?node:void 0),"data-scope":"carousel","data-part":dataPart}),{default:()=>slots["default"]?.(root.state.value)})}})}function useRoot(partName){const root=inject(key);if(root===void 0)throw new TypeError(`${partName} must be used inside CarouselRoot.`);return root}export{CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport};
2
2
  //# sourceMappingURL=carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/carousel.ts"],"mappings":"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","names":["value","part"],"file":"carousel.js"}
1
+ {"version":3,"sources":["../src/carousel.ts"],"mappings":"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","names":["value","part"],"file":"carousel.js"}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCascadeList}from"@sectile/dom/cascade-list";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{useConditionalPresenceRegistry}from"./presence/conditional-presence.js";import{cascadeBranchItems,cascadeChoicePartProps,cascadeItemPath,createCascadeChoiceParts,initialCascadeColumns}from"./internal/cascade-choice.js";const rootKey=Symbol("SectileCascadeListRoot");const itemKey=Symbol("SectileCascadeListItem");const partProps=cascadeChoicePartProps;const CascadeListRoot=defineComponent({name:"SectileCascadeListRoot",inheritAttrs:false,props:{nodes:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},textValue:{type:Function,default:void 0},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const root=shallowRef(null);const submission=shallowRef(null);const connection=shallowRef();const participation=useCompositeFormControl({root,focusTarget:root,submissions:[{element:submission,capabilities:hiddenSelectSubmissionCapabilities}]});provideFormControlOwner();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const initialValuePath=cascadeItemPath(props.nodes,localValue.value);const initialBranchPath=initialValuePath.slice(0,-1);const highlighted=shallowRef(localValue.value??firstAvailableRoot(props.nodes,props.disabledItems));const path=shallowRef(initialBranchPath);const columns=shallowRef(initialCascadeColumns(props.nodes,initialBranchPath));const valuePath=shallowRef(initialValuePath);const valueControlled=useControlledStateInvariant("CascadeListRoot","modelValue",()=>props.modelValue);const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,valuePath:valuePath.value,highlightedValue:highlighted.value,path:path.value,columns:columns.value,disabled:props.disabled,readonly:props.readonly}));const selectedIDSet=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;return value===null?new Set:new Set([value])});const indicatorPresence=useConditionalPresenceRegistry(selectedIDSet);const refreshItems=()=>{if(root.value===null||connection.value===void 0)return;root.value.querySelectorAll("[data-sectile-cascade-list-id]").forEach(element=>{const id=element.dataset["sectileCascadeListId"];if(id!==void 0)connection.value?.setItemAttributes(element,id,props.disabledItems.includes(id))})};const refresh=()=>{const current=connection.value?.getSnapshot().state;if(current===void 0)return;localValue.value=current.value;highlighted.value=current.highlighted;path.value=current.path;columns.value=connection.value?.getColumns()??[];valuePath.value=connection.value?.getValuePath()??[];refreshItems()};const connect=()=>{connection.value?.disconnect();if(root.value===null)return;const branches2=cascadeBranchItems(props.nodes);const leaves=new Set(props.nodes.filter(node=>!branches2.has(node.id)).map(node=>node.id));const requestedValue=valueControlled?props.modelValue:localValue.value;const value=requestedValue!==null&&leaves.has(requestedValue)?requestedValue:null;const ids=new Set(props.nodes.map(node=>node.id));const requestedHighlight=highlighted.value;const defaultHighlightedValue=requestedHighlight!==null&&ids.has(requestedHighlight)&&!props.disabledItems.includes(requestedHighlight)?requestedHighlight:value??firstAvailableRoot(props.nodes,props.disabledItems);localValue.value=value;if(valueControlled&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCascadeList({root:root.value,nodes:props.nodes,disabledItems:props.disabledItems,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value}:{defaultValue:value},defaultHighlightedValue,disabled:props.disabled,readOnly:props.readonly,...props.label===void 0?{}:{label:props.label},onValueChange:next=>{localValue.value=next;emit("update:modelValue",next)},onHighlightedValueChange:next=>{highlighted.value=next;emit("highlight",next)},onUpdate:refresh});refresh()};const branches=computed(()=>cascadeBranchItems(props.nodes));provide(rootKey,{state,label:computed(()=>props.label),textValue:computed(()=>props.textValue??(id=>id)),disabledItems:computed(()=>new Set(props.disabledItems)),branchItems:branches,indicatorPresence,registerColumn:(element,depth,label)=>connection.value?.setColumnAttributes(element,depth===0?null:state.value.path[depth-1]??null,label),registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,id,disabled)});onMounted(connect);onBeforeUnmount(()=>connection.value?.disconnect());watch([()=>props.nodes,()=>props.disabledItems,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.policies],connect);watch(()=>props.modelValue,()=>{if(connection.value===void 0||!valueControlled)return;const result=connection.value.syncControlledValues({value:props.modelValue});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{root.value=node instanceof HTMLElement?node:null},role:"group",tabindex:-1,"aria-label":props.label,"aria-disabled":props.disabled?"true":void 0,"aria-readonly":props.readonly?"true":void 0,"data-scope":"cascade-list","data-part":"root","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return visual;return[visual,h("select",{ref:element=>{submission.value=element instanceof HTMLSelectElement?element:null},name:props.name,form:props.form,required:props.required,disabled:props.disabled,value:state.value.value??"",tabindex:-1,"aria-hidden":"true",style:visuallyHiddenInputStyle},[h("option",{value:"",selected:state.value.value===null}),...props.nodes.filter(node=>!branches.value.has(node.id)).map(node=>h("option",{value:node.id,selected:state.value.value===node.id,disabled:props.disabledItems.includes(node.id)},props.textValue?.(node.id)??node.id))])]}}});const CascadeListValue=defineComponent({name:"SectileCascadeListValue",inheritAttrs:false,props:{placeholder:{type:String,default:""},separator:{type:String,default:" / "},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeListValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"cascade-list","data-part":"value","data-placeholder":root.state.value.value===null?"":void 0}),{default:()=>slots["default"]?.(root.state.value)??(root.state.value.value===null?props.placeholder:root.state.value.valuePath.map(root.textValue.value).join(props.separator))})}});const cascadeListParts=createCascadeChoiceParts({scope:"cascade-list",componentName:"CascadeList",itemAttribute:"data-sectile-cascade-list-id",rootKey,itemKey});const CascadeListColumn=cascadeListParts.Column;const CascadeListItem=cascadeListParts.Item;const CascadeListItemIndicator=cascadeListParts.ItemIndicator;const CascadeListItemChevron=cascadeListParts.ItemChevron;function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside CascadeListRoot.`);return root}function firstAvailableRoot(nodes,disabledItems){const disabled=new Set(disabledItems);return nodes.find(node=>node.parentID===null&&!disabled.has(node.id))?.id??null}export{CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCascadeList}from"@sectile/dom/cascade-list";import{Primitive}from"./primitive.js";import{useHostDirection}from"./host-provider.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl,useFormSubmissionProps,useFormControlFlags}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{useConditionalPresenceRegistry}from"./presence/conditional-presence.js";import{cascadeBranchItems,cascadeChoicePartProps,cascadeItemPath,createCascadeChoiceParts,initialCascadeColumns}from"./internal/cascade-choice.js";const rootKey=Symbol("SectileCascadeListRoot");const itemKey=Symbol("SectileCascadeListItem");const partProps=cascadeChoicePartProps;const CascadeListRoot=defineComponent({__sectileFormLabelMode:"labelledby",name:"SectileCascadeListRoot",inheritAttrs:false,props:{nodes:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},textValue:{type:Function,default:void 0},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const flags=useFormControlFlags(props);const direction=useHostDirection();const root=shallowRef(null);const submission=shallowRef(null);const connection=shallowRef();const initialValue=props.modelValue!==void 0?props.modelValue:props.defaultValue;let mounted=false;const submissionProps=useFormSubmissionProps({element:submission,capabilities:hiddenSelectSubmissionCapabilities},props);const participation=useCompositeFormControl({root,focusTarget:root,submissions:[{element:submission,capabilities:hiddenSelectSubmissionCapabilities}],reset:()=>{queueMicrotask(()=>{if(!mounted)return;localValue.value=valueControlled?props.modelValue:initialValue;highlighted.value=null;connect();if(submission.value!==null)submission.value.value=state.value.value??""})}});provideFormControlOwner();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const initialValuePath=cascadeItemPath(props.nodes,localValue.value);const initialBranchPath=initialValuePath.slice(0,-1);const highlighted=shallowRef(localValue.value??firstAvailableRoot(props.nodes,props.disabledItems));const path=shallowRef(initialBranchPath);const columns=shallowRef(initialCascadeColumns(props.nodes,initialBranchPath));const valuePath=shallowRef(initialValuePath);const valueControlled=useControlledStateInvariant("CascadeListRoot","modelValue",()=>props.modelValue);const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,valuePath:valuePath.value,highlightedValue:highlighted.value,path:path.value,columns:columns.value,disabled:flags.value.disabled,readonly:flags.value.readonly}));const selectedIDSet=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;return value===null?new Set:new Set([value])});const indicatorPresence=useConditionalPresenceRegistry(selectedIDSet);const refreshItems=()=>{if(root.value===null||connection.value===void 0)return;root.value.querySelectorAll("[data-sectile-cascade-list-id]").forEach(element=>{const id=element.dataset["sectileCascadeListId"];if(id!==void 0)connection.value?.setItemAttributes(element,id,props.disabledItems.includes(id))})};const refresh=()=>{const current=connection.value?.getSnapshot().state;if(current===void 0)return;localValue.value=current.value;highlighted.value=current.highlighted;path.value=current.path;columns.value=connection.value?.getColumns()??[];valuePath.value=connection.value?.getValuePath()??[];refreshItems()};const connect=()=>{connection.value?.disconnect();if(root.value===null)return;const branches2=cascadeBranchItems(props.nodes);const leaves=new Set(props.nodes.filter(node=>!branches2.has(node.id)).map(node=>node.id));const requestedValue=valueControlled?props.modelValue:localValue.value;const value=requestedValue!==null&&leaves.has(requestedValue)?requestedValue:null;const ids=new Set(props.nodes.map(node=>node.id));const requestedHighlight=highlighted.value;const defaultHighlightedValue=requestedHighlight!==null&&ids.has(requestedHighlight)&&!props.disabledItems.includes(requestedHighlight)?requestedHighlight:value??firstAvailableRoot(props.nodes,props.disabledItems);localValue.value=value;if(valueControlled&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCascadeList({root:root.value,direction:direction.value,nodes:props.nodes,disabledItems:props.disabledItems,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value}:{defaultValue:value},defaultHighlightedValue,disabled:flags.value.disabled,readOnly:flags.value.readonly,...props.label===void 0?{}:{label:props.label},onValueChange:next=>{localValue.value=next;emit("update:modelValue",next)},onHighlightedValueChange:next=>{highlighted.value=next;emit("highlight",next)},onUpdate:refresh});refresh()};const branches=computed(()=>cascadeBranchItems(props.nodes));provide(rootKey,{state,label:computed(()=>props.label),textValue:computed(()=>props.textValue??(id=>id)),disabledItems:computed(()=>new Set(props.disabledItems)),branchItems:branches,indicatorPresence,registerColumn:(element,depth,label)=>connection.value?.setColumnAttributes(element,depth===0?null:state.value.path[depth-1]??null,label),registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,id,disabled)});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connection.value?.disconnect()});watch([()=>props.nodes,()=>props.disabledItems,()=>flags.value.disabled,()=>flags.value.readonly,()=>props.label,()=>props.policies,direction],connect);watch(()=>props.modelValue,()=>{if(connection.value===void 0||!valueControlled)return;const result=connection.value.syncControlledValues({value:props.modelValue});if(!result.ok)throw new TypeError(result.error.message);refresh()});return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{root.value=node instanceof HTMLElement?node:null},role:"group",tabindex:-1,"aria-label":props.label,"aria-disabled":flags.value.disabled?"true":void 0,"aria-readonly":flags.value.readonly?"true":void 0,"data-scope":"cascade-list","data-part":"root",dir:direction.value,"data-disabled":flags.value.disabled?"":void 0,"data-readonly":flags.value.readonly?"":void 0},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return visual;return[visual,h("select",{ref:element=>{submission.value=element instanceof HTMLSelectElement?element:null},...submissionProps.value,value:state.value.value??"",tabindex:-1,"aria-hidden":"true",style:visuallyHiddenInputStyle},[h("option",{value:"",selected:state.value.value===null}),...props.nodes.filter(node=>!branches.value.has(node.id)).map(node=>h("option",{value:node.id,selected:state.value.value===node.id,disabled:props.disabledItems.includes(node.id)},props.textValue?.(node.id)??node.id))])]}}});const CascadeListValue=defineComponent({name:"SectileCascadeListValue",inheritAttrs:false,props:{placeholder:{type:String,default:""},separator:{type:String,default:" / "},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeListValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"cascade-list","data-part":"value","data-placeholder":root.state.value.value===null?"":void 0}),{default:()=>slots["default"]?.(root.state.value)??(root.state.value.value===null?props.placeholder:root.state.value.valuePath.map(root.textValue.value).join(props.separator))})}});const cascadeListParts=createCascadeChoiceParts({scope:"cascade-list",componentName:"CascadeList",itemAttribute:"data-sectile-cascade-list-id",rootKey,itemKey});const CascadeListColumn=cascadeListParts.Column;const CascadeListItem=cascadeListParts.Item;const CascadeListItemIndicator=cascadeListParts.ItemIndicator;const CascadeListItemChevron=cascadeListParts.ItemChevron;function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside CascadeListRoot.`);return root}function firstAvailableRoot(nodes,disabledItems){const disabled=new Set(disabledItems);return nodes.find(node=>node.parentID===null&&!disabled.has(node.id))?.id??null}export{CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue};
2
2
  //# sourceMappingURL=cascade-list.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cascade-list.ts"],"mappings":"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","names":["branches"],"file":"cascade-list.js"}
1
+ {"version":3,"sources":["../src/cascade-list.ts"],"mappings":"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","names":["branches"],"file":"cascade-list.js"}
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCascadeSelect}from"@sectile/dom/cascade-select";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{usePresence}from"./presence/presence.js";import{useConditionalPresenceRegistry}from"./presence/conditional-presence.js";import{cascadeBranchItems,cascadeChoicePartProps,cascadeItemPath,createCascadeChoiceParts,initialCascadeColumns}from"./internal/cascade-choice.js";const rootKey=Symbol("SectileCascadeSelectRoot");const itemKey=Symbol("SectileCascadeSelectItem");const partProps=cascadeChoicePartProps;const CascadeSelectRoot=defineComponent({name:"SectileCascadeSelectRoot",inheritAttrs:false,props:{nodes:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},position:{type:Boolean,default:true},side:{type:String,default:"bottom"},align:{type:String,default:"start"},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:void 0},avoidCollisions:{type:Boolean,default:true},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:"absolute"},tracking:{type:String,default:"events"},textValue:{type:Function,default:void 0},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:open":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const root=shallowRef(null);const trigger=shallowRef(null);const popup=shallowRef();const submission=shallowRef(null);const connection=shallowRef();const participation=useCompositeFormControl({root,focusTarget:trigger,submissions:[{element:submission,capabilities:hiddenSelectSubmissionCapabilities}]});provideFormControlOwner();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const initialValuePath=cascadeItemPath(props.nodes,localValue.value);const initialBranchPath=initialValuePath.slice(0,-1);const localOpen=shallowRef(props.open??props.defaultOpen);const highlighted=shallowRef(localValue.value);const path=shallowRef(initialBranchPath);const columns=shallowRef(initialCascadeColumns(props.nodes,initialBranchPath));const valuePath=shallowRef(initialValuePath);const valueControlled=useControlledStateInvariant("CascadeSelectRoot","modelValue",()=>props.modelValue);const openControlled=useControlledStateInvariant("CascadeSelectRoot","open",()=>props.open);const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,valuePath:valuePath.value,highlightedValue:highlighted.value,path:path.value,columns:columns.value,open:props.open??localOpen.value,disabled:props.disabled,readonly:props.readonly}));const selectedIDSet=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;return value===null?new Set:new Set([value])});const indicatorPresence=useConditionalPresenceRegistry(selectedIDSet);const refresh=()=>{const current=connection.value?.getSnapshot().state;if(current===void 0)return;localValue.value=current.value;localOpen.value=current.open;highlighted.value=current.highlighted;path.value=current.path;columns.value=connection.value?.getColumns()??[];valuePath.value=connection.value?.getValuePath()??[];refreshItems()};const refreshItems=()=>{if(popup.value===void 0||connection.value===void 0)return;popup.value.querySelectorAll("[data-sectile-cascade-select-id]").forEach(element=>{const id=element.dataset["sectileCascadeSelectId"];if(id!==void 0)connection.value?.setItemAttributes(element,id,props.disabledItems.includes(id))})};const connect=()=>{connection.value?.disconnect();if(root.value===null||trigger.value===null||popup.value===void 0)return;const branchIDs=cascadeBranchItems(props.nodes);const leafIDs=new Set(props.nodes.filter(node=>!branchIDs.has(node.id)).map(node=>node.id));const requestedValue=valueControlled?props.modelValue:localValue.value;const value=requestedValue!==null&&leafIDs.has(requestedValue)?requestedValue:null;localValue.value=value;if(valueControlled&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCascadeSelect({root:root.value,trigger:trigger.value,popup:popup.value,nodes:props.nodes,disabledItems:props.disabledItems,position:props.position,manageVisibility:false,side:props.side,align:props.align,sideOffset:props.sideOffset,collisionPadding:props.collisionPadding,...props.collisionBoundary===void 0?{}:{collisionBoundary:props.collisionBoundary},avoidCollisions:props.avoidCollisions,hideWhenDetached:props.hideWhenDetached,strategy:props.strategy,tracking:props.tracking,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value}:{defaultValue:value},...openControlled?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,readOnly:props.readonly,...props.label===void 0?{}:{label:props.label},onValueChange:next=>{localValue.value=next;emit("update:modelValue",next)},onHighlightedValueChange:next=>{highlighted.value=next;emit("highlight",next)},onOpenChange:next=>{localOpen.value=next;emit("update:open",next)},onUpdate:refresh});refresh()};const branches=computed(()=>cascadeBranchItems(props.nodes));let mounted=false;let connectScheduled=false;const scheduleConnect=()=>{if(!mounted||connectScheduled)return;connectScheduled=true;void nextTick(()=>{connectScheduled=false;if(mounted)connect()})};provide(rootKey,{state,position:computed(()=>props.position),strategy:computed(()=>props.strategy),label:computed(()=>props.label),textValue:computed(()=>props.textValue??(id=>id)),disabledItems:computed(()=>new Set(props.disabledItems)),branchItems:branches,indicatorPresence,registerTrigger:element=>{const next=element??null;const changed=trigger.value!==next;trigger.value=next;if(changed)scheduleConnect()},registerPopup:element=>{const changed=popup.value!==element;popup.value=element;if(changed)scheduleConnect()},refresh:()=>connection.value?.refresh(),registerColumn:(element,depth,label)=>connection.value?.setColumnAttributes(element,depth===0?null:state.value.path[depth-1]??null,label),registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,id,disabled)});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connection.value?.disconnect()});watch([()=>props.nodes,()=>props.disabledItems,()=>props.disabled,()=>props.readonly,()=>props.label,()=>props.position,()=>props.side,()=>props.align,()=>props.sideOffset,()=>props.collisionPadding,()=>props.collisionBoundary,()=>props.avoidCollisions,()=>props.hideWhenDetached,()=>props.strategy,()=>props.tracking,()=>props.policies],connect);watch([()=>props.modelValue,()=>props.open],()=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{value:props.modelValue}:{},...openControlled?{open:props.open}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});const registerRoot=node=>{const next=node instanceof HTMLElement?node:null;const changed=root.value!==next;root.value=next;if(changed)scheduleConnect()};return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerRoot,"data-scope":"cascade-select","data-part":"root","data-state":state.value.open?"open":"closed"},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return visual;return[visual,h("select",{ref:element=>{submission.value=element instanceof HTMLSelectElement?element:null},name:props.name,form:props.form,required:props.required,disabled:props.disabled,value:state.value.value??"",tabindex:-1,"aria-hidden":"true",style:visuallyHiddenInputStyle},[h("option",{value:""}),...props.nodes.filter(node=>!branches.value.has(node.id)).map(node=>h("option",{value:node.id,disabled:props.disabledItems.includes(node.id)},props.textValue?.(node.id)??node.id))])]}}});const CascadeSelectTrigger=defineComponent({name:"SectileCascadeSelectTrigger",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectTrigger");const registerTrigger=node=>root.registerTrigger(node instanceof HTMLButtonElement?node:void 0);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerTrigger,type:props.as==="button"?"button":void 0,disabled:root.state.value.disabled,"aria-haspopup":"listbox","aria-expanded":String(root.state.value.open),"data-scope":"cascade-select","data-part":"trigger","data-state":root.state.value.open?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}});const CascadeSelectValue=defineComponent({name:"SectileCascadeSelectValue",inheritAttrs:false,props:{placeholder:{type:String,default:""},separator:{type:String,default:" / "},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"cascade-select","data-part":"value","data-placeholder":root.state.value.value===null?"":void 0}),{default:()=>slots["default"]?.(root.state.value)??(root.state.value.value===null?props.placeholder:root.state.value.valuePath.map(root.textValue.value).join(props.separator))})}});const CascadeSelectContent=defineComponent({name:"SectileCascadeSelectContent",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectContent");const element=shallowRef();const open=computed(()=>root.state.value.open);const present=usePresence(open,element);watch(present,async()=>{await nextTick();root.refresh()},{flush:"post"});const registerContent=node=>{const content=node instanceof HTMLElement?node:void 0;element.value=content;root.registerPopup(content)};return()=>{const exiting=!open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerContent,role:"group",hidden:!present.value,"aria-label":root.label.value,...exiting?{inert:true,"aria-hidden":"true"}:{},style:root.position.value?{position:root.strategy.value,visibility:element.value===void 0?"hidden":void 0}:void 0,"data-scope":"cascade-select","data-part":"content","data-state":open.value?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}}});const cascadeSelectParts=createCascadeChoiceParts({scope:"cascade-select",componentName:"CascadeSelect",itemAttribute:"data-sectile-cascade-select-id",rootKey,itemKey});const CascadeSelectColumn=cascadeSelectParts.Column;const CascadeSelectItem=cascadeSelectParts.Item;const CascadeSelectItemIndicator=cascadeSelectParts.ItemIndicator;const CascadeSelectItemChevron=cascadeSelectParts.ItemChevron;function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside CascadeSelectRoot.`);return root}export{CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue};
1
+ import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCascadeSelect,tryCreateCascadeSelect}from"@sectile/dom/cascade-select";import{unwrap}from"@sectile/core/result";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./input/native-input.js";import{provideFormControlOwner}from"./form/control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl,useFormSubmissionProps,useFormControlFlags}from"./form/control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{usePopupPresentation}from"./internal/popup-presentation.js";import{provideHostLayerParent,useHostDirection}from"./host-provider.js";import{usePresence}from"./presence/presence.js";import{useConditionalPresenceRegistry}from"./presence/conditional-presence.js";import{cascadeBranchItems,cascadeChoicePartProps,cascadeItemPath,createCascadeChoiceParts,initialCascadeColumns}from"./internal/cascade-choice.js";const rootKey=Symbol("SectileCascadeSelectRoot");const itemKey=Symbol("SectileCascadeSelectItem");const partProps=cascadeChoicePartProps;const CascadeSelectRoot=defineComponent({__sectileFormLabelMode:"labelledby",name:"SectileCascadeSelectRoot",inheritAttrs:false,props:{nodes:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabledItems:{type:Array,default:()=>[]},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},position:{type:Boolean,default:true},side:{type:String,default:"bottom"},align:{type:String,default:"start"},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:void 0},avoidCollisions:{type:Boolean,default:true},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:"absolute"},tracking:{type:String,default:"events"},textValue:{type:Function,default:void 0},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:open":_value=>true,highlight:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const flags=useFormControlFlags(props);const direction=useHostDirection();const root=shallowRef(null);const trigger=shallowRef(null);const popup=shallowRef();const submission=shallowRef(null);const connection=shallowRef();const initialValue=props.modelValue!==void 0?props.modelValue:props.defaultValue;const initialOpen=props.open??props.defaultOpen;provideFormControlOwner();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const initialValuePath=cascadeItemPath(props.nodes,localValue.value);const initialBranchPath=initialValuePath.slice(0,-1);const localOpen=shallowRef(props.open??props.defaultOpen);const highlighted=shallowRef(localValue.value);const path=shallowRef(initialBranchPath);const columns=shallowRef(initialCascadeColumns(props.nodes,initialBranchPath));const valuePath=shallowRef(initialValuePath);const valueControlled=useControlledStateInvariant("CascadeSelectRoot","modelValue",()=>props.modelValue);const openControlled=useControlledStateInvariant("CascadeSelectRoot","open",()=>props.open);const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,valuePath:valuePath.value,highlightedValue:highlighted.value,path:path.value,columns:columns.value,open:props.open??localOpen.value,disabled:flags.value.disabled,readonly:flags.value.readonly}));const lifecycle=usePopupPresentation({connection,open:computed(()=>state.value.open),connect:()=>connect(),refresh:()=>refresh(),trackLayerHost:true});const submissionProps=useFormSubmissionProps({element:submission,capabilities:hiddenSelectSubmissionCapabilities},props);const participation=useCompositeFormControl({root,focusTarget:()=>lifecycle.active.value?trigger.value:null,validationTarget:()=>lifecycle.active.value?root.value:null,submissions:[{element:submission,capabilities:hiddenSelectSubmissionCapabilities}],reset:()=>{queueMicrotask(()=>{if(!mounted)return;disconnect();localValue.value=valueControlled?props.modelValue:initialValue;localOpen.value=openControlled?props.open:initialOpen;highlighted.value=null;lifecycle.reconnect();if(submission.value!==null)submission.value.value=state.value.value??""})}});const selectedIDSet=computed(()=>{const value=props.modelValue!==void 0?props.modelValue:localValue.value;return value===null?new Set:new Set([value])});const indicatorPresence=useConditionalPresenceRegistry(selectedIDSet);const refresh=()=>{const current=connection.value?.getSnapshot().state;if(current===void 0)return;localValue.value=current.value;localOpen.value=current.open;highlighted.value=current.highlighted;path.value=current.path;columns.value=connection.value?.getColumns()??[];valuePath.value=connection.value?.getValuePath()??[];lifecycle.update();refreshItems()};const refreshItems=()=>{if(popup.value===void 0||connection.value===void 0)return;popup.value.querySelectorAll("[data-sectile-cascade-select-id]").forEach(element=>{const id=element.dataset["sectileCascadeSelectId"];if(id!==void 0)connection.value?.setItemAttributes(element,id,props.disabledItems.includes(id))})};const connect=()=>{const navigation=connection.value===void 0?{}:{defaultPath:path.value,defaultHighlightedValue:highlighted.value};disconnect();if(root.value===null||trigger.value===null||popup.value===void 0)return;const branchIDs=cascadeBranchItems(props.nodes);const leafIDs=new Set(props.nodes.filter(node=>!branchIDs.has(node.id)).map(node=>node.id));const requestedValue=valueControlled?props.modelValue:localValue.value;const value=requestedValue!==null&&leafIDs.has(requestedValue)?requestedValue:null;localValue.value=value;if(valueControlled&&requestedValue!==value)emit("update:modelValue",value);const options={root:root.value,trigger:trigger.value,popup:popup.value,nodes:props.nodes,disabledItems:props.disabledItems,position:props.position,manageVisibility:false,side:props.side,align:props.align,sideOffset:props.sideOffset,collisionPadding:props.collisionPadding,...props.collisionBoundary===void 0?{}:{collisionBoundary:props.collisionBoundary},avoidCollisions:props.avoidCollisions,hideWhenDetached:props.hideWhenDetached,strategy:props.strategy,tracking:props.tracking,...props.policies===void 0?{}:{policies:props.policies},...valueControlled?{value}:{defaultValue:value},...openControlled?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,readOnly:props.readonly,...props.label===void 0?{}:{label:props.label},onValueChange:next=>{localValue.value=next;emit("update:modelValue",next)},onHighlightedValueChange:next=>{highlighted.value=next;emit("highlight",next)},onOpenChange:next=>{if(!openControlled)localOpen.value=next;emit("update:open",next)},onUpdate:refresh};const host=lifecycle.layerHost.value;const layer=host===void 0?{}:{layerHost:host};const interaction={disabled:flags.value.disabled,readOnly:flags.value.readonly};const candidate=tryCreateCascadeSelect({...options,...interaction,...navigation,...layer,direction:direction.value});if(!candidate.ok&&(candidate.error.code==="cascade-select-highlight-outside-tree"||candidate.error.code==="cascade-select-path-outside-tree"||candidate.error.code==="cascade-select-leaf-in-path"||candidate.error.code==="invalid-cascade-select-path"))connection.value=createCascadeSelect({...options,...interaction,...layer,direction:direction.value});else connection.value=unwrap(candidate);refresh()};const disconnect=()=>{lifecycle.release();try{connection.value?.disconnect()}finally{connection.value=void 0}};const branches=computed(()=>cascadeBranchItems(props.nodes));let mounted=false;let connectScheduled=false;const scheduleConnect=()=>{if(!mounted||connectScheduled)return;if(!lifecycle.availability.value){lifecycle.invalidate();return}connectScheduled=true;void nextTick(()=>{connectScheduled=false;if(mounted)lifecycle.reconnect()})};provide(rootKey,{state,active:lifecycle.active,presentation:lifecycle.presentation,registerPresence:lifecycle.registerPresence,position:computed(()=>props.position),strategy:computed(()=>props.strategy),label:computed(()=>props.label),textValue:computed(()=>props.textValue??(id=>id)),disabledItems:computed(()=>new Set(props.disabledItems)),branchItems:branches,indicatorPresence,registerTrigger:element=>{const next=element??null;const changed=trigger.value!==next;trigger.value=next;if(changed)scheduleConnect()},registerPopup:element=>{const changed=popup.value!==element;popup.value=element;if(changed)scheduleConnect()},refresh:()=>connection.value?.refresh(),registerColumn:(element,depth,label)=>connection.value?.setColumnAttributes(element,depth===0?null:state.value.path[depth-1]??null,label),registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,id,disabled)});onMounted(()=>{mounted=true;lifecycle.reconnect()});onBeforeUnmount(()=>{mounted=false;disconnect()});watch([()=>props.nodes,()=>props.disabledItems,()=>flags.value.disabled,()=>flags.value.readonly,()=>props.label,()=>props.position,()=>props.side,()=>props.align,()=>props.sideOffset,()=>props.collisionPadding,()=>props.collisionBoundary,()=>props.avoidCollisions,()=>props.hideWhenDetached,()=>props.strategy,()=>props.tracking,()=>props.policies,direction],lifecycle.reconnect);watch([()=>props.modelValue,()=>props.open],()=>{lifecycle.prepareModelUpdate();if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...valueControlled?{value:props.modelValue}:{},...openControlled?{open:props.open}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()});const registerRoot=node=>{const next=node instanceof HTMLElement?node:null;const changed=root.value!==next;root.value=next;if(changed)scheduleConnect()};return()=>{const visual=h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerRoot,"data-scope":"cascade-select","data-part":"root",dir:direction.value,"data-state":state.value.open?"open":"closed"},participation.controlProps.value),{default:()=>slots["default"]?.(state.value)});if(!participation.participating&&props.name===void 0&&props.form===void 0&&!props.required)return visual;return[visual,h("select",{ref:element=>{submission.value=element instanceof HTMLSelectElement?element:null},...submissionProps.value,value:state.value.value??"",tabindex:-1,"aria-hidden":"true",style:visuallyHiddenInputStyle},[h("option",{value:"",selected:state.value.value===null}),...props.nodes.filter(node=>!branches.value.has(node.id)).map(node=>h("option",{value:node.id,selected:state.value.value===node.id,disabled:props.disabledItems.includes(node.id)},props.textValue?.(node.id)??node.id))])]}}});const CascadeSelectTrigger=defineComponent({name:"SectileCascadeSelectTrigger",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"button"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectTrigger");const registerTrigger=node=>root.registerTrigger(node instanceof HTMLButtonElement?node:void 0);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerTrigger,type:props.as==="button"?"button":void 0,disabled:root.state.value.disabled,"aria-haspopup":"listbox","aria-expanded":String(root.state.value.open),"data-scope":"cascade-select","data-part":"trigger","data-state":root.state.value.open?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}});const CascadeSelectValue=defineComponent({name:"SectileCascadeSelectValue",inheritAttrs:false,props:{placeholder:{type:String,default:""},separator:{type:String,default:" / "},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectValue");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"cascade-select","data-part":"value","data-placeholder":root.state.value.value===null?"":void 0}),{default:()=>slots["default"]?.(root.state.value)??(root.state.value.value===null?props.placeholder:root.state.value.valuePath.map(root.textValue.value).join(props.separator))})}});const CascadeSelectContent=defineComponent({name:"SectileCascadeSelectContent",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("CascadeSelectContent");const element=shallowRef();const open=computed(()=>root.state.value.open);provideHostLayerParent({element,open,active:root.active,presentation:root.presentation});const present=usePresence(open,element,void 0,root.active);onBeforeUnmount(root.registerPresence(present));watch(present,async()=>{await nextTick();root.refresh()},{flush:"post"});const registerContent=node=>{const content=node instanceof HTMLElement?node:void 0;element.value=content;root.registerPopup(content)};return()=>{const exiting=!open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerContent,role:"group",hidden:!root.active.value||!present.value,"aria-label":root.label.value,...exiting||!root.active.value?{inert:true,"aria-hidden":"true"}:{},style:root.position.value?{position:root.strategy.value,visibility:element.value===void 0?"hidden":void 0}:void 0,"data-scope":"cascade-select","data-part":"content","data-state":open.value?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}}});const cascadeSelectParts=createCascadeChoiceParts({scope:"cascade-select",componentName:"CascadeSelect",itemAttribute:"data-sectile-cascade-select-id",rootKey,itemKey});const CascadeSelectColumn=cascadeSelectParts.Column;const CascadeSelectItem=cascadeSelectParts.Item;const CascadeSelectItemIndicator=cascadeSelectParts.ItemIndicator;const CascadeSelectItemChevron=cascadeSelectParts.ItemChevron;function useRoot(part){const root=inject(rootKey);if(root===void 0)throw new TypeError(`${part} must be used inside CascadeSelectRoot.`);return root}export{CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue};
2
2
  //# sourceMappingURL=cascade-select.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cascade-select.ts"],"mappings":"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","names":[],"file":"cascade-select.js"}
1
+ {"version":3,"sources":["../src/cascade-select.ts"],"mappings":"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","names":[],"file":"cascade-select.js"}