@sectile/vue 0.12.0 → 0.13.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 (70) hide show
  1. package/dist/calendar.js +1 -1
  2. package/dist/calendar.js.map +1 -1
  3. package/dist/data-grid.d.ts +2 -2
  4. package/dist/data-grid.js +1 -1
  5. package/dist/data-grid.js.map +1 -1
  6. package/dist/data-table.js +1 -1
  7. package/dist/data-table.js.map +1 -1
  8. package/dist/data-tree-grid.d.ts +2 -2
  9. package/dist/data-tree-grid.js +1 -1
  10. package/dist/data-tree-grid.js.map +1 -1
  11. package/dist/date-picker.js +1 -1
  12. package/dist/date-picker.js.map +1 -1
  13. package/dist/date-range-picker.js +1 -1
  14. package/dist/date-range-picker.js.map +1 -1
  15. package/dist/date-time-picker.js +1 -1
  16. package/dist/date-time-picker.js.map +1 -1
  17. package/dist/date-time-range-picker.js +1 -1
  18. package/dist/date-time-range-picker.js.map +1 -1
  19. package/dist/internal/calendar-capability.d.ts +1 -0
  20. package/dist/internal/calendar-capability.js +2 -0
  21. package/dist/internal/calendar-capability.js.map +1 -0
  22. package/dist/internal/date-picker-capability.d.ts +1 -0
  23. package/dist/internal/date-picker-capability.js +2 -0
  24. package/dist/internal/date-picker-capability.js.map +1 -0
  25. package/dist/internal/date-picker.d.ts +8 -7
  26. package/dist/internal/date-picker.js +1 -1
  27. package/dist/internal/date-picker.js.map +1 -1
  28. package/dist/internal/date-range-picker-capability.d.ts +1 -0
  29. package/dist/internal/date-range-picker-capability.js +2 -0
  30. package/dist/internal/date-range-picker-capability.js.map +1 -0
  31. package/dist/internal/date-time-picker-capability.d.ts +1 -0
  32. package/dist/internal/date-time-picker-capability.js +2 -0
  33. package/dist/internal/date-time-picker-capability.js.map +1 -0
  34. package/dist/internal/date-time-range-picker-capability.d.ts +1 -0
  35. package/dist/internal/date-time-range-picker-capability.js +2 -0
  36. package/dist/internal/date-time-range-picker-capability.js.map +1 -0
  37. package/dist/internal/month-picker-capability.d.ts +1 -0
  38. package/dist/internal/month-picker-capability.js +2 -0
  39. package/dist/internal/month-picker-capability.js.map +1 -0
  40. package/dist/internal/month-range-picker-capability.d.ts +1 -0
  41. package/dist/internal/month-range-picker-capability.js +2 -0
  42. package/dist/internal/month-range-picker-capability.js.map +1 -0
  43. package/dist/internal/picker-capability.d.ts +27 -0
  44. package/dist/internal/picker-capability.js +2 -0
  45. package/dist/internal/picker-capability.js.map +1 -0
  46. package/dist/internal/range-calendar-capability.d.ts +1 -0
  47. package/dist/internal/range-calendar-capability.js +2 -0
  48. package/dist/internal/range-calendar-capability.js.map +1 -0
  49. package/dist/internal/tabular-parts.d.ts +4 -0
  50. package/dist/internal/tabular-parts.js +1 -1
  51. package/dist/internal/tabular-parts.js.map +1 -1
  52. package/dist/internal/tabular-profile.d.ts +4 -4
  53. package/dist/internal/tabular-profile.js.map +1 -1
  54. package/dist/internal/year-picker-capability.d.ts +1 -0
  55. package/dist/internal/year-picker-capability.js +2 -0
  56. package/dist/internal/year-picker-capability.js.map +1 -0
  57. package/dist/internal/year-range-picker-capability.d.ts +1 -0
  58. package/dist/internal/year-range-picker-capability.js +2 -0
  59. package/dist/internal/year-range-picker-capability.js.map +1 -0
  60. package/dist/month-picker.js +1 -1
  61. package/dist/month-picker.js.map +1 -1
  62. package/dist/month-range-picker.js +1 -1
  63. package/dist/month-range-picker.js.map +1 -1
  64. package/dist/range-calendar.js +1 -1
  65. package/dist/range-calendar.js.map +1 -1
  66. package/dist/year-picker.js +1 -1
  67. package/dist/year-picker.js.map +1 -1
  68. package/dist/year-range-picker.js +1 -1
  69. package/dist/year-range-picker.js.map +1 -1
  70. package/package.json +13 -13
