@box-kite/react 2.2.5 → 2.2.6

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 (83) hide show
  1. package/.claude/rules/box-kite-rules.md +3 -1
  2. package/.claude/skills/box-kite/SKILL.md +3 -1
  3. package/.claude/skills/box-kite/references/components.md +34 -0
  4. package/.cursor/rules/box-kite.mdc +3 -1
  5. package/AGENTS.md +3 -1
  6. package/BOX_AI_CONTEXT.md +95 -5
  7. package/BOX_KITE_AI_CONTEXT.md +95 -5
  8. package/box.cjs +1 -1
  9. package/box.mjs +7 -7
  10. package/catalog.cjs +1 -1
  11. package/catalog.mjs +521 -0
  12. package/client.cjs +1 -1
  13. package/client.mjs +94 -106
  14. package/components/calendar.cjs +1 -0
  15. package/components/calendar.d.ts +77 -0
  16. package/components/calendar.mjs +483 -0
  17. package/components/dataGrid/components/dataGridBooleanValue.d.ts +11 -0
  18. package/components/dataGrid/components/dataGridDateParts.d.ts +40 -0
  19. package/components/dataGrid/components/dataGridDateValue.d.ts +14 -0
  20. package/components/dataGrid/contracts/dataGridContract.d.ts +38 -11
  21. package/components/dataGrid/models/columnModel.d.ts +3 -1
  22. package/components/dataGrid/models/editModel.d.ts +3 -1
  23. package/components/dataGrid/models/localeText.d.ts +4 -0
  24. package/components/dataGrid/useDateParts.d.ts +17 -0
  25. package/components/dataGrid.cjs +3 -3
  26. package/components/dataGrid.mjs +797 -664
  27. package/components/dateField.cjs +1 -0
  28. package/components/dateField.d.ts +78 -0
  29. package/components/dateField.mjs +313 -0
  30. package/components/datePicker.cjs +1 -0
  31. package/components/datePicker.d.ts +120 -0
  32. package/components/datePicker.mjs +529 -0
  33. package/components/dateTime.cjs +1 -0
  34. package/components/dateTime.d.ts +23 -0
  35. package/components/dateTime.mjs +34 -0
  36. package/components/dialog.cjs +1 -1
  37. package/components/dialog.mjs +87 -75
  38. package/components/overlay.cjs +1 -1
  39. package/components/overlay.mjs +1 -1
  40. package/components/semantics.d.ts +29 -29
  41. package/components/timeZoneSelect.cjs +1 -0
  42. package/components/timeZoneSelect.d.ts +52 -0
  43. package/components/timeZoneSelect.mjs +74 -0
  44. package/components/toaster.cjs +1 -1
  45. package/components/toaster.mjs +1 -1
  46. package/dataGridDateParts.cjs +1 -0
  47. package/dataGridDateParts.mjs +223 -0
  48. package/dataGridList.cjs +1 -1
  49. package/dataGridList.mjs +328 -365
  50. package/dataGridListLayout.cjs +1 -0
  51. package/dataGridListLayout.mjs +49 -0
  52. package/date-environment.cjs +1 -0
  53. package/date-environment.mjs +29 -0
  54. package/date-input.cjs +1 -0
  55. package/date-input.mjs +346 -0
  56. package/date-math.cjs +1 -0
  57. package/date-math.mjs +317 -0
  58. package/date.cjs +1 -0
  59. package/date.d.ts +40 -0
  60. package/date.mjs +4 -0
  61. package/dates.cjs +1 -0
  62. package/dates.mjs +689 -0
  63. package/docs/components.md +6 -1
  64. package/package.json +118 -26
  65. package/react/boxComponent.d.ts +1 -1
  66. package/react/date/dateChange.d.ts +18 -0
  67. package/react/date/dateEnvironment.d.ts +34 -0
  68. package/react-shared.cjs +1 -1
  69. package/react-shared.mjs +1 -1
  70. package/ssg.cjs +1 -1
  71. package/ssg.mjs +1 -1
  72. package/utils/date/calendar.d.ts +44 -0
  73. package/utils/date/calendarModel.d.ts +46 -0
  74. package/utils/date/dateTime.d.ts +144 -0
  75. package/utils/date/fieldModel.d.ts +74 -0
  76. package/utils/date/format.d.ts +39 -0
  77. package/utils/date/iso.d.ts +40 -0
  78. package/utils/date/locale.d.ts +17 -0
  79. package/utils/date/parse.d.ts +20 -0
  80. package/utils/date/settings.d.ts +26 -0
  81. package/utils/date/value.d.ts +43 -0
  82. package/utils/date/zoneOptions.d.ts +19 -0
  83. package/utils/date/zones.d.ts +32 -0
