@lumx/react 3.20.1-alpha.26 → 3.20.1-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/_internal/{Button-85482487.js → Button-5a87fee9.js} +10 -11
  2. package/_internal/Button-5a87fee9.js.map +1 -0
  3. package/_internal/{ButtonRoot-823f3e9c.js → ButtonRoot-bf682215.js} +2 -2
  4. package/_internal/ButtonRoot-bf682215.js.map +1 -0
  5. package/_internal/{Chip-a34f6905.js → Chip-8d0aae06.js} +8 -11
  6. package/_internal/Chip-8d0aae06.js.map +1 -0
  7. package/_internal/{ClickAwayProvider-7093ba23.js → ClickAwayProvider-1204f237.js} +2 -2
  8. package/_internal/ClickAwayProvider-1204f237.js.map +1 -0
  9. package/_internal/{IconButton-1a22c4c8.js → IconButton-351389b0.js} +5 -5
  10. package/_internal/{IconButton-1a22c4c8.js.map → IconButton-351389b0.js.map} +1 -1
  11. package/_internal/{ImageCaption-a0a6de5c.js → ImageCaption-4109b433.js} +4 -4
  12. package/_internal/{ImageCaption-a0a6de5c.js.map → ImageCaption-4109b433.js.map} +1 -1
  13. package/_internal/{List-54237e0e.js → List-b7882a99.js} +247 -223
  14. package/_internal/List-b7882a99.js.map +1 -0
  15. package/_internal/{PopoverDialog-4ebe79f2.js → PopoverDialog-2e7b9ed5.js} +12 -12
  16. package/_internal/PopoverDialog-2e7b9ed5.js.map +1 -0
  17. package/_internal/{Slides-ae91d12c.js → Slides-83646e84.js} +6 -9
  18. package/_internal/Slides-83646e84.js.map +1 -0
  19. package/_internal/{Thumbnail-0872250e.js → Thumbnail-741501a5.js} +3 -3
  20. package/_internal/{Thumbnail-0872250e.js.map → Thumbnail-741501a5.js.map} +1 -1
  21. package/_internal/components/{alert-dialog-0eeb06ce.js → alert-dialog-5df4f133.js} +6 -6
  22. package/_internal/components/{alert-dialog-0eeb06ce.js.map → alert-dialog-5df4f133.js.map} +1 -1
  23. package/_internal/components/{autocomplete-32170542.js → autocomplete-824c779e.js} +7 -7
  24. package/_internal/components/{autocomplete-32170542.js.map → autocomplete-824c779e.js.map} +1 -1
  25. package/_internal/components/{avatar-d2214a61.js → avatar-69b66f01.js} +3 -3
  26. package/_internal/components/{avatar-d2214a61.js.map → avatar-69b66f01.js.map} +1 -1
  27. package/_internal/components/{badge-8390e590.js → badge-63cd3b1c.js} +2 -2
  28. package/_internal/components/{badge-8390e590.js.map → badge-63cd3b1c.js.map} +1 -1
  29. package/_internal/components/{button-b5818c5a.js → button-eebd4e00.js} +4 -4
  30. package/_internal/components/{button-b5818c5a.js.map → button-eebd4e00.js.map} +1 -1
  31. package/_internal/components/{checkbox-346834f8.js → checkbox-54943a02.js} +5 -5
  32. package/_internal/components/{checkbox-346834f8.js.map → checkbox-54943a02.js.map} +1 -1
  33. package/_internal/components/{chip-e40c5521.js → chip-9ad6b318.js} +3 -3
  34. package/_internal/components/{chip-e40c5521.js.map → chip-9ad6b318.js.map} +1 -1
  35. package/_internal/components/{comment-block-a4997791.js → comment-block-55a4ab3c.js} +4 -4
  36. package/_internal/components/{comment-block-a4997791.js.map → comment-block-55a4ab3c.js.map} +1 -1
  37. package/_internal/components/date-picker-a824a3ae.js +2 -0
  38. package/_internal/components/date-picker-a824a3ae.js.map +1 -0
  39. package/_internal/components/{dialog-ebdb9500.js → dialog-5e6320b8.js} +8 -8
  40. package/_internal/components/dialog-5e6320b8.js.map +1 -0
  41. package/_internal/components/{divider-116af6b9.js → divider-bdf11ba3.js} +2 -2
  42. package/_internal/components/{divider-116af6b9.js.map → divider-bdf11ba3.js.map} +1 -1
  43. package/_internal/components/{drag-handle-6b073866.js → drag-handle-45912fd3.js} +3 -3
  44. package/_internal/components/{drag-handle-6b073866.js.map → drag-handle-45912fd3.js.map} +1 -1
  45. package/_internal/components/{dropdown-0baed51b.js → dropdown-0216211d.js} +6 -6
  46. package/_internal/components/{dropdown-0baed51b.js.map → dropdown-0216211d.js.map} +1 -1
  47. package/_internal/components/{expansion-panel-80edf6c9.js → expansion-panel-3ce73c6b.js} +8 -8
  48. package/_internal/components/expansion-panel-3ce73c6b.js.map +1 -0
  49. package/_internal/components/{flag-7c9d3abf.js → flag-1b177f78.js} +4 -4
  50. package/_internal/components/{flag-7c9d3abf.js.map → flag-1b177f78.js.map} +1 -1
  51. package/_internal/components/{flex-box-55144e5f.js → flex-box-93b97715.js} +3 -3
  52. package/_internal/components/flex-box-93b97715.js.map +1 -0
  53. package/_internal/components/{generic-block-ff0509ee.js → generic-block-925f7c5b.js} +16 -12
  54. package/_internal/components/generic-block-925f7c5b.js.map +1 -0
  55. package/_internal/components/{grid-6f1b5a41.js → grid-95fd1493.js} +2 -2
  56. package/_internal/components/{grid-6f1b5a41.js.map → grid-95fd1493.js.map} +1 -1
  57. package/_internal/components/{grid-column-f01df853.js → grid-column-43f28cfb.js} +3 -4
  58. package/_internal/components/grid-column-43f28cfb.js.map +1 -0
  59. package/_internal/components/{heading-d4c66a34.js → heading-45d6e78e.js} +3 -3
  60. package/_internal/components/{heading-d4c66a34.js.map → heading-45d6e78e.js.map} +1 -1
  61. package/_internal/components/icon-79195151.js +2 -0
  62. package/_internal/components/icon-79195151.js.map +1 -0
  63. package/_internal/components/{image-block-755d8b96.js → image-block-aba6d2db.js} +4 -4
  64. package/_internal/components/{image-block-755d8b96.js.map → image-block-aba6d2db.js.map} +1 -1
  65. package/_internal/components/{image-lightbox-d31dcd8a.js → image-lightbox-8b8e77c2.js} +9 -9
  66. package/_internal/components/{image-lightbox-d31dcd8a.js.map → image-lightbox-8b8e77c2.js.map} +1 -1
  67. package/_internal/components/{inline-list-e6f19a98.js → inline-list-dfb9fd34.js} +2 -2
  68. package/_internal/components/{inline-list-e6f19a98.js.map → inline-list-dfb9fd34.js.map} +1 -1
  69. package/_internal/components/{input-helper-64153099.js → input-helper-c8a0078b.js} +2 -2
  70. package/_internal/components/{input-helper-64153099.js.map → input-helper-c8a0078b.js.map} +1 -1
  71. package/_internal/components/{input-label-2feb0bb0.js → input-label-9711398b.js} +2 -2
  72. package/_internal/components/{input-label-2feb0bb0.js.map → input-label-9711398b.js.map} +1 -1
  73. package/_internal/components/{lightbox-9dbd7c15.js → lightbox-894abe64.js} +6 -6
  74. package/_internal/components/{lightbox-9dbd7c15.js.map → lightbox-894abe64.js.map} +1 -1
  75. package/_internal/components/{link-f9421eab.js → link-e70e64ed.js} +4 -4
  76. package/_internal/components/{link-f9421eab.js.map → link-e70e64ed.js.map} +1 -1
  77. package/_internal/components/{link-preview-5c7e3878.js → link-preview-e56f3570.js} +4 -4
  78. package/_internal/components/{link-preview-5c7e3878.js.map → link-preview-e56f3570.js.map} +1 -1
  79. package/_internal/components/{list-b08d8423.js → list-59b7ce56.js} +3 -3
  80. package/_internal/components/{list-b08d8423.js.map → list-59b7ce56.js.map} +1 -1
  81. package/_internal/components/{message-b3957df0.js → message-a255dfd3.js} +4 -4
  82. package/_internal/components/{message-b3957df0.js.map → message-a255dfd3.js.map} +1 -1
  83. package/_internal/components/{mosaic-742a9109.js → mosaic-192f2270.js} +4 -5
  84. package/_internal/components/mosaic-192f2270.js.map +1 -0
  85. package/_internal/components/{navigation-b1cd43c3.js → navigation-dfe8aac0.js} +7 -7
  86. package/_internal/components/{navigation-b1cd43c3.js.map → navigation-dfe8aac0.js.map} +1 -1
  87. package/_internal/components/{notification-94679f51.js → notification-10f289b5.js} +5 -8
  88. package/_internal/components/notification-10f289b5.js.map +1 -0
  89. package/_internal/components/popover-6c7f745b.js +3 -0
  90. package/_internal/components/popover-6c7f745b.js.map +1 -0
  91. package/_internal/components/{post-block-3ac52237.js → post-block-f7dcc6e9.js} +13 -13
  92. package/_internal/components/post-block-f7dcc6e9.js.map +1 -0
  93. package/_internal/components/{progress-f39c3fa2.js → progress-7a05fb0c.js} +2 -2
  94. package/_internal/components/{progress-f39c3fa2.js.map → progress-7a05fb0c.js.map} +1 -1
  95. package/_internal/components/{progress-tracker-997931ac.js → progress-tracker-48876add.js} +5 -5
  96. package/_internal/components/{progress-tracker-997931ac.js.map → progress-tracker-48876add.js.map} +1 -1
  97. package/_internal/components/{radio-button-559a4863.js → radio-button-07cf45e9.js} +4 -4
  98. package/_internal/components/{radio-button-559a4863.js.map → radio-button-07cf45e9.js.map} +1 -1
  99. package/_internal/components/{select-f3b44cb6.js → select-8b54a444.js} +13 -14
  100. package/_internal/components/select-8b54a444.js.map +1 -0
  101. package/_internal/components/{side-navigation-414825d8.js → side-navigation-7eeed3b4.js} +6 -7
  102. package/_internal/components/side-navigation-7eeed3b4.js.map +1 -0
  103. package/_internal/components/{skeleton-c66516ee.js → skeleton-a4e84085.js} +2 -2
  104. package/_internal/components/{skeleton-c66516ee.js.map → skeleton-a4e84085.js.map} +1 -1
  105. package/_internal/components/{slider-efbfbc45.js → slider-5d64b470.js} +4 -4
  106. package/_internal/components/{slider-efbfbc45.js.map → slider-5d64b470.js.map} +1 -1
  107. package/_internal/components/{slideshow-dc4b79ae.js → slideshow-bce65cf6.js} +4 -4
  108. package/_internal/components/{slideshow-dc4b79ae.js.map → slideshow-bce65cf6.js.map} +1 -1
  109. package/_internal/components/{switch-769a2a04.js → switch-7ae55d89.js} +5 -6
  110. package/_internal/components/switch-7ae55d89.js.map +1 -0
  111. package/_internal/components/{table-c43ec4a5.js → table-5bdf4aec.js} +3 -3
  112. package/_internal/components/{table-c43ec4a5.js.map → table-5bdf4aec.js.map} +1 -1
  113. package/_internal/components/{tabs-4037fe57.js → tabs-2ad54592.js} +4 -4
  114. package/_internal/components/{tabs-4037fe57.js.map → tabs-2ad54592.js.map} +1 -1
  115. package/_internal/components/text-09c81111.js +2 -0
  116. package/_internal/components/text-09c81111.js.map +1 -0
  117. package/_internal/components/{text-field-0a15a15d.js → text-field-3e1030f0.js} +7 -8
  118. package/_internal/components/text-field-3e1030f0.js.map +1 -0
  119. package/_internal/components/{thumbnail-f1784929.js → thumbnail-1c5828b9.js} +2 -2
  120. package/_internal/components/{thumbnail-f1784929.js.map → thumbnail-1c5828b9.js.map} +1 -1
  121. package/_internal/components/{toolbar-a43533a2.js → toolbar-0d14efb7.js} +2 -2
  122. package/_internal/components/{toolbar-a43533a2.js.map → toolbar-0d14efb7.js.map} +1 -1
  123. package/_internal/components/{tooltip-2885ab2e.js → tooltip-31181a24.js} +4 -4
  124. package/_internal/components/{tooltip-2885ab2e.js.map → tooltip-31181a24.js.map} +1 -1
  125. package/_internal/components/{uploader-7bc3adaa.js → uploader-845b2412.js} +3 -3
  126. package/_internal/components/{uploader-7bc3adaa.js.map → uploader-845b2412.js.map} +1 -1
  127. package/_internal/components/{user-block-5f7b09af.js → user-block-91c30797.js} +12 -13
  128. package/_internal/components/user-block-91c30797.js.map +1 -0
  129. package/_internal/{constants-b9e57936.js → constants-9b714e31.js} +145 -133
  130. package/_internal/{constants-b9e57936.js.map → constants-9b714e31.js.map} +1 -1
  131. package/_internal/forwardRef-d0e90329.js +82 -0
  132. package/_internal/{forwardRef-15f62847.js.map → forwardRef-d0e90329.js.map} +1 -1
  133. package/_internal/{index-9df37c0d.js → index-68e1b0af.js} +6 -6
  134. package/_internal/{index-9df37c0d.js.map → index-68e1b0af.js.map} +1 -1
  135. package/_internal/{index-192f8ada.js → index-745f94ee.js} +2 -2
  136. package/_internal/{index-192f8ada.js.map → index-745f94ee.js.map} +1 -1
  137. package/_internal/{index-b06353f2.js → index-ab520e78.js} +3 -3
  138. package/_internal/{index-b06353f2.js.map → index-ab520e78.js.map} +1 -1
  139. package/_internal/{isComponent-78df9309.js → isComponent-b9762ff1.js} +3 -5
  140. package/_internal/isComponent-b9762ff1.js.map +1 -0
  141. package/_internal/{useCallbackOnEscape-ea4d9eb4.js → useCallbackOnEscape-0b220f9c.js} +3 -3
  142. package/_internal/useCallbackOnEscape-0b220f9c.js.map +1 -0
  143. package/_internal/{useFocusTrap-c3c6378b.js → useFocusTrap-3114e5e8.js} +2 -2
  144. package/_internal/{useFocusTrap-c3c6378b.js.map → useFocusTrap-3114e5e8.js.map} +1 -1
  145. package/_internal/{wrapChildrenIconWithSpaces-f1e91251.js → wrapChildrenIconWithSpaces-e6038f72.js} +2 -2
  146. package/_internal/{wrapChildrenIconWithSpaces-f1e91251.js.map → wrapChildrenIconWithSpaces-e6038f72.js.map} +1 -1
  147. package/index.d.ts +4 -15
  148. package/index.js +61 -61
  149. package/package.json +7 -13
  150. package/utils/index.js +1 -1
  151. package/_internal/Button-85482487.js.map +0 -1
  152. package/_internal/ButtonRoot-823f3e9c.js.map +0 -1
  153. package/_internal/Chip-a34f6905.js.map +0 -1
  154. package/_internal/ClickAwayProvider-7093ba23.js.map +0 -1
  155. package/_internal/List-54237e0e.js.map +0 -1
  156. package/_internal/PopoverDialog-4ebe79f2.js.map +0 -1
  157. package/_internal/Slides-ae91d12c.js.map +0 -1
  158. package/_internal/components/date-picker-48a39549.js +0 -2
  159. package/_internal/components/date-picker-48a39549.js.map +0 -1
  160. package/_internal/components/dialog-ebdb9500.js.map +0 -1
  161. package/_internal/components/expansion-panel-80edf6c9.js.map +0 -1
  162. package/_internal/components/flex-box-55144e5f.js.map +0 -1
  163. package/_internal/components/generic-block-ff0509ee.js.map +0 -1
  164. package/_internal/components/grid-column-f01df853.js.map +0 -1
  165. package/_internal/components/icon-7c79ab42.js +0 -2
  166. package/_internal/components/icon-7c79ab42.js.map +0 -1
  167. package/_internal/components/mosaic-742a9109.js.map +0 -1
  168. package/_internal/components/notification-94679f51.js.map +0 -1
  169. package/_internal/components/popover-65bfbc57.js +0 -3
  170. package/_internal/components/popover-65bfbc57.js.map +0 -1
  171. package/_internal/components/post-block-3ac52237.js.map +0 -1
  172. package/_internal/components/select-f3b44cb6.js.map +0 -1
  173. package/_internal/components/side-navigation-414825d8.js.map +0 -1
  174. package/_internal/components/switch-769a2a04.js.map +0 -1
  175. package/_internal/components/text-851c62f8.js +0 -2
  176. package/_internal/components/text-851c62f8.js.map +0 -1
  177. package/_internal/components/text-field-0a15a15d.js.map +0 -1
  178. package/_internal/components/user-block-5f7b09af.js.map +0 -1
  179. package/_internal/forwardRef-15f62847.js +0 -70
  180. package/_internal/isComponent-78df9309.js.map +0 -1
  181. package/_internal/partitionMulti-4daccdd5.js +0 -25
  182. package/_internal/partitionMulti-4daccdd5.js.map +0 -1
  183. package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +0 -1