@@ -1,2 +1,2 @@
1
- import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,nextTick,provide,shallowRef,watch}from'vue';import{createCalendar}from'@sectile/dom/temporal/calendar';import{createDatePicker,createCalendarMonth,createCalendarYear,isCalendarValueAvailable}from'@sectile/dom/temporal/date-picker';import{createDateRangePicker}from'@sectile/dom/temporal/date-range-picker';import{createDateTimePicker}from'@sectile/dom/temporal/date-time-picker';import{createDateTimeRangePicker}from'@sectile/dom/temporal/date-time-range-picker';import{formatDateValue,parseDateValue}from'@sectile/dom/temporal/date-field';import{formatDateTimeValue}from'@sectile/dom/temporal/date-time-field';import{formatTimeValue}from'@sectile/dom/temporal/time-field';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(kind,name,config={}){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}}const created=kind==='calendar'?createCalendar(base):kind==='date'?createDatePicker(base):kind==='date-range'?createDateRangePicker(base):kind==='date-time'?createDateTimePicker(base):createDateTimeRangePicker(base);connection.value=created;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,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:inputValue(root.kind,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 inputValue(kind,granularity,part,value){if(value===null)return'';const formatPeriod=date=>granularity==='year'?String(date.year):granularity==='month'?`${String(date.year).padStart(4,'0')}-${String(date.month).padStart(2,'0')}`:formatDateValue(date);if(kind==='calendar'||kind==='date')return formatPeriod(value);if(kind==='date-time'){const dateTime=value;return part==='time-input'?formatTimeValue(dateTime.time):part==='date-input'?formatDateValue(dateTime.date):formatDateTimeValue(dateTime)}const range=value;const endpoint=part.startsWith('start')?range.start:range.end;if('date'in endpoint)return part.endsWith('time-input')&&!part.includes('date-time')?formatTimeValue(endpoint.time):part.endsWith('date-input')?formatDateValue(endpoint.date):formatDateTimeValue(endpoint);return formatPeriod(endpoint)}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{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())}
2
2
  //# sourceMappingURL=date-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.js","names":["Fragment","Teleport","computed","defineComponent","h","inject","mergeProps","onBeforeUnmount","onMounted","nextTick","provide","shallowRef","watch","createCalendar","createDatePicker","createCalendarMonth","createCalendarYear","isCalendarValueAvailable","createDateRangePicker","createDateTimePicker","createDateTimeRangePicker","formatDateValue","parseDateValue","formatDateTimeValue","formatTimeValue","hiddenInputSubmissionCapabilities","useCompositeFormControl","Primitive","useControlledStateInvariant","useHostPortalTarget","useTemporalReferenceDate","specializePickerRootPart","_kind","component","key","Symbol","noPendingPickerValue","partProps","as","type","String","Object","Function","default","asChild","Boolean","createPickerRoot","kind","name","config","scope","granularity","defaultView","defaultOpen","yearPageSize","inline","inheritAttrs","props","modelValue","undefined","defaultValue","open","highlightedValue","defaultHighlightedValue","referenceDate","disabled","readonly","required","label","policies","position","side","align","sideOffset","Number","collisionPadding","collisionBoundary","avoidCollisions","hideWhenDetached","strategy","tracking","emits","_value","slots","setup","emit","runtimeProps","elements","Map","connection","hostReferenceDate","value","inlineTrigger","document","createElement","localValue","localOpen","localHighlight","dateOf","yearPageStart","year","Math","floor","dates","monthFor","months","yearFor","years","yearsFrom","localView","freeze","month","localViewMode","controlled","highlighted","pendingValue","state","view","viewMode","root","get","focusTarget","firstPickerInput","submissions","pickerFormSubmissions","periodAvailable","monthAvailable","Array","from","length","_entry","index","some","refreshCells","grid","querySelectorAll","forEach","element","parsed","dataset","ok","setCellAttributes","refresh","raw","getSnapshot","picked","extractState","getWeek","getMonth","getYear","pageStartContaining","connect","disconnect","content","trigger","base","readOnly","onValueChange","onHighlightedValueChange","onUpdate","anchor","assign","part","inputParts","toDOMInputKey","created","handleEvent","mounted","connectQueued","scheduleConnect","moveBy","unit","delta","direction","abs","selectMonth","day","selectYear","register","has","delete","set","registerCell","move","repetitions","handleGridKey","event","altKey","ctrlKey","metaKey","navigationGranularity","columns","movement","preventDefault","stopImmediatePropagation","setViewMode","selectDate","values","previousValues","result","syncControlledValues","TypeError","error","message","PickerTrigger","attrs","useRoot","elementRef","node","HTMLElement","PickerAnchor","PickerContent","role","hidden","style","PickerPortal","to","defer","portalTarget","PickerGrid","onKeydown","PickerCell","cellState","onClick","stopPropagation","selected","inRange","outsideMonth","createPickerMonthCell","monthContainsValue","periodInRange","tabIndex","padStart","createPickerYearCell","currentYear","Date","getFullYear","yearContainsValue","current","PickerMonthCell","PickerYearCell","createPickerInput","form","HTMLInputElement","inputValue","createPickerMove","createPickerViewTrigger","submission","relativeName","capabilities","compactSubmissions","combined","combinedStart","combinedEnd","filter","start","pageSize","ceil","_row","rowIndex","_column","columnIndex","currentStart","days","daysInMonth","includes","date","calendar","compare","left","right","selectedDate","end","formatPeriod","dateTime","time","range","endpoint","startsWith","endsWith","rangeStart","rangeEnd","replace","_match","letter","toUpperCase"],"sources":["../../src/internal/date-picker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"date-picker.js","names":["Fragment","Teleport","computed","defineComponent","h","inject","mergeProps","onBeforeUnmount","onMounted","nextTick","provide","shallowRef","watch","formatDateValue","parseDateValue","createCalendarMonth","createCalendarYear","isCalendarValueAvailable","hiddenInputSubmissionCapabilities","useCompositeFormControl","Primitive","useControlledStateInvariant","useHostPortalTarget","useTemporalReferenceDate","specializePickerRootPart","_kind","component","key","Symbol","noPendingPickerValue","partProps","as","type","String","Object","Function","default","asChild","Boolean","createPickerRoot","capability","name","config","kind","scope","granularity","defaultView","defaultOpen","yearPageSize","inline","inheritAttrs","props","modelValue","undefined","defaultValue","open","highlightedValue","defaultHighlightedValue","referenceDate","disabled","readonly","required","label","policies","position","side","align","sideOffset","Number","collisionPadding","collisionBoundary","avoidCollisions","hideWhenDetached","strategy","tracking","emits","_value","slots","setup","emit","runtimeProps","elements","Map","connection","hostReferenceDate","value","inlineTrigger","document","createElement","localValue","localOpen","localHighlight","dateOf","yearPageStart","year","Math","floor","dates","monthFor","months","yearFor","years","yearsFrom","localView","freeze","month","localViewMode","controlled","highlighted","pendingValue","state","view","viewMode","root","get","focusTarget","firstPickerInput","submissions","pickerFormSubmissions","periodAvailable","monthAvailable","Array","from","length","_entry","index","some","refreshCells","grid","querySelectorAll","forEach","element","parsed","dataset","ok","setCellAttributes","refresh","raw","getSnapshot","picked","extractState","getWeek","getMonth","getYear","pageStartContaining","connect","disconnect","content","trigger","base","readOnly","onValueChange","onHighlightedValueChange","onUpdate","anchor","assign","part","inputParts","toDOMInputKey","handleEvent","mounted","connectQueued","scheduleConnect","moveBy","unit","delta","direction","abs","selectMonth","day","selectYear","formatInput","register","has","delete","set","registerCell","move","repetitions","handleGridKey","event","altKey","ctrlKey","metaKey","navigationGranularity","columns","movement","preventDefault","stopImmediatePropagation","setViewMode","selectDate","values","previousValues","result","syncControlledValues","TypeError","error","message","PickerTrigger","attrs","useRoot","elementRef","node","HTMLElement","PickerAnchor","PickerContent","role","hidden","style","PickerPortal","to","defer","portalTarget","PickerGrid","onKeydown","PickerCell","cellState","onClick","stopPropagation","selected","inRange","outsideMonth","createPickerMonthCell","monthContainsValue","periodInRange","tabIndex","padStart","createPickerYearCell","currentYear","Date","getFullYear","yearContainsValue","current","PickerMonthCell","PickerYearCell","createPickerInput","form","HTMLInputElement","createPickerMove","createPickerViewTrigger","submission","relativeName","capabilities","compactSubmissions","combined","combinedStart","combinedEnd","filter","start","pageSize","ceil","_row","rowIndex","_column","columnIndex","currentStart","days","daysInMonth","includes","date","calendar","compare","left","right","selectedDate","end","rangeStart","rangeEnd","replace","_match","letter","toUpperCase"],"sources":["../../src/internal/date-picker.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const dateRangePickerCapability: import("./picker-capability.js").PickerFamilyCapability<"date-range">;
