@sectile/vue 0.18.2 → 0.18.3

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 (71) hide show
  1. package/dist/form/control.js +1 -1
  2. package/dist/form/control.js.map +1 -1
  3. package/dist/input/native-field.js +1 -1
  4. package/dist/input/native-field.js.map +1 -1
  5. package/dist/input/native-range-field.d.ts +86 -0
  6. package/dist/input/native-range-field.js +2 -0
  7. package/dist/input/native-range-field.js.map +1 -0
  8. package/dist/internal/controlled-state.js +1 -1
  9. package/dist/internal/controlled-state.js.map +1 -1
  10. package/dist/tabular/source.js +1 -1
  11. package/dist/tabular/source.js.map +1 -1
  12. package/dist/temporal/calendar.d.ts +12 -12
  13. package/dist/temporal/calendar.js +1 -1
  14. package/dist/temporal/calendar.js.map +1 -1
  15. package/dist/temporal/date-field.js +1 -1
  16. package/dist/temporal/date-field.js.map +1 -1
  17. package/dist/temporal/date-picker.d.ts +14 -14
  18. package/dist/temporal/date-picker.js +1 -1
  19. package/dist/temporal/date-picker.js.map +1 -1
  20. package/dist/temporal/date-range-field.d.ts +1 -1
  21. package/dist/temporal/date-range-field.js +1 -1
  22. package/dist/temporal/date-range-field.js.map +1 -1
  23. package/dist/temporal/date-range-picker.d.ts +14 -14
  24. package/dist/temporal/date-range-picker.js +1 -1
  25. package/dist/temporal/date-range-picker.js.map +1 -1
  26. package/dist/temporal/date-time-field.js +1 -1
  27. package/dist/temporal/date-time-field.js.map +1 -1
  28. package/dist/temporal/date-time-picker.d.ts +14 -14
  29. package/dist/temporal/date-time-picker.js +1 -1
  30. package/dist/temporal/date-time-picker.js.map +1 -1
  31. package/dist/temporal/date-time-range-picker.d.ts +14 -14
  32. package/dist/temporal/date-time-range-picker.js +1 -1
  33. package/dist/temporal/date-time-range-picker.js.map +1 -1
  34. package/dist/temporal/month-picker.d.ts +7 -7
  35. package/dist/temporal/month-picker.js +1 -1
  36. package/dist/temporal/month-picker.js.map +1 -1
  37. package/dist/temporal/month-range-picker.d.ts +7 -7
  38. package/dist/temporal/month-range-picker.js +1 -1
  39. package/dist/temporal/month-range-picker.js.map +1 -1
  40. package/dist/temporal/picker.d.ts +1 -2
  41. package/dist/temporal/picker.js +1 -1
  42. package/dist/temporal/picker.js.map +1 -1
  43. package/dist/temporal/range-calendar.d.ts +7 -7
  44. package/dist/temporal/range-calendar.js +1 -1
  45. package/dist/temporal/range-calendar.js.map +1 -1
  46. package/dist/temporal/time-field.js +1 -1
  47. package/dist/temporal/time-field.js.map +1 -1
  48. package/dist/temporal/time-range-field.d.ts +1 -1
  49. package/dist/temporal/time-range-field.js +1 -1
  50. package/dist/temporal/time-range-field.js.map +1 -1
  51. package/dist/temporal/year-picker.d.ts +7 -7
  52. package/dist/temporal/year-picker.js +1 -1
  53. package/dist/temporal/year-picker.js.map +1 -1
  54. package/dist/temporal/year-range-picker.d.ts +7 -7
  55. package/dist/temporal/year-range-picker.js +1 -1
  56. package/dist/temporal/year-range-picker.js.map +1 -1
  57. package/dist/virtual/virtual-collection.d.ts +1 -0
  58. package/dist/virtual/virtual-collection.js +1 -1
  59. package/dist/virtual/virtual-collection.js.map +1 -1
  60. package/dist/virtual/virtual-core.d.ts +1 -0
  61. package/dist/virtual/virtual-core.js +1 -1
  62. package/dist/virtual/virtual-core.js.map +1 -1
  63. package/dist/virtual/virtual-grid.js +1 -1
  64. package/dist/virtual/virtual-grid.js.map +1 -1
  65. package/dist/virtual/virtual-list.js +1 -1
  66. package/dist/virtual/virtual-list.js.map +1 -1
  67. package/dist/virtual/virtual-masonry.js +1 -1
  68. package/dist/virtual/virtual-masonry.js.map +1 -1
  69. package/dist/virtual/virtual-spatial.js +1 -1
  70. package/dist/virtual/virtual-spatial.js.map +1 -1
  71. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateRangePickerCapability","DateRangePickerRoot","DateRangePickerTrigger","DateRangePickerAnchor","DateRangePickerPortal","DateRangePickerContent","DateRangePickerGrid","DateRangePickerCell","DateRangePickerMonthCell","DateRangePickerStartInput","DateRangePickerEndInput","DateRangePickerPreviousWeek","DateRangePickerNextWeek","DateRangePickerPreviousMonth","DateRangePickerNextMonth","DateRangePickerPreviousYear","DateRangePickerNextYear","DateRangePickerWeekViewTrigger","DateRangePickerMonthViewTrigger","DateRangePickerYearViewTrigger"],"sources":["../../src/temporal/date-range-picker.ts"],"mappings":"OAGEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,qBACEC,8BAAiC,6CASnC,MAAMC,oBAAsBF,iBAAiBC,0BAA2B,qCAKxE,MAAME,uBAAyBJ,yBAAyB,aAAcJ,sBACtE,MAAMS,sBAAwBL,yBAAyB,aAAcV,qBACrE,MAAMgB,sBAAwBX,oBAC9B,MAAMY,sCAAyCP,yBAAyB,aAAcR,sBACtF,MAAMgB,oBAAsBR,yBAAyB,aAAcP,mBACnE,MAAMgB,oBAAsBlB,kBAC5B,MAAMmB,yBAA2BhB,uBACjC,MAAMiB,0BAA4Bd,kBAAkB,cAAe,2CACnE,MAAMe,wBAA0Bf,kBAAkB,YAAa,yCAC/D,MAAMgB,4BAA8Bb,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,8CACxG,MAAMgB,wBAA0Bd,yBAAyB,aAAcF,iBAAiB,OAAQ,EAAG,0CACnG,MAAMiB,6BAA+Bf,yBAAyB,aAAcF,iBAAiB,SAAU,EAAG,+CAC1G,MAAMkB,yBAA2BhB,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,2CACrG,MAAMmB,4BAA8BjB,yBAAyB,aAAcF,iBAAiB,QAAS,EAAG,8CACxG,MAAMoB,wBAA0BlB,yBAAyB,aAAcF,iBAAiB,OAAQ,EAAG,0CACnG,MAAMqB,+BAAiCnB,yBAAyB,aAAcD,wBAAwB,OAAQ,iDAC9G,MAAMqB,gCAAkCpB,yBAAyB,aAAcD,wBAAwB,QAAS,kDAChH,MAAMsB,+BAAiCrB,yBAAyB,aAAcD,wBAAwB,OAAQ","ignoreList":[]}
1
+ {"version":3,"file":"date-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","createPickerRoot","dateRangePickerCapability","DateRangePickerRoot","DateRangePickerTrigger","DateRangePickerAnchor","DateRangePickerPortal","DateRangePickerContent","DateRangePickerGrid","DateRangePickerCell","DateRangePickerMonthCell","DateRangePickerStartInput","DateRangePickerEndInput","DateRangePickerPreviousWeek","DateRangePickerNextWeek","DateRangePickerPreviousMonth","DateRangePickerNextMonth","DateRangePickerPreviousYear","DateRangePickerNextYear","DateRangePickerWeekViewTrigger","DateRangePickerMonthViewTrigger","DateRangePickerYearViewTrigger"],"sources":["../../src/temporal/date-range-picker.ts"],"mappings":"OAGEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBACxIC,qBACK,qBACEC,8BAAiC,6CASnC,MAAMC,mCAAsCF,iBAAiBC,0BAA2B,qCAKxF,MAAME,uBAAyBP,qBAC/B,MAAMQ,sBAAwBd,oBAC9B,MAAMe,sBAAwBV,oBAC9B,MAAMW,uBAAyBd,qBAC/B,MAAMe,oBAAsBd,kBAC5B,MAAMe,oBAAsBjB,kBAC5B,MAAMkB,yBAA2Bf,uBACjC,MAAMgB,yCAA4Cb,kBAAkB,cAAe,2CACnF,MAAMc,uCAA0Cd,kBAAkB,YAAa,yCAC/E,MAAMe,2CAA8Cd,iBAAiB,QAAS,EAAG,6CACjF,MAAMe,uCAA0Cf,iBAAiB,OAAQ,EAAG,yCAC5E,MAAMgB,4CAA+ChB,iBAAiB,SAAU,EAAG,8CACnF,MAAMiB,wCAA2CjB,iBAAiB,QAAS,EAAG,0CAC9E,MAAMkB,2CAA8ClB,iBAAiB,QAAS,EAAG,6CACjF,MAAMmB,uCAA0CnB,iBAAiB,OAAQ,EAAG,yCAC5E,MAAMoB,8CAAiDnB,wBAAwB,OAAQ,gDACvF,MAAMoB,+CAAkDpB,wBAAwB,QAAS,iDACzF,MAAMqB,8CAAiDrB,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{}from"vue";import{createDateTimeField,formatDateTimeValue}from"@sectile/dom/temporal/date-time-field";import{createNativeFieldComponent}from"../input/native-field.js";const DateTimeField=createNativeFieldComponent({name:"SectileDateTimeField",scope:"date-time-field",inputMode:"text",nativeInputType:"datetime-local",placeholder:"YYYY-MM-DDTHH:mm",formatValue:formatDateTimeValue,valueType:Object,create:options=>createDateTimeField({...options,...options.policies===void 0?{}:{policies:options.policies}})});export{DateTimeField};
1
+ import{}from"vue";import{createDateTimeField,formatDateTimeValue}from"@sectile/dom/temporal/date-time-field";import{createNativeFieldComponent}from"../input/native-field.js";const DateTimeField=createNativeFieldComponent({name:"SectileDateTimeField",scope:"date-time-field",inputMode:"text",nativeInputType:"datetime-local",placeholder:"YYYY-MM-DDTHH:mm",formatValue:formatDateTimeValue,valueType:Object,create:createDateTimeField});export{DateTimeField};
2
2
  //# sourceMappingURL=date-time-field.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/temporal/date-time-field.ts"],"mappings":"AAAA,YAA8B,MAC9B,OACE,oBACA,wBAGK,wCACP,OAAS,+BAAkE,2BAgBpE,MAAM,cAAgB,2BAAiE,CAC5F,KAAM,uBACN,MAAO,kBACP,UAAW,OACX,gBAAiB,iBACjB,YAAa,mBACb,YAAa,oBACb,UAAW,OACX,OAAS,SAAsG,oBAAoB,CACjI,GAAG,QACH,GAAI,QAAQ,WAAa,OACrB,CAAA,EACA,CAAE,SAAU,QAAQ,QAAQ,EACjC,EACF","names":[],"file":"date-time-field.js"}