@@ -1,10 +1,9 @@
1
1
  import { useRef } from 'react';
2
- import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
3
- import isFunction from 'lodash/isFunction';
2
+ import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
4
3
  import { D as DOCUMENT } from '../constants-d0e3f49e.js';
5
4
  import { m as mdiAlert, a as mdiInformation } from '../information-49bbeed3.js';
6
5
  import { m as mdiCheckCircle } from '../check-circle-de24f857.js';
7
- import { m as mdiAlertCircle, I as Icon } from '../index-192f8ada.js';
6
+ import { m as mdiAlertCircle, I as Icon } from '../index-745f94ee.js';
8
7
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
9
8
  import { u as useTransitionVisibility } from '../useTransitionVisibility-321fdbfa.js';
10
9
  import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
@@ -12,7 +11,7 @@ import { u as useTheme } from '../ThemeContext-3181f000.js';
12
11
  import { jsx, jsxs } from 'react/jsx-runtime';
13
12
  import { P as Portal } from '../Portal-3f86608e.js';
14
13
  import { Theme, Size, Emphasis, NOTIFICATION_TRANSITION_DURATION } from '@lumx/core/js/constants';
15
- import { a as Button } from '../Button-85482487.js';
14
+ import { a as Button } from '../Button-5a87fee9.js';
16
15
 
