@nepdatejs/vanilla 0.0.0-bootstrap → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -1
  3. package/dist/auto-define.cjs +11 -0
  4. package/dist/auto-define.cjs.map +1 -0
  5. package/dist/auto-define.d.cts +2 -0
  6. package/dist/auto-define.d.ts +2 -0
  7. package/dist/auto-define.js +9 -0
  8. package/dist/auto-define.js.map +1 -0
  9. package/dist/calendar-BAcO-jYq.js +142 -0
  10. package/dist/calendar-BAcO-jYq.js.map +1 -0
  11. package/dist/calendar-BNdN8qJv.d.ts +87 -0
  12. package/dist/calendar-C1LZI7XN.cjs +159 -0
  13. package/dist/calendar-C1LZI7XN.cjs.map +1 -0
  14. package/dist/calendar-QWPX0IfD.d.cts +87 -0
  15. package/dist/calendar.cjs +7 -0
  16. package/dist/calendar.d.cts +2 -0
  17. package/dist/calendar.d.ts +2 -0
  18. package/dist/calendar.js +3 -0
  19. package/dist/date-picker-BidCGOz0.d.cts +74 -0
  20. package/dist/date-picker-CQoabjlj.cjs +600 -0
  21. package/dist/date-picker-CQoabjlj.cjs.map +1 -0
  22. package/dist/date-picker-DyvpYe29.d.ts +74 -0
  23. package/dist/date-picker-ucoEFnMW.js +577 -0
  24. package/dist/date-picker-ucoEFnMW.js.map +1 -0
  25. package/dist/date-picker.cjs +6 -0
  26. package/dist/date-picker.d.cts +3 -0
  27. package/dist/date-picker.d.ts +3 -0
  28. package/dist/date-picker.js +1 -0
  29. package/dist/date-range-picker-BQKcZeqG.cjs +489 -0
  30. package/dist/date-range-picker-BQKcZeqG.cjs.map +1 -0
  31. package/dist/date-range-picker-D3eNvlgv.d.ts +98 -0
  32. package/dist/date-range-picker-DAkCzVgT.js +466 -0
  33. package/dist/date-range-picker-DAkCzVgT.js.map +1 -0
  34. package/dist/date-range-picker-SIl0vhUV.d.cts +98 -0
  35. package/dist/date-range-picker.cjs +6 -0
  36. package/dist/date-range-picker.d.cts +2 -0
  37. package/dist/date-range-picker.d.ts +2 -0
  38. package/dist/date-range-picker.js +1 -0
  39. package/dist/date-time-picker-BqweOP2u.js +487 -0
  40. package/dist/date-time-picker-BqweOP2u.js.map +1 -0
  41. package/dist/date-time-picker-Bxfn-a9T.cjs +510 -0
  42. package/dist/date-time-picker-Bxfn-a9T.cjs.map +1 -0
  43. package/dist/date-time-picker-BzSyQxrf.d.cts +92 -0
  44. package/dist/date-time-picker-DzDpzLMZ.d.ts +92 -0
  45. package/dist/date-time-picker.cjs +6 -0
  46. package/dist/date-time-picker.d.cts +2 -0
  47. package/dist/date-time-picker.d.ts +2 -0
  48. package/dist/date-time-picker.js +1 -0
  49. package/dist/define-7natoEH4.js +18 -0
  50. package/dist/define-7natoEH4.js.map +1 -0
  51. package/dist/define-B8NUA3yj.d.cts +16 -0
  52. package/dist/define-B8NUA3yj.d.ts +16 -0
  53. package/dist/define-DTTdLfIM.cjs +23 -0
  54. package/dist/define-DTTdLfIM.cjs.map +1 -0
  55. package/dist/element-utils-BVye8UQq.d.cts +82 -0
  56. package/dist/element-utils-C-r5gPlk.d.ts +82 -0
  57. package/dist/index.cjs +30 -0
  58. package/dist/index.d.cts +8 -0
  59. package/dist/index.d.ts +8 -0
  60. package/dist/index.js +8 -0
  61. package/dist/multi-date-picker-B2mQbjZM.d.ts +105 -0
  62. package/dist/multi-date-picker-BMEYUPBa.cjs +462 -0
  63. package/dist/multi-date-picker-BMEYUPBa.cjs.map +1 -0
  64. package/dist/multi-date-picker-BUNf5zyJ.d.cts +105 -0
  65. package/dist/multi-date-picker-XCg8Y0sF.js +439 -0
  66. package/dist/multi-date-picker-XCg8Y0sF.js.map +1 -0
  67. package/dist/multi-date-picker.cjs +6 -0
  68. package/dist/multi-date-picker.d.cts +2 -0
  69. package/dist/multi-date-picker.d.ts +2 -0
  70. package/dist/multi-date-picker.js +1 -0
  71. package/dist/nepdate-picker.global.js +3 -0
  72. package/dist/nepdate-picker.global.js.map +1 -0
  73. package/dist/preset-list-CASwnwmS.js +45 -0
  74. package/dist/preset-list-CASwnwmS.js.map +1 -0
  75. package/dist/preset-list-Cs8H12Wp.cjs +50 -0
  76. package/dist/preset-list-Cs8H12Wp.cjs.map +1 -0
  77. package/dist/registry-3qzdVB7H.cjs +591 -0
  78. package/dist/registry-3qzdVB7H.cjs.map +1 -0
  79. package/dist/registry-BvkGnkvV.js +466 -0
  80. package/dist/registry-BvkGnkvV.js.map +1 -0
  81. package/package.json +159 -4
  82. package/src/auto-define.ts +6 -0
  83. package/src/calendar-element.ts +129 -0
  84. package/src/calendar-view.ts +406 -0
  85. package/src/calendar.ts +45 -0
  86. package/src/date-picker-element.ts +249 -0
  87. package/src/date-picker.ts +91 -0
  88. package/src/date-range-picker-element.ts +201 -0
  89. package/src/date-range-picker.ts +20 -0
  90. package/src/date-time-picker-element.ts +191 -0
  91. package/src/date-time-picker.ts +20 -0
  92. package/src/datetime-view.ts +459 -0
  93. package/src/define.ts +16 -0
  94. package/src/dom.ts +109 -0
  95. package/src/element-utils.ts +86 -0
  96. package/src/global.ts +7 -0
  97. package/src/index.ts +15 -0
  98. package/src/multi-date-picker-element.ts +187 -0
  99. package/src/multi-date-picker.ts +53 -0
  100. package/src/multi-view.ts +345 -0
  101. package/src/picker-view.ts +448 -0
  102. package/src/preset-list.ts +51 -0
  103. package/src/range-view.ts +393 -0
  104. package/src/registry.ts +27 -0