@@ -0,0 +1,2 @@
1
+ import{createDateRangePicker}from"@sectile/dom/temporal/date-range-picker";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{definePickerFamilyCapability}from"./picker-capability.js";const dateRangePickerCapability=definePickerFamilyCapability({kind:"date-range",connect:options=>createDateRangePicker(options),formatInput:(granularity,part,value)=>{const range=value;return formatPeriod(part.startsWith("start")?range.start:range.end,granularity)}});function formatPeriod(value,granularity){return granularity==="year"?String(value.year):granularity==="month"?`${String(value.year).padStart(4,"0")}-${String(value.month).padStart(2,"0")}`:formatDateValue(value)}export{dateRangePickerCapability};
2
+ //# sourceMappingURL=date-range-picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/date-range-picker-capability.ts"],"mappings":"AAAA,OAAS,0BAA6B,0CACtC,OAAS,oBAAuD,mCAChE,OAAS,iCAAsE,yBAExE,MAAM,0BAA4B,6BAA6B,CACpE,KAAM,aACN,QAAU,SAAY,sBAAsB,OAAgB,EAC5D,YAAa,CAAC,YAAa,KAAM,QAAS,CACxC,MAAM,MAAQ,MACd,OAAO,aAAa,KAAK,WAAW,OAAO,EAAI,MAAM,MAAQ,MAAM,IAAK,WAAW,CACrF,EACD,EAED,SAAS,aAAa,MAAkB,YAAwC,CAC9E,OAAO,cAAgB,OACnB,OAAO,MAAM,IAAI,EACjB,cAAgB,QACd,GAAG,OAAO,MAAM,IAAI,EAAE,SAAS,EAAG,GAAG,CAAC,IAAI,OAAO,MAAM,KAAK,EAAE,SAAS,EAAG,GAAG,CAAC,GAC9E,gBAAgB,KAAK,CAC7B","names":[],"file":"date-range-picker-capability.js"}
@@ -0,0 +1 @@
1
+ export declare const dateTimePickerCapability: import("./picker-capability.js").PickerFamilyCapability<"date-time">;
@@ -0,0 +1,2 @@
1
+ import{createDateTimePicker}from"@sectile/dom/temporal/date-time-picker";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{formatDateTimeValue}from"@sectile/dom/temporal/date-time-field";import{formatTimeValue}from"@sectile/dom/temporal/time-field";import{definePickerFamilyCapability}from"./picker-capability.js";const dateTimePickerCapability=definePickerFamilyCapability({kind:"date-time",connect:options=>createDateTimePicker(options),formatInput:(_granularity,part,value)=>{const dateTime=value;return part==="time-input"?formatTimeValue(dateTime.time):part==="date-input"?formatDateValue(dateTime.date):formatDateTimeValue(dateTime)}});export{dateTimePickerCapability};
2
+ //# sourceMappingURL=date-time-picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/date-time-picker-capability.ts"],"mappings":"AAAA,OAAS,yBAA4B,yCACrC,OAAS,oBAAuB,mCAChC,OAAS,wBAA+C,wCACxD,OAAS,oBAAuB,mCAChC,OAAS,iCAAoC,yBAEtC,MAAM,yBAA2B,6BAA6B,CACnE,KAAM,YACN,QAAU,SAAY,qBAAqB,OAAgB,EAC3D,YAAa,CAAC,aAAc,KAAM,QAAS,CACzC,MAAM,SAAW,MACjB,OAAO,OAAS,aACZ,gBAAgB,SAAS,IAAI,EAC7B,OAAS,aACP,gBAAgB,SAAS,IAAI,EAC7B,oBAAoB,QAAQ,CACpC,EACD","names":[],"file":"date-time-picker-capability.js"}
@@ -0,0 +1 @@
1
+ export declare const dateTimeRangePickerCapability: import("./picker-capability.js").PickerFamilyCapability<"date-time-range">;
@@ -0,0 +1,2 @@
1
+ import{createDateTimeRangePicker}from"@sectile/dom/temporal/date-time-range-picker";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{formatDateTimeValue}from"@sectile/dom/temporal/date-time-field";import{formatTimeValue}from"@sectile/dom/temporal/time-field";import{definePickerFamilyCapability}from"./picker-capability.js";const dateTimeRangePickerCapability=definePickerFamilyCapability({kind:"date-time-range",connect:options=>createDateTimeRangePicker(options),formatInput:(_granularity,part,value)=>{const range=value;const endpoint=part.startsWith("start")?range.start:range.end;return part.endsWith("time-input")&&!part.includes("date-time")?formatTimeValue(endpoint.time):part.endsWith("date-input")?formatDateValue(endpoint.date):formatDateTimeValue(endpoint)}});export{dateTimeRangePickerCapability};
2
+ //# sourceMappingURL=date-time-range-picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/date-time-range-picker-capability.ts"],"mappings":"AAAA,OAAS,8BAAiC,+CAC1C,OAAS,oBAAuB,mCAChC,OAAS,wBAA+C,wCACxD,OAAS,oBAAuB,mCAChC,OAAS,iCAAoC,yBAEtC,MAAM,8BAAgC,6BAA6B,CACxE,KAAM,kBACN,QAAU,SAAY,0BAA0B,OAAgB,EAChE,YAAa,CAAC,aAAc,KAAM,QAAS,CACzC,MAAM,MAAQ,MACd,MAAM,SAAW,KAAK,WAAW,OAAO,EAAI,MAAM,MAAQ,MAAM,IAChE,OAAO,KAAK,SAAS,YAAY,GAAK,CAAC,KAAK,SAAS,WAAW,EAC5D,gBAAgB,SAAS,IAAI,EAC7B,KAAK,SAAS,YAAY,EACxB,gBAAgB,SAAS,IAAI,EAC7B,oBAAoB,QAAQ,CACpC,EACD","names":[],"file":"date-time-range-picker-capability.js"}
@@ -0,0 +1 @@
1
+ export declare const monthPickerCapability: import("./picker-capability.js").PickerFamilyCapability<"date">;
@@ -0,0 +1,2 @@
1
+ import{createMonthPicker}from"@sectile/dom/temporal/month-picker";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{definePickerFamilyCapability}from"./picker-capability.js";const monthPickerCapability=definePickerFamilyCapability({kind:"date",connect:options=>createMonthPicker(options),formatInput:(granularity,_part,value)=>formatPeriod(value,granularity)});function formatPeriod(value,granularity){return granularity==="year"?String(value.year):granularity==="month"?`${String(value.year).padStart(4,"0")}-${String(value.month).padStart(2,"0")}`:formatDateValue(value)}export{monthPickerCapability};
2
+ //# sourceMappingURL=month-picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/month-picker-capability.ts"],"mappings":"AAAA,OAAS,sBAAyB,qCAClC,OAAS,oBAAuC,mCAChD,OAAS,iCAAsE,yBAExE,MAAM,sBAAwB,6BAA6B,CAChE,KAAM,OACN,QAAU,SAAY,kBAAkB,OAAgB,EACxD,YAAa,CAAC,YAAa,MAAO,QAAU,aAAa,MAAoB,WAAW,EACzF,EAED,SAAS,aAAa,MAAkB,YAAwC,CAC9E,OAAO,cAAgB,OAAS,OAAO,MAAM,IAAI,EAAI,cAAgB,QACjE,GAAG,OAAO,MAAM,IAAI,EAAE,SAAS,EAAG,GAAG,CAAC,IAAI,OAAO,MAAM,KAAK,EAAE,SAAS,EAAG,GAAG,CAAC,GAAK,gBAAgB,KAAK,CAC9G","names":[],"file":"month-picker-capability.js"}
@@ -0,0 +1 @@
1
+ export declare const monthRangePickerCapability: import("./picker-capability.js").PickerFamilyCapability<"date-range">;
@@ -0,0 +1,2 @@
1
+ import{createMonthRangePicker}from"@sectile/dom/temporal/month-range-picker";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{definePickerFamilyCapability}from"./picker-capability.js";const monthRangePickerCapability=definePickerFamilyCapability({kind:"date-range",connect:options=>createMonthRangePicker(options),formatInput:(granularity,part,value)=>{const range=value;return formatPeriod(part.startsWith("start")?range.start:range.end,granularity)}});function formatPeriod(value,granularity){return granularity==="year"?String(value.year):granularity==="month"?`${String(value.year).padStart(4,"0")}-${String(value.month).padStart(2,"0")}`:formatDateValue(value)}export{monthRangePickerCapability};
2
+ //# sourceMappingURL=month-range-picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/month-range-picker-capability.ts"],"mappings":"AAAA,OAAS,2BAA8B,2CACvC,OAAS,oBAAuD,mCAChE,OAAS,iCAAsE,yBAExE,MAAM,2BAA6B,6BAA6B,CACrE,KAAM,aACN,QAAU,SAAY,uBAAuB,OAAgB,EAC7D,YAAa,CAAC,YAAa,KAAM,QAAS,CACxC,MAAM,MAAQ,MACd,OAAO,aAAa,KAAK,WAAW,OAAO,EAAI,MAAM,MAAQ,MAAM,IAAK,WAAW,CACrF,EACD,EAED,SAAS,aAAa,MAAkB,YAAwC,CAC9E,OAAO,cAAgB,OAAS,OAAO,MAAM,IAAI,EAAI,cAAgB,QACjE,GAAG,OAAO,MAAM,IAAI,EAAE,SAAS,EAAG,GAAG,CAAC,IAAI,OAAO,MAAM,KAAK,EAAE,SAAS,EAAG,GAAG,CAAC,GAAK,gBAAgB,KAAK,CAC9G","names":[],"file":"month-range-picker-capability.js"}
@@ -0,0 +1,27 @@
1
+ export type PickerCapabilityGranularity = 'day' | 'month' | 'year';
2
+ export interface PickerCapabilityConnection {
3
+ getSnapshot(): {
4
+ readonly state: unknown;
5
+ };
6
+ getMonth(): readonly (readonly DateValue[])[];
7
+ getWeek(): readonly DateValue[];
8
+ getYear(): readonly (readonly CalendarMonthValue[])[];
9
+ syncControlledValues(values: Record<string, unknown>): {
10
+ readonly ok: boolean;
11
+ readonly error?: {
12
+ readonly message: string;
13
+ };
14
+ };
15
+ setCellAttributes(element: HTMLElement, value: DateValue): void;
16
+ handleEvent(event: unknown): boolean;
17
+ refresh(): void;
18
+ disconnect(): void;
19
+ }
20
+ export interface PickerFamilyCapability<Kind extends string> {
21
+ readonly kind: Kind;
22
+ connect(options: Record<string, unknown>): PickerCapabilityConnection;
23
+ formatInput(granularity: PickerCapabilityGranularity, part: string, value: unknown): string;
24
+ }
25
+ export declare function definePickerFamilyCapability<Kind extends string>(capability: PickerFamilyCapability<Kind>): PickerFamilyCapability<Kind>;
26
+ import type { CalendarMonthValue } from '@sectile/dom/temporal/calendar';
27
+ import type { DateValue } from '@sectile/dom/temporal/date-field';
@@ -0,0 +1,2 @@
1
+ function definePickerFamilyCapability(capability){return Object.freeze({...capability})}export{definePickerFamilyCapability};
2
+ //# sourceMappingURL=picker-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/picker-capability.ts"],"mappings":"AAoBM,SAAU,6BACd,WAAwC,CAExC,OAAO,OAAO,OAAO,CAAE,GAAG,UAAU,CAAE,CACxC","names":[],"file":"picker-capability.js"}
@@ -0,0 +1 @@
1
+ export declare const rangeCalendarCapability: import("./picker-capability.js").PickerFamilyCapability<"date-range">;
@@ -0,0 +1,2 @@
1
+ import{createRangeCalendar}from"@sectile/dom/temporal/range-calendar";import{formatDateValue}from"@sectile/dom/temporal/date-field";import{definePickerFamilyCapability}from"./picker-capability.js";const rangeCalendarCapability=definePickerFamilyCapability({kind:"date-range",connect:options=>createRangeCalendar(options),formatInput:(_granularity,part,value)=>{const range=value;return formatDateValue(part.startsWith("start")?range.start:range.end)}});export{rangeCalendarCapability};
2
+ //# sourceMappingURL=range-calendar-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/internal/range-calendar-capability.ts"],"mappings":"AAAA,OAAS,wBAA2B,uCACpC,OAAS,oBAAuC,mCAChD,OAAS,iCAAoC,yBAEtC,MAAM,wBAA0B,6BAA6B,CAClE,KAAM,aACN,QAAU,SAAY,oBAAoB,OAAgB,EAC1D,YAAa,CAAC,aAAc,KAAM,QAAS,CACzC,MAAM,MAAQ,MACd,OAAO,gBAAgB,KAAK,WAAW,OAAO,EAAI,MAAM,MAAQ,MAAM,GAAG,CAC3E,EACD","names":[],"file":"range-calendar-capability.js"}
@@ -35,6 +35,9 @@ export interface HostConnection {
35
35
  bindRowDisclosure?(element: HTMLElement, options: unknown): () => void;
36
36
  bindEditor(element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement, options: unknown): () => void;
37
37
  bindColumnResizeHandle(element: HTMLElement, options: unknown): () => void;
38
+ syncControlledValues?(values: Readonly<Record<string, unknown>>): {
39
+ readonly ok: boolean;
40
+ };
38
41
  }