17
16
  /**
18
17
  * Notification icon and colors according to their type.
@@ -90,9 +89,7 @@ const Notification = forwardRef((props, ref) => {
90
89
  const isVisible = useTransitionVisibility(rootRef, !!isOpen, NOTIFICATION_TRANSITION_DURATION);
91
90
  const hasAction = Boolean(onActionClick) && Boolean(actionLabel);
92
91
  const handleCallback = evt => {
93
- if (isFunction(onActionClick)) {
94
- onActionClick();
95
- }
92
+ onActionClick?.();
96
93
  evt.stopPropagation();
97
94
  };
98
95
  if (!type || !isVisible) {
@@ -143,4 +140,4 @@ Notification.className = CLASSNAME;
143
140
  Notification.defaultProps = DEFAULT_PROPS;
144
141
 
145
142
  export { Notification };
146
- //# sourceMappingURL=notification-94679f51.js.map
143
+ //# sourceMappingURL=notification-10f289b5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-10f289b5.js","sources":["../../../src/components/notification/constants.ts","../../../src/components/notification/Notification.tsx"],"sourcesContent":["import { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiInformation } from '@lumx/icons';\n\n/**\n * Notification delay before hiding.\n */\nexport const HIDE_DELAY = 6000;\n\n/**\n * Notification icon and colors according to their type.\n */\nexport const NOTIFICATION_CONFIGURATION = {\n error: {\n color: 'red',\n icon: mdiAlert,\n },\n info: {\n color: 'blue',\n icon: mdiInformation,\n },\n success: {\n color: 'green',\n icon: mdiCheckCircle,\n },\n warning: {\n color: 'yellow',\n icon: mdiAlertCircle,\n },\n};\n","import { useRef } from 'react';\n\nimport classNames from 'classnames';\nimport { Button, Emphasis, Icon, Kind, Size, Theme } from '@lumx/react';\nimport { DOCUMENT, NOTIFICATION_TRANSITION_DURATION } from '@lumx/react/constants';\nimport { NOTIFICATION_CONFIGURATION } from '@lumx/react/components/notification/constants';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTransitionVisibility } from '@lumx/react/hooks/useTransitionVisibility';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { Portal } from '@lumx/react/utils';\n\n/**\n * Defines the props of the component.\n */\nexport interface NotificationProps extends GenericProps, HasTheme {\n /** Action button label. */\n actionLabel?: string;\n /** Content. */\n content?: React.ReactNode;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Notification type. */\n type?: Kind;\n /** Z-axis position. */\n zIndex?: number;\n /** On action button click callback. */\n onActionClick?(): void;\n /** On click callback. */\n onClick?(): void;\n /** Whether the notification should be rendered into a DOM node that exists outside the DOM hierarchy of the parent component. */\n usePortal?: boolean;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Notification';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<NotificationProps> = {\n zIndex: 9999,\n usePortal: true,\n};\n\n/* eslint-disable react-hooks/rules-of-hooks, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\n/**\n * Notification component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Notification = forwardRef<NotificationProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actionLabel,\n className,\n content,\n isOpen,\n onActionClick,\n onClick,\n theme = defaultTheme,\n type,\n zIndex = DEFAULT_PROPS.zIndex,\n usePortal = DEFAULT_PROPS.usePortal,\n style,\n ...forwardedProps\n } = props;\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n const { color, icon } = NOTIFICATION_CONFIGURATION[type as Kind] || {};\n const rootRef = useRef<HTMLDivElement>(null);\n const isVisible = useTransitionVisibility(rootRef, !!isOpen, NOTIFICATION_TRANSITION_DURATION);\n const hasAction: boolean = Boolean(onActionClick) && Boolean(actionLabel);\n\n const handleCallback = (evt: React.MouseEvent) => {\n onActionClick?.();\n evt.stopPropagation();\n };\n\n if (!type || !isVisible) {\n return null;\n }\n\n return (\n <Portal enabled={usePortal}>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}\n <div\n ref={mergeRefs(ref, rootRef)}\n role=\"alert\"\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n color,\n hasAction,\n isHidden: !isOpen,\n prefix: CLASSNAME,\n }),\n )}\n onClick={onClick}\n style={{ ...style, zIndex }}\n >\n <div className={`${CLASSNAME}__icon`}>\n <Icon icon={icon} size={Size.s} />\n </div>\n <div className={`${CLASSNAME}__content`}>{content}</div>\n {hasAction && (\n <div className={`${CLASSNAME}__action`}>\n <Button emphasis={Emphasis.medium} theme={theme} onClick={handleCallback}>\n <span>{actionLabel}</span>\n </Button>\n </div>\n )}\n </div>\n </Portal>\n );\n});\nNotification.displayName = COMPONENT_NAME;\nNotification.className = CLASSNAME;\nNotification.defaultProps = DEFAULT_PROPS;\n"],"names":["NOTIFICATION_CONFIGURATION","error","color","icon","mdiAlert","info","mdiInformation","success","mdiCheckCircle","warning","mdiAlertCircle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","zIndex","usePortal","Notification","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actionLabel","className","content","isOpen","onActionClick","onClick","theme","type","style","forwardedProps","DOCUMENT","rootRef","useRef","isVisible","useTransitionVisibility","NOTIFICATION_TRANSITION_DURATION","hasAction","Boolean","handleCallback","evt","stopPropagation","_jsx","Portal","enabled","children","_jsxs","mergeRefs","role","classNames","handleBasicClasses","isHidden","prefix","Icon","size","Size","s","Button","emphasis","Emphasis","medium","displayName","defaultProps"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { P as Popover } from '../index-68e1b0af.js';
2
+ export { P as Placement } from '../constants-9b714e31.js';
3
+ //# sourceMappingURL=popover-6c7f745b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-6c7f745b.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,11 +1,10 @@
1
- import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
2
- import isObject from 'lodash/isObject';
1
+ import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
3
2
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
4
3
  import { u as useTheme } from '../ThemeContext-3181f000.js';
5
4
  import { jsxs, jsx } from 'react/jsx-runtime';
6
- import { ThumbnailVariant } from './thumbnail-f1784929.js';
5
+ import { ThumbnailVariant } from './thumbnail-1c5828b9.js';
7
6
  import { Orientation, Theme } from '@lumx/core/js/constants';
8
- import { T as Thumbnail } from '../Thumbnail-0872250e.js';
7
+ import { T as Thumbnail } from '../Thumbnail-741501a5.js';
9
8
 
10
9
  /**
11
10
  * Component display name.
@@ -48,6 +47,13 @@ const PostBlock = forwardRef((props, ref) => {
48
47
  title,
49
48
  ...forwardedProps
50
49
  } = props;
50
+
51
+ // Display text as string or HTML
52
+ const textContent = typeof text === 'string' ? {
53
+ children: text
54
+ } : {
55
+ dangerouslySetInnerHTML: text
56
+ };
51
57
  return /*#__PURE__*/jsxs("div", {
52
58
  ref: ref,
53
59
  className: classNames(className, handleBasicClasses({
@@ -76,15 +82,9 @@ const PostBlock = forwardRef((props, ref) => {
76
82
  }), meta && /*#__PURE__*/jsx("span", {
77
83
  className: `${CLASSNAME}__meta`,
78
84
  children: meta
79
- }), isObject(text) && text.__html ?
80
- /*#__PURE__*/
81
- // eslint-disable-next-line react/no-danger
82
- jsx("p", {
83
- dangerouslySetInnerHTML: text,
84
- className: `${CLASSNAME}__text`
85
- }) : /*#__PURE__*/jsx("p", {
85
+ }), /*#__PURE__*/jsx("p", {
86
86
  className: `${CLASSNAME}__text`,
87
- children: text
87
+ ...textContent
88
88
  }), attachments && /*#__PURE__*/jsx("div", {
89
89
  className: `${CLASSNAME}__attachments`,
90
90
  children: attachments
@@ -106,4 +106,4 @@ PostBlock.className = CLASSNAME;
106
106
  PostBlock.defaultProps = DEFAULT_PROPS;
107
107
 
108
108
  export { PostBlock };
109
- //# sourceMappingURL=post-block-3ac52237.js.map
109
+ //# sourceMappingURL=post-block-f7dcc6e9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-block-f7dcc6e9.js","sources":["../../../src/components/post-block/PostBlock.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\nimport { Orientation, Theme, Thumbnail, ThumbnailProps, ThumbnailVariant } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface PostBlockProps extends GenericProps, HasTheme {\n /** Action toolbar content. */\n actions?: ReactNode;\n /** Attachment content. */\n attachments?: ReactNode;\n /** Author content. */\n author?: ReactNode;\n /** Metadata content. */\n meta?: ReactNode;\n /** Orientation. */\n orientation?: Orientation;\n /** Tag content. */\n tags?: ReactNode;\n /** Content (string, or sanitized html). */\n text?: string | { __html: string };\n /** Thumbnail. */\n thumbnailProps?: ThumbnailProps;\n /** Title. */\n title: string;\n /** On click callback. */\n onClick?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'PostBlock';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<PostBlockProps> = {\n orientation: Orientation.horizontal,\n};\n\n/**\n * PostBlock component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const PostBlock = forwardRef<PostBlockProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n actions,\n attachments,\n author,\n className,\n meta,\n onClick,\n orientation = DEFAULT_PROPS.orientation,\n tags,\n text,\n theme = defaultTheme,\n thumbnailProps,\n title,\n ...forwardedProps\n } = props;\n\n // Display text as string or HTML\n const textContent = typeof text === 'string' ? { children: text } : { dangerouslySetInnerHTML: text };\n\n return (\n <div\n ref={ref}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, orientation, theme }))}\n {...forwardedProps}\n >\n {thumbnailProps && (\n <div className={`${CLASSNAME}__thumbnail`}>\n <Thumbnail {...thumbnailProps} theme={theme} variant={ThumbnailVariant.rounded} />\n </div>\n )}\n <div className={`${CLASSNAME}__wrapper`}>\n {author && <div className={`${CLASSNAME}__author`}>{author}</div>}\n\n {title && (\n <button type=\"button\" className={`${CLASSNAME}__title`} onClick={onClick}>\n {title}\n </button>\n )}\n\n {meta && <span className={`${CLASSNAME}__meta`}>{meta}</span>}\n\n <p className={`${CLASSNAME}__text`} {...textContent} />\n\n {attachments && <div className={`${CLASSNAME}__attachments`}>{attachments}</div>}\n {(tags || actions) && (\n <div className={`${CLASSNAME}__toolbar`}>\n {tags && <div className={`${CLASSNAME}__tags`}>{tags}</div>}\n {actions && <div className={`${CLASSNAME}__actions`}>{actions}</div>}\n </div>\n )}\n </div>\n </div>\n );\n});\nPostBlock.displayName = COMPONENT_NAME;\nPostBlock.className = CLASSNAME;\nPostBlock.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","orientation","Orientation","horizontal","PostBlock","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","actions","attachments","author","className","meta","onClick","tags","text","theme","thumbnailProps","title","forwardedProps","textContent","children","dangerouslySetInnerHTML","_jsxs","classNames","handleBasicClasses","prefix","_jsx","Thumbnail","variant","ThumbnailVariant","rounded","type","displayName","defaultProps"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
1
+ import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
2
2
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
3
  import { u as useTheme } from '../ThemeContext-3181f000.js';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -179,4 +179,4 @@ Progress.className = CLASSNAME;
179
179
  Progress.defaultProps = DEFAULT_PROPS;
180
180
 
181
181
  export { Progress, ProgressCircular, ProgressLinear, ProgressVariant };
182
- //# sourceMappingURL=progress-f39c3fa2.js.map
182
+ //# sourceMappingURL=progress-7a05fb0c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-f39c3fa2.js","sources":["../../../src/components/progress/ProgressLinear.tsx","../../../src/components/progress/ProgressCircular.tsx","../../../src/components/progress/Progress.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nexport interface ProgressLinearProps extends GenericProps, HasTheme {}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressLinear';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressLinearProps> = {};\n\n/**\n * ProgressLinear component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressLinear = forwardRef<ProgressLinearProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }))}\n >\n <div className=\"lumx-progress-linear__line1\" />\n <div className=\"lumx-progress-linear__line2\" />\n </div>\n );\n});\nProgressLinear.displayName = COMPONENT_NAME;\nProgressLinear.className = CLASSNAME;\nProgressLinear.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { Theme, Size } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Progress sizes.\n */\nexport type ProgressCircularSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressCircularProps extends GenericProps, HasTheme {\n /**\n * Progress circular size.\n */\n size?: ProgressCircularSize;\n /**\n * Progress display type (inline or block).\n * @default 'block'\n */\n display?: 'inline' | 'block';\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressCircular';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressCircularProps> = {\n size: Size.m,\n display: 'block',\n};\n\n/**\n * ProgressCircularProps component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressCircular = forwardRef<ProgressCircularProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n theme = defaultTheme,\n size = DEFAULT_PROPS.size,\n display = DEFAULT_PROPS.display,\n ...forwardedProps\n } = props;\n const Element = display === 'block' ? 'div' : 'span';\n\n return (\n <Element\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme, size, display }))}\n >\n <Element className=\"lumx-progress-circular__double-bounce1\" />\n <Element className=\"lumx-progress-circular__double-bounce2\" />\n\n <svg className=\"lumx-progress-circular__svg\" viewBox=\"25 25 50 50\">\n <circle className=\"lumx-progress-circular__path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" strokeWidth=\"5\" />\n </svg>\n </Element>\n );\n});\nProgressCircular.displayName = COMPONENT_NAME;\nProgressCircular.className = CLASSNAME;\nProgressCircular.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { ProgressLinear } from './ProgressLinear';\nimport { ProgressCircular } from './ProgressCircular';\n\n/**\n * Progress variants.\n */\nexport const ProgressVariant = { linear: 'linear', circular: 'circular' } as const;\nexport type ProgressVariant = ValueOf<typeof ProgressVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressProps extends GenericProps, HasTheme {\n /** Progress variant. */\n variant?: ProgressVariant;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Progress';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressProps> = {\n variant: ProgressVariant.circular,\n};\n\n/**\n * Progress component.\n *\n * @deprecated use `ProgressLinear` and `ProgressCircular` instead.\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Progress = forwardRef<ProgressProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, variant = DEFAULT_PROPS.variant, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme, variant }))}\n >\n {variant === ProgressVariant.circular && <ProgressCircular theme={theme} />}\n {variant === ProgressVariant.linear && <ProgressLinear theme={theme} />}\n </div>\n );\n});\nProgress.displayName = COMPONENT_NAME;\nProgress.className = CLASSNAME;\nProgress.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","ProgressLinear","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","theme","forwardedProps","_jsxs","classNames","handleBasicClasses","prefix","children","_jsx","displayName","defaultProps","size","Size","m","display","ProgressCircular","Element","viewBox","cx","cy","r","fill","strokeWidth","ProgressVariant","linear","circular","variant","Progress"],"mappings":"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"}
1
+ {"version":3,"file":"progress-7a05fb0c.js","sources":["../../../src/components/progress/ProgressLinear.tsx","../../../src/components/progress/ProgressCircular.tsx","../../../src/components/progress/Progress.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nexport interface ProgressLinearProps extends GenericProps, HasTheme {}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressLinear';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressLinearProps> = {};\n\n/**\n * ProgressLinear component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressLinear = forwardRef<ProgressLinearProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }))}\n >\n <div className=\"lumx-progress-linear__line1\" />\n <div className=\"lumx-progress-linear__line2\" />\n </div>\n );\n});\nProgressLinear.displayName = COMPONENT_NAME;\nProgressLinear.className = CLASSNAME;\nProgressLinear.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { Theme, Size } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Progress sizes.\n */\nexport type ProgressCircularSize = Extract<Size, 'xxs' | 'xs' | 's' | 'm'>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressCircularProps extends GenericProps, HasTheme {\n /**\n * Progress circular size.\n */\n size?: ProgressCircularSize;\n /**\n * Progress display type (inline or block).\n * @default 'block'\n */\n display?: 'inline' | 'block';\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressCircular';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressCircularProps> = {\n size: Size.m,\n display: 'block',\n};\n\n/**\n * ProgressCircularProps component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressCircular = forwardRef<ProgressCircularProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n className,\n theme = defaultTheme,\n size = DEFAULT_PROPS.size,\n display = DEFAULT_PROPS.display,\n ...forwardedProps\n } = props;\n const Element = display === 'block' ? 'div' : 'span';\n\n return (\n <Element\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme, size, display }))}\n >\n <Element className=\"lumx-progress-circular__double-bounce1\" />\n <Element className=\"lumx-progress-circular__double-bounce2\" />\n\n <svg className=\"lumx-progress-circular__svg\" viewBox=\"25 25 50 50\">\n <circle className=\"lumx-progress-circular__path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" strokeWidth=\"5\" />\n </svg>\n </Element>\n );\n});\nProgressCircular.displayName = COMPONENT_NAME;\nProgressCircular.className = CLASSNAME;\nProgressCircular.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { Theme } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { ProgressLinear } from './ProgressLinear';\nimport { ProgressCircular } from './ProgressCircular';\n\n/**\n * Progress variants.\n */\nexport const ProgressVariant = { linear: 'linear', circular: 'circular' } as const;\nexport type ProgressVariant = ValueOf<typeof ProgressVariant>;\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressProps extends GenericProps, HasTheme {\n /** Progress variant. */\n variant?: ProgressVariant;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Progress';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressProps> = {\n variant: ProgressVariant.circular,\n};\n\n/**\n * Progress component.\n *\n * @deprecated use `ProgressLinear` and `ProgressCircular` instead.\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Progress = forwardRef<ProgressProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const { className, theme = defaultTheme, variant = DEFAULT_PROPS.variant, ...forwardedProps } = props;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme, variant }))}\n >\n {variant === ProgressVariant.circular && <ProgressCircular theme={theme} />}\n {variant === ProgressVariant.linear && <ProgressLinear theme={theme} />}\n </div>\n );\n});\nProgress.displayName = COMPONENT_NAME;\nProgress.className = CLASSNAME;\nProgress.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","ProgressLinear","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","theme","forwardedProps","_jsxs","classNames","handleBasicClasses","prefix","children","_jsx","displayName","defaultProps","size","Size","m","display","ProgressCircular","Element","viewBox","cx","cy","r","fill","strokeWidth","ProgressVariant","linear","circular","variant","Progress"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import React__default, { useReducer, useEffect, useCallback } from 'react';
2
2
  import { r as reducer, I as INIT_STATE, T as TabProviderContext, u as useTabProviderContextState, a as useTabProviderContext } from '../state-db358714.js';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
4
+ import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
5
5
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
6
6
  import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
7
7
  import { u as useRovingTabIndex } from '../useRovingTabIndex-7daf0f24.js';
8
8
  import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
9
- import { I as Icon, m as mdiAlertCircle } from '../index-192f8ada.js';
9
+ import { I as Icon, m as mdiAlertCircle } from '../index-745f94ee.js';
10
10
  import { Size, Kind, CSS_PREFIX } from '@lumx/core/js/constants';
11
- import { InputLabel } from './input-label-2feb0bb0.js';
12
- import { InputHelper } from './input-helper-64153099.js';
11
+ import { InputLabel } from './input-label-9711398b.js';
12
+ import { InputHelper } from './input-helper-c8a0078b.js';
13
13
  import { m as mdiCheckCircle } from '../check-circle-de24f857.js';
14
14
  import '../constants-d0e3f49e.js';
15
15
 
@@ -306,4 +306,4 @@ ProgressTrackerStepPanel.className = CLASSNAME;
306
306
  ProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS;
307
307
 
308
308
  export { ProgressTracker, ProgressTrackerProvider, ProgressTrackerStep, ProgressTrackerStepPanel };
309
- //# sourceMappingURL=progress-tracker-997931ac.js.map
309
+ //# sourceMappingURL=progress-tracker-48876add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-tracker-997931ac.js","sources":["../../../../lumx-icons/dist/esm/radiobox-blank.js","../../../../lumx-icons/dist/esm/radiobox-marked.js","../../../src/components/progress-tracker/ProgressTrackerProvider.tsx","../../../src/components/progress-tracker/ProgressTracker.tsx","../../../src/components/progress-tracker/ProgressTrackerStep.tsx","../../../src/components/progress-tracker/ProgressTrackerStepPanel.tsx"],"sourcesContent":["export const mdiRadioboxBlank = /*#__PURE__*/ 'M12 20a8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8 8 8 0 0 1-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';","export const mdiRadioboxMarked = /*#__PURE__*/ 'M12 20a8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8 8 8 0 0 1-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 5a5 5 0 0 0-5 5 5 5 0 0 0 5 5 5 5 0 0 0 5-5 5 5 0 0 0-5-5';","import { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from '../tabs/state';\n\nexport interface ProgressTrackerProviderProps {\n /** Active step index. */\n activeStepIndex?: number;\n /** ProgressTrackerProvider children. */\n children: ReactNode;\n /** Step panel children should not render if the step panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n /** Step change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<ProgressTrackerProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which steps can be defined and linked to their step panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the ProgressTracker and ProgressTrackerPanel\n * components in the react tree.\n *\n * This works exactly as TabProvider so it uses TabProviderContext and tabs state.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const ProgressTrackerProvider: React.FC<ProgressTrackerProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({\n type: 'update',\n payload: {\n ...DEFAULT_PROPS,\n ...propState,\n activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex,\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeStepIndex === state.activeTabIndex) {\n return;\n }\n onChange(state.activeTabIndex);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nProgressTrackerProvider.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\nimport { useTabProviderContextState } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerProps extends GenericProps {\n /** ARIA label (purpose of the set of steps). */\n ['aria-label']: string;\n /** Step list. */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTracker';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerProps> = {};\n\n/**\n * ProgressTracker component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTracker = forwardRef<ProgressTrackerProps, HTMLDivElement>((props, ref) => {\n const { 'aria-label': ariaLabel, children, className, ...forwardedProps } = props;\n const stepListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: stepListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n const state = useTabProviderContextState();\n const numberOfSteps = state?.ids?.tab?.length || 0;\n const backgroundPosition: number = numberOfSteps > 0 ? 100 / (numberOfSteps * 2) : 0;\n const trackPosition: number =\n numberOfSteps > 0 ? ((100 / (numberOfSteps - 1)) * (state?.activeTabIndex || 0)) / 100 : 0;\n\n return (\n <div ref={mergeRefs(ref, stepListRef)} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n <div className={`${CLASSNAME}__steps`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n\n <div\n className={`${CLASSNAME}__background-bar`}\n style={{ left: `${backgroundPosition}%`, right: `${backgroundPosition}%` }}\n />\n\n <div\n className={`${CLASSNAME}__foreground-bar`}\n style={{\n left: `${backgroundPosition}%`,\n right: `${backgroundPosition}%`,\n transform: `scaleX(${trackPosition})`,\n }}\n />\n </div>\n );\n});\nProgressTracker.displayName = COMPONENT_NAME;\nProgressTracker.className = CLASSNAME;\nProgressTracker.defaultProps = DEFAULT_PROPS;\n","import { FocusEventHandler, KeyboardEventHandler, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiRadioboxBlank, mdiRadioboxMarked } from '@lumx/icons';\nimport { Icon, InputHelper, InputLabel, Kind, Size } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { useTabProviderContext } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Whether the step should be in error state or not. */\n hasError?: boolean;\n /** Helper text. */\n helper?: string | null;\n /** Native id property. */\n id?: string;\n /** Whether the current step is active or not. */\n isActive?: boolean;\n /** Whether the current step is completed or not. */\n isComplete?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string | null;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStep';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepProps> = {};\n\n/**\n * ProgressTrackerStep component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStep = forwardRef<ProgressTrackerStepProps, HTMLButtonElement>((props, ref) => {\n const { isAnyDisabled, otherProps } = useDisableStateProps(props);\n const {\n className,\n hasError,\n helper,\n id,\n isActive: propIsActive,\n isComplete,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = otherProps;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isAnyDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isAnyDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter') {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, onKeyPress],\n );\n\n const getIcon = (): string => {\n if (isComplete) {\n return mdiCheckCircle;\n }\n\n if (isActive) {\n return hasError ? mdiAlertCircle : mdiRadioboxMarked;\n }\n\n return mdiRadioboxBlank;\n };\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n hasError,\n isActive,\n isClickable: state && !isAnyDisabled,\n isComplete,\n }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isAnyDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n <Icon className={`${CLASSNAME}__state`} icon={getIcon()} size={Size.s} />\n\n <InputLabel htmlFor={state?.tabId || ''} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n\n {helper && (\n <InputHelper kind={hasError ? Kind.error : Kind.info} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </button>\n );\n});\nProgressTrackerStep.displayName = COMPONENT_NAME;\nProgressTrackerStep.className = CLASSNAME;\nProgressTrackerStep.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepPanelProps extends GenericProps {\n /** Native id property. */\n id?: string;\n /** Whether the step is active or not. */\n isActive?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStepPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-step-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepPanelProps> = {};\n\n/**\n * ProgressTrackerStepPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStepPanel = forwardRef<ProgressTrackerStepPanelProps, HTMLDivElement>((props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n});\nProgressTrackerStepPanel.displayName = COMPONENT_NAME;\nProgressTrackerStepPanel.className = CLASSNAME;\nProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiRadioboxBlank","mdiRadioboxMarked","DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","ProgressTrackerProvider","props","children","onChange","propState","state","dispatch","useReducer","reducer","useEffect","type","payload","activeTabIndex","activeStepIndex","Object","values","_jsx","TabProviderContext","Provider","value","defaultProps","COMPONENT_NAME","CLASSNAME","getRootClassName","ProgressTracker","forwardRef","ref","ariaLabel","className","forwardedProps","stepListRef","React","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","useTabProviderContextState","numberOfSteps","ids","tab","length","backgroundPosition","trackPosition","_jsxs","mergeRefs","classNames","role","style","left","right","transform","displayName","ProgressTrackerStep","isAnyDisabled","otherProps","useDisableStateProps","hasError","helper","id","isActive","propIsActive","isComplete","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","getIcon","mdiCheckCircle","mdiAlertCircle","tabId","handleBasicClasses","prefix","isClickable","onClick","tabPanelId","Icon","icon","size","Size","s","InputLabel","htmlFor","InputHelper","kind","Kind","error","info","CSS_PREFIX","ProgressTrackerStepPanel"],"mappings":";;;;;;;;;;;;;;;AAAO,MAAMA,gBAAgB,GAAiB,2IAA2I;;ACAlL,MAAMC,iBAAiB,GAAiB,uMAAuM;;ACgBtP,MAAMC,eAAoD,GAAG;EACzDC,MAAM,EAAEC,UAAU,CAACD,MAAM;EACzBE,qBAAqB,EAAED,UAAU,CAACC,qBAAAA;AACtC,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,uBAA+D,GAAIC,KAAK,IAAK;EACtF,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC,SAAAA;AAAU,GAAC,GAAGH,KAAK,CAAA;EAClD,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGC,UAAU,CAACC,OAAO,EAAEV,UAAU,CAAC,CAAA;;AAEzD;AACAW,EAAAA,SAAS,CACL,MAAM;AACFH,IAAAA,QAAQ,CAAC;AACLI,MAAAA,IAAI,EAAE,QAAQ;AACdC,MAAAA,OAAO,EAAE;AACL,QAAA,GAAGf,eAAa;AAChB,QAAA,GAAGQ,SAAS;AACZQ,QAAAA,cAAc,EAAER,SAAS,CAACS,eAAe,IAAIf,UAAU,CAACc,cAAAA;AAC5D,OAAA;AACJ,KAAC,CAAC,CAAA;GACL;AACD;EACA,CAACN,QAAQ,EAAE,GAAGQ,MAAM,CAACC,MAAM,CAACX,SAAS,CAAC,CAC1C,CAAC,CAAA;;AAED;AACAK,EAAAA,SAAS,CACL,MAAM;AACF,IAAA,IAAIJ,KAAK,KAAKP,UAAU,IAAI,CAACK,QAAQ,IAAIC,SAAS,CAACS,eAAe,KAAKR,KAAK,CAACO,cAAc,EAAE;AACzF,MAAA,OAAA;AACJ,KAAA;AACAT,IAAAA,QAAQ,CAACE,KAAK,CAACO,cAAc,CAAC,CAAA;GACjC;AACD;AACA,EAAA,CAACT,QAAQ,EAAEE,KAAK,CAACO,cAAc,CACnC,CAAC,CAAA;AAED,EAAA,oBAAOI,GAAA,CAACC,kBAAkB,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE,CAACd,KAAK,EAAEC,QAAQ,CAAE;AAAAJ,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAA8B,CAAC,CAAA;AAC1G,EAAC;AACDF,uBAAuB,CAACoB,YAAY,GAAGxB,eAAa;;AC5CpD;AACA;AACA;AACA,MAAMyB,gBAAc,GAAG,iBAAiB,CAAA;;AAExC;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMzB,eAA4C,GAAG,EAAE,CAAA;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM4B,eAAe,GAAGC,UAAU,CAAuC,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EAC5F,MAAM;AAAE,IAAA,YAAY,EAAEC,SAAS;IAAEzB,QAAQ;IAAE0B,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAG5B,KAAK,CAAA;AACjF,EAAA,MAAM6B,WAAW,GAAGC,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CAAA;AACtCC,EAAAA,iBAAiB,CAAC;AACdC,IAAAA,SAAS,EAAEJ,WAAW;AACtBK,IAAAA,eAAe,EAAE,cAAc;AAC/BC,IAAAA,YAAY,EAAE,KAAK;IACnBC,iBAAiB,EAAE,CAACnC,QAAQ,CAAA;AAChC,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMG,KAAK,GAAGiC,0BAA0B,EAAE,CAAA;EAC1C,MAAMC,aAAa,GAAGlC,KAAK,EAAEmC,GAAG,EAAEC,GAAG,EAAEC,MAAM,IAAI,CAAC,CAAA;AAClD,EAAA,MAAMC,kBAA0B,GAAGJ,aAAa,GAAG,CAAC,GAAG,GAAG,IAAIA,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;EACpF,MAAMK,aAAqB,GACvBL,aAAa,GAAG,CAAC,GAAK,GAAG,IAAIA,aAAa,GAAG,CAAC,CAAC,IAAKlC,KAAK,EAAEO,cAAc,IAAI,CAAC,CAAC,GAAI,GAAG,GAAG,CAAC,CAAA;AAE9F,EAAA,oBACIiC,IAAA,CAAA,KAAA,EAAA;AAAKnB,IAAAA,GAAG,EAAEoB,SAAS,CAACpB,GAAG,EAAEI,WAAW,CAAE;AAAA,IAAA,GAAKD,cAAc;AAAED,IAAAA,SAAS,EAAEmB,UAAU,CAACnB,SAAS,EAAEN,WAAS,CAAE;AAAApB,IAAAA,QAAA,gBACnGc,GAAA,CAAA,KAAA,EAAA;MAAKY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;AAAC0B,MAAAA,IAAI,EAAC,SAAS;AAAC,MAAA,YAAA,EAAYrB,SAAU;AAAAzB,MAAAA,QAAA,EACvEA,QAAAA;KACA,CAAC,eAENc,GAAA,CAAA,KAAA,EAAA;MACIY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAmB,gBAAA,CAAA;AAC1C2B,MAAAA,KAAK,EAAE;QAAEC,IAAI,EAAE,CAAGP,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAAEQ,KAAK,EAAE,GAAGR,kBAAkB,CAAA,CAAA,CAAA;AAAI,OAAA;KAC5E,CAAC,eAEF3B,GAAA,CAAA,KAAA,EAAA;MACIY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAmB,gBAAA,CAAA;AAC1C2B,MAAAA,KAAK,EAAE;QACHC,IAAI,EAAE,CAAGP,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAC9BQ,KAAK,EAAE,CAAGR,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAC/BS,SAAS,EAAE,UAAUR,aAAa,CAAA,CAAA,CAAA;AACtC,OAAA;AAAE,KACL,CAAC,CAAA;AAAA,GACD,CAAC,CAAA;AAEd,CAAC,EAAC;AACFpB,eAAe,CAAC6B,WAAW,GAAGhC,gBAAc,CAAA;AAC5CG,eAAe,CAACI,SAAS,GAAGN,WAAS,CAAA;AACrCE,eAAe,CAACJ,YAAY,GAAGxB,eAAa;;ACnD5C;AACA;AACA;AACA,MAAMyB,gBAAc,GAAG,qBAAqB,CAAA;;AAE5C;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMzB,eAAgD,GAAG,EAAE,CAAA;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0D,mBAAmB,GAAG7B,UAAU,CAA8C,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EACvG,MAAM;IAAE6B,aAAa;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,oBAAoB,CAACxD,KAAK,CAAC,CAAA;EACjE,MAAM;IACF2B,SAAS;IACT8B,QAAQ;IACRC,MAAM;IACNC,EAAE;AACFC,IAAAA,QAAQ,EAAEC,YAAY;IACtBC,UAAU;IACVC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,QAAQ,GAAG,CAAC,CAAC;IACb,GAAGtC,cAAAA;AACP,GAAC,GAAG2B,UAAU,CAAA;AACd,EAAA,MAAMnD,KAAK,GAAG+D,qBAAqB,CAAC,KAAK,EAAER,EAAE,CAAC,CAAA;AAC9C,EAAA,MAAMC,QAAQ,GAAGC,YAAY,IAAIzD,KAAK,EAAEwD,QAAQ,CAAA;AAEhD,EAAA,MAAMQ,kBAAkB,GAAGC,WAAW,CAAC,MAAM;AACzC,IAAA,IAAIf,aAAa,EAAE;AACf,MAAA,OAAA;AACJ,KAAA;IACAlD,KAAK,EAAEkE,WAAW,EAAE,CAAA;AACxB,GAAC,EAAE,CAAChB,aAAa,EAAElD,KAAK,CAAC,CAAC,CAAA;AAE1B,EAAA,MAAMmE,WAA8B,GAAGF,WAAW,CAC7CG,KAAK,IAAK;IACPR,OAAO,GAAGQ,KAAK,CAAC,CAAA;IAChB,IAAIpE,KAAK,EAAEN,qBAAqB,EAAE;AAC9BsE,MAAAA,kBAAkB,EAAE,CAAA;AACxB,KAAA;GACH,EACD,CAACA,kBAAkB,EAAEJ,OAAO,EAAE5D,KAAK,EAAEN,qBAAqB,CAC9D,CAAC,CAAA;AAED,EAAA,MAAM2E,cAAoC,GAAGJ,WAAW,CACnDG,KAAK,IAAK;IACPP,UAAU,GAAGO,KAAK,CAAC,CAAA;AACnB,IAAA,IAAIA,KAAK,CAACE,GAAG,KAAK,OAAO,EAAE;AACvB,MAAA,OAAA;AACJ,KAAA;AACAN,IAAAA,kBAAkB,EAAE,CAAA;AACxB,GAAC,EACD,CAACA,kBAAkB,EAAEH,UAAU,CACnC,CAAC,CAAA;EAED,MAAMU,OAAO,GAAGA,MAAc;AAC1B,IAAA,IAAIb,UAAU,EAAE;AACZ,MAAA,OAAOc,cAAc,CAAA;AACzB,KAAA;AAEA,IAAA,IAAIhB,QAAQ,EAAE;AACV,MAAA,OAAOH,QAAQ,GAAGoB,cAAc,GAAGnF,iBAAiB,CAAA;AACxD,KAAA;AAEA,IAAA,OAAOD,gBAAgB,CAAA;GAC1B,CAAA;AAED,EAAA,oBACImD,IAAA,CAAA,QAAA,EAAA;AACInB,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLG,cAAc;AAClBnB,IAAAA,IAAI,EAAC,QAAQ;IACbkD,EAAE,EAAEvD,KAAK,EAAE0E,KAAM;AACjBnD,IAAAA,SAAS,EAAEmB,UAAU,CACjBnB,SAAS,EACToD,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAE3D,WAAS;MACjBoC,QAAQ;MACRG,QAAQ;AACRqB,MAAAA,WAAW,EAAE7E,KAAK,IAAI,CAACkD,aAAa;AACpCQ,MAAAA,UAAAA;AACJ,KAAC,CACL,CAAE;AACFoB,IAAAA,OAAO,EAAEd,kBAAmB;AAC5BH,IAAAA,UAAU,EAAEQ,cAAe;AAC3BT,IAAAA,OAAO,EAAEO,WAAY;AACrBxB,IAAAA,IAAI,EAAC,KAAK;AACVmB,IAAAA,QAAQ,EAAEN,QAAQ,GAAG,CAAC,GAAGM,QAAS;AAClC,IAAA,eAAA,EAAeZ,aAAc;AAC7B,IAAA,eAAA,EAAeM,QAAS;IACxB,eAAexD,EAAAA,KAAK,EAAE+E,UAAW;IAAAlF,QAAA,EAAA,cAEjCc,GAAA,CAACqE,IAAI,EAAA;MAACzD,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;MAACgE,IAAI,EAAEV,OAAO,EAAG;MAACW,IAAI,EAAEC,IAAI,CAACC,CAAAA;AAAE,KAAE,CAAC,eAEzEzE,GAAA,CAAC0E,UAAU,EAAA;AAACC,MAAAA,OAAO,EAAEtF,KAAK,EAAE0E,KAAK,IAAI,EAAG;MAACnD,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;AAAApB,MAAAA,QAAA,EACrE8D,KAAAA;AAAK,KACE,CAAC,EAEZL,MAAM,iBACH3C,GAAA,CAAC4E,WAAW,EAAA;MAACC,IAAI,EAAEnC,QAAQ,GAAGoC,IAAI,CAACC,KAAK,GAAGD,IAAI,CAACE,IAAK;MAACpE,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAW,QAAA,CAAA;AAAApB,MAAAA,QAAA,EACnFyD,MAAAA;AAAM,KACE,CAChB,CAAA;AAAA,GACG,CAAC,CAAA;AAEjB,CAAC,EAAC;AACFL,mBAAmB,CAACD,WAAW,GAAGhC,gBAAc,CAAA;AAChDiC,mBAAmB,CAAC1B,SAAS,GAAGN,WAAS,CAAA;AACzCgC,mBAAmB,CAAClC,YAAY,GAAGxB,eAAa;;AC1IhD;AACA;AACA;AACA,MAAMyB,cAAc,GAAG,0BAA0B,CAAA;;AAEjD;AACA;AACA;AACA,MAAMC,SAAS,GAAG,CAAG2E,EAAAA,UAAU,CAAa,WAAA,CAAA,CAAA;;AAE5C;AACA;AACA;AACA,MAAMrG,aAAqD,GAAG,EAAE,CAAA;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsG,wBAAwB,GAAGzE,UAAU,CAAgD,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EAC9G,MAAM;IAAExB,QAAQ;IAAE0D,EAAE;IAAEhC,SAAS;AAAEiC,IAAAA,QAAQ,EAAEC,YAAY;IAAE,GAAGjC,cAAAA;AAAe,GAAC,GAAG5B,KAAK,CAAA;AAEpF,EAAA,MAAMI,KAAK,GAAG+D,qBAAqB,CAAC,UAAU,EAAER,EAAE,CAAC,CAAA;AACnD,EAAA,MAAMC,QAAQ,GAAGC,YAAY,IAAIzD,KAAK,EAAEwD,QAAQ,CAAA;AAEhD,EAAA,oBACI7C,GAAA,CAAA,KAAA,EAAA;AACIU,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLG,cAAc;IAClB+B,EAAE,EAAEvD,KAAK,EAAE+E,UAAW;AACtBxD,IAAAA,SAAS,EAAEmB,UAAU,CAACnB,SAAS,EAAEoD,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAE3D,SAAS;AAAEuC,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAE;AACtFb,IAAAA,IAAI,EAAC,UAAU;AACfmB,IAAAA,QAAQ,EAAEN,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAE;IAC5B,iBAAiBxD,EAAAA,KAAK,EAAE0E,KAAM;IAAA7E,QAAA,EAE7B,CAAC,CAACG,KAAK,EAAER,MAAM,IAAIgE,QAAQ,KAAK3D,QAAAA;AAAQ,GACxC,CAAC,CAAA;AAEd,CAAC,EAAC;AACFgG,wBAAwB,CAAC7C,WAAW,GAAGhC,cAAc,CAAA;AACrD6E,wBAAwB,CAACtE,SAAS,GAAGN,SAAS,CAAA;AAC9C4E,wBAAwB,CAAC9E,YAAY,GAAGxB,aAAa;;;;"}
1
+ {"version":3,"file":"progress-tracker-48876add.js","sources":["../../../../lumx-icons/dist/esm/radiobox-blank.js","../../../../lumx-icons/dist/esm/radiobox-marked.js","../../../src/components/progress-tracker/ProgressTrackerProvider.tsx","../../../src/components/progress-tracker/ProgressTracker.tsx","../../../src/components/progress-tracker/ProgressTrackerStep.tsx","../../../src/components/progress-tracker/ProgressTrackerStepPanel.tsx"],"sourcesContent":["export const mdiRadioboxBlank = /*#__PURE__*/ 'M12 20a8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8 8 8 0 0 1-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2';","export const mdiRadioboxMarked = /*#__PURE__*/ 'M12 20a8 8 0 0 1-8-8 8 8 0 0 1 8-8 8 8 0 0 1 8 8 8 8 0 0 1-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 5a5 5 0 0 0-5 5 5 5 0 0 0 5 5 5 5 0 0 0 5-5 5 5 0 0 0-5-5';","import { ReactNode, useEffect, useReducer } from 'react';\nimport { INIT_STATE, TabProviderContext, reducer } from '../tabs/state';\n\nexport interface ProgressTrackerProviderProps {\n /** Active step index. */\n activeStepIndex?: number;\n /** ProgressTrackerProvider children. */\n children: ReactNode;\n /** Step panel children should not render if the step panel is hidden. */\n isLazy?: boolean;\n /** Activate tabs on focus. */\n shouldActivateOnFocus?: boolean;\n /** Step change callback. */\n onChange?(index: number): void;\n}\n\nconst DEFAULT_PROPS: Partial<ProgressTrackerProviderProps> = {\n isLazy: INIT_STATE.isLazy,\n shouldActivateOnFocus: INIT_STATE.shouldActivateOnFocus,\n};\n\n/**\n * This component provides a context in which steps can be defined and linked to their step panel.\n *\n * It does not produce any markup so you can wrap it around any React elements and then split the ProgressTracker and ProgressTrackerPanel\n * components in the react tree.\n *\n * This works exactly as TabProvider so it uses TabProviderContext and tabs state.\n *\n * @param props React component props.\n * @return React element.\n */\nexport const ProgressTrackerProvider: React.FC<ProgressTrackerProviderProps> = (props) => {\n const { children, onChange, ...propState } = props;\n const [state, dispatch] = useReducer(reducer, INIT_STATE);\n\n // On prop state change => dispatch update.\n useEffect(\n () => {\n dispatch({\n type: 'update',\n payload: {\n ...DEFAULT_PROPS,\n ...propState,\n activeTabIndex: propState.activeStepIndex || INIT_STATE.activeTabIndex,\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [dispatch, ...Object.values(propState)],\n );\n\n // On active tab index state change => send update to the onChange.\n useEffect(\n () => {\n if (state === INIT_STATE || !onChange || propState.activeStepIndex === state.activeTabIndex) {\n return;\n }\n onChange(state.activeTabIndex);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, state.activeTabIndex],\n );\n\n return <TabProviderContext.Provider value={[state, dispatch]}>{children}</TabProviderContext.Provider>;\n};\nProgressTrackerProvider.defaultProps = DEFAULT_PROPS;\n","import React, { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useRovingTabIndex } from '../../hooks/useRovingTabIndex';\nimport { useTabProviderContextState } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerProps extends GenericProps {\n /** ARIA label (purpose of the set of steps). */\n ['aria-label']: string;\n /** Step list. */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTracker';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerProps> = {};\n\n/**\n * ProgressTracker component.\n *\n * Implements WAI-ARIA `tablist` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTracker = forwardRef<ProgressTrackerProps, HTMLDivElement>((props, ref) => {\n const { 'aria-label': ariaLabel, children, className, ...forwardedProps } = props;\n const stepListRef = React.useRef(null);\n useRovingTabIndex({\n parentRef: stepListRef,\n elementSelector: '[role=\"tab\"]',\n keepTabIndex: false,\n extraDependencies: [children],\n });\n\n const state = useTabProviderContextState();\n const numberOfSteps = state?.ids?.tab?.length || 0;\n const backgroundPosition: number = numberOfSteps > 0 ? 100 / (numberOfSteps * 2) : 0;\n const trackPosition: number =\n numberOfSteps > 0 ? ((100 / (numberOfSteps - 1)) * (state?.activeTabIndex || 0)) / 100 : 0;\n\n return (\n <div ref={mergeRefs(ref, stepListRef)} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n <div className={`${CLASSNAME}__steps`} role=\"tablist\" aria-label={ariaLabel}>\n {children}\n </div>\n\n <div\n className={`${CLASSNAME}__background-bar`}\n style={{ left: `${backgroundPosition}%`, right: `${backgroundPosition}%` }}\n />\n\n <div\n className={`${CLASSNAME}__foreground-bar`}\n style={{\n left: `${backgroundPosition}%`,\n right: `${backgroundPosition}%`,\n transform: `scaleX(${trackPosition})`,\n }}\n />\n </div>\n );\n});\nProgressTracker.displayName = COMPONENT_NAME;\nProgressTracker.className = CLASSNAME;\nProgressTracker.defaultProps = DEFAULT_PROPS;\n","import { FocusEventHandler, KeyboardEventHandler, useCallback } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiRadioboxBlank, mdiRadioboxMarked } from '@lumx/icons';\nimport { Icon, InputHelper, InputLabel, Kind, Size } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { useTabProviderContext } from '../tabs/state';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepProps extends GenericProps {\n /** Children are not supported. */\n children?: never;\n /** Whether the step should be in error state or not. */\n hasError?: boolean;\n /** Helper text. */\n helper?: string | null;\n /** Native id property. */\n id?: string;\n /** Whether the current step is active or not. */\n isActive?: boolean;\n /** Whether the current step is completed or not. */\n isComplete?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label text. */\n label?: string | null;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStep';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepProps> = {};\n\n/**\n * ProgressTrackerStep component.\n *\n * Implements WAI-ARIA `tab` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStep = forwardRef<ProgressTrackerStepProps, HTMLButtonElement>((props, ref) => {\n const { isAnyDisabled, otherProps } = useDisableStateProps(props);\n const {\n className,\n hasError,\n helper,\n id,\n isActive: propIsActive,\n isComplete,\n label,\n onFocus,\n onKeyPress,\n tabIndex = -1,\n ...forwardedProps\n } = otherProps;\n const state = useTabProviderContext('tab', id);\n const isActive = propIsActive || state?.isActive;\n\n const changeToCurrentTab = useCallback(() => {\n if (isAnyDisabled) {\n return;\n }\n state?.changeToTab();\n }, [isAnyDisabled, state]);\n\n const handleFocus: FocusEventHandler = useCallback(\n (event) => {\n onFocus?.(event);\n if (state?.shouldActivateOnFocus) {\n changeToCurrentTab();\n }\n },\n [changeToCurrentTab, onFocus, state?.shouldActivateOnFocus],\n );\n\n const handleKeyPress: KeyboardEventHandler = useCallback(\n (event) => {\n onKeyPress?.(event);\n if (event.key !== 'Enter') {\n return;\n }\n changeToCurrentTab();\n },\n [changeToCurrentTab, onKeyPress],\n );\n\n const getIcon = (): string => {\n if (isComplete) {\n return mdiCheckCircle;\n }\n\n if (isActive) {\n return hasError ? mdiAlertCircle : mdiRadioboxMarked;\n }\n\n return mdiRadioboxBlank;\n };\n\n return (\n <button\n ref={ref}\n {...forwardedProps}\n type=\"button\"\n id={state?.tabId}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n hasError,\n isActive,\n isClickable: state && !isAnyDisabled,\n isComplete,\n }),\n )}\n onClick={changeToCurrentTab}\n onKeyPress={handleKeyPress}\n onFocus={handleFocus}\n role=\"tab\"\n tabIndex={isActive ? 0 : tabIndex}\n aria-disabled={isAnyDisabled}\n aria-selected={isActive}\n aria-controls={state?.tabPanelId}\n >\n <Icon className={`${CLASSNAME}__state`} icon={getIcon()} size={Size.s} />\n\n <InputLabel htmlFor={state?.tabId || ''} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n\n {helper && (\n <InputHelper kind={hasError ? Kind.error : Kind.info} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </button>\n );\n});\nProgressTrackerStep.displayName = COMPONENT_NAME;\nProgressTrackerStep.className = CLASSNAME;\nProgressTrackerStep.defaultProps = DEFAULT_PROPS;\n","import classNames from 'classnames';\n\nimport { useTabProviderContext } from '@lumx/react/components/tabs/state';\nimport { CSS_PREFIX } from '@lumx/react/constants';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface ProgressTrackerStepPanelProps extends GenericProps {\n /** Native id property. */\n id?: string;\n /** Whether the step is active or not. */\n isActive?: boolean;\n /** Children */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'ProgressTrackerStepPanel';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = `${CSS_PREFIX}-step-panel`;\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<ProgressTrackerStepPanelProps> = {};\n\n/**\n * ProgressTrackerStepPanel component.\n *\n * Implements WAI-ARIA `tabpanel` role {@see https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html#rps_label}\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const ProgressTrackerStepPanel = forwardRef<ProgressTrackerStepPanelProps, HTMLDivElement>((props, ref) => {\n const { children, id, className, isActive: propIsActive, ...forwardedProps } = props;\n\n const state = useTabProviderContext('tabPanel', id);\n const isActive = propIsActive || state?.isActive;\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n id={state?.tabPanelId}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, isActive }))}\n role=\"tabpanel\"\n tabIndex={isActive ? 0 : -1}\n aria-labelledby={state?.tabId}\n >\n {(!state?.isLazy || isActive) && children}\n </div>\n );\n});\nProgressTrackerStepPanel.displayName = COMPONENT_NAME;\nProgressTrackerStepPanel.className = CLASSNAME;\nProgressTrackerStepPanel.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiRadioboxBlank","mdiRadioboxMarked","DEFAULT_PROPS","isLazy","INIT_STATE","shouldActivateOnFocus","ProgressTrackerProvider","props","children","onChange","propState","state","dispatch","useReducer","reducer","useEffect","type","payload","activeTabIndex","activeStepIndex","Object","values","_jsx","TabProviderContext","Provider","value","defaultProps","COMPONENT_NAME","CLASSNAME","getRootClassName","ProgressTracker","forwardRef","ref","ariaLabel","className","forwardedProps","stepListRef","React","useRef","useRovingTabIndex","parentRef","elementSelector","keepTabIndex","extraDependencies","useTabProviderContextState","numberOfSteps","ids","tab","length","backgroundPosition","trackPosition","_jsxs","mergeRefs","classNames","role","style","left","right","transform","displayName","ProgressTrackerStep","isAnyDisabled","otherProps","useDisableStateProps","hasError","helper","id","isActive","propIsActive","isComplete","label","onFocus","onKeyPress","tabIndex","useTabProviderContext","changeToCurrentTab","useCallback","changeToTab","handleFocus","event","handleKeyPress","key","getIcon","mdiCheckCircle","mdiAlertCircle","tabId","handleBasicClasses","prefix","isClickable","onClick","tabPanelId","Icon","icon","size","Size","s","InputLabel","htmlFor","InputHelper","kind","Kind","error","info","CSS_PREFIX","ProgressTrackerStepPanel"],"mappings":";;;;;;;;;;;;;;;AAAO,MAAMA,gBAAgB,GAAiB,2IAA2I;;ACAlL,MAAMC,iBAAiB,GAAiB,uMAAuM;;ACgBtP,MAAMC,eAAoD,GAAG;EACzDC,MAAM,EAAEC,UAAU,CAACD,MAAM;EACzBE,qBAAqB,EAAED,UAAU,CAACC,qBAAAA;AACtC,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACaC,MAAAA,uBAA+D,GAAIC,KAAK,IAAK;EACtF,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAE,GAAGC,SAAAA;AAAU,GAAC,GAAGH,KAAK,CAAA;EAClD,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGC,UAAU,CAACC,OAAO,EAAEV,UAAU,CAAC,CAAA;;AAEzD;AACAW,EAAAA,SAAS,CACL,MAAM;AACFH,IAAAA,QAAQ,CAAC;AACLI,MAAAA,IAAI,EAAE,QAAQ;AACdC,MAAAA,OAAO,EAAE;AACL,QAAA,GAAGf,eAAa;AAChB,QAAA,GAAGQ,SAAS;AACZQ,QAAAA,cAAc,EAAER,SAAS,CAACS,eAAe,IAAIf,UAAU,CAACc,cAAAA;AAC5D,OAAA;AACJ,KAAC,CAAC,CAAA;GACL;AACD;EACA,CAACN,QAAQ,EAAE,GAAGQ,MAAM,CAACC,MAAM,CAACX,SAAS,CAAC,CAC1C,CAAC,CAAA;;AAED;AACAK,EAAAA,SAAS,CACL,MAAM;AACF,IAAA,IAAIJ,KAAK,KAAKP,UAAU,IAAI,CAACK,QAAQ,IAAIC,SAAS,CAACS,eAAe,KAAKR,KAAK,CAACO,cAAc,EAAE;AACzF,MAAA,OAAA;AACJ,KAAA;AACAT,IAAAA,QAAQ,CAACE,KAAK,CAACO,cAAc,CAAC,CAAA;GACjC;AACD;AACA,EAAA,CAACT,QAAQ,EAAEE,KAAK,CAACO,cAAc,CACnC,CAAC,CAAA;AAED,EAAA,oBAAOI,GAAA,CAACC,kBAAkB,CAACC,QAAQ,EAAA;AAACC,IAAAA,KAAK,EAAE,CAACd,KAAK,EAAEC,QAAQ,CAAE;AAAAJ,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAA8B,CAAC,CAAA;AAC1G,EAAC;AACDF,uBAAuB,CAACoB,YAAY,GAAGxB,eAAa;;AC5CpD;AACA;AACA;AACA,MAAMyB,gBAAc,GAAG,iBAAiB,CAAA;;AAExC;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMzB,eAA4C,GAAG,EAAE,CAAA;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM4B,eAAe,GAAGC,UAAU,CAAuC,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EAC5F,MAAM;AAAE,IAAA,YAAY,EAAEC,SAAS;IAAEzB,QAAQ;IAAE0B,SAAS;IAAE,GAAGC,cAAAA;AAAe,GAAC,GAAG5B,KAAK,CAAA;AACjF,EAAA,MAAM6B,WAAW,GAAGC,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CAAA;AACtCC,EAAAA,iBAAiB,CAAC;AACdC,IAAAA,SAAS,EAAEJ,WAAW;AACtBK,IAAAA,eAAe,EAAE,cAAc;AAC/BC,IAAAA,YAAY,EAAE,KAAK;IACnBC,iBAAiB,EAAE,CAACnC,QAAQ,CAAA;AAChC,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMG,KAAK,GAAGiC,0BAA0B,EAAE,CAAA;EAC1C,MAAMC,aAAa,GAAGlC,KAAK,EAAEmC,GAAG,EAAEC,GAAG,EAAEC,MAAM,IAAI,CAAC,CAAA;AAClD,EAAA,MAAMC,kBAA0B,GAAGJ,aAAa,GAAG,CAAC,GAAG,GAAG,IAAIA,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;EACpF,MAAMK,aAAqB,GACvBL,aAAa,GAAG,CAAC,GAAK,GAAG,IAAIA,aAAa,GAAG,CAAC,CAAC,IAAKlC,KAAK,EAAEO,cAAc,IAAI,CAAC,CAAC,GAAI,GAAG,GAAG,CAAC,CAAA;AAE9F,EAAA,oBACIiC,IAAA,CAAA,KAAA,EAAA;AAAKnB,IAAAA,GAAG,EAAEoB,SAAS,CAACpB,GAAG,EAAEI,WAAW,CAAE;AAAA,IAAA,GAAKD,cAAc;AAAED,IAAAA,SAAS,EAAEmB,UAAU,CAACnB,SAAS,EAAEN,WAAS,CAAE;AAAApB,IAAAA,QAAA,gBACnGc,GAAA,CAAA,KAAA,EAAA;MAAKY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;AAAC0B,MAAAA,IAAI,EAAC,SAAS;AAAC,MAAA,YAAA,EAAYrB,SAAU;AAAAzB,MAAAA,QAAA,EACvEA,QAAAA;KACA,CAAC,eAENc,GAAA,CAAA,KAAA,EAAA;MACIY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAmB,gBAAA,CAAA;AAC1C2B,MAAAA,KAAK,EAAE;QAAEC,IAAI,EAAE,CAAGP,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAAEQ,KAAK,EAAE,GAAGR,kBAAkB,CAAA,CAAA,CAAA;AAAI,OAAA;KAC5E,CAAC,eAEF3B,GAAA,CAAA,KAAA,EAAA;MACIY,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAmB,gBAAA,CAAA;AAC1C2B,MAAAA,KAAK,EAAE;QACHC,IAAI,EAAE,CAAGP,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAC9BQ,KAAK,EAAE,CAAGR,EAAAA,kBAAkB,CAAG,CAAA,CAAA;QAC/BS,SAAS,EAAE,UAAUR,aAAa,CAAA,CAAA,CAAA;AACtC,OAAA;AAAE,KACL,CAAC,CAAA;AAAA,GACD,CAAC,CAAA;AAEd,CAAC,EAAC;AACFpB,eAAe,CAAC6B,WAAW,GAAGhC,gBAAc,CAAA;AAC5CG,eAAe,CAACI,SAAS,GAAGN,WAAS,CAAA;AACrCE,eAAe,CAACJ,YAAY,GAAGxB,eAAa;;ACnD5C;AACA;AACA;AACA,MAAMyB,gBAAc,GAAG,qBAAqB,CAAA;;AAE5C;AACA;AACA;AACA,MAAMC,WAAS,GAAGC,gBAAgB,CAACF,gBAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMzB,eAAgD,GAAG,EAAE,CAAA;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM0D,mBAAmB,GAAG7B,UAAU,CAA8C,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EACvG,MAAM;IAAE6B,aAAa;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAGC,oBAAoB,CAACxD,KAAK,CAAC,CAAA;EACjE,MAAM;IACF2B,SAAS;IACT8B,QAAQ;IACRC,MAAM;IACNC,EAAE;AACFC,IAAAA,QAAQ,EAAEC,YAAY;IACtBC,UAAU;IACVC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,QAAQ,GAAG,CAAC,CAAC;IACb,GAAGtC,cAAAA;AACP,GAAC,GAAG2B,UAAU,CAAA;AACd,EAAA,MAAMnD,KAAK,GAAG+D,qBAAqB,CAAC,KAAK,EAAER,EAAE,CAAC,CAAA;AAC9C,EAAA,MAAMC,QAAQ,GAAGC,YAAY,IAAIzD,KAAK,EAAEwD,QAAQ,CAAA;AAEhD,EAAA,MAAMQ,kBAAkB,GAAGC,WAAW,CAAC,MAAM;AACzC,IAAA,IAAIf,aAAa,EAAE;AACf,MAAA,OAAA;AACJ,KAAA;IACAlD,KAAK,EAAEkE,WAAW,EAAE,CAAA;AACxB,GAAC,EAAE,CAAChB,aAAa,EAAElD,KAAK,CAAC,CAAC,CAAA;AAE1B,EAAA,MAAMmE,WAA8B,GAAGF,WAAW,CAC7CG,KAAK,IAAK;IACPR,OAAO,GAAGQ,KAAK,CAAC,CAAA;IAChB,IAAIpE,KAAK,EAAEN,qBAAqB,EAAE;AAC9BsE,MAAAA,kBAAkB,EAAE,CAAA;AACxB,KAAA;GACH,EACD,CAACA,kBAAkB,EAAEJ,OAAO,EAAE5D,KAAK,EAAEN,qBAAqB,CAC9D,CAAC,CAAA;AAED,EAAA,MAAM2E,cAAoC,GAAGJ,WAAW,CACnDG,KAAK,IAAK;IACPP,UAAU,GAAGO,KAAK,CAAC,CAAA;AACnB,IAAA,IAAIA,KAAK,CAACE,GAAG,KAAK,OAAO,EAAE;AACvB,MAAA,OAAA;AACJ,KAAA;AACAN,IAAAA,kBAAkB,EAAE,CAAA;AACxB,GAAC,EACD,CAACA,kBAAkB,EAAEH,UAAU,CACnC,CAAC,CAAA;EAED,MAAMU,OAAO,GAAGA,MAAc;AAC1B,IAAA,IAAIb,UAAU,EAAE;AACZ,MAAA,OAAOc,cAAc,CAAA;AACzB,KAAA;AAEA,IAAA,IAAIhB,QAAQ,EAAE;AACV,MAAA,OAAOH,QAAQ,GAAGoB,cAAc,GAAGnF,iBAAiB,CAAA;AACxD,KAAA;AAEA,IAAA,OAAOD,gBAAgB,CAAA;GAC1B,CAAA;AAED,EAAA,oBACImD,IAAA,CAAA,QAAA,EAAA;AACInB,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLG,cAAc;AAClBnB,IAAAA,IAAI,EAAC,QAAQ;IACbkD,EAAE,EAAEvD,KAAK,EAAE0E,KAAM;AACjBnD,IAAAA,SAAS,EAAEmB,UAAU,CACjBnB,SAAS,EACToD,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAE3D,WAAS;MACjBoC,QAAQ;MACRG,QAAQ;AACRqB,MAAAA,WAAW,EAAE7E,KAAK,IAAI,CAACkD,aAAa;AACpCQ,MAAAA,UAAAA;AACJ,KAAC,CACL,CAAE;AACFoB,IAAAA,OAAO,EAAEd,kBAAmB;AAC5BH,IAAAA,UAAU,EAAEQ,cAAe;AAC3BT,IAAAA,OAAO,EAAEO,WAAY;AACrBxB,IAAAA,IAAI,EAAC,KAAK;AACVmB,IAAAA,QAAQ,EAAEN,QAAQ,GAAG,CAAC,GAAGM,QAAS;AAClC,IAAA,eAAA,EAAeZ,aAAc;AAC7B,IAAA,eAAA,EAAeM,QAAS;IACxB,eAAexD,EAAAA,KAAK,EAAE+E,UAAW;IAAAlF,QAAA,EAAA,cAEjCc,GAAA,CAACqE,IAAI,EAAA;MAACzD,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;MAACgE,IAAI,EAAEV,OAAO,EAAG;MAACW,IAAI,EAAEC,IAAI,CAACC,CAAAA;AAAE,KAAE,CAAC,eAEzEzE,GAAA,CAAC0E,UAAU,EAAA;AAACC,MAAAA,OAAO,EAAEtF,KAAK,EAAE0E,KAAK,IAAI,EAAG;MAACnD,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAU,OAAA,CAAA;AAAApB,MAAAA,QAAA,EACrE8D,KAAAA;AAAK,KACE,CAAC,EAEZL,MAAM,iBACH3C,GAAA,CAAC4E,WAAW,EAAA;MAACC,IAAI,EAAEnC,QAAQ,GAAGoC,IAAI,CAACC,KAAK,GAAGD,IAAI,CAACE,IAAK;MAACpE,SAAS,EAAE,CAAGN,EAAAA,WAAS,CAAW,QAAA,CAAA;AAAApB,MAAAA,QAAA,EACnFyD,MAAAA;AAAM,KACE,CAChB,CAAA;AAAA,GACG,CAAC,CAAA;AAEjB,CAAC,EAAC;AACFL,mBAAmB,CAACD,WAAW,GAAGhC,gBAAc,CAAA;AAChDiC,mBAAmB,CAAC1B,SAAS,GAAGN,WAAS,CAAA;AACzCgC,mBAAmB,CAAClC,YAAY,GAAGxB,eAAa;;AC1IhD;AACA;AACA;AACA,MAAMyB,cAAc,GAAG,0BAA0B,CAAA;;AAEjD;AACA;AACA;AACA,MAAMC,SAAS,GAAG,CAAG2E,EAAAA,UAAU,CAAa,WAAA,CAAA,CAAA;;AAE5C;AACA;AACA;AACA,MAAMrG,aAAqD,GAAG,EAAE,CAAA;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsG,wBAAwB,GAAGzE,UAAU,CAAgD,CAACxB,KAAK,EAAEyB,GAAG,KAAK;EAC9G,MAAM;IAAExB,QAAQ;IAAE0D,EAAE;IAAEhC,SAAS;AAAEiC,IAAAA,QAAQ,EAAEC,YAAY;IAAE,GAAGjC,cAAAA;AAAe,GAAC,GAAG5B,KAAK,CAAA;AAEpF,EAAA,MAAMI,KAAK,GAAG+D,qBAAqB,CAAC,UAAU,EAAER,EAAE,CAAC,CAAA;AACnD,EAAA,MAAMC,QAAQ,GAAGC,YAAY,IAAIzD,KAAK,EAAEwD,QAAQ,CAAA;AAEhD,EAAA,oBACI7C,GAAA,CAAA,KAAA,EAAA;AACIU,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLG,cAAc;IAClB+B,EAAE,EAAEvD,KAAK,EAAE+E,UAAW;AACtBxD,IAAAA,SAAS,EAAEmB,UAAU,CAACnB,SAAS,EAAEoD,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAE3D,SAAS;AAAEuC,MAAAA,QAAAA;AAAS,KAAC,CAAC,CAAE;AACtFb,IAAAA,IAAI,EAAC,UAAU;AACfmB,IAAAA,QAAQ,EAAEN,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAE;IAC5B,iBAAiBxD,EAAAA,KAAK,EAAE0E,KAAM;IAAA7E,QAAA,EAE7B,CAAC,CAACG,KAAK,EAAER,MAAM,IAAIgE,QAAQ,KAAK3D,QAAAA;AAAQ,GACxC,CAAC,CAAA;AAEd,CAAC,EAAC;AACFgG,wBAAwB,CAAC7C,WAAW,GAAGhC,cAAc,CAAA;AACrD6E,wBAAwB,CAACtE,SAAS,GAAGN,SAAS,CAAA;AAC9C4E,wBAAwB,CAAC9E,YAAY,GAAGxB,aAAa;;;;"}
@@ -1,12 +1,12 @@
1
- import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.js';
1
+ import { f as forwardRef, c as classNames } from '../forwardRef-d0e90329.js';
2
2
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
3
  import { u as useId } from '../useId-3a1facc0.js';
4
4
  import { u as useTheme } from '../ThemeContext-3181f000.js';
5
5
  import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
  import { Theme } from '@lumx/core/js/constants';
8
- import { InputLabel } from './input-label-2feb0bb0.js';
9
- import { InputHelper } from './input-helper-64153099.js';
8
+ import { InputLabel } from './input-label-9711398b.js';
9
+ import { InputHelper } from './input-helper-c8a0078b.js';
10
10
 
11
11
  /**
12
12
  * Component display name.
@@ -146,4 +146,4 @@ RadioGroup.displayName = COMPONENT_NAME;
146
146
  RadioGroup.className = CLASSNAME;
147
147
 
148
148
  export { RadioButton, RadioGroup };
149
- //# sourceMappingURL=radio-button-559a4863.js.map
149
+ //# sourceMappingURL=radio-button-07cf45e9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-559a4863.js","sources":["../../../src/components/radio-button/RadioButton.tsx","../../../src/components/radio-button/RadioGroup.tsx"],"sourcesContent":["import { ReactNode, SyntheticEvent, InputHTMLAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioButtonProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Helper text. */\n helper?: string;\n /** Native input id property. */\n id?: string;\n /** Native input ref. */\n inputRef?: React.Ref<HTMLInputElement>;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label?: ReactNode;\n /** Native input name property. */\n name?: string;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(value?: string, name?: string, event?: SyntheticEvent): void;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioButton';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<RadioButtonProps> = {};\n\n/**\n * RadioButton component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioButton = forwardRef<RadioButtonProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n checked,\n className,\n helper,\n id,\n inputRef,\n isChecked = checked,\n label,\n name,\n onChange,\n theme = defaultTheme,\n value,\n inputProps,\n ...forwardedProps\n } = otherProps;\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n isChecked,\n isDisabled: isAnyDisabled,\n isUnchecked: !isChecked,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n ref={inputRef}\n className={`${CLASSNAME}__input-native`}\n {...disabledStateProps}\n id={inputId}\n type=\"radio\"\n name={name}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n readOnly={inputProps?.readOnly || isAnyDisabled}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n <div className={`${CLASSNAME}__content`}>\n {label && (\n <InputLabel htmlFor={inputId} theme={theme} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n )}\n {helper && (\n <InputHelper id={`${inputId}-helper`} theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n </div>\n );\n});\nRadioButton.displayName = COMPONENT_NAME;\nRadioButton.className = CLASSNAME;\nRadioButton.defaultProps = DEFAULT_PROPS;\n","import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioGroupProps extends GenericProps {\n /** RadioButton elements */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioGroup';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * RadioGroup component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, HTMLDivElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <div ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </div>\n );\n});\nRadioGroup.displayName = COMPONENT_NAME;\nRadioGroup.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","RadioButton","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","checked","className","helper","id","inputRef","isChecked","label","name","onChange","theme","value","inputProps","forwardedProps","generatedInputId","useId","inputId","handleChange","event","_jsxs","classNames","handleBasicClasses","isDisabled","isUnchecked","prefix","children","_jsx","type","readOnly","undefined","InputLabel","htmlFor","InputHelper","displayName","defaultProps","RadioGroup"],"mappings":"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"}
1
+ {"version":3,"file":"radio-button-07cf45e9.js","sources":["../../../src/components/radio-button/RadioButton.tsx","../../../src/components/radio-button/RadioGroup.tsx"],"sourcesContent":["import { ReactNode, SyntheticEvent, InputHTMLAttributes } from 'react';\n\nimport classNames from 'classnames';\n\nimport { InputHelper, InputLabel, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { useDisableStateProps } from '@lumx/react/utils/disabled/useDisableStateProps';\nimport { HasAriaDisabled } from '@lumx/react/utils/type/HasAriaDisabled';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioButtonProps extends GenericProps, HasTheme, HasAriaDisabled {\n /** Helper text. */\n helper?: string;\n /** Native input id property. */\n id?: string;\n /** Native input ref. */\n inputRef?: React.Ref<HTMLInputElement>;\n /** Whether it is checked or not. */\n isChecked?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Label content. */\n label?: ReactNode;\n /** Native input name property. */\n name?: string;\n /** Native input value property. */\n value?: string;\n /** On change callback. */\n onChange?(value?: string, name?: string, event?: SyntheticEvent): void;\n /** optional props for input */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioButton';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<RadioButtonProps> = {};\n\n/**\n * RadioButton component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioButton = forwardRef<RadioButtonProps, HTMLDivElement>((props, ref) => {\n const { isAnyDisabled, disabledStateProps, otherProps } = useDisableStateProps(props);\n const defaultTheme = useTheme() || Theme.light;\n const {\n checked,\n className,\n helper,\n id,\n inputRef,\n isChecked = checked,\n label,\n name,\n onChange,\n theme = defaultTheme,\n value,\n inputProps,\n ...forwardedProps\n } = otherProps;\n const generatedInputId = useId();\n const inputId = id || generatedInputId;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(value, name, event);\n }\n };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n isChecked,\n isDisabled: isAnyDisabled,\n isUnchecked: !isChecked,\n prefix: CLASSNAME,\n theme,\n }),\n )}\n >\n <div className={`${CLASSNAME}__input-wrapper`}>\n <input\n ref={inputRef}\n className={`${CLASSNAME}__input-native`}\n {...disabledStateProps}\n id={inputId}\n type=\"radio\"\n name={name}\n value={value}\n checked={isChecked}\n onChange={handleChange}\n readOnly={inputProps?.readOnly || isAnyDisabled}\n aria-describedby={helper ? `${inputId}-helper` : undefined}\n {...inputProps}\n />\n\n <div className={`${CLASSNAME}__input-placeholder`}>\n <div className={`${CLASSNAME}__input-background`} />\n <div className={`${CLASSNAME}__input-indicator`} />\n </div>\n </div>\n\n <div className={`${CLASSNAME}__content`}>\n {label && (\n <InputLabel htmlFor={inputId} theme={theme} className={`${CLASSNAME}__label`}>\n {label}\n </InputLabel>\n )}\n {helper && (\n <InputHelper id={`${inputId}-helper`} theme={theme} className={`${CLASSNAME}__helper`}>\n {helper}\n </InputHelper>\n )}\n </div>\n </div>\n );\n});\nRadioButton.displayName = COMPONENT_NAME;\nRadioButton.className = CLASSNAME;\nRadioButton.defaultProps = DEFAULT_PROPS;\n","import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface RadioGroupProps extends GenericProps {\n /** RadioButton elements */\n children: ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'RadioGroup';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * RadioGroup component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const RadioGroup = forwardRef<RadioGroupProps, HTMLDivElement>((props, ref) => {\n const { children, className, ...forwardedProps } = props;\n\n return (\n <div ref={ref} {...forwardedProps} className={classNames(className, CLASSNAME)}>\n {children}\n </div>\n );\n});\nRadioGroup.displayName = COMPONENT_NAME;\nRadioGroup.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","RadioButton","forwardRef","props","ref","isAnyDisabled","disabledStateProps","otherProps","useDisableStateProps","defaultTheme","useTheme","Theme","light","checked","className","helper","id","inputRef","isChecked","label","name","onChange","theme","value","inputProps","forwardedProps","generatedInputId","useId","inputId","handleChange","event","_jsxs","classNames","handleBasicClasses","isDisabled","isUnchecked","prefix","children","_jsx","type","readOnly","undefined","InputLabel","htmlFor","InputHelper","displayName","defaultProps","RadioGroup"],"mappings":"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"}
@@ -1,20 +1,19 @@
1
- import { c as classNames, f as forwardRef } from '../forwardRef-15f62847.js';
2
- import isEmpty from 'lodash/isEmpty';
1
+ import { c as classNames, f as forwardRef } from '../forwardRef-d0e90329.js';
3
2
  import { Theme, Kind, Size, Emphasis } from '@lumx/core/js/constants';
4
- import { I as IconButton } from '../IconButton-1a22c4c8.js';
5
- import { C as Chip } from '../Chip-a34f6905.js';
6
- import { I as Icon, m as mdiAlertCircle } from '../index-192f8ada.js';
7
- import { InputLabel } from './input-label-2feb0bb0.js';
3
+ import { I as IconButton } from '../IconButton-351389b0.js';
4
+ import { C as Chip } from '../Chip-8d0aae06.js';
5
+ import { I as Icon, m as mdiAlertCircle } from '../index-745f94ee.js';
6
+ import { InputLabel } from './input-label-9711398b.js';
8
7
  import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
9
8
  import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
10
9
  import { u as useTheme } from '../ThemeContext-3181f000.js';
11
10
  import { useState, useEffect, useRef, useCallback } from 'react';
12
- import { Dropdown } from './dropdown-0baed51b.js';
13
- import { InputHelper } from './input-helper-64153099.js';
14
- import { u as useFocusTrap } from '../useFocusTrap-c3c6378b.js';
11
+ import { Dropdown } from './dropdown-0216211d.js';
12
+ import { InputHelper } from './input-helper-c8a0078b.js';
13
+ import { u as useFocusTrap } from '../useFocusTrap-3114e5e8.js';
15
14
  import { u as useId } from '../useId-3a1facc0.js';
16
15
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
17
- import { P as Placement } from '../constants-b9e57936.js';
16
+ import { P as Placement } from '../constants-9b714e31.js';
18
17
  import { m as mdiCloseCircle } from '../close-circle-ef5d1aac.js';
19
18
  import { m as mdiCheckCircle } from '../check-circle-de24f857.js';
20
19
  import { m as mdiClose } from '../close-eaf6c45a.js';
@@ -290,8 +289,8 @@ const SelectField = props => {
290
289
  * @return React element.
291
290
  */
292
291
  const Select = forwardRef((props, ref) => {
293
- const isEmpty$1 = isEmpty(props.value);
294
- const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
292
+ const isEmpty = !props.value;
293
+ const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty;
295
294
  return WithSelectContext(SelectField, {
296
295
  ...DEFAULT_PROPS$1,
297
296
  ...props,
@@ -301,7 +300,7 @@ const Select = forwardRef((props, ref) => {
301
300
  prefix: CLASSNAME$1
302
301
  })),
303
302
  hasInputClear,
304
- isEmpty: isEmpty$1
303
+ isEmpty
305
304
  }, ref);
306
305
  });
307
306
  Select.displayName = COMPONENT_NAME$1;
@@ -455,4 +454,4 @@ SelectMultiple.className = CLASSNAME;
455
454
  SelectMultiple.defaultProps = DEFAULT_PROPS;
456
455
 
457
456
  export { Select, SelectMultiple, SelectMultipleField, SelectVariant };
458
- //# sourceMappingURL=select-f3b44cb6.js.map
457
+ //# sourceMappingURL=select-8b54a444.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-8b54a444.js","sources":["../../../../lumx-icons/dist/esm/menu-down.js","../../../src/hooks/useListenFocus.tsx","../../../src/components/select/WithSelectContext.tsx","../../../src/components/select/constants.ts","../../../src/components/select/Select.tsx","../../../src/components/select/SelectMultiple.tsx"],"sourcesContent":["export const mdiMenuDown = /*#__PURE__*/ 'm7 10 5 5 5-5z';","import { RefObject, useEffect, useState } from 'react';\n\n/**\n * Listen on element focus to store the focus status.\n */\nexport function useListenFocus(ref: RefObject<HTMLElement>) {\n const [isFocus, setFocus] = useState(false);\n\n useEffect(() => {\n const { current: element } = ref;\n if (!element) {\n return undefined;\n }\n\n const onFocus = () => setFocus(true);\n const onBlur = () => setFocus(false);\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [ref, setFocus]);\n\n return isFocus;\n}\n","import classNames from 'classnames';\nimport { Ref, useCallback, useRef } from 'react';\n\nimport { Placement } from '@lumx/react';\nimport { Kind, Theme } from '@lumx/core/js/constants';\nimport { Dropdown } from '@lumx/react/components/dropdown/Dropdown';\nimport { InputHelper } from '@lumx/react/components/input-helper/InputHelper';\nimport { useFocusTrap } from '@lumx/react/hooks/useFocusTrap';\nimport { useListenFocus } from '@lumx/react/hooks/useListenFocus';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\n\nimport { useId } from '@lumx/react/hooks/useId';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { CoreSelectProps } from './constants';\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\nexport const WithSelectContext = (\n SelectElement: React.FC<any>,\n props: CoreSelectProps,\n ref: Ref<HTMLDivElement>,\n): React.ReactElement => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n children,\n className,\n focusElement,\n isMultiple,\n closeOnClick = !isMultiple,\n disabled,\n error,\n hasError,\n helper,\n id,\n isDisabled = disabled,\n isEmpty,\n isOpen,\n isRequired,\n isValid,\n label,\n onClear,\n onDropdownClose,\n onInfiniteScroll,\n onInputClick,\n placeholder,\n theme = defaultTheme,\n value,\n variant,\n ...forwardedProps\n } = props;\n const generatedSelectId = useId();\n const selectId = id || generatedSelectId;\n const anchorRef = useRef<HTMLElement>(null);\n const selectRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const isFocus = useListenFocus(anchorRef);\n\n const handleKeyboardNav = useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {\n evt.preventDefault();\n onInputClick();\n }\n },\n [onInputClick],\n );\n\n const onClose = () => {\n if (onDropdownClose) {\n onDropdownClose();\n }\n anchorRef?.current?.blur();\n };\n\n // Handle focus trap.\n useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);\n\n return (\n <div\n ref={mergeRefs(ref, selectRef)}\n className={classNames(\n className,\n handleBasicClasses({\n hasError,\n hasLabel: Boolean(label),\n hasPlaceholder: Boolean(placeholder),\n hasValue: !isEmpty,\n isDisabled,\n isEmpty,\n isFocus,\n isOpen,\n isValid,\n prefix: CLASSNAME,\n theme: theme === Theme.light ? Theme.light : Theme.dark,\n }),\n )}\n >\n <SelectElement\n {...forwardedProps}\n anchorRef={anchorRef}\n aria-disabled={isDisabled}\n handleKeyboardNav={handleKeyboardNav}\n hasError={hasError}\n isDisabled={isDisabled}\n isEmpty={isEmpty}\n isRequired={isRequired}\n isValid={isValid}\n label={label}\n placeholder={placeholder}\n id={selectId}\n theme={theme}\n value={value}\n variant={variant}\n onClear={onClear}\n onInputClick={onInputClick}\n />\n <Dropdown\n anchorRef={anchorRef}\n closeOnClick={closeOnClick}\n closeOnClickAway\n closeOnEscape\n isOpen={!!isOpen}\n placement={Placement.BOTTOM_START}\n onClose={onClose}\n onInfiniteScroll={onInfiniteScroll}\n ref={dropdownRef}\n >\n {children}\n </Dropdown>\n {hasError && error && (\n <InputHelper className={`${CLASSNAME}__helper`} kind={Kind.error} theme={theme}>\n {error}\n </InputHelper>\n )}\n {helper && (\n <InputHelper className={`${CLASSNAME}__helper`} theme={theme}>\n {helper}\n </InputHelper>\n )}\n </div>\n );\n};\n","import { IconButtonProps } from '@lumx/react';\nimport { GenericProps, HasTheme, ValueOf } from '@lumx/react/utils/type';\nimport { ReactNode, SyntheticEvent } from 'react';\n\n/**\n * Select variants.\n */\nexport const SelectVariant = { input: 'input', chip: 'chip' } as const;\nexport type SelectVariant = ValueOf<typeof SelectVariant>;\n\nexport interface CoreSelectProps extends GenericProps, HasTheme {\n /** Props to pass to the clear button (minus those already set by the Select props). If not specified, the button won't be displayed. */\n clearButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;\n /** Whether the select (input variant) is displayed with error style or not. */\n hasError?: boolean;\n /** Error message. */\n error?: string | ReactNode;\n /** Helper text. */\n helper?: string;\n /** Whether the select should close on click. */\n closeOnClick?: boolean;\n /** Icon (SVG path). */\n icon?: string;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is required or not. */\n isRequired?: boolean;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Whether the select (input variant) is displayed with valid style or not. */\n isValid?: boolean;\n /** Label text. */\n label?: string;\n /** Placeholder input text. */\n placeholder?: string;\n /** Select variant. */\n variant?: SelectVariant;\n /** On clear callback. */\n onClear?(event: SyntheticEvent, value?: string): void;\n /** On blur callback. */\n onBlur?(): void;\n /** On filter text change callback (with 500ms debounce). */\n onFilter?(): void;\n /** On input click callback (can be used for dropdown toggle). */\n onInputClick?(): void;\n /** On dropdown close callback. */\n onDropdownClose?(): void;\n /** On scroll end callback. */\n onInfiniteScroll?(): void;\n /** Render value function. Default: Renders the value as a string. */\n selectedValueRender?(choice: string): ReactNode | string;\n /** Children */\n children?: React.ReactNode;\n}\n","import { RefObject } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\nimport { Emphasis, Size, Theme } from '@lumx/core/js/constants';\nimport { IconButton } from '@lumx/react/components/button/IconButton';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectProps extends CoreSelectProps {\n /** Selected value. */\n value: string;\n}\n\nexport { SelectVariant };\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectProps> = {\n selectedValueRender: (choice) => choice,\n variant: SelectVariant.input,\n};\n\nconst stopPropagation = (evt: Event) => evt.stopPropagation();\n\n/**\n * Select component.\n */\nconst SelectField: React.FC<SelectProps> = (props) => {\n const defaultTheme = useTheme();\n const {\n anchorRef,\n clearButtonProps,\n handleKeyboardNav,\n hasError,\n hasInputClear,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedValueRender,\n theme = defaultTheme,\n value,\n variant,\n selectElementRef,\n ...forwardedProps\n } = props;\n\n return (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={mergeRefs(anchorRef as RefObject<HTMLDivElement>, selectElementRef)}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n isEmpty && placeholder && `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n\n {isEmpty && placeholder && <span>{placeholder}</span>}\n </div>\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n {hasInputClear && clearButtonProps && (\n <IconButton\n {...clearButtonProps}\n className={`${CLASSNAME}__input-clear`}\n icon={mdiCloseCircle}\n emphasis={Emphasis.low}\n size={Size.s}\n theme={theme}\n onClick={onClear}\n onKeyDown={stopPropagation}\n />\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={mergeRefs(anchorRef as RefObject<HTMLAnchorElement>, selectElementRef)}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && <span>{selectedValueRender?.(value)}</span>}\n </Chip>\n )}\n </>\n );\n};\n\n/**\n * Select component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Select = forwardRef<SelectProps, HTMLDivElement>((props, ref) => {\n const isEmpty = !props.value;\n const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty;\n\n return WithSelectContext(\n SelectField,\n {\n ...DEFAULT_PROPS,\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasInputClear,\n hasUnique: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n hasInputClear,\n isEmpty,\n },\n ref,\n );\n});\nSelect.displayName = COMPONENT_NAME;\nSelect.className = CLASSNAME;\nSelect.defaultProps = DEFAULT_PROPS;\nSelect.className = CLASSNAME;\n","import { ReactNode, RefObject, SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\n\nimport { mdiAlertCircle, mdiCheckCircle, mdiClose, mdiCloseCircle, mdiMenuDown } from '@lumx/icons';\nimport { Size, Theme } from '@lumx/core/js/constants';\nimport { Chip } from '@lumx/react/components/chip/Chip';\nimport { Icon } from '@lumx/react/components/icon/Icon';\nimport { InputLabel } from '@lumx/react/components/input-label/InputLabel';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { mergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { WithSelectContext } from './WithSelectContext';\nimport { CoreSelectProps, SelectVariant } from './constants';\n\n/** Defines the props of the component. */\nexport interface SelectMultipleProps extends CoreSelectProps {\n /** Selected values. */\n value: string[];\n /** Selected value render function. Default: Renders the value inside of a Chip. */\n selectedChipRender?(\n choice: string,\n index: number,\n onClear?: (event: SyntheticEvent, choice: string) => void,\n isDisabled?: boolean,\n theme?: any,\n ): ReactNode | string;\n}\n\n/** The display name of the component. */\nconst COMPONENT_NAME = 'Select';\n\n/** The default class name and classes prefix for this component. */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/** The default value of props. */\nconst DEFAULT_PROPS: Partial<SelectMultipleProps> = {\n selectedChipRender(choice, index, onClear, isDisabled?, theme?) {\n const onClick = (event: React.MouseEvent) => onClear && onClear(event, choice);\n return (\n <Chip\n key={index}\n after={onClear && <Icon icon={mdiClose} size={Size.xxs} />}\n isDisabled={isDisabled}\n size={Size.s}\n onAfterClick={onClick}\n onClick={onClick}\n theme={theme}\n >\n {choice}\n </Chip>\n );\n },\n selectedValueRender: (choice) => choice,\n variant: SelectVariant.input,\n};\n\nexport const SelectMultipleField: React.FC<SelectMultipleProps> = (props) => {\n const defaultTheme = useTheme();\n const {\n anchorRef,\n handleKeyboardNav,\n hasError,\n icon,\n id,\n isDisabled,\n isEmpty,\n isRequired,\n isValid,\n label,\n onClear,\n onInputClick,\n placeholder,\n selectedChipRender,\n selectedValueRender,\n theme = defaultTheme,\n value,\n variant,\n selectElementRef,\n ...forwardedProps\n } = props;\n\n return (\n <>\n {variant === SelectVariant.input && (\n <>\n {label && (\n <div className={`${CLASSNAME}__header`}>\n <InputLabel\n htmlFor={id}\n className={`${CLASSNAME}__label`}\n isRequired={isRequired}\n theme={theme}\n >\n {label}\n </InputLabel>\n </div>\n )}\n\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={mergeRefs(anchorRef as RefObject<HTMLDivElement>, selectElementRef)}\n id={id}\n className={`${CLASSNAME}__wrapper`}\n onClick={onInputClick}\n onKeyDown={handleKeyboardNav}\n tabIndex={isDisabled ? undefined : 0}\n aria-disabled={isDisabled || undefined}\n {...forwardedProps}\n >\n {icon && (\n <Icon\n className={`${CLASSNAME}__input-icon`}\n color={theme === Theme.dark ? 'light' : undefined}\n icon={icon}\n size={Size.xs}\n />\n )}\n\n <div className={`${CLASSNAME}__chips`}>\n {!isEmpty &&\n value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))}\n </div>\n\n {isEmpty && placeholder && (\n <div\n className={classNames([\n `${CLASSNAME}__input-native`,\n `${CLASSNAME}__input-native--placeholder`,\n ])}\n >\n <span>{placeholder}</span>\n </div>\n )}\n\n {(isValid || hasError) && (\n <div className={`${CLASSNAME}__input-validity`}>\n <Icon icon={isValid ? mdiCheckCircle : mdiAlertCircle} size={Size.xxs} />\n </div>\n )}\n\n <div className={`${CLASSNAME}__input-indicator`}>\n <Icon icon={mdiMenuDown} size={Size.s} />\n </div>\n </div>\n </>\n )}\n\n {variant === SelectVariant.chip && (\n <Chip\n id={id}\n isSelected={!isEmpty}\n isDisabled={isDisabled}\n after={<Icon icon={isEmpty ? mdiMenuDown : mdiCloseCircle} />}\n onAfterClick={isEmpty ? onInputClick : onClear}\n onClick={onInputClick}\n ref={mergeRefs(anchorRef as RefObject<HTMLAnchorElement>, selectElementRef)}\n theme={theme}\n {...forwardedProps}\n >\n {isEmpty && <span>{label}</span>}\n\n {!isEmpty && (\n <span>\n <span>{selectedValueRender?.(value[0])}</span>\n\n {value.length > 1 && <span>&nbsp;+{value.length - 1}</span>}\n </span>\n )}\n </Chip>\n )}\n </>\n );\n};\n\n/**\n * SelectMultiple component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const SelectMultiple = forwardRef<SelectMultipleProps, HTMLDivElement>((props, ref) => {\n return WithSelectContext(\n SelectMultipleField,\n {\n ...DEFAULT_PROPS,\n ...props,\n className: classNames(\n props.className,\n handleBasicClasses({\n hasMultiple: !props.isEmpty,\n prefix: CLASSNAME,\n }),\n ),\n isEmpty: props.value.length === 0,\n isMultiple: true,\n },\n ref,\n );\n});\nSelectMultiple.displayName = COMPONENT_NAME;\nSelectMultiple.className = CLASSNAME;\nSelectMultiple.defaultProps = DEFAULT_PROPS;\n"],"names":["mdiMenuDown","useListenFocus","ref","isFocus","setFocus","useState","useEffect","current","element","undefined","onFocus","onBlur","addEventListener","removeEventListener","COMPONENT_NAME","CLASSNAME","getRootClassName","WithSelectContext","SelectElement","props","defaultTheme","useTheme","Theme","light","children","className","focusElement","isMultiple","closeOnClick","disabled","error","hasError","helper","id","isDisabled","isEmpty","isOpen","isRequired","isValid","label","onClear","onDropdownClose","onInfiniteScroll","onInputClick","placeholder","theme","value","variant","forwardedProps","generatedSelectId","useId","selectId","anchorRef","useRef","selectRef","dropdownRef","handleKeyboardNav","useCallback","evt","key","preventDefault","onClose","blur","useFocusTrap","_jsxs","mergeRefs","classNames","handleBasicClasses","hasLabel","Boolean","hasPlaceholder","hasValue","prefix","dark","_jsx","Dropdown","closeOnClickAway","closeOnEscape","placement","Placement","BOTTOM_START","InputHelper","kind","Kind","SelectVariant","input","chip","DEFAULT_PROPS","selectedValueRender","choice","stopPropagation","SelectField","clearButtonProps","hasInputClear","icon","selectElementRef","_Fragment","InputLabel","htmlFor","onClick","onKeyDown","tabIndex","Icon","color","size","Size","xs","mdiCheckCircle","mdiAlertCircle","xxs","IconButton","mdiCloseCircle","emphasis","Emphasis","low","s","Chip","isSelected","after","onAfterClick","Select","forwardRef","hasUnique","displayName","defaultProps","selectedChipRender","index","event","mdiClose","SelectMultipleField","map","val","length","SelectMultiple","hasMultiple"],"mappings":"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"}