@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,92 +1,63 @@
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-components42.js";
5
- import p from "./fondue-components125.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)
1
+ import { useEffect as m, useLayoutEffect as w, useRef as i, useMemo as y, useState as E, useCallback as k } from "react";
2
+ import "./fondue-components135.js";
3
+ import { flushSync as O } from "react-dom";
4
+ import { currentValue as d } from "./fondue-components137.js";
5
+ import { effect as S, untracked as V } from "./fondue-components138.js";
6
+ var M = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", p = M ? w : m;
7
+ function U() {
8
+ const e = E(0)[1];
9
+ return k(() => {
10
+ e((t) => t + 1);
11
+ }, [e]);
12
+ }
13
+ function D(e, t) {
14
+ const n = i(/* @__PURE__ */ new Map()), r = U();
15
+ return p(() => {
16
+ if (!e) {
17
+ n.current.clear();
30
18
  return;
31
- const v = () => {
32
- if (r.length === 0) {
33
- i(0);
34
- return;
19
+ }
20
+ return S(() => {
21
+ var o;
22
+ let c = !1, u = !1;
23
+ for (const a of n.current) {
24
+ const [f] = a, l = V(() => a[1]), s = e[f];
25
+ l !== s && (c = !0, n.current.set(f, s), u = (o = t == null ? void 0 : t(f, l, s)) != null ? o : !1);
35
26
  }
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
- ] })
27
+ c && (u ? O(r) : r());
28
+ });
29
+ }, [e]), y(
30
+ () => e && new Proxy(e, {
31
+ get(o, c) {
32
+ const u = o[c];
33
+ return n.current.set(c, u), u;
85
34
  }
86
- )
87
- ] });
88
- };
35
+ }),
36
+ [e]
37
+ );
38
+ }
39
+ function I(e, t) {
40
+ e();
41
+ }
42
+ function L(e, t, n = m, r = Object.is) {
43
+ const o = i(e);
44
+ n(() => {
45
+ const c = o.current;
46
+ r(e, c) || (o.current = e, t(e, c));
47
+ }, [t, e]);
48
+ }
49
+ function _(e, t) {
50
+ const n = i(d(e));
51
+ p(() => {
52
+ const r = d(e);
53
+ r !== n.current && (n.current = r, t(r));
54
+ });
55
+ }
89
56
  export {
90
- x as CollapsibleBadges
57
+ D as useDeepSignal,
58
+ I as useImmediateEffect,
59
+ p as useIsomorphicLayoutEffect,
60
+ _ as useOnElementChange,
61
+ L as useOnValueChange
91
62
  };
92
63
  //# sourceMappingURL=fondue-components136.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components136.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":"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"}
