@sectile/vue 0.15.0 → 0.16.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 (54) hide show
  1. package/README.md +5 -5
  2. package/dist/cascade-select.js +1 -1
  3. package/dist/cascade-select.js.map +1 -1
  4. package/dist/combobox.js +1 -1
  5. package/dist/combobox.js.map +1 -1
  6. package/dist/date-picker.js +1 -1
  7. package/dist/date-picker.js.map +1 -1
  8. package/dist/date-range-picker.js +1 -1
  9. package/dist/date-range-picker.js.map +1 -1
  10. package/dist/date-time-picker.js +1 -1
  11. package/dist/date-time-picker.js.map +1 -1
  12. package/dist/date-time-range-picker.js +1 -1
  13. package/dist/date-time-range-picker.js.map +1 -1
  14. package/dist/internal/date-picker.js +1 -1
  15. package/dist/internal/date-picker.js.map +1 -1
  16. package/dist/internal/virtual-collection.d.ts +45 -24
  17. package/dist/internal/virtual-collection.js +1 -1
  18. package/dist/internal/virtual-collection.js.map +1 -1
  19. package/dist/internal/virtual-core.d.ts +109 -34
  20. package/dist/internal/virtual-core.js +1 -1
  21. package/dist/internal/virtual-core.js.map +1 -1
  22. package/dist/internal/virtual-list.d.ts +58 -85
  23. package/dist/internal/virtual-list.js +1 -1
  24. package/dist/internal/virtual-list.js.map +1 -1
  25. package/dist/menu.js +1 -1
  26. package/dist/menu.js.map +1 -1
  27. package/dist/month-picker.js +1 -1
  28. package/dist/month-picker.js.map +1 -1
  29. package/dist/month-range-picker.js +1 -1
  30. package/dist/month-range-picker.js.map +1 -1
  31. package/dist/range-calendar.js +1 -1
  32. package/dist/range-calendar.js.map +1 -1
  33. package/dist/virtual-core.d.ts +1 -1
  34. package/dist/virtual-core.js +1 -1
  35. package/dist/virtual-core.js.map +1 -1
  36. package/dist/virtual-grid.d.ts +50 -75
  37. package/dist/virtual-grid.js +1 -1
  38. package/dist/virtual-grid.js.map +1 -1
  39. package/dist/virtual-list.d.ts +2 -1
  40. package/dist/virtual-list.js.map +1 -1
  41. package/dist/virtual-masonry.d.ts +51 -76
  42. package/dist/virtual-masonry.js +1 -1
  43. package/dist/virtual-masonry.js.map +1 -1
  44. package/dist/virtual-spatial.d.ts +44 -32
  45. package/dist/virtual-spatial.js +1 -1
  46. package/dist/virtual-spatial.js.map +1 -1
  47. package/dist/year-picker.js +1 -1
  48. package/dist/year-picker.js.map +1 -1
  49. package/dist/year-range-picker.js +1 -1
  50. package/dist/year-range-picker.js.map +1 -1
  51. package/package.json +6 -6
  52. package/dist/internal/virtual-collection-model.d.ts +0 -46
  53. package/dist/internal/virtual-collection-model.js +0 -2
  54. package/dist/internal/virtual-collection-model.js.map +0 -1
package/README.md CHANGED
@@ -13,8 +13,8 @@ Headless Vue components backed by Sectile DOM semantics.
13
13
  Components expose stable `data-scope`, `data-part`, and `data-state` attributes. Styling, themes, spacing, and animation remain application responsibilities.
14
14
 
15
15
  `@sectile/vue/virtual/core` provides the typed `useVirtualizer` composable and
