@sectile/vue 0.16.6 → 0.18.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 (74) hide show
  1. package/dist/accordion.d.ts +12 -0
  2. package/dist/accordion.js +1 -1
  3. package/dist/accordion.js.map +1 -1
  4. package/dist/carousel.d.ts +13 -0
  5. package/dist/carousel.js +1 -1
  6. package/dist/carousel.js.map +1 -1
  7. package/dist/cascade-list.d.ts +11 -1
  8. package/dist/cascade-list.js +1 -1
  9. package/dist/cascade-list.js.map +1 -1
  10. package/dist/cascade-select.d.ts +11 -1
  11. package/dist/cascade-select.js +1 -1
  12. package/dist/cascade-select.js.map +1 -1
  13. package/dist/checkbox-group.d.ts +9 -0
  14. package/dist/checkbox.d.ts +11 -1
  15. package/dist/checkbox.js +1 -1
  16. package/dist/checkbox.js.map +1 -1
  17. package/dist/combobox.d.ts +12 -0
  18. package/dist/combobox.js +1 -1
  19. package/dist/combobox.js.map +1 -1
  20. package/dist/disclosure.d.ts +11 -1
  21. package/dist/disclosure.js +1 -1
  22. package/dist/disclosure.js.map +1 -1
  23. package/dist/form.d.ts +6 -48
  24. package/dist/form.js +1 -1
  25. package/dist/form.js.map +1 -1
  26. package/dist/internal/cascade-choice.d.ts +13 -0
  27. package/dist/internal/cascade-choice.js +1 -1
  28. package/dist/internal/cascade-choice.js.map +1 -1
  29. package/dist/internal/conditional-presence.d.ts +23 -0
  30. package/dist/internal/conditional-presence.js +2 -0
  31. package/dist/internal/conditional-presence.js.map +1 -0
  32. package/dist/internal/date-picker.js +1 -1
  33. package/dist/internal/date-picker.js.map +1 -1
  34. package/dist/internal/form-context.d.ts +22 -0
  35. package/dist/internal/form-context.js +2 -0
  36. package/dist/internal/form-context.js.map +1 -0
  37. package/dist/internal/form-presence-parts.d.ts +69 -0
  38. package/dist/internal/form-presence-parts.js +2 -0
  39. package/dist/internal/form-presence-parts.js.map +1 -0
  40. package/dist/internal/tabular-parts.js +1 -1
  41. package/dist/internal/tabular-parts.js.map +1 -1
  42. package/dist/internal/virtual-collection.d.ts +4 -3
  43. package/dist/internal/virtual-collection.js.map +1 -1
  44. package/dist/internal/virtual-core.d.ts +15 -4
  45. package/dist/internal/virtual-core.js +1 -1
  46. package/dist/internal/virtual-core.js.map +1 -1
  47. package/dist/internal/virtual-list.js +1 -1
  48. package/dist/internal/virtual-list.js.map +1 -1
  49. package/dist/listbox.d.ts +12 -0
  50. package/dist/listbox.js +1 -1
  51. package/dist/listbox.js.map +1 -1
  52. package/dist/navigation-menu.d.ts +15 -0
  53. package/dist/navigation-menu.js +1 -1
  54. package/dist/navigation-menu.js.map +1 -1
  55. package/dist/radio-group.d.ts +11 -1
  56. package/dist/radio-group.js +1 -1
  57. package/dist/radio-group.js.map +1 -1
  58. package/dist/rating.d.ts +9 -0
  59. package/dist/select.d.ts +12 -0
  60. package/dist/select.js +1 -1
  61. package/dist/select.js.map +1 -1
  62. package/dist/stepper.d.ts +9 -0
  63. package/dist/tabs.d.ts +11 -1
  64. package/dist/tabs.js +1 -1
  65. package/dist/tabs.js.map +1 -1
  66. package/dist/tree-grid.d.ts +14 -0
  67. package/dist/tree-grid.js +1 -1
  68. package/dist/tree-grid.js.map +1 -1
  69. package/dist/tree-view.d.ts +11 -1
  70. package/dist/tree-view.js +1 -1
  71. package/dist/tree-view.js.map +1 -1
  72. package/dist/virtual-core.d.ts +1 -1
  73. package/dist/virtual-core.js.map +1 -1
  74. package/package.json +11 -11
