@livechat/design-system-react-components 1.0.0-alpha.12 → 1.0.0-alpha.15

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.
package/dist/dsrc.es.js CHANGED
@@ -29,15 +29,20 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
+ var __publicField = (obj, key, value) => {
33
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
34
+ return value;
35
+ };
32
36
  import * as React from "react";
33
37
  import cx from "clsx";
34
- import { Close, Info, Warning, CheckCircleSolid, Block, Check, ChevronUp, ChevronDown, Search, Error as Error2 } from "@livechat/design-system-icons/react/material";
38
+ import { Close, Info as Info$1, Warning, CheckCircleSolid, Block, Check, ChevronUp, ChevronDown, Error as Error2, Search } from "@livechat/design-system-icons/react/material";
35
39
  import debounce from "lodash.debounce";
36
40
  import * as ReactDOM from "react-dom";
37
- import { usePopper } from "react-popper";
41
+ import { useFloating, offset, flip, autoUpdate, arrow } from "@floating-ui/react-dom";
38
42
  import { getContrast } from "polished";
39
43
  import escape from "lodash.escape";
40
44
  import { TransitionGroup, CSSTransition } from "react-transition-group";
45
+ import { css } from "@emotion/css";
41
46
  var index = "";
42
47
  const DesignTokens = {
43
48
  Background: "--background",
@@ -166,7 +171,7 @@ const DesignTokens = {
166
171
  DecorPurple50: "--decor-purple50"
167
172
  };
168
173
  const caps = "lc-Typography-module__caps___c3eNJ";
169
- var styles$t = {
174
+ var styles$x = {
170
175
  "heading-xl": "lc-Typography-module__heading-xl___nhr-6",
171
176
  "heading-lg": "lc-Typography-module__heading-lg___XYF7l",
172
177
  "heading-md": "lc-Typography-module__heading-md___wHOIs",
@@ -202,7 +207,7 @@ const Heading = (_a) => {
202
207
  "children",
203
208
  "className"
204
209
  ]);
205
- return React.createElement(as || SIZE_TO_ELEMENT_MAP[size], __spreadValues({ className: cx(styles$t[`heading-${size}`], className) }, props), children);
210
+ return React.createElement(as || SIZE_TO_ELEMENT_MAP[size], __spreadValues({ className: cx(styles$x[`heading-${size}`], className) }, props), children);
206
211
  };
207
212
  const Text = (_c) => {
208
213
  var _d = _c, {
@@ -227,15 +232,15 @@ const Text = (_c) => {
227
232
  const baseClassPrefix = caps2 ? "caps" : `paragraph-${size}`;
228
233
  return React.createElement(as, __spreadValues({
229
234
  className: cx({
230
- [styles$t[`${baseClassPrefix}`]]: true,
231
- [styles$t[`${baseClassPrefix}--bold`]]: bold,
232
- [styles$t[`${baseClassPrefix}--strike`]]: strike,
233
- [styles$t[`${baseClassPrefix}--underline`]]: underline
235
+ [styles$x[`${baseClassPrefix}`]]: true,
236
+ [styles$x[`${baseClassPrefix}--bold`]]: bold,
237
+ [styles$x[`${baseClassPrefix}--strike`]]: strike,
238
+ [styles$x[`${baseClassPrefix}--underline`]]: underline
234
239
  }, className)
235
240
  }, props), children);
236
241
  };
237
242
  const icon$1 = "lc-Icon-module__icon___tw31R";
238
- var styles$s = {
243
+ var styles$w = {
239
244
  icon: icon$1,
240
245
  "icon--primary": "lc-Icon-module__icon--primary___JJnBV",
241
246
  "icon--subtle": "lc-Icon-module__icon--subtle___sZIzL",
@@ -276,7 +281,7 @@ const IconSizeMap = {
276
281
  height: 32
277
282
  }
278
283
  };
279
- const baseClass$v = "icon";
284
+ const baseClass$D = "icon";
280
285
  const Icon = (props) => {
281
286
  const _a = props, {
282
287
  source,
@@ -296,7 +301,7 @@ const Icon = (props) => {
296
301
  const GeneratedIcon = React.createElement(source, __spreadProps(__spreadValues({}, IconSizeMap[size]), {
297
302
  color: customColor
298
303
  }));
299
- const mergedClassNames = cx(className, styles$s[baseClass$v], kind && styles$s[`${baseClass$v}--${disabled ? "disabled--" : ""}${kind}`]);
304
+ const mergedClassNames = cx(className, styles$w[baseClass$D], kind && styles$w[`${baseClass$D}--${disabled ? "disabled--" : ""}${kind}`]);
300
305
  return /* @__PURE__ */ React.createElement("span", __spreadProps(__spreadValues({}, restProps), {
301
306
  className: mergedClassNames
302
307
  }), GeneratedIcon);
@@ -304,7 +309,7 @@ const Icon = (props) => {
304
309
  const alert = "lc-Alert-module__alert___HBTns";
305
310
  const alert__content = "lc-Alert-module__alert__content___9nZdf";
306
311
  const alert__icon = "lc-Alert-module__alert__icon___8TaAH";
307
- var styles$r = {
312
+ var styles$v = {
308
313
  alert,
309
314
  alert__content,
310
315
  "alert__content-text": "lc-Alert-module__alert__content-text___x2Un5",
@@ -320,7 +325,7 @@ var styles$r = {
320
325
  };
321
326
  const IconConfig$1 = {
322
327
  info: {
323
- source: Info,
328
+ source: Info$1,
324
329
  kind: "link"
325
330
  },
326
331
  warning: {
@@ -336,7 +341,7 @@ const IconConfig$1 = {
336
341
  kind: "error"
337
342
  }
338
343
  };
339
- const baseClass$u = "alert";
344
+ const baseClass$C = "alert";
340
345
  const Alert = ({
341
346
  children,
342
347
  className,
@@ -345,7 +350,7 @@ const Alert = ({
345
350
  }) => {
346
351
  const containerRef = React.useRef(null);
347
352
  const [isSmallContainer, setIsSmallContainer] = React.useState(false);
348
- const mergedClassNames = cx(styles$r[baseClass$u], styles$r[`${baseClass$u}--${kind}`], isSmallContainer && styles$r[`${baseClass$u}--small`], className);
353
+ const mergedClassNames = cx(styles$v[baseClass$C], styles$v[`${baseClass$C}--${kind}`], isSmallContainer && styles$v[`${baseClass$C}--small`], className);
349
354
  React.useEffect(() => {
350
355
  const handleResize = debounce(() => {
351
356
  if (containerRef.current && containerRef.current.offsetWidth <= 400) {
@@ -360,15 +365,15 @@ const Alert = ({
360
365
  ref: containerRef,
361
366
  className: mergedClassNames
362
367
  }, /* @__PURE__ */ React.createElement("div", {
363
- className: styles$r[`${baseClass$u}__content`]
368
+ className: styles$v[`${baseClass$C}__content`]
364
369
  }, /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig$1[kind]), {
365
- className: styles$r[`${baseClass$u}__content-icon`]
370
+ className: styles$v[`${baseClass$C}__content-icon`]
366
371
  })), /* @__PURE__ */ React.createElement(Text, {
367
372
  as: "div",
368
- className: cx(styles$r[`${baseClass$u}__content-text`], onClose && styles$r[`${baseClass$u}__content-text--margin`])
373
+ className: cx(styles$v[`${baseClass$C}__content-text`], onClose && styles$v[`${baseClass$C}__content-text--margin`])
369
374
  }, children)), onClose && /* @__PURE__ */ React.createElement("button", {
370
375
  type: "button",
371
- className: styles$r[`${baseClass$u}__close-icon`],
376
+ className: styles$v[`${baseClass$C}__close-icon`],
372
377
  onClick: onClose
373
378
  }, /* @__PURE__ */ React.createElement(Icon, {
374
379
  source: Close,
@@ -377,7 +382,7 @@ const Alert = ({
377
382
  })));
378
383
  };
379
384
  const badge = "lc-Badge-module__badge___GhLnu";
380
- var styles$q = {
385
+ var styles$u = {
381
386
  badge,
382
387
  "badge--secondary": "lc-Badge-module__badge--secondary___JjNIJ"
383
388
  };
@@ -387,8 +392,8 @@ const Badge = ({
387
392
  secondary = false
388
393
  }) => {
389
394
  return /* @__PURE__ */ React.createElement("span", {
390
- className: cx(styles$q.badge, className, {
391
- [styles$q["badge--secondary"]]: secondary
395
+ className: cx(styles$u.badge, className, {
396
+ [styles$u["badge--secondary"]]: secondary
392
397
  })
393
398
  }, children);
394
399
  };
@@ -396,7 +401,7 @@ const loader = "lc-Loader-module__loader___LRflD";
396
401
  const loader__spinner = "lc-Loader-module__loader__spinner___l3C1g";
397
402
  const rotate = "lc-Loader-module__rotate___Tlni-";
398
403
  const loader__label = "lc-Loader-module__loader__label___R74f6";
399
- var styles$p = {
404
+ var styles$t = {
400
405
  loader,
401
406
  loader__spinner,
402
407
  "loader__spinner--small": "lc-Loader-module__loader__spinner--small___dGFFt",
@@ -406,8 +411,8 @@ var styles$p = {
406
411
  rotate,
407
412
  loader__label
408
413
  };
409
- const baseClass$t = "loader";
410
- const spinnerClass = `${baseClass$t}__spinner`;
414
+ const baseClass$B = "loader";
415
+ const spinnerClass = `${baseClass$B}__spinner`;
411
416
  const Loader = ({
412
417
  primaryColor,
413
418
  secondaryColor,
@@ -416,11 +421,11 @@ const Loader = ({
416
421
  size = "medium"
417
422
  }) => {
418
423
  return /* @__PURE__ */ React.createElement("div", {
419
- className: cx(styles$p[baseClass$t], className)
424
+ className: cx(styles$t[baseClass$B], className)
420
425
  }, /* @__PURE__ */ React.createElement("div", {
421
- className: cx(styles$p[spinnerClass], styles$p[`${spinnerClass}--${size}`])
426
+ className: cx(styles$t[spinnerClass], styles$t[`${spinnerClass}--${size}`])
422
427
  }, /* @__PURE__ */ React.createElement("div", {
423
- className: styles$p["loader__spinner-circle"],
428
+ className: styles$t["loader__spinner-circle"],
424
429
  style: {
425
430
  borderColor: secondaryColor,
426
431
  borderTopColor: primaryColor
@@ -428,14 +433,14 @@ const Loader = ({
428
433
  })), label && /* @__PURE__ */ React.createElement(Text, {
429
434
  as: "div",
430
435
  size: "md",
431
- className: styles$p["loader__label"]
436
+ className: styles$t["loader__label"]
432
437
  }, label));
433
438
  };
434
439
  const btn$1 = "lc-Button-module__btn___aijZJ";
435
440
  const btn__loader = "lc-Button-module__btn__loader___c8zZz";
436
441
  const btn__content = "lc-Button-module__btn__content___wefl2";
437
442
  const btn__icon = "lc-Button-module__btn__icon___GVExB";
438
- var styles$o = {
443
+ var styles$s = {
439
444
  btn: btn$1,
440
445
  "btn--disabled": "lc-Button-module__btn--disabled___lXBav",
441
446
  "btn--icon-only": "lc-Button-module__btn--icon-only___bF5pW",
@@ -456,7 +461,7 @@ var styles$o = {
456
461
  btn__content,
457
462
  btn__icon
458
463
  };
459
- const baseClass$s = "btn";
464
+ const baseClass$A = "btn";
460
465
  const Button = (_e) => {
461
466
  var _f = _e, {
462
467
  loading = false,
@@ -487,11 +492,11 @@ const Button = (_e) => {
487
492
  ]);
488
493
  const isDisabled = loading || disabled;
489
494
  const Component = href ? "a" : "button";
490
- const mergedClassNames = cx(className, styles$o[baseClass$s], styles$o[`${baseClass$s}--${kind}`], styles$o[`${baseClass$s}--${size}`], {
491
- [styles$o[`${baseClass$s}--loading`]]: loading,
492
- [styles$o[`${baseClass$s}--full-width`]]: fullWidth,
493
- [styles$o[`${baseClass$s}--icon-only`]]: !children && icon2,
494
- [styles$o[`${baseClass$s}--disabled`]]: isDisabled
495
+ const mergedClassNames = cx(className, styles$s[baseClass$A], styles$s[`${baseClass$A}--${kind}`], styles$s[`${baseClass$A}--${size}`], {
496
+ [styles$s[`${baseClass$A}--loading`]]: loading,
497
+ [styles$s[`${baseClass$A}--full-width`]]: fullWidth,
498
+ [styles$s[`${baseClass$A}--icon-only`]]: !children && icon2,
499
+ [styles$s[`${baseClass$A}--disabled`]]: isDisabled
495
500
  });
496
501
  return /* @__PURE__ */ React.createElement(Component, __spreadValues({
497
502
  className: mergedClassNames,
@@ -501,16 +506,16 @@ const Button = (_e) => {
501
506
  }, props), loading && /* @__PURE__ */ React.createElement(Loader, {
502
507
  size: "small",
503
508
  label: loaderLabel,
504
- className: styles$o[`${baseClass$s}__loader`]
509
+ className: styles$s[`${baseClass$A}__loader`]
505
510
  }), icon2 && React.cloneElement(icon2, {
506
- className: cx(styles$o[`${baseClass$s}__icon`], styles$o[`${baseClass$s}__icon--${iconPosition}`]),
511
+ className: cx(styles$s[`${baseClass$A}__icon`], styles$s[`${baseClass$A}__icon--${iconPosition}`]),
507
512
  disabled
508
513
  }), /* @__PURE__ */ React.createElement("div", {
509
- className: styles$o[`${baseClass$s}__content`]
514
+ className: styles$s[`${baseClass$A}__content`]
510
515
  }, children));
511
516
  };
512
517
  const btn = "lc-ButtonGroup-module__btn___bXPrU";
513
- var styles$n = {
518
+ var styles$r = {
514
519
  "btn-group": "lc-ButtonGroup-module__btn-group___R-lZQ",
515
520
  btn,
516
521
  "btn--active": "lc-ButtonGroup-module__btn--active___VAc37",
@@ -520,7 +525,7 @@ var styles$n = {
520
525
  };
521
526
  function noop() {
522
527
  }
523
- const baseClass$r = "btn-group";
528
+ const baseClass$z = "btn-group";
524
529
  const ButtonGroup = (_g) => {
525
530
  var _h = _g, {
526
531
  size = "medium",
@@ -539,7 +544,7 @@ const ButtonGroup = (_g) => {
539
544
  "currentIndex",
540
545
  "initialIndex"
541
546
  ]);
542
- const mergedClassName = cx(styles$n[baseClass$r], className);
547
+ const mergedClassName = cx(styles$r[baseClass$z], className);
543
548
  const [currentStateIndex, setCurrentStateIndex] = React.useState(initialIndex);
544
549
  const isControlled = typeof currentIndex === "number";
545
550
  const _currentIndex = isControlled ? currentIndex : currentStateIndex;
@@ -563,14 +568,14 @@ const ButtonGroup = (_g) => {
563
568
  child.props.onClick(event);
564
569
  }
565
570
  },
566
- className: cx(styles$n["btn"], styles$n[`btn--${size}`], i === _currentIndex && styles$n["btn--active"])
571
+ className: cx(styles$r["btn"], styles$r[`btn--${size}`], i === _currentIndex && styles$r["btn--active"])
567
572
  })));
568
573
  };
569
574
  const card = "lc-Card-module__card___GqMm2";
570
575
  const card__title = "lc-Card-module__card__title___1YjAR";
571
576
  const card__text = "lc-Card-module__card__text___-jYlF";
572
577
  const card__img = "lc-Card-module__card__img___teLC8";
573
- var styles$m = {
578
+ var styles$q = {
574
579
  card,
575
580
  card__title,
576
581
  card__text,
@@ -591,16 +596,16 @@ const Card = (_i) => {
591
596
  return /* @__PURE__ */ React.createElement(Text, __spreadValues({
592
597
  as: "div",
593
598
  size: "md",
594
- className: cx(styles$m["card"], className)
599
+ className: cx(styles$q["card"], className)
595
600
  }, restProps), (img || title) && /* @__PURE__ */ React.createElement(Heading, {
596
601
  as: "div",
597
602
  size: "sm",
598
- className: styles$m["card__title"]
603
+ className: styles$q["card__title"]
599
604
  }, img && /* @__PURE__ */ React.createElement("img", {
600
605
  src: img,
601
- className: styles$m["card__img"]
606
+ className: styles$q["card__img"]
602
607
  }), title && /* @__PURE__ */ React.createElement("div", {
603
- className: styles$m["card__text"]
608
+ className: styles$q["card__text"]
604
609
  }, title)), children);
605
610
  };
606
611
  const checkbox = "lc-Checkbox-module__checkbox___G7nTf";
@@ -610,7 +615,7 @@ const checkbox__checkmark = "lc-Checkbox-module__checkbox__checkmark___16pfY";
610
615
  const checkbox__input = "lc-Checkbox-module__checkbox__input___YLbVF";
611
616
  const checkbox__text = "lc-Checkbox-module__checkbox__text___P2SIq";
612
617
  const checkbox__helper = "lc-Checkbox-module__checkbox__helper___YSJ-n";
613
- var styles$l = {
618
+ var styles$p = {
614
619
  checkbox,
615
620
  checkbox__label,
616
621
  checkbox__square,
@@ -621,16 +626,16 @@ var styles$l = {
621
626
  "checkbox--disabled": "lc-Checkbox-module__checkbox--disabled___-lAqW",
622
627
  checkbox__helper
623
628
  };
624
- const baseClass$q = "checkbox";
629
+ const baseClass$y = "checkbox";
625
630
  const Checkbox = (_k) => {
626
631
  var _l = _k, {
627
632
  className = ""
628
633
  } = _l, props = __objRest(_l, [
629
634
  "className"
630
635
  ]);
631
- const mergedClassNames = cx(styles$l[`${baseClass$q}__square`], className);
636
+ const mergedClassNames = cx(styles$p[`${baseClass$y}__square`], className);
632
637
  return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("input", __spreadProps(__spreadValues({}, props), {
633
- className: styles$l[`${baseClass$q}__input`],
638
+ className: styles$p[`${baseClass$y}__input`],
634
639
  type: "checkbox"
635
640
  })), /* @__PURE__ */ React.createElement("div", {
636
641
  className: mergedClassNames
@@ -638,13 +643,13 @@ const Checkbox = (_k) => {
638
643
  source: Check,
639
644
  kind: "inverted",
640
645
  size: "xsmall",
641
- className: styles$l[`${baseClass$q}__checkmark`]
646
+ className: styles$p[`${baseClass$y}__checkmark`]
642
647
  })));
643
648
  };
644
- var styles$k = {
649
+ var styles$o = {
645
650
  "field-description": "lc-FieldDescription-module__field-description___IcRDH"
646
651
  };
647
- const baseClass$p = "field-description";
652
+ const baseClass$x = "field-description";
648
653
  const FieldDescription = (_m) => {
649
654
  var _n = _m, {
650
655
  children,
@@ -653,7 +658,7 @@ const FieldDescription = (_m) => {
653
658
  "children",
654
659
  "className"
655
660
  ]);
656
- const mergedClassNames = cx(styles$k[baseClass$p], className);
661
+ const mergedClassNames = cx(styles$o[baseClass$x], className);
657
662
  return /* @__PURE__ */ React.createElement(Text, __spreadProps(__spreadValues({
658
663
  as: "span",
659
664
  size: "sm"
@@ -661,7 +666,7 @@ const FieldDescription = (_m) => {
661
666
  className: mergedClassNames
662
667
  }), children);
663
668
  };
664
- const baseClass$o = "checkbox";
669
+ const baseClass$w = "checkbox";
665
670
  const CheckboxField = (_o) => {
666
671
  var _p = _o, {
667
672
  children,
@@ -676,29 +681,29 @@ const CheckboxField = (_o) => {
676
681
  "checked",
677
682
  "disabled"
678
683
  ]);
679
- const mergedClassNames = cx(styles$l[baseClass$o], className, {
680
- [styles$l[`${baseClass$o}--selected`]]: checked,
681
- [styles$l[`${baseClass$o}--disabled`]]: disabled
684
+ const mergedClassNames = cx(styles$p[baseClass$w], className, {
685
+ [styles$p[`${baseClass$w}--selected`]]: checked,
686
+ [styles$p[`${baseClass$w}--disabled`]]: disabled
682
687
  });
683
688
  return /* @__PURE__ */ React.createElement("div", {
684
689
  className: mergedClassNames
685
690
  }, /* @__PURE__ */ React.createElement("label", {
686
- className: styles$l[`${baseClass$o}__label`]
691
+ className: styles$p[`${baseClass$w}__label`]
687
692
  }, /* @__PURE__ */ React.createElement(Checkbox, __spreadProps(__spreadValues({}, props), {
688
693
  checked,
689
694
  disabled
690
695
  })), /* @__PURE__ */ React.createElement(Text, {
691
696
  as: "div",
692
697
  size: "md",
693
- className: styles$l[`${baseClass$o}__text`]
698
+ className: styles$p[`${baseClass$w}__text`]
694
699
  }, children)), description && /* @__PURE__ */ React.createElement(FieldDescription, {
695
- className: styles$l[`${baseClass$o}__helper`]
700
+ className: styles$p[`${baseClass$w}__helper`]
696
701
  }, description));
697
702
  };
698
- var styles$j = {
703
+ var styles$n = {
699
704
  "field-error": "lc-FieldError-module__field-error___IDkPT"
700
705
  };
701
- const baseClass$n = "field-error";
706
+ const baseClass$v = "field-error";
702
707
  const FieldError = (_q) => {
703
708
  var _r = _q, {
704
709
  children,
@@ -707,7 +712,7 @@ const FieldError = (_q) => {
707
712
  "children",
708
713
  "className"
709
714
  ]);
710
- const mergedClassNames = cx(styles$j[baseClass$n], className);
715
+ const mergedClassNames = cx(styles$n[baseClass$v], className);
711
716
  return /* @__PURE__ */ React.createElement(Text, __spreadProps(__spreadValues({
712
717
  as: "span",
713
718
  size: "sm"
@@ -715,12 +720,12 @@ const FieldError = (_q) => {
715
720
  className: mergedClassNames
716
721
  }), children);
717
722
  };
718
- var styles$i = {
723
+ var styles$m = {
719
724
  "field-group": "lc-FieldGroup-module__field-group___gy8lp",
720
725
  "field-group--inline": "lc-FieldGroup-module__field-group--inline___or4qf",
721
726
  "field-group--stretched": "lc-FieldGroup-module__field-group--stretched___6rkuO"
722
727
  };
723
- const baseClass$m = "field-group";
728
+ const baseClass$u = "field-group";
724
729
  const FieldGroup = (_s) => {
725
730
  var _t = _s, {
726
731
  className = "",
@@ -737,9 +742,9 @@ const FieldGroup = (_s) => {
737
742
  "inline",
738
743
  "stretch"
739
744
  ]);
740
- const mergedClassNames = cx(styles$i[baseClass$m], className, {
741
- [styles$i[`${baseClass$m}--inline`]]: inline,
742
- [styles$i[`${baseClass$m}--stretched`]]: stretch
745
+ const mergedClassNames = cx(styles$m[baseClass$u], className, {
746
+ [styles$m[`${baseClass$u}--inline`]]: inline,
747
+ [styles$m[`${baseClass$u}--stretched`]]: stretch
743
748
  });
744
749
  return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({}, props), {
745
750
  className: mergedClassNames
@@ -750,14 +755,14 @@ const form__header = "lc-Form-module__form__header___U4B7t";
750
755
  const form__footer = "lc-Form-module__form__footer___1-sUX";
751
756
  const form__label = "lc-Form-module__form__label___spg-J";
752
757
  const form__helper = "lc-Form-module__form__helper___bhfwS";
753
- var styles$h = {
758
+ var styles$l = {
754
759
  form,
755
760
  form__header,
756
761
  form__footer,
757
762
  form__label,
758
763
  form__helper
759
764
  };
760
- const baseClass$l = "form";
765
+ const baseClass$t = "form";
761
766
  const Form = (_u) => {
762
767
  var _v = _u, {
763
768
  className,
@@ -773,27 +778,27 @@ const Form = (_u) => {
773
778
  "formFooter"
774
779
  ]);
775
780
  return /* @__PURE__ */ React.createElement("form", __spreadValues({
776
- className: cx(styles$h[baseClass$l], className)
781
+ className: cx(styles$l[baseClass$t], className)
777
782
  }, restProps), (labelText || helperText) && /* @__PURE__ */ React.createElement("div", {
778
- className: styles$h[`${baseClass$l}__header`]
783
+ className: styles$l[`${baseClass$t}__header`]
779
784
  }, labelText && /* @__PURE__ */ React.createElement(Heading, {
780
785
  size: "sm",
781
- className: styles$h[`${baseClass$l}__label`]
786
+ className: styles$l[`${baseClass$t}__label`]
782
787
  }, labelText), helperText && /* @__PURE__ */ React.createElement(Text, {
783
788
  as: "p",
784
789
  size: "sm",
785
- className: styles$h[`${baseClass$l}__helper`]
790
+ className: styles$l[`${baseClass$t}__helper`]
786
791
  }, helperText)), children, formFooter && /* @__PURE__ */ React.createElement("div", {
787
- className: styles$h[`${baseClass$l}__footer`]
792
+ className: styles$l[`${baseClass$t}__footer`]
788
793
  }, formFooter));
789
794
  };
790
- var styles$g = {
795
+ var styles$k = {
791
796
  "form-group": "lc-FormGroup-module__form-group___e2JHa",
792
797
  "form-group__header": "lc-FormGroup-module__form-group__header___DgGmR",
793
798
  "form-group__label": "lc-FormGroup-module__form-group__label___NC-JW",
794
799
  "form-group__helper": "lc-FormGroup-module__form-group__helper___SRuxe"
795
800
  };
796
- const baseClass$k = "form-group";
801
+ const baseClass$s = "form-group";
797
802
  const FormGroup = (_w) => {
798
803
  var _x = _w, {
799
804
  className = "",
@@ -806,24 +811,24 @@ const FormGroup = (_w) => {
806
811
  "labelText",
807
812
  "helperText"
808
813
  ]);
809
- const mergedClassNames = cx(styles$g[baseClass$k], className);
814
+ const mergedClassNames = cx(styles$k[baseClass$s], className);
810
815
  return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, props), {
811
816
  role: "group"
812
817
  }), labelText && { "aria-label": labelText }), {
813
818
  className: mergedClassNames
814
819
  }), /* @__PURE__ */ React.createElement("div", {
815
- className: styles$g[`${baseClass$k}__header`]
820
+ className: styles$k[`${baseClass$s}__header`]
816
821
  }, /* @__PURE__ */ React.createElement(Heading, {
817
822
  as: "div",
818
823
  size: "sm",
819
- className: styles$g[`${baseClass$k}__label`]
824
+ className: styles$k[`${baseClass$s}__label`]
820
825
  }, labelText), helperText && /* @__PURE__ */ React.createElement(Text, {
821
826
  as: "div",
822
827
  size: "sm",
823
- className: styles$g[`${baseClass$k}__helper`]
828
+ className: styles$k[`${baseClass$s}__helper`]
824
829
  }, helperText)), children);
825
830
  };
826
- var styles$f = {
831
+ var styles$j = {
827
832
  "text-field": "lc-TextField-module__text-field___bis8c",
828
833
  "text-field--inline": "lc-TextField-module__text-field--inline___MPHqg",
829
834
  "text-field__wrapper--inline": "lc-TextField-module__text-field__wrapper--inline___-gOob",
@@ -838,7 +843,7 @@ var styles$f = {
838
843
  "text-field__content": "lc-TextField-module__text-field__content___dCkUW",
839
844
  "field-label": "lc-TextField-module__field-label___q8Y-p"
840
845
  };
841
- const baseClass$j = "text-field";
846
+ const baseClass$r = "text-field";
842
847
  const TextField = ({
843
848
  inline,
844
849
  error,
@@ -850,21 +855,21 @@ const TextField = ({
850
855
  children,
851
856
  labelRightNode
852
857
  }) => {
853
- const mergedClassNames = cx(styles$f[baseClass$j], {
854
- [styles$f[`${baseClass$j}--inline`]]: inline
858
+ const mergedClassNames = cx(styles$j[baseClass$r], {
859
+ [styles$j[`${baseClass$r}--inline`]]: inline
855
860
  }, className);
856
861
  return /* @__PURE__ */ React.createElement("div", {
857
862
  className: mergedClassNames
858
863
  }, labelRightNode && inline && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
859
- className: cx(styles$f[`${baseClass$j}__label-right-node`], styles$f[`${baseClass$j}__label-right-node--inline`])
864
+ className: cx(styles$j[`${baseClass$r}__label-right-node`], styles$j[`${baseClass$r}__label-right-node--inline`])
860
865
  }, labelRightNode), /* @__PURE__ */ React.createElement("div", {
861
- className: styles$f[`${baseClass$j}__row-break`]
866
+ className: styles$j[`${baseClass$r}__row-break`]
862
867
  })), /* @__PURE__ */ React.createElement("div", {
863
- className: cx(styles$f[`${baseClass$j}__wrapper`], inline && styles$f[`${baseClass$j}__wrapper--inline`])
868
+ className: cx(styles$j[`${baseClass$r}__wrapper`], inline && styles$j[`${baseClass$r}__wrapper--inline`])
864
869
  }, (labelText || labelRightNode) && /* @__PURE__ */ React.createElement("div", {
865
- className: cx(styles$f[`${baseClass$j}__label`], inline && styles$f[`${baseClass$j}__label--inline`], !labelText && styles$f[`${baseClass$j}__label--no-text`])
870
+ className: cx(styles$j[`${baseClass$r}__label`], inline && styles$j[`${baseClass$r}__label--inline`], !labelText && styles$j[`${baseClass$r}__label--no-text`])
866
871
  }, labelText && /* @__PURE__ */ React.createElement("div", {
867
- className: cx(styles$f[`${baseClass$j}__label-wrapper`])
872
+ className: cx(styles$j[`${baseClass$r}__label-wrapper`])
868
873
  }, /* @__PURE__ */ React.createElement("label", {
869
874
  className: "lc-field-label",
870
875
  htmlFor: labelFor
@@ -872,18 +877,18 @@ const TextField = ({
872
877
  as: "span",
873
878
  size: "sm"
874
879
  }, labelText)), labelAdornment && /* @__PURE__ */ React.createElement("div", {
875
- className: cx(styles$f[`${baseClass$j}__label-adornment`])
880
+ className: cx(styles$j[`${baseClass$r}__label-adornment`])
876
881
  }, labelAdornment)), labelRightNode && !inline && /* @__PURE__ */ React.createElement("div", {
877
- className: cx(styles$f[`${baseClass$j}__label-right-node`])
882
+ className: cx(styles$j[`${baseClass$r}__label-right-node`])
878
883
  }, labelRightNode)), /* @__PURE__ */ React.createElement("div", {
879
- className: cx(styles$f[`${baseClass$j}__content`])
884
+ className: cx(styles$j[`${baseClass$r}__content`])
880
885
  }, children, error && /* @__PURE__ */ React.createElement(FieldError, null, error), description && /* @__PURE__ */ React.createElement(FieldDescription, null, description))));
881
886
  };
882
- var styles$e = {
887
+ var styles$i = {
883
888
  "input-field": "lc-InputField-module__input-field___A-GHj",
884
889
  "input-field--error": "lc-InputField-module__input-field--error___MMchC"
885
890
  };
886
- const baseClass$i = "input-field";
891
+ const baseClass$q = "input-field";
887
892
  const InputField = React.forwardRef((_y, ref) => {
888
893
  var _z = _y, {
889
894
  id,
@@ -910,8 +915,8 @@ const InputField = React.forwardRef((_y, ref) => {
910
915
  "style",
911
916
  "type"
912
917
  ]);
913
- const mergedClassNames = cx(styles$e[baseClass$i], {
914
- [styles$e[`${baseClass$i}--error`]]: error
918
+ const mergedClassNames = cx(styles$i[baseClass$q], {
919
+ [styles$i[`${baseClass$q}--error`]]: error
915
920
  }, fieldClassName);
916
921
  return /* @__PURE__ */ React.createElement(TextField, {
917
922
  inline,
@@ -931,11 +936,11 @@ const InputField = React.forwardRef((_y, ref) => {
931
936
  })));
932
937
  });
933
938
  const link = "lc-Link-module__link___kqx52";
934
- var styles$d = {
939
+ var styles$h = {
935
940
  link,
936
941
  "link--bold": "lc-Link-module__link--bold___1rGdO"
937
942
  };
938
- const baseClass$h = "link";
943
+ const baseClass$p = "link";
939
944
  const Link = (_A) => {
940
945
  var _B = _A, {
941
946
  bold = false,
@@ -945,14 +950,14 @@ const Link = (_A) => {
945
950
  "className"
946
951
  ]);
947
952
  return /* @__PURE__ */ React.createElement("a", __spreadValues({
948
- className: cx(styles$d[baseClass$h], bold && styles$d[`${baseClass$h}--bold`], className)
953
+ className: cx(styles$h[baseClass$p], bold && styles$h[`${baseClass$p}--bold`], className)
949
954
  }, rest));
950
955
  };
951
956
  const modal__header = "lc-Modal-module__modal__header___Fp5VE";
952
957
  const modal__heading = "lc-Modal-module__modal__heading___G9KVK";
953
958
  const modal__body = "lc-Modal-module__modal__body___M-jmN";
954
959
  const modal__footer = "lc-Modal-module__modal__footer___2LYdc";
955
- var styles$c = {
960
+ var styles$g = {
956
961
  "modal-base": "lc-Modal-module__modal-base___hbL1U",
957
962
  "modal-base__overlay": "lc-Modal-module__modal-base__overlay___kCQ8t",
958
963
  "modal-base__overlay--visible": "lc-Modal-module__modal-base__overlay--visible___zUNJL",
@@ -971,7 +976,7 @@ const ModalCloseButton = ({
971
976
  onClick
972
977
  }) => /* @__PURE__ */ React.createElement("button", {
973
978
  title: "Close modal",
974
- className: styles$c["modal-base__close"],
979
+ className: styles$g["modal-base__close"],
975
980
  onClick,
976
981
  type: "button"
977
982
  }, /* @__PURE__ */ React.createElement(Icon, {
@@ -990,7 +995,7 @@ const KeyCodes = {
990
995
  arrowUp: "ArrowUp",
991
996
  arrowDown: "ArrowDown"
992
997
  };
993
- const baseClass$g = "modal-base";
998
+ const baseClass$o = "modal-base";
994
999
  const ModalBase = (_C) => {
995
1000
  var _D = _C, {
996
1001
  children,
@@ -1003,7 +1008,7 @@ const ModalBase = (_C) => {
1003
1008
  "onClose",
1004
1009
  "closeOnEscPress"
1005
1010
  ]);
1006
- const mergedClassNames = cx(styles$c[baseClass$g], className);
1011
+ const mergedClassNames = cx(styles$g[baseClass$o], className);
1007
1012
  React.useEffect(() => {
1008
1013
  if (!closeOnEscPress) {
1009
1014
  return;
@@ -1029,14 +1034,14 @@ const ModalBase = (_C) => {
1029
1034
  return /* @__PURE__ */ React.createElement("div", {
1030
1035
  "data-testid": "lc-modal-overlay",
1031
1036
  onMouseDown: onOverlayClick,
1032
- className: cx(styles$c[`${baseClass$g}__overlay`], styles$c[`${baseClass$g}__overlay--visible`])
1037
+ className: cx(styles$g[`${baseClass$o}__overlay`], styles$g[`${baseClass$o}__overlay--visible`])
1033
1038
  }, /* @__PURE__ */ React.createElement("div", __spreadValues({
1034
1039
  className: mergedClassNames
1035
1040
  }, props), /* @__PURE__ */ React.createElement(ModalCloseButton, {
1036
1041
  onClick: onCloseButtonClick
1037
1042
  }), children));
1038
1043
  };
1039
- const baseClass$f = "action-modal";
1044
+ const baseClass$n = "action-modal";
1040
1045
  const ActionModal = (_E) => {
1041
1046
  var _F = _E, {
1042
1047
  children,
@@ -1051,20 +1056,20 @@ const ActionModal = (_E) => {
1051
1056
  "heading",
1052
1057
  "actions"
1053
1058
  ]);
1054
- const mergedClassNames = cx(styles$c[baseClass$f], className);
1059
+ const mergedClassNames = cx(styles$g[baseClass$n], className);
1055
1060
  return /* @__PURE__ */ React.createElement(ModalBase, __spreadValues({
1056
1061
  className: mergedClassNames
1057
1062
  }, props), icon2 && /* @__PURE__ */ React.createElement("div", {
1058
- className: styles$c[`${baseClass$f}__icon`]
1063
+ className: styles$g[`${baseClass$n}__icon`]
1059
1064
  }, icon2), heading && /* @__PURE__ */ React.createElement("div", {
1060
- className: styles$c[`${baseClass$f}__heading`]
1065
+ className: styles$g[`${baseClass$n}__heading`]
1061
1066
  }, heading), /* @__PURE__ */ React.createElement("div", {
1062
- className: styles$c[`${baseClass$f}__content`]
1067
+ className: styles$g[`${baseClass$n}__content`]
1063
1068
  }, children), actions && /* @__PURE__ */ React.createElement("div", {
1064
- className: styles$c[`${baseClass$f}__actions`]
1069
+ className: styles$g[`${baseClass$n}__actions`]
1065
1070
  }, actions));
1066
1071
  };
1067
- const baseClass$e = "modal";
1072
+ const baseClass$m = "modal";
1068
1073
  const Modal = (_G) => {
1069
1074
  var _H = _G, {
1070
1075
  children,
@@ -1077,19 +1082,19 @@ const Modal = (_G) => {
1077
1082
  "heading",
1078
1083
  "footer"
1079
1084
  ]);
1080
- const mergedClassNames = cx(styles$c[baseClass$e], className);
1085
+ const mergedClassNames = cx(styles$g[baseClass$m], className);
1081
1086
  return /* @__PURE__ */ React.createElement(ModalBase, __spreadValues({
1082
1087
  className: mergedClassNames
1083
1088
  }, props), heading && /* @__PURE__ */ React.createElement("div", {
1084
- className: styles$c[`${baseClass$e}__header`]
1089
+ className: styles$g[`${baseClass$m}__header`]
1085
1090
  }, /* @__PURE__ */ React.createElement(Heading, {
1086
1091
  size: "sm",
1087
1092
  as: "div",
1088
- className: styles$c[`${baseClass$e}__heading`]
1093
+ className: styles$g[`${baseClass$m}__heading`]
1089
1094
  }, heading)), /* @__PURE__ */ React.createElement("div", {
1090
- className: styles$c[`${baseClass$e}__body`]
1095
+ className: styles$g[`${baseClass$m}__body`]
1091
1096
  }, children), footer && /* @__PURE__ */ React.createElement("div", {
1092
- className: styles$c[`${baseClass$e}__footer`]
1097
+ className: styles$g[`${baseClass$m}__footer`]
1093
1098
  }, footer));
1094
1099
  };
1095
1100
  const ModalPortal = ({
@@ -1115,7 +1120,7 @@ const ModalPortal = ({
1115
1120
  }, [parentElementName]);
1116
1121
  return /* @__PURE__ */ React.createElement(React.Fragment, null, ReactDOM.createPortal(children, container));
1117
1122
  };
1118
- var styles$b = {
1123
+ var styles$f = {
1119
1124
  "numeric-input": "lc-NumericInput-module__numeric-input___j1esc",
1120
1125
  "numeric-input__increment": "lc-NumericInput-module__numeric-input__increment___i3Tys",
1121
1126
  "numeric-input__decrement": "lc-NumericInput-module__numeric-input__decrement___3qgn0",
@@ -1123,7 +1128,7 @@ var styles$b = {
1123
1128
  "numeric-input--no-controls": "lc-NumericInput-module__numeric-input--no-controls___D90rG",
1124
1129
  "numeric-input--error": "lc-NumericInput-module__numeric-input--error___TMxRx"
1125
1130
  };
1126
- const baseClass$d = "numeric-input";
1131
+ const baseClass$l = "numeric-input";
1127
1132
  const NumericInput = (_I) => {
1128
1133
  var _J = _I, {
1129
1134
  className,
@@ -1147,10 +1152,10 @@ const NumericInput = (_I) => {
1147
1152
  "onChange"
1148
1153
  ]);
1149
1154
  const inputRef = React.useRef(null);
1150
- const mergedClassNames = cx(styles$b[baseClass$d], {
1151
- [styles$b[`${baseClass$d}--error`]]: error,
1152
- [styles$b[`${baseClass$d}--no-controls`]]: noControls,
1153
- [styles$b[`${baseClass$d}--disabled`]]: disabled
1155
+ const mergedClassNames = cx(styles$f[baseClass$l], {
1156
+ [styles$f[`${baseClass$l}--error`]]: error,
1157
+ [styles$f[`${baseClass$l}--no-controls`]]: noControls,
1158
+ [styles$f[`${baseClass$l}--disabled`]]: disabled
1154
1159
  }, className);
1155
1160
  const callOnChange = (val) => onChange(String(val));
1156
1161
  const calcValue = (val) => {
@@ -1215,7 +1220,7 @@ const NumericInput = (_I) => {
1215
1220
  disabled: disabled || hasReachedTheLimit(value, max),
1216
1221
  onClick: handleIncrementClick,
1217
1222
  "aria-label": "Increment value",
1218
- className: styles$b[`${baseClass$d}__increment`],
1223
+ className: styles$f[`${baseClass$l}__increment`],
1219
1224
  type: "button"
1220
1225
  }, /* @__PURE__ */ React.createElement(Icon, {
1221
1226
  source: ChevronUp,
@@ -1225,7 +1230,7 @@ const NumericInput = (_I) => {
1225
1230
  tabIndex: -1,
1226
1231
  disabled: disabled || hasReachedTheLimit(value, min),
1227
1232
  "aria-label": "Decrement value",
1228
- className: styles$b[`${baseClass$d}__decrement`],
1233
+ className: styles$f[`${baseClass$l}__decrement`],
1229
1234
  onClick: handleDecrementClick,
1230
1235
  type: "button"
1231
1236
  }, /* @__PURE__ */ React.createElement(Icon, {
@@ -1274,36 +1279,336 @@ const NumericInputField = (_K) => {
1274
1279
  error
1275
1280
  })));
1276
1281
  };
1277
- const popover = "lc-Popover-module__popover___8X1b2";
1278
- var cssStyles = {
1279
- popover,
1280
- "popover--visible": "lc-Popover-module__popover--visible___u5NXB"
1282
+ var styles$e = {
1283
+ "picker-trigger": "lc-Trigger-module__picker-trigger___BIvTx",
1284
+ "picker-trigger--compact": "lc-Trigger-module__picker-trigger--compact___3i1DL",
1285
+ "picker-trigger--medium": "lc-Trigger-module__picker-trigger--medium___-fbEx",
1286
+ "picker-trigger--large": "lc-Trigger-module__picker-trigger--large___C8qkZ",
1287
+ "picker-trigger__text": "lc-Trigger-module__picker-trigger__text___9cWZO",
1288
+ "picker-trigger--disabled": "lc-Trigger-module__picker-trigger--disabled___7H4tD",
1289
+ "picker-trigger--focused": "lc-Trigger-module__picker-trigger--focused___vTr39",
1290
+ "picker-trigger--error": "lc-Trigger-module__picker-trigger--error___Rh8Qd",
1291
+ "picker-trigger__input": "lc-Trigger-module__picker-trigger__input___GGc12"
1292
+ };
1293
+ const baseClass$k = "picker-trigger";
1294
+ const Trigger = ({
1295
+ children,
1296
+ isDisabled,
1297
+ isError,
1298
+ isItemSelected,
1299
+ isOpen,
1300
+ isRequired,
1301
+ size = "medium",
1302
+ onClick,
1303
+ onClearClick,
1304
+ onFilter
1305
+ }) => {
1306
+ const triggerRef = React.useRef(null);
1307
+ const mergedClassNames = cx(styles$e[baseClass$k], styles$e[`${baseClass$k}--${size}`], isDisabled && styles$e[`${baseClass$k}--disabled`], isOpen && styles$e[`${baseClass$k}--focused`], isError && styles$e[`${baseClass$k}--error`]);
1308
+ React.useEffect(() => {
1309
+ const onKeyDown = (e) => {
1310
+ const isFocused = document.activeElement === triggerRef.current;
1311
+ if (isFocused && e.key !== KeyCodes.tab) {
1312
+ onClick();
1313
+ }
1314
+ };
1315
+ document.addEventListener("keydown", onKeyDown);
1316
+ return () => document.removeEventListener("keydown", onKeyDown);
1317
+ }, []);
1318
+ const handleTriggerClick = () => {
1319
+ onClick();
1320
+ };
1321
+ const handleOnClearClick = (e) => {
1322
+ e.stopPropagation();
1323
+ onClearClick();
1324
+ };
1325
+ const handleOnChange = (e) => {
1326
+ onFilter(e.target.value);
1327
+ };
1328
+ return /* @__PURE__ */ React.createElement("div", {
1329
+ ref: triggerRef,
1330
+ className: mergedClassNames,
1331
+ onClick: handleTriggerClick,
1332
+ tabIndex: 0
1333
+ }, isOpen ? /* @__PURE__ */ React.createElement("input", {
1334
+ className: styles$e[`${baseClass$k}__input`],
1335
+ placeholder: "Select option",
1336
+ onChange: handleOnChange,
1337
+ autoFocus: true
1338
+ }) : /* @__PURE__ */ React.createElement("div", {
1339
+ className: styles$e[`${baseClass$k}__text`]
1340
+ }, children), isItemSelected && !isDisabled && !isRequired && /* @__PURE__ */ React.createElement("div", {
1341
+ "data-testid": `${baseClass$k}__clear-icon`,
1342
+ className: styles$e[`${baseClass$k}__clear-icon`],
1343
+ onClick: handleOnClearClick
1344
+ }, /* @__PURE__ */ React.createElement(Icon, {
1345
+ kind: "link",
1346
+ source: Close
1347
+ })), /* @__PURE__ */ React.createElement(Icon, {
1348
+ className: styles$e[`${baseClass$k}__chevron-icon`],
1349
+ source: !isOpen ? ChevronDown : ChevronUp,
1350
+ size: "large",
1351
+ disabled: isDisabled
1352
+ }));
1353
+ };
1354
+ var styles$d = {
1355
+ "picker-list": "lc-PickerList-module__picker-list___FqdgZ",
1356
+ "picker-list--compact": "lc-PickerList-module__picker-list--compact___F-cAF",
1357
+ "picker-list--medium": "lc-PickerList-module__picker-list--medium___9B1DT",
1358
+ "picker-list--large": "lc-PickerList-module__picker-list--large___8-Q-N",
1359
+ "picker-list__no-results": "lc-PickerList-module__picker-list__no-results___tX172",
1360
+ "picker-list__item": "lc-PickerList-module__picker-list__item___8QNS0",
1361
+ "picker-list__item__header": "lc-PickerList-module__picker-list__item__header___mxmg0"
1362
+ };
1363
+ const baseClass$j = "picker-list";
1364
+ const itemClassName = `${baseClass$j}__item`;
1365
+ const PickerList = ({
1366
+ isOpen,
1367
+ items,
1368
+ selectedItem,
1369
+ size = "medium",
1370
+ emptyStateText = "No results found",
1371
+ onClose,
1372
+ onSelect
1373
+ }) => {
1374
+ const mergedClassNames = cx(styles$d[baseClass$j], styles$d[`${baseClass$j}--${size}`], {
1375
+ [styles$d[`${baseClass$j}__no-results`]]: items.length === 0
1376
+ });
1377
+ const [currentItemKey, setCurrentItemKey] = React.useState(null);
1378
+ const indexRef = React.useRef(-1);
1379
+ const lastIndexRef = React.useRef(0);
1380
+ const listRef = React.useRef(null);
1381
+ React.useEffect(() => {
1382
+ if (indexRef.current > -1 && items.length > 0) {
1383
+ setCurrentItemKey(items[indexRef.current].key);
1384
+ }
1385
+ if (isOpen) {
1386
+ document.addEventListener("keydown", onKeyDown);
1387
+ return () => document.removeEventListener("keydown", onKeyDown);
1388
+ } else {
1389
+ indexRef.current = -1;
1390
+ lastIndexRef.current = 0;
1391
+ setCurrentItemKey(null);
1392
+ }
1393
+ }, [items, isOpen]);
1394
+ const isHeaderOrDisabled = (i) => !!items[i] && (items[i].disabled || items[i].groupHeader);
1395
+ const getPrevItemIndex = () => {
1396
+ indexRef.current = indexRef.current - 1;
1397
+ while (isHeaderOrDisabled(indexRef.current)) {
1398
+ indexRef.current = indexRef.current - 1;
1399
+ if (!isHeaderOrDisabled(indexRef.current)) {
1400
+ break;
1401
+ }
1402
+ }
1403
+ lastIndexRef.current = indexRef.current;
1404
+ return indexRef.current;
1405
+ };
1406
+ const getNextItemIndex = () => {
1407
+ indexRef.current = indexRef.current + 1;
1408
+ if (!isHeaderOrDisabled(indexRef.current)) {
1409
+ lastIndexRef.current = indexRef.current;
1410
+ return indexRef.current;
1411
+ }
1412
+ while (isHeaderOrDisabled(indexRef.current)) {
1413
+ indexRef.current = indexRef.current + 1;
1414
+ if (indexRef.current === items.length && !isHeaderOrDisabled(indexRef.current)) {
1415
+ return lastIndexRef.current;
1416
+ }
1417
+ if (!isHeaderOrDisabled(indexRef.current)) {
1418
+ break;
1419
+ }
1420
+ }
1421
+ lastIndexRef.current = indexRef.current;
1422
+ return indexRef.current;
1423
+ };
1424
+ const onKeyDown = (e) => {
1425
+ if (e.key === KeyCodes.esc) {
1426
+ e.preventDefault();
1427
+ onClose();
1428
+ }
1429
+ if (e.key === KeyCodes.arrowUp && indexRef.current > 0) {
1430
+ e.preventDefault();
1431
+ indexRef.current = getPrevItemIndex();
1432
+ setCurrentItemKey(items[indexRef.current].key);
1433
+ }
1434
+ if (e.key === KeyCodes.arrowDown && indexRef.current + 1 < items.length) {
1435
+ e.preventDefault();
1436
+ indexRef.current = getNextItemIndex();
1437
+ setCurrentItemKey(items[indexRef.current].key);
1438
+ }
1439
+ if (e.key === KeyCodes.enter && !items[indexRef.current].disabled) {
1440
+ e.preventDefault();
1441
+ onSelect(items[indexRef.current]);
1442
+ }
1443
+ };
1444
+ const handleOnClick = (item) => onSelect(item);
1445
+ const isItemSelected = (key) => !!selectedItem && key === selectedItem.key;
1446
+ if (!isOpen) {
1447
+ return null;
1448
+ }
1449
+ if (items.length === 0) {
1450
+ return /* @__PURE__ */ React.createElement("div", {
1451
+ className: mergedClassNames
1452
+ }, emptyStateText);
1453
+ }
1454
+ return /* @__PURE__ */ React.createElement("ul", {
1455
+ ref: listRef,
1456
+ className: mergedClassNames,
1457
+ role: "listbox",
1458
+ tabIndex: -1
1459
+ }, items.map((item) => {
1460
+ if (item.groupHeader) {
1461
+ return /* @__PURE__ */ React.createElement("li", {
1462
+ role: "option",
1463
+ key: item.key,
1464
+ className: styles$d[`${itemClassName}__header`]
1465
+ }, item.name);
1466
+ }
1467
+ return /* @__PURE__ */ React.createElement("li", {
1468
+ ref: (element) => {
1469
+ if (currentItemKey === item.key) {
1470
+ element == null ? void 0 : element.scrollIntoView({ block: "nearest" });
1471
+ }
1472
+ },
1473
+ role: "option",
1474
+ "aria-current": currentItemKey === item.key,
1475
+ "aria-selected": isItemSelected(item.key),
1476
+ "aria-disabled": item.disabled,
1477
+ id: item.key,
1478
+ key: item.key,
1479
+ className: styles$d[itemClassName],
1480
+ onClick: () => !item.disabled && handleOnClick(item)
1481
+ }, item.name, isItemSelected(item.key) && /* @__PURE__ */ React.createElement(Icon, {
1482
+ kind: "link",
1483
+ source: Check
1484
+ }));
1485
+ }));
1281
1486
  };
1282
- const buildPopperModifiers = (modifiers) => {
1283
- const { offset, flip, preventOverflow } = modifiers;
1284
- const calculatedOffset = [
1285
- {
1286
- name: "offset",
1287
- options: __spreadValues({
1288
- offset: [0, 4]
1289
- }, (offset == null ? void 0 : offset.options) || {})
1487
+ const picker = "lc-Picker-module__picker___GRj9W";
1488
+ const picker__container = "lc-Picker-module__picker__container___s0PUc";
1489
+ const picker__label = "lc-Picker-module__picker__label___Ac7Vu";
1490
+ const picker__error = "lc-Picker-module__picker__error___H865k";
1491
+ const picker__error__icon = "lc-Picker-module__picker__error__icon___bbL7r";
1492
+ var styles$c = {
1493
+ picker,
1494
+ picker__container,
1495
+ picker__label,
1496
+ "picker__label--disabled": "lc-Picker-module__picker__label--disabled___Opu7s",
1497
+ picker__error,
1498
+ picker__error__icon
1499
+ };
1500
+ const baseClass$i = "picker";
1501
+ const Picker = ({
1502
+ disabled,
1503
+ error,
1504
+ label,
1505
+ options,
1506
+ size = "medium",
1507
+ placeholder = "Select option",
1508
+ isRequired,
1509
+ noSearchResultText = "No results found",
1510
+ onSelect
1511
+ }) => {
1512
+ const [isListOpen, setIsListOpen] = React.useState(false);
1513
+ const [selectedItem, setSelectedItem] = React.useState(null);
1514
+ const [searchPhrase, setSearchPhrase] = React.useState(null);
1515
+ const triggerRef = React.useRef(null);
1516
+ React.useEffect(() => {
1517
+ if (isListOpen) {
1518
+ const onDocumentClick = (e) => {
1519
+ var _a;
1520
+ if (!((_a = triggerRef.current) == null ? void 0 : _a.contains(e.target))) {
1521
+ setIsListOpen(false);
1522
+ }
1523
+ };
1524
+ const onKeyDown = (e) => {
1525
+ if (e.key === KeyCodes.tab) {
1526
+ setIsListOpen(false);
1527
+ }
1528
+ };
1529
+ document.addEventListener("mousedown", onDocumentClick);
1530
+ document.addEventListener("keydown", onKeyDown);
1531
+ return () => {
1532
+ document.removeEventListener("mousedown", onDocumentClick);
1533
+ document.addEventListener("keydown", onKeyDown);
1534
+ };
1535
+ } else {
1536
+ setSearchPhrase(null);
1290
1537
  }
1291
- ];
1292
- const calculateFlip = [
1293
- {
1294
- name: "flip",
1295
- options: __spreadValues({}, (flip == null ? void 0 : flip.options) || {})
1538
+ }, [isListOpen]);
1539
+ const handleOnTriggerClick = () => {
1540
+ if (disabled) {
1541
+ return;
1296
1542
  }
1297
- ];
1298
- const calculatePreventOverflow = [
1299
- {
1300
- name: "preventOverlow",
1301
- options: __spreadValues({
1302
- rootBoundary: "viewport"
1303
- }, preventOverflow || {})
1543
+ return setIsListOpen((prev) => !prev);
1544
+ };
1545
+ const handleOnClose = () => {
1546
+ setIsListOpen(false);
1547
+ };
1548
+ const handleOnSelect = (item) => {
1549
+ setIsListOpen(false);
1550
+ setSelectedItem(item);
1551
+ onSelect(item);
1552
+ };
1553
+ const handleOnClearClick = () => {
1554
+ setIsListOpen(false);
1555
+ setSelectedItem(null);
1556
+ onSelect(null);
1557
+ };
1558
+ const handleOnFilter = (text) => setSearchPhrase(text);
1559
+ const items = React.useMemo(() => {
1560
+ if (!searchPhrase) {
1561
+ return options;
1304
1562
  }
1305
- ];
1306
- return [...calculatedOffset, ...calculateFlip, ...calculatePreventOverflow];
1563
+ return options.filter((item) => {
1564
+ if (item.groupHeader) {
1565
+ return false;
1566
+ }
1567
+ const search = searchPhrase.toLowerCase();
1568
+ const itemName = item.name.toLowerCase();
1569
+ return itemName.includes(search);
1570
+ });
1571
+ }, [searchPhrase]);
1572
+ return /* @__PURE__ */ React.createElement("div", {
1573
+ ref: triggerRef,
1574
+ className: baseClass$i
1575
+ }, label && /* @__PURE__ */ React.createElement("div", {
1576
+ className: cx(styles$c[`${baseClass$i}__label`], {
1577
+ [styles$c[`${baseClass$i}__label--disabled`]]: disabled
1578
+ })
1579
+ }, label), /* @__PURE__ */ React.createElement("div", {
1580
+ className: styles$c[`${baseClass$i}__container`]
1581
+ }, /* @__PURE__ */ React.createElement(Trigger, {
1582
+ isError: !!error,
1583
+ isOpen: isListOpen,
1584
+ isDisabled: disabled,
1585
+ isItemSelected: !!selectedItem,
1586
+ isRequired,
1587
+ size,
1588
+ onClick: handleOnTriggerClick,
1589
+ onClearClick: handleOnClearClick,
1590
+ onFilter: handleOnFilter
1591
+ }, selectedItem ? selectedItem.name : placeholder), /* @__PURE__ */ React.createElement(PickerList, {
1592
+ selectedItem,
1593
+ items,
1594
+ isOpen: isListOpen,
1595
+ size,
1596
+ emptyStateText: noSearchResultText,
1597
+ onClose: handleOnClose,
1598
+ onSelect: handleOnSelect
1599
+ })), error && /* @__PURE__ */ React.createElement("div", {
1600
+ className: styles$c[`${baseClass$i}__error`]
1601
+ }, /* @__PURE__ */ React.createElement(Icon, {
1602
+ className: styles$c[`${baseClass$i}__error__icon`],
1603
+ source: Error2,
1604
+ kind: "error",
1605
+ size: "small"
1606
+ }), error));
1607
+ };
1608
+ const popover = "lc-Popover-module__popover___8X1b2";
1609
+ var cssStyles = {
1610
+ popover,
1611
+ "popover--visible": "lc-Popover-module__popover--visible___u5NXB"
1307
1612
  };
1308
1613
  const Popover = (props) => {
1309
1614
  const {
@@ -1313,17 +1618,33 @@ const Popover = (props) => {
1313
1618
  placement,
1314
1619
  isVisible = false
1315
1620
  } = props;
1316
- const rendererRef = React.useRef(null);
1317
- const popperRef = React.useRef(null);
1318
1621
  const [visible, setVisibility] = React.useState(false);
1622
+ const {
1623
+ x,
1624
+ y,
1625
+ reference,
1626
+ floating,
1627
+ strategy,
1628
+ refs,
1629
+ update,
1630
+ placement: updatedPlacement
1631
+ } = useFloating({
1632
+ middleware: [offset(4), flip()],
1633
+ placement
1634
+ });
1319
1635
  React.useEffect(() => {
1320
1636
  setVisibility(isVisible);
1321
1637
  }, [isVisible]);
1638
+ React.useEffect(() => {
1639
+ if (!refs.reference.current || !refs.floating.current) {
1640
+ return;
1641
+ }
1642
+ return autoUpdate(refs.reference.current, refs.floating.current, update);
1643
+ }, [refs.reference, refs.floating, update, updatedPlacement, visible]);
1322
1644
  function handleDocumentClick(event) {
1323
- var _a, _b;
1324
- if ((_a = popperRef.current) == null ? void 0 : _a.contains(event.target)) {
1645
+ if (refs.floating.current && refs.floating.current.contains(event.target)) {
1325
1646
  return;
1326
- } else if ((_b = rendererRef.current) == null ? void 0 : _b.contains(event.target)) {
1647
+ } else if (refs.reference.current && refs.reference.current.contains(event.target)) {
1327
1648
  setVisibility((prevVisible) => !prevVisible);
1328
1649
  } else {
1329
1650
  setVisibility(false);
@@ -1342,20 +1663,21 @@ const Popover = (props) => {
1342
1663
  document.removeEventListener("mousedown", handleDocumentClick);
1343
1664
  };
1344
1665
  }, []);
1345
- const { styles: styles2, attributes } = usePopper(rendererRef.current, popperRef.current, {
1346
- modifiers: props.modifiers ? buildPopperModifiers(props.modifiers) : [],
1347
- placement
1348
- });
1349
1666
  const mergedClassNames = cx(cssStyles["popover"], className, {
1350
1667
  [cssStyles["popover--visible"]]: visible
1351
1668
  });
1352
1669
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
1353
- ref: rendererRef
1354
- }, triggerRenderer()), /* @__PURE__ */ React.createElement("div", __spreadValues({
1355
- ref: popperRef,
1670
+ style: { width: "fit-content" },
1671
+ ref: reference
1672
+ }, triggerRenderer()), /* @__PURE__ */ React.createElement("div", {
1673
+ ref: floating,
1356
1674
  className: mergedClassNames,
1357
- style: styles2.popper
1358
- }, attributes.popper), children));
1675
+ style: {
1676
+ position: strategy,
1677
+ top: y != null ? y : "",
1678
+ left: x != null ? x : ""
1679
+ }
1680
+ }, children));
1359
1681
  };
1360
1682
  const PROGRESS_STATUSES = [
1361
1683
  "normal",
@@ -1375,7 +1697,7 @@ function getProgressStatus(status, percent) {
1375
1697
  }
1376
1698
  return status || "normal";
1377
1699
  }
1378
- var styles$a = {
1700
+ var styles$b = {
1379
1701
  "progress-circle": "lc-ProgressCircle-module__progress-circle___NRHCi",
1380
1702
  "progress-circle--small": "lc-ProgressCircle-module__progress-circle--small___8FVwG",
1381
1703
  "progress-circle--medium": "lc-ProgressCircle-module__progress-circle--medium___XlzEX",
@@ -1401,16 +1723,26 @@ const SIZE_VALUE_FROM_SIZE = {
1401
1723
  medium: 36,
1402
1724
  large: 56
1403
1725
  };
1404
- const baseClass$c = "progress-circle";
1726
+ const baseClass$h = "progress-circle";
1405
1727
  const ProgressCircle = React.forwardRef((_M, ref) => {
1406
- var _N = _M, { status = "normal", percent, className, size = "medium" } = _N, restProps = __objRest(_N, ["status", "percent", "className", "size"]);
1407
- const progressStatus = getProgressStatus(status, percent);
1408
- const percentNumber = getPercentNumber(progressStatus, percent);
1728
+ var _N = _M, {
1729
+ status = "normal",
1730
+ progressValue,
1731
+ className,
1732
+ size = "medium"
1733
+ } = _N, restProps = __objRest(_N, [
1734
+ "status",
1735
+ "progressValue",
1736
+ "className",
1737
+ "size"
1738
+ ]);
1739
+ const progressStatus = getProgressStatus(status, progressValue);
1740
+ const percentNumber = getPercentNumber(progressStatus, progressValue);
1409
1741
  const thickness = THICKNESS_FROM_SIZE[size];
1410
1742
  const sizeValue = SIZE_VALUE_FROM_SIZE[size];
1411
- const mergedClassNames = cx(styles$a[baseClass$c], {
1412
- [styles$a[`${baseClass$c}--${size}`]]: size,
1413
- [styles$a[`${baseClass$c}--${status}`]]: status
1743
+ const mergedClassNames = cx(styles$b[baseClass$h], {
1744
+ [styles$b[`${baseClass$h}--${size}`]]: size,
1745
+ [styles$b[`${baseClass$h}--${status}`]]: status
1414
1746
  }, className);
1415
1747
  const circumference = 2 * Math.PI * ((sizeValue - thickness) / 2);
1416
1748
  const indicatorStyle = {
@@ -1425,14 +1757,14 @@ const ProgressCircle = React.forwardRef((_M, ref) => {
1425
1757
  }, restProps), /* @__PURE__ */ React.createElement("svg", {
1426
1758
  viewBox: svgViewBox
1427
1759
  }, /* @__PURE__ */ React.createElement("circle", {
1428
- className: styles$a[`${baseClass$c}__bg-line--${status}`],
1760
+ className: styles$b[`${baseClass$h}__bg-line--${status}`],
1429
1761
  cx: sizeValue,
1430
1762
  cy: sizeValue,
1431
1763
  r: (sizeValue - thickness) / 2,
1432
1764
  fill: "none",
1433
1765
  strokeWidth: thickness
1434
1766
  }), /* @__PURE__ */ React.createElement("circle", {
1435
- className: styles$a[`${baseClass$c}__indicator--${status}`],
1767
+ className: styles$b[`${baseClass$h}__indicator--${status}`],
1436
1768
  style: indicatorStyle,
1437
1769
  cx: sizeValue,
1438
1770
  cy: sizeValue,
@@ -1441,7 +1773,7 @@ const ProgressCircle = React.forwardRef((_M, ref) => {
1441
1773
  strokeWidth: thickness
1442
1774
  })));
1443
1775
  });
1444
- var styles$9 = {
1776
+ var styles$a = {
1445
1777
  "progress-bar": "lc-ProgressBar-module__progress-bar___3pa3d",
1446
1778
  "progress-bar--small": "lc-ProgressBar-module__progress-bar--small___7nQKx",
1447
1779
  "progress-bar--medium": "lc-ProgressBar-module__progress-bar--medium___cM44p",
@@ -1452,7 +1784,7 @@ var styles$9 = {
1452
1784
  "progress-bar__indicator--success": "lc-ProgressBar-module__progress-bar__indicator--success___wRjR3",
1453
1785
  "progress-bar__indicator--normal": "lc-ProgressBar-module__progress-bar__indicator--normal___0Uhle"
1454
1786
  };
1455
- const baseClass$b = "progress-bar";
1787
+ const baseClass$g = "progress-bar";
1456
1788
  const ProgressBar = React.forwardRef((_O, ref) => {
1457
1789
  var _P = _O, {
1458
1790
  status = "normal",
@@ -1467,20 +1799,20 @@ const ProgressBar = React.forwardRef((_O, ref) => {
1467
1799
  ]);
1468
1800
  const progressStatus = getProgressStatus(status, percent);
1469
1801
  const percentNumber = getPercentNumber(progressStatus, percent);
1470
- const mergedClassNames = cx(styles$9[baseClass$b], {
1471
- [styles$9[`${baseClass$b}--${size}`]]: size,
1472
- [styles$9[`${baseClass$b}--${status}`]]: status
1802
+ const mergedClassNames = cx(styles$a[baseClass$g], {
1803
+ [styles$a[`${baseClass$g}--${size}`]]: size,
1804
+ [styles$a[`${baseClass$g}--${status}`]]: status
1473
1805
  }, className);
1474
1806
  return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({}, restProps), {
1475
1807
  className: mergedClassNames,
1476
1808
  ref,
1477
1809
  role: "progressbar"
1478
1810
  }), /* @__PURE__ */ React.createElement("div", {
1479
- className: styles$9[`${baseClass$b}__indicator--${status}`],
1811
+ className: styles$a[`${baseClass$g}__indicator--${status}`],
1480
1812
  style: { width: `${percentNumber}%` }
1481
1813
  }));
1482
1814
  });
1483
- var styles$8 = {
1815
+ var styles$9 = {
1484
1816
  "promo-banner": "lc-PromoBanner-module__promo-banner___-mGpq",
1485
1817
  "promo-banner__content": "lc-PromoBanner-module__promo-banner__content___kRWar",
1486
1818
  "promo-banner__wrapper": "lc-PromoBanner-module__promo-banner__wrapper___I-8cl",
@@ -1496,7 +1828,7 @@ var styles$8 = {
1496
1828
  const SMALL_CONTAINER_WIDTH_TRESHOLD = 400;
1497
1829
  const LARGE_CONTAINER_WIDTH_TRESHOLD = 800;
1498
1830
  const RESIZE_DEBOUNCE_TRESHOLD = 500;
1499
- const baseClass$a = "promo-banner";
1831
+ const baseClass$f = "promo-banner";
1500
1832
  const PromoBanner = ({
1501
1833
  className,
1502
1834
  buttonText,
@@ -1511,10 +1843,10 @@ const PromoBanner = ({
1511
1843
  }) => {
1512
1844
  const containerRef = React.useRef(null);
1513
1845
  const [containerSize, setContainerSize] = React.useState("medium");
1514
- const mergedClassNames = cx(styles$8[baseClass$a], {
1515
- [styles$8[`${baseClass$a}--light`]]: light,
1516
- [styles$8[`${baseClass$a}--small`]]: containerSize === "small",
1517
- [styles$8[`${baseClass$a}--large`]]: containerSize === "large"
1846
+ const mergedClassNames = cx(styles$9[baseClass$f], {
1847
+ [styles$9[`${baseClass$f}--light`]]: light,
1848
+ [styles$9[`${baseClass$f}--small`]]: containerSize === "small",
1849
+ [styles$9[`${baseClass$f}--large`]]: containerSize === "large"
1518
1850
  }, className);
1519
1851
  React.useEffect(() => {
1520
1852
  const handleResize = () => {
@@ -1535,12 +1867,12 @@ const PromoBanner = ({
1535
1867
  };
1536
1868
  }, []);
1537
1869
  const footer = /* @__PURE__ */ React.createElement("div", {
1538
- className: styles$8[`${baseClass$a}__footer`]
1870
+ className: styles$9[`${baseClass$f}__footer`]
1539
1871
  }, buttonText && /* @__PURE__ */ React.createElement(Button, {
1540
1872
  kind: "primary",
1541
1873
  size: "compact",
1542
1874
  onClick: onButtonClick,
1543
- className: styles$8[`${baseClass$a}__button-text`]
1875
+ className: styles$9[`${baseClass$f}__button-text`]
1544
1876
  }, buttonText), linkText && /* @__PURE__ */ React.createElement(Button, {
1545
1877
  size: "compact",
1546
1878
  kind: "text",
@@ -1550,24 +1882,24 @@ const PromoBanner = ({
1550
1882
  ref: containerRef,
1551
1883
  className: mergedClassNames
1552
1884
  }, /* @__PURE__ */ React.createElement("div", {
1553
- className: styles$8[`${baseClass$a}__content`]
1885
+ className: styles$9[`${baseClass$f}__content`]
1554
1886
  }, img && /* @__PURE__ */ React.createElement("img", {
1555
1887
  src: img,
1556
- className: styles$8[`${baseClass$a}__img`]
1888
+ className: styles$9[`${baseClass$f}__img`]
1557
1889
  }), /* @__PURE__ */ React.createElement("div", {
1558
- className: styles$8[`${baseClass$a}__wrapper`]
1890
+ className: styles$9[`${baseClass$f}__wrapper`]
1559
1891
  }, /* @__PURE__ */ React.createElement("div", {
1560
- className: styles$8[`${baseClass$a}__header`]
1892
+ className: styles$9[`${baseClass$f}__header`]
1561
1893
  }, header), /* @__PURE__ */ React.createElement("div", null, children), containerSize !== "large" && footer), containerSize === "large" && footer), onClose && /* @__PURE__ */ React.createElement("button", {
1562
1894
  type: "button",
1563
- className: styles$8[`${baseClass$a}__close-icon`],
1895
+ className: styles$9[`${baseClass$f}__close-icon`],
1564
1896
  onClick: onClose
1565
1897
  }, /* @__PURE__ */ React.createElement(Icon, {
1566
1898
  source: Close,
1567
1899
  size: "large"
1568
1900
  })));
1569
1901
  };
1570
- var styles$7 = {
1902
+ var styles$8 = {
1571
1903
  "radio-button": "lc-RadioButton-module__radio-button___WaToM",
1572
1904
  "radio-button__label": "lc-RadioButton-module__radio-button__label___i7ygg",
1573
1905
  "radio-button__circle": "lc-RadioButton-module__radio-button__circle___wimWA",
@@ -1578,7 +1910,7 @@ var styles$7 = {
1578
1910
  "radio-button--selected": "lc-RadioButton-module__radio-button--selected___s9lqj",
1579
1911
  "radio-button--disabled": "lc-RadioButton-module__radio-button--disabled___wHSA7"
1580
1912
  };
1581
- const baseClass$9 = "radio-button";
1913
+ const baseClass$e = "radio-button";
1582
1914
  const RadioButton = (_Q) => {
1583
1915
  var _R = _Q, {
1584
1916
  children,
@@ -1593,20 +1925,20 @@ const RadioButton = (_Q) => {
1593
1925
  "checked",
1594
1926
  "disabled"
1595
1927
  ]);
1596
- const mergedClassNames = cx(styles$7[baseClass$9], className, {
1597
- [styles$7[`${baseClass$9}--selected`]]: checked,
1598
- [styles$7[`${baseClass$9}--disabled`]]: disabled
1928
+ const mergedClassNames = cx(styles$8[baseClass$e], className, {
1929
+ [styles$8[`${baseClass$e}--selected`]]: checked,
1930
+ [styles$8[`${baseClass$e}--disabled`]]: disabled
1599
1931
  });
1600
1932
  return /* @__PURE__ */ React.createElement("div", {
1601
1933
  className: mergedClassNames
1602
1934
  }, /* @__PURE__ */ React.createElement("label", {
1603
- className: styles$7[`${baseClass$9}__label`]
1935
+ className: styles$8[`${baseClass$e}__label`]
1604
1936
  }, /* @__PURE__ */ React.createElement("div", {
1605
- className: styles$7[`${baseClass$9}__circle`]
1937
+ className: styles$8[`${baseClass$e}__circle`]
1606
1938
  }, /* @__PURE__ */ React.createElement("span", {
1607
- className: styles$7[`${baseClass$9}__inner-circle`]
1939
+ className: styles$8[`${baseClass$e}__inner-circle`]
1608
1940
  }), /* @__PURE__ */ React.createElement("input", __spreadProps(__spreadValues({
1609
- className: styles$7[`${baseClass$9}__input`]
1941
+ className: styles$8[`${baseClass$e}__input`]
1610
1942
  }, props), {
1611
1943
  type: "radio",
1612
1944
  checked,
@@ -1614,12 +1946,12 @@ const RadioButton = (_Q) => {
1614
1946
  }))), /* @__PURE__ */ React.createElement(Text, {
1615
1947
  as: "div",
1616
1948
  size: "md",
1617
- className: styles$7[`${baseClass$9}__text`]
1949
+ className: styles$8[`${baseClass$e}__text`]
1618
1950
  }, children)), description && /* @__PURE__ */ React.createElement(FieldDescription, {
1619
- className: styles$7[`${baseClass$9}__helper`]
1951
+ className: styles$8[`${baseClass$e}__helper`]
1620
1952
  }, description));
1621
1953
  };
1622
- var styles$6 = {
1954
+ var styles$7 = {
1623
1955
  "search-input": "lc-Search-module__search-input___FsbCk",
1624
1956
  "search-input__search-icon": "lc-Search-module__search-input__search-icon___BBQoD",
1625
1957
  "search-input__clear-icon": "lc-Search-module__search-input__clear-icon___LoNkc",
@@ -1632,8 +1964,8 @@ var styles$6 = {
1632
1964
  "search-input__input--collapsable--open": "lc-Search-module__search-input__input--collapsable--open___a2rX2",
1633
1965
  "search-input__input--disabled": "lc-Search-module__search-input__input--disabled___nfZau"
1634
1966
  };
1635
- const baseClass$8 = "search-input";
1636
- const inputBaseClass = `${baseClass$8}__input`;
1967
+ const baseClass$d = "search-input";
1968
+ const inputBaseClass = `${baseClass$d}__input`;
1637
1969
  const SearchInput = ({
1638
1970
  isCollapsable,
1639
1971
  isDisabled,
@@ -1647,7 +1979,7 @@ const SearchInput = ({
1647
1979
  const [isCollapsed, setIsCollapsed] = React.useState(true);
1648
1980
  const inputRef = React.useRef(null);
1649
1981
  const isCloseIconVisible = !!searchValue && !isDisabled && !isLoading;
1650
- const mergedClassNames = cx(styles$6[`${inputBaseClass}`], styles$6[`${inputBaseClass}--${size}`], (isDisabled || isLoading) && styles$6[`${inputBaseClass}--disabled`], isCollapsable && styles$6[`${inputBaseClass}--collapsable`], !isCollapsed && styles$6[`${inputBaseClass}--collapsable--open`]);
1982
+ const mergedClassNames = cx(styles$7[`${inputBaseClass}`], styles$7[`${inputBaseClass}--${size}`], (isDisabled || isLoading) && styles$7[`${inputBaseClass}--disabled`], isCollapsable && styles$7[`${inputBaseClass}--collapsable`], !isCollapsed && styles$7[`${inputBaseClass}--collapsable--open`]);
1651
1983
  React.useEffect(() => {
1652
1984
  if (typeof value === "string") {
1653
1985
  setSearchValue(value);
@@ -1683,11 +2015,11 @@ const SearchInput = ({
1683
2015
  }
1684
2016
  };
1685
2017
  return /* @__PURE__ */ React.createElement("div", {
1686
- "data-testid": `${baseClass$8}-container`,
1687
- className: styles$6[baseClass$8],
2018
+ "data-testid": `${baseClass$d}-container`,
2019
+ className: styles$7[baseClass$d],
1688
2020
  onClick: handleClick
1689
2021
  }, /* @__PURE__ */ React.createElement(Icon, {
1690
- className: styles$6[`${baseClass$8}__search-icon`],
2022
+ className: styles$7[`${baseClass$d}__search-icon`],
1691
2023
  source: Search,
1692
2024
  disabled: isDisabled || isLoading,
1693
2025
  kind: "primary"
@@ -1703,14 +2035,14 @@ const SearchInput = ({
1703
2035
  onKeyDown: handleKeyDown,
1704
2036
  disabled: isDisabled || isLoading
1705
2037
  }), isCloseIconVisible && /* @__PURE__ */ React.createElement("div", {
1706
- className: styles$6[`${baseClass$8}__clear-icon`],
1707
- "data-testid": `${baseClass$8}-clear-icon`,
2038
+ className: styles$7[`${baseClass$d}__clear-icon`],
2039
+ "data-testid": `${baseClass$d}-clear-icon`,
1708
2040
  onClick: handleClear
1709
2041
  }, /* @__PURE__ */ React.createElement(Icon, {
1710
2042
  source: Close
1711
2043
  })), isLoading && /* @__PURE__ */ React.createElement("div", {
1712
- "data-testid": `${baseClass$8}-loader`,
1713
- className: styles$6[`${baseClass$8}__loader`]
2044
+ "data-testid": `${baseClass$d}-loader`,
2045
+ className: styles$7[`${baseClass$d}__loader`]
1714
2046
  }, /* @__PURE__ */ React.createElement(Loader, {
1715
2047
  size: "small"
1716
2048
  })));
@@ -1719,7 +2051,7 @@ const switch__input = "lc-Switch-module__switch__input___NiiOR";
1719
2051
  const switch__container = "lc-Switch-module__switch__container___79F7W";
1720
2052
  const switch__track = "lc-Switch-module__switch__track___2wr2M";
1721
2053
  const switch__slider = "lc-Switch-module__switch__slider___WHd--";
1722
- var styles$5 = {
2054
+ var styles$6 = {
1723
2055
  "switch": "lc-Switch-module__switch___AaA2k",
1724
2056
  "switch__track--enabled": "lc-Switch-module__switch__track--enabled___sy4Xl",
1725
2057
  "switch__track--disabled": "lc-Switch-module__switch__track--disabled___HkDhl",
@@ -1736,13 +2068,13 @@ var styles$5 = {
1736
2068
  "switch__slider--compact--enabled": "lc-Switch-module__switch__slider--compact--enabled___04TFA",
1737
2069
  "switch__slider--compact--disabled": "lc-Switch-module__switch__slider--compact--disabled___Vqznr"
1738
2070
  };
1739
- const baseClass$7 = "switch";
2071
+ const baseClass$c = "switch";
1740
2072
  const Switch = (_S) => {
1741
2073
  var _T = _S, {
1742
2074
  className = "",
1743
2075
  defaultOn = false,
1744
2076
  disabled = false,
1745
- name = baseClass$7,
2077
+ name = baseClass$c,
1746
2078
  on,
1747
2079
  onChange = noop,
1748
2080
  size = "basic",
@@ -1764,7 +2096,7 @@ const Switch = (_S) => {
1764
2096
  }
1765
2097
  }, [on]);
1766
2098
  const valueStyles = enabled ? "enabled" : "disabled";
1767
- const mergedClassNames = cx(styles$5[baseClass$7], styles$5[`${baseClass$7}--${size}`], className);
2099
+ const mergedClassNames = cx(styles$6[baseClass$c], styles$6[`${baseClass$c}--${size}`], className);
1768
2100
  const handleChange = (e) => {
1769
2101
  const hasOnChangePassed = onChange !== noop;
1770
2102
  if (hasOnChangePassed) {
@@ -1778,7 +2110,7 @@ const Switch = (_S) => {
1778
2110
  className: mergedClassNames
1779
2111
  }, /* @__PURE__ */ React.createElement("input", __spreadValues({
1780
2112
  type: "checkbox",
1781
- className: styles$5[`${baseClass$7}__input`],
2113
+ className: styles$6[`${baseClass$c}__input`],
1782
2114
  onChange: handleChange,
1783
2115
  checked: enabled,
1784
2116
  name,
@@ -1786,21 +2118,21 @@ const Switch = (_S) => {
1786
2118
  disabled,
1787
2119
  "test-id": "foo"
1788
2120
  }, props)), /* @__PURE__ */ React.createElement("span", {
1789
- className: styles$5[`${baseClass$7}__container`]
2121
+ className: styles$6[`${baseClass$c}__container`]
1790
2122
  }, /* @__PURE__ */ React.createElement("span", {
1791
- className: cx(styles$5[`${baseClass$7}__track`], styles$5[`${baseClass$7}__track--${valueStyles}`])
2123
+ className: cx(styles$6[`${baseClass$c}__track`], styles$6[`${baseClass$c}__track--${valueStyles}`])
1792
2124
  }), /* @__PURE__ */ React.createElement("span", {
1793
- className: cx(styles$5[`${baseClass$7}__slider`], styles$5[`${baseClass$7}__slider--${size}`], styles$5[`${baseClass$7}__slider--${size}--${valueStyles}`])
2125
+ className: cx(styles$6[`${baseClass$c}__slider`], styles$6[`${baseClass$c}__slider--${size}`], styles$6[`${baseClass$c}__slider--${size}--${valueStyles}`])
1794
2126
  })));
1795
2127
  };
1796
2128
  const tab = "lc-Tab-module__tab___fME7u";
1797
2129
  const tab__description = "lc-Tab-module__tab__description___JGXU6";
1798
- var styles$4 = {
2130
+ var styles$5 = {
1799
2131
  tab,
1800
2132
  tab__description,
1801
2133
  "tab--selected": "lc-Tab-module__tab--selected___c0EkL"
1802
2134
  };
1803
- const baseClass$6 = "tab";
2135
+ const baseClass$b = "tab";
1804
2136
  const Tab = (_U) => {
1805
2137
  var _V = _U, {
1806
2138
  children,
@@ -1817,26 +2149,26 @@ const Tab = (_U) => {
1817
2149
  as: restProps.href ? "a" : "button",
1818
2150
  size: "md",
1819
2151
  bold: isSelected,
1820
- className: cx(styles$4[baseClass$6], className, isSelected && styles$4[`${baseClass$6}--selected`])
2152
+ className: cx(styles$5[baseClass$b], className, isSelected && styles$5[`${baseClass$b}--selected`])
1821
2153
  }), children, description && /* @__PURE__ */ React.createElement(Text, {
1822
2154
  as: "span",
1823
2155
  size: "md",
1824
- className: styles$4[`${baseClass$6}__description`]
2156
+ className: styles$5[`${baseClass$b}__description`]
1825
2157
  }, "(", description, ")"));
1826
2158
  };
1827
2159
  const tabs = "lc-TabsWrapper-module__tabs___Y2xyD";
1828
2160
  const tabs__list = "lc-TabsWrapper-module__tabs__list___i6tVO";
1829
- var styles$3 = {
2161
+ var styles$4 = {
1830
2162
  tabs,
1831
2163
  tabs__list
1832
2164
  };
1833
- const baseClass$5 = "tabs";
2165
+ const baseClass$a = "tabs";
1834
2166
  const TabsWrapper = ({
1835
2167
  className,
1836
2168
  children
1837
2169
  }) => {
1838
2170
  return /* @__PURE__ */ React.createElement("div", {
1839
- className: cx(styles$3[baseClass$5], className)
2171
+ className: cx(styles$4[baseClass$a], className)
1840
2172
  }, children);
1841
2173
  };
1842
2174
  const TabsList = ({
@@ -1844,7 +2176,7 @@ const TabsList = ({
1844
2176
  children
1845
2177
  }) => {
1846
2178
  return /* @__PURE__ */ React.createElement("div", {
1847
- className: cx(styles$3[`${baseClass$5}__list`], className)
2179
+ className: cx(styles$4[`${baseClass$a}__list`], className)
1848
2180
  }, children);
1849
2181
  };
1850
2182
  const tag = "lc-Tag-module__tag___1QRVY";
@@ -1852,7 +2184,7 @@ const tag__remove = "lc-Tag-module__tag__remove___UmtrW";
1852
2184
  const icon = "lc-Tag-module__icon___2Z-35";
1853
2185
  const tag__icon = "lc-Tag-module__tag__icon___tZoQ9";
1854
2186
  const tag__avatar = "lc-Tag-module__tag__avatar___U4c-P";
1855
- var styles$2 = {
2187
+ var styles$3 = {
1856
2188
  tag,
1857
2189
  "tag--success": "lc-Tag-module__tag--success___P2hXQ",
1858
2190
  tag__remove,
@@ -1870,7 +2202,7 @@ var styles$2 = {
1870
2202
  tag__icon,
1871
2203
  tag__avatar
1872
2204
  };
1873
- const baseClass$4 = "tag";
2205
+ const baseClass$9 = "tag";
1874
2206
  const getCustomTextClass = (customColor) => {
1875
2207
  if (!customColor) {
1876
2208
  return "";
@@ -1901,11 +2233,11 @@ const Tag = (_W) => {
1901
2233
  "avatar",
1902
2234
  "customColor"
1903
2235
  ]);
1904
- const mergedClassNames = cx(styles$2[baseClass$4], className, styles$2[`${baseClass$4}--${size}`], styles$2[`${baseClass$4}--${kind}`], {
1905
- [styles$2[`${baseClass$4}--dismissible`]]: dismissible,
1906
- [styles$2[`${baseClass$4}--outline`]]: outline,
1907
- [styles$2[`${baseClass$4}--with-icon`]]: !!icon2 || !!avatar,
1908
- [styles$2[`${baseClass$4}--${getCustomTextClass(customColor)}`]]: !!customColor
2236
+ const mergedClassNames = cx(styles$3[baseClass$9], className, styles$3[`${baseClass$9}--${size}`], styles$3[`${baseClass$9}--${kind}`], {
2237
+ [styles$3[`${baseClass$9}--dismissible`]]: dismissible,
2238
+ [styles$3[`${baseClass$9}--outline`]]: outline,
2239
+ [styles$3[`${baseClass$9}--with-icon`]]: !!icon2 || !!avatar,
2240
+ [styles$3[`${baseClass$9}--${getCustomTextClass(customColor)}`]]: !!customColor
1909
2241
  });
1910
2242
  const getCustomColorStyles = () => {
1911
2243
  if (!customColor) {
@@ -1937,13 +2269,13 @@ const Tag = (_W) => {
1937
2269
  as: "div",
1938
2270
  size: "md"
1939
2271
  }), avatar && /* @__PURE__ */ React.createElement("img", {
1940
- className: styles$2[`${baseClass$4}__avatar`],
2272
+ className: styles$3[`${baseClass$9}__avatar`],
1941
2273
  src: avatar,
1942
2274
  alt: "tag-avatar",
1943
2275
  "data-testid": "lc-tag-avatar"
1944
2276
  }), " ", icon2 && !avatar && /* @__PURE__ */ React.createElement(Icon, {
1945
2277
  "data-testid": "lc-tag-icon",
1946
- className: styles$2[`${baseClass$4}__icon`],
2278
+ className: styles$3[`${baseClass$9}__icon`],
1947
2279
  source: icon2,
1948
2280
  size: "small",
1949
2281
  customColor: getIconCustomColor()
@@ -1951,7 +2283,7 @@ const Tag = (_W) => {
1951
2283
  title: "Remove",
1952
2284
  onClick: onRemove,
1953
2285
  type: "button",
1954
- className: styles$2[`${baseClass$4}__remove`]
2286
+ className: styles$3[`${baseClass$9}__remove`]
1955
2287
  }, /* @__PURE__ */ React.createElement(Icon, {
1956
2288
  source: Close,
1957
2289
  size: "medium",
@@ -2015,7 +2347,7 @@ const EditableTagContent = ({
2015
2347
  dangerouslySetInnerHTML: { __html: escape(value) }
2016
2348
  });
2017
2349
  };
2018
- var styles$1 = {
2350
+ var styles$2 = {
2019
2351
  "tag-input": "lc-TagInput-module__tag-input___CLVY-",
2020
2352
  "tag-input--error": "lc-TagInput-module__tag-input--error___RP0SB",
2021
2353
  "tag-input__input": "lc-TagInput-module__tag-input__input___dgEYB",
@@ -2023,7 +2355,7 @@ var styles$1 = {
2023
2355
  "tag-input__input--large": "lc-TagInput-module__tag-input__input--large___G6iEO",
2024
2356
  "tag-input__tag__content": "lc-TagInput-module__tag-input__tag__content___x95-M"
2025
2357
  };
2026
- const baseClass$3 = "tag-input__tag";
2358
+ const baseClass$8 = "tag-input__tag";
2027
2359
  const EditableTag = ({
2028
2360
  children,
2029
2361
  index: index2,
@@ -2047,13 +2379,13 @@ const EditableTag = ({
2047
2379
  value: children,
2048
2380
  inputRef,
2049
2381
  innerEditableRef,
2050
- className: styles$1[`${baseClass$3}__content`],
2382
+ className: styles$2[`${baseClass$8}__content`],
2051
2383
  change: (newValue) => update(index2, newValue),
2052
2384
  remove: removeTag,
2053
2385
  validator
2054
2386
  }));
2055
2387
  };
2056
- const baseClass$2 = "tag-input";
2388
+ const baseClass$7 = "tag-input";
2057
2389
  const tagSeparatorKeys = [
2058
2390
  KeyCodes.enter,
2059
2391
  KeyCodes.spacebar,
@@ -2070,10 +2402,10 @@ const TagInput = ({
2070
2402
  placeholder,
2071
2403
  size = "medium"
2072
2404
  }) => {
2073
- const mergedClassNames = cx(styles$1[baseClass$2], {
2074
- [styles$1[`${baseClass$2}--error`]]: error
2405
+ const mergedClassNames = cx(styles$2[baseClass$7], {
2406
+ [styles$2[`${baseClass$7}--error`]]: error
2075
2407
  });
2076
- const inputClassNames = cx(styles$1[`${baseClass$2}__input`], styles$1[`${baseClass$2}__input--${size}`]);
2408
+ const inputClassNames = cx(styles$2[`${baseClass$7}__input`], styles$2[`${baseClass$7}__input--${size}`]);
2077
2409
  const [inputValue, setInputValue] = React.useState("");
2078
2410
  const inputRef = React.useRef(null);
2079
2411
  const addTag = (value) => {
@@ -2162,7 +2494,7 @@ const toast__content = "lc-Toast-module__toast__content___HjaNw";
2162
2494
  const toast__icon = "lc-Toast-module__toast__icon___wLbLu";
2163
2495
  const toast__close = "lc-Toast-module__toast__close___O18Lh";
2164
2496
  const toast__actions = "lc-Toast-module__toast__actions___JWu-1";
2165
- var styles = {
2497
+ var styles$1 = {
2166
2498
  toast,
2167
2499
  toast__content,
2168
2500
  toast__icon,
@@ -2192,7 +2524,7 @@ var styles = {
2192
2524
  "toast-exit--fade": "lc-Toast-module__toast-exit--fade___iDA1p",
2193
2525
  "toast-exit-active--fade": "lc-Toast-module__toast-exit-active--fade___tL7sb"
2194
2526
  };
2195
- const baseClass$1 = "toast";
2527
+ const baseClass$6 = "toast";
2196
2528
  const IconConfig = {
2197
2529
  success: {
2198
2530
  source: CheckCircleSolid,
@@ -2206,11 +2538,11 @@ const IconConfig = {
2206
2538
  kind: "inverted"
2207
2539
  },
2208
2540
  info: {
2209
- source: Info,
2541
+ source: Info$1,
2210
2542
  kind: "inverted"
2211
2543
  },
2212
2544
  notification: {
2213
- source: Info,
2545
+ source: Info$1,
2214
2546
  kind: "link"
2215
2547
  }
2216
2548
  };
@@ -2222,7 +2554,7 @@ const Toast = ({
2222
2554
  kind = "info",
2223
2555
  onClose
2224
2556
  }) => {
2225
- const mergedClassNames = cx(styles[baseClass$1], styles[`${baseClass$1}--${kind}`], className);
2557
+ const mergedClassNames = cx(styles$1[baseClass$6], styles$1[`${baseClass$6}--${kind}`], className);
2226
2558
  const onActionClick = (action2) => {
2227
2559
  if (action2 && action2.closeOnClick && onClose) {
2228
2560
  action2.handler();
@@ -2233,16 +2565,16 @@ const Toast = ({
2233
2565
  return /* @__PURE__ */ React.createElement("div", {
2234
2566
  className: mergedClassNames
2235
2567
  }, /* @__PURE__ */ React.createElement("div", {
2236
- className: styles[`${baseClass$1}__icon`]
2568
+ className: styles$1[`${baseClass$6}__icon`]
2237
2569
  }, /* @__PURE__ */ React.createElement(Icon, __spreadValues({}, IconConfig[kind]))), /* @__PURE__ */ React.createElement("div", {
2238
- className: styles[`${baseClass$1}__content`]
2570
+ className: styles$1[`${baseClass$6}__content`]
2239
2571
  }, children), (action || removable) && /* @__PURE__ */ React.createElement("div", {
2240
- className: styles[`${baseClass$1}__actions`]
2572
+ className: styles$1[`${baseClass$6}__actions`]
2241
2573
  }, action && /* @__PURE__ */ React.createElement("button", {
2242
- className: styles[`${baseClass$1}__actions-custom`],
2574
+ className: styles$1[`${baseClass$6}__actions-custom`],
2243
2575
  onClick: () => onActionClick(action)
2244
2576
  }, action.label), removable && /* @__PURE__ */ React.createElement("div", {
2245
- className: styles[`${baseClass$1}__actions-close`],
2577
+ className: styles$1[`${baseClass$6}__actions-close`],
2246
2578
  "aria-label": "Close toast",
2247
2579
  onClick: onClose
2248
2580
  }, /* @__PURE__ */ React.createElement(Icon, {
@@ -2252,7 +2584,7 @@ const Toast = ({
2252
2584
  }))));
2253
2585
  };
2254
2586
  const ANIMATION_TIME = 200;
2255
- const baseClass = "toast-wrapper";
2587
+ const baseClass$5 = "toast-wrapper";
2256
2588
  const ToastWrapper = ({
2257
2589
  className,
2258
2590
  toasts = [],
@@ -2262,11 +2594,11 @@ const ToastWrapper = ({
2262
2594
  verticalPosition = "top",
2263
2595
  horizontalPosition = "center"
2264
2596
  }) => {
2265
- const mergedClassNames = cx(styles[baseClass], {
2266
- [styles[`${baseClass}--fixed`]]: fixed,
2267
- [styles[`${baseClass}--block`]]: !fixed && block,
2268
- [styles[`${baseClass}--horizontal-${horizontalPosition}`]]: horizontalPosition,
2269
- [styles[`${baseClass}--vertical-${verticalPosition}`]]: verticalPosition
2597
+ const mergedClassNames = cx(styles$1[baseClass$5], {
2598
+ [styles$1[`${baseClass$5}--fixed`]]: fixed,
2599
+ [styles$1[`${baseClass$5}--block`]]: !fixed && block,
2600
+ [styles$1[`${baseClass$5}--horizontal-${horizontalPosition}`]]: horizontalPosition,
2601
+ [styles$1[`${baseClass$5}--vertical-${verticalPosition}`]]: verticalPosition
2270
2602
  }, className);
2271
2603
  return /* @__PURE__ */ React.createElement("div", {
2272
2604
  className: mergedClassNames
@@ -2275,10 +2607,10 @@ const ToastWrapper = ({
2275
2607
  }, toasts.map(({ id, kind, content, removable, action, onClose }) => /* @__PURE__ */ React.createElement(CSSTransition, {
2276
2608
  key: id,
2277
2609
  classNames: {
2278
- enter: styles[`toast-appear--${animationType}`],
2279
- enterActive: styles[`toast-appear-active--${animationType}`],
2280
- exit: styles[`toast-exit--${animationType}`],
2281
- exitActive: styles[`toast-exit-active--${animationType}`]
2610
+ enter: styles$1[`toast-appear--${animationType}`],
2611
+ enterActive: styles$1[`toast-appear-active--${animationType}`],
2612
+ exit: styles$1[`toast-exit--${animationType}`],
2613
+ exitActive: styles$1[`toast-exit-active--${animationType}`]
2282
2614
  },
2283
2615
  timeout: ANIMATION_TIME
2284
2616
  }, /* @__PURE__ */ React.createElement(Toast, {
@@ -2288,4 +2620,471 @@ const ToastWrapper = ({
2288
2620
  action
2289
2621
  }, content)))));
2290
2622
  };
2291
- export { ANIMATION_TIME, ActionModal, Alert, Badge, Button, ButtonGroup, Card, Checkbox, CheckboxField, DesignTokens, EmailTagInput, FieldDescription, FieldError, FieldGroup, Form, FormGroup, Heading, Icon, InputField, Link, Loader, Modal, ModalBase, ModalCloseButton, ModalPortal, NumericInput, NumericInputField, Popover, ProgressBar, ProgressCircle, PromoBanner, RadioButton, SearchInput, Switch, Tab, TabsList, TabsWrapper, Tag, TagInput, Text, TextField, Toast, ToastWrapper };
2623
+ const tooltip = "lc-Tooltip-module__tooltip___QOOAr";
2624
+ const tooltip__arrow = "lc-Tooltip-module__tooltip__arrow___Ov1YW";
2625
+ var styles = {
2626
+ tooltip,
2627
+ "tooltip--invert": "lc-Tooltip-module__tooltip--invert___PVjhE",
2628
+ "tooltip--important": "lc-Tooltip-module__tooltip--important___X-IMK",
2629
+ tooltip__arrow,
2630
+ "tooltip-header": "lc-Tooltip-module__tooltip-header___QV0Vd",
2631
+ "tooltip-image": "lc-Tooltip-module__tooltip-image___Aorwg",
2632
+ "tooltip-text": "lc-Tooltip-module__tooltip-text___FB8OV",
2633
+ "tooltip-close": "lc-Tooltip-module__tooltip-close___3r3h9",
2634
+ "tooltip-step": "lc-Tooltip-module__tooltip-step___-j0n8",
2635
+ "guide-tooltip--slide": "lc-Tooltip-module__guide-tooltip--slide___Uawm2",
2636
+ "guide-tooltip__overlay": "lc-Tooltip-module__guide-tooltip__overlay___IyrKK",
2637
+ "guide-tooltip__overlay--slide": "lc-Tooltip-module__guide-tooltip__overlay--slide___VW8oq",
2638
+ "guide-tooltip__overlay--visible": "lc-Tooltip-module__guide-tooltip__overlay--visible___dbdsZ"
2639
+ };
2640
+ const sleep = (milliseconds) => {
2641
+ return new Promise((resolve) => setTimeout(resolve, milliseconds));
2642
+ };
2643
+ const baseClass$4 = "tooltip";
2644
+ const Tooltip = (props) => {
2645
+ const {
2646
+ triggerRenderer,
2647
+ referenceElement,
2648
+ children,
2649
+ className,
2650
+ theme,
2651
+ placement,
2652
+ isVisible,
2653
+ withFadeAnimation = true,
2654
+ transitionDuration = 200,
2655
+ transitionDelay = 0,
2656
+ hoverOutDelayTimeout = 100,
2657
+ offsetMainAxis = 8,
2658
+ triggerOnClick = false,
2659
+ arrowOffsetY,
2660
+ arrowOffsetX,
2661
+ onOpen,
2662
+ onClose
2663
+ } = props;
2664
+ const isManaged = isVisible !== void 0;
2665
+ const arrowRef = React.useRef(null);
2666
+ const [visible, setVisibility] = React.useState(isVisible);
2667
+ const isHovered = React.useRef(false);
2668
+ const {
2669
+ x,
2670
+ y,
2671
+ reference,
2672
+ floating,
2673
+ strategy,
2674
+ update,
2675
+ refs,
2676
+ placement: updatedPlacement,
2677
+ middlewareData: { arrow: { x: arrowX, y: arrowY } = {} }
2678
+ } = useFloating({
2679
+ middleware: [
2680
+ offset({ mainAxis: offsetMainAxis }),
2681
+ arrow({ element: arrowRef }),
2682
+ flip()
2683
+ ],
2684
+ placement
2685
+ });
2686
+ React.useEffect(() => {
2687
+ referenceElement && reference(referenceElement);
2688
+ }, [reference, referenceElement]);
2689
+ React.useEffect(() => {
2690
+ setVisibility(isVisible);
2691
+ }, [isVisible]);
2692
+ React.useEffect(() => {
2693
+ document.addEventListener("keydown", handleCloseAction);
2694
+ return () => {
2695
+ document.removeEventListener("keydown", handleCloseAction);
2696
+ };
2697
+ }, []);
2698
+ React.useEffect(() => {
2699
+ if (!refs.reference.current || !refs.floating.current) {
2700
+ return;
2701
+ }
2702
+ return autoUpdate(refs.reference.current, refs.floating.current, update);
2703
+ }, [refs.reference, refs.floating, update, updatedPlacement, visible]);
2704
+ const handleMouseLeave = () => {
2705
+ if (triggerOnClick || isManaged)
2706
+ return;
2707
+ isHovered.current = false;
2708
+ void sleep(hoverOutDelayTimeout).then(() => {
2709
+ if (!isHovered.current) {
2710
+ setVisibility(false);
2711
+ }
2712
+ });
2713
+ };
2714
+ const handleOpen = () => {
2715
+ if (onOpen)
2716
+ onOpen();
2717
+ if (!isManaged) {
2718
+ setVisibility(true);
2719
+ }
2720
+ };
2721
+ const handleClose = () => {
2722
+ if (onClose)
2723
+ onClose();
2724
+ if (!isManaged) {
2725
+ setVisibility(false);
2726
+ }
2727
+ };
2728
+ const handleMouseEnter = () => {
2729
+ if (triggerOnClick || isManaged)
2730
+ return;
2731
+ isHovered.current = true;
2732
+ setVisibility(true);
2733
+ };
2734
+ const handleCloseAction = (event) => {
2735
+ if (event instanceof KeyboardEvent && event.key === "Escape") {
2736
+ handleClose();
2737
+ }
2738
+ if (event.type === "click") {
2739
+ handleClose();
2740
+ }
2741
+ };
2742
+ const handleClick = () => {
2743
+ if (isManaged)
2744
+ return;
2745
+ if (visible) {
2746
+ handleClose();
2747
+ } else {
2748
+ handleOpen();
2749
+ }
2750
+ };
2751
+ const top = arrowOffsetY && arrowY ? arrowY + arrowOffsetY : arrowY;
2752
+ const left = arrowOffsetX && arrowX ? arrowX + arrowOffsetX : arrowX;
2753
+ const mergedClassNames = cx(styles[baseClass$4], className, {
2754
+ [styles[`${baseClass$4}--invert`]]: theme === "invert",
2755
+ [styles[`${baseClass$4}--important`]]: theme === "important"
2756
+ });
2757
+ const floatingComponent = /* @__PURE__ */ React.createElement("div", {
2758
+ ref: floating,
2759
+ style: {
2760
+ position: strategy,
2761
+ top: y != null ? y : "",
2762
+ left: x != null ? x : ""
2763
+ },
2764
+ className: mergedClassNames,
2765
+ onMouseEnter: handleMouseEnter,
2766
+ onMouseLeave: handleMouseLeave
2767
+ }, React.Children.map(children, (child) => {
2768
+ if (React.isValidElement(child)) {
2769
+ return React.cloneElement(child, __spreadValues({
2770
+ handleCloseAction,
2771
+ theme
2772
+ }, child.props));
2773
+ }
2774
+ return null;
2775
+ }), /* @__PURE__ */ React.createElement("div", {
2776
+ ref: arrowRef,
2777
+ className: cx([styles[`${baseClass$4}__arrow`]]),
2778
+ "data-arrow-placement": updatedPlacement,
2779
+ style: { top, left }
2780
+ }));
2781
+ function renderFloatingComponent() {
2782
+ if (withFadeAnimation) {
2783
+ const enter = css`
2784
+ opacity: 0;
2785
+ `;
2786
+ const enterActive = css`
2787
+ opacity: 1;
2788
+ transition-property: opacity;
2789
+ transition-duration: ${transitionDuration}ms;
2790
+ transition-delay: ${transitionDelay}ms;
2791
+ `;
2792
+ const exit = css`
2793
+ opacity: 1;
2794
+ `;
2795
+ const exitActive = css`
2796
+ opacity: 0;
2797
+ transition-property: opacity;
2798
+ transition-duration: ${transitionDuration}ms;
2799
+ transition-delay: ${transitionDelay}ms;
2800
+ `;
2801
+ const timeout = transitionDuration + transitionDelay;
2802
+ return /* @__PURE__ */ React.createElement(CSSTransition, {
2803
+ in: visible,
2804
+ mountOnEnter: true,
2805
+ unmountOnExit: true,
2806
+ timeout,
2807
+ classNames: {
2808
+ enter,
2809
+ enterActive,
2810
+ exit,
2811
+ exitActive
2812
+ }
2813
+ }, floatingComponent);
2814
+ } else {
2815
+ return visible && floatingComponent;
2816
+ }
2817
+ }
2818
+ if (referenceElement) {
2819
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, renderFloatingComponent());
2820
+ }
2821
+ const referenceOptions = () => {
2822
+ if (!isManaged) {
2823
+ if (triggerOnClick) {
2824
+ return {
2825
+ onClick: handleClick
2826
+ };
2827
+ } else {
2828
+ return {
2829
+ onMouseEnter: handleMouseEnter,
2830
+ onMouseLeave: handleMouseLeave
2831
+ };
2832
+ }
2833
+ }
2834
+ };
2835
+ const triggerElement = /* @__PURE__ */ React.createElement("div", __spreadValues({
2836
+ ref: reference
2837
+ }, referenceOptions()), triggerRenderer());
2838
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, triggerElement, renderFloatingComponent());
2839
+ };
2840
+ const Simple = ({ text }) => {
2841
+ return /* @__PURE__ */ React.createElement("div", null, text);
2842
+ };
2843
+ function getIconType(theme) {
2844
+ switch (theme) {
2845
+ case "invert":
2846
+ return "inverted";
2847
+ case "important":
2848
+ return "subtle";
2849
+ default:
2850
+ return "primary";
2851
+ }
2852
+ }
2853
+ const baseClass$3 = "tooltip";
2854
+ const Info = ({ header, text, closeWithX, theme, handleCloseAction }) => {
2855
+ return /* @__PURE__ */ React.createElement("div", {
2856
+ style: { position: "relative" }
2857
+ }, closeWithX && /* @__PURE__ */ React.createElement("div", {
2858
+ className: styles[`${baseClass$3}-close`],
2859
+ onClick: handleCloseAction
2860
+ }, /* @__PURE__ */ React.createElement(Icon, {
2861
+ source: Close,
2862
+ kind: theme ? getIconType(theme) : "primary"
2863
+ })), header && /* @__PURE__ */ React.createElement("div", {
2864
+ className: styles[`${baseClass$3}-header`]
2865
+ }, header), /* @__PURE__ */ React.createElement("div", {
2866
+ className: styles[`${baseClass$3}-text`]
2867
+ }, text));
2868
+ };
2869
+ const baseClass$2 = "tooltip";
2870
+ const Interactive = ({
2871
+ header,
2872
+ text,
2873
+ image,
2874
+ closeWithX,
2875
+ theme,
2876
+ handleCloseAction,
2877
+ handleClickPrimary,
2878
+ handleClickSecondary
2879
+ }) => {
2880
+ const decoration = theme === "invert" ? "underline" : "none";
2881
+ return /* @__PURE__ */ React.createElement("div", {
2882
+ style: { width: "270px" }
2883
+ }, /* @__PURE__ */ React.createElement("div", {
2884
+ style: { position: "relative", height: "25px", marginBottom: "10px" }
2885
+ }, closeWithX && /* @__PURE__ */ React.createElement("div", {
2886
+ className: styles[`${baseClass$2}-close`]
2887
+ }, /* @__PURE__ */ React.createElement("div", {
2888
+ onClick: handleCloseAction
2889
+ }, /* @__PURE__ */ React.createElement(Icon, {
2890
+ source: Close,
2891
+ kind: theme ? getIconType(theme) : "primary"
2892
+ })))), image && /* @__PURE__ */ React.createElement("div", {
2893
+ style: { margin: "0 4px" }
2894
+ }, /* @__PURE__ */ React.createElement("img", {
2895
+ className: styles[`${baseClass$2}-image`],
2896
+ src: image.src,
2897
+ alt: image.alt
2898
+ })), header && /* @__PURE__ */ React.createElement("div", {
2899
+ className: styles[`${baseClass$2}-header`]
2900
+ }, header), /* @__PURE__ */ React.createElement("div", {
2901
+ className: styles[`${baseClass$2}-text`]
2902
+ }, text), /* @__PURE__ */ React.createElement("div", {
2903
+ style: { margin: "4px" }
2904
+ }, /* @__PURE__ */ React.createElement(Button, {
2905
+ kind: "primary",
2906
+ onClick: handleClickPrimary
2907
+ }, "Primary button"), /* @__PURE__ */ React.createElement("div", {
2908
+ onClick: handleClickSecondary,
2909
+ style: {
2910
+ cursor: "pointer",
2911
+ display: "inline-block",
2912
+ marginLeft: "16px",
2913
+ textDecoration: decoration
2914
+ }
2915
+ }, "Link")));
2916
+ };
2917
+ const baseClass$1 = "guide-tooltip";
2918
+ const SpotlightOverlay = ({
2919
+ gap,
2920
+ isVisible,
2921
+ slide,
2922
+ disablePointerEvents
2923
+ }) => {
2924
+ if (!gap)
2925
+ return null;
2926
+ const overlayLeft = {
2927
+ top: `${gap.top}px`,
2928
+ left: "0",
2929
+ width: `${gap.left}px`,
2930
+ height: `${gap.height}px`
2931
+ };
2932
+ const overlayRight = {
2933
+ top: `${gap.top}px`,
2934
+ left: `${gap.right}px`,
2935
+ width: `calc(100% - ${gap.right}px)`,
2936
+ height: `${gap.height}px`
2937
+ };
2938
+ const overlayTop = {
2939
+ top: "0",
2940
+ left: "0",
2941
+ width: "100%",
2942
+ height: `${gap.top}px`
2943
+ };
2944
+ const overlayBottom = {
2945
+ top: `${gap.bottom}px`,
2946
+ left: "0",
2947
+ width: "100%",
2948
+ height: `calc(100% - ${gap.bottom}px)`
2949
+ };
2950
+ const spotlight = {
2951
+ top: `${gap.top}px`,
2952
+ left: `${gap.left}px`,
2953
+ width: `${gap.width}px`,
2954
+ height: `${gap.height}px`,
2955
+ backgroundColor: "transparent"
2956
+ };
2957
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
2958
+ className: cx({
2959
+ [styles[`${baseClass$1}__overlay`]]: true,
2960
+ [styles[`${baseClass$1}__overlay--visible`]]: isVisible,
2961
+ [styles[`${baseClass$1}__overlay--slide`]]: slide
2962
+ }),
2963
+ style: overlayLeft
2964
+ }), /* @__PURE__ */ React.createElement("div", {
2965
+ className: cx({
2966
+ [styles[`${baseClass$1}__overlay`]]: true,
2967
+ [styles[`${baseClass$1}__overlay--visible`]]: isVisible,
2968
+ [styles[`${baseClass$1}__overlay--slide`]]: slide
2969
+ }),
2970
+ style: overlayTop
2971
+ }), /* @__PURE__ */ React.createElement("div", {
2972
+ className: cx({
2973
+ [styles[`${baseClass$1}__overlay`]]: true,
2974
+ [styles[`${baseClass$1}__overlay--visible`]]: isVisible,
2975
+ [styles[`${baseClass$1}__overlay--slide`]]: slide
2976
+ }),
2977
+ style: overlayRight
2978
+ }), /* @__PURE__ */ React.createElement("div", {
2979
+ className: cx({
2980
+ [styles[`${baseClass$1}__overlay`]]: true,
2981
+ [styles[`${baseClass$1}__overlay--visible`]]: isVisible,
2982
+ [styles[`${baseClass$1}__overlay--slide`]]: slide
2983
+ }),
2984
+ style: overlayBottom
2985
+ }), disablePointerEvents && /* @__PURE__ */ React.createElement("div", {
2986
+ className: cx({
2987
+ [styles[`${baseClass$1}__overlay`]]: true,
2988
+ [styles[`${baseClass$1}__overlay--visible`]]: isVisible,
2989
+ [styles[`${baseClass$1}__overlay--slide`]]: slide
2990
+ }),
2991
+ style: spotlight
2992
+ }));
2993
+ };
2994
+ class VirtualReference {
2995
+ constructor(element, padding) {
2996
+ __publicField(this, "element");
2997
+ __publicField(this, "padding");
2998
+ this.element = element;
2999
+ this.padding = padding;
3000
+ }
3001
+ addPadding(rect) {
3002
+ const x = Math.round(rect.left) - this.padding;
3003
+ const y = Math.round(rect.top) - this.padding;
3004
+ const width = Math.round(rect.width) + 2 * this.padding;
3005
+ const height = Math.round(rect.height) + 2 * this.padding;
3006
+ const top = y;
3007
+ const left = x;
3008
+ const bottom = top + height;
3009
+ const right = left + width;
3010
+ return {
3011
+ x,
3012
+ y,
3013
+ width,
3014
+ height,
3015
+ top,
3016
+ left,
3017
+ bottom,
3018
+ right
3019
+ };
3020
+ }
3021
+ getBoundingClientRect() {
3022
+ return this.addPadding(this.element.getBoundingClientRect());
3023
+ }
3024
+ get clientWidth() {
3025
+ return this.getBoundingClientRect().width;
3026
+ }
3027
+ get clientHeight() {
3028
+ return this.getBoundingClientRect().height;
3029
+ }
3030
+ }
3031
+ const spotlightPadding = 8;
3032
+ const baseClass = "guide-tooltip";
3033
+ const virtualReference = (element, padding) => new VirtualReference(element, padding);
3034
+ const UserGuide = (props) => {
3035
+ const {
3036
+ className,
3037
+ parentElementName,
3038
+ isVisible = false,
3039
+ shouldSlide = true
3040
+ } = props;
3041
+ const [parentElement, setParentElement] = React.useState(null);
3042
+ const [rect, setRect] = React.useState(null);
3043
+ const [isSliding, setIsSliding] = React.useState(shouldSlide);
3044
+ const handleViewportChange = () => {
3045
+ if (parentElement) {
3046
+ setRect(virtualReference(parentElement, spotlightPadding).getBoundingClientRect());
3047
+ setIsSliding(false);
3048
+ }
3049
+ };
3050
+ React.useEffect(() => {
3051
+ if (parentElement !== null) {
3052
+ window.addEventListener("resize", handleViewportChange);
3053
+ window.addEventListener("scroll", handleViewportChange);
3054
+ return () => {
3055
+ window.addEventListener("resize", handleViewportChange);
3056
+ window.addEventListener("resize", handleViewportChange);
3057
+ };
3058
+ }
3059
+ }, [parentElement, parentElementName]);
3060
+ React.useEffect(() => {
3061
+ if (parentElementName) {
3062
+ const element = document.querySelector(parentElementName);
3063
+ setParentElement(element);
3064
+ }
3065
+ }, [parentElementName]);
3066
+ React.useEffect(() => {
3067
+ parentElement && setRect(virtualReference(parentElement, spotlightPadding).getBoundingClientRect());
3068
+ setIsSliding(true);
3069
+ }, [parentElement]);
3070
+ return parentElement && isVisible ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(SpotlightOverlay, {
3071
+ gap: rect,
3072
+ isVisible,
3073
+ slide: isSliding,
3074
+ disablePointerEvents: true
3075
+ }), /* @__PURE__ */ React.createElement(Tooltip, __spreadProps(__spreadValues({}, props), {
3076
+ referenceElement: {
3077
+ getBoundingClientRect: () => {
3078
+ return rect;
3079
+ },
3080
+ contextElement: parentElement
3081
+ },
3082
+ arrowOffsetY: 25,
3083
+ className: cx({
3084
+ [styles[baseClass]]: true,
3085
+ [styles[`${baseClass}--slide`]]: isSliding,
3086
+ className
3087
+ })
3088
+ }), props.children)) : null;
3089
+ };
3090
+ export { ANIMATION_TIME, ActionModal, Alert, Badge, Button, ButtonGroup, Card, Checkbox, CheckboxField, DesignTokens, EmailTagInput, FieldDescription, FieldError, FieldGroup, Form, FormGroup, Heading, Icon, Info, InputField, Interactive, Link, Loader, Modal, ModalBase, ModalCloseButton, ModalPortal, NumericInput, NumericInputField, Picker, Popover, ProgressBar, ProgressCircle, PromoBanner, RadioButton, SearchInput, Simple, Switch, Tab, TabsList, TabsWrapper, Tag, TagInput, Text, TextField, Toast, ToastWrapper, Tooltip, UserGuide };