@frontify/fondue-components 29.0.1 → 29.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 (327) hide show
  1. package/dist/fondue-components.js +72 -70
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +176 -33
  4. package/dist/fondue-components10.js.map +1 -1
  5. package/dist/fondue-components100.js +8 -23
  6. package/dist/fondue-components100.js.map +1 -1
  7. package/dist/fondue-components101.js +11 -34
  8. package/dist/fondue-components101.js.map +1 -1
  9. package/dist/fondue-components102.js +10 -10
  10. package/dist/fondue-components103.js +6 -67
  11. package/dist/fondue-components103.js.map +1 -1
  12. package/dist/fondue-components104.js +12 -14
  13. package/dist/fondue-components104.js.map +1 -1
  14. package/dist/fondue-components105.js +22 -25
  15. package/dist/fondue-components105.js.map +1 -1
  16. package/dist/fondue-components106.js +34 -19
  17. package/dist/fondue-components106.js.map +1 -1
  18. package/dist/fondue-components107.js +10 -24
  19. package/dist/fondue-components107.js.map +1 -1
  20. package/dist/fondue-components108.js +67 -8
  21. package/dist/fondue-components108.js.map +1 -1
  22. package/dist/fondue-components109.js +14 -30
  23. package/dist/fondue-components109.js.map +1 -1
  24. package/dist/fondue-components11.js +35 -185
  25. package/dist/fondue-components11.js.map +1 -1
  26. package/dist/fondue-components110.js +23 -4
  27. package/dist/fondue-components110.js.map +1 -1
  28. package/dist/fondue-components111.js +17 -15
  29. package/dist/fondue-components111.js.map +1 -1
  30. package/dist/fondue-components112.js +25 -127
  31. package/dist/fondue-components112.js.map +1 -1
  32. package/dist/fondue-components113.js +9 -11
  33. package/dist/fondue-components113.js.map +1 -1
  34. package/dist/fondue-components114.js +33 -36
  35. package/dist/fondue-components114.js.map +1 -1
  36. package/dist/fondue-components115.js +7 -14
  37. package/dist/fondue-components115.js.map +1 -1
  38. package/dist/fondue-components116.js +4 -14
  39. package/dist/fondue-components116.js.map +1 -1
  40. package/dist/fondue-components117.js +5 -111
  41. package/dist/fondue-components117.js.map +1 -1
  42. package/dist/fondue-components118.js +16 -12
  43. package/dist/fondue-components118.js.map +1 -1
  44. package/dist/fondue-components119.js +14 -17
  45. package/dist/fondue-components119.js.map +1 -1
  46. package/dist/fondue-components12.js +185 -7
  47. package/dist/fondue-components12.js.map +1 -1
  48. package/dist/fondue-components120.js +16 -12
  49. package/dist/fondue-components120.js.map +1 -1
  50. package/dist/fondue-components121.js +107 -213
  51. package/dist/fondue-components121.js.map +1 -1
  52. package/dist/fondue-components122.js +10 -16
  53. package/dist/fondue-components122.js.map +1 -1
  54. package/dist/fondue-components123.js +16 -16
  55. package/dist/fondue-components123.js.map +1 -1
  56. package/dist/fondue-components124.js +12 -150
  57. package/dist/fondue-components124.js.map +1 -1
  58. package/dist/fondue-components125.js +32 -44
  59. package/dist/fondue-components125.js.map +1 -1
  60. package/dist/fondue-components126.js +6 -5
  61. package/dist/fondue-components126.js.map +1 -1
  62. package/dist/fondue-components127.js +127 -5
  63. package/dist/fondue-components127.js.map +1 -1
  64. package/dist/fondue-components128.js +11 -29
  65. package/dist/fondue-components128.js.map +1 -1
  66. package/dist/fondue-components129.js +39 -0
  67. package/dist/fondue-components129.js.map +1 -0
  68. package/dist/fondue-components13.js +8 -63
  69. package/dist/fondue-components13.js.map +1 -1
  70. package/dist/fondue-components130.js +216 -40
  71. package/dist/fondue-components130.js.map +1 -1
  72. package/dist/fondue-components131.js +19 -6
  73. package/dist/fondue-components131.js.map +1 -1
  74. package/dist/fondue-components132.js +16 -11
  75. package/dist/fondue-components132.js.map +1 -1
  76. package/dist/fondue-components133.js +150 -70
  77. package/dist/fondue-components133.js.map +1 -1
  78. package/dist/fondue-components134.js +44 -14
  79. package/dist/fondue-components134.js.map +1 -1
  80. package/dist/fondue-components135.js +170 -7
  81. package/dist/fondue-components135.js.map +1 -1
  82. package/dist/fondue-components136.js +57 -86
  83. package/dist/fondue-components136.js.map +1 -1
  84. package/dist/fondue-components137.js +9 -81
  85. package/dist/fondue-components137.js.map +1 -1
  86. package/dist/fondue-components138.js +254 -29
  87. package/dist/fondue-components138.js.map +1 -1
  88. package/dist/fondue-components14.js +61 -35
  89. package/dist/fondue-components14.js.map +1 -1
  90. package/dist/fondue-components140.js +40 -58
  91. package/dist/fondue-components140.js.map +1 -1
  92. package/dist/fondue-components141.js +41 -9
  93. package/dist/fondue-components141.js.map +1 -1
  94. package/dist/fondue-components142.js +6 -256
  95. package/dist/fondue-components142.js.map +1 -1
  96. package/dist/fondue-components143.js +11 -18
  97. package/dist/fondue-components143.js.map +1 -1
  98. package/dist/fondue-components144.js +68 -67
  99. package/dist/fondue-components144.js.map +1 -1
  100. package/dist/fondue-components145.js +14 -1351
  101. package/dist/fondue-components145.js.map +1 -1
  102. package/dist/fondue-components146.js +7 -941
  103. package/dist/fondue-components146.js.map +1 -1
  104. package/dist/fondue-components147.js +87 -196
  105. package/dist/fondue-components147.js.map +1 -1
  106. package/dist/fondue-components148.js +78 -18
  107. package/dist/fondue-components148.js.map +1 -1
  108. package/dist/fondue-components149.js +30 -39
  109. package/dist/fondue-components149.js.map +1 -1
  110. package/dist/fondue-components15.js +36 -121
  111. package/dist/fondue-components15.js.map +1 -1
  112. package/dist/fondue-components150.js +17 -66
  113. package/dist/fondue-components150.js.map +1 -1
  114. package/dist/fondue-components151.js +69 -30
  115. package/dist/fondue-components151.js.map +1 -1
  116. package/dist/fondue-components152.js +1352 -9
  117. package/dist/fondue-components152.js.map +1 -1
  118. package/dist/fondue-components153.js +939 -151
  119. package/dist/fondue-components153.js.map +1 -1
  120. package/dist/fondue-components154.js +197 -107
  121. package/dist/fondue-components154.js.map +1 -1
  122. package/dist/fondue-components155.js +22 -17
  123. package/dist/fondue-components155.js.map +1 -1
  124. package/dist/fondue-components156.js +39 -15
  125. package/dist/fondue-components156.js.map +1 -1
  126. package/dist/fondue-components157.js +68 -29
  127. package/dist/fondue-components157.js.map +1 -1
  128. package/dist/fondue-components158.js +31 -13
  129. package/dist/fondue-components158.js.map +1 -1
  130. package/dist/fondue-components159.js +9 -7
  131. package/dist/fondue-components159.js.map +1 -1
  132. package/dist/fondue-components16.js +121 -36
  133. package/dist/fondue-components16.js.map +1 -1
  134. package/dist/fondue-components160.js +156 -0
  135. package/dist/fondue-components160.js.map +1 -0
  136. package/dist/fondue-components161.js +111 -0
  137. package/dist/fondue-components161.js.map +1 -0
  138. package/dist/fondue-components162.js +19 -0
  139. package/dist/fondue-components162.js.map +1 -0
  140. package/dist/fondue-components163.js +32 -0
  141. package/dist/fondue-components163.js.map +1 -0
  142. package/dist/fondue-components164.js +16 -0
  143. package/dist/fondue-components164.js.map +1 -0
  144. package/dist/fondue-components165.js +10 -0
  145. package/dist/fondue-components165.js.map +1 -0
  146. package/dist/fondue-components166.js +19 -0
  147. package/dist/fondue-components166.js.map +1 -0
  148. package/dist/fondue-components17.js +30 -39
  149. package/dist/fondue-components17.js.map +1 -1
  150. package/dist/fondue-components18.js +44 -41
  151. package/dist/fondue-components18.js.map +1 -1
  152. package/dist/fondue-components19.js +42 -57
  153. package/dist/fondue-components19.js.map +1 -1
  154. package/dist/fondue-components20.js +55 -41
  155. package/dist/fondue-components20.js.map +1 -1
  156. package/dist/fondue-components21.js +39 -16
  157. package/dist/fondue-components21.js.map +1 -1
  158. package/dist/fondue-components22.js +17 -43
  159. package/dist/fondue-components22.js.map +1 -1
  160. package/dist/fondue-components23.js +46 -68
  161. package/dist/fondue-components23.js.map +1 -1
  162. package/dist/fondue-components24.js +67 -71
  163. package/dist/fondue-components24.js.map +1 -1
  164. package/dist/fondue-components25.js +72 -16
  165. package/dist/fondue-components25.js.map +1 -1
  166. package/dist/fondue-components26.js +18 -77
  167. package/dist/fondue-components26.js.map +1 -1
  168. package/dist/fondue-components27.js +75 -34
  169. package/dist/fondue-components27.js.map +1 -1
  170. package/dist/fondue-components28.js +34 -53
  171. package/dist/fondue-components28.js.map +1 -1
  172. package/dist/fondue-components29.js +55 -23
  173. package/dist/fondue-components29.js.map +1 -1
  174. package/dist/fondue-components3.js +1 -1
  175. package/dist/fondue-components30.js +23 -55
  176. package/dist/fondue-components30.js.map +1 -1
  177. package/dist/fondue-components31.js +52 -97
  178. package/dist/fondue-components31.js.map +1 -1
  179. package/dist/fondue-components32.js +98 -31
  180. package/dist/fondue-components32.js.map +1 -1
  181. package/dist/fondue-components33.js +31 -194
  182. package/dist/fondue-components33.js.map +1 -1
  183. package/dist/fondue-components34.js +184 -134
  184. package/dist/fondue-components34.js.map +1 -1
  185. package/dist/fondue-components35.js +143 -130
  186. package/dist/fondue-components35.js.map +1 -1
  187. package/dist/fondue-components36.js +131 -30
  188. package/dist/fondue-components36.js.map +1 -1
  189. package/dist/fondue-components37.js +29 -79
  190. package/dist/fondue-components37.js.map +1 -1
  191. package/dist/fondue-components38.js +68 -110
  192. package/dist/fondue-components38.js.map +1 -1
  193. package/dist/fondue-components39.js +121 -34
  194. package/dist/fondue-components39.js.map +1 -1
  195. package/dist/fondue-components4.js +21 -19
  196. package/dist/fondue-components4.js.map +1 -1
  197. package/dist/fondue-components40.js +36 -56
  198. package/dist/fondue-components40.js.map +1 -1
  199. package/dist/fondue-components41.js +56 -20
  200. package/dist/fondue-components41.js.map +1 -1
  201. package/dist/fondue-components42.js +20 -25
  202. package/dist/fondue-components42.js.map +1 -1
  203. package/dist/fondue-components43.js +25 -7
  204. package/dist/fondue-components43.js.map +1 -1
  205. package/dist/fondue-components44.js +7 -8
  206. package/dist/fondue-components44.js.map +1 -1
  207. package/dist/fondue-components45.js +9 -41
  208. package/dist/fondue-components45.js.map +1 -1
  209. package/dist/fondue-components46.js +41 -5
  210. package/dist/fondue-components46.js.map +1 -1
  211. package/dist/fondue-components47.js +1 -1
  212. package/dist/fondue-components48.js +3 -11
  213. package/dist/fondue-components48.js.map +1 -1
  214. package/dist/fondue-components49.js +25 -29
  215. package/dist/fondue-components49.js.map +1 -1
  216. package/dist/fondue-components5.js +2 -2
  217. package/dist/fondue-components50.js +33 -54
  218. package/dist/fondue-components50.js.map +1 -1
  219. package/dist/fondue-components51.js +20 -130
  220. package/dist/fondue-components51.js.map +1 -1
  221. package/dist/fondue-components52.js +85 -20
  222. package/dist/fondue-components52.js.map +1 -1
  223. package/dist/fondue-components53.js +13 -53
  224. package/dist/fondue-components53.js.map +1 -1
  225. package/dist/fondue-components54.js +32 -8
  226. package/dist/fondue-components54.js.map +1 -1
  227. package/dist/fondue-components55.js +54 -13
  228. package/dist/fondue-components55.js.map +1 -1
  229. package/dist/fondue-components56.js +130 -16
  230. package/dist/fondue-components56.js.map +1 -1
  231. package/dist/fondue-components57.js +20 -4
  232. package/dist/fondue-components57.js.map +1 -1
  233. package/dist/fondue-components58.js +52 -17
  234. package/dist/fondue-components58.js.map +1 -1
  235. package/dist/fondue-components59.js +7 -18
  236. package/dist/fondue-components59.js.map +1 -1
  237. package/dist/fondue-components6.js +1 -1
  238. package/dist/fondue-components60.js +13 -44
  239. package/dist/fondue-components60.js.map +1 -1
  240. package/dist/fondue-components61.js +16 -24
  241. package/dist/fondue-components61.js.map +1 -1
  242. package/dist/fondue-components62.js +4 -22
  243. package/dist/fondue-components62.js.map +1 -1
  244. package/dist/fondue-components63.js +18 -7
  245. package/dist/fondue-components63.js.map +1 -1
  246. package/dist/fondue-components64.js +18 -4
  247. package/dist/fondue-components64.js.map +1 -1
  248. package/dist/fondue-components65.js +43 -12
  249. package/dist/fondue-components65.js.map +1 -1
  250. package/dist/fondue-components66.js +24 -4
  251. package/dist/fondue-components66.js.map +1 -1
  252. package/dist/fondue-components67.js +22 -17
  253. package/dist/fondue-components67.js.map +1 -1
  254. package/dist/fondue-components68.js +4 -8
  255. package/dist/fondue-components68.js.map +1 -1
  256. package/dist/fondue-components69.js +4 -36
  257. package/dist/fondue-components69.js.map +1 -1
  258. package/dist/fondue-components7.js +32 -65
  259. package/dist/fondue-components7.js.map +1 -1
  260. package/dist/fondue-components70.js +12 -6
  261. package/dist/fondue-components70.js.map +1 -1
  262. package/dist/fondue-components71.js +1 -1
  263. package/dist/fondue-components72.js +17 -12
  264. package/dist/fondue-components72.js.map +1 -1
  265. package/dist/fondue-components73.js +10 -51
  266. package/dist/fondue-components73.js.map +1 -1
  267. package/dist/fondue-components74.js +37 -44
  268. package/dist/fondue-components74.js.map +1 -1
  269. package/dist/fondue-components75.js +7 -6
  270. package/dist/fondue-components75.js.map +1 -1
  271. package/dist/fondue-components76.js +5 -6
  272. package/dist/fondue-components76.js.map +1 -1
  273. package/dist/fondue-components77.js +13 -13
  274. package/dist/fondue-components77.js.map +1 -1
  275. package/dist/fondue-components78.js +51 -27
  276. package/dist/fondue-components78.js.map +1 -1
  277. package/dist/fondue-components79.js +42 -11
  278. package/dist/fondue-components79.js.map +1 -1
  279. package/dist/fondue-components8.js +65 -51
  280. package/dist/fondue-components8.js.map +1 -1
  281. package/dist/fondue-components80.js +6 -5
  282. package/dist/fondue-components80.js.map +1 -1
  283. package/dist/fondue-components81.js +6 -13
  284. package/dist/fondue-components81.js.map +1 -1
  285. package/dist/fondue-components82.js +13 -48
  286. package/dist/fondue-components82.js.map +1 -1
  287. package/dist/fondue-components83.js +27 -22
  288. package/dist/fondue-components83.js.map +1 -1
  289. package/dist/fondue-components84.js +13 -629
  290. package/dist/fondue-components84.js.map +1 -1
  291. package/dist/fondue-components85.js +4 -8
  292. package/dist/fondue-components85.js.map +1 -1
  293. package/dist/fondue-components86.js +12 -12
  294. package/dist/fondue-components86.js.map +1 -1
  295. package/dist/fondue-components87.js +47 -4
  296. package/dist/fondue-components87.js.map +1 -1
  297. package/dist/fondue-components88.js +22 -24
  298. package/dist/fondue-components88.js.map +1 -1
  299. package/dist/fondue-components89.js +628 -16
  300. package/dist/fondue-components89.js.map +1 -1
  301. package/dist/fondue-components9.js +46 -173
  302. package/dist/fondue-components9.js.map +1 -1
  303. package/dist/fondue-components90.js +9 -20
  304. package/dist/fondue-components90.js.map +1 -1
  305. package/dist/fondue-components91.js +13 -20
  306. package/dist/fondue-components91.js.map +1 -1
  307. package/dist/fondue-components92.js +5 -20
  308. package/dist/fondue-components92.js.map +1 -1
  309. package/dist/fondue-components93.js +24 -19
  310. package/dist/fondue-components93.js.map +1 -1
  311. package/dist/fondue-components94.js +17 -19
  312. package/dist/fondue-components94.js.map +1 -1
  313. package/dist/fondue-components95.js +20 -8
  314. package/dist/fondue-components95.js.map +1 -1
  315. package/dist/fondue-components96.js +20 -11
  316. package/dist/fondue-components96.js.map +1 -1
  317. package/dist/fondue-components97.js +20 -11
  318. package/dist/fondue-components97.js.map +1 -1
  319. package/dist/fondue-components98.js +20 -7
  320. package/dist/fondue-components98.js.map +1 -1
  321. package/dist/fondue-components99.js +19 -13
  322. package/dist/fondue-components99.js.map +1 -1
  323. package/dist/index.d.ts +184 -18
  324. package/dist/style.css +1 -1
  325. package/package.json +6 -2
  326. package/dist/fondue-components139.js +0 -173
  327. package/dist/fondue-components139.js.map +0 -1
