@livechat/design-system-react-components 1.17.1-alpha.3 → 1.17.1-alpha.4

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 (105) hide show
  1. package/dist/chunks/Heading-617540b6.js +1 -0
  2. package/dist/chunks/Heading-6b95d08b.js +64 -0
  3. package/dist/chunks/Text-b31d1e9a.js +66 -0
  4. package/dist/chunks/Text-df483689.js +1 -0
  5. package/dist/chunks/Tooltip-1c5cb6fe.js +182 -0
  6. package/dist/chunks/Tooltip-f9f79274.js +1 -0
  7. package/dist/chunks/Typography.module-2558416b.js +1 -0
  8. package/dist/chunks/Typography.module-93efb34d.js +23 -0
  9. package/dist/chunks/keyCodes-30323e90.js +15 -0
  10. package/dist/chunks/keyCodes-c4c35e49.js +1 -0
  11. package/dist/components/ActionBar/index.cjs.js +1 -0
  12. package/dist/components/ActionBar/index.es.js +192 -0
  13. package/dist/components/ActionMenu/index.cjs.js +1 -0
  14. package/dist/components/ActionMenu/index.es.js +199 -0
  15. package/dist/components/Alert/index.cjs.js +1 -0
  16. package/dist/components/Alert/index.es.js +129 -0
  17. package/dist/components/Avatar/index.cjs.js +1 -0
  18. package/dist/components/Avatar/index.es.js +190 -0
  19. package/dist/components/Badge/index.cjs.js +1 -0
  20. package/dist/components/Badge/index.es.js +65 -0
  21. package/dist/components/Button/index.cjs.js +1 -0
  22. package/dist/components/Button/index.es.js +143 -0
  23. package/dist/components/Card/index.cjs.js +1 -0
  24. package/dist/components/Card/index.es.js +96 -0
  25. package/dist/components/Checkbox/index.cjs.js +1 -0
  26. package/dist/components/Checkbox/index.es.js +64 -0
  27. package/dist/components/DatePicker/index.cjs.js +1 -0
  28. package/dist/components/DatePicker/index.es.js +516 -0
  29. package/dist/components/DetailsCard/index.cjs.js +1 -0
  30. package/dist/components/DetailsCard/index.es.js +140 -0
  31. package/dist/components/DetailsCardInfo/index.cjs.js +1 -0
  32. package/dist/components/DetailsCardInfo/index.es.js +12 -0
  33. package/dist/components/FieldDescription/index.cjs.js +1 -0
  34. package/dist/components/FieldDescription/index.es.js +41 -0
  35. package/dist/components/FieldError/index.cjs.js +1 -0
  36. package/dist/components/FieldError/index.es.js +51 -0
  37. package/dist/components/FieldGroup/index.cjs.js +1 -0
  38. package/dist/components/FieldGroup/index.es.js +58 -0
  39. package/dist/components/FileUploadProgress/index.cjs.js +1 -0
  40. package/dist/components/FileUploadProgress/index.es.js +109 -0
  41. package/dist/components/Form/index.cjs.js +1 -0
  42. package/dist/components/Form/index.es.js +50 -0
  43. package/dist/components/FormField/index.cjs.js +1 -0
  44. package/dist/components/FormField/index.es.js +116 -0
  45. package/dist/components/FormGroup/index.cjs.js +1 -0
  46. package/dist/components/FormGroup/index.es.js +58 -0
  47. package/dist/components/Icon/index.cjs.js +1 -0
  48. package/dist/components/Icon/index.es.js +103 -0
  49. package/dist/components/Input/index.cjs.js +1 -0
  50. package/dist/components/Input/index.es.js +123 -0
  51. package/dist/components/Link/index.cjs.js +1 -0
  52. package/dist/components/Link/index.es.js +47 -0
  53. package/dist/components/Loader/index.cjs.js +1 -0
  54. package/dist/components/Loader/index.es.js +39 -0
  55. package/dist/components/Modal/index.cjs.js +1 -0
  56. package/dist/components/Modal/index.es.js +249 -0
  57. package/dist/components/NumericInput/index.cjs.js +1 -0
  58. package/dist/components/NumericInput/index.es.js +139 -0
  59. package/dist/components/Picker/index.cjs.js +1 -0
  60. package/dist/components/Picker/index.es.js +740 -0
  61. package/dist/components/Popover/index.cjs.js +1 -0
  62. package/dist/components/Popover/index.es.js +75 -0
  63. package/dist/components/Progress/index.cjs.js +1 -0
  64. package/dist/components/Progress/index.es.js +160 -0
  65. package/dist/components/PromoBanner/index.cjs.js +1 -0
  66. package/dist/components/PromoBanner/index.es.js +74 -0
  67. package/dist/components/PromoBannerV2/index.cjs.js +1 -0
  68. package/dist/components/PromoBannerV2/index.es.js +79 -0
  69. package/dist/components/RadioButton/index.cjs.js +1 -0
  70. package/dist/components/RadioButton/index.es.js +58 -0
  71. package/dist/components/Search/index.cjs.js +1 -0
  72. package/dist/components/Search/index.es.js +117 -0
  73. package/dist/components/SegmentedControl/index.cjs.js +1 -0
  74. package/dist/components/SegmentedControl/index.es.js +55 -0
  75. package/dist/components/Switch/index.cjs.js +1 -0
  76. package/dist/components/Switch/index.es.js +145 -0
  77. package/dist/components/Tab/index.cjs.js +1 -0
  78. package/dist/components/Tab/index.es.js +93 -0
  79. package/dist/components/Tag/index.cjs.js +1 -0
  80. package/dist/components/Tag/index.es.js +143 -0
  81. package/dist/components/TagInput/index.cjs.js +1 -0
  82. package/dist/components/TagInput/index.es.js +244 -0
  83. package/dist/components/Textarea/index.cjs.js +1 -0
  84. package/dist/components/Textarea/index.es.js +55 -0
  85. package/dist/components/Toast/index.cjs.js +1 -0
  86. package/dist/components/Toast/index.es.js +163 -0
  87. package/dist/components/Tooltip/components/UserGuide/index.cjs.js +1 -0
  88. package/dist/components/Tooltip/components/UserGuide/index.es.js +196 -0
  89. package/dist/components/Tooltip/components/index.cjs.js +1 -0
  90. package/dist/components/Tooltip/components/index.es.js +117 -0
  91. package/dist/components/Tooltip/index.cjs.js +1 -0
  92. package/dist/components/Tooltip/index.es.js +21 -0
  93. package/dist/components/Typography/index.cjs.js +1 -0
  94. package/dist/components/Typography/index.es.js +48 -0
  95. package/dist/components/UploadBar/index.cjs.js +1 -0
  96. package/dist/components/UploadBar/index.es.js +111 -0
  97. package/dist/foundations/index.cjs.js +1 -0
  98. package/dist/foundations/index.es.js +353 -0
  99. package/dist/index.cjs.js +1 -1
  100. package/dist/index.es.js +133 -5231
  101. package/dist/preview-stats.json +1231 -1237
  102. package/dist/style.css +1 -1
  103. package/dist/utils/index.cjs.js +1 -0
  104. package/dist/utils/index.es.js +4 -0
  105. package/package.json +2 -6
