@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
@@ -0,0 +1,166 @@
1
+ 'use client';
2
+ import { r as e, t } from "./sx-Dx9JUKp5.js";
3
+ import { n, r } from "./media-8yrN85VT.js";
4
+ import { t as i } from "./use-controlled-state-DpeVQZNR.js";
5
+ import { t as a } from "./visually-hidden-BJdvqqvn.js";
6
+ import { t as o } from "./renderable-DzcIj1Lo.js";
7
+ import { t as s } from "./switch-C1WrKrf-.js";
8
+ import { useId as c, useState as l } from "react";
9
+ import { vars as u } from "@jfrader/tokens/vars";
10
+ import { jsx as d, jsxs as f } from "@emotion/react/jsx-runtime";
11
+ //#region src/components/theme-switch/theme-switch.tsx
12
+ var p = e({
13
+ display: "inline-flex",
14
+ alignItems: "center",
15
+ gap: u.space[2],
16
+ maxInlineSize: "100%",
17
+ minInlineSize: 0,
18
+ "&:has(input:disabled) [data-ui=\"theme-switch-icon-frame\"]": { cursor: "not-allowed" }
19
+ }), m = e({
20
+ minBlockSize: u.space[8],
21
+ justifyContent: "center"
22
+ }), h = e({
23
+ display: "inline-grid",
24
+ flexShrink: 0,
25
+ inlineSize: u.space[5],
26
+ blockSize: u.space[5],
27
+ alignItems: "center",
28
+ justifyItems: "center",
29
+ cursor: "pointer",
30
+ "&[data-animated=\"true\"]": {
31
+ transitionProperty: "transform",
32
+ transitionDuration: u.motion.duration.slow,
33
+ transitionTimingFunction: u.motion.easeStandard
34
+ },
35
+ [r]: {
36
+ transform: "none !important",
37
+ transitionDuration: "0s !important"
38
+ },
39
+ [n]: { color: "CanvasText" }
40
+ }), g = e({
41
+ gridArea: "1 / 1",
42
+ display: "inline-flex",
43
+ inlineSize: "100%",
44
+ blockSize: "100%",
45
+ opacity: 0,
46
+ transform: "rotate(-30deg) scale(.8)",
47
+ "&[data-active=\"true\"]": {
48
+ opacity: 1,
49
+ transform: "none"
50
+ },
51
+ "&[data-animated=\"true\"]": {
52
+ transitionProperty: "opacity, transform",
53
+ transitionDuration: u.motion.duration.base,
54
+ transitionTimingFunction: u.motion.easeStandard
55
+ },
56
+ [r]: {
57
+ transform: "none",
58
+ transitionDuration: "0s !important"
59
+ }
60
+ }), _ = {
61
+ reveal: e({ "&[data-value=\"dark\"]": { transform: "scale(1.08)" } }),
62
+ eclipse: e({
63
+ "&[data-value=\"dark\"]": { transform: `translateX(calc(${u.space[1]} / -2))` },
64
+ "&:dir(rtl)[data-value=\"dark\"]": { transform: `translateX(calc(${u.space[1]} / 2))` }
65
+ }),
66
+ split: e({
67
+ "&[data-value=\"dark\"]": { transform: `translateX(calc(${u.space[1]} / 4))` },
68
+ "&:dir(rtl)[data-value=\"dark\"]": { transform: `translateX(calc(${u.space[1]} / -4))` }
69
+ }),
70
+ rise: e({ "&[data-value=\"dark\"]": { transform: `translateY(calc(${u.space[1]} / -2))` } })
71
+ }, v = /* @__PURE__ */ f("svg", {
72
+ viewBox: "0 0 24 24",
73
+ fill: "none",
74
+ stroke: "currentColor",
75
+ strokeWidth: "2",
76
+ focusable: "false",
77
+ children: [/* @__PURE__ */ d("circle", {
78
+ cx: "12",
79
+ cy: "12",
80
+ r: "4"
81
+ }), /* @__PURE__ */ d("path", { d: "M12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5" })]
82
+ }), y = /* @__PURE__ */ d("svg", {
83
+ viewBox: "0 0 24 24",
84
+ fill: "none",
85
+ stroke: "currentColor",
86
+ strokeWidth: "2",
87
+ focusable: "false",
88
+ children: /* @__PURE__ */ d("path", { d: "M20 15A9 9 0 0 1 9 4a9 9 0 1 0 11 11Z" })
89
+ });
90
+ function b({ value: e, defaultValue: n = "light", onValueChange: r, label: u, iconOnly: b = !1, lightIcon: x = v, darkIcon: S = y, transition: C = "reveal", loading: w = !1, className: T, sx: E, slotProps: D, onChange: O, onClick: k, dir: A, id: j, ...M }) {
91
+ let N = c(), P = j ?? N, { iconFrame: F, lightIcon: I, darkIcon: L, ...R } = D ?? {}, [z, B] = i(e, n), [V, H] = l(!1), U = o(u) && u !== "", W = o(x) && x !== "", G = o(S) && S !== "", K = w || M["aria-disabled"] === !0 || M["aria-disabled"] === "true";
92
+ return /* @__PURE__ */ d(t, {
93
+ className: T,
94
+ styles: p,
95
+ sx: E,
96
+ children: (e) => /* @__PURE__ */ f("span", {
97
+ "data-ui": "theme-switch",
98
+ "data-value": z,
99
+ "data-transition": C,
100
+ dir: A,
101
+ className: e,
102
+ children: [(W || G) && /* @__PURE__ */ f("label", {
103
+ htmlFor: P,
104
+ "aria-hidden": "true",
105
+ "data-ui": "theme-switch-icon-frame",
106
+ "data-value": z,
107
+ "data-animated": V,
108
+ className: F?.className,
109
+ css: [
110
+ h,
111
+ _[C],
112
+ F?.css
113
+ ],
114
+ children: [W && /* @__PURE__ */ d("span", {
115
+ "data-ui": "theme-switch-light-icon",
116
+ "data-active": z === "light",
117
+ "data-animated": V,
118
+ className: I?.className,
119
+ css: [g, I?.css],
120
+ children: x
121
+ }), G && /* @__PURE__ */ d("span", {
122
+ "data-ui": "theme-switch-dark-icon",
123
+ "data-active": z === "dark",
124
+ "data-animated": V,
125
+ className: L?.className,
126
+ css: [g, L?.css],
127
+ children: S
128
+ })]
129
+ }), /* @__PURE__ */ d(s, {
130
+ ...M,
131
+ id: P,
132
+ dir: A,
133
+ checked: z === "dark",
134
+ "aria-busy": w || M["aria-busy"],
135
+ "aria-disabled": K || M["aria-disabled"],
136
+ description: M.description === "" ? void 0 : M.description,
137
+ slotProps: {
138
+ ...R,
139
+ root: {
140
+ ...R.root,
141
+ css: [m, R.root?.css]
142
+ }
143
+ },
144
+ onClick: (e) => {
145
+ k?.(e), K && e.preventDefault();
146
+ },
147
+ onChange: (e) => {
148
+ if (O?.(e), e.defaultPrevented || e.nativeEvent.defaultPrevented || K) return;
149
+ let t = e.currentTarget.checked ? "dark" : "light";
150
+ t !== z && (H(!0), B(t), r?.(t, {
151
+ transition: C,
152
+ trigger: e.currentTarget,
153
+ reducedMotion: e.currentTarget.ownerDocument.defaultView?.matchMedia("(prefers-reduced-motion: reduce)").matches ?? !1
154
+ }));
155
+ },
156
+ label: U ? /* @__PURE__ */ d("span", {
157
+ css: b && a,
158
+ children: u
159
+ }) : void 0
160
+ })]
161
+ })
162
+ });
163
+ }
164
+ b.displayName = "ThemeSwitch";
165
+ //#endregion
166
+ export { b as t };
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export { t as ThemeSwitch } from "./theme-switch-C505TtU8.js";
@@ -5,7 +5,7 @@ import { t as r } from "./use-controlled-state-DpeVQZNR.js";
5
5
  import { t as i } from "./renderable-DzcIj1Lo.js";
