@clickhouse/click-ui 0.6.2-rc3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/dist/cjs/click-ui.css +3521 -236
  2. package/dist/cjs/components/Alert/index.cjs +2 -2
  3. package/dist/cjs/components/Alert/index.cjs.map +1 -1
  4. package/dist/cjs/components/Assets/Logos/Polaris.cjs +22 -0
  5. package/dist/cjs/components/Assets/Logos/Polaris.cjs.map +1 -0
  6. package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs +2 -0
  7. package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs.map +1 -1
  8. package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs +2 -0
  9. package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs.map +1 -1
  10. package/dist/cjs/components/AutoComplete/AutoComplete.css +97 -0
  11. package/dist/cjs/components/AutoComplete/AutoComplete.module.css.cjs +18 -0
  12. package/dist/cjs/components/AutoComplete/AutoComplete.module.css.cjs.map +1 -0
  13. package/dist/cjs/components/AutoComplete/index.cjs +14 -74
  14. package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
  15. package/dist/cjs/components/BigStat/BigStat.css +77 -0
  16. package/dist/cjs/components/BigStat/BigStat.module.css.cjs +22 -0
  17. package/dist/cjs/components/BigStat/BigStat.module.css.cjs.map +1 -0
  18. package/dist/cjs/components/BigStat/index.cjs +60 -52
  19. package/dist/cjs/components/BigStat/index.cjs.map +1 -1
  20. package/dist/cjs/components/Button/BaseButton.cjs +10 -31
  21. package/dist/cjs/components/Button/BaseButton.cjs.map +1 -1
  22. package/dist/cjs/components/Button/BaseButton.css +40 -0
  23. package/dist/cjs/components/Button/BaseButton.module.css.cjs +10 -0
  24. package/dist/cjs/components/Button/BaseButton.module.css.cjs.map +1 -0
  25. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  26. package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
  27. package/dist/cjs/components/CardPromotion/CardPromotion.css +52 -0
  28. package/dist/cjs/components/CardPromotion/CardPromotion.module.css.cjs +21 -0
  29. package/dist/cjs/components/CardPromotion/CardPromotion.module.css.cjs.map +1 -0
  30. package/dist/cjs/components/CardPromotion/index.cjs +8 -54
  31. package/dist/cjs/components/CardPromotion/index.cjs.map +1 -1
  32. package/dist/cjs/components/CardSecondary/CardSecondary.css +99 -0
  33. package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs +39 -0
  34. package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs.map +1 -0
  35. package/dist/cjs/components/CardSecondary/index.cjs +35 -84
  36. package/dist/cjs/components/CardSecondary/index.cjs.map +1 -1
  37. package/dist/cjs/components/CodeBlock/CodeBlock.css +48 -0
  38. package/dist/cjs/components/CodeBlock/CodeBlock.module.css.cjs +22 -0
  39. package/dist/cjs/components/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
  40. package/dist/cjs/components/CodeBlock/InlineCodeBlock.cjs +7 -14
  41. package/dist/cjs/components/CodeBlock/InlineCodeBlock.cjs.map +1 -1
  42. package/dist/cjs/components/CodeBlock/InlineCodeBlock.css +10 -0
  43. package/dist/cjs/components/CodeBlock/InlineCodeBlock.module.css.cjs +12 -0
  44. package/dist/cjs/components/CodeBlock/InlineCodeBlock.module.css.cjs.map +1 -0
  45. package/dist/cjs/components/CodeBlock/index.cjs +18 -49
  46. package/dist/cjs/components/CodeBlock/index.cjs.map +1 -1
  47. package/dist/cjs/components/CodeBlock/useColorStyle.cjs +15 -0
  48. package/dist/cjs/components/CodeBlock/useColorStyle.cjs.map +1 -1
  49. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
  50. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs +15 -0
  51. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs.map +1 -0
  52. package/dist/cjs/components/ConfirmationDialog/index.cjs +6 -11
  53. package/dist/cjs/components/ConfirmationDialog/index.cjs.map +1 -1
  54. package/dist/cjs/components/ContextMenu/ContextMenu.css +40 -0
  55. package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs +17 -0
  56. package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
  57. package/dist/cjs/components/ContextMenu/index.cjs +33 -47
  58. package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
  59. package/dist/cjs/components/CrossButton/CrossButton.css +12 -0
  60. package/dist/cjs/components/CrossButton/CrossButton.module.css.cjs +10 -0
  61. package/dist/cjs/components/CrossButton/CrossButton.module.css.cjs.map +1 -0
  62. package/dist/cjs/components/CrossButton/index.cjs +11 -14
  63. package/dist/cjs/components/CrossButton/index.cjs.map +1 -1
  64. package/dist/cjs/components/DatePicker/Common.cjs +1 -1
  65. package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
  66. package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs +1 -1
  67. package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs.map +1 -1
  68. package/dist/cjs/components/Dropdown/Dropdown.css +36 -0
  69. package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs +13 -0
  70. package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs.map +1 -0
  71. package/dist/cjs/components/Dropdown/index.cjs +28 -33
  72. package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
  73. package/dist/cjs/components/EllipsisContent/EllipsisContent.css +21 -0
  74. package/dist/cjs/components/EllipsisContent/EllipsisContent.module.css.cjs +10 -0
  75. package/dist/cjs/components/EllipsisContent/EllipsisContent.module.css.cjs.map +1 -0
  76. package/dist/cjs/components/EllipsisContent/index.cjs +7 -6
  77. package/dist/cjs/components/EllipsisContent/index.cjs.map +1 -1
  78. package/dist/cjs/components/EmptyButton/EmptyButton.css +21 -0
  79. package/dist/cjs/components/EmptyButton/EmptyButton.module.css.cjs +10 -0
  80. package/dist/cjs/components/EmptyButton/EmptyButton.module.css.cjs.map +1 -0
  81. package/dist/cjs/components/EmptyButton/index.cjs +10 -4
  82. package/dist/cjs/components/EmptyButton/index.cjs.map +1 -1
  83. package/dist/cjs/components/FileTabs/FileTabs.css +167 -0
  84. package/dist/cjs/components/FileTabs/FileTabs.module.css.cjs +38 -0
  85. package/dist/cjs/components/FileTabs/FileTabs.module.css.cjs.map +1 -0
  86. package/dist/cjs/components/FileTabs/index.cjs +51 -80
  87. package/dist/cjs/components/FileTabs/index.cjs.map +1 -1
  88. package/dist/cjs/components/FileUpload/FileMultiUpload.cjs +3 -9
  89. package/dist/cjs/components/FileUpload/FileMultiUpload.cjs.map +1 -1
  90. package/dist/cjs/components/FileUpload/FileMultiUpload.css +8 -0
  91. package/dist/cjs/components/FileUpload/FileMultiUpload.module.css.cjs +10 -0
  92. package/dist/cjs/components/FileUpload/FileMultiUpload.module.css.cjs.map +1 -0
  93. package/dist/cjs/components/FileUpload/FileUpload.stories-common.css +14 -0
  94. package/dist/cjs/components/FileUpload/FileUploadArea.cjs +87 -64
  95. package/dist/cjs/components/FileUpload/FileUploadArea.cjs.map +1 -1
  96. package/dist/cjs/components/FileUpload/FileUploadArea.css +130 -0
  97. package/dist/cjs/components/FileUpload/FileUploadArea.module.css.cjs +38 -0
  98. package/dist/cjs/components/FileUpload/FileUploadArea.module.css.cjs.map +1 -0
  99. package/dist/cjs/components/FileUpload/FileUploadItem.cjs +56 -64
  100. package/dist/cjs/components/FileUpload/FileUploadItem.cjs.map +1 -1
  101. package/dist/cjs/components/FileUpload/FileUploadItem.css +82 -0
  102. package/dist/cjs/components/FileUpload/FileUploadItem.module.css.cjs +27 -0
  103. package/dist/cjs/components/FileUpload/FileUploadItem.module.css.cjs.map +1 -0
  104. package/dist/cjs/components/Flyout/Flyout.css +231 -0
  105. package/dist/cjs/components/Flyout/Flyout.module.css.cjs +93 -0
  106. package/dist/cjs/components/Flyout/Flyout.module.css.cjs.map +1 -0
  107. package/dist/cjs/components/Flyout/index.cjs +148 -126
  108. package/dist/cjs/components/Flyout/index.cjs.map +1 -1
  109. package/dist/cjs/components/FormContainer/Error.cjs +8 -9
  110. package/dist/cjs/components/FormContainer/Error.cjs.map +1 -1
  111. package/dist/cjs/components/FormContainer/Error.css +4 -0
  112. package/dist/cjs/components/FormContainer/Error.module.css.cjs +12 -0
  113. package/dist/cjs/components/FormContainer/Error.module.css.cjs.map +1 -0
  114. package/dist/cjs/components/FormContainer/FormElementContainer.cjs +8 -6
  115. package/dist/cjs/components/FormContainer/FormElementContainer.cjs.map +1 -1
  116. package/dist/cjs/components/FormContainer/FormElementContainer.css +14 -0
  117. package/dist/cjs/components/FormContainer/FormElementContainer.module.css.cjs +10 -0
  118. package/dist/cjs/components/FormContainer/FormElementContainer.module.css.cjs.map +1 -0
  119. package/dist/cjs/components/FormContainer/FormRoot.cjs +32 -18
  120. package/dist/cjs/components/FormContainer/FormRoot.cjs.map +1 -1
  121. package/dist/cjs/components/FormContainer/FormRoot.css +33 -0
  122. package/dist/cjs/components/FormContainer/FormRoot.module.css.cjs +15 -0
  123. package/dist/cjs/components/FormContainer/FormRoot.module.css.cjs.map +1 -0
  124. package/dist/cjs/components/GenericMenu/GenericMenu.css +176 -0
  125. package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs +23 -0
  126. package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs.map +1 -0
  127. package/dist/cjs/components/GenericMenu/index.cjs +93 -99
  128. package/dist/cjs/components/GenericMenu/index.cjs.map +1 -1
  129. package/dist/cjs/components/GridCenter/GridCenter.css +6 -0
  130. package/dist/cjs/components/GridContainer/GridContainer.css +71 -0
  131. package/dist/cjs/components/GridContainer/GridContainer.module.css.cjs +12 -0
  132. package/dist/cjs/components/GridContainer/GridContainer.module.css.cjs.map +1 -0
  133. package/dist/cjs/components/GridContainer/index.cjs +64 -64
  134. package/dist/cjs/components/GridContainer/index.cjs.map +1 -1
  135. package/dist/cjs/components/HoverCard/index.cjs +1 -1
  136. package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
  137. package/dist/cjs/components/IconButton/index.cjs +2 -1
  138. package/dist/cjs/components/IconButton/index.cjs.map +1 -1
  139. package/dist/cjs/components/InputWrapper/InputWrapper.css +221 -0
  140. package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs +39 -0
  141. package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs.map +1 -0
  142. package/dist/cjs/components/InputWrapper/index.cjs +84 -185
  143. package/dist/cjs/components/InputWrapper/index.cjs.map +1 -1
  144. package/dist/cjs/components/MiddleTruncator/MiddleTruncator.css +22 -0
  145. package/dist/cjs/components/MiddleTruncator/MiddleTruncator.module.css.cjs +18 -0
  146. package/dist/cjs/components/MiddleTruncator/MiddleTruncator.module.css.cjs.map +1 -0
  147. package/dist/cjs/components/MiddleTruncator/index.cjs +5 -17
  148. package/dist/cjs/components/MiddleTruncator/index.cjs.map +1 -1
  149. package/dist/cjs/components/Pagination/Pagination.css +7 -0
  150. package/dist/cjs/components/Pagination/Pagination.module.css.cjs +10 -0
  151. package/dist/cjs/components/Pagination/Pagination.module.css.cjs.map +1 -0
  152. package/dist/cjs/components/Pagination/index.cjs +3 -5
  153. package/dist/cjs/components/Pagination/index.cjs.map +1 -1
  154. package/dist/cjs/components/Panel/Panel.css +116 -0
  155. package/dist/cjs/components/Panel/Panel.module.css.cjs +87 -0
  156. package/dist/cjs/components/Panel/Panel.module.css.cjs.map +1 -0
  157. package/dist/cjs/components/Panel/index.cjs +85 -35
  158. package/dist/cjs/components/Panel/index.cjs.map +1 -1
  159. package/dist/cjs/components/Popover/Popover.css +32 -0
  160. package/dist/cjs/components/Popover/Popover.module.css.cjs +15 -0
  161. package/dist/cjs/components/Popover/Popover.module.css.cjs.map +1 -0
  162. package/dist/cjs/components/Popover/index.cjs +27 -36
  163. package/dist/cjs/components/Popover/index.cjs.map +1 -1
  164. package/dist/cjs/components/RadioGroup/RadioGroup.css +99 -0
  165. package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs +18 -0
  166. package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
  167. package/dist/cjs/components/RadioGroup/index.cjs +28 -77
  168. package/dist/cjs/components/RadioGroup/index.cjs.map +1 -1
  169. package/dist/cjs/components/Select/MultiSelectValue.cjs +4 -9
  170. package/dist/cjs/components/Select/MultiSelectValue.cjs.map +1 -1
  171. package/dist/cjs/components/Select/MultiSelectValue.css +19 -0
  172. package/dist/cjs/components/Select/MultiSelectValue.module.css.cjs +11 -0
  173. package/dist/cjs/components/Select/MultiSelectValue.module.css.cjs.map +1 -0
  174. package/dist/cjs/components/Select/SingleSelectValue.cjs +3 -5
  175. package/dist/cjs/components/Select/SingleSelectValue.cjs.map +1 -1
  176. package/dist/cjs/components/Select/SingleSelectValue.css +10 -0
  177. package/dist/cjs/components/Select/SingleSelectValue.module.css.cjs +10 -0
  178. package/dist/cjs/components/Select/SingleSelectValue.module.css.cjs.map +1 -0
  179. package/dist/cjs/components/Select/common/InternalSelect.cjs +18 -23
  180. package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
  181. package/dist/cjs/components/Select/common/SelectComponents.cjs +110 -0
  182. package/dist/cjs/components/Select/common/SelectComponents.cjs.map +1 -0
  183. package/dist/cjs/components/Select/common/SelectComponents.css +296 -0
  184. package/dist/cjs/components/Select/common/SelectComponents.module.css.cjs +31 -0
  185. package/dist/cjs/components/Select/common/SelectComponents.module.css.cjs.map +1 -0
  186. package/dist/cjs/components/SplitButton/SplitButton.css +138 -0
  187. package/dist/cjs/components/SplitButton/SplitButton.module.css.cjs +19 -0
  188. package/dist/cjs/components/SplitButton/SplitButton.module.css.cjs.map +1 -0
  189. package/dist/cjs/components/SplitButton/index.cjs +43 -88
  190. package/dist/cjs/components/SplitButton/index.cjs.map +1 -1
  191. package/dist/cjs/components/Table/Table.css +375 -0
  192. package/dist/cjs/components/Table/Table.module.css.cjs +86 -0
  193. package/dist/cjs/components/Table/Table.module.css.cjs.map +1 -0
  194. package/dist/cjs/components/Table/index.cjs +132 -214
  195. package/dist/cjs/components/Table/index.cjs.map +1 -1
  196. package/dist/cjs/components/Toast/Toast.css +142 -0
  197. package/dist/cjs/components/Toast/Toast.module.css.cjs +38 -0
  198. package/dist/cjs/components/Toast/Toast.module.css.cjs.map +1 -0
  199. package/dist/cjs/components/Toast/index.cjs +43 -96
  200. package/dist/cjs/components/Toast/index.cjs.map +1 -1
  201. package/dist/cjs/components/Tooltip/Tooltip.css +17 -0
  202. package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs +15 -0
  203. package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
  204. package/dist/cjs/components/Tooltip/index.cjs +12 -24
  205. package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
  206. package/dist/cjs/components/VerticalStepper/VerticalStepper.css +302 -0
  207. package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs +84 -0
  208. package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs.map +1 -0
  209. package/dist/cjs/components/VerticalStepper/index.cjs +85 -110
  210. package/dist/cjs/components/VerticalStepper/index.cjs.map +1 -1
  211. package/dist/esm/click-ui.css +3521 -236
  212. package/dist/esm/components/Alert/index.js +2 -2
  213. package/dist/esm/components/Alert/index.js.map +1 -1
  214. package/dist/esm/components/Assets/Logos/Polaris.js +18 -0
  215. package/dist/esm/components/Assets/Logos/Polaris.js.map +1 -0
  216. package/dist/esm/components/Assets/Logos/system/LogosDark.js +2 -0
  217. package/dist/esm/components/Assets/Logos/system/LogosDark.js.map +1 -1
  218. package/dist/esm/components/Assets/Logos/system/LogosLight.js +2 -0
  219. package/dist/esm/components/Assets/Logos/system/LogosLight.js.map +1 -1
  220. package/dist/esm/components/AutoComplete/AutoComplete.css +97 -0
  221. package/dist/esm/components/AutoComplete/AutoComplete.module.css.js +14 -0
  222. package/dist/esm/components/AutoComplete/AutoComplete.module.css.js.map +1 -0
  223. package/dist/esm/components/AutoComplete/index.js +15 -75
  224. package/dist/esm/components/AutoComplete/index.js.map +1 -1
  225. package/dist/esm/components/BigStat/BigStat.css +77 -0
  226. package/dist/esm/components/BigStat/BigStat.module.css.js +18 -0
  227. package/dist/esm/components/BigStat/BigStat.module.css.js.map +1 -0
  228. package/dist/esm/components/BigStat/index.js +60 -52
  229. package/dist/esm/components/BigStat/index.js.map +1 -1
  230. package/dist/esm/components/Button/BaseButton.css +40 -0
  231. package/dist/esm/components/Button/BaseButton.js +11 -32
  232. package/dist/esm/components/Button/BaseButton.js.map +1 -1
  233. package/dist/esm/components/Button/BaseButton.module.css.js +6 -0
  234. package/dist/esm/components/Button/BaseButton.module.css.js.map +1 -0
  235. package/dist/esm/components/ButtonGroup/index.js +1 -1
  236. package/dist/esm/components/ButtonGroup/index.js.map +1 -1
  237. package/dist/esm/components/CardPromotion/CardPromotion.css +52 -0
  238. package/dist/esm/components/CardPromotion/CardPromotion.module.css.js +13 -0
  239. package/dist/esm/components/CardPromotion/CardPromotion.module.css.js.map +1 -0
  240. package/dist/esm/components/CardPromotion/index.js +8 -54
  241. package/dist/esm/components/CardPromotion/index.js.map +1 -1
  242. package/dist/esm/components/CardSecondary/CardSecondary.css +99 -0
  243. package/dist/esm/components/CardSecondary/CardSecondary.module.css.js +25 -0
  244. package/dist/esm/components/CardSecondary/CardSecondary.module.css.js.map +1 -0
  245. package/dist/esm/components/CardSecondary/index.js +35 -84
  246. package/dist/esm/components/CardSecondary/index.js.map +1 -1
  247. package/dist/esm/components/CodeBlock/CodeBlock.css +48 -0
  248. package/dist/esm/components/CodeBlock/CodeBlock.module.css.js +14 -0
  249. package/dist/esm/components/CodeBlock/CodeBlock.module.css.js.map +1 -0
  250. package/dist/esm/components/CodeBlock/InlineCodeBlock.css +10 -0
  251. package/dist/esm/components/CodeBlock/InlineCodeBlock.js +7 -14
  252. package/dist/esm/components/CodeBlock/InlineCodeBlock.js.map +1 -1
  253. package/dist/esm/components/CodeBlock/InlineCodeBlock.module.css.js +7 -0
  254. package/dist/esm/components/CodeBlock/InlineCodeBlock.module.css.js.map +1 -0
  255. package/dist/esm/components/CodeBlock/index.js +20 -51
  256. package/dist/esm/components/CodeBlock/index.js.map +1 -1
  257. package/dist/esm/components/CodeBlock/useColorStyle.js +14 -1
  258. package/dist/esm/components/CodeBlock/useColorStyle.js.map +1 -1
  259. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
  260. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js +9 -0
  261. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js.map +1 -0
  262. package/dist/esm/components/ConfirmationDialog/index.js +6 -11
  263. package/dist/esm/components/ConfirmationDialog/index.js.map +1 -1
  264. package/dist/esm/components/ContextMenu/ContextMenu.css +40 -0
  265. package/dist/esm/components/ContextMenu/ContextMenu.module.css.js +11 -0
  266. package/dist/esm/components/ContextMenu/ContextMenu.module.css.js.map +1 -0
  267. package/dist/esm/components/ContextMenu/index.js +34 -48
  268. package/dist/esm/components/ContextMenu/index.js.map +1 -1
  269. package/dist/esm/components/CrossButton/CrossButton.css +12 -0
  270. package/dist/esm/components/CrossButton/CrossButton.module.css.js +6 -0
  271. package/dist/esm/components/CrossButton/CrossButton.module.css.js.map +1 -0
  272. package/dist/esm/components/CrossButton/index.js +11 -14
  273. package/dist/esm/components/CrossButton/index.js.map +1 -1
  274. package/dist/esm/components/DatePicker/Common.js +1 -1
  275. package/dist/esm/components/DatePicker/Common.js.map +1 -1
  276. package/dist/esm/components/DatePicker/DateTimeRangePicker.js +1 -1
  277. package/dist/esm/components/DatePicker/DateTimeRangePicker.js.map +1 -1
  278. package/dist/esm/components/Dropdown/Dropdown.css +36 -0
  279. package/dist/esm/components/Dropdown/Dropdown.module.css.js +9 -0
  280. package/dist/esm/components/Dropdown/Dropdown.module.css.js.map +1 -0
  281. package/dist/esm/components/Dropdown/index.js +28 -33
  282. package/dist/esm/components/Dropdown/index.js.map +1 -1
  283. package/dist/esm/components/EllipsisContent/EllipsisContent.css +21 -0
  284. package/dist/esm/components/EllipsisContent/EllipsisContent.module.css.js +6 -0
  285. package/dist/esm/components/EllipsisContent/EllipsisContent.module.css.js.map +1 -0
  286. package/dist/esm/components/EllipsisContent/index.js +7 -6
  287. package/dist/esm/components/EllipsisContent/index.js.map +1 -1
  288. package/dist/esm/components/EmptyButton/EmptyButton.css +21 -0
  289. package/dist/esm/components/EmptyButton/EmptyButton.module.css.js +6 -0
  290. package/dist/esm/components/EmptyButton/EmptyButton.module.css.js.map +1 -0
  291. package/dist/esm/components/EmptyButton/index.js +10 -4
  292. package/dist/esm/components/EmptyButton/index.js.map +1 -1
  293. package/dist/esm/components/FileTabs/FileTabs.css +167 -0
  294. package/dist/esm/components/FileTabs/FileTabs.module.css.js +26 -0
  295. package/dist/esm/components/FileTabs/FileTabs.module.css.js.map +1 -0
  296. package/dist/esm/components/FileTabs/index.js +51 -80
  297. package/dist/esm/components/FileTabs/index.js.map +1 -1
  298. package/dist/esm/components/FileUpload/FileMultiUpload.css +8 -0
  299. package/dist/esm/components/FileUpload/FileMultiUpload.js +3 -9
  300. package/dist/esm/components/FileUpload/FileMultiUpload.js.map +1 -1
  301. package/dist/esm/components/FileUpload/FileMultiUpload.module.css.js +6 -0
  302. package/dist/esm/components/FileUpload/FileMultiUpload.module.css.js.map +1 -0
  303. package/dist/esm/components/FileUpload/FileUpload.stories-common.css +14 -0
  304. package/dist/esm/components/FileUpload/FileUploadArea.css +130 -0
  305. package/dist/esm/components/FileUpload/FileUploadArea.js +87 -64
  306. package/dist/esm/components/FileUpload/FileUploadArea.js.map +1 -1
  307. package/dist/esm/components/FileUpload/FileUploadArea.module.css.js +32 -0
  308. package/dist/esm/components/FileUpload/FileUploadArea.module.css.js.map +1 -0
  309. package/dist/esm/components/FileUpload/FileUploadItem.css +82 -0
  310. package/dist/esm/components/FileUpload/FileUploadItem.js +56 -64
  311. package/dist/esm/components/FileUpload/FileUploadItem.js.map +1 -1
  312. package/dist/esm/components/FileUpload/FileUploadItem.module.css.js +21 -0
  313. package/dist/esm/components/FileUpload/FileUploadItem.module.css.js.map +1 -0
  314. package/dist/esm/components/Flyout/Flyout.css +231 -0
  315. package/dist/esm/components/Flyout/Flyout.module.css.js +62 -0
  316. package/dist/esm/components/Flyout/Flyout.module.css.js.map +1 -0
  317. package/dist/esm/components/Flyout/index.js +149 -127
  318. package/dist/esm/components/Flyout/index.js.map +1 -1
  319. package/dist/esm/components/FormContainer/Error.css +4 -0
  320. package/dist/esm/components/FormContainer/Error.js +8 -9
  321. package/dist/esm/components/FormContainer/Error.js.map +1 -1
  322. package/dist/esm/components/FormContainer/Error.module.css.js +7 -0
  323. package/dist/esm/components/FormContainer/Error.module.css.js.map +1 -0
  324. package/dist/esm/components/FormContainer/FormElementContainer.css +14 -0
  325. package/dist/esm/components/FormContainer/FormElementContainer.js +8 -6
  326. package/dist/esm/components/FormContainer/FormElementContainer.js.map +1 -1
  327. package/dist/esm/components/FormContainer/FormElementContainer.module.css.js +6 -0
  328. package/dist/esm/components/FormContainer/FormElementContainer.module.css.js.map +1 -0
  329. package/dist/esm/components/FormContainer/FormRoot.css +33 -0
  330. package/dist/esm/components/FormContainer/FormRoot.js +32 -18
  331. package/dist/esm/components/FormContainer/FormRoot.js.map +1 -1
  332. package/dist/esm/components/FormContainer/FormRoot.module.css.js +11 -0
  333. package/dist/esm/components/FormContainer/FormRoot.module.css.js.map +1 -0
  334. package/dist/esm/components/GenericMenu/GenericMenu.css +176 -0
  335. package/dist/esm/components/GenericMenu/GenericMenu.module.css.js +18 -0
  336. package/dist/esm/components/GenericMenu/GenericMenu.module.css.js.map +1 -0
  337. package/dist/esm/components/GenericMenu/index.js +93 -99
  338. package/dist/esm/components/GenericMenu/index.js.map +1 -1
  339. package/dist/esm/components/GridCenter/GridCenter.css +6 -0
  340. package/dist/esm/components/GridContainer/GridContainer.css +71 -0
  341. package/dist/esm/components/GridContainer/GridContainer.module.css.js +8 -0
  342. package/dist/esm/components/GridContainer/GridContainer.module.css.js.map +1 -0
  343. package/dist/esm/components/GridContainer/index.js +65 -65
  344. package/dist/esm/components/GridContainer/index.js.map +1 -1
  345. package/dist/esm/components/HoverCard/index.js +1 -1
  346. package/dist/esm/components/HoverCard/index.js.map +1 -1
  347. package/dist/esm/components/IconButton/index.js +2 -1
  348. package/dist/esm/components/IconButton/index.js.map +1 -1
  349. package/dist/esm/components/InputWrapper/InputWrapper.css +221 -0
  350. package/dist/esm/components/InputWrapper/InputWrapper.module.css.js +27 -0
  351. package/dist/esm/components/InputWrapper/InputWrapper.module.css.js.map +1 -0
  352. package/dist/esm/components/InputWrapper/index.js +84 -185
  353. package/dist/esm/components/InputWrapper/index.js.map +1 -1
  354. package/dist/esm/components/MiddleTruncator/MiddleTruncator.css +22 -0
  355. package/dist/esm/components/MiddleTruncator/MiddleTruncator.module.css.js +11 -0
  356. package/dist/esm/components/MiddleTruncator/MiddleTruncator.module.css.js.map +1 -0
  357. package/dist/esm/components/MiddleTruncator/index.js +5 -17
  358. package/dist/esm/components/MiddleTruncator/index.js.map +1 -1
  359. package/dist/esm/components/Pagination/Pagination.css +7 -0
  360. package/dist/esm/components/Pagination/Pagination.module.css.js +6 -0
  361. package/dist/esm/components/Pagination/Pagination.module.css.js.map +1 -0
  362. package/dist/esm/components/Pagination/index.js +3 -5
  363. package/dist/esm/components/Pagination/index.js.map +1 -1
  364. package/dist/esm/components/Panel/Panel.css +116 -0
  365. package/dist/esm/components/Panel/Panel.module.css.js +58 -0
  366. package/dist/esm/components/Panel/Panel.module.css.js.map +1 -0
  367. package/dist/esm/components/Panel/index.js +85 -35
  368. package/dist/esm/components/Panel/index.js.map +1 -1
  369. package/dist/esm/components/Popover/Popover.css +32 -0
  370. package/dist/esm/components/Popover/Popover.module.css.js +10 -0
  371. package/dist/esm/components/Popover/Popover.module.css.js.map +1 -0
  372. package/dist/esm/components/Popover/index.js +27 -36
  373. package/dist/esm/components/Popover/index.js.map +1 -1
  374. package/dist/esm/components/RadioGroup/RadioGroup.css +99 -0
  375. package/dist/esm/components/RadioGroup/RadioGroup.module.css.js +13 -0
  376. package/dist/esm/components/RadioGroup/RadioGroup.module.css.js.map +1 -0
  377. package/dist/esm/components/RadioGroup/index.js +28 -77
  378. package/dist/esm/components/RadioGroup/index.js.map +1 -1
  379. package/dist/esm/components/Select/MultiSelectValue.css +19 -0
  380. package/dist/esm/components/Select/MultiSelectValue.js +4 -9
  381. package/dist/esm/components/Select/MultiSelectValue.js.map +1 -1
  382. package/dist/esm/components/Select/MultiSelectValue.module.css.js +7 -0
  383. package/dist/esm/components/Select/MultiSelectValue.module.css.js.map +1 -0
  384. package/dist/esm/components/Select/SingleSelectValue.css +10 -0
  385. package/dist/esm/components/Select/SingleSelectValue.js +3 -5
  386. package/dist/esm/components/Select/SingleSelectValue.js.map +1 -1
  387. package/dist/esm/components/Select/SingleSelectValue.module.css.js +6 -0
  388. package/dist/esm/components/Select/SingleSelectValue.module.css.js.map +1 -0
  389. package/dist/esm/components/Select/common/InternalSelect.js +4 -9
  390. package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
  391. package/dist/esm/components/Select/common/SelectComponents.css +296 -0
  392. package/dist/esm/components/Select/common/SelectComponents.js +92 -0
  393. package/dist/esm/components/Select/common/SelectComponents.js.map +1 -0
  394. package/dist/esm/components/Select/common/SelectComponents.module.css.js +27 -0
  395. package/dist/esm/components/Select/common/SelectComponents.module.css.js.map +1 -0
  396. package/dist/esm/components/SplitButton/SplitButton.css +138 -0
  397. package/dist/esm/components/SplitButton/SplitButton.module.css.js +15 -0
  398. package/dist/esm/components/SplitButton/SplitButton.module.css.js.map +1 -0
  399. package/dist/esm/components/SplitButton/index.js +44 -89
  400. package/dist/esm/components/SplitButton/index.js.map +1 -1
  401. package/dist/esm/components/Table/Table.css +375 -0
  402. package/dist/esm/components/Table/Table.module.css.js +63 -0
  403. package/dist/esm/components/Table/Table.module.css.js.map +1 -0
  404. package/dist/esm/components/Table/index.js +132 -214
  405. package/dist/esm/components/Table/index.js.map +1 -1
  406. package/dist/esm/components/Toast/Toast.css +142 -0
  407. package/dist/esm/components/Toast/Toast.module.css.js +26 -0
  408. package/dist/esm/components/Toast/Toast.module.css.js.map +1 -0
  409. package/dist/esm/components/Toast/index.js +43 -96
  410. package/dist/esm/components/Toast/index.js.map +1 -1
  411. package/dist/esm/components/Tooltip/Tooltip.css +17 -0
  412. package/dist/esm/components/Tooltip/Tooltip.module.css.js +9 -0
  413. package/dist/esm/components/Tooltip/Tooltip.module.css.js.map +1 -0
  414. package/dist/esm/components/Tooltip/index.js +12 -24
  415. package/dist/esm/components/Tooltip/index.js.map +1 -1
  416. package/dist/esm/components/VerticalStepper/VerticalStepper.css +302 -0
  417. package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js +55 -0
  418. package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js.map +1 -0
  419. package/dist/esm/components/VerticalStepper/index.js +85 -110
  420. package/dist/esm/components/VerticalStepper/index.js.map +1 -1
  421. package/dist/types/components/Assets/Logos/Polaris.d.ts +3 -0
  422. package/dist/types/components/Assets/Logos/system/types.d.ts +1 -1
  423. package/dist/types/components/AutoComplete/AutoComplete.d.ts +1 -1
  424. package/dist/types/components/BigStat/BigStat.d.ts +1 -1
  425. package/dist/types/components/Button/BaseButton.d.ts +2 -1
  426. package/dist/types/components/CardPromotion/CardPromotion.d.ts +1 -1
  427. package/dist/types/components/CardSecondary/CardSecondary.d.ts +1 -1
  428. package/dist/types/components/CodeBlock/CodeBlock.d.ts +1 -1
  429. package/dist/types/components/CodeBlock/InlineCodeBlock.d.ts +1 -1
  430. package/dist/types/components/CodeBlock/useColorStyle.d.ts +6 -112
  431. package/dist/types/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -1
  432. package/dist/types/components/ContextMenu/ContextMenu.d.ts +1 -1
  433. package/dist/types/components/CrossButton/CrossButton.d.ts +2 -3
  434. package/dist/types/components/Dropdown/Dropdown.d.ts +2 -2
  435. package/dist/types/components/EmptyButton/EmptyButton.d.ts +2 -1
  436. package/dist/types/components/FileTabs/FileTabs.d.ts +3 -3
  437. package/dist/types/components/FileUpload/FileUpload.stories-common.d.ts +4 -1
  438. package/dist/types/components/Flyout/Flyout.d.ts +8 -6
  439. package/dist/types/components/Flyout/Flyout.types.d.ts +3 -0
  440. package/dist/types/components/FormContainer/Error.d.ts +2 -1
  441. package/dist/types/components/FormContainer/FormElementContainer.d.ts +2 -1
  442. package/dist/types/components/FormContainer/FormRoot.d.ts +6 -4
  443. package/dist/types/components/GenericMenu/GenericMenu.d.ts +29 -12
  444. package/dist/types/components/GridCenter/GridCenter.d.ts +9 -1
  445. package/dist/types/components/IconButton/IconButton.types.d.ts +3 -0
  446. package/dist/types/components/InputWrapper/InputWrapper.d.ts +17 -13
  447. package/dist/types/components/Panel/Panel.d.ts +2 -39
  448. package/dist/types/components/RadioGroup/RadioGroup.d.ts +2 -2
  449. package/dist/types/components/Select/common/SelectComponents.d.ts +33 -0
  450. package/dist/types/components/SplitButton/SplitButton.d.ts +1 -1
  451. package/dist/types/components/SplitButton/SplitButton.types.d.ts +3 -0
  452. package/dist/types/components/Toast/Toast.d.ts +1 -1
  453. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  454. package/dist/types/components/VerticalStepper/VerticalStepper.d.ts +2 -2
  455. package/package.json +1 -1
  456. package/dist/cjs/components/Select/common/SelectStyled.cjs +0 -194
  457. package/dist/cjs/components/Select/common/SelectStyled.cjs.map +0 -1
  458. package/dist/esm/components/Select/common/SelectStyled.js +0 -176
  459. package/dist/esm/components/Select/common/SelectStyled.js.map +0 -1
  460. package/dist/types/components/Select/common/SelectStyled.d.ts +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSelect.js","sources":["../../../../../src/components/Select/common/InternalSelect.tsx"],"sourcesContent":["import {\n Children,\n FunctionComponent,\n HTMLAttributes,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n NoAvailableOptionsFactoryProps,\n SelectContainerProps,\n SelectGroupProps,\n SelectItemObject,\n SelectItemProps,\n SelectOptionListItem,\n} from './types';\nimport { Error, FormElementContainer, FormRoot } from '@/components/FormContainer';\nimport { Portal } from '@radix-ui/react-popover';\nimport { Checkbox } from '@/components/Checkbox';\nimport type { CheckboxVariants } from '@/components/Checkbox';\nimport { Container } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { Label } from '@/components/Label';\nimport { Separator } from '@/components/Separator';\nimport { Text } from '@/components/Text';\nimport type { TextProps } from '@/components/Text';\n\nimport {\n SelectPopoverContent,\n SearchBar,\n SearchBarContainer,\n SearchClose,\n SelectList,\n SelectListContent,\n SelectPopoverRoot,\n StyledSelectTrigger,\n SelectValue,\n HiddenSelectElement,\n SelectGroupContainer,\n SelectGroupName,\n SelectGroupContent,\n SelectNoDataContainer,\n SelectItemDescriptionText,\n} from './SelectStyled';\nimport { OptionContext } from './OptionContext';\nimport { MultiSelectValue } from '../MultiSelectValue';\nimport SingleSelectValue from '../SingleSelectValue';\nimport { useOption, useSearch } from './useOption';\nimport { mergeRefs } from '@/utils/mergeRefs';\nimport { GenericMenuItem } from '@/components/GenericMenu';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { useInputModality } from '@/hooks/internal';\nimport { styled } from 'styled-components';\nimport { getTextFromNodes } from '@/lib/getTextFromNodes';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\ntype CallbackProps = SelectItemObject & {\n nodeProps: SelectItemProps;\n};\n\ninterface NoOptionsDisplayProps {\n allowCreateOption: boolean;\n search: string;\n customText: string;\n noAvailableOptions: boolean | ((props: NoAvailableOptionsFactoryProps) => ReactNode);\n onCreateOption: (e: MouseEvent<HTMLDivElement>) => void;\n onOpenChange: (open: boolean) => void;\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nconst NoOptionsDisplay: React.FC<NoOptionsDisplayProps> = ({\n allowCreateOption,\n search,\n customText,\n noAvailableOptions,\n onCreateOption,\n onOpenChange,\n containerProps,\n}) => {\n const getCustomTextWithSearch = (text: string) => text.replaceAll('{search}', search);\n\n const getDefaultMessage = () =>\n `No Options found${search.length > 0 ? ` for \"${search}\" ` : ''}`;\n\n const getNoAvailableOptionsNode = (): ReactNode => {\n if (typeof noAvailableOptions === 'boolean') {\n return noAvailableOptions ? getDefaultMessage() : null;\n }\n\n // ReactNode\n return noAvailableOptions({\n search,\n close: (): void => onOpenChange(false),\n });\n };\n\n // Determine node to render when there are no options\n const hasCustomText = customText.length > 0;\n const hasSearchInput = search.length > 0;\n const shouldShowCreateOption = allowCreateOption && hasSearchInput;\n\n let noOptionsNode: ReactNode = null;\n\n if (shouldShowCreateOption) {\n noOptionsNode = hasCustomText ? getCustomTextWithSearch(customText) : `Add ${search}`;\n } else if (hasCustomText) {\n noOptionsNode = getCustomTextWithSearch(customText);\n } else {\n noOptionsNode = getNoAvailableOptionsNode();\n }\n\n if (!noOptionsNode) {\n return null;\n }\n\n const handleNoOptionsClick = (e: MouseEvent<HTMLDivElement>) => {\n if (shouldShowCreateOption) {\n onCreateOption(e);\n onOpenChange(false);\n }\n };\n\n const isCustomReactNode = typeof noAvailableOptions === 'function';\n if (isCustomReactNode) {\n return (\n <Container\n onClick={handleNoOptionsClick}\n {...containerProps}\n >\n {noOptionsNode}\n </Container>\n );\n }\n\n return (\n <SelectNoDataContainer\n onClick={handleNoOptionsClick}\n $clickable={allowCreateOption}\n {...containerProps}\n >\n {noOptionsNode}\n </SelectNoDataContainer>\n );\n};\n\nconst childrenToComboboxItemArray = (\n children: ReactNode,\n callback: (props: CallbackProps) => void,\n heading?: string\n): SelectItemObject[] => {\n return Children.toArray(children).flatMap(child => {\n if (isValidElement(child) && child && typeof child === 'object') {\n const type = child.type as FunctionComponent;\n if (type.displayName === 'Select.Group') {\n const groupChildren = child.props.children;\n return childrenToComboboxItemArray(\n groupChildren,\n callback,\n getTextFromNodes(child.props.heading).toLowerCase()\n );\n } else if (type.displayName === 'Select.Item') {\n const title = getTextFromNodes(child).toLowerCase();\n const value = child.props.value;\n const disabled = child.props.disabled;\n callback({\n disabled,\n value,\n title,\n heading,\n nodeProps: child.props,\n });\n return {\n disabled,\n value,\n title,\n heading,\n };\n } else if ('props' in child && child.props.children) {\n return childrenToComboboxItemArray(child.props.children, callback, heading);\n }\n }\n return [];\n });\n};\n\nexport const InternalSelect = ({\n label,\n children,\n orientation,\n dir,\n disabled,\n id,\n error,\n value: selectedValues,\n onChange,\n onSelect,\n open,\n onOpenChange,\n name,\n form,\n allowCreateOption = false,\n customText = '',\n options,\n sortable = false,\n placeholder = 'Select an option',\n maxHeight,\n multiple,\n checkbox,\n selectLabel,\n showSearch = false,\n container,\n useFullWidthItems = false,\n itemCharacterLimit = '64ch',\n noAvailableOptions = true,\n triggerProps,\n ...props\n}: SelectContainerProps) => {\n const defaultId = useId();\n const [search, setSearch] = useState('');\n const [highlighted, setHighlighted] = useState<string | undefined>();\n const visibleList = useRef<string[]>([]);\n const navigatable = useRef<string[]>([]);\n const valueNode = useRef<Map<string, SelectItemProps>>(new Map());\n const [isInitialized, setInitialized] = useState(false);\n const [list, setList] = useState<SelectItemObject[]>([]);\n const updateElements = useCallback(\n ({ disabled, value, title, heading, nodeProps }: CallbackProps) => {\n if (title.includes(search) || heading?.includes(search)) {\n visibleList.current.push(value);\n if (!disabled) {\n navigatable.current.push(value);\n }\n }\n valueNode.current.set(value, nodeProps);\n },\n [search]\n );\n const onUpdateSearch = useCallback(\n (search: string) => {\n setSearch(search);\n let hasHighlightedValue = false;\n const visibleItemsList: string[] = [];\n const navigatableList: string[] = [];\n const searchLowerCase = search.toLowerCase();\n list.forEach(item => {\n if (\n item.title.includes(searchLowerCase) ||\n item.heading?.includes(searchLowerCase)\n ) {\n if (item.value === highlighted) {\n hasHighlightedValue = true;\n }\n visibleItemsList.push(item.value);\n if (!item.disabled) {\n navigatableList.push(item.value);\n }\n }\n });\n navigatable.current = navigatableList;\n visibleList.current = visibleItemsList;\n if (!hasHighlightedValue) {\n setHighlighted(navigatableList[0] ?? null);\n }\n },\n [highlighted, list]\n );\n\n const updateList = useCallback(\n (children?: ReactNode, options?: SelectOptionListItem[]) => {\n const lowerCasedSearch = search.toLowerCase();\n if (options) {\n setList(\n options.flatMap(option => {\n if ('options' in option) {\n const heading = getTextFromNodes(option.heading).toLowerCase();\n return (option.options ?? []).map(item => {\n valueNode.current.set(item.value, item);\n const title = getTextFromNodes(item.label).toLowerCase();\n if (\n title.includes(lowerCasedSearch) ||\n heading?.includes(lowerCasedSearch)\n ) {\n visibleList.current.push(item.value);\n if (!disabled) {\n navigatable.current.push(item.value);\n }\n }\n return {\n heading,\n disabled: item.disabled,\n value: item.value,\n title,\n };\n });\n } else {\n valueNode.current.set(option.value, option);\n const title = getTextFromNodes(option.label).toLowerCase();\n if (title.includes(lowerCasedSearch)) {\n visibleList.current.push(option.value);\n if (!disabled) {\n navigatable.current.push(option.value);\n }\n }\n return {\n disabled: option.disabled,\n value: option.value,\n title: getTextFromNodes(option.label),\n };\n }\n })\n );\n } else if (children) {\n setList(childrenToComboboxItemArray(children, updateElements));\n }\n },\n [disabled, search, updateElements]\n );\n\n useEffect(() => {\n updateList(children, options);\n setInitialized(true);\n }, [children, options, updateList]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n const onFocus = () => {\n inputRef.current?.focus();\n };\n\n const clearSearch = () => {\n onUpdateSearch('');\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n if (!e.defaultPrevented) {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (highlighted) {\n onSelect(highlighted, undefined, e);\n } else if (visibleList.current.length === 0 && allowCreateOption) {\n onSelect(search, 'custom', e);\n }\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n let nextHighlightedValue = highlighted;\n const highlightedIndex = navigatable.current.findIndex(\n value => value === highlighted\n );\n if (e.key === 'ArrowUp') {\n if (highlightedIndex === 0) {\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex - 1];\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (highlightedIndex === navigatable.current.length - 1) {\n nextHighlightedValue = navigatable.current[0];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex + 1];\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else if (e.key === 'Home') {\n nextHighlightedValue = navigatable.current[0];\n e.preventDefault();\n }\n setHighlighted(nextHighlightedValue);\n }\n }\n };\n const isHidden = useCallback(\n (value?: string) => {\n return !visibleList.current.includes(value ?? '');\n },\n [visibleList]\n );\n\n const optionContextValue = useMemo(() => {\n return {\n search,\n updateHighlighted: setHighlighted,\n highlighted,\n isHidden,\n onSelect,\n selectedValues,\n };\n }, [search, highlighted, isHidden, onSelect, selectedValues]);\n\n const onCreateOption = (e: MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (allowCreateOption) {\n onSelect(search, 'custom', e);\n }\n };\n\n return (\n <FormRoot\n $orientation={orientation}\n $dir={dir}\n $addLabelPadding\n {...props}\n >\n <FormElementContainer>\n <SelectPopoverRoot\n open={open}\n onOpenChange={onOpenChange}\n modal={true}\n >\n <StyledSelectTrigger\n id={id ?? defaultId}\n $error={!!error}\n disabled={disabled}\n data-testid=\"select-trigger\"\n {...triggerProps}\n >\n {isInitialized && (\n <SelectValue>\n {selectedValues.length === 0 ? (\n placeholder\n ) : multiple ? (\n <MultiSelectValue\n disabled={disabled ?? false}\n onSelect={onSelect}\n selectedValues={selectedValues}\n sortable={!disabled && sortable}\n valueNode={valueNode.current}\n onChange={onChange}\n />\n ) : (\n <SingleSelectValue\n valueNode={\n checkbox && selectLabel\n ? { label: selectLabel as string, value: selectLabel as string }\n : valueNode.current.get(selectedValues[0])\n }\n value={selectedValues[0]}\n />\n )}\n </SelectValue>\n )}\n <Icon\n name=\"sort\"\n size=\"sm\"\n />\n </StyledSelectTrigger>\n {form && (\n <HiddenSelectElement\n multiple={multiple}\n name={name}\n form={form}\n value={selectedValues}\n onChange={() => null}\n >\n {list.map(item => (\n <option\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n >\n {item.value}\n </option>\n ))}\n </HiddenSelectElement>\n )}\n <Portal container={portalContainer}>\n <SelectPopoverContent\n {...inputModalityProps}\n sideOffset={5}\n onFocus={onFocus}\n onCloseAutoFocus={() => {\n onUpdateSearch('');\n }}\n onOpenAutoFocus={() => {\n setHighlighted(visibleList.current[0]);\n }}\n align=\"start\"\n $useFullWidthItems={useFullWidthItems}\n $itemCharacterLimit={itemCharacterLimit}\n >\n <SelectList>\n <SearchBarContainer $showSearch={showSearch}>\n <SearchBar\n ref={inputRef}\n value={search}\n onChange={e => onUpdateSearch(e.target.value)}\n data-testid=\"select-search-input\"\n onKeyDown={onKeyDown}\n $showSearch={showSearch}\n />\n <SearchClose\n as={IconButton}\n icon=\"cross\"\n onClick={clearSearch}\n data-testid=\"select-search-close\"\n $showClose={search.length > 0}\n size=\"xs\"\n />\n </SearchBarContainer>\n <SelectListContent $maxHeight={maxHeight}>\n <OptionContext.Provider value={optionContextValue}>\n {options && options.length > 0\n ? options.map((props, index) => {\n if ('options' in props) {\n const { options: itemList = [], ...groupProps } = props;\n return (\n <SelectGroup\n key={`select-${id}-group-${index}`}\n {...groupProps}\n >\n {itemList.map((itemProps, itemIndex) => {\n if (checkbox) {\n return (\n <MultiSelectCheckboxItem\n key={`select-${id}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n />\n );\n }\n return (\n <SelectItem\n key={`select-${id}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n />\n );\n })}\n </SelectGroup>\n );\n } else {\n if (checkbox) {\n return (\n <MultiSelectCheckboxItem\n key={`select-${id}-item-${index}`}\n {...props}\n />\n );\n }\n return (\n <SelectItem\n key={`select-${id}-item-${index}`}\n {...props}\n />\n );\n }\n })\n : children}\n </OptionContext.Provider>\n </SelectListContent>\n {visibleList.current.length === 0 &&\n (allowCreateOption || !!noAvailableOptions) && (\n <NoOptionsDisplay\n allowCreateOption={allowCreateOption}\n search={search}\n customText={customText}\n noAvailableOptions={noAvailableOptions}\n onCreateOption={onCreateOption}\n onOpenChange={onOpenChange}\n containerProps={props}\n />\n )}\n </SelectList>\n </SelectPopoverContent>\n </Portal>\n </SelectPopoverRoot>\n {!!error && error !== true && <Error>{error}</Error>}\n </FormElementContainer>\n {label && (\n <Label\n htmlFor={id ?? defaultId}\n disabled={disabled}\n error={!!error}\n >\n {label}\n </Label>\n )}\n </FormRoot>\n );\n};\n\nexport const SelectGroup = forwardRef<HTMLDivElement, SelectGroupProps>(\n ({ children, heading, ...props }, forwardedRef) => {\n useSearch();\n return (\n <SelectGroupContainer\n {...props}\n ref={mergeRefs([\n forwardedRef,\n node => {\n const hidden = node?.querySelectorAll('[cui-select-item]').length === 0;\n if (hidden) {\n node?.setAttribute('hidden', '');\n } else {\n node?.removeAttribute('hidden');\n }\n node?.setAttribute('aria-hidden', hidden.toString());\n },\n ])}\n >\n <SelectGroupName>{heading}</SelectGroupName>\n <SelectGroupContent>{children}</SelectGroupContent>\n </SelectGroupContainer>\n );\n }\n);\n\nSelectGroup.displayName = 'Select.Group';\n\nconst CheckIcon = styled.svg<{ $showCheck: boolean }>`\n opacity: ${({ $showCheck }) => ($showCheck ? 1 : 0)};\n`;\n\nexport const SelectItem = forwardRef<HTMLDivElement, SelectItemProps>(\n (\n {\n disabled = false,\n children,\n label,\n description,\n separator,\n onSelect: onSelectProp,\n value = '',\n icon,\n iconDir,\n onMouseOver: onMouseOverProp,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValues, onSelect } =\n useOption();\n const onSelectValue = (evt: MouseEvent<HTMLElement>) => {\n if (!disabled) {\n onSelect(value, undefined, evt);\n if (typeof onSelectProp == 'function') {\n onSelectProp(value, undefined, evt);\n }\n }\n };\n const onMouseOver = (e: MouseEvent<HTMLDivElement>) => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n const isChecked = selectedValues.includes(value);\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={onSelectValue}\n onMouseOver={onMouseOver}\n ref={forwardedRef}\n data-state={isChecked ? 'checked' : 'unchecked'}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n cui-select-item=\"\"\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n gap=\"xxs\"\n isResponsive={false}\n >\n {label ? (\n <>\n {label}\n {description && (\n <SelectItemDescription>{description}</SelectItemDescription>\n )}\n </>\n ) : (\n children\n )}\n </IconWrapper>\n <CheckIcon\n as={Icon}\n name=\"check\"\n size=\"sm\"\n $showCheck={isChecked}\n />\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nexport type MultiSelectCheckboxItemProps = SelectItemProps & {\n variant?: CheckboxVariants;\n};\n\nSelectItem.displayName = 'Select.Item';\n\nexport const MultiSelectCheckboxItem = forwardRef<\n HTMLDivElement,\n MultiSelectCheckboxItemProps\n>(\n (\n {\n disabled = false,\n children,\n icon,\n iconDir = 'end',\n label,\n description,\n onMouseOver: onMouseOverProp,\n onSelect: onSelectProp,\n separator,\n value = '',\n variant,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValues, onSelect } =\n useOption();\n\n const handleMenuItemClick = (evt: MouseEvent<HTMLElement>) => {\n if (!disabled) {\n onSelect(value, undefined, evt);\n\n if (typeof onSelectProp === 'function') {\n onSelectProp(value, undefined, evt);\n }\n }\n };\n\n const handleMenuItemMouseOver = (e: MouseEvent<HTMLDivElement>) => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n\n const isChecked = selectedValues.includes(value);\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={handleMenuItemClick}\n onMouseOver={handleMenuItemMouseOver}\n ref={forwardedRef}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n data-testid={`multi-select-checkbox-${value}`}\n cui-select-item=\"\"\n >\n <Container\n orientation=\"horizontal\"\n gap=\"xs\"\n overflow=\"hidden\"\n isResponsive={false}\n >\n <Checkbox\n checked={isChecked}\n data-testid=\"multi-select-checkbox\"\n disabled={disabled}\n variant={variant ?? 'default'}\n />\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n gap=\"xxs\"\n isResponsive={false}\n >\n {label ? (\n <>\n {label}\n {description && (\n <SelectItemDescription>{description}</SelectItemDescription>\n )}\n </>\n ) : (\n children\n )}\n </IconWrapper>\n </Container>\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nMultiSelectCheckboxItem.displayName = 'Select.Item';\n\nexport const SelectItemDescription = forwardRef<HTMLDivElement, TextProps>(\n ({ children, ...props }, ref) => {\n return (\n <Text\n ref={ref}\n component={SelectItemDescriptionText}\n color=\"muted\"\n {...props}\n >\n {children}\n </Text>\n );\n }\n);\n\nSelectItemDescription.displayName = 'Select.ItemDescription';\n"],"names":["NoOptionsDisplay","allowCreateOption","search","customText","noAvailableOptions","onCreateOption","onOpenChange","containerProps","getCustomTextWithSearch","text","replaceAll","getDefaultMessage","length","getNoAvailableOptionsNode","close","hasCustomText","hasSearchInput","shouldShowCreateOption","noOptionsNode","handleNoOptionsClick","e","isCustomReactNode","childrenToComboboxItemArray","children","callback","heading","Children","toArray","flatMap","child","isValidElement","type","displayName","groupChildren","props","getTextFromNodes","toLowerCase","title","value","disabled","nodeProps","InternalSelect","label","orientation","dir","id","error","selectedValues","onChange","onSelect","open","name","form","options","sortable","placeholder","maxHeight","multiple","checkbox","selectLabel","showSearch","container","useFullWidthItems","itemCharacterLimit","triggerProps","defaultId","useId","setSearch","useState","highlighted","setHighlighted","visibleList","useRef","navigatable","valueNode","Map","isInitialized","setInitialized","list","setList","updateElements","useCallback","includes","current","push","set","onUpdateSearch","hasHighlightedValue","visibleItemsList","navigatableList","searchLowerCase","forEach","item","updateList","lowerCasedSearch","option","map","useEffect","inputRef","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","onFocus","focus","clearSearch","onKeyDown","defaultPrevented","key","preventDefault","undefined","nextHighlightedValue","highlightedIndex","findIndex","isHidden","optionContextValue","useMemo","updateHighlighted","stopPropagation","get","Icon","target","IconButton","index","itemList","groupProps","itemProps","itemIndex","SelectGroup","forwardRef","forwardedRef","useSearch","mergeRefs","node","hidden","querySelectorAll","setAttribute","removeAttribute","toString","CheckIcon","styled","svg","withConfig","componentId","$showCheck","SelectItem","description","separator","onSelectProp","icon","iconDir","onMouseOver","onMouseOverProp","useOption","onSelectValue","evt","isChecked","MultiSelectCheckboxItem","variant","handleMenuItemClick","handleMenuItemMouseOver","SelectItemDescription","ref","SelectItemDescriptionText"],"mappings":"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"}
