@frontify/fondue-components 29.0.1 → 29.1.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 (84) hide show
  1. package/dist/fondue-components111.js +3 -15
  2. package/dist/fondue-components111.js.map +1 -1
  3. package/dist/fondue-components112.js +5 -127
  4. package/dist/fondue-components112.js.map +1 -1
  5. package/dist/fondue-components113.js +14 -11
  6. package/dist/fondue-components113.js.map +1 -1
  7. package/dist/fondue-components114.js +17 -36
  8. package/dist/fondue-components114.js.map +1 -1
  9. package/dist/fondue-components115.js +111 -14
  10. package/dist/fondue-components115.js.map +1 -1
  11. package/dist/fondue-components116.js +12 -14
  12. package/dist/fondue-components116.js.map +1 -1
  13. package/dist/fondue-components117.js +16 -110
  14. package/dist/fondue-components117.js.map +1 -1
  15. package/dist/fondue-components118.js +10 -10
  16. package/dist/fondue-components118.js.map +1 -1
  17. package/dist/fondue-components119.js +17 -17
  18. package/dist/fondue-components119.js.map +1 -1
  19. package/dist/fondue-components120.js +126 -12
  20. package/dist/fondue-components120.js.map +1 -1
  21. package/dist/fondue-components121.js +11 -217
  22. package/dist/fondue-components121.js.map +1 -1
  23. package/dist/fondue-components122.js +34 -17
  24. package/dist/fondue-components122.js.map +1 -1
  25. package/dist/fondue-components123.js +214 -14
  26. package/dist/fondue-components123.js.map +1 -1
  27. package/dist/fondue-components124.js +17 -149
  28. package/dist/fondue-components124.js.map +1 -1
  29. package/dist/fondue-components125.js +16 -44
  30. package/dist/fondue-components125.js.map +1 -1
  31. package/dist/fondue-components126.js +150 -4
  32. package/dist/fondue-components126.js.map +1 -1
  33. package/dist/fondue-components127.js +44 -4
  34. package/dist/fondue-components127.js.map +1 -1
  35. package/dist/fondue-components128.js +31 -18
  36. package/dist/fondue-components128.js.map +1 -1
  37. package/dist/fondue-components131.js +170 -6
  38. package/dist/fondue-components131.js.map +1 -1
  39. package/dist/fondue-components132.js +60 -12
  40. package/dist/fondue-components132.js.map +1 -1
  41. package/dist/fondue-components133.js +9 -71
  42. package/dist/fondue-components133.js.map +1 -1
  43. package/dist/fondue-components134.js +255 -14
  44. package/dist/fondue-components134.js.map +1 -1
  45. package/dist/fondue-components135.js +6 -7
  46. package/dist/fondue-components135.js.map +1 -1
  47. package/dist/fondue-components136.js +11 -88
  48. package/dist/fondue-components136.js.map +1 -1
  49. package/dist/fondue-components137.js +69 -79
  50. package/dist/fondue-components137.js.map +1 -1
  51. package/dist/fondue-components138.js +14 -30
  52. package/dist/fondue-components138.js.map +1 -1
  53. package/dist/fondue-components139.js +7 -170
  54. package/dist/fondue-components139.js.map +1 -1
  55. package/dist/fondue-components140.js +86 -57
  56. package/dist/fondue-components140.js.map +1 -1
  57. package/dist/fondue-components141.js +81 -9
  58. package/dist/fondue-components141.js.map +1 -1
  59. package/dist/fondue-components142.js +29 -254
  60. package/dist/fondue-components142.js.map +1 -1
  61. package/dist/fondue-components145.js +2 -2
  62. package/dist/fondue-components147.js +2 -2
  63. package/dist/fondue-components148.js +1 -1
  64. package/dist/fondue-components43.js +2 -2
  65. package/dist/fondue-components50.js +1 -1
  66. package/dist/fondue-components60.js +10 -10
  67. package/dist/fondue-components60.js.map +1 -1
  68. package/dist/fondue-components61.js +3 -3
  69. package/dist/fondue-components62.js +2 -2
  70. package/dist/fondue-components74.js +2 -2
  71. package/dist/fondue-components77.js +1 -1
  72. package/dist/fondue-components78.js +1 -1
  73. package/dist/fondue-components79.js +1 -1
  74. package/dist/fondue-components82.js +1 -1
  75. package/dist/fondue-components84.js +2 -2
  76. package/dist/fondue-components90.js +2 -2
  77. package/dist/fondue-components91.js +2 -2
  78. package/dist/fondue-components92.js +2 -2
  79. package/dist/fondue-components93.js +2 -2
  80. package/dist/fondue-components94.js +1 -1
  81. package/dist/fondue-components95.js +1 -1
  82. package/dist/index.d.ts +4 -4
  83. package/dist/style.css +1 -1
  84. package/package.json +3 -3