@@ -1,5 +1,6 @@
1
1
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
2
  import { type PrimitiveAs } from './primitive.js';
3
+ import { type ConditionalPresenceProps } from './internal/conditional-presence.js';
3
4
  export type AccordionType = 'single' | 'multiple';
4
5
  export type AccordionValue = string | readonly string[];
5
6
  export interface AccordionRootProps {
@@ -34,6 +35,8 @@ export interface AccordionPartProps {
34
35
  readonly as?: PrimitiveAs;
35
36
  readonly asChild?: boolean;
36
37
  }
38
+ export interface AccordionContentProps extends AccordionPartProps, ConditionalPresenceProps {
39
+ }
37
40
  export declare const AccordionRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
38
41
  items: {
39
42
  type: PropType<readonly string[]>;
@@ -224,6 +227,10 @@ export declare const AccordionTrigger: import("vue").DefineComponent<import("vue
224
227
  default: (props: AccordionItemSlotProps) => VNodeChild;
225
228
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
226
229
  export declare const AccordionContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
230
+ forcePresent: {
231
+ readonly type: BooleanConstructor;
232
+ readonly default: false;
233
+ };
227
234
  as: {
228
235
  type: PropType<PrimitiveAs>;
229
236
  default: PrimitiveAs;
@@ -233,6 +240,10 @@ export declare const AccordionContent: import("vue").DefineComponent<import("vue
233
240
  default: boolean;
234
241
  };
235
242
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
243
+ forcePresent: {
244
+ readonly type: BooleanConstructor;
245
+ readonly default: false;
246
+ };
236
247
  as: {
237
248
  type: PropType<PrimitiveAs>;
238
249
  default: PrimitiveAs;
@@ -242,6 +253,7 @@ export declare const AccordionContent: import("vue").DefineComponent<import("vue
242
253
  default: boolean;
243
254
  };
244
255
  }>> & Readonly<{}>, {
256
+ forcePresent: boolean;
245
257
  as: PrimitiveAs;
246
258
  asChild: boolean;
247
259
  }, SlotsType<{
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";const accordionRootContextKey=Symbol("SectileAccordionRoot");const accordionItemContextKey=Symbol("SectileAccordionItem");const accordionHeaderProps=accordionPartProps("h3");const accordionTriggerProps=accordionPartProps("button");const accordionContentProps=accordionPartProps("div");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 attributes=computed(()=>getAccordionPanelAttributes({has:id=>id===item.value&&item.slotProps.value.open},item.value,{panelID:item.panelID,triggerID:item.triggerID}));return()=>h(Primitive,mergeProps(attrs,attributes.value,{as:props.as,asChild:props.asChild}),{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,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"./internal/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};
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"}
@@ -1,6 +1,7 @@
1
1
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
2
  import { type CarouselAutoplayOptions, type CarouselPolicies } from '@sectile/dom/carousel';
3
3
  import { type PrimitiveAs } from './primitive.js';
4
+ import { type ConditionalPresenceProps } from './internal/conditional-presence.js';
4
5
  export interface CarouselRootProps {
5
6
  readonly slides: readonly string[];
6
7
  readonly modelValue?: string | null;
@@ -34,6 +35,9 @@ export interface CarouselPartProps {
34
35
  readonly as?: PrimitiveAs;
35
36
  readonly asChild?: boolean;
36
37
  }
38
+ export interface CarouselSlideProps extends CarouselPartProps, ConditionalPresenceProps {
39
+ readonly value: string;
40
+ }
37
41
  export declare const CarouselRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
38
42
  slides: {
39
43
  type: PropType<readonly string[]>;
@@ -321,6 +325,10 @@ export declare const CarouselPause: import("vue").DefineComponent<import("vue").
321
325
  default: (props: CarouselRootSlotProps) => VNodeChild;
322
326
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
323
327
  export declare const CarouselSlide: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
328
+ forcePresent: {
329
+ readonly type: BooleanConstructor;
330
+ readonly default: false;
331
+ };
324
332
  as: {
325
333
  type: PropType<PrimitiveAs>;
326
334
  default: string;
@@ -334,6 +342,10 @@ export declare const CarouselSlide: import("vue").DefineComponent<import("vue").
334
342
  required: true;
335
343
  };
336
344
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
345
+ forcePresent: {
346
+ readonly type: BooleanConstructor;
347
+ readonly default: false;
348
+ };
337
349
  as: {
338
350
  type: PropType<PrimitiveAs>;
339
351
  default: string;
@@ -347,6 +359,7 @@ export declare const CarouselSlide: import("vue").DefineComponent<import("vue").
347
359
  required: true;
348
360
  };
349
361
  }>> & Readonly<{}>, {
362
+ forcePresent: boolean;
350
363
  as: PrimitiveAs;
351
364
  asChild: boolean;
352
365
  }, 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";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,...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},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}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerSlide(node,props.value)},hidden:!state.value.active,"data-sectile-carousel-slide":props.value,"data-scope":"carousel","data-part":"slide","data-state":state.value.active?"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"./internal/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};
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,7 +1,7 @@
1
1
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
2
  import { type CascadeListItemDefinition, type CascadeListPolicies } from '@sectile/dom/cascade-list';
3
3
  import { type PrimitiveAs } from './primitive.js';
4
- import { type CascadeChoiceColumnProps, type CascadeChoiceColumnSlotProps, type CascadeChoiceItemProps, type CascadeChoiceItemSlotProps, type CascadeChoicePartProps, type CascadeChoiceRootState } from './internal/cascade-choice.js';
4
+ import { type CascadeChoiceColumnProps, type CascadeChoiceColumnSlotProps, type CascadeChoiceItemIndicatorProps, type CascadeChoiceItemProps, type CascadeChoiceItemSlotProps, type CascadeChoicePartProps, type CascadeChoiceRootState } from './internal/cascade-choice.js';
5
5
  export interface CascadeListRootProps {
6
6
  readonly nodes: readonly CascadeListItemDefinition<string>[];
7
7
  readonly modelValue?: string | null;
@@ -25,6 +25,7 @@ export type CascadeListColumnProps = CascadeChoiceColumnProps;
25
25
  export type CascadeListColumnSlotProps = CascadeChoiceColumnSlotProps;
26
26
  export type CascadeListItemProps = CascadeChoiceItemProps;
27
27
  export type CascadeListItemSlotProps = CascadeChoiceItemSlotProps;
28
+ export type CascadeListItemIndicatorProps = CascadeChoiceItemIndicatorProps;
28
29
  export type CascadeListPartProps = CascadeChoicePartProps;
29
30
  export declare const CascadeListRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
30
31
  nodes: {
@@ -290,6 +291,10 @@ export declare const CascadeListItem: import("vue").DefineComponent<import("vue"
290
291
  default: (props: CascadeChoiceItemSlotProps) => VNodeChild;
291
292
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
292
293
  export declare const CascadeListItemIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
294
+ forcePresent: {
295
+ readonly type: BooleanConstructor;
296
+ readonly default: false;
297
+ };
293
298
  as: {
294
299
  type: PropType<PrimitiveAs>;
295
300
  default: string;
@@ -299,6 +304,10 @@ export declare const CascadeListItemIndicator: import("vue").DefineComponent<imp
299
304
  default: boolean;
300
305
  };
301
306
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
307
+ forcePresent: {
308
+ readonly type: BooleanConstructor;
309
+ readonly default: false;
310
+ };
302
311
  as: {
303
312
  type: PropType<PrimitiveAs>;
304
313
  default: string;
@@ -308,6 +317,7 @@ export declare const CascadeListItemIndicator: import("vue").DefineComponent<imp
308
317
  default: boolean;
309
318
  };
310
319
  }>> & Readonly<{}>, {
320
+ forcePresent: boolean;
311
321
  as: PrimitiveAs;
312
322
  asChild: boolean;
313
323
  }, SlotsType<{
@@ -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"./internal/native-input.js";import{provideFormControlOwner}from"./internal/form-control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./internal/form-control.js";import{useControlledStateInvariant}from"./internal/controlled-state.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 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,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{visuallyHiddenInputStyle}from"./internal/native-input.js";import{provideFormControlOwner}from"./internal/form-control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./internal/form-control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{useConditionalPresenceRegistry}from"./internal/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};
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"}
@@ -2,7 +2,7 @@ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
2
  import { type CascadeSelectItemDefinition, type CascadeSelectPolicies } from '@sectile/dom/cascade-select';
3
3
  import type { PositionBoundary, PositionOptions, PositionPadding, PositionStrategy, PositionTracking } from '@sectile/dom/position';
4
4
  import { type PrimitiveAs } from './primitive.js';
5
- import { type CascadeChoiceColumnProps, type CascadeChoiceColumnSlotProps, type CascadeChoiceItemProps, type CascadeChoiceItemSlotProps, type CascadeChoicePartProps, type CascadeChoiceRootState } from './internal/cascade-choice.js';
5
+ import { type CascadeChoiceColumnProps, type CascadeChoiceColumnSlotProps, type CascadeChoiceItemIndicatorProps, type CascadeChoiceItemProps, type CascadeChoiceItemSlotProps, type CascadeChoicePartProps, type CascadeChoiceRootState } from './internal/cascade-choice.js';
6
6
  export interface CascadeSelectRootProps extends Omit<PositionOptions, 'arrowPadding'> {
7
7
  readonly nodes: readonly CascadeSelectItemDefinition<string>[];
8
8
  readonly modelValue?: string | null;
@@ -30,6 +30,7 @@ export type CascadeSelectColumnProps = CascadeChoiceColumnProps;
30
30
  export type CascadeSelectColumnSlotProps = CascadeChoiceColumnSlotProps;
31
31
  export type CascadeSelectItemProps = CascadeChoiceItemProps;
32
32
  export type CascadeSelectItemSlotProps = CascadeChoiceItemSlotProps;
33
+ export type CascadeSelectItemIndicatorProps = CascadeChoiceItemIndicatorProps;
33
34
  export type CascadeSelectPartProps = CascadeChoicePartProps;
34
35
  export declare const CascadeSelectRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
35
36
  nodes: {
@@ -454,6 +455,10 @@ export declare const CascadeSelectItem: import("vue").DefineComponent<import("vu
454
455
  default: (props: CascadeChoiceItemSlotProps) => VNodeChild;
455
456
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
456
457
  export declare const CascadeSelectItemIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
458
+ forcePresent: {
459
+ readonly type: BooleanConstructor;
460
+ readonly default: false;
461
+ };
457
462
  as: {
458
463
  type: PropType<PrimitiveAs>;
459
464
  default: string;
@@ -463,6 +468,10 @@ export declare const CascadeSelectItemIndicator: import("vue").DefineComponent<i
463
468
  default: boolean;
464
469
  };
465
470
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
471
+ forcePresent: {
472
+ readonly type: BooleanConstructor;
473
+ readonly default: false;
474
+ };
466
475
  as: {
467
476
  type: PropType<PrimitiveAs>;
468
477
  default: string;
@@ -472,6 +481,7 @@ export declare const CascadeSelectItemIndicator: import("vue").DefineComponent<i
472
481
  default: boolean;
473
482
  };
474
483
  }>> & Readonly<{}>, {
484
+ forcePresent: boolean;
475
485
  as: PrimitiveAs;
476
486
  asChild: boolean;
477
487
  }, SlotsType<{
@@ -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"./internal/native-input.js";import{provideFormControlOwner}from"./internal/form-control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./internal/form-control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{usePresence}from"./internal/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 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,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}from"@sectile/dom/cascade-select";import{Primitive}from"./primitive.js";import{visuallyHiddenInputStyle}from"./internal/native-input.js";import{provideFormControlOwner}from"./internal/form-control.js";import{hiddenSelectSubmissionCapabilities,useCompositeFormControl}from"./internal/form-control.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{usePresence}from"./internal/presence.js";import{useConditionalPresenceRegistry}from"./internal/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};
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"}
@@ -189,6 +189,10 @@ export declare const CheckboxGroupItem: import("vue").DefineComponent<import("vu
189
189
  }) => VNodeChild;
190
190
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
191
191
  export declare const CheckboxGroupIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
192
+ forcePresent: {
193
+ readonly type: BooleanConstructor;
194
+ readonly default: false;
195
+ };
192
196
  as: {
193
197
  type: PropType<PrimitiveAs>;
194
198
  default: string;
@@ -198,6 +202,10 @@ export declare const CheckboxGroupIndicator: import("vue").DefineComponent<impor
198
202
  default: boolean;
199
203
  };
200
204
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
205
+ forcePresent: {
206
+ readonly type: BooleanConstructor;
207
+ readonly default: false;
208
+ };
201
209
  as: {
202
210
  type: PropType<PrimitiveAs>;
203
211
  default: string;
@@ -207,6 +215,7 @@ export declare const CheckboxGroupIndicator: import("vue").DefineComponent<impor
207
215
  default: boolean;
208
216
  };
209
217
  }>> & Readonly<{}>, {
218
+ forcePresent: boolean;
210
219
  as: PrimitiveAs;
211
220
  asChild: boolean;
212
221
  }, SlotsType<{
@@ -1,5 +1,6 @@
1
1
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
2
  import { type PrimitiveAs } from './primitive.js';
3
+ import { type ConditionalPresenceProps } from './internal/conditional-presence.js';
3
4
  export type CheckboxValue = boolean | 'indeterminate';
4
5
  export interface CheckboxRootProps {
5
6
  readonly modelValue?: CheckboxValue;
@@ -121,11 +122,15 @@ export declare const CheckboxRoot: import("vue").DefineComponent<import("vue").E
121
122
  default: (props: CheckboxSlotProps) => VNodeChild;
122
123
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
123
124
  export type CheckboxValueChangeHandler = (value: CheckboxValue) => void;
124
- export interface CheckboxIndicatorProps {
125
+ export interface CheckboxIndicatorProps extends ConditionalPresenceProps {
125
126
  readonly as?: PrimitiveAs;
126
127
  readonly asChild?: boolean;
127
128
  }
128
129
  export declare const CheckboxIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
130
+ forcePresent: {
131
+ readonly type: BooleanConstructor;
132
+ readonly default: false;
133
+ };
129
134
  as: {
130
135
  type: PropType<PrimitiveAs>;
131
136
  default: string;
@@ -135,6 +140,10 @@ export declare const CheckboxIndicator: import("vue").DefineComponent<import("vu
135
140
  default: boolean;
136
141
  };
137
142
  }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
143
+ forcePresent: {
144
+ readonly type: BooleanConstructor;
145
+ readonly default: false;
146
+ };
138
147
  as: {
139
148
  type: PropType<PrimitiveAs>;
140
149
  default: string;
@@ -144,6 +153,7 @@ export declare const CheckboxIndicator: import("vue").DefineComponent<import("vu
144
153
  default: boolean;
145
154
  };
146
155
  }>> & Readonly<{}>, {
156
+ forcePresent: boolean;
147
157
  as: PrimitiveAs;
148
158
  asChild: boolean;
149
159
  }, SlotsType<{