@jfrader/ui 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +3 -1
  2. package/dist/accordion-CkOZ-tvs.js +178 -0
  3. package/dist/accordion.js +2 -1
  4. package/dist/alert-Dsjx14UW.js +131 -0
  5. package/dist/alert.js +2 -1
  6. package/dist/avatar-BRGKkoSr.js +127 -0
  7. package/dist/avatar.js +2 -1
  8. package/dist/badge-DLxUMsCx.js +104 -0
  9. package/dist/badge.js +2 -1
  10. package/dist/breadcrumbs-694hF_hm.js +131 -0
  11. package/dist/breadcrumbs.js +2 -1
  12. package/dist/button-CoaIcykB.js +190 -0
  13. package/dist/button.js +2 -1
  14. package/dist/calendar-Doj7PTdG.js +379 -0
  15. package/dist/calendar.js +2 -1
  16. package/dist/card-2IM71XZj.js +134 -0
  17. package/dist/card.js +2 -1
  18. package/dist/checkbox-B7xGNFzp.js +136 -0
  19. package/dist/checkbox.js +2 -1
  20. package/dist/{choice-control-DCyQ_hVw.js → choice-control-ByFogYcT.js} +2 -1
  21. package/dist/{collection-registry-C2jnQa7X.js → collection-registry-1l9f3XJZ.js} +3 -2
  22. package/dist/combobox-Bjhxv5U3.js +311 -0
  23. package/dist/combobox.js +2 -1
  24. package/dist/command-palette-BhJwm6cS.js +344 -0
  25. package/dist/command-palette.js +2 -1
  26. package/dist/container-BhnrGPu-.js +36 -0
  27. package/dist/container.js +2 -1
  28. package/dist/{css-CW_HG55W.js → css-Cgj6sCHn.js} +1 -0
  29. package/dist/date-picker-Jk8SpoiO.js +245 -0
  30. package/dist/date-picker.js +2 -1
  31. package/dist/dialog-fhS07G41.js +187 -0
  32. package/dist/dialog.js +2 -1
  33. package/dist/{disclosure-caret-BC6P8AsM.js → disclosure-caret-C5T3fcl6.js} +1 -0
  34. package/dist/divider-v_78HYF5.js +79 -0
  35. package/dist/divider.js +2 -1
  36. package/dist/{field-anatomy-DKkB268x.js → field-anatomy-BzGw1Ch9.js} +4 -3
  37. package/dist/flex-COZzFqI8.js +22 -0
  38. package/dist/flex.js +2 -1
  39. package/dist/{focus-ring-qOS3rPlM.js → focus-ring-BK5W5_NY.js} +1 -0
  40. package/dist/{icon-wrapper-BKo4FI-O.js → icon-wrapper-CFWzew5m.js} +2 -1
  41. package/dist/index.js +37 -36
  42. package/dist/kbd-CeP8Kfvp.js +61 -0
  43. package/dist/kbd.js +2 -1
  44. package/dist/{layout-style-B_6YHQ6Q.js → layout-style-7ZTOiWGR.js} +2 -1
  45. package/dist/{loading-ring-CTpT-IrT.js → loading-ring-BpdB0aFi.js} +2 -1
  46. package/dist/{media-8K3xDAxM.js → media-D_eA_I-e.js} +1 -0
  47. package/dist/menu-B6KCbLCr.js +196 -0
  48. package/dist/menu.js +2 -1
  49. package/dist/navigation-BDht6S2-.js +182 -0
  50. package/dist/navigation.js +2 -1
  51. package/dist/pagination-B50PCaDU.js +151 -0
  52. package/dist/pagination.js +2 -1
  53. package/dist/{part-id-Bg1LSlk7.js → part-id-D0zksy32.js} +1 -0
  54. package/dist/pill-2_XzBdkD.js +51 -0
  55. package/dist/pill.js +2 -1
  56. package/dist/popover-DRHbeIVq.js +103 -0
  57. package/dist/popover.js +2 -1
  58. package/dist/progress-CpsskKTD.js +85 -0
  59. package/dist/progress.js +2 -1
  60. package/dist/radio-group-DPI5KUCj.js +136 -0
  61. package/dist/radio-group.js +2 -1
  62. package/dist/{renderable-DwPvt1I8.js → renderable-DzcIj1Lo.js} +1 -0
  63. package/dist/{roving-focus-DeEZ55-T.js → roving-focus-CYlo_Kf8.js} +1 -0
  64. package/dist/select-C1xGrOhT.js +266 -0
  65. package/dist/select.js +2 -1
  66. package/dist/skeleton-DitdP-yz.js +49 -0
  67. package/dist/skeleton.js +2 -1
  68. package/dist/spinner-CFq5HPoo.js +51 -0
  69. package/dist/spinner.js +2 -1
  70. package/dist/stack-D_g6NJzo.js +21 -0
  71. package/dist/stack.js +2 -1
  72. package/dist/{surface-Bo_aSQOb.js → surface-DZ4d-2aL.js} +1 -0
  73. package/dist/switch-B5TTU-oJ.js +138 -0
  74. package/dist/switch.js +2 -1
  75. package/dist/tabs-C26PWl2c.js +183 -0
  76. package/dist/tabs.js +2 -1
  77. package/dist/text-field-8PQAqRpM.js +75 -0
  78. package/dist/text-field.js +2 -1
  79. package/dist/textarea-CcGWuntL.js +85 -0
  80. package/dist/textarea.js +2 -1
  81. package/dist/theme-root-BRLIA4eb.js +22 -0
  82. package/dist/theme-root.js +2 -1
  83. package/dist/toast-B1PXuwZ4.js +277 -0
  84. package/dist/toast.js +2 -1
  85. package/dist/toggle-group-N_owicT0.js +156 -0
  86. package/dist/toggle-group.js +2 -1
  87. package/dist/tooltip-BJPisf60.js +98 -0
  88. package/dist/tooltip.js +2 -1
  89. package/dist/{trigger-style-f54idgjT.js → trigger-style-B1GFmH7M.js} +2 -1
  90. package/dist/types/components/accordion/accordion.d.ts +13 -9
  91. package/dist/types/components/alert/alert.d.ts +6 -3
  92. package/dist/types/components/avatar/avatar.d.ts +6 -3
  93. package/dist/types/components/badge/badge.d.ts +6 -3
  94. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +8 -5
  95. package/dist/types/components/button/button.d.ts +6 -3
  96. package/dist/types/components/calendar/calendar.d.ts +11 -7
  97. package/dist/types/components/card/card.d.ts +20 -13
  98. package/dist/types/components/checkbox/checkbox.d.ts +6 -3
  99. package/dist/types/components/combobox/combobox.d.ts +12 -8
  100. package/dist/types/components/command-palette/command-palette.d.ts +22 -15
  101. package/dist/types/components/container/container.d.ts +6 -3
  102. package/dist/types/components/date-picker/date-picker.d.ts +6 -4
  103. package/dist/types/components/dialog/dialog.d.ts +16 -11
  104. package/dist/types/components/divider/divider.d.ts +6 -3
  105. package/dist/types/components/flex/flex.d.ts +6 -3
  106. package/dist/types/components/kbd/kbd.d.ts +8 -5
  107. package/dist/types/components/menu/menu.d.ts +13 -9
  108. package/dist/types/components/navigation/navigation.d.ts +11 -7
  109. package/dist/types/components/pagination/pagination.d.ts +6 -3
  110. package/dist/types/components/pill/pill.d.ts +6 -3
  111. package/dist/types/components/popover/popover.d.ts +7 -5
  112. package/dist/types/components/progress/progress.d.ts +6 -3
  113. package/dist/types/components/radio-group/radio-group.d.ts +8 -5
  114. package/dist/types/components/select/select.d.ts +13 -9
  115. package/dist/types/components/skeleton/skeleton.d.ts +6 -3
  116. package/dist/types/components/spinner/spinner.d.ts +6 -3
  117. package/dist/types/components/stack/stack.d.ts +4 -1
  118. package/dist/types/components/switch/switch.d.ts +6 -3
  119. package/dist/types/components/tabs/tabs.d.ts +14 -9
  120. package/dist/types/components/text-field/text-field.d.ts +6 -3
  121. package/dist/types/components/textarea/textarea.d.ts +6 -3
  122. package/dist/types/components/theme-root/theme-root.d.ts +6 -3
  123. package/dist/types/components/toast/toast.d.ts +6 -4
  124. package/dist/types/components/toggle-group/toggle-group.d.ts +7 -5
  125. package/dist/types/components/tooltip/tooltip.d.ts +7 -5
  126. package/dist/types/overlay/use-native-dialog.d.ts +2 -2
  127. package/dist/{use-controlled-state-DQXkiTQI.js → use-controlled-state-CVXDa-qM.js} +1 -0
  128. package/dist/{use-native-dialog-BCp1chwO.js → use-native-dialog-DWpIUVO1.js} +1 -0
  129. package/dist/{use-overlay-floating-CsZd3qxa.js → use-overlay-floating-efeqppiw.js} +1 -0
  130. package/dist/{visually-hidden-BXVyhj0y.js → visually-hidden-DCWhf0Cb.js} +2 -1
  131. package/package.json +4 -4
  132. package/dist/accordion-Dl-kvgPQ.js +0 -168
  133. package/dist/alert-BzntPa_5.js +0 -129
  134. package/dist/avatar-Dk2ES3ru.js +0 -124
  135. package/dist/badge-DZefC7rm.js +0 -102
  136. package/dist/breadcrumbs-5MCZ_Jr3.js +0 -125
  137. package/dist/button-qy-50NPd.js +0 -187
  138. package/dist/calendar-DcCAiN3b.js +0 -372
  139. package/dist/card-L-Z_1vZN.js +0 -120
  140. package/dist/checkbox-B7em7B-6.js +0 -134
  141. package/dist/combobox-DQcXR94r.js +0 -301
  142. package/dist/command-palette-BRJ8A5De.js +0 -328
  143. package/dist/container-COHiEjI8.js +0 -34
  144. package/dist/date-picker-D1GwiRB9.js +0 -239
  145. package/dist/dialog-CYf9fCZO.js +0 -175
  146. package/dist/divider-bi7OgCI5.js +0 -76
  147. package/dist/flex-CDFDDaiu.js +0 -21
  148. package/dist/kbd-DpiJgDJ2.js +0 -55
  149. package/dist/menu-A9fZUaAG.js +0 -186
  150. package/dist/navigation-Cemnmc_J.js +0 -174
  151. package/dist/pagination-orCjUsn_.js +0 -148
  152. package/dist/pill-Dg2JJHHW.js +0 -49
  153. package/dist/popover-D_YU34WS.js +0 -97
  154. package/dist/progress-XdvBG0Vv.js +0 -83
  155. package/dist/radio-group-CxMJ2Vq7.js +0 -130
  156. package/dist/select-mwFbmzsn.js +0 -256
  157. package/dist/skeleton-qas9ZKK9.js +0 -47
  158. package/dist/spinner-ros2CfIf.js +0 -49
  159. package/dist/stack-Hs8THnIL.js +0 -20
  160. package/dist/switch-E375Bz4X.js +0 -135
  161. package/dist/tabs-CBwRiuul.js +0 -173
  162. package/dist/text-field-BlP8qGn_.js +0 -73
  163. package/dist/textarea-CUG26CH2.js +0 -83
  164. package/dist/theme-root-CrdzwfSo.js +0 -20
  165. package/dist/toast-D_dnqnn-.js +0 -270
  166. package/dist/toggle-group-B7gXCea8.js +0 -150
  167. package/dist/tooltip-BJ2hLV1b.js +0 -92