@@ -1,74 +1,154 @@
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-components148.js";
4
- import { ForwardedRefSelectItem as L } from "./fondue-components94.js";
5
- import { ForwardedRefSelectSlot as y } from "./fondue-components95.js";
6
- import { getSelectOptionValue as I } from "./fondue-components149.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())
50
- ),
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
- }
68
- };
1
+ import { jsxs as d, jsx as n } from "react/jsx-runtime";
2
+ import { IconCaretDown as V } from "@frontify/fondue-icons";
3
+ import * as I from "@radix-ui/react-popover";
4
+ import { useSelect as s } from "downshift";
5
+ import { forwardRef as ee, useRef as te, useCallback as N, useState as ne, useMemo as oe } from "react";
6
+ import { useBadgeItems as re } from "./fondue-components142.js";
7
+ import { useFocusRing as ae } from "./fondue-components143.js";
8
+ import { useSelectData as se } from "./fondue-components144.js";
9
+ import { useSelectionDescription as ie } from "./fondue-components145.js";
10
+ import r from "./fondue-components134.js";
11
+ import { ClearButton as le } from "./fondue-components146.js";
12
+ import { CollapsibleBadges as ce } from "./fondue-components147.js";
13
+ import { SelectMenu as ue } from "./fondue-components148.js";
14
+ import { StatusIcons as ge } from "./fondue-components149.js";
15
+ const O = ({
16
+ children: M,
17
+ selectedItemValues: o,
18
+ onItemSelect: p,
19
+ onClear: P,
20
+ placeholder: c = "",
21
+ status: u = "neutral",
22
+ disabled: f,
23
+ alignMenu: R = "start",
24
+ side: j = "bottom",
25
+ id: k,
26
+ showStringValue: y = !0,
27
+ "data-test-id": b = "fondue-select",
28
+ viewportCollisionPadding: E = "compact",
29
+ onEscapeKeyDown: F,
30
+ multiple: g,
31
+ ...i
32
+ }, a) => {
33
+ const C = te(null), B = N(
34
+ (e) => {
35
+ C.current = e, typeof a == "function" ? a(e) : a && (a.current = e);
36
+ },
37
+ [a]
38
+ ), { inputSlots: H, menuSlots: K, items: w, clearButton: S, getItemByValue: l } = se(M), { onMouseDown: z, onFocus: A, onBlur: q } = ae(), { selectionDescriptionId: D, selectionDescription: m } = ie(
39
+ g,
40
+ o,
41
+ l
42
+ ), G = re(o, l), [J, v] = ne(!1), x = N(
43
+ (e) => {
44
+ const t = l(e);
45
+ if (t)
46
+ return !y && (t != null && t.children) ? t.children : t == null ? void 0 : t.label;
47
+ },
48
+ [l, y]
49
+ ), { getToggleButtonProps: L, getMenuProps: Q, getItemProps: U, reset: W, isOpen: X, highlightedIndex: Y } = s({
50
+ items: w,
51
+ selectedItem: null,
52
+ toggleButtonId: k,
53
+ labelId: "aria-labelledby" in i ? i["aria-labelledby"] : void 0,
54
+ onIsOpenChange: () => {
55
+ v(!1);
56
+ },
57
+ onHighlightedIndexChange: () => {
58
+ v(!0);
59
+ },
60
+ onSelectedItemChange: ({ selectedItem: e }) => {
61
+ p(e == null ? void 0 : e.value);
62
+ },
63
+ itemToString: (e) => e ? e.label : "",
64
+ ...g ? {
65
+ stateReducer: (e, t) => {
66
+ const { changes: h, type: $ } = t;
67
+ switch ($) {
68
+ case s.stateChangeTypes.ToggleButtonKeyDownEnter:
69
+ case s.stateChangeTypes.ToggleButtonKeyDownSpaceButton:
70
+ case s.stateChangeTypes.ItemClick:
71
+ return {
72
+ ...h,
73
+ isOpen: !0,
74
+ highlightedIndex: e.highlightedIndex
75
+ };
76
+ case s.stateChangeTypes.ToggleButtonBlur:
77
+ return {
78
+ ...h,
79
+ selectedItem: e.selectedItem
80
+ };
81
+ }
82
+ return h;
83
+ }
84
+ } : {}
85
+ }), T = u === "error", Z = () => {
86
+ P(), W();
87
+ }, _ = oe(
88
+ () => x(o[0]) || c,
89
+ [x, o, c]
90
+ );
91
+ return /* @__PURE__ */ d(I.Root, { open: X, children: [
92
+ /* @__PURE__ */ n(I.Anchor, { asChild: !0, onMouseDown: z, onFocus: A, onBlur: q, children: /* @__PURE__ */ d(
93
+ "div",
94
+ {
95
+ ref: B,
96
+ className: r.root,
97
+ "data-status": T ? "error" : u,
98
+ "data-disabled": f,
99
+ "data-empty": o.length === 0,
100
+ "data-test-id": b,
101
+ ...f ? {} : (
102
+ // eslint-disable-next-line react-hooks/refs
103
+ L({
104
+ "aria-label": "aria-label" in i ? i["aria-label"] : void 0,
105
+ "aria-describedby": m ? D : void 0,
106
+ ref: B
107
+ })
108
+ ),
109
+ children: [
110
+ m ? /* @__PURE__ */ n("span", { id: D, className: r.srOnly, children: m }) : null,
111
+ g ? /* @__PURE__ */ n("div", { className: r.selectedValue, children: /* @__PURE__ */ n(
112
+ ce,
113
+ {
114
+ items: G,
115
+ placeholder: c,
116
+ onDismiss: (e) => {
117
+ var t;
118
+ p(e), (t = C.current) == null || t.focus();
119
+ },
120
+ selectedCount: o.length
121
+ }
122
+ ) }) : /* @__PURE__ */ n("span", { className: r.selectedValue, children: _ }),
123
+ H,
124
+ S ? /* @__PURE__ */ n(le, { onClear: Z, children: S }) : null,
125
+ /* @__PURE__ */ d("div", { className: r.icons, children: [
126
+ /* @__PURE__ */ n(V, { size: 16, className: r.caret }),
127
+ /* @__PURE__ */ n(ge, { status: u, hasError: T, dataTestId: b })
128
+ ] })
129
+ ]
130
+ }
131
+ ) }),
132
+ /* @__PURE__ */ n(
133
+ ue,
134
+ {
135
+ align: R,
136
+ side: j,
137
+ highlightedIndex: Y,
138
+ getMenuProps: Q,
139
+ getItemProps: U,
140
+ selectedItemValues: o,
141
+ hasInteractedSinceOpening: J,
142
+ viewportCollisionPadding: E,
143
+ onEscapeKeyDown: F,
144
+ children: K
145
+ }
146
+ )
147
+ ] });
69
148
  };