@@ -1,18 +1,259 @@
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
+ 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);
14
+ }
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;
14
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();
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
+ }
15
249
  export {
16
- g as useSelectionDescription
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
17
258
  };
18
259
  //# 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":["../../../node_modules/.pnpm/@preact+signals-core@1.13.0/node_modules/@preact/signals-core/dist/signals-core.module.js"],"sourcesContent":["var i=Symbol.for(\"preact-signals\");function t(){if(!(s>1)){var i,t=!1;while(void 0!==h){var n=h;h=void 0;v++;while(void 0!==n){var r=n.o;n.o=void 0;n.f&=-3;if(!(8&n.f)&&a(n))try{n.c()}catch(n){if(!t){i=n;t=!0}}n=r}}v=0;s--;if(t)throw i}else s--}function n(i){if(s>0)return i();s++;try{return i()}finally{t()}}var r=void 0;function o(i){var t=r;r=void 0;try{return i()}finally{r=t}}var f,h=void 0,s=0,v=0,u=0;function e(i){if(void 0!==r){var t=i.n;if(void 0===t||t.t!==r){t={i:0,S:i,p:r.s,n:void 0,t:r,e:void 0,x:void 0,r:t};if(void 0!==r.s)r.s.n=t;r.s=t;i.n=t;if(32&r.f)i.S(t);return t}else if(-1===t.i){t.i=0;if(void 0!==t.n){t.n.p=t.p;if(void 0!==t.p)t.p.n=t.n;t.p=r.s;t.n=void 0;r.s.n=t;r.s=t}return t}}}function d(i,t){this.v=i;this.i=0;this.n=void 0;this.t=void 0;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}d.prototype.brand=i;d.prototype.h=function(){return!0};d.prototype.S=function(i){var t=this,n=this.t;if(n!==i&&void 0===i.e){i.x=n;this.t=i;if(void 0!==n)n.e=i;else o(function(){var i;null==(i=t.W)||i.call(t)})}};d.prototype.U=function(i){var t=this;if(void 0!==this.t){var n=i.e,r=i.x;if(void 0!==n){n.x=r;i.e=void 0}if(void 0!==r){r.e=n;i.x=void 0}if(i===this.t){this.t=r;if(void 0===r)o(function(){var i;null==(i=t.Z)||i.call(t)})}}};d.prototype.subscribe=function(i){var t=this;return m(function(){var n=t.value,o=r;r=void 0;try{i(n)}finally{r=o}},{name:\"sub\"})};d.prototype.valueOf=function(){return this.value};d.prototype.toString=function(){return this.value+\"\"};d.prototype.toJSON=function(){return this.value};d.prototype.peek=function(){var i=r;r=void 0;try{return this.value}finally{r=i}};Object.defineProperty(d.prototype,\"value\",{get:function(){var i=e(this);if(void 0!==i)i.i=this.i;return this.v},set:function(i){if(i!==this.v){if(v>100)throw new Error(\"Cycle detected\");this.v=i;this.i++;u++;s++;try{for(var n=this.t;void 0!==n;n=n.x)n.t.N()}finally{t()}}}});function c(i,t){return new d(i,t)}function a(i){for(var t=i.s;void 0!==t;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function l(i){for(var t=i.s;void 0!==t;t=t.n){var n=t.S.n;if(void 0!==n)t.r=n;t.S.n=t;t.i=-1;if(void 0===t.n){i.s=t;break}}}function y(i){var t=i.s,n=void 0;while(void 0!==t){var r=t.p;if(-1===t.i){t.S.U(t);if(void 0!==r)r.n=t.n;if(void 0!==t.n)t.n.p=r}else n=t;t.S.n=t.r;if(void 0!==t.r)t.r=void 0;t=r}i.s=n}function w(i,t){d.call(this,void 0);this.x=i;this.s=void 0;this.g=u-1;this.f=4;this.W=null==t?void 0:t.watched;this.Z=null==t?void 0:t.unwatched;this.name=null==t?void 0:t.name}w.prototype=new d;w.prototype.h=function(){this.f&=-3;if(1&this.f)return!1;if(32==(36&this.f))return!0;this.f&=-5;if(this.g===u)return!0;this.g=u;this.f|=1;if(this.i>0&&!a(this)){this.f&=-2;return!0}var i=r;try{l(this);r=this;var t=this.x();if(16&this.f||this.v!==t||0===this.i){this.v=t;this.f&=-17;this.i++}}catch(i){this.v=i;this.f|=16;this.i++}r=i;y(this);this.f&=-2;return!0};w.prototype.S=function(i){if(void 0===this.t){this.f|=36;for(var t=this.s;void 0!==t;t=t.n)t.S.S(t)}d.prototype.S.call(this,i)};w.prototype.U=function(i){if(void 0!==this.t){d.prototype.U.call(this,i);if(void 0===this.t){this.f&=-33;for(var t=this.s;void 0!==t;t=t.n)t.S.U(t)}}};w.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var i=this.t;void 0!==i;i=i.x)i.t.N()}};Object.defineProperty(w.prototype,\"value\",{get:function(){if(1&this.f)throw new Error(\"Cycle detected\");var i=e(this);this.h();if(void 0!==i)i.i=this.i;if(16&this.f)throw this.v;return this.v}});function b(i,t){return new w(i,t)}function _(i){var n=i.u;i.u=void 0;if(\"function\"==typeof n){s++;var o=r;r=void 0;try{n()}catch(t){i.f&=-2;i.f|=8;p(i);throw t}finally{r=o;t()}}}function p(i){for(var t=i.s;void 0!==t;t=t.n)t.S.U(t);i.x=void 0;i.s=void 0;_(i)}function g(i){if(r!==this)throw new Error(\"Out-of-order effect\");y(this);r=i;this.f&=-2;if(8&this.f)p(this);t()}function S(i,t){this.x=i;this.u=void 0;this.s=void 0;this.o=void 0;this.f=32;this.name=null==t?void 0:t.name;if(f)f.push(this)}S.prototype.c=function(){var i=this.S();try{if(8&this.f)return;if(void 0===this.x)return;var t=this.x();if(\"function\"==typeof t)this.u=t}finally{i()}};S.prototype.S=function(){if(1&this.f)throw new Error(\"Cycle detected\");this.f|=1;this.f&=-9;_(this);l(this);s++;var i=r;r=this;return g.bind(this,i)};S.prototype.N=function(){if(!(2&this.f)){this.f|=2;this.o=h;h=this}};S.prototype.d=function(){this.f|=8;if(!(1&this.f))p(this)};S.prototype.dispose=function(){this.d()};function m(i,t){var n=new S(i,t);try{n.c()}catch(i){n.d();throw i}var r=n.d.bind(n);r[Symbol.dispose]=r;return r}function E(i){return function(){var t=arguments,r=this;return n(function(){return o(function(){return i.apply(r,[].slice.call(t))})})}}function x(){var i=f;f=[];return function(){var t=f;if(f&&i)i=i.concat(f);f=i;return t}}function C(i){return function(){var t,n,r=x();try{n=i.apply(void 0,[].slice.call(arguments))}catch(i){f=void 0;throw i}finally{t=r()}for(var o in n)if(\"function\"==typeof n[o])n[o]=E(n[o]);n[Symbol.dispose]=E(function(){if(t)for(var i=0;i<t.length;i++)t[i].dispose();t=void 0});return n}}export{w as Computed,S as Effect,d as Signal,E as action,n as batch,b as computed,C as createModel,m as effect,c as signal,o as untracked};//# sourceMappingURL=signals-core.module.js.map\n"],"names":["i","t","h","n","v","r","a","o","u","e","d","m","c","l","y","w","b","_","p","S"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,10 +1,9 @@
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 { useMemo as t } from "react";
2
+ const m = (n, s) => t(() => n.map((r) => {
3
+ const o = s(r), p = (o == null ? void 0 : o.label) ?? r;
4
+ return { value: r, displayValue: p };
5
+ }), [n, s]);
7
6
  export {
8
- m as ClearButton
7
+ m as useBadgeItems
9
8
  };
