@frontify/fondue-components 28.0.0 → 29.0.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 (306) hide show
  1. package/dist/fondue-components.js +60 -56
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +1 -1
  4. package/dist/fondue-components100.js +22 -16
  5. package/dist/fondue-components100.js.map +1 -1
  6. package/dist/fondue-components101.js +34 -151
  7. package/dist/fondue-components101.js.map +1 -1
  8. package/dist/fondue-components102.js +10 -44
  9. package/dist/fondue-components102.js.map +1 -1
  10. package/dist/fondue-components103.js +67 -13
  11. package/dist/fondue-components103.js.map +1 -1
  12. package/dist/fondue-components104.js +13 -13
  13. package/dist/fondue-components105.js +26 -111
  14. package/dist/fondue-components105.js.map +1 -1
  15. package/dist/fondue-components106.js +18 -12
  16. package/dist/fondue-components106.js.map +1 -1
  17. package/dist/fondue-components107.js +25 -17
  18. package/dist/fondue-components107.js.map +1 -1
  19. package/dist/fondue-components108.js +8 -12
  20. package/dist/fondue-components108.js.map +1 -1
  21. package/dist/fondue-components109.js +30 -16
  22. package/dist/fondue-components109.js.map +1 -1
  23. package/dist/fondue-components11.js +3 -3
  24. package/dist/fondue-components110.js +7 -6
  25. package/dist/fondue-components110.js.map +1 -1
  26. package/dist/fondue-components111.js +16 -11
  27. package/dist/fondue-components111.js.map +1 -1
  28. package/dist/fondue-components112.js +125 -69
  29. package/dist/fondue-components112.js.map +1 -1
  30. package/dist/fondue-components113.js +11 -15
  31. package/dist/fondue-components113.js.map +1 -1
  32. package/dist/fondue-components114.js +36 -7
  33. package/dist/fondue-components114.js.map +1 -1
  34. package/dist/fondue-components115.js +14 -89
  35. package/dist/fondue-components115.js.map +1 -1
  36. package/dist/fondue-components116.js +14 -80
  37. package/dist/fondue-components116.js.map +1 -1
  38. package/dist/fondue-components117.js +109 -29
  39. package/dist/fondue-components117.js.map +1 -1
  40. package/dist/fondue-components118.js +12 -28
  41. package/dist/fondue-components118.js.map +1 -1
  42. package/dist/fondue-components119.js +20 -0
  43. package/dist/fondue-components119.js.map +1 -0
  44. package/dist/fondue-components12.js +3 -3
  45. package/dist/fondue-components120.js +12 -40
  46. package/dist/fondue-components120.js.map +1 -1
  47. package/dist/fondue-components121.js +216 -18
  48. package/dist/fondue-components121.js.map +1 -1
  49. package/dist/fondue-components122.js +17 -19
  50. package/dist/fondue-components122.js.map +1 -1
  51. package/dist/fondue-components123.js +15 -38
  52. package/dist/fondue-components123.js.map +1 -1
  53. package/dist/fondue-components124.js +150 -67
  54. package/dist/fondue-components124.js.map +1 -1
  55. package/dist/fondue-components125.js +44 -30
  56. package/dist/fondue-components125.js.map +1 -1
  57. package/dist/fondue-components126.js +5 -9
  58. package/dist/fondue-components126.js.map +1 -1
  59. package/dist/fondue-components127.js +4 -152
  60. package/dist/fondue-components127.js.map +1 -1
  61. package/dist/fondue-components128.js +28 -107
  62. package/dist/fondue-components128.js.map +1 -1
  63. package/dist/fondue-components13.js +61 -35
  64. package/dist/fondue-components13.js.map +1 -1
  65. package/dist/fondue-components130.js +41 -16
  66. package/dist/fondue-components130.js.map +1 -1
  67. package/dist/fondue-components131.js +6 -29
  68. package/dist/fondue-components131.js.map +1 -1
  69. package/dist/fondue-components132.js +12 -13
  70. package/dist/fondue-components132.js.map +1 -1
  71. package/dist/fondue-components133.js +70 -6
  72. package/dist/fondue-components133.js.map +1 -1
  73. package/dist/fondue-components134.js +18 -0
  74. package/dist/fondue-components134.js.map +1 -0
  75. package/dist/fondue-components135.js +10 -0
  76. package/dist/fondue-components135.js.map +1 -0
  77. package/dist/fondue-components136.js +92 -0
  78. package/dist/fondue-components136.js.map +1 -0
  79. package/dist/fondue-components137.js +84 -0
  80. package/dist/fondue-components137.js.map +1 -0
  81. package/dist/fondue-components138.js +34 -0
  82. package/dist/fondue-components138.js.map +1 -0
  83. package/dist/fondue-components139.js +173 -0
  84. package/dist/fondue-components139.js.map +1 -0
  85. package/dist/fondue-components14.js +36 -121
  86. package/dist/fondue-components14.js.map +1 -1
  87. package/dist/fondue-components140.js +63 -0
  88. package/dist/fondue-components140.js.map +1 -0
  89. package/dist/fondue-components141.js +12 -0
  90. package/dist/fondue-components141.js.map +1 -0
  91. package/dist/fondue-components142.js +259 -0
  92. package/dist/fondue-components142.js.map +1 -0
  93. package/dist/fondue-components143.js +22 -0
  94. package/dist/fondue-components143.js.map +1 -0
  95. package/dist/fondue-components144.js +73 -0
  96. package/dist/fondue-components144.js.map +1 -0
  97. package/dist/fondue-components145.js +1355 -0
  98. package/dist/fondue-components145.js.map +1 -0
  99. package/dist/fondue-components146.js +944 -0
  100. package/dist/fondue-components146.js.map +1 -0
  101. package/dist/fondue-components147.js +201 -0
  102. package/dist/fondue-components147.js.map +1 -0
  103. package/dist/fondue-components148.js +24 -0
  104. package/dist/fondue-components148.js.map +1 -0
  105. package/dist/fondue-components149.js +43 -0
  106. package/dist/fondue-components149.js.map +1 -0
  107. package/dist/fondue-components15.js +121 -36
  108. package/dist/fondue-components15.js.map +1 -1
  109. package/dist/fondue-components150.js +71 -0
  110. package/dist/fondue-components150.js.map +1 -0
  111. package/dist/fondue-components151.js +34 -0
  112. package/dist/fondue-components151.js.map +1 -0
  113. package/dist/fondue-components152.js +12 -0
  114. package/dist/fondue-components152.js.map +1 -0
  115. package/dist/fondue-components153.js +156 -0
  116. package/dist/fondue-components153.js.map +1 -0
  117. package/dist/fondue-components154.js +111 -0
  118. package/dist/fondue-components154.js.map +1 -0
  119. package/dist/{fondue-components129.js → fondue-components155.js} +1 -1
  120. package/dist/{fondue-components129.js.map → fondue-components155.js.map} +1 -1
  121. package/dist/fondue-components156.js +19 -0
  122. package/dist/fondue-components156.js.map +1 -0
  123. package/dist/fondue-components157.js +32 -0
  124. package/dist/fondue-components157.js.map +1 -0
  125. package/dist/fondue-components158.js +16 -0
  126. package/dist/fondue-components158.js.map +1 -0
  127. package/dist/fondue-components159.js +10 -0
  128. package/dist/fondue-components159.js.map +1 -0
  129. package/dist/fondue-components16.js +30 -39
  130. package/dist/fondue-components16.js.map +1 -1
  131. package/dist/fondue-components17.js +44 -41
  132. package/dist/fondue-components17.js.map +1 -1
  133. package/dist/fondue-components18.js +42 -57
  134. package/dist/fondue-components18.js.map +1 -1
  135. package/dist/fondue-components19.js +55 -41
  136. package/dist/fondue-components19.js.map +1 -1
  137. package/dist/fondue-components20.js +39 -16
  138. package/dist/fondue-components20.js.map +1 -1
  139. package/dist/fondue-components21.js +17 -43
  140. package/dist/fondue-components21.js.map +1 -1
  141. package/dist/fondue-components22.js +42 -69
  142. package/dist/fondue-components22.js.map +1 -1
  143. package/dist/fondue-components23.js +69 -17
  144. package/dist/fondue-components23.js.map +1 -1
  145. package/dist/fondue-components24.js +71 -74
  146. package/dist/fondue-components24.js.map +1 -1
  147. package/dist/fondue-components25.js +18 -36
  148. package/dist/fondue-components25.js.map +1 -1
  149. package/dist/fondue-components26.js +72 -50
  150. package/dist/fondue-components26.js.map +1 -1
  151. package/dist/fondue-components27.js +36 -23
  152. package/dist/fondue-components27.js.map +1 -1
  153. package/dist/fondue-components28.js +50 -50
  154. package/dist/fondue-components28.js.map +1 -1
  155. package/dist/fondue-components29.js +23 -100
  156. package/dist/fondue-components29.js.map +1 -1
  157. package/dist/fondue-components3.js +1 -1
  158. package/dist/fondue-components30.js +50 -28
  159. package/dist/fondue-components30.js.map +1 -1
  160. package/dist/fondue-components31.js +92 -188
  161. package/dist/fondue-components31.js.map +1 -1
  162. package/dist/fondue-components32.js +31 -144
  163. package/dist/fondue-components32.js.map +1 -1
  164. package/dist/fondue-components33.js +192 -129
  165. package/dist/fondue-components33.js.map +1 -1
  166. package/dist/fondue-components34.js +141 -27
  167. package/dist/fondue-components34.js.map +1 -1
  168. package/dist/fondue-components35.js +123 -71
  169. package/dist/fondue-components35.js.map +1 -1
  170. package/dist/fondue-components36.js +28 -120
  171. package/dist/fondue-components36.js.map +1 -1
  172. package/dist/fondue-components37.js +80 -35
  173. package/dist/fondue-components37.js.map +1 -1
  174. package/dist/fondue-components38.js +119 -52
  175. package/dist/fondue-components38.js.map +1 -1
  176. package/dist/fondue-components39.js +36 -20
  177. package/dist/fondue-components39.js.map +1 -1
  178. package/dist/fondue-components4.js +3 -3
  179. package/dist/fondue-components40.js +56 -25
  180. package/dist/fondue-components40.js.map +1 -1
  181. package/dist/fondue-components41.js +20 -7
  182. package/dist/fondue-components41.js.map +1 -1
  183. package/dist/fondue-components42.js +25 -8
  184. package/dist/fondue-components42.js.map +1 -1
  185. package/dist/fondue-components43.js +8 -41
  186. package/dist/fondue-components43.js.map +1 -1
  187. package/dist/fondue-components44.js +8 -4
  188. package/dist/fondue-components44.js.map +1 -1
  189. package/dist/fondue-components45.js +41 -5
  190. package/dist/fondue-components45.js.map +1 -1
  191. package/dist/fondue-components46.js +3 -11
  192. package/dist/fondue-components46.js.map +1 -1
  193. package/dist/fondue-components47.js +5 -32
  194. package/dist/fondue-components47.js.map +1 -1
  195. package/dist/fondue-components48.js +12 -53
  196. package/dist/fondue-components48.js.map +1 -1
  197. package/dist/fondue-components49.js +32 -131
  198. package/dist/fondue-components49.js.map +1 -1
  199. package/dist/fondue-components5.js +2 -2
  200. package/dist/fondue-components50.js +53 -20
  201. package/dist/fondue-components50.js.map +1 -1
  202. package/dist/fondue-components51.js +131 -53
  203. package/dist/fondue-components51.js.map +1 -1
  204. package/dist/fondue-components52.js +20 -7
  205. package/dist/fondue-components52.js.map +1 -1
  206. package/dist/fondue-components53.js +53 -13
  207. package/dist/fondue-components53.js.map +1 -1
  208. package/dist/fondue-components54.js +7 -16
  209. package/dist/fondue-components54.js.map +1 -1
  210. package/dist/fondue-components55.js +13 -5
  211. package/dist/fondue-components55.js.map +1 -1
  212. package/dist/fondue-components56.js +17 -18
  213. package/dist/fondue-components56.js.map +1 -1
  214. package/dist/fondue-components57.js +4 -18
  215. package/dist/fondue-components57.js.map +1 -1
  216. package/dist/fondue-components58.js +18 -44
  217. package/dist/fondue-components58.js.map +1 -1
  218. package/dist/fondue-components59.js +18 -24
  219. package/dist/fondue-components59.js.map +1 -1
  220. package/dist/fondue-components6.js +1 -1
  221. package/dist/fondue-components60.js +43 -22
  222. package/dist/fondue-components60.js.map +1 -1
  223. package/dist/fondue-components61.js +24 -4
  224. package/dist/fondue-components61.js.map +1 -1
  225. package/dist/fondue-components62.js +22 -12
  226. package/dist/fondue-components62.js.map +1 -1
  227. package/dist/fondue-components63.js +6 -4
  228. package/dist/fondue-components63.js.map +1 -1
  229. package/dist/fondue-components64.js +4 -17
  230. package/dist/fondue-components64.js.map +1 -1
  231. package/dist/fondue-components65.js +12 -10
  232. package/dist/fondue-components65.js.map +1 -1
  233. package/dist/fondue-components66.js +4 -36
  234. package/dist/fondue-components66.js.map +1 -1
  235. package/dist/fondue-components67.js +17 -6
  236. package/dist/fondue-components67.js.map +1 -1
  237. package/dist/fondue-components68.js +10 -4
  238. package/dist/fondue-components68.js.map +1 -1
  239. package/dist/fondue-components69.js +34 -10
  240. package/dist/fondue-components69.js.map +1 -1
  241. package/dist/fondue-components7.js +1 -1
  242. package/dist/fondue-components70.js +6 -8
  243. package/dist/fondue-components70.js.map +1 -1
  244. package/dist/fondue-components71.js +4 -12
  245. package/dist/fondue-components71.js.map +1 -1
  246. package/dist/fondue-components72.js +11 -3
  247. package/dist/fondue-components72.js.map +1 -1
  248. package/dist/fondue-components73.js +50 -23
  249. package/dist/fondue-components73.js.map +1 -1
  250. package/dist/fondue-components74.js +44 -17
  251. package/dist/fondue-components74.js.map +1 -1
  252. package/dist/fondue-components75.js +6 -20
  253. package/dist/fondue-components75.js.map +1 -1
  254. package/dist/fondue-components76.js +6 -20
  255. package/dist/fondue-components76.js.map +1 -1
  256. package/dist/fondue-components77.js +12 -19
  257. package/dist/fondue-components77.js.map +1 -1
  258. package/dist/fondue-components78.js +24 -16
  259. package/dist/fondue-components78.js.map +1 -1
  260. package/dist/fondue-components79.js +13 -19
  261. package/dist/fondue-components79.js.map +1 -1
  262. package/dist/fondue-components8.js +5 -5
  263. package/dist/fondue-components80.js +5 -8
  264. package/dist/fondue-components80.js.map +1 -1
  265. package/dist/fondue-components81.js +12 -10
  266. package/dist/fondue-components81.js.map +1 -1
  267. package/dist/fondue-components82.js +47 -10
  268. package/dist/fondue-components82.js.map +1 -1
  269. package/dist/fondue-components83.js +20 -4
  270. package/dist/fondue-components83.js.map +1 -1
  271. package/dist/fondue-components84.js +628 -12
  272. package/dist/fondue-components84.js.map +1 -1
  273. package/dist/fondue-components85.js +8 -22
  274. package/dist/fondue-components85.js.map +1 -1
  275. package/dist/fondue-components86.js +13 -34
  276. package/dist/fondue-components86.js.map +1 -1
  277. package/dist/fondue-components87.js +4 -10
  278. package/dist/fondue-components87.js.map +1 -1
  279. package/dist/fondue-components88.js +23 -66
  280. package/dist/fondue-components88.js.map +1 -1
  281. package/dist/fondue-components89.js +14 -12
  282. package/dist/fondue-components89.js.map +1 -1
  283. package/dist/fondue-components9.js +5 -5
  284. package/dist/fondue-components90.js +20 -25
  285. package/dist/fondue-components90.js.map +1 -1
  286. package/dist/fondue-components91.js +20 -19
  287. package/dist/fondue-components91.js.map +1 -1
  288. package/dist/fondue-components92.js +20 -25
  289. package/dist/fondue-components92.js.map +1 -1
  290. package/dist/fondue-components93.js +20 -9
  291. package/dist/fondue-components93.js.map +1 -1
  292. package/dist/fondue-components94.js +19 -31
  293. package/dist/fondue-components94.js.map +1 -1
  294. package/dist/fondue-components95.js +8 -7
  295. package/dist/fondue-components95.js.map +1 -1
  296. package/dist/fondue-components96.js +10 -4
  297. package/dist/fondue-components96.js.map +1 -1
  298. package/dist/fondue-components97.js +10 -4
  299. package/dist/fondue-components97.js.map +1 -1
  300. package/dist/fondue-components98.js +6 -216
  301. package/dist/fondue-components98.js.map +1 -1
  302. package/dist/fondue-components99.js +12 -18
  303. package/dist/fondue-components99.js.map +1 -1
  304. package/dist/index.d.ts +102 -4
  305. package/dist/style.css +1 -1
  306. package/package.json +6 -4