@@ -1,301 +0,0 @@
1
- import { t as e } from "./css-CW_HG55W.js";
2
- import { n as t, t as n } from "./use-controlled-state-DQXkiTQI.js";
3
- import { t as r } from "./renderable-DwPvt1I8.js";
4
- import { a as i, c as a, d as o, f as s, l as c, o as l, r as u, s as d, t as f, u as p } from "./collection-registry-C2jnQa7X.js";
5
- import { t as m } from "./use-overlay-floating-CsZd3qxa.js";
6
- import { t as h } from "./text-field-BlP8qGn_.js";
7
- import { createContext as g, forwardRef as _, useCallback as v, useContext as y, useId as ee, useLayoutEffect as b, useMemo as x, useRef as S, useState as C } from "react";
8
- import { vars as w } from "@jfrader/tokens/vars";
9
- import { jsx as T, jsxs as E } from "@emotion/react/jsx-runtime";
10
- import { FloatingList as D, FloatingPortal as O, useDismiss as te, useInteractions as k, useListNavigation as A, useMergeRefs as j } from "@floating-ui/react";
11
- //#region src/components/combobox/combobox.tsx
12
- var M = "bottom-start", N = "✓", P = "No results", F = (e, t) => e.toLocaleLowerCase().includes(t.toLocaleLowerCase()), I = g(null), L = g(!1);
13
- function R(e) {
14
- let t = y(I);
15
- if (!t) throw Error(`Combobox.${e} must be rendered inside <Combobox>.`);
16
- return t;
17
- }
18
- function z(e) {
19
- let t = R(e);
20
- if (!y(L)) throw Error(`Combobox.${e} must be rendered inside <Combobox.List>.`);
21
- return t;
22
- }
23
- var B = e({ "&[hidden]": { display: "none" } }), V = e({
24
- paddingBlock: w.space[1],
25
- paddingInline: w.space[2],
26
- fontSize: w.textSize.sm,
27
- color: w.color.textMuted
28
- });
29
- function H({ value: e, defaultValue: r, onValueChange: a, open: o, defaultOpen: s = !1, onOpenChange: c, name: l, filter: u = F, onInputChange: d, children: f }) {
30
- let p = ee(), [h, g] = C(`${p}-listbox`), [_, y] = C(!1), [b = null, w] = n(e, r ?? null, a), [D = !1, O] = n(o, s, c), [j, N] = C(null), [P, L] = C(""), [R, z] = i(), [B, V] = C(null), H = S([]), U = S(null), W = t(d), G = v((e, t) => t === "" || u(e, t), [u]), { valuesByIndex: K, skippedIndices: q, matchCount: J } = x(() => {
31
- let e = [], t = /* @__PURE__ */ new Set(), n = 0;
32
- return R.forEach((r, i) => {
33
- if (r.index === -1) return;
34
- e[r.index] = i;
35
- let a = G(r.label, P);
36
- a && (n += 1), (r.disabled || !a) && t.add(r.index);
37
- }), {
38
- valuesByIndex: e,
39
- skippedIndices: t,
40
- matchCount: n
41
- };
42
- }, [
43
- R,
44
- P,
45
- G
46
- ]), { refs: Y, floatingStyles: X, context: Z } = m({
47
- open: D,
48
- placement: M,
49
- onOpenChange: (e) => O(e)
50
- }), ne = te(Z, {
51
- escapeKey: !0,
52
- outsidePress: !0
53
- }), re = A(Z, {
54
- listRef: H,
55
- activeIndex: j,
56
- onNavigate: N,
57
- virtual: !0,
58
- loop: !0,
59
- disabledIndices: (e) => q.has(e)
60
- }), { getReferenceProps: Q, getFloatingProps: $, getItemProps: ie } = k([ne, re]), ae = x(() => {
61
- let e = (e) => {
62
- w(e), O(!1), U.current?.commitLabel(R.get(e)?.label ?? "");
63
- };
64
- return {
65
- baseId: p,
66
- listId: h,
67
- setListId: g,
68
- setInputDisabled: y,
69
- open: D,
70
- selectedValue: b,
71
- activeIndex: j,
72
- options: R,
73
- matchCount: J,
74
- inputLabelling: B,
75
- inputHandleRef: U,
76
- refs: Y,
77
- floatingStyles: X,
78
- elementsRef: H,
79
- getReferenceProps: Q,
80
- getFloatingProps: $,
81
- getItemProps: ie,
82
- onInputChange: W,
83
- isVisible: (e) => G(e, P),
84
- findMatches: (e) => {
85
- let t = 0, n = null, r = null;
86
- return R.forEach((i) => {
87
- i.index !== -1 && G(i.label, e) && (t += 1, !i.disabled && ((n === null || i.index < n) && (n = i.index), (r === null || i.index > r) && (r = i.index)));
88
- }), {
89
- count: t,
90
- first: n,
91
- last: r
92
- };
93
- },
94
- setQuery: L,
95
- setActiveIndex: N,
96
- selectValue: e,
97
- selectIndex: (t) => {
98
- let n = K[t];
99
- n === void 0 || q.has(t) || e(n);
100
- },
101
- clearValue: () => w(null),
102
- requestOpenChange: O,
103
- registration: z,
104
- setInputLabelling: V
105
- };
106
- }, [
107
- p,
108
- h,
109
- D,
110
- b,
111
- j,
112
- R,
113
- P,
114
- J,
115
- B,
116
- Y,
117
- X,
118
- Q,
119
- $,
120
- ie,
121
- W,
122
- G,
123
- K,
124
- q,
125
- w,
126
- O,
127
- z
128
- ]);
129
- return /* @__PURE__ */ E(I.Provider, {
130
- value: ae,
131
- children: [f, l !== void 0 && /* @__PURE__ */ T("input", {
132
- type: "hidden",
133
- name: l,
134
- value: b ?? "",
135
- disabled: _
136
- })]
137
- });
138
- }
139
- var U = _(function({ inputValue: e, defaultInputValue: t, label: i, description: a, error: o, size: s, slotProps: c, className: l, id: u, onChange: d, onKeyDown: f, onBlur: p, disabled: m = !1, ...g }, _) {
140
- let { listId: v, open: y, selectedValue: x, activeIndex: S, options: w, inputHandleRef: E, refs: D, getReferenceProps: O, onInputChange: te, findMatches: k, setQuery: A, setActiveIndex: M, selectIndex: N, clearValue: P, requestOpenChange: F, setInputLabelling: I, setInputDisabled: L } = R("Input"), z = j([D.setReference, _]), B = ee(), V = u ?? B, H = `${V}-label`, U = r(i), W = g["aria-labelledby"], G = g["aria-label"], [K, q] = C(t), [J, Y] = C(() => (e ?? t) !== void 0), X = x === null ? void 0 : w.get(x)?.label, Z = e ?? (J ? K ?? "" : X ?? K ?? ""), [, ne] = n(Z, void 0, te), re = (t) => {
141
- ne(t), e === void 0 && q(t);
142
- }, Q = e !== void 0 || J ? Z : "", $ = (e) => {
143
- Y(!1), re(e);
144
- };
145
- b(() => {
146
- A(Q);
147
- }, [Q, A]), b(() => (L(m), () => L(!1)), [m, L]), b(() => (E.current = { commitLabel: $ }, () => {
148
- E.current = null;
149
- })), b(() => (I(W !== void 0 || !U ? {
150
- labelledBy: W,
151
- label: G
152
- } : { labelledBy: H }), () => I(null)), [
153
- W,
154
- G,
155
- U,
156
- H,
157
- I
158
- ]);
159
- let ie = (t) => {
160
- d?.(t);
161
- let n = t.currentTarget.value;
162
- Y(!0), re(n), n === "" && P();
163
- let r = e ?? n;
164
- if (r === "") {
165
- M(null), F(!1);
166
- return;
167
- }
168
- let i = k(r);
169
- M(i.first), i.count > 0 && F(!0);
170
- }, ae = (e) => {
171
- if (f?.(e), !e.defaultPrevented) {
172
- if (e.key === "Escape") J && X !== void 0 && $(X);
173
- else if (y) {
174
- if (e.key === "Enter" && S !== null) e.preventDefault(), N(S);
175
- else if (e.key === "Home" || e.key === "End") {
176
- let t = k(Q), n = e.key === "Home" ? t.first : t.last;
177
- if (n === null) return;
178
- e.preventDefault(), M(n);
179
- }
180
- }
181
- }
182
- }, oe = (e) => {
183
- p?.(e), y && F(!1);
184
- };
185
- return /* @__PURE__ */ T(h, {
186
- ...O({
187
- ...g,
188
- onKeyDown: ae,
189
- onBlur: oe
190
- }),
191
- ref: z,
192
- id: V,
193
- label: U ? /* @__PURE__ */ T("span", {
194
- id: H,
195
- children: i
196
- }) : i,
197
- description: a,
198
- error: o,
199
- size: s,
200
- slotProps: c,
201
- className: l,
202
- value: Z,
203
- disabled: m,
204
- onChange: ie,
205
- role: "combobox",
206
- autoComplete: "off",
207
- "aria-autocomplete": "list",
208
- "aria-expanded": y,
209
- "aria-controls": y ? v : void 0,
210
- "data-state": y ? "open" : "closed",
211
- "data-ui": "combobox-input"
212
- });
213
- }), W = _(function({ id: e, style: t, onMouseDown: n, children: r, ...i }, a) {
214
- let { baseId: c, setListId: l, open: u, inputLabelling: d, refs: f, floatingStyles: p, elementsRef: m, getFloatingProps: h } = R("List"), g = e ?? `${c}-listbox`;
215
- b(() => (l(g), () => l(`${c}-listbox`)), [
216
- c,
217
- g,
218
- l
219
- ]);
220
- let _ = j([u ? f.setFloating : null, a]), v = i["aria-labelledby"] !== void 0 || i["aria-label"] !== void 0 ? {} : d?.labelledBy === void 0 ? { "aria-label": d?.label } : { "aria-labelledby": d.labelledBy }, y = (e) => {
221
- n?.(e), e.preventDefault();
222
- };
223
- return /* @__PURE__ */ T(O, { children: /* @__PURE__ */ T("div", {
224
- ...h({
225
- id: g,
226
- ...v,
227
- ...i,
228
- onMouseDown: y
229
- }),
230
- ref: _,
231
- role: "listbox",
232
- hidden: !u,
233
- "data-state": u ? "open" : "closed",
234
- "data-ui": "combobox-list",
235
- style: {
236
- ...t,
237
- ...p
238
- },
239
- css: [s, o],
240
- children: /* @__PURE__ */ T(D, {
241
- elementsRef: m,
242
- children: /* @__PURE__ */ T(L.Provider, {
243
- value: !0,
244
- children: r
245
- })
246
- })
247
- }) });
248
- }), G = _(function({ value: e, disabled: t = !1, onClick: n, children: r, ...i }, o) {
249
- let { baseId: s, selectedValue: m, activeIndex: h, options: g, isVisible: _, getItemProps: v, selectValue: y, registration: ee } = z("Item"), b = S(null), { ref: x, index: C } = u(e, ee, b, (e, n) => ({
250
- index: e,
251
- label: n,
252
- disabled: t
253
- })), w = j([x, o]), D = g.get(e)?.label, O = D !== void 0 && !_(D), te = C !== -1 && h === C, k = m === e, A = (r) => {
254
- n?.(r), !(t || r.defaultPrevented) && y(e);
255
- };
256
- return /* @__PURE__ */ E("div", {
257
- ...v({
258
- id: f(s, e),
259
- ...i,
260
- onClick: A
261
- }),
262
- ref: w,
263
- role: "option",
264
- hidden: O,
265
- "aria-selected": k,
266
- "aria-disabled": t || void 0,
267
- "data-active": te || void 0,
268
- "data-ui": "combobox-item",
269
- css: [
270
- d,
271
- l,
272
- c,
273
- B
274
- ],
275
- children: [/* @__PURE__ */ T("span", {
276
- ref: b,
277
- css: p,
278
- children: r
279
- }), k && /* @__PURE__ */ T("span", {
280
- "aria-hidden": "true",
281
- css: a,
282
- children: N
283
- })]
284
- });
285
- }), K = _(function({ children: e, ...t }, n) {
286
- let { matchCount: i } = z("Empty");
287
- return i > 0 ? null : /* @__PURE__ */ T("div", {
288
- ...t,
289
- ref: n,
290
- "data-ui": "combobox-empty",
291
- css: V,
292
- children: r(e) ? e : P
293
- });
294
- }), q = Object.assign(H, {
295
- Input: U,
296
- List: W,
297
- Item: G,
298
- Empty: K
299
- });
300
- //#endregion
301
- export { q as t };
@@ -1,328 +0,0 @@
1
- import { t as e } from "./css-CW_HG55W.js";
2
- import { t } from "./focus-ring-qOS3rPlM.js";
3
- import { t as n } from "./use-controlled-state-DQXkiTQI.js";
4
- import { t as r } from "./visually-hidden-BXVyhj0y.js";
5
- import { t as i } from "./renderable-DwPvt1I8.js";
6
- import { a, r as o, s, t as c } from "./collection-registry-C2jnQa7X.js";
7
- import { t as l } from "./trigger-style-f54idgjT.js";
8
- import { i as u, r as d, t as f } from "./use-native-dialog-BCp1chwO.js";
9
- import { n as p, t as m } from "./surface-Bo_aSQOb.js";
10
- import { createContext as h, forwardRef as g, useCallback as _, useContext as v, useId as y, useMemo as b, useRef as x, useState as S } from "react";
11
- import { vars as C } from "@jfrader/tokens/vars";
12
- import { jsx as w, jsxs as T } from "@emotion/react/jsx-runtime";
13
- import { FloatingList as E, useFloatingRootContext as ee, useInteractions as te, useListNavigation as ne, useMergeRefs as D } from "@floating-ui/react";
14
- //#region src/components/command-palette/command-palette.styles.ts
15
- var O = e({
16
- ...m,
17
- marginBlockStart: C.space[12]
18
- }), k = e({
19
- ...p,
20
- display: "flex",
21
- flexDirection: "column",
22
- borderRadius: C.radius.lg,
23
- boxShadow: C.shadow.floating,
24
- inlineSize: "min(560px, calc(100vw - 32px))"
25
- }), A = e({
26
- boxSizing: "border-box",
27
- inlineSize: "100%",
28
- blockSize: "48px",
29
- margin: 0,
30
- border: 0,
31
- borderBlockEnd: `1px solid ${C.color.borderControl}`,
32
- borderStartStartRadius: C.radius.lg,
33
- borderStartEndRadius: C.radius.lg,
34
- backgroundColor: "transparent",
35
- paddingInline: C.space[4],
36
- font: "inherit",
37
- fontSize: C.textSize.md,
38
- color: C.color.text,
39
- "&::placeholder": { color: C.color.textSubtle },
40
- "&:focus-visible": { ...t }
41
- }), j = e({
42
- boxSizing: "border-box",
43
- display: "flex",
44
- flexDirection: "column",
45
- maxBlockSize: "320px",
46
- overflow: "auto",
47
- padding: C.space[1],
48
- "&[hidden]": { display: "none" }
49
- }), M = e({
50
- display: "flex",
51
- flexDirection: "column",
52
- "&[hidden]": { display: "none" }
53
- }), N = e({
54
- paddingBlock: C.space[1],
55
- paddingInline: C.space[2],
56
- fontSize: C.textSize.xs,
57
- fontWeight: C.fontWeight.medium,
58
- color: C.color.textMuted
59
- }), P = e({
60
- "&:hover, &[data-active]": { backgroundColor: C.color.surfaceHover },
61
- "&[hidden]": { display: "none" }
62
- }), F = e({
63
- paddingBlock: C.space[6],
64
- paddingInline: C.space[4],
65
- textAlign: "center",
66
- fontSize: C.textSize.sm,
67
- color: C.color.textMuted
68
- }), re = "Command palette", ie = "No results", I = new Intl.PluralRules("en"), ae = (e, t) => e.toLocaleLowerCase().includes(t.toLocaleLowerCase()), oe = (e) => `${e} ${I.select(e) === "one" ? "result" : "results"}`, L = h(null), R = h(null);
69
- function z(e) {
70
- let t = v(L);
71
- if (!t) throw Error(`CommandPalette.${e} must be rendered inside <CommandPalette>.`);
72
- return t;
73
- }
74
- var B = (e) => {
75
- e?.setAttribute("autofocus", "");
76
- };
77
- function V({ open: e, defaultOpen: t = !1, onOpenChange: r, label: i = re, filter: o = ae, emptyMessage: s = ie, formatResultCount: c = oe, children: l }) {
78
- let d = y(), [f = !1, p] = n(e, t, r), { dialogElementRef: m, setDialogElement: h, setOpen: g, requestClose: v, repairToken: C } = u(f, p), [T, E] = S(""), [D, O] = S(!1), [k, A] = S(null), [j, M] = a(), [N, P] = S(null), [F, I] = S(null), [R, z] = S(f), B = x([]);
79
- f !== R && (z(f), f && (E(""), O(!1), A(null)));
80
- let V = _(() => {
81
- g(!(f && m.current?.open));
82
- }, [
83
- f,
84
- g,
85
- m
86
- ]), { matchedValues: H, matchedIndices: U, visibleGroupIds: W } = b(() => {
87
- let e = /* @__PURE__ */ new Set(), t = [], n = /* @__PURE__ */ new Set();
88
- return j.forEach((r, i) => {
89
- r.index !== -1 && (T === "" || o(r.label, T) || r.keywords !== void 0 && o(r.keywords, T)) && (e.add(i), t.push(r.index), r.groupId !== null && n.add(r.groupId));
90
- }), t.sort((e, t) => e - t), {
91
- matchedValues: e,
92
- matchedIndices: t,
93
- visibleGroupIds: n
94
- };
95
- }, [
96
- j,
97
- T,
98
- o
99
- ]), G = b(() => new Set(U), [U]), K = k !== null && G.has(k) ? k : U[0] ?? null, q = ee({
100
- open: f,
101
- onOpenChange: (e) => g(e),
102
- elements: {
103
- reference: N,
104
- floating: F
105
- }
106
- }), J = ne(q, {
107
- listRef: B,
108
- activeIndex: K,
109
- onNavigate: (e) => {
110
- e !== null && A(e);
111
- },
112
- virtual: !0,
113
- loop: !0,
114
- focusItemOnOpen: !1,
115
- disabledIndices: (e) => !G.has(e)
116
- }), { getReferenceProps: Y, getFloatingProps: X, getItemProps: Z } = te([J]), Q = U.length, $ = D ? c(Q) : "", se = b(() => ({
117
- open: f,
118
- setOpen: g,
119
- toggleOpen: V,
120
- requestClose: v,
121
- repairToken: C,
122
- setDialogElement: h,
123
- label: i,
124
- emptyMessage: s,
125
- baseId: d,
126
- listId: `${d}-list`,
127
- query: T,
128
- announcement: $,
129
- matchCount: Q,
130
- matchedValues: H,
131
- visibleGroupIds: W,
132
- activeIndex: K,
133
- elementsRef: B,
134
- setInputElement: P,
135
- setListElement: I,
136
- getReferenceProps: Y,
137
- getFloatingProps: X,
138
- getItemProps: Z,
139
- changeQuery: (e) => {
140
- E(e), O(!0), A(null);
141
- },
142
- moveToEdge: (e) => {
143
- let t = e === "first" ? U[0] : U[U.length - 1];
144
- t !== void 0 && A(t);
145
- },
146
- registration: M
147
- }), [
148
- f,
149
- g,
150
- V,
151
- v,
152
- C,
153
- h,
154
- i,
155
- s,
156
- d,
157
- T,
158
- $,
159
- Q,
160
- H,
161
- U,
162
- W,
163
- K,
164
- Y,
165
- X,
166
- Z,
167
- M
168
- ]);
169
- return /* @__PURE__ */ w(L.Provider, {
170
- value: se,
171
- children: l
172
- });
173
- }
174
- var H = g(function({ onClick: e, ...t }, n) {
175
- let { open: r, toggleOpen: i } = z("Trigger"), a = (t) => {
176
- e?.(t), t.defaultPrevented || i();
177
- };
178
- return /* @__PURE__ */ w("button", {
179
- type: "button",
180
- ...t,
181
- ref: n,
182
- "data-ui": "command-palette-trigger",
183
- "aria-haspopup": "dialog",
184
- "aria-expanded": r,
185
- onClick: a,
186
- css: l
187
- });
188
- }), U = g(function(e, t) {
189
- let { children: n, onCancel: i, onClick: a, onClose: o, ...s } = f(e), c = z("Content"), { label: l, announcement: u } = c, p = d(c, {
190
- onCancel: i,
191
- onClick: a,
192
- onClose: o
193
- }, t);
194
- return /* @__PURE__ */ w("dialog", {
195
- "aria-label": l,
196
- ...s,
197
- ...p,
198
- "data-ui": "command-palette",
199
- "aria-modal": "true",
200
- css: O,
201
- children: /* @__PURE__ */ T("div", {
202
- css: k,
203
- children: [n, /* @__PURE__ */ w("div", {
204
- role: "status",
205
- "aria-live": "polite",
206
- "aria-atomic": "true",
207
- css: r,
208
- children: u
209
- })]
210
- })
211
- });
212
- }), W = g(function({ onChange: e, onKeyDown: t, ...n }, r) {
213
- let { label: i, listId: a, query: o, matchCount: s, activeIndex: c, elementsRef: l, requestClose: u, setInputElement: d, getReferenceProps: f, changeQuery: p, moveToEdge: m } = z("Input"), h = D([
214
- d,
215
- B,
216
- r
217
- ]), g = (t) => {
218
- e?.(t), p(t.currentTarget.value);
219
- }, _ = (e) => {
220
- t?.(e), !(e.defaultPrevented || e.nativeEvent.isComposing) && (e.key === "Escape" ? (e.preventDefault(), u()) : (e.key === "Home" || e.key === "End") && !e.shiftKey && !e.ctrlKey && !e.metaKey && !e.altKey ? (e.preventDefault(), m(e.key === "Home" ? "first" : "last")) : e.key === "Enter" && c !== null && (e.preventDefault(), l.current[c]?.click()));
221
- };
222
- return /* @__PURE__ */ w("input", {
223
- "aria-label": i,
224
- autoComplete: "off",
225
- spellCheck: !1,
226
- ...f({
227
- ...n,
228
- onChange: g,
229
- onKeyDown: _
230
- }),
231
- ref: h,
232
- type: "text",
233
- value: o,
234
- role: "combobox",
235
- "aria-autocomplete": "list",
236
- "aria-expanded": s > 0,
237
- "aria-controls": a,
238
- "data-ui": "command-palette-input",
239
- css: A
240
- });
241
- }), G = g(function({ onMouseDown: e, children: t, ...n }, r) {
242
- let { label: i, listId: a, matchCount: o, elementsRef: s, setListElement: c, getFloatingProps: l } = z("List"), u = D([c, r]), d = (t) => {
243
- e?.(t), t.preventDefault();
244
- };
245
- return /* @__PURE__ */ w("div", {
246
- "aria-label": i,
247
- ...l({
248
- ...n,
249
- onMouseDown: d
250
- }),
251
- ref: u,
252
- id: a,
253
- role: "listbox",
254
- hidden: o === 0,
255
- "data-ui": "command-palette-list",
256
- css: j,
257
- children: /* @__PURE__ */ w(E, {
258
- elementsRef: s,
259
- children: t
260
- })
261
- });
262
- }), K = g(function({ children: e, ...t }, n) {
263
- let { matchCount: r, emptyMessage: a } = z("Empty");
264
- return r > 0 ? null : /* @__PURE__ */ w("div", {
265
- ...t,
266
- ref: n,
267
- "data-ui": "command-palette-empty",
268
- css: F,
269
- children: i(e) ? e : a
270
- });
271
- }), q = g(function({ label: e, children: t, "aria-labelledby": n, ...r }, i) {
272
- let { visibleGroupIds: a } = z("Group"), o = y(), s = `${o}-heading`;
273
- return /* @__PURE__ */ T("div", {
274
- ...r,
275
- ref: i,
276
- role: "group",
277
- "aria-labelledby": [n, s].filter(Boolean).join(" "),
278
- hidden: !a.has(o),
279
- "data-ui": "command-palette-group",
280
- css: M,
281
- children: [/* @__PURE__ */ w("div", {
282
- id: s,
283
- css: N,
284
- children: e
285
- }), /* @__PURE__ */ w(R.Provider, {
286
- value: o,
287
- children: t
288
- })]
289
- });
290
- }), J = g(function({ value: e, onSelect: t, keywords: n, onClick: r, children: i, ...a }, l) {
291
- let { baseId: u, activeIndex: d, matchedValues: f, getItemProps: p, setOpen: m, registration: h } = z("Item"), g = v(R), _ = x(null), { ref: y, index: b } = o(e, h, _, (e, t) => ({
292
- index: e,
293
- label: t,
294
- keywords: n,
295
- groupId: g
296
- })), S = D([
297
- y,
298
- _,
299
- l
300
- ]), C = b !== -1 && d === b, T = (e) => {
301
- r?.(e), !e.defaultPrevented && (t?.(), m(!1));
302
- };
303
- return /* @__PURE__ */ w("div", {
304
- ...p({
305
- id: c(u, e),
306
- ...a,
307
- onClick: T
308
- }),
309
- ref: S,
310
- role: "option",
311
- "aria-selected": C,
312
- hidden: !f.has(e),
313
- "data-active": C || void 0,
314
- "data-ui": "command-palette-item",
315
- css: [s, P],
316
- children: i
317
- });
318
- }), Y = Object.assign(V, {
319
- Trigger: H,
320
- Content: U,
321
- Input: W,
322
- List: G,
323
- Empty: K,
324
- Group: q,
325
- Item: J
326
- });
327
- //#endregion
328
- export { Y as t };
@@ -1,34 +0,0 @@
1
- import { t as e } from "./css-CW_HG55W.js";
2
- import { n as t } from "./layout-style-B_6YHQ6Q.js";
3
- import { forwardRef as n } from "react";
4
- import { jsx as r } from "@emotion/react/jsx-runtime";
5
- //#region src/components/container/container.tsx
6
- var i = {
7
- sm: "640px",
8
- md: "768px",
9
- lg: "1024px",
10
- xl: "1280px"
11
- }, a = e({
12
- boxSizing: "border-box",
13
- inlineSize: "100%",
14
- marginInline: "auto"
15
- }), o = {
16
- sm: e({ maxInlineSize: i.sm }),
17
- md: e({ maxInlineSize: i.md }),
18
- lg: e({ maxInlineSize: i.lg }),
19
- xl: e({ maxInlineSize: i.xl })
20
- }, s = t("paddingInline"), c = n(function({ size: e = "lg", paddingInline: t = "md", ...n }, i) {
21
- return /* @__PURE__ */ r("div", {
22
- ...n,
23
- ref: i,
24
- "data-ui": "container",
25
- "data-size": e,
26
- css: [
27
- a,
28
- o[e],
29
- s[t]
30
- ]
31
- });
32
- });
33
- //#endregion
34
- export { c as t };