149
+ O.displayName = "Select";
150
+ const Te = ee(O);
70
151
  export {
71
- g as getRecursiveOptionValues,
72
- q as useSelectData
152
+ Te as SelectBase
73
153
  };
74
154
  //# sourceMappingURL=fondue-components133.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components133.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":";;;;;;AA2BA,MAAMA,IAAgB,CAACC,GAAoBC,MAAsC;AAC7E,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAOC,CAAQ,IAAIF,EAAuB,IAAI,GAC/C,CAACG,GAAaC,CAAc,IAAIJ,EAGnC;AAAA,IACC,gBAAgB,CAAA;AAAA,IAChB,OAAO,CAAA;AAAA,EAAC,CACX;AAED,SAAAK,EAAU,MAAM;AAEZ,IAAAH,EAAS,IAAI,GACRL,KACDO,EAAe;AAAA,MACX,gBAAgB,CAAA;AAAA,MAChB,OAAO,CAAA;AAAA,IAAC,CACX,GAGDP,MACAE,EAAa,EAAI,GACjBF,EAAcD,CAAU,EACnB,KAAK,CAACU,MAAU;AACb,MAAAF,EAAe;AAAA,QACX,gBAAgBE,EAAM,IAAI,CAACC,MACvB,gBAAAC,EAACC,GAAA,EAAwC,OAAOF,EAAK,OAAO,OAAOA,EAAK,OACnE,YAAK,UAAUA,EAAK,UAAUA,EAAK,MAAA,GADXA,EAAK,KAElC,CACH;AAAA,QACD,OAAOD,EAAM,IAAI,CAACC,OAAU,EAAE,OAAOA,EAAK,OAAO,OAAOA,EAAK,OAAO,UAAUA,EAAK,UAAU;AAAA,MAAA,CAChG,GACDR,EAAa,EAAK;AAAA,IACtB,CAAC,EACA,MAAM,CAACE,MAAiB;AACrB,MAAAC,EAASD,CAAK,GACdF,EAAa,EAAK;AAAA,IACtB,CAAC;AAAA,EAEb,GAAG,CAACH,GAAYC,CAAa,CAAC,GAEvB,EAAE,WAAAC,GAAW,OAAAG,GAAO,gBAAgBE,EAAY,gBAAgB,OAAOA,EAAY,MAAA;AAC9F,GAiBaO,IAA2B,CACpCC,MAC2D;AAC3D,QAAMC,IAA6C,CAAA;AACnD,SAAAC,EAAS,QAAQF,GAAU,CAACG,MAAU;AAClC,QAAIC,EAAgCD,CAAK,KAAKA,EAAM,SAASL;AACzD,MAAAG,EAAO,KAAKI,EAAqBF,EAAM,KAAK,CAAC;AAAA,aACtCC,EAAwCD,CAAK,KAAKA,EAAM,MAAM,UAAU;AAC/E,YAAMG,IAAeP,EAAyBI,EAAM,MAAM,QAAQ;AAClE,iBAAWI,KAAeD;AACtB,QAAAL,EAAO,KAAKM,CAAW;AAAA,IAE/B;AAAA,EACJ,CAAC,GACMN;AACX,GASaO,IAAgB,CAACR,GAAqBd,MAAsC;AACrF,QAAM,CAACD,GAAYwB,CAAa,IAAIpB,EAAS,EAAE,GAEzC,EAAE,YAAAqB,GAAY,WAAAC,GAAW,YAAAC,GAAY,aAAAC,EAAA,IAAgBC,EAAQ,MAAM;AACrE,UAAMJ,IAA0B,CAAA,GAC1BC,IAAyB,CAAA;AAC/B,QAAIE;AAMJ,IAJiBX,EAAS,QAAQF,CAAQ,EAAE;AAAA,MACxC,CAACG,MAAUC,EAAgCD,CAAK,KAAKA,EAAM,SAASY;AAAA,IAAA,IAIpEb,EAAS,QAAQF,GAAU,CAACG,MAAU;AAClC,MAAIC,EAAgCD,CAAK,KAAKA,EAAM,SAASY,MACrDZ,EAAM,MAAM,SAAS,SACrBQ,EAAU,KAAKR,EAAM,MAAM,QAAQ,IAC5BA,EAAM,MAAM,SAAS,UAAUA,EAAM,MAAM,SAAS,UAC3DO,EAAW,KAAKP,CAAK,IACdA,EAAM,MAAM,SAAS,YACxBA,EAAM,MAAM,WACZU,IAAcV,IAEdU,IAAcG,EAAab,GAAO,EAAE,UAAU,gBAAAN,EAACoB,GAAA,CAAA,CAAY,GAAI;AAAA,IAI/E,CAAC,IAEDN,EAAU,KAAKX,CAAQ;AAG3B,UAAMY,IAAab,EAAyBY,CAAS;AAErD,WAAO,EAAE,YAAAD,GAAY,WAAAC,GAAW,YAAAC,GAAY,aAAAC,EAAAA;AAAAA,EAChD,GAAG,CAACb,CAAQ,CAAC,GAEPL,IAAQmB;AAAA,IACV,MACIF,EAAW;AAAA,MACP,CAAChB,MAASX,MAAe,MAAMW,EAAK,MAAM,cAAc,SAASX,EAAW,YAAA,CAAa;AAAA,IAAA;AAAA,IAEjG,CAAC2B,GAAY3B,CAAU;AAAA,EAAA,GAGrBiC,IAAiBC;AAAA,IACnB,CAACC,MAA2BA,MAAU,SAAYR,EAAW,KAAK,CAAChB,MAASA,EAAK,UAAUwB,CAAK,IAAI;AAAA,IACpG,CAACR,CAAU;AAAA,EAAA,GAGTS,IAAarC,EAAcC,GAAYC,CAAa;AAE1D,SAAO;AAAA,IACH,OAAO,CAAC,GAAGS,GAAO,GAAG0B,EAAW,KAAK;AAAA,IACrC,WAAW,CAAC,GAAGV,GAAW,GAAGU,EAAW,cAAc;AAAA,IACtD,YAAApC;AAAA,IACA,YAAAyB;AAAA,IACA,aAAAG;AAAA,IACA,eAAAJ;AAAA,IACA,gBAAAS;AAAA,IACA,iBAAiB;AAAA,MACb,WAAWG,EAAW;AAAA,MACtB,OAAOA,EAAW;AAAA,IAAA;AAAA,EACtB;AAER;"}