@@ -1,74 +1,130 @@
1
- import { jsx as E } from "react/jsx-runtime";
2
- import { useState as S, useMemo as b, Children as V, isValidElement as C, cloneElement as w, useCallback as B, useEffect as x } from "react";
3
- import { SelectClear as F } from "./fondue-components122.js";
4
- import { ForwardedRefSelectItem as L } from "./fondue-components79.js";
5
- import { ForwardedRefSelectSlot as y } from "./fondue-components80.js";
6
- import { getSelectOptionValue as I } from "./fondue-components123.js";
7
- const d = (n, s) => {
8
- const [e, r] = S(!1), [m, i] = S(null), [l, f] = S({
9
- menuComponents: [],
10
- items: []
11
- });
12
- return x(() => {
13
- i(null), s || f({
14
- menuComponents: [],
15
- items: []
16
- }), s && (r(!0), s(n).then((u) => {
17
- f({
18
- menuComponents: u.map((o) => /* @__PURE__ */ E(L, { label: o.label, value: o.value, children: o.content ? o.content : o.label }, o.value)),
19
- items: u.map((o) => ({ value: o.value, label: o.label, children: o.content }))
20
- }), r(!1);
21
- }).catch((u) => {
22
- i(u), r(!1);
23
- }));
24
- }, [n, s]), { isLoading: e, error: m, menuComponents: l.menuComponents, items: l.items };
25
- }, g = (n) => {
26
- const s = [];
27
- return V.forEach(n, (e) => {
28
- if (C(e) && e.type === L)
29
- s.push(I(e.props));
30
- else if (C(e) && e.props.children) {
31
- const r = g(e.props.children);
32
- for (const m of r)
33
- s.push(m);
34
- }
35
- }), s;
36
- }, q = (n, s) => {
37
- const [e, r] = S(""), { inputSlots: m, menuSlots: i, itemValues: l, clearButton: f } = b(() => {
38
- const a = [], p = [];
39
- let v;
40
- V.toArray(n).some(
41
- (t) => C(t) && t.type === y
42
- ) ? V.forEach(n, (t) => {
43
- C(t) && t.type === y && (t.props.name === "menu" ? p.push(t.props.children) : t.props.name === "left" || t.props.name === "right" ? a.push(t) : t.props.name === "clear" && (t.props.children ? v = t : v = w(t, { children: /* @__PURE__ */ E(F, {}) })));
44
- }) : p.push(n);
45
- const R = g(p);
46
- return { inputSlots: a, menuSlots: p, itemValues: R, clearButton: v };
47
- }, [n]), u = b(
48
- () => l.filter(
49
- (a) => e === "" || a.label.toLowerCase().includes(e.toLowerCase())
1
+ import { useCallback as c } from "react";
2
+ import { deepEqual as f } from "./fondue-components139.js";
3
+ import { defaultSortableTransition as x, Sortable as R } from "./fondue-components84.js";
4
+ import { isSortable as rr } from "./fondue-components84.js";
5
+ import { useInstance as T } from "@dnd-kit/react";
6
+ import { useDeepSignal as V, useOnValueChange as i, useIsomorphicLayoutEffect as k, useOnElementChange as m, useImmediateEffect as q } from "./fondue-components140.js";
7
+ import { currentValue as v } from "./fondue-components141.js";
8
+ import { batch as L } from "./fondue-components142.js";
9
+ var N = Object.defineProperty, U = Object.defineProperties, z = Object.getOwnPropertyDescriptors, I = Object.getOwnPropertySymbols, A = Object.prototype.hasOwnProperty, B = Object.prototype.propertyIsEnumerable, j = (o, t, a) => t in o ? N(o, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[t] = a, _ = (o, t) => {
10
+ for (var a in t || (t = {}))
11
+ A.call(t, a) && j(o, a, t[a]);
12
+ if (I)
13
+ for (var a of I(t))
14
+ B.call(t, a) && j(o, a, t[a]);
15
+ return o;
16
+ }, F = (o, t) => U(o, z(t));
17
+ function Y(o) {
18
+ const {
19
+ accept: t,
20
+ collisionDetector: a,
21
+ collisionPriority: b,
22
+ id: O,
23
+ data: p,
24
+ element: h,
25
+ handle: y,
26
+ index: g,
27
+ group: D,
28
+ disabled: P,
29
+ feedback: d,
30
+ modifiers: S,
31
+ sensors: w,
32
+ target: C,
33
+ type: E
34
+ } = o, l = _(_({}, x), o.transition), r = T((e) => new R(
35
+ F(_({}, o), {
36
+ transition: l,
37
+ register: !1,
38
+ handle: v(y),
39
+ element: v(h),
40
+ target: v(C),
41
+ feedback: d
42
+ }),
43
+ e
44
+ )), u = V(r, G);
45
+ return i(O, () => r.id = O), k(() => {
46
+ L(() => {
47
+ r.group = D, r.index = g;
48
+ });
49
+ }, [r, D, g]), i(E, () => r.type = E), i(
50
+ t,
51
+ () => r.accept = t,
52
+ void 0,
53
+ f
54
+ ), i(p, () => p && (r.data = p)), i(
55
+ g,
56
+ () => {
57
+ var e;
58
+ (e = r.manager) != null && e.dragOperation.status.idle && (l != null && l.idle) && r.refreshShape();
59
+ },
60
+ q
61
+ ), m(y, (e) => r.handle = e), m(h, (e) => r.element = e), m(C, (e) => r.target = e), i(P, () => r.disabled = P === !0), i(w, () => r.sensors = w), i(
62
+ a,
63
+ () => r.collisionDetector = a
64
+ ), i(
65
+ b,
66
+ () => r.collisionPriority = b
67
+ ), i(d, () => r.feedback = d ?? "default"), i(
68
+ l,
69
+ () => r.transition = l,
70
+ void 0,
71
+ f
72
+ ), i(
73
+ S,
74
+ () => r.modifiers = S,
75
+ void 0,
76
+ f
77
+ ), i(
78
+ o.alignment,
79
+ () => r.alignment = o.alignment
80
+ ), {
81
+ sortable: u,
82
+ get isDragging() {
83
+ return u.isDragging;
84
+ },
85
+ get isDropping() {
86
+ return u.isDropping;
87
+ },
88
+ get isDragSource() {
89
+ return u.isDragSource;
90
+ },
91
+ get isDropTarget() {
92
+ return u.isDropTarget;
93
+ },
94
+ handleRef: c(
95
+ (e) => {
96
+ r.handle = e ?? void 0;
97
+ },
98
+ [r]
50
99
  ),
51
- [l, e]
52
- ), o = B(
53
- (a) => a !== void 0 ? l.find((p) => p.value === a) : void 0,
54
- [l]
55
- ), c = d(e, s);
56
- return {
57
- items: [...u, ...c.items],
58
- menuSlots: [...i, ...c.menuComponents],
59
- filterText: e,
60
- inputSlots: m,
61
- clearButton: f,
62
- setFilterText: r,
63
- getItemByValue: o,
64
- asyncItemStatus: {
65
- isLoading: c.isLoading,
66
- error: c.error
67
- }
100
+ ref: c(
101
+ (e) => {
102
+ var n, s;
103
+ !e && ((n = r.element) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.element = e ?? void 0);
104
+ },
105
+ [r]
106
+ ),
107
+ sourceRef: c(
108
+ (e) => {
109
+ var n, s;
110
+ !e && ((n = r.source) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.source = e ?? void 0);
111
+ },
112
+ [r]
113
+ ),
114
+ targetRef: c(
115
+ (e) => {
116
+ var n, s;
117
+ !e && ((n = r.target) != null && n.isConnected) && !((s = r.manager) != null && s.dragOperation.status.idle) || (r.target = e ?? void 0);
118
+ },
119
+ [r]
120
+ )
68
121
  };
69
- };
122
+ }
123
+ function G(o, t, a) {
124
+ return !!(o === "isDragSource" && !a && t);
125
+ }
70
126
  export {
71
- g as getRecursiveOptionValues,
72
- q as useSelectData
127
+ rr as isSortable,
128
+ Y as useSortable
73
129
  };
74
130
  //# sourceMappingURL=fondue-components112.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components112.js","sources":["../src/components/Select/hooks/useSelectData.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useState,\n type ReactNode,\n} from 'react';\n\nimport { SelectClear } from '../components/SelectClear';\nimport { ForwardedRefSelectItem, type SelectItemProps } from '../components/SelectItem';\nimport { ForwardedRefSelectSlot, type SelectSlotProps } from '../components/SelectSlot';\nimport { getSelectOptionValue } from '../utils';\n\nexport type SelectItemType = {\n value: string;\n label: string;\n};\n\nexport type AsyncItem = { label: string; value: string; content?: ReactNode };\n\nexport type AsyncItemsFetcher = (filterText: string) => Promise<AsyncItem[]>;\n\nconst useAsyncItems = (filterText: string, getAsyncItems?: AsyncItemsFetcher) => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const [asyncResult, setAsyncResult] = useState<{\n menuComponents: ReactNode[];\n items: { value: string; label: string; children?: ReactNode }[];\n }>({\n menuComponents: [],\n items: [],\n });\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setError(null);\n if (!getAsyncItems) {\n setAsyncResult({\n menuComponents: [],\n items: [],\n });\n }\n\n if (getAsyncItems) {\n setIsLoading(true);\n getAsyncItems(filterText)\n .then((items) => {\n setAsyncResult({\n menuComponents: items.map((item) => (\n <ForwardedRefSelectItem key={item.value} label={item.label} value={item.value}>\n {item.content ? item.content : item.label}\n </ForwardedRefSelectItem>\n )),\n items: items.map((item) => ({ value: item.value, label: item.label, children: item.content })),\n });\n setIsLoading(false);\n })\n .catch((error: Error) => {\n setError(error);\n setIsLoading(false);\n });\n }\n }, [filterText, getAsyncItems]);\n\n return { isLoading, error, menuComponents: asyncResult.menuComponents, items: asyncResult.items };\n};\n\n/**\n * Recursively extracts option values from children.\n * This function traverses through the React component tree and collects all SelectItem values.\n *\n * @param {ReactNode} children - The React children to extract values from.\n * @returns {SelectItemType[]} An array of SelectItemType objects.\n *\n * @example\n * const options = (\n * <SelectItem value=\"1\">Option 1</SelectItem>\n * <SelectItem value=\"2\">Option 2</SelectItem>\n * );\n * const values = getRecursiveOptionValues(options);\n * // Returns: [{ value: '1', label: 'Option 1' }, { value: '2', label: 'Option 2' }]\n */\nexport const getRecursiveOptionValues = (\n children: ReactNode,\n): { value: string; label: string; children?: ReactNode }[] => {\n const values: { value: string; label: string }[] = [];\n Children.forEach(children, (child) => {\n if (isValidElement<SelectItemProps>(child) && child.type === ForwardedRefSelectItem) {\n values.push(getSelectOptionValue(child.props));\n } else if (isValidElement<{ children: ReactNode }>(child) && child.props.children) {\n const optionValues = getRecursiveOptionValues(child.props.children);\n for (const optionValue of optionValues) {\n values.push(optionValue);\n }\n }\n });\n return values;\n};\n\n/**\n * Custom hook for managing select data and filtering.\n *\n * @param {ReactNode} children - The React children to process, typically SelectItem components.\n * @param {AsyncItemsFetcher} [getAsyncItems] - Optional function to fetch items asynchronously based on filter text.\n * @returns {Object} An object containing the processed data.\n */\nexport const useSelectData = (children: ReactNode, getAsyncItems?: AsyncItemsFetcher) => {\n const [filterText, setFilterText] = useState('');\n // eslint-disable-next-line react-hooks/preserve-manual-memoization\n const { inputSlots, menuSlots, itemValues, clearButton } = useMemo(() => {\n const inputSlots: ReactNode[] = [];\n const menuSlots: ReactNode[] = [];\n let clearButton: ReactNode;\n\n const hasSlots = Children.toArray(children).some(\n (child) => isValidElement<SelectSlotProps>(child) && child.type === ForwardedRefSelectSlot,\n );\n\n if (hasSlots) {\n Children.forEach(children, (child) => {\n if (isValidElement<SelectSlotProps>(child) && child.type === ForwardedRefSelectSlot) {\n if (child.props.name === 'menu') {\n menuSlots.push(child.props.children);\n } else if (child.props.name === 'left' || child.props.name === 'right') {\n inputSlots.push(child);\n } else if (child.props.name === 'clear') {\n if (child.props.children) {\n clearButton = child;\n } else {\n clearButton = cloneElement(child, { children: <SelectClear /> });\n }\n }\n }\n });\n } else {\n menuSlots.push(children);\n }\n\n const itemValues = getRecursiveOptionValues(menuSlots);\n\n return { inputSlots, menuSlots, itemValues, clearButton };\n }, [children]);\n\n const items = useMemo(\n () =>\n itemValues.filter(\n (item) => filterText === '' || item.label.toLowerCase().includes(filterText.toLowerCase()),\n ),\n [itemValues, filterText],\n );\n\n const getItemByValue = useCallback(\n (value?: string | null) => (value !== undefined ? itemValues.find((item) => item.value === value) : undefined),\n [itemValues],\n );\n\n const asyncItems = useAsyncItems(filterText, getAsyncItems);\n\n return {\n items: [...items, ...asyncItems.items],\n menuSlots: [...menuSlots, ...asyncItems.menuComponents],\n filterText,\n inputSlots,\n clearButton,\n setFilterText,\n getItemByValue,\n asyncItemStatus: {\n isLoading: asyncItems.isLoading,\n error: asyncItems.error,\n },\n };\n};\n"],"names":["useAsyncItems","filterText","getAsyncItems","isLoading","setIsLoading","useState","error","setError","asyncResult","setAsyncResult","useEffect","items","item","jsx","ForwardedRefSelectItem","getRecursiveOptionValues","children","values","Children","child","isValidElement","getSelectOptionValue","optionValues","optionValue","useSelectData","setFilterText","inputSlots","menuSlots","itemValues","clearButton","useMemo","ForwardedRefSelectSlot","cloneElement","SelectClear","getItemByValue","useCallback","value","asyncItems"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components112.js","sources":["../../../node_modules/.pnpm/@dnd-kit+react@0.3.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dnd-kit/react/sortable.js"],"sourcesContent":["import { useCallback } from 'react';\nimport { batch, deepEqual } from '@dnd-kit/state';\nimport { defaultSortableTransition, Sortable } from '@dnd-kit/dom/sortable';\nexport { isSortable, isSortableOperation } from '@dnd-kit/dom/sortable';\nimport { useInstance } from '@dnd-kit/react';\nimport { useDeepSignal, useOnValueChange, useIsomorphicLayoutEffect, useImmediateEffect, useOnElementChange } from '@dnd-kit/react/hooks';\nimport { currentValue } from '@dnd-kit/react/utilities';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useSortable(input) {\n const {\n accept,\n collisionDetector,\n collisionPriority,\n id,\n data,\n element,\n handle,\n index,\n group,\n disabled,\n feedback,\n modifiers,\n sensors,\n target,\n type\n } = input;\n const transition = __spreadValues(__spreadValues({}, defaultSortableTransition), input.transition);\n const sortable = useInstance((manager) => {\n return new Sortable(\n __spreadProps(__spreadValues({}, input), {\n transition,\n register: false,\n handle: currentValue(handle),\n element: currentValue(element),\n target: currentValue(target),\n feedback\n }),\n manager\n );\n });\n const trackedSortable = useDeepSignal(sortable, shouldUpdateSynchronously);\n useOnValueChange(id, () => sortable.id = id);\n useIsomorphicLayoutEffect(() => {\n batch(() => {\n sortable.group = group;\n sortable.index = index;\n });\n }, [sortable, group, index]);\n useOnValueChange(type, () => sortable.type = type);\n useOnValueChange(\n accept,\n () => sortable.accept = accept,\n void 0,\n deepEqual\n );\n useOnValueChange(data, () => data && (sortable.data = data));\n useOnValueChange(\n index,\n () => {\n var _a;\n if (((_a = sortable.manager) == null ? void 0 : _a.dragOperation.status.idle) && (transition == null ? void 0 : transition.idle)) {\n sortable.refreshShape();\n }\n },\n useImmediateEffect\n );\n useOnElementChange(handle, (handle2) => sortable.handle = handle2);\n useOnElementChange(element, (element2) => sortable.element = element2);\n useOnElementChange(target, (target2) => sortable.target = target2);\n useOnValueChange(disabled, () => sortable.disabled = disabled === true);\n useOnValueChange(sensors, () => sortable.sensors = sensors);\n useOnValueChange(\n collisionDetector,\n () => sortable.collisionDetector = collisionDetector\n );\n useOnValueChange(\n collisionPriority,\n () => sortable.collisionPriority = collisionPriority\n );\n useOnValueChange(feedback, () => sortable.feedback = feedback != null ? feedback : \"default\");\n useOnValueChange(\n transition,\n () => sortable.transition = transition,\n void 0,\n deepEqual\n );\n useOnValueChange(\n modifiers,\n () => sortable.modifiers = modifiers,\n void 0,\n deepEqual\n );\n useOnValueChange(\n input.alignment,\n () => sortable.alignment = input.alignment\n );\n return {\n sortable: trackedSortable,\n get isDragging() {\n return trackedSortable.isDragging;\n },\n get isDropping() {\n return trackedSortable.isDropping;\n },\n get isDragSource() {\n return trackedSortable.isDragSource;\n },\n get isDropTarget() {\n return trackedSortable.isDropTarget;\n },\n handleRef: useCallback(\n (element2) => {\n sortable.handle = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n ref: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.element) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.element = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n sourceRef: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.source) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.source = element2 != null ? element2 : void 0;\n },\n [sortable]\n ),\n targetRef: useCallback(\n (element2) => {\n var _a, _b;\n if (!element2 && ((_a = sortable.target) == null ? void 0 : _a.isConnected) && !((_b = sortable.manager) == null ? void 0 : _b.dragOperation.status.idle)) {\n return;\n }\n sortable.target = element2 != null ? element2 : void 0;\n },\n [sortable]\n )\n };\n}\nfunction shouldUpdateSynchronously(key, oldValue, newValue) {\n if (key === \"isDragSource\" && !newValue && oldValue) return true;\n return false;\n}\n\nexport { useSortable };\n//# sourceMappingURL=sortable.js.map\n//# sourceMappingURL=sortable.js.map"],"names":["__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","useSortable","input","accept","collisionDetector","collisionPriority","id","data","element","handle","index","group","disabled","feedback","modifiers","sensors","target","type","transition","defaultSortableTransition","sortable","useInstance","manager","Sortable","currentValue","trackedSortable","useDeepSignal","shouldUpdateSynchronously","useOnValueChange","useIsomorphicLayoutEffect","batch","deepEqual","_a","useImmediateEffect","useOnElementChange","handle2","element2","target2","useCallback","_b","oldValue","newValue"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,18 +1,14 @@
1
- import { useId as u, useMemo as f } from "react";
2
- import { useTranslation as D } from "./fondue-components40.js";
3
- const g = (t, n, r) => {
4
- const { t: i } = D(), s = u(), e = f(() => {
5
- if (!t || n.length === 0)
6
- return "";
7
- const p = n.map((c) => {
8
- const o = r(c);
9
- return (o == null ? void 0 : o.label) ?? c;
10
- }).join(", ");
11
- return i("Select_selectedCount", { count: n.length.toString(), items: p });
12
- }, [t, n, r, i]);
13
- return { selectionDescriptionId: s, selectionDescription: e };
14
- };
1
+ import { createContext as t, useContext as r } from "react";
2
+ const e = t({
3
+ itemId: "",
4
+ dragHandleRef: () => null,
5
+ hasHandle: !1
6
+ });
7
+ e.displayName = "OrderableItemContext";
8
+ const a = e.Provider, n = () => r(e);
15
9
  export {
16
- g as useSelectionDescription
10
+ e as OrderableItemContext,
11
+ a as OrderableItemContextProvider,
12
+ n as useOrderableItemContext
17
13
  };
18
14
  //# sourceMappingURL=fondue-components113.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components113.js","sources":["../src/components/Select/hooks/useSelectionDescription.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useId, useMemo } from 'react';\n\nimport { useTranslation } from '#/hooks/useTranslation';\n\ntype SelectItemLike = {\n value: string;\n label: string;\n};\n\ntype SelectionDescription = {\n /** The unique ID for the SR description element. */\n selectionDescriptionId: string;\n /** The description text for screen readers (empty string when not applicable). */\n selectionDescription: string;\n};\n\nexport const useSelectionDescription = (\n isMultiple: boolean,\n selectedItemValues: string[],\n getItemByValue: (value?: string) => SelectItemLike | undefined,\n): SelectionDescription => {\n const { t } = useTranslation();\n const selectionDescriptionId = useId();\n\n const selectionDescription = useMemo((): string => {\n if (!isMultiple || selectedItemValues.length === 0) {\n return '';\n }\n const labels = selectedItemValues\n .map((value) => {\n const item = getItemByValue(value);\n return item?.label ?? value;\n })\n .join(', ');\n return t('Select_selectedCount', { count: selectedItemValues.length.toString(), items: labels });\n }, [isMultiple, selectedItemValues, getItemByValue, t]);\n\n return { selectionDescriptionId, selectionDescription };\n};\n"],"names":["useSelectionDescription","isMultiple","selectedItemValues","getItemByValue","t","useTranslation","selectionDescriptionId","useId","selectionDescription","useMemo","labels","value","item"],"mappings":";;AAkBO,MAAMA,IAA0B,CACnCC,GACAC,GACAC,MACuB;AACvB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACRC,IAAyBC,EAAA,GAEzBC,IAAuBC,EAAQ,MAAc;AAC/C,QAAI,CAACR,KAAcC,EAAmB,WAAW;AAC7C,aAAO;AAEX,UAAMQ,IAASR,EACV,IAAI,CAACS,MAAU;AACZ,YAAMC,IAAOT,EAAeQ,CAAK;AACjC,cAAOC,KAAA,gBAAAA,EAAM,UAASD;AAAA,IAC1B,CAAC,EACA,KAAK,IAAI;AACd,WAAOP,EAAE,wBAAwB,EAAE,OAAOF,EAAmB,OAAO,SAAA,GAAY,OAAOQ,GAAQ;AAAA,EACnG,GAAG,CAACT,GAAYC,GAAoBC,GAAgBC,CAAC,CAAC;AAEtD,SAAO,EAAE,wBAAAE,GAAwB,sBAAAE,EAAA;AACrC;"}
1
+ {"version":3,"file":"fondue-components113.js","sources":["../src/components/OrderableList/hooks/useOrderedListItemContext.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { createContext, useContext } from 'react';\n\ntype OrderableItemContextType = {\n itemId: string;\n dragHandleRef: (element: Element | null) => void;\n hasHandle: boolean;\n selected?: boolean;\n onSelect?: (isSelected: boolean) => void;\n};\n\nexport const OrderableItemContext = createContext<OrderableItemContextType>({\n itemId: '',\n dragHandleRef: () => null,\n hasHandle: false,\n});\nOrderableItemContext.displayName = 'OrderableItemContext';\n\nexport const OrderableItemContextProvider = OrderableItemContext.Provider;\n\nexport const useOrderableItemContext = (): OrderableItemContextType => useContext(OrderableItemContext);\n"],"names":["OrderableItemContext","createContext","OrderableItemContextProvider","useOrderableItemContext","useContext"],"mappings":";AAYO,MAAMA,IAAuBC,EAAwC;AAAA,EACxE,QAAQ;AAAA,EACR,eAAe,MAAM;AAAA,EACrB,WAAW;AACf,CAAC;AACDD,EAAqB,cAAc;AAE5B,MAAME,IAA+BF,EAAqB,UAEpDG,IAA0B,MAAgCC,EAAWJ,CAAoB;"}
@@ -1,10 +1,39 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { Slot as e } from "@radix-ui/react-slot";
3
- import a from "./fondue-components102.js";
4
- const m = ({ children: o, onClear: t }) => /* @__PURE__ */ r(e, { onClick: (l) => {
5
- l.stopPropagation(), t();
6
- }, className: a.clear, role: "button", "aria-label": "Clear selection", children: o });
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as f } from "react";
3
+ import { getItemTitle as p } from "./fondue-components80.js";
4
+ import { useOrderableListAnnounce as u } from "./fondue-components81.js";
5
+ import { useOrderableItemContext as b } from "./fondue-components113.js";
6
+ import l from "./fondue-components83.js";
7
+ const I = f(({ children: t }, o) => {
8
+ const { itemId: c, onSelect: n, selected: r, hasHandle: d } = b(), m = u();
9
+ if (!n)
10
+ return (
11
+ // eslint-disable-next-line jsx-a11y-x/no-noninteractive-tabindex
12
+ /* @__PURE__ */ s("div", { className: l.content, ref: o, tabIndex: d ? 0 : void 0, children: t })
13
+ );
14
+ const a = () => {
15
+ const e = !r;
16
+ n(e), m(`${p(c)} ${e ? "selected" : "unselected"}`);
17
+ }, i = (e) => {
18
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), a());
19
+ };
20
+ return /* @__PURE__ */ s(
21
+ "div",
22
+ {
23
+ className: l.content,
24
+ ref: o,
25
+ role: "button",
26
+ tabIndex: 0,
27
+ "aria-pressed": !!r,
28
+ onClick: a,
29
+ onKeyDown: i,
30
+ "data-clickable": !0,
31
+ children: t
32
+ }
33
+ );
34
+ });
35
+ I.displayName = "OrderableListItemContent";
7
36
  export {
8
- m as ClearButton
37
+ I as OrderableListItemContent
9
38
  };