16
- `VirtualizerRoot`, `VirtualizerContent`, and `VirtualizerItem` headless parts.
17
- `VirtualizerItem` supports `asChild`, so existing collection items keep their
18
- semantic element while receiving virtual placement and measurement refs. Install
19
- `@sectile/virtual` separately when using this subpath; the rest of `@sectile/vue`
20
- does not require it.
16
+ `VirtualizerRoot`, `VirtualizerHeader`, `VirtualizerSurface`, `VirtualizerItem`,
17
+ and `VirtualizerFooter` headless parts. `VirtualizerItem` supports `asChild`, so
18
+ existing collection items keep their semantic element while receiving virtual
19
+ placement and measurement refs. Install `@sectile/virtual` separately when using
20
+ this subpath; the rest of `@sectile/vue` does not require it.
@@ -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{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,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()},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 registerContent=node=>{const content=node instanceof HTMLElement?node:void 0;element.value=content;root.registerPopup(content)};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerContent,role:"group",hidden:!root.state.value.open,"aria-label":root.label.value,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":root.state.value.open?"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{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};
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"}
package/dist/combobox.js CHANGED
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCombobox}from"@sectile/dom/combobox";import{createTextState}from"@sectile/dom/text";import{Primitive}from"./primitive.js";import{useNativeInputFormControl}from"./internal/form-control.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";const key=Symbol("SectileComboboxRoot");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const ComboboxRoot=defineComponent({name:"SectileComboboxRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},inputValue:{type:String,default:void 0},defaultInputValue:{type:String,default:""},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},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"},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:inputValue":_value=>true,"update:open":_value=>true,highlight:_value=>true,accept:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const input=shallowRef();const popup=shallowRef();const connection=shallowRef();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const localInput=shallowRef(props.inputValue??props.defaultInputValue);const localOpen=shallowRef(props.open??props.defaultOpen);const highlighted=shallowRef(null);let proposedInputState=null;const controlled={value:useControlledStateInvariant("ComboboxRoot","modelValue",()=>props.modelValue),input:useControlledStateInvariant("ComboboxRoot","inputValue",()=>props.inputValue),open:useControlledStateInvariant("ComboboxRoot","open",()=>props.open)};const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,inputValue:props.inputValue??localInput.value,highlightedValue:highlighted.value,open:props.open??localOpen.value,disabled:props.disabled,readonly:props.readonly}));const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.selection.selected[0]??null;localInput.value=snapshot.text.snapshot.text;localOpen.value=snapshot.popupOpen;highlighted.value=snapshot.cursor.current;refreshItems()};const refreshItems=()=>{if(popup.value===void 0||connection.value===void 0)return;popup.value.querySelectorAll("[data-sectile-combobox-id]").forEach(element=>{const id=element.dataset["sectileComboboxId"];if(id!==void 0)connection.value?.setItemAttributes(element,{id,disabled:element.dataset["disabled"]==="true"})})};const connect=()=>{connection.value?.disconnect();if(input.value===void 0)return;const items=props.items.map(item=>item.id);const requestedValue=controlled.value?props.modelValue:localValue.value;const reconciled=reconcileCollectionState(items,requestedValue===null?[]:[requestedValue],highlighted.value,[],"single",{preserveNullCurrent:true});const value=reconciled.selected[0]??null;localValue.value=value;highlighted.value=reconciled.current;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCombobox({input:input.value,...popup.value===void 0?{}:{popup:popup.value},items:props.items,...props.policies===void 0?{}:{policies:props.policies},...controlled.value?{value}:{defaultValue:value},defaultHighlightedValue:reconciled.current,...controlled.input?{inputState:createTextState(props.inputValue)}:{defaultInputState:createTextState(localInput.value)},...controlled.open?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,readOnly:props.readonly,position:props.position,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,onValueChange:({value:value2})=>{localValue.value=value2;emit("update:modelValue",value2)},onInputStateChange:({value:value2})=>{proposedInputState=value2;localInput.value=value2.snapshot.text;emit("update:inputValue",value2.snapshot.text);if(!controlled.input)return;const proposal=value2;void nextTick(()=>{if(connection.value===void 0||proposedInputState!==proposal)return;if(props.inputValue!==proposal.snapshot.text)return;proposedInputState=null;syncControlledValues(proposal)})},onOpenChange:({value:value2})=>{localOpen.value=value2;emit("update:open",value2)},onHighlightedValueChange:({value:value2})=>{highlighted.value=value2;emit("highlight",value2)},onAccept:id=>emit("accept",id),onUpdate:refresh});connection.value.setInputAttributes(props.label);connection.value.setPopupAttributes(props.label);refreshItems();refresh()};let mounted=false;let connectScheduled=false;const scheduleConnect=()=>{if(!mounted||connectScheduled)return;connectScheduled=true;void nextTick(()=>{connectScheduled=false;if(mounted)connect()})};provide(key,{state,position:computed(()=>props.position),strategy:computed(()=>props.strategy),label:computed(()=>props.label),connection:computed(()=>connection.value),registerInput:element=>{const changed=input.value!==element;input.value=element;if(changed)scheduleConnect()},registerPopup:element=>{const changed=popup.value!==element;popup.value=element;if(changed)scheduleConnect()},registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,{id,disabled})});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connection.value?.disconnect();connection.value=void 0;proposedInputState=null});watch(()=>props.items,(items,previousItems)=>{if(!sameComboboxItems(items,previousItems))connect()});watch([()=>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.inputValue,()=>props.open],()=>{const inputState=controlled.input&&proposedInputState!==null&&proposedInputState.snapshot.text===props.inputValue?proposedInputState:controlled.input?createTextState(props.inputValue):void 0;proposedInputState=null;syncControlledValues(inputState)});const syncControlledValues=inputState=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.input?{inputState:inputState??createTextState(props.inputValue)}:{},...controlled.open?{open:props.open}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"combobox","data-part":"root","data-state":state.value.open?"open":"closed","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const ComboboxInput=defineComponent({name:"SectileComboboxInput",inheritAttrs:false,props:{name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("ComboboxInput");const input=shallowRef(null);const participation=useNativeInputFormControl(input);const renderServerValue=typeof window==="undefined";const registerInput=node=>{input.value=node instanceof HTMLInputElement?node:null;root.registerInput(input.value??void 0)};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerInput,type:"text",role:"combobox",...renderServerValue?{value:root.state.value.inputValue}:{},name:props.name,form:props.form,required:props.required,disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":root.label.value,"aria-autocomplete":"list","aria-expanded":String(root.state.value.open),"data-scope":"combobox","data-part":"input"},participation.controlProps.value))}});const ComboboxContent=defineComponent({name:"SectileComboboxContent",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxContent");const element=shallowRef();const registerContent=node=>{const content=node instanceof HTMLElement?node:void 0;element.value=content;root.registerPopup(content)};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerContent,role:"listbox",hidden:!root.state.value.open,"aria-label":root.label.value,style:root.position.value?{position:root.strategy.value,visibility:element.value===void 0?"hidden":void 0}:void 0,"data-scope":"combobox","data-part":"content","data-state":root.state.value.open?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}});const ComboboxItem=defineComponent({name:"SectileComboboxItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxItem");const state=computed(()=>({value:props.value,selected:root.state.value.value===props.value,highlighted:root.state.value.highlightedValue===props.value,disabled:root.state.value.disabled||props.disabled}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerItem(node,props.value,state.value.disabled)},role:"option","aria-selected":String(state.value.selected),"aria-disabled":state.value.disabled?"true":void 0,"data-sectile-combobox-id":props.value,"data-disabled":state.value.disabled?"true":void 0,"data-scope":"combobox","data-part":"item","data-selected":state.value.selected?"":void 0,"data-highlighted":state.value.highlighted?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const ComboboxEmpty=defineComponent({name:"SectileComboboxEmpty",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxEmpty");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:"status","data-scope":"combobox","data-part":"empty"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside ComboboxRoot.`);return root}function sameComboboxItems(items,previousItems){return items.length===previousItems.length&&items.every((item,index)=>{const previousItem=previousItems[index];return previousItem!==void 0&&item.id===previousItem.id&&item.label===previousItem.label})}export{ComboboxContent,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxRoot};
1
+ import{computed,defineComponent,h,inject,mergeProps,nextTick,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{createCombobox}from"@sectile/dom/combobox";import{createTextState}from"@sectile/dom/text";import{Primitive}from"./primitive.js";import{useNativeInputFormControl}from"./internal/form-control.js";import{reconcileCollectionState}from"./internal/collection.js";import{useControlledStateInvariant}from"./internal/controlled-state.js";import{usePresence}from"./internal/presence.js";const key=Symbol("SectileComboboxRoot");const partProps={as:{type:[String,Object,Function],default:"span"},asChild:{type:Boolean,default:false}};const ComboboxRoot=defineComponent({name:"SectileComboboxRoot",inheritAttrs:false,props:{items:{type:Array,required:true},modelValue:{type:String,default:void 0},defaultValue:{type:String,default:null},inputValue:{type:String,default:void 0},defaultInputValue:{type:String,default:""},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:false},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},label:{type:String,default:void 0},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"},policies:{type:Object,default:void 0},as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true,"update:inputValue":_value=>true,"update:open":_value=>true,highlight:_value=>true,accept:_value=>true},slots:Object,setup(props,{attrs,emit,slots}){const input=shallowRef();const popup=shallowRef();const connection=shallowRef();const localValue=shallowRef(props.modelValue!==void 0?props.modelValue:props.defaultValue);const localInput=shallowRef(props.inputValue??props.defaultInputValue);const localOpen=shallowRef(props.open??props.defaultOpen);const highlighted=shallowRef(null);let proposedInputState=null;const controlled={value:useControlledStateInvariant("ComboboxRoot","modelValue",()=>props.modelValue),input:useControlledStateInvariant("ComboboxRoot","inputValue",()=>props.inputValue),open:useControlledStateInvariant("ComboboxRoot","open",()=>props.open)};const state=computed(()=>Object.freeze({value:props.modelValue!==void 0?props.modelValue:localValue.value,inputValue:props.inputValue??localInput.value,highlightedValue:highlighted.value,open:props.open??localOpen.value,disabled:props.disabled,readonly:props.readonly}));const refresh=()=>{const snapshot=connection.value?.getSnapshot().state;if(snapshot===void 0)return;localValue.value=snapshot.selection.selected[0]??null;localInput.value=snapshot.text.snapshot.text;localOpen.value=snapshot.popupOpen;highlighted.value=snapshot.cursor.current;refreshItems()};const refreshItems=()=>{if(popup.value===void 0||connection.value===void 0)return;popup.value.querySelectorAll("[data-sectile-combobox-id]").forEach(element=>{const id=element.dataset["sectileComboboxId"];if(id!==void 0)connection.value?.setItemAttributes(element,{id,disabled:element.dataset["disabled"]==="true"})})};const connect=()=>{connection.value?.disconnect();if(input.value===void 0)return;const items=props.items.map(item=>item.id);const requestedValue=controlled.value?props.modelValue:localValue.value;const reconciled=reconcileCollectionState(items,requestedValue===null?[]:[requestedValue],highlighted.value,[],"single",{preserveNullCurrent:true});const value=reconciled.selected[0]??null;localValue.value=value;highlighted.value=reconciled.current;if(controlled.value&&requestedValue!==value)emit("update:modelValue",value);connection.value=createCombobox({input:input.value,...popup.value===void 0?{}:{popup:popup.value},items:props.items,manageVisibility:false,...props.policies===void 0?{}:{policies:props.policies},...controlled.value?{value}:{defaultValue:value},defaultHighlightedValue:reconciled.current,...controlled.input?{inputState:createTextState(props.inputValue)}:{defaultInputState:createTextState(localInput.value)},...controlled.open?{open:props.open}:{defaultOpen:localOpen.value},disabled:props.disabled,readOnly:props.readonly,position:props.position,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,onValueChange:({value:value2})=>{localValue.value=value2;emit("update:modelValue",value2)},onInputStateChange:({value:value2})=>{proposedInputState=value2;localInput.value=value2.snapshot.text;emit("update:inputValue",value2.snapshot.text);if(!controlled.input)return;const proposal=value2;void nextTick(()=>{if(connection.value===void 0||proposedInputState!==proposal)return;if(props.inputValue!==proposal.snapshot.text)return;proposedInputState=null;syncControlledValues(proposal)})},onOpenChange:({value:value2})=>{localOpen.value=value2;emit("update:open",value2)},onHighlightedValueChange:({value:value2})=>{highlighted.value=value2;emit("highlight",value2)},onAccept:id=>emit("accept",id),onUpdate:refresh});connection.value.setInputAttributes(props.label);connection.value.setPopupAttributes(props.label);refreshItems();refresh()};let mounted=false;let connectScheduled=false;const scheduleConnect=()=>{if(!mounted||connectScheduled)return;connectScheduled=true;void nextTick(()=>{connectScheduled=false;if(mounted)connect()})};provide(key,{state,position:computed(()=>props.position),strategy:computed(()=>props.strategy),label:computed(()=>props.label),connection:computed(()=>connection.value),registerInput:element=>{const changed=input.value!==element;input.value=element;if(changed)scheduleConnect()},registerPopup:element=>{const changed=popup.value!==element;popup.value=element;if(changed)scheduleConnect()},registerItem:(element,id,disabled)=>connection.value?.setItemAttributes(element,{id,disabled})});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connection.value?.disconnect();connection.value=void 0;proposedInputState=null});watch(()=>props.items,(items,previousItems)=>{if(!sameComboboxItems(items,previousItems))connect()});watch([()=>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.inputValue,()=>props.open],()=>{const inputState=controlled.input&&proposedInputState!==null&&proposedInputState.snapshot.text===props.inputValue?proposedInputState:controlled.input?createTextState(props.inputValue):void 0;proposedInputState=null;syncControlledValues(inputState)});const syncControlledValues=inputState=>{if(connection.value===void 0)return;const result=connection.value.syncControlledValues({...controlled.value?{value:props.modelValue}:{},...controlled.input?{inputState:inputState??createTextState(props.inputValue)}:{},...controlled.open?{open:props.open}:{}});if(!result.ok)throw new TypeError(result.error.message);refresh()};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":"combobox","data-part":"root","data-state":state.value.open?"open":"closed","data-disabled":props.disabled?"":void 0,"data-readonly":props.readonly?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const ComboboxInput=defineComponent({name:"SectileComboboxInput",inheritAttrs:false,props:{name:{type:String,default:void 0},form:{type:String,default:void 0},required:{type:Boolean,default:false},as:{type:[String,Object,Function],default:"input"},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot("ComboboxInput");const input=shallowRef(null);const participation=useNativeInputFormControl(input);const renderServerValue=typeof window==="undefined";const registerInput=node=>{input.value=node instanceof HTMLInputElement?node:null;root.registerInput(input.value??void 0)};return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:registerInput,type:"text",role:"combobox",...renderServerValue?{value:root.state.value.inputValue}:{},name:props.name,form:props.form,required:props.required,disabled:root.state.value.disabled,readonly:root.state.value.readonly,"aria-label":root.label.value,"aria-autocomplete":"list","aria-expanded":String(root.state.value.open),"data-scope":"combobox","data-part":"input"},participation.controlProps.value))}});const ComboboxContent=defineComponent({name:"SectileComboboxContent",inheritAttrs:false,props:{as:{type:[String,Object,Function],default:"div"},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxContent");const element=shallowRef();const open=computed(()=>root.state.value.open);const present=usePresence(open,element);watch(present,async()=>{await nextTick();root.connection.value?.render()},{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:"listbox",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":"combobox","data-part":"content","data-state":open.value?"open":"closed"}),{default:()=>slots["default"]?.(root.state.value)})}}});const ComboboxItem=defineComponent({name:"SectileComboboxItem",inheritAttrs:false,props:{value:{type:String,required:true},disabled:{type:Boolean,default:false},...partProps},slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxItem");const state=computed(()=>({value:props.value,selected:root.state.value.value===props.value,highlighted:root.state.value.highlightedValue===props.value,disabled:root.state.value.disabled||props.disabled}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{if(node instanceof HTMLElement)root.registerItem(node,props.value,state.value.disabled)},role:"option","aria-selected":String(state.value.selected),"aria-disabled":state.value.disabled?"true":void 0,"data-sectile-combobox-id":props.value,"data-disabled":state.value.disabled?"true":void 0,"data-scope":"combobox","data-part":"item","data-selected":state.value.selected?"":void 0,"data-highlighted":state.value.highlighted?"":void 0}),{default:()=>slots["default"]?.(state.value)})}});const ComboboxEmpty=defineComponent({name:"SectileComboboxEmpty",inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot("ComboboxEmpty");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:"status","data-scope":"combobox","data-part":"empty"}),{default:()=>slots["default"]?.(root.state.value)})}});function useRoot(part){const root=inject(key);if(root===void 0)throw new TypeError(`${part} must be used inside ComboboxRoot.`);return root}function sameComboboxItems(items,previousItems){return items.length===previousItems.length&&items.every((item,index)=>{const previousItem=previousItems[index];return previousItem!==void 0&&item.id===previousItem.id&&item.label===previousItem.label})}export{ComboboxContent,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxRoot};
2
2
  //# sourceMappingURL=combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/combobox.ts"],"mappings":"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","names":["value"],"file":"combobox.js"}
1
+ {"version":3,"sources":["../src/combobox.ts"],"mappings":"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","names":["value"],"file":"combobox.js"}
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from"./internal/date-picker.js";import{datePickerCapability}from"./internal/date-picker-capability.js";const DatePickerRoot=createPickerRoot(datePickerCapability,"SectileDatePickerRoot");const DatePickerTrigger=specializePickerRootPart("date",PickerTrigger);const DatePickerAnchor=specializePickerRootPart("date",PickerAnchor);const DatePickerPortal=PickerPortal;const DatePickerContent=specializePickerRootPart("date",PickerContent);const DatePickerGrid=specializePickerRootPart("date",PickerGrid);const DatePickerCell=PickerCell;const DatePickerMonthCell=PickerMonthCell;const DatePickerInput=createPickerInput("input","SectileDatePickerInput");const DatePickerPreviousWeek=specializePickerRootPart("date",createPickerMove("week",-1,"SectileDatePickerPreviousWeek"));const DatePickerNextWeek=specializePickerRootPart("date",createPickerMove("week",1,"SectileDatePickerNextWeek"));const DatePickerPreviousMonth=specializePickerRootPart("date",createPickerMove("month",-1,"SectileDatePickerPreviousMonth"));const DatePickerNextMonth=specializePickerRootPart("date",createPickerMove("month",1,"SectileDatePickerNextMonth"));const DatePickerPreviousYear=specializePickerRootPart("date",createPickerMove("year",-1,"SectileDatePickerPreviousYear"));const DatePickerNextYear=specializePickerRootPart("date",createPickerMove("year",1,"SectileDatePickerNextYear"));const DatePickerWeekViewTrigger=specializePickerRootPart("date",createPickerViewTrigger("week","SectileDatePickerWeekViewTrigger"));const DatePickerMonthViewTrigger=specializePickerRootPart("date",createPickerViewTrigger("month","SectileDatePickerMonthViewTrigger"));const DatePickerYearViewTrigger=specializePickerRootPart("date",createPickerViewTrigger("year","SectileDatePickerYearViewTrigger"));export{DatePickerAnchor,DatePickerCell,DatePickerContent,DatePickerGrid,DatePickerInput,DatePickerMonthCell,DatePickerMonthViewTrigger,DatePickerNextMonth,DatePickerNextWeek,DatePickerNextYear,DatePickerPortal,DatePickerPreviousMonth,DatePickerPreviousWeek,DatePickerPreviousYear,DatePickerRoot,DatePickerTrigger,DatePickerWeekViewTrigger,DatePickerYearViewTrigger};
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./internal/date-picker.js';import{datePickerCapability}from'./internal/date-picker-capability.js';export const DatePickerRoot=createPickerRoot(datePickerCapability,'SectileDatePickerRoot');export const DatePickerTrigger=specializePickerRootPart('date',PickerTrigger);export const DatePickerAnchor=specializePickerRootPart('date',PickerAnchor);export const DatePickerPortal=PickerPortal;export const DatePickerContent=/* @__PURE__ */specializePickerRootPart('date',PickerContent);export const DatePickerGrid=specializePickerRootPart('date',PickerGrid);export const DatePickerCell=PickerCell;export const DatePickerMonthCell=PickerMonthCell;export const DatePickerInput=createPickerInput('input','SectileDatePickerInput');export const DatePickerPreviousWeek=specializePickerRootPart('date',createPickerMove('week',-1,'SectileDatePickerPreviousWeek'));export const DatePickerNextWeek=specializePickerRootPart('date',createPickerMove('week',1,'SectileDatePickerNextWeek'));export const DatePickerPreviousMonth=specializePickerRootPart('date',createPickerMove('month',-1,'SectileDatePickerPreviousMonth'));export const DatePickerNextMonth=specializePickerRootPart('date',createPickerMove('month',1,'SectileDatePickerNextMonth'));export const DatePickerPreviousYear=specializePickerRootPart('date',createPickerMove('year',-1,'SectileDatePickerPreviousYear'));export const DatePickerNextYear=specializePickerRootPart('date',createPickerMove('year',1,'SectileDatePickerNextYear'));export const DatePickerWeekViewTrigger=specializePickerRootPart('date',createPickerViewTrigger('week','SectileDatePickerWeekViewTrigger'));export const DatePickerMonthViewTrigger=specializePickerRootPart('date',createPickerViewTrigger('month','SectileDatePickerMonthViewTrigger'));export const DatePickerYearViewTrigger=specializePickerRootPart('date',createPickerViewTrigger('year','SectileDatePickerYearViewTrigger'));
2
2
  //# sourceMappingURL=date-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/date-picker.ts"],"mappings":"AAEA,OACE,aAAc,WAAY,cAAe,WAAY,gBAAiB,aAAc,cAAe,kBAAmB,iBAAkB,wBAAyB,yBACjK,qBACK,4BACP,OAAS,yBAA4B,uCAS9B,MAAM,eAAiB,iBAAiB,qBAAsB,uBAAuB,EAKrF,MAAM,kBAAoB,yBAAyB,OAAQ,aAAa,EACxE,MAAM,iBAAmB,yBAAyB,OAAQ,YAAY,EACtE,MAAM,iBAAmB,aACzB,MAAM,kBAAoB,yBAAyB,OAAQ,aAAa,EACxE,MAAM,eAAiB,yBAAyB,OAAQ,UAAU,EAClE,MAAM,eAAiB,WACvB,MAAM,oBAAsB,gBAC5B,MAAM,gBAAkB,kBAAkB,QAAS,wBAAwB,EAC3E,MAAM,uBAAyB,yBAAyB,OAAQ,iBAAiB,OAAQ,GAAI,+BAA+B,CAAC,EAC7H,MAAM,mBAAqB,yBAAyB,OAAQ,iBAAiB,OAAQ,EAAG,2BAA2B,CAAC,EACpH,MAAM,wBAA0B,yBAAyB,OAAQ,iBAAiB,QAAS,GAAI,gCAAgC,CAAC,EAChI,MAAM,oBAAsB,yBAAyB,OAAQ,iBAAiB,QAAS,EAAG,4BAA4B,CAAC,EACvH,MAAM,uBAAyB,yBAAyB,OAAQ,iBAAiB,OAAQ,GAAI,+BAA+B,CAAC,EAC7H,MAAM,mBAAqB,yBAAyB,OAAQ,iBAAiB,OAAQ,EAAG,2BAA2B,CAAC,EACpH,MAAM,0BAA4B,yBAAyB,OAAQ,wBAAwB,OAAQ,kCAAkC,CAAC,EACtI,MAAM,2BAA6B,yBAAyB,OAAQ,wBAAwB,QAAS,mCAAmC,CAAC,EACzI,MAAM,0BAA4B,yBAAyB,OAAQ,wBAAwB,OAAQ,kCAAkC,CAAC","names":[],"file":"date-picker.js"}
1
+ {"version":3,"file":"date-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","datePickerCapability","DatePickerRoot","DatePickerTrigger","DatePickerAnchor","DatePickerPortal","DatePickerContent","DatePickerGrid","DatePickerCell","DatePickerMonthCell","DatePickerInput","DatePickerPreviousWeek","DatePickerNextWeek","DatePickerPreviousMonth","DatePickerNextMonth","DatePickerPreviousYear","DatePickerNextYear","DatePickerWeekViewTrigger","DatePickerMonthViewTrigger","DatePickerYearViewTrigger"],"sources":["../src/date-picker.ts"],"mappings":"OAGEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,mCACEC,yBAA4B,8CAS9B,MAAMC,eAAiBF,iBAAiBC,qBAAsB,gCAK9D,MAAME,kBAAoBJ,yBAAyB,OAAQJ,sBAC3D,MAAMS,iBAAmBL,yBAAyB,OAAQV,qBAC1D,MAAMgB,iBAAmBX,oBACzB,MAAMY,iCAAoCP,yBAAyB,OAAQR,sBAC3E,MAAMgB,eAAiBR,yBAAyB,OAAQP,mBACxD,MAAMgB,eAAiBlB,kBACvB,MAAMmB,oBAAsBhB,uBAC5B,MAAMiB,gBAAkBd,kBAAkB,QAAS,iCACnD,MAAMe,uBAAyBZ,yBAAyB,OAAQF,iBAAiB,QAAS,EAAG,yCAC7F,MAAMe,mBAAqBb,yBAAyB,OAAQF,iBAAiB,OAAQ,EAAG,qCACxF,MAAMgB,wBAA0Bd,yBAAyB,OAAQF,iBAAiB,SAAU,EAAG,0CAC/F,MAAMiB,oBAAsBf,yBAAyB,OAAQF,iBAAiB,QAAS,EAAG,sCAC1F,MAAMkB,uBAAyBhB,yBAAyB,OAAQF,iBAAiB,QAAS,EAAG,yCAC7F,MAAMmB,mBAAqBjB,yBAAyB,OAAQF,iBAAiB,OAAQ,EAAG,qCACxF,MAAMoB,0BAA4BlB,yBAAyB,OAAQD,wBAAwB,OAAQ,4CACnG,MAAMoB,2BAA6BnB,yBAAyB,OAAQD,wBAAwB,QAAS,6CACrG,MAAMqB,0BAA4BpB,yBAAyB,OAAQD,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from"./internal/date-picker.js";import{dateRangePickerCapability}from"./internal/date-range-picker-capability.js";const DateRangePickerRoot=createPickerRoot(dateRangePickerCapability,"SectileDateRangePickerRoot");const DateRangePickerTrigger=specializePickerRootPart("date-range",PickerTrigger);const DateRangePickerAnchor=specializePickerRootPart("date-range",PickerAnchor);const DateRangePickerPortal=PickerPortal;const DateRangePickerContent=specializePickerRootPart("date-range",PickerContent);const DateRangePickerGrid=specializePickerRootPart("date-range",PickerGrid);const DateRangePickerCell=PickerCell;const DateRangePickerMonthCell=PickerMonthCell;const DateRangePickerStartInput=createPickerInput("start-input","SectileDateRangePickerStartInput");const DateRangePickerEndInput=createPickerInput("end-input","SectileDateRangePickerEndInput");const DateRangePickerPreviousWeek=specializePickerRootPart("date-range",createPickerMove("week",-1,"SectileDateRangePickerPreviousWeek"));const DateRangePickerNextWeek=specializePickerRootPart("date-range",createPickerMove("week",1,"SectileDateRangePickerNextWeek"));const DateRangePickerPreviousMonth=specializePickerRootPart("date-range",createPickerMove("month",-1,"SectileDateRangePickerPreviousMonth"));const DateRangePickerNextMonth=specializePickerRootPart("date-range",createPickerMove("month",1,"SectileDateRangePickerNextMonth"));const DateRangePickerPreviousYear=specializePickerRootPart("date-range",createPickerMove("year",-1,"SectileDateRangePickerPreviousYear"));const DateRangePickerNextYear=specializePickerRootPart("date-range",createPickerMove("year",1,"SectileDateRangePickerNextYear"));const DateRangePickerWeekViewTrigger=specializePickerRootPart("date-range",createPickerViewTrigger("week","SectileDateRangePickerWeekViewTrigger"));const DateRangePickerMonthViewTrigger=specializePickerRootPart("date-range",createPickerViewTrigger("month","SectileDateRangePickerMonthViewTrigger"));const DateRangePickerYearViewTrigger=specializePickerRootPart("date-range",createPickerViewTrigger("year","SectileDateRangePickerYearViewTrigger"));export{DateRangePickerAnchor,DateRangePickerCell,DateRangePickerContent,DateRangePickerEndInput,DateRangePickerGrid,DateRangePickerMonthCell,DateRangePickerMonthViewTrigger,DateRangePickerNextMonth,DateRangePickerNextWeek,DateRangePickerNextYear,DateRangePickerPortal,DateRangePickerPreviousMonth,DateRangePickerPreviousWeek,DateRangePickerPreviousYear,DateRangePickerRoot,DateRangePickerStartInput,DateRangePickerTrigger,DateRangePickerWeekViewTrigger,DateRangePickerYearViewTrigger};
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./internal/date-picker.js';import{dateRangePickerCapability}from'./internal/date-range-picker-capability.js';export const DateRangePickerRoot=createPickerRoot(dateRangePickerCapability,'SectileDateRangePickerRoot');export const DateRangePickerTrigger=specializePickerRootPart('date-range',PickerTrigger);export const DateRangePickerAnchor=specializePickerRootPart('date-range',PickerAnchor);export const DateRangePickerPortal=PickerPortal;export const DateRangePickerContent=/* @__PURE__ */specializePickerRootPart('date-range',PickerContent);export const DateRangePickerGrid=specializePickerRootPart('date-range',PickerGrid);export const DateRangePickerCell=PickerCell;export const DateRangePickerMonthCell=PickerMonthCell;export const DateRangePickerStartInput=createPickerInput('start-input','SectileDateRangePickerStartInput');export const DateRangePickerEndInput=createPickerInput('end-input','SectileDateRangePickerEndInput');export const DateRangePickerPreviousWeek=specializePickerRootPart('date-range',createPickerMove('week',-1,'SectileDateRangePickerPreviousWeek'));export const DateRangePickerNextWeek=specializePickerRootPart('date-range',createPickerMove('week',1,'SectileDateRangePickerNextWeek'));export const DateRangePickerPreviousMonth=specializePickerRootPart('date-range',createPickerMove('month',-1,'SectileDateRangePickerPreviousMonth'));export const DateRangePickerNextMonth=specializePickerRootPart('date-range',createPickerMove('month',1,'SectileDateRangePickerNextMonth'));export const DateRangePickerPreviousYear=specializePickerRootPart('date-range',createPickerMove('year',-1,'SectileDateRangePickerPreviousYear'));export const DateRangePickerNextYear=specializePickerRootPart('date-range',createPickerMove('year',1,'SectileDateRangePickerNextYear'));export const DateRangePickerWeekViewTrigger=specializePickerRootPart('date-range',createPickerViewTrigger('week','SectileDateRangePickerWeekViewTrigger'));export const DateRangePickerMonthViewTrigger=specializePickerRootPart('date-range',createPickerViewTrigger('month','SectileDateRangePickerMonthViewTrigger'));export const DateRangePickerYearViewTrigger=specializePickerRootPart('date-range',createPickerViewTrigger('year','SectileDateRangePickerYearViewTrigger'));
2
2
  //# sourceMappingURL=date-range-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/date-range-picker.ts"],"mappings":"AAEA,OACE,aAAc,WAAY,cAAe,WAAY,gBAAiB,aAAc,cAAe,kBAAmB,iBAAkB,wBAAyB,yBACjK,qBACK,4BACP,OAAS,8BAAiC,6CASnC,MAAM,oBAAsB,iBAAiB,0BAA2B,4BAA4B,EAKpG,MAAM,uBAAyB,yBAAyB,aAAc,aAAa,EACnF,MAAM,sBAAwB,yBAAyB,aAAc,YAAY,EACjF,MAAM,sBAAwB,aAC9B,MAAM,uBAAyB,yBAAyB,aAAc,aAAa,EACnF,MAAM,oBAAsB,yBAAyB,aAAc,UAAU,EAC7E,MAAM,oBAAsB,WAC5B,MAAM,yBAA2B,gBACjC,MAAM,0BAA4B,kBAAkB,cAAe,kCAAkC,EACrG,MAAM,wBAA0B,kBAAkB,YAAa,gCAAgC,EAC/F,MAAM,4BAA8B,yBAAyB,aAAc,iBAAiB,OAAQ,GAAI,oCAAoC,CAAC,EAC7I,MAAM,wBAA0B,yBAAyB,aAAc,iBAAiB,OAAQ,EAAG,gCAAgC,CAAC,EACpI,MAAM,6BAA+B,yBAAyB,aAAc,iBAAiB,QAAS,GAAI,qCAAqC,CAAC,EAChJ,MAAM,yBAA2B,yBAAyB,aAAc,iBAAiB,QAAS,EAAG,iCAAiC,CAAC,EACvI,MAAM,4BAA8B,yBAAyB,aAAc,iBAAiB,OAAQ,GAAI,oCAAoC,CAAC,EAC7I,MAAM,wBAA0B,yBAAyB,aAAc,iBAAiB,OAAQ,EAAG,gCAAgC,CAAC,EACpI,MAAM,+BAAiC,yBAAyB,aAAc,wBAAwB,OAAQ,uCAAuC,CAAC,EACtJ,MAAM,gCAAkC,yBAAyB,aAAc,wBAAwB,QAAS,wCAAwC,CAAC,EACzJ,MAAM,+BAAiC,yBAAyB,aAAc,wBAAwB,OAAQ,uCAAuC,CAAC","names":[],"file":"date-range-picker.js"}
1
+ {"version":3,"file":"date-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateRangePickerCapability","DateRangePickerRoot","DateRangePickerTrigger","DateRangePickerAnchor","DateRangePickerPortal","DateRangePickerContent","DateRangePickerGrid","DateRangePickerCell","DateRangePickerMonthCell","DateRangePickerStartInput","DateRangePickerEndInput","DateRangePickerPreviousWeek","DateRangePickerNextWeek","DateRangePickerPreviousMonth","DateRangePickerNextMonth","DateRangePickerPreviousYear","DateRangePickerNextYear","DateRangePickerWeekViewTrigger","DateRangePickerMonthViewTrigger","DateRangePickerYearViewTrigger"],"sources":["../src/date-range-picker.ts"],"mappings":"OAGEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,mCACEC,8BAAiC,oDASnC,MAAMC,oBAAsBF,iBAAiBC,0BAA2B,qCAKxE,MAAME,uBAAyBJ,yBAAyB,aAAcJ,sBACtE,MAAMS,sBAAwBL,yBAAyB,aAAcV,qBACrE,MAAMgB,sBAAwBX,oBAC9B,MAAMY,sCAAyCP,yBAAyB,aAAcR,sBACtF,MAAMgB,oBAAsBR,yBAAyB,aAAcP,mBACnE,MAAMgB,oBAAsBlB,kBAC5B,MAAMmB,yBAA2BhB,uBACjC,MAAMiB,0BAA4Bd,kBAAkB,cAAe,2CACnE,MAAMe,wBAA0Bf,kBAAkB,YAAa,yCAC/D,MAAMgB,4BAA8Bb,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,8CACxG,MAAMgB,wBAA0Bd,yBAAyB,aAAcF,iBAAiB,OAAQ,EAAG,0CACnG,MAAMiB,6BAA+Bf,yBAAyB,aAAcF,iBAAiB,SAAU,EAAG,+CAC1G,MAAMkB,yBAA2BhB,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,2CACrG,MAAMmB,4BAA8BjB,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,8CACxG,MAAMoB,wBAA0BlB,yBAAyB,aAAcF,iBAAiB,OAAQ,EAAG,0CACnG,MAAMqB,+BAAiCnB,yBAAyB,aAAcD,wBAAwB,OAAQ,iDAC9G,MAAMqB,gCAAkCpB,yBAAyB,aAAcD,wBAAwB,QAAS,kDAChH,MAAMsB,+BAAiCrB,yBAAyB,aAAcD,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from"./internal/date-picker.js";import{dateTimePickerCapability}from"./internal/date-time-picker-capability.js";const DateTimePickerRoot=createPickerRoot(dateTimePickerCapability,"SectileDateTimePickerRoot");const DateTimePickerTrigger=specializePickerRootPart("date-time",PickerTrigger);const DateTimePickerAnchor=specializePickerRootPart("date-time",PickerAnchor);const DateTimePickerPortal=PickerPortal;const DateTimePickerContent=specializePickerRootPart("date-time",PickerContent);const DateTimePickerGrid=specializePickerRootPart("date-time",PickerGrid);const DateTimePickerCell=PickerCell;const DateTimePickerMonthCell=PickerMonthCell;const DateTimePickerDateTimeInput=createPickerInput("date-time-input","SectileDateTimePickerDateTimeInput");const DateTimePickerDateInput=createPickerInput("date-input","SectileDateTimePickerDateInput");const DateTimePickerTimeInput=createPickerInput("time-input","SectileDateTimePickerTimeInput");const DateTimePickerPreviousWeek=specializePickerRootPart("date-time",createPickerMove("week",-1,"SectileDateTimePickerPreviousWeek"));const DateTimePickerNextWeek=specializePickerRootPart("date-time",createPickerMove("week",1,"SectileDateTimePickerNextWeek"));const DateTimePickerPreviousMonth=specializePickerRootPart("date-time",createPickerMove("month",-1,"SectileDateTimePickerPreviousMonth"));const DateTimePickerNextMonth=specializePickerRootPart("date-time",createPickerMove("month",1,"SectileDateTimePickerNextMonth"));const DateTimePickerPreviousYear=specializePickerRootPart("date-time",createPickerMove("year",-1,"SectileDateTimePickerPreviousYear"));const DateTimePickerNextYear=specializePickerRootPart("date-time",createPickerMove("year",1,"SectileDateTimePickerNextYear"));const DateTimePickerWeekViewTrigger=specializePickerRootPart("date-time",createPickerViewTrigger("week","SectileDateTimePickerWeekViewTrigger"));const DateTimePickerMonthViewTrigger=specializePickerRootPart("date-time",createPickerViewTrigger("month","SectileDateTimePickerMonthViewTrigger"));const DateTimePickerYearViewTrigger=specializePickerRootPart("date-time",createPickerViewTrigger("year","SectileDateTimePickerYearViewTrigger"));export{DateTimePickerAnchor,DateTimePickerCell,DateTimePickerContent,DateTimePickerDateInput,DateTimePickerDateTimeInput,DateTimePickerGrid,DateTimePickerMonthCell,DateTimePickerMonthViewTrigger,DateTimePickerNextMonth,DateTimePickerNextWeek,DateTimePickerNextYear,DateTimePickerPortal,DateTimePickerPreviousMonth,DateTimePickerPreviousWeek,DateTimePickerPreviousYear,DateTimePickerRoot,DateTimePickerTimeInput,DateTimePickerTrigger,DateTimePickerWeekViewTrigger,DateTimePickerYearViewTrigger};
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./internal/date-picker.js';import{dateTimePickerCapability}from'./internal/date-time-picker-capability.js';export const DateTimePickerRoot=createPickerRoot(dateTimePickerCapability,'SectileDateTimePickerRoot');export const DateTimePickerTrigger=specializePickerRootPart('date-time',PickerTrigger);export const DateTimePickerAnchor=specializePickerRootPart('date-time',PickerAnchor);export const DateTimePickerPortal=PickerPortal;export const DateTimePickerContent=/* @__PURE__ */specializePickerRootPart('date-time',PickerContent);export const DateTimePickerGrid=specializePickerRootPart('date-time',PickerGrid);export const DateTimePickerCell=PickerCell;export const DateTimePickerMonthCell=PickerMonthCell;export const DateTimePickerDateTimeInput=createPickerInput('date-time-input','SectileDateTimePickerDateTimeInput');export const DateTimePickerDateInput=createPickerInput('date-input','SectileDateTimePickerDateInput');export const DateTimePickerTimeInput=createPickerInput('time-input','SectileDateTimePickerTimeInput');export const DateTimePickerPreviousWeek=specializePickerRootPart('date-time',createPickerMove('week',-1,'SectileDateTimePickerPreviousWeek'));export const DateTimePickerNextWeek=specializePickerRootPart('date-time',createPickerMove('week',1,'SectileDateTimePickerNextWeek'));export const DateTimePickerPreviousMonth=specializePickerRootPart('date-time',createPickerMove('month',-1,'SectileDateTimePickerPreviousMonth'));export const DateTimePickerNextMonth=specializePickerRootPart('date-time',createPickerMove('month',1,'SectileDateTimePickerNextMonth'));export const DateTimePickerPreviousYear=specializePickerRootPart('date-time',createPickerMove('year',-1,'SectileDateTimePickerPreviousYear'));export const DateTimePickerNextYear=specializePickerRootPart('date-time',createPickerMove('year',1,'SectileDateTimePickerNextYear'));export const DateTimePickerWeekViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('week','SectileDateTimePickerWeekViewTrigger'));export const DateTimePickerMonthViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('month','SectileDateTimePickerMonthViewTrigger'));export const DateTimePickerYearViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('year','SectileDateTimePickerYearViewTrigger'));
2
2
  //# sourceMappingURL=date-time-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/date-time-picker.ts"],"mappings":"AAGA,OACE,aAAc,WAAY,cAAe,WAAY,gBAAiB,aAAc,cAAe,kBAAmB,iBAAkB,wBAAyB,yBACjK,qBACK,4BACP,OAAS,6BAAgC,4CASlC,MAAM,mBAAqB,iBAAiB,yBAA0B,2BAA2B,EAKjG,MAAM,sBAAwB,yBAAyB,YAAa,aAAa,EACjF,MAAM,qBAAuB,yBAAyB,YAAa,YAAY,EAC/E,MAAM,qBAAuB,aAC7B,MAAM,sBAAwB,yBAAyB,YAAa,aAAa,EACjF,MAAM,mBAAqB,yBAAyB,YAAa,UAAU,EAC3E,MAAM,mBAAqB,WAC3B,MAAM,wBAA0B,gBAChC,MAAM,4BAA8B,kBAAkB,kBAAmB,oCAAoC,EAC7G,MAAM,wBAA0B,kBAAkB,aAAc,gCAAgC,EAChG,MAAM,wBAA0B,kBAAkB,aAAc,gCAAgC,EAChG,MAAM,2BAA6B,yBAAyB,YAAa,iBAAiB,OAAQ,GAAI,mCAAmC,CAAC,EAC1I,MAAM,uBAAyB,yBAAyB,YAAa,iBAAiB,OAAQ,EAAG,+BAA+B,CAAC,EACjI,MAAM,4BAA8B,yBAAyB,YAAa,iBAAiB,QAAS,GAAI,oCAAoC,CAAC,EAC7I,MAAM,wBAA0B,yBAAyB,YAAa,iBAAiB,QAAS,EAAG,gCAAgC,CAAC,EACpI,MAAM,2BAA6B,yBAAyB,YAAa,iBAAiB,OAAQ,GAAI,mCAAmC,CAAC,EAC1I,MAAM,uBAAyB,yBAAyB,YAAa,iBAAiB,OAAQ,EAAG,+BAA+B,CAAC,EACjI,MAAM,8BAAgC,yBAAyB,YAAa,wBAAwB,OAAQ,sCAAsC,CAAC,EACnJ,MAAM,+BAAiC,yBAAyB,YAAa,wBAAwB,QAAS,uCAAuC,CAAC,EACtJ,MAAM,8BAAgC,yBAAyB,YAAa,wBAAwB,OAAQ,sCAAsC,CAAC","names":[],"file":"date-time-picker.js"}
1
+ {"version":3,"file":"date-time-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateTimePickerCapability","DateTimePickerRoot","DateTimePickerTrigger","DateTimePickerAnchor","DateTimePickerPortal","DateTimePickerContent","DateTimePickerGrid","DateTimePickerCell","DateTimePickerMonthCell","DateTimePickerDateTimeInput","DateTimePickerDateInput","DateTimePickerTimeInput","DateTimePickerPreviousWeek","DateTimePickerNextWeek","DateTimePickerPreviousMonth","DateTimePickerNextMonth","DateTimePickerPreviousYear","DateTimePickerNextYear","DateTimePickerWeekViewTrigger","DateTimePickerMonthViewTrigger","DateTimePickerYearViewTrigger"],"sources":["../src/date-time-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,mCACEC,6BAAgC,mDASlC,MAAMC,mBAAqBF,iBAAiBC,yBAA0B,oCAKtE,MAAME,sBAAwBJ,yBAAyB,YAAaJ,sBACpE,MAAMS,qBAAuBL,yBAAyB,YAAaV,qBACnE,MAAMgB,qBAAuBX,oBAC7B,MAAMY,qCAAwCP,yBAAyB,YAAaR,sBACpF,MAAMgB,mBAAqBR,yBAAyB,YAAaP,mBACjE,MAAMgB,mBAAqBlB,kBAC3B,MAAMmB,wBAA0BhB,uBAChC,MAAMiB,4BAA8Bd,kBAAkB,kBAAmB,6CACzE,MAAMe,wBAA0Bf,kBAAkB,aAAc,yCAChE,MAAMgB,wBAA0BhB,kBAAkB,aAAc,yCAChE,MAAMiB,2BAA6Bd,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,6CACtG,MAAMiB,uBAAyBf,yBAAyB,YAAaF,iBAAiB,OAAQ,EAAG,yCACjG,MAAMkB,4BAA8BhB,yBAAyB,YAAaF,iBAAiB,SAAU,EAAG,8CACxG,MAAMmB,wBAA0BjB,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,0CACnG,MAAMoB,2BAA6BlB,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,6CACtG,MAAMqB,uBAAyBnB,yBAAyB,YAAaF,iBAAiB,OAAQ,EAAG,yCACjG,MAAMsB,8BAAgCpB,yBAAyB,YAAaD,wBAAwB,OAAQ,gDAC5G,MAAMsB,+BAAiCrB,yBAAyB,YAAaD,wBAAwB,QAAS,iDAC9G,MAAMuB,8BAAgCtB,yBAAyB,YAAaD,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from"./internal/date-picker.js";import{dateTimeRangePickerCapability}from"./internal/date-time-range-picker-capability.js";const DateTimeRangePickerRoot=createPickerRoot(dateTimeRangePickerCapability,"SectileDateTimeRangePickerRoot");const DateTimeRangePickerTrigger=specializePickerRootPart("date-time-range",PickerTrigger);const DateTimeRangePickerAnchor=specializePickerRootPart("date-time-range",PickerAnchor);const DateTimeRangePickerPortal=PickerPortal;const DateTimeRangePickerContent=specializePickerRootPart("date-time-range",PickerContent);const DateTimeRangePickerGrid=specializePickerRootPart("date-time-range",PickerGrid);const DateTimeRangePickerCell=PickerCell;const DateTimeRangePickerMonthCell=PickerMonthCell;const DateTimeRangePickerStartDateTimeInput=createPickerInput("start-date-time-input","SectileDateTimeRangePickerStartDateTimeInput");const DateTimeRangePickerEndDateTimeInput=createPickerInput("end-date-time-input","SectileDateTimeRangePickerEndDateTimeInput");const DateTimeRangePickerStartDateInput=createPickerInput("start-date-input","SectileDateTimeRangePickerStartDateInput");const DateTimeRangePickerEndDateInput=createPickerInput("end-date-input","SectileDateTimeRangePickerEndDateInput");const DateTimeRangePickerStartTimeInput=createPickerInput("start-time-input","SectileDateTimeRangePickerStartTimeInput");const DateTimeRangePickerEndTimeInput=createPickerInput("end-time-input","SectileDateTimeRangePickerEndTimeInput");const DateTimeRangePickerPreviousWeek=specializePickerRootPart("date-time-range",createPickerMove("week",-1,"SectileDateTimeRangePickerPreviousWeek"));const DateTimeRangePickerNextWeek=specializePickerRootPart("date-time-range",createPickerMove("week",1,"SectileDateTimeRangePickerNextWeek"));const DateTimeRangePickerPreviousMonth=specializePickerRootPart("date-time-range",createPickerMove("month",-1,"SectileDateTimeRangePickerPreviousMonth"));const DateTimeRangePickerNextMonth=specializePickerRootPart("date-time-range",createPickerMove("month",1,"SectileDateTimeRangePickerNextMonth"));const DateTimeRangePickerPreviousYear=specializePickerRootPart("date-time-range",createPickerMove("year",-1,"SectileDateTimeRangePickerPreviousYear"));const DateTimeRangePickerNextYear=specializePickerRootPart("date-time-range",createPickerMove("year",1,"SectileDateTimeRangePickerNextYear"));const DateTimeRangePickerWeekViewTrigger=specializePickerRootPart("date-time-range",createPickerViewTrigger("week","SectileDateTimeRangePickerWeekViewTrigger"));const DateTimeRangePickerMonthViewTrigger=specializePickerRootPart("date-time-range",createPickerViewTrigger("month","SectileDateTimeRangePickerMonthViewTrigger"));const DateTimeRangePickerYearViewTrigger=specializePickerRootPart("date-time-range",createPickerViewTrigger("year","SectileDateTimeRangePickerYearViewTrigger"));export{DateTimeRangePickerAnchor,DateTimeRangePickerCell,DateTimeRangePickerContent,DateTimeRangePickerEndDateInput,DateTimeRangePickerEndDateTimeInput,DateTimeRangePickerEndTimeInput,DateTimeRangePickerGrid,DateTimeRangePickerMonthCell,DateTimeRangePickerMonthViewTrigger,DateTimeRangePickerNextMonth,DateTimeRangePickerNextWeek,DateTimeRangePickerNextYear,DateTimeRangePickerPortal,DateTimeRangePickerPreviousMonth,DateTimeRangePickerPreviousWeek,DateTimeRangePickerPreviousYear,DateTimeRangePickerRoot,DateTimeRangePickerStartDateInput,DateTimeRangePickerStartDateTimeInput,DateTimeRangePickerStartTimeInput,DateTimeRangePickerTrigger,DateTimeRangePickerWeekViewTrigger,DateTimeRangePickerYearViewTrigger};
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./internal/date-picker.js';import{dateTimeRangePickerCapability}from'./internal/date-time-range-picker-capability.js';export const DateTimeRangePickerRoot=createPickerRoot(dateTimeRangePickerCapability,'SectileDateTimeRangePickerRoot');export const DateTimeRangePickerTrigger=specializePickerRootPart('date-time-range',PickerTrigger);export const DateTimeRangePickerAnchor=specializePickerRootPart('date-time-range',PickerAnchor);export const DateTimeRangePickerPortal=PickerPortal;export const DateTimeRangePickerContent=/* @__PURE__ */specializePickerRootPart('date-time-range',PickerContent);export const DateTimeRangePickerGrid=specializePickerRootPart('date-time-range',PickerGrid);export const DateTimeRangePickerCell=PickerCell;export const DateTimeRangePickerMonthCell=PickerMonthCell;export const DateTimeRangePickerStartDateTimeInput=createPickerInput('start-date-time-input','SectileDateTimeRangePickerStartDateTimeInput');export const DateTimeRangePickerEndDateTimeInput=createPickerInput('end-date-time-input','SectileDateTimeRangePickerEndDateTimeInput');export const DateTimeRangePickerStartDateInput=createPickerInput('start-date-input','SectileDateTimeRangePickerStartDateInput');export const DateTimeRangePickerEndDateInput=createPickerInput('end-date-input','SectileDateTimeRangePickerEndDateInput');export const DateTimeRangePickerStartTimeInput=createPickerInput('start-time-input','SectileDateTimeRangePickerStartTimeInput');export const DateTimeRangePickerEndTimeInput=createPickerInput('end-time-input','SectileDateTimeRangePickerEndTimeInput');export const DateTimeRangePickerPreviousWeek=specializePickerRootPart('date-time-range',createPickerMove('week',-1,'SectileDateTimeRangePickerPreviousWeek'));export const DateTimeRangePickerNextWeek=specializePickerRootPart('date-time-range',createPickerMove('week',1,'SectileDateTimeRangePickerNextWeek'));export const DateTimeRangePickerPreviousMonth=specializePickerRootPart('date-time-range',createPickerMove('month',-1,'SectileDateTimeRangePickerPreviousMonth'));export const DateTimeRangePickerNextMonth=specializePickerRootPart('date-time-range',createPickerMove('month',1,'SectileDateTimeRangePickerNextMonth'));export const DateTimeRangePickerPreviousYear=specializePickerRootPart('date-time-range',createPickerMove('year',-1,'SectileDateTimeRangePickerPreviousYear'));export const DateTimeRangePickerNextYear=specializePickerRootPart('date-time-range',createPickerMove('year',1,'SectileDateTimeRangePickerNextYear'));export const DateTimeRangePickerWeekViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('week','SectileDateTimeRangePickerWeekViewTrigger'));export const DateTimeRangePickerMonthViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('month','SectileDateTimeRangePickerMonthViewTrigger'));export const DateTimeRangePickerYearViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('year','SectileDateTimeRangePickerYearViewTrigger'));
2
2
  //# sourceMappingURL=date-time-range-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/date-time-range-picker.ts"],"mappings":"AAGA,OACE,aAAc,WAAY,cAAe,WAAY,gBAAiB,aAAc,cAAe,kBAAmB,iBAAkB,wBAAyB,yBACjK,qBACK,4BACP,OAAS,kCAAqC,kDASvC,MAAM,wBAA0B,iBAAiB,8BAA+B,gCAAgC,EAKhH,MAAM,2BAA6B,yBAAyB,kBAAmB,aAAa,EAC5F,MAAM,0BAA4B,yBAAyB,kBAAmB,YAAY,EAC1F,MAAM,0BAA4B,aAClC,MAAM,2BAA6B,yBAAyB,kBAAmB,aAAa,EAC5F,MAAM,wBAA0B,yBAAyB,kBAAmB,UAAU,EACtF,MAAM,wBAA0B,WAChC,MAAM,6BAA+B,gBACrC,MAAM,sCAAwC,kBAAkB,wBAAyB,8CAA8C,EACvI,MAAM,oCAAsC,kBAAkB,sBAAuB,4CAA4C,EACjI,MAAM,kCAAoC,kBAAkB,mBAAoB,0CAA0C,EAC1H,MAAM,gCAAkC,kBAAkB,iBAAkB,wCAAwC,EACpH,MAAM,kCAAoC,kBAAkB,mBAAoB,0CAA0C,EAC1H,MAAM,gCAAkC,kBAAkB,iBAAkB,wCAAwC,EACpH,MAAM,gCAAkC,yBAAyB,kBAAmB,iBAAiB,OAAQ,GAAI,wCAAwC,CAAC,EAC1J,MAAM,4BAA8B,yBAAyB,kBAAmB,iBAAiB,OAAQ,EAAG,oCAAoC,CAAC,EACjJ,MAAM,iCAAmC,yBAAyB,kBAAmB,iBAAiB,QAAS,GAAI,yCAAyC,CAAC,EAC7J,MAAM,6BAA+B,yBAAyB,kBAAmB,iBAAiB,QAAS,EAAG,qCAAqC,CAAC,EACpJ,MAAM,gCAAkC,yBAAyB,kBAAmB,iBAAiB,OAAQ,GAAI,wCAAwC,CAAC,EAC1J,MAAM,4BAA8B,yBAAyB,kBAAmB,iBAAiB,OAAQ,EAAG,oCAAoC,CAAC,EACjJ,MAAM,mCAAqC,yBAAyB,kBAAmB,wBAAwB,OAAQ,2CAA2C,CAAC,EACnK,MAAM,oCAAsC,yBAAyB,kBAAmB,wBAAwB,QAAS,4CAA4C,CAAC,EACtK,MAAM,mCAAqC,yBAAyB,kBAAmB,wBAAwB,OAAQ,2CAA2C,CAAC","names":[],"file":"date-time-range-picker.js"}
1
+ {"version":3,"file":"date-time-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateTimeRangePickerCapability","DateTimeRangePickerRoot","DateTimeRangePickerTrigger","DateTimeRangePickerAnchor","DateTimeRangePickerPortal","DateTimeRangePickerContent","DateTimeRangePickerGrid","DateTimeRangePickerCell","DateTimeRangePickerMonthCell","DateTimeRangePickerStartDateTimeInput","DateTimeRangePickerEndDateTimeInput","DateTimeRangePickerStartDateInput","DateTimeRangePickerEndDateInput","DateTimeRangePickerStartTimeInput","DateTimeRangePickerEndTimeInput","DateTimeRangePickerPreviousWeek","DateTimeRangePickerNextWeek","DateTimeRangePickerPreviousMonth","DateTimeRangePickerNextMonth","DateTimeRangePickerPreviousYear","DateTimeRangePickerNextYear","DateTimeRangePickerWeekViewTrigger","DateTimeRangePickerMonthViewTrigger","DateTimeRangePickerYearViewTrigger"],"sources":["../src/date-time-range-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,mCACEC,kCAAqC,yDASvC,MAAMC,wBAA0BF,iBAAiBC,8BAA+B,yCAKhF,MAAME,2BAA6BJ,yBAAyB,kBAAmBJ,sBAC/E,MAAMS,0BAA4BL,yBAAyB,kBAAmBV,qBAC9E,MAAMgB,0BAA4BX,oBAClC,MAAMY,0CAA6CP,yBAAyB,kBAAmBR,sBAC/F,MAAMgB,wBAA0BR,yBAAyB,kBAAmBP,mBAC5E,MAAMgB,wBAA0BlB,kBAChC,MAAMmB,6BAA+BhB,uBACrC,MAAMiB,sCAAwCd,kBAAkB,wBAAyB,uDACzF,MAAMe,oCAAsCf,kBAAkB,sBAAuB,qDACrF,MAAMgB,kCAAoChB,kBAAkB,mBAAoB,mDAChF,MAAMiB,gCAAkCjB,kBAAkB,iBAAkB,iDAC5E,MAAMkB,kCAAoClB,kBAAkB,mBAAoB,mDAChF,MAAMmB,gCAAkCnB,kBAAkB,iBAAkB,iDAC5E,MAAMoB,gCAAkCjB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,kDACjH,MAAMoB,4BAA8BlB,yBAAyB,kBAAmBF,iBAAiB,OAAQ,EAAG,8CAC5G,MAAMqB,iCAAmCnB,yBAAyB,kBAAmBF,iBAAiB,SAAU,EAAG,mDACnH,MAAMsB,6BAA+BpB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,+CAC9G,MAAMuB,gCAAkCrB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,kDACjH,MAAMwB,4BAA8BtB,yBAAyB,kBAAmBF,iBAAiB,OAAQ,EAAG,8CAC5G,MAAMyB,mCAAqCvB,yBAAyB,kBAAmBD,wBAAwB,OAAQ,qDACvH,MAAMyB,oCAAsCxB,yBAAyB,kBAAmBD,wBAAwB,QAAS,sDACzH,MAAM0B,mCAAqCzB,yBAAyB,kBAAmBD,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,nextTick,provide,shallowRef,watch}from'vue';import{formatDateValue,parseDateValue}from'@sectile/dom/temporal/date-field';import{createCalendarMonth,createCalendarYear,isCalendarValueAvailable}from'@sectile/temporal/calendar';import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from'./form-control.js';import{Primitive}from'../primitive.js';import{useControlledStateInvariant}from'./controlled-state.js';import{useHostPortalTarget}from'../host-provider.js';import{useTemporalReferenceDate}from'../temporal-provider.js';export function specializePickerRootPart(_kind,component){return component}const key=Symbol('SectileDatePickerRoot');const noPendingPickerValue=Symbol('no-pending-picker-value');const partProps={as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}};export function createPickerRoot(capability,name,config={}){const kind=capability.kind;const scope=config.scope??kind;const granularity=config.granularity??'day';const defaultView=config.defaultView??(granularity==='day'?'month':'year');const defaultOpen=config.defaultOpen??false;const yearPageSize=config.yearPageSize??12;const inline=config.inline??false;const component=defineComponent({name,inheritAttrs:false,props:{modelValue:{type:Object,default:undefined},defaultValue:{type:Object,default:null},open:{type:Boolean,default:undefined},defaultOpen:{type:Boolean,default:defaultOpen},highlightedValue:{type:Object,default:undefined},defaultHighlightedValue:{type:Object,default:undefined},referenceDate:{type:Object,default:undefined},defaultView:{type:String,default:defaultView},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:undefined},policies:{type:Object,default:undefined},position:{type:Boolean,default:true},side:{type:String,default:'bottom'},align:{type:String,default:'center'},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:undefined},avoidCollisions:{type:Boolean,default:true},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:'absolute'},tracking:{type:String,default:'events'},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{'update:modelValue':_value=>true,'update:open':_value=>true,'update:highlightedValue':_value=>true},slots:Object,setup(props,{emit,slots}){const runtimeProps=props;const elements=new Map;const connection=shallowRef();const hostReferenceDate=useTemporalReferenceDate();const referenceDate=computed(()=>runtimeProps.referenceDate??hostReferenceDate.value);const inlineTrigger=typeof document==='undefined'||!inline||kind==='calendar'?undefined:document.createElement('button');const localValue=shallowRef(runtimeProps.modelValue!==undefined?runtimeProps.modelValue:runtimeProps.defaultValue);const localOpen=shallowRef(runtimeProps.open??runtimeProps.defaultOpen);const localHighlight=shallowRef(runtimeProps.highlightedValue??runtimeProps.defaultHighlightedValue??dateOf(localValue.value)??referenceDate.value);const yearPageStart=shallowRef(localHighlight.value.year-Math.floor(yearPageSize/2));const dates=shallowRef(monthFor(localHighlight.value));const months=shallowRef(yearFor(localHighlight.value.year));const years=shallowRef(yearsFrom(yearPageStart.value,yearPageSize));const localView=shallowRef(Object.freeze({year:localHighlight.value.year,month:localHighlight.value.month}));const localViewMode=shallowRef(runtimeProps.defaultView);const controlled={value:useControlledStateInvariant(`${kind}PickerRoot`,'modelValue',()=>runtimeProps.modelValue),open:useControlledStateInvariant(`${kind}PickerRoot`,'open',()=>runtimeProps.open),highlighted:useControlledStateInvariant(`${kind}PickerRoot`,'highlightedValue',()=>runtimeProps.highlightedValue)};const pendingValue=shallowRef(noPendingPickerValue);const state=computed(()=>{const highlighted=runtimeProps.highlightedValue??localHighlight.value;const value=controlled.value&&pendingValue.value!==noPendingPickerValue?pendingValue.value:runtimeProps.modelValue!==undefined?runtimeProps.modelValue:localValue.value;return Object.freeze({value,highlightedValue:highlighted,open:runtimeProps.open??localOpen.value,dates:dates.value,months:months.value,years:years.value,view:localView.value,viewMode:localViewMode.value,disabled:runtimeProps.disabled,readonly:runtimeProps.readonly})});useCompositeFormControl({root:()=>elements.get('content')??elements.get('grid')??null,focusTarget:()=>elements.get('trigger')??(kind==='calendar'?null:firstPickerInput(elements,kind))??elements.get('grid')??null,submissions:()=>pickerFormSubmissions(elements,kind)});const periodAvailable=value=>{const policies=runtimeProps.policies;if('month'in value)return monthAvailable(value,policies);return Array.from({length:12},(_entry,index)=>index+1).some(month=>monthAvailable({year:value.year,month},policies))};const refreshCells=()=>{const grid=elements.get('grid');if(grid===undefined||connection.value===undefined)return;grid.querySelectorAll('[data-sectile-picker-date]').forEach(element=>{const parsed=parseDateValue(element.dataset['sectilePickerDate']??'');if(parsed.ok)connection.value?.setCellAttributes(element,parsed.value)})};const refresh=()=>{const raw=connection.value?.getSnapshot().state;if(raw===undefined)return;const picked=extractState(kind,raw);localValue.value=picked.value;localHighlight.value=picked.highlighted;localOpen.value=picked.open;localView.value=picked.view;localViewMode.value=picked.viewMode;if(connection.value!==undefined){dates.value=picked.viewMode==='week'?[connection.value.getWeek()]:picked.viewMode==='month'?connection.value.getMonth():[];months.value=picked.viewMode==='year'?connection.value.getYear():[];if(granularity==='year'){yearPageStart.value=pageStartContaining(picked.highlighted.year,yearPageStart.value,yearPageSize);years.value=yearsFrom(yearPageStart.value,yearPageSize)}}refreshCells();void nextTick(refreshCells)};const connect=()=>{connection.value?.disconnect();const content=elements.get('content');const grid=elements.get('grid');const trigger=elements.get('trigger')??inlineTrigger;if(content===undefined||grid===undefined||kind!=='calendar'&&trigger===undefined)return;const base={root:content,grid,disabled:runtimeProps.disabled,readOnly:runtimeProps.readonly,required:runtimeProps.required,referenceDate:referenceDate.value,...runtimeProps.label===undefined?{}:{label:runtimeProps.label},...runtimeProps.policies===undefined?{}:{policies:runtimeProps.policies},...controlled.value?{value:runtimeProps.modelValue}:{defaultValue:localValue.value},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{defaultHighlightedValue:localHighlight.value},onValueChange:value=>{localValue.value=value;if(controlled.value)pendingValue.value=value;emit('update:modelValue',value)},onHighlightedValueChange:value=>{localHighlight.value=value;emit('update:highlightedValue',value)},onUpdate:refresh};if(kind!=='calendar'){base['trigger']=trigger;const anchor=elements.get('anchor');if(anchor!==undefined)base['anchor']=anchor;Object.assign(base,{position:runtimeProps.position,side:runtimeProps.side,align:runtimeProps.align,sideOffset:runtimeProps.sideOffset,collisionPadding:runtimeProps.collisionPadding,avoidCollisions:runtimeProps.avoidCollisions,hideWhenDetached:runtimeProps.hideWhenDetached,strategy:runtimeProps.strategy,tracking:runtimeProps.tracking});if(runtimeProps.collisionBoundary!==undefined)base['collisionBoundary']=runtimeProps.collisionBoundary;if(controlled.open)base['open']=runtimeProps.open;else base['defaultOpen']=localOpen.value;base['onOpenChange']=value=>{localOpen.value=value;emit('update:open',value)}}if(granularity==='day'){for(const part of inputParts(kind)){const element=elements.get(part);if(element!==undefined)base[toDOMInputKey(part)]=element}}connection.value=capability.connect(base);if(runtimeProps.defaultView!=='month')connection.value.handleEvent({type:'set-view-mode',value:runtimeProps.defaultView});refreshCells();refresh()};let mounted=false;let connectQueued=false;const scheduleConnect=()=>{if(!mounted||connectQueued)return;connectQueued=true;void nextTick(()=>{connectQueued=false;if(mounted)connect()})};const moveBy=(unit,delta)=>{const direction=delta<0?-1:1;for(let index=0;index<Math.abs(delta);index+=1){connection.value?.handleEvent(`${direction<0?'previous':'next'}-${unit}`)}refresh()};const selectMonth=value=>{connection.value?.handleEvent(granularity==='month'?{type:kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date',value:{...value,day:1}}:{type:'select-month',value});refresh()};const selectYear=value=>{connection.value?.handleEvent({type:kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date',value:{year:value.year,month:1,day:1}});refresh()};provide(key,{kind,scope,granularity,inline,state,periodAvailable,formatInput:capability.formatInput,position:computed(()=>runtimeProps.position),strategy:computed(()=>runtimeProps.strategy),register:(part,element)=>{if(elements.get(part)===element||element===undefined&&!elements.has(part))return;if(element===undefined)elements.delete(part);else elements.set(part,element);scheduleConnect()},registerCell:(element,value)=>connection.value?.setCellAttributes(element,value),move:(unit,direction)=>{const repetitions=granularity==='year'&&unit==='year'?yearPageSize:1;moveBy(unit,direction*repetitions)},handleGridKey:event=>{if(granularity==='day'&&state.value.viewMode!=='year'||event.altKey||event.ctrlKey||event.metaKey)return;const navigationGranularity=granularity==='day'?'month':granularity;const columns=navigationGranularity==='month'?3:4;const highlighted=state.value.highlightedValue;let movement;if(event.key==='ArrowLeft')movement={unit:navigationGranularity,delta:-1};else if(event.key==='ArrowRight')movement={unit:navigationGranularity,delta:1};else if(event.key==='ArrowUp')movement={unit:navigationGranularity,delta:-columns};else if(event.key==='ArrowDown')movement={unit:navigationGranularity,delta:columns};else if(event.key==='PageUp')movement={unit:'year',delta:navigationGranularity==='year'?-yearPageSize:-1};else if(event.key==='PageDown')movement={unit:'year',delta:navigationGranularity==='year'?yearPageSize:1};else if(event.key==='Home')movement={unit:navigationGranularity,delta:navigationGranularity==='month'?1-highlighted.month:-((highlighted.year-years.value[0][0].year)%columns)};else if(event.key==='End')movement={unit:navigationGranularity,delta:navigationGranularity==='month'?12-highlighted.month:columns-1-(highlighted.year-years.value[0][0].year)%columns};else if(event.key==='Enter'||event.key===' '){event.preventDefault();event.stopImmediatePropagation();if(navigationGranularity==='month')selectMonth({year:highlighted.year,month:highlighted.month});else selectYear({year:highlighted.year});return}else return;event.preventDefault();event.stopImmediatePropagation();if(movement.delta!==0)moveBy(movement.unit,movement.delta)},setViewMode:value=>{connection.value?.handleEvent({type:'set-view-mode',value});refresh()},selectDate:value=>{const type=kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date';connection.value?.handleEvent({type,value});refresh()},selectMonth,selectYear});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connectQueued=false;connection.value?.disconnect();connection.value=undefined});watch([()=>runtimeProps.disabled,()=>runtimeProps.readonly,()=>runtimeProps.required,()=>runtimeProps.label,()=>runtimeProps.policies,()=>runtimeProps.position,()=>runtimeProps.side,()=>runtimeProps.align,()=>runtimeProps.sideOffset,()=>runtimeProps.collisionPadding,()=>runtimeProps.collisionBoundary,()=>runtimeProps.avoidCollisions,()=>runtimeProps.hideWhenDetached,()=>runtimeProps.strategy,()=>runtimeProps.tracking],connect);watch(referenceDate,value=>{if(runtimeProps.highlightedValue===undefined&&runtimeProps.defaultHighlightedValue===undefined&&dateOf(runtimeProps.modelValue??runtimeProps.defaultValue)===null)localHighlight.value=value;connect()});watch([()=>runtimeProps.modelValue,()=>runtimeProps.open,()=>runtimeProps.highlightedValue],(values,previousValues)=>{if(connection.value===undefined)return;if(values[0]!==previousValues[0])pendingValue.value=noPendingPickerValue;const result=connection.value.syncControlledValues({...controlled.value?{value:runtimeProps.modelValue}:{},...kind!=='calendar'&&controlled.open?{open:runtimeProps.open}:{},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error?.message??'Could not synchronize picker values.');refresh()});return()=>h(Fragment,null,slots['default']?.(state.value)??[])}});return component}export const PickerTrigger=/* @__PURE__ */defineComponent({name:'SectilePickerTrigger',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerTrigger');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('trigger',node instanceof HTMLElement?node:undefined),type:props.as==='button'?'button':undefined,disabled:root.state.value.disabled,'aria-haspopup':'dialog','aria-expanded':String(root.state.value.open),'data-scope':root.scope,'data-part':'trigger'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerAnchor=/* @__PURE__ */defineComponent({name:'SectilePickerAnchor',inheritAttrs:false,props:partProps,setup(props,{attrs,slots}){const root=useRoot('PickerAnchor');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('anchor',node instanceof HTMLElement?node:undefined),'data-scope':root.scope,'data-part':'anchor'}),slots)}});export const PickerContent=/* @__PURE__ */defineComponent({name:'SectilePickerContent',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerContent');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('content',node instanceof HTMLElement?node:undefined),role:root.inline?'group':'dialog','aria-modal':root.inline?undefined:'false',hidden:root.inline?false:!root.state.value.open,'data-scope':root.scope,'data-part':'content','data-state':root.state.value.open?'open':'closed',style:!root.inline&&root.position.value?{position:root.strategy.value}:undefined}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerPortal=/* @__PURE__ */defineComponent({name:'SectilePickerPortal',inheritAttrs:false,props:{to:{type:[String,Object],default:undefined},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){useRoot('PickerPortal');const portalTarget=useHostPortalTarget();return()=>h(Teleport,{to:props.to??portalTarget.value??'body',disabled:props.disabled,defer:props.defer},slots['default']?.())}});export const PickerGrid=/* @__PURE__ */defineComponent({name:'SectilePickerGrid',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerGrid');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('grid',node instanceof HTMLElement?node:undefined),role:'grid',onKeydown:root.handleGridKey,'data-scope':root.scope,'data-part':'grid'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerCell=/* @__PURE__ */defineComponent({name:'SectilePickerCell',inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerCell');const state=computed(()=>cellState(root.kind,root.state.value,props.value));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,elementRef:node=>{if(node instanceof HTMLElement)root.registerCell(node,props.value)},disabled:state.value.disabled,onClick:event=>{event.stopPropagation();root.selectDate(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'data-sectile-picker-date':formatDateValue(props.value),'data-scope':root.scope,'data-part':'cell','data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined,'data-outside-month':state.value.outsideMonth?'':undefined}),{default:()=>slots['default']?.(state.value)})}});export function createPickerMonthCell(part='month-cell',name='SectilePickerMonthCell'){return defineComponent({name,inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);const state=computed(()=>({value:props.value,selected:monthContainsValue(root.state.value.value,props.value),inRange:periodInRange(root.state.value.value,{...props.value,day:1},{...props.value,day:31}),highlighted:root.state.value.highlightedValue.year===props.value.year&&root.state.value.highlightedValue.month===props.value.month,disabled:root.state.value.disabled||!root.periodAvailable(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,disabled:state.value.disabled,tabIndex:state.value.highlighted?0:-1,onClick:event=>{event.stopPropagation();if(!state.value.disabled)root.selectMonth(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'aria-disabled':String(state.value.disabled),'data-sectile-picker-month':`${String(props.value.year).padStart(4,'0')}-${String(props.value.month).padStart(2,'0')}`,'data-scope':root.scope,'data-part':part,'data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined}),{default:()=>slots['default']?.(state.value)})}})}export function createPickerYearCell(part='year-cell',name='SectilePickerYearCell'){return defineComponent({name,inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);const currentYear=(new Date).getFullYear();const state=computed(()=>({value:props.value,selected:yearContainsValue(root.state.value.value,props.value),inRange:periodInRange(root.state.value.value,{year:props.value.year,month:1,day:1},{year:props.value.year,month:12,day:31}),highlighted:root.state.value.highlightedValue.year===props.value.year,current:props.value.year===currentYear,disabled:root.state.value.disabled||!root.periodAvailable(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,disabled:state.value.disabled,tabIndex:state.value.highlighted?0:-1,onClick:event=>{event.stopPropagation();if(!state.value.disabled)root.selectYear(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'aria-disabled':String(state.value.disabled),'aria-current':state.value.current?'date':undefined,'data-sectile-picker-year':String(props.value.year),'data-scope':root.scope,'data-part':part,'data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined,'data-current':state.value.current?'':undefined}),{default:()=>slots['default']?.(state.value)})}})}export const PickerMonthCell=/* @__PURE__ */createPickerMonthCell();export const PickerYearCell=/* @__PURE__ */createPickerYearCell();export function createPickerInput(part,name,type='text'){return defineComponent({name,inheritAttrs:false,props:{name:{type:String,default:undefined},form:{type:String,default:undefined},as:{type:[String,Object,Function],default:'input'},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register(part,node instanceof HTMLInputElement?node:undefined),type,name:props.name,form:props.form,disabled:root.state.value.disabled,readOnly:root.granularity!=='day'||root.state.value.readonly||part==='start-input'||part==='end-input'||part==='start-date-time-input'||part==='end-date-time-input',required:false,value:root.state.value.value===null?'':root.formatInput(root.granularity,part,root.state.value.value),'data-scope':root.scope,'data-part':part}))}})}export function createPickerMove(unit,direction,name,part){return defineComponent({name,inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},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':undefined,disabled:root.state.value.disabled,onClick:()=>root.move(unit,direction),'data-scope':root.scope,'data-part':part??`${direction<0?'previous':'next'}-${unit}`}),{default:()=>slots['default']?.(root.state.value)})}})}export function createPickerViewTrigger(view,name){return defineComponent({name,inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},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':undefined,disabled:root.state.value.disabled,onClick:()=>root.setViewMode(view),'aria-pressed':String(root.state.value.viewMode===view),'data-scope':root.scope,'data-part':`${view}-view-trigger`,'data-state':root.state.value.viewMode===view?'active':'inactive'}),{default:()=>slots['default']?.(root.state.value)})}})}function useRoot(part){const root=inject(key);if(root===undefined)throw new TypeError(`${part} must be used inside a date picker root.`);return root}function firstPickerInput(elements,kind){for(const part of inputParts(kind)){const element=elements.get(part);if(element instanceof HTMLInputElement)return element}return null}function pickerFormSubmissions(elements,kind){const submission=(part,relativeName)=>{const element=elements.get(part);if(!(element instanceof HTMLInputElement))return null;return{element:()=>element,...relativeName===undefined?{}:{relativeName},capabilities:hiddenInputSubmissionCapabilities}};if(kind==='calendar'||kind==='date')return compactSubmissions(submission('input'));if(kind==='date-range'){return compactSubmissions(submission('start-input','start'),submission('end-input','end'))}if(kind==='date-time'){const combined=submission('date-time-input');return combined===null?compactSubmissions(submission('date-input','date'),submission('time-input','time')):[combined]}const combinedStart=submission('start-date-time-input','start');const combinedEnd=submission('end-date-time-input','end');return compactSubmissions(combinedStart??submission('start-date-input','start.date'),combinedStart===null?submission('start-time-input','start.time'):null,combinedEnd??submission('end-date-input','end.date'),combinedEnd===null?submission('end-time-input','end.time'):null)}function compactSubmissions(...submissions){return submissions.filter(submission=>submission!==null)}function monthFor(value){return createCalendarMonth({year:value.year,month:value.month})}function yearFor(year){return createCalendarYear(year)}function yearsFrom(start,pageSize){const columns=4;return Array.from({length:Math.ceil(pageSize/columns)},(_row,rowIndex)=>Array.from({length:columns},(_column,columnIndex)=>Object.freeze({year:start+rowIndex*columns+columnIndex})))}function pageStartContaining(year,currentStart,pageSize){if(year<currentStart)return currentStart-Math.ceil((currentStart-year)/pageSize)*pageSize;if(year>=currentStart+pageSize)return currentStart+Math.floor((year-currentStart)/pageSize)*pageSize;return currentStart}function monthAvailable(value,policies){const days=daysInMonth(value.year,value.month);for(let day=1;day<=days;day+=1){if(isCalendarValueAvailable({year:value.year,month:value.month,day},policies))return true}return false}function daysInMonth(year,month){if(month===2)return year%4===0&&(year%100!==0||year%400===0)?29:28;return[4,6,9,11].includes(month)?30:31}function dateOf(value){if(value===null)return null;if('year'in value)return value;if('date'in value)return value.date;const start=value.start;return'date'in start?start.date:start}function extractState(kind,raw){const state=raw;if(kind==='calendar')return{value:state['value'],highlighted:state['highlighted'],open:true,view:state['view'],viewMode:state['viewMode']};if(kind==='date')return{value:state['value'],highlighted:state['highlighted'],open:state['open'],view:state['view'],viewMode:state['viewMode']};const calendar=state['calendar'];return{value:state['value'],highlighted:calendar['highlighted'],open:calendar['open'],view:calendar['view'],viewMode:calendar['viewMode']}}function compare(left,right){return left.year-right.year||left.month-right.month||left.day-right.day}function cellState(kind,state,value){const selectedDate=dateOf(state.value);let selected=selectedDate!==null&&compare(selectedDate,value)===0;let inRange=false;if(state.value!==null&&!('year'in state.value)&&!('date'in state.value)){const start='date'in state.value.start?state.value.start.date:state.value.start;const end='date'in state.value.end?state.value.end.date:state.value.end;inRange=compare(start,value)<=0&&compare(value,end)<=0;selected=compare(start,value)===0||compare(end,value)===0}return{value,selected,inRange,highlighted:compare(state.highlightedValue,value)===0,disabled:state.disabled,outsideMonth:value.month!==state.view.month||value.year!==state.view.year}}function monthContainsValue(value,month){const date=dateOf(value);return date!==null&&date.year===month.year&&date.month===month.month}function yearContainsValue(value,year){const date=dateOf(value);return date!==null&&date.year===year.year}function periodInRange(value,start,end){if(value===null||'year'in value||'date'in value)return false;const rangeStart='date'in value.start?value.start.date:value.start;const rangeEnd='date'in value.end?value.end.date:value.end;return compare(rangeStart,end)<=0&&compare(start,rangeEnd)<=0}function inputParts(kind){return kind==='calendar'||kind==='date'?['input']:kind==='date-range'?['start-input','end-input']:kind==='date-time'?['date-time-input','date-input','time-input']:['start-date-time-input','end-date-time-input','start-date-input','end-date-input','start-time-input','end-time-input']}function toDOMInputKey(part){if(part==='date-time-input')return'dateTimeInput';if(part==='start-date-time-input')return'startDateTimeInput';if(part==='end-date-time-input')return'endDateTimeInput';return part.replace(/-([a-z])/g,(_match,letter)=>letter.toUpperCase())}
1
+ import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,nextTick,provide,shallowRef,watch}from'vue';import{formatDateValue,parseDateValue}from'@sectile/dom/temporal/date-field';import{createCalendarMonth,createCalendarYear,isCalendarValueAvailable}from'@sectile/temporal/calendar';import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from'./form-control.js';import{Primitive}from'../primitive.js';import{useControlledStateInvariant}from'./controlled-state.js';import{usePresence}from'./presence.js';import{useHostPortalTarget}from'../host-provider.js';import{useTemporalReferenceDate}from'../temporal-provider.js';export function specializePickerRootPart(_kind,component){return component}const key=Symbol('SectileDatePickerRoot');const noPendingPickerValue=Symbol('no-pending-picker-value');const partProps={as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}};export function createPickerRoot(capability,name,config={}){const kind=capability.kind;const scope=config.scope??kind;const granularity=config.granularity??'day';const defaultView=config.defaultView??(granularity==='day'?'month':'year');const defaultOpen=config.defaultOpen??false;const yearPageSize=config.yearPageSize??12;const inline=config.inline??false;const component=defineComponent({name,inheritAttrs:false,props:{modelValue:{type:Object,default:undefined},defaultValue:{type:Object,default:null},open:{type:Boolean,default:undefined},defaultOpen:{type:Boolean,default:defaultOpen},highlightedValue:{type:Object,default:undefined},defaultHighlightedValue:{type:Object,default:undefined},referenceDate:{type:Object,default:undefined},defaultView:{type:String,default:defaultView},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:undefined},policies:{type:Object,default:undefined},position:{type:Boolean,default:true},side:{type:String,default:'bottom'},align:{type:String,default:'center'},sideOffset:{type:Number,default:8},collisionPadding:{type:[Number,Object],default:8},collisionBoundary:{type:[String,Object],default:undefined},avoidCollisions:{type:Boolean,default:true},hideWhenDetached:{type:Boolean,default:false},strategy:{type:String,default:'absolute'},tracking:{type:String,default:'events'},as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}},emits:{'update:modelValue':_value=>true,'update:open':_value=>true,'update:highlightedValue':_value=>true},slots:Object,setup(props,{emit,slots}){const runtimeProps=props;const elements=new Map;const connection=shallowRef();const hostReferenceDate=useTemporalReferenceDate();const referenceDate=computed(()=>runtimeProps.referenceDate??hostReferenceDate.value);const inlineTrigger=typeof document==='undefined'||!inline||kind==='calendar'?undefined:document.createElement('button');const localValue=shallowRef(runtimeProps.modelValue!==undefined?runtimeProps.modelValue:runtimeProps.defaultValue);const localOpen=shallowRef(runtimeProps.open??runtimeProps.defaultOpen);const localHighlight=shallowRef(runtimeProps.highlightedValue??runtimeProps.defaultHighlightedValue??dateOf(localValue.value)??referenceDate.value);const yearPageStart=shallowRef(localHighlight.value.year-Math.floor(yearPageSize/2));const dates=shallowRef(monthFor(localHighlight.value));const months=shallowRef(yearFor(localHighlight.value.year));const years=shallowRef(yearsFrom(yearPageStart.value,yearPageSize));const localView=shallowRef(Object.freeze({year:localHighlight.value.year,month:localHighlight.value.month}));const localViewMode=shallowRef(runtimeProps.defaultView);const controlled={value:useControlledStateInvariant(`${kind}PickerRoot`,'modelValue',()=>runtimeProps.modelValue),open:useControlledStateInvariant(`${kind}PickerRoot`,'open',()=>runtimeProps.open),highlighted:useControlledStateInvariant(`${kind}PickerRoot`,'highlightedValue',()=>runtimeProps.highlightedValue)};const pendingValue=shallowRef(noPendingPickerValue);const state=computed(()=>{const highlighted=runtimeProps.highlightedValue??localHighlight.value;const value=controlled.value&&pendingValue.value!==noPendingPickerValue?pendingValue.value:runtimeProps.modelValue!==undefined?runtimeProps.modelValue:localValue.value;return Object.freeze({value,highlightedValue:highlighted,open:runtimeProps.open??localOpen.value,dates:dates.value,months:months.value,years:years.value,view:localView.value,viewMode:localViewMode.value,disabled:runtimeProps.disabled,readonly:runtimeProps.readonly})});useCompositeFormControl({root:()=>elements.get('content')??elements.get('grid')??null,focusTarget:()=>elements.get('trigger')??(kind==='calendar'?null:firstPickerInput(elements,kind))??elements.get('grid')??null,submissions:()=>pickerFormSubmissions(elements,kind)});const periodAvailable=value=>{const policies=runtimeProps.policies;if('month'in value)return monthAvailable(value,policies);return Array.from({length:12},(_entry,index)=>index+1).some(month=>monthAvailable({year:value.year,month},policies))};const refreshCells=()=>{const grid=elements.get('grid');if(grid===undefined||connection.value===undefined)return;grid.querySelectorAll('[data-sectile-picker-date]').forEach(element=>{const parsed=parseDateValue(element.dataset['sectilePickerDate']??'');if(parsed.ok)connection.value?.setCellAttributes(element,parsed.value)})};const refresh=()=>{const raw=connection.value?.getSnapshot().state;if(raw===undefined)return;const picked=extractState(kind,raw);localValue.value=picked.value;localHighlight.value=picked.highlighted;localOpen.value=picked.open;localView.value=picked.view;localViewMode.value=picked.viewMode;if(connection.value!==undefined){dates.value=picked.viewMode==='week'?[connection.value.getWeek()]:picked.viewMode==='month'?connection.value.getMonth():[];months.value=picked.viewMode==='year'?connection.value.getYear():[];if(granularity==='year'){yearPageStart.value=pageStartContaining(picked.highlighted.year,yearPageStart.value,yearPageSize);years.value=yearsFrom(yearPageStart.value,yearPageSize)}}refreshCells();void nextTick(refreshCells)};const connect=()=>{connection.value?.disconnect();const content=elements.get('content');const grid=elements.get('grid');const trigger=elements.get('trigger')??inlineTrigger;if(content===undefined||grid===undefined||kind!=='calendar'&&trigger===undefined)return;const base={root:content,grid,disabled:runtimeProps.disabled,readOnly:runtimeProps.readonly,required:runtimeProps.required,referenceDate:referenceDate.value,...runtimeProps.label===undefined?{}:{label:runtimeProps.label},...runtimeProps.policies===undefined?{}:{policies:runtimeProps.policies},...controlled.value?{value:runtimeProps.modelValue}:{defaultValue:localValue.value},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{defaultHighlightedValue:localHighlight.value},onValueChange:value=>{localValue.value=value;if(controlled.value)pendingValue.value=value;emit('update:modelValue',value)},onHighlightedValueChange:value=>{localHighlight.value=value;emit('update:highlightedValue',value)},onUpdate:refresh};if(kind!=='calendar'){base['trigger']=trigger;const anchor=elements.get('anchor');if(anchor!==undefined)base['anchor']=anchor;Object.assign(base,{manageVisibility:false,position:runtimeProps.position,side:runtimeProps.side,align:runtimeProps.align,sideOffset:runtimeProps.sideOffset,collisionPadding:runtimeProps.collisionPadding,avoidCollisions:runtimeProps.avoidCollisions,hideWhenDetached:runtimeProps.hideWhenDetached,strategy:runtimeProps.strategy,tracking:runtimeProps.tracking});if(runtimeProps.collisionBoundary!==undefined)base['collisionBoundary']=runtimeProps.collisionBoundary;if(controlled.open)base['open']=runtimeProps.open;else base['defaultOpen']=localOpen.value;base['onOpenChange']=value=>{localOpen.value=value;emit('update:open',value)}}if(granularity==='day'){for(const part of inputParts(kind)){const element=elements.get(part);if(element!==undefined)base[toDOMInputKey(part)]=element}}connection.value=capability.connect(base);if(runtimeProps.defaultView!=='month')connection.value.handleEvent({type:'set-view-mode',value:runtimeProps.defaultView});refreshCells();refresh()};let mounted=false;let connectQueued=false;const scheduleConnect=()=>{if(!mounted||connectQueued)return;connectQueued=true;void nextTick(()=>{connectQueued=false;if(mounted)connect()})};const moveBy=(unit,delta)=>{const direction=delta<0?-1:1;for(let index=0;index<Math.abs(delta);index+=1){connection.value?.handleEvent(`${direction<0?'previous':'next'}-${unit}`)}refresh()};const selectMonth=value=>{connection.value?.handleEvent(granularity==='month'?{type:kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date',value:{...value,day:1}}:{type:'select-month',value});refresh()};const selectYear=value=>{connection.value?.handleEvent({type:kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date',value:{year:value.year,month:1,day:1}});refresh()};provide(key,{kind,scope,granularity,inline,state,periodAvailable,formatInput:capability.formatInput,position:computed(()=>runtimeProps.position),strategy:computed(()=>runtimeProps.strategy),register:(part,element)=>{if(elements.get(part)===element||element===undefined&&!elements.has(part))return;if(element===undefined)elements.delete(part);else elements.set(part,element);scheduleConnect()},refresh:()=>connection.value?.refresh(),registerCell:(element,value)=>connection.value?.setCellAttributes(element,value),move:(unit,direction)=>{const repetitions=granularity==='year'&&unit==='year'?yearPageSize:1;moveBy(unit,direction*repetitions)},handleGridKey:event=>{if(granularity==='day'&&state.value.viewMode!=='year'||event.altKey||event.ctrlKey||event.metaKey)return;const navigationGranularity=granularity==='day'?'month':granularity;const columns=navigationGranularity==='month'?3:4;const highlighted=state.value.highlightedValue;let movement;if(event.key==='ArrowLeft')movement={unit:navigationGranularity,delta:-1};else if(event.key==='ArrowRight')movement={unit:navigationGranularity,delta:1};else if(event.key==='ArrowUp')movement={unit:navigationGranularity,delta:-columns};else if(event.key==='ArrowDown')movement={unit:navigationGranularity,delta:columns};else if(event.key==='PageUp')movement={unit:'year',delta:navigationGranularity==='year'?-yearPageSize:-1};else if(event.key==='PageDown')movement={unit:'year',delta:navigationGranularity==='year'?yearPageSize:1};else if(event.key==='Home')movement={unit:navigationGranularity,delta:navigationGranularity==='month'?1-highlighted.month:-((highlighted.year-years.value[0][0].year)%columns)};else if(event.key==='End')movement={unit:navigationGranularity,delta:navigationGranularity==='month'?12-highlighted.month:columns-1-(highlighted.year-years.value[0][0].year)%columns};else if(event.key==='Enter'||event.key===' '){event.preventDefault();event.stopImmediatePropagation();if(navigationGranularity==='month')selectMonth({year:highlighted.year,month:highlighted.month});else selectYear({year:highlighted.year});return}else return;event.preventDefault();event.stopImmediatePropagation();if(movement.delta!==0)moveBy(movement.unit,movement.delta)},setViewMode:value=>{connection.value?.handleEvent({type:'set-view-mode',value});refresh()},selectDate:value=>{const type=kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date';connection.value?.handleEvent({type,value});refresh()},selectMonth,selectYear});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connectQueued=false;connection.value?.disconnect();connection.value=undefined});watch([()=>runtimeProps.disabled,()=>runtimeProps.readonly,()=>runtimeProps.required,()=>runtimeProps.label,()=>runtimeProps.policies,()=>runtimeProps.position,()=>runtimeProps.side,()=>runtimeProps.align,()=>runtimeProps.sideOffset,()=>runtimeProps.collisionPadding,()=>runtimeProps.collisionBoundary,()=>runtimeProps.avoidCollisions,()=>runtimeProps.hideWhenDetached,()=>runtimeProps.strategy,()=>runtimeProps.tracking],connect);watch(referenceDate,value=>{if(runtimeProps.highlightedValue===undefined&&runtimeProps.defaultHighlightedValue===undefined&&dateOf(runtimeProps.modelValue??runtimeProps.defaultValue)===null)localHighlight.value=value;connect()});watch([()=>runtimeProps.modelValue,()=>runtimeProps.open,()=>runtimeProps.highlightedValue],(values,previousValues)=>{if(connection.value===undefined)return;if(values[0]!==previousValues[0])pendingValue.value=noPendingPickerValue;const result=connection.value.syncControlledValues({...controlled.value?{value:runtimeProps.modelValue}:{},...kind!=='calendar'&&controlled.open?{open:runtimeProps.open}:{},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error?.message??'Could not synchronize picker values.');refresh()});return()=>h(Fragment,null,slots['default']?.(state.value)??[])}});return component}export const PickerTrigger=/* @__PURE__ */defineComponent({name:'SectilePickerTrigger',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerTrigger');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('trigger',node instanceof HTMLElement?node:undefined),type:props.as==='button'?'button':undefined,disabled:root.state.value.disabled,'aria-haspopup':'dialog','aria-expanded':String(root.state.value.open),'data-scope':root.scope,'data-part':'trigger'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerAnchor=/* @__PURE__ */defineComponent({name:'SectilePickerAnchor',inheritAttrs:false,props:partProps,setup(props,{attrs,slots}){const root=useRoot('PickerAnchor');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('anchor',node instanceof HTMLElement?node:undefined),'data-scope':root.scope,'data-part':'anchor'}),slots)}});export const PickerContent=/* @__PURE__ */defineComponent({name:'SectilePickerContent',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerContent');const element=shallowRef();const open=computed(()=>root.inline||root.state.value.open);const present=usePresence(open,element);watch(present,async()=>{await nextTick();root.refresh()},{flush:'post'});return()=>{const exiting=!root.inline&&!open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{const content=node instanceof HTMLElement?node:undefined;element.value=content;root.register('content',content)},role:root.inline?'group':'dialog','aria-modal':root.inline?undefined:'false',hidden:root.inline?false:!present.value,...exiting?{inert:true,'aria-hidden':'true'}:{},'data-scope':root.scope,'data-part':'content','data-state':root.state.value.open?'open':'closed',style:!root.inline&&root.position.value?{position:root.strategy.value}:undefined}),{default:()=>slots['default']?.(root.state.value)})}}});export const PickerPortal=/* @__PURE__ */defineComponent({name:'SectilePickerPortal',inheritAttrs:false,props:{to:{type:[String,Object],default:undefined},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){useRoot('PickerPortal');const portalTarget=useHostPortalTarget();return()=>h(Teleport,{to:props.to??portalTarget.value??'body',disabled:props.disabled,defer:props.defer},slots['default']?.())}});export const PickerGrid=/* @__PURE__ */defineComponent({name:'SectilePickerGrid',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerGrid');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('grid',node instanceof HTMLElement?node:undefined),role:'grid',onKeydown:root.handleGridKey,'data-scope':root.scope,'data-part':'grid'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerCell=/* @__PURE__ */defineComponent({name:'SectilePickerCell',inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerCell');const state=computed(()=>cellState(root.kind,root.state.value,props.value));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,elementRef:node=>{if(node instanceof HTMLElement)root.registerCell(node,props.value)},disabled:state.value.disabled,onClick:event=>{event.stopPropagation();root.selectDate(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'data-sectile-picker-date':formatDateValue(props.value),'data-scope':root.scope,'data-part':'cell','data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined,'data-outside-month':state.value.outsideMonth?'':undefined}),{default:()=>slots['default']?.(state.value)})}});export function createPickerMonthCell(part='month-cell',name='SectilePickerMonthCell'){return defineComponent({name,inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);const state=computed(()=>({value:props.value,selected:monthContainsValue(root.state.value.value,props.value),inRange:periodInRange(root.state.value.value,{...props.value,day:1},{...props.value,day:31}),highlighted:root.state.value.highlightedValue.year===props.value.year&&root.state.value.highlightedValue.month===props.value.month,disabled:root.state.value.disabled||!root.periodAvailable(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,disabled:state.value.disabled,tabIndex:state.value.highlighted?0:-1,onClick:event=>{event.stopPropagation();if(!state.value.disabled)root.selectMonth(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'aria-disabled':String(state.value.disabled),'data-sectile-picker-month':`${String(props.value.year).padStart(4,'0')}-${String(props.value.month).padStart(2,'0')}`,'data-scope':root.scope,'data-part':part,'data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined}),{default:()=>slots['default']?.(state.value)})}})}export function createPickerYearCell(part='year-cell',name='SectilePickerYearCell'){return defineComponent({name,inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot(name);const currentYear=(new Date).getFullYear();const state=computed(()=>({value:props.value,selected:yearContainsValue(root.state.value.value,props.value),inRange:periodInRange(root.state.value.value,{year:props.value.year,month:1,day:1},{year:props.value.year,month:12,day:31}),highlighted:root.state.value.highlightedValue.year===props.value.year,current:props.value.year===currentYear,disabled:root.state.value.disabled||!root.periodAvailable(props.value)}));return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,type:props.as==='button'?'button':undefined,disabled:state.value.disabled,tabIndex:state.value.highlighted?0:-1,onClick:event=>{event.stopPropagation();if(!state.value.disabled)root.selectYear(props.value)},role:'gridcell','aria-selected':String(state.value.selected||state.value.inRange),'aria-disabled':String(state.value.disabled),'aria-current':state.value.current?'date':undefined,'data-sectile-picker-year':String(props.value.year),'data-scope':root.scope,'data-part':part,'data-selected':state.value.selected?'':undefined,'data-in-range':state.value.inRange?'':undefined,'data-highlighted':state.value.highlighted?'':undefined,'data-current':state.value.current?'':undefined}),{default:()=>slots['default']?.(state.value)})}})}export const PickerMonthCell=/* @__PURE__ */createPickerMonthCell();export const PickerYearCell=/* @__PURE__ */createPickerYearCell();export function createPickerInput(part,name,type='text'){return defineComponent({name,inheritAttrs:false,props:{name:{type:String,default:undefined},form:{type:String,default:undefined},as:{type:[String,Object,Function],default:'input'},asChild:{type:Boolean,default:false}},setup(props,{attrs}){const root=useRoot(name);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register(part,node instanceof HTMLInputElement?node:undefined),type,name:props.name,form:props.form,disabled:root.state.value.disabled,readOnly:root.granularity!=='day'||root.state.value.readonly||part==='start-input'||part==='end-input'||part==='start-date-time-input'||part==='end-date-time-input',required:false,value:root.state.value.value===null?'':root.formatInput(root.granularity,part,root.state.value.value),'data-scope':root.scope,'data-part':part}))}})}export function createPickerMove(unit,direction,name,part){return defineComponent({name,inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},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':undefined,disabled:root.state.value.disabled,onClick:()=>root.move(unit,direction),'data-scope':root.scope,'data-part':part??`${direction<0?'previous':'next'}-${unit}`}),{default:()=>slots['default']?.(root.state.value)})}})}export function createPickerViewTrigger(view,name){return defineComponent({name,inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},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':undefined,disabled:root.state.value.disabled,onClick:()=>root.setViewMode(view),'aria-pressed':String(root.state.value.viewMode===view),'data-scope':root.scope,'data-part':`${view}-view-trigger`,'data-state':root.state.value.viewMode===view?'active':'inactive'}),{default:()=>slots['default']?.(root.state.value)})}})}function useRoot(part){const root=inject(key);if(root===undefined)throw new TypeError(`${part} must be used inside a date picker root.`);return root}function firstPickerInput(elements,kind){for(const part of inputParts(kind)){const element=elements.get(part);if(element instanceof HTMLInputElement)return element}return null}function pickerFormSubmissions(elements,kind){const submission=(part,relativeName)=>{const element=elements.get(part);if(!(element instanceof HTMLInputElement))return null;return{element:()=>element,...relativeName===undefined?{}:{relativeName},capabilities:hiddenInputSubmissionCapabilities}};if(kind==='calendar'||kind==='date')return compactSubmissions(submission('input'));if(kind==='date-range'){return compactSubmissions(submission('start-input','start'),submission('end-input','end'))}if(kind==='date-time'){const combined=submission('date-time-input');return combined===null?compactSubmissions(submission('date-input','date'),submission('time-input','time')):[combined]}const combinedStart=submission('start-date-time-input','start');const combinedEnd=submission('end-date-time-input','end');return compactSubmissions(combinedStart??submission('start-date-input','start.date'),combinedStart===null?submission('start-time-input','start.time'):null,combinedEnd??submission('end-date-input','end.date'),combinedEnd===null?submission('end-time-input','end.time'):null)}function compactSubmissions(...submissions){return submissions.filter(submission=>submission!==null)}function monthFor(value){return createCalendarMonth({year:value.year,month:value.month})}function yearFor(year){return createCalendarYear(year)}function yearsFrom(start,pageSize){const columns=4;return Array.from({length:Math.ceil(pageSize/columns)},(_row,rowIndex)=>Array.from({length:columns},(_column,columnIndex)=>Object.freeze({year:start+rowIndex*columns+columnIndex})))}function pageStartContaining(year,currentStart,pageSize){if(year<currentStart)return currentStart-Math.ceil((currentStart-year)/pageSize)*pageSize;if(year>=currentStart+pageSize)return currentStart+Math.floor((year-currentStart)/pageSize)*pageSize;return currentStart}function monthAvailable(value,policies){const days=daysInMonth(value.year,value.month);for(let day=1;day<=days;day+=1){if(isCalendarValueAvailable({year:value.year,month:value.month,day},policies))return true}return false}function daysInMonth(year,month){if(month===2)return year%4===0&&(year%100!==0||year%400===0)?29:28;return[4,6,9,11].includes(month)?30:31}function dateOf(value){if(value===null)return null;if('year'in value)return value;if('date'in value)return value.date;const start=value.start;return'date'in start?start.date:start}function extractState(kind,raw){const state=raw;if(kind==='calendar')return{value:state['value'],highlighted:state['highlighted'],open:true,view:state['view'],viewMode:state['viewMode']};if(kind==='date')return{value:state['value'],highlighted:state['highlighted'],open:state['open'],view:state['view'],viewMode:state['viewMode']};const calendar=state['calendar'];return{value:state['value'],highlighted:calendar['highlighted'],open:calendar['open'],view:calendar['view'],viewMode:calendar['viewMode']}}function compare(left,right){return left.year-right.year||left.month-right.month||left.day-right.day}function cellState(kind,state,value){const selectedDate=dateOf(state.value);let selected=selectedDate!==null&&compare(selectedDate,value)===0;let inRange=false;if(state.value!==null&&!('year'in state.value)&&!('date'in state.value)){const start='date'in state.value.start?state.value.start.date:state.value.start;const end='date'in state.value.end?state.value.end.date:state.value.end;inRange=compare(start,value)<=0&&compare(value,end)<=0;selected=compare(start,value)===0||compare(end,value)===0}return{value,selected,inRange,highlighted:compare(state.highlightedValue,value)===0,disabled:state.disabled,outsideMonth:value.month!==state.view.month||value.year!==state.view.year}}function monthContainsValue(value,month){const date=dateOf(value);return date!==null&&date.year===month.year&&date.month===month.month}function yearContainsValue(value,year){const date=dateOf(value);return date!==null&&date.year===year.year}function periodInRange(value,start,end){if(value===null||'year'in value||'date'in value)return false;const rangeStart='date'in value.start?value.start.date:value.start;const rangeEnd='date'in value.end?value.end.date:value.end;return compare(rangeStart,end)<=0&&compare(start,rangeEnd)<=0}function inputParts(kind){return kind==='calendar'||kind==='date'?['input']:kind==='date-range'?['start-input','end-input']:kind==='date-time'?['date-time-input','date-input','time-input']:['start-date-time-input','end-date-time-input','start-date-input','end-date-input','start-time-input','end-time-input']}function toDOMInputKey(part){if(part==='date-time-input')return'dateTimeInput';if(part==='start-date-time-input')return'startDateTimeInput';if(part==='end-date-time-input')return'endDateTimeInput';return part.replace(/-([a-z])/g,(_match,letter)=>letter.toUpperCase())}
2
2
  //# sourceMappingURL=date-picker.js.map