@@ -0,0 +1,740 @@
1
+ var Ce = Object.defineProperty, Le = Object.defineProperties;
2
+ var Ie = Object.getOwnPropertyDescriptors;
3
+ var O = Object.getOwnPropertySymbols;
4
+ var te = Object.prototype.hasOwnProperty, ie = Object.prototype.propertyIsEnumerable;
5
+ var re = (r, t, c) => t in r ? Ce(r, t, { enumerable: !0, configurable: !0, writable: !0, value: c }) : r[t] = c, x = (r, t) => {
6
+ for (var c in t || (t = {}))
7
+ te.call(t, c) && re(r, c, t[c]);
8
+ if (O)
9
+ for (var c of O(t))
10
+ ie.call(t, c) && re(r, c, t[c]);
11
+ return r;
12
+ }, U = (r, t) => Le(r, Ie(t));
13
+ var _e = (r, t) => {
14
+ var c = {};
15
+ for (var a in r)
16
+ te.call(r, a) && t.indexOf(a) < 0 && (c[a] = r[a]);
17
+ if (r != null && O)
18
+ for (var a of O(r))
19
+ t.indexOf(a) < 0 && ie.call(r, a) && (c[a] = r[a]);
20
+ return c;
21
+ };
22
+ import * as e from "react";
23
+ import { useEffect as xe } from "react";
24
+ import { FloatingFocusManager as ce, useFloatingNodeId as Be, useFloating as Fe, autoUpdate as Re, offset as Se, flip as He, shift as De, size as Me, useClick as Ke, useRole as Oe, useDismiss as Ue, useListNavigation as Ge, useInteractions as Ae, FloatingNode as We, FloatingPortal as Ye } from "@floating-ui/react";
25
+ import E from "clsx";
26
+ import { Virtuoso as je } from "react-virtuoso";
27
+ import { Check as qe, Close as Xe, ChevronDown as ze, ChevronUp as Qe } from "@livechat/design-system-icons";
28
+ import { Checkbox as Ve } from "../Checkbox/index.es.js";
29
+ import { Icon as D } from "../Icon/index.es.js";
30
+ import { H as Je } from "../../chunks/Heading-6b95d08b.js";
31
+ import { T as oe } from "../../chunks/Text-b31d1e9a.js";
32
+ import "../../chunks/Typography.module-93efb34d.js";
33
+ import { Tag as Ze } from "../Tag/index.es.js";
34
+ import * as er from "react-dom";
35
+ import "../FieldDescription/index.es.js";
36
+ import "polished";
37
+ const rr = 2, Y = 400;
38
+ [
39
+ ...[...Array(100)].map((r, t) => ({
40
+ key: `option${t + 8}`,
41
+ name: `Option #${t + 8}`,
42
+ disabled: t % 4 === 0
43
+ }))
44
+ ];
45
+ const M = "select-all", tr = (r, t) => {
46
+ const c = [];
47
+ return r.forEach((a, _) => {
48
+ t(a) && c.push(_);
49
+ }), c;
50
+ }, j = (r) => r.filter(
51
+ ({ key: t, disabled: c, groupHeader: a }) => !(t === M || c || a)
52
+ ), le = ({ key: r }) => r, b = {
53
+ "item-wrapper": "lc-PickerListItem-module__item-wrapper___ETYMU",
54
+ "item-wrapper__first": "lc-PickerListItem-module__item-wrapper__first___uit1z",
55
+ "item-wrapper__last": "lc-PickerListItem-module__item-wrapper__last___cWmGF",
56
+ "picker-list__item": "lc-PickerListItem-module__picker-list__item___cujFw",
57
+ "picker-list__item--select-all": "lc-PickerListItem-module__picker-list__item--select-all___-cXxr",
58
+ "picker-list__item__header": "lc-PickerListItem-module__picker-list__item__header___abypL",
59
+ "picker-list__item__content": "lc-PickerListItem-module__picker-list__item__content___EI4cV",
60
+ "picker-list__item__custom": "lc-PickerListItem-module__picker-list__item__custom___CFubU",
61
+ "picker-list__item__checkbox": "lc-PickerListItem-module__picker-list__item__checkbox___XqHxc",
62
+ "picker-list__item__avatar": "lc-PickerListItem-module__picker-list__item__avatar___dKtMr",
63
+ "picker-list__item__icon": "lc-PickerListItem-module__picker-list__item__icon___5Yvui",
64
+ "picker-list__item__label-container": "lc-PickerListItem-module__picker-list__item__label-container___awy0M",
65
+ "picker-list__item__main-label": "lc-PickerListItem-module__picker-list__item__main-label___YfUhr",
66
+ "picker-list__item__secondary-label": "lc-PickerListItem-module__picker-list__item__secondary-label___6xcMD"
67
+ }, I = "picker-list__item", ir = ({
68
+ index: r,
69
+ isActive: t,
70
+ isSelected: c,
71
+ listElementsRef: a,
72
+ onSelect: _,
73
+ getItemProps: d,
74
+ item: o,
75
+ numberOfItems: n
76
+ }) => {
77
+ const f = (l) => l != null && l.customElement ? /* @__PURE__ */ e.createElement("div", { className: b[`${I}__custom`] }, l.customElement.listItemBody) : /* @__PURE__ */ e.createElement(e.Fragment, null, l.showCheckbox && /* @__PURE__ */ e.createElement(
78
+ Ve,
79
+ {
80
+ className: b[`${I}__checkbox`],
81
+ checked: c
82
+ }
83
+ ), l.icon && /* @__PURE__ */ e.createElement(
84
+ D,
85
+ {
86
+ className: b[`${I}__icon`],
87
+ kind: "link",
88
+ source: l.icon
89
+ }
90
+ ), l.avatarSrc && /* @__PURE__ */ e.createElement(
91
+ "img",
92
+ {
93
+ className: E(b[`${I}__avatar`]),
94
+ src: l.avatarSrc,
95
+ alt: l.name
96
+ }
97
+ ), /* @__PURE__ */ e.createElement("div", { className: b[`${I}__label-container`] }, /* @__PURE__ */ e.createElement(
98
+ "span",
99
+ {
100
+ className: E({
101
+ [b[`${I}__main-label`]]: l.secondaryText
102
+ }),
103
+ "aria-disabled": l.disabled
104
+ },
105
+ l.name
106
+ ), l.secondaryText && /* @__PURE__ */ e.createElement("span", { className: b[`${I}__secondary-label`] }, l.secondaryText)));
107
+ if (o.groupHeader)
108
+ return /* @__PURE__ */ e.createElement(
109
+ "div",
110
+ x({
111
+ id: `item-${r}`,
112
+ key: o.key,
113
+ role: "group",
114
+ className: b[`${I}__header`]
115
+ }, d()),
116
+ /* @__PURE__ */ e.createElement(Je, { size: "2xs", uppercase: !0, bold: !0, as: "div" }, o.name)
117
+ );
118
+ const k = (l) => {
119
+ !o.disabled && _(l);
120
+ };
121
+ return /* @__PURE__ */ e.createElement(
122
+ "div",
123
+ U(x({
124
+ id: o.key,
125
+ key: o.key,
126
+ tabIndex: t ? 0 : -1,
127
+ ref: (l) => {
128
+ l && (a.current[r] = l);
129
+ },
130
+ role: "option",
131
+ "aria-setsize": n,
132
+ "aria-posinset": r + 1
133
+ }, d({
134
+ onClick: () => k(o.key)
135
+ })), {
136
+ className: E(b["item-wrapper"], {
137
+ [b["item-wrapper__first"]]: r === 0 && !o.groupHeader,
138
+ [b["item-wrapper__last"]]: r === n - 1 && !o.groupHeader
139
+ })
140
+ }),
141
+ /* @__PURE__ */ e.createElement(
142
+ "div",
143
+ {
144
+ "aria-selected": c,
145
+ "aria-disabled": o.disabled,
146
+ "aria-current": t && !o.disabled,
147
+ className: E(b[I], {
148
+ [b[`${I}__custom`]]: o.customElement,
149
+ [b[`${I}--select-all`]]: o.key === M
150
+ })
151
+ },
152
+ /* @__PURE__ */ e.createElement("div", { className: b[`${I}__content`] }, /* @__PURE__ */ e.createElement(oe, { as: "span" }, f(o))),
153
+ c && !o.showCheckbox && /* @__PURE__ */ e.createElement(
154
+ D,
155
+ {
156
+ kind: "link",
157
+ source: qe,
158
+ customColor: "var(--content-basic-info)"
159
+ }
160
+ )
161
+ )
162
+ );
163
+ }, _r = "lc-PickerList-module__listbox___-LqE-", R = {
164
+ listbox: _r,
165
+ "no-results": "lc-PickerList-module__no-results___QRce-",
166
+ "listbox-wrapper": "lc-PickerList-module__listbox-wrapper___FbDrf"
167
+ }, ae = "picker-list", cr = ({
168
+ context: r,
169
+ setFloating: t,
170
+ floatingStyles: c,
171
+ maxHeight: a,
172
+ options: _,
173
+ isPositioned: d,
174
+ pointer: o,
175
+ activeIndex: n,
176
+ selectedKeys: f,
177
+ listElementsRef: k,
178
+ setPointer: l,
179
+ onSelect: y,
180
+ getFloatingProps: u,
181
+ getItemProps: w,
182
+ emptyStateText: N = "No results found",
183
+ pickerType: C = "single",
184
+ listClassName: L,
185
+ virtuosoProps: g
186
+ }) => {
187
+ const m = e.useRef(null), [i, p] = e.useState(Y), h = _.length;
188
+ e.useLayoutEffect(() => {
189
+ var s;
190
+ d && !o && n !== null && ((s = m.current) == null || s.focus({ preventScroll: !0 }));
191
+ }, [d, n, o, m]);
192
+ const S = e.useCallback(
193
+ (s) => {
194
+ s !== i && (s < Y ? p(s + (h - 1) * rr) : p(Y));
195
+ },
196
+ [h]
197
+ );
198
+ if (xe(() => {
199
+ k.current = new Array(_.length);
200
+ }, [_.length]), _.length === 0) {
201
+ const s = E(R[ae], {
202
+ [R[`${ae}__no-results`]]: _.length === 0
203
+ });
204
+ return /* @__PURE__ */ e.createElement(ce, { context: r, modal: !1, initialFocus: -1 }, /* @__PURE__ */ e.createElement(
205
+ "div",
206
+ {
207
+ className: E(R.listbox, R["no-results"]),
208
+ ref: t,
209
+ tabIndex: -1,
210
+ style: c
211
+ },
212
+ /* @__PURE__ */ e.createElement("div", { className: s }, N)
213
+ ));
214
+ }
215
+ const H = (s) => f.includes(s) || s === M && f.length === j(_).length;
216
+ return /* @__PURE__ */ e.createElement(ce, { context: r, modal: !1, initialFocus: -1 }, /* @__PURE__ */ e.createElement(
217
+ "div",
218
+ {
219
+ ref: t,
220
+ tabIndex: -1,
221
+ className: E(R.listbox, L),
222
+ style: U(x({}, c), {
223
+ maxHeight: a
224
+ })
225
+ },
226
+ /* @__PURE__ */ e.createElement(
227
+ "div",
228
+ x({
229
+ tabIndex: 0,
230
+ "aria-multiselectable": C === "multi",
231
+ className: R["listbox-wrapper"],
232
+ ref: m
233
+ }, u({
234
+ onKeyDown(s) {
235
+ l(!1), s.key === "Enter" && n !== null && y(_[n].key), s.key === " " && s.preventDefault();
236
+ },
237
+ onKeyUp(s) {
238
+ s.key === " " && n !== null && y(_[n].key);
239
+ },
240
+ onPointerMove() {
241
+ l(!0);
242
+ }
243
+ })),
244
+ /* @__PURE__ */ e.createElement(
245
+ je,
246
+ U(x({
247
+ totalListHeightChanged: S,
248
+ style: { height: `${i}px`, maxHeight: a },
249
+ totalCount: _.length,
250
+ data: _,
251
+ increaseViewportBy: 200
252
+ }, g), {
253
+ itemContent: (s, F) => /* @__PURE__ */ e.createElement(
254
+ ir,
255
+ {
256
+ index: s,
257
+ getItemProps: w,
258
+ listElementsRef: k,
259
+ isActive: n === s,
260
+ isSelected: H(F.key),
261
+ onSelect: y,
262
+ item: F,
263
+ numberOfItems: h
264
+ }
265
+ )
266
+ })
267
+ )
268
+ )
269
+ ));
270
+ }, v = {
271
+ "picker-trigger": "lc-PickerTrigger-module__picker-trigger___-tjS0",
272
+ "picker-trigger--multi-select": "lc-PickerTrigger-module__picker-trigger--multi-select___av4Ws",
273
+ "picker-trigger--multi-select--with-items": "lc-PickerTrigger-module__picker-trigger--multi-select--with-items___7uI-R",
274
+ "picker-trigger__content": "lc-PickerTrigger-module__picker-trigger__content___USgUX",
275
+ "picker-trigger__content--compact": "lc-PickerTrigger-module__picker-trigger__content--compact___tJ0c0",
276
+ "picker-trigger__content--medium": "lc-PickerTrigger-module__picker-trigger__content--medium___FDI7S",
277
+ "picker-trigger__content--large": "lc-PickerTrigger-module__picker-trigger__content--large___3F05E",
278
+ "picker-trigger__content--with-items": "lc-PickerTrigger-module__picker-trigger__content--with-items___gXBgO",
279
+ "picker-trigger__controls": "lc-PickerTrigger-module__picker-trigger__controls___atRqc",
280
+ "picker-trigger__controls--compact": "lc-PickerTrigger-module__picker-trigger__controls--compact___WEdel",
281
+ "picker-trigger__controls--medium": "lc-PickerTrigger-module__picker-trigger__controls--medium___MNwT1",
282
+ "picker-trigger__controls--large": "lc-PickerTrigger-module__picker-trigger__controls--large___mHG04",
283
+ "picker-trigger__clear-icon": "lc-PickerTrigger-module__picker-trigger__clear-icon___4TVYX",
284
+ "picker-trigger__chevron-icon": "lc-PickerTrigger-module__picker-trigger__chevron-icon___hmDvU",
285
+ "picker-trigger--disabled": "lc-PickerTrigger-module__picker-trigger--disabled___4MGb4",
286
+ "picker-trigger--focused": "lc-PickerTrigger-module__picker-trigger--focused___vBA4d",
287
+ "picker-trigger--error": "lc-PickerTrigger-module__picker-trigger--error___yu6Dt"
288
+ }, P = "picker-trigger", lr = ({
289
+ setReference: r,
290
+ getReferenceProps: t,
291
+ testId: c,
292
+ size: a = "medium",
293
+ isMultiSelect: _,
294
+ isItemSelected: d,
295
+ hideClearButton: o,
296
+ isDisabled: n,
297
+ isRequired: f,
298
+ isOpen: k,
299
+ isError: l,
300
+ onClear: y,
301
+ children: u
302
+ }) => {
303
+ const w = E(
304
+ v[P],
305
+ v[`${P}--${a}`],
306
+ _ && v[`${P}--multi-select`],
307
+ _ && d && v[`${P}--multi-select--with-items`],
308
+ n && v[`${P}--disabled`],
309
+ k && v[`${P}--focused`],
310
+ l && v[`${P}--error`]
311
+ ), N = !o && d && !n && !f, C = (L) => {
312
+ L.stopPropagation(), y();
313
+ };
314
+ return /* @__PURE__ */ e.createElement(
315
+ "button",
316
+ x({
317
+ tabIndex: n ? -1 : 0,
318
+ "aria-disabled": n,
319
+ className: w,
320
+ "data-testid": c,
321
+ ref: r,
322
+ type: "button"
323
+ }, t()),
324
+ /* @__PURE__ */ e.createElement(
325
+ "div",
326
+ {
327
+ className: E(
328
+ v[`${P}__content`],
329
+ v[`${P}__content--${a}`],
330
+ _ && d && v[`${P}__content--with-items`]
331
+ )
332
+ },
333
+ /* @__PURE__ */ e.createElement(oe, { as: "div" }, u)
334
+ ),
335
+ /* @__PURE__ */ e.createElement(
336
+ "div",
337
+ {
338
+ className: E(
339
+ v[`${P}__controls`],
340
+ v[`${P}__controls--${a}`]
341
+ )
342
+ },
343
+ N && /* @__PURE__ */ e.createElement(
344
+ "div",
345
+ {
346
+ "data-testid": `${P}__clear-icon`,
347
+ className: v[`${P}__clear-icon`],
348
+ onClick: C
349
+ },
350
+ /* @__PURE__ */ e.createElement(D, { kind: "primary", size: "small", source: Xe })
351
+ ),
352
+ /* @__PURE__ */ e.createElement(
353
+ D,
354
+ {
355
+ className: v[`${P}__chevron-icon`],
356
+ source: k ? Qe : ze,
357
+ size: "medium",
358
+ disabled: n
359
+ }
360
+ )
361
+ )
362
+ );
363
+ }, T = {
364
+ "picker-trigger-body": "lc-PickerTriggerBody-module__picker-trigger-body___xL0Rq",
365
+ "picker-trigger-body--single": "lc-PickerTriggerBody-module__picker-trigger-body--single___5LWZK",
366
+ "picker-trigger-body__item-container": "lc-PickerTriggerBody-module__picker-trigger-body__item-container___5Qs5E",
367
+ "picker-trigger-body__item": "lc-PickerTriggerBody-module__picker-trigger-body__item___TADgm",
368
+ "picker-trigger-body__item__content": "lc-PickerTriggerBody-module__picker-trigger-body__item__content___R6cqX",
369
+ "picker-trigger-body__item__avatar": "lc-PickerTriggerBody-module__picker-trigger-body__item__avatar___jqFLr",
370
+ "picker-trigger-body__item__icon": "lc-PickerTriggerBody-module__picker-trigger-body__item__icon___Dz9ln",
371
+ "picker-trigger-body__placeholder": "lc-PickerTriggerBody-module__picker-trigger-body__placeholder___1m8Qa",
372
+ "picker-trigger-body__placeholder--disabled": "lc-PickerTriggerBody-module__picker-trigger-body__placeholder--disabled___1QQf8",
373
+ "picker-trigger-body__input": "lc-PickerTriggerBody-module__picker-trigger-body__input___N2WzY",
374
+ "picker-trigger-body__input--compact": "lc-PickerTriggerBody-module__picker-trigger-body__input--compact___uu3rm",
375
+ "picker-trigger-body__input--medium": "lc-PickerTriggerBody-module__picker-trigger-body__input--medium___4GjnK",
376
+ "picker-trigger-body__input--large": "lc-PickerTriggerBody-module__picker-trigger-body__input--large___hWdHe",
377
+ "picker-trigger-body__tag": "lc-PickerTriggerBody-module__picker-trigger-body__tag___UYkhU",
378
+ "picker-trigger-body__tag--compact": "lc-PickerTriggerBody-module__picker-trigger-body__tag--compact___vajtL",
379
+ "picker-trigger-body__tag--medium": "lc-PickerTriggerBody-module__picker-trigger-body__tag--medium___yhMyC",
380
+ "picker-trigger-body__tag--large": "lc-PickerTriggerBody-module__picker-trigger-body__tag--large___FbETT"
381
+ }, $ = "picker-trigger-body", ar = ({
382
+ isOpen: r,
383
+ isSearchDisabled: t,
384
+ isDisabled: c,
385
+ placeholder: a,
386
+ selectedItems: _,
387
+ type: d,
388
+ clearSearchAfterSelection: o,
389
+ size: n = "medium",
390
+ onItemRemove: f,
391
+ onSelect: k,
392
+ onFilter: l,
393
+ searchPhrase: y,
394
+ virtualItemRef: u
395
+ }) => {
396
+ const w = r && !t, N = e.useRef(null);
397
+ e.useEffect(() => {
398
+ o && (l(""), N.current && (N.current.value = "", N.current.focus()));
399
+ }, [_, o]);
400
+ const C = (i) => d === "single" && r && !t ? null : i != null && i.customElement ? /* @__PURE__ */ e.createElement("div", { className: T[`${$}__item`] }, i.customElement.selectedItemBody) : /* @__PURE__ */ e.createElement("div", { className: T[`${$}__item`] }, i.icon && /* @__PURE__ */ e.createElement(
401
+ D,
402
+ {
403
+ source: i.icon,
404
+ className: T[`${$}__item__icon`]
405
+ }
406
+ ), i.avatarSrc && /* @__PURE__ */ e.createElement(
407
+ "img",
408
+ {
409
+ src: i.avatarSrc,
410
+ alt: "",
411
+ className: T[`${$}__item__avatar`]
412
+ }
413
+ ), /* @__PURE__ */ e.createElement("div", { className: T[`${$}__item__content`] }, i.name)), L = (i) => l(i.target.value), g = (i) => {
414
+ var p, h;
415
+ (p = u.current) != null && p.id && i.key === "Enter" && k((h = u.current) == null ? void 0 : h.id), d === "multi" && (i.key === "Backspace" || i.key === "Delete") && !y && _ && (_ == null ? void 0 : _.length) > 0 && f(_[_.length - 1].key);
416
+ }, m = () => /* @__PURE__ */ e.createElement(
417
+ "input",
418
+ {
419
+ ref: N,
420
+ className: E(
421
+ T[`${$}__input`],
422
+ T[`${$}__input--${n}`]
423
+ ),
424
+ placeholder: a,
425
+ onChange: L,
426
+ onKeyDown: g,
427
+ autoFocus: !0,
428
+ value: y
429
+ }
430
+ );
431
+ return !_ || _.length === 0 ? w ? m() : /* @__PURE__ */ e.createElement(
432
+ "div",
433
+ {
434
+ className: E({
435
+ [T[`${$}__placeholder`]]: !0,
436
+ [T[`${$}__placeholder--disabled`]]: c
437
+ })
438
+ },
439
+ a
440
+ ) : /* @__PURE__ */ e.createElement(
441
+ "div",
442
+ {
443
+ className: E(T[$], {
444
+ [T[`${$}--single`]]: d === "single"
445
+ })
446
+ },
447
+ /* @__PURE__ */ e.createElement("div", { className: T[`${$}__item-container`] }, d === "single" ? C(_[0]) : _.map((i) => /* @__PURE__ */ e.createElement(
448
+ Ze,
449
+ {
450
+ key: i.name,
451
+ className: E(
452
+ T[`${$}__tag`],
453
+ T[`${$}__tag--${n}`]
454
+ ),
455
+ dismissible: !c,
456
+ onRemove: (p) => {
457
+ p.stopPropagation(), f(i.key);
458
+ }
459
+ },
460
+ C(i)
461
+ ))),
462
+ w && m()
463
+ );
464
+ }, or = 10, nr = ({
465
+ disabled: r,
466
+ items: t,
467
+ placement: c,
468
+ floatingStrategy: a,
469
+ useDismissHookProps: _,
470
+ useClickHookProps: d,
471
+ isOpen: o,
472
+ onVisibilityChange: n
473
+ }) => {
474
+ const f = Be(), [k, l] = e.useState(!1), [y, u] = e.useState(null), [w, N] = e.useState(400), C = e.useRef([]), L = e.useRef(null), { refs: g, floatingStyles: m, context: i, isPositioned: p } = Fe({
475
+ nodeId: f,
476
+ open: o,
477
+ strategy: a,
478
+ onOpenChange: n,
479
+ whileElementsMounted: Re,
480
+ placement: c,
481
+ middleware: [
482
+ Se(4),
483
+ He({ padding: 10 }),
484
+ De(),
485
+ Me({
486
+ apply({ availableHeight: B, rects: A, elements: W }) {
487
+ er.flushSync(() => {
488
+ N(B);
489
+ }), Object.assign(W.floating.style, {
490
+ width: `${A.reference.width}px`
491
+ });
492
+ },
493
+ padding: or
494
+ })
495
+ ]
496
+ }), h = Ke(i, x({
497
+ enabled: !r,
498
+ keyboardHandlers: !1,
499
+ toggle: !1
500
+ }, d)), S = Oe(i, { role: "listbox" }), H = Ue(i, _), s = Ge(i, {
501
+ enabled: t.length > 0 && !r,
502
+ listRef: C,
503
+ activeIndex: y,
504
+ onNavigate: u,
505
+ virtual: !0,
506
+ virtualItemRef: L,
507
+ disabledIndices: tr(
508
+ t,
509
+ (B) => !!B.disabled || !!B.groupHeader
510
+ )
511
+ }), { getReferenceProps: F, getFloatingProps: G, getItemProps: q } = Ae(
512
+ [h, H, S, s]
513
+ );
514
+ return !o && k && l(!1), {
515
+ getReferenceProps: F,
516
+ getFloatingProps: G,
517
+ getItemProps: q,
518
+ setReference: g.setReference,
519
+ floatingStyles: m,
520
+ isPositioned: p,
521
+ context: i,
522
+ nodeId: f,
523
+ setFloating: g.setFloating,
524
+ activeIndex: y,
525
+ listElementsRef: C,
526
+ virtualItemRef: L,
527
+ maxHeight: w,
528
+ pointer: k,
529
+ setPointer: l
530
+ };
531
+ }, sr = ({
532
+ selected: r,
533
+ options: t,
534
+ type: c,
535
+ selectAllOptionText: a,
536
+ onSelect: _,
537
+ setOpen: d
538
+ }) => {
539
+ const [o, n] = e.useState(
540
+ () => (r == null ? void 0 : r.map(le)) || []
541
+ ), k = r !== void 0 ? (r == null ? void 0 : r.map(le)) || [] : o, [l, y] = e.useState(""), u = e.useMemo(() => {
542
+ const g = c === "multi" && a;
543
+ let m = t;
544
+ return l && (m = m.filter((i) => {
545
+ if (i.groupHeader)
546
+ return !1;
547
+ const p = l.toLowerCase();
548
+ return i.name.toLowerCase().includes(p);
549
+ })), g && m.length > 1 && (m = [
550
+ {
551
+ key: M,
552
+ name: a
553
+ },
554
+ ...m
555
+ ]), m;
556
+ }, [l, t, c, a]), w = (g) => {
557
+ const m = u.find((i) => i.key === g);
558
+ !m || m.disabled || (c === "single" ? (d(!1), n(() => (_([m]), [g]))) : g === M ? k.length === j(u).length ? n(() => (_(null), [])) : n(() => {
559
+ const i = j(u);
560
+ return _(i), i.map(({ key: p }) => p);
561
+ }) : n((i) => {
562
+ const p = i.includes(g) ? i.filter((h) => h !== g) : [...i, g];
563
+ return _(t.filter(({ key: h }) => p.includes(h))), p;
564
+ }));
565
+ };
566
+ return {
567
+ selectedKeys: k,
568
+ items: u,
569
+ searchPhrase: l,
570
+ handleSelect: w,
571
+ handleOnFilter: (g) => y(g),
572
+ handleItemRemove: (g) => w(g),
573
+ handleClear: () => {
574
+ d(!1), n([]), _(null), y("");
575
+ }
576
+ };
577
+ }, gr = {
578
+ "picker-wrapper": "lc-Picker-module__picker-wrapper___2EDne"
579
+ }, wr = (q) => {
580
+ var B = q, {
581
+ id: r,
582
+ className: t,
583
+ listClassName: c,
584
+ disabled: a,
585
+ error: _,
586
+ options: d,
587
+ selected: o,
588
+ size: n = "medium",
589
+ placeholder: f = "Select option",
590
+ isRequired: k,
591
+ noSearchResultText: l = "No results found",
592
+ selectAllOptionText: y,
593
+ type: u = "single",
594
+ searchDisabled: w = !1,
595
+ hideClearButton: N,
596
+ isVisible: C,
597
+ onOpen: L,
598
+ onClose: g,
599
+ openedOnInit: m = !1,
600
+ clearSearchAfterSelection: i,
601
+ onSelect: p,
602
+ placement: h,
603
+ floatingStrategy: S,
604
+ useDismissHookProps: H,
605
+ useClickHookProps: s,
606
+ virtuosoProps: F
607
+ } = B, G = _e(B, [
608
+ "id",
609
+ "className",
610
+ "listClassName",
611
+ "disabled",
612
+ "error",
613
+ "options",
614
+ "selected",
615
+ "size",
616
+ "placeholder",
617
+ "isRequired",
618
+ "noSearchResultText",
619
+ "selectAllOptionText",
620
+ "type",
621
+ "searchDisabled",
622
+ "hideClearButton",
623
+ "isVisible",
624
+ "onOpen",
625
+ "onClose",
626
+ "openedOnInit",
627
+ "clearSearchAfterSelection",
628
+ "onSelect",
629
+ "placement",
630
+ "floatingStrategy",
631
+ "useDismissHookProps",
632
+ "useClickHookProps",
633
+ "virtuosoProps"
634
+ ]);
635
+ const [A, W] = e.useState(m), X = C !== void 0, K = X ? C : A, z = (Z, ee) => {
636
+ Z ? L == null || L(ee) : g == null || g(ee), !X && W(Z);
637
+ }, {
638
+ selectedKeys: Q,
639
+ items: V,
640
+ searchPhrase: ne,
641
+ handleSelect: J,
642
+ handleOnFilter: se,
643
+ handleItemRemove: ge,
644
+ handleClear: me
645
+ } = sr({
646
+ selected: o,
647
+ options: d,
648
+ type: u,
649
+ selectAllOptionText: y,
650
+ onSelect: p,
651
+ setOpen: z
652
+ }), {
653
+ context: de,
654
+ nodeId: ue,
655
+ getReferenceProps: pe,
656
+ setReference: ke,
657
+ getFloatingProps: ye,
658
+ getItemProps: fe,
659
+ isPositioned: he,
660
+ setFloating: be,
661
+ floatingStyles: Pe,
662
+ listElementsRef: Ee,
663
+ virtualItemRef: ve,
664
+ activeIndex: Te,
665
+ maxHeight: $e,
666
+ pointer: we,
667
+ setPointer: Ne
668
+ } = nr({
669
+ openedOnInit: m,
670
+ disabled: a,
671
+ items: V,
672
+ placement: h,
673
+ floatingStrategy: S,
674
+ useClickHookProps: s,
675
+ useDismissHookProps: H,
676
+ isOpen: K,
677
+ onVisibilityChange: z
678
+ });
679
+ return /* @__PURE__ */ e.createElement("div", { id: r, className: E(gr["picker-wrapper"], t) }, /* @__PURE__ */ e.createElement(
680
+ lr,
681
+ {
682
+ getReferenceProps: pe,
683
+ setReference: ke,
684
+ testId: G["data-testid"],
685
+ isItemSelected: Q.length > 0,
686
+ isOpen: K,
687
+ onClear: me,
688
+ hideClearButton: N,
689
+ isDisabled: a,
690
+ isError: _,
691
+ isRequired: k,
692
+ isMultiSelect: u === "multi",
693
+ size: n
694
+ },
695
+ /* @__PURE__ */ e.createElement(
696
+ ar,
697
+ {
698
+ isOpen: K,
699
+ isSearchDisabled: w,
700
+ isDisabled: a,
701
+ placeholder: f,
702
+ selectedItems: o,
703
+ type: u,
704
+ size: n,
705
+ clearSearchAfterSelection: i,
706
+ onItemRemove: ge,
707
+ onSelect: J,
708
+ onFilter: se,
709
+ searchPhrase: ne,
710
+ virtualItemRef: ve
711
+ }
712
+ )
713
+ ), /* @__PURE__ */ e.createElement(We, { id: ue }, K && /* @__PURE__ */ e.createElement(Ye, null, /* @__PURE__ */ e.createElement(
714
+ cr,
715
+ {
716
+ pickerType: u,
717
+ options: V,
718
+ listClassName: c,
719
+ context: de,
720
+ setFloating: be,
721
+ floatingStyles: Pe,
722
+ maxHeight: $e,
723
+ isPositioned: he,
724
+ pointer: we,
725
+ activeIndex: Te,
726
+ selectedKeys: Q,
727
+ listElementsRef: Ee,
728
+ setPointer: Ne,
729
+ onSelect: J,
730
+ getFloatingProps: ye,
731
+ getItemProps: fe,
732
+ emptyStateText: l,
733
+ virtuosoProps: F
734
+ }
735
+ ))));
736
+ };
737
+ export {
738
+ wr as Picker,
739
+ cr as PickerList
740
+ };