1
+ {"version":3,"file":"InternalSelect.js","sources":["../../../../../src/components/Select/common/InternalSelect.tsx"],"sourcesContent":["import {\n Children,\n FunctionComponent,\n HTMLAttributes,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n NoAvailableOptionsFactoryProps,\n SelectContainerProps,\n SelectGroupProps,\n SelectItemObject,\n SelectItemProps,\n SelectOptionListItem,\n} from './types';\nimport { Error, FormElementContainer, FormRoot } from '@/components/FormContainer';\nimport { Portal } from '@radix-ui/react-popover';\nimport { Checkbox } from '@/components/Checkbox';\nimport type { CheckboxVariants } from '@/components/Checkbox';\nimport { Container } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { Label } from '@/components/Label';\nimport { Separator } from '@/components/Separator';\nimport { Text } from '@/components/Text';\nimport type { TextProps } from '@/components/Text';\n\nimport {\n SelectPopoverContent,\n SearchBar,\n SearchBarContainer,\n SelectList,\n SelectListContent,\n SelectPopoverRoot,\n StyledSelectTrigger,\n SelectValue,\n HiddenSelectElement,\n SelectGroupContainer,\n SelectGroupName,\n SelectGroupContent,\n SelectNoDataContainer,\n SelectItemDescriptionText,\n selectStyles,\n} from './SelectComponents';\nimport { OptionContext } from './OptionContext';\nimport { MultiSelectValue } from '../MultiSelectValue';\nimport SingleSelectValue from '../SingleSelectValue';\nimport { useOption, useSearch } from './useOption';\nimport { mergeRefs } from '@/utils/mergeRefs';\nimport { GenericMenuItem } from '@/components/GenericMenu';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { useInputModality } from '@/hooks/internal';\nimport { cn } from '@/lib/cva';\nimport { getTextFromNodes } from '@/lib/getTextFromNodes';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\ntype CallbackProps = SelectItemObject & {\n nodeProps: SelectItemProps;\n};\n\ninterface NoOptionsDisplayProps {\n allowCreateOption: boolean;\n search: string;\n customText: string;\n noAvailableOptions: boolean | ((props: NoAvailableOptionsFactoryProps) => ReactNode);\n onCreateOption: (e: MouseEvent<HTMLDivElement>) => void;\n onOpenChange: (open: boolean) => void;\n containerProps?: HTMLAttributes<HTMLDivElement>;\n}\n\nconst NoOptionsDisplay: React.FC<NoOptionsDisplayProps> = ({\n allowCreateOption,\n search,\n customText,\n noAvailableOptions,\n onCreateOption,\n onOpenChange,\n containerProps,\n}) => {\n const getCustomTextWithSearch = (text: string) => text.replaceAll('{search}', search);\n\n const getDefaultMessage = () =>\n `No Options found${search.length > 0 ? ` for \"${search}\" ` : ''}`;\n\n const getNoAvailableOptionsNode = (): ReactNode => {\n if (typeof noAvailableOptions === 'boolean') {\n return noAvailableOptions ? getDefaultMessage() : null;\n }\n\n // ReactNode\n return noAvailableOptions({\n search,\n close: (): void => onOpenChange(false),\n });\n };\n\n // Determine node to render when there are no options\n const hasCustomText = customText.length > 0;\n const hasSearchInput = search.length > 0;\n const shouldShowCreateOption = allowCreateOption && hasSearchInput;\n\n let noOptionsNode: ReactNode = null;\n\n if (shouldShowCreateOption) {\n noOptionsNode = hasCustomText ? getCustomTextWithSearch(customText) : `Add ${search}`;\n } else if (hasCustomText) {\n noOptionsNode = getCustomTextWithSearch(customText);\n } else {\n noOptionsNode = getNoAvailableOptionsNode();\n }\n\n if (!noOptionsNode) {\n return null;\n }\n\n const handleNoOptionsClick = (e: MouseEvent<HTMLDivElement>) => {\n if (shouldShowCreateOption) {\n onCreateOption(e);\n onOpenChange(false);\n }\n };\n\n const isCustomReactNode = typeof noAvailableOptions === 'function';\n if (isCustomReactNode) {\n return (\n <Container\n onClick={handleNoOptionsClick}\n {...containerProps}\n >\n {noOptionsNode}\n </Container>\n );\n }\n\n return (\n <SelectNoDataContainer\n onClick={handleNoOptionsClick}\n $clickable={allowCreateOption}\n {...containerProps}\n >\n {noOptionsNode}\n </SelectNoDataContainer>\n );\n};\n\nconst childrenToComboboxItemArray = (\n children: ReactNode,\n callback: (props: CallbackProps) => void,\n heading?: string\n): SelectItemObject[] => {\n return Children.toArray(children).flatMap(child => {\n if (isValidElement(child) && child && typeof child === 'object') {\n const type = child.type as FunctionComponent;\n if (type.displayName === 'Select.Group') {\n const groupChildren = child.props.children;\n return childrenToComboboxItemArray(\n groupChildren,\n callback,\n getTextFromNodes(child.props.heading).toLowerCase()\n );\n } else if (type.displayName === 'Select.Item') {\n const title = getTextFromNodes(child).toLowerCase();\n const value = child.props.value;\n const disabled = child.props.disabled;\n callback({\n disabled,\n value,\n title,\n heading,\n nodeProps: child.props,\n });\n return {\n disabled,\n value,\n title,\n heading,\n };\n } else if ('props' in child && child.props.children) {\n return childrenToComboboxItemArray(child.props.children, callback, heading);\n }\n }\n return [];\n });\n};\n\nexport const InternalSelect = ({\n label,\n children,\n orientation,\n dir,\n disabled,\n id,\n error,\n value: selectedValues,\n onChange,\n onSelect,\n open,\n onOpenChange,\n name,\n form,\n allowCreateOption = false,\n customText = '',\n options,\n sortable = false,\n placeholder = 'Select an option',\n maxHeight,\n multiple,\n checkbox,\n selectLabel,\n showSearch = false,\n container,\n useFullWidthItems = false,\n itemCharacterLimit = '64ch',\n noAvailableOptions = true,\n triggerProps,\n ...props\n}: SelectContainerProps) => {\n const defaultId = useId();\n const [search, setSearch] = useState('');\n const [highlighted, setHighlighted] = useState<string | undefined>();\n const visibleList = useRef<string[]>([]);\n const navigatable = useRef<string[]>([]);\n const valueNode = useRef<Map<string, SelectItemProps>>(new Map());\n const [isInitialized, setInitialized] = useState(false);\n const [list, setList] = useState<SelectItemObject[]>([]);\n const updateElements = useCallback(\n ({ disabled, value, title, heading, nodeProps }: CallbackProps) => {\n if (title.includes(search) || heading?.includes(search)) {\n visibleList.current.push(value);\n if (!disabled) {\n navigatable.current.push(value);\n }\n }\n valueNode.current.set(value, nodeProps);\n },\n [search]\n );\n const onUpdateSearch = useCallback(\n (search: string) => {\n setSearch(search);\n let hasHighlightedValue = false;\n const visibleItemsList: string[] = [];\n const navigatableList: string[] = [];\n const searchLowerCase = search.toLowerCase();\n list.forEach(item => {\n if (\n item.title.includes(searchLowerCase) ||\n item.heading?.includes(searchLowerCase)\n ) {\n if (item.value === highlighted) {\n hasHighlightedValue = true;\n }\n visibleItemsList.push(item.value);\n if (!item.disabled) {\n navigatableList.push(item.value);\n }\n }\n });\n navigatable.current = navigatableList;\n visibleList.current = visibleItemsList;\n if (!hasHighlightedValue) {\n setHighlighted(navigatableList[0] ?? null);\n }\n },\n [highlighted, list]\n );\n\n const updateList = useCallback(\n (children?: ReactNode, options?: SelectOptionListItem[]) => {\n const lowerCasedSearch = search.toLowerCase();\n if (options) {\n setList(\n options.flatMap(option => {\n if ('options' in option) {\n const heading = getTextFromNodes(option.heading).toLowerCase();\n return (option.options ?? []).map(item => {\n valueNode.current.set(item.value, item);\n const title = getTextFromNodes(item.label).toLowerCase();\n if (\n title.includes(lowerCasedSearch) ||\n heading?.includes(lowerCasedSearch)\n ) {\n visibleList.current.push(item.value);\n if (!disabled) {\n navigatable.current.push(item.value);\n }\n }\n return {\n heading,\n disabled: item.disabled,\n value: item.value,\n title,\n };\n });\n } else {\n valueNode.current.set(option.value, option);\n const title = getTextFromNodes(option.label).toLowerCase();\n if (title.includes(lowerCasedSearch)) {\n visibleList.current.push(option.value);\n if (!disabled) {\n navigatable.current.push(option.value);\n }\n }\n return {\n disabled: option.disabled,\n value: option.value,\n title: getTextFromNodes(option.label),\n };\n }\n })\n );\n } else if (children) {\n setList(childrenToComboboxItemArray(children, updateElements));\n }\n },\n [disabled, search, updateElements]\n );\n\n useEffect(() => {\n updateList(children, options);\n setInitialized(true);\n }, [children, options, updateList]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputModalityProps = useInputModality();\n const portalContainer = useResolvedPortalContainer(container);\n\n const onFocus = () => {\n inputRef.current?.focus();\n };\n\n const clearSearch = () => {\n onUpdateSearch('');\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n if (!e.defaultPrevented) {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (highlighted) {\n onSelect(highlighted, undefined, e);\n } else if (visibleList.current.length === 0 && allowCreateOption) {\n onSelect(search, 'custom', e);\n }\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n let nextHighlightedValue = highlighted;\n const highlightedIndex = navigatable.current.findIndex(\n value => value === highlighted\n );\n if (e.key === 'ArrowUp') {\n if (highlightedIndex === 0) {\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex - 1];\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (highlightedIndex === navigatable.current.length - 1) {\n nextHighlightedValue = navigatable.current[0];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex + 1];\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else if (e.key === 'Home') {\n nextHighlightedValue = navigatable.current[0];\n e.preventDefault();\n }\n setHighlighted(nextHighlightedValue);\n }\n }\n };\n const isHidden = useCallback(\n (value?: string) => {\n return !visibleList.current.includes(value ?? '');\n },\n [visibleList]\n );\n\n const optionContextValue = useMemo(() => {\n return {\n search,\n updateHighlighted: setHighlighted,\n highlighted,\n isHidden,\n onSelect,\n selectedValues,\n };\n }, [search, highlighted, isHidden, onSelect, selectedValues]);\n\n const onCreateOption = (e: MouseEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (allowCreateOption) {\n onSelect(search, 'custom', e);\n }\n };\n\n return (\n <FormRoot\n $orientation={orientation}\n $dir={dir}\n $addLabelPadding\n {...props}\n >\n <FormElementContainer>\n <SelectPopoverRoot\n open={open}\n onOpenChange={onOpenChange}\n modal={true}\n >\n <StyledSelectTrigger\n id={id ?? defaultId}\n $error={!!error}\n disabled={disabled}\n data-testid=\"select-trigger\"\n {...triggerProps}\n >\n {isInitialized && (\n <SelectValue>\n {selectedValues.length === 0 ? (\n placeholder\n ) : multiple ? (\n <MultiSelectValue\n disabled={disabled ?? false}\n onSelect={onSelect}\n selectedValues={selectedValues}\n sortable={!disabled && sortable}\n valueNode={valueNode.current}\n onChange={onChange}\n />\n ) : (\n <SingleSelectValue\n valueNode={\n checkbox && selectLabel\n ? { label: selectLabel as string, value: selectLabel as string }\n : valueNode.current.get(selectedValues[0])\n }\n value={selectedValues[0]}\n />\n )}\n </SelectValue>\n )}\n <Icon\n name=\"sort\"\n size=\"sm\"\n />\n </StyledSelectTrigger>\n {form && (\n <HiddenSelectElement\n multiple={multiple}\n name={name}\n form={form}\n value={selectedValues}\n onChange={() => null}\n >\n {list.map(item => (\n <option\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n >\n {item.value}\n </option>\n ))}\n </HiddenSelectElement>\n )}\n <Portal container={portalContainer}>\n <SelectPopoverContent\n {...inputModalityProps}\n sideOffset={5}\n onFocus={onFocus}\n onCloseAutoFocus={() => {\n onUpdateSearch('');\n }}\n onOpenAutoFocus={() => {\n setHighlighted(visibleList.current[0]);\n }}\n align=\"start\"\n $useFullWidthItems={useFullWidthItems}\n $itemCharacterLimit={itemCharacterLimit}\n >\n <SelectList>\n <SearchBarContainer $showSearch={showSearch}>\n <SearchBar\n ref={inputRef}\n value={search}\n onChange={e => onUpdateSearch(e.target.value)}\n data-testid=\"select-search-input\"\n onKeyDown={onKeyDown}\n $showSearch={showSearch}\n />\n <IconButton\n className={cn(\n selectStyles['search-close'],\n search.length > 0 && selectStyles['search-close_show-close']\n )}\n htmlType=\"button\"\n icon=\"cross\"\n onClick={clearSearch}\n data-testid=\"select-search-close\"\n size=\"xs\"\n />\n </SearchBarContainer>\n <SelectListContent $maxHeight={maxHeight}>\n <OptionContext.Provider value={optionContextValue}>\n {options && options.length > 0\n ? options.map((props, index) => {\n if ('options' in props) {\n const { options: itemList = [], ...groupProps } = props;\n return (\n <SelectGroup\n key={`select-${id}-group-${index}`}\n {...groupProps}\n >\n {itemList.map((itemProps, itemIndex) => {\n if (checkbox) {\n return (\n <MultiSelectCheckboxItem\n key={`select-${id}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n />\n );\n }\n return (\n <SelectItem\n key={`select-${id}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n />\n );\n })}\n </SelectGroup>\n );\n } else {\n if (checkbox) {\n return (\n <MultiSelectCheckboxItem\n key={`select-${id}-item-${index}`}\n {...props}\n />\n );\n }\n return (\n <SelectItem\n key={`select-${id}-item-${index}`}\n {...props}\n />\n );\n }\n })\n : children}\n </OptionContext.Provider>\n </SelectListContent>\n {visibleList.current.length === 0 &&\n (allowCreateOption || !!noAvailableOptions) && (\n <NoOptionsDisplay\n allowCreateOption={allowCreateOption}\n search={search}\n customText={customText}\n noAvailableOptions={noAvailableOptions}\n onCreateOption={onCreateOption}\n onOpenChange={onOpenChange}\n containerProps={props}\n />\n )}\n </SelectList>\n </SelectPopoverContent>\n </Portal>\n </SelectPopoverRoot>\n {!!error && error !== true && <Error>{error}</Error>}\n </FormElementContainer>\n {label && (\n <Label\n htmlFor={id ?? defaultId}\n disabled={disabled}\n error={!!error}\n >\n {label}\n </Label>\n )}\n </FormRoot>\n );\n};\n\nexport const SelectGroup = forwardRef<HTMLDivElement, SelectGroupProps>(\n ({ children, heading, ...props }, forwardedRef) => {\n useSearch();\n return (\n <SelectGroupContainer\n {...props}\n ref={mergeRefs([\n forwardedRef,\n node => {\n const hidden = node?.querySelectorAll('[cui-select-item]').length === 0;\n if (hidden) {\n node?.setAttribute('hidden', '');\n } else {\n node?.removeAttribute('hidden');\n }\n node?.setAttribute('aria-hidden', hidden.toString());\n },\n ])}\n >\n <SelectGroupName>{heading}</SelectGroupName>\n <SelectGroupContent>{children}</SelectGroupContent>\n </SelectGroupContainer>\n );\n }\n);\n\nSelectGroup.displayName = 'Select.Group';\n\nexport const SelectItem = forwardRef<HTMLDivElement, SelectItemProps>(\n (\n {\n disabled = false,\n children,\n label,\n description,\n separator,\n onSelect: onSelectProp,\n value = '',\n icon,\n iconDir,\n onMouseOver: onMouseOverProp,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValues, onSelect } =\n useOption();\n const onSelectValue = (evt: MouseEvent<HTMLElement>) => {\n if (!disabled) {\n onSelect(value, undefined, evt);\n if (typeof onSelectProp == 'function') {\n onSelectProp(value, undefined, evt);\n }\n }\n };\n const onMouseOver = (e: MouseEvent<HTMLDivElement>) => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n const isChecked = selectedValues.includes(value);\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={onSelectValue}\n onMouseOver={onMouseOver}\n ref={forwardedRef}\n data-state={isChecked ? 'checked' : 'unchecked'}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n cui-select-item=\"\"\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n gap=\"xxs\"\n isResponsive={false}\n >\n {label ? (\n <>\n {label}\n {description && (\n <SelectItemDescription>{description}</SelectItemDescription>\n )}\n </>\n ) : (\n children\n )}\n </IconWrapper>\n <Icon\n className={cn(\n selectStyles['check-icon'],\n isChecked && selectStyles['check-icon_show-check']\n )}\n name=\"check\"\n size=\"sm\"\n />\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nexport type MultiSelectCheckboxItemProps = SelectItemProps & {\n variant?: CheckboxVariants;\n};\n\nSelectItem.displayName = 'Select.Item';\n\nexport const MultiSelectCheckboxItem = forwardRef<\n HTMLDivElement,\n MultiSelectCheckboxItemProps\n>(\n (\n {\n disabled = false,\n children,\n icon,\n iconDir = 'end',\n label,\n description,\n onMouseOver: onMouseOverProp,\n onSelect: onSelectProp,\n separator,\n value = '',\n variant,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValues, onSelect } =\n useOption();\n\n const handleMenuItemClick = (evt: MouseEvent<HTMLElement>) => {\n if (!disabled) {\n onSelect(value, undefined, evt);\n\n if (typeof onSelectProp === 'function') {\n onSelectProp(value, undefined, evt);\n }\n }\n };\n\n const handleMenuItemMouseOver = (e: MouseEvent<HTMLDivElement>) => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n\n const isChecked = selectedValues.includes(value);\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={handleMenuItemClick}\n onMouseOver={handleMenuItemMouseOver}\n ref={forwardedRef}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n data-testid={`multi-select-checkbox-${value}`}\n cui-select-item=\"\"\n >\n <Container\n orientation=\"horizontal\"\n gap=\"xs\"\n overflow=\"hidden\"\n isResponsive={false}\n >\n <Checkbox\n checked={isChecked}\n data-testid=\"multi-select-checkbox\"\n disabled={disabled}\n variant={variant ?? 'default'}\n />\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n gap=\"xxs\"\n isResponsive={false}\n >\n {label ? (\n <>\n {label}\n {description && (\n <SelectItemDescription>{description}</SelectItemDescription>\n )}\n </>\n ) : (\n children\n )}\n </IconWrapper>\n </Container>\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nMultiSelectCheckboxItem.displayName = 'Select.Item';\n\nexport const SelectItemDescription = forwardRef<HTMLDivElement, TextProps>(\n ({ children, ...props }, ref) => {\n return (\n <Text\n ref={ref}\n component={SelectItemDescriptionText}\n color=\"muted\"\n {...props}\n >\n {children}\n </Text>\n );\n }\n);\n\nSelectItemDescription.displayName = 'Select.ItemDescription';\n"],"names":["NoOptionsDisplay","allowCreateOption","search","customText","noAvailableOptions","onCreateOption","onOpenChange","containerProps","getCustomTextWithSearch","text","replaceAll","getDefaultMessage","length","getNoAvailableOptionsNode","close","hasCustomText","hasSearchInput","shouldShowCreateOption","noOptionsNode","handleNoOptionsClick","e","isCustomReactNode","childrenToComboboxItemArray","children","callback","heading","Children","toArray","flatMap","child","isValidElement","type","displayName","groupChildren","props","getTextFromNodes","toLowerCase","title","value","disabled","nodeProps","InternalSelect","label","orientation","dir","id","error","selectedValues","onChange","onSelect","open","name","form","options","sortable","placeholder","maxHeight","multiple","checkbox","selectLabel","showSearch","container","useFullWidthItems","itemCharacterLimit","triggerProps","defaultId","useId","setSearch","useState","highlighted","setHighlighted","visibleList","useRef","navigatable","valueNode","Map","isInitialized","setInitialized","list","setList","updateElements","useCallback","includes","current","push","set","onUpdateSearch","hasHighlightedValue","visibleItemsList","navigatableList","searchLowerCase","forEach","item","updateList","lowerCasedSearch","option","map","useEffect","inputRef","inputModalityProps","useInputModality","portalContainer","useResolvedPortalContainer","onFocus","focus","clearSearch","onKeyDown","defaultPrevented","key","preventDefault","undefined","nextHighlightedValue","highlightedIndex","findIndex","isHidden","optionContextValue","useMemo","updateHighlighted","stopPropagation","get","Icon","target","cn","selectStyles","index","itemList","groupProps","itemProps","itemIndex","SelectGroup","forwardRef","forwardedRef","useSearch","mergeRefs","node","hidden","querySelectorAll","setAttribute","removeAttribute","toString","SelectItem","description","separator","onSelectProp","icon","iconDir","onMouseOver","onMouseOverProp","useOption","onSelectValue","evt","isChecked","MultiSelectCheckboxItem","variant","handleMenuItemClick","handleMenuItemMouseOver","SelectItemDescription","ref","SelectItemDescriptionText"],"mappings":"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"}
@@ -0,0 +1,296 @@
1
+ /* stylelint-disable custom-property-pattern -- design tokens use camelCase (e.g. genericMenu, fieldText) */
2
+
3
+ .select-value__CxDXF {
4
+ overflow: hidden;
5
+ flex: 1;
6
+ gap: inherit;
7
+ color: inherit;
8
+ font: inherit;
9
+ text-align: left;
10
+ }
11
+
12
+ .select-trigger__k4Odp {
13
+ display: flex;
14
+ width: 100%;
15
+ min-height: var(--click-genericMenu-panel-size-height);
16
+ padding: var(--click-field-space-y) var(--click-field-space-x);
17
+ justify-content: space-between;
18
+ align-items: center;
19
+ gap: var(--click-field-space-gap);
20
+ border: 1px solid var(--click-field-color-stroke-default);
21
+ border-radius: var(--click-field-radii-all);
22
+ background: var(--click-field-color-background-default);
23
+ color: var(--click-field-color-text-default);
24
+ font: var(--click-field-typography-fieldText-default);
25
+ cursor: pointer;
26
+ }
27
+
28
+ .select-trigger__k4Odp span:first-of-type {
29
+ max-width: 100%;
30
+ overflow: hidden;
31
+ white-space: nowrap;
32
+ text-overflow: ellipsis;
33
+ }
34
+
35
+ .select-trigger__k4Odp:hover {
36
+ border: 1px solid var(--click-field-color-stroke-hover);
37
+ background: var(--click-field-color-background-hover);
38
+ color: var(--click-field-color-text-hover);
39
+ }
40
+
41
+ .select-trigger_error__fZGGT {
42
+ border: 1px solid var(--click-field-color-stroke-error);
43
+ background: var(--click-field-color-background-active);
44
+ color: var(--click-field-color-text-error);
45
+ font: var(--click-field-typography-fieldText-error);
46
+ }
47
+
48
+ .select-trigger_error__fZGGT:hover {
49
+ border: 1px solid var(--click-field-color-stroke-error);
50
+ color: var(--click-field-color-text-error);
51
+ }
52
+
53
+ /* stylelint-disable no-descending-specificity -- source order mirrors the
54
+ styled-components cascade: the focus/open active styling is followed by
55
+ focus-visible and disabled, matching the original template-literal order. */
56
+
57
+ /*
58
+ The active (focus / open) styling is suppressed in the error state: the
59
+ styled-components original only emitted these rules in the non-error branch,
60
+ so an errored trigger keeps its error styling on focus/open.
61
+ */
62
+ .select-trigger__k4Odp:not(.select-trigger_error__fZGGT):focus,
63
+ .select-trigger__k4Odp:not(.select-trigger_error__fZGGT)[data-state='open'] {
64
+ border: 1px solid var(--click-field-color-stroke-active);
65
+ background: var(--click-field-color-background-active);
66
+ color: var(--click-field-color-text-active);
67
+ font: var(--click-field-typography-fieldText-active);
68
+ }
69
+
70
+ .select-trigger__k4Odp:not(.select-trigger_error__fZGGT):focus ~ label,
71
+ .select-trigger__k4Odp:not(.select-trigger_error__fZGGT)[data-state='open'] ~ label {
72
+ color: var(--click-field-color-label-active);
73
+ font: var(--click-field-typography-label-active);
74
+ }
75
+
76
+ .select-trigger__k4Odp:focus-visible {
77
+ outline: 2px solid var(--click-global-color-outline-default);
78
+ outline-offset: 2px;
79
+ }
80
+
81
+ .select-trigger__k4Odp:disabled {
82
+ border: 1px solid var(--click-field-color-stroke-disabled);
83
+ background: var(--click-field-color-background-disabled);
84
+ color: var(--click-field-color-text-disabled);
85
+ font: var(--click-field-typography-fieldText-disabled);
86
+ cursor: not-allowed;
87
+ }
88
+
89
+ /* stylelint-enable no-descending-specificity */
90
+
91
+ .select-trigger__k4Odp [data-hide-in-trigger] {
92
+ display: none;
93
+ }
94
+
95
+ .select-popover-content__30txk {
96
+ display: flex;
97
+ width: var(--radix-popover-trigger-width);
98
+ max-height: var(--radix-popover-content-available-height);
99
+ padding: 0.5rem 0;
100
+ overflow: hidden;
101
+ align-items: flex-start;
102
+ gap: 0.625rem;
103
+ border: 1px solid var(--click-genericMenu-item-color-default-stroke-default);
104
+ border-radius: 0.25rem;
105
+ background: var(--click-genericMenu-item-color-default-background-default);
106
+ box-shadow:
107
+ 0 1px 3px 0 rgb(16 24 40 / 10%),
108
+ 0 1px 2px 0 rgb(16 24 40 / 6%);
109
+ pointer-events: auto;
110
+ }
111
+
112
+ .select-popover-content_full-width__frIlp {
113
+ width: 100%;
114
+ min-width: var(--radix-popover-trigger-width);
115
+ max-width: var(--select-item-character-limit);
116
+ }
117
+
118
+ .search-bar-container__bidMt {
119
+ display: flex;
120
+ position: relative;
121
+ width: auto;
122
+ height: 0;
123
+ padding: 0;
124
+ justify-content: flex-start;
125
+ align-items: center;
126
+ color: var(--click-genericMenu-autocomplete-color-searchTerm-default);
127
+ font: var(--click-genericMenu-autocomplete-typography-search-term-default);
128
+ }
129
+
130
+ .search-bar-container_show-search__YLR4i {
131
+ height: auto;
132
+ padding: var(--click-genericMenu-item-space-y) var(--click-genericMenu-item-space-x);
133
+ }
134
+
135
+ .search-bar__J2qTl {
136
+ width: 100%;
137
+ height: 0;
138
+ min-height: 0;
139
+ /*
140
+ When hidden the original collapsed all padding to 0; when shown it set only
141
+ padding-right (in the _show-search modifier), leaving the input's default
142
+ vertical padding intact — that 2px of UA padding is load-bearing for height.
143
+ */
144
+ padding: 0;
145
+ gap: var(--click-genericMenu-item-space-gap);
146
+ border: none;
147
+ border-bottom: 0;
148
+ background: transparent;
149
+ color: var(--click-genericMenu-autocomplete-color-searchTerm-default);
150
+ font: var(--click-genericMenu-autocomplete-typography-search-term-default);
151
+ outline: none;
152
+ }
153
+
154
+ .search-bar__J2qTl::placeholder {
155
+ color: var(--click-genericMenu-autocomplete-color-placeholder-default);
156
+ font: var(--click-genericMenu-autocomplete-typography-search-placeholder-default);
157
+ }
158
+
159
+ .search-bar_show-search__IhdJT {
160
+ height: initial;
161
+ min-height: 21px;
162
+ padding: revert;
163
+ padding-right: 24px;
164
+ border-bottom: 2px solid var(--click-genericMenu-button-color-stroke-default);
165
+ }
166
+
167
+ .search-close__dB1cs {
168
+ visibility: hidden;
169
+ position: absolute;
170
+ top: var(--click-genericMenu-item-space-y);
171
+ right: var(--click-genericMenu-item-space-x);
172
+ }
173
+
174
+ .search-close_show-close__-Anjf {
175
+ visibility: visible;
176
+ }
177
+
178
+ /*
179
+ Added the max-height with calc as the content should always be fit inside SelectPopoverContent
180
+ SelectPopoverContent has hardcoded padding and thats why we are using 1 rem instead of tokens
181
+ This makes sure that the content is always visible with the scrolling
182
+ */
183
+ .select-list__CNYUb {
184
+ display: flex;
185
+ width: inherit;
186
+ max-height: calc(var(--radix-popover-content-available-height) - 1rem);
187
+ flex-direction: column;
188
+ }
189
+
190
+ .select-list-content__AJbe9 {
191
+ width: inherit;
192
+ max-height: var(--select-list-max-height);
193
+ overflow: auto;
194
+ flex: 1;
195
+ }
196
+
197
+ .hidden-select-element__YZlhL {
198
+ visibility: hidden;
199
+ position: absolute;
200
+ z-index: -1;
201
+ height: 0;
202
+ }
203
+
204
+ .select-group-container__Pd5rW {
205
+ /* stylelint-disable plugin/no-unsupported-browser-features, declaration-property-value-no-unknown -- the original rule used this same width fallback chain so the container fills the available inline space. */
206
+ display: flex;
207
+ width: -webkit-fill-available;
208
+ width: fill-available;
209
+ width: stretch;
210
+ /* stylelint-enable plugin/no-unsupported-browser-features, declaration-property-value-no-unknown */
211
+ overflow: hidden;
212
+ flex-direction: column;
213
+ justify-content: center;
214
+ background: transparent;
215
+ color: var(--click-genericMenu-item-color-default-text-muted);
216
+ font: var(--click-genericMenu-item-typography-sectionHeader-default);
217
+ }
218
+
219
+ .select-group-container__Pd5rW[aria-selected] {
220
+ outline: none;
221
+ }
222
+
223
+ .select-group-container__Pd5rW[hidden] {
224
+ display: none;
225
+ }
226
+
227
+ .select-group-name__TrAy3 {
228
+ display: flex;
229
+ width: 100%;
230
+ padding: var(--click-genericMenu-sectionHeader-space-top)
231
+ var(--click-genericMenu-item-space-x)
232
+ var(--click-genericMenu-sectionHeader-space-bottom);
233
+ overflow: hidden;
234
+ flex-direction: column;
235
+ gap: var(--click-genericMenu-item-space-gap);
236
+ border-bottom: 1px solid var(--click-genericMenu-item-color-default-stroke-default);
237
+ color: var(--click-genericMenu-item-color-default-text-muted);
238
+ font: var(--click-genericMenu-item-typography-sectionHeader-default);
239
+ white-space: nowrap;
240
+ text-overflow: ellipsis;
241
+ }
242
+
243
+ .select-group-content__OBO5d {
244
+ width: inherit;
245
+ }
246
+
247
+ /*
248
+ The original styled-components rule omitted the semicolon after `font`, but
249
+ stylis recovered and applied both the `font` and `padding` declarations, so
250
+ the rendered row used the button label typography and button/item padding.
251
+ Both are restored here to match that rendering.
252
+ */
253
+ .select-no-data-container__b2319 {
254
+ display: block;
255
+ width: 100%;
256
+ padding: var(--click-genericMenu-button-space-y) var(--click-genericMenu-item-space-x);
257
+ overflow: hidden;
258
+ border: none;
259
+ background: var(--click-genericMenu-button-color-background-default);
260
+ color: var(--click-genericMenu-button-color-label-default);
261
+ font: var(--click-genericMenu-button-typography-label-default);
262
+ text-align: left;
263
+ white-space: nowrap;
264
+ cursor: default;
265
+ text-overflow: ellipsis;
266
+ }
267
+
268
+ .select-no-data-container__b2319[hidden='true'] {
269
+ display: none;
270
+ }
271
+
272
+ .select-no-data-container_clickable__J6Bkj {
273
+ cursor: pointer;
274
+ }
275
+
276
+ .check-icon__ORxKK {
277
+ opacity: 0;
278
+ }
279
+
280
+ .check-icon_show-check__rVelk {
281
+ opacity: 1;
282
+ }
283
+
284
+ .select-item-description-text__eKqEn {
285
+ white-space: normal;
286
+ }
287
+
288
+ [data-disabled] .select-item-description-text__eKqEn,
289
+ [disabled] .select-item-description-text__eKqEn {
290
+ color: inherit;
291
+ }
292
+
293
+ /* don't show description when item is rendered in the trigger */
294
+ .select-trigger__k4Odp .select-item-description-text__eKqEn {
295
+ display: none;
296
+ }
@@ -0,0 +1,92 @@
1
+ import "./SelectComponents.css";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
4
+ import { Root, Trigger, Content } from '@radix-ui/react-popover';
5
+ import { cn } from '../../../lib/cva.js';
6
+ import styles from './SelectComponents.module.css.js';
7
+
8
+ const SelectPopoverRoot = Root;
9
+ const SelectValue = forwardRef(({
10
+ className,
11
+ ...props
12
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-value"], className) }));
13
+ SelectValue.displayName = "SelectValue";
14
+ const StyledSelectTrigger = forwardRef(({
15
+ $error,
16
+ className,
17
+ ...props
18
+ }, ref) => /* @__PURE__ */ jsx(Trigger, { ref, ...props, className: cn(styles["select-trigger"], $error && styles["select-trigger_error"], className) }));
19
+ StyledSelectTrigger.displayName = "StyledSelectTrigger";
20
+ const SelectPopoverContent = forwardRef(({
21
+ $useFullWidthItems,
22
+ $itemCharacterLimit,
23
+ className,
24
+ style,
25
+ ...props
26
+ }, ref) => /* @__PURE__ */ jsx(Content, { ref, ...props, style: {
27
+ ...style,
28
+ "--select-item-character-limit": $itemCharacterLimit
29
+ }, className: cn(styles["select-popover-content"], $useFullWidthItems && styles["select-popover-content_full-width"], className) }));
30
+ SelectPopoverContent.displayName = "SelectPopoverContent";
31
+ const SearchBarContainer = forwardRef(({
32
+ $showSearch,
33
+ className,
34
+ ...props
35
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["search-bar-container"], $showSearch && styles["search-bar-container_show-search"], className) }));
36
+ SearchBarContainer.displayName = "SearchBarContainer";
37
+ const SearchBar = forwardRef(({
38
+ $showSearch,
39
+ className,
40
+ ...props
41
+ }, ref) => /* @__PURE__ */ jsx("input", { ref, ...props, className: cn(styles["search-bar"], $showSearch && styles["search-bar_show-search"], className) }));
42
+ SearchBar.displayName = "SearchBar";
43
+ const SelectList = forwardRef(({
44
+ className,
45
+ ...props
46
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-list"], className) }));
47
+ SelectList.displayName = "SelectList";
48
+ const SelectListContent = forwardRef(({
49
+ $maxHeight,
50
+ className,
51
+ style,
52
+ ...props
53
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, style: {
54
+ ...style,
55
+ "--select-list-max-height": $maxHeight
56
+ }, className: cn(styles["select-list-content"], className) }));
57
+ SelectListContent.displayName = "SelectListContent";
58
+ const HiddenSelectElement = forwardRef(({
59
+ className,
60
+ ...props
61
+ }, ref) => /* @__PURE__ */ jsx("select", { ref, ...props, className: cn(styles["hidden-select-element"], className) }));
62
+ HiddenSelectElement.displayName = "HiddenSelectElement";
63
+ const SelectGroupContainer = forwardRef(({
64
+ className,
65
+ ...props
66
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-group-container"], className) }));
67
+ SelectGroupContainer.displayName = "SelectGroupContainer";
68
+ const SelectGroupName = forwardRef(({
69
+ className,
70
+ ...props
71
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-group-name"], className) }));
72
+ SelectGroupName.displayName = "SelectGroupName";
73
+ const SelectGroupContent = forwardRef(({
74
+ className,
75
+ ...props
76
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-group-content"], className) }));
77
+ SelectGroupContent.displayName = "SelectGroupContent";
78
+ const SelectNoDataContainer = forwardRef(({
79
+ $clickable,
80
+ className,
81
+ ...props
82
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-no-data-container"], $clickable && styles["select-no-data-container_clickable"], className) }));
83
+ SelectNoDataContainer.displayName = "SelectNoDataContainer";
84
+ const SelectItemDescriptionText = forwardRef(({
85
+ className,
86
+ ...props
87
+ }, ref) => /* @__PURE__ */ jsx("div", { ref, ...props, className: cn(styles["select-item-description-text"], className) }));
88
+ SelectItemDescriptionText.displayName = "SelectItemDescriptionText";
89
+ const selectStyles = styles;
90
+
91
+ export { HiddenSelectElement, SearchBar, SearchBarContainer, SelectGroupContainer, SelectGroupContent, SelectGroupName, SelectItemDescriptionText, SelectList, SelectListContent, SelectNoDataContainer, SelectPopoverContent, SelectPopoverRoot, SelectValue, StyledSelectTrigger, selectStyles };
92
+ //# sourceMappingURL=SelectComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectComponents.js","sources":["../../../../../src/components/Select/common/SelectComponents.tsx"],"sourcesContent":["import {\n ComponentProps,\n CSSProperties,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n SelectHTMLAttributes,\n} from 'react';\nimport { Content, Root, Trigger } from '@radix-ui/react-popover';\nimport { cn } from '@/lib/cva';\nimport styles from './SelectComponents.module.css';\n\nexport const SelectPopoverRoot = Root;\n\nexport const SelectValue = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-value'], className)}\n />\n )\n);\nSelectValue.displayName = 'SelectValue';\n\ntype StyledSelectTriggerProps = ComponentProps<typeof Trigger> & {\n $error: boolean;\n};\n\nexport const StyledSelectTrigger = forwardRef<\n HTMLButtonElement,\n StyledSelectTriggerProps\n>(({ $error, className, ...props }, ref) => (\n <Trigger\n ref={ref}\n {...props}\n className={cn(\n styles['select-trigger'],\n $error && styles['select-trigger_error'],\n className\n )}\n />\n));\nStyledSelectTrigger.displayName = 'StyledSelectTrigger';\n\ntype SelectPopoverContentProps = ComponentProps<typeof Content> & {\n $useFullWidthItems: boolean;\n $itemCharacterLimit?: string;\n};\n\nexport const SelectPopoverContent = forwardRef<HTMLDivElement, SelectPopoverContentProps>(\n ({ $useFullWidthItems, $itemCharacterLimit, className, style, ...props }, ref) => (\n <Content\n ref={ref}\n {...props}\n style={\n {\n ...style,\n '--select-item-character-limit': $itemCharacterLimit,\n } as CSSProperties\n }\n className={cn(\n styles['select-popover-content'],\n $useFullWidthItems && styles['select-popover-content_full-width'],\n className\n )}\n />\n )\n);\nSelectPopoverContent.displayName = 'SelectPopoverContent';\n\ntype SearchBarContainerProps = HTMLAttributes<HTMLDivElement> & {\n $showSearch: boolean;\n};\n\nexport const SearchBarContainer = forwardRef<HTMLDivElement, SearchBarContainerProps>(\n ({ $showSearch, className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(\n styles['search-bar-container'],\n $showSearch && styles['search-bar-container_show-search'],\n className\n )}\n />\n )\n);\nSearchBarContainer.displayName = 'SearchBarContainer';\n\ntype SearchBarProps = InputHTMLAttributes<HTMLInputElement> & {\n $showSearch: boolean;\n};\n\nexport const SearchBar = forwardRef<HTMLInputElement, SearchBarProps>(\n ({ $showSearch, className, ...props }, ref) => (\n <input\n ref={ref}\n {...props}\n className={cn(\n styles['search-bar'],\n $showSearch && styles['search-bar_show-search'],\n className\n )}\n />\n )\n);\nSearchBar.displayName = 'SearchBar';\n\nexport const SelectList = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-list'], className)}\n />\n )\n);\nSelectList.displayName = 'SelectList';\n\ntype SelectListContentProps = HTMLAttributes<HTMLDivElement> & {\n $maxHeight?: string;\n};\n\nexport const SelectListContent = forwardRef<HTMLDivElement, SelectListContentProps>(\n ({ $maxHeight, className, style, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n style={\n {\n ...style,\n '--select-list-max-height': $maxHeight,\n } as CSSProperties\n }\n className={cn(styles['select-list-content'], className)}\n />\n )\n);\nSelectListContent.displayName = 'SelectListContent';\n\nexport const HiddenSelectElement = forwardRef<\n HTMLSelectElement,\n SelectHTMLAttributes<HTMLSelectElement>\n>(({ className, ...props }, ref) => (\n <select\n ref={ref}\n {...props}\n className={cn(styles['hidden-select-element'], className)}\n />\n));\nHiddenSelectElement.displayName = 'HiddenSelectElement';\n\nexport const SelectGroupContainer = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-group-container'], className)}\n />\n));\nSelectGroupContainer.displayName = 'SelectGroupContainer';\n\nexport const SelectGroupName = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-group-name'], className)}\n />\n )\n);\nSelectGroupName.displayName = 'SelectGroupName';\n\nexport const SelectGroupContent = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-group-content'], className)}\n />\n));\nSelectGroupContent.displayName = 'SelectGroupContent';\n\ntype SelectNoDataContainerProps = HTMLAttributes<HTMLDivElement> & {\n $clickable: boolean;\n};\n\nexport const SelectNoDataContainer = forwardRef<\n HTMLDivElement,\n SelectNoDataContainerProps\n>(({ $clickable, className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(\n styles['select-no-data-container'],\n $clickable && styles['select-no-data-container_clickable'],\n className\n )}\n />\n));\nSelectNoDataContainer.displayName = 'SelectNoDataContainer';\n\nexport const SelectItemDescriptionText = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n {...props}\n className={cn(styles['select-item-description-text'], className)}\n />\n));\nSelectItemDescriptionText.displayName = 'SelectItemDescriptionText';\n\n// Exposed for InternalSelect's `as`-rendered elements (the search close button\n// rendered as IconButton, and the check icon rendered as Icon) which apply\n// these scoped classes directly rather than through a wrapper component.\nexport const selectStyles = styles;\n"],"names":["SelectPopoverRoot","Root","SelectValue","forwardRef","className","props","ref","cn","styles","displayName","StyledSelectTrigger","$error","SelectPopoverContent","$useFullWidthItems","$itemCharacterLimit","style","SearchBarContainer","$showSearch","SearchBar","SelectList","SelectListContent","$maxHeight","HiddenSelectElement","SelectGroupContainer","SelectGroupName","SelectGroupContent","SelectNoDataContainer","$clickable","SelectItemDescriptionText","selectStyles"],"mappings":"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"}