@lumx/react 3.20.1-alpha.15 → 3.20.1-alpha.16

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 (163) hide show
  1. package/_internal/{Button-f19e18df.js → Button-1f227024.js} +30 -28
  2. package/_internal/{Button-f19e18df.js.map → Button-1f227024.js.map} +1 -1
  3. package/_internal/{ButtonRoot-ab633b1d.js → ButtonRoot-823f3e9c.js} +18 -16
  4. package/_internal/{ButtonRoot-ab633b1d.js.map → ButtonRoot-823f3e9c.js.map} +1 -1
  5. package/_internal/{Chip-4c572eec.js → Chip-a34f6905.js} +31 -34
  6. package/_internal/{Chip-4c572eec.js.map → Chip-a34f6905.js.map} +1 -1
  7. package/_internal/{ClickAwayProvider-bcce6ceb.js → ClickAwayProvider-7093ba23.js} +6 -4
  8. package/_internal/{ClickAwayProvider-bcce6ceb.js.map → ClickAwayProvider-7093ba23.js.map} +1 -1
  9. package/_internal/{DisabledStateContext-077b7bef.js → DisabledStateContext-ea04260d.js} +6 -6
  10. package/_internal/{DisabledStateContext-077b7bef.js.map → DisabledStateContext-ea04260d.js.map} +1 -1
  11. package/_internal/{HeadingLevelProvider-e4817816.js → HeadingLevelProvider-ebdcb0c7.js} +6 -4
  12. package/_internal/{HeadingLevelProvider-e4817816.js.map → HeadingLevelProvider-ebdcb0c7.js.map} +1 -1
  13. package/_internal/{IconButton-10585058.js → IconButton-f4df224c.js} +29 -24
  14. package/_internal/{IconButton-10585058.js.map → IconButton-f4df224c.js.map} +1 -1
  15. package/_internal/ImageCaption-8134a3aa.js +75 -0
  16. package/_internal/{ImageCaption-4279b2b6.js.map → ImageCaption-8134a3aa.js.map} +1 -1
  17. package/_internal/{List-d5f5d465.js → List-54237e0e.js} +52 -50
  18. package/_internal/{List-d5f5d465.js.map → List-54237e0e.js.map} +1 -1
  19. package/_internal/{PopoverDialog-21e5c9dd.js → PopoverDialog-e0967e5f.js} +166 -158
  20. package/_internal/{PopoverDialog-21e5c9dd.js.map → PopoverDialog-e0967e5f.js.map} +1 -1
  21. package/_internal/{Portal-c43d098b.js → Portal-3f86608e.js} +5 -2
  22. package/_internal/{Portal-c43d098b.js.map → Portal-3f86608e.js.map} +1 -1
  23. package/_internal/{RawClickable-c76bbc4c.js → RawClickable-2c2b6a89.js} +9 -7
  24. package/_internal/{RawClickable-c76bbc4c.js.map → RawClickable-2c2b6a89.js.map} +1 -1
  25. package/_internal/{Slides-01f513ce.js → Slides-b7a67f32.js} +99 -96
  26. package/_internal/{Slides-01f513ce.js.map → Slides-b7a67f32.js.map} +1 -1
  27. package/_internal/{Thumbnail-30d2a781.js → Thumbnail-b5dea0af.js} +46 -45
  28. package/_internal/{Thumbnail-30d2a781.js.map → Thumbnail-b5dea0af.js.map} +1 -1
  29. package/_internal/components/{alert-dialog-8f1c163c.js → alert-dialog-b284b191.js} +50 -35
  30. package/_internal/components/{alert-dialog-8f1c163c.js.map → alert-dialog-b284b191.js.map} +1 -1
  31. package/_internal/components/{autocomplete-bfbdeb3c.js → autocomplete-8d3f37ea.js} +64 -67
  32. package/_internal/components/{autocomplete-bfbdeb3c.js.map → autocomplete-8d3f37ea.js.map} +1 -1
  33. package/_internal/components/{avatar-6990e3e9.js → avatar-5fc70e00.js} +28 -32
  34. package/_internal/components/{avatar-6990e3e9.js.map → avatar-5fc70e00.js.map} +1 -1
  35. package/_internal/components/{badge-81543bc7.js → badge-8390e590.js} +18 -18
  36. package/_internal/components/{badge-81543bc7.js.map → badge-8390e590.js.map} +1 -1
  37. package/_internal/components/{button-927abe71.js → button-e3c7f2eb.js} +11 -13
  38. package/_internal/components/{button-927abe71.js.map → button-e3c7f2eb.js.map} +1 -1
  39. package/_internal/components/{checkbox-dc4caec8.js → checkbox-d1ca9748.js} +53 -44
  40. package/_internal/components/{checkbox-dc4caec8.js.map → checkbox-d1ca9748.js.map} +1 -1
  41. package/_internal/components/{chip-fb3d0c76.js → chip-e40c5521.js} +10 -12
  42. package/_internal/components/{chip-fb3d0c76.js.map → chip-e40c5521.js.map} +1 -1
  43. package/_internal/components/comment-block-a3cf7b9b.js +138 -0
  44. package/_internal/components/{comment-block-b84c4694.js.map → comment-block-a3cf7b9b.js.map} +1 -1
  45. package/_internal/components/date-picker-6c1b14e4.js +2 -0
  46. package/_internal/components/date-picker-6c1b14e4.js.map +1 -0
  47. package/_internal/components/{dialog-7dbcb485.js → dialog-ebdb9500.js} +70 -58
  48. package/_internal/components/{dialog-7dbcb485.js.map → dialog-ebdb9500.js.map} +1 -1
  49. package/_internal/components/{divider-12e9b6a0.js → divider-116af6b9.js} +7 -10
  50. package/_internal/components/{divider-12e9b6a0.js.map → divider-116af6b9.js.map} +1 -1
  51. package/_internal/components/{drag-handle-a38ff757.js → drag-handle-5215cd21.js} +14 -16
  52. package/_internal/components/{drag-handle-a38ff757.js.map → drag-handle-5215cd21.js.map} +1 -1
  53. package/_internal/components/{dropdown-38b0b6a0.js → dropdown-0baed51b.js} +15 -16
  54. package/_internal/components/{dropdown-38b0b6a0.js.map → dropdown-0baed51b.js.map} +1 -1
  55. package/_internal/components/{expansion-panel-c4b93653.js → expansion-panel-5533a680.js} +48 -39
  56. package/_internal/components/{expansion-panel-c4b93653.js.map → expansion-panel-5533a680.js.map} +1 -1
  57. package/_internal/components/{flag-c5e2f5f0.js → flag-8d4a7e72.js} +20 -16
  58. package/_internal/components/{flag-c5e2f5f0.js.map → flag-8d4a7e72.js.map} +1 -1
  59. package/_internal/components/{flex-box-c8701a85.js → flex-box-55144e5f.js} +9 -11
  60. package/_internal/components/{flex-box-c8701a85.js.map → flex-box-55144e5f.js.map} +1 -1
  61. package/_internal/components/{generic-block-0d6ad5a6.js → generic-block-ff0509ee.js} +35 -26
  62. package/_internal/components/{generic-block-0d6ad5a6.js.map → generic-block-ff0509ee.js.map} +1 -1
  63. package/_internal/components/{grid-3b194fe8.js → grid-6f1b5a41.js} +15 -20
  64. package/_internal/components/{grid-3b194fe8.js.map → grid-6f1b5a41.js.map} +1 -1
  65. package/_internal/components/{grid-column-985b9327.js → grid-column-f01df853.js} +8 -9
  66. package/_internal/components/{grid-column-985b9327.js.map → grid-column-f01df853.js.map} +1 -1
  67. package/_internal/components/{heading-5e954dfc.js → heading-89239843.js} +11 -12
  68. package/_internal/components/{heading-5e954dfc.js.map → heading-89239843.js.map} +1 -1
  69. package/_internal/components/{icon-2e7345ad.js → icon-b708cca4.js} +24 -25
  70. package/_internal/components/{icon-2e7345ad.js.map → icon-b708cca4.js.map} +1 -1
  71. package/_internal/components/{image-block-8d21dd7e.js → image-block-7938422d.js} +35 -34
  72. package/_internal/components/{image-block-8d21dd7e.js.map → image-block-7938422d.js.map} +1 -1
  73. package/_internal/components/{image-lightbox-4a5ab962.js → image-lightbox-58331704.js} +113 -100
  74. package/_internal/components/{image-lightbox-4a5ab962.js.map → image-lightbox-58331704.js.map} +1 -1
  75. package/_internal/components/{inline-list-4884f004.js → inline-list-e6f19a98.js} +24 -24
  76. package/_internal/components/{inline-list-4884f004.js.map → inline-list-e6f19a98.js.map} +1 -1
  77. package/_internal/components/{input-helper-e644e05e.js → input-helper-64153099.js} +9 -11
  78. package/_internal/components/{input-helper-e644e05e.js.map → input-helper-64153099.js.map} +1 -1
  79. package/_internal/components/{input-label-5e509a1b.js → input-label-2feb0bb0.js} +9 -11
  80. package/_internal/components/{input-label-5e509a1b.js.map → input-label-2feb0bb0.js.map} +1 -1
  81. package/_internal/components/{lightbox-bec1b95f.js → lightbox-570ad9e5.js} +55 -49
  82. package/_internal/components/{lightbox-bec1b95f.js.map → lightbox-570ad9e5.js.map} +1 -1
  83. package/_internal/components/{link-9637b9e4.js → link-91f76477.js} +25 -23
  84. package/_internal/components/{link-9637b9e4.js.map → link-91f76477.js.map} +1 -1
  85. package/_internal/components/link-preview-fdd8d738.js +117 -0
  86. package/_internal/components/{link-preview-7a4a6e4b.js.map → link-preview-fdd8d738.js.map} +1 -1
  87. package/_internal/components/{list-5c8f7122.js → list-b08d8423.js} +14 -20
  88. package/_internal/components/{list-5c8f7122.js.map → list-b08d8423.js.map} +1 -1
  89. package/_internal/components/{message-a67067d9.js → message-29cb9181.js} +24 -24
  90. package/_internal/components/{message-a67067d9.js.map → message-29cb9181.js.map} +1 -1
  91. package/_internal/components/{mosaic-92b66c80.js → mosaic-cdb9f563.js} +36 -33
  92. package/_internal/components/{mosaic-92b66c80.js.map → mosaic-cdb9f563.js.map} +1 -1
  93. package/_internal/components/navigation-8b7d9bd8.js +225 -0
  94. package/_internal/components/{navigation-4fd3917d.js.map → navigation-8b7d9bd8.js.map} +1 -1
  95. package/_internal/components/{notification-9063c963.js → notification-a45fda96.js} +45 -40
  96. package/_internal/components/{notification-9063c963.js.map → notification-a45fda96.js.map} +1 -1
  97. package/_internal/components/popover-65bfbc57.js +3 -0
  98. package/_internal/components/popover-65bfbc57.js.map +1 -0
  99. package/_internal/components/post-block-52e58dd5.js +109 -0
  100. package/_internal/components/{post-block-0cfc2206.js.map → post-block-52e58dd5.js.map} +1 -1
  101. package/_internal/components/{progress-eaf5b33d.js → progress-f39c3fa2.js} +44 -50
  102. package/_internal/components/{progress-eaf5b33d.js.map → progress-f39c3fa2.js.map} +1 -1
  103. package/_internal/components/{progress-tracker-4a65718d.js → progress-tracker-512d7a08.js} +59 -63
  104. package/_internal/components/{progress-tracker-4a65718d.js.map → progress-tracker-512d7a08.js.map} +1 -1
  105. package/_internal/components/{radio-button-3ef8a325.js → radio-button-559a4863.js} +54 -53
  106. package/_internal/components/{radio-button-3ef8a325.js.map → radio-button-559a4863.js.map} +1 -1
  107. package/_internal/components/select-48d4fa8c.js +454 -0
  108. package/_internal/components/{select-d46cfe35.js.map → select-48d4fa8c.js.map} +1 -1
  109. package/_internal/components/{side-navigation-75b22f19.js → side-navigation-f9bc5b4e.js} +62 -56
  110. package/_internal/components/{side-navigation-75b22f19.js.map → side-navigation-f9bc5b4e.js.map} +1 -1
  111. package/_internal/components/{skeleton-361ce335.js → skeleton-c66516ee.js} +23 -31
  112. package/_internal/components/{skeleton-361ce335.js.map → skeleton-c66516ee.js.map} +1 -1
  113. package/_internal/components/{slider-8094cb5c.js → slider-efbfbc45.js} +62 -56
  114. package/_internal/components/{slider-8094cb5c.js.map → slider-efbfbc45.js.map} +1 -1
  115. package/_internal/components/{slideshow-2e8cd372.js → slideshow-dd312470.js} +39 -38
  116. package/_internal/components/{slideshow-2e8cd372.js.map → slideshow-dd312470.js.map} +1 -1
  117. package/_internal/components/{switch-5516949b.js → switch-769a2a04.js} +49 -45
  118. package/_internal/components/{switch-5516949b.js.map → switch-769a2a04.js.map} +1 -1
  119. package/_internal/components/{table-fa198ee6.js → table-8617b1ba.js} +68 -73
  120. package/_internal/components/{table-fa198ee6.js.map → table-8617b1ba.js.map} +1 -1
  121. package/_internal/components/{tabs-bb9bc2a5.js → tabs-884c57b6.js} +41 -41
  122. package/_internal/components/{tabs-bb9bc2a5.js.map → tabs-884c57b6.js.map} +1 -1
  123. package/_internal/components/text-c7b1e079.js +2 -0
  124. package/_internal/components/text-c7b1e079.js.map +1 -0
  125. package/_internal/components/{text-field-82733568.js → text-field-478acd86.js} +116 -103
  126. package/_internal/components/{text-field-82733568.js.map → text-field-478acd86.js.map} +1 -1
  127. package/_internal/components/{thumbnail-e3acff82.js → thumbnail-310a4c4b.js} +2 -2
  128. package/_internal/components/{thumbnail-e3acff82.js.map → thumbnail-310a4c4b.js.map} +1 -1
  129. package/_internal/components/{toolbar-155562be.js → toolbar-a43533a2.js} +18 -17
  130. package/_internal/components/{toolbar-155562be.js.map → toolbar-a43533a2.js.map} +1 -1
  131. package/_internal/components/{tooltip-84ffb4f9.js → tooltip-2885ab2e.js} +44 -35
  132. package/_internal/components/{tooltip-84ffb4f9.js.map → tooltip-2885ab2e.js.map} +1 -1
  133. package/_internal/components/{uploader-896a1d89.js → uploader-1e7f5bbb.js} +35 -32
  134. package/_internal/components/{uploader-896a1d89.js.map → uploader-1e7f5bbb.js.map} +1 -1
  135. package/_internal/components/{user-block-8fd15895.js → user-block-68a51ed0.js} +43 -41
  136. package/_internal/components/{user-block-8fd15895.js.map → user-block-68a51ed0.js.map} +1 -1
  137. package/_internal/{context-21aeb1c7.js → context-9d1336a1.js} +6 -6
  138. package/_internal/{context-21aeb1c7.js.map → context-9d1336a1.js.map} +1 -1
  139. package/_internal/{forwardRef-49d2bb84.js → forwardRef-15f62847.js} +2 -12
  140. package/_internal/{forwardRef-49d2bb84.js.map → forwardRef-15f62847.js.map} +1 -1
  141. package/_internal/{index-f415b08e.js → index-9df37c0d.js} +45 -39
  142. package/_internal/{index-f415b08e.js.map → index-9df37c0d.js.map} +1 -1
  143. package/_internal/{index-b4d256e7.js → index-a9c5cd69.js} +10 -11
  144. package/_internal/{index-b4d256e7.js.map → index-a9c5cd69.js.map} +1 -1
  145. package/_internal/{useDisableStateProps-fffc365f.js → useDisableStateProps-69e16b7c.js} +2 -2
  146. package/_internal/{useDisableStateProps-fffc365f.js.map → useDisableStateProps-69e16b7c.js.map} +1 -1
  147. package/_internal/{wrapChildrenIconWithSpaces-f86106ce.js → wrapChildrenIconWithSpaces-c1faaae4.js} +2 -2
  148. package/_internal/{wrapChildrenIconWithSpaces-f86106ce.js.map → wrapChildrenIconWithSpaces-c1faaae4.js.map} +1 -1
  149. package/index.js +61 -61
  150. package/package.json +3 -3
  151. package/utils/index.js +3 -3
  152. package/_internal/ImageCaption-4279b2b6.js +0 -65
  153. package/_internal/components/comment-block-b84c4694.js +0 -121
  154. package/_internal/components/date-picker-a425534c.js +0 -2
  155. package/_internal/components/date-picker-a425534c.js.map +0 -1
  156. package/_internal/components/link-preview-7a4a6e4b.js +0 -108
  157. package/_internal/components/navigation-4fd3917d.js +0 -210
  158. package/_internal/components/popover-3c4c54bd.js +0 -3
  159. package/_internal/components/popover-3c4c54bd.js.map +0 -1
  160. package/_internal/components/post-block-0cfc2206.js +0 -99
  161. package/_internal/components/select-d46cfe35.js +0 -404
  162. package/_internal/components/text-289c0526.js +0 -2
  163. package/_internal/components/text-289c0526.js.map +0 -1
