@namroodinc/liquid-editorial 0.1.7 → 0.1.8

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 (96) hide show
  1. package/AGENTS.md +2 -0
  2. package/UPGRADING.md +25 -0
  3. package/dist/chunks/Board-BLhB5_xx.cjs +2 -0
  4. package/dist/chunks/Board-BLhB5_xx.cjs.map +1 -0
  5. package/dist/chunks/Board-BTFSzn6c.js +239 -0
  6. package/dist/chunks/Board-BTFSzn6c.js.map +1 -0
  7. package/dist/chunks/EntryEditor-CcyYtH74.js +191 -0
  8. package/dist/chunks/EntryEditor-CcyYtH74.js.map +1 -0
  9. package/dist/chunks/EntryEditor-DIpc1iPF.cjs +2 -0
  10. package/dist/chunks/EntryEditor-DIpc1iPF.cjs.map +1 -0
  11. package/dist/chunks/{RichTextEditor-DC_0oN1s.cjs → RichTextEditor-BxtlbjXj.cjs} +2 -2
  12. package/dist/chunks/RichTextEditor-BxtlbjXj.cjs.map +1 -0
  13. package/dist/chunks/{RichTextEditor-CSpjsL1z.js → RichTextEditor-Dnx4i7bQ.js} +104 -93
  14. package/dist/chunks/RichTextEditor-Dnx4i7bQ.js.map +1 -0
  15. package/dist/chunks/mergeRefs-Bc3qS0Tt.cjs +2 -0
  16. package/dist/chunks/mergeRefs-Bc3qS0Tt.cjs.map +1 -0
  17. package/dist/chunks/mergeRefs-DGM402mE.js +10 -0
  18. package/dist/chunks/mergeRefs-DGM402mE.js.map +1 -0
  19. package/dist/components/Board/index.cjs +1 -2
  20. package/dist/components/Board/index.d.cts.map +1 -1
  21. package/dist/components/Board/index.d.ts.map +1 -1
  22. package/dist/components/Board/index.js +1 -231
  23. package/dist/components/Board/keyboard.d.cts +7 -0
  24. package/dist/components/Board/keyboard.d.cts.map +1 -0
  25. package/dist/components/Board/keyboard.d.ts +7 -0
  26. package/dist/components/Board/keyboard.d.ts.map +1 -0
  27. package/dist/components/Board/keyboard.test.d.cts +2 -0
  28. package/dist/components/Board/keyboard.test.d.cts.map +1 -0
  29. package/dist/components/Board/keyboard.test.d.ts +2 -0
  30. package/dist/components/Board/keyboard.test.d.ts.map +1 -0
  31. package/dist/components/Board/moves.d.cts +5 -0
  32. package/dist/components/Board/moves.d.cts.map +1 -0
  33. package/dist/components/Board/moves.d.ts +5 -0
  34. package/dist/components/Board/moves.d.ts.map +1 -0
  35. package/dist/components/Board/moves.test.d.cts +2 -0
  36. package/dist/components/Board/moves.test.d.cts.map +1 -0
  37. package/dist/components/Board/moves.test.d.ts +2 -0
  38. package/dist/components/Board/moves.test.d.ts.map +1 -0
  39. package/dist/components/DatePicker/index.cjs +1 -1
  40. package/dist/components/DatePicker/index.cjs.map +1 -1
  41. package/dist/components/DatePicker/index.d.cts.map +1 -1
  42. package/dist/components/DatePicker/index.d.ts.map +1 -1
  43. package/dist/components/DatePicker/index.js +39 -36
  44. package/dist/components/DatePicker/index.js.map +1 -1
  45. package/dist/components/Drawer/index.cjs +1 -1
  46. package/dist/components/Drawer/index.cjs.map +1 -1
  47. package/dist/components/Drawer/index.d.cts.map +1 -1
  48. package/dist/components/Drawer/index.d.ts.map +1 -1
  49. package/dist/components/Drawer/index.js +69 -62
  50. package/dist/components/Drawer/index.js.map +1 -1
  51. package/dist/components/EntryEditor/index.cjs +1 -1
  52. package/dist/components/EntryEditor/index.d.cts.map +1 -1
  53. package/dist/components/EntryEditor/index.d.ts.map +1 -1
  54. package/dist/components/EntryEditor/index.js +1 -1
  55. package/dist/components/EntryEditor/model.d.cts.map +1 -1
  56. package/dist/components/EntryEditor/model.d.ts.map +1 -1
  57. package/dist/components/Pagination/index.cjs +1 -1
  58. package/dist/components/Pagination/index.cjs.map +1 -1
  59. package/dist/components/Pagination/index.js +1 -1
  60. package/dist/components/Pagination/index.js.map +1 -1
  61. package/dist/components/Pagination/style.css +0 -1
  62. package/dist/components/RichTextEditor/index.cjs +1 -1
  63. package/dist/components/RichTextEditor/index.d.cts.map +1 -1
  64. package/dist/components/RichTextEditor/index.d.ts.map +1 -1
  65. package/dist/components/RichTextEditor/index.js +1 -1
  66. package/dist/components/Select/index.cjs +1 -1
  67. package/dist/components/Select/index.cjs.map +1 -1
  68. package/dist/components/Select/index.d.cts.map +1 -1
  69. package/dist/components/Select/index.d.ts.map +1 -1
  70. package/dist/components/Select/index.js +32 -18
  71. package/dist/components/Select/index.js.map +1 -1
  72. package/dist/components/SortableList/index.cjs +1 -1
  73. package/dist/components/SortableList/index.cjs.map +1 -1
  74. package/dist/components/SortableList/index.d.cts.map +1 -1
  75. package/dist/components/SortableList/index.d.ts.map +1 -1
  76. package/dist/components/SortableList/index.js +49 -50
  77. package/dist/components/SortableList/index.js.map +1 -1
  78. package/dist/index.cjs +1 -1
  79. package/dist/index.js +4 -4
  80. package/dist/internal/mergeRefs.d.cts +4 -0
  81. package/dist/internal/mergeRefs.d.cts.map +1 -0
  82. package/dist/internal/mergeRefs.d.ts +4 -0
  83. package/dist/internal/mergeRefs.d.ts.map +1 -0
  84. package/dist/test/dragEvent.d.cts +3 -0
  85. package/dist/test/dragEvent.d.cts.map +1 -0
  86. package/dist/test/dragEvent.d.ts +3 -0
  87. package/dist/test/dragEvent.d.ts.map +1 -0
  88. package/package.json +2 -2
  89. package/dist/chunks/EntryEditor-C32lKKnV.cjs +0 -2
  90. package/dist/chunks/EntryEditor-C32lKKnV.cjs.map +0 -1
  91. package/dist/chunks/EntryEditor-xVuiqtFo.js +0 -181
  92. package/dist/chunks/EntryEditor-xVuiqtFo.js.map +0 -1
  93. package/dist/chunks/RichTextEditor-CSpjsL1z.js.map +0 -1
  94. package/dist/chunks/RichTextEditor-DC_0oN1s.cjs.map +0 -1
  95. package/dist/components/Board/index.cjs.map +0 -1
  96. package/dist/components/Board/index.js.map +0 -1