10
39
  //# sourceMappingURL=fondue-components114.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components114.js","sources":["../src/components/Select/components/ClearButton.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { type MouseEvent, type ReactNode } from 'react';\n\nimport styles from '../styles/select.module.scss';\n\ntype ClearButtonProps = {\n /** The clear button element to render inside the slot. */\n children: ReactNode;\n /** Callback fired when the clear button is clicked. */\n onClear: () => void;\n};\n\nexport const ClearButton = ({ children, onClear }: ClearButtonProps): ReactNode => {\n const handleClick = (event: MouseEvent): void => {\n event.stopPropagation();\n onClear();\n };\n\n return (\n <RadixSlot onClick={handleClick} className={styles.clear} role=\"button\" aria-label=\"Clear selection\">\n {children}\n </RadixSlot>\n );\n};\n"],"names":["ClearButton","children","onClear","jsx","RadixSlot","event","styles"],"mappings":";;;AAcO,MAAMA,IAAc,CAAC,EAAE,UAAAC,GAAU,SAAAC,QAOhC,gBAAAC,EAACC,GAAA,EAAU,SANK,CAACC,MAA4B;AAC7C,EAAAA,EAAM,gBAAA,GACNH,EAAA;AACJ,GAGqC,WAAWI,EAAO,OAAO,MAAK,UAAS,cAAW,mBAC9E,UAAAL,EAAA,CACL;"}