10
9
  //# 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":["../src/components/Select/hooks/useBadgeItems.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo } from 'react';\n\ntype SelectItemLike = {\n value: string;\n label: string;\n};\n\ntype BadgeItem = {\n value: string;\n displayValue: string;\n};\n\nexport const useBadgeItems = (\n selectedItemValues: string[],\n getItemByValue: (value?: string) => SelectItemLike | undefined,\n): BadgeItem[] => {\n return useMemo(() => {\n return selectedItemValues.map((value) => {\n const item = getItemByValue(value);\n const displayValue = item?.label ?? value;\n return { value, displayValue };\n });\n }, [selectedItemValues, getItemByValue]);\n};\n"],"names":["useBadgeItems","selectedItemValues","getItemByValue","useMemo","value","item","displayValue"],"mappings":";AAcO,MAAMA,IAAgB,CACzBC,GACAC,MAEOC,EAAQ,MACJF,EAAmB,IAAI,CAACG,MAAU;AACrC,QAAMC,IAAOH,EAAeE,CAAK,GAC3BE,KAAeD,KAAA,gBAAAA,EAAM,UAASD;AACpC,SAAO,EAAE,OAAAA,GAAO,cAAAE,EAAA;AACpB,CAAC,GACF,CAACL,GAAoBC,CAAc,CAAC;"}