package/dates.mjs ADDED
@@ -0,0 +1,689 @@
1
+ //#region src/utils/date/calendar.ts
2
+ var e = 6e4, t = 36e5, n = 864e5, r = {
3
+ hour: 0,
4
+ minute: 0,
5
+ second: 0,
6
+ millisecond: 0
7
+ };
8
+ function i(e, t) {
9
+ return Math.floor(e / t);
10
+ }
11
+ function a(e, t) {
12
+ return (e % t + t) % t;
13
+ }
14
+ function o(e) {
15
+ return e % 4 == 0 && e % 100 != 0 || e % 400 == 0;
16
+ }
17
+ function s(e, t) {
18
+ return t === 2 ? o(e) ? 29 : 28 : [
19
+ 31,
20
+ 28,
21
+ 31,
22
+ 30,
23
+ 31,
24
+ 30,
25
+ 31,
26
+ 31,
27
+ 30,
28
+ 31,
29
+ 30,
30
+ 31
31
+ ][t - 1];
32
+ }
33
+ function c({ year: e, month: t, day: n }) {
34
+ let r = e - +(t <= 2), a = i(r, 400), o = r - a * 400, s = i(153 * (t + (t > 2 ? -3 : 9)) + 2, 5) + n - 1, c = o * 365 + i(o, 4) - i(o, 100) + s;
35
+ return a * 146097 + c - 719468;
36
+ }
37
+ function l(e) {
38
+ let t = e + 719468, n = i(t, 146097), r = t - n * 146097, a = i(r - i(r, 1460) + i(r, 36524) - i(r, 146096), 365), o = r - (365 * a + i(a, 4) - i(a, 100)), s = i(5 * o + 2, 153), c = s + (s < 10 ? 3 : -9);
39
+ return {
40
+ year: a + n * 400 + +(c <= 2),
41
+ month: c,
42
+ day: o - i(153 * s + 2, 5) + 1
43
+ };
44
+ }
45
+ function u(e) {
46
+ return a(c(e) + 4, 7);
47
+ }
48
+ function d(r) {
49
+ return c(r) * n + r.hour * t + r.minute * e + r.second * 1e3 + r.millisecond;
50
+ }
51
+ function f(r) {
52
+ let a = i(r, n), o = r - a * n, s = i(o, t);
53
+ o -= s * t;
54
+ let c = i(o, e);
55
+ o -= c * e;
56
+ let u = i(o, 1e3);
57
+ return {
58
+ ...l(a),
59
+ hour: s,
60
+ minute: c,
61
+ second: u,
62
+ millisecond: o - u * 1e3
63
+ };
64
+ }
65
+ function p(e, t) {
66
+ return l(c(e) + t);
67
+ }
68
+ function m(e, t) {
69
+ let n = e.year * 12 + (e.month - 1) + t, r = i(n, 12), o = a(n, 12) + 1;
70
+ return {
71
+ year: r,
72
+ month: o,
73
+ day: Math.min(e.day, s(r, o))
74
+ };
75
+ }
76
+ function h({ year: e, month: t, day: n }) {
77
+ return Number.isInteger(e) && t >= 1 && t <= 12 && Number.isInteger(t) && n >= 1 && n <= s(e, t);
78
+ }
79
+ function g({ hour: e, minute: t, second: n, millisecond: r }) {
80
+ return e >= 0 && e <= 23 && t >= 0 && t <= 59 && n >= 0 && n <= 59 && r >= 0 && r <= 999;
81
+ }
82
+ function _(e) {
83
+ let t = c(e) - a(u(e) + 6, 7) + 3, n = l(t).year;
84
+ return {
85
+ year: n,
86
+ week: i(t - c({
87
+ year: n,
88
+ month: 1,
89
+ day: 1
90
+ }), 7) + 1
91
+ };
92
+ }
93
+ //#endregion
94
+ //#region src/utils/date/settings.ts
95
+ var v = {}, y, b;
96
+ function ee(e) {
97
+ let t = v;
98
+ return v = {
99
+ ...v,
100
+ ...e
101
+ }, t;
102
+ }
103
+ function te() {
104
+ return v;
105
+ }
106
+ function x() {
107
+ if (y === void 0) try {
108
+ y = new Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
109
+ } catch {
110
+ y = "UTC";
111
+ }
112
+ return y;
113
+ }
114
+ function ne() {
115
+ return v.timeZone ?? x();
116
+ }
117
+ function re() {
118
+ if (b === void 0) try {
119
+ b = new Intl.DateTimeFormat().resolvedOptions().locale || "en-US";
120
+ } catch {
121
+ b = "en-US";
122
+ }
123
+ return b;
124
+ }
125
+ function S() {
126
+ return v.locale ?? re();
127
+ }
128
+ var C = "tz";
129
+ function ie(e = x(), t = C) {
130
+ return `${t}=${encodeURIComponent(e)}; path=/; max-age=31536000; samesite=lax`;
131
+ }
132
+ function ae(e, t = C) {
133
+ if (e) for (let n of e.split(";")) {
134
+ let e = n.indexOf("=");
135
+ if (e > 0 && n.slice(0, e).trim() === t) try {
136
+ return decodeURIComponent(n.slice(e + 1).trim()) || void 0;
137
+ } catch {
138
+ return;
139
+ }
140
+ }
141
+ }
142
+ //#endregion
143
+ //#region src/utils/date/zones.ts
144
+ var oe = /^([+-])(\d{2}):?(\d{2})(?::?(\d{2}))?$/, w = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map();
145
+ function E(e) {
146
+ if (e === "UTC") return 0;
147
+ let t = oe.exec(e);
148
+ if (!t) return;
149
+ let n = Number(t[2]) * 60 + Number(t[3]) + Number(t[4] ?? 0) / 60;
150
+ return t[1] === "-" ? -n : n;
151
+ }
152
+ function D(e) {
153
+ let t = e < 0 ? "-" : "+", n = Math.round(Math.abs(e) * 60), r = (e) => String(e).padStart(2, "0"), i = n % 60;
154
+ return `${t}${r(Math.floor(n / 3600))}:${r(Math.floor(n / 60) % 60)}${i ? `:${r(i)}` : ""}`;
155
+ }
156
+ function se(e) {
157
+ let t = w.get(e);
158
+ if (t === void 0) {
159
+ try {
160
+ t = new Intl.DateTimeFormat("en-US", { timeZone: e }).resolvedOptions().timeZone;
161
+ } catch {
162
+ t = null;
163
+ }
164
+ w.set(e, t);
165
+ }
166
+ return t;
167
+ }
168
+ function O(e) {
169
+ if (e === void 0 || e === "local") return ne();
170
+ if (e === "system") return x();
171
+ let t = e.trim();
172
+ if (/^(utc|z|gmt|etc\/utc|etc\/gmt|etc\/uct|uct|universal|zulu|etc\/universal|etc\/zulu)$/i.test(t)) return "UTC";
173
+ let n = E(t);
174
+ if (n !== void 0) return n === 0 ? "UTC" : D(n);
175
+ let r = se(t);
176
+ return r && /^(utc|etc\/utc|etc\/gmt)$/i.test(r) ? "UTC" : r;
177
+ }
178
+ function ce(e) {
179
+ return O(e) !== null;
180
+ }
181
+ function k(e) {
182
+ let t = O(e);
183
+ if (t === null) throw RangeError(`Unknown time zone: ${String(e)}`);
184
+ return t;
185
+ }
186
+ function le(e) {
187
+ let t = T.get(e);
188
+ return t || (t = new Intl.DateTimeFormat("en-US", {
189
+ timeZone: e,
190
+ hourCycle: "h23",
191
+ era: "short",
192
+ year: "numeric",
193
+ month: "numeric",
194
+ day: "numeric",
195
+ hour: "numeric",
196
+ minute: "numeric",
197
+ second: "numeric"
198
+ }), T.set(e, t)), t;
199
+ }
200
+ function ue(e, t) {
201
+ let n = le(e).formatToParts(t), r = (e) => Number(n.find((t) => t.type === e)?.value ?? 0), a = n.find((e) => e.type === "era")?.value ?? "A", o = r("year");
202
+ return d({
203
+ year: a.startsWith("B") ? 1 - o : o,
204
+ month: r("month"),
205
+ day: r("day"),
206
+ hour: r("hour") % 24,
207
+ minute: r("minute"),
208
+ second: r("second"),
209
+ millisecond: 0
210
+ }) + (t - i(t, 1e3) * 1e3);
211
+ }
212
+ function A(t, n) {
213
+ let r = E(t);
214
+ return r === void 0 ? t === x() ? -new Date(n).getTimezoneOffset() : (ue(t, n) - n) / e : r;
215
+ }
216
+ function j(t, n) {
217
+ return f(n + A(t, n) * e);
218
+ }
219
+ function M(t, r, i = "compatible") {
220
+ let a = d(t), o = E(r);
221
+ if (o !== void 0) return a - o * e;
222
+ let s = A(r, a - n), c = A(r, a + n), l = [.../* @__PURE__ */ new Set([a - s * e, a - c * e])].filter((t) => t + A(r, t) * e === a).sort((e, t) => e - t);
223
+ return l.length === 1 ? l[0] : i === "reject" ? null : l.length === 2 ? i === "later" ? l[1] : l[0] : i === "earlier" ? a - c * e : a - s * e;
224
+ }
225
+ var N;
226
+ function de() {
227
+ if (!N) {
228
+ let e = Intl.supportedValuesOf;
229
+ N = ["UTC", ...(e ? e("timeZone") : []).filter((e) => e !== "UTC")];
230
+ }
231
+ return N;
232
+ }
233
+ //#endregion
234
+ //#region src/utils/date/iso.ts
235
+ var fe = /^([+-]\d{6}|\d{4})-?(\d{2})-?(\d{2})(?:(?:T|t|\s+)(\d{2})(?::?(\d{2})(?::?(\d{2})(?:[.,](\d{1,9}))?)?)?)?\s*(Z|z|[+-]\d{2}(?::?\d{2}(?::?\d{2})?)?)?(?:\[!?([^\]=]+)\])*$/, pe = /^T?(\d{1,2}):(\d{2})(?::(\d{2})(?:[.,](\d{1,9}))?)?$/;
236
+ function P(e) {
237
+ return e ? Math.floor(Number(`0.${e}`) * 1e3) : 0;
238
+ }
239
+ function F(t) {
240
+ return d(t.fields) - t.offset * e;
241
+ }
242
+ function me(t, n = "compatible") {
243
+ let r = t.trim(), i = pe.exec(r);
244
+ if (i) {
245
+ let e = {
246
+ year: 1970,
247
+ month: 1,
248
+ day: 1,
249
+ hour: Number(i[1]),
250
+ minute: Number(i[2]),
251
+ second: Number(i[3] ?? 0),
252
+ millisecond: P(i[4])
253
+ };
254
+ return g(e) ? {
255
+ kind: "time",
256
+ fields: e,
257
+ offset: 0
258
+ } : null;
259
+ }
260
+ let a = fe.exec(r);
261
+ if (!a) return null;
262
+ let [, o, s, c, l, u, f, m, _, v] = a, y = {
263
+ year: Number(o),
264
+ month: Number(s),
265
+ day: Number(c),
266
+ hour: Number(l ?? 0),
267
+ minute: Number(u ?? 0),
268
+ second: Math.min(Number(f ?? 0), 59),
269
+ millisecond: P(m)
270
+ };
271
+ if (!h(y) || (y.hour === 24 && y.minute === 0 && y.second === 0 && y.millisecond === 0 && (y = {
272
+ ...y,
273
+ ...p(y, 1),
274
+ hour: 0
275
+ }), !g(y))) return null;
276
+ if (l === void 0) return _ || v ? null : {
277
+ kind: "date",
278
+ fields: y,
279
+ offset: 0
280
+ };
281
+ let b = v ? O(v) ?? void 0 : void 0;
282
+ if (v && !b) return null;
283
+ if (_) {
284
+ let e = /^z$/i.test(_) ? 0 : E(_.length === 3 ? `${_}:00` : _);
285
+ return e === void 0 ? null : {
286
+ kind: "instant",
287
+ fields: y,
288
+ offset: e,
289
+ zone: b
290
+ };
291
+ }
292
+ if (b) {
293
+ let t = M(y, b, n);
294
+ return t === null ? null : {
295
+ kind: "instant",
296
+ fields: y,
297
+ offset: (d(y) - t) / e,
298
+ zone: b
299
+ };
300
+ }
301
+ return {
302
+ kind: "datetime",
303
+ fields: y,
304
+ offset: 0
305
+ };
306
+ }
307
+ function I(e, t = 2) {
308
+ return String(e).padStart(t, "0");
309
+ }
310
+ function he(e) {
311
+ return e >= 0 && e <= 9999 ? I(e, 4) : `${e < 0 ? "-" : "+"}${I(Math.abs(e), 6)}`;
312
+ }
313
+ function L(e) {
314
+ return `${he(e.year)}-${I(e.month)}-${I(e.day)}`;
315
+ }
316
+ function R(e) {
317
+ let t = `${I(e.hour)}:${I(e.minute)}:${I(e.second)}`;
318
+ return e.millisecond ? `${t}.${I(e.millisecond, 3)}` : t;
319
+ }
320
+ function z(e, t = !1) {
321
+ switch (e.kind) {
322
+ case "date": return L(e.fields);
323
+ case "time": return R(e.fields);
324
+ case "datetime": return `${L(e.fields)}T${R(e.fields)}`;
325
+ default: {
326
+ let n = e.offset === 0 && (e.zone === void 0 || e.zone === "UTC") ? "Z" : D(e.offset), r = t && e.zone && e.zone !== "UTC" && E(e.zone) === void 0 ? `[${e.zone}]` : "";
327
+ return `${L(e.fields)}T${R(e.fields)}${n}${r}`;
328
+ }
329
+ }
330
+ }
331
+ //#endregion
332
+ //#region src/utils/date/locale.ts
333
+ var ge = new Set("AG AS BD BR BS BT BW BZ CA CN CO DM DO ET GT GU HK HN ID IL IN JM JP KE KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PT PY SA SG SV TH TT TW UM US VE VI WS YE ZA ZW".split(" ")), _e = new Set("AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".split(" ")), ve = new Set("AE BH DZ EG IQ JO KW LY OM QA SA SD SY YE".split(" ")), B = /* @__PURE__ */ new Map();
334
+ function ye(e) {
335
+ try {
336
+ let t = new Intl.Locale(e);
337
+ return t.region ?? t.maximize().region;
338
+ } catch {
339
+ return;
340
+ }
341
+ }
342
+ function be(e = S()) {
343
+ let t = B.get(e);
344
+ if (t) return t;
345
+ try {
346
+ let n = new Intl.Locale(e), r = n.getWeekInfo?.() ?? n.weekInfo;
347
+ r && (t = {
348
+ firstDay: r.firstDay % 7,
349
+ weekend: r.weekend.map((e) => e % 7)
350
+ });
351
+ } catch {}
352
+ if (!t) {
353
+ let n = ye(e) ?? "";
354
+ t = {
355
+ firstDay: _e.has(n) ? 6 : +!ge.has(n),
356
+ weekend: ve.has(n) ? [5, 6] : [6, 0]
357
+ };
358
+ }
359
+ return B.set(e, t), t;
360
+ }
361
+ var V = /* @__PURE__ */ new Map();
362
+ function xe(e = S()) {
363
+ let t = V.get(e);
364
+ if (!t) {
365
+ let n = new Intl.DateTimeFormat(e, { hour: "numeric" }).resolvedOptions().hourCycle;
366
+ t = n === "h11" || n === "h12" ? 12 : 24, V.set(e, t);
367
+ }
368
+ return t;
369
+ }
370
+ function Se(e = S(), t = "long") {
371
+ let n = new Intl.DateTimeFormat(e, {
372
+ month: t,
373
+ timeZone: "UTC"
374
+ });
375
+ return Array.from({ length: 12 }, (e, t) => n.format(Date.UTC(2021, t, 15)));
376
+ }
377
+ function Ce(e = S(), t = "short") {
378
+ let n = new Intl.DateTimeFormat(e, {
379
+ weekday: t,
380
+ timeZone: "UTC"
381
+ });
382
+ return Array.from({ length: 7 }, (e, t) => n.format(Date.UTC(2021, 0, 3 + t)));
383
+ }
384
+ function we(e = S()) {
385
+ let t = new Intl.DateTimeFormat(e, {
386
+ hour: "numeric",
387
+ hourCycle: "h12",
388
+ timeZone: "UTC"
389
+ }), n = (e) => t.formatToParts(Date.UTC(2021, 0, 1, e)).find((e) => e.type === "dayPeriod")?.value, r = (e) => e.split(" ").join(" ");
390
+ return [r(n(9) ?? "AM"), r(n(21) ?? "PM")];
391
+ }
392
+ var H = /* @__PURE__ */ new Map();
393
+ function Te(e, t = S()) {
394
+ let n = `${t}|${e}`, r = H.get(n);
395
+ if (r === void 0) {
396
+ try {
397
+ let n = Intl.DisplayNames;
398
+ r = n && new n(t, { type: "dateTimeField" }).of(e) || e;
399
+ } catch {
400
+ r = e;
401
+ }
402
+ H.set(n, r);
403
+ }
404
+ return r;
405
+ }
406
+ //#endregion
407
+ //#region src/utils/date/value.ts
408
+ function U(t, n) {
409
+ let r = A(n, t);
410
+ return {
411
+ kind: "instant",
412
+ fields: f(t + r * e),
413
+ offset: r,
414
+ zone: n
415
+ };
416
+ }
417
+ function W(e, t) {
418
+ if (e == null || e === "") return null;
419
+ if (e instanceof Date || typeof e == "number") {
420
+ let t = typeof e == "number" ? e : e.getTime();
421
+ return Number.isFinite(t) ? G(t) : null;
422
+ }
423
+ if (typeof e != "string") return null;
424
+ let n = me(e, t);
425
+ if (n) return n;
426
+ if (/[a-z]{3}/i.test(e) && /(gmt|utc|\dz\b|[+-]\d{2}:?\d{2})/i.test(e)) {
427
+ let t = Date.parse(e);
428
+ if (Number.isFinite(t)) return G(t);
429
+ }
430
+ return null;
431
+ }
432
+ function G(e) {
433
+ return {
434
+ kind: "instant",
435
+ fields: f(e),
436
+ offset: 0
437
+ };
438
+ }
439
+ function K(e, t) {
440
+ return t === void 0 ? e.zone ?? k("local") : k(t);
441
+ }
442
+ function q(e, t, n) {
443
+ return e.offset === 0 && e.zone === void 0 ? G(t) : U(t, n);
444
+ }
445
+ function J(e, t, n = {}) {
446
+ let { disambiguation: i = "compatible" } = n;
447
+ if (e.kind === t && t !== "instant") return e;
448
+ if (e.kind === "time" || e.kind === "date" && t === "time") return null;
449
+ if (t === "instant") {
450
+ let t = k(n.zone), a = e.kind === "instant" ? F(e) : M(e.kind === "date" ? {
451
+ ...e.fields,
452
+ ...r
453
+ } : e.fields, t, i);
454
+ return a === null ? null : U(a, t);
455
+ }
456
+ let a = e.kind === "instant" ? j(k(n.zone), F(e)) : e.fields;
457
+ return t === "date" ? {
458
+ kind: t,
459
+ fields: {
460
+ ...a,
461
+ ...r
462
+ },
463
+ offset: 0
464
+ } : t === "time" ? {
465
+ kind: t,
466
+ fields: {
467
+ ...a,
468
+ year: 1970,
469
+ month: 1,
470
+ day: 1
471
+ },
472
+ offset: 0
473
+ } : {
474
+ kind: t,
475
+ fields: a,
476
+ offset: 0
477
+ };
478
+ }
479
+ function Ee(e, t, n = {}) {
480
+ let r = W(e, n.disambiguation), i = r && J(r, t, n);
481
+ return i ? z(i) : null;
482
+ }
483
+ function De(e, t = {}) {
484
+ if (e.kind === "instant") return F(e);
485
+ let n = J(e, "instant", t);
486
+ return n ? F(n) : null;
487
+ }
488
+ function Oe(e, t) {
489
+ return e.kind === "instant" ? j(K(e, t), F(e)) : e.fields;
490
+ }
491
+ function ke(e, t, n = {}) {
492
+ if (e.kind !== "instant") return {
493
+ ...e,
494
+ fields: t
495
+ };
496
+ let r = K(e, n.zone);
497
+ return q(e, M(t, r, n.disambiguation ?? "compatible") ?? d(t) - (E(r) ?? 0) * 6e4, r);
498
+ }
499
+ //#endregion
500
+ //#region src/utils/date/format.ts
501
+ var Ae = [
502
+ "weekday",
503
+ "era",
504
+ "year",
505
+ "month",
506
+ "day",
507
+ "dayPeriod",
508
+ "hour",
509
+ "minute",
510
+ "second",
511
+ "fractionalSecondDigits",
512
+ "dateStyle",
513
+ "timeStyle"
514
+ ], Y = /* @__PURE__ */ new Map();
515
+ function X(e, t) {
516
+ let n = `${e}|${JSON.stringify(t)}`, r = Y.get(n);
517
+ return r || (r = new Intl.DateTimeFormat(e, t), Y.set(n, r)), r;
518
+ }
519
+ function je(e) {
520
+ return e === "date" ? { dateStyle: "medium" } : e === "time" ? { timeStyle: "short" } : {
521
+ dateStyle: "medium",
522
+ timeStyle: "short"
523
+ };
524
+ }
525
+ var Me = /* @__PURE__ */ new Set([
526
+ "timeZone",
527
+ "hourCycle",
528
+ "hour12",
529
+ "calendar",
530
+ "numberingSystem",
531
+ "localeMatcher"
532
+ ]), Ne = {
533
+ short: {
534
+ year: "2-digit",
535
+ month: "numeric",
536
+ day: "numeric"
537
+ },
538
+ medium: {
539
+ year: "numeric",
540
+ month: "short",
541
+ day: "numeric"
542
+ },
543
+ long: {
544
+ year: "numeric",
545
+ month: "long",
546
+ day: "numeric"
547
+ },
548
+ full: {
549
+ weekday: "long",
550
+ year: "numeric",
551
+ month: "long",
552
+ day: "numeric"
553
+ }
554
+ }, Pe = {
555
+ short: {
556
+ hour: "numeric",
557
+ minute: "2-digit"
558
+ },
559
+ medium: {
560
+ hour: "numeric",
561
+ minute: "2-digit",
562
+ second: "2-digit"
563
+ },
564
+ long: {
565
+ hour: "numeric",
566
+ minute: "2-digit",
567
+ second: "2-digit",
568
+ timeZoneName: "short"
569
+ },
570
+ full: {
571
+ hour: "numeric",
572
+ minute: "2-digit",
573
+ second: "2-digit",
574
+ timeZoneName: "long"
575
+ }
576
+ };
577
+ function Fe(e) {
578
+ let { dateStyle: t, timeStyle: n, ...r } = e, i = Object.entries(r).some(([e, t]) => t !== void 0 && !Me.has(e));
579
+ return !t && !n || !i ? e : {
580
+ ...t ? Ne[t] : {},
581
+ ...n ? Pe[n] : {},
582
+ ...r
583
+ };
584
+ }
585
+ function Z(t, n) {
586
+ let { locale: r, zone: i, ...a } = n, o = Fe(Ae.some((e) => a[e] !== void 0) ? a : {
587
+ ...je(t.kind),
588
+ ...a
589
+ });
590
+ if (t.kind !== "instant") {
591
+ let { timeZoneName: e, ...n } = o;
592
+ return {
593
+ epoch: d(t.fields),
594
+ options: {
595
+ ...n,
596
+ timeZone: "UTC"
597
+ }
598
+ };
599
+ }
600
+ let s = K(t, i ?? "local"), c = E(s);
601
+ if (c === void 0 || c === 0) return {
602
+ epoch: F(t),
603
+ options: {
604
+ ...o,
605
+ timeZone: s
606
+ }
607
+ };
608
+ let { timeZoneName: l, ...u } = o;
609
+ return {
610
+ epoch: F(t) + c * e,
611
+ options: {
612
+ ...u,
613
+ timeZone: "UTC"
614
+ }
615
+ };
616
+ }
617
+ function Q(e, t = {}) {
618
+ let n = W(e);
619
+ if (!n) return "";
620
+ let { epoch: r, options: i } = Z(n, t);
621
+ return $(X(t.locale ?? S(), i).format(r));
622
+ }
623
+ var Ie = " ";
624
+ function $(e) {
625
+ return e.split(Ie).join(" ");
626
+ }
627
+ function Le(e, t = {}) {
628
+ let n = W(e);
629
+ if (!n) return [];
630
+ let { epoch: r, options: i } = Z(n, t);
631
+ return X(t.locale ?? S(), i).formatToParts(r).map((e) => ({
632
+ ...e,
633
+ value: $(e.value)
634
+ }));
635
+ }
636
+ function Re(e, t, n = {}) {
637
+ let r = W(e), i = W(t);
638
+ if (!r || !i) return Q(r ? e : t, n);
639
+ let a = Z(r, n), o = Z(i, n), s = X(n.locale ?? S(), a.options);
640
+ return $(s.formatRange ? s.formatRange(Math.min(a.epoch, o.epoch), Math.max(a.epoch, o.epoch)) : `${s.format(a.epoch)} – ${s.format(o.epoch)}`);
641
+ }
642
+ var ze = [
643
+ ["second", 60],
644
+ ["minute", 60],
645
+ ["hour", 24],
646
+ ["day", 7],
647
+ ["week", 4.34524],
648
+ ["month", 12],
649
+ ["year", Infinity]
650
+ ];
651
+ function Be(t, n = {}) {
652
+ let r = W(t);
653
+ if (!r || r.kind === "time") return "";
654
+ let i = W(n.now ?? Date.now());
655
+ if (!i) return "";
656
+ let a = new Intl.RelativeTimeFormat(n.locale ?? S(), {
657
+ numeric: n.numeric ?? "auto",
658
+ style: n.style ?? "long"
659
+ }), o = K(i, n.zone ?? "local"), s = i.kind === "instant" ? j(o, F(i)) : i.fields;
660
+ if (r.kind === "date") {
661
+ let e = c(r.fields) - c(s);
662
+ if (Math.abs(e) < 7) return a.format(e, "day");
663
+ if (Math.abs(e) < 30) return a.format(Math.trunc(e / 7), "week");
664
+ let t = (r.fields.year - s.year) * 12 + r.fields.month - s.month;
665
+ return Math.abs(t) < 12 ? a.format(t, "month") : a.format(Math.trunc(t / 12), "year");
666
+ }
667
+ let l = ((r.kind === "instant" ? F(r) : d(r.fields) - A(o, d(r.fields)) * e) - (i.kind === "instant" ? F(i) : d(i.fields))) / 1e3;
668
+ for (let [e, t] of ze) {
669
+ if (Math.abs(l) < t) return a.format(Math.round(l), e);
670
+ l /= t;
671
+ }
672
+ return "";
673
+ }
674
+ function Ve(e = "local", t = {}) {
675
+ let n = W(t.at ?? Date.now()), r = n ? F(n.kind === "instant" ? n : {
676
+ ...n,
677
+ offset: 0
678
+ }) : Date.now(), i = K({
679
+ kind: "instant",
680
+ fields: j("UTC", r),
681
+ offset: 0
682
+ }, e), a = t.style ?? "long", o = X(t.locale ?? S(), {
683
+ timeZone: E(i) !== void 0 && i !== "UTC" ? void 0 : i,
684
+ timeZoneName: a
685
+ }).formatToParts(r);
686
+ return E(i) !== void 0 && i !== "UTC" ? `GMT${i}` : $(o.find((e) => e.type === "timeZoneName")?.value ?? i);
687
+ }
688
+ //#endregion
689
+ export { f as $, A, ie as B, Ce as C, D, z as E, te as F, u as G, n as H, S as I, d as J, s as K, ne as L, de as M, M as N, ce as O, ee as P, a as Q, ae as R, be as S, F as T, p as U, r as V, m as W, g as X, h as Y, _ as Z, K as _, X as a, xe as b, Ee as c, U as d, W as f, q as g, ke as h, Le as i, k as j, O as k, J as l, Oe as m, Re as n, $ as o, G as p, c as q, Be as r, Ve as s, Q as t, De as u, we as v, L as w, Se as x, Te as y, x as z };
@@ -34,9 +34,13 @@ These hold state, measure the DOM or portal into it. A Server Component may impo
34
34
  | `@box-kite/react/components/accordion` | `Accordion` (default), `Collapsible` | |