1
+ {"version":3,"file":"fondue-components114.js","sources":["../src/components/OrderableList/OrderableListItemContent.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { forwardRef, type KeyboardEvent, type ReactNode } from 'react';\n\nimport { getItemTitle } from './helpers/getItemTitle';\nimport { useOrderableListAnnounce } from './hooks/useOrderableListAnnounce';\nimport { useOrderableItemContext } from './hooks/useOrderedListItemContext';\nimport styles from './styles/orderable-list.module.scss';\n\nexport const OrderableListItemContent = forwardRef<HTMLDivElement, { children: ReactNode }>(({ children }, ref) => {\n const { itemId, onSelect, selected, hasHandle } = useOrderableItemContext();\n const announce = useOrderableListAnnounce();\n\n if (!onSelect) {\n return (\n // eslint-disable-next-line jsx-a11y-x/no-noninteractive-tabindex\n <div className={styles.content} ref={ref} tabIndex={hasHandle ? 0 : undefined}>\n {children}\n </div>\n );\n }\n\n const handleSelect = () => {\n const newSelected = !selected;\n onSelect(newSelected);\n announce(`${getItemTitle(itemId)} ${newSelected ? 'selected' : 'unselected'}`);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleSelect();\n }\n };\n\n return (\n <div\n className={styles.content}\n ref={ref}\n role=\"button\"\n tabIndex={0}\n aria-pressed={Boolean(selected)}\n onClick={handleSelect}\n onKeyDown={handleKeyDown}\n data-clickable\n >\n {children}\n </div>\n );\n});\nOrderableListItemContent.displayName = 'OrderableListItemContent';\n"],"names":["OrderableListItemContent","forwardRef","children","ref","itemId","onSelect","selected","hasHandle","useOrderableItemContext","announce","useOrderableListAnnounce","jsx","styles","handleSelect","newSelected","getItemTitle","handleKeyDown","event"],"mappings":";;;;;;AASO,MAAMA,IAA2BC,EAAoD,CAAC,EAAE,UAAAC,EAAA,GAAYC,MAAQ;AAC/G,QAAM,EAAE,QAAAC,GAAQ,UAAAC,GAAU,UAAAC,GAAU,WAAAC,EAAA,IAAcC,EAAA,GAC5CC,IAAWC,EAAA;AAEjB,MAAI,CAACL;AACD;AAAA;AAAA,MAEI,gBAAAM,EAAC,OAAA,EAAI,WAAWC,EAAO,SAAS,KAAAT,GAAU,UAAUI,IAAY,IAAI,QAC/D,UAAAL,EAAA,CACL;AAAA;AAIR,QAAMW,IAAe,MAAM;AACvB,UAAMC,IAAc,CAACR;AACrB,IAAAD,EAASS,CAAW,GACpBL,EAAS,GAAGM,EAAaX,CAAM,CAAC,IAAIU,IAAc,aAAa,YAAY,EAAE;AAAA,EACjF,GAEME,IAAgB,CAACC,MAAyB;AAC5C,KAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACvCA,EAAM,eAAA,GACNJ,EAAA;AAAA,EAER;AAEA,SACI,gBAAAF;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAO;AAAA,MAClB,KAAAT;AAAA,MACA,MAAK;AAAA,MACL,UAAU;AAAA,MACV,gBAAc,EAAQG;AAAA,MACtB,SAASO;AAAA,MACT,WAAWG;AAAA,MACX,kBAAc;AAAA,MAEb,UAAAd;AAAA,IAAA;AAAA,EAAA;AAGb,CAAC;AACDF,EAAyB,cAAc;"}
@@ -1,92 +1,17 @@
1
- import { jsxs as S, jsx as f } from "react/jsx-runtime";
2
- import { useRef as m, useState as C, useEffect as _ } from "react";
3
- import { Badge as w } from "./fondue-components4.js";
4
- import { useTranslation as I } from "./fondue-components40.js";
5
- import p from "./fondue-components102.js";
6
- const W = 4, D = 40, E = 24, M = (r, h, u, o) => {
7
- const g = r.offsetWidth;
8
- let s = o ? E + W : 0, n = 0;
9
- for (const d of u) {
10
- const a = h.get(d.value);
11
- if (!a)
12
- continue;
13
- const l = a.offsetWidth, i = n > 0 ? l + W : l, c = u.length - n - 1 > 0 ? D + W : 0;
14
- if (s + i + c > g)
15
- break;
16
- s += i, n++;
17
- }
18
- return Math.max(1, n);
19
- }, x = ({
20
- items: r,
21
- placeholder: h,
22
- onDismiss: u,
23
- children: o,
24
- selectedCount: g = 0
25
- }) => {
26
- const { t: s } = I(), n = m(!1), d = m(null), a = m(/* @__PURE__ */ new Map()), [l, i] = C(r.length), b = o !== void 0;
27
- if (_(() => {
28
- const e = d.current;
29
- if (!e)
30
- return;
31
- const v = () => {
32
- if (r.length === 0) {
33
- i(0);
34
- return;
35
- }
36
- i(M(e, a.current, r, b));
37
- }, t = new ResizeObserver(v);
38
- return t.observe(e), () => {
39
- t.disconnect();
40
- };
41
- }, [r, b]), r.length === 0 && !o)
42
- return h;
43
- const c = r.length - l, y = (e) => e === 1 ? s("Select_singleItemSelected") : e > 1 ? s("Select_multipleItemsSelected", { count: e.toString() }) : "";
44
- return /* @__PURE__ */ S("div", { ref: d, className: p.badgesContainer, children: [
45
- /* @__PURE__ */ f("span", { className: p.srOnly, "aria-live": "polite", "aria-atomic": "true", children: y(g) }),
46
- o,
47
- r.map((e, v) => /* @__PURE__ */ f(
48
- "div",
49
- {
50
- ref: (t) => {
51
- t ? a.current.set(e.value, t) : a.current.delete(e.value);
52
- },
53
- role: "presentation",
54
- className: p.badgeWrapper,
55
- "data-visible": v < l,
56
- onKeyDown: (t) => {
57
- (t.key === "Enter" || t.key === " ") && t.stopPropagation();
58
- },
59
- onMouseDown: () => {
60
- n.current = !0;
61
- },
62
- children: /* @__PURE__ */ f(
63
- w,
64
- {
65
- emphasis: "weak",
66
- "aria-label": typeof e.displayValue == "string" ? e.displayValue : e.value,
67
- onDismiss: (t) => {
68
- t.stopPropagation(), u(e.value, n.current), n.current = !1;
69
- },
70
- children: e.displayValue
71
- }
72
- )
73
- },
74
- e.value
75
- )),
76
- c > 0 && /* @__PURE__ */ f(
77
- "div",
78
- {
79
- className: p.badgeWrapper,
80
- "aria-label": s("Select_additionalItemsSelected", { count: c.toString() }),
81
- children: /* @__PURE__ */ S(w, { emphasis: "weak", "aria-hidden": "true", children: [
82
- "+",
83
- c
84
- ] })
85
- }
86
- )
87
- ] });
88
- };
1
+ import { format as o } from "date-fns";
2
+ import { transformDateRangeToPickerDateRange as i, transformDatePickerDateToDate as e } from "./fondue-components128.js";
3
+ const y = (r) => !!(r && "from" in r && "to" in r), M = (r) => {
4
+ const t = e(r);
5
+ if (t)
6
+ return o(t, "MMMM d, yyyy");
7
+ }, a = (r) => {
8
+ const t = i(r);
9
+ if (!(t != null && t.from) || !(t != null && t.to))
10
+ return;
11
+ const n = t.from.getFullYear() === t.to.getFullYear();
12
+ return n && t.from.getMonth() === t.to.getMonth() ? `${o(t.from, "MMM d")}–${o(t.to, "d, yyyy")}` : n ? `${o(t.from, "MMM d")}–${o(t.to, "MMM d, yyyy")}` : `${o(t.from, "MMM d, yyyy")}–${o(t.to, "MMM d, yyyy")}`;
13
+ }, g = (r) => y(r) ? a(r) : M(r);
89
14
  export {
90
- x as CollapsibleBadges
15
+ g as getDateDisplayString
91
16
  };
