@jfrader/ui 0.5.0 → 0.5.1

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 (179) hide show
  1. package/dist/accordion-DLul6vIl.js +205 -0
  2. package/dist/accordion.js +1 -1
  3. package/dist/{announcement-bar-B58xempt.js → announcement-bar-Dlbq5-9D.js} +1 -1
  4. package/dist/announcement-bar.js +1 -1
  5. package/dist/avatar-CaGJHy1N.js +145 -0
  6. package/dist/{avatar-group-DOQQuV51.js → avatar-group-M1opAQEG.js} +1 -1
  7. package/dist/avatar-group.js +1 -1
  8. package/dist/avatar.js +1 -1
  9. package/dist/badge-CjM5Agqk.js +119 -0
  10. package/dist/badge.js +1 -1
  11. package/dist/{bottom-sheet-DPJBFkie.js → bottom-sheet-DjZOPq4k.js} +10 -9
  12. package/dist/bottom-sheet.js +1 -1
  13. package/dist/{breadcrumbs-Cfw_hgt2.js → breadcrumbs-BDK_LiwH.js} +10 -3
  14. package/dist/breadcrumbs.js +1 -1
  15. package/dist/{button-C92uYFJW.js → button-NLY0h6EJ.js} +7 -7
  16. package/dist/button.js +1 -1
  17. package/dist/{calendar-B3Svu0X2.js → calendar-BzJdv_SZ.js} +3 -1
  18. package/dist/calendar.js +1 -1
  19. package/dist/card-Ca4KQKYQ.js +154 -0
  20. package/dist/card.js +1 -1
  21. package/dist/carousel-B7OrvD6J.js +474 -0
  22. package/dist/carousel.js +1 -1
  23. package/dist/{checkbox-cFquiSdy.js → checkbox-DKSzExj2.js} +16 -15
  24. package/dist/checkbox.js +1 -1
  25. package/dist/{chip-group-DTQd_M-G.js → chip-group-DjQ0_6Y9.js} +2 -1
  26. package/dist/chip-group.js +1 -1
  27. package/dist/{code-block-ahnRi-g8.js → code-block-B5we2lZa.js} +75 -74
  28. package/dist/code-block.js +1 -1
  29. package/dist/{combobox-Bhzvu9ma.js → combobox-DFFqOBCi.js} +114 -109
  30. package/dist/combobox.js +1 -1
  31. package/dist/command-palette-BmQu2w4H.js +391 -0
  32. package/dist/command-palette.js +1 -1
  33. package/dist/comment-thread-ASaXDcGo.js +1410 -0
  34. package/dist/comment-thread.js +2 -0
  35. package/dist/context-menu-__1c2Dk9.js +370 -0
  36. package/dist/context-menu.js +2 -0
  37. package/dist/{copy-button-ByiA6D3R.js → copy-button-DCSLcYS-.js} +1 -1
  38. package/dist/copy-button.js +1 -1
  39. package/dist/{date-picker-5zKSSuFF.js → date-picker-BiPN7yeK.js} +4 -4
  40. package/dist/date-picker.js +1 -1
  41. package/dist/date-range-picker-DQpUeKqV.js +570 -0
  42. package/dist/date-range-picker.js +1 -1
  43. package/dist/{dialog-ciiv9H2b.js → dialog-BX1zYMs-.js} +2 -1
  44. package/dist/dialog.js +1 -1
  45. package/dist/{divider-DYoJf0I_.js → divider-Cp7aNbhM.js} +21 -20
  46. package/dist/divider.js +1 -1
  47. package/dist/elastic-slider-BG6K019r.js +395 -0
  48. package/dist/elastic-slider.js +2 -0
  49. package/dist/{expandable-card-C-qJcZ14.js → expandable-card-rUATve0o.js} +8 -1
  50. package/dist/expandable-card.js +1 -1
  51. package/dist/expanding-search-BxOwtdwt.js +238 -0
  52. package/dist/expanding-search.js +2 -0
  53. package/dist/file-dropzone-BuXm3Tea.js +457 -0
  54. package/dist/file-dropzone.js +1 -1
  55. package/dist/{filter-toolbar-D5KEKTSe.js → filter-toolbar-Cy5Hqur-.js} +4 -2
  56. package/dist/filter-toolbar.js +1 -1
  57. package/dist/{hover-card-B-nrCIy2.js → hover-card-CoMJKg1g.js} +7 -7
  58. package/dist/hover-card.js +1 -1
  59. package/dist/{image-compare-ciuhPtQZ.js → image-compare-BxY8Ykzt.js} +1 -1
  60. package/dist/image-compare.js +1 -1
  61. package/dist/index.js +81 -76
  62. package/dist/{json-viewer-BcySQfjZ.js → json-viewer-DgWqyU75.js} +7 -3
  63. package/dist/json-viewer.js +1 -1
  64. package/dist/mention-input-sq61si9L.js +600 -0
  65. package/dist/mention-input.js +1 -1
  66. package/dist/menu-DDKgmK2F.js +295 -0
  67. package/dist/menu.js +1 -1
  68. package/dist/{metric-card-Bh9K4fZs.js → metric-card--lVTz5Wn.js} +2 -2
  69. package/dist/metric-card.js +1 -1
  70. package/dist/{multi-select-Pce_IYnz.js → multi-select-DG1BCFX7.js} +14 -6
  71. package/dist/multi-select.js +1 -1
  72. package/dist/{navigation-sP5fiuQS.js → navigation-CC26JDr-.js} +20 -14
  73. package/dist/navigation.js +1 -1
  74. package/dist/{overlay-layer-SeUyyEPD.js → overlay-layer-qEbpEtb8.js} +16 -2
  75. package/dist/{pagination-DmXZ8E85.js → pagination-BfkeWbmP.js} +23 -22
  76. package/dist/pagination.js +1 -1
  77. package/dist/pill-BaS-uIbn.js +58 -0
  78. package/dist/pill.js +1 -1
  79. package/dist/popover-CErIw2q3.js +125 -0
  80. package/dist/popover.js +1 -1
  81. package/dist/{progress-CbOWBUdA.js → progress-DAQkfhPd.js} +1 -1
  82. package/dist/progress.js +1 -1
  83. package/dist/{radio-cards-D2QZENI_.js → radio-cards-Cu9cBssN.js} +35 -34
  84. package/dist/radio-cards.js +1 -1
  85. package/dist/{radio-group-E6mMRgo7.js → radio-group-TIK0-iPX.js} +18 -15
  86. package/dist/radio-group.js +1 -1
  87. package/dist/{resizable-panels-BhjUVXZZ.js → resizable-panels-DUpQEpwG.js} +3 -2
  88. package/dist/resizable-panels.js +1 -1
  89. package/dist/{search-field-IxF0IJXm.js → search-field-DMvho0KQ.js} +2 -2
  90. package/dist/search-field.js +1 -1
  91. package/dist/{segmented-control-yO1K1nbi.js → segmented-control-8ZUGnsZm.js} +2 -1
  92. package/dist/segmented-control.js +1 -1
  93. package/dist/{select-n_H52W1Z.js → select-D5rhJ8gi.js} +3 -2
  94. package/dist/select.js +1 -1
  95. package/dist/{signature-pad-q2SAsrdD.js → signature-pad-_bTeguN9.js} +256 -251
  96. package/dist/signature-pad.js +1 -1
  97. package/dist/slider-DVG6-Awh.js +308 -0
  98. package/dist/slider.js +1 -1
  99. package/dist/{sortable-data-table-tirqlLY2.js → sortable-data-table-CYKT_Ng7.js} +2 -2
  100. package/dist/sortable-data-table.js +1 -1
  101. package/dist/{split-button-Cb3EHs64.js → split-button-BCw4zZom.js} +75 -81
  102. package/dist/split-button.js +1 -1
  103. package/dist/{swipe-actions-DiZC57-3.js → swipe-actions-CBuJREU1.js} +4 -2
  104. package/dist/swipe-actions.js +1 -1
  105. package/dist/switch-C1WrKrf-.js +145 -0
  106. package/dist/switch.js +1 -1
  107. package/dist/tabs-XluwRjgg.js +210 -0
  108. package/dist/tabs.js +1 -1
  109. package/dist/{text-field-C8TWG-tY.js → text-field-hU72iSVS.js} +15 -13
  110. package/dist/text-field.js +1 -1
  111. package/dist/{textarea-BrW0XcG_.js → textarea-3k4Y0QQ3.js} +18 -16
  112. package/dist/textarea.js +1 -1
  113. package/dist/theme-root.js +1 -1
  114. package/dist/theme-switch-C505TtU8.js +166 -0
  115. package/dist/theme-switch.js +2 -0
  116. package/dist/{time-picker-Db8D49cP.js → time-picker-CPlhW0tr.js} +26 -20
  117. package/dist/time-picker.js +1 -1
  118. package/dist/{timeline-k3nURuCP.js → timeline-B0uAAVfT.js} +8 -2
  119. package/dist/timeline.js +1 -1
  120. package/dist/{toast-BHxI32ZA.js → toast-B7wo3sX1.js} +98 -79
  121. package/dist/{toast-stack-DqrAzdg5.js → toast-stack-B40VpS4M.js} +18 -4
  122. package/dist/toast-stack.js +1 -1
  123. package/dist/toast.js +1 -1
  124. package/dist/{toggle-group-fcjzpifI.js → toggle-group-B2fpFZwV.js} +1 -1
  125. package/dist/toggle-group.js +1 -1
  126. package/dist/tooltip-BvgVTCTN.js +120 -0
  127. package/dist/tooltip.js +1 -1
  128. package/dist/{tree-view-C2liIxqy.js → tree-view-j8qLqkb_.js} +5 -1
  129. package/dist/tree-view.js +1 -1
  130. package/dist/types/components/checkbox/checkbox.d.ts +1 -1
  131. package/dist/types/components/command-palette/command-palette.d.ts +1 -1
  132. package/dist/types/components/comment-thread/comment-thread.d.ts +118 -0
  133. package/dist/types/components/comment-thread/index.d.ts +1 -0
  134. package/dist/types/components/comment-thread/thread-core.d.ts +96 -0
  135. package/dist/types/components/comment-thread/thread-parts.d.ts +114 -0
  136. package/dist/types/components/context-menu/context-menu.d.ts +55 -0
  137. package/dist/types/components/context-menu/index.d.ts +2 -0
  138. package/dist/types/components/date-range-picker/date-range-picker.d.ts +1 -1
  139. package/dist/types/components/elastic-slider/elastic-slider.d.ts +53 -0
  140. package/dist/types/components/elastic-slider/index.d.ts +1 -0
  141. package/dist/types/components/expanding-search/expanding-search.d.ts +22 -0
  142. package/dist/types/components/expanding-search/index.d.ts +1 -0
  143. package/dist/types/components/menu/menu.d.ts +50 -7
  144. package/dist/types/components/pagination/pagination.d.ts +1 -1
  145. package/dist/types/components/radio-cards/radio-cards.d.ts +1 -1
  146. package/dist/types/components/radio-group/radio-group.d.ts +1 -1
  147. package/dist/types/components/slider/slider-style.d.ts +14 -0
  148. package/dist/types/components/slider/slider.d.ts +2 -10
  149. package/dist/types/components/slider/use-slider-interaction.d.ts +79 -0
  150. package/dist/types/components/split-button/split-button.d.ts +2 -2
  151. package/dist/types/components/tabs/tabs.d.ts +1 -1
  152. package/dist/types/components/text-field/text-field.d.ts +1 -1
  153. package/dist/types/components/textarea/textarea.d.ts +1 -1
  154. package/dist/types/components/theme-switch/index.d.ts +1 -0
  155. package/dist/types/components/theme-switch/theme-switch.d.ts +33 -0
  156. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  157. package/dist/types/index.d.ts +5 -0
  158. package/dist/types/overlay/overlay-layer.d.ts +20 -0
  159. package/dist/types/overlay/use-overlay-floating.d.ts +9 -2
  160. package/dist/{use-overlay-floating-DvJifLpF.js → use-overlay-floating-Bx2jBKAA.js} +8 -6
  161. package/dist/use-slider-interaction-ChL-208h.js +234 -0
  162. package/package.json +22 -2
  163. package/dist/accordion-xCI_u0BV.js +0 -198
  164. package/dist/avatar-BahDVO9t.js +0 -132
  165. package/dist/badge-B_sLygxU.js +0 -108
  166. package/dist/card-D-aI2QHx.js +0 -158
  167. package/dist/carousel-IvPqN-oM.js +0 -472
  168. package/dist/command-palette-BQ5LleGb.js +0 -384
  169. package/dist/date-range-picker-B5uFWsm-.js +0 -562
  170. package/dist/file-dropzone-pR4v7owg.js +0 -457
  171. package/dist/mention-input-BcQKX2EJ.js +0 -599
  172. package/dist/menu-xwOOUtWP.js +0 -275
  173. package/dist/pill-DO2gHzMb.js +0 -56
  174. package/dist/popover-QHcEvf9c.js +0 -119
  175. package/dist/slider-t0B5cecO.js +0 -477
  176. package/dist/switch-qwv8jQnR.js +0 -142
  177. package/dist/tabs-CAVJndX1.js +0 -203
  178. package/dist/tooltip-CkeiW9C1.js +0 -113
  179. package/dist/{theme-root-BbTBuLMQ.js → theme-root-Bs1U3uPA.js} +2 -2