1
+ {"version":3,"file":"fondue-components133.js","sources":["../src/components/Select/components/SelectBase.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { useSelect } from 'downshift';\nimport { forwardRef, useCallback, useMemo, useRef, useState, type ForwardedRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\n\nimport { useBadgeItems } from '../hooks/useBadgeItems';\nimport { useFocusRing } from '../hooks/useFocusRing';\nimport { useSelectData } from '../hooks/useSelectData';\nimport { useSelectionDescription } from '../hooks/useSelectionDescription';\nimport styles from '../styles/select.module.scss';\n\nimport { ClearButton } from './ClearButton';\nimport { CollapsibleBadges } from './CollapsibleBadges';\nimport { SelectMenu, type SelectMenuViewportCollisionPadding } from './SelectMenu';\nimport { StatusIcons } from './StatusIcons';\n\nexport type SelectSharedProps = {\n /**\n * Children of the Select component. This can contain the `Select.Slot` components for the label, decorators, clear action and menu\n */\n children?: ReactNode;\n /**\n * The placeholder in the select component\n */\n placeholder?: string;\n /**\n * Status of the text input\n * @default \"neutral\"\n */\n status?: 'neutral' | 'success' | 'error';\n /**\n * Disables the select component\n */\n disabled?: boolean;\n /**\n * The alignment of the menu\n * @default \"start\"\n */\n alignMenu?: 'start' | 'center' | 'end';\n /**\n * Defines the preferred side of the select. It will not be respected if there are collisions with the viewport\n * @default \"bottom\"\n */\n side?: 'left' | 'right' | 'bottom' | 'top';\n /**\n * The data test id of the select component\n */\n 'data-test-id'?: string;\n /**\n * Id of the select component\n */\n id?: string;\n /**\n * The value of the select is shown as plain text (from the label prop) when set to true\n * Items child components are used if set to false\n * @default true\n */\n showStringValue?: boolean;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * Event handler called when the escape key is pressed\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n} & CommonAriaProps;\n\ntype SelectBaseProps = SelectSharedProps & {\n /**\n * The currently selected item values\n */\n selectedItemValues: string[];\n /**\n * Callback fired when an item is selected or deselected\n */\n onItemSelect: (value?: string) => void;\n /**\n * Callback fired when the selection is cleared\n */\n onClear: () => void;\n /**\n * Whether the select allows multiple selections\n */\n multiple: boolean;\n};\n\nconst SelectBaseInput = (\n {\n children,\n selectedItemValues,\n onItemSelect,\n onClear,\n placeholder = '',\n status = 'neutral',\n disabled,\n alignMenu = 'start',\n side = 'bottom',\n id,\n showStringValue = true,\n 'data-test-id': dataTestId = 'fondue-select',\n viewportCollisionPadding = 'compact',\n onEscapeKeyDown,\n multiple,\n ...props\n }: SelectBaseProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactNode => {\n const internalRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useCallback(\n (node: HTMLDivElement | null): void => {\n internalRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n const { inputSlots, menuSlots, items, clearButton, getItemByValue } = useSelectData(children);\n const { onMouseDown, onFocus, onBlur } = useFocusRing();\n const { selectionDescriptionId, selectionDescription } = useSelectionDescription(\n multiple,\n selectedItemValues,\n getItemByValue,\n );\n const badgeItems = useBadgeItems(selectedItemValues, getItemByValue);\n\n const [hasInteractedSinceOpening, setHasInteractedSinceOpening] = useState(false);\n\n const getDisplayedValue = useCallback(\n (itemValue?: string): ReactNode => {\n const selectedItem = getItemByValue(itemValue);\n if (selectedItem) {\n return !showStringValue && selectedItem?.children ? selectedItem.children : selectedItem?.label;\n }\n return undefined;\n },\n [getItemByValue, showStringValue],\n );\n\n const { getToggleButtonProps, getMenuProps, getItemProps, reset, isOpen, highlightedIndex } = useSelect<{\n value: string;\n label: string;\n children?: ReactNode;\n }>({\n items,\n selectedItem: null,\n toggleButtonId: id,\n labelId: 'aria-labelledby' in props ? props['aria-labelledby'] : undefined,\n onIsOpenChange: () => {\n setHasInteractedSinceOpening(false);\n },\n onHighlightedIndexChange: () => {\n setHasInteractedSinceOpening(true);\n },\n onSelectedItemChange: ({ selectedItem }) => {\n onItemSelect(selectedItem?.value);\n },\n itemToString: (item) => (item ? item.label : ''),\n ...(multiple\n ? {\n stateReducer: (state, actionAndChanges) => {\n const { changes, type } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:\n case useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton:\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true,\n highlightedIndex: state.highlightedIndex,\n };\n case useSelect.stateChangeTypes.ToggleButtonBlur:\n return {\n ...changes,\n selectedItem: state.selectedItem,\n };\n }\n return changes;\n },\n }\n : {}),\n });\n\n const hasError = status === 'error';\n\n const handleClear = (): void => {\n onClear();\n reset();\n };\n\n const singleSelectValue = useMemo(\n (): ReactNode => getDisplayedValue(selectedItemValues[0]) || placeholder,\n [getDisplayedValue, selectedItemValues, placeholder],\n );\n\n return (\n <RadixPopover.Root open={isOpen}>\n <RadixPopover.Anchor asChild onMouseDown={onMouseDown} onFocus={onFocus} onBlur={onBlur}>\n <div\n ref={triggerRef}\n className={styles.root}\n data-status={hasError ? 'error' : status}\n data-disabled={disabled}\n data-empty={selectedItemValues.length === 0}\n data-test-id={dataTestId}\n {...(disabled\n ? {}\n : // eslint-disable-next-line react-hooks/refs\n getToggleButtonProps({\n 'aria-label': 'aria-label' in props ? props['aria-label'] : undefined,\n 'aria-describedby': selectionDescription ? selectionDescriptionId : undefined,\n ref: triggerRef,\n }))}\n >\n {selectionDescription ? (\n <span id={selectionDescriptionId} className={styles.srOnly}>\n {selectionDescription}\n </span>\n ) : null}\n {multiple ? (\n <div className={styles.selectedValue}>\n <CollapsibleBadges\n items={badgeItems}\n placeholder={placeholder}\n onDismiss={(value) => {\n onItemSelect(value);\n internalRef.current?.focus();\n }}\n selectedCount={selectedItemValues.length}\n />\n </div>\n ) : (\n <span className={styles.selectedValue}>{singleSelectValue}</span>\n )}\n {inputSlots}\n {clearButton ? <ClearButton onClear={handleClear}>{clearButton}</ClearButton> : null}\n <div className={styles.icons}>\n <IconCaretDown size={16} className={styles.caret} />\n <StatusIcons status={status} hasError={hasError} dataTestId={dataTestId} />\n </div>\n </div>\n </RadixPopover.Anchor>\n\n <SelectMenu\n align={alignMenu}\n side={side}\n highlightedIndex={highlightedIndex}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n selectedItemValues={selectedItemValues}\n hasInteractedSinceOpening={hasInteractedSinceOpening}\n viewportCollisionPadding={viewportCollisionPadding}\n onEscapeKeyDown={onEscapeKeyDown}\n >\n {menuSlots}\n </SelectMenu>\n </RadixPopover.Root>\n );\n};\nSelectBaseInput.displayName = 'Select';\n\nexport const SelectBase = forwardRef<HTMLDivElement, SelectBaseProps>(SelectBaseInput);\n"],"names":["SelectBaseInput","children","selectedItemValues","onItemSelect","onClear","placeholder","status","disabled","alignMenu","side","id","showStringValue","dataTestId","viewportCollisionPadding","onEscapeKeyDown","multiple","props","forwardedRef","internalRef","useRef","triggerRef","useCallback","node","inputSlots","menuSlots","items","clearButton","getItemByValue","useSelectData","onMouseDown","onFocus","onBlur","useFocusRing","selectionDescriptionId","selectionDescription","useSelectionDescription","badgeItems","useBadgeItems","hasInteractedSinceOpening","setHasInteractedSinceOpening","useState","getDisplayedValue","itemValue","selectedItem","getToggleButtonProps","getMenuProps","getItemProps","reset","isOpen","highlightedIndex","useSelect","item","state","actionAndChanges","changes","type","hasError","handleClear","singleSelectValue","useMemo","jsxs","RadixPopover","jsx","styles","CollapsibleBadges","value","_a","ClearButton","IconCaretDown","StatusIcons","SelectMenu","SelectBase","forwardRef"],"mappings":"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"}
@@ -1,18 +1,48 @@
1
- import { useId as u, useMemo as f } from "react";
2
- import { useTranslation as D } from "./fondue-components42.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 };
1
+ const c = "_root_13ciu_7", e = "_selectedValue_13ciu_63", _ = "_input_13ciu_80", o = "_slot_13ciu_106", t = "_clear_13ciu_156", n = "_clearIcon_13ciu_163", u = "_icons_13ciu_167", i = "_caret_13ciu_173", r = "_iconSuccess_13ciu_201", s = "_iconError_13ciu_207", a = "_menu_13ciu_213", l = "_portal_13ciu_236", p = "_item_13ciu_252", g = "_checkmarkIcon_13ciu_281", m = "_itemValue_13ciu_287", d = "_group_13ciu_301", I = "_groupHeading_13ciu_312", b = "_badgesContainer_13ciu_324", k = "_badgeWrapper_13ciu_336", S = "_srOnly_13ciu_345", V = "_multiSelectInput_13ciu_357", y = {
2
+ root: c,
3
+ selectedValue: e,
4
+ input: _,
5
+ slot: o,
6
+ clear: t,
7
+ clearIcon: n,
8
+ icons: u,
9
+ caret: i,
10
+ iconSuccess: r,
11
+ iconError: s,
12
+ menu: a,
13
+ portal: l,
14
+ item: p,
15
+ checkmarkIcon: g,
16
+ itemValue: m,
17
+ group: d,
18
+ groupHeading: I,
19
+ badgesContainer: b,
20
+ badgeWrapper: k,
21
+ srOnly: S,
22
+ multiSelectInput: V
14
23
  };