92
17
  //# sourceMappingURL=fondue-components115.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components115.js","sources":["../src/components/Select/components/CollapsibleBadges.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useEffect, useRef, useState, type KeyboardEvent, type ReactNode } from 'react';\n\nimport { Badge } from '#/components/Badge/Badge';\nimport { useTranslation } from '#/hooks/useTranslation';\n\nimport styles from '../styles/select.module.scss';\n\nconst BADGE_GAP = 4;\nconst OVERFLOW_BADGE_MIN_WIDTH = 40;\nconst INPUT_MIN_WIDTH = 24;\n\ntype BadgeItem = {\n value: string;\n displayValue: ReactNode;\n};\n\ntype CollapsibleBadgesProps = {\n items: BadgeItem[];\n placeholder?: string;\n onDismiss: (value: string, preventFocusRing: boolean) => void;\n /** Optional children to render at the end (e.g., an input field). Space is reserved in the layout calculation. */\n children?: ReactNode;\n /** Total number of selected items (for screen reader announcements). */\n selectedCount?: number;\n};\n\nconst calculateVisibleCount = (\n container: HTMLDivElement,\n badgeElements: Map<string, HTMLDivElement>,\n items: BadgeItem[],\n hasInputSlot: boolean,\n): number => {\n const containerWidth = container.offsetWidth;\n let usedWidth = hasInputSlot ? INPUT_MIN_WIDTH + BADGE_GAP : 0;\n let count = 0;\n\n for (const item of items) {\n const badgeElement = badgeElements.get(item.value);\n if (!badgeElement) {\n continue;\n }\n\n const badgeWidth = badgeElement.offsetWidth;\n const widthWithGap = count > 0 ? badgeWidth + BADGE_GAP : badgeWidth;\n const hasMoreAfterThis = items.length - count - 1 > 0;\n const reservedWidth = hasMoreAfterThis ? OVERFLOW_BADGE_MIN_WIDTH + BADGE_GAP : 0;\n\n if (usedWidth + widthWithGap + reservedWidth > containerWidth) {\n break;\n }\n\n usedWidth += widthWithGap;\n count++;\n }\n\n return Math.max(1, count);\n};\n\nexport const CollapsibleBadges = ({\n items,\n placeholder,\n onDismiss,\n children,\n selectedCount = 0,\n}: CollapsibleBadgesProps): ReactNode => {\n const { t } = useTranslation();\n const wasClickedRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const badgeElementsRef = useRef<Map<string, HTMLDivElement>>(new Map());\n const [visibleCount, setVisibleCount] = useState(items.length);\n const hasChildren = children !== undefined;\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return;\n }\n\n const recalculate = (): void => {\n if (items.length === 0) {\n setVisibleCount(0);\n return;\n }\n setVisibleCount(calculateVisibleCount(container, badgeElementsRef.current, items, hasChildren));\n };\n\n const observer = new ResizeObserver(recalculate);\n observer.observe(container);\n return (): void => {\n observer.disconnect();\n };\n }, [items, hasChildren]);\n\n if (items.length === 0 && !children) {\n return placeholder;\n }\n\n const overflowCount = items.length - visibleCount;\n\n const getSelectedCountText = (count: number): string => {\n if (count === 1) {\n return t('Select_singleItemSelected');\n }\n if (count > 1) {\n return t('Select_multipleItemsSelected', { count: count.toString() });\n }\n return '';\n };\n\n return (\n <div ref={containerRef} className={styles.badgesContainer}>\n <span className={styles.srOnly} aria-live=\"polite\" aria-atomic=\"true\">\n {getSelectedCountText(selectedCount)}\n </span>\n {children}\n {items.map((item, index) => (\n <div\n key={item.value}\n ref={(element): void => {\n if (element) {\n badgeElementsRef.current.set(item.value, element);\n } else {\n badgeElementsRef.current.delete(item.value);\n }\n }}\n role=\"presentation\"\n className={styles.badgeWrapper}\n data-visible={index < visibleCount}\n onKeyDown={(event: KeyboardEvent<HTMLDivElement>): void => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.stopPropagation();\n }\n }}\n onMouseDown={(): void => {\n wasClickedRef.current = true;\n }}\n >\n <Badge\n emphasis=\"weak\"\n aria-label={typeof item.displayValue === 'string' ? item.displayValue : item.value}\n onDismiss={(event) => {\n event.stopPropagation();\n onDismiss(item.value, wasClickedRef.current);\n wasClickedRef.current = false;\n }}\n >\n {item.displayValue}\n </Badge>\n </div>\n ))}\n {overflowCount > 0 && (\n <div\n className={styles.badgeWrapper}\n aria-label={t('Select_additionalItemsSelected', { count: overflowCount.toString() })}\n >\n <Badge emphasis=\"weak\" aria-hidden=\"true\">\n +{overflowCount}\n </Badge>\n </div>\n )}\n </div>\n );\n};\n"],"names":["BADGE_GAP","OVERFLOW_BADGE_MIN_WIDTH","INPUT_MIN_WIDTH","calculateVisibleCount","container","badgeElements","items","hasInputSlot","containerWidth","usedWidth","count","item","badgeElement","badgeWidth","widthWithGap","reservedWidth","CollapsibleBadges","placeholder","onDismiss","children","selectedCount","t","useTranslation","wasClickedRef","useRef","containerRef","badgeElementsRef","visibleCount","setVisibleCount","useState","hasChildren","useEffect","recalculate","observer","overflowCount","getSelectedCountText","styles","jsx","index","element","event","Badge","jsxs"],"mappings":";;;;;AASA,MAAMA,IAAY,GACZC,IAA2B,IAC3BC,IAAkB,IAiBlBC,IAAwB,CAC1BC,GACAC,GACAC,GACAC,MACS;AACT,QAAMC,IAAiBJ,EAAU;AACjC,MAAIK,IAAYF,IAAeL,IAAkBF,IAAY,GACzDU,IAAQ;AAEZ,aAAWC,KAAQL,GAAO;AACtB,UAAMM,IAAeP,EAAc,IAAIM,EAAK,KAAK;AACjD,QAAI,CAACC;AACD;AAGJ,UAAMC,IAAaD,EAAa,aAC1BE,IAAeJ,IAAQ,IAAIG,IAAab,IAAYa,GAEpDE,IADmBT,EAAM,SAASI,IAAQ,IAAI,IACXT,IAA2BD,IAAY;AAEhF,QAAIS,IAAYK,IAAeC,IAAgBP;AAC3C;AAGJ,IAAAC,KAAaK,GACbJ;AAAA,EACJ;AAEA,SAAO,KAAK,IAAI,GAAGA,CAAK;AAC5B,GAEaM,IAAoB,CAAC;AAAA,EAC9B,OAAAV;AAAA,EACA,aAAAW;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB;AACpB,MAAyC;AACrC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACRC,IAAgBC,EAAO,EAAK,GAC5BC,IAAeD,EAAuB,IAAI,GAC1CE,IAAmBF,EAAoC,oBAAI,KAAK,GAChE,CAACG,GAAcC,CAAe,IAAIC,EAASvB,EAAM,MAAM,GACvDwB,IAAcX,MAAa;AAuBjC,MArBAY,EAAU,MAAM;AACZ,UAAM3B,IAAYqB,EAAa;AAC/B,QAAI,CAACrB;AACD;AAGJ,UAAM4B,IAAc,MAAY;AAC5B,UAAI1B,EAAM,WAAW,GAAG;AACpB,QAAAsB,EAAgB,CAAC;AACjB;AAAA,MACJ;AACA,MAAAA,EAAgBzB,EAAsBC,GAAWsB,EAAiB,SAASpB,GAAOwB,CAAW,CAAC;AAAA,IAClG,GAEMG,IAAW,IAAI,eAAeD,CAAW;AAC/C,WAAAC,EAAS,QAAQ7B,CAAS,GACnB,MAAY;AACf,MAAA6B,EAAS,WAAA;AAAA,IACb;AAAA,EACJ,GAAG,CAAC3B,GAAOwB,CAAW,CAAC,GAEnBxB,EAAM,WAAW,KAAK,CAACa;AACvB,WAAOF;AAGX,QAAMiB,IAAgB5B,EAAM,SAASqB,GAE/BQ,IAAuB,CAACzB,MACtBA,MAAU,IACHW,EAAE,2BAA2B,IAEpCX,IAAQ,IACDW,EAAE,gCAAgC,EAAE,OAAOX,EAAM,SAAA,GAAY,IAEjE;AAGX,2BACK,OAAA,EAAI,KAAKe,GAAc,WAAWW,EAAO,iBACtC,UAAA;AAAA,IAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWD,EAAO,QAAQ,aAAU,UAAS,eAAY,QAC1D,UAAAD,EAAqBf,CAAa,EAAA,CACvC;AAAA,IACCD;AAAA,IACAb,EAAM,IAAI,CAACK,GAAM2B,MACd,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QAEG,KAAK,CAACE,MAAkB;AACpB,UAAIA,IACAb,EAAiB,QAAQ,IAAIf,EAAK,OAAO4B,CAAO,IAEhDb,EAAiB,QAAQ,OAAOf,EAAK,KAAK;AAAA,QAElD;AAAA,QACA,MAAK;AAAA,QACL,WAAWyB,EAAO;AAAA,QAClB,gBAAcE,IAAQX;AAAA,QACtB,WAAW,CAACa,MAA+C;AACvD,WAAIA,EAAM,QAAQ,WAAWA,EAAM,QAAQ,QACvCA,EAAM,gBAAA;AAAA,QAEd;AAAA,QACA,aAAa,MAAY;AACrB,UAAAjB,EAAc,UAAU;AAAA,QAC5B;AAAA,QAEA,UAAA,gBAAAc;AAAA,UAACI;AAAA,UAAA;AAAA,YACG,UAAS;AAAA,YACT,cAAY,OAAO9B,EAAK,gBAAiB,WAAWA,EAAK,eAAeA,EAAK;AAAA,YAC7E,WAAW,CAAC6B,MAAU;AAClB,cAAAA,EAAM,gBAAA,GACNtB,EAAUP,EAAK,OAAOY,EAAc,OAAO,GAC3CA,EAAc,UAAU;AAAA,YAC5B;AAAA,YAEC,UAAAZ,EAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACV;AAAA,MA9BKA,EAAK;AAAA,IAAA,CAgCjB;AAAA,IACAuB,IAAgB,KACb,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAWD,EAAO;AAAA,QAClB,cAAYf,EAAE,kCAAkC,EAAE,OAAOa,EAAc,SAAA,GAAY;AAAA,QAEnF,UAAA,gBAAAQ,EAACD,GAAA,EAAM,UAAS,QAAO,eAAY,QAAO,UAAA;AAAA,UAAA;AAAA,UACpCP;AAAA,QAAA,EAAA,CACN;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GAER;AAER;"}