@@ -1,562 +0,0 @@
1
- 'use client';
2
- import { r as e, t } from "./sx-Dx9JUKp5.js";
3
- import { n } from "./focus-ring-BK5W5_NY.js";
4
- import { n as r, r as i } from "./media-8yrN85VT.js";
5
- import { n as ee } from "./roving-focus-CYlo_Kf8.js";
6
- import { t as te } from "./use-controlled-state-DpeVQZNR.js";
7
- import { t as a } from "./renderable-DzcIj1Lo.js";
8
- import { t as o } from "./button-C92uYFJW.js";
9
- import { n as s } from "./surface-DZ4d-2aL.js";
10
- import { n as c, r as l } from "./overlay-layer-SeUyyEPD.js";
11
- import { a as u, c as d, d as f, f as p, i as m, l as h, n as g, o as _, r as v, s as y, t as b, u as x } from "./calendar-B3Svu0X2.js";
12
- import { t as ne } from "./overlay-portal-C4JZFq2M.js";
13
- import { t as re } from "./use-overlay-floating-DvJifLpF.js";
14
- import { createContext as S, useCallback as ie, useContext as C, useEffect as ae, useId as oe, useLayoutEffect as se, useMemo as w, useRef as T, useState as E } from "react";
15
- import { vars as D } from "@jfrader/tokens/vars";
16
- import { Fragment as O, jsx as k, jsxs as A } from "@emotion/react/jsx-runtime";
17
- import { FloatingFocusManager as j, useClick as M, useInteractions as N, useMergeRefs as ce, useRole as P } from "@floating-ui/react";
18
- //#region src/components/date-range-picker/date-range-picker.tsx
19
- var F = "bottom-start", I = 712, L = 864e5, le = /* @__PURE__ */ new Set(["Enter", "ArrowDown"]), ue = " ", R = "[data-ui=\"calendar-day\"]", z = `${R}[tabindex="0"]`, B = {
20
- itemSelector: "[data-ui=\"date-range-picker-preset\"]:not([aria-disabled=\"true\"])",
21
- ownerSelector: "[data-ui=\"date-range-picker-presets\"]"
22
- }, de = [], fe = {
23
- ...g,
24
- dateStyle: "medium"
25
- }, V = S(null);
26
- function H(e) {
27
- let t = C(V);
28
- if (!t) throw Error(`DateRangePicker.${e} must be rendered inside <DateRangePicker>.`);
29
- return t;
30
- }
31
- var pe = (e) => e != null && d(e.start) && d(e.end) && e.start <= e.end, me = (e, t, n) => pe(e) && h(e.start, t, n) && h(e.end, t, n), he = (e, t) => e === t || e !== null && t !== null && e.start === t.start && e.end === t.end, U = (e, t) => e <= t ? {
32
- start: e,
33
- end: t
34
- } : {
35
- start: t,
36
- end: e
37
- }, W = ({ start: e, end: t }) => Math.round((m(t).getTime() - m(e).getTime()) / L) + 1;
38
- function ge() {
39
- let e = /* @__PURE__ */ new Date();
40
- return x(u(e.getFullYear(), e.getMonth(), e.getDate()));
41
- }
42
- var _e = (e, { start: t, end: n }) => e.formatRange(m(t), m(n)), G = (e) => {
43
- let t = e?.querySelector(z) ?? null;
44
- return t?.focus({ preventScroll: !0 }), t;
45
- }, K = e({
46
- appearance: "none",
47
- display: "inline-flex",
48
- alignItems: "center",
49
- gap: D.space[2],
50
- boxSizing: "border-box",
51
- maxInlineSize: "100%",
52
- border: `1px solid ${D.color.borderControl}`,
53
- borderRadius: D.radius.md,
54
- backgroundColor: D.color.surfaceRaised,
55
- font: "inherit",
56
- fontWeight: D.fontWeight.medium,
57
- color: D.color.text,
58
- textAlign: "start",
59
- cursor: "pointer",
60
- transitionProperty: "background-color, border-color",
61
- transitionDuration: D.motion.duration.fast,
62
- transitionTimingFunction: D.motion.easeStandard,
63
- "&:hover:not(:disabled)": { backgroundColor: D.color.surfaceHover },
64
- "&:focus-visible": { ...n },
65
- "&[aria-invalid=\"true\"]:not(:focus-visible)": { borderColor: D.color.dangerText },
66
- "&:disabled": {
67
- opacity: .55,
68
- cursor: "not-allowed"
69
- },
70
- [i]: { transitionDuration: "0s" }
71
- }), q = {
72
- sm: e({
73
- minBlockSize: D.space[8],
74
- paddingInline: D.space[3],
75
- fontSize: D.textSize.sm
76
- }),
77
- md: e({
78
- minBlockSize: D.space[10],
79
- paddingInline: D.space[4],
80
- fontSize: D.textSize.sm
81
- }),
82
- lg: e({
83
- minBlockSize: D.space[12],
84
- paddingInline: D.space[4],
85
- fontSize: D.textSize.md
86
- })
87
- }, J = e({
88
- display: "inline-flex",
89
- flexShrink: 0,
90
- color: D.color.textMuted,
91
- "& > svg": {
92
- inlineSize: "1em",
93
- blockSize: "1em"
94
- }
95
- }), Y = e({ color: D.color.textMuted }), X = e({
96
- display: "block",
97
- marginBlockStart: D.space[2],
98
- fontSize: D.textSize.xs,
99
- color: D.color.dangerText
100
- }), ve = e({
101
- ...s,
102
- display: "grid",
103
- gap: D.space[4],
104
- borderRadius: D.radius.lg,
105
- boxShadow: D.shadow.overlay,
106
- padding: D.space[4],
107
- overflow: "auto",
108
- "&[data-layout=\"rail\"]": { gridTemplateColumns: "auto 1fr" },
109
- [r]: { border: "1px solid CanvasText" }
110
- }), ye = e({
111
- display: "flex",
112
- gap: D.space[2],
113
- "[data-layout=\"row\"] > &": {
114
- overflowX: "auto",
115
- paddingBlock: D.space[1]
116
- },
117
- "[data-layout=\"rail\"] > &": {
118
- flexDirection: "column",
119
- gridRow: "1 / span 2",
120
- paddingInlineEnd: D.space[4],
121
- borderInlineEnd: `1px solid ${D.color.border}`
122
- }
123
- }), be = e({
124
- appearance: "none",
125
- flexShrink: 0,
126
- minBlockSize: D.space[8],
127
- paddingInline: D.space[3],
128
- border: "1px solid transparent",
129
- borderRadius: D.radius.md,
130
- backgroundColor: "transparent",
131
- font: "inherit",
132
- fontSize: D.textSize.sm,
133
- color: D.color.text,
134
- textAlign: "start",
135
- whiteSpace: "nowrap",
136
- cursor: "pointer",
137
- transitionProperty: "background-color, border-color",
138
- transitionDuration: D.motion.duration.fast,
139
- transitionTimingFunction: D.motion.easeStandard,
140
- "&:hover:not([aria-disabled=\"true\"])": { backgroundColor: D.color.surfaceHover },
141
- "&[aria-pressed=\"true\"]": {
142
- backgroundColor: D.color.accentSoft,
143
- borderColor: D.color.accentBorder
144
- },
145
- "&[aria-disabled=\"true\"]": {
146
- opacity: .55,
147
- cursor: "not-allowed"
148
- },
149
- "&:focus-visible": { ...n },
150
- [i]: { transitionDuration: "0s" },
151
- [r]: { "&[aria-pressed=\"true\"]": { borderColor: "Highlight" } }
152
- }), xe = e({
153
- display: "flex",
154
- flexWrap: "wrap",
155
- alignItems: "flex-start",
156
- gap: D.space[6]
157
- }), Se = e({
158
- display: "flex",
159
- flexWrap: "wrap",
160
- alignItems: "center",
161
- justifyContent: "space-between",
162
- gap: D.space[3],
163
- "[data-layout=\"rail\"] > &": { gridColumn: 2 }
164
- }), Ce = e({
165
- fontSize: D.textSize.sm,
166
- color: D.color.textMuted
167
- }), we = e({
168
- display: "flex",
169
- gap: D.space[2],
170
- marginInlineStart: "auto"
171
- });
172
- function Z({ nodeId: e, value: t, defaultValue: n, onValueChange: r, open: i, defaultOpen: ee = !1, onOpenChange: a, min: o, max: s, locale: c, firstDayOfWeek: u, today: f, months: p = "auto", boundary: m, presets: h = de, disabled: v = !1, readOnly: y = !1, required: b = !1, startName: x, endName: ne, messages: S, children: ie }) {
173
- let [C = null, oe, se] = te(t, n ?? null, r), [D = !1, O] = te(i, ee, a), j = D && !v, [ce, I] = E(null), [L, le] = E(null), ue = T(null), R = T(!1), z = T(null), B = w(() => new Intl.DateTimeFormat(c ?? _(), g).resolvedOptions().locale, [c]), H = w(() => new Intl.DateTimeFormat(B, fe), [B]), U = pe(C) ? C : null, W = d(o) ? o : void 0, G = d(s) ? s : void 0, K = C !== null && U === null || W !== void 0 && G !== void 0 && W > G, q = d(f) ? f : ge(), { refs: J, floatingStyles: Y, context: X } = re({
174
- open: j,
175
- placement: F,
176
- nodeId: e,
177
- boundary: m,
178
- onAvailableSize: (e) => le((t) => t?.width === e.width && t.height === e.height ? t : e),
179
- onOpenChange: (e, t, n) => {
180
- if (v && e) return;
181
- let r = z.current;
182
- z.current = n === "outside-press" && t?.target instanceof Element ? t.target : null;
183
- let i = n === "focus-out" && t instanceof FocusEvent ? t.relatedTarget : null;
184
- r && i instanceof Node && i.contains(r) || (e || (R.current = n === "escape-key"), O(e));
185
- }
186
- });
187
- ae(() => {
188
- !j && R.current && (R.current = !1, J.domReference.current?.focus());
189
- }, [j, J]);
190
- let ve = M(X, {
191
- enabled: !v,
192
- keyboardHandlers: !1
193
- }), ye = l(X, "container"), be = P(X, { role: "dialog" }), { getReferenceProps: xe, getFloatingProps: Se } = N([
194
- ve,
195
- ...ye,
196
- be
197
- ]), Ce = w(() => U ? _e(H, U) : void 0, [H, U]), we = w(() => {
198
- let e = (e) => {
199
- he(e, C) || oe(e);
200
- };
201
- return {
202
- open: j,
203
- disabled: v,
204
- readOnly: y,
205
- required: b,
206
- invalid: K,
207
- value: U,
208
- displayValue: Ce,
209
- min: W,
210
- max: G,
211
- locale: B,
212
- firstDayOfWeek: u,
213
- today: q,
214
- months: p,
215
- presets: h,
216
- messages: S,
217
- availableSize: L,
218
- triggerLabelling: ce,
219
- contentRef: ue,
220
- refs: J,
221
- floatingContext: X,
222
- floatingStyles: Y,
223
- getReferenceProps: xe,
224
- getFloatingProps: Se,
225
- requestOpen: () => {
226
- v || O(!0);
227
- },
228
- apply: (t) => {
229
- v || y || !me(t, W, G) || (e(t), R.current = !0, O(!1));
230
- },
231
- cancel: () => {
232
- R.current = !0, O(!1);
233
- },
234
- resetValue: () => {
235
- t === void 0 ? se() : e(n ?? null);
236
- },
237
- setTriggerLabelling: I
238
- };
239
- }, [
240
- j,
241
- v,
242
- y,
243
- b,
244
- K,
245
- C,
246
- U,
247
- Ce,
248
- W,
249
- G,
250
- B,
251
- u,
252
- q,
253
- p,
254
- h,
255
- S,
256
- L,
257
- ce,
258
- J,
259
- X,
260
- Y,
261
- xe,
262
- Se,
263
- oe,
264
- O,
265
- se,
266
- t,
267
- n
268
- ]);
269
- return /* @__PURE__ */ A(V.Provider, {
270
- value: we,
271
- children: [
272
- ie,
273
- x !== void 0 && /* @__PURE__ */ k("input", {
274
- type: "hidden",
275
- name: x,
276
- value: U?.start ?? "",
277
- disabled: v
278
- }),
279
- ne !== void 0 && /* @__PURE__ */ k("input", {
280
- type: "hidden",
281
- name: ne,
282
- value: U?.end ?? "",
283
- disabled: v
284
- })
285
- ]
286
- });
287
- }
288
- function Te(e) {
289
- return /* @__PURE__ */ k(c, { children: (t) => /* @__PURE__ */ k(Z, {
290
- ...e,
291
- nodeId: t
292
- }) });
293
- }
294
- Te.displayName = "DateRangePicker";
295
- function Ee({ ref: e, id: n, size: r = "md", icon: i, placeholder: ee, className: te, sx: o, onKeyDown: s, onKeyUp: c, "aria-label": l, "aria-labelledby": u, "aria-describedby": d, "aria-invalid": f, ...p }) {
296
- let { open: m, disabled: h, readOnly: g, required: _, invalid: v, displayValue: y, messages: b, contentRef: x, refs: ne, getReferenceProps: re, requestOpen: S, resetValue: ie, setTriggerLabelling: C } = H("Trigger"), w = T(null), E = ce([
297
- ne.setReference,
298
- e,
299
- w
300
- ]), D = oe(), j = n ?? D, M = `${j}-value`, N = `${j}-required`, P = `${j}-error`, F = _ && a(b.required), I = v || f, L = (I === !0 || I === "true") && a(b.error);
301
- se(() => (C(u === void 0 ? l === void 0 ? null : { label: l } : { labelledBy: u }), () => C(null)), [
302
- u,
303
- l,
304
- C
305
- ]);
306
- let R = T(ie);
307
- ae(() => {
308
- R.current = ie;
309
- }), ae(() => {
310
- let e = w.current?.form;
311
- if (!e) return;
312
- let t = () => R.current();
313
- return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
314
- }, []);
315
- let z = u ?? (l === void 0 ? void 0 : j), B = z === void 0 ? void 0 : [
316
- z,
317
- M,
318
- F ? N : void 0
319
- ].filter(Boolean).join(" "), de = [d, L ? P : void 0].filter(Boolean).join(" ") || void 0, fe = () => {
320
- h || (m ? G(x.current) : S());
321
- }, V = (e) => {
322
- s?.(e), !(e.defaultPrevented || h) && (e.key === ue ? e.preventDefault() : le.has(e.key) && (e.preventDefault(), fe()));
323
- }, pe = (e) => {
324
- c?.(e), !(e.defaultPrevented || h || e.key !== ue) && fe();
325
- };
326
- return /* @__PURE__ */ A(O, { children: [/* @__PURE__ */ k(t, {
327
- className: te,
328
- styles: [K, q[r]],
329
- sx: o,
330
- children: (e) => /* @__PURE__ */ A("button", {
331
- type: "button",
332
- ...re({
333
- ...p,
334
- onKeyDown: V,
335
- onKeyUp: pe
336
- }),
337
- ref: E,
338
- id: j,
339
- disabled: h,
340
- "aria-label": l,
341
- "aria-labelledby": B,
342
- "aria-describedby": de,
343
- "aria-invalid": I,
344
- "data-ui": "date-range-picker",
345
- "data-state": m ? "open" : "closed",
346
- "data-size": r,
347
- "data-readonly": g || void 0,
348
- "data-required": _ || void 0,
349
- className: e,
350
- children: [
351
- a(i) && /* @__PURE__ */ k("span", {
352
- "aria-hidden": "true",
353
- css: J,
354
- children: i
355
- }),
356
- y === void 0 ? /* @__PURE__ */ k("span", {
357
- id: M,
358
- "data-placeholder": "",
359
- css: Y,
360
- children: ee
361
- }) : /* @__PURE__ */ k("span", {
362
- id: M,
363
- children: y
364
- }),
365
- F && /* @__PURE__ */ k("span", {
366
- id: N,
367
- hidden: !0,
368
- children: b.required
369
- })
370
- ]
371
- })
372
- }), L && /* @__PURE__ */ k("span", {
373
- id: P,
374
- role: "alert",
375
- "data-ui": "date-range-picker-error",
376
- css: X,
377
- children: b.error
378
- })] });
379
- }
380
- Ee.displayName = "DateRangePicker.Trigger";
381
- function Q(e) {
382
- let { open: t } = H("Content");
383
- return t ? /* @__PURE__ */ k(De, { ...e }) : null;
384
- }
385
- Q.displayName = "DateRangePicker.Content";
386
- function De({ ref: e, dir: n, style: r, className: i, sx: te, slotProps: a, "aria-label": s, "aria-labelledby": c, "aria-describedby": l, ...u }) {
387
- let { readOnly: d, value: m, min: g, max: _, locale: x, firstDayOfWeek: re, today: S, months: C, presets: D, messages: O, availableSize: M, triggerLabelling: N, contentRef: P, refs: F, floatingContext: L, floatingStyles: le, getFloatingProps: ue, apply: z, cancel: de } = H("Content"), V = oe(), pe = w(() => new Intl.DateTimeFormat(x, fe), [x]), ge = w(() => new Intl.NumberFormat(x), [x]), K = (e) => e != null && h(e, g, _), q = g === void 0 || _ === void 0 || g <= _ ? K(m?.start) ? m.start : v(_ !== void 0 && S > _ ? y(f(_)) : S, g, _) : null, [J, Y] = E(m), [X, Z] = E(!1), [Te, Ee] = E(m);
388
- he(Te, m) || (Ee(m), Y(m), Z(!1));
389
- let [Q, De] = E(q), [Oe, ke] = E(null), [Ae, je] = E(null), Me = T(null), Ne = M?.width ?? F.domReference.current?.ownerDocument.documentElement.clientWidth ?? 0, $ = C === "auto" ? Ne >= I ? 2 : 1 : C, [Pe, Fe] = E(f(q ?? v(S, g, void 0))), Ie = Array.from({ length: $ }, (e, t) => p(Pe, t)), Le = Ie[Ie.length - 1] ?? Pe, Re = (e) => f(e) >= Pe && f(e) <= Le, ze = (e, t = $) => {
390
- let n = f(e);
391
- n < Pe ? Fe(n) : n > p(Pe, t - 1) && Fe(p(n, 1 - t));
392
- }, [Be, Ve] = E($);
393
- Be !== $ && (Ve($), Q !== null && ze(Q, $));
394
- let He = [
395
- Q,
396
- J?.start,
397
- S
398
- ].find((e) => K(e) && Re(e)) ?? Ie.map((e) => v(y(e), g, _)).find((e) => Re(e) && K(e)) ?? null, Ue = Oe ?? Q, We = X && J && K(Ue) ? U(J.start, Ue) : null, Ge = We ?? J;
399
- ae(() => {
400
- let e = Me.current;
401
- if (e === null) return;
402
- Me.current = null;
403
- let t = P.current?.querySelector(`${R}[data-date="${e}"]`);
404
- t && t.ownerDocument.activeElement !== t && t.focus();
405
- });
406
- let Ke = (e) => {
407
- De(e), ke(null), ze(e);
408
- let t = P.current?.ownerDocument.activeElement;
409
- Me.current = t instanceof HTMLElement && t.dataset.date === e ? null : e;
410
- }, qe = (e) => {
411
- d || (X && J ? (Y(U(J.start, e)), Z(!1)) : (Y({
412
- start: e,
413
- end: e
414
- }), Z(!0)));
415
- }, Je = (e) => {
416
- let t = e.target.closest(R);
417
- ke(t && !t.disabled ? t.dataset.date ?? null : null);
418
- }, Ye = D.map((e) => {
419
- let t = e.range(S);
420
- return {
421
- preset: e,
422
- range: t,
423
- enabled: !d && me(t, g, _)
424
- };
425
- }), Xe = Ye.find((e) => e.enabled && e.preset.id === Ae) ?? Ye.find((e) => e.enabled), Ze = (e) => {
426
- Y(e), Z(!1), De(e.start), ze(e.start);
427
- }, Qe = T(null), $e = ie((e) => {
428
- P.current = e, e && !Qe.current && (Qe.current = G(e));
429
- }, [P]), et = ce([
430
- F.setFloating,
431
- e,
432
- $e
433
- ]), tt = L.elements.domReference, [nt, rt] = E();
434
- se(() => {
435
- rt(tt?.ownerDocument.defaultView?.getComputedStyle(tt).direction);
436
- }, [tt]);
437
- let it = c !== void 0 || s !== void 0 ? {
438
- "aria-labelledby": c,
439
- "aria-label": s
440
- } : N?.labelledBy === void 0 ? { "aria-label": N?.label } : { "aria-labelledby": N.labelledBy }, at = $ === 2 ? "rail" : "row", ot = !d && me(J, g, _);
441
- return /* @__PURE__ */ k(ne, { children: /* @__PURE__ */ k(j, {
442
- context: L,
443
- modal: !1,
444
- initialFocus: Qe,
445
- returnFocus: !1,
446
- children: /* @__PURE__ */ k(t, {
447
- className: i,
448
- styles: ve,
449
- sx: te,
450
- children: (e) => /* @__PURE__ */ A("div", {
451
- ...ue({
452
- ...it,
453
- "aria-describedby": [l, V].filter(Boolean).join(" "),
454
- ...u
455
- }),
456
- ref: et,
457
- dir: n ?? nt,
458
- "data-ui": "date-range-picker-content",
459
- "data-layout": at,
460
- style: {
461
- ...r,
462
- ...le,
463
- ...M && {
464
- maxInlineSize: M.width,
465
- maxBlockSize: M.height
466
- }
467
- },
468
- className: e,
469
- children: [
470
- Ye.length > 0 && /* @__PURE__ */ k("div", {
471
- role: "group",
472
- "aria-label": O.presets,
473
- "data-ui": "date-range-picker-presets",
474
- className: a?.presets?.className,
475
- css: [ye, a?.presets?.css],
476
- onKeyDown: (e) => ee(e, e.currentTarget, at === "rail" ? "vertical" : "horizontal", B),
477
- children: Ye.map(({ preset: e, range: t, enabled: n }) => /* @__PURE__ */ k("button", {
478
- type: "button",
479
- "data-ui": "date-range-picker-preset",
480
- "aria-disabled": !n || void 0,
481
- "aria-pressed": n && he(t, J) && !X,
482
- tabIndex: e === Xe?.preset ? 0 : -1,
483
- onFocus: () => je(e.id),
484
- onClick: () => {
485
- n && Ze(t);
486
- },
487
- css: be,
488
- children: e.label
489
- }, e.id))
490
- }),
491
- /* @__PURE__ */ k("div", {
492
- "data-ui": "date-range-picker-calendars",
493
- className: a?.calendars?.className,
494
- css: [xe, a?.calendars?.css],
495
- children: Ie.map((e, t) => /* @__PURE__ */ A(b, {
496
- visibleMonth: e,
497
- onVisibleMonthChange: (e) => Fe(p(e, -t)),
498
- min: g,
499
- max: _,
500
- locale: x,
501
- firstDayOfWeek: re,
502
- today: S,
503
- selectionRange: J,
504
- previewRange: We,
505
- tabStopDate: He !== null && f(He) === e ? He : null,
506
- onDayActivate: qe,
507
- onFocusedDateChange: Ke,
508
- rangeLabels: {
509
- start: O.start,
510
- end: O.end
511
- },
512
- children: [/* @__PURE__ */ k(b.Header, {}), /* @__PURE__ */ k(b.Grid, {
513
- onPointerMove: Je,
514
- onPointerLeave: () => ke(null)
515
- })]
516
- }, t))
517
- }),
518
- /* @__PURE__ */ A("div", {
519
- "data-ui": "date-range-picker-footer",
520
- css: Se,
521
- children: [/* @__PURE__ */ k("span", {
522
- id: V,
523
- role: "status",
524
- "data-ui": "date-range-picker-summary",
525
- className: a?.summary?.className,
526
- css: [Ce, a?.summary?.css],
527
- children: Ge ? O.summary({
528
- range: _e(pe, Ge),
529
- days: W(Ge),
530
- formattedDays: ge.format(W(Ge))
531
- }) : O.empty
532
- }), /* @__PURE__ */ A("div", {
533
- "data-ui": "date-range-picker-actions",
534
- className: a?.actions?.className,
535
- css: [we, a?.actions?.css],
536
- children: [/* @__PURE__ */ k(o, {
537
- variant: "ghost",
538
- size: "sm",
539
- onClick: de,
540
- children: O.cancel
541
- }), /* @__PURE__ */ k(o, {
542
- tone: "accent",
543
- size: "sm",
544
- disabled: !ot,
545
- onClick: () => {
546
- ot && z(J);
547
- },
548
- children: O.apply
549
- })]
550
- })]
551
- })
552
- ]
553
- })
554
- })
555
- }) });
556
- }
557
- var Oe = Object.assign(Te, {
558
- Trigger: Ee,
559
- Content: Q
560
- });
561
- //#endregion
562
- export { Oe as t };