1
+ {"version":3,"file":"fondue-components136.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/hooks.js"],"sourcesContent":["import { useLayoutEffect, useEffect, useRef, useMemo, useState, useCallback } from 'react';\nimport { computed, effect, untracked } from '@dnd-kit/state';\nimport { flushSync } from 'react-dom';\nimport { currentValue } from '@dnd-kit/react/utilities';\n\nfunction useConstant(initializer) {\n const ref = useRef(null);\n if (!ref.current) {\n ref.current = initializer();\n }\n return ref.current;\n}\nvar canUseDOM = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nvar useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useForceUpdate() {\n const setState = useState(0)[1];\n return useCallback(() => {\n setState((value) => value + 1);\n }, [setState]);\n}\n\n// src/hooks/useSignal.ts\nfunction useSignal(signal, sync = false) {\n const previous = useRef(signal.peek());\n const read = useRef(false);\n const forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(\n () => effect(() => {\n const previousValue = previous.current;\n const currentValue2 = signal.value;\n if (previousValue !== currentValue2) {\n previous.current = currentValue2;\n if (!read.current) return;\n if (sync) {\n flushSync(forceUpdate);\n } else {\n forceUpdate();\n }\n }\n }),\n [signal, sync, forceUpdate]\n );\n return {\n get value() {\n read.current = true;\n return signal.peek();\n }\n };\n}\n\n// src/hooks/useComputed.ts\nfunction useComputed(compute, dependencies = [], sync = false) {\n const $compute = useRef(compute);\n $compute.current = compute;\n return useSignal(\n useMemo(() => computed(() => $compute.current()), dependencies),\n sync\n );\n}\nfunction useDeepSignal(target, synchronous) {\n const tracked = useRef(/* @__PURE__ */ new Map());\n const forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(() => {\n if (!target) {\n tracked.current.clear();\n return;\n }\n return effect(() => {\n var _a;\n let stale = false;\n let sync = false;\n for (const entry of tracked.current) {\n const [key] = entry;\n const value = untracked(() => entry[1]);\n const latestValue = target[key];\n if (value !== latestValue) {\n stale = true;\n tracked.current.set(key, latestValue);\n sync = (_a = synchronous == null ? void 0 : synchronous(key, value, latestValue)) != null ? _a : false;\n }\n }\n if (stale) {\n sync ? flushSync(forceUpdate) : forceUpdate();\n }\n });\n }, [target]);\n return useMemo(\n () => target ? new Proxy(target, {\n get(target2, key) {\n const value = target2[key];\n tracked.current.set(key, value);\n return value;\n }\n }) : target,\n [target]\n );\n}\n\n// src/hooks/useImmediateEffect.ts\nfunction useImmediateEffect(callback, _) {\n callback();\n}\nfunction useLatest(value) {\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n valueRef.current = value;\n }, [value]);\n return valueRef;\n}\nfunction useOnValueChange(value, onChange, effect3 = useEffect, compare = Object.is) {\n const tracked = useRef(value);\n effect3(() => {\n const oldValue = tracked.current;\n if (!compare(value, oldValue)) {\n tracked.current = value;\n onChange(value, oldValue);\n }\n }, [onChange, value]);\n}\nfunction useOnElementChange(value, onChange) {\n const previous = useRef(currentValue(value));\n useIsomorphicLayoutEffect(() => {\n const current = currentValue(value);\n if (current !== previous.current) {\n previous.current = current;\n onChange(current);\n }\n });\n}\n\nexport { useComputed, useConstant, useDeepSignal, useImmediateEffect, useIsomorphicLayoutEffect, useLatest, useOnElementChange, useOnValueChange };\n//# sourceMappingURL=hooks.js.map\n//# sourceMappingURL=hooks.js.map"],"names":["canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useForceUpdate","setState","useState","useCallback","value","useDeepSignal","target","synchronous","tracked","useRef","forceUpdate","effect","_a","stale","sync","entry","key","untracked","latestValue","flushSync","useMemo","target2","useImmediateEffect","callback","_","useOnValueChange","onChange","effect3","compare","oldValue","useOnElementChange","previous","currentValue","current"],"mappings":";;;;;AAYA,IAAIA,IAAY,OAAO,SAAW,OAAe,OAAO,OAAO,WAAa,OAAe,OAAO,OAAO,SAAS,gBAAkB,KAChIC,IAA4BD,IAAYE,IAAkBC;AAC9D,SAASC,IAAiB;AACxB,QAAMC,IAAWC,EAAS,CAAC,EAAE,CAAC;AAC9B,SAAOC,EAAY,MAAM;AACvB,IAAAF,EAAS,CAACG,MAAUA,IAAQ,CAAC;AAAA,EAC/B,GAAG,CAACH,CAAQ,CAAC;AACf;AAwCA,SAASI,EAAcC,GAAQC,GAAa;AAC1C,QAAMC,IAAUC,EAAuB,oBAAI,KAAK,GAC1CC,IAAcV,EAAc;AAClC,SAAAH,EAA0B,MAAM;AAC9B,QAAI,CAACS,GAAQ;AACX,MAAAE,EAAQ,QAAQ,MAAK;AACrB;AAAA,IACF;AACA,WAAOG,EAAO,MAAM;AAClB,UAAIC;AACJ,UAAIC,IAAQ,IACRC,IAAO;AACX,iBAAWC,KAASP,EAAQ,SAAS;AACnC,cAAM,CAACQ,CAAG,IAAID,GACRX,IAAQa,EAAU,MAAMF,EAAM,CAAC,CAAC,GAChCG,IAAcZ,EAAOU,CAAG;AAC9B,QAAIZ,MAAUc,MACZL,IAAQ,IACRL,EAAQ,QAAQ,IAAIQ,GAAKE,CAAW,GACpCJ,KAAQF,IAAKL,KAAe,OAAO,SAASA,EAAYS,GAAKZ,GAAOc,CAAW,MAAM,OAAON,IAAK;AAAA,MAErG;AACA,MAAIC,MACFC,IAAOK,EAAUT,CAAW,IAAIA,EAAW;AAAA,IAE/C,CAAC;AAAA,EACH,GAAG,CAACJ,CAAM,CAAC,GACJc;AAAA,IACL,MAAMd,KAAS,IAAI,MAAMA,GAAQ;AAAA,MAC/B,IAAIe,GAASL,GAAK;AAChB,cAAMZ,IAAQiB,EAAQL,CAAG;AACzB,eAAAR,EAAQ,QAAQ,IAAIQ,GAAKZ,CAAK,GACvBA;AAAA,MACT;AAAA,IACN,CAAK;AAAA,IACD,CAACE,CAAM;AAAA,EACX;AACA;AAGA,SAASgB,EAAmBC,GAAUC,GAAG;AACvC,EAAAD,EAAQ;AACV;AAQA,SAASE,EAAiBrB,GAAOsB,GAAUC,IAAU5B,GAAW6B,IAAU,OAAO,IAAI;AACnF,QAAMpB,IAAUC,EAAOL,CAAK;AAC5B,EAAAuB,EAAQ,MAAM;AACZ,UAAME,IAAWrB,EAAQ;AACzB,IAAKoB,EAAQxB,GAAOyB,CAAQ,MAC1BrB,EAAQ,UAAUJ,GAClBsB,EAAStB,GAAOyB,CAAQ;AAAA,EAE5B,GAAG,CAACH,GAAUtB,CAAK,CAAC;AACtB;AACA,SAAS0B,EAAmB1B,GAAOsB,GAAU;AAC3C,QAAMK,IAAWtB,EAAOuB,EAAa5B,CAAK,CAAC;AAC3C,EAAAP,EAA0B,MAAM;AAC9B,UAAMoC,IAAUD,EAAa5B,CAAK;AAClC,IAAI6B,MAAYF,EAAS,YACvBA,EAAS,UAAUE,GACnBP,EAASO,CAAO;AAAA,EAEpB,CAAC;AACH;","x_google_ignoreList":[0]}
@@ -1,84 +1,12 @@
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-components39.js";
6
- import a from "./fondue-components125.js";
7
- import { recursiveMap as R, getSelectOptionValue as _ } from "./fondue-components149.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
- ) }) });
79
- };
80
- j.displayName = "Select.Menu";
1
+ function t(r) {
2
+ return r != null && typeof r == "object" && "current" in r;
3
+ }
4
+ function i(r) {
5
+ var n;
6
+ if (r != null)
7
+ return t(r) ? (n = r.current) != null ? n : void 0 : r;
8
+ }
81
9
  export {
82
- j as SelectMenu
10
+ i as currentValue
83
11
  };