@@ -1,231 +1 @@
1
- import { t as e } from "../../chunks/Icon-CGY1FNXT.js";
2
- import { Button as t } from "../Button/index.js";
3
- import { createContext as n, forwardRef as r, useCallback as i, useContext as a, useId as o, useMemo as s, useState as c } from "react";
4
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
5
- import { DndContext as d, DragOverlay as f, KeyboardSensor as p, MeasuringStrategy as m, PointerSensor as h, closestCorners as g, pointerWithin as _, useDroppable as v, useSensor as y, useSensors as b } from "@dnd-kit/core";
6
- import { SortableContext as x, horizontalListSortingStrategy as S, sortableKeyboardCoordinates as C, useSortable as w, verticalListSortingStrategy as T } from "@dnd-kit/sortable";
7
- import { CSS as E } from "@dnd-kit/utilities";
8
- //#region src/components/Board/index.tsx
9
- var D = (e, t) => {
10
- let { currentCoordinates: n, context: r } = t;
11
- if (e.code === "ArrowLeft" || e.code === "ArrowRight") {
12
- let t = r.droppableContainers.getEnabled().filter((e) => e.data.current?.type === "column-body").sort((e, t) => (e.rect.current?.left ?? 0) - (t.rect.current?.left ?? 0)), i = r.active?.rect.current.translated;
13
- if (!i) return;
14
- let a = t[t.findIndex((e) => (e.rect.current?.left ?? 0) <= i.left + 1 && (e.rect.current?.right ?? 0) >= i.left - 1) + (e.code === "ArrowRight" ? 1 : -1)]?.rect.current;
15
- return a ? (e.preventDefault(), {
16
- x: a.left + a.width / 2 - i.width / 2,
17
- y: n.y
18
- }) : void 0;
19
- }
20
- return C(e, t);
21
- }, O = (e) => {
22
- let t = e.active.data.current?.type === "column", n = e.droppableContainers.filter((e) => {
23
- let n = e.data.current?.type;
24
- return t ? n === "column" : n !== "column";
25
- }), r = {
26
- ...e,
27
- droppableContainers: n
28
- };
29
- if (t) return g(r);
30
- let i = _(r);
31
- if (i.length > 0) {
32
- let e = (e) => n.find((t) => t.id === e)?.data.current?.type === "card" ? 0 : 1;
33
- return [...i].sort((t, n) => e(t.id) - e(n.id));
34
- }
35
- return g(r);
36
- }, k = n({
37
- activeId: null,
38
- activeType: null,
39
- overColumnId: null
40
- }), A = r(function({ columnIds: t, onMove: n, onColumnMove: r, renderDragOverlay: a, renderColumnDragOverlay: g, className: _, children: v, ...C }, w) {
41
- let T = o(), [E, A] = c(null), [j, M] = c(null), [N, P] = c(null), F = b(y(h, { activationConstraint: { distance: 4 } }), y(p, { coordinateGetter: D })), I = i((e) => {
42
- A(String(e.active.id)), M(e.active.data.current?.type === "column" ? "column" : "card");
43
- }, []), L = i((e) => {
44
- let t = e.over;
45
- if (!t) {
46
- P(null);
47
- return;
48
- }
49
- let n = t.data.current ?? {}, r = n.type === "column" ? String(t.id) : String(n.columnId ?? "");
50
- P(r || null);
51
- }, []), R = i(() => {
52
- A(null), M(null), P(null);
53
- }, []), z = i((e) => {
54
- let { active: i, over: a } = e;
55
- if (R(), !a) return;
56
- let o = i.data.current ?? {}, s = a.data.current ?? {};
57
- if (o.type === "column") {
58
- let e = t ?? [], n = s.type === "column" ? String(a.id) : String(s.columnId ?? ""), o = e.indexOf(n);
59
- if (o < 0 || n === String(i.id)) return;
60
- r?.({
61
- columnId: String(i.id),
62
- toIndex: o
63
- });
64
- return;
65
- }
66
- let c = String(o.columnId ?? ""), l = "", u = 0;
67
- s.type === "card" ? (l = String(s.columnId ?? ""), u = s.sortable?.index ?? 0) : (l = String(s.columnId ?? a.id), u = (s.items ?? []).length), l && (c !== l || String(i.id) !== String(a.id)) && n?.({
68
- cardId: String(i.id),
69
- fromColumnId: c,
70
- toColumnId: l,
71
- toIndex: u
72
- });
73
- }, [
74
- t,
75
- r,
76
- n,
77
- R
78
- ]), B = s(() => ({
79
- activeId: E,
80
- activeType: j,
81
- overColumnId: N
82
- }), [
83
- E,
84
- j,
85
- N
86
- ]), V = /* @__PURE__ */ l("div", {
87
- ref: w,
88
- className: ["ds-board", _].filter(Boolean).join(" "),
89
- ...C,
90
- children: v
91
- });
92
- return /* @__PURE__ */ l(k.Provider, {
93
- value: B,
94
- children: /* @__PURE__ */ u(d, {
95
- id: `ds-board-${T}`,
96
- sensors: F,
97
- collisionDetection: O,
98
- measuring: { droppable: { strategy: m.Always } },
99
- onDragStart: I,
100
- onDragOver: L,
101
- onDragEnd: z,
102
- onDragCancel: R,
103
- children: [t ? /* @__PURE__ */ l(x, {
104
- items: t,
105
- strategy: S,
106
- children: V
107
- }) : V, /* @__PURE__ */ u(f, { children: [E && j === "card" ? /* @__PURE__ */ u("div", {
108
- className: "ds-board-card",
109
- "data-overlay": !0,
110
- children: [/* @__PURE__ */ l("span", {
111
- className: "ds-board-card__handle",
112
- "aria-hidden": "true",
113
- children: /* @__PURE__ */ l(e, { name: "grip-vertical" })
114
- }), /* @__PURE__ */ l("div", {
115
- className: "ds-board-card__content",
116
- children: a?.(E)
117
- })]
118
- }) : null, E && j === "column" ? /* @__PURE__ */ l("div", {
119
- className: "ds-board-column",
120
- "data-overlay": !0,
121
- children: g?.(E)
122
- }) : null] })]
123
- })
124
- });
125
- }), j = r(function({ id: e, title: n, itemIds: r, count: i, action: o, isDraggable: s = !0, className: c, children: d, ...f }, p) {
126
- let { activeType: m, overColumnId: h } = a(k), { setNodeRef: g } = v({
127
- id: `${e}::body`,
128
- data: {
129
- type: "column-body",
130
- columnId: e,
131
- items: r
132
- }
133
- }), { attributes: _, listeners: y, setNodeRef: b, transform: S, transition: C, isDragging: D } = w({
134
- id: e,
135
- disabled: !s,
136
- data: {
137
- type: "column",
138
- columnId: e,
139
- items: r
140
- }
141
- });
142
- return /* @__PURE__ */ u("section", {
143
- ref: (e) => {
144
- b(e), typeof p == "function" ? p(e) : p && (p.current = e);
145
- },
146
- style: {
147
- transform: E.Translate.toString(S),
148
- transition: C
149
- },
150
- className: ["ds-board-column", c].filter(Boolean).join(" "),
151
- "data-over": m === "card" && h === e || void 0,
152
- "data-dragging": D || void 0,
153
- "aria-label": n,
154
- ...f,
155
- children: [
156
- s && /* @__PURE__ */ l(t, {
157
- variant: "simple",
158
- size: "sm",
159
- iconStart: "grip-horizontal",
160
- className: "ds-board-column__grip",
161
- "aria-label": `Reorder ${n}`,
162
- ..._,
163
- ...y
164
- }),
165
- /* @__PURE__ */ u("header", {
166
- className: "ds-board-column__head",
167
- children: [
168
- /* @__PURE__ */ l("span", {
169
- className: "ds-board-column__title",
170
- children: n
171
- }),
172
- /* @__PURE__ */ l("span", {
173
- className: "ds-board-column__count",
174
- children: i ?? r.length
175
- }),
176
- o && /* @__PURE__ */ l("span", {
177
- className: "ds-board-column__action",
178
- children: o
179
- })
180
- ]
181
- }),
182
- /* @__PURE__ */ l("div", {
183
- ref: g,
184
- className: "ds-board-column__body",
185
- children: /* @__PURE__ */ l(x, {
186
- items: r,
187
- strategy: T,
188
- children: d
189
- })
190
- })
191
- ]
192
- });
193
- }), M = r(function({ id: e, columnId: n, label: r, className: i, children: o, ...s }, c) {
194
- let { attributes: d, listeners: f, setNodeRef: p, transform: m, transition: h, isDragging: g } = w({
195
- id: e,
196
- data: {
197
- type: "card",
198
- columnId: n
199
- }
200
- }), { activeId: _ } = a(k);
201
- return /* @__PURE__ */ u("div", {
202
- ref: (e) => {
203
- p(e), typeof c == "function" ? c(e) : c && (c.current = e);
204
- },
205
- style: {
206
- transform: E.Translate.toString(m),
207
- transition: h
208
- },
209
- className: ["ds-board-card", i].filter(Boolean).join(" "),
210
- "data-dragging": g || void 0,
211
- "data-idle": _ && _ !== e ? "" : void 0,
212
- ...s,
213
- children: [/* @__PURE__ */ l(t, {
214
- variant: "simple",
215
- size: "sm",
216
- isIconOnly: !0,
217
- iconStart: "grip-vertical",
218
- className: "ds-board-card__handle",
219
- "aria-label": r ? `Move ${r}` : "Move card",
220
- ...d,
221
- ...f
222
- }), /* @__PURE__ */ l("div", {
223
- className: "ds-board-card__content",
224
- children: o
225
- })]
226
- });
227
- });
228
- //#endregion
229
- export { A as Board, M as BoardCard, j as BoardColumn };
230
-
231
- //# sourceMappingURL=index.js.map
1
+ export { t as Board, n as BoardCard, r as BoardColumn } from "../../chunks/Board-BTFSzn6c.js";
@@ -0,0 +1,7 @@
1
+ import type { KeyboardCoordinateGetter } from "@dnd-kit/core";
2
+ /**
3
+ * Arrow up/down sorts inside a lane; left/right jumps lanes, which the stock
4
+ * sortable getter does not do.
5
+ */
6
+ export declare const boardCoordinateGetter: KeyboardCoordinateGetter;
7
+ //# sourceMappingURL=keyboard.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.d.cts","sourceRoot":"","sources":["../../../src/components/Board/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,wBAoBnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { KeyboardCoordinateGetter } from "@dnd-kit/core";
2
+ /**
3
+ * Arrow up/down sorts inside a lane; left/right jumps lanes, which the stock
4
+ * sortable getter does not do.
5
+ */
6
+ export declare const boardCoordinateGetter: KeyboardCoordinateGetter;
7
+ //# sourceMappingURL=keyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/components/Board/keyboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,wBAoBnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyboard.test.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.test.d.cts","sourceRoot":"","sources":["../../../src/components/Board/keyboard.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyboard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.test.d.ts","sourceRoot":"","sources":["../../../src/components/Board/keyboard.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { DragEndEvent } from "@dnd-kit/core";
2
+ import type { BoardColumnMove, BoardMove } from ".";
3
+ export declare function columnMove({ active, over }: DragEndEvent, columnIds: string[]): BoardColumnMove | undefined;
4
+ export declare function cardMove({ active, over }: DragEndEvent): BoardMove | undefined;
5
+ //# sourceMappingURL=moves.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moves.d.cts","sourceRoot":"","sources":["../../../src/components/Board/moves.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAEpD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,eAAe,GAAG,SAAS,CAO3G;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAa9E"}
@@ -0,0 +1,5 @@
1
+ import type { DragEndEvent } from "@dnd-kit/core";
2
+ import type { BoardColumnMove, BoardMove } from ".";
3
+ export declare function columnMove({ active, over }: DragEndEvent, columnIds: string[]): BoardColumnMove | undefined;
4
+ export declare function cardMove({ active, over }: DragEndEvent): BoardMove | undefined;
5
+ //# sourceMappingURL=moves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moves.d.ts","sourceRoot":"","sources":["../../../src/components/Board/moves.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAEpD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,eAAe,GAAG,SAAS,CAO3G;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAa9E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=moves.test.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moves.test.d.cts","sourceRoot":"","sources":["../../../src/components/Board/moves.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=moves.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moves.test.d.ts","sourceRoot":"","sources":["../../../src/components/Board/moves.test.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Icon-CWsA1W83.cjs"),t=require("../Button/index.cjs");;/* empty css */const n=require("../Popover/index.cjs");let r=require("react"),i=require("react/jsx-runtime");function a(...e){return e.filter(Boolean).join(` `)}var o=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`];function s(e){let t=`${e.getMonth()+1}`.padStart(2,`0`),n=`${e.getDate()}`.padStart(2,`0`);return`${e.getFullYear()}-${t}-${n}`}function c(e){if(!e||!/^\d{4}-\d{2}-\d{2}$/.test(e))return null;let[t,n,r]=e.split(`-`).map(Number);if(!t||!n||!r)return null;let i=new Date(t,n-1,r);return Number.isNaN(i.getTime())||s(i)!==e?null:i}function l(e){let t=c(e);return t?t.toLocaleDateString(`en-GB`,{day:`numeric`,month:`long`,year:`numeric`}):``}function u(e){return e.toLocaleDateString(`en-GB`,{month:`long`,year:`numeric`})}function d(e){let t=new Date(e.getFullYear(),e.getMonth(),1),n=(t.getDay()+6)%7;return new Date(t.getFullYear(),t.getMonth(),1-n)}var f=(0,r.forwardRef)(function({value:e,endValue:n,onSelect:f,min:p,max:m,className:h,...g},_){let v=c(e),[y,b]=(0,r.useState)(()=>v??new Date),[x,S]=(0,r.useState)(()=>e??s(new Date)),C=(0,r.useRef)(null),w=(0,r.useRef)(!1);(0,r.useEffect)(()=>{let t=c(e);t&&(S(e),b(new Date(t.getFullYear(),t.getMonth(),1)))},[e]),(0,r.useEffect)(()=>{w.current&&(w.current=!1,C.current?.querySelector(`[data-focused]`)?.focus())},[x]);let T=Array.from({length:42},(e,t)=>{let n=d(y);return new Date(n.getFullYear(),n.getMonth(),n.getDate()+t)}),E=s(new Date),D=e=>{let t=new Date(y.getFullYear(),y.getMonth()+e,1);b(t),S(s(t))},O=e=>{let t=c(x)??new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+e);w.current=!0,S(s(n)),b(new Date(n.getFullYear(),n.getMonth(),1))},k=e=>{let t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7,PageUp:-28,PageDown:28}[e.key];t!==void 0&&(e.preventDefault(),O(t))};return(0,i.jsxs)(`div`,{ref:_,className:a(`ds-calendar`,h),...g,children:[(0,i.jsxs)(`div`,{className:`ds-calendar__head`,children:[(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-left`,"aria-label":`Previous month`,onClick:()=>D(-1)}),(0,i.jsx)(`span`,{className:`ds-calendar__month`,children:u(y)}),(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-right`,"aria-label":`Next month`,onClick:()=>D(1)})]}),(0,i.jsx)(`div`,{className:`ds-calendar__weekdays`,"aria-hidden":`true`,children:o.map(e=>(0,i.jsx)(`span`,{children:e.slice(0,2)},e))}),(0,i.jsx)(`div`,{ref:C,className:`ds-calendar__grid`,role:`grid`,onKeyDown:k,children:Array.from({length:6},(r,a)=>(0,i.jsx)(`div`,{role:`row`,className:`ds-calendar__row`,children:T.slice(a*7,a*7+7).map(r=>{let a=s(r),o=r.getMonth()!==y.getMonth(),c=p&&a<p||m&&a>m,u=!!(e&&n&&a>e&&a<n),d=a===e||a===n;return(0,i.jsx)(t.Button,{variant:d?`primary`:u?`active`:a===E?`neutral`:`simple`,size:`sm`,isIconOnly:!0,role:`gridcell`,"aria-label":l(a),tabIndex:a===x?0:-1,isDisabled:!!c,"aria-selected":d||void 0,"data-outside":o||void 0,"data-today":a===E||void 0,"data-in-range":u||void 0,"data-focused":a===x||void 0,className:`ds-calendar__day`,onClick:()=>{S(a),f?.(a)},children:r.getDate()},a)})},a))})]})});function p({value:o,defaultValue:s=``,onValueChange:c,size:u=`md`,placeholder:d=`Pick a date`,min:p,max:m,isDisabled:h=!1,isInvalid:g=!1,"aria-invalid":_,id:v,className:y,...b}){let[x,S]=(0,r.useState)(s),C=o??x,[w,T]=(0,r.useState)(!1),E=(0,r.useRef)(null),D=(0,r.useRef)(null),O=(0,r.useRef)(null),k=(0,r.useId)(),A=v??k;return(0,r.useEffect)(()=>{if(!w)return;let e=e=>{let t=e.target;!E.current?.contains(t)&&!O.current?.contains(t)&&T(!1)},t=e=>{e.key===`Escape`&&(e.preventDefault(),T(!1),D.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[w]),(0,i.jsxs)(`div`,{className:a(`ds-datefield`,y),ref:E,children:[(0,i.jsxs)(t.Button,{...b,ref:D,id:A,size:u,"aria-haspopup":`dialog`,"aria-expanded":w,"aria-invalid":g||_||void 0,isDisabled:h,"data-placeholder":C?void 0:``,className:`ds-field-skin ds-datefield__control`,onClick:()=>T(e=>!e),children:[(0,i.jsx)(`span`,{className:`ds-datefield__value`,children:C?l(C):d}),(0,i.jsx)(e.t,{name:`calendar`,size:16,className:`ds-datefield__glyph`})]}),(0,i.jsx)(n.Popover,{anchorRef:D,anchorId:A,isOpen:w,panelRef:O,className:`ds-datefield__popover`,role:`dialog`,"aria-label":`Choose a date`,children:(0,i.jsx)(f,{value:C,min:p,max:m,onSelect:e=>{o===void 0&&S(e),c?.(e),T(!1),D.current?.focus()}})})]})}function m({value:e,defaultValue:t={start:``,end:``},onValueChange:n,size:o=`md`,min:s,max:c,isDisabled:l=!1,startLabel:u=`Start date`,endLabel:d=`End date`,className:f}){let[m,h]=(0,r.useState)(t),g=e??m,_=t=>{e===void 0&&h(t),n?.(t)};return(0,i.jsxs)(`div`,{className:a(`ds-daterange`,f),children:[(0,i.jsx)(p,{"aria-label":u,size:o,value:g.start,min:s,max:g.end||c,isDisabled:l,placeholder:u,onValueChange:e=>_({...g,start:e})}),(0,i.jsx)(`span`,{className:`ds-daterange__dash`,"aria-hidden":`true`,children:`–`}),(0,i.jsx)(p,{"aria-label":d,size:o,value:g.end,min:g.start||s,max:c,isDisabled:l,placeholder:d,onValueChange:e=>_({...g,end:e})})]})}exports.Calendar=f,exports.DateField=p,exports.DateRangeField=m,exports.formatIsoDate=l;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Icon-CWsA1W83.cjs"),t=require("../Button/index.cjs");;/* empty css */const n=require("../Popover/index.cjs");let r=require("react"),i=require("react/jsx-runtime");function a(...e){return e.filter(Boolean).join(` `)}var o=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`];function s(e){let t=`${e.getMonth()+1}`.padStart(2,`0`),n=`${e.getDate()}`.padStart(2,`0`);return`${e.getFullYear()}-${t}-${n}`}function c(e){if(!e||!/^\d{4}-\d{2}-\d{2}$/.test(e))return null;let[t,n,r]=e.split(`-`).map(Number);if(!t||!n||!r)return null;let i=new Date(t,n-1,r);return Number.isNaN(i.getTime())||s(i)!==e?null:i}function l(e){let t=c(e);return t?t.toLocaleDateString(`en-GB`,{day:`numeric`,month:`long`,year:`numeric`}):``}function u(e){return e.toLocaleDateString(`en-GB`,{month:`long`,year:`numeric`})}function d(e){let t=new Date(e.getFullYear(),e.getMonth(),1),n=(t.getDay()+6)%7;return new Date(t.getFullYear(),t.getMonth(),1-n)}function f(e,t,n){return e?`primary`:t?`active`:n?`neutral`:`simple`}var p=(0,r.forwardRef)(function({value:e,endValue:n,onSelect:p,min:m,max:h,className:g,..._},v){let y=c(e),[b,x]=(0,r.useState)(()=>y??new Date),[S,C]=(0,r.useState)(()=>e??s(new Date)),w=(0,r.useRef)(null),T=(0,r.useRef)(!1);(0,r.useEffect)(()=>{let t=c(e);t&&(C(e),x(new Date(t.getFullYear(),t.getMonth(),1)))},[e]),(0,r.useEffect)(()=>{T.current&&(T.current=!1,w.current?.querySelector(`[data-focused]`)?.focus())},[S]);let E=Array.from({length:42},(e,t)=>{let n=d(b);return new Date(n.getFullYear(),n.getMonth(),n.getDate()+t)}),D=s(new Date),O=e=>{let t=new Date(b.getFullYear(),b.getMonth()+e,1);x(t),C(s(t))},k=e=>{let t=c(S)??new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+e);T.current=!0,C(s(n)),x(new Date(n.getFullYear(),n.getMonth(),1))},A=e=>{let t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7,PageUp:-28,PageDown:28}[e.key];t!==void 0&&(e.preventDefault(),k(t))};return(0,i.jsxs)(`div`,{ref:v,className:a(`ds-calendar`,g),..._,children:[(0,i.jsxs)(`div`,{className:`ds-calendar__head`,children:[(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-left`,"aria-label":`Previous month`,onClick:()=>O(-1)}),(0,i.jsx)(`span`,{className:`ds-calendar__month`,children:u(b)}),(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-right`,"aria-label":`Next month`,onClick:()=>O(1)})]}),(0,i.jsx)(`div`,{className:`ds-calendar__weekdays`,"aria-hidden":`true`,children:o.map(e=>(0,i.jsx)(`span`,{children:e.slice(0,2)},e))}),(0,i.jsx)(`div`,{ref:w,className:`ds-calendar__grid`,role:`grid`,onKeyDown:A,children:Array.from({length:6},(r,a)=>(0,i.jsx)(`div`,{role:`row`,className:`ds-calendar__row`,children:E.slice(a*7,a*7+7).map(r=>{let a=s(r),o=r.getMonth()!==b.getMonth(),c=m&&a<m||h&&a>h,u=!!(e&&n&&a>e&&a<n),d=a===e||a===n;return(0,i.jsx)(t.Button,{variant:f(d,u,a===D),size:`sm`,isIconOnly:!0,role:`gridcell`,"aria-label":l(a),tabIndex:a===S?0:-1,isDisabled:!!c,"aria-selected":d||void 0,"data-outside":o||void 0,"data-today":a===D||void 0,"data-in-range":u||void 0,"data-focused":a===S||void 0,className:`ds-calendar__day`,onClick:()=>{C(a),p?.(a)},children:r.getDate()},a)})},a))})]})});function m({value:o,defaultValue:s=``,onValueChange:c,size:u=`md`,placeholder:d=`Pick a date`,min:f,max:m,isDisabled:h=!1,isInvalid:g=!1,"aria-invalid":_,id:v,className:y,...b}){let[x,S]=(0,r.useState)(s),C=o??x,[w,T]=(0,r.useState)(!1),E=(0,r.useRef)(null),D=(0,r.useRef)(null),O=(0,r.useRef)(null),k=(0,r.useId)(),A=v??k;return(0,r.useEffect)(()=>{if(!w)return;let e=e=>{let t=e.target;!E.current?.contains(t)&&!O.current?.contains(t)&&T(!1)},t=e=>{e.key===`Escape`&&(e.preventDefault(),T(!1),D.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[w]),(0,i.jsxs)(`div`,{className:a(`ds-datefield`,y),ref:E,children:[(0,i.jsxs)(t.Button,{...b,ref:D,id:A,size:u,"aria-haspopup":`dialog`,"aria-expanded":w,"aria-invalid":g||_||void 0,isDisabled:h,"data-placeholder":C?void 0:``,className:`ds-field-skin ds-datefield__control`,onClick:()=>T(e=>!e),children:[(0,i.jsx)(`span`,{className:`ds-datefield__value`,children:C?l(C):d}),(0,i.jsx)(e.t,{name:`calendar`,size:16,className:`ds-datefield__glyph`})]}),(0,i.jsx)(n.Popover,{anchorRef:D,anchorId:A,isOpen:w,panelRef:O,className:`ds-datefield__popover`,role:`dialog`,"aria-label":`Choose a date`,children:(0,i.jsx)(p,{value:C,min:f,max:m,onSelect:e=>{o===void 0&&S(e),c?.(e),T(!1),D.current?.focus()}})})]})}function h({value:e,defaultValue:t={start:``,end:``},onValueChange:n,size:o=`md`,min:s,max:c,isDisabled:l=!1,startLabel:u=`Start date`,endLabel:d=`End date`,className:f}){let[p,h]=(0,r.useState)(t),g=e??p,_=t=>{e===void 0&&h(t),n?.(t)};return(0,i.jsxs)(`div`,{className:a(`ds-daterange`,f),children:[(0,i.jsx)(m,{"aria-label":u,size:o,value:g.start,min:s,max:g.end||c,isDisabled:l,placeholder:u,onValueChange:e=>_({...g,start:e})}),(0,i.jsx)(`span`,{className:`ds-daterange__dash`,"aria-hidden":`true`,children:`–`}),(0,i.jsx)(m,{"aria-label":d,size:o,value:g.end,min:g.start||s,max:c,isDisabled:l,placeholder:d,onValueChange:e=>_({...g,end:e})})]})}exports.Calendar=p,exports.DateField=m,exports.DateRangeField=h,exports.formatIsoDate=l;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["forwardRef","useState","useRef","Button","useId","Icon","Popover","require_Icon","require_components_Button_index","require_components_Popover_index","react","react_jsx_runtime","cx","parts","WEEKDAYS","toIso","month","date","day","fromIso","value","year","formatIsoDate","monthLabel","startOfGrid","first","weekday","Calendar","rest","selected","setMonth","focused","setFocused","gridRef","shouldFocus","next","days","start","index","today","changeMonth","delta","move","base","deltaDays","onKeyDown","event","className","rowIndex","iso","isOutside","isDisabled","min","max","inRange","endValue","isEdge","onSelect","DateField","ariaInvalid","internal","setInternal","defaultValue","current","isOpen","setOpen","rootRef","triggerRef","panelRef","generatedId","triggerId","id","onPointerDown","target","isInvalid","open","placeholder","onValueChange","DateRangeField","commit","startLabel","endLabel"],"sources":["../../../src/components/DatePicker/index.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useRef,\n useState,\n type HTMLAttributes,\n type AriaAttributes,\n} from \"react\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Popover } from \"../Popover\";\nimport type { FieldSize } from \"../Field\";\nimport \"../Field/style.css\";\nimport \"./style.css\";\n\nfunction cx(...parts: (string | undefined | false)[]) {\n return parts.filter(Boolean).join(\" \");\n}\n\n/** ISO calendar date, \"YYYY-MM-DD\" — the only date shape the system passes around. */\nexport type IsoDate = string;\n\nconst WEEKDAYS = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nfunction toIso(date: Date): IsoDate {\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const day = `${date.getDate()}`.padStart(2, \"0\");\n return `${date.getFullYear()}-${month}-${day}`;\n}\n\nfunction fromIso(value: string | undefined): Date | null {\n if (!value || !/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) return null;\n const [year, month, day] = value.split(\"-\").map(Number);\n if (!year || !month || !day) return null;\n const date = new Date(year, month - 1, day);\n return Number.isNaN(date.getTime()) || toIso(date) !== value ? null : date;\n}\n\n/** \"12 March 2026\" — the system's one long date format. */\nexport function formatIsoDate(value: string | undefined): string {\n const date = fromIso(value);\n if (!date) return \"\";\n return date.toLocaleDateString(\"en-GB\", { day: \"numeric\", month: \"long\", year: \"numeric\" });\n}\n\nfunction monthLabel(date: Date) {\n return date.toLocaleDateString(\"en-GB\", { month: \"long\", year: \"numeric\" });\n}\n\nfunction startOfGrid(month: Date) {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const weekday = (first.getDay() + 6) % 7; // Monday-first\n return new Date(first.getFullYear(), first.getMonth(), 1 - weekday);\n}\n\nexport interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Selected day, or the start of a selected span. */\n value?: IsoDate;\n /** End of a selected span. Set it to put the calendar in range mode. */\n endValue?: IsoDate;\n onSelect?: (value: IsoDate) => void;\n min?: IsoDate;\n max?: IsoDate;\n}\n\n/**\n * A month of days, Monday first. Arrow keys walk the grid; the month follows\n * the focused day, so a whole year is reachable from the keyboard.\n */\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\n { value, endValue, onSelect, min, max, className, ...rest },\n ref,\n) {\n const selected = fromIso(value);\n const [month, setMonth] = useState(() => selected ?? new Date());\n const [focused, setFocused] = useState<IsoDate>(() => value ?? toIso(new Date()));\n const gridRef = useRef<HTMLDivElement | null>(null);\n const shouldFocus = useRef(false);\n\n useEffect(() => {\n const next = fromIso(value);\n if (!next) return;\n // Controlled changes intentionally reposition the visible and roving-focus month.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setFocused(value!);\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n }, [value]);\n\n useEffect(() => {\n if (!shouldFocus.current) return;\n shouldFocus.current = false;\n gridRef.current?.querySelector<HTMLButtonElement>(\"[data-focused]\")?.focus();\n }, [focused]);\n\n const days = Array.from({ length: 42 }, (_, index) => {\n const start = startOfGrid(month);\n return new Date(start.getFullYear(), start.getMonth(), start.getDate() + index);\n });\n\n const today = toIso(new Date());\n\n const changeMonth = (delta: number) => {\n const next = new Date(month.getFullYear(), month.getMonth() + delta, 1);\n setMonth(next);\n setFocused(toIso(next));\n };\n\n const move = (deltaDays: number) => {\n const base = fromIso(focused) ?? new Date();\n const next = new Date(base.getFullYear(), base.getMonth(), base.getDate() + deltaDays);\n shouldFocus.current = true;\n setFocused(toIso(next));\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const steps: Record<string, number> = {\n ArrowLeft: -1,\n ArrowRight: 1,\n ArrowUp: -7,\n ArrowDown: 7,\n PageUp: -28,\n PageDown: 28,\n };\n const delta = steps[event.key];\n if (delta === undefined) return;\n event.preventDefault();\n move(delta);\n };\n\n return (\n <div ref={ref} className={cx(\"ds-calendar\", className)} {...rest}>\n <div className=\"ds-calendar__head\">\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-left\"\n aria-label=\"Previous month\"\n onClick={() => changeMonth(-1)}\n />\n <span className=\"ds-calendar__month\">{monthLabel(month)}</span>\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-right\"\n aria-label=\"Next month\"\n onClick={() => changeMonth(1)}\n />\n </div>\n <div className=\"ds-calendar__weekdays\" aria-hidden=\"true\">\n {WEEKDAYS.map((day) => (\n <span key={day}>{day.slice(0, 2)}</span>\n ))}\n </div>\n <div ref={gridRef} className=\"ds-calendar__grid\" role=\"grid\" onKeyDown={onKeyDown}>\n {Array.from({ length: 6 }, (_, rowIndex) => (\n <div role=\"row\" className=\"ds-calendar__row\" key={rowIndex}>\n {days.slice(rowIndex * 7, rowIndex * 7 + 7).map((day) => {\n const iso = toIso(day);\n const isOutside = day.getMonth() !== month.getMonth();\n const isDisabled = (min && iso < min) || (max && iso > max);\n const inRange = Boolean(value && endValue && iso > value && iso < endValue);\n const isEdge = iso === value || iso === endValue;\n return (\n <Button\n key={iso}\n variant={isEdge ? \"primary\" : inRange ? \"active\" : iso === today ? \"neutral\" : \"simple\"}\n size=\"sm\"\n isIconOnly\n role=\"gridcell\"\n aria-label={formatIsoDate(iso)}\n tabIndex={iso === focused ? 0 : -1}\n isDisabled={Boolean(isDisabled)}\n aria-selected={isEdge || undefined}\n data-outside={isOutside || undefined}\n data-today={iso === today || undefined}\n data-in-range={inRange || undefined}\n data-focused={iso === focused || undefined}\n className=\"ds-calendar__day\"\n onClick={() => {\n setFocused(iso);\n onSelect?.(iso);\n }}\n >\n {day.getDate()}\n </Button>\n );\n })}\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport interface DateFieldProps {\n value?: IsoDate;\n defaultValue?: IsoDate;\n onValueChange?: (value: IsoDate) => void;\n size?: FieldSize;\n placeholder?: string;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n isInvalid?: boolean;\n id?: string;\n className?: string;\n \"aria-label\"?: string;\n \"aria-describedby\"?: string;\n \"aria-invalid\"?: AriaAttributes[\"aria-invalid\"];\n}\n\n/** One day, picked from a calendar. The field prints the long date, never a mask. */\nexport function DateField({\n value,\n defaultValue = \"\",\n onValueChange,\n size = \"md\",\n placeholder = \"Pick a date\",\n min,\n max,\n isDisabled = false,\n isInvalid = false,\n \"aria-invalid\": ariaInvalid,\n id,\n className,\n ...rest\n}: DateFieldProps) {\n const [internal, setInternal] = useState<IsoDate>(defaultValue);\n const current = value ?? internal;\n const [isOpen, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const panelRef = useRef<HTMLDivElement | null>(null);\n const generatedId = useId();\n const triggerId = id ?? generatedId;\n\n useEffect(() => {\n if (!isOpen) return;\n const onPointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n if (!rootRef.current?.contains(target) && !panelRef.current?.contains(target)) setOpen(false);\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n document.addEventListener(\"mousedown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"mousedown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div className={cx(\"ds-datefield\", className)} ref={rootRef}>\n <Button\n {...rest}\n ref={triggerRef}\n id={triggerId}\n size={size}\n aria-haspopup=\"dialog\"\n aria-expanded={isOpen}\n aria-invalid={isInvalid || ariaInvalid || undefined}\n isDisabled={isDisabled}\n data-placeholder={current ? undefined : \"\"}\n className=\"ds-field-skin ds-datefield__control\"\n onClick={() => setOpen((open) => !open)}\n >\n <span className=\"ds-datefield__value\">{current ? formatIsoDate(current) : placeholder}</span>\n <Icon name=\"calendar\" size={16} className=\"ds-datefield__glyph\" />\n </Button>\n <Popover\n anchorRef={triggerRef}\n anchorId={triggerId}\n isOpen={isOpen}\n panelRef={panelRef}\n className=\"ds-datefield__popover\"\n role=\"dialog\"\n aria-label=\"Choose a date\"\n >\n <Calendar\n value={current}\n min={min}\n max={max}\n onSelect={(next) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n setOpen(false);\n triggerRef.current?.focus();\n }}\n />\n </Popover>\n </div>\n );\n}\n\nexport interface DateRangeValue {\n start: IsoDate;\n end: IsoDate;\n}\n\nexport interface DateRangeFieldProps {\n value?: DateRangeValue;\n defaultValue?: DateRangeValue;\n onValueChange?: (value: DateRangeValue) => void;\n size?: FieldSize;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n startLabel?: string;\n endLabel?: string;\n className?: string;\n}\n\n/** A span of days. The end field never offers a day before the start. */\nexport function DateRangeField({\n value,\n defaultValue = { start: \"\", end: \"\" },\n onValueChange,\n size = \"md\",\n min,\n max,\n isDisabled = false,\n startLabel = \"Start date\",\n endLabel = \"End date\",\n className,\n}: DateRangeFieldProps) {\n const [internal, setInternal] = useState<DateRangeValue>(defaultValue);\n const current = value ?? internal;\n\n const commit = (next: DateRangeValue) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n };\n\n return (\n <div className={cx(\"ds-daterange\", className)}>\n <DateField\n aria-label={startLabel}\n size={size}\n value={current.start}\n min={min}\n max={current.end || max}\n isDisabled={isDisabled}\n placeholder={startLabel}\n onValueChange={(next) => commit({ ...current, start: next })}\n />\n <span className=\"ds-daterange__dash\" aria-hidden=\"true\">\n –\n </span>\n <DateField\n aria-label={endLabel}\n size={size}\n value={current.end}\n min={current.start || min}\n max={max}\n isDisabled={isDisabled}\n placeholder={endLabel}\n onValueChange={(next) => commit({ ...current, end: next })}\n />\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["forwardRef","useState","useRef","Button","useId","Icon","Popover","require_Icon","require_components_Button_index","require_components_Popover_index","react","react_jsx_runtime","cx","parts","WEEKDAYS","toIso","month","date","day","fromIso","value","year","formatIsoDate","monthLabel","startOfGrid","first","weekday","dayVariant","isEdge","inRange","isToday","Calendar","rest","selected","setMonth","focused","setFocused","gridRef","shouldFocus","next","days","start","index","today","changeMonth","delta","move","base","deltaDays","onKeyDown","event","className","rowIndex","iso","isOutside","isDisabled","min","max","endValue","onSelect","DateField","ariaInvalid","internal","setInternal","defaultValue","current","isOpen","setOpen","rootRef","triggerRef","panelRef","generatedId","triggerId","id","onPointerDown","target","isInvalid","open","placeholder","onValueChange","DateRangeField","commit","startLabel","endLabel"],"sources":["../../../src/components/DatePicker/index.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useRef,\n useState,\n type HTMLAttributes,\n type AriaAttributes,\n} from \"react\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Popover } from \"../Popover\";\nimport type { FieldSize } from \"../Field\";\nimport \"../Field/style.css\";\nimport \"./style.css\";\n\nfunction cx(...parts: (string | undefined | false)[]) {\n return parts.filter(Boolean).join(\" \");\n}\n\n/** ISO calendar date, \"YYYY-MM-DD\" — the only date shape the system passes around. */\nexport type IsoDate = string;\n\nconst WEEKDAYS = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nfunction toIso(date: Date): IsoDate {\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const day = `${date.getDate()}`.padStart(2, \"0\");\n return `${date.getFullYear()}-${month}-${day}`;\n}\n\nfunction fromIso(value: string | undefined): Date | null {\n if (!value || !/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) return null;\n const [year, month, day] = value.split(\"-\").map(Number);\n if (!year || !month || !day) return null;\n const date = new Date(year, month - 1, day);\n return Number.isNaN(date.getTime()) || toIso(date) !== value ? null : date;\n}\n\n/** \"12 March 2026\" — the system's one long date format. */\nexport function formatIsoDate(value: string | undefined): string {\n const date = fromIso(value);\n if (!date) return \"\";\n return date.toLocaleDateString(\"en-GB\", { day: \"numeric\", month: \"long\", year: \"numeric\" });\n}\n\nfunction monthLabel(date: Date) {\n return date.toLocaleDateString(\"en-GB\", { month: \"long\", year: \"numeric\" });\n}\n\nfunction startOfGrid(month: Date) {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const weekday = (first.getDay() + 6) % 7; // Monday-first\n return new Date(first.getFullYear(), first.getMonth(), 1 - weekday);\n}\n\nfunction dayVariant(isEdge: boolean, inRange: boolean, isToday: boolean) {\n if (isEdge) return \"primary\";\n if (inRange) return \"active\";\n return isToday ? \"neutral\" : \"simple\";\n}\n\nexport interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Selected day, or the start of a selected span. */\n value?: IsoDate;\n /** End of a selected span. Set it to put the calendar in range mode. */\n endValue?: IsoDate;\n onSelect?: (value: IsoDate) => void;\n min?: IsoDate;\n max?: IsoDate;\n}\n\n/**\n * A month of days, Monday first. Arrow keys walk the grid; the month follows\n * the focused day, so a whole year is reachable from the keyboard.\n */\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\n { value, endValue, onSelect, min, max, className, ...rest },\n ref,\n) {\n const selected = fromIso(value);\n const [month, setMonth] = useState(() => selected ?? new Date());\n const [focused, setFocused] = useState<IsoDate>(() => value ?? toIso(new Date()));\n const gridRef = useRef<HTMLDivElement | null>(null);\n const shouldFocus = useRef(false);\n\n useEffect(() => {\n const next = fromIso(value);\n if (!next) return;\n // Controlled changes intentionally reposition the visible and roving-focus month.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setFocused(value!);\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n }, [value]);\n\n useEffect(() => {\n if (!shouldFocus.current) return;\n shouldFocus.current = false;\n gridRef.current?.querySelector<HTMLButtonElement>(\"[data-focused]\")?.focus();\n }, [focused]);\n\n const days = Array.from({ length: 42 }, (_, index) => {\n const start = startOfGrid(month);\n return new Date(start.getFullYear(), start.getMonth(), start.getDate() + index);\n });\n\n const today = toIso(new Date());\n\n const changeMonth = (delta: number) => {\n const next = new Date(month.getFullYear(), month.getMonth() + delta, 1);\n setMonth(next);\n setFocused(toIso(next));\n };\n\n const move = (deltaDays: number) => {\n const base = fromIso(focused) ?? new Date();\n const next = new Date(base.getFullYear(), base.getMonth(), base.getDate() + deltaDays);\n shouldFocus.current = true;\n setFocused(toIso(next));\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const steps: Record<string, number> = {\n ArrowLeft: -1,\n ArrowRight: 1,\n ArrowUp: -7,\n ArrowDown: 7,\n PageUp: -28,\n PageDown: 28,\n };\n const delta = steps[event.key];\n if (delta === undefined) return;\n event.preventDefault();\n move(delta);\n };\n\n return (\n <div ref={ref} className={cx(\"ds-calendar\", className)} {...rest}>\n <div className=\"ds-calendar__head\">\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-left\"\n aria-label=\"Previous month\"\n onClick={() => changeMonth(-1)}\n />\n <span className=\"ds-calendar__month\">{monthLabel(month)}</span>\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-right\"\n aria-label=\"Next month\"\n onClick={() => changeMonth(1)}\n />\n </div>\n <div className=\"ds-calendar__weekdays\" aria-hidden=\"true\">\n {WEEKDAYS.map((day) => (\n <span key={day}>{day.slice(0, 2)}</span>\n ))}\n </div>\n <div ref={gridRef} className=\"ds-calendar__grid\" role=\"grid\" onKeyDown={onKeyDown}>\n {Array.from({ length: 6 }, (_, rowIndex) => (\n <div role=\"row\" className=\"ds-calendar__row\" key={rowIndex}>\n {days.slice(rowIndex * 7, rowIndex * 7 + 7).map((day) => {\n const iso = toIso(day);\n const isOutside = day.getMonth() !== month.getMonth();\n const isDisabled = (min && iso < min) || (max && iso > max);\n const inRange = Boolean(value && endValue && iso > value && iso < endValue);\n const isEdge = iso === value || iso === endValue;\n return (\n <Button\n key={iso}\n variant={dayVariant(isEdge, inRange, iso === today)}\n size=\"sm\"\n isIconOnly\n role=\"gridcell\"\n aria-label={formatIsoDate(iso)}\n tabIndex={iso === focused ? 0 : -1}\n isDisabled={Boolean(isDisabled)}\n aria-selected={isEdge || undefined}\n data-outside={isOutside || undefined}\n data-today={iso === today || undefined}\n data-in-range={inRange || undefined}\n data-focused={iso === focused || undefined}\n className=\"ds-calendar__day\"\n onClick={() => {\n setFocused(iso);\n onSelect?.(iso);\n }}\n >\n {day.getDate()}\n </Button>\n );\n })}\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport interface DateFieldProps {\n value?: IsoDate;\n defaultValue?: IsoDate;\n onValueChange?: (value: IsoDate) => void;\n size?: FieldSize;\n placeholder?: string;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n isInvalid?: boolean;\n id?: string;\n className?: string;\n \"aria-label\"?: string;\n \"aria-describedby\"?: string;\n \"aria-invalid\"?: AriaAttributes[\"aria-invalid\"];\n}\n\n/** One day, picked from a calendar. The field prints the long date, never a mask. */\nexport function DateField({\n value,\n defaultValue = \"\",\n onValueChange,\n size = \"md\",\n placeholder = \"Pick a date\",\n min,\n max,\n isDisabled = false,\n isInvalid = false,\n \"aria-invalid\": ariaInvalid,\n id,\n className,\n ...rest\n}: DateFieldProps) {\n const [internal, setInternal] = useState<IsoDate>(defaultValue);\n const current = value ?? internal;\n const [isOpen, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const panelRef = useRef<HTMLDivElement | null>(null);\n const generatedId = useId();\n const triggerId = id ?? generatedId;\n\n useEffect(() => {\n if (!isOpen) return;\n const onPointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n if (!rootRef.current?.contains(target) && !panelRef.current?.contains(target)) setOpen(false);\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n document.addEventListener(\"mousedown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"mousedown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div className={cx(\"ds-datefield\", className)} ref={rootRef}>\n <Button\n {...rest}\n ref={triggerRef}\n id={triggerId}\n size={size}\n aria-haspopup=\"dialog\"\n aria-expanded={isOpen}\n aria-invalid={isInvalid || ariaInvalid || undefined}\n isDisabled={isDisabled}\n data-placeholder={current ? undefined : \"\"}\n className=\"ds-field-skin ds-datefield__control\"\n onClick={() => setOpen((open) => !open)}\n >\n <span className=\"ds-datefield__value\">{current ? formatIsoDate(current) : placeholder}</span>\n <Icon name=\"calendar\" size={16} className=\"ds-datefield__glyph\" />\n </Button>\n <Popover\n anchorRef={triggerRef}\n anchorId={triggerId}\n isOpen={isOpen}\n panelRef={panelRef}\n className=\"ds-datefield__popover\"\n role=\"dialog\"\n aria-label=\"Choose a date\"\n >\n <Calendar\n value={current}\n min={min}\n max={max}\n onSelect={(next) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n setOpen(false);\n triggerRef.current?.focus();\n }}\n />\n </Popover>\n </div>\n );\n}\n\nexport interface DateRangeValue {\n start: IsoDate;\n end: IsoDate;\n}\n\nexport interface DateRangeFieldProps {\n value?: DateRangeValue;\n defaultValue?: DateRangeValue;\n onValueChange?: (value: DateRangeValue) => void;\n size?: FieldSize;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n startLabel?: string;\n endLabel?: string;\n className?: string;\n}\n\n/** A span of days. The end field never offers a day before the start. */\nexport function DateRangeField({\n value,\n defaultValue = { start: \"\", end: \"\" },\n onValueChange,\n size = \"md\",\n min,\n max,\n isDisabled = false,\n startLabel = \"Start date\",\n endLabel = \"End date\",\n className,\n}: DateRangeFieldProps) {\n const [internal, setInternal] = useState<DateRangeValue>(defaultValue);\n const current = value ?? internal;\n\n const commit = (next: DateRangeValue) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n };\n\n return (\n <div className={cx(\"ds-daterange\", className)}>\n <DateField\n aria-label={startLabel}\n size={size}\n value={current.start}\n min={min}\n max={current.end || max}\n isDisabled={isDisabled}\n placeholder={startLabel}\n onValueChange={(next) => commit({ ...current, start: next })}\n />\n <span className=\"ds-daterange__dash\" aria-hidden=\"true\">\n –\n </span>\n <DateField\n aria-label={endLabel}\n size={size}\n value={current.end}\n min={current.start || min}\n max={max}\n isDisabled={isDisabled}\n placeholder={endLabel}\n onValueChange={(next) => commit({ ...current, end: next })}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAYD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA8HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAkBD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA8HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAYD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA8HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAkBD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA8HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}