35
35
  | `@box-kite/react/components/agent` | `AgentUtils`, `ApprovalCard`, `Reasoning`, `StreamingText`, `ToolCallCard` | |
36
36
  | `@box-kite/react/components/checkbox` | `Checkbox` (default) | |
37
+ | `@box-kite/react/components/calendar` | `Calendar` (default) | |
37
38
  | `@box-kite/react/components/combobox` | `Combobox` (default), `ComboboxUtils` | |
38
39
  | `@box-kite/react/components/dashboard` | `DashboardGrid` (default), `DashboardUtils`, `Widget` | |
39
- | `@box-kite/react/components/dataGrid` | `dataGrid` (default), `DATA_GRID_LOCALE_TEXT`, `a`, `c`, `d`, `i`, `l`, `n`, `o`, `r`, `s`, `t`, `u` | |
40
+ | `@box-kite/react/components/dataGrid` | `dataGrid` (default), `DATA_GRID_LOCALE_TEXT`, `a`, `c`, `d`, `f`, `i`, `l`, `m`, `n`, `o`, `p`, `r`, `s`, `t`, `u` | |
41
+ | `@box-kite/react/components/dateField` | `DateField` (default) | |
42
+ | `@box-kite/react/components/datePicker` | `DatePicker` (default), `DateRangePicker` | |
43
+ | `@box-kite/react/components/dateTime` | `DateTime` (default), `DateProvider` | |
40
44
  | `@box-kite/react/components/dialog` | `Dialog` (default), `AlertDialog` | |
41
45
  | `@box-kite/react/components/dropdown` | `Dropdown` (default) | **deprecated** |
42
46
  | `@box-kite/react/components/form` | `Form` (default) | |
@@ -51,6 +55,7 @@ These hold state, measure the DOM or portal into it. A Server Component may impo
51
55
  | `@box-kite/react/components/swipeItem` | `SwipeItem` (default), `SwipeUtils` | |
52
56
  | `@box-kite/react/components/switch` | `Switch` (default) | |
53
57
  | `@box-kite/react/components/tabs` | `Tabs` (default) | |
58
+ | `@box-kite/react/components/timeZoneSelect` | `TimeZoneSelect` (default) | |
54
59
  | `@box-kite/react/components/toaster` | `Toaster` (default), `createToastStore`, `defaultToastStore`, `toast` | |
55
60
  | `@box-kite/react/components/tooltip` | `Tooltip` (default) | |
56
61
  | `@box-kite/react/components/virtualList` | `VirtualList` (default) | |