1
+ {"version":3,"file":"fondue-components115.js","sources":["../src/components/DatePicker/helpers/dateDisplayFormatter.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { format } from 'date-fns';\n\nimport { type DatePickerDate, type DatePickerDateRange } from '../types';\n\nimport { transformDateRangeToPickerDateRange, transformDatePickerDateToDate } from './dateTransformer';\n\nconst isDateRange = (selected?: DatePickerDateRange | DatePickerDate): selected is DatePickerDateRange => {\n return Boolean(selected && 'from' in selected && 'to' in selected);\n};\n\nconst getSingleDateDisplayString = (selected?: DatePickerDate): string | undefined => {\n const singleDate = transformDatePickerDateToDate(selected);\n if (!singleDate) {\n return undefined;\n }\n return format(singleDate, 'MMMM d, yyyy');\n};\n\nconst getDateRangeDisplayString = (selected?: DatePickerDateRange): string | undefined => {\n const dateRange = transformDateRangeToPickerDateRange(selected);\n if (!dateRange?.from || !dateRange?.to) {\n return undefined;\n }\n\n const isSameYear = dateRange.from.getFullYear() === dateRange.to.getFullYear();\n\n const isSameMonth = isSameYear && dateRange.from.getMonth() === dateRange.to.getMonth();\n\n if (isSameMonth) {\n return `${format(dateRange.from, 'MMM d')}\\u2013${format(dateRange.to, 'd, yyyy')}`;\n }\n\n if (isSameYear) {\n return `${format(dateRange.from, 'MMM d')}\\u2013${format(dateRange.to, 'MMM d, yyyy')}`;\n }\n\n return `${format(dateRange.from, 'MMM d, yyyy')}\\u2013${format(dateRange.to, 'MMM d, yyyy')}`;\n};\n\nexport const getDateDisplayString = (selected?: DatePickerDateRange | DatePickerDate): string | undefined => {\n if (isDateRange(selected)) {\n return getDateRangeDisplayString(selected);\n }\n return getSingleDateDisplayString(selected);\n};\n"],"names":["isDateRange","selected","getSingleDateDisplayString","singleDate","transformDatePickerDateToDate","format","getDateRangeDisplayString","dateRange","transformDateRangeToPickerDateRange","isSameYear","getDateDisplayString"],"mappings":";;AAQA,MAAMA,IAAc,CAACC,MACV,GAAQA,KAAY,UAAUA,KAAY,QAAQA,IAGvDC,IAA6B,CAACD,MAAkD;AAClF,QAAME,IAAaC,EAA8BH,CAAQ;AACzD,MAAKE;AAGL,WAAOE,EAAOF,GAAY,cAAc;AAC5C,GAEMG,IAA4B,CAACL,MAAuD;AACtF,QAAMM,IAAYC,EAAoCP,CAAQ;AAC9D,MAAI,EAACM,KAAA,QAAAA,EAAW,SAAQ,EAACA,KAAA,QAAAA,EAAW;AAChC;AAGJ,QAAME,IAAaF,EAAU,KAAK,kBAAkBA,EAAU,GAAG,YAAA;AAIjE,SAFoBE,KAAcF,EAAU,KAAK,eAAeA,EAAU,GAAG,SAAA,IAGlE,GAAGF,EAAOE,EAAU,MAAM,OAAO,CAAC,IAASF,EAAOE,EAAU,IAAI,SAAS,CAAC,KAGjFE,IACO,GAAGJ,EAAOE,EAAU,MAAM,OAAO,CAAC,IAASF,EAAOE,EAAU,IAAI,aAAa,CAAC,KAGlF,GAAGF,EAAOE,EAAU,MAAM,aAAa,CAAC,IAASF,EAAOE,EAAU,IAAI,aAAa,CAAC;AAC/F,GAEaG,IAAuB,CAACT,MAC7BD,EAAYC,CAAQ,IACbK,EAA0BL,CAAQ,IAEtCC,EAA2BD,CAAQ;"}
@@ -1,84 +1,18 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import * as p from "@radix-ui/react-popover";
3
- import { Slot as M } from "@radix-ui/react-slot";
4
- import { isValidElement as T } from "react";
5
- import { useFondueTheme as E, ThemeProvider as F } from "./fondue-components37.js";
6
- import a from "./fondue-components102.js";
7
- import { recursiveMap as R, getSelectOptionValue as _ } from "./fondue-components123.js";
8
- const j = ({
9
- highlightedIndex: l,
10
- getMenuProps: u,
11
- getItemProps: m,
12
- children: f,
13
- filterText: d,
14
- align: h,
15
- side: P,
16
- selectedItemValues: o,
17
- hasInteractedSinceOpening: S,
18
- viewportCollisionPadding: g = "compact",
19
- onEscapeKeyDown: v
20
- }) => {
21
- const O = (e) => {
22
- e.preventDefault();
23
- }, N = {
24
- compact: 8,
25
- spacious: 24
26
- }, { theme: A, dir: n } = E(), C = (e) => n === "ltr" ? e : e === "left" ? "right" : e === "right" ? "left" : e;
27
- return /* @__PURE__ */ r(p.Portal, { children: /* @__PURE__ */ r(F, { theme: A, dir: n, children: /* @__PURE__ */ r(
28
- p.Content,
29
- {
30
- dir: n,
31
- align: h,
32
- side: C(P),
33
- collisionPadding: N[g] + 8,
34
- onOpenAutoFocus: O,
35
- onEscapeKeyDown: v,
36
- className: a.portal,
37
- children: /* @__PURE__ */ r(
38
- "ul",
39
- {
40
- className: a.menu,
41
- ...u({}, { suppressRefError: !0 }),
42
- "data-has-interacted": S ? "true" : "false",
43
- "data-test-id": "fondue-select-menu",
44
- children: R(
45
- f,
46
- (e, s) => {
47
- if (((t) => (
48
- // @ts-expect-error - We are explicitly checking for ref
49
- T(t) && t.ref !== void 0
50
- ))(e)) {
51
- const t = _(e.props), i = m({
52
- item: t,
53
- index: s,
54
- ...e.ref ? { ref: e.ref } : {}
55
- }), c = o == null ? void 0 : o.includes(t.value);
56
- return /* @__PURE__ */ r(
57
- M,
58
- {
59
- className: a.item,
60
- "data-highlighted": l === s,
61
- "data-selected": c,
62
- onTouchStart: (D) => {
63
- i.onClick && i.onClick(D);
64
- },
65
- ...i,
66
- "aria-selected": c,
67
- children: e
68
- },
69
- e.props.value
70
- );
71
- }
72
- },
73
- d
74
- ).parsedChildren
75
- }
76
- )
77
- }
78
- ) }) });
1
+ const t = "_root_v3an7_5", a = "_caret_v3an7_44", o = "_dateName_v3an7_59", n = "_button_v3an7_80", c = "_actions_v3an7_93", _ = "_clearIcon_v3an7_101", e = {
2
+ root: t,
3
+ caret: a,
4
+ dateName: o,
5
+ button: n,
6
+ actions: c,
7
+ clearIcon: _
79
8
  };
80
- j.displayName = "Select.Menu";
81
9
  export {
82
- j as SelectMenu
10
+ c as actions,
11
+ n as button,
12
+ a as caret,
13
+ _ as clearIcon,
14
+ o as dateName,
15
+ e as default,
16
+ t as root
83
17
  };
84
18
  //# sourceMappingURL=fondue-components116.js.map