6
6
  import { t as a } from "./icon-wrapper-stN8sD7R.js";
7
7
  import { a as o } from "./field-anatomy-COVdNpf5.js";
8
- import { t as s } from "./select-n_H52W1Z.js";
8
+ import { t as s } from "./select-D5rhJ8gi.js";
9
9
  import { useEffect as c, useId as ee, useMemo as te, useRef as l, useState as ne } from "react";
10
10
  import { vars as u } from "@jfrader/tokens/vars";
11
11
  import { createElement as re } from "@emotion/react";
@@ -89,8 +89,8 @@ var de = e({
89
89
  "&[aria-selected=\"true\"]": { border: "1px solid Highlight" }
90
90
  }
91
91
  });
92
- function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h, defaultOpen: g = !1, onOpenChange: b, minuteStep: x = 15, min: S, max: C, locale: ye, hourCycle: w, label: T, description: E, error: D, placeholder: be, size: xe = "md", disabled: Se = !1, readOnly: O = !1, required: k = !1, name: Ce, icon: A, slotProps: j, className: we, sx: Te, dir: M, id: Ee, onClick: De, onKeyDown: Oe, onBlur: ke, ...N }) {
93
- let P = l(u).current, [F = "", I, L] = r(n, P, m), [Ae = !1, je] = r(h, g, b), R = Se || j?.control?.disabled === !0, z = R || O, B = Ae && !z, V = l(null), H = l(null), [U, Me] = ne(null), W = l(!1), Ne = p([
92
+ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h, defaultOpen: g = !1, onOpenChange: b, minuteStep: x = 15, min: ye, max: be, locale: S, hourCycle: C, label: w, description: T, error: E, placeholder: xe, size: Se = "md", disabled: Ce = !1, readOnly: D = !1, required: O = !1, name: k, icon: A, slotProps: j, className: we, sx: Te, dir: M, id: Ee, onClick: De, onKeyDown: Oe, onBlur: ke, ...N }) {
93
+ let P = l(u).current, [F = "", I, L] = r(n, P, m), [Ae = !1, je] = r(h, g, b), R = Ce || j?.control?.disabled === !0, z = R || D, B = Ae && !z, V = l(null), H = l(null), [U, Me] = ne(null), W = l(!1), Ne = p([
94
94
  V,
95
95
  e,
96
96
  j?.control?.ref
@@ -98,12 +98,12 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
98
98
  H,
99
99
  Me,
100
100
  j?.content?.ref
101
- ]), G = `${ee()}-label`, K = te(() => new Intl.DateTimeFormat(ye ?? le(), {
101
+ ]), G = `${ee()}-label`, K = te(() => new Intl.DateTimeFormat(S ?? le(), {
102
102
  hour: "numeric",
103
103
  minute: "2-digit",
104
104
  timeZone: "UTC",
105
- ...w === void 0 ? {} : { hourCycle: w }
106
- }), [ye, w]), q = _(S), J = _(C), Y = S !== void 0 && q === void 0 || C !== void 0 && J === void 0 || q !== void 0 && J !== void 0 && q > J, X = te(() => Y ? [] : Array.from({ length: ie / x }, (e, t) => t * x).filter((e) => e >= (q ?? 0) && e <= (J ?? 1439)).map((e) => ({
105
+ ...C === void 0 ? {} : { hourCycle: C }
106
+ }), [S, C]), q = _(ye), J = _(be), Y = ye !== void 0 && q === void 0 || be !== void 0 && J === void 0 || q !== void 0 && J !== void 0 && q > J, X = te(() => Y ? [] : Array.from({ length: ie / x }, (e, t) => t * x).filter((e) => e >= (q ?? 0) && e <= (J ?? 1439)).map((e) => ({
107
107
  time: e,
108
108
  value: ue(e),
109
109
  label: K.format(/* @__PURE__ */ new Date(e * ae))
@@ -115,15 +115,15 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
115
115
  K
116
116
  ]), Z = _(F), Fe = Y || F !== "" && Z === void 0, Q = j?.control, $ = o({
117
117
  id: Ee ?? Q?.id,
118
- description: E,
119
- error: D,
118
+ description: T,
119
+ error: E,
120
120
  "aria-describedby": [N["aria-describedby"], Q?.["aria-describedby"]].filter(Boolean).join(" ") || void 0,
121
121
  "aria-invalid": Fe ? !0 : N["aria-invalid"] ?? Q?.["aria-invalid"]
122
122
  }), Ie = [
123
123
  N["aria-labelledby"],
124
124
  Q?.["aria-labelledby"],
125
- i(T) && G
126
- ].filter(Boolean).join(" ") || void 0, Le = Z === void 0 ? be : K.format(/* @__PURE__ */ new Date(Z * ae));
125
+ i(w) && G
126
+ ].filter(Boolean).join(" ") || void 0, Le = Z === void 0 ? xe : K.format(/* @__PURE__ */ new Date(Z * ae));
127
127
  return c(() => {
128
128
  let e = V.current?.form;
129
129
  if (!e) return;
@@ -192,12 +192,12 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
192
192
  dir: M ?? j?.root?.dir,
193
193
  "data-ui": "time-picker",
194
194
  children: [
195
- i(T) && /* @__PURE__ */ f("label", {
195
+ i(w) && /* @__PURE__ */ f("label", {
196
196
  ...j?.label,
197
197
  id: G,
198
198
  htmlFor: $.id,
199
199
  css: [fe, j?.label?.css],
200
- children: [T, k && /* @__PURE__ */ f("span", {
200
+ children: [w, O && /* @__PURE__ */ f("span", {
201
201
  "aria-hidden": !0,
202
202
  css: y,
203
203
  children: [" ", "*"]
@@ -210,7 +210,6 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
210
210
  onOpenChange: (e) => {
211
211
  !z && (X.length > 0 || !e) && je(e);
212
212
  },
213
- name: Ce,
214
213
  disabled: R,
215
214
  children: [/* @__PURE__ */ f(s.Trigger, {
216
215
  ...Q,
@@ -223,11 +222,11 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
223
222
  "aria-labelledby": Ie,
224
223
  "aria-describedby": $.describedBy,
225
224
  "aria-invalid": $.ariaInvalid,
226
- "aria-readonly": O || N["aria-readonly"] || Q?.["aria-readonly"],
227
- "aria-required": k || N["aria-required"] || Q?.["aria-required"],
225
+ "aria-readonly": D || N["aria-readonly"] || Q?.["aria-readonly"],
226
+ "aria-required": O || N["aria-required"] || Q?.["aria-required"],
228
227
  css: [
229
228
  me,
230
- he[xe],
229
+ he[Se],
231
230
  Q?.css
232
231
  ],
233
232
  onClick: void 0,
@@ -283,18 +282,25 @@ function b({ ref: e, value: n, defaultValue: u = oe, onValueChange: m, open: h,
283
282
  }, e.label))
284
283
  })]
285
284
  }),
286
- i(E) && /* @__PURE__ */ d("span", {
285
+ k !== void 0 && /* @__PURE__ */ d("input", {
286
+ type: "hidden",
287
+ name: k,
288
+ value: F,
289
+ disabled: R,
290
+ form: N.form ?? Q?.form
291
+ }),
292
+ i(T) && /* @__PURE__ */ d("span", {
287
293
  ...j?.description,
288
294
  id: $.descriptionId,
289
295
  css: [pe, j?.description?.css],
290
- children: E
296
+ children: T
291
297
  }),
292
- i(D) && /* @__PURE__ */ d("span", {
298
+ i(E) && /* @__PURE__ */ d("span", {
293
299
  ...j?.error,
294
300
  id: $.errorId,
295
301
  role: "alert",
296
302
  css: [y, j?.error?.css],
297
- children: D
303
+ children: E
298
304
  })
299
305
  ]
300
306
  })
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- export { t as TimePicker } from "./time-picker-Db8D49cP.js";
2
+ export { t as TimePicker } from "./time-picker-CPlhW0tr.js";
@@ -8,7 +8,7 @@ import { t as c } from "./use-controlled-state-DpeVQZNR.js";
8
8
  import { t as l } from "./visually-hidden-BJdvqqvn.js";
9
9
  import { t as u } from "./renderable-DzcIj1Lo.js";
10
10
  import { t as d } from "./icon-wrapper-stN8sD7R.js";
11
- import { t as f } from "./avatar-BahDVO9t.js";
11
+ import { t as f } from "./avatar-CaGJHy1N.js";
12
12
  import { t as p } from "./part-id-D0zksy32.js";
13
13
  import { useEffect as ee, useId as te, useLayoutEffect as ne, useMemo as m, useRef as h, useState as re } from "react";
14
14
  import { vars as g } from "@jfrader/tokens/vars";
@@ -309,7 +309,13 @@ var M = "(prefers-reduced-motion: reduce)", _e = (e) => e.ownerDocument.defaultV
309
309
  transitionDuration: "0s",
310
310
  "&::after": { transitionDuration: "0s" }
311
311
  },
312
- [a]: { "&:focus-visible": { outlineColor: "Highlight" } }
312
+ [a]: {
313
+ "&:focus-visible": { outlineColor: "Highlight" },
314
+ "&::after": {
315
+ forcedColorAdjust: "none",
316
+ color: "ButtonText"
317
+ }
318
+ }
313
319
  }), Me = t({
314
320
  fontSize: g.textSize.xs,
315
321
  color: g.color.textMuted
package/dist/timeline.js CHANGED
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- export { t as Timeline } from "./timeline-k3nURuCP.js";
2
+ export { t as Timeline } from "./timeline-B0uAAVfT.js";
@@ -2,7 +2,7 @@
2
2
  import { r as e, t } from "./sx-Dx9JUKp5.js";
3
3
  import { n, r } from "./media-8yrN85VT.js";
4
4
  import { t as i } from "./renderable-DzcIj1Lo.js";
5
- import { t as a } from "./button-C92uYFJW.js";
5
+ import { t as a } from "./button-NLY0h6EJ.js";
6
6
  import { i as o, t as s } from "./theme-scope-t7nAKc2c.js";
7
7
  import { t as c } from "./spinner-DtxvDPdM.js";
8
8
  import { createContext as l, useCallback as u, useContext as d, useEffect as f, useId as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
@@ -48,7 +48,7 @@ var C = 4, w = 5e3, T = "Dismiss", E = 100, D = "min(380px, calc(100vw - 32px))"
48
48
  },
49
49
  [r]: {
50
50
  transitionDuration: "0s",
51
- transform: "none"
51
+ "&[data-state=\"closing\"]": { transform: "none" }
52
52
  },
53
53
  [n]: {
54
54
  backgroundColor: "Canvas",
@@ -65,7 +65,8 @@ var C = 4, w = 5e3, T = "Dismiss", E = 100, D = "min(380px, calc(100vw - 32px))"
65
65
  display: "grid",
66
66
  gap: v.space[1],
67
67
  alignSelf: "center",
68
- minInlineSize: 0
68
+ minInlineSize: 0,
69
+ overflowWrap: "anywhere"
69
70
  }), F = e({
70
71
  margin: 0,
71
72
  fontSize: v.textSize.sm,
@@ -83,28 +84,40 @@ var C = 4, w = 5e3, T = "Dismiss", E = 100, D = "min(380px, calc(100vw - 32px))"
83
84
  gridColumn: "1 / -1",
84
85
  display: "flex",
85
86
  gap: v.space[2]
87
+ }), B = e({
88
+ minInlineSize: 0,
89
+ maxInlineSize: "100%",
90
+ blockSize: "auto",
91
+ minBlockSize: "32px",
92
+ paddingBlock: v.space[2],
93
+ whiteSpace: "normal",
94
+ overflowWrap: "anywhere"
86
95
  });
87
- function B(e) {
96
+ function V(e) {
88
97
  let t = d(A);
89
98
  if (!t) throw Error(`Toast.${e} must be rendered inside <Toast.Provider>.`);
90
99
  return t;
91
100
  }
92
- function V() {
101
+ function H() {
93
102
  let e = d(k);
94
103
  if (!e) throw Error("useToast() must be called inside <Toast.Provider>.");
95
104
  return e;
96
105
  }
97
- function H({ children: e, max: t = C, duration: n = w, dismissLabel: r = T }) {
98
- let i = p(), a = g(0), [o, s] = _([]), c = g([]), l = g(/* @__PURE__ */ new Map()), d = g(null), f = g(0), v = u(() => (f.current += 1, process.env.NODE_ENV !== "production" && f.current > 1 && console.warn("Mount only one Toast queue renderer per provider."), () => {
99
- --f.current;
100
- }), []), y = Math.max(1, Math.floor(Number.isFinite(t) ? t : C)), x = u((e, t) => {
101
- t ? l.current.set(e, t) : l.current.delete(e);
102
- }, []), S = u((e, t) => {
106
+ function U({ children: e, max: t = C, duration: n = w, dismissLabel: r = T }) {
107
+ let i = p(), a = g(0), [o, s] = _([]), c = g([]), l = g(!0), d = g(/* @__PURE__ */ new Map()), f = g(null), v = g(0);
108
+ m(() => (l.current = !0, () => {
109
+ l.current = !1;
110
+ }), []);
111
+ let y = u(() => (v.current += 1, process.env.NODE_ENV !== "production" && v.current > 1 && console.warn("Mount only one Toast queue renderer per provider."), () => {
112
+ --v.current;
113
+ }), []), x = Math.max(1, Math.floor(Number.isFinite(t) ? t : C)), S = u((e, t) => {
114
+ t ? d.current.set(e, t) : d.current.delete(e);
115
+ }, []), E = u((e, t) => {
103
116
  for (let n of e) {
104
- let e = l.current.get(n.id);
117
+ let e = d.current.get(n.id);
105
118
  if (!e?.contains(e.ownerDocument.activeElement)) continue;
106
119
  let r = e.closest("[data-ui=\"toast-stack-list\"], [data-ui=\"toast-viewport\"]") ?? e.parentElement;
107
- r && (d.current = {
120
+ r && (f.current = {
108
121
  container: r,
109
122
  ids: new Set(t.filter((e) => e.state === "open").map((e) => e.id))
110
123
  });
@@ -112,26 +125,29 @@ function H({ children: e, max: t = C, duration: n = w, dismissLabel: r = T }) {
112
125
  }
113
126
  }, []);
114
127
  m(() => {
115
- let e = d.current;
116
- e && (d.current = null, Array.from(e.container.querySelectorAll("[data-ui=\"toast\"]")).find((t) => e.ids.has(t.dataset.toastId))?.querySelector("[data-toast-dismiss]")?.focus());
128
+ let e = f.current;
129
+ e && (f.current = null, Array.from(e.container.querySelectorAll("[data-ui=\"toast\"]")).find((t) => e.ids.has(t.dataset.toastId))?.querySelector("[data-toast-dismiss]")?.focus());
117
130
  }, [o]);
118
- let E = u((e) => {
131
+ let D = u((e) => {
119
132
  a.current += 1;
120
- let t = `${i}toast-${a.current}`, r = {
133
+ let t = `${i}toast-${a.current}`;
134
+ if (!l.current) return t;
135
+ let r = {
121
136
  id: t,
122
137
  options: {
123
138
  ...e,
124
139
  duration: e.duration === void 0 ? e.loading ? null : n : e.duration
125
140
  },
126
141
  state: "open"
127
- }, o = c.current, l = [...o, r].slice(-y);
128
- return S(o.filter((e) => !l.includes(e)), l), c.current = l, s(l), t;
142
+ }, o = c.current, u = [...o, r].slice(-x);
143
+ return E(o.filter((e) => !u.includes(e)), u), c.current = u, s(u), t;
129
144
  }, [
130
145
  i,
131
- y,
146
+ x,
132
147
  n,
133
- S
134
- ]), D = u((e, t) => {
148
+ E
149
+ ]), O = u((e, t) => {
150
+ if (!l.current) return;
135
151
  let r = c.current.map((r) => {
136
152
  if (r.id !== e || r.state !== "open") return r;
137
153
  let i = {
@@ -144,52 +160,54 @@ function H({ children: e, max: t = C, duration: n = w, dismissLabel: r = T }) {
144
160
  };
145
161
  });
146
162
  c.current = r, s(r);
147
- }, [n]), O = u((e) => {
163
+ }, [n]), j = u((e) => {
164
+ if (!l.current) return;
148
165
  let t = c.current;
149
- S(t.filter((t) => t.id === e), t.filter((t) => t.id !== e));
166
+ E(t.filter((t) => t.id === e), t.filter((t) => t.id !== e));
150
167
  let n = t.map((t) => t.id === e && t.state === "open" ? {
151
168
  ...t,
152
169
  state: "closing"
153
170
  } : t);
154
171
  c.current = n, s(n);
155
- }, [S]), j = u((e) => {
172
+ }, [E]), M = u((e) => {
173
+ if (!l.current) return;
156
174
  let t = c.current, n = t.filter((t) => t.id !== e);
157
- S(t.filter((t) => t.id === e), n), c.current = n, s(n);
158
- }, [S]), M = h(() => ({
159
- toast: E,
160
- dismiss: O,
161
- update: D
175
+ E(t.filter((t) => t.id === e), n), c.current = n, s(n);
176
+ }, [E]), N = h(() => ({
177
+ toast: D,
178
+ dismiss: j,
179
+ update: O
162
180
  }), [
163
- E,
164
- O,
165
- D
166
- ]), N = h(() => ({
181
+ D,
182
+ j,
183
+ O
184
+ ]), P = h(() => ({
167
185
  toasts: o,
168
- dismiss: O,
169
- remove: j,
170
- registerRoot: x,
186
+ dismiss: j,
187
+ remove: M,
188
+ registerRoot: S,
171
189
  dismissLabel: r,
172
- registerRenderer: v
190
+ registerRenderer: y
173
191
  }), [
174
192
  o,
175
- O,
176
193
  j,
177
- x,
194
+ M,
195
+ S,
178
196
  r,
179
- v
197
+ y
180
198
  ]);
181
199
  return /* @__PURE__ */ b(k.Provider, {
182
- value: M,
200
+ value: N,
183
201
  children: /* @__PURE__ */ b(A.Provider, {
184
- value: N,
202
+ value: P,
185
203
  children: e
186
204
  })
187
205
  });
188
206
  }
189
- H.displayName = "Toast.Provider";
190
- function U({ ref: e, className: n, sx: r, ...i }) {
191
- let { toasts: a, registerRenderer: o } = B("Viewport");
192
- return f(o, [o]), /* @__PURE__ */ b(W, { children: /* @__PURE__ */ b(t, {
207
+ U.displayName = "Toast.Provider";
208
+ function W({ ref: e, className: n, sx: r, ...i }) {
209
+ let { toasts: a, registerRenderer: o } = V("Viewport");
210
+ return f(o, [o]), /* @__PURE__ */ b(G, { children: /* @__PURE__ */ b(t, {
193
211
  className: n,
194
212
  styles: j,
195
213
  sx: r,
@@ -198,11 +216,11 @@ function U({ ref: e, className: n, sx: r, ...i }) {
198
216
  ref: e,
199
217
  "data-ui": "toast-viewport",
200
218
  className: t,
201
- children: a.map((e) => /* @__PURE__ */ b(G, { record: e }, e.id))
219
+ children: a.map((e) => /* @__PURE__ */ b(K, { record: e }, e.id))
202
220
  })
203
221
  }) });
204
222
  }
205
- function W({ children: e, contained: t = !1 }) {
223
+ function G({ children: e, contained: t = !1 }) {
206
224
  let n = g(null), [r, i] = _(null), a = o()?.portalContainer, c = a === void 0 ? r : a;
207
225
  return f(() => {
208
226
  i(n.current?.ownerDocument.body ?? null);
@@ -211,32 +229,32 @@ function W({ children: e, contained: t = !1 }) {
211
229
  ref: n
212
230
  }), t ? e : c && S(/* @__PURE__ */ b(s, { children: e }), c)] });
213
231
  }
214
- U.displayName = "Toast.Viewport";
215
- function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o, escapeDismiss: s = !1 }) {
216
- let { dismiss: l, remove: d, registerRoot: p, dismissLabel: m } = B("Viewport"), { id: h, options: v, state: S } = e, { title: C, description: w, tone: T = "neutral", action: D, loading: O } = v, k = v.duration, A = g(null), j = u((e) => {
232
+ W.displayName = "Toast.Viewport";
233
+ function K({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o, escapeDismiss: s = !1 }) {
234
+ let { dismiss: l, remove: d, registerRoot: p, dismissLabel: m } = V("Viewport"), { id: h, options: v, state: S } = e, { title: C, description: w, tone: T = "neutral", action: D, loading: O } = v, k = v.duration, A = g(null), j = u((e) => {
217
235
  A.current = e, p(h, e);
218
- }, [h, p]), [V, H] = _(!1), [U, W] = _(!1), [G, q] = _(!1), J = g(k ?? 0), [Y, X] = _(!1);
236
+ }, [h, p]), [H, U] = _(!1), [W, G] = _(!1), [K, J] = _(!1), Y = g(k ?? 0), [X, Z] = _(!1);
219
237
  f(() => {
220
238
  let e = A.current?.ownerDocument;
221
239
  if (!e) return;
222
- let t = () => X(e.hidden);
240
+ let t = () => Z(e.hidden);
223
241
  return t(), e.addEventListener("visibilitychange", t), () => e.removeEventListener("visibilitychange", t);
224
242
  }, []), f(() => {
225
- J.current = k ?? 0;
243
+ Y.current = k ?? 0;
226
244
  }, [k]), f(() => {
227
- if (!t || V) return;
228
- let e = setTimeout(() => H(!0), E);
245
+ if (!t || H) return;
246
+ let e = setTimeout(() => U(!0), E);
229
247
  return () => clearTimeout(e);
230
- }, [t, V]);
231
- let Z = V && t && !n && !Y && S === "open" && k !== null && !U && !G;
248
+ }, [t, H]);
249
+ let Q = H && t && !n && !X && S === "open" && k !== null && !W && !K;
232
250
  return f(() => {
233
- if (!Z) return;
234
- let e = performance.now(), t = setTimeout(() => l(h), J.current);
251
+ if (!Q) return;
252
+ let e = performance.now(), t = setTimeout(() => l(h), Y.current);
235
253
  return () => {
236
- clearTimeout(t), J.current -= performance.now() - e;
254
+ clearTimeout(t), Y.current -= performance.now() - e;
237
255
  };
238
256
  }, [
239
- Z,
257
+ Q,
240
258
  l,
241
259
  h,
242
260
  k
@@ -265,13 +283,13 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
265
283
  "data-ui": "toast",
266
284
  "data-tone": T,
267
285
  "data-state": S,
268
- "data-populated": V,
286
+ "data-populated": H,
269
287
  "data-exposed": t,
270
- onPointerEnter: () => W(!0),
271
- onPointerLeave: () => W(!1),
272
- onFocus: () => q(!0),
288
+ onPointerEnter: () => G(!0),
289
+ onPointerLeave: () => G(!1),
290
+ onFocus: () => J(!0),
273
291
  onBlur: (e) => {
274
- e.currentTarget.contains(e.relatedTarget) || q(!1);
292
+ e.currentTarget.contains(e.relatedTarget) || J(!1);
275
293
  },
276
294
  css: [M, N[T]],
277
295
  children: [
@@ -279,7 +297,7 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
279
297
  role: T === "danger" ? "alert" : "status",
280
298
  "aria-atomic": "true",
281
299
  css: P,
282
- children: V && /* @__PURE__ */ x(y, { children: [i(C) && /* @__PURE__ */ b("div", {
300
+ children: H && /* @__PURE__ */ x(y, { children: [i(C) && /* @__PURE__ */ b("div", {
283
301
  css: F,
284
302
  children: C
285
303
  }), i(w) && /* @__PURE__ */ b("div", {
@@ -292,7 +310,7 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
292
310
  label: "",
293
311
  size: "sm"
294
312
  }),
295
- (V || s && t) && /* @__PURE__ */ x("div", {
313
+ (H || s && t) && /* @__PURE__ */ x("div", {
296
314
  css: R,
297
315
  children: [/* @__PURE__ */ b(a, {
298
316
  variant: "ghost",
@@ -301,7 +319,7 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
301
319
  "data-toast-dismiss": "",
302
320
  onClick: () => l(h),
303
321
  css: L,
304
- children: /* @__PURE__ */ b(K, {})
322
+ children: /* @__PURE__ */ b(q, {})
305
323
  }), D && /* @__PURE__ */ b("div", {
306
324
  css: z,
307
325
  children: /* @__PURE__ */ b(a, {
@@ -310,6 +328,7 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
310
328
  onClick: (e) => {
311
329
  D?.onClick(e), e.defaultPrevented || l(h);
312
330
  },
331
+ css: B,
313
332
  children: D.label
314
333
  })
315
334
  })]
@@ -317,7 +336,7 @@ function G({ record: e, exposed: t = !0, paused: n = !1, style: r, className: o,
317
336
  ]
318
337
  });
319
338
  }
320
- function K() {
339
+ function q() {
321
340
  return /* @__PURE__ */ x("svg", {
322
341
  "aria-hidden": "true",
323
342
  viewBox: "0 0 16 16",
@@ -340,13 +359,13 @@ function K() {
340
359
  })]
341
360
  });
342
361
  }
343
- function q(e) {
344
- return /* @__PURE__ */ b(H, { ...e });
362
+ function J(e) {
363
+ return /* @__PURE__ */ b(U, { ...e });
345
364
  }
346
- q.displayName = "Toast";
347
- var J = Object.assign(q, {
348
- Provider: H,
349
- Viewport: U
365
+ J.displayName = "Toast";
366
+ var Y = Object.assign(J, {
367
+ Provider: U,
368
+ Viewport: W
350
369
  });
351
370
  //#endregion
352
- export { V as a, W as i, J as n, B as o, G as r, D as t };
371
+ export { H as a, G as i, Y as n, V as o, K as r, D as t };