@@ -1,15 +1,12 @@
1
- import { f as forwardRef, _ as _extends, c as classNames } from '../forwardRef-49d2bb84.js';
1
+ import { f as forwardRef, c as classNames } from '../forwardRef-15f62847.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
- import { u as useDisableStateProps } from '../useDisableStateProps-fffc365f.js';
5
+ import { u as useDisableStateProps } from '../useDisableStateProps-69e16b7c.js';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
7
  import { Theme } from '@lumx/core/js/constants';
7
- import { InputLabel } from './input-label-5e509a1b.js';
8
- import { InputHelper } from './input-helper-e644e05e.js';
9
-
10
- /**
11
- * Defines the props of the component.
12
- */
8
+ import { InputLabel } from './input-label-2feb0bb0.js';
9
+ import { InputHelper } from './input-helper-64153099.js';
13
10
 
14
11
  /**
15
12
  * Component display name.
@@ -62,56 +59,59 @@ const RadioButton = forwardRef((props, ref) => {
62
59
  onChange(value, name, event);
63
60
  }
64
61
  };
65
- return /*#__PURE__*/React.createElement("div", _extends({
66
- ref: ref
67
- }, forwardedProps, {
62
+ return /*#__PURE__*/jsxs("div", {
63
+ ref: ref,
64
+ ...forwardedProps,
68
65
  className: classNames(className, handleBasicClasses({
69
66
  isChecked,
70
67
  isDisabled: isAnyDisabled,
71
68
  isUnchecked: !isChecked,
72
69
  prefix: CLASSNAME$1,
73
70
  theme
74
- }))
75
- }), /*#__PURE__*/React.createElement("div", {
76
- className: `${CLASSNAME$1}__input-wrapper`
77
- }, /*#__PURE__*/React.createElement("input", _extends({
78
- ref: inputRef,
79
- className: `${CLASSNAME$1}__input-native`
80
- }, disabledStateProps, {
81
- id: inputId,
82
- type: "radio",
83
- name: name,
84
- value: value,
85
- checked: isChecked,
86
- onChange: handleChange,
87
- readOnly: inputProps?.readOnly || isAnyDisabled,
88
- "aria-describedby": helper ? `${inputId}-helper` : undefined
89
- }, inputProps)), /*#__PURE__*/React.createElement("div", {
90
- className: `${CLASSNAME$1}__input-placeholder`
91
- }, /*#__PURE__*/React.createElement("div", {
92
- className: `${CLASSNAME$1}__input-background`
93
- }), /*#__PURE__*/React.createElement("div", {
94
- className: `${CLASSNAME$1}__input-indicator`
95
- }))), /*#__PURE__*/React.createElement("div", {
96
- className: `${CLASSNAME$1}__content`
97
- }, label && /*#__PURE__*/React.createElement(InputLabel, {
98
- htmlFor: inputId,
99
- theme: theme,
100
- className: `${CLASSNAME$1}__label`
101
- }, label), helper && /*#__PURE__*/React.createElement(InputHelper, {
102
- id: `${inputId}-helper`,
103
- theme: theme,
104
- className: `${CLASSNAME$1}__helper`
105
- }, helper)));
71
+ })),
72
+ children: [/*#__PURE__*/jsxs("div", {
73
+ className: `${CLASSNAME$1}__input-wrapper`,
74
+ children: [/*#__PURE__*/jsx("input", {
75
+ ref: inputRef,
76
+ className: `${CLASSNAME$1}__input-native`,
77
+ ...disabledStateProps,
78
+ id: inputId,
79
+ type: "radio",
80
+ name: name,
81
+ value: value,
82
+ checked: isChecked,
83
+ onChange: handleChange,
84
+ readOnly: inputProps?.readOnly || isAnyDisabled,
85
+ "aria-describedby": helper ? `${inputId}-helper` : undefined,
86
+ ...inputProps
87
+ }), /*#__PURE__*/jsxs("div", {
88
+ className: `${CLASSNAME$1}__input-placeholder`,
89
+ children: [/*#__PURE__*/jsx("div", {
90
+ className: `${CLASSNAME$1}__input-background`
91
+ }), /*#__PURE__*/jsx("div", {
92
+ className: `${CLASSNAME$1}__input-indicator`
93
+ })]
94
+ })]
95
+ }), /*#__PURE__*/jsxs("div", {
96
+ className: `${CLASSNAME$1}__content`,
97
+ children: [label && /*#__PURE__*/jsx(InputLabel, {
98
+ htmlFor: inputId,
99
+ theme: theme,
100
+ className: `${CLASSNAME$1}__label`,
101
+ children: label
102
+ }), helper && /*#__PURE__*/jsx(InputHelper, {
103
+ id: `${inputId}-helper`,
104
+ theme: theme,
105
+ className: `${CLASSNAME$1}__helper`,
106
+ children: helper
107
+ })]
108
+ })]
109
+ });
106
110
  });