84
12
  //# sourceMappingURL=fondue-components137.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components137.js","sources":["../src/components/Select/components/SelectMenu.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { Slot as RadixSlot } from '@radix-ui/react-slot';\nimport { type UseComboboxPropGetters, type UseSelectPropGetters } from 'downshift';\nimport { isValidElement, type ForwardedRef, type MouseEvent, type ReactElement, type ReactNode } from 'react';\n\nimport { ThemeProvider, useFondueTheme } from '#/components/ThemeProvider/ThemeProvider';\n\nimport styles from '../styles/select.module.scss';\nimport { getSelectOptionValue, recursiveMap } from '../utils';\n\nimport { type SelectItemProps } from './SelectItem';\n\nexport type SelectMenuViewportCollisionPadding = 'compact' | 'spacious';\n\nexport type SelectMenuProps = {\n /**\n * @internal\n * The index of the highlighted item in the menu.\n */\n highlightedIndex: number;\n /**\n * @internal\n * Callback function to retrieve the props for a menu element.\n */\n getMenuProps: UseSelectPropGetters<unknown>['getMenuProps'] | UseComboboxPropGetters<unknown>['getMenuProps'];\n /**\n * @internal\n * Callback function to retrieve the props for a item element.\n */\n getItemProps: UseSelectPropGetters<unknown>['getItemProps'] | UseComboboxPropGetters<unknown>['getItemProps'];\n /**\n * @internal\n * The children of the menu component. This can contain multiple `Select.Item` or `Select.Group` components.\n */\n children: ReactNode;\n /**\n * @internal\n * The filter text shown in the combobox input element.\n */\n filterText?: string;\n /**\n * @internal\n * The alignment of the menu.\n */\n align: 'start' | 'center' | 'end';\n /**\n * @internal\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 * @internal\n * The type of the menu.\n */\n selectedItemValues?: string[];\n /**\n * @internal\n * A boolean to indicate if highlighted item was changed since opening the menu.\n * This is used to determine the style of the selected/highlighted item.\n */\n hasInteractedSinceOpening?: boolean;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * @internal\n * Event handler called when the escape key is pressed.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n};\n\nexport const SelectMenu = ({\n highlightedIndex,\n getMenuProps,\n getItemProps,\n children,\n filterText,\n align,\n side,\n selectedItemValues,\n hasInteractedSinceOpening,\n viewportCollisionPadding = 'compact',\n onEscapeKeyDown,\n}: SelectMenuProps) => {\n const handleOnOpenAutoFocus = (event: Event) => {\n event.preventDefault();\n };\n\n const VIEWPORT_COLLISION_PADDING_MAP: Record<SelectMenuViewportCollisionPadding, number> = {\n compact: 8,\n spacious: 24,\n };\n\n const { theme, dir } = useFondueTheme();\n\n const getAdjustedSide = (side: 'left' | 'right' | 'bottom' | 'top') => {\n if (dir === 'ltr') {\n return side;\n }\n\n if (side === 'left') {\n return 'right';\n }\n if (side === 'right') {\n return 'left';\n }\n\n return side;\n };\n\n return (\n <RadixPopover.Portal>\n <ThemeProvider theme={theme} dir={dir}>\n <RadixPopover.Content\n dir={dir}\n align={align}\n side={getAdjustedSide(side)}\n collisionPadding={VIEWPORT_COLLISION_PADDING_MAP[viewportCollisionPadding] + 8}\n onOpenAutoFocus={handleOnOpenAutoFocus}\n onEscapeKeyDown={onEscapeKeyDown}\n className={styles.portal}\n >\n <ul\n className={styles.menu}\n // TODO: fix this accessibility issue\n // We are mounting/unmounting the menu on open/close\n // We should instead toggle its visibility for accessibility reasons\n // https://github.com/downshift-js/downshift?tab=readme-ov-file#getmenuprops\n {...getMenuProps({}, { suppressRefError: true })}\n data-has-interacted={hasInteractedSinceOpening ? 'true' : 'false'}\n data-test-id=\"fondue-select-menu\"\n >\n {\n recursiveMap(\n children,\n (child, index) => {\n const isValid = <TProps,>(\n child: ReactNode,\n ): child is ReactElement<TProps> & { ref: ForwardedRef<HTMLElement> } =>\n // @ts-expect-error - We are explicitly checking for ref\n isValidElement<TProps>(child) && child.ref !== undefined;\n\n if (isValid<SelectItemProps>(child)) {\n const optionData = getSelectOptionValue(child.props);\n const itemProps = getItemProps({\n item: optionData,\n index,\n ...(child.ref ? { ref: child.ref } : {}),\n });\n\n const isSelected = selectedItemValues?.includes(optionData.value);\n\n return (\n <RadixSlot\n className={styles.item}\n data-highlighted={highlightedIndex === index}\n data-selected={isSelected}\n key={child.props.value}\n // Workaround for the issue where the onClick event is not fired on touch devices because of portal usage\n onTouchStart={(event) => {\n if (itemProps.onClick) {\n itemProps.onClick(event as unknown as MouseEvent<HTMLElement>);\n }\n }}\n {...itemProps}\n aria-selected={isSelected}\n >\n {child}\n </RadixSlot>\n );\n }\n },\n filterText,\n ).parsedChildren\n }\n </ul>\n </RadixPopover.Content>\n </ThemeProvider>\n </RadixPopover.Portal>\n );\n};\nSelectMenu.displayName = 'Select.Menu';\n"],"names":["SelectMenu","highlightedIndex","getMenuProps","getItemProps","children","filterText","align","side","selectedItemValues","hasInteractedSinceOpening","viewportCollisionPadding","onEscapeKeyDown","handleOnOpenAutoFocus","event","VIEWPORT_COLLISION_PADDING_MAP","theme","dir","useFondueTheme","getAdjustedSide","RadixPopover","jsx","ThemeProvider","styles","recursiveMap","child","index","isValidElement","optionData","getSelectOptionValue","itemProps","isSelected","RadixSlot"],"mappings":";;;;;;;AA4EO,MAAMA,IAAa,CAAC;AAAA,EACvB,kBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,0BAAAC,IAA2B;AAAA,EAC3B,iBAAAC;AACJ,MAAuB;AACnB,QAAMC,IAAwB,CAACC,MAAiB;AAC5C,IAAAA,EAAM,eAAA;AAAA,EACV,GAEMC,IAAqF;AAAA,IACvF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,GAGR,EAAE,OAAAC,GAAO,KAAAC,EAAA,IAAQC,EAAA,GAEjBC,IAAkB,CAACX,MACjBS,MAAQ,QACDT,IAGPA,MAAS,SACF,UAEPA,MAAS,UACF,SAGJA;AAGX,2BACKY,EAAa,QAAb,EACG,UAAA,gBAAAC,EAACC,GAAA,EAAc,OAAAN,GAAc,KAAAC,GACzB,UAAA,gBAAAI;AAAA,IAACD,EAAa;AAAA,IAAb;AAAA,MACG,KAAAH;AAAA,MACA,OAAAV;AAAA,MACA,MAAMY,EAAgBX,CAAI;AAAA,MAC1B,kBAAkBO,EAA+BJ,CAAwB,IAAI;AAAA,MAC7E,iBAAiBE;AAAA,MACjB,iBAAAD;AAAA,MACA,WAAWW,EAAO;AAAA,MAElB,UAAA,gBAAAF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,WAAWE,EAAO;AAAA,UAKjB,GAAGpB,EAAa,CAAA,GAAI,EAAE,kBAAkB,IAAM;AAAA,UAC/C,uBAAqBO,IAA4B,SAAS;AAAA,UAC1D,gBAAa;AAAA,UAGT,UAAAc;AAAA,YACInB;AAAA,YACA,CAACoB,GAAOC,MAAU;AAOd,mBANgB,CACZD;AAAAA;AAAAA,gBAGAE,EAAuBF,CAAK,KAAKA,EAAM,QAAQ;AAAA,iBAEtBA,CAAK,GAAG;AACjC,sBAAMG,IAAaC,EAAqBJ,EAAM,KAAK,GAC7CK,IAAY1B,EAAa;AAAA,kBAC3B,MAAMwB;AAAA,kBACN,OAAAF;AAAA,kBACA,GAAID,EAAM,MAAM,EAAE,KAAKA,EAAM,IAAA,IAAQ,CAAA;AAAA,gBAAC,CACzC,GAEKM,IAAatB,KAAA,gBAAAA,EAAoB,SAASmB,EAAW;AAE3D,uBACI,gBAAAP;AAAA,kBAACW;AAAAA,kBAAA;AAAA,oBACG,WAAWT,EAAO;AAAA,oBAClB,oBAAkBrB,MAAqBwB;AAAA,oBACvC,iBAAeK;AAAA,oBAGf,cAAc,CAACjB,MAAU;AACrB,sBAAIgB,EAAU,WACVA,EAAU,QAAQhB,CAA2C;AAAA,oBAErE;AAAA,oBACC,GAAGgB;AAAA,oBACJ,iBAAeC;AAAA,oBAEd,UAAAN;AAAA,kBAAA;AAAA,kBAVIA,EAAM,MAAM;AAAA,gBAAA;AAAA,cAa7B;AAAA,YACJ;AAAA,YACAnB;AAAA,UAAA,EACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA,GAER,EAAA,CACJ;AAER;AACAL,EAAW,cAAc;"}
