@rio-cloud/rio-uikit 2.0.1 → 2.2.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 (567) hide show
  1. package/CircularProgress.d.ts +2 -0
  2. package/CircularProgress.js +5 -0
  3. package/CircularProgress.js.map +1 -0
  4. package/RadioCardGroup.d.ts +2 -0
  5. package/RadioCardGroup.js +7 -0
  6. package/RadioCardGroup.js.map +1 -0
  7. package/SearchHighlightText.d.ts +2 -0
  8. package/SearchHighlightText.js +5 -0
  9. package/SearchHighlightText.js.map +1 -0
  10. package/TextTruncateMiddle.d.ts +2 -0
  11. package/TextTruncateMiddle.js +5 -0
  12. package/TextTruncateMiddle.js.map +1 -0
  13. package/Tracker.d.ts +2 -0
  14. package/Tracker.js +5 -0
  15. package/Tracker.js.map +1 -0
  16. package/classNames.d.ts +2 -0
  17. package/classNames.js +5 -0
  18. package/classNames.js.map +1 -0
  19. package/components/accentBar/AccentBar.js +1 -1
  20. package/components/accentBar/AccentBar.js.map +1 -1
  21. package/components/actionBarItem/ActionBarItem.d.ts +2 -2
  22. package/components/actionBarItem/ActionBarItem.js +7 -7
  23. package/components/actionBarItem/ActionBarItem.js.map +1 -1
  24. package/components/actionBarItem/ActionBarItemIcon.js +1 -1
  25. package/components/actionBarItem/ActionBarItemIcon.js.map +1 -1
  26. package/components/actionBarItem/ActionBarItemList.js +1 -1
  27. package/components/actionBarItem/ActionBarItemList.js.map +1 -1
  28. package/components/actionBarItem/ActionBarItemListItem.js +1 -1
  29. package/components/actionBarItem/ActionBarItemListItem.js.map +1 -1
  30. package/components/actionBarItem/ActionBarItemListSeparator.js +1 -1
  31. package/components/actionBarItem/ActionBarItemListSeparator.js.map +1 -1
  32. package/components/actionBarItem/ActionBarItemPopoverContent.js +3 -3
  33. package/components/actionBarItem/ActionBarItemPopoverContent.js.map +1 -1
  34. package/components/actionBarItem/ActionBarOverlay.js +1 -1
  35. package/components/actionBarItem/ActionBarOverlay.js.map +1 -1
  36. package/components/activity/Activity.js +1 -1
  37. package/components/activity/Activity.js.map +1 -1
  38. package/components/animatedTextReveal/AnimatedTextReveal.js +1 -1
  39. package/components/animatedTextReveal/AnimatedTextReveal.js.map +1 -1
  40. package/components/applicationHeader/AppMenu.js +2 -2
  41. package/components/applicationHeader/AppMenu.js.map +1 -1
  42. package/components/applicationHeader/AppMenuDropdown.js +13 -11
  43. package/components/applicationHeader/AppMenuDropdown.js.map +1 -1
  44. package/components/applicationHeader/ApplicationHeader.d.ts +6 -7
  45. package/components/applicationHeader/ApplicationHeader.js +1 -1
  46. package/components/applicationHeader/ApplicationHeader.js.map +1 -1
  47. package/components/applicationHeader/MobileHeaderModal.js +8 -8
  48. package/components/applicationHeader/MobileHeaderModal.js.map +1 -1
  49. package/components/applicationHeader/MobileSubmoduleNavigation.js +1 -1
  50. package/components/applicationHeader/MobileSubmoduleNavigation.js.map +1 -1
  51. package/components/applicationHeader/NavItems.js +4 -4
  52. package/components/applicationHeader/NavItems.js.map +1 -1
  53. package/components/applicationLayout/ApplicationLayout.js +10 -10
  54. package/components/applicationLayout/ApplicationLayout.js.map +1 -1
  55. package/components/applicationLayout/ApplicationLayoutBody.js +2 -2
  56. package/components/applicationLayout/ApplicationLayoutBody.js.map +1 -1
  57. package/components/applicationLayout/ApplicationLayoutBodyBanner.js +1 -1
  58. package/components/applicationLayout/ApplicationLayoutBodyBanner.js.map +1 -1
  59. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js +1 -1
  60. package/components/applicationLayout/ApplicationLayoutBodyBottomBar.js.map +1 -1
  61. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js +1 -1
  62. package/components/applicationLayout/ApplicationLayoutBodyNavigation.js.map +1 -1
  63. package/components/applicationLayout/ApplicationLayoutHeader.js +1 -1
  64. package/components/applicationLayout/ApplicationLayoutHeader.js.map +1 -1
  65. package/components/applicationLayout/ApplicationLayoutSidebar.js +1 -1
  66. package/components/applicationLayout/ApplicationLayoutSidebar.js.map +1 -1
  67. package/components/applicationLayout/SubNavigation.d.ts +7 -0
  68. package/components/applicationLayout/SubNavigation.js +1 -1
  69. package/components/applicationLayout/SubNavigation.js.map +1 -1
  70. package/components/assetTree/AssetTree.d.ts +7 -0
  71. package/components/assetTree/AssetTree.js +1 -1
  72. package/components/assetTree/AssetTree.js.map +1 -1
  73. package/components/assetTree/Tree.d.ts +15 -0
  74. package/components/assetTree/Tree.js +1 -1
  75. package/components/assetTree/Tree.js.map +1 -1
  76. package/components/assetTree/TreeIcon.d.ts +30 -0
  77. package/components/assetTree/TreeIcon.js +16 -0
  78. package/components/assetTree/TreeIcon.js.map +1 -0
  79. package/components/assetTree/TreeLeaf.js +23 -23
  80. package/components/assetTree/TreeLeaf.js.map +1 -1
  81. package/components/assetTree/TreeNode.js +25 -25
  82. package/components/assetTree/TreeNode.js.map +1 -1
  83. package/components/assetTree/TreeNodeContainer.js +1 -1
  84. package/components/assetTree/TreeNodeContainer.js.map +1 -1
  85. package/components/assetTree/TreeOption.js +3 -3
  86. package/components/assetTree/TreeOption.js.map +1 -1
  87. package/components/assetTree/TreeOptions.js +4 -4
  88. package/components/assetTree/TreeOptions.js.map +1 -1
  89. package/components/assetTree/TreeRoot.js +3 -3
  90. package/components/assetTree/TreeRoot.js.map +1 -1
  91. package/components/assetTree/TreeSearch.d.ts +2 -0
  92. package/components/assetTree/TreeSearch.js +3 -3
  93. package/components/assetTree/TreeSearch.js.map +1 -1
  94. package/components/assetTree/TreeSidebar.js +1 -1
  95. package/components/assetTree/TreeSidebar.js.map +1 -1
  96. package/components/assetTree/TreeSidebarCategories.js +4 -4
  97. package/components/assetTree/TreeSidebarCategories.js.map +1 -1
  98. package/components/assetTree/TreeSummary.js +1 -1
  99. package/components/assetTree/TreeSummary.js.map +1 -1
  100. package/components/assetTree/TypeCounter.js +1 -1
  101. package/components/assetTree/TypeCounter.js.map +1 -1
  102. package/components/autosuggest/AutoSuggest.js +1 -1
  103. package/components/autosuggest/AutoSuggest.js.map +1 -1
  104. package/components/avatar/Avatar.js +1 -1
  105. package/components/avatar/Avatar.js.map +1 -1
  106. package/components/banner/Banner.js +1 -1
  107. package/components/banner/Banner.js.map +1 -1
  108. package/components/banner/BannerContent.js +1 -1
  109. package/components/banner/BannerContent.js.map +1 -1
  110. package/components/barList/BarList.d.ts +26 -0
  111. package/components/barList/BarList.js +1 -1
  112. package/components/barList/BarList.js.map +1 -1
  113. package/components/bottomSheet/BottomSheet.d.ts +17 -3
  114. package/components/bottomSheet/BottomSheet.js +1 -1
  115. package/components/bottomSheet/BottomSheet.js.map +1 -1
  116. package/components/bottomSheet/TimedBottomSheet.d.ts +10 -0
  117. package/components/bottomSheet/TimedBottomSheet.js.map +1 -1
  118. package/components/button/Button.d.ts +53 -7
  119. package/components/button/Button.js +87 -64
  120. package/components/button/Button.js.map +1 -1
  121. package/components/button/ButtonToolbar.js +1 -1
  122. package/components/button/ButtonToolbar.js.map +1 -1
  123. package/components/button/ToggleButton.d.ts +4 -1
  124. package/components/button/ToggleButton.js.map +1 -1
  125. package/components/calendarStripe/CalendarStripe.d.ts +1 -1
  126. package/components/calendarStripe/CalendarStripe.js +48 -50
  127. package/components/calendarStripe/CalendarStripe.js.map +1 -1
  128. package/components/card/Card.js +1 -1
  129. package/components/card/Card.js.map +1 -1
  130. package/components/charts/Area.d.ts +2 -2
  131. package/components/charts/Area.js.map +1 -1
  132. package/components/charts/Line.d.ts +2 -2
  133. package/components/charts/Line.js.map +1 -1
  134. package/components/charts/RadialBarChart.js +106 -103
  135. package/components/charts/RadialBarChart.js.map +1 -1
  136. package/components/checkbox/Checkbox.d.ts +0 -3
  137. package/components/checkbox/Checkbox.js +6 -6
  138. package/components/checkbox/Checkbox.js.map +1 -1
  139. package/components/circularProgress/CircularProgress.d.ts +139 -0
  140. package/components/circularProgress/CircularProgress.js +197 -0
  141. package/components/circularProgress/CircularProgress.js.map +1 -0
  142. package/components/clearableInput/ClearableInput.d.ts +21 -20
  143. package/components/clearableInput/ClearableInput.js +9 -9
  144. package/components/clearableInput/ClearableInput.js.map +1 -1
  145. package/components/collapse/Collapse.d.ts +3 -0
  146. package/components/collapse/Collapse.js +12 -12
  147. package/components/collapse/Collapse.js.map +1 -1
  148. package/components/contentLoader/ContentLoader.d.ts +10 -2
  149. package/components/contentLoader/ContentLoader.js.map +1 -1
  150. package/components/dataTabs/DataTabHeader.js +1 -1
  151. package/components/dataTabs/DataTabHeader.js.map +1 -1
  152. package/components/dataTabs/DataTabs.d.ts +6 -0
  153. package/components/dataTabs/DataTabs.js +4 -4
  154. package/components/dataTabs/DataTabs.js.map +1 -1
  155. package/components/datepicker/DatePicker.js +6 -6
  156. package/components/datepicker/DatePicker.js.map +1 -1
  157. package/components/datepicker/DateRangePicker.js +1 -1
  158. package/components/datepicker/DateRangePicker.js.map +1 -1
  159. package/components/datepicker/DayPicker.js +1 -1
  160. package/components/datepicker/DayPicker.js.map +1 -1
  161. package/components/dialog/ConfirmationDialog.d.ts +22 -0
  162. package/components/dialog/ConfirmationDialog.js.map +1 -1
  163. package/components/dialog/Dialog.d.ts +13 -1
  164. package/components/dialog/Dialog.js +55 -55
  165. package/components/dialog/Dialog.js.map +1 -1
  166. package/components/dialog/DialogBody.js +1 -1
  167. package/components/dialog/DialogBody.js.map +1 -1
  168. package/components/dialog/DialogFooter.js +1 -1
  169. package/components/dialog/DialogFooter.js.map +1 -1
  170. package/components/dialog/DialogHeader.js +1 -1
  171. package/components/dialog/DialogHeader.js.map +1 -1
  172. package/components/dialog/MediaDialog.js +1 -1
  173. package/components/dialog/MediaDialog.js.map +1 -1
  174. package/components/dialog/ReleaseNotesDialog.d.ts +3 -3
  175. package/components/dialog/ReleaseNotesDialog.js.map +1 -1
  176. package/components/dialog/SplitDialog.js +1 -1
  177. package/components/dialog/SplitDialog.js.map +1 -1
  178. package/components/divider/Divider.js +1 -1
  179. package/components/divider/Divider.js.map +1 -1
  180. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  181. package/components/dropdown/ButtonDropdown.js +52 -52
  182. package/components/dropdown/ButtonDropdown.js.map +1 -1
  183. package/components/dropdown/DropdownSubmenu.d.ts +4 -0
  184. package/components/dropdown/DropdownSubmenu.js +3 -3
  185. package/components/dropdown/DropdownSubmenu.js.map +1 -1
  186. package/components/dropdown/DropdownToggleButton.d.ts +1 -1
  187. package/components/dropdown/DropdownToggleButton.js +4 -3
  188. package/components/dropdown/DropdownToggleButton.js.map +1 -1
  189. package/components/dropdown/SplitCaretButton.js +6 -6
  190. package/components/dropdown/SplitCaretButton.js.map +1 -1
  191. package/components/editableContent/EditableContent.d.ts +6 -0
  192. package/components/editableContent/EditableContent.js +1 -1
  193. package/components/editableContent/EditableContent.js.map +1 -1
  194. package/components/ellipsis/TextTruncateMiddle.d.ts +23 -0
  195. package/components/ellipsis/TextTruncateMiddle.js +21 -0
  196. package/components/ellipsis/TextTruncateMiddle.js.map +1 -0
  197. package/components/expander/ExpanderList.d.ts +3 -0
  198. package/components/expander/ExpanderList.js +5 -5
  199. package/components/expander/ExpanderList.js.map +1 -1
  200. package/components/expander/ExpanderPanel.d.ts +14 -4
  201. package/components/expander/ExpanderPanel.js +1 -1
  202. package/components/expander/ExpanderPanel.js.map +1 -1
  203. package/components/fade/Fade.d.ts +1 -1
  204. package/components/fade/Fade.js.map +1 -1
  205. package/components/feedback/FeedbackRating.js +1 -1
  206. package/components/feedback/FeedbackRating.js.map +1 -1
  207. package/components/feedback/FeedbackReactions.js +1 -1
  208. package/components/feedback/FeedbackReactions.js.map +1 -1
  209. package/components/filepicker/FilePicker.d.ts +0 -2
  210. package/components/filepicker/FilePicker.js.map +1 -1
  211. package/components/formLabel/FormLabel.js +6 -9
  212. package/components/formLabel/FormLabel.js.map +1 -1
  213. package/components/formLabel/LabeledElement.js +1 -1
  214. package/components/formLabel/LabeledElement.js.map +1 -1
  215. package/components/groupedItemList/GroupedItemList.d.ts +10 -7
  216. package/components/groupedItemList/GroupedItemList.js.map +1 -1
  217. package/components/listMenu/ListMenu.js +2 -5
  218. package/components/listMenu/ListMenu.js.map +1 -1
  219. package/components/listMenu/ListMenuGroup.d.ts +2 -1
  220. package/components/listMenu/ListMenuGroup.js +2 -2
  221. package/components/listMenu/ListMenuGroup.js.map +1 -1
  222. package/components/loadMore/LoadMoreButton.js +1 -1
  223. package/components/loadMore/LoadMoreButton.js.map +1 -1
  224. package/components/loadMore/LoadMoreProgress.js +1 -1
  225. package/components/loadMore/LoadMoreProgress.js.map +1 -1
  226. package/components/map/components/Map.js.map +1 -1
  227. package/components/map/components/constants.js.map +1 -1
  228. package/components/map/components/features/ContextMenuItem.d.ts +1 -1
  229. package/components/map/components/features/ContextMenuItem.js +2 -17
  230. package/components/map/components/features/ContextMenuItem.js.map +1 -1
  231. package/components/map/components/features/MapSettings.js +4 -4
  232. package/components/map/components/features/MapSettings.js.map +1 -1
  233. package/components/map/components/features/basics/Polyline.d.ts +4 -1
  234. package/components/map/components/features/basics/Polyline.js +1 -1
  235. package/components/map/components/features/basics/Polyline.js.map +1 -1
  236. package/components/map/components/features/layers/MarkerLayer.d.ts +3 -1
  237. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  238. package/components/map/components/features/layers/clustering/ClusterLayer.js +1 -1
  239. package/components/map/components/features/layers/clustering/ClusterLayer.js.map +1 -1
  240. package/components/map/components/features/layers/clustering/SimpleClusterLayer.d.ts +3 -2
  241. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  242. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js +7 -7
  243. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js.map +1 -1
  244. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js +4 -4
  245. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js.map +1 -1
  246. package/components/map/components/features/settings/MapSettingsItem.js +1 -1
  247. package/components/map/components/features/settings/MapSettingsItem.js.map +1 -1
  248. package/components/map/components/features/settings/MapSettingsPanel.js +6 -20
  249. package/components/map/components/features/settings/MapSettingsPanel.js.map +1 -1
  250. package/components/map/components/features/settings/MapSettingsTile.js +87 -61
  251. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  252. package/components/map/components/features/settings/ZoomButtons.js +1 -1
  253. package/components/map/components/features/settings/ZoomButtons.js.map +1 -1
  254. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.d.ts +38 -1
  255. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +128 -92
  256. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  257. package/components/map/utils/clustering.d.ts +6 -1
  258. package/components/map/utils/clustering.js +25 -19
  259. package/components/map/utils/clustering.js.map +1 -1
  260. package/components/map/utils/eventHandling.js +9 -9
  261. package/components/map/utils/eventHandling.js.map +1 -1
  262. package/components/map/utils/mapUtils.d.ts +6 -6
  263. package/components/map/utils/mapUtils.js +14 -19
  264. package/components/map/utils/mapUtils.js.map +1 -1
  265. package/components/map/utils/rendering.d.ts +1 -1
  266. package/components/map/utils/rendering.js +23 -23
  267. package/components/map/utils/rendering.js.map +1 -1
  268. package/components/mapMarker/ClusterMapMarker.js +1 -1
  269. package/components/mapMarker/ClusterMapMarker.js.map +1 -1
  270. package/components/mapMarker/SingleMapMarker.js +1 -1
  271. package/components/mapMarker/SingleMapMarker.js.map +1 -1
  272. package/components/menuItems/MenuItem.d.ts +23 -0
  273. package/components/menuItems/MenuItem.js +1 -1
  274. package/components/menuItems/MenuItem.js.map +1 -1
  275. package/components/menuItems/MenuItemList.js +1 -1
  276. package/components/menuItems/MenuItemList.js.map +1 -1
  277. package/components/navigation/AppNavigationBar.js +4 -4
  278. package/components/navigation/AppNavigationBar.js.map +1 -1
  279. package/components/noData/NoData.js +1 -1
  280. package/components/noData/NoData.js.map +1 -1
  281. package/components/notification/Notification.js +4 -4
  282. package/components/notification/Notification.js.map +1 -1
  283. package/components/numberControl/NumberControl.js +4 -4
  284. package/components/numberControl/NumberControl.js.map +1 -1
  285. package/components/numberInput/NumberInput.js +1 -1
  286. package/components/numberInput/NumberInput.js.map +1 -1
  287. package/components/onboarding/OnboardingTip.d.ts +18 -12
  288. package/components/onboarding/OnboardingTip.js +4 -4
  289. package/components/onboarding/OnboardingTip.js.map +1 -1
  290. package/components/overlay/OverlayTrigger.d.ts +43 -1
  291. package/components/overlay/OverlayTrigger.js.map +1 -1
  292. package/components/page/Page.js +1 -1
  293. package/components/page/Page.js.map +1 -1
  294. package/components/pager/Pager.d.ts +3 -0
  295. package/components/pager/Pager.js +1 -1
  296. package/components/pager/Pager.js.map +1 -1
  297. package/components/popover/Popover.d.ts +1 -0
  298. package/components/popover/Popover.js.map +1 -1
  299. package/components/preloader/ImagePreloader.d.ts +1 -1
  300. package/components/preloader/ImagePreloader.js.map +1 -1
  301. package/components/radiobutton/RadioButton.d.ts +10 -6
  302. package/components/radiobutton/RadioButton.js +5 -5
  303. package/components/radiobutton/RadioButton.js.map +1 -1
  304. package/components/radiobutton/RadioCardGroup.d.ts +86 -0
  305. package/components/radiobutton/RadioCardGroup.js +110 -0
  306. package/components/radiobutton/RadioCardGroup.js.map +1 -0
  307. package/components/releaseNotes/ReleaseNotes.d.ts +0 -3
  308. package/components/releaseNotes/ReleaseNotes.js.map +1 -1
  309. package/components/resizer/Resizer.d.ts +17 -3
  310. package/components/resizer/Resizer.js +1 -1
  311. package/components/resizer/Resizer.js.map +1 -1
  312. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +1 -1
  313. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js.map +1 -1
  314. package/components/rioglyph/Rioglyph.d.ts +20 -8
  315. package/components/rioglyph/Rioglyph.js +1 -1
  316. package/components/rioglyph/Rioglyph.js.map +1 -1
  317. package/components/rioglyph/RioglyphIconType.d.ts +1 -1
  318. package/components/rules/RuleConnector.js +1 -1
  319. package/components/rules/RuleConnector.js.map +1 -1
  320. package/components/rules/RuleContainer.js +27 -27
  321. package/components/rules/RuleContainer.js.map +1 -1
  322. package/components/rules/RulesWrapper.js +1 -1
  323. package/components/rules/RulesWrapper.js.map +1 -1
  324. package/components/saveableInput/SaveableDateInput.d.ts +20 -2
  325. package/components/saveableInput/SaveableDateInput.js +1 -1
  326. package/components/saveableInput/SaveableDateInput.js.map +1 -1
  327. package/components/saveableInput/SaveableInput.d.ts +10 -2
  328. package/components/saveableInput/SaveableInput.js +49 -49
  329. package/components/saveableInput/SaveableInput.js.map +1 -1
  330. package/components/searchHighlight/SearchHighlightText.d.ts +28 -0
  331. package/components/searchHighlight/SearchHighlightText.js +15 -0
  332. package/components/searchHighlight/SearchHighlightText.js.map +1 -0
  333. package/components/selects/BaseSelectDropdown.js +90 -79
  334. package/components/selects/BaseSelectDropdown.js.map +1 -1
  335. package/components/selects/ClearButton.js +4 -4
  336. package/components/selects/ClearButton.js.map +1 -1
  337. package/components/selects/Multiselect.js +6 -6
  338. package/components/selects/Multiselect.js.map +1 -1
  339. package/components/selects/MultiselectToggleFilter.js +4 -4
  340. package/components/selects/MultiselectToggleFilter.js.map +1 -1
  341. package/components/selects/MultiselectToggleSelection.js +1 -1
  342. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  343. package/components/selects/Select.d.ts +5 -0
  344. package/components/selects/Select.js +93 -93
  345. package/components/selects/Select.js.map +1 -1
  346. package/components/selects/SelectFilter.js +1 -1
  347. package/components/selects/SelectFilter.js.map +1 -1
  348. package/components/selects/WithFeedbackAndAddon.js +1 -1
  349. package/components/selects/WithFeedbackAndAddon.js.map +1 -1
  350. package/components/sidebars/Sidebar.d.ts +19 -3
  351. package/components/sidebars/Sidebar.js +54 -54
  352. package/components/sidebars/Sidebar.js.map +1 -1
  353. package/components/sidebars/SidebarBackdrop.js +4 -4
  354. package/components/sidebars/SidebarBackdrop.js.map +1 -1
  355. package/components/sidebars/SidebarFooter.js +1 -1
  356. package/components/sidebars/SidebarFooter.js.map +1 -1
  357. package/components/sidebars/SidebarFullscreenToggle.js +4 -4
  358. package/components/sidebars/SidebarFullscreenToggle.js.map +1 -1
  359. package/components/slider/RangeSlider.d.ts +15 -0
  360. package/components/slider/RangeSlider.js +1 -1
  361. package/components/slider/RangeSlider.js.map +1 -1
  362. package/components/slider/Slider.d.ts +9 -0
  363. package/components/slider/Slider.js +1 -1
  364. package/components/slider/Slider.js.map +1 -1
  365. package/components/smoothScrollbars/SmoothScrollbars.d.ts +44 -0
  366. package/components/smoothScrollbars/SmoothScrollbars.js +1 -1
  367. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  368. package/components/spinner/Spinner.d.ts +3 -3
  369. package/components/spinner/Spinner.js +5 -4
  370. package/components/spinner/Spinner.js.map +1 -1
  371. package/components/states/CustomState.d.ts +69 -1
  372. package/components/states/CustomState.js +1 -1
  373. package/components/states/CustomState.js.map +1 -1
  374. package/components/states/EmptyState.d.ts +1 -1
  375. package/components/states/EmptyState.js.map +1 -1
  376. package/components/states/ErrorState.d.ts +1 -1
  377. package/components/states/ErrorState.js.map +1 -1
  378. package/components/states/ForbiddenState.d.ts +1 -1
  379. package/components/states/ForbiddenState.js.map +1 -1
  380. package/components/states/MaintenanceState.d.ts +1 -1
  381. package/components/states/MaintenanceState.js.map +1 -1
  382. package/components/states/NotBookedState.d.ts +1 -1
  383. package/components/states/NotBookedState.js.map +1 -1
  384. package/components/states/NotFoundState.d.ts +1 -1
  385. package/components/states/NotFoundState.js.map +1 -1
  386. package/components/states/StateButton.js +1 -1
  387. package/components/states/StateButton.js.map +1 -1
  388. package/components/states/StateIcon.d.ts +14 -1
  389. package/components/states/StateIcon.js.map +1 -1
  390. package/components/statsWidget/StatsWidget.d.ts +2 -0
  391. package/components/statsWidget/StatsWidget.js +1 -1
  392. package/components/statsWidget/StatsWidget.js.map +1 -1
  393. package/components/statsWidget/StatsWidgetBody.d.ts +1 -0
  394. package/components/statsWidget/StatsWidgetBody.js +1 -1
  395. package/components/statsWidget/StatsWidgetBody.js.map +1 -1
  396. package/components/statsWidget/StatsWidgetFooter.js +1 -1
  397. package/components/statsWidget/StatsWidgetFooter.js.map +1 -1
  398. package/components/statsWidget/StatsWidgetHeader.js +1 -1
  399. package/components/statsWidget/StatsWidgetHeader.js.map +1 -1
  400. package/components/statsWidget/StatsWidgetNumber.d.ts +2 -0
  401. package/components/statsWidget/StatsWidgetNumber.js +2 -2
  402. package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
  403. package/components/statsWidget/StatsWidgetSpacer.js +1 -1
  404. package/components/statsWidget/StatsWidgetSpacer.js.map +1 -1
  405. package/components/statsWidget/StatsWidgets.js +1 -1
  406. package/components/statsWidget/StatsWidgets.js.map +1 -1
  407. package/components/statusBar/StatusBar.d.ts +98 -3
  408. package/components/statusBar/StatusBar.js +24 -17
  409. package/components/statusBar/StatusBar.js.map +1 -1
  410. package/components/statusBar/StatusBarIcon.d.ts +2 -2
  411. package/components/statusBar/StatusBarIcon.js +4 -4
  412. package/components/statusBar/StatusBarIcon.js.map +1 -1
  413. package/components/statusBar/StatusBarLabel.d.ts +2 -2
  414. package/components/statusBar/StatusBarLabel.js +5 -7
  415. package/components/statusBar/StatusBarLabel.js.map +1 -1
  416. package/components/statusBar/StatusBarProgressBar.d.ts +1 -1
  417. package/components/statusBar/StatusBarProgressBar.js +1 -1
  418. package/components/statusBar/StatusBarProgressBar.js.map +1 -1
  419. package/components/steppedProgressBar/SteppedProgressBar.d.ts +1 -1
  420. package/components/steppedProgressBar/SteppedProgressBar.js +1 -1
  421. package/components/steppedProgressBar/SteppedProgressBar.js.map +1 -1
  422. package/components/switch/Switch.d.ts +28 -1
  423. package/components/switch/Switch.js +77 -35
  424. package/components/switch/Switch.js.map +1 -1
  425. package/components/table/SortArrowDown.d.ts +1 -1
  426. package/components/table/SortArrowDown.js.map +1 -1
  427. package/components/table/SortArrowUp.d.ts +1 -1
  428. package/components/table/SortArrowUp.js.map +1 -1
  429. package/components/table/TableCardsSorting.js +4 -4
  430. package/components/table/TableCardsSorting.js.map +1 -1
  431. package/components/table/TableHead.js +1 -1
  432. package/components/table/TableHead.js.map +1 -1
  433. package/components/table/TableSearch.js +1 -1
  434. package/components/table/TableSearch.js.map +1 -1
  435. package/components/table/TableSettingsColumnButtons.d.ts +1 -1
  436. package/components/table/TableSettingsColumnButtons.js +1 -1
  437. package/components/table/TableSettingsColumnButtons.js.map +1 -1
  438. package/components/table/TableSettingsColumnDetails.d.ts +1 -1
  439. package/components/table/TableSettingsColumnDetails.js +1 -1
  440. package/components/table/TableSettingsColumnDetails.js.map +1 -1
  441. package/components/table/TableSettingsDialog.d.ts +56 -1
  442. package/components/table/TableSettingsDialog.js +170 -144
  443. package/components/table/TableSettingsDialog.js.map +1 -1
  444. package/components/table/TableSettingsDialogFooter.js +9 -9
  445. package/components/table/TableSettingsDialogFooter.js.map +1 -1
  446. package/components/table/TableSettingsListContainer.d.ts +1 -1
  447. package/components/table/TableSettingsListContainer.js.map +1 -1
  448. package/components/table/TableSettingsListItem.d.ts +1 -1
  449. package/components/table/TableSettingsListItem.js +8 -8
  450. package/components/table/TableSettingsListItem.js.map +1 -1
  451. package/components/table/TableToolbar.js +1 -1
  452. package/components/table/TableToolbar.js.map +1 -1
  453. package/components/table/TableViewToggles.d.ts +21 -1
  454. package/components/table/TableViewToggles.js +1 -1
  455. package/components/table/TableViewToggles.js.map +1 -1
  456. package/components/tag/Tag.d.ts +7 -2
  457. package/components/tag/Tag.js +1 -1
  458. package/components/tag/Tag.js.map +1 -1
  459. package/components/tag/TagList.js +1 -1
  460. package/components/tag/TagList.js.map +1 -1
  461. package/components/tagManager/CustomSuggestionItem.js +1 -1
  462. package/components/tagManager/CustomSuggestionItem.js.map +1 -1
  463. package/components/tagManager/TagManager.d.ts +29 -2
  464. package/components/tagManager/TagManager.js +6 -6
  465. package/components/tagManager/TagManager.js.map +1 -1
  466. package/components/tagManager/TagManagerItemList.d.ts +1 -1
  467. package/components/tagManager/TagManagerItemList.js +1 -1
  468. package/components/tagManager/TagManagerItemList.js.map +1 -1
  469. package/components/teaser/Teaser.d.ts +57 -55
  470. package/components/teaser/Teaser.js +1 -1
  471. package/components/teaser/Teaser.js.map +1 -1
  472. package/components/teaser/TeaserContainer.d.ts +1 -1
  473. package/components/teaser/TeaserContainer.js +1 -1
  474. package/components/teaser/TeaserContainer.js.map +1 -1
  475. package/components/timepicker/TimePicker.d.ts +20 -0
  476. package/components/timepicker/TimePicker.js +153 -99
  477. package/components/timepicker/TimePicker.js.map +1 -1
  478. package/components/tooltip/SimpleTooltip.d.ts +22 -4
  479. package/components/tooltip/SimpleTooltip.js.map +1 -1
  480. package/components/tooltip/Tooltip.d.ts +22 -2
  481. package/components/tooltip/Tooltip.js +1 -1
  482. package/components/tooltip/Tooltip.js.map +1 -1
  483. package/components/tracker/Tracker.d.ts +85 -0
  484. package/components/tracker/Tracker.js +54 -0
  485. package/components/tracker/Tracker.js.map +1 -0
  486. package/components/tracker/TrackerBlock.d.ts +11 -0
  487. package/components/tracker/TrackerBlock.js +34 -0
  488. package/components/tracker/TrackerBlock.js.map +1 -0
  489. package/components/video/ResponsiveVideo.d.ts +8 -3
  490. package/components/video/ResponsiveVideo.js +1 -1
  491. package/components/video/ResponsiveVideo.js.map +1 -1
  492. package/hooks/useCookies.d.ts +79 -0
  493. package/hooks/useCookies.js +33 -0
  494. package/hooks/useCookies.js.map +1 -0
  495. package/hooks/useInterval.js +5 -5
  496. package/hooks/useInterval.js.map +1 -1
  497. package/hooks/useIsFocusWithin.js +3 -3
  498. package/hooks/useIsFocusWithin.js.map +1 -1
  499. package/hooks/useKey.d.ts +1 -1
  500. package/hooks/useKey.js.map +1 -1
  501. package/hooks/useLatest.d.ts +16 -0
  502. package/hooks/useLatest.js +11 -0
  503. package/hooks/useLatest.js.map +1 -0
  504. package/hooks/useOnboarding.d.ts +86 -80
  505. package/hooks/useOnboarding.js.map +1 -1
  506. package/hooks/usePostMessage.d.ts +2 -1
  507. package/hooks/usePostMessage.js.map +1 -1
  508. package/hooks/useRioCookieConsent.d.ts +49 -0
  509. package/hooks/useRioCookieConsent.js +44 -0
  510. package/hooks/useRioCookieConsent.js.map +1 -0
  511. package/hooks/useSearch.d.ts +1 -1
  512. package/hooks/useSearch.js +28 -17
  513. package/hooks/useSearch.js.map +1 -1
  514. package/hooks/useSearchHighlight.d.ts +60 -0
  515. package/hooks/useSearchHighlight.js +54 -0
  516. package/hooks/useSearchHighlight.js.map +1 -0
  517. package/hooks/useTableExport.js.map +1 -1
  518. package/hooks/useTimeout.js +11 -11
  519. package/hooks/useTimeout.js.map +1 -1
  520. package/hooks/useUncontrollable.d.ts +1 -1
  521. package/hooks/useUncontrollable.js.map +1 -1
  522. package/hooks/useUrlState.d.ts +62 -0
  523. package/hooks/useUrlState.js +137 -0
  524. package/hooks/useUrlState.js.map +1 -0
  525. package/mergeClassNameOverrides.d.ts +1 -0
  526. package/mergeClassNameOverrides.js +5 -0
  527. package/mergeClassNameOverrides.js.map +1 -0
  528. package/package.json +18 -21
  529. package/routeUtils.js +11 -5
  530. package/routeUtils.js.map +1 -1
  531. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +1 -1
  532. package/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js.map +1 -1
  533. package/useCookies.d.ts +2 -0
  534. package/useCookies.js +5 -0
  535. package/useCookies.js.map +1 -0
  536. package/useRioCookieConsent.d.ts +2 -0
  537. package/useRioCookieConsent.js +5 -0
  538. package/useRioCookieConsent.js.map +1 -0
  539. package/useSearchHighlight.d.ts +2 -0
  540. package/useSearchHighlight.js +6 -0
  541. package/useSearchHighlight.js.map +1 -0
  542. package/useUrlState.d.ts +2 -0
  543. package/useUrlState.js +5 -0
  544. package/useUrlState.js.map +1 -0
  545. package/utils/classNames.d.ts +3 -0
  546. package/utils/classNames.js +5 -0
  547. package/utils/classNames.js.map +1 -0
  548. package/utils/colorScheme.js +14 -13
  549. package/utils/colorScheme.js.map +1 -1
  550. package/utils/cssuseragent.js.map +1 -1
  551. package/utils/mergeClassNameOverrides.d.ts +1 -0
  552. package/utils/mergeClassNameOverrides.js +55 -0
  553. package/utils/mergeClassNameOverrides.js.map +1 -0
  554. package/utils/routeUtils.d.ts +122 -13
  555. package/utils/routeUtils.js +89 -31
  556. package/utils/routeUtils.js.map +1 -1
  557. package/utils/scrollItemIntoView.js +12 -11
  558. package/utils/scrollItemIntoView.js.map +1 -1
  559. package/utils/urlFeatureToggles.js +19 -20
  560. package/utils/urlFeatureToggles.js.map +1 -1
  561. package/version.d.ts +1 -1
  562. package/version.js +1 -1
  563. package/version.js.map +1 -1
  564. package/components/states/BaseStateProps.d.ts +0 -66
  565. package/components/statusBar/StatusBar.types.d.ts +0 -85
  566. package/components/table/TableSettingsDialog.types.d.ts +0 -39
  567. package/components/tagManager/TagManagerTag.d.ts +0 -5
@@ -1,8 +1,8 @@
1
1
  import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
- import R from "classnames";
3
- import { useSortable as $ } from "@dnd-kit/sortable";
4
- import { CSS as j } from "@dnd-kit/utilities";
5
- import { noop as H, isEmpty as _ } from "es-toolkit/compat";
2
+ import { useSortable as R } from "@dnd-kit/sortable";
3
+ import { CSS as $ } from "@dnd-kit/utilities";
4
+ import { noop as j, isEmpty as H } from "es-toolkit/compat";
5
+ import _ from "../../utils/classNames.js";
6
6
  import B from "../checkbox/Checkbox.js";
7
7
  import E from "../collapse/Collapse.js";
8
8
  import { TableSettingsColumnDetails as F } from "./TableSettingsColumnDetails.js";
@@ -25,16 +25,16 @@ const U = 1e3, X = (o, e, n) => o ? !(n[e] || "").toLowerCase().includes(o.toLow
25
25
  onResetColumnWidth: h,
26
26
  onMoveColumn: N,
27
27
  onOpenDetails: S,
28
- onToggleHideColumn: x = H,
28
+ onToggleHideColumn: x = j,
29
29
  isActive: v = !1,
30
30
  className: L
31
- } = o, i = !_(a), { attributes: D, listeners: T, setNodeRef: k, setActivatorNodeRef: w, transform: y, transition: W } = $({
31
+ } = o, i = !H(a), { attributes: D, listeners: T, setNodeRef: k, setActivatorNodeRef: w, transform: y, transition: W } = R({
32
32
  id: e,
33
33
  disabled: i
34
34
  }), A = {
35
- transform: j.Transform.toString(y),
35
+ transform: $.Transform.toString(y),
36
36
  transition: W
37
- }, I = X(a, e, C) && !m, M = R(
37
+ }, I = X(a, e, C) && !m, M = _(
38
38
  "table-settings-item",
39
39
  m && "opacity-0",
40
40
  I && "position-offscreen",
@@ -1 +1 @@
1
- {"version":3,"file":"TableSettingsListItem.js","sources":["../../../src/components/table/TableSettingsListItem.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { isEmpty, noop } from 'es-toolkit/compat';\n\nimport Checkbox from '../checkbox/Checkbox';\nimport Collapse from '../collapse/Collapse';\nimport { TableSettingsColumnDetails } from './TableSettingsColumnDetails';\nimport { TableSettingsColumnButtons } from './TableSettingsColumnButtons';\nimport type { TableSettingsItemProps } from './TableSettingsDialog.types';\n\nconst MAX_COLUMN_WIDTH = 1000;\n\nexport const filterColumns = (searchValue: string, column: string, columnLabelStrings: Record<string, string>) => {\n if (!searchValue) {\n return false;\n }\n const label = columnLabelStrings[column] || '';\n return !label.toLowerCase().includes(searchValue.toLowerCase());\n};\n\nexport type TableSettingsListItemProps = TableSettingsItemProps & {\n column: string;\n orderIndex: number;\n isActive: boolean;\n className?: string;\n};\n\nconst TableSettingsListItem = (props: TableSettingsListItemProps) => {\n const {\n column,\n orderIndex,\n columnLabels,\n autoLabel,\n disabledColumns = [],\n columnOrder,\n hiddenColumns = [],\n columnSearchValue,\n columnsDetails,\n columnLabelStrings = {},\n openColumnsDetails = {},\n updateColumnLabelStrings,\n onColumnWidthChange,\n onResetColumnWidth,\n onMoveColumn,\n onOpenDetails,\n onToggleHideColumn = noop,\n isActive = false,\n className,\n } = props;\n\n const isSortingDisabled = !isEmpty(columnSearchValue);\n\n const { attributes, listeners, setNodeRef, setActivatorNodeRef, transform, transition } = useSortable({\n id: column,\n disabled: isSortingDisabled,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n // Filter out items which don't match the search value.\n // Note that we need to render all items at least once at the beginning in order to get their DOM labels\n // otherwise the search won't work when initial search value is provided via props.\n const isFiltered = filterColumns(columnSearchValue, column, columnLabelStrings) && !updateColumnLabelStrings;\n\n const itemClassNames = classNames(\n 'table-settings-item',\n updateColumnLabelStrings && 'opacity-0',\n isFiltered && 'position-offscreen',\n className\n );\n\n const columnDetails = columnsDetails[column];\n\n return (\n <div className={itemClassNames} key={`table-settings-item-${column}`} ref={setNodeRef} style={style}>\n <div className='table-settings-item-header user-select-none' ref={setActivatorNodeRef}>\n <div className='CheckboxWrapper display-flex align-items-center padding-left-2 margin-top--3'>\n <Checkbox\n checked={!hiddenColumns.includes(column)}\n onClick={event => {\n onToggleHideColumn(column);\n event.stopPropagation();\n }}\n disabled={disabledColumns.includes(column)}\n />\n </div>\n <div\n className={`table-settings-item-label ${isSortingDisabled ? 'no-drag' : ''}`}\n data-key={column}\n {...attributes}\n {...listeners}\n >\n {columnLabels[column]}\n </div>\n {columnDetails && (\n <div className='column-width-label'>\n {columnDetails.width ? `${columnDetails.width}px` : autoLabel}\n </div>\n )}\n <TableSettingsColumnButtons\n column={column}\n index={orderIndex}\n columnDetails={columnDetails}\n columnOrder={columnOrder}\n openColumnsDetails={openColumnsDetails}\n disabled={isSortingDisabled}\n onMoveColumn={onMoveColumn}\n onOpenDetails={onOpenDetails}\n />\n </div>\n {columnDetails && !isActive && (\n <Collapse open={!!openColumnsDetails[column]}>\n <div>\n <TableSettingsColumnDetails\n {...columnDetails}\n column={column}\n maxColumnWidth={MAX_COLUMN_WIDTH}\n onColumnWidthChange={onColumnWidthChange}\n onResetColumnWidth={onResetColumnWidth}\n />\n </div>\n </Collapse>\n )}\n </div>\n );\n};\n\nexport default TableSettingsListItem;\n"],"names":["MAX_COLUMN_WIDTH","filterColumns","searchValue","column","columnLabelStrings","TableSettingsListItem","props","orderIndex","columnLabels","autoLabel","disabledColumns","columnOrder","hiddenColumns","columnSearchValue","columnsDetails","openColumnsDetails","updateColumnLabelStrings","onColumnWidthChange","onResetColumnWidth","onMoveColumn","onOpenDetails","onToggleHideColumn","noop","isActive","className","isSortingDisabled","isEmpty","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","useSortable","style","CSS","isFiltered","itemClassNames","classNames","columnDetails","jsxs","jsx","Checkbox","event","TableSettingsColumnButtons","Collapse","TableSettingsColumnDetails"],"mappings":"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"}
1
+ {"version":3,"file":"TableSettingsListItem.js","sources":["../../../src/components/table/TableSettingsListItem.tsx"],"sourcesContent":["import { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { isEmpty, noop } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport Checkbox from '../checkbox/Checkbox';\nimport Collapse from '../collapse/Collapse';\nimport { TableSettingsColumnDetails } from './TableSettingsColumnDetails';\nimport { TableSettingsColumnButtons } from './TableSettingsColumnButtons';\nimport type { TableSettingsItemProps } from './TableSettingsDialog';\n\nconst MAX_COLUMN_WIDTH = 1000;\n\nexport const filterColumns = (searchValue: string, column: string, columnLabelStrings: Record<string, string>) => {\n if (!searchValue) {\n return false;\n }\n const label = columnLabelStrings[column] || '';\n return !label.toLowerCase().includes(searchValue.toLowerCase());\n};\n\nexport type TableSettingsListItemProps = TableSettingsItemProps & {\n column: string;\n orderIndex: number;\n isActive: boolean;\n className?: string;\n};\n\nconst TableSettingsListItem = (props: TableSettingsListItemProps) => {\n const {\n column,\n orderIndex,\n columnLabels,\n autoLabel,\n disabledColumns = [],\n columnOrder,\n hiddenColumns = [],\n columnSearchValue,\n columnsDetails,\n columnLabelStrings = {},\n openColumnsDetails = {},\n updateColumnLabelStrings,\n onColumnWidthChange,\n onResetColumnWidth,\n onMoveColumn,\n onOpenDetails,\n onToggleHideColumn = noop,\n isActive = false,\n className,\n } = props;\n\n const isSortingDisabled = !isEmpty(columnSearchValue);\n\n const { attributes, listeners, setNodeRef, setActivatorNodeRef, transform, transition } = useSortable({\n id: column,\n disabled: isSortingDisabled,\n });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n // Filter out items which don't match the search value.\n // Note that we need to render all items at least once at the beginning in order to get their DOM labels\n // otherwise the search won't work when initial search value is provided via props.\n const isFiltered = filterColumns(columnSearchValue, column, columnLabelStrings) && !updateColumnLabelStrings;\n\n const itemClassNames = classNames(\n 'table-settings-item',\n updateColumnLabelStrings && 'opacity-0',\n isFiltered && 'position-offscreen',\n className\n );\n\n const columnDetails = columnsDetails[column];\n\n return (\n <div className={itemClassNames} key={`table-settings-item-${column}`} ref={setNodeRef} style={style}>\n <div className='table-settings-item-header user-select-none' ref={setActivatorNodeRef}>\n <div className='CheckboxWrapper display-flex align-items-center padding-left-2 margin-top--3'>\n <Checkbox\n checked={!hiddenColumns.includes(column)}\n onClick={event => {\n onToggleHideColumn(column);\n event.stopPropagation();\n }}\n disabled={disabledColumns.includes(column)}\n />\n </div>\n <div\n className={`table-settings-item-label ${isSortingDisabled ? 'no-drag' : ''}`}\n data-key={column}\n {...attributes}\n {...listeners}\n >\n {columnLabels[column]}\n </div>\n {columnDetails && (\n <div className='column-width-label'>\n {columnDetails.width ? `${columnDetails.width}px` : autoLabel}\n </div>\n )}\n <TableSettingsColumnButtons\n column={column}\n index={orderIndex}\n columnDetails={columnDetails}\n columnOrder={columnOrder}\n openColumnsDetails={openColumnsDetails}\n disabled={isSortingDisabled}\n onMoveColumn={onMoveColumn}\n onOpenDetails={onOpenDetails}\n />\n </div>\n {columnDetails && !isActive && (\n <Collapse open={!!openColumnsDetails[column]}>\n <div>\n <TableSettingsColumnDetails\n {...columnDetails}\n column={column}\n maxColumnWidth={MAX_COLUMN_WIDTH}\n onColumnWidthChange={onColumnWidthChange}\n onResetColumnWidth={onResetColumnWidth}\n />\n </div>\n </Collapse>\n )}\n </div>\n );\n};\n\nexport default TableSettingsListItem;\n"],"names":["MAX_COLUMN_WIDTH","filterColumns","searchValue","column","columnLabelStrings","TableSettingsListItem","props","orderIndex","columnLabels","autoLabel","disabledColumns","columnOrder","hiddenColumns","columnSearchValue","columnsDetails","openColumnsDetails","updateColumnLabelStrings","onColumnWidthChange","onResetColumnWidth","onMoveColumn","onOpenDetails","onToggleHideColumn","noop","isActive","className","isSortingDisabled","isEmpty","attributes","listeners","setNodeRef","setActivatorNodeRef","transform","transition","useSortable","style","CSS","isFiltered","itemClassNames","classNames","columnDetails","jsxs","jsx","Checkbox","event","TableSettingsColumnButtons","Collapse","TableSettingsColumnDetails"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import l from "classnames";
2
+ import l from "../../utils/classNames.js";
3
3
  const e = ({ className: a, children: o }) => /* @__PURE__ */ s("div", { className: l("table-toolbar", a), children: o });
4
4
  export {
5
5
  e as default
@@ -1 +1 @@
1
- {"version":3,"file":"TableToolbar.js","sources":["../../../src/components/table/TableToolbar.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\nimport classNames from 'classnames';\n\nexport type TableToolbarProps = {\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableToolbar = ({ className, children }: PropsWithChildren<TableToolbarProps>) => (\n <div className={classNames('table-toolbar', className)}>{children}</div>\n);\n\nexport default TableToolbar;\n"],"names":["TableToolbar","className","children","jsx","classNames"],"mappings":";;AAUA,MAAMA,IAAe,CAAC,EAAE,WAAAC,GAAW,UAAAC,EAAA,MAC/B,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAW,iBAAiBH,CAAS,GAAI,UAAAC,EAAA,CAAS;"}
1
+ {"version":3,"file":"TableToolbar.js","sources":["../../../src/components/table/TableToolbar.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type TableToolbarProps = {\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableToolbar = ({ className, children }: PropsWithChildren<TableToolbarProps>) => (\n <div className={classNames('table-toolbar', className)}>{children}</div>\n);\n\nexport default TableToolbar;\n"],"names":["TableToolbar","className","children","jsx","classNames"],"mappings":";;AAWA,MAAMA,IAAe,CAAC,EAAE,WAAAC,GAAW,UAAAC,EAAA,MAC/B,gBAAAC,EAAC,OAAA,EAAI,WAAWC,EAAW,iBAAiBH,CAAS,GAAI,UAAAC,EAAA,CAAS;"}
@@ -3,12 +3,30 @@ export type TableViewTogglesViewType = 'SINGLE_CARD' | 'MULTI_CARDS' | 'TABLE';
3
3
  export type TableViewTogglesProps = {
4
4
  /**
5
5
  * The current viewType for controlling the TablesViewToggles component.
6
+ *
7
+ * Possible values are:
8
+ *
9
+ * - `'SINGLE_CARD'`
10
+ * - `'MULTI_CARDS'`
11
+ * - `'TABLE'`
12
+ * - `TableViewToggles.VIEW_TYPE_TABLE`
13
+ * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`
14
+ * - `TableViewToggles.VIEW_TYPE_CARD`
6
15
  */
7
16
  viewType?: TableViewTogglesViewType;
8
17
  /**
9
18
  * Defines the initial viewType (when viewType is not controlled from the outside).
10
19
  *
11
- * @default TableViewToggles.VIEW_TYPE_TABLE
20
+ * Possible values are:
21
+ *
22
+ * - `'SINGLE_CARD'`
23
+ * - `'MULTI_CARDS'`
24
+ * - `'TABLE'`
25
+ * - `TableViewToggles.VIEW_TYPE_TABLE`
26
+ * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`
27
+ * - `TableViewToggles.VIEW_TYPE_CARD`
28
+ *
29
+ * @default TableViewToggles.VIEW_TYPE
12
30
  */
13
31
  initialViewType?: TableViewTogglesViewType;
14
32
  /**
@@ -20,6 +38,8 @@ export type TableViewTogglesProps = {
20
38
  /**
21
39
  * Callback function for when the user wants to change the viewType.
22
40
  *
41
+ * Receives the new type as an argument.
42
+ *
23
43
  * @param viewType The new viewType selected by the user.
24
44
  */
25
45
  onViewTypeChange: (viewType: TableViewTogglesViewType) => void;
@@ -1,7 +1,7 @@
1
1
  import { jsxs as E, jsx as t } from "react/jsx-runtime";
2
2
  import { useState as f, useEffect as g } from "react";
3
- import u from "classnames";
4
3
  import { noop as _ } from "es-toolkit/compat";
4
+ import u from "../../utils/classNames.js";
5
5
  import A from "../overlay/OverlayTrigger.js";
6
6
  import I from "../tooltip/Tooltip.js";
7
7
  const L = (i, e) => /* @__PURE__ */ t(
@@ -1 +1 @@
1
- {"version":3,"file":"TableViewToggles.js","sources":["../../../src/components/table/TableViewToggles.tsx"],"sourcesContent":["import { type JSX, type ReactNode, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { noop } from 'es-toolkit/compat';\n\nimport OverlayTrigger from '../overlay/OverlayTrigger';\nimport Tooltip from '../tooltip/Tooltip';\n\n// TODO: add responsive behaviour and trigger a change from table to list for small screen -> see DriverAdministration\n\nconst wrapWithTooltip = (tooltipContent: ReactNode, element: JSX.Element) => (\n <OverlayTrigger\n placement='bottom'\n overlay={\n <Tooltip id='tooltip' allowOnTouch>\n {tooltipContent}\n </Tooltip>\n }\n >\n {element}\n </OverlayTrigger>\n);\n\nconst typeIcons: Record<TableViewTogglesViewType, string> = {\n TABLE: 'rioglyph-table-view',\n SINGLE_CARD: 'rioglyph-th-list',\n MULTI_CARDS: 'rioglyph-split-view',\n};\n\ntype TypeButtonProps = {\n viewType: TableViewTogglesViewType;\n currentViewType: TableViewTogglesViewType;\n disabledViewTypes: TableViewTogglesViewType[];\n tooltipContent: ReactNode;\n onClick: (vt: TableViewTogglesViewType) => void;\n disabled: boolean;\n};\n\nconst TypeButton = (props: TypeButtonProps) => {\n const { viewType, currentViewType, disabledViewTypes, tooltipContent, onClick, disabled } = props;\n\n if (disabledViewTypes.includes(viewType)) {\n return null;\n }\n\n const classes = classNames(\n 'btn btn-default btn-icon-only',\n disabled && 'disabled pointer-events-none',\n viewType === currentViewType && 'active'\n );\n\n const button = (\n <button className={classes} type='button' onClick={() => onClick(viewType)}>\n <span className={`rioglyph ${typeIcons[viewType]}`} />\n </button>\n );\n\n return tooltipContent ? wrapWithTooltip(tooltipContent, button) : button;\n};\n\nexport type TableViewTogglesViewType = 'SINGLE_CARD' | 'MULTI_CARDS' | 'TABLE';\n\nexport type TableViewTogglesProps = {\n /**\n * The current viewType for controlling the TablesViewToggles component.\n */\n viewType?: TableViewTogglesViewType;\n\n /**\n * Defines the initial viewType (when viewType is not controlled from the outside).\n *\n * @default TableViewToggles.VIEW_TYPE_TABLE\n */\n initialViewType?: TableViewTogglesViewType;\n\n /**\n * Defines the view types which shall not be supported and are omitted.\n *\n * @default []\n */\n disabledViewTypes?: TableViewTogglesViewType[];\n\n /**\n * Callback function for when the user wants to change the viewType.\n *\n * @param viewType The new viewType selected by the user.\n */\n onViewTypeChange: (viewType: TableViewTogglesViewType) => void;\n\n /**\n * Optional tooltip content for table view button.\n */\n tableViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional tooltip content for single card view button.\n */\n singleCardViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional tooltip content for multi card view button.\n */\n multiCardsViewTooltipContent?: string | ReactNode;\n\n /**\n * Disables all buttons.\n *\n * This means the buttons cannot be clicked. Used when disabling toolbar buttons during loading state or when the\n * corresponding table is empty.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableViewToggles = (props: TableViewTogglesProps) => {\n const {\n viewType,\n initialViewType = 'TABLE',\n disabledViewTypes = [],\n onViewTypeChange = noop,\n tableViewTooltipContent,\n singleCardViewTooltipContent,\n multiCardsViewTooltipContent,\n disabled = false,\n className,\n ...remainingProps\n } = props;\n\n const [internalViewType, setInternalViewType] = useState(initialViewType);\n\n // update internal state when external state changes - controlled component case\n useEffect(() => {\n if (viewType) {\n setInternalViewType(viewType);\n }\n }, [viewType]);\n\n const setViewType = (vt: TableViewTogglesViewType) => {\n setInternalViewType(vt);\n onViewTypeChange(vt);\n };\n\n const wrapperClassNames = classNames(\n 'TableViewToggles',\n 'btn-group',\n 'display-flex',\n 'flex-row',\n className && className\n );\n\n return (\n <div {...remainingProps} className={wrapperClassNames}>\n <TypeButton\n viewType='TABLE'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={tableViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n\n <TypeButton\n viewType='SINGLE_CARD'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={singleCardViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n\n <TypeButton\n viewType='MULTI_CARDS'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={multiCardsViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n </div>\n );\n};\n\n// Don't export values as string but as a distinct union type\nTableViewToggles.VIEW_TYPE_TABLE = 'TABLE' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_SINGLE_CARD = 'SINGLE_CARD' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_MULTI_CARDS = 'MULTI_CARDS' as TableViewTogglesViewType;\n\nexport default TableViewToggles;\n"],"names":["wrapWithTooltip","tooltipContent","element","jsx","OverlayTrigger","Tooltip","typeIcons","TypeButton","props","viewType","currentViewType","disabledViewTypes","onClick","disabled","classes","classNames","button","TableViewToggles","initialViewType","onViewTypeChange","noop","tableViewTooltipContent","singleCardViewTooltipContent","multiCardsViewTooltipContent","className","remainingProps","internalViewType","setInternalViewType","useState","useEffect","setViewType","vt","wrapperClassNames","jsxs"],"mappings":";;;;;;AASA,MAAMA,IAAkB,CAACC,GAA2BC,MAChD,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,WAAU;AAAA,IACV,SACI,gBAAAD,EAACE,GAAA,EAAQ,IAAG,WAAU,cAAY,IAC7B,UAAAJ,GACL;AAAA,IAGH,UAAAC;AAAA,EAAA;AACL,GAGEI,IAAsD;AAAA,EACxD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACjB,GAWMC,IAAa,CAACC,MAA2B;AAC3C,QAAM,EAAE,UAAAC,GAAU,iBAAAC,GAAiB,mBAAAC,GAAmB,gBAAAV,GAAgB,SAAAW,GAAS,UAAAC,MAAaL;AAE5F,MAAIG,EAAkB,SAASF,CAAQ;AACnC,WAAO;AAGX,QAAMK,IAAUC;AAAA,IACZ;AAAA,IACAF,KAAY;AAAA,IACZJ,MAAaC,KAAmB;AAAA,EAAA,GAG9BM,sBACD,UAAA,EAAO,WAAWF,GAAS,MAAK,UAAS,SAAS,MAAMF,EAAQH,CAAQ,GACrE,UAAA,gBAAAN,EAAC,UAAK,WAAW,YAAYG,EAAUG,CAAQ,CAAC,IAAI,EAAA,CACxD;AAGJ,SAAOR,IAAiBD,EAAgBC,GAAgBe,CAAM,IAAIA;AACtE,GA8DMC,IAAmB,CAACT,MAAiC;AACvD,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,iBAAAS,IAAkB;AAAA,IAClB,mBAAAP,IAAoB,CAAA;AAAA,IACpB,kBAAAQ,IAAmBC;AAAA,IACnB,yBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,UAAAV,IAAW;AAAA,IACX,WAAAW;AAAA,IACA,GAAGC;AAAA,EAAA,IACHjB,GAEE,CAACkB,GAAkBC,CAAmB,IAAIC,EAASV,CAAe;AAGxE,EAAAW,EAAU,MAAM;AACZ,IAAIpB,KACAkB,EAAoBlB,CAAQ;AAAA,EAEpC,GAAG,CAACA,CAAQ,CAAC;AAEb,QAAMqB,IAAc,CAACC,MAAiC;AAClD,IAAAJ,EAAoBI,CAAE,GACtBZ,EAAiBY,CAAE;AAAA,EACvB,GAEMC,IAAoBjB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAS,KAAaA;AAAA,EAAA;AAGjB,SACI,gBAAAS,EAAC,OAAA,EAAK,GAAGR,GAAgB,WAAWO,GAChC,UAAA;AAAA,IAAA,gBAAA7B;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBU;AAAA,QAChB,SAASS;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,gBAAAV;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBW;AAAA,QAChB,SAASQ;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,gBAAAV;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBY;AAAA,QAChB,SAASO;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;AAGAI,EAAiB,kBAAkB;AACnCA,EAAiB,wBAAwB;AACzCA,EAAiB,wBAAwB;"}
1
+ {"version":3,"file":"TableViewToggles.js","sources":["../../../src/components/table/TableViewToggles.tsx"],"sourcesContent":["import { type JSX, type ReactNode, useEffect, useState } from 'react';\nimport { noop } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport OverlayTrigger from '../overlay/OverlayTrigger';\nimport Tooltip from '../tooltip/Tooltip';\n\n// TODO: add responsive behaviour and trigger a change from table to list for small screen -> see DriverAdministration\n\nconst wrapWithTooltip = (tooltipContent: ReactNode, element: JSX.Element) => (\n <OverlayTrigger\n placement='bottom'\n overlay={\n <Tooltip id='tooltip' allowOnTouch>\n {tooltipContent}\n </Tooltip>\n }\n >\n {element}\n </OverlayTrigger>\n);\n\nconst typeIcons: Record<TableViewTogglesViewType, string> = {\n TABLE: 'rioglyph-table-view',\n SINGLE_CARD: 'rioglyph-th-list',\n MULTI_CARDS: 'rioglyph-split-view',\n};\n\ntype TypeButtonProps = {\n viewType: TableViewTogglesViewType;\n currentViewType: TableViewTogglesViewType;\n disabledViewTypes: TableViewTogglesViewType[];\n tooltipContent: ReactNode;\n onClick: (vt: TableViewTogglesViewType) => void;\n disabled: boolean;\n};\n\nconst TypeButton = (props: TypeButtonProps) => {\n const { viewType, currentViewType, disabledViewTypes, tooltipContent, onClick, disabled } = props;\n\n if (disabledViewTypes.includes(viewType)) {\n return null;\n }\n\n const classes = classNames(\n 'btn btn-default btn-icon-only',\n disabled && 'disabled pointer-events-none',\n viewType === currentViewType && 'active'\n );\n\n const button = (\n <button className={classes} type='button' onClick={() => onClick(viewType)}>\n <span className={`rioglyph ${typeIcons[viewType]}`} />\n </button>\n );\n\n return tooltipContent ? wrapWithTooltip(tooltipContent, button) : button;\n};\n\nexport type TableViewTogglesViewType = 'SINGLE_CARD' | 'MULTI_CARDS' | 'TABLE';\n\nexport type TableViewTogglesProps = {\n /**\n * The current viewType for controlling the TablesViewToggles component.\n *\n * Possible values are:\n *\n * - `'SINGLE_CARD'`\n * - `'MULTI_CARDS'`\n * - `'TABLE'`\n * - `TableViewToggles.VIEW_TYPE_TABLE`\n * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`\n * - `TableViewToggles.VIEW_TYPE_CARD`\n */\n viewType?: TableViewTogglesViewType;\n\n /**\n * Defines the initial viewType (when viewType is not controlled from the outside).\n *\n * Possible values are:\n *\n * - `'SINGLE_CARD'`\n * - `'MULTI_CARDS'`\n * - `'TABLE'`\n * - `TableViewToggles.VIEW_TYPE_TABLE`\n * - `TableViewToggles.VIEW_TYPE_SINGLE_CARD`\n * - `TableViewToggles.VIEW_TYPE_CARD`\n *\n * @default TableViewToggles.VIEW_TYPE\n */\n initialViewType?: TableViewTogglesViewType;\n\n /**\n * Defines the view types which shall not be supported and are omitted.\n *\n * @default []\n */\n disabledViewTypes?: TableViewTogglesViewType[];\n\n /**\n * Callback function for when the user wants to change the viewType.\n *\n * Receives the new type as an argument.\n *\n * @param viewType The new viewType selected by the user.\n */\n onViewTypeChange: (viewType: TableViewTogglesViewType) => void;\n\n /**\n * Optional tooltip content for table view button.\n */\n tableViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional tooltip content for single card view button.\n */\n singleCardViewTooltipContent?: string | ReactNode;\n\n /**\n * Optional tooltip content for multi card view button.\n */\n multiCardsViewTooltipContent?: string | ReactNode;\n\n /**\n * Disables all buttons.\n *\n * This means the buttons cannot be clicked. Used when disabling toolbar buttons during loading state or when the\n * corresponding table is empty.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Optional class names for the wrapper element.\n */\n className?: string;\n};\n\nconst TableViewToggles = (props: TableViewTogglesProps) => {\n const {\n viewType,\n initialViewType = 'TABLE',\n disabledViewTypes = [],\n onViewTypeChange = noop,\n tableViewTooltipContent,\n singleCardViewTooltipContent,\n multiCardsViewTooltipContent,\n disabled = false,\n className,\n ...remainingProps\n } = props;\n\n const [internalViewType, setInternalViewType] = useState(initialViewType);\n\n // update internal state when external state changes - controlled component case\n useEffect(() => {\n if (viewType) {\n setInternalViewType(viewType);\n }\n }, [viewType]);\n\n const setViewType = (vt: TableViewTogglesViewType) => {\n setInternalViewType(vt);\n onViewTypeChange(vt);\n };\n\n const wrapperClassNames = classNames(\n 'TableViewToggles',\n 'btn-group',\n 'display-flex',\n 'flex-row',\n className && className\n );\n\n return (\n <div {...remainingProps} className={wrapperClassNames}>\n <TypeButton\n viewType='TABLE'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={tableViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n\n <TypeButton\n viewType='SINGLE_CARD'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={singleCardViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n\n <TypeButton\n viewType='MULTI_CARDS'\n currentViewType={internalViewType}\n disabledViewTypes={disabledViewTypes}\n tooltipContent={multiCardsViewTooltipContent}\n onClick={setViewType}\n disabled={disabled}\n />\n </div>\n );\n};\n\n// Don't export values as string but as a distinct union type\nTableViewToggles.VIEW_TYPE_TABLE = 'TABLE' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_SINGLE_CARD = 'SINGLE_CARD' as TableViewTogglesViewType;\nTableViewToggles.VIEW_TYPE_MULTI_CARDS = 'MULTI_CARDS' as TableViewTogglesViewType;\n\nexport default TableViewToggles;\n"],"names":["wrapWithTooltip","tooltipContent","element","jsx","OverlayTrigger","Tooltip","typeIcons","TypeButton","props","viewType","currentViewType","disabledViewTypes","onClick","disabled","classes","classNames","button","TableViewToggles","initialViewType","onViewTypeChange","noop","tableViewTooltipContent","singleCardViewTooltipContent","multiCardsViewTooltipContent","className","remainingProps","internalViewType","setInternalViewType","useState","useEffect","setViewType","vt","wrapperClassNames","jsxs"],"mappings":";;;;;;AASA,MAAMA,IAAkB,CAACC,GAA2BC,MAChD,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACG,WAAU;AAAA,IACV,SACI,gBAAAD,EAACE,GAAA,EAAQ,IAAG,WAAU,cAAY,IAC7B,UAAAJ,GACL;AAAA,IAGH,UAAAC;AAAA,EAAA;AACL,GAGEI,IAAsD;AAAA,EACxD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACjB,GAWMC,IAAa,CAACC,MAA2B;AAC3C,QAAM,EAAE,UAAAC,GAAU,iBAAAC,GAAiB,mBAAAC,GAAmB,gBAAAV,GAAgB,SAAAW,GAAS,UAAAC,MAAaL;AAE5F,MAAIG,EAAkB,SAASF,CAAQ;AACnC,WAAO;AAGX,QAAMK,IAAUC;AAAA,IACZ;AAAA,IACAF,KAAY;AAAA,IACZJ,MAAaC,KAAmB;AAAA,EAAA,GAG9BM,sBACD,UAAA,EAAO,WAAWF,GAAS,MAAK,UAAS,SAAS,MAAMF,EAAQH,CAAQ,GACrE,UAAA,gBAAAN,EAAC,UAAK,WAAW,YAAYG,EAAUG,CAAQ,CAAC,IAAI,EAAA,CACxD;AAGJ,SAAOR,IAAiBD,EAAgBC,GAAgBe,CAAM,IAAIA;AACtE,GAkFMC,IAAmB,CAACT,MAAiC;AACvD,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,iBAAAS,IAAkB;AAAA,IAClB,mBAAAP,IAAoB,CAAA;AAAA,IACpB,kBAAAQ,IAAmBC;AAAA,IACnB,yBAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,8BAAAC;AAAA,IACA,UAAAV,IAAW;AAAA,IACX,WAAAW;AAAA,IACA,GAAGC;AAAA,EAAA,IACHjB,GAEE,CAACkB,GAAkBC,CAAmB,IAAIC,EAASV,CAAe;AAGxE,EAAAW,EAAU,MAAM;AACZ,IAAIpB,KACAkB,EAAoBlB,CAAQ;AAAA,EAEpC,GAAG,CAACA,CAAQ,CAAC;AAEb,QAAMqB,IAAc,CAACC,MAAiC;AAClD,IAAAJ,EAAoBI,CAAE,GACtBZ,EAAiBY,CAAE;AAAA,EACvB,GAEMC,IAAoBjB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACAS,KAAaA;AAAA,EAAA;AAGjB,SACI,gBAAAS,EAAC,OAAA,EAAK,GAAGR,GAAgB,WAAWO,GAChC,UAAA;AAAA,IAAA,gBAAA7B;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBU;AAAA,QAChB,SAASS;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,gBAAAV;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBW;AAAA,QAChB,SAASQ;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGJ,gBAAAV;AAAA,MAACI;AAAA,MAAA;AAAA,QACG,UAAS;AAAA,QACT,iBAAiBmB;AAAA,QACjB,mBAAAf;AAAA,QACA,gBAAgBY;AAAA,QAChB,SAASO;AAAA,QACT,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAER;AAGAI,EAAiB,kBAAkB;AACnCA,EAAiB,wBAAwB;AACzCA,EAAiB,wBAAwB;"}
@@ -55,15 +55,20 @@ export type TagProps = {
55
55
  /**
56
56
  * Defines if you want to render the tag in a different size.
57
57
  *
58
- * Possible values are: 'small' and 'medium'
58
+ * Possible values are: `'small'` and `'medium'`
59
59
  */
60
60
  size?: 'small' | 'medium';
61
+ /**
62
+ * Allows to render text on multiple lines.
63
+ *
64
+ * @default false
65
+ */
61
66
  multiline?: boolean;
62
- [remainingProp: string]: unknown;
63
67
  /**
64
68
  * Additional classes to be set on the wrapper element.
65
69
  */
66
70
  className?: string;
71
+ [remainingProp: string]: unknown;
67
72
  };
68
73
  declare const Tag: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<TagProps>, "ref"> & React.RefAttributes<HTMLDivElement>>;
69
74
  export default Tag;
@@ -1,6 +1,6 @@
1
1
  import { jsx as l } from "react/jsx-runtime";
2
2
  import { forwardRef as y } from "react";
3
- import k from "classnames";
3
+ import k from "../../utils/classNames.js";
4
4
  const j = y((a, i) => {
5
5
  const {
6
6
  children: r,
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../src/components/tag/Tag.tsx"],"sourcesContent":["import React, { forwardRef, type PropsWithChildren } from 'react';\nimport classNames from 'classnames';\n\nexport type TagProps = {\n /**\n * Defines if the tag is active.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if the tag is clickable.\n *\n * @default false\n */\n clickable?: boolean;\n\n /**\n * Defines if the tag is deletable.\n *\n * @default false\n */\n deletable?: boolean;\n\n /**\n * Defines if the tag is revertable.\n *\n * @default false\n */\n revertable?: boolean;\n\n /**\n * Defines if the tag is disabled.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Define any rioglyph icon like \"rioglyph-truck\".\n */\n icon?: string;\n\n /**\n * Sets a more subtle style for border and background.\n *\n * @default false\n */\n muted?: boolean;\n\n /**\n * Defines if the tag is round.\n *\n * @default true\n */\n round?: boolean;\n\n /**\n * Defines if the tag is selectable.\n *\n * @default false\n */\n selectable?: boolean;\n\n /**\n * Defines if you want to render the tag in a different size.\n *\n * Possible values are: 'small' and 'medium'\n */\n size?: 'small' | 'medium';\n\n multiline?: boolean;\n [remainingProp: string]: unknown;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst Tag = forwardRef((props: PropsWithChildren<TagProps>, ref: React.Ref<HTMLDivElement>) => {\n const {\n children,\n icon,\n active = false,\n disabled = false,\n clickable = false,\n selectable = false,\n deletable = false,\n revertable = false,\n multiline = false,\n muted = false,\n round = true,\n size,\n className,\n ...remainingProps\n } = props;\n\n const tagClasses = classNames(\n 'tag',\n size === 'small' && 'tag-small',\n icon && `rioglyph ${icon}`,\n active && 'active clickable rioglyph rioglyph-ok',\n disabled && 'disabled',\n clickable && 'clickable',\n selectable && 'selectable clickable rioglyph rioglyph-checkbox',\n deletable && 'deletable clickable rioglyph rioglyph-remove',\n revertable && 'revertable clickable rioglyph rioglyph-revert',\n multiline && 'multiline',\n muted && 'tag-muted',\n !round && 'rounded',\n className\n );\n\n return (\n <div ref={ref} {...remainingProps} className={tagClasses}>\n <div className='tag-inner'>{children}</div>\n </div>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","props","ref","children","icon","active","disabled","clickable","selectable","deletable","revertable","multiline","muted","round","size","className","remainingProps","tagClasses","classNames","jsx"],"mappings":";;;AAiFA,MAAMA,IAAMC,EAAW,CAACC,GAAoCC,MAAmC;AAC3F,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHf,GAEEgB,IAAaC;AAAA,IACf;AAAA,IACAJ,MAAS,WAAW;AAAA,IACpBV,KAAQ,YAAYA,CAAI;AAAA,IACxBC,KAAU;AAAA,IACVC,KAAY;AAAA,IACZC,KAAa;AAAA,IACbC,KAAc;AAAA,IACdC,KAAa;AAAA,IACbC,KAAc;AAAA,IACdC,KAAa;AAAA,IACbC,KAAS;AAAA,IACT,CAACC,KAAS;AAAA,IACVE;AAAA,EAAA;AAGJ,SACI,gBAAAI,EAAC,OAAA,EAAI,KAAAjB,GAAW,GAAGc,GAAgB,WAAWC,GAC1C,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,aAAa,UAAAhB,EAAA,CAAS,GACzC;AAER,CAAC;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../src/components/tag/Tag.tsx"],"sourcesContent":["import React, { forwardRef, type PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type TagProps = {\n /**\n * Defines if the tag is active.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines if the tag is clickable.\n *\n * @default false\n */\n clickable?: boolean;\n\n /**\n * Defines if the tag is deletable.\n *\n * @default false\n */\n deletable?: boolean;\n\n /**\n * Defines if the tag is revertable.\n *\n * @default false\n */\n revertable?: boolean;\n\n /**\n * Defines if the tag is disabled.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Define any rioglyph icon like \"rioglyph-truck\".\n */\n icon?: string;\n\n /**\n * Sets a more subtle style for border and background.\n *\n * @default false\n */\n muted?: boolean;\n\n /**\n * Defines if the tag is round.\n *\n * @default true\n */\n round?: boolean;\n\n /**\n * Defines if the tag is selectable.\n *\n * @default false\n */\n selectable?: boolean;\n\n /**\n * Defines if you want to render the tag in a different size.\n *\n * Possible values are: `'small'` and `'medium'`\n */\n size?: 'small' | 'medium';\n\n /**\n * Allows to render text on multiple lines.\n *\n * @default false\n */\n multiline?: boolean;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n\n [remainingProp: string]: unknown;\n};\n\nconst Tag = forwardRef((props: PropsWithChildren<TagProps>, ref: React.Ref<HTMLDivElement>) => {\n const {\n children,\n icon,\n active = false,\n disabled = false,\n clickable = false,\n selectable = false,\n deletable = false,\n revertable = false,\n multiline = false,\n muted = false,\n round = true,\n size,\n className,\n ...remainingProps\n } = props;\n\n const tagClasses = classNames(\n 'tag',\n size === 'small' && 'tag-small',\n icon && `rioglyph ${icon}`,\n active && 'active clickable rioglyph rioglyph-ok',\n disabled && 'disabled',\n clickable && 'clickable',\n selectable && 'selectable clickable rioglyph rioglyph-checkbox',\n deletable && 'deletable clickable rioglyph rioglyph-remove',\n revertable && 'revertable clickable rioglyph rioglyph-revert',\n multiline && 'multiline',\n muted && 'tag-muted',\n !round && 'rounded',\n className\n );\n\n return (\n <div ref={ref} {...remainingProps} className={tagClasses}>\n <div className='tag-inner'>{children}</div>\n </div>\n );\n});\n\nexport default Tag;\n"],"names":["Tag","forwardRef","props","ref","children","icon","active","disabled","clickable","selectable","deletable","revertable","multiline","muted","round","size","className","remainingProps","tagClasses","classNames","jsx"],"mappings":";;;AAwFA,MAAMA,IAAMC,EAAW,CAACC,GAAoCC,MAAmC;AAC3F,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,YAAAC,IAAa;AAAA,IACb,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHf,GAEEgB,IAAaC;AAAA,IACf;AAAA,IACAJ,MAAS,WAAW;AAAA,IACpBV,KAAQ,YAAYA,CAAI;AAAA,IACxBC,KAAU;AAAA,IACVC,KAAY;AAAA,IACZC,KAAa;AAAA,IACbC,KAAc;AAAA,IACdC,KAAa;AAAA,IACbC,KAAc;AAAA,IACdC,KAAa;AAAA,IACbC,KAAS;AAAA,IACT,CAACC,KAAS;AAAA,IACVE;AAAA,EAAA;AAGJ,SACI,gBAAAI,EAAC,OAAA,EAAI,KAAAjB,GAAW,GAAGc,GAAgB,WAAWC,GAC1C,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,aAAa,UAAAhB,EAAA,CAAS,GACzC;AAER,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import c from "classnames";
2
+ import c from "../../utils/classNames.js";
3
3
  const g = (a) => {
4
4
  const { children: t, inline: i = !0, autoTagWidth: r = !1, tagsPerRow: s, ...l } = a, o = c(
5
5
  "taglist",
@@ -1 +1 @@
1
- {"version":3,"file":"TagList.js","sources":["../../../src/components/tag/TagList.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\nimport classNames from 'classnames';\n\nexport type TagListProps = {\n /**\n * Defines if the tag list is rendered inline or vertically.\n *\n * @default true\n */\n inline?: boolean;\n\n /**\n * Defines if the tag has the same with as it`s parent container.\n *\n * @default false\n */\n autoTagWidth?: boolean;\n\n /**\n * Possible values are 1-6\n */\n tagsPerRow?: 1 | 2 | 3 | 4 | 6;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst TagList = (props: PropsWithChildren<TagListProps>) => {\n const { children, inline = true, autoTagWidth = false, tagsPerRow, ...remainingProps } = props;\n\n const tagListClasses = classNames(\n 'taglist',\n !autoTagWidth && 'taglist-autowidth',\n !inline && 'taglist-vertical',\n tagsPerRow && 'row display-flex-sm flex-wrap-sm',\n props.className\n );\n\n const wrappedChildren = <div className={`tags-per-row-${tagsPerRow}`}>{children}</div>;\n\n return (\n <div {...remainingProps} className={tagListClasses}>\n {tagsPerRow ? wrappedChildren : children}\n </div>\n );\n};\n\nexport default TagList;\n"],"names":["TagList","props","children","inline","autoTagWidth","tagsPerRow","remainingProps","tagListClasses","classNames","wrappedChildren","jsx"],"mappings":";;AA6BA,MAAMA,IAAU,CAACC,MAA2C;AACxD,QAAM,EAAE,UAAAC,GAAU,QAAAC,IAAS,IAAM,cAAAC,IAAe,IAAO,YAAAC,GAAY,GAAGC,EAAA,IAAmBL,GAEnFM,IAAiBC;AAAA,IACnB;AAAA,IACA,CAACJ,KAAgB;AAAA,IACjB,CAACD,KAAU;AAAA,IACXE,KAAc;AAAA,IACdJ,EAAM;AAAA,EAAA,GAGJQ,IAAkB,gBAAAC,EAAC,OAAA,EAAI,WAAW,gBAAgBL,CAAU,IAAK,UAAAH,GAAS;AAEhF,SACI,gBAAAQ,EAAC,SAAK,GAAGJ,GAAgB,WAAWC,GAC/B,UAAAF,IAAaI,IAAkBP,EAAA,CACpC;AAER;"}
1
+ {"version":3,"file":"TagList.js","sources":["../../../src/components/tag/TagList.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type TagListProps = {\n /**\n * Defines if the tag list is rendered inline or vertically.\n *\n * @default true\n */\n inline?: boolean;\n\n /**\n * Defines if the tag has the same with as it`s parent container.\n *\n * @default false\n */\n autoTagWidth?: boolean;\n\n /**\n * Possible values are 1-6\n */\n tagsPerRow?: 1 | 2 | 3 | 4 | 6;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst TagList = (props: PropsWithChildren<TagListProps>) => {\n const { children, inline = true, autoTagWidth = false, tagsPerRow, ...remainingProps } = props;\n\n const tagListClasses = classNames(\n 'taglist',\n !autoTagWidth && 'taglist-autowidth',\n !inline && 'taglist-vertical',\n tagsPerRow && 'row display-flex-sm flex-wrap-sm',\n props.className\n );\n\n const wrappedChildren = <div className={`tags-per-row-${tagsPerRow}`}>{children}</div>;\n\n return (\n <div {...remainingProps} className={tagListClasses}>\n {tagsPerRow ? wrappedChildren : children}\n </div>\n );\n};\n\nexport default TagList;\n"],"names":["TagList","props","children","inline","autoTagWidth","tagsPerRow","remainingProps","tagListClasses","classNames","wrappedChildren","jsx"],"mappings":";;AA8BA,MAAMA,IAAU,CAACC,MAA2C;AACxD,QAAM,EAAE,UAAAC,GAAU,QAAAC,IAAS,IAAM,cAAAC,IAAe,IAAO,YAAAC,GAAY,GAAGC,EAAA,IAAmBL,GAEnFM,IAAiBC;AAAA,IACnB;AAAA,IACA,CAACJ,KAAgB;AAAA,IACjB,CAACD,KAAU;AAAA,IACXE,KAAc;AAAA,IACdJ,EAAM;AAAA,EAAA,GAGJQ,IAAkB,gBAAAC,EAAC,OAAA,EAAI,WAAW,gBAAgBL,CAAU,IAAK,UAAAH,GAAS;AAEhF,SACI,gBAAAQ,EAAC,SAAK,GAAGJ,GAAgB,WAAWC,GAC/B,UAAAF,IAAaI,IAAkBP,EAAA,CACpC;AAER;"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as e, jsx as a } from "react/jsx-runtime";
2
- import t from "classnames";
2
+ import t from "../../utils/classNames.js";
3
3
  const l = ({ value: s, placeholder: r }) => {
4
4
  const o = t(
5
5
  "display-flex align-items-center padding-top-5 padding-bottom-5",
@@ -1 +1 @@
1
- {"version":3,"file":"CustomSuggestionItem.js","sources":["../../../src/components/tagManager/CustomSuggestionItem.tsx"],"sourcesContent":["import type React from 'react';\nimport classNames from 'classnames';\n\nexport type CustomSuggestionItemProps = {\n value?: string | React.ReactNode;\n placeholder?: string | React.ReactNode;\n};\n\nconst CustomSuggestionItem = ({ value, placeholder }: CustomSuggestionItemProps) => {\n const wrapperClassNames = classNames(\n 'display-flex align-items-center padding-top-5 padding-bottom-5',\n !value && 'text-color-gray'\n );\n\n const iconClassNames = classNames(\n 'margin-left--5 margin-right-5 margin-top--1 rioglyph',\n value ? 'rioglyph-plus' : 'rioglyph-arrow-up'\n );\n\n return (\n <span className={wrapperClassNames}>\n <span className={iconClassNames} />\n <span className='text-italic'>{value || placeholder}</span>\n </span>\n );\n};\n\nexport default CustomSuggestionItem;\n"],"names":["CustomSuggestionItem","value","placeholder","wrapperClassNames","classNames","iconClassNames","jsxs","jsx"],"mappings":";;AAQA,MAAMA,IAAuB,CAAC,EAAE,OAAAC,GAAO,aAAAC,QAA6C;AAChF,QAAMC,IAAoBC;AAAA,IACtB;AAAA,IACA,CAACH,KAAS;AAAA,EAAA,GAGRI,IAAiBD;AAAA,IACnB;AAAA,IACAH,IAAQ,kBAAkB;AAAA,EAAA;AAG9B,SACI,gBAAAK,EAAC,QAAA,EAAK,WAAWH,GACb,UAAA;AAAA,IAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,IACjC,gBAAAE,EAAC,QAAA,EAAK,WAAU,eAAe,eAASL,EAAA,CAAY;AAAA,EAAA,GACxD;AAER;"}
1
+ {"version":3,"file":"CustomSuggestionItem.js","sources":["../../../src/components/tagManager/CustomSuggestionItem.tsx"],"sourcesContent":["import type React from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type CustomSuggestionItemProps = {\n value?: string | React.ReactNode;\n placeholder?: string | React.ReactNode;\n};\n\nconst CustomSuggestionItem = ({ value, placeholder }: CustomSuggestionItemProps) => {\n const wrapperClassNames = classNames(\n 'display-flex align-items-center padding-top-5 padding-bottom-5',\n !value && 'text-color-gray'\n );\n\n const iconClassNames = classNames(\n 'margin-left--5 margin-right-5 margin-top--1 rioglyph',\n value ? 'rioglyph-plus' : 'rioglyph-arrow-up'\n );\n\n return (\n <span className={wrapperClassNames}>\n <span className={iconClassNames} />\n <span className='text-italic'>{value || placeholder}</span>\n </span>\n );\n};\n\nexport default CustomSuggestionItem;\n"],"names":["CustomSuggestionItem","value","placeholder","wrapperClassNames","classNames","iconClassNames","jsxs","jsx"],"mappings":";;AASA,MAAMA,IAAuB,CAAC,EAAE,OAAAC,GAAO,aAAAC,QAA6C;AAChF,QAAMC,IAAoBC;AAAA,IACtB;AAAA,IACA,CAACH,KAAS;AAAA,EAAA,GAGRI,IAAiBD;AAAA,IACnB;AAAA,IACAH,IAAQ,kBAAkB;AAAA,EAAA;AAG9B,SACI,gBAAAK,EAAC,QAAA,EAAK,WAAWH,GACb,UAAA;AAAA,IAAA,gBAAAI,EAAC,QAAA,EAAK,WAAWF,EAAA,CAAgB;AAAA,IACjC,gBAAAE,EAAC,QAAA,EAAK,WAAU,eAAe,eAASL,EAAA,CAAY;AAAA,EAAA,GACxD;AAER;"}
@@ -1,6 +1,18 @@
1
1
  import { default as React } from 'react';
2
- import { TagManagerTag } from './TagManagerTag';
3
- export type { TagManagerTag } from './TagManagerTag';
2
+ export type TagManagerTag = {
3
+ /**
4
+ * The visible text of the tag.
5
+ */
6
+ label?: string;
7
+ /**
8
+ * Marks a tag that should be added (used to differentiate newly added tags).
9
+ */
10
+ toAdd?: boolean;
11
+ /**
12
+ * Marks a tag that should be removed (used to differentiate tags flagged for deletion).
13
+ */
14
+ toRemove?: boolean;
15
+ };
4
16
  export type TagManagerProps = {
5
17
  /**
6
18
  * The list of existing tags to be listed.
@@ -19,6 +31,21 @@ export type TagManagerProps = {
19
31
  * have to be removed or added to your data.
20
32
  *
21
33
  * @param newTags The updated list of tags.
34
+ *
35
+ * @example
36
+ * [
37
+ {
38
+ label: 'Foo',
39
+ },
40
+ {
41
+ label: 'Bar',
42
+ toAdd: true,
43
+ },
44
+ {
45
+ label: 'Lorem ipsum',
46
+ toRemove: true,
47
+ }
48
+ ]
22
49
  */
23
50
  onTagListChange?: (newTags: TagManagerTag[]) => void;
24
51
  /**
@@ -1,8 +1,8 @@
1
1
  import { jsxs as O, jsx as b } from "react/jsx-runtime";
2
2
  import { useState as p, useEffect as f } from "react";
3
- import v from "classnames";
4
3
  import { noop as W, compact as h, isEmpty as d } from "es-toolkit/compat";
5
- import { isEqual as N } from "es-toolkit/predicate";
4
+ import { isEqual as v } from "es-toolkit/predicate";
5
+ import N from "../../utils/classNames.js";
6
6
  import { AutoSuggest as _ } from "../autosuggest/AutoSuggest.js";
7
7
  import k from "./CustomSuggestionItem.js";
8
8
  import z from "./TagManagerItemList.js";
@@ -61,15 +61,15 @@ const B = (e, t) => ({
61
61
  return;
62
62
  }
63
63
  m([...a, n]);
64
- }, P = (o, r) => o.map((n) => (N(n.label, r.label) && (n.toRemove ? delete n.toRemove : n.toRemove = !0), n)), V = (o) => {
65
- o.toAdd ? m(a.filter((r) => !N(r, o))) : m(P(a, o));
64
+ }, P = (o, r) => o.map((n) => (v(n.label, r.label) && (n.toRemove ? delete n.toRemove : n.toRemove = !0), n)), V = (o) => {
65
+ o.toAdd ? m(a.filter((r) => !v(r, o))) : m(P(a, o));
66
66
  }, j = {
67
67
  className: "",
68
68
  placeholder: l || "Start typing ...",
69
69
  value: c,
70
70
  tabIndex: 1
71
- }, q = v(!d(a) && "margin-bottom-10");
72
- return /* @__PURE__ */ O("div", { ...y, className: v("TagManager", u), children: [
71
+ }, q = N(!d(a) && "margin-bottom-10");
72
+ return /* @__PURE__ */ O("div", { ...y, className: N("TagManager", u), children: [
73
73
  x && /* @__PURE__ */ b(
74
74
  _,
75
75
  {
@@ -1 +1 @@
1
- {"version":3,"file":"TagManager.js","sources":["../../../src/components/tagManager/TagManager.tsx"],"sourcesContent":["import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { compact, isEmpty, noop } from 'es-toolkit/compat';\nimport { isEqual } from 'es-toolkit/predicate';\n\nimport AutoSuggest, { type AutoSuggestProps, type AutoSuggestSuggestion } from '../autosuggest/AutoSuggest';\nimport CustomSuggestionItem from './CustomSuggestionItem';\nimport TagManagerItemList from './TagManagerItemList';\nimport type { TagManagerTag } from './TagManagerTag';\n\nconst getCustomSuggestion = (value: string, placeholder: string | undefined): AutoSuggestSuggestion => ({\n customSuggestion: <CustomSuggestionItem value={value} placeholder={placeholder} />,\n label: value,\n disabled: isEmpty(value),\n});\n\nconst getSuggestionSeparator = (dropdownSeparatorText: string): AutoSuggestSuggestion => ({\n header: true,\n label: dropdownSeparatorText,\n});\n\nconst cleanupTagState = (tag: TagManagerTag): TagManagerTag => {\n delete tag.toAdd;\n delete tag.toRemove;\n return tag;\n};\n\nconst hasTagAlreadySelected = (tags: TagManagerTag[], newSuggestion: AutoSuggestSuggestion) =>\n !!tags.find(tag => tag.label === newSuggestion.label);\n\nconst getNewSuggestion = (suggestion: AutoSuggestSuggestion) => {\n const newSuggestion = suggestion.customSuggestion ? { label: suggestion.label } : suggestion;\n newSuggestion.toAdd = true;\n return newSuggestion;\n};\n\nconst buildSuggestions =\n (useCustomTags: boolean, customTagPlaceholder: string | undefined, dropdownSeparatorText: string | undefined) =>\n (value: string, suggestions: TagManagerTag[]): AutoSuggestSuggestion[] => {\n const cleanedSuggestions = suggestions.map(cleanupTagState).filter(item => item.label);\n const hasDropdownSeparatorText = typeof dropdownSeparatorText === 'string' && !isEmpty(dropdownSeparatorText);\n\n return compact([\n useCustomTags && getCustomSuggestion(value, customTagPlaceholder),\n useCustomTags &&\n !isEmpty(cleanedSuggestions) &&\n hasDropdownSeparatorText &&\n getSuggestionSeparator(dropdownSeparatorText),\n ...(cleanedSuggestions as unknown as AutoSuggestSuggestion[]),\n ]);\n };\n\nconst filterSuggestions = (suggestions: AutoSuggestSuggestion[], selectedTagNames: string[], value = '') =>\n suggestions.filter(suggestion => {\n const label = suggestion.label;\n if (!label) {\n return false;\n }\n const lowerCaseLabel = label.toLowerCase();\n const lowerCaseValue = value.toLowerCase();\n return (\n lowerCaseLabel.includes(lowerCaseValue) &&\n !selectedTagNames.includes(label) &&\n !suggestion.header &&\n !suggestion.customSuggestion\n );\n });\n\nexport type { TagManagerTag } from './TagManagerTag';\n\nexport type TagManagerProps = {\n /**\n * The list of existing tags to be listed.\n */\n tagList: TagManagerTag[];\n\n /**\n * The list of tags used as suggestions for the built-in AutoSuggest.\n */\n tagSuggestions: TagManagerTag[];\n\n /**\n * Callback function triggered when the list of tags changes.\n *\n * For instance when a tag was added by the AutoSuggest or when a tag is marked to be deleted.\n *\n * This function returns the updated list of tags where tags may have additional properties indicating whether they\n * have to be removed or added to your data.\n *\n * @param newTags The updated list of tags.\n */\n onTagListChange?: (newTags: TagManagerTag[]) => void;\n\n /**\n * The placeholder message for the AutoSuggest input.\n */\n placeholder?: string;\n\n /**\n * The placeholder message for custom tag in the AutoSuggest dropdown.\n *\n * This is only relevant when having custom tags enabled.\n */\n customTagPlaceholder?: string;\n\n /**\n * The header message for existing tags in the AutoSuggest dropdown.\n *\n * This is only relevant when having custom tags enabled.\n */\n dropdownSeparatorText?: string;\n\n /**\n * Enables or disabled to add custom tags from the AutoSuggest dropdown.\n *\n * @default true\n */\n useCustomTags?: boolean;\n\n /**\n * Define whether the input shall be shown and to allow to select tags.\n *\n * @default true\n */\n showInput?: boolean;\n\n /**\n * The message to be shown when no tag suggestion could be found for the entered value of the AutoSuggest.\n */\n noItemMessage?: string | React.ReactNode;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst TagManager = (props: TagManagerProps) => {\n const {\n tagList,\n tagSuggestions,\n placeholder,\n className,\n customTagPlaceholder,\n dropdownSeparatorText,\n onTagListChange = noop,\n useCustomTags = true,\n noItemMessage,\n showInput = true,\n ...remainingProps\n } = props;\n\n const [tags, setTags] = useState(tagList);\n const [inputValue, setInputValue] = useState('');\n const [currentSuggestions, setCurrentSuggestions] = useState([] as AutoSuggestSuggestion[]);\n\n const getSuggestions = buildSuggestions(useCustomTags, customTagPlaceholder, dropdownSeparatorText);\n\n // Update internal list of tags when they change from the outside i.e. when they have been saved,\n // additionally, cleanup previous state for adding or removing tags\n useEffect(() => setTags(compact(tagList.map(cleanupTagState))), [tagList]);\n\n // build suggestion when passed tag suggestions passed change i.e. when a tag got selected and removed from the list\n useEffect(() => setCurrentSuggestions(getSuggestions(inputValue, tagSuggestions)), [tagSuggestions]);\n\n // build suggestions when input value change as it should filter the list on suggestions\n useEffect(() => {\n const selectedTagNames = compact(tags.map(tag => tag.label));\n const value = inputValue || '';\n\n const filteredList = filterSuggestions(\n tagSuggestions as unknown as AutoSuggestSuggestion[],\n selectedTagNames,\n value\n );\n setCurrentSuggestions(getSuggestions(value, filteredList));\n }, [tags, inputValue, tagSuggestions]);\n\n const updateTags = (updatedTags: TagManagerTag[]) => {\n setTags(updatedTags);\n // Notify outside component\n console.log(updatedTags);\n\n onTagListChange(updatedTags);\n };\n\n const handleSuggestionsChange: AutoSuggestProps['onSuggestionsFetchRequested'] = ({ value }) =>\n setInputValue(value);\n\n const handleSuggestionSelected: AutoSuggestProps['onSuggestionSelected'] = (_, { suggestion }) => {\n setInputValue('');\n\n const newSuggestion = getNewSuggestion(suggestion);\n\n if (hasTagAlreadySelected(tags, newSuggestion)) {\n updateTags([...tags]);\n return;\n }\n\n updateTags([...tags, newSuggestion]);\n };\n\n const updateTagsWithSelectedTag = (tagItems: TagManagerTag[], selectedTag: TagManagerTag) => {\n return tagItems.map(tag => {\n if (isEqual(tag.label, selectedTag.label)) {\n // update tag and mark as \"to remove\"\n if (tag.toRemove) {\n delete tag.toRemove;\n } else {\n tag.toRemove = true;\n }\n }\n return tag;\n });\n };\n\n const handleRemoveFromTagList = (selectedTag: TagManagerTag) => {\n if (selectedTag.toAdd) {\n updateTags(tags.filter(tag => !isEqual(tag, selectedTag)));\n } else {\n updateTags(updateTagsWithSelectedTag(tags, selectedTag));\n }\n };\n\n const inputProps = {\n className: '',\n placeholder: placeholder || 'Start typing ...',\n value: inputValue,\n tabIndex: 1,\n };\n\n const autoSuggestClasses = classNames(!isEmpty(tags) && 'margin-bottom-10');\n\n return (\n <div {...remainingProps} className={classNames('TagManager', className)}>\n {showInput && (\n <AutoSuggest\n className={autoSuggestClasses}\n inputProps={inputProps}\n suggestions={currentSuggestions}\n onSuggestionSelected={handleSuggestionSelected}\n onSuggestionsFetchRequested={handleSuggestionsChange}\n openOnFocus\n noItemMessage={noItemMessage}\n />\n )}\n <TagManagerItemList tags={tags} onRemoveFromTagList={handleRemoveFromTagList} />\n </div>\n );\n};\n\nexport default TagManager;\n"],"names":["getCustomSuggestion","value","placeholder","jsx","CustomSuggestionItem","isEmpty","getSuggestionSeparator","dropdownSeparatorText","cleanupTagState","tag","hasTagAlreadySelected","tags","newSuggestion","getNewSuggestion","suggestion","buildSuggestions","useCustomTags","customTagPlaceholder","suggestions","cleanedSuggestions","item","hasDropdownSeparatorText","compact","filterSuggestions","selectedTagNames","label","lowerCaseLabel","lowerCaseValue","TagManager","props","tagList","tagSuggestions","className","onTagListChange","noop","noItemMessage","showInput","remainingProps","setTags","useState","inputValue","setInputValue","currentSuggestions","setCurrentSuggestions","getSuggestions","useEffect","filteredList","updateTags","updatedTags","handleSuggestionsChange","handleSuggestionSelected","_","updateTagsWithSelectedTag","tagItems","selectedTag","isEqual","handleRemoveFromTagList","inputProps","autoSuggestClasses","classNames","jsxs","AutoSuggest","TagManagerItemList"],"mappings":"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"}
1
+ {"version":3,"file":"TagManager.js","sources":["../../../src/components/tagManager/TagManager.tsx"],"sourcesContent":["import type React from 'react';\nimport { useEffect, useState } from 'react';\nimport { compact, isEmpty, noop } from 'es-toolkit/compat';\nimport { isEqual } from 'es-toolkit/predicate';\n\nimport classNames from '../../utils/classNames';\nimport AutoSuggest, { type AutoSuggestProps, type AutoSuggestSuggestion } from '../autosuggest/AutoSuggest';\nimport CustomSuggestionItem from './CustomSuggestionItem';\nimport TagManagerItemList from './TagManagerItemList';\n\nexport type TagManagerTag = {\n /**\n * The visible text of the tag.\n */\n label?: string;\n\n /**\n * Marks a tag that should be added (used to differentiate newly added tags).\n */\n toAdd?: boolean;\n\n /**\n * Marks a tag that should be removed (used to differentiate tags flagged for deletion).\n */\n toRemove?: boolean;\n};\n\nconst getCustomSuggestion = (value: string, placeholder: string | undefined): AutoSuggestSuggestion => ({\n customSuggestion: <CustomSuggestionItem value={value} placeholder={placeholder} />,\n label: value,\n disabled: isEmpty(value),\n});\n\nconst getSuggestionSeparator = (dropdownSeparatorText: string): AutoSuggestSuggestion => ({\n header: true,\n label: dropdownSeparatorText,\n});\n\nconst cleanupTagState = (tag: TagManagerTag): TagManagerTag => {\n delete tag.toAdd;\n delete tag.toRemove;\n return tag;\n};\n\nconst hasTagAlreadySelected = (tags: TagManagerTag[], newSuggestion: AutoSuggestSuggestion) =>\n !!tags.find(tag => tag.label === newSuggestion.label);\n\nconst getNewSuggestion = (suggestion: AutoSuggestSuggestion) => {\n const newSuggestion = suggestion.customSuggestion ? { label: suggestion.label } : suggestion;\n newSuggestion.toAdd = true;\n return newSuggestion;\n};\n\nconst buildSuggestions =\n (useCustomTags: boolean, customTagPlaceholder: string | undefined, dropdownSeparatorText: string | undefined) =>\n (value: string, suggestions: TagManagerTag[]): AutoSuggestSuggestion[] => {\n const cleanedSuggestions = suggestions.map(cleanupTagState).filter(item => item.label);\n const hasDropdownSeparatorText = typeof dropdownSeparatorText === 'string' && !isEmpty(dropdownSeparatorText);\n\n return compact([\n useCustomTags && getCustomSuggestion(value, customTagPlaceholder),\n useCustomTags &&\n !isEmpty(cleanedSuggestions) &&\n hasDropdownSeparatorText &&\n getSuggestionSeparator(dropdownSeparatorText),\n ...(cleanedSuggestions as unknown as AutoSuggestSuggestion[]),\n ]);\n };\n\nconst filterSuggestions = (suggestions: AutoSuggestSuggestion[], selectedTagNames: string[], value = '') =>\n suggestions.filter(suggestion => {\n const label = suggestion.label;\n if (!label) {\n return false;\n }\n const lowerCaseLabel = label.toLowerCase();\n const lowerCaseValue = value.toLowerCase();\n return (\n lowerCaseLabel.includes(lowerCaseValue) &&\n !selectedTagNames.includes(label) &&\n !suggestion.header &&\n !suggestion.customSuggestion\n );\n });\n\nexport type TagManagerProps = {\n /**\n * The list of existing tags to be listed.\n */\n tagList: TagManagerTag[];\n\n /**\n * The list of tags used as suggestions for the built-in AutoSuggest.\n */\n tagSuggestions: TagManagerTag[];\n\n /**\n * Callback function triggered when the list of tags changes.\n *\n * For instance when a tag was added by the AutoSuggest or when a tag is marked to be deleted.\n *\n * This function returns the updated list of tags where tags may have additional properties indicating whether they\n * have to be removed or added to your data.\n *\n * @param newTags The updated list of tags.\n * \n * @example\n * [\n {\n label: 'Foo',\n },\n {\n label: 'Bar',\n toAdd: true,\n },\n {\n label: 'Lorem ipsum',\n toRemove: true,\n }\n ]\n */\n onTagListChange?: (newTags: TagManagerTag[]) => void;\n\n /**\n * The placeholder message for the AutoSuggest input.\n */\n placeholder?: string;\n\n /**\n * The placeholder message for custom tag in the AutoSuggest dropdown.\n *\n * This is only relevant when having custom tags enabled.\n */\n customTagPlaceholder?: string;\n\n /**\n * The header message for existing tags in the AutoSuggest dropdown.\n *\n * This is only relevant when having custom tags enabled.\n */\n dropdownSeparatorText?: string;\n\n /**\n * Enables or disabled to add custom tags from the AutoSuggest dropdown.\n *\n * @default true\n */\n useCustomTags?: boolean;\n\n /**\n * Define whether the input shall be shown and to allow to select tags.\n *\n * @default true\n */\n showInput?: boolean;\n\n /**\n * The message to be shown when no tag suggestion could be found for the entered value of the AutoSuggest.\n */\n noItemMessage?: string | React.ReactNode;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst TagManager = (props: TagManagerProps) => {\n const {\n tagList,\n tagSuggestions,\n placeholder,\n className,\n customTagPlaceholder,\n dropdownSeparatorText,\n onTagListChange = noop,\n useCustomTags = true,\n noItemMessage,\n showInput = true,\n ...remainingProps\n } = props;\n\n const [tags, setTags] = useState(tagList);\n const [inputValue, setInputValue] = useState('');\n const [currentSuggestions, setCurrentSuggestions] = useState([] as AutoSuggestSuggestion[]);\n\n const getSuggestions = buildSuggestions(useCustomTags, customTagPlaceholder, dropdownSeparatorText);\n\n // Update internal list of tags when they change from the outside i.e. when they have been saved,\n // additionally, cleanup previous state for adding or removing tags\n useEffect(() => setTags(compact(tagList.map(cleanupTagState))), [tagList]);\n\n // build suggestion when passed tag suggestions passed change i.e. when a tag got selected and removed from the list\n useEffect(() => setCurrentSuggestions(getSuggestions(inputValue, tagSuggestions)), [tagSuggestions]);\n\n // build suggestions when input value change as it should filter the list on suggestions\n useEffect(() => {\n const selectedTagNames = compact(tags.map(tag => tag.label));\n const value = inputValue || '';\n\n const filteredList = filterSuggestions(\n tagSuggestions as unknown as AutoSuggestSuggestion[],\n selectedTagNames,\n value\n );\n setCurrentSuggestions(getSuggestions(value, filteredList));\n }, [tags, inputValue, tagSuggestions]);\n\n const updateTags = (updatedTags: TagManagerTag[]) => {\n setTags(updatedTags);\n // Notify outside component\n console.log(updatedTags);\n\n onTagListChange(updatedTags);\n };\n\n const handleSuggestionsChange: AutoSuggestProps['onSuggestionsFetchRequested'] = ({ value }) =>\n setInputValue(value);\n\n const handleSuggestionSelected: AutoSuggestProps['onSuggestionSelected'] = (_, { suggestion }) => {\n setInputValue('');\n\n const newSuggestion = getNewSuggestion(suggestion);\n\n if (hasTagAlreadySelected(tags, newSuggestion)) {\n updateTags([...tags]);\n return;\n }\n\n updateTags([...tags, newSuggestion]);\n };\n\n const updateTagsWithSelectedTag = (tagItems: TagManagerTag[], selectedTag: TagManagerTag) => {\n return tagItems.map(tag => {\n if (isEqual(tag.label, selectedTag.label)) {\n // update tag and mark as \"to remove\"\n if (tag.toRemove) {\n delete tag.toRemove;\n } else {\n tag.toRemove = true;\n }\n }\n return tag;\n });\n };\n\n const handleRemoveFromTagList = (selectedTag: TagManagerTag) => {\n if (selectedTag.toAdd) {\n updateTags(tags.filter(tag => !isEqual(tag, selectedTag)));\n } else {\n updateTags(updateTagsWithSelectedTag(tags, selectedTag));\n }\n };\n\n const inputProps = {\n className: '',\n placeholder: placeholder || 'Start typing ...',\n value: inputValue,\n tabIndex: 1,\n };\n\n const autoSuggestClasses = classNames(!isEmpty(tags) && 'margin-bottom-10');\n\n return (\n <div {...remainingProps} className={classNames('TagManager', className)}>\n {showInput && (\n <AutoSuggest\n className={autoSuggestClasses}\n inputProps={inputProps}\n suggestions={currentSuggestions}\n onSuggestionSelected={handleSuggestionSelected}\n onSuggestionsFetchRequested={handleSuggestionsChange}\n openOnFocus\n noItemMessage={noItemMessage}\n />\n )}\n <TagManagerItemList tags={tags} onRemoveFromTagList={handleRemoveFromTagList} />\n </div>\n );\n};\n\nexport default TagManager;\n"],"names":["getCustomSuggestion","value","placeholder","jsx","CustomSuggestionItem","isEmpty","getSuggestionSeparator","dropdownSeparatorText","cleanupTagState","tag","hasTagAlreadySelected","tags","newSuggestion","getNewSuggestion","suggestion","buildSuggestions","useCustomTags","customTagPlaceholder","suggestions","cleanedSuggestions","item","hasDropdownSeparatorText","compact","filterSuggestions","selectedTagNames","label","lowerCaseLabel","lowerCaseValue","TagManager","props","tagList","tagSuggestions","className","onTagListChange","noop","noItemMessage","showInput","remainingProps","setTags","useState","inputValue","setInputValue","currentSuggestions","setCurrentSuggestions","getSuggestions","useEffect","filteredList","updateTags","updatedTags","handleSuggestionsChange","handleSuggestionSelected","_","updateTagsWithSelectedTag","tagItems","selectedTag","isEqual","handleRemoveFromTagList","inputProps","autoSuggestClasses","classNames","jsxs","AutoSuggest","TagManagerItemList"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TagManagerTag } from './TagManagerTag';
1
+ import { TagManagerTag } from './TagManager';
2
2
  export type TagManagerItemListProps = {
3
3
  tags: TagManagerTag[];
4
4
  onRemoveFromTagList?: (tag: TagManagerTag) => void;
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import a from "classnames";
2
+ import a from "../../utils/classNames.js";
3
3
  import c from "../tag/TagList.js";
4
4
  import m from "../tag/Tag.js";
5
5
  const u = (r) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TagManagerItemList.js","sources":["../../../src/components/tagManager/TagManagerItemList.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport TagList from '../tag/TagList';\nimport Tag from '../tag/Tag';\nimport type { TagManagerTag } from './TagManagerTag';\n\nexport type TagManagerItemListProps = {\n tags: TagManagerTag[];\n onRemoveFromTagList?: (tag: TagManagerTag) => void;\n};\n\nconst TagManagerItemList = (props: TagManagerItemListProps) => {\n const { tags, onRemoveFromTagList = () => {} } = props;\n\n return (\n <TagList inline={false}>\n {tags.map(tag => {\n const tagClasses = classNames(\n tag.toAdd && 'border-color-success text-color-success',\n tag.toRemove && 'border-color-danger text-color-danger'\n );\n\n return (\n <Tag\n key={tag.label}\n className={tagClasses}\n deletable\n round={false}\n onClick={() => onRemoveFromTagList(tag)}\n >\n {tag.label}\n </Tag>\n );\n })}\n </TagList>\n );\n};\n\nexport default TagManagerItemList;\n"],"names":["TagManagerItemList","props","tags","onRemoveFromTagList","TagList","tag","tagClasses","classNames","jsx","Tag"],"mappings":";;;;AAWA,MAAMA,IAAqB,CAACC,MAAmC;AAC3D,QAAM,EAAE,MAAAC,GAAM,qBAAAC,IAAsB,MAAM;AAAA,EAAC,MAAMF;AAEjD,2BACKG,GAAA,EAAQ,QAAQ,IACZ,UAAAF,EAAK,IAAI,CAAAG,MAAO;AACb,UAAMC,IAAaC;AAAA,MACfF,EAAI,SAAS;AAAA,MACbA,EAAI,YAAY;AAAA,IAAA;AAGpB,WACI,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QAEG,WAAWH;AAAA,QACX,WAAS;AAAA,QACT,OAAO;AAAA,QACP,SAAS,MAAMH,EAAoBE,CAAG;AAAA,QAErC,UAAAA,EAAI;AAAA,MAAA;AAAA,MANAA,EAAI;AAAA,IAAA;AAAA,EASrB,CAAC,EAAA,CACL;AAER;"}
1
+ {"version":3,"file":"TagManagerItemList.js","sources":["../../../src/components/tagManager/TagManagerItemList.tsx"],"sourcesContent":["import classNames from '../../utils/classNames';\nimport TagList from '../tag/TagList';\nimport Tag from '../tag/Tag';\nimport type { TagManagerTag } from './TagManager';\n\nexport type TagManagerItemListProps = {\n tags: TagManagerTag[];\n onRemoveFromTagList?: (tag: TagManagerTag) => void;\n};\n\nconst TagManagerItemList = (props: TagManagerItemListProps) => {\n const { tags, onRemoveFromTagList = () => {} } = props;\n\n return (\n <TagList inline={false}>\n {tags.map(tag => {\n const tagClasses = classNames(\n tag.toAdd && 'border-color-success text-color-success',\n tag.toRemove && 'border-color-danger text-color-danger'\n );\n\n return (\n <Tag\n key={tag.label}\n className={tagClasses}\n deletable\n round={false}\n onClick={() => onRemoveFromTagList(tag)}\n >\n {tag.label}\n </Tag>\n );\n })}\n </TagList>\n );\n};\n\nexport default TagManagerItemList;\n"],"names":["TagManagerItemList","props","tags","onRemoveFromTagList","TagList","tag","tagClasses","classNames","jsx","Tag"],"mappings":";;;;AAUA,MAAMA,IAAqB,CAACC,MAAmC;AAC3D,QAAM,EAAE,MAAAC,GAAM,qBAAAC,IAAsB,MAAM;AAAA,EAAC,MAAMF;AAEjD,2BACKG,GAAA,EAAQ,QAAQ,IACZ,UAAAF,EAAK,IAAI,CAAAG,MAAO;AACb,UAAMC,IAAaC;AAAA,MACfF,EAAI,SAAS;AAAA,MACbA,EAAI,YAAY;AAAA,IAAA;AAGpB,WACI,gBAAAG;AAAA,MAACC;AAAA,MAAA;AAAA,QAEG,WAAWH;AAAA,QACX,WAAS;AAAA,QACT,OAAO;AAAA,QACP,SAAS,MAAMH,EAAoBE,CAAG;AAAA,QAErC,UAAAA,EAAI;AAAA,MAAA;AAAA,MANAA,EAAI;AAAA,IAAA;AAAA,EASrB,CAAC,EAAA,CACL;AAER;"}
@@ -1,5 +1,57 @@
1
1
  import { default as React, SyntheticEvent } from 'react';
2
- import { ButtonProps } from '../button/Button';
2
+ import { BUTTON_STYLE } from '../button/Button';
3
+ type TeaserButton = {
4
+ /**
5
+ * The text content for the button.
6
+ */
7
+ text?: string | React.ReactNode;
8
+ /**
9
+ * The button style.
10
+ *
11
+ * See the button styles definition for possible values.
12
+ *
13
+ * @default 'primary'
14
+ */
15
+ bsStyle?: BUTTON_STYLE;
16
+ /**
17
+ * Callback function for the button.
18
+ */
19
+ onClick?: (event: SyntheticEvent<HTMLButtonElement, MouseEvent>) => void;
20
+ /**
21
+ * Additional classes added to the button.
22
+ */
23
+ className?: string;
24
+ };
25
+ type TeaserImage = {
26
+ /**
27
+ * The src URL for the image.
28
+ */
29
+ src: string;
30
+ /**
31
+ * The alternate text for the image.
32
+ */
33
+ alt?: string;
34
+ /**
35
+ * Defines whether the image is on the left or right side of the component.
36
+ *
37
+ * Possible values are: `'left'` and `'right'`.
38
+ */
39
+ align?: 'left' | 'right';
40
+ /**
41
+ * Callback function for the image.
42
+ */
43
+ onClick?: VoidFunction;
44
+ /**
45
+ * Ratio of the transparent image placeholder.
46
+ *
47
+ * Possible values are `'1:1'`, `'3:1'`, `'3:2'` and `'16:9'`.
48
+ */
49
+ aspectRatio?: '1:1' | '3:1' | '3:2' | '16:9';
50
+ /**
51
+ * Additional classes added to the image wrapper.
52
+ */
53
+ className?: string;
54
+ };
3
55
  export type TeaserProps = {
4
56
  /**
5
57
  * The headline for the teaser.
@@ -12,65 +64,15 @@ export type TeaserProps = {
12
64
  /**
13
65
  * Defines an image to render.
14
66
  */
15
- image?: {
16
- /**
17
- * The src URL for the image.
18
- */
19
- src: string;
20
- /**
21
- * The alternate text for the image.
22
- */
23
- alt?: string;
24
- /**
25
- * Defines whether the image is on the left or right side of the component.
26
- *
27
- * Possible values are: 'left' and 'right'.
28
- */
29
- align?: 'left' | 'right';
30
- /**
31
- * Callback function for the image.
32
- */
33
- onClick?: VoidFunction;
34
- /**
35
- * Ratio of the transparent image placeholder.
36
- *
37
- * Possible values are "1:1", "3:1", "3:2" and "16:9".
38
- */
39
- aspectRatio?: '1:1' | '3:1' | '3:2' | '16:9';
40
- /**
41
- * Additional classes added to the image wrapper.
42
- */
43
- className?: string;
44
- };
67
+ image?: TeaserImage;
45
68
  /**
46
69
  * Defines a button to render with.
47
70
  */
48
- button?: {
49
- /**
50
- * The text content for the button.
51
- */
52
- text?: string | React.ReactNode;
53
- /**
54
- * The button style.
55
- *
56
- * See the {@link ButtonProps} definition for possible values.
57
- *
58
- * @default 'primary'
59
- */
60
- bsStyle?: ButtonProps['bsStyle'];
61
- /**
62
- * Callback function for the button.
63
- */
64
- onClick?: (event: SyntheticEvent<HTMLButtonElement, MouseEvent>) => void;
65
- /**
66
- * Additional classes added to the button.
67
- */
68
- className?: string;
69
- };
71
+ button?: TeaserButton;
70
72
  /**
71
73
  * Defines where the teaser content is aligned including headline and image.
72
74
  *
73
- * Possible values are: 'top' and 'center'.
75
+ * Possible values are: `'top'` and `'center'`.
74
76
  *
75
77
  * @default 'top'
76
78
  */
@@ -78,7 +80,7 @@ export type TeaserProps = {
78
80
  /**
79
81
  * Defines how the teaser content is segmented.
80
82
  *
81
- * Possible values are: '50', '25:75', '75:25' and '100'.
83
+ * Possible values are: `'50'`, `'25:75'`, `'75:25'` and `'100'`.
82
84
  */
83
85
  segmentation?: '50' | '25:75' | '75:25' | '100';
84
86
  /**
@@ -1,6 +1,6 @@
1
1
  import { jsx as d, jsxs as s } from "react/jsx-runtime";
2
- import Q from "classnames";
3
2
  import { noop as i } from "es-toolkit/function";
3
+ import Q from "../../utils/classNames.js";
4
4
  import o from "../button/Button.js";
5
5
  const O = (A) => {
6
6
  const { segmentation: g, verticalAlignment: M = "top" } = A, w = M === "center" ? "align-items-center-sm" : "";