@@ -1,92 +1,15 @@
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)
30
- return;
31
- const v = () => {
32
- if (r.length === 0) {
33
- i(0);
34
- return;
35
- }
36
- i(M(e, a.current, r, b));
37
- }, t = new ResizeObserver(v);
38
- return t.observe(e), () => {
39
- t.disconnect();
40
- };
41
- }, [r, b]), r.length === 0 && !o)
42
- return h;
43
- const c = r.length - l, y = (e) => e === 1 ? s("Select_singleItemSelected") : e > 1 ? s("Select_multipleItemsSelected", { count: e.toString() }) : "";
44
- return /* @__PURE__ */ S("div", { ref: d, className: p.badgesContainer, children: [
45
- /* @__PURE__ */ f("span", { className: p.srOnly, "aria-live": "polite", "aria-atomic": "true", children: y(g) }),
46
- o,
47
- r.map((e, v) => /* @__PURE__ */ f(
48
- "div",
49
- {
50
- ref: (t) => {
51
- t ? a.current.set(e.value, t) : a.current.delete(e.value);
52
- },
53
- role: "presentation",
54
- className: p.badgeWrapper,
55
- "data-visible": v < l,
56
- onKeyDown: (t) => {
57
- (t.key === "Enter" || t.key === " ") && t.stopPropagation();
58
- },
59
- onMouseDown: () => {
60
- n.current = !0;
61
- },
62
- children: /* @__PURE__ */ f(
63
- w,
64
- {
65
- emphasis: "weak",
66
- "aria-label": typeof e.displayValue == "string" ? e.displayValue : e.value,
67
- onDismiss: (t) => {
68
- t.stopPropagation(), u(e.value, n.current), n.current = !1;
69
- },
70
- children: e.displayValue
71
- }
72
- )
73
- },
74
- e.value
75
- )),
76
- c > 0 && /* @__PURE__ */ f(
77
- "div",
78
- {
79
- className: p.badgeWrapper,
80
- "aria-label": s("Select_additionalItemsSelected", { count: c.toString() }),
81
- children: /* @__PURE__ */ S(w, { emphasis: "weak", "aria-hidden": "true", children: [
82
- "+",
83
- c
84
- ] })
85
- }
86
- )
87
- ] });
1
+ import { useRef as u, useCallback as t } from "react";
2
+ const c = () => {
3
+ const s = u(!1), o = t((e) => {
4
+ s.current = !0, e.currentTarget.dataset.showFocusRing = "false";
5
+ }, []), r = t((e) => {
6
+ s.current || (e.target.dataset.showFocusRing = "true");
7
+ }, []), n = t((e) => {
8
+ e.target.dataset.showFocusRing = "false", s.current = !1;
9
+ }, []);
10
+ return { wasClickedRef: s, onMouseDown: o, onFocus: r, onBlur: n };
88
11
  };