1
+ {"version":3,"sources":["../../src/temporal/date-time-field.ts"],"mappings":"AAAA,YAA8B,MAC9B,OACE,oBACA,wBAEK,wCACP,OAAS,+BAAkC,2BAgBpC,MAAM,cAAgB,2BAAiE,CAC5F,KAAM,uBACN,MAAO,kBACP,UAAW,OACX,gBAAiB,iBACjB,YAAa,mBACb,YAAa,oBACb,UAAW,OACX,OAAQ,oBACT","names":[],"file":"date-time-field.js"}
@@ -1,7 +1,7 @@
1
1
  import type { DateTimePickerOptions } from '@sectile/dom/temporal/date-time-picker';
2
2
  import type { DateValue } from '@sectile/dom/temporal/date-field';
3
3
  import type { DateTimeValue } from '@sectile/dom/temporal/date-time-field';
4
- import { type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
4
+ import { type PickerRootPartComponent, type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
5
5
  export interface DateTimePickerRootProps extends PickerPartProps, PickerPositionProps {
6
6
  readonly modelValue?: DateTimeValue | null;
7
7
  readonly defaultValue?: DateTimeValue | null;
@@ -22,8 +22,8 @@ export type DateTimePickerRootSlotProps = PickerRootSlotProps<DateTimeValue | nu
22
22
  export type DateTimePickerValueChangeHandler = NonNullable<InstanceType<typeof DateTimePickerRoot>['$props']['onUpdate:modelValue']>;
23
23
  export type DateTimePickerOpenChangeHandler = NonNullable<InstanceType<typeof DateTimePickerRoot>['$props']['onUpdate:open']>;
24
24
  export type DateTimePickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof DateTimePickerRoot>['$props']['onUpdate:highlightedValue']>;
25
- export declare const DateTimePickerTrigger: import("./picker.js").PickerRootPartComponent<"date-time">;
26
- export declare const DateTimePickerAnchor: import("./picker.js").PickerRootPartComponent<"date-time">;
25
+ export declare const DateTimePickerTrigger: PickerRootPartComponent<'date-time'>;
26
+ export declare const DateTimePickerAnchor: PickerRootPartComponent<'date-time'>;
27
27
  export declare const DateTimePickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
28
28
  to: {
29
29
  type: import("vue").PropType<string | HTMLElement>;
@@ -55,8 +55,8 @@ export declare const DateTimePickerPortal: import("vue").DefineComponent<import(
55
55
  disabled: boolean;
56
56
  defer: boolean;
57
57
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
58
- export declare const DateTimePickerContent: import("./picker.js").PickerRootPartComponent<"date-time">;
59
- export declare const DateTimePickerGrid: import("./picker.js").PickerRootPartComponent<"date-time">;
58
+ export declare const DateTimePickerContent: PickerRootPartComponent<'date-time'>;
59
+ export declare const DateTimePickerGrid: PickerRootPartComponent<'date-time'>;
60
60
  export declare const DateTimePickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
61
61
  value: {
62
62
  type: import("vue").PropType<DateValue>;
@@ -241,13 +241,13 @@ export declare const DateTimePickerTimeInput: import("vue").DefineComponent<impo
241
241
  as: import("../primitive.js").PrimitiveAs;
242
242
  asChild: boolean;
243
243
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
244
- export declare const DateTimePickerPreviousWeek: import("./picker.js").PickerRootPartComponent<"date-time">;
245
- export declare const DateTimePickerNextWeek: import("./picker.js").PickerRootPartComponent<"date-time">;
246
- export declare const DateTimePickerPreviousMonth: import("./picker.js").PickerRootPartComponent<"date-time">;
247
- export declare const DateTimePickerNextMonth: import("./picker.js").PickerRootPartComponent<"date-time">;
248
- export declare const DateTimePickerPreviousYear: import("./picker.js").PickerRootPartComponent<"date-time">;
249
- export declare const DateTimePickerNextYear: import("./picker.js").PickerRootPartComponent<"date-time">;
250
- export declare const DateTimePickerWeekViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time">;
251
- export declare const DateTimePickerMonthViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time">;
252
- export declare const DateTimePickerYearViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time">;
244
+ export declare const DateTimePickerPreviousWeek: PickerRootPartComponent<'date-time'>;
245
+ export declare const DateTimePickerNextWeek: PickerRootPartComponent<'date-time'>;
246
+ export declare const DateTimePickerPreviousMonth: PickerRootPartComponent<'date-time'>;
247
+ export declare const DateTimePickerNextMonth: PickerRootPartComponent<'date-time'>;
248
+ export declare const DateTimePickerPreviousYear: PickerRootPartComponent<'date-time'>;
249
+ export declare const DateTimePickerNextYear: PickerRootPartComponent<'date-time'>;
250
+ export declare const DateTimePickerWeekViewTrigger: PickerRootPartComponent<'date-time'>;
251
+ export declare const DateTimePickerMonthViewTrigger: PickerRootPartComponent<'date-time'>;
252
+ export declare const DateTimePickerYearViewTrigger: PickerRootPartComponent<'date-time'>;
253
253
  export type { DateTimeValue, DateValue, PickerCellSlotProps as DateTimePickerCellSlotProps, PickerMonthCellSlotProps as DateTimePickerMonthCellSlotProps, PickerPartProps as DateTimePickerPartProps, PickerPortalProps as DateTimePickerPortalProps };
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./picker.js';import{dateTimePickerCapability}from'./capabilities/date-time-picker.js';export const DateTimePickerRoot=createPickerRoot(dateTimePickerCapability,'SectileDateTimePickerRoot');export const DateTimePickerTrigger=specializePickerRootPart('date-time',PickerTrigger);export const DateTimePickerAnchor=specializePickerRootPart('date-time',PickerAnchor);export const DateTimePickerPortal=PickerPortal;export const DateTimePickerContent=/* @__PURE__ */specializePickerRootPart('date-time',PickerContent);export const DateTimePickerGrid=specializePickerRootPart('date-time',PickerGrid);export const DateTimePickerCell=PickerCell;export const DateTimePickerMonthCell=PickerMonthCell;export const DateTimePickerDateTimeInput=createPickerInput('date-time-input','SectileDateTimePickerDateTimeInput');export const DateTimePickerDateInput=createPickerInput('date-input','SectileDateTimePickerDateInput');export const DateTimePickerTimeInput=createPickerInput('time-input','SectileDateTimePickerTimeInput');export const DateTimePickerPreviousWeek=specializePickerRootPart('date-time',createPickerMove('week',-1,'SectileDateTimePickerPreviousWeek'));export const DateTimePickerNextWeek=specializePickerRootPart('date-time',createPickerMove('week',1,'SectileDateTimePickerNextWeek'));export const DateTimePickerPreviousMonth=specializePickerRootPart('date-time',createPickerMove('month',-1,'SectileDateTimePickerPreviousMonth'));export const DateTimePickerNextMonth=specializePickerRootPart('date-time',createPickerMove('month',1,'SectileDateTimePickerNextMonth'));export const DateTimePickerPreviousYear=specializePickerRootPart('date-time',createPickerMove('year',-1,'SectileDateTimePickerPreviousYear'));export const DateTimePickerNextYear=specializePickerRootPart('date-time',createPickerMove('year',1,'SectileDateTimePickerNextYear'));export const DateTimePickerWeekViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('week','SectileDateTimePickerWeekViewTrigger'));export const DateTimePickerMonthViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('month','SectileDateTimePickerMonthViewTrigger'));export const DateTimePickerYearViewTrigger=specializePickerRootPart('date-time',createPickerViewTrigger('year','SectileDateTimePickerYearViewTrigger'));
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,createPickerRoot}from'./picker.js';import{dateTimePickerCapability}from'./capabilities/date-time-picker.js';export const DateTimePickerRoot=/* @__PURE__ */createPickerRoot(dateTimePickerCapability,'SectileDateTimePickerRoot');export const DateTimePickerTrigger=PickerTrigger;export const DateTimePickerAnchor=PickerAnchor;export const DateTimePickerPortal=PickerPortal;export const DateTimePickerContent=PickerContent;export const DateTimePickerGrid=PickerGrid;export const DateTimePickerCell=PickerCell;export const DateTimePickerMonthCell=PickerMonthCell;export const DateTimePickerDateTimeInput=/* @__PURE__ */createPickerInput('date-time-input','SectileDateTimePickerDateTimeInput');export const DateTimePickerDateInput=/* @__PURE__ */createPickerInput('date-input','SectileDateTimePickerDateInput');export const DateTimePickerTimeInput=/* @__PURE__ */createPickerInput('time-input','SectileDateTimePickerTimeInput');export const DateTimePickerPreviousWeek=/* @__PURE__ */createPickerMove('week',-1,'SectileDateTimePickerPreviousWeek');export const DateTimePickerNextWeek=/* @__PURE__ */createPickerMove('week',1,'SectileDateTimePickerNextWeek');export const DateTimePickerPreviousMonth=/* @__PURE__ */createPickerMove('month',-1,'SectileDateTimePickerPreviousMonth');export const DateTimePickerNextMonth=/* @__PURE__ */createPickerMove('month',1,'SectileDateTimePickerNextMonth');export const DateTimePickerPreviousYear=/* @__PURE__ */createPickerMove('year',-1,'SectileDateTimePickerPreviousYear');export const DateTimePickerNextYear=/* @__PURE__ */createPickerMove('year',1,'SectileDateTimePickerNextYear');export const DateTimePickerWeekViewTrigger=/* @__PURE__ */createPickerViewTrigger('week','SectileDateTimePickerWeekViewTrigger');export const DateTimePickerMonthViewTrigger=/* @__PURE__ */createPickerViewTrigger('month','SectileDateTimePickerMonthViewTrigger');export const DateTimePickerYearViewTrigger=/* @__PURE__ */createPickerViewTrigger('year','SectileDateTimePickerYearViewTrigger');
2
2
  //# sourceMappingURL=date-time-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateTimePickerCapability","DateTimePickerRoot","DateTimePickerTrigger","DateTimePickerAnchor","DateTimePickerPortal","DateTimePickerContent","DateTimePickerGrid","DateTimePickerCell","DateTimePickerMonthCell","DateTimePickerDateTimeInput","DateTimePickerDateInput","DateTimePickerTimeInput","DateTimePickerPreviousWeek","DateTimePickerNextWeek","DateTimePickerPreviousMonth","DateTimePickerNextMonth","DateTimePickerPreviousYear","DateTimePickerNextYear","DateTimePickerWeekViewTrigger","DateTimePickerMonthViewTrigger","DateTimePickerYearViewTrigger"],"sources":["../../src/temporal/date-time-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,qBACEC,6BAAgC,4CASlC,MAAMC,mBAAqBF,iBAAiBC,yBAA0B,oCAKtE,MAAME,sBAAwBJ,yBAAyB,YAAaJ,sBACpE,MAAMS,qBAAuBL,yBAAyB,YAAaV,qBACnE,MAAMgB,qBAAuBX,oBAC7B,MAAMY,qCAAwCP,yBAAyB,YAAaR,sBACpF,MAAMgB,mBAAqBR,yBAAyB,YAAaP,mBACjE,MAAMgB,mBAAqBlB,kBAC3B,MAAMmB,wBAA0BhB,uBAChC,MAAMiB,4BAA8Bd,kBAAkB,kBAAmB,6CACzE,MAAMe,wBAA0Bf,kBAAkB,aAAc,yCAChE,MAAMgB,wBAA0BhB,kBAAkB,aAAc,yCAChE,MAAMiB,2BAA6Bd,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,6CACtG,MAAMiB,uBAAyBf,yBAAyB,YAAaF,iBAAiB,OAAQ,EAAG,yCACjG,MAAMkB,4BAA8BhB,yBAAyB,YAAaF,iBAAiB,SAAU,EAAG,8CACxG,MAAMmB,wBAA0BjB,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,0CACnG,MAAMoB,2BAA6BlB,yBAAyB,YAAaF,iBAAiB,QAAS,EAAG,6CACtG,MAAMqB,uBAAyBnB,yBAAyB,YAAaF,iBAAiB,OAAQ,EAAG,yCACjG,MAAMsB,8BAAgCpB,yBAAyB,YAAaD,wBAAwB,OAAQ,gDAC5G,MAAMsB,+BAAiCrB,yBAAyB,YAAaD,wBAAwB,QAAS,iDAC9G,MAAMuB,8BAAgCtB,yBAAyB,YAAaD,wBAAwB,OAAQ","ignoreList":[]}
1
+ {"version":3,"file":"date-time-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","createPickerRoot","dateTimePickerCapability","DateTimePickerRoot","DateTimePickerTrigger","DateTimePickerAnchor","DateTimePickerPortal","DateTimePickerContent","DateTimePickerGrid","DateTimePickerCell","DateTimePickerMonthCell","DateTimePickerDateTimeInput","DateTimePickerDateInput","DateTimePickerTimeInput","DateTimePickerPreviousWeek","DateTimePickerNextWeek","DateTimePickerPreviousMonth","DateTimePickerNextMonth","DateTimePickerPreviousYear","DateTimePickerNextYear","DateTimePickerWeekViewTrigger","DateTimePickerMonthViewTrigger","DateTimePickerYearViewTrigger"],"sources":["../../src/temporal/date-time-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBACxIC,qBACK,qBACEC,6BAAgC,4CASlC,MAAMC,kCAAqCF,iBAAiBC,yBAA0B,oCAKtF,MAAME,sBAAwBP,qBAC9B,MAAMQ,qBAAuBd,oBAC7B,MAAMe,qBAAuBV,oBAC7B,MAAMW,sBAAwBd,qBAC9B,MAAMe,mBAAqBd,kBAC3B,MAAMe,mBAAqBjB,kBAC3B,MAAMkB,wBAA0Bf,uBAChC,MAAMgB,2CAA8Cb,kBAAkB,kBAAmB,6CACzF,MAAMc,uCAA0Cd,kBAAkB,aAAc,yCAChF,MAAMe,uCAA0Cf,kBAAkB,aAAc,yCAChF,MAAMgB,0CAA6Cf,iBAAiB,QAAS,EAAG,4CAChF,MAAMgB,sCAAyChB,iBAAiB,OAAQ,EAAG,wCAC3E,MAAMiB,2CAA8CjB,iBAAiB,SAAU,EAAG,6CAClF,MAAMkB,uCAA0ClB,iBAAiB,QAAS,EAAG,yCAC7E,MAAMmB,0CAA6CnB,iBAAiB,QAAS,EAAG,4CAChF,MAAMoB,sCAAyCpB,iBAAiB,OAAQ,EAAG,wCAC3E,MAAMqB,6CAAgDpB,wBAAwB,OAAQ,+CACtF,MAAMqB,8CAAiDrB,wBAAwB,QAAS,gDACxF,MAAMsB,6CAAgDtB,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { DateTimeRangePickerOptions } from '@sectile/dom/temporal/date-time-range-picker';
2
2
  import type { DateValue } from '@sectile/dom/temporal/date-field';
3
3
  import type { DateTimeRange } from '@sectile/dom/temporal/date-time-field';
4
- import { type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
4
+ import { type PickerRootPartComponent, type PickerCellSlotProps, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
5
5
  export interface DateTimeRangePickerRootProps extends PickerPartProps, PickerPositionProps {
6
6
  readonly modelValue?: DateTimeRange | null;
7
7
  readonly defaultValue?: DateTimeRange | null;
@@ -22,8 +22,8 @@ export type DateTimeRangePickerRootSlotProps = PickerRootSlotProps<DateTimeRange
22
22
  export type DateTimeRangePickerValueChangeHandler = NonNullable<InstanceType<typeof DateTimeRangePickerRoot>['$props']['onUpdate:modelValue']>;
23
23
  export type DateTimeRangePickerOpenChangeHandler = NonNullable<InstanceType<typeof DateTimeRangePickerRoot>['$props']['onUpdate:open']>;
24
24
  export type DateTimeRangePickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof DateTimeRangePickerRoot>['$props']['onUpdate:highlightedValue']>;
25
- export declare const DateTimeRangePickerTrigger: import("./picker.js").PickerRootPartComponent<"date-time-range">;
26
- export declare const DateTimeRangePickerAnchor: import("./picker.js").PickerRootPartComponent<"date-time-range">;
25
+ export declare const DateTimeRangePickerTrigger: PickerRootPartComponent<'date-time-range'>;
26
+ export declare const DateTimeRangePickerAnchor: PickerRootPartComponent<'date-time-range'>;
27
27
  export declare const DateTimeRangePickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
28
28
  to: {
29
29
  type: import("vue").PropType<string | HTMLElement>;
@@ -55,8 +55,8 @@ export declare const DateTimeRangePickerPortal: import("vue").DefineComponent<im
55
55
  disabled: boolean;
56
56
  defer: boolean;
57
57
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
58
- export declare const DateTimeRangePickerContent: import("./picker.js").PickerRootPartComponent<"date-time-range">;
59
- export declare const DateTimeRangePickerGrid: import("./picker.js").PickerRootPartComponent<"date-time-range">;
58
+ export declare const DateTimeRangePickerContent: PickerRootPartComponent<'date-time-range'>;
59
+ export declare const DateTimeRangePickerGrid: PickerRootPartComponent<'date-time-range'>;
60
60
  export declare const DateTimeRangePickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
61
61
  value: {
62
62
  type: import("vue").PropType<DateValue>;
@@ -361,13 +361,13 @@ export declare const DateTimeRangePickerEndTimeInput: import("vue").DefineCompon
361
361
  as: import("../primitive.js").PrimitiveAs;
362
362
  asChild: boolean;
363
363
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
364
- export declare const DateTimeRangePickerPreviousWeek: import("./picker.js").PickerRootPartComponent<"date-time-range">;
365
- export declare const DateTimeRangePickerNextWeek: import("./picker.js").PickerRootPartComponent<"date-time-range">;
366
- export declare const DateTimeRangePickerPreviousMonth: import("./picker.js").PickerRootPartComponent<"date-time-range">;
367
- export declare const DateTimeRangePickerNextMonth: import("./picker.js").PickerRootPartComponent<"date-time-range">;
368
- export declare const DateTimeRangePickerPreviousYear: import("./picker.js").PickerRootPartComponent<"date-time-range">;
369
- export declare const DateTimeRangePickerNextYear: import("./picker.js").PickerRootPartComponent<"date-time-range">;
370
- export declare const DateTimeRangePickerWeekViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time-range">;
371
- export declare const DateTimeRangePickerMonthViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time-range">;
372
- export declare const DateTimeRangePickerYearViewTrigger: import("./picker.js").PickerRootPartComponent<"date-time-range">;
364
+ export declare const DateTimeRangePickerPreviousWeek: PickerRootPartComponent<'date-time-range'>;
365
+ export declare const DateTimeRangePickerNextWeek: PickerRootPartComponent<'date-time-range'>;
366
+ export declare const DateTimeRangePickerPreviousMonth: PickerRootPartComponent<'date-time-range'>;
367
+ export declare const DateTimeRangePickerNextMonth: PickerRootPartComponent<'date-time-range'>;
368
+ export declare const DateTimeRangePickerPreviousYear: PickerRootPartComponent<'date-time-range'>;
369
+ export declare const DateTimeRangePickerNextYear: PickerRootPartComponent<'date-time-range'>;
370
+ export declare const DateTimeRangePickerWeekViewTrigger: PickerRootPartComponent<'date-time-range'>;
371
+ export declare const DateTimeRangePickerMonthViewTrigger: PickerRootPartComponent<'date-time-range'>;
372
+ export declare const DateTimeRangePickerYearViewTrigger: PickerRootPartComponent<'date-time-range'>;
373
373
  export type { DateTimeRange, DateValue, PickerCellSlotProps as DateTimeRangePickerCellSlotProps, PickerMonthCellSlotProps as DateTimeRangePickerMonthCellSlotProps, PickerPartProps as DateTimeRangePickerPartProps, PickerPortalProps as DateTimeRangePickerPortalProps };
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,specializePickerRootPart,createPickerRoot}from'./picker.js';import{dateTimeRangePickerCapability}from'./capabilities/date-time-range-picker.js';export const DateTimeRangePickerRoot=createPickerRoot(dateTimeRangePickerCapability,'SectileDateTimeRangePickerRoot');export const DateTimeRangePickerTrigger=specializePickerRootPart('date-time-range',PickerTrigger);export const DateTimeRangePickerAnchor=specializePickerRootPart('date-time-range',PickerAnchor);export const DateTimeRangePickerPortal=PickerPortal;export const DateTimeRangePickerContent=/* @__PURE__ */specializePickerRootPart('date-time-range',PickerContent);export const DateTimeRangePickerGrid=specializePickerRootPart('date-time-range',PickerGrid);export const DateTimeRangePickerCell=PickerCell;export const DateTimeRangePickerMonthCell=PickerMonthCell;export const DateTimeRangePickerStartDateTimeInput=createPickerInput('start-date-time-input','SectileDateTimeRangePickerStartDateTimeInput');export const DateTimeRangePickerEndDateTimeInput=createPickerInput('end-date-time-input','SectileDateTimeRangePickerEndDateTimeInput');export const DateTimeRangePickerStartDateInput=createPickerInput('start-date-input','SectileDateTimeRangePickerStartDateInput');export const DateTimeRangePickerEndDateInput=createPickerInput('end-date-input','SectileDateTimeRangePickerEndDateInput');export const DateTimeRangePickerStartTimeInput=createPickerInput('start-time-input','SectileDateTimeRangePickerStartTimeInput');export const DateTimeRangePickerEndTimeInput=createPickerInput('end-time-input','SectileDateTimeRangePickerEndTimeInput');export const DateTimeRangePickerPreviousWeek=specializePickerRootPart('date-time-range',createPickerMove('week',-1,'SectileDateTimeRangePickerPreviousWeek'));export const DateTimeRangePickerNextWeek=specializePickerRootPart('date-time-range',createPickerMove('week',1,'SectileDateTimeRangePickerNextWeek'));export const DateTimeRangePickerPreviousMonth=specializePickerRootPart('date-time-range',createPickerMove('month',-1,'SectileDateTimeRangePickerPreviousMonth'));export const DateTimeRangePickerNextMonth=specializePickerRootPart('date-time-range',createPickerMove('month',1,'SectileDateTimeRangePickerNextMonth'));export const DateTimeRangePickerPreviousYear=specializePickerRootPart('date-time-range',createPickerMove('year',-1,'SectileDateTimeRangePickerPreviousYear'));export const DateTimeRangePickerNextYear=specializePickerRootPart('date-time-range',createPickerMove('year',1,'SectileDateTimeRangePickerNextYear'));export const DateTimeRangePickerWeekViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('week','SectileDateTimeRangePickerWeekViewTrigger'));export const DateTimeRangePickerMonthViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('month','SectileDateTimeRangePickerMonthViewTrigger'));export const DateTimeRangePickerYearViewTrigger=specializePickerRootPart('date-time-range',createPickerViewTrigger('year','SectileDateTimeRangePickerYearViewTrigger'));
1
+ import{PickerAnchor,PickerCell,PickerContent,PickerGrid,PickerMonthCell,PickerPortal,PickerTrigger,createPickerInput,createPickerMove,createPickerViewTrigger,createPickerRoot}from'./picker.js';import{dateTimeRangePickerCapability}from'./capabilities/date-time-range-picker.js';export const DateTimeRangePickerRoot=/* @__PURE__ */createPickerRoot(dateTimeRangePickerCapability,'SectileDateTimeRangePickerRoot');export const DateTimeRangePickerTrigger=PickerTrigger;export const DateTimeRangePickerAnchor=PickerAnchor;export const DateTimeRangePickerPortal=PickerPortal;export const DateTimeRangePickerContent=PickerContent;export const DateTimeRangePickerGrid=PickerGrid;export const DateTimeRangePickerCell=PickerCell;export const DateTimeRangePickerMonthCell=PickerMonthCell;export const DateTimeRangePickerStartDateTimeInput=/* @__PURE__ */createPickerInput('start-date-time-input','SectileDateTimeRangePickerStartDateTimeInput');export const DateTimeRangePickerEndDateTimeInput=/* @__PURE__ */createPickerInput('end-date-time-input','SectileDateTimeRangePickerEndDateTimeInput');export const DateTimeRangePickerStartDateInput=/* @__PURE__ */createPickerInput('start-date-input','SectileDateTimeRangePickerStartDateInput');export const DateTimeRangePickerEndDateInput=/* @__PURE__ */createPickerInput('end-date-input','SectileDateTimeRangePickerEndDateInput');export const DateTimeRangePickerStartTimeInput=/* @__PURE__ */createPickerInput('start-time-input','SectileDateTimeRangePickerStartTimeInput');export const DateTimeRangePickerEndTimeInput=/* @__PURE__ */createPickerInput('end-time-input','SectileDateTimeRangePickerEndTimeInput');export const DateTimeRangePickerPreviousWeek=/* @__PURE__ */createPickerMove('week',-1,'SectileDateTimeRangePickerPreviousWeek');export const DateTimeRangePickerNextWeek=/* @__PURE__ */createPickerMove('week',1,'SectileDateTimeRangePickerNextWeek');export const DateTimeRangePickerPreviousMonth=/* @__PURE__ */createPickerMove('month',-1,'SectileDateTimeRangePickerPreviousMonth');export const DateTimeRangePickerNextMonth=/* @__PURE__ */createPickerMove('month',1,'SectileDateTimeRangePickerNextMonth');export const DateTimeRangePickerPreviousYear=/* @__PURE__ */createPickerMove('year',-1,'SectileDateTimeRangePickerPreviousYear');export const DateTimeRangePickerNextYear=/* @__PURE__ */createPickerMove('year',1,'SectileDateTimeRangePickerNextYear');export const DateTimeRangePickerWeekViewTrigger=/* @__PURE__ */createPickerViewTrigger('week','SectileDateTimeRangePickerWeekViewTrigger');export const DateTimeRangePickerMonthViewTrigger=/* @__PURE__ */createPickerViewTrigger('month','SectileDateTimeRangePickerMonthViewTrigger');export const DateTimeRangePickerYearViewTrigger=/* @__PURE__ */createPickerViewTrigger('year','SectileDateTimeRangePickerYearViewTrigger');
2
2
  //# sourceMappingURL=date-time-range-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-time-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","specializePickerRootPart","createPickerRoot","dateTimeRangePickerCapability","DateTimeRangePickerRoot","DateTimeRangePickerTrigger","DateTimeRangePickerAnchor","DateTimeRangePickerPortal","DateTimeRangePickerContent","DateTimeRangePickerGrid","DateTimeRangePickerCell","DateTimeRangePickerMonthCell","DateTimeRangePickerStartDateTimeInput","DateTimeRangePickerEndDateTimeInput","DateTimeRangePickerStartDateInput","DateTimeRangePickerEndDateInput","DateTimeRangePickerStartTimeInput","DateTimeRangePickerEndTimeInput","DateTimeRangePickerPreviousWeek","DateTimeRangePickerNextWeek","DateTimeRangePickerPreviousMonth","DateTimeRangePickerNextMonth","DateTimeRangePickerPreviousYear","DateTimeRangePickerNextYear","DateTimeRangePickerWeekViewTrigger","DateTimeRangePickerMonthViewTrigger","DateTimeRangePickerYearViewTrigger"],"sources":["../../src/temporal/date-time-range-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBAAyBC,yBACjKC,qBACK,qBACEC,kCAAqC,kDASvC,MAAMC,wBAA0BF,iBAAiBC,8BAA+B,yCAKhF,MAAME,2BAA6BJ,yBAAyB,kBAAmBJ,sBAC/E,MAAMS,0BAA4BL,yBAAyB,kBAAmBV,qBAC9E,MAAMgB,0BAA4BX,oBAClC,MAAMY,0CAA6CP,yBAAyB,kBAAmBR,sBAC/F,MAAMgB,wBAA0BR,yBAAyB,kBAAmBP,mBAC5E,MAAMgB,wBAA0BlB,kBAChC,MAAMmB,6BAA+BhB,uBACrC,MAAMiB,sCAAwCd,kBAAkB,wBAAyB,uDACzF,MAAMe,oCAAsCf,kBAAkB,sBAAuB,qDACrF,MAAMgB,kCAAoChB,kBAAkB,mBAAoB,mDAChF,MAAMiB,gCAAkCjB,kBAAkB,iBAAkB,iDAC5E,MAAMkB,kCAAoClB,kBAAkB,mBAAoB,mDAChF,MAAMmB,gCAAkCnB,kBAAkB,iBAAkB,iDAC5E,MAAMoB,gCAAkCjB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,kDACjH,MAAMoB,4BAA8BlB,yBAAyB,kBAAmBF,iBAAiB,OAAQ,EAAG,8CAC5G,MAAMqB,iCAAmCnB,yBAAyB,kBAAmBF,iBAAiB,SAAU,EAAG,mDACnH,MAAMsB,6BAA+BpB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,+CAC9G,MAAMuB,gCAAkCrB,yBAAyB,kBAAmBF,iBAAiB,QAAS,EAAG,kDACjH,MAAMwB,4BAA8BtB,yBAAyB,kBAAmBF,iBAAiB,OAAQ,EAAG,8CAC5G,MAAMyB,mCAAqCvB,yBAAyB,kBAAmBD,wBAAwB,OAAQ,qDACvH,MAAMyB,oCAAsCxB,yBAAyB,kBAAmBD,wBAAwB,QAAS,sDACzH,MAAM0B,mCAAqCzB,yBAAyB,kBAAmBD,wBAAwB,OAAQ","ignoreList":[]}
1
+ {"version":3,"file":"date-time-range-picker.js","names":["PickerAnchor","PickerCell","PickerContent","PickerGrid","PickerMonthCell","PickerPortal","PickerTrigger","createPickerInput","createPickerMove","createPickerViewTrigger","createPickerRoot","dateTimeRangePickerCapability","DateTimeRangePickerRoot","DateTimeRangePickerTrigger","DateTimeRangePickerAnchor","DateTimeRangePickerPortal","DateTimeRangePickerContent","DateTimeRangePickerGrid","DateTimeRangePickerCell","DateTimeRangePickerMonthCell","DateTimeRangePickerStartDateTimeInput","DateTimeRangePickerEndDateTimeInput","DateTimeRangePickerStartDateInput","DateTimeRangePickerEndDateInput","DateTimeRangePickerStartTimeInput","DateTimeRangePickerEndTimeInput","DateTimeRangePickerPreviousWeek","DateTimeRangePickerNextWeek","DateTimeRangePickerPreviousMonth","DateTimeRangePickerNextMonth","DateTimeRangePickerPreviousYear","DateTimeRangePickerNextYear","DateTimeRangePickerWeekViewTrigger","DateTimeRangePickerMonthViewTrigger","DateTimeRangePickerYearViewTrigger"],"sources":["../../src/temporal/date-time-range-picker.ts"],"mappings":"OAIEA,aAAcC,WAAYC,cAAeC,WAAYC,gBAAiBC,aAAcC,cAAeC,kBAAmBC,iBAAkBC,wBACxIC,qBACK,qBACEC,kCAAqC,kDASvC,MAAMC,uCAA0CF,iBAAiBC,8BAA+B,yCAKhG,MAAME,2BAA6BP,qBACnC,MAAMQ,0BAA4Bd,oBAClC,MAAMe,0BAA4BV,oBAClC,MAAMW,2BAA6Bd,qBACnC,MAAMe,wBAA0Bd,kBAChC,MAAMe,wBAA0BjB,kBAChC,MAAMkB,6BAA+Bf,uBACrC,MAAMgB,qDAAwDb,kBAAkB,wBAAyB,uDACzG,MAAMc,mDAAsDd,kBAAkB,sBAAuB,qDACrG,MAAMe,iDAAoDf,kBAAkB,mBAAoB,mDAChG,MAAMgB,+CAAkDhB,kBAAkB,iBAAkB,iDAC5F,MAAMiB,iDAAoDjB,kBAAkB,mBAAoB,mDAChG,MAAMkB,+CAAkDlB,kBAAkB,iBAAkB,iDAC5F,MAAMmB,+CAAkDlB,iBAAiB,QAAS,EAAG,iDACrF,MAAMmB,2CAA8CnB,iBAAiB,OAAQ,EAAG,6CAChF,MAAMoB,gDAAmDpB,iBAAiB,SAAU,EAAG,kDACvF,MAAMqB,4CAA+CrB,iBAAiB,QAAS,EAAG,8CAClF,MAAMsB,+CAAkDtB,iBAAiB,QAAS,EAAG,iDACrF,MAAMuB,2CAA8CvB,iBAAiB,OAAQ,EAAG,6CAChF,MAAMwB,kDAAqDvB,wBAAwB,OAAQ,oDAC3F,MAAMwB,mDAAsDxB,wBAAwB,QAAS,qDAC7F,MAAMyB,kDAAqDzB,wBAAwB,OAAQ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { DatePickerOptions } from '@sectile/dom/temporal/date-picker';
2
2
  import type { DateValue } from '@sectile/dom/temporal/date-field';
3
- import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
3
+ import { type PickerRootPartComponent, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
4
4
  export interface MonthPickerRootProps extends PickerPartProps, PickerPositionProps {
5
5
  readonly modelValue?: DateValue | null;
6
6
  readonly defaultValue?: DateValue | null;
@@ -21,8 +21,8 @@ export type MonthPickerRootSlotProps = PickerRootSlotProps<DateValue | null>;
21
21
  export type MonthPickerValueChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:modelValue']>;
22
22
  export type MonthPickerOpenChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:open']>;
23
23
  export type MonthPickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:highlightedValue']>;
24
- export declare const MonthPickerTrigger: import("./picker.js").PickerRootPartComponent<"date">;
25
- export declare const MonthPickerAnchor: import("./picker.js").PickerRootPartComponent<"date">;
24
+ export declare const MonthPickerTrigger: PickerRootPartComponent<'date'>;
25
+ export declare const MonthPickerAnchor: PickerRootPartComponent<'date'>;
26
26
  export declare const MonthPickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
27
  to: {
28
28
  type: import("vue").PropType<string | HTMLElement>;
@@ -54,8 +54,8 @@ export declare const MonthPickerPortal: import("vue").DefineComponent<import("vu
54
54
  disabled: boolean;
55
55
  defer: boolean;
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
- export declare const MonthPickerContent: import("./picker.js").PickerRootPartComponent<"date">;
58
- export declare const MonthPickerGrid: import("./picker.js").PickerRootPartComponent<"date">;
57
+ export declare const MonthPickerContent: PickerRootPartComponent<'date'>;
58
+ export declare const MonthPickerGrid: PickerRootPartComponent<'date'>;
59
59
  export declare const MonthPickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
60
60
  value: {
61
61
  type: import("vue").PropType<import("@sectile/temporal/calendar").CalendarMonthValue>;
@@ -128,7 +128,7 @@ export declare const MonthPickerInput: import("vue").DefineComponent<import("vue
128
128
  as: import("../primitive.js").PrimitiveAs;
129
129
  asChild: boolean;
130
130
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
131
- export declare const MonthPickerPreviousYear: import("./picker.js").PickerRootPartComponent<"date">;
132
- export declare const MonthPickerNextYear: import("./picker.js").PickerRootPartComponent<"date">;
131
+ export declare const MonthPickerPreviousYear: PickerRootPartComponent<'date'>;
132
+ export declare const MonthPickerNextYear: PickerRootPartComponent<'date'>;
133
133
  export type { MonthPickerValue } from '@sectile/temporal/month-picker';
134
134
  export type { PickerMonthCellSlotProps as MonthPickerCellSlotProps, PickerPartProps as MonthPickerPartProps, PickerPortalProps as MonthPickerPortalProps, };
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerContent,PickerGrid,PickerPortal,PickerTrigger,createPickerInput,createPickerMonthCell,createPickerMove,specializePickerRootPart,createPickerRoot}from'./picker.js';import{monthPickerCapability}from'./capabilities/month-picker.js';export const MonthPickerRoot=createPickerRoot(monthPickerCapability,'SectileMonthPickerRoot',{scope:'month-picker',granularity:'month',defaultView:'year'});export const MonthPickerTrigger=specializePickerRootPart('date',PickerTrigger);export const MonthPickerAnchor=specializePickerRootPart('date',PickerAnchor);export const MonthPickerPortal=PickerPortal;export const MonthPickerContent=/* @__PURE__ */specializePickerRootPart('date',PickerContent);export const MonthPickerGrid=specializePickerRootPart('date',PickerGrid);export const MonthPickerCell=createPickerMonthCell('cell','SectileMonthPickerCell');export const MonthPickerInput=createPickerInput('input','SectileMonthPickerInput');export const MonthPickerPreviousYear=specializePickerRootPart('date',createPickerMove('year',-1,'SectileMonthPickerPreviousYear'));export const MonthPickerNextYear=specializePickerRootPart('date',createPickerMove('year',1,'SectileMonthPickerNextYear'));
1
+ import{PickerAnchor,PickerContent,PickerGrid,PickerPortal,PickerTrigger,createPickerInput,createPickerMonthCell,createPickerMove,createPickerRoot}from'./picker.js';import{monthPickerCapability}from'./capabilities/month-picker.js';export const MonthPickerRoot=/* @__PURE__ */createPickerRoot(monthPickerCapability,'SectileMonthPickerRoot',{scope:'month-picker',granularity:'month',defaultView:'year'});export const MonthPickerTrigger=PickerTrigger;export const MonthPickerAnchor=PickerAnchor;export const MonthPickerPortal=PickerPortal;export const MonthPickerContent=PickerContent;export const MonthPickerGrid=PickerGrid;export const MonthPickerCell=/* @__PURE__ */createPickerMonthCell('cell','SectileMonthPickerCell');export const MonthPickerInput=/* @__PURE__ */createPickerInput('input','SectileMonthPickerInput');export const MonthPickerPreviousYear=/* @__PURE__ */createPickerMove('year',-1,'SectileMonthPickerPreviousYear');export const MonthPickerNextYear=/* @__PURE__ */createPickerMove('year',1,'SectileMonthPickerNextYear');
2
2
  //# sourceMappingURL=month-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"month-picker.js","names":["PickerAnchor","PickerContent","PickerGrid","PickerPortal","PickerTrigger","createPickerInput","createPickerMonthCell","createPickerMove","specializePickerRootPart","createPickerRoot","monthPickerCapability","MonthPickerRoot","scope","granularity","defaultView","MonthPickerTrigger","MonthPickerAnchor","MonthPickerPortal","MonthPickerContent","MonthPickerGrid","MonthPickerCell","MonthPickerInput","MonthPickerPreviousYear","MonthPickerNextYear"],"sources":["../../src/temporal/month-picker.ts"],"mappings":"OAGEA,aAAcC,cAAeC,WAAYC,aAAcC,cAAeC,kBAAmBC,sBAAuBC,iBAAkBC,yBAClIC,qBACK,qBACEC,0BAA6B,wCAiB/B,MAAMC,gBAAkBF,iBAAiBC,sBAAuB,yBAA0B,CAAEE,MAAO,eAAgBC,YAAa,QAASC,YAAa,gBAKtJ,MAAMC,mBAAqBP,yBAAyB,OAAQJ,sBAC5D,MAAMY,kBAAoBR,yBAAyB,OAAQR,qBAC3D,MAAMiB,kBAAoBd,oBAC1B,MAAMe,kCAAqCV,yBAAyB,OAAQP,sBAC5E,MAAMkB,gBAAkBX,yBAAyB,OAAQN,mBACzD,MAAMkB,gBAAkBd,sBAAsB,OAAQ,iCACtD,MAAMe,iBAAmBhB,kBAAkB,QAAS,kCACpD,MAAMiB,wBAA0Bd,yBAAyB,OAAQD,iBAAiB,QAAS,EAAG,0CAC9F,MAAMgB,oBAAsBf,yBAAyB,OAAQD,iBAAiB,OAAQ,EAAG","ignoreList":[]}
1
+ {"version":3,"file":"month-picker.js","names":["PickerAnchor","PickerContent","PickerGrid","PickerPortal","PickerTrigger","createPickerInput","createPickerMonthCell","createPickerMove","createPickerRoot","monthPickerCapability","MonthPickerRoot","scope","granularity","defaultView","MonthPickerTrigger","MonthPickerAnchor","MonthPickerPortal","MonthPickerContent","MonthPickerGrid","MonthPickerCell","MonthPickerInput","MonthPickerPreviousYear","MonthPickerNextYear"],"sources":["../../src/temporal/month-picker.ts"],"mappings":"OAGEA,aAAcC,cAAeC,WAAYC,aAAcC,cAAeC,kBAAmBC,sBAAuBC,iBAChHC,qBACK,qBACEC,0BAA6B,wCAiB/B,MAAMC,+BAAkCF,iBAAiBC,sBAAuB,yBAA0B,CAAEE,MAAO,eAAgBC,YAAa,QAASC,YAAa,gBAKtK,MAAMC,mBAAqBV,qBAC3B,MAAMW,kBAAoBf,oBAC1B,MAAMgB,kBAAoBb,oBAC1B,MAAMc,mBAAqBhB,qBAC3B,MAAMiB,gBAAkBhB,kBACxB,MAAMiB,+BAAkCb,sBAAsB,OAAQ,iCACtE,MAAMc,gCAAmCf,kBAAkB,QAAS,kCACpE,MAAMgB,uCAA0Cd,iBAAiB,QAAS,EAAG,yCAC7E,MAAMe,mCAAsCf,iBAAiB,OAAQ,EAAG","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { DateRangePickerOptions } from '@sectile/dom/temporal/date-range-picker';
2
2
  import type { DateRange, DateValue } from '@sectile/dom/temporal/date-field';
3
- import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
3
+ import { type PickerRootPartComponent, type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './picker.js';
4
4
  export interface MonthRangePickerRootProps extends PickerPartProps, PickerPositionProps {
5
5
  readonly modelValue?: DateRange | null;
6
6
  readonly defaultValue?: DateRange | null;
@@ -21,8 +21,8 @@ export type MonthRangePickerRootSlotProps = PickerRootSlotProps<DateRange | null
21
21
  export type MonthRangePickerValueChangeHandler = NonNullable<InstanceType<typeof MonthRangePickerRoot>['$props']['onUpdate:modelValue']>;
22
22
  export type MonthRangePickerOpenChangeHandler = NonNullable<InstanceType<typeof MonthRangePickerRoot>['$props']['onUpdate:open']>;
23
23
  export type MonthRangePickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof MonthRangePickerRoot>['$props']['onUpdate:highlightedValue']>;
24
- export declare const MonthRangePickerTrigger: import("./picker.js").PickerRootPartComponent<"date-range">;
25
- export declare const MonthRangePickerAnchor: import("./picker.js").PickerRootPartComponent<"date-range">;
24
+ export declare const MonthRangePickerTrigger: PickerRootPartComponent<'date-range'>;
25
+ export declare const MonthRangePickerAnchor: PickerRootPartComponent<'date-range'>;
26
26
  export declare const MonthRangePickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
27
  to: {
28
28
  type: import("vue").PropType<string | HTMLElement>;
@@ -54,8 +54,8 @@ export declare const MonthRangePickerPortal: import("vue").DefineComponent<impor
54
54
  disabled: boolean;
55
55
  defer: boolean;
56
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
- export declare const MonthRangePickerContent: import("./picker.js").PickerRootPartComponent<"date-range">;
58
- export declare const MonthRangePickerGrid: import("./picker.js").PickerRootPartComponent<"date-range">;
57
+ export declare const MonthRangePickerContent: PickerRootPartComponent<'date-range'>;
58
+ export declare const MonthRangePickerGrid: PickerRootPartComponent<'date-range'>;
59
59
  export declare const MonthRangePickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
60
60
  value: {
61
61
  type: import("vue").PropType<import("@sectile/temporal/calendar").CalendarMonthValue>;
@@ -168,8 +168,8 @@ export declare const MonthRangePickerEndInput: import("vue").DefineComponent<imp
168
168
  as: import("../primitive.js").PrimitiveAs;
169
169
  asChild: boolean;
170
170
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
171
- export declare const MonthRangePickerPreviousYear: import("./picker.js").PickerRootPartComponent<"date-range">;
172
- export declare const MonthRangePickerNextYear: import("./picker.js").PickerRootPartComponent<"date-range">;
171
+ export declare const MonthRangePickerPreviousYear: PickerRootPartComponent<'date-range'>;
172
+ export declare const MonthRangePickerNextYear: PickerRootPartComponent<'date-range'>;
173
173
  export type { MonthRangePickerValue } from '@sectile/temporal/month-range-picker';
174
174
  export type { MonthPickerValue } from '@sectile/temporal/month-picker';
175
175
  export type { PickerMonthCellSlotProps as MonthRangePickerCellSlotProps, PickerPartProps as MonthRangePickerPartProps, PickerPortalProps as MonthRangePickerPortalProps, };
@@ -1,2 +1,2 @@
1
- import{PickerAnchor,PickerContent,PickerGrid,PickerPortal,PickerTrigger,createPickerInput,createPickerMonthCell,createPickerMove,specializePickerRootPart,createPickerRoot}from'./picker.js';import{monthRangePickerCapability}from'./capabilities/month-range-picker.js';export const MonthRangePickerRoot=createPickerRoot(monthRangePickerCapability,'SectileMonthRangePickerRoot',{scope:'month-range-picker',granularity:'month',defaultView:'year'});export const MonthRangePickerTrigger=specializePickerRootPart('date-range',PickerTrigger);export const MonthRangePickerAnchor=specializePickerRootPart('date-range',PickerAnchor);export const MonthRangePickerPortal=PickerPortal;export const MonthRangePickerContent=/* @__PURE__ */specializePickerRootPart('date-range',PickerContent);export const MonthRangePickerGrid=specializePickerRootPart('date-range',PickerGrid);export const MonthRangePickerCell=createPickerMonthCell('cell','SectileMonthRangePickerCell');export const MonthRangePickerStartInput=createPickerInput('start-input','SectileMonthRangePickerStartInput');export const MonthRangePickerEndInput=createPickerInput('end-input','SectileMonthRangePickerEndInput');export const MonthRangePickerPreviousYear=specializePickerRootPart('date-range',createPickerMove('year',-1,'SectileMonthRangePickerPreviousYear'));export const MonthRangePickerNextYear=specializePickerRootPart('date-range',createPickerMove('year',1,'SectileMonthRangePickerNextYear'));
1
+ import{PickerAnchor,PickerContent,PickerGrid,PickerPortal,PickerTrigger,createPickerInput,createPickerMonthCell,createPickerMove,createPickerRoot}from'./picker.js';import{monthRangePickerCapability}from'./capabilities/month-range-picker.js';export const MonthRangePickerRoot=/* @__PURE__ */createPickerRoot(monthRangePickerCapability,'SectileMonthRangePickerRoot',{scope:'month-range-picker',granularity:'month',defaultView:'year'});export const MonthRangePickerTrigger=PickerTrigger;export const MonthRangePickerAnchor=PickerAnchor;export const MonthRangePickerPortal=PickerPortal;export const MonthRangePickerContent=PickerContent;export const MonthRangePickerGrid=PickerGrid;export const MonthRangePickerCell=/* @__PURE__ */createPickerMonthCell('cell','SectileMonthRangePickerCell');export const MonthRangePickerStartInput=/* @__PURE__ */createPickerInput('start-input','SectileMonthRangePickerStartInput');export const MonthRangePickerEndInput=/* @__PURE__ */createPickerInput('end-input','SectileMonthRangePickerEndInput');export const MonthRangePickerPreviousYear=/* @__PURE__ */createPickerMove('year',-1,'SectileMonthRangePickerPreviousYear');export const MonthRangePickerNextYear=/* @__PURE__ */createPickerMove('year',1,'SectileMonthRangePickerNextYear');
2
2
  //# sourceMappingURL=month-range-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"month-range-picker.js","names":["PickerAnchor","PickerContent","PickerGrid","PickerPortal","PickerTrigger","createPickerInput","createPickerMonthCell","createPickerMove","specializePickerRootPart","createPickerRoot","monthRangePickerCapability","MonthRangePickerRoot","scope","granularity","defaultView","MonthRangePickerTrigger","MonthRangePickerAnchor","MonthRangePickerPortal","MonthRangePickerContent","MonthRangePickerGrid","MonthRangePickerCell","MonthRangePickerStartInput","MonthRangePickerEndInput","MonthRangePickerPreviousYear","MonthRangePickerNextYear"],"sources":["../../src/temporal/month-range-picker.ts"],"mappings":"OAGEA,aAAcC,cAAeC,WAAYC,aAAcC,cAAeC,kBAAmBC,sBAAuBC,iBAAkBC,yBAClIC,qBACK,qBACEC,+BAAkC,8CAiBpC,MAAMC,qBAAuBF,iBAAiBC,2BAA4B,8BAA+B,CAAEE,MAAO,qBAAsBC,YAAa,QAASC,YAAa,gBAK3K,MAAMC,wBAA0BP,yBAAyB,aAAcJ,sBACvE,MAAMY,uBAAyBR,yBAAyB,aAAcR,qBACtE,MAAMiB,uBAAyBd,oBAC/B,MAAMe,uCAA0CV,yBAAyB,aAAcP,sBACvF,MAAMkB,qBAAuBX,yBAAyB,aAAcN,mBACpE,MAAMkB,qBAAuBd,sBAAsB,OAAQ,sCAC3D,MAAMe,2BAA6BhB,kBAAkB,cAAe,4CACpE,MAAMiB,yBAA2BjB,kBAAkB,YAAa,0CAChE,MAAMkB,6BAA+Bf,yBAAyB,aAAcD,iBAAiB,QAAS,EAAG,+CACzG,MAAMiB,yBAA2BhB,yBAAyB,aAAcD,iBAAiB,OAAQ,EAAG","ignoreList":[]}
1
+ {"version":3,"file":"month-range-picker.js","names":["PickerAnchor","PickerContent","PickerGrid","PickerPortal","PickerTrigger","createPickerInput","createPickerMonthCell","createPickerMove","createPickerRoot","monthRangePickerCapability","MonthRangePickerRoot","scope","granularity","defaultView","MonthRangePickerTrigger","MonthRangePickerAnchor","MonthRangePickerPortal","MonthRangePickerContent","MonthRangePickerGrid","MonthRangePickerCell","MonthRangePickerStartInput","MonthRangePickerEndInput","MonthRangePickerPreviousYear","MonthRangePickerNextYear"],"sources":["../../src/temporal/month-range-picker.ts"],"mappings":"OAGEA,aAAcC,cAAeC,WAAYC,aAAcC,cAAeC,kBAAmBC,sBAAuBC,iBAChHC,qBACK,qBACEC,+BAAkC,8CAiBpC,MAAMC,oCAAuCF,iBAAiBC,2BAA4B,8BAA+B,CAAEE,MAAO,qBAAsBC,YAAa,QAASC,YAAa,gBAK3L,MAAMC,wBAA0BV,qBAChC,MAAMW,uBAAyBf,oBAC/B,MAAMgB,uBAAyBb,oBAC/B,MAAMc,wBAA0BhB,qBAChC,MAAMiB,qBAAuBhB,kBAC7B,MAAMiB,oCAAuCb,sBAAsB,OAAQ,sCAC3E,MAAMc,0CAA6Cf,kBAAkB,cAAe,4CACpF,MAAMgB,wCAA2ChB,kBAAkB,YAAa,0CAChF,MAAMiB,4CAA+Cf,iBAAiB,QAAS,EAAG,8CAClF,MAAMgB,wCAA2ChB,iBAAiB,OAAQ,EAAG","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { type AllowedComponentProps, type Component, type ComponentCustomProps, type PropType, type SlotsType, type VNodeChild, type VNodeProps } from 'vue';
1
+ import { type AllowedComponentProps, type ComponentCustomProps, type PropType, type SlotsType, type VNodeChild, type VNodeProps } from 'vue';
2
2
  import type { CalendarPolicies } from '@sectile/dom/temporal/calendar';
3
3
  import type { DatePickerOptions, PickerPositionOptions, CalendarMonthValue, CalendarViewMode } from '@sectile/dom/temporal/date-picker';
4
4
  import type { DateRangePickerOptions } from '@sectile/dom/temporal/date-range-picker';
@@ -123,7 +123,6 @@ export interface PickerRootPartComponent<Kind extends PickerKind> {
123
123
  };
124
124
  };
125
125
  }
126
- export declare function specializePickerRootPart<Kind extends PickerKind>(_kind: Kind, component: Component): PickerRootPartComponent<Kind>;
127
126
  export declare function createPickerRoot<Kind extends PickerKind>(capability: PickerFamilyCapability<Kind>, name: string, config?: PickerRootConfig): PickerRootComponent<Kind>;
128
127
  export declare const PickerTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
129
128
  as: {
@@ -1,2 +1,2 @@
1
- import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,nextTick,provide,shallowRef,watch}from'vue';import{formatDateValue,parseDateValue}from'@sectile/dom/temporal/date-field';import{createCalendarMonth,createCalendarYear,isCalendarValueAvailable}from'@sectile/temporal/calendar';import{createDateValue,tryCreateDateValue}from'@sectile/temporal/date-field';import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from'../form/control.js';import{Primitive}from'../primitive.js';import{useControlledStateInvariant}from'../internal/controlled-state.js';import{usePresence}from'../presence/presence.js';import{useHostPortalTarget}from'../host-provider.js';import{useTemporalReferenceDate}from'./temporal-provider.js';export function specializePickerRootPart(_kind,component){return component}const key=Symbol('SectileDatePickerRoot');const noPendingPickerValue=Symbol('no-pending-picker-value');const partProps={as:{type:[String,Object,Function],default:'div'},asChild:{type:Boolean,default:false}};export function createPickerRoot(capability,name,config={}){const kind=capability.kind;const scope=config.scope??kind;const granularity=config.granularity??'day';const defaultView=config.defaultView??(granularity==='day'?'month':'year');const defaultOpen=config.defaultOpen??false;const yearPageSize=config.yearPageSize??12;const inline=config.inline??false;const selectionEventType=kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date';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 periodReferenceYear=localHighlight.value.year;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(granularity!=='day'){const canonical='month'in value?tryCreateDateValue(value.year,value.month,1):tryCreateDateValue(value.year,1,1);return canonical.ok&&isCalendarValueAvailable(canonical.value,policies)}if('month'in value)return monthAvailable(value,policies);return Array.from({length:12},(_entry,index)=>index+1).some(month=>monthAvailable({year:value.year,month},policies))};const refreshCells=()=>{const grid=elements.get('grid');if(grid===undefined||connection.value===undefined)return;grid.querySelectorAll('[data-sectile-picker-date]').forEach(element=>{const parsed=parseDateValue(element.dataset['sectilePickerDate']??'');if(parsed.ok)connection.value?.setCellAttributes(element,parsed.value)})};const refresh=()=>{const raw=connection.value?.getSnapshot().state;if(raw===undefined)return;const picked=extractState(kind,raw);localValue.value=picked.value;localHighlight.value=picked.highlighted;localOpen.value=picked.open;localView.value=picked.view;localViewMode.value=picked.viewMode;if(connection.value!==undefined){dates.value=picked.viewMode==='week'?[connection.value.getWeek()]:picked.viewMode==='month'?connection.value.getMonth():[];months.value=picked.viewMode==='year'?connection.value.getYear():[];if(granularity==='year'){yearPageStart.value=pageStartContaining(picked.highlighted.year,yearPageStart.value,yearPageSize);years.value=yearsFrom(yearPageStart.value,yearPageSize)}}refreshCells();void nextTick(refreshCells)};const connect=()=>{connection.value?.disconnect();const content=elements.get('content');const grid=elements.get('grid');const trigger=elements.get('trigger')??inlineTrigger;if(content===undefined||grid===undefined||kind!=='calendar'&&trigger===undefined)return;const base={root:content,grid,disabled:runtimeProps.disabled,readOnly:runtimeProps.readonly,required:runtimeProps.required,referenceDate:referenceDate.value,...runtimeProps.label===undefined?{}:{label:runtimeProps.label},...runtimeProps.policies===undefined?{}:{policies:runtimeProps.policies},...controlled.value?{value:runtimeProps.modelValue}:{defaultValue:localValue.value},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{defaultHighlightedValue:localHighlight.value},onValueChange:value=>{localValue.value=value;if(controlled.value)pendingValue.value=value;emit('update:modelValue',value)},onHighlightedValueChange:value=>{localHighlight.value=value;emit('update:highlightedValue',value)},onUpdate:refresh};if(kind!=='calendar'){base['trigger']=trigger;const anchor=elements.get('anchor');if(anchor!==undefined)base['anchor']=anchor;Object.assign(base,{manageVisibility:false,position:runtimeProps.position,side:runtimeProps.side,align:runtimeProps.align,sideOffset:runtimeProps.sideOffset,collisionPadding:runtimeProps.collisionPadding,avoidCollisions:runtimeProps.avoidCollisions,hideWhenDetached:runtimeProps.hideWhenDetached,strategy:runtimeProps.strategy,tracking:runtimeProps.tracking});if(runtimeProps.collisionBoundary!==undefined)base['collisionBoundary']=runtimeProps.collisionBoundary;if(controlled.open)base['open']=runtimeProps.open;else base['defaultOpen']=localOpen.value;base['onOpenChange']=value=>{localOpen.value=value;emit('update:open',value)}}if(granularity==='day'){for(const part of inputParts(kind)){const element=elements.get(part);if(element!==undefined)base[toDOMInputKey(part)]=element}}connection.value=capability.connect(base);if(runtimeProps.defaultView!=='month')connection.value.handleEvent({type:'set-view-mode',value:runtimeProps.defaultView});refreshCells();refresh()};let mounted=false;let connectQueued=false;const focusedInputs=new Set;const composingInputs=new Set;let reconnectPending=false;let reconnectTimer=null;const hasActiveInput=()=>focusedInputs.size>0||composingInputs.size>0;const requestConnect=()=>{if(hasActiveInput()){reconnectPending=true;return}connect()};const schedulePendingConnect=()=>{if(hasActiveInput()||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||hasActiveInput())return;reconnectPending=false;connect()},0)};const setInputFocused=(part,focused)=>{if(focused)focusedInputs.add(part);else focusedInputs.delete(part);schedulePendingConnect()};const setInputComposing=(part,composing)=>{if(composing)composingInputs.add(part);else composingInputs.delete(part);schedulePendingConnect()};const scheduleConnect=()=>{if(!mounted||connectQueued)return;connectQueued=true;void nextTick(()=>{connectQueued=false;if(mounted)requestConnect()})};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:selectionEventType,value:createDateValue(value.year,value.month,1)}:{type:'select-month',value});refresh()};const selectYear=value=>{connection.value?.handleEvent({type:selectionEventType,value:createDateValue(value.year,1,1)});refresh()};provide(key,{kind,scope,granularity,inline,state,dayAvailable:value=>isCalendarValueAvailable(value,kind==='date-time'||kind==='date-time-range'?runtimeProps.policies?.date:runtimeProps.policies),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()},setInputFocused,setInputComposing,refresh:()=>connection.value?.refresh(),registerCell:(element,value)=>connection.value?.setCellAttributes(element,value),move:(unit,direction)=>{if(granularity!=='day'&&unit==='year'){connection.value?.handleEvent({type:'navigate-period',unit:granularity,direction:direction<0?'previous-page':'next-page',referenceYear:periodReferenceYear});refresh();return}moveBy(unit,direction)},handleGridKey:event=>{if(granularity==='day'&&state.value.viewMode!=='year'||event.altKey||event.ctrlKey||event.metaKey)return;const highlighted=state.value.highlightedValue;if(event.key==='Enter'||event.key===' '){event.preventDefault();event.stopImmediatePropagation();if(granularity==='year')selectYear({year:highlighted.year});else selectMonth({year:highlighted.year,month:highlighted.month});return}if(granularity!=='day'){const direction=event.key==='ArrowLeft'?'previous':event.key==='ArrowRight'?'next':event.key==='ArrowUp'?'above':event.key==='ArrowDown'?'below':event.key==='PageUp'?'previous-page':event.key==='PageDown'?'next-page':event.key==='Home'?'start':event.key==='End'?'end':null;if(direction===null)return;event.preventDefault();event.stopImmediatePropagation();connection.value?.handleEvent({type:'navigate-period',unit:granularity,direction,referenceYear:periodReferenceYear});refresh();return}let movement;if(event.key==='ArrowLeft')movement={unit:'month',delta:-1};else if(event.key==='ArrowRight')movement={unit:'month',delta:1};else if(event.key==='ArrowUp')movement={unit:'month',delta:-3};else if(event.key==='ArrowDown')movement={unit:'month',delta:3};else if(event.key==='PageUp')movement={unit:'year',delta:-1};else if(event.key==='PageDown')movement={unit:'year',delta:1};else if(event.key==='Home')movement={unit:'month',delta:1-highlighted.month};else if(event.key==='End')movement={unit:'month',delta:12-highlighted.month};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=>{connection.value?.handleEvent({type:selectionEventType,value});refresh()},selectMonth,selectYear});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connectQueued=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;focusedInputs.clear();composingInputs.clear();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],requestConnect);watch(referenceDate,value=>{if(runtimeProps.highlightedValue===undefined&&runtimeProps.defaultHighlightedValue===undefined&&dateOf(runtimeProps.modelValue??runtimeProps.defaultValue)===null)localHighlight.value=value;requestConnect()});watch([()=>runtimeProps.modelValue,()=>runtimeProps.open,()=>runtimeProps.highlightedValue],(values,previousValues)=>{if(connection.value===undefined)return;if(values[0]!==previousValues[0])pendingValue.value=noPendingPickerValue;const result=connection.value.syncControlledValues({...controlled.value?{value:runtimeProps.modelValue}:{},...kind!=='calendar'&&controlled.open?{open:runtimeProps.open}:{},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error?.message??'Could not synchronize picker values.');refresh()});return()=>h(Fragment,null,slots['default']?.(state.value)??[])}});return component}export const PickerTrigger=/* @__PURE__ */defineComponent({name:'SectilePickerTrigger',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerTrigger');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('trigger',node instanceof HTMLElement?node:undefined),type:props.as==='button'?'button':undefined,disabled:root.state.value.disabled,'aria-haspopup':'dialog','aria-expanded':String(root.state.value.open),'data-scope':root.scope,'data-part':'trigger'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerAnchor=/* @__PURE__ */defineComponent({name:'SectilePickerAnchor',inheritAttrs:false,props:partProps,setup(props,{attrs,slots}){const root=useRoot('PickerAnchor');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('anchor',node instanceof HTMLElement?node:undefined),'data-scope':root.scope,'data-part':'anchor'}),slots)}});export const PickerContent=/* @__PURE__ */defineComponent({name:'SectilePickerContent',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerContent');const element=shallowRef();const open=computed(()=>root.inline||root.state.value.open);const present=usePresence(open,element);watch(present,async()=>{await nextTick();root.refresh()},{flush:'post'});return()=>{const exiting=!root.inline&&!open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{const content=node instanceof HTMLElement?node:undefined;element.value=content;root.register('content',content)},role:root.inline?'group':'dialog','aria-modal':root.inline?undefined:'false',hidden:root.inline?false:!present.value,...exiting?{inert:true,'aria-hidden':'true'}:{},'data-scope':root.scope,'data-part':'content','data-state':root.state.value.open?'open':'closed',style:!root.inline&&root.position.value?{position:root.strategy.value}:undefined}),{default:()=>slots['default']?.(root.state.value)})}}});export const PickerPortal=/* @__PURE__ */defineComponent({name:'SectilePickerPortal',inheritAttrs:false,props:{to:{type:[String,Object],default:undefined},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){useRoot('PickerPortal');const portalTarget=useHostPortalTarget();return()=>h(Teleport,{to:props.to??portalTarget.value??'body',disabled:props.disabled,defer:props.defer},slots['default']?.())}});export const PickerGrid=/* @__PURE__ */defineComponent({name:'SectilePickerGrid',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerGrid');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('grid',node instanceof HTMLElement?node:undefined),role:'grid',onKeydown:root.handleGridKey,'data-scope':root.scope,'data-part':'grid'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerCell=/* @__PURE__ */defineComponent({name:'SectilePickerCell',inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerCell');const state=computed(()=>cellState(root.state.value,props.value,root.dayAvailable(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),'aria-disabled':String(state.value.disabled),'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);const renderServerValue=typeof window==='undefined';const browserOwned=type==='text'&&root.granularity==='day'&&!isPickerDisplayInput(part);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||isPickerDisplayInput(part),required:false,...renderServerValue||!browserOwned?{value:root.state.value.value===null?'':root.formatInput(root.granularity,part,root.state.value.value)}:{},onFocus:browserOwned?()=>root.setInputFocused(part,true):undefined,onBlur:browserOwned?()=>root.setInputFocused(part,false):undefined,onCompositionstart:browserOwned?()=>root.setInputComposing(part,true):undefined,onCompositionend:browserOwned?()=>root.setInputComposing(part,false):undefined,'data-scope':root.scope,'data-part':part}))}})}function isPickerDisplayInput(part){return part==='start-input'||part==='end-input'||part==='start-date-time-input'||part==='end-date-time-input'}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(state,value,available){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||!available,outsideMonth:value.month!==state.view.month||value.year!==state.view.year}}function monthContainsValue(value,month){const date=dateOf(value);return date!==null&&date.year===month.year&&date.month===month.month}function yearContainsValue(value,year){const date=dateOf(value);return date!==null&&date.year===year.year}function periodInRange(value,start,end){if(value===null||'year'in value||'date'in value)return false;const rangeStart='date'in value.start?value.start.date:value.start;const rangeEnd='date'in value.end?value.end.date:value.end;return compare(rangeStart,end)<=0&&compare(start,rangeEnd)<=0}function inputParts(kind){return kind==='calendar'||kind==='date'?['input']:kind==='date-range'?['start-input','end-input']:kind==='date-time'?['date-time-input','date-input','time-input']:['start-date-time-input','end-date-time-input','start-date-input','end-date-input','start-time-input','end-time-input']}function toDOMInputKey(part){if(part==='date-time-input')return'dateTimeInput';if(part==='start-date-time-input')return'startDateTimeInput';if(part==='end-date-time-input')return'endDateTimeInput';return part.replace(/-([a-z])/g,(_match,letter)=>letter.toUpperCase())}
1
+ import{Fragment,Teleport,computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,nextTick,provide,shallowRef,watch}from'vue';import{formatDateValue,parseDateValue}from'@sectile/dom/temporal/date-field';import{createCalendarMonth,createCalendarYear,isCalendarValueAvailable}from'@sectile/temporal/calendar';import{createDateValue,tryCreateDateValue}from'@sectile/temporal/date-field';import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from'../form/control.js';import{Primitive}from'../primitive.js';import{useControlledStateInvariant}from'../internal/controlled-state.js';import{usePresence}from'../presence/presence.js';import{useHostPortalTarget}from'../host-provider.js';import{useTemporalReferenceDate}from'./temporal-provider.js';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 selectionEventType=kind==='calendar'||kind==='date'||kind==='date-range'?'select':'select-date';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 periodReferenceYear=localHighlight.value.year;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(granularity!=='day'){const canonical='month'in value?tryCreateDateValue(value.year,value.month,1):tryCreateDateValue(value.year,1,1);return canonical.ok&&isCalendarValueAvailable(canonical.value,policies)}if('month'in value)return monthAvailable(value,policies);return Array.from({length:12},(_entry,index)=>index+1).some(month=>monthAvailable({year:value.year,month},policies))};const refreshCells=()=>{const grid=elements.get('grid');if(grid===undefined||connection.value===undefined)return;grid.querySelectorAll('[data-sectile-picker-date]').forEach(element=>{const parsed=parseDateValue(element.dataset['sectilePickerDate']??'');if(parsed.ok)connection.value?.setCellAttributes(element,parsed.value)})};const refresh=()=>{const raw=connection.value?.getSnapshot().state;if(raw===undefined)return;const picked=extractState(kind,raw);localValue.value=picked.value;localHighlight.value=picked.highlighted;localOpen.value=picked.open;localView.value=picked.view;localViewMode.value=picked.viewMode;if(connection.value!==undefined){dates.value=picked.viewMode==='week'?[connection.value.getWeek()]:picked.viewMode==='month'?connection.value.getMonth():[];months.value=picked.viewMode==='year'?connection.value.getYear():[];if(granularity==='year'){yearPageStart.value=pageStartContaining(picked.highlighted.year,yearPageStart.value,yearPageSize);years.value=yearsFrom(yearPageStart.value,yearPageSize)}}refreshCells();void nextTick(refreshCells)};const connect=()=>{connection.value?.disconnect();const content=elements.get('content');const grid=elements.get('grid');const trigger=elements.get('trigger')??inlineTrigger;if(content===undefined||grid===undefined||kind!=='calendar'&&trigger===undefined)return;const base={root:content,grid,disabled:runtimeProps.disabled,readOnly:runtimeProps.readonly,required:runtimeProps.required,referenceDate:referenceDate.value,...runtimeProps.label===undefined?{}:{label:runtimeProps.label},...runtimeProps.policies===undefined?{}:{policies:runtimeProps.policies},...controlled.value?{value:runtimeProps.modelValue}:{defaultValue:localValue.value},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{defaultHighlightedValue:localHighlight.value},onValueChange:value=>{localValue.value=value;if(controlled.value)pendingValue.value=value;emit('update:modelValue',value)},onHighlightedValueChange:value=>{localHighlight.value=value;emit('update:highlightedValue',value)},onUpdate:refresh};if(kind!=='calendar'){base['trigger']=trigger;const anchor=elements.get('anchor');if(anchor!==undefined)base['anchor']=anchor;Object.assign(base,{manageVisibility:false,position:runtimeProps.position,side:runtimeProps.side,align:runtimeProps.align,sideOffset:runtimeProps.sideOffset,collisionPadding:runtimeProps.collisionPadding,avoidCollisions:runtimeProps.avoidCollisions,hideWhenDetached:runtimeProps.hideWhenDetached,strategy:runtimeProps.strategy,tracking:runtimeProps.tracking});if(runtimeProps.collisionBoundary!==undefined)base['collisionBoundary']=runtimeProps.collisionBoundary;if(controlled.open)base['open']=runtimeProps.open;else base['defaultOpen']=localOpen.value;base['onOpenChange']=value=>{localOpen.value=value;emit('update:open',value)}}if(granularity==='day'){for(const part of inputParts(kind)){const element=elements.get(part);if(element!==undefined)base[toDOMInputKey(part)]=element}}connection.value=capability.connect(base);if(runtimeProps.defaultView!=='month')connection.value.handleEvent({type:'set-view-mode',value:runtimeProps.defaultView});refreshCells();refresh()};let mounted=false;let connectQueued=false;const focusedInputs=new Set;const composingInputs=new Set;let reconnectPending=false;let reconnectTimer=null;const hasActiveInput=()=>focusedInputs.size>0||composingInputs.size>0;const requestConnect=()=>{if(hasActiveInput()){reconnectPending=true;return}connect()};const schedulePendingConnect=()=>{if(hasActiveInput()||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||hasActiveInput())return;reconnectPending=false;connect()},0)};const setInputFocused=(part,focused)=>{if(focused)focusedInputs.add(part);else focusedInputs.delete(part);schedulePendingConnect()};const setInputComposing=(part,composing)=>{if(composing)composingInputs.add(part);else composingInputs.delete(part);schedulePendingConnect()};const scheduleConnect=()=>{if(!mounted||connectQueued)return;connectQueued=true;void nextTick(()=>{connectQueued=false;if(mounted)requestConnect()})};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:selectionEventType,value:createDateValue(value.year,value.month,1)}:{type:'select-month',value});refresh()};const selectYear=value=>{connection.value?.handleEvent({type:selectionEventType,value:createDateValue(value.year,1,1)});refresh()};provide(key,{kind,scope,granularity,inline,state,dayAvailable:value=>isCalendarValueAvailable(value,kind==='date-time'||kind==='date-time-range'?runtimeProps.policies?.date:runtimeProps.policies),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()},setInputFocused,setInputComposing,refresh:()=>connection.value?.refresh(),registerCell:(element,value)=>connection.value?.setCellAttributes(element,value),move:(unit,direction)=>{if(granularity!=='day'&&unit==='year'){connection.value?.handleEvent({type:'navigate-period',unit:granularity,direction:direction<0?'previous-page':'next-page',referenceYear:periodReferenceYear});refresh();return}moveBy(unit,direction)},handleGridKey:event=>{if(granularity==='day'&&state.value.viewMode!=='year'||event.altKey||event.ctrlKey||event.metaKey)return;const highlighted=state.value.highlightedValue;if(event.key==='Enter'||event.key===' '){event.preventDefault();event.stopImmediatePropagation();if(granularity==='year')selectYear({year:highlighted.year});else selectMonth({year:highlighted.year,month:highlighted.month});return}if(granularity!=='day'){const direction=event.key==='ArrowLeft'?'previous':event.key==='ArrowRight'?'next':event.key==='ArrowUp'?'above':event.key==='ArrowDown'?'below':event.key==='PageUp'?'previous-page':event.key==='PageDown'?'next-page':event.key==='Home'?'start':event.key==='End'?'end':null;if(direction===null)return;event.preventDefault();event.stopImmediatePropagation();connection.value?.handleEvent({type:'navigate-period',unit:granularity,direction,referenceYear:periodReferenceYear});refresh();return}let movement;if(event.key==='ArrowLeft')movement={unit:'month',delta:-1};else if(event.key==='ArrowRight')movement={unit:'month',delta:1};else if(event.key==='ArrowUp')movement={unit:'month',delta:-3};else if(event.key==='ArrowDown')movement={unit:'month',delta:3};else if(event.key==='PageUp')movement={unit:'year',delta:-1};else if(event.key==='PageDown')movement={unit:'year',delta:1};else if(event.key==='Home')movement={unit:'month',delta:1-highlighted.month};else if(event.key==='End')movement={unit:'month',delta:12-highlighted.month};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=>{connection.value?.handleEvent({type:selectionEventType,value});refresh()},selectMonth,selectYear});onMounted(()=>{mounted=true;connect()});onBeforeUnmount(()=>{mounted=false;connectQueued=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;focusedInputs.clear();composingInputs.clear();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],requestConnect);watch(referenceDate,value=>{if(runtimeProps.highlightedValue===undefined&&runtimeProps.defaultHighlightedValue===undefined&&dateOf(runtimeProps.modelValue??runtimeProps.defaultValue)===null)localHighlight.value=value;requestConnect()});watch([()=>runtimeProps.modelValue,()=>runtimeProps.open,()=>runtimeProps.highlightedValue],(values,previousValues)=>{if(connection.value===undefined)return;if(values[0]!==previousValues[0])pendingValue.value=noPendingPickerValue;const result=connection.value.syncControlledValues({...controlled.value?{value:runtimeProps.modelValue}:{},...kind!=='calendar'&&controlled.open?{open:runtimeProps.open}:{},...controlled.highlighted?{highlightedValue:runtimeProps.highlightedValue}:{}});if(!result.ok)throw new TypeError(result.error?.message??'Could not synchronize picker values.');refresh()});return()=>h(Fragment,null,slots['default']?.(state.value)??[])}});return component}export const PickerTrigger=/* @__PURE__ */defineComponent({name:'SectilePickerTrigger',inheritAttrs:false,props:{as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerTrigger');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('trigger',node instanceof HTMLElement?node:undefined),type:props.as==='button'?'button':undefined,disabled:root.state.value.disabled,'aria-haspopup':'dialog','aria-expanded':String(root.state.value.open),'data-scope':root.scope,'data-part':'trigger'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerAnchor=/* @__PURE__ */defineComponent({name:'SectilePickerAnchor',inheritAttrs:false,props:partProps,setup(props,{attrs,slots}){const root=useRoot('PickerAnchor');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('anchor',node instanceof HTMLElement?node:undefined),'data-scope':root.scope,'data-part':'anchor'}),slots)}});export const PickerContent=/* @__PURE__ */defineComponent({name:'SectilePickerContent',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerContent');const element=shallowRef();const open=computed(()=>root.inline||root.state.value.open);const present=usePresence(open,element);watch(present,async()=>{await nextTick();root.refresh()},{flush:'post'});return()=>{const exiting=!root.inline&&!open.value&&present.value;return h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>{const content=node instanceof HTMLElement?node:undefined;element.value=content;root.register('content',content)},role:root.inline?'group':'dialog','aria-modal':root.inline?undefined:'false',hidden:root.inline?false:!present.value,...exiting?{inert:true,'aria-hidden':'true'}:{},'data-scope':root.scope,'data-part':'content','data-state':root.state.value.open?'open':'closed',style:!root.inline&&root.position.value?{position:root.strategy.value}:undefined}),{default:()=>slots['default']?.(root.state.value)})}}});export const PickerPortal=/* @__PURE__ */defineComponent({name:'SectilePickerPortal',inheritAttrs:false,props:{to:{type:[String,Object],default:undefined},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){useRoot('PickerPortal');const portalTarget=useHostPortalTarget();return()=>h(Teleport,{to:props.to??portalTarget.value??'body',disabled:props.disabled,defer:props.defer},slots['default']?.())}});export const PickerGrid=/* @__PURE__ */defineComponent({name:'SectilePickerGrid',inheritAttrs:false,props:partProps,slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerGrid');return()=>h(Primitive,mergeProps(attrs,{as:props.as,asChild:props.asChild,elementRef:node=>root.register('grid',node instanceof HTMLElement?node:undefined),role:'grid',onKeydown:root.handleGridKey,'data-scope':root.scope,'data-part':'grid'}),{default:()=>slots['default']?.(root.state.value)})}});export const PickerCell=/* @__PURE__ */defineComponent({name:'SectilePickerCell',inheritAttrs:false,props:{value:{type:Object,required:true},as:{type:[String,Object,Function],default:'button'},asChild:{type:Boolean,default:false}},slots:Object,setup(props,{attrs,slots}){const root=useRoot('PickerCell');const state=computed(()=>cellState(root.state.value,props.value,root.dayAvailable(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),'aria-disabled':String(state.value.disabled),'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);const renderServerValue=typeof window==='undefined';const browserOwned=type==='text'&&root.granularity==='day'&&!isPickerDisplayInput(part);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||isPickerDisplayInput(part),required:false,...renderServerValue||!browserOwned?{value:root.state.value.value===null?'':root.formatInput(root.granularity,part,root.state.value.value)}:{},onFocus:browserOwned?()=>root.setInputFocused(part,true):undefined,onBlur:browserOwned?()=>root.setInputFocused(part,false):undefined,onCompositionstart:browserOwned?()=>root.setInputComposing(part,true):undefined,onCompositionend:browserOwned?()=>root.setInputComposing(part,false):undefined,'data-scope':root.scope,'data-part':part}))}})}function isPickerDisplayInput(part){return part==='start-input'||part==='end-input'||part==='start-date-time-input'||part==='end-date-time-input'}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(state,value,available){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||!available,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=picker.js.map