@@ -0,0 +1,92 @@
1
+ import { a as Theme, n as RichProps, t as Base } from "./element-utils-BVye8UQq.cjs";
2
+ import { PanelLayout } from "@nepdatejs/dom";
3
+ import { DateTimePickerOptions, DateTimePickerState, DateTimePickerStore } from "@nepdatejs/datepicker";
4
+ //#region src/datetime-view.d.ts
5
+ interface DateTimePickerViewOptions extends DateTimePickerOptions {
6
+ readonly name?: string | undefined;
7
+ readonly hiddenInput?: boolean | undefined;
8
+ readonly required?: boolean | undefined;
9
+ readonly disabled?: boolean | undefined;
10
+ /** 'sheet' opens a bottom sheet; 'popover' sits beside the field; 'auto' (default) uses the sheet below 480px. */
11
+ readonly panelLayout?: PanelLayout | undefined;
12
+ readonly theme?: Theme | undefined;
13
+ readonly ariaLabel?: string | undefined;
14
+ readonly timeLabel?: string | undefined;
15
+ readonly id?: string | undefined;
16
+ readonly onOpenChange?: ((open: boolean) => void) | undefined;
17
+ }
18
+ /** A date input and a time input sharing one panel: calendar plus hour/minute columns. */
19
+ declare class DateTimePickerView {
20
+ readonly store: DateTimePickerStore;
21
+ readonly dateInput: HTMLInputElement;
22
+ readonly timeInput: HTMLInputElement;
23
+ private options;
24
+ private readonly field;
25
+ private readonly row;
26
+ private readonly dateBox;
27
+ private readonly timeBox;
28
+ private readonly toggleButton;
29
+ private readonly hint;
30
+ private readonly panel;
31
+ private readonly segment;
32
+ private readonly nowButton;
33
+ private readonly doneButton;
34
+ private readonly hours;
35
+ private readonly minutes;
36
+ private readonly time;
37
+ private readonly hidden;
38
+ private readonly calendarView;
39
+ private readonly presetList;
40
+ private readonly unsubscribe;
41
+ private closePanel;
42
+ private wasOpen;
43
+ constructor(host: HTMLElement, options?: DateTimePickerViewOptions);
44
+ getState(): DateTimePickerState;
45
+ setOptions(changes: Partial<DateTimePickerViewOptions>): void;
46
+ open(): void;
47
+ close(): void;
48
+ destroy(): void;
49
+ private render;
50
+ private panelWidth;
51
+ private syncPanel;
52
+ private readonly onClick;
53
+ }
54
+ //#endregion
55
+ //#region src/date-time-picker-element.d.ts
56
+ /**
57
+ * <nep-date-time-picker name="starts-at" minute-step="15"></nep-date-time-picker>
58
+ *
59
+ * A form-associated BS/AD date + time field. The form receives one instant as
60
+ * an ISO timestamp with the zone's offset ("2026-10-18T14:30:00+05:45").
61
+ * Fires `change` with { value, ad, bs, time }.
62
+ */
63
+ declare class NepDateTimePickerElement extends Base {
64
+ static readonly formAssociated = true;
65
+ static readonly observedAttributes: readonly string[];
66
+ view: DateTimePickerView | null;
67
+ private readonly internals;
68
+ private rich;
69
+ private unsubscribe;
70
+ constructor();
71
+ get value(): string;
72
+ set value(next: string);
73
+ set holidays(next: RichProps["holidays"]);
74
+ set isDateDisabled(next: RichProps["isDateDisabled"]);
75
+ connectedCallback(): void;
76
+ disconnectedCallback(): void;
77
+ attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
78
+ formResetCallback(): void;
79
+ formDisabledCallback(disabled: boolean): void;
80
+ override focus(options?: FocusOptions): void;
81
+ private readOptions;
82
+ private syncForm;
83
+ }
84
+ //#endregion
85
+ //#region src/date-time-picker.d.ts
86
+ /** Register <nep-date-time-picker> (skipped if already defined). */
87
+ declare function defineDateTimePicker(registry?: CustomElementRegistry): void;
88
+ /** Mount a date + time picker into a container. */
89
+ declare function createDateTimePicker(container: HTMLElement, options?: DateTimePickerViewOptions): DateTimePickerView;
90
+ //#endregion
91
+ export { DateTimePickerViewOptions as a, DateTimePickerView as i, defineDateTimePicker as n, NepDateTimePickerElement as r, createDateTimePicker as t };
92
+ //# sourceMappingURL=date-time-picker-BzSyQxrf.d.cts.map
@@ -0,0 +1,92 @@
1
+ import { a as Theme, n as RichProps, t as Base } from "./element-utils-C-r5gPlk.js";
2
+ import { DateTimePickerOptions, DateTimePickerState, DateTimePickerStore } from "@nepdatejs/datepicker";
3
+ import { PanelLayout } from "@nepdatejs/dom";
4
+ //#region src/datetime-view.d.ts
5
+ interface DateTimePickerViewOptions extends DateTimePickerOptions {
6
+ readonly name?: string | undefined;
7
+ readonly hiddenInput?: boolean | undefined;
8
+ readonly required?: boolean | undefined;
9
+ readonly disabled?: boolean | undefined;
10
+ /** 'sheet' opens a bottom sheet; 'popover' sits beside the field; 'auto' (default) uses the sheet below 480px. */
11
+ readonly panelLayout?: PanelLayout | undefined;
12
+ readonly theme?: Theme | undefined;
13
+ readonly ariaLabel?: string | undefined;
14
+ readonly timeLabel?: string | undefined;
15
+ readonly id?: string | undefined;
16
+ readonly onOpenChange?: ((open: boolean) => void) | undefined;
17
+ }
18
+ /** A date input and a time input sharing one panel: calendar plus hour/minute columns. */
19
+ declare class DateTimePickerView {
20
+ readonly store: DateTimePickerStore;
21
+ readonly dateInput: HTMLInputElement;
22
+ readonly timeInput: HTMLInputElement;
23
+ private options;
24
+ private readonly field;
25
+ private readonly row;
26
+ private readonly dateBox;
27
+ private readonly timeBox;
28
+ private readonly toggleButton;
29
+ private readonly hint;
30
+ private readonly panel;
31
+ private readonly segment;
32
+ private readonly nowButton;
33
+ private readonly doneButton;
34
+ private readonly hours;
35
+ private readonly minutes;
36
+ private readonly time;
37
+ private readonly hidden;
38
+ private readonly calendarView;
39
+ private readonly presetList;
40
+ private readonly unsubscribe;
41
+ private closePanel;
42
+ private wasOpen;
43
+ constructor(host: HTMLElement, options?: DateTimePickerViewOptions);
44
+ getState(): DateTimePickerState;
45
+ setOptions(changes: Partial<DateTimePickerViewOptions>): void;
46
+ open(): void;
47
+ close(): void;
48
+ destroy(): void;
49
+ private render;
50
+ private panelWidth;
51
+ private syncPanel;
52
+ private readonly onClick;
53
+ }
54
+ //#endregion
55
+ //#region src/date-time-picker-element.d.ts
56
+ /**
57
+ * <nep-date-time-picker name="starts-at" minute-step="15"></nep-date-time-picker>
58
+ *
59
+ * A form-associated BS/AD date + time field. The form receives one instant as
60
+ * an ISO timestamp with the zone's offset ("2026-10-18T14:30:00+05:45").
61
+ * Fires `change` with { value, ad, bs, time }.
62
+ */
63
+ declare class NepDateTimePickerElement extends Base {
64
+ static readonly formAssociated = true;
65
+ static readonly observedAttributes: readonly string[];
66
+ view: DateTimePickerView | null;
67
+ private readonly internals;
68
+ private rich;
69
+ private unsubscribe;
70
+ constructor();
71
+ get value(): string;
72
+ set value(next: string);
73
+ set holidays(next: RichProps["holidays"]);
74
+ set isDateDisabled(next: RichProps["isDateDisabled"]);
75
+ connectedCallback(): void;
76
+ disconnectedCallback(): void;
77
+ attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
78
+ formResetCallback(): void;
79
+ formDisabledCallback(disabled: boolean): void;
80
+ override focus(options?: FocusOptions): void;
81
+ private readOptions;
82
+ private syncForm;
83
+ }
84
+ //#endregion
85
+ //#region src/date-time-picker.d.ts
86
+ /** Register <nep-date-time-picker> (skipped if already defined). */
87
+ declare function defineDateTimePicker(registry?: CustomElementRegistry): void;
88
+ /** Mount a date + time picker into a container. */
89
+ declare function createDateTimePicker$1(container: HTMLElement, options?: DateTimePickerViewOptions): DateTimePickerView;
90
+ //#endregion
91
+ export { DateTimePickerViewOptions as a, DateTimePickerView as i, defineDateTimePicker as n, NepDateTimePickerElement as r, createDateTimePicker$1 as t };
92
+ //# sourceMappingURL=date-time-picker-DzDpzLMZ.d.ts.map
@@ -0,0 +1,6 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_date_time_picker = require("./date-time-picker-Bxfn-a9T.cjs");
3
+ exports.DateTimePickerView = require_date_time_picker.DateTimePickerView;
4
+ exports.NepDateTimePickerElement = require_date_time_picker.NepDateTimePickerElement;
5
+ exports.createDateTimePicker = require_date_time_picker.createDateTimePicker;
6
+ exports.defineDateTimePicker = require_date_time_picker.defineDateTimePicker;
@@ -0,0 +1,2 @@
1
+ import { a as DateTimePickerViewOptions, i as DateTimePickerView, n as defineDateTimePicker, r as NepDateTimePickerElement, t as createDateTimePicker } from "./date-time-picker-BzSyQxrf.cjs";
2
+ export { DateTimePickerView, type DateTimePickerViewOptions, NepDateTimePickerElement, createDateTimePicker, defineDateTimePicker };
@@ -0,0 +1,2 @@
1
+ import { a as DateTimePickerViewOptions, i as DateTimePickerView, n as defineDateTimePicker, r as NepDateTimePickerElement, t as createDateTimePicker } from "./date-time-picker-DzDpzLMZ.js";
2
+ export { DateTimePickerView, type DateTimePickerViewOptions, NepDateTimePickerElement, createDateTimePicker, defineDateTimePicker };
@@ -0,0 +1 @@
1
+ export { i as DateTimePickerView, r as NepDateTimePickerElement, t as createDateTimePicker, n as defineDateTimePicker } from "./date-time-picker-BqweOP2u.js";
@@ -0,0 +1,18 @@
1
+ import { n as defineDatePicker } from "./date-picker-ucoEFnMW.js";
2
+ import { n as defineCalendar } from "./calendar-BAcO-jYq.js";
3
+ import { n as defineDateRangePicker } from "./date-range-picker-DAkCzVgT.js";
4
+ import { n as defineDateTimePicker } from "./date-time-picker-BqweOP2u.js";
5
+ import { n as defineMultiDatePicker } from "./multi-date-picker-XCg8Y0sF.js";
6
+ //#region src/define.ts
7
+ /** Register all five custom elements (skips any already defined). Safe to call more than once. */
8
+ function defineElements(registry) {
9
+ defineDatePicker(registry);
10
+ defineCalendar(registry);
11
+ defineDateRangePicker(registry);
12
+ defineDateTimePicker(registry);
13
+ defineMultiDatePicker(registry);
14
+ }
15
+ //#endregion
16
+ export { defineElements as t };
17
+
18
+ //# sourceMappingURL=define-7natoEH4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-7natoEH4.js","names":[],"sources":["../src/define.ts"],"sourcesContent":["import { defineCalendar } from './calendar';\nimport { defineDatePicker } from './date-picker';\nimport { defineDateRangePicker } from './date-range-picker';\nimport { defineDateTimePicker } from './date-time-picker';\nimport { defineMultiDatePicker } from './multi-date-picker';\n\nexport { ELEMENT_NAMES } from './registry';\n\n/** Register all five custom elements (skips any already defined). Safe to call more than once. */\nexport function defineElements(registry?: CustomElementRegistry): void {\n defineDatePicker(registry);\n defineCalendar(registry);\n defineDateRangePicker(registry);\n defineDateTimePicker(registry);\n defineMultiDatePicker(registry);\n}\n"],"mappings":";;;;;;;AASA,SAAgB,eAAe,UAAwC;CACrE,iBAAiB,QAAQ;CACzB,eAAe,QAAQ;CACvB,sBAAsB,QAAQ;CAC9B,qBAAqB,QAAQ;CAC7B,sBAAsB,QAAQ;AAChC"}
@@ -0,0 +1,16 @@
1
+ //#region src/registry.d.ts
2
+ /** The tag names this package registers. */
3
+ declare const ELEMENT_NAMES: {
4
+ readonly datePicker: "nep-date-picker";
5
+ readonly calendar: "nep-calendar";
6
+ readonly dateRangePicker: "nep-date-range-picker";
7
+ readonly dateTimePicker: "nep-date-time-picker";
8
+ readonly multiDatePicker: "nep-multi-date-picker";
9
+ };
10
+ //#endregion
11
+ //#region src/define.d.ts
12
+ /** Register all five custom elements (skips any already defined). Safe to call more than once. */
13
+ declare function defineElements(registry?: CustomElementRegistry): void;
14
+ //#endregion
15
+ export { ELEMENT_NAMES as n, defineElements as t };
16
+ //# sourceMappingURL=define-B8NUA3yj.d.cts.map
@@ -0,0 +1,16 @@
1
+ //#region src/registry.d.ts
2
+ /** The tag names this package registers. */
3
+ declare const ELEMENT_NAMES: {
4
+ readonly datePicker: "nep-date-picker";
5
+ readonly calendar: "nep-calendar";
6
+ readonly dateRangePicker: "nep-date-range-picker";
7
+ readonly dateTimePicker: "nep-date-time-picker";
8
+ readonly multiDatePicker: "nep-multi-date-picker";
9
+ };
10
+ //#endregion
11
+ //#region src/define.d.ts
12
+ /** Register all five custom elements (skips any already defined). Safe to call more than once. */
13
+ declare function defineElements(registry?: CustomElementRegistry): void;
14
+ //#endregion
15
+ export { ELEMENT_NAMES as n, defineElements as t };
16
+ //# sourceMappingURL=define-B8NUA3yj.d.ts.map
@@ -0,0 +1,23 @@
1
+ const require_date_picker = require("./date-picker-CQoabjlj.cjs");
2
+ const require_calendar = require("./calendar-C1LZI7XN.cjs");
3
+ const require_date_range_picker = require("./date-range-picker-BQKcZeqG.cjs");
4
+ const require_date_time_picker = require("./date-time-picker-Bxfn-a9T.cjs");
5
+ const require_multi_date_picker = require("./multi-date-picker-BMEYUPBa.cjs");
6
+ //#region src/define.ts
7
+ /** Register all five custom elements (skips any already defined). Safe to call more than once. */
8
+ function defineElements(registry) {
9
+ require_date_picker.defineDatePicker(registry);
10
+ require_calendar.defineCalendar(registry);
11
+ require_date_range_picker.defineDateRangePicker(registry);
12
+ require_date_time_picker.defineDateTimePicker(registry);
13
+ require_multi_date_picker.defineMultiDatePicker(registry);
14
+ }
15
+ //#endregion
16
+ Object.defineProperty(exports, "defineElements", {
17
+ enumerable: true,
18
+ get: function() {
19
+ return defineElements;
20
+ }
21
+ });
22
+
23
+ //# sourceMappingURL=define-DTTdLfIM.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-DTTdLfIM.cjs","names":[],"sources":["../src/define.ts"],"sourcesContent":["import { defineCalendar } from './calendar';\nimport { defineDatePicker } from './date-picker';\nimport { defineDateRangePicker } from './date-range-picker';\nimport { defineDateTimePicker } from './date-time-picker';\nimport { defineMultiDatePicker } from './multi-date-picker';\n\nexport { ELEMENT_NAMES } from './registry';\n\n/** Register all five custom elements (skips any already defined). Safe to call more than once. */\nexport function defineElements(registry?: CustomElementRegistry): void {\n defineDatePicker(registry);\n defineCalendar(registry);\n defineDateRangePicker(registry);\n defineDateTimePicker(registry);\n defineMultiDatePicker(registry);\n}\n"],"mappings":";;;;;;;AASA,SAAgB,eAAe,UAAwC;CACrE,oBAAA,iBAAiB,QAAQ;CACzB,iBAAA,eAAe,QAAQ;CACvB,0BAAA,sBAAsB,QAAQ;CAC9B,yBAAA,qBAAqB,QAAQ;CAC7B,0BAAA,sBAAsB,QAAQ;AAChC"}
@@ -0,0 +1,82 @@
1
+ import { EventMarker, HolidayInput, HolidayLookup } from "@nepdatejs/calendar";
2
+ import { CalendarDate } from "@nepdatejs/core";
3
+ import { PanelLayout } from "@nepdatejs/dom";
4
+ import { DatePickerOptions, DatePickerState, DatePickerStore } from "@nepdatejs/datepicker";
5
+ //#region src/picker-view.d.ts
6
+ type Theme = "light" | "dark" | "auto";
7
+ /** Everything the date picker DOM needs on top of the store's options. */
8
+ interface DatePickerViewOptions extends DatePickerOptions {
9
+ /** Submit the AD value with a plain form under this name (hidden input). */
10
+ readonly name?: string | undefined;
11
+ /** Render a hidden input for `name`. Off for the form-associated custom element. */
12
+ readonly hiddenInput?: boolean | undefined;
13
+ readonly id?: string | undefined;
14
+ readonly placeholder?: string | undefined;
15
+ readonly required?: boolean | undefined;
16
+ readonly disabled?: boolean | undefined;
17
+ /** Show the × button. Default true. */
18
+ readonly clearable?: boolean | undefined;
19
+ /** Show the same day in the other calendar under the field. Default true. */
20
+ readonly showEquivalent?: boolean | undefined;
21
+ /** 'sheet' opens a bottom sheet; 'popover' sits beside the field; 'auto' (default) uses the sheet below 480px. */
22
+ readonly panelLayout?: PanelLayout | undefined;
23
+ readonly theme?: Theme | undefined;
24
+ /** Remember the viewer's BS/AD choice in localStorage under this key. */
25
+ readonly persistCalendar?: string | undefined;
26
+ readonly ariaLabel?: string | undefined;
27
+ readonly onOpenChange?: ((open: boolean) => void) | undefined;
28
+ /** Called on every keystroke with the current text. */
29
+ readonly onInput?: ((text: string) => void) | undefined;
30
+ }
31
+ /**
32
+ * The date picker field and panel, rendered with the @nepdatejs/styles markup
33
+ * into `host`. Used by <nep-date-picker> and by createDatePicker().
34
+ */
35
+ declare class DatePickerView {
36
+ readonly store: DatePickerStore;
37
+ readonly input: HTMLInputElement;
38
+ private options;
39
+ private readonly field;
40
+ private readonly box;
41
+ private readonly clearButton;
42
+ private readonly switchButton;
43
+ private readonly toggleButton;
44
+ private readonly hint;
45
+ private readonly panel;
46
+ private readonly segment;
47
+ private readonly todayButton;
48
+ private readonly hidden;
49
+ private readonly calendarView;
50
+ private readonly presetList;
51
+ private readonly unsubscribe;
52
+ private closePanel;
53
+ private wasOpen;
54
+ constructor(host: HTMLElement, options?: DatePickerViewOptions);
55
+ getState(): DatePickerState;
56
+ /** Change view or store options. Unknown keys are ignored. */
57
+ setOptions(changes: Partial<DatePickerViewOptions>): void;
58
+ open(): void;
59
+ close(): void;
60
+ destroy(): void;
61
+ private render;
62
+ private panelWidth;
63
+ private syncPanel;
64
+ private readonly onTextInput;
65
+ private readonly onInputKeyDown;
66
+ private readonly onClick;
67
+ private remember;
68
+ private restoreCalendar;
69
+ }
70
+ //#endregion
71
+ //#region src/element-utils.d.ts
72
+ /** Lets this module load during server rendering, where HTMLElement does not exist. */
73
+ declare const Base: typeof HTMLElement;
74
+ /** Options that cannot be attributes: functions and lists. Set them as properties. */
75
+ interface RichProps {
76
+ holidays?: readonly HolidayInput[] | HolidayLookup | undefined;
77
+ events?: ((date: CalendarDate) => readonly EventMarker[]) | undefined;
78
+ isDateDisabled?: ((date: CalendarDate) => boolean) | undefined;
79
+ }
80
+ //#endregion
81
+ export { Theme as a, DatePickerViewOptions as i, RichProps as n, DatePickerView as r, Base as t };
82
+ //# sourceMappingURL=element-utils-BVye8UQq.d.cts.map
@@ -0,0 +1,82 @@
1
+ import { CalendarDate } from "@nepdatejs/core";
2
+ import { DatePickerOptions, DatePickerState, DatePickerStore } from "@nepdatejs/datepicker";
3
+ import { PanelLayout } from "@nepdatejs/dom";
4
+ import { EventMarker, HolidayInput, HolidayLookup } from "@nepdatejs/calendar";
5
+ //#region src/picker-view.d.ts
6
+ type Theme = "light" | "dark" | "auto";
7
+ /** Everything the date picker DOM needs on top of the store's options. */
8
+ interface DatePickerViewOptions extends DatePickerOptions {
9
+ /** Submit the AD value with a plain form under this name (hidden input). */
10
+ readonly name?: string | undefined;
11
+ /** Render a hidden input for `name`. Off for the form-associated custom element. */
12
+ readonly hiddenInput?: boolean | undefined;
13
+ readonly id?: string | undefined;
14
+ readonly placeholder?: string | undefined;
15
+ readonly required?: boolean | undefined;
16
+ readonly disabled?: boolean | undefined;
17
+ /** Show the × button. Default true. */
18
+ readonly clearable?: boolean | undefined;
19
+ /** Show the same day in the other calendar under the field. Default true. */
20
+ readonly showEquivalent?: boolean | undefined;
21
+ /** 'sheet' opens a bottom sheet; 'popover' sits beside the field; 'auto' (default) uses the sheet below 480px. */
22
+ readonly panelLayout?: PanelLayout | undefined;
23
+ readonly theme?: Theme | undefined;
24
+ /** Remember the viewer's BS/AD choice in localStorage under this key. */
25
+ readonly persistCalendar?: string | undefined;
26
+ readonly ariaLabel?: string | undefined;
27
+ readonly onOpenChange?: ((open: boolean) => void) | undefined;
28
+ /** Called on every keystroke with the current text. */
29
+ readonly onInput?: ((text: string) => void) | undefined;
30
+ }
31
+ /**
32
+ * The date picker field and panel, rendered with the @nepdatejs/styles markup
33
+ * into `host`. Used by <nep-date-picker> and by createDatePicker().
34
+ */
35
+ declare class DatePickerView {
36
+ readonly store: DatePickerStore;
37
+ readonly input: HTMLInputElement;
38
+ private options;
39
+ private readonly field;
40
+ private readonly box;
41
+ private readonly clearButton;
42
+ private readonly switchButton;
43
+ private readonly toggleButton;
44
+ private readonly hint;
45
+ private readonly panel;
46
+ private readonly segment;
47
+ private readonly todayButton;
48
+ private readonly hidden;
49
+ private readonly calendarView;
50
+ private readonly presetList;
51
+ private readonly unsubscribe;
52
+ private closePanel;
53
+ private wasOpen;
54
+ constructor(host: HTMLElement, options?: DatePickerViewOptions);
55
+ getState(): DatePickerState;
56
+ /** Change view or store options. Unknown keys are ignored. */
57
+ setOptions(changes: Partial<DatePickerViewOptions>): void;
58
+ open(): void;
59
+ close(): void;
60
+ destroy(): void;
61
+ private render;
62
+ private panelWidth;
63
+ private syncPanel;
64
+ private readonly onTextInput;
65
+ private readonly onInputKeyDown;
66
+ private readonly onClick;
67
+ private remember;
68
+ private restoreCalendar;
69
+ }
70
+ //#endregion
71
+ //#region src/element-utils.d.ts
72
+ /** Lets this module load during server rendering, where HTMLElement does not exist. */
73
+ declare const Base: typeof HTMLElement;
74
+ /** Options that cannot be attributes: functions and lists. Set them as properties. */
75
+ interface RichProps {
76
+ holidays?: readonly HolidayInput[] | HolidayLookup | undefined;
77
+ events?: ((date: CalendarDate) => readonly EventMarker[]) | undefined;
78
+ isDateDisabled?: ((date: CalendarDate) => boolean) | undefined;
79
+ }
80
+ //#endregion
81
+ export { Theme as a, DatePickerViewOptions as i, RichProps as n, DatePickerView as r, Base as t };
82
+ //# sourceMappingURL=element-utils-C-r5gPlk.d.ts.map
package/dist/index.cjs ADDED
@@ -0,0 +1,30 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_registry = require("./registry-3qzdVB7H.cjs");
3
+ const require_date_picker = require("./date-picker-CQoabjlj.cjs");
4
+ const require_calendar = require("./calendar-C1LZI7XN.cjs");
5
+ const require_date_range_picker = require("./date-range-picker-BQKcZeqG.cjs");
6
+ const require_date_time_picker = require("./date-time-picker-Bxfn-a9T.cjs");
7
+ const require_multi_date_picker = require("./multi-date-picker-BMEYUPBa.cjs");
8
+ const require_define = require("./define-DTTdLfIM.cjs");
9
+ exports.CalendarView = require_registry.CalendarView;
10
+ exports.DatePickerView = require_date_picker.DatePickerView;
11
+ exports.DateRangePickerView = require_date_range_picker.DateRangePickerView;
12
+ exports.DateTimePickerView = require_date_time_picker.DateTimePickerView;
13
+ exports.ELEMENT_NAMES = require_registry.ELEMENT_NAMES;
14
+ exports.MultiDatePickerView = require_multi_date_picker.MultiDatePickerView;
15
+ exports.NepCalendarElement = require_calendar.NepCalendarElement;
16
+ exports.NepDatePickerElement = require_date_picker.NepDatePickerElement;
17
+ exports.NepDateRangePickerElement = require_date_range_picker.NepDateRangePickerElement;
18
+ exports.NepDateTimePickerElement = require_date_time_picker.NepDateTimePickerElement;
19
+ exports.NepMultiDatePickerElement = require_multi_date_picker.NepMultiDatePickerElement;
20
+ exports.createCalendar = require_calendar.createCalendar;
21
+ exports.createDatePicker = require_date_picker.createDatePicker;
22
+ exports.createDateRangePicker = require_date_range_picker.createDateRangePicker;
23
+ exports.createDateTimePicker = require_date_time_picker.createDateTimePicker;
24
+ exports.createMultiDatePicker = require_multi_date_picker.createMultiDatePicker;
25
+ exports.defineCalendar = require_calendar.defineCalendar;
26
+ exports.defineDatePicker = require_date_picker.defineDatePicker;
27
+ exports.defineDateRangePicker = require_date_range_picker.defineDateRangePicker;
28
+ exports.defineDateTimePicker = require_date_time_picker.defineDateTimePicker;
29
+ exports.defineElements = require_define.defineElements;
30
+ exports.defineMultiDatePicker = require_multi_date_picker.defineMultiDatePicker;
@@ -0,0 +1,8 @@
1
+ import { n as ELEMENT_NAMES, t as defineElements } from "./define-B8NUA3yj.cjs";
2
+ import { a as Theme, i as DatePickerViewOptions, r as DatePickerView } from "./element-utils-BVye8UQq.cjs";
3
+ import { a as CalendarViewOptions, i as CalendarView, n as createCalendar, o as NepCalendarElement, r as defineCalendar, t as CalendarHandle } from "./calendar-QWPX0IfD.cjs";
4
+ import { i as NepDatePickerElement, n as createDatePicker, r as defineDatePicker, t as DatePickerHandle } from "./date-picker-BidCGOz0.cjs";
5
+ import { a as DateRangePickerViewOptions, i as DateRangePickerView, n as defineDateRangePicker, r as NepDateRangePickerElement, t as createDateRangePicker } from "./date-range-picker-SIl0vhUV.cjs";
6
+ import { a as DateTimePickerViewOptions, i as DateTimePickerView, n as defineDateTimePicker, r as NepDateTimePickerElement, t as createDateTimePicker } from "./date-time-picker-BzSyQxrf.cjs";
7
+ import { a as MultiDatePickerView, i as NepMultiDatePickerElement, n as createMultiDatePicker, o as MultiDatePickerViewOptions, r as defineMultiDatePicker, t as MultiDatePickerHandle } from "./multi-date-picker-BUNf5zyJ.cjs";
8
+ export { CalendarHandle, CalendarView, type CalendarViewOptions, DatePickerHandle, DatePickerView, type DatePickerViewOptions, DateRangePickerView, type DateRangePickerViewOptions, DateTimePickerView, type DateTimePickerViewOptions, ELEMENT_NAMES, MultiDatePickerHandle, MultiDatePickerView, type MultiDatePickerViewOptions, NepCalendarElement, NepDatePickerElement, NepDateRangePickerElement, NepDateTimePickerElement, NepMultiDatePickerElement, type Theme, createCalendar, createDatePicker, createDateRangePicker, createDateTimePicker, createMultiDatePicker, defineCalendar, defineDatePicker, defineDateRangePicker, defineDateTimePicker, defineElements, defineMultiDatePicker };
@@ -0,0 +1,8 @@
1
+ import { n as ELEMENT_NAMES, t as defineElements } from "./define-B8NUA3yj.js";
2
+ import { a as Theme, i as DatePickerViewOptions, r as DatePickerView } from "./element-utils-C-r5gPlk.js";
3
+ import { a as CalendarViewOptions, i as CalendarView, n as createCalendar, o as NepCalendarElement, r as defineCalendar, t as CalendarHandle } from "./calendar-BNdN8qJv.js";
4
+ import { i as NepDatePickerElement, n as createDatePicker, r as defineDatePicker, t as DatePickerHandle } from "./date-picker-DyvpYe29.js";
5
+ import { a as DateRangePickerViewOptions, i as DateRangePickerView, n as defineDateRangePicker, r as NepDateRangePickerElement, t as createDateRangePicker } from "./date-range-picker-D3eNvlgv.js";
6
+ import { a as DateTimePickerViewOptions, i as DateTimePickerView, n as defineDateTimePicker, r as NepDateTimePickerElement, t as createDateTimePicker } from "./date-time-picker-DzDpzLMZ.js";
7
+ import { a as MultiDatePickerView, i as NepMultiDatePickerElement, n as createMultiDatePicker, o as MultiDatePickerViewOptions, r as defineMultiDatePicker, t as MultiDatePickerHandle } from "./multi-date-picker-B2mQbjZM.js";
8
+ export { CalendarHandle, CalendarView, type CalendarViewOptions, DatePickerHandle, DatePickerView, type DatePickerViewOptions, DateRangePickerView, type DateRangePickerViewOptions, DateTimePickerView, type DateTimePickerViewOptions, ELEMENT_NAMES, MultiDatePickerHandle, MultiDatePickerView, type MultiDatePickerViewOptions, NepCalendarElement, NepDatePickerElement, NepDateRangePickerElement, NepDateTimePickerElement, NepMultiDatePickerElement, type Theme, createCalendar, createDatePicker, createDateRangePicker, createDateTimePicker, createMultiDatePicker, defineCalendar, defineDatePicker, defineDateRangePicker, defineDateTimePicker, defineElements, defineMultiDatePicker };
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import { h as CalendarView, t as ELEMENT_NAMES } from "./registry-BvkGnkvV.js";
2
+ import { i as DatePickerView, n as defineDatePicker, r as NepDatePickerElement, t as createDatePicker } from "./date-picker-ucoEFnMW.js";
3
+ import { n as defineCalendar, r as NepCalendarElement, t as createCalendar } from "./calendar-BAcO-jYq.js";
4
+ import { i as DateRangePickerView, n as defineDateRangePicker, r as NepDateRangePickerElement, t as createDateRangePicker } from "./date-range-picker-DAkCzVgT.js";
5
+ import { i as DateTimePickerView, n as defineDateTimePicker, r as NepDateTimePickerElement, t as createDateTimePicker } from "./date-time-picker-BqweOP2u.js";
6
+ import { i as MultiDatePickerView, n as defineMultiDatePicker, r as NepMultiDatePickerElement, t as createMultiDatePicker } from "./multi-date-picker-XCg8Y0sF.js";
7
+ import { t as defineElements } from "./define-7natoEH4.js";
8
+ export { CalendarView, DatePickerView, DateRangePickerView, DateTimePickerView, ELEMENT_NAMES, MultiDatePickerView, NepCalendarElement, NepDatePickerElement, NepDateRangePickerElement, NepDateTimePickerElement, NepMultiDatePickerElement, createCalendar, createDatePicker, createDateRangePicker, createDateTimePicker, createMultiDatePicker, defineCalendar, defineDatePicker, defineDateRangePicker, defineDateTimePicker, defineElements, defineMultiDatePicker };
@@ -0,0 +1,105 @@
1
+ import { a as Theme, n as RichProps, t as Base } from "./element-utils-C-r5gPlk.js";
2
+ import { MultiDatePickerOptions, MultiDatePickerState, MultiDatePickerStore } from "@nepdatejs/datepicker";
3
+ import { PanelLayout } from "@nepdatejs/dom";
4
+ //#region src/multi-view.d.ts
5
+ /** Everything the multiple-date picker DOM needs on top of the store's options. */
6
+ interface MultiDatePickerViewOptions extends MultiDatePickerOptions {
7
+ /** Submit each day under this name (one hidden input per day). */
8
+ readonly name?: string | undefined;
9
+ /** Render hidden inputs for `name`. Off for the form-associated custom element. */
10
+ readonly hiddenInput?: boolean | undefined;
11
+ readonly id?: string | undefined;
12
+ readonly placeholder?: string | undefined;
13
+ readonly required?: boolean | undefined;
14
+ readonly disabled?: boolean | undefined;
15
+ /** Show the × button. Default true. */
16
+ readonly clearable?: boolean | undefined;
17
+ /** 'sheet' opens a bottom sheet; 'popover' sits beside the field; 'auto' (default) uses the sheet below 480px. */
18
+ readonly panelLayout?: PanelLayout | undefined;
19
+ readonly theme?: Theme | undefined;
20
+ readonly ariaLabel?: string | undefined;
21
+ readonly onOpenChange?: ((open: boolean) => void) | undefined;
22
+ }
23
+ /**
24
+ * The multiple-date picker field and panel (PICK-001), rendered with the
25
+ * @nepdatejs/styles markup into `host`. Used by <nep-multi-date-picker> and by
26
+ * createMultiDatePicker().
27
+ */
28
+ declare class MultiDatePickerView {
29
+ readonly store: MultiDatePickerStore;
30
+ readonly input: HTMLInputElement;
31
+ private options;
32
+ private readonly field;
33
+ private readonly box;
34
+ private readonly clearButton;
35
+ private readonly toggleButton;
36
+ private readonly hint;
37
+ private readonly panel;
38
+ private readonly segment;
39
+ private readonly doneButton;
40
+ private readonly hiddenInputs;
41
+ private readonly calendarView;
42
+ private readonly unsubscribe;
43
+ private closePanel;
44
+ private wasOpen;
45
+ constructor(host: HTMLElement, options?: MultiDatePickerViewOptions);
46
+ getState(): MultiDatePickerState;
47
+ /** Change view or store options. Unknown keys are ignored. */
48
+ setOptions(changes: Partial<MultiDatePickerViewOptions>): void;
49
+ open(): void;
50
+ close(): void;
51
+ destroy(): void;
52
+ private render;
53
+ private syncPanel;
54
+ private readonly onClick;
55
+ }
56
+ //#endregion
57
+ //#region src/multi-date-picker-element.d.ts
58
+ /**
59
+ * <nep-multi-date-picker name="holidays" value="2026-10-18,2026-10-20"></nep-multi-date-picker>
60
+ *
61
+ * A form-associated field for several separate BS/AD days (PICK-001). The form
62
+ * receives one entry per day under `name`, each an AD "YYYY-MM-DD". Fires
63
+ * `change` with { value: string[], dates: { ad, bs }[] }.
64
+ */
65
+ declare class NepMultiDatePickerElement extends Base {
66
+ static readonly formAssociated = true;
67
+ static readonly observedAttributes: readonly string[];
68
+ view: MultiDatePickerView | null;
69
+ private readonly internals;
70
+ private rich;
71
+ private unsubscribe;
72
+ constructor();
73
+ get value(): readonly string[];
74
+ set value(next: readonly string[]);
75
+ set holidays(next: RichProps["holidays"]);
76
+ set events(next: RichProps["events"]);
77
+ set isDateDisabled(next: RichProps["isDateDisabled"]);
78
+ connectedCallback(): void;
79
+ disconnectedCallback(): void;
80
+ attributeChangedCallback(name: string, previous: string | null, next: string | null): void;
81
+ formResetCallback(): void;
82
+ formDisabledCallback(disabled: boolean): void;
83
+ override focus(options?: FocusOptions): void;
84
+ private readOptions;
85
+ private syncForm;
86
+ }
87
+ //#endregion
88
+ //#region src/multi-date-picker.d.ts
89
+ /** Register <nep-multi-date-picker> (skipped if already defined). */
90
+ declare function defineMultiDatePicker(registry?: CustomElementRegistry): void;
91
+ interface MultiDatePickerHandle {
92
+ readonly view: MultiDatePickerView;
93
+ getValue(): readonly string[];
94
+ getState(): MultiDatePickerState;
95
+ setValue(value: readonly string[]): void;
96
+ setOptions(changes: Partial<MultiDatePickerViewOptions>): void;
97
+ open(): void;
98
+ close(): void;
99
+ destroy(): void;
100
+ }
101
+ /** Mount a multiple-date picker into a container, without custom elements. */
102
+ declare function createMultiDatePicker$1(container: HTMLElement, options?: MultiDatePickerViewOptions): MultiDatePickerHandle;
103
+ //#endregion
104
+ export { MultiDatePickerView as a, NepMultiDatePickerElement as i, createMultiDatePicker$1 as n, MultiDatePickerViewOptions as o, defineMultiDatePicker as r, MultiDatePickerHandle as t };
105
+ //# sourceMappingURL=multi-date-picker-B2mQbjZM.d.ts.map