1
+ {"version":3,"file":"fondue-components137.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/utilities.js"],"sourcesContent":["// src/utilities/currentValue.ts\nfunction isRef(value) {\n return value != null && typeof value === \"object\" && \"current\" in value;\n}\nfunction currentValue(value) {\n var _a;\n if (value == null) {\n return void 0;\n }\n if (isRef(value)) {\n return (_a = value.current) != null ? _a : void 0;\n }\n return value;\n}\n\nexport { currentValue };\n//# sourceMappingURL=utilities.js.map\n//# sourceMappingURL=utilities.js.map"],"names":["isRef","value","currentValue","_a"],"mappings":"AACA,SAASA,EAAMC,GAAO;AACpB,SAAOA,KAAS,QAAQ,OAAOA,KAAU,YAAY,aAAaA;AACpE;AACA,SAASC,EAAaD,GAAO;AAC3B,MAAIE;AACJ,MAAIF,KAAS;AAGb,WAAID,EAAMC,CAAK,KACLE,IAAKF,EAAM,YAAY,OAAOE,IAAK,SAEtCF;AACT;","x_google_ignoreList":[0]}
@@ -1,34 +1,259 @@
1
- import { jsxs as c, Fragment as n, jsx as r } from "react/jsx-runtime";
2
- import { IconCheckMark as i, IconExclamationMarkTriangle as l } from "@frontify/fondue-icons";
3
- import { useTranslation as m } from "./fondue-components42.js";
4
- import s from "./fondue-components125.js";
5
- const f = ({ status: o, hasError: a, dataTestId: e }) => {
6
- const { t } = m();
7
- return /* @__PURE__ */ c(n, { children: [
8
- o === "success" ? /* @__PURE__ */ r(
9
- i,
10
- {
11
- size: 16,
12
- className: s.iconSuccess,
13
- "data-test-id": `${e}-success-icon`,
14
- "aria-hidden": "true"
15
- }
16
- ) : null,
17
- a ? /* @__PURE__ */ c(n, { children: [
18
- /* @__PURE__ */ r(
19
- l,
20
- {
21
- size: 16,
22
- className: s.iconError,
23
- "data-test-id": `${e}-error-icon`,
24
- "aria-hidden": "true"
1
+ var m = Symbol.for("preact-signals");
2
+ function d() {
3
+ if (s > 1)
4
+ s--;
5
+ else {
6
+ for (var t, i = !1; u !== void 0; ) {
7
+ var o = u;
8
+ for (u = void 0, c++; o !== void 0; ) {
9
+ var n = o.o;
10
+ if (o.o = void 0, o.f &= -3, !(8 & o.f) && w(o)) try {
11
+ o.c();
12
+ } catch (h) {
13
+ i || (t = h, i = !0);
25
14
  }
26
- ),
27
- /* @__PURE__ */ r("span", { className: s.srOnly, role: "alert", children: t("Select_error") })
28
- ] }) : null
29
- ] });
15
+ o = n;
16
+ }
17
+ }
18
+ if (c = 0, s--, i) throw t;
19
+ }
20
+ }
21
+ function E(t) {
22
+ if (s > 0) return t();
23
+ s++;
24
+ try {
25
+ return t();
26
+ } finally {
27
+ d();
28
+ }
29
+ }
30
+ var r = void 0;
31
+ function p(t) {
32
+ var i = r;
33
+ r = void 0;
34
+ try {
35
+ return t();
36
+ } finally {
37
+ r = i;
38
+ }
39
+ }
40
+ var u = void 0, s = 0, c = 0, a = 0;
41
+ function y(t) {
42
+ if (r !== void 0) {
43
+ var i = t.n;
44
+ if (i === void 0 || i.t !== r)
45
+ return i = { i: 0, S: t, p: r.s, n: void 0, t: r, e: void 0, x: void 0, r: i }, r.s !== void 0 && (r.s.n = i), r.s = i, t.n = i, 32 & r.f && t.S(i), i;
46
+ if (i.i === -1)
47
+ return i.i = 0, i.n !== void 0 && (i.n.p = i.p, i.p !== void 0 && (i.p.n = i.n), i.p = r.s, i.n = void 0, r.s.n = i, r.s = i), i;
48
+ }
49
+ }
50
+ function f(t, i) {
51
+ this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.W = i == null ? void 0 : i.watched, this.Z = i == null ? void 0 : i.unwatched, this.name = i == null ? void 0 : i.name;
52
+ }
53
+ f.prototype.brand = m;
54
+ f.prototype.h = function() {
55
+ return !0;
56
+ };
57
+ f.prototype.S = function(t) {
58
+ var i = this, o = this.t;
59
+ o !== t && t.e === void 0 && (t.x = o, this.t = t, o !== void 0 ? o.e = t : p(function() {
60
+ var n;
61
+ (n = i.W) == null || n.call(i);
62
+ }));
63
+ };
64
+ f.prototype.U = function(t) {
65
+ var i = this;
66
+ if (this.t !== void 0) {
67
+ var o = t.e, n = t.x;
68
+ o !== void 0 && (o.x = n, t.e = void 0), n !== void 0 && (n.e = o, t.x = void 0), t === this.t && (this.t = n, n === void 0 && p(function() {
69
+ var h;
70
+ (h = i.Z) == null || h.call(i);
71
+ }));
72
+ }
73
+ };
74
+ f.prototype.subscribe = function(t) {
75
+ var i = this;
76
+ return U(function() {
77
+ var o = i.value, n = r;
78
+ r = void 0;
79
+ try {
80
+ t(o);
81
+ } finally {
82
+ r = n;
83
+ }
84
+ }, { name: "sub" });
85
+ };
86
+ f.prototype.valueOf = function() {
87
+ return this.value;
88
+ };
89
+ f.prototype.toString = function() {
90
+ return this.value + "";
91
+ };
92
+ f.prototype.toJSON = function() {
93
+ return this.value;
94
+ };
95
+ f.prototype.peek = function() {
96
+ var t = r;
97
+ r = void 0;
98
+ try {
99
+ return this.value;
100
+ } finally {
101
+ r = t;
102
+ }
103
+ };
104
+ Object.defineProperty(f.prototype, "value", { get: function() {
105
+ var t = y(this);
106
+ return t !== void 0 && (t.i = this.i), this.v;
107
+ }, set: function(t) {
108
+ if (t !== this.v) {
109
+ if (c > 100) throw new Error("Cycle detected");
110
+ this.v = t, this.i++, a++, s++;
111
+ try {
112
+ for (var i = this.t; i !== void 0; i = i.x) i.t.N();
113
+ } finally {
114
+ d();
115
+ }
116
+ }
117
+ } });
118
+ function N(t, i) {
119
+ return new f(t, i);
120
+ }
121
+ function w(t) {
122
+ for (var i = t.s; i !== void 0; i = i.n) if (i.S.i !== i.i || !i.S.h() || i.S.i !== i.i) return !0;
123
+ return !1;
124
+ }
125
+ function S(t) {
126
+ for (var i = t.s; i !== void 0; i = i.n) {
127
+ var o = i.S.n;
128
+ if (o !== void 0 && (i.r = o), i.S.n = i, i.i = -1, i.n === void 0) {
129
+ t.s = i;
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ function x(t) {
135
+ for (var i = t.s, o = void 0; i !== void 0; ) {
136
+ var n = i.p;
137
+ i.i === -1 ? (i.S.U(i), n !== void 0 && (n.n = i.n), i.n !== void 0 && (i.n.p = n)) : o = i, i.S.n = i.r, i.r !== void 0 && (i.r = void 0), i = n;
138
+ }
139
+ t.s = o;
140
+ }
141
+ function e(t, i) {
142
+ f.call(this, void 0), this.x = t, this.s = void 0, this.g = a - 1, this.f = 4, this.W = i == null ? void 0 : i.watched, this.Z = i == null ? void 0 : i.unwatched, this.name = i == null ? void 0 : i.name;
143
+ }
144
+ e.prototype = new f();
145
+ e.prototype.h = function() {
146
+ if (this.f &= -3, 1 & this.f) return !1;
147
+ if ((36 & this.f) == 32 || (this.f &= -5, this.g === a)) return !0;
148
+ if (this.g = a, this.f |= 1, this.i > 0 && !w(this))
149
+ return this.f &= -2, !0;
150
+ var t = r;
151
+ try {
152
+ S(this), r = this;
153
+ var i = this.x();
154
+ (16 & this.f || this.v !== i || this.i === 0) && (this.v = i, this.f &= -17, this.i++);
155
+ } catch (o) {
156
+ this.v = o, this.f |= 16, this.i++;
157
+ }
158
+ return r = t, x(this), this.f &= -2, !0;
159
+ };
160
+ e.prototype.S = function(t) {
161
+ if (this.t === void 0) {
162
+ this.f |= 36;
163
+ for (var i = this.s; i !== void 0; i = i.n) i.S.S(i);
164
+ }
165
+ f.prototype.S.call(this, t);
166
+ };
167
+ e.prototype.U = function(t) {
168
+ if (this.t !== void 0 && (f.prototype.U.call(this, t), this.t === void 0)) {
169
+ this.f &= -33;
170
+ for (var i = this.s; i !== void 0; i = i.n) i.S.U(i);
171
+ }
172
+ };
173
+ e.prototype.N = function() {
174
+ if (!(2 & this.f)) {
175
+ this.f |= 6;
176
+ for (var t = this.t; t !== void 0; t = t.x) t.t.N();
177
+ }
178
+ };
179
+ Object.defineProperty(e.prototype, "value", { get: function() {
180
+ if (1 & this.f) throw new Error("Cycle detected");
181
+ var t = y(this);
182
+ if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;
183
+ return this.v;
184
+ } });
185
+ function O(t, i) {
186
+ return new e(t, i);
187
+ }
188
+ function b(t) {
189
+ var i = t.u;
190
+ if (t.u = void 0, typeof i == "function") {
191
+ s++;
192
+ var o = r;
193
+ r = void 0;
194
+ try {
195
+ i();
196
+ } catch (n) {
197
+ throw t.f &= -2, t.f |= 8, l(t), n;
198
+ } finally {
199
+ r = o, d();
200
+ }
201
+ }
202
+ }
203
+ function l(t) {
204
+ for (var i = t.s; i !== void 0; i = i.n) i.S.U(i);
205
+ t.x = void 0, t.s = void 0, b(t);
206
+ }
207
+ function g(t) {
208
+ if (r !== this) throw new Error("Out-of-order effect");
209
+ x(this), r = t, this.f &= -2, 8 & this.f && l(this), d();
210
+ }
211
+ function v(t, i) {
212
+ this.x = t, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32, this.name = i == null ? void 0 : i.name;
213
+ }
214
+ v.prototype.c = function() {
215
+ var t = this.S();
216
+ try {
217
+ if (8 & this.f || this.x === void 0) return;
218
+ var i = this.x();
219
+ typeof i == "function" && (this.u = i);
220
+ } finally {
221
+ t();
222
+ }
223
+ };
224
+ v.prototype.S = function() {
225
+ if (1 & this.f) throw new Error("Cycle detected");
226
+ this.f |= 1, this.f &= -9, b(this), S(this), s++;
227
+ var t = r;
228
+ return r = this, g.bind(this, t);
229
+ };
230
+ v.prototype.N = function() {
231
+ 2 & this.f || (this.f |= 2, this.o = u, u = this);
232
+ };
233
+ v.prototype.d = function() {
234
+ this.f |= 8, 1 & this.f || l(this);
235
+ };
236
+ v.prototype.dispose = function() {
237
+ this.d();
30
238
  };
239
+ function U(t, i) {
240
+ var o = new v(t, i);
241
+ try {
242
+ o.c();
243
+ } catch (h) {
244
+ throw o.d(), h;
245
+ }
246
+ var n = o.d.bind(o);
247
+ return n[Symbol.dispose] = n, n;
248
+ }
31
249
  export {
32
- f as StatusIcons
250
+ e as Computed,
251
+ v as Effect,
252
+ f as Signal,
253
+ E as batch,
254
+ O as computed,
255
+ U as effect,
256
+ N as signal,
257
+ p as untracked
33
258
  };
34
259
  //# sourceMappingURL=fondue-components138.js.map