39
42
  type HeaderReference = {
40
43
  readonly columnID: TabularColumnID;
@@ -52,6 +55,7 @@ interface PartConfig<State, Event, Command> {
52
55
  readonly onCommand?: (command: unknown) => void;
53
56
  readonly onSnapshotChange: () => void;
54
57
  }): HostConnection;
58
+ connectionChanged?(controller: VueProfileController<State, Event, Command>, connection: HostConnection | null): void;
55
59
  }
56
60
  export declare function createTabularParts<State, Event, Command>(config: PartConfig<State, Event, Command>): Readonly<Record<string, Component>>;
57
61
  export {};
@@ -1,2 +1,2 @@
1
- import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide}from"vue";import{Primitive}from"../primitive.js";import{provideProfile,refreshVueProfileController,stateOf,useProfile}from"./tabular-profile.js";const asProp={type:[String,Object,Function],default:"div"};const asChildProp={type:Boolean,default:false};const identityProps={rowID:{type:String,default:void 0},column:{type:String,required:true}};function createTabularParts(config){const rowKey=Symbol(`Sectile${config.prefix}Row`);const usePublic=name=>useProfile(config.publicKey,`${config.prefix}${name}`);const usePrivate=name=>useProfile(config.privateKey,`${config.prefix}${name}`);const structural=(suffix,part,tag)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{as:{...asProp,default:tag},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic(suffix);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="header"||part==="body"?"rowgroup":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const boundPart=(suffix,part,tag,props,bind,rowAware=false)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{...props,as:{...asProp,default:tag},asChild:asChildProp},setup(runtimeProps,{attrs,slots}){const context=usePrivate(suffix);const inheritedRow=rowAware?inject(rowKey,null):null;const values=()=>{const resolved=runtimeProps;if(!rowAware||resolved["rowID"]!==void 0)return resolved;const row=inheritedRow?.value;if(row===void 0)throw new TypeError(`${config.prefix}${suffix} requires rowID outside automatic ${config.prefix}Body.`);return Object.freeze({...resolved,rowID:row.id})};let release;onBeforeUnmount(()=>release?.());const elementRef=value=>{release?.();release=void 0;if(!(value instanceof HTMLElement)||context.connection.value===null)return;release=bind(context.connection.value,value,values())};return()=>h(Primitive,mergeProps(attrs,{as:runtimeProps.as,asChild:runtimeProps.asChild,elementRef,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="row"?"row":part==="column-header"?"columnheader":part==="cell"?"gridcell":void 0}),{default:()=>slots["default"]?.(partSlot(context,inheritedRow))})}});const Provider=defineComponent({name:`Sectile${config.prefix}Provider`,props:{controller:{type:Object,required:true}},setup(props,{slots}){const context=provideProfile(config.publicKey,config.privateKey,props.controller);return()=>slots["default"]?.(rootSlot(context))}});const rootTag=config.profile==="data-table"?"table":"div";const Root=defineComponent({name:`Sectile${config.prefix}Root`,inheritAttrs:false,props:{onCommand:{type:Function,default:void 0},onError:{type:Function,default:void 0},as:{...asProp,default:rootTag},asChild:asChildProp},setup(props,{attrs,expose,slots}){const context=usePrivate("Root");let element=null;const connect=()=>{context.connection.value?.disconnect();context.connection.value=null;if(element===null)return;try{context.connection.value=config.connect(element,context.controller,{...props.onCommand===void 0?{}:{onCommand:props.onCommand},onSnapshotChange:()=>refreshVueProfileController(context.controller)})}catch(error){props.onError?.(error);if(props.onError===void 0)throw error}};onMounted(connect);onBeforeUnmount(()=>{context.connection.value?.disconnect();context.connection.value=null});expose({controller:context.controller,refresh:()=>context.connection.value?.refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:value=>{element=value instanceof HTMLElement?value:null},"data-scope":config.profile,"data-part":"root",role:config.profile==="data-grid"?"grid":config.profile==="data-tree-grid"?"treegrid":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const table=config.profile==="data-table";const Caption=structural("Caption","caption","caption");const Header=structural("Header","header",table?"thead":"div");const HeaderRow=defineComponent({name:`Sectile${config.prefix}HeaderRow`,inheritAttrs:false,props:{as:{...asProp,default:table?"tr":"div"},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic("HeaderRow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:table?void 0:"row","data-scope":config.profile,"data-part":"header-row"}),{default:()=>slots["default"]?.(rootSlot(context))})}});const ColumnHeader=boundPart("ColumnHeader","column-header",table?"th":"div",{column:{type:String,default:void 0},header:{type:String,default:void 0}},(connection,element,props)=>{const column=props["column"];const header=props["header"];if(column===void 0===(header===void 0)){throw new TypeError(`${config.prefix}ColumnHeader requires exactly one of column or header.`)}const reference=column===void 0?{headerNodeID:String(header)}:{columnID:String(column)};if(table&&element instanceof HTMLTableCellElement)connection.setHeaderCellAttributes?.(element,reference);else connection.setColumnHeaderAttributes?.(element,reference);return void 0});const Row=boundPart("Row","row",table?"tr":"div",{rowID:{type:String,required:true}},(connection,element,props)=>{const result=connection.registerRow(element,{rowID:String(props["rowID"]),expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0});const AutomaticRow=defineComponent({name:`Sectile${config.prefix}AutomaticRow`,props:{row:{type:Object,required:true}},setup(props,{slots}){provide(rowKey,computed(()=>props.row));return()=>h(Row,{rowID:props.row.id,"data-row-id":props.row.id,"data-row-kind":props.row.kind,...props.row.contextOnly===true?{"data-context-only":""}:{}},{default:()=>slots["default"]?.()})}});const Body=defineComponent({name:`Sectile${config.prefix}Body`,inheritAttrs:false,props:{manual:{type:Boolean,default:false},as:{...asProp,default:table?"tbody":"div"},asChild:asChildProp},slots:Object,setup(props,{attrs,slots}){const context=usePublic("Body");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":"body",role:table?void 0:"rowgroup"}),{default:()=>{const root=rootSlot(context);if(props.manual)return slots["default"]?.(root);const rows=root["rows"];if(rows.length===0)return slots["empty"]?.(root);return rows.map((row,rowIndex)=>h(AutomaticRow,{key:row.id,row},{default:()=>slots["default"]?.(Object.freeze({...root,row,rowIndex,isGroup:row.kind==="group"}))}))}})}});const Cell=boundPart("Cell","cell",table?"td":"div",identityProps,(connection,element,props)=>{const result=connection.registerCell(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0},true);const SortTrigger=boundPart("SortTrigger","sort-trigger","button",{column:{type:String,required:true},comparator:{type:String,default:"default"}},(connection,element,props)=>connection.bindSortTrigger(element,{columnID:String(props["column"]),comparator:String(props["comparator"])}));const FilterControl=boundPart("FilterControl","filter-control","input",{scope:{type:String,required:true},column:{type:String,default:void 0},id:{type:String,required:true},predicate:{type:String,required:true}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLSelectElement?connection.bindFilterControl(element,props["scope"]==="column"?{scope:"column",columnID:String(props["column"]),id:String(props["id"]),predicate:String(props["predicate"])}:{scope:"global",id:String(props["id"]),predicate:String(props["predicate"])}):void 0);const ColumnResizeHandle=boundPart("ColumnResizeHandle","column-resize-handle","button",{column:{type:String,required:true},minSize:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},(connection,element,props)=>connection.bindColumnResizeHandle(element,{columnID:String(props["column"]),...typeof props["minSize"]==="number"?{minSize:props["minSize"]}:{},...typeof props["maxSize"]==="number"?{maxSize:props["maxSize"]}:{}}));const SelectionControl=boundPart(table?"SelectionControl":"RowSelectionControl","selection-control","input",{rowID:{type:String,default:void 0},name:{type:String,required:true},value:{type:String,default:void 0},form:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>{const rowID=String(props["rowID"]);const options={rowID,name:String(props["name"]),value:props["value"]===void 0?rowID:String(props["value"]),...typeof props["form"]==="string"?{form:props["form"]}:{},disabled:props["disabled"]===true};return table?connection.bindSelectionControl?.(element,options):connection.bindRowSelectionControl?.(element,options)},true);const BulkSelectionControl=boundPart("BulkSelectionControl","bulk-selection-control","button",{target:{type:Object,required:true},disabled:{type:Boolean,default:false}},(connection,element,props)=>connection.bindBulkSelectionControl(element,{target:props["target"],disabled:props["disabled"]===true}));const Disclosure=boundPart(config.profile==="data-tree-grid"?"RowDisclosure":"Disclosure","disclosure","button",{rowID:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>config.profile==="data-tree-grid"?connection.bindRowDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}):connection.bindDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}),true);const Editor=boundPart("Editor","editor","input",{...identityProps,parseValue:{type:Function,default:void 0},commitOnChange:{type:Boolean,default:false}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLTextAreaElement||element instanceof HTMLSelectElement?connection.bindEditor(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},...typeof props["parseValue"]==="function"?{parseValue:props["parseValue"]}:{},commitOnChange:props["commitOnChange"]===true}):void 0,true);return Object.freeze({Provider,Root,Caption,Header,HeaderRow,ColumnHeader,SortTrigger,FilterControl,ColumnResizeHandle,Body,Row,SelectionControl,BulkSelectionControl,Disclosure,Cell,Editor})}function rootSlot(context){const state=stateOf(context.snapshot.value);const profile=context.snapshot.value;return Object.freeze({controller:context.controller,snapshot:context.snapshot.value,acceptedViewState:state.acceptedViewState,requestState:state.requestState,query:state.query,rowSelection:state.rowSelection,columnState:state.columnState,accessState:state.accessState,expansion:state.expansion,rows:state.acceptedViewState.kind==="none"?Object.freeze([]):state.acceptedViewState.view.rows,...profile.cursor===void 0?{}:{cursor:profile.cursor},...profile.edit===void 0?{}:{editState:profile.edit}})}function partSlot(context,row){const root=rootSlot(context);return row===null?root:Object.freeze({...root,row:row.value,isGroup:row.value.kind==="group"})}export{createTabularParts};
1
+ import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide}from"vue";import{Primitive}from"../primitive.js";import{provideProfile,refreshVueProfileController,stateOf,useProfile}from"./tabular-profile.js";const asProp={type:[String,Object,Function],default:"div"};const asChildProp={type:Boolean,default:false};const identityProps={rowID:{type:String,default:void 0},column:{type:String,required:true}};function createTabularParts(config){const rowKey=Symbol(`Sectile${config.prefix}Row`);const usePublic=name=>useProfile(config.publicKey,`${config.prefix}${name}`);const usePrivate=name=>useProfile(config.privateKey,`${config.prefix}${name}`);const structural=(suffix,part,tag)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{as:{...asProp,default:tag},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic(suffix);return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="header"||part==="body"?"rowgroup":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const boundPart=(suffix,part,tag,props,bind,rowAware=false)=>defineComponent({name:`Sectile${config.prefix}${suffix}`,inheritAttrs:false,props:{...props,as:{...asProp,default:tag},asChild:asChildProp},setup(runtimeProps,{attrs,slots}){const context=usePrivate(suffix);const inheritedRow=rowAware?inject(rowKey,null):null;const values=()=>{const resolved=runtimeProps;if(!rowAware||resolved["rowID"]!==void 0)return resolved;const row=inheritedRow?.value;if(row===void 0)throw new TypeError(`${config.prefix}${suffix} requires rowID outside automatic ${config.prefix}Body.`);return Object.freeze({...resolved,rowID:row.id})};let release;onBeforeUnmount(()=>release?.());const elementRef=value=>{release?.();release=void 0;if(!(value instanceof HTMLElement)||context.connection.value===null)return;release=bind(context.connection.value,value,values())};return()=>h(Primitive,mergeProps(attrs,{as:runtimeProps.as,asChild:runtimeProps.asChild,elementRef,"data-scope":config.profile,"data-part":part,role:config.profile==="data-table"?void 0:part==="row"?"row":part==="column-header"?"columnheader":part==="cell"?"gridcell":void 0}),{default:()=>slots["default"]?.(partSlot(context,inheritedRow))})}});const Provider=defineComponent({name:`Sectile${config.prefix}Provider`,props:{controller:{type:Object,required:true}},setup(props,{slots}){const context=provideProfile(config.publicKey,config.privateKey,props.controller);return()=>slots["default"]?.(rootSlot(context))}});const rootTag=config.profile==="data-table"?"table":"div";const Root=defineComponent({name:`Sectile${config.prefix}Root`,inheritAttrs:false,props:{onCommand:{type:Function,default:void 0},onError:{type:Function,default:void 0},as:{...asProp,default:rootTag},asChild:asChildProp},setup(props,{attrs,expose,slots}){const context=usePrivate("Root");let element=null;const connect=()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null;if(element===null)return;try{context.connection.value=config.connect(element,context.controller,{...props.onCommand===void 0?{}:{onCommand:props.onCommand},onSnapshotChange:()=>refreshVueProfileController(context.controller)});config.connectionChanged?.(context.controller,context.connection.value)}catch(error){props.onError?.(error);if(props.onError===void 0)throw error}};onMounted(connect);onBeforeUnmount(()=>{config.connectionChanged?.(context.controller,null);context.connection.value?.disconnect();context.connection.value=null});expose({controller:context.controller,refresh:()=>context.connection.value?.refresh()});return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:value=>{element=value instanceof HTMLElement?value:null},"data-scope":config.profile,"data-part":"root",role:config.profile==="data-grid"?"grid":config.profile==="data-tree-grid"?"treegrid":void 0}),{default:()=>slots["default"]?.(rootSlot(context))})}});const table=config.profile==="data-table";const Caption=structural("Caption","caption","caption");const Header=structural("Header","header",table?"thead":"div");const HeaderRow=defineComponent({name:`Sectile${config.prefix}HeaderRow`,inheritAttrs:false,props:{as:{...asProp,default:table?"tr":"div"},asChild:asChildProp},setup(props,{attrs,slots}){const context=usePublic("HeaderRow");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,role:table?void 0:"row","data-scope":config.profile,"data-part":"header-row"}),{default:()=>slots["default"]?.(rootSlot(context))})}});const ColumnHeader=boundPart("ColumnHeader","column-header",table?"th":"div",{column:{type:String,default:void 0},header:{type:String,default:void 0}},(connection,element,props)=>{const column=props["column"];const header=props["header"];if(column===void 0===(header===void 0)){throw new TypeError(`${config.prefix}ColumnHeader requires exactly one of column or header.`)}const reference=column===void 0?{headerNodeID:String(header)}:{columnID:String(column)};if(table&&element instanceof HTMLTableCellElement)connection.setHeaderCellAttributes?.(element,reference);else connection.setColumnHeaderAttributes?.(element,reference);return void 0});const Row=boundPart("Row","row",table?"tr":"div",{rowID:{type:String,required:true}},(connection,element,props)=>{const result=connection.registerRow(element,{rowID:String(props["rowID"]),expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0});const AutomaticRow=defineComponent({name:`Sectile${config.prefix}AutomaticRow`,props:{row:{type:Object,required:true}},setup(props,{slots}){provide(rowKey,computed(()=>props.row));return()=>h(Row,{rowID:props.row.id,"data-row-id":props.row.id,"data-row-kind":props.row.kind,...props.row.contextOnly===true?{"data-context-only":""}:{}},{default:()=>slots["default"]?.()})}});const Body=defineComponent({name:`Sectile${config.prefix}Body`,inheritAttrs:false,props:{manual:{type:Boolean,default:false},as:{...asProp,default:table?"tbody":"div"},asChild:asChildProp},slots:Object,setup(props,{attrs,slots}){const context=usePublic("Body");return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,"data-scope":config.profile,"data-part":"body",role:table?void 0:"rowgroup"}),{default:()=>{const root=rootSlot(context);if(props.manual)return slots["default"]?.(root);const rows=root["rows"];if(rows.length===0)return slots["empty"]?.(root);return rows.map((row,rowIndex)=>h(AutomaticRow,{key:row.id,row},{default:()=>slots["default"]?.(Object.freeze({...root,row,rowIndex,isGroup:row.kind==="group"}))}))}})}});const Cell=boundPart("Cell","cell",table?"td":"div",identityProps,(connection,element,props)=>{const result=connection.registerCell(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},expectedProjectionGeneration:connection.getProjection().generation});return result.ok?result.value:void 0},true);const SortTrigger=boundPart("SortTrigger","sort-trigger","button",{column:{type:String,required:true},comparator:{type:String,default:"default"}},(connection,element,props)=>connection.bindSortTrigger(element,{columnID:String(props["column"]),comparator:String(props["comparator"])}));const FilterControl=boundPart("FilterControl","filter-control","input",{scope:{type:String,required:true},column:{type:String,default:void 0},id:{type:String,required:true},predicate:{type:String,required:true}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLSelectElement?connection.bindFilterControl(element,props["scope"]==="column"?{scope:"column",columnID:String(props["column"]),id:String(props["id"]),predicate:String(props["predicate"])}:{scope:"global",id:String(props["id"]),predicate:String(props["predicate"])}):void 0);const ColumnResizeHandle=boundPart("ColumnResizeHandle","column-resize-handle","button",{column:{type:String,required:true},minSize:{type:Number,default:void 0},maxSize:{type:Number,default:void 0}},(connection,element,props)=>connection.bindColumnResizeHandle(element,{columnID:String(props["column"]),...typeof props["minSize"]==="number"?{minSize:props["minSize"]}:{},...typeof props["maxSize"]==="number"?{maxSize:props["maxSize"]}:{}}));const SelectionControl=boundPart(table?"SelectionControl":"RowSelectionControl","selection-control","input",{rowID:{type:String,default:void 0},name:{type:String,required:true},value:{type:String,default:void 0},form:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>{const rowID=String(props["rowID"]);const options={rowID,name:String(props["name"]),value:props["value"]===void 0?rowID:String(props["value"]),...typeof props["form"]==="string"?{form:props["form"]}:{},disabled:props["disabled"]===true};return table?connection.bindSelectionControl?.(element,options):connection.bindRowSelectionControl?.(element,options)},true);const BulkSelectionControl=boundPart("BulkSelectionControl","bulk-selection-control","button",{target:{type:Object,required:true},disabled:{type:Boolean,default:false}},(connection,element,props)=>connection.bindBulkSelectionControl(element,{target:props["target"],disabled:props["disabled"]===true}));const Disclosure=boundPart(config.profile==="data-tree-grid"?"RowDisclosure":"Disclosure","disclosure","button",{rowID:{type:String,default:void 0},disabled:{type:Boolean,default:false}},(connection,element,props)=>config.profile==="data-tree-grid"?connection.bindRowDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}):connection.bindDisclosure?.(element,{rowID:String(props["rowID"]),disabled:props["disabled"]===true}),true);const Editor=boundPart("Editor","editor","input",{...identityProps,parseValue:{type:Function,default:void 0},commitOnChange:{type:Boolean,default:false}},(connection,element,props)=>element instanceof HTMLInputElement||element instanceof HTMLTextAreaElement||element instanceof HTMLSelectElement?connection.bindEditor(element,{cell:{rowID:String(props["rowID"]),columnID:String(props["column"])},...typeof props["parseValue"]==="function"?{parseValue:props["parseValue"]}:{},commitOnChange:props["commitOnChange"]===true}):void 0,true);return Object.freeze({Provider,Root,Caption,Header,HeaderRow,ColumnHeader,SortTrigger,FilterControl,ColumnResizeHandle,Body,Row,SelectionControl,BulkSelectionControl,Disclosure,Cell,Editor})}function rootSlot(context){const state=stateOf(context.snapshot.value);const profile=context.snapshot.value;return Object.freeze({controller:context.controller,snapshot:context.snapshot.value,acceptedViewState:state.acceptedViewState,requestState:state.requestState,query:state.query,rowSelection:state.rowSelection,columnState:state.columnState,accessState:state.accessState,expansion:state.expansion,rows:state.acceptedViewState.kind==="none"?Object.freeze([]):state.acceptedViewState.view.rows,...profile.cursor===void 0?{}:{cursor:profile.cursor},...profile.edit===void 0?{}:{editState:profile.edit}})}function partSlot(context,row){const root=rootSlot(context);return row===null?root:Object.freeze({...root,row:row.value,isGroup:row.value.kind==="group"})}export{createTabularParts};
2
2
  //# sourceMappingURL=tabular-parts.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/tabular-parts.ts"],"mappings":"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","names":[],"file":"tabular-parts.js"}