107
111
  RadioButton.displayName = COMPONENT_NAME$1;
108
112
  RadioButton.className = CLASSNAME$1;
109
113
  RadioButton.defaultProps = DEFAULT_PROPS;
110
114
 
111
- /**
112
- * Defines the props of the component.
113
- */
114
-
115
115
  /**
116
116
  * Component display name.
117
117
  */
@@ -135,14 +135,15 @@ const RadioGroup = forwardRef((props, ref) => {
135
135
  className,
136
136
  ...forwardedProps
137
137
  } = props;
138
- return /*#__PURE__*/React.createElement("div", _extends({
139
- ref: ref
140
- }, forwardedProps, {
141
- className: classNames(className, CLASSNAME)
142
- }), children);
138
+ return /*#__PURE__*/jsx("div", {
139
+ ref: ref,
140
+ ...forwardedProps,
141
+ className: classNames(className, CLASSNAME),
142
+ children: children
143
+ });
143
144
  });
144
145
  RadioGroup.displayName = COMPONENT_NAME;
145
146
  RadioGroup.className = CLASSNAME;
146
147
 
147
148
  export { RadioButton, RadioGroup };
148
- //# sourceMappingURL=radio-button-3ef8a325.js.map
149
+ //# sourceMappingURL=radio-button-559a4863.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-3ef8a325.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","React","createElement","_extends","classNames","handleBasicClasses","isDisabled","isUnchecked","prefix","type","readOnly","undefined","InputLabel","htmlFor","InputHelper","displayName","defaultProps","RadioGroup","children"],"mappings":"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"}
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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"}
@@ -0,0 +1,454 @@
1
+ import { c as classNames, f as forwardRef } from '../forwardRef-15f62847.js';
2
+ import isEmpty from 'lodash/isEmpty';
3
+ import { mdiCheckCircle, mdiAlertCircle, mdiCloseCircle, mdiMenuDown, mdiClose } from '@lumx/icons';
4
+ import { Theme, Kind, Size, Emphasis } from '@lumx/core/js/constants';
5
+ import { I as IconButton } from '../IconButton-f4df224c.js';
6
+ import { C as Chip } from '../Chip-a34f6905.js';
7
+ import { Icon } from './icon-b708cca4.js';
8
+ import { InputLabel } from './input-label-2feb0bb0.js';
9
+ import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
10
+ import { m as mergeRefs } from '../mergeRefs-f0d7d6ea.js';
11
+ import { u as useTheme } from '../ThemeContext-3181f000.js';
12
+ import { useState, useEffect, useRef, useCallback } from 'react';
13
+ import { Dropdown } from './dropdown-0baed51b.js';
14
+ import { InputHelper } from './input-helper-64153099.js';
15
+ import { u as useFocusTrap } from '../useFocusTrap-c3c6378b.js';
16
+ import { u as useId } from '../useId-3a1facc0.js';
17
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
18
+ import { P as Placement } from '../constants-b9e57936.js';
19
+
20
+ /**
21
+ * Listen on element focus to store the focus status.
22
+ */
23
+ function useListenFocus(ref) {
24
+ const [isFocus, setFocus] = useState(false);
25
+ useEffect(() => {
26
+ const {
27
+ current: element
28
+ } = ref;
29
+ if (!element) {
30
+ return undefined;
31
+ }
32
+ const onFocus = () => setFocus(true);
33
+ const onBlur = () => setFocus(false);
34
+ element.addEventListener('focus', onFocus);
35
+ element.addEventListener('blur', onBlur);
36
+ return () => {
37
+ element.removeEventListener('focus', onFocus);
38
+ element.removeEventListener('blur', onBlur);
39
+ };
40
+ }, [ref, setFocus]);
41
+ return isFocus;
42
+ }
43
+
44
+ /** The display name of the component. */
45
+ const COMPONENT_NAME$2 = 'Select';
46
+
47
+ /** The default class name and classes prefix for this component. */
48
+ const CLASSNAME$2 = getRootClassName(COMPONENT_NAME$2);
49
+ const WithSelectContext = (SelectElement, props, ref) => {
50
+ const defaultTheme = useTheme() || Theme.light;
51
+ const {
52
+ children,
53
+ className,
54
+ focusElement,
55
+ isMultiple,
56
+ closeOnClick = !isMultiple,
57
+ disabled,
58
+ error,
59
+ hasError,
60
+ helper,
61
+ id,
62
+ isDisabled = disabled,
63
+ isEmpty,
64
+ isOpen,
65
+ isRequired,
66
+ isValid,
67
+ label,
68
+ onClear,
69
+ onDropdownClose,
70
+ onInfiniteScroll,
71
+ onInputClick,
72
+ placeholder,
73
+ theme = defaultTheme,
74
+ value,
75
+ variant,
76
+ ...forwardedProps
77
+ } = props;
78
+ const generatedSelectId = useId();
79
+ const selectId = id || generatedSelectId;
80
+ const anchorRef = useRef(null);
81
+ const selectRef = useRef(null);
82
+ const dropdownRef = useRef(null);
83
+ const isFocus = useListenFocus(anchorRef);
84
+ const handleKeyboardNav = useCallback(evt => {
85
+ if ((evt.key === 'Enter' || evt.key === ' ' || evt.key === 'ArrowDown') && onInputClick) {
86
+ evt.preventDefault();
87
+ onInputClick();
88
+ }
89
+ }, [onInputClick]);
90
+ const onClose = () => {
91
+ if (onDropdownClose) {
92
+ onDropdownClose();
93
+ }
94
+ anchorRef?.current?.blur();
95
+ };
96
+
97
+ // Handle focus trap.
98
+ useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);
99
+ return /*#__PURE__*/jsxs("div", {
100
+ ref: mergeRefs(ref, selectRef),
101
+ className: classNames(className, handleBasicClasses({
102
+ hasError,
103
+ hasLabel: Boolean(label),
104
+ hasPlaceholder: Boolean(placeholder),
105
+ hasValue: !isEmpty,
106
+ isDisabled,
107
+ isEmpty,
108
+ isFocus,
109
+ isOpen,
110
+ isValid,
111
+ prefix: CLASSNAME$2,
112
+ theme: theme === Theme.light ? Theme.light : Theme.dark
113
+ })),
114
+ children: [/*#__PURE__*/jsx(SelectElement, {
115
+ ...forwardedProps,
116
+ anchorRef: anchorRef,
117
+ "aria-disabled": isDisabled,
118
+ handleKeyboardNav: handleKeyboardNav,
119
+ hasError: hasError,
120
+ isDisabled: isDisabled,
121
+ isEmpty: isEmpty,
122
+ isRequired: isRequired,
123
+ isValid: isValid,
124
+ label: label,
125
+ placeholder: placeholder,
126
+ id: selectId,
127
+ theme: theme,
128
+ value: value,
129
+ variant: variant,
130
+ onClear: onClear,
131
+ onInputClick: onInputClick
132
+ }), /*#__PURE__*/jsx(Dropdown, {
133
+ anchorRef: anchorRef,
134
+ closeOnClick: closeOnClick,
135
+ closeOnClickAway: true,
136
+ closeOnEscape: true,
137
+ isOpen: !!isOpen,
138
+ placement: Placement.BOTTOM_START,
139
+ onClose: onClose,
140
+ onInfiniteScroll: onInfiniteScroll,
141
+ ref: dropdownRef,
142
+ children: children
143
+ }), hasError && error && /*#__PURE__*/jsx(InputHelper, {
144
+ className: `${CLASSNAME$2}__helper`,
145
+ kind: Kind.error,
146
+ theme: theme,
147
+ children: error
148
+ }), helper && /*#__PURE__*/jsx(InputHelper, {
149
+ className: `${CLASSNAME$2}__helper`,
150
+ theme: theme,
151
+ children: helper
152
+ })]
153
+ });
154
+ };
155
+
156
+ /**
157
+ * Select variants.
158
+ */
159
+ const SelectVariant = {
160
+ input: 'input',
161
+ chip: 'chip'
162
+ };
163
+
164
+ /** The display name of the component. */
165
+ const COMPONENT_NAME$1 = 'Select';
166
+
167
+ /** The default class name and classes prefix for this component. */
168
+ const CLASSNAME$1 = getRootClassName(COMPONENT_NAME$1);
169
+
170
+ /** The default value of props. */
171
+ const DEFAULT_PROPS$1 = {
172
+ selectedValueRender: choice => choice,
173
+ variant: SelectVariant.input
174
+ };
175
+ const stopPropagation = evt => evt.stopPropagation();
176
+
177
+ /**
178
+ * Select component.
179
+ */
180
+ const SelectField = props => {
181
+ const defaultTheme = useTheme();
182
+ const {
183
+ anchorRef,
184
+ clearButtonProps,
185
+ handleKeyboardNav,
186
+ hasError,
187
+ hasInputClear,
188
+ icon,
189
+ id,
190
+ isDisabled,
191
+ isEmpty,
192
+ isRequired,
193
+ isValid,
194
+ label,
195
+ onClear,
196
+ onInputClick,
197
+ placeholder,
198
+ selectedValueRender,
199
+ theme = defaultTheme,
200
+ value,
201
+ variant,
202
+ selectElementRef,
203
+ ...forwardedProps
204
+ } = props;
205
+ return /*#__PURE__*/jsxs(Fragment, {
206
+ children: [variant === SelectVariant.input && /*#__PURE__*/jsxs(Fragment, {
207
+ children: [label && /*#__PURE__*/jsx("div", {
208
+ className: `${CLASSNAME$1}__header`,
209
+ children: /*#__PURE__*/jsx(InputLabel, {
210
+ htmlFor: id,
211
+ className: `${CLASSNAME$1}__label`,
212
+ isRequired: isRequired,
213
+ theme: theme,
214
+ children: label
215
+ })
216
+ }), /*#__PURE__*/jsxs("div", {
217
+ ref: mergeRefs(anchorRef, selectElementRef),
218
+ id: id,
219
+ className: `${CLASSNAME$1}__wrapper`,
220
+ onClick: onInputClick,
221
+ onKeyDown: handleKeyboardNav,
222
+ tabIndex: isDisabled ? undefined : 0,
223
+ "aria-disabled": isDisabled || undefined,
224
+ ...forwardedProps,
225
+ children: [icon && /*#__PURE__*/jsx(Icon, {
226
+ className: `${CLASSNAME$1}__input-icon`,
227
+ color: theme === Theme.dark ? 'light' : undefined,
228
+ icon: icon,
229
+ size: Size.xs
230
+ }), /*#__PURE__*/jsxs("div", {
231
+ className: classNames([`${CLASSNAME$1}__input-native`, isEmpty && placeholder && `${CLASSNAME$1}__input-native--placeholder`]),
232
+ children: [!isEmpty && /*#__PURE__*/jsx("span", {
233
+ children: selectedValueRender?.(value)
234
+ }), isEmpty && placeholder && /*#__PURE__*/jsx("span", {
235
+ children: placeholder
236
+ })]
237
+ }), (isValid || hasError) && /*#__PURE__*/jsx("div", {
238
+ className: `${CLASSNAME$1}__input-validity`,
239
+ children: /*#__PURE__*/jsx(Icon, {
240
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
241
+ size: Size.xxs
242
+ })
243
+ }), hasInputClear && clearButtonProps && /*#__PURE__*/jsx(IconButton, {
244
+ ...clearButtonProps,
245
+ className: `${CLASSNAME$1}__input-clear`,
246
+ icon: mdiCloseCircle,
247
+ emphasis: Emphasis.low,
248
+ size: Size.s,
249
+ theme: theme,
250
+ onClick: onClear,
251
+ onKeyDown: stopPropagation
252
+ }), /*#__PURE__*/jsx("div", {
253
+ className: `${CLASSNAME$1}__input-indicator`,
254
+ children: /*#__PURE__*/jsx(Icon, {
255
+ icon: mdiMenuDown,
256
+ size: Size.s
257
+ })
258
+ })]
259
+ })]
260
+ }), variant === SelectVariant.chip && /*#__PURE__*/jsxs(Chip, {
261
+ id: id,
262
+ isSelected: !isEmpty,
263
+ isDisabled: isDisabled,
264
+ after: /*#__PURE__*/jsx(Icon, {
265
+ icon: isEmpty ? mdiMenuDown : mdiCloseCircle
266
+ }),
267
+ onAfterClick: isEmpty ? onInputClick : onClear,
268
+ onClick: onInputClick,
269
+ ref: mergeRefs(anchorRef, selectElementRef),
270
+ theme: theme,
271
+ ...forwardedProps,
272
+ children: [isEmpty && /*#__PURE__*/jsx("span", {
273
+ children: label
274
+ }), !isEmpty && /*#__PURE__*/jsx("span", {
275
+ children: selectedValueRender?.(value)
276
+ })]
277
+ })]
278
+ });
279
+ };
280
+
281
+ /**
282
+ * Select component.
283
+ *
284
+ * @param props Component props.
285
+ * @param ref Component ref.
286
+ * @return React element.
287
+ */
288
+ const Select = forwardRef((props, ref) => {
289
+ const isEmpty$1 = isEmpty(props.value);
290
+ const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
291
+ return WithSelectContext(SelectField, {
292
+ ...DEFAULT_PROPS$1,
293
+ ...props,
294
+ className: classNames(props.className, handleBasicClasses({
295
+ hasInputClear,
296
+ hasUnique: !props.isEmpty,
297
+ prefix: CLASSNAME$1
298
+ })),
299
+ hasInputClear,
300
+ isEmpty: isEmpty$1
301
+ }, ref);
302
+ });
303
+ Select.displayName = COMPONENT_NAME$1;
304
+ Select.className = CLASSNAME$1;
305
+ Select.defaultProps = DEFAULT_PROPS$1;
306
+ Select.className = CLASSNAME$1;
307
+
308
+ /** The display name of the component. */
309
+ const COMPONENT_NAME = 'Select';
310
+
311
+ /** The default class name and classes prefix for this component. */
312
+ const CLASSNAME = getRootClassName(COMPONENT_NAME);
313
+
314
+ /** The default value of props. */
315
+ const DEFAULT_PROPS = {
316
+ selectedChipRender(choice, index, onClear, isDisabled, theme) {
317
+ const onClick = event => onClear && onClear(event, choice);
318
+ return /*#__PURE__*/jsx(Chip, {
319
+ after: onClear && /*#__PURE__*/jsx(Icon, {
320
+ icon: mdiClose,
321
+ size: Size.xxs
322
+ }),
323
+ isDisabled: isDisabled,
324
+ size: Size.s,
325
+ onAfterClick: onClick,
326
+ onClick: onClick,
327
+ theme: theme,
328
+ children: choice
329
+ }, index);
330
+ },
331
+ selectedValueRender: choice => choice,
332
+ variant: SelectVariant.input
333
+ };
334
+ const SelectMultipleField = props => {
335
+ const defaultTheme = useTheme();
336
+ const {
337
+ anchorRef,
338
+ handleKeyboardNav,
339
+ hasError,
340
+ icon,
341
+ id,
342
+ isDisabled,
343
+ isEmpty,
344
+ isRequired,
345
+ isValid,
346
+ label,
347
+ onClear,
348
+ onInputClick,
349
+ placeholder,
350
+ selectedChipRender,
351
+ selectedValueRender,
352
+ theme = defaultTheme,
353
+ value,
354
+ variant,
355
+ selectElementRef,
356
+ ...forwardedProps
357
+ } = props;
358
+ return /*#__PURE__*/jsxs(Fragment, {
359
+ children: [variant === SelectVariant.input && /*#__PURE__*/jsxs(Fragment, {
360
+ children: [label && /*#__PURE__*/jsx("div", {
361
+ className: `${CLASSNAME}__header`,
362
+ children: /*#__PURE__*/jsx(InputLabel, {
363
+ htmlFor: id,
364
+ className: `${CLASSNAME}__label`,
365
+ isRequired: isRequired,
366
+ theme: theme,
367
+ children: label
368
+ })
369
+ }), /*#__PURE__*/jsxs("div", {
370
+ ref: mergeRefs(anchorRef, selectElementRef),
371
+ id: id,
372
+ className: `${CLASSNAME}__wrapper`,
373
+ onClick: onInputClick,
374
+ onKeyDown: handleKeyboardNav,
375
+ tabIndex: isDisabled ? undefined : 0,
376
+ "aria-disabled": isDisabled || undefined,
377
+ ...forwardedProps,
378
+ children: [icon && /*#__PURE__*/jsx(Icon, {
379
+ className: `${CLASSNAME}__input-icon`,
380
+ color: theme === Theme.dark ? 'light' : undefined,
381
+ icon: icon,
382
+ size: Size.xs
383
+ }), /*#__PURE__*/jsx("div", {
384
+ className: `${CLASSNAME}__chips`,
385
+ children: !isEmpty && value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))
386
+ }), isEmpty && placeholder && /*#__PURE__*/jsx("div", {
387
+ className: classNames([`${CLASSNAME}__input-native`, `${CLASSNAME}__input-native--placeholder`]),
388
+ children: /*#__PURE__*/jsx("span", {
389
+ children: placeholder
390
+ })
391
+ }), (isValid || hasError) && /*#__PURE__*/jsx("div", {
392
+ className: `${CLASSNAME}__input-validity`,
393
+ children: /*#__PURE__*/jsx(Icon, {
394
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
395
+ size: Size.xxs
396
+ })
397
+ }), /*#__PURE__*/jsx("div", {
398
+ className: `${CLASSNAME}__input-indicator`,
399
+ children: /*#__PURE__*/jsx(Icon, {
400
+ icon: mdiMenuDown,
401
+ size: Size.s
402
+ })
403
+ })]
404
+ })]
405
+ }), variant === SelectVariant.chip && /*#__PURE__*/jsxs(Chip, {
406
+ id: id,
407
+ isSelected: !isEmpty,
408
+ isDisabled: isDisabled,
409
+ after: /*#__PURE__*/jsx(Icon, {
410
+ icon: isEmpty ? mdiMenuDown : mdiCloseCircle
411
+ }),
412
+ onAfterClick: isEmpty ? onInputClick : onClear,
413
+ onClick: onInputClick,
414
+ ref: mergeRefs(anchorRef, selectElementRef),
415
+ theme: theme,
416
+ ...forwardedProps,
417
+ children: [isEmpty && /*#__PURE__*/jsx("span", {
418
+ children: label
419
+ }), !isEmpty && /*#__PURE__*/jsxs("span", {
420
+ children: [/*#__PURE__*/jsx("span", {
421
+ children: selectedValueRender?.(value[0])
422
+ }), value.length > 1 && /*#__PURE__*/jsxs("span", {
423
+ children: ["\xA0+", value.length - 1]
424
+ })]
425
+ })]
426
+ })]
427
+ });
428
+ };
429
+
430
+ /**
431
+ * SelectMultiple component.
432
+ *
433
+ * @param props Component props.
434
+ * @param ref Component ref.
435
+ * @return React element.
436
+ */
437
+ const SelectMultiple = forwardRef((props, ref) => {
438
+ return WithSelectContext(SelectMultipleField, {
439
+ ...DEFAULT_PROPS,
440
+ ...props,
441
+ className: classNames(props.className, handleBasicClasses({
442
+ hasMultiple: !props.isEmpty,
443
+ prefix: CLASSNAME
444
+ })),
445
+ isEmpty: props.value.length === 0,
446
+ isMultiple: true
447
+ }, ref);
448
+ });
449
+ SelectMultiple.displayName = COMPONENT_NAME;
450
+ SelectMultiple.className = CLASSNAME;
451
+ SelectMultiple.defaultProps = DEFAULT_PROPS;
452
+
453
+ export { Select, SelectMultiple, SelectMultipleField, SelectVariant };
454
+ //# sourceMappingURL=select-48d4fa8c.js.map