15
24
  export {
16
- g as useSelectionDescription
25
+ k as badgeWrapper,
26
+ b as badgesContainer,
27
+ i as caret,
28
+ g as checkmarkIcon,
29
+ t as clear,
30
+ n as clearIcon,
31
+ y as default,
32
+ d as group,
33
+ I as groupHeading,
34
+ s as iconError,
35
+ r as iconSuccess,
36
+ u as icons,
37
+ _ as input,
38
+ p as item,
39
+ m as itemValue,
40
+ a as menu,
41
+ V as multiSelectInput,
42
+ l as portal,
43
+ c as root,
44
+ e as selectedValue,
45
+ o as slot,
46
+ S as srOnly
17
47
  };
18
48
  //# sourceMappingURL=fondue-components134.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components134.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-components134.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,173 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { Slot as e } from "@radix-ui/react-slot";
3
- import a from "./fondue-components125.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 { computed as U, untracked as ue, batch as X, effect as le, signal as fe } from "./fondue-components138.js";
2
+ import { Signal as Ee } from "./fondue-components138.js";
3
+ var _e = Object.create, G = Object.defineProperty, he = Object.defineProperties, pe = Object.getOwnPropertyDescriptor, ve = Object.getOwnPropertyDescriptors, Y = Object.getOwnPropertySymbols, de = Object.prototype.hasOwnProperty, ge = Object.prototype.propertyIsEnumerable, Oe = (e, t) => (t = Symbol[e]) ? t : Symbol.for("Symbol." + e), O = (e) => {
4
+ throw TypeError(e);
5
+ }, A = (e, t, r) => t in e ? G(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ye = (e, t) => {
6
+ for (var r in t || (t = {}))
7
+ de.call(t, r) && A(e, r, t[r]);
8
+ if (Y)
9
+ for (var r of Y(t))
10
+ ge.call(t, r) && A(e, r, t[r]);
11
+ return e;
12
+ }, we = (e, t) => he(e, ve(t)), Z = (e, t) => G(e, "name", { value: t, configurable: !0 }), Pe = (e) => {
13
+ var t;
14
+ return [, , , _e((t = void 0) != null ? t : null)];
15
+ }, x = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], P = (e) => e !== void 0 && typeof e != "function" ? O("Function expected") : e, Se = (e, t, r, i, n) => ({ kind: x[e], name: t, metadata: i, addInitializer: (a) => r._ ? O("Already initialized") : n.push(P(a || null)) }), ee = (e, t) => A(t, Oe("metadata"), e[3]), d = (e, t, r, i) => {
16
+ for (var n = 0, a = e[t >> 1], p = a && a.length; n < p; n++) t & 1 ? a[n].call(r) : i = a[n].call(r, i);
17
+ return i;
18
+ }, y = (e, t, r, i, n, a) => {
19
+ var p, l, L, w, m, s = t & 7, j = !!(t & 8), h = !!(t & 16), D = s > 3 ? e.length + 1 : s ? j ? 1 : 2 : 0, Q = x[s + 5], R = s > 3 && (e[D - 1] = []), ce = e[D] || (e[D] = []), _ = s && (!h && !j && (n = n.prototype), s < 5 && (s > 3 || !h) && pe(s < 4 ? n : { get [r]() {
20
+ return f(this, a);
21
+ }, set [r](u) {
22
+ return v(this, a, u);
23
+ } }, r));
24
+ s ? h && s < 4 && Z(a, (s > 2 ? "set " : s > 1 ? "get " : "") + r) : Z(n, r);
25
+ for (var M = i.length - 1; M >= 0; M--)
26
+ w = Se(s, r, L = {}, e[3], ce), s && (w.static = j, w.private = h, m = w.access = { has: h ? (u) => ke(n, u) : (u) => r in u }, s ^ 3 && (m.get = h ? (u) => (s ^ 1 ? f : me)(u, n, s ^ 4 ? a : _.get) : (u) => u[r]), s > 2 && (m.set = h ? (u, V) => v(u, n, V, s ^ 4 ? a : _.set) : (u, V) => u[r] = V)), l = (0, i[M])(s ? s < 4 ? h ? a : _[Q] : s > 4 ? void 0 : { get: _.get, set: _.set } : n, w), L._ = 1, s ^ 4 || l === void 0 ? P(l) && (s > 4 ? R.unshift(l) : s ? h ? a = l : _[Q] = l : n = l) : typeof l != "object" || l === null ? O("Object expected") : (P(p = l.get) && (_.get = p), P(p = l.set) && (_.set = p), P(p = l.init) && R.unshift(p));
27
+ return s || ee(e, n), _ && G(n, r, _), h ? s ^ 4 ? a : _ : n;
28
+ }, N = (e, t, r) => t.has(e) || O("Cannot " + r), ke = (e, t) => Object(t) !== t ? O('Cannot use the "in" operator on this value') : e.has(t), f = (e, t, r) => (N(e, t, "read from private field"), r ? r.call(e) : t.get(e)), S = (e, t, r) => t.has(e) ? O("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), v = (e, t, r, i) => (N(e, t, "write to private field"), i ? i.call(e, r) : t.set(e, r), r), me = (e, t, r) => (N(e, t, "access private method"), r);
29
+ function je(e, t) {
30
+ if (t) {
31
+ let r;
32
+ return U(() => {
33
+ const i = e();
34
+ return i && r && t(r, i) ? r : (r = i, i);
35
+ });
36
+ }
37
+ return U(e);
38
+ }
39
+ function $(e, t) {
40
+ if (Object.is(e, t))
41
+ return !0;
42
+ if (e === null || t === null) return !1;
43
+ if (typeof e == "function" && typeof t == "function")
44
+ return e === t;
45
+ if (e instanceof Set && t instanceof Set) {
46
+ if (e.size !== t.size)
47
+ return !1;
48
+ for (const r of e)
49
+ if (!t.has(r))
50
+ return !1;
51
+ return !0;
52
+ }
53
+ if (Array.isArray(e))
54
+ return !Array.isArray(t) || e.length !== t.length ? !1 : !e.some(
55
+ (i, n) => !$(i, t[n])
56
+ );
57
+ if (typeof e == "object" && typeof t == "object") {
58
+ const r = Object.keys(e), i = Object.keys(t);
59
+ return r.length !== i.length ? !1 : !r.some(
60
+ (a) => !$(e[a], t[a])
61
+ );
62
+ }
63
+ return !1;
64
+ }
65
+ function W({ get: e }, t) {
66
+ return {
67
+ init(r) {
68
+ return fe(r);
69
+ },
70
+ get() {
71
+ return e.call(this).value;
72
+ },
73
+ set(r) {
74
+ const i = e.call(this);
75
+ i.peek() !== r && (i.value = r);
76
+ }
77
+ };
78
+ }
79
+ function Me(e, t) {
80
+ const r = /* @__PURE__ */ new WeakMap();
81
+ return function() {
82
+ let i = r.get(this);
83
+ return i || (i = je(e.bind(this)), r.set(this, i)), i.value;
84
+ };
85
+ }
86
+ function b(e = !0) {
87
+ return function(t, r) {
88
+ r.addInitializer(function() {
89
+ const i = r.kind === "field" ? this : r.static ? this : Object.getPrototypeOf(this), n = Object.getOwnPropertyDescriptor(i, r.name);
90
+ n && Object.defineProperty(i, r.name, we(ye({}, n), { enumerable: e }));
91
+ });
92
+ };
93
+ }
94
+ function Ve(...e) {
95
+ const t = e.map((r) => le(r));
96
+ return () => t.forEach((r) => r());
97
+ }
98
+ var te, re, ie, se, ne, ae, c, T, z, C, q, o, B, E, oe, F, J, I, H, K;
99
+ ae = [W], ne = [W], se = [W], ie = [b()], re = [b()], te = [b()];
100
+ var k = class {
101
+ constructor(e, t = Object.is) {
102
+ this.defaultValue = e, this.equals = t, d(c, 5, this), S(this, o), S(this, T, d(c, 8, this)), d(c, 11, this), S(this, B, d(c, 12, this)), d(c, 15, this), S(this, J, d(c, 16, this)), d(c, 19, this), this.reset = this.reset.bind(this), this.reset();
103
+ }
104
+ get current() {
105
+ return f(this, o, H);
106
+ }
107
+ get initial() {
108
+ return f(this, o, C);
109
+ }
110
+ get previous() {
111
+ return f(this, o, oe);
112
+ }
113
+ /** Set the current value */
114
+ set current(e) {
115
+ const t = ue(() => f(this, o, H));
116
+ e && t && this.equals(t, e) || X(() => {
117
+ f(this, o, C) || v(this, o, e, q), v(this, o, t, F), v(this, o, e, K);
118
+ });
119
+ }
120
+ /** Reset the state to the initial value */
121
+ reset(e = this.defaultValue) {
122
+ X(() => {
123
+ v(this, o, void 0, F), v(this, o, e, q), v(this, o, e, K);
124
+ });
125
+ }
126
+ };
127
+ c = Pe();
128
+ T = /* @__PURE__ */ new WeakMap();
129
+ o = /* @__PURE__ */ new WeakSet();
130
+ B = /* @__PURE__ */ new WeakMap();
131
+ J = /* @__PURE__ */ new WeakMap();
132
+ z = y(c, 20, "#initial", ae, o, T), C = z.get, q = z.set;
133
+ E = y(c, 20, "#previous", ne, o, B), oe = E.get, F = E.set;
134
+ I = y(c, 20, "#current", se, o, J), H = I.get, K = I.set;
135
+ y(c, 2, "current", ie, k);
136
+ y(c, 2, "initial", re, k);
137
+ y(c, 2, "previous", te, k);
138
+ ee(c, k);
139
+ var g, We = class {
140
+ constructor() {
141
+ S(this, g, /* @__PURE__ */ new WeakMap());
142
+ }
143
+ get(e, t) {
144
+ var r;
145
+ return e ? (r = f(this, g).get(e)) == null ? void 0 : r.get(t) : void 0;
146
+ }
147
+ set(e, t, r) {
148
+ var i;
149
+ if (e)
150
+ return f(this, g).has(e) || f(this, g).set(e, /* @__PURE__ */ new Map()), (i = f(this, g).get(e)) == null ? void 0 : i.set(t, r);
151
+ }
152
+ clear(e) {
153
+ var t;
154
+ return e ? (t = f(this, g).get(e)) == null ? void 0 : t.clear() : void 0;
155
+ }
156
+ };
157
+ g = /* @__PURE__ */ new WeakMap();
7
158
  export {
8
- m as ClearButton
159
+ Ee as Signal,
160
+ k as ValueHistory,
161
+ We as WeakStore,
162
+ X as batch,
163
+ je as computed,
164
+ $ as deepEqual,
165
+ Me as derived,
166
+ le as effect,
167
+ Ve as effects,
168
+ b as enumerable,
169
+ W as reactive,
170
+ fe as signal,
171
+ ue as untracked
9
172
  };
10
173
  //# sourceMappingURL=fondue-components135.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components135.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-components135.js","sources":["../../../node_modules/.pnpm/@dnd-kit+state@0.3.2/node_modules/@dnd-kit/state/dist/index.mjs"],"sourcesContent":["var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for(\"Symbol.\" + name);\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\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));\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __decoratorStart = (base) => {\n var _a2;\n return [, , , __create((_a2 = base == null ? void 0 : base[__knownSymbol(\"metadata\")]) != null ? _a2 : null)];\n};\nvar __decoratorStrings = [\"class\", \"method\", \"getter\", \"setter\", \"accessor\", \"field\", \"value\", \"get\", \"set\"];\nvar __expectFn = (fn) => fn !== void 0 && typeof fn !== \"function\" ? __typeError(\"Function expected\") : fn;\nvar __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError(\"Already initialized\") : fns.push(__expectFn(fn || null)) });\nvar __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol(\"metadata\"), array[3]);\nvar __runInitializers = (array, flags, self, value) => {\n for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);\n return value;\n};\nvar __decorateElement = (array, flags, name, decorators, target, extra) => {\n var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);\n var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];\n var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);\n var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {\n return __privateGet(this, extra);\n }, set [name](x) {\n return __privateSet(this, extra, x);\n } }, name));\n k ? p && k < 4 && __name(extra, (k > 2 ? \"set \" : k > 1 ? \"get \" : \"\") + name) : __name(target, name);\n for (var i = decorators.length - 1; i >= 0; i--) {\n ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);\n if (k) {\n ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };\n if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];\n if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;\n }\n it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;\n if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);\n else if (typeof it !== \"object\" || it === null) __typeError(\"Object expected\");\n else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);\n }\n return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the \"in\" operator on this value') : member.has(obj);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __privateMethod = (obj, member, method) => (__accessCheck(obj, member, \"access private method\"), method);\n\n// src/index.ts\nimport {\n batch as batch2,\n effect as effect2,\n untracked as untracked3,\n signal as signal2,\n Signal\n} from \"@preact/signals-core\";\n\n// src/computed.ts\nimport {\n computed as computedSignal\n} from \"@preact/signals-core\";\nfunction computed(compute, comparator) {\n if (comparator) {\n let previousValue;\n return computedSignal(() => {\n const value = compute();\n if (value && previousValue && comparator(previousValue, value)) {\n return previousValue;\n }\n previousValue = value;\n return value;\n });\n }\n return computedSignal(compute);\n}\n\n// src/comparators.ts\nfunction deepEqual(a, b) {\n if (Object.is(a, b)) {\n return true;\n }\n if (a === null || b === null) return false;\n if (typeof a === \"function\" && typeof b === \"function\") {\n return a === b;\n }\n if (a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) {\n return false;\n }\n for (const value of a) {\n if (!b.has(value)) {\n return false;\n }\n }\n return true;\n }\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n const hasDifferentValues = a.some(\n (value, index) => !deepEqual(value, b[index])\n );\n return !hasDifferentValues;\n }\n if (typeof a === \"object\" && typeof b === \"object\") {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) return false;\n const hasDifferentValues = aKeys.some(\n (key) => !deepEqual(a[key], b[key])\n );\n return !hasDifferentValues;\n }\n return false;\n}\n\n// src/decorators.ts\nimport { signal } from \"@preact/signals-core\";\nfunction reactive({ get }, _) {\n return {\n init(value) {\n return signal(value);\n },\n get() {\n const current = get.call(this);\n return current.value;\n },\n set(newValue) {\n const current = get.call(this);\n if (current.peek() === newValue) {\n return;\n }\n current.value = newValue;\n }\n };\n}\nfunction derived(target, _) {\n const map = /* @__PURE__ */ new WeakMap();\n return function() {\n let result = map.get(this);\n if (!result) {\n result = computed(target.bind(this));\n map.set(this, result);\n }\n return result.value;\n };\n}\nfunction enumerable(enumerable2 = true) {\n return function(_value, context) {\n context.addInitializer(function() {\n const host = context.kind === \"field\" ? this : context.static ? this : Object.getPrototypeOf(this);\n const descriptor = Object.getOwnPropertyDescriptor(host, context.name);\n if (descriptor) {\n Object.defineProperty(host, context.name, __spreadProps(__spreadValues({}, descriptor), { enumerable: enumerable2 }));\n }\n });\n };\n}\n\n// src/effects.ts\nimport { effect } from \"@preact/signals-core\";\nfunction effects(...entries) {\n const effects2 = entries.map((fn) => effect(fn));\n return () => effects2.forEach((cleanup) => cleanup());\n}\n\n// src/history.ts\nimport { batch, untracked } from \"@preact/signals-core\";\nvar _previous_dec, _initial_dec, _current_dec, _current_dec2, _previous_dec2, _initial_dec2, _init, _initial, _a, initial_get, initial_set, _ValueHistory_instances, _previous, _b, previous_get, previous_set, _current, _c, current_get, current_set;\n_initial_dec2 = [reactive], _previous_dec2 = [reactive], _current_dec2 = [reactive], _current_dec = [enumerable()], _initial_dec = [enumerable()], _previous_dec = [enumerable()];\nvar ValueHistory = class {\n constructor(defaultValue, equals = Object.is) {\n this.defaultValue = defaultValue;\n this.equals = equals;\n __runInitializers(_init, 5, this);\n __privateAdd(this, _ValueHistory_instances);\n // @ts-ignore\n __privateAdd(this, _initial, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);\n // @ts-ignore\n __privateAdd(this, _previous, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);\n // @ts-ignore\n __privateAdd(this, _current, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);\n this.reset = this.reset.bind(this);\n this.reset();\n }\n get current() {\n return __privateGet(this, _ValueHistory_instances, current_get);\n }\n get initial() {\n return __privateGet(this, _ValueHistory_instances, initial_get);\n }\n get previous() {\n return __privateGet(this, _ValueHistory_instances, previous_get);\n }\n /** Set the current value */\n set current(value) {\n const current = untracked(() => __privateGet(this, _ValueHistory_instances, current_get));\n if (value && current && this.equals(current, value)) {\n return;\n }\n batch(() => {\n if (!__privateGet(this, _ValueHistory_instances, initial_get)) {\n __privateSet(this, _ValueHistory_instances, value, initial_set);\n }\n __privateSet(this, _ValueHistory_instances, current, previous_set);\n __privateSet(this, _ValueHistory_instances, value, current_set);\n });\n }\n /** Reset the state to the initial value */\n reset(value = this.defaultValue) {\n batch(() => {\n __privateSet(this, _ValueHistory_instances, void 0, previous_set);\n __privateSet(this, _ValueHistory_instances, value, initial_set);\n __privateSet(this, _ValueHistory_instances, value, current_set);\n });\n }\n};\n_init = __decoratorStart(null);\n_initial = new WeakMap();\n_ValueHistory_instances = new WeakSet();\n_previous = new WeakMap();\n_current = new WeakMap();\n_a = __decorateElement(_init, 20, \"#initial\", _initial_dec2, _ValueHistory_instances, _initial), initial_get = _a.get, initial_set = _a.set;\n_b = __decorateElement(_init, 20, \"#previous\", _previous_dec2, _ValueHistory_instances, _previous), previous_get = _b.get, previous_set = _b.set;\n_c = __decorateElement(_init, 20, \"#current\", _current_dec2, _ValueHistory_instances, _current), current_get = _c.get, current_set = _c.set;\n__decorateElement(_init, 2, \"current\", _current_dec, ValueHistory);\n__decorateElement(_init, 2, \"initial\", _initial_dec, ValueHistory);\n__decorateElement(_init, 2, \"previous\", _previous_dec, ValueHistory);\n__decoratorMetadata(_init, ValueHistory);\n\n// src/snapshot.ts\nimport { untracked as untracked2 } from \"@preact/signals-core\";\nfunction snapshot(value) {\n return untracked2(() => {\n const output = {};\n for (const key in value) {\n output[key] = value[key];\n }\n return output;\n });\n}\n\n// src/store.ts\nvar _store;\nvar WeakStore = class {\n constructor() {\n __privateAdd(this, _store, /* @__PURE__ */ new WeakMap());\n }\n get(key, id) {\n var _a2;\n return key ? (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.get(id) : void 0;\n }\n set(key, id, value) {\n var _a2;\n if (!key) return;\n if (!__privateGet(this, _store).has(key)) __privateGet(this, _store).set(key, /* @__PURE__ */ new Map());\n return (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.set(id, value);\n }\n clear(key) {\n var _a2;\n return key ? (_a2 = __privateGet(this, _store).get(key)) == null ? void 0 : _a2.clear() : void 0;\n }\n};\n_store = new WeakMap();\nexport {\n Signal,\n ValueHistory,\n WeakStore,\n batch2 as batch,\n computed,\n deepEqual,\n derived,\n effect2 as effect,\n effects,\n enumerable,\n reactive,\n signal2 as signal,\n snapshot,\n untracked3 as untracked\n};\n"],"names":["__create","__defProp","__defProps","__getOwnPropDesc","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__knownSymbol","name","symbol","__typeError","msg","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","__spreadProps","__name","target","__decoratorStart","base","_a2","__decoratorStrings","__expectFn","fn","__decoratorContext","kind","done","metadata","fns","__decoratorMetadata","array","__runInitializers","flags","self","i","n","__decorateElement","decorators","extra","it","ctx","access","k","s","p","j","initializers","extraInitializers","desc","__privateGet","x","__privateSet","__privateIn","__privateMethod","y","__accessCheck","member","getter","__privateAdd","setter","method","computed","compute","comparator","previousValue","computedSignal","deepEqual","index","aKeys","bKeys","reactive","get","_","signal","newValue","current","derived","map","result","enumerable","enumerable2","_value","context","host","descriptor","effects","entries","effects2","effect","cleanup","_previous_dec","_initial_dec","_current_dec","_current_dec2","_previous_dec2","_initial_dec2","_init","_initial","_a","initial_get","initial_set","_ValueHistory_instances","_previous","_b","previous_get","previous_set","_current","_c","current_get","current_set","ValueHistory","defaultValue","equals","untracked","batch","_store","WeakStore","id"],"mappings":"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","x_google_ignoreList":[0]}