89
12
  export {
90
- x as CollapsibleBadges
13
+ c as useFocusRing
91
14
  };
92
15
  //# 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":["../src/components/Select/hooks/useFocusRing.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useCallback, useRef, type FocusEvent, type MouseEvent, type MutableRefObject } from 'react';\n\ntype FocusRingHandlers = {\n /** Ref tracking whether the element was activated via mouse click. */\n wasClickedRef: MutableRefObject<boolean>;\n /** Handler for mousedown events marks the interaction as click-based. */\n onMouseDown: (event: MouseEvent<HTMLElement>) => void;\n /** Handler for focus events shows the focus ring only for keyboard navigation. */\n onFocus: (event: FocusEvent<HTMLElement>) => void;\n /** Handler for blur events hides the focus ring and resets click tracking. */\n onBlur: (event: FocusEvent<HTMLElement>) => void;\n};\n\nexport const useFocusRing = (): FocusRingHandlers => {\n const wasClickedRef = useRef(false);\n\n const onMouseDown = useCallback((event: MouseEvent<HTMLElement>): void => {\n wasClickedRef.current = true;\n event.currentTarget.dataset.showFocusRing = 'false';\n }, []);\n\n const onFocus = useCallback((event: FocusEvent<HTMLElement>): void => {\n if (!wasClickedRef.current) {\n event.target.dataset.showFocusRing = 'true';\n }\n }, []);\n\n const onBlur = useCallback((event: FocusEvent<HTMLElement>): void => {\n event.target.dataset.showFocusRing = 'false';\n wasClickedRef.current = false;\n }, []);\n\n return { wasClickedRef, onMouseDown, onFocus, onBlur };\n};\n"],"names":["useFocusRing","wasClickedRef","useRef","onMouseDown","useCallback","event","onFocus","onBlur"],"mappings":";AAeO,MAAMA,IAAe,MAAyB;AACjD,QAAMC,IAAgBC,EAAO,EAAK,GAE5BC,IAAcC,EAAY,CAACC,MAAyC;AACtE,IAAAJ,EAAc,UAAU,IACxBI,EAAM,cAAc,QAAQ,gBAAgB;AAAA,EAChD,GAAG,CAAA,CAAE,GAECC,IAAUF,EAAY,CAACC,MAAyC;AAClE,IAAKJ,EAAc,YACfI,EAAM,OAAO,QAAQ,gBAAgB;AAAA,EAE7C,GAAG,CAAA,CAAE,GAECE,IAASH,EAAY,CAACC,MAAyC;AACjE,IAAAA,EAAM,OAAO,QAAQ,gBAAgB,SACrCJ,EAAc,UAAU;AAAA,EAC5B,GAAG,CAAA,CAAE;AAEL,SAAO,EAAE,eAAAA,GAAe,aAAAE,GAAa,SAAAG,GAAS,QAAAC,EAAA;AAClD;"}
@@ -1,84 +1,74 @@
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
- )
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);
77
34
  }
78
- ) }) });
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
+ };
79
69
  };
80
- j.displayName = "Select.Menu";
81
70
  export {
82
- j as SelectMenu
71
+ g as getRecursiveOptionValues,
72
+ q as useSelectData
83
73
  };
84
74
  //# sourceMappingURL=fondue-components137.js.map