1
+ {"version":3,"sources":["../../src/internal/tabular-parts.ts"],"mappings":"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","names":[],"file":"tabular-parts.js"}
@@ -1,13 +1,13 @@
1
1
  import { type ComputedRef, type InjectionKey, type ShallowRef } from 'vue';
2
2
  import type { TabularAcceptedViewState, TabularAccessState, TabularColumnState, TabularControlledValues, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRowSelection, TabularSnapshot, TabularViewResponse } from '@sectile/tabular';
3
- export interface SemanticController<State, Event, Command> {
3
+ export interface SemanticController<State, Event, Command, ControlledValues extends TabularControlledValues = TabularControlledValues> {
4
4
  getSnapshot(): State;
5
5
  dispatch(event: Event, expectedRevision?: number): TabularResult<{
6
6
  readonly snapshot: State;
7
7
  readonly commands: readonly Command[];
8
8
  }>;
9
9
  synchronizeView(response: TabularViewResponse): TabularResult<State>;
10
- syncControlledValues(values: TabularControlledValues): TabularResult<State>;
10
+ syncControlledValues(values: ControlledValues): TabularResult<State>;
11
11
  requestView(): TabularResult<State>;
12
12
  abandonRequest(requestID: number): TabularResult<State>;
13
13
  subscribeCommands(listener: (command: Command) => void): () => void;
@@ -16,12 +16,12 @@ export interface SemanticController<State, Event, Command> {
16
16
  }>) => void): TabularResult<() => void>;
17
17
  dispose(): void;
18
18
  }
19
- export interface VueProfileController<State, Event, Command> extends SemanticController<State, Event, Command> {
19
+ export interface VueProfileController<State, Event, Command, ControlledValues extends TabularControlledValues = TabularControlledValues> extends SemanticController<State, Event, Command, ControlledValues> {
20
20
  readonly snapshot: Readonly<ShallowRef<State>>;
21
21
  readonly acceptedViewState: ComputedRef<TabularAcceptedViewState>;
22
22
  readonly requestState: ComputedRef<TabularRequestState>;
23
23
  }
24
- export declare function createVueProfileController<State, Event, Command>(semantic: SemanticController<State, Event, Command>): VueProfileController<State, Event, Command>;
24
+ export declare function createVueProfileController<State, Event, Command, ControlledValues extends TabularControlledValues = TabularControlledValues>(semantic: SemanticController<State, Event, Command, ControlledValues>): VueProfileController<State, Event, Command, ControlledValues>;
25
25
  export declare function refreshVueProfileController<State, Event, Command>(controller: VueProfileController<State, Event, Command>): void;
26
26
  export declare function semanticController<State, Event, Command>(controller: VueProfileController<State, Event, Command>): SemanticController<State, Event, Command>;
27
27
  export declare function aliasVueProfileController<State, Event, Command>(alias: VueProfileController<State, Event, Command>, source: VueProfileController<State, Event, Command>): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/tabular-profile.ts"],"mappings":"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","names":[],"file":"tabular-profile.js"}
1
+ {"version":3,"sources":["../../src/internal/tabular-profile.ts"],"mappings":"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","names":[],"file":"tabular-profile.js"}