@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,10 +1,10 @@
1
- import { jsxs as v, jsx as U } from "react/jsx-runtime";
2
- import { forwardRef as h, useState as b, useRef as P } from "react";
3
- import j from "classnames";
4
- import { noop as x } from "es-toolkit/function";
5
- import { createButtonRipple as K } from "../../utils/buttonEffect.js";
6
- import Y from "../../hooks/useMergeRefs.js";
7
- const w = {
1
+ import { jsxs as R, jsx as E } from "react/jsx-runtime";
2
+ import { forwardRef as j, useState as L, useRef as K } from "react";
3
+ import { noop as Y } from "es-toolkit/function";
4
+ import $ from "../../utils/classNames.js";
5
+ import { createButtonRipple as S } from "../../utils/buttonEffect.js";
6
+ import w from "../../hooks/useMergeRefs.js";
7
+ const B = {
8
8
  DEFAULT: "default",
9
9
  UNSTYLED: "unstyled",
10
10
  PRIMARY: "primary",
@@ -15,7 +15,7 @@ const w = {
15
15
  SUCCESS: "success",
16
16
  MUTED: "muted",
17
17
  MUTED_FILLED: "muted-filled"
18
- }, t = {
18
+ }, s = {
19
19
  VARIANT_LINK: "link",
20
20
  VARIANT_LINK_INLINE: "link-inline",
21
21
  VARIANT_OUTLINE: "outline",
@@ -25,75 +25,98 @@ const w = {
25
25
  SM: "sm",
26
26
  MD: "md",
27
27
  LG: "lg"
28
- }, o = h((I, m) => {
28
+ }, r = j((_, k) => {
29
29
  const {
30
- active: n = !1,
31
- disabled: u = !1,
32
- asToggle: l = !1,
33
- onClick: a = x,
34
- bsStyle: T = "default",
35
- bsSize: c,
36
- variant: e,
37
- iconOnly: g = !1,
38
- iconName: r,
39
- iconRight: R = !1,
40
- multiline: d = !1,
41
- block: p = !1,
42
- className: E = "",
43
- noRippleEffect: S = !1,
44
- type: L = "button",
45
- tabIndex: _ = 0,
46
- children: k,
47
- ...O
48
- } = I, [N, f] = b(n), A = P(null), C = Y(A, m), [M, V] = b(n);
49
- n !== M && (f(n), V(n));
50
- const y = (s) => {
51
- if (S || K(s.nativeEvent, s.currentTarget), l) {
52
- const i = !N;
53
- f(i), i && A.current?.blur(), a(i);
30
+ as: a = "button",
31
+ active: t = !1,
32
+ disabled: e = !1,
33
+ asToggle: f = !1,
34
+ onClick: l = Y,
35
+ bsStyle: C = "default",
36
+ bsSize: N,
37
+ variant: i,
38
+ iconOnly: O = !1,
39
+ iconName: o,
40
+ iconRight: h = !1,
41
+ multiline: y = !1,
42
+ block: D = !1,
43
+ className: M = "",
44
+ noRippleEffect: b = !1,
45
+ type: V = "button",
46
+ tabIndex: u = 0,
47
+ children: A,
48
+ ...I
49
+ } = _, [m, d] = L(t), g = K(null), T = w(g, k), [v, U] = L(t);
50
+ t !== v && (d(t), U(t));
51
+ const x = (n) => {
52
+ if (b || S(n.nativeEvent, n.currentTarget), f) {
53
+ const c = !m;
54
+ d(c), c && g.current?.blur(), l(c);
54
55
  } else
55
- a(s);
56
- }, D = j(
56
+ l(n);
57
+ }, P = (n) => {
58
+ if (e) {
59
+ n.preventDefault();
60
+ return;
61
+ }
62
+ b || S(n.nativeEvent, n.currentTarget), l(n);
63
+ }, p = $(
57
64
  "btn",
58
- `btn-${T}`,
59
- e === t.VARIANT_LINK && "btn-link",
60
- e === t.VARIANT_LINK_INLINE && "btn-link btn-link-inline",
61
- e === t.VARIANT_OUTLINE && "btn-outline",
62
- e === t.VARIANT_ACTION && "btn-action",
63
- c && `btn-${c}`,
64
- l && "btn-toggle",
65
- N && "active",
66
- g && "btn-icon-only",
67
- R && "btn-icon-right",
68
- d && "btn-multiline",
69
- p && "btn-block",
65
+ `btn-${C}`,
66
+ i === s.VARIANT_LINK && "btn-link",
67
+ i === s.VARIANT_LINK_INLINE && "btn-link btn-link-inline",
68
+ i === s.VARIANT_OUTLINE && "btn-outline",
69
+ i === s.VARIANT_ACTION && "btn-action",
70
+ N && `btn-${N}`,
71
+ f && "btn-toggle",
72
+ m && "active",
73
+ O && "btn-icon-only",
74
+ h && "btn-icon-right",
75
+ y && "btn-multiline",
76
+ D && "btn-block",
77
+ a === "a" && "gap-0",
78
+ a === "a" && e && "disabled",
70
79
  "btn-component",
71
- E
80
+ M
72
81
  );
73
- return /* @__PURE__ */ v(
82
+ return a === "a" ? /* @__PURE__ */ R(
83
+ "a",
84
+ {
85
+ ref: T,
86
+ ...I,
87
+ className: p,
88
+ onClick: P,
89
+ "aria-disabled": e || void 0,
90
+ tabIndex: e ? -1 : u,
91
+ children: [
92
+ o && /* @__PURE__ */ E("span", { className: `rioglyph ${o}` }),
93
+ A
94
+ ]
95
+ }
96
+ ) : /* @__PURE__ */ R(
74
97
  "button",
75
98
  {
76
- ref: C,
77
- type: L,
78
- ...O,
79
- className: D,
80
- onClick: y,
81
- disabled: u,
82
- tabIndex: _,
99
+ ref: T,
100
+ type: V,
101
+ ...I,
102
+ className: p,
103
+ onClick: x,
104
+ disabled: e,
105
+ tabIndex: u,
83
106
  children: [
84
- r && /* @__PURE__ */ U("span", { className: `rioglyph ${r}` }),
85
- k
107
+ o && /* @__PURE__ */ E("span", { className: `rioglyph ${o}` }),
108
+ A
86
109
  ]
87
110
  }
88
111
  );
89
112
  });
90
- Object.assign(o, w);
91
- Object.assign(o, t);
92
- Object.assign(o, F);
113
+ Object.assign(r, B);
114
+ Object.assign(r, s);
115
+ Object.assign(r, F);
93
116
  export {
94
117
  F as SIZES_MAP,
95
- w as STYLES_MAP,
96
- t as VARIANTS_MAP,
97
- o as default
118
+ B as STYLES_MAP,
119
+ s as VARIANTS_MAP,
120
+ r as default
98
121
  };
99
122
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/components/button/Button.tsx"],"sourcesContent":["import React, {\n forwardRef,\n type ForwardRefExoticComponent,\n type HTMLProps,\n type PropsWithChildren,\n type RefAttributes,\n type SyntheticEvent,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { noop } from 'es-toolkit/function';\n\nimport { createButtonRipple } from '../../utils/buttonEffect';\nimport useMergeRefs from '../../hooks/useMergeRefs';\nimport type { ObjectValues } from '../../utils/ObjectValues';\n\nexport const STYLES_MAP = {\n DEFAULT: 'default',\n UNSTYLED: 'unstyled',\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n INFO: 'info',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n MUTED: 'muted',\n MUTED_FILLED: 'muted-filled',\n} as const;\n\n// export for convenient usage on client side\nexport type BUTTON_STYLE = ObjectValues<typeof STYLES_MAP>;\n\nexport const VARIANTS_MAP = {\n VARIANT_LINK: 'link',\n VARIANT_LINK_INLINE: 'link-inline',\n VARIANT_OUTLINE: 'outline',\n VARIANT_ACTION: 'action',\n} as const;\n\nexport type BUTTON_VARIANT = ObjectValues<typeof VARIANTS_MAP>;\n\nexport const SIZES_MAP = {\n XS: 'xs',\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n} as const;\n\nexport type BUTTON_SIZE = ObjectValues<typeof SIZES_MAP>;\n\n/*\n * ATTENTION: We're typing the onClick handler based on the value of `asToggle`.\n *\n * It does not fully work here inside of this file, though. Therefore, we have to apply some explicit casts below.\n * In code _using_ the Button component, however, the parameter type of the onClick handler must either be a boolean or\n * a React.MouseEvent, respectively.\n */\n\ntype RegularButton = {\n /**\n * Use the button as a toggle button. The toggle state can be controlled via the `active` prop.\n * @default false\n */\n asToggle?: false;\n\n /**\n * Callback function triggered when clicking the button.\n * @param event The MouseEvent that triggered the click.\n */\n onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\ntype ToggleButton = {\n /**\n * Use the button as a toggle button. The toggle state can be controlled via the `active` prop.\n * @default false\n */\n asToggle: true;\n\n /**\n * Callback function triggered when clicking the button.\n * @param value The new value of the toggle button.\n */\n onClick?: (value: boolean) => void;\n};\n\nexport type ButtonProps = Omit<HTMLProps<HTMLButtonElement>, 'type' | 'onClick'> & {\n /**\n * Whether the button should be disabled.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Set the button toggled. Should be used in combination with \"asToggle\" prop.\n * @default false\n */\n active?: boolean;\n\n /**\n * Defines the type of the button. This may be used for form submit buttons.\n * @default 'button'\n */\n type?: 'button' | 'submit';\n\n /**\n * Use when the content of the button is an icon only to adapt the button spacing accordingly.\n * @default false\n */\n iconOnly?: boolean;\n\n /**\n * Adds right side spacing for an icon. This should be used when having navigation buttons\n * that use an icon on the right side.\n * @default false\n */\n iconRight?: boolean;\n\n /**\n * Optional rio-glyph icon name that comes in handy for icon only buttons for not adding\n * a span tag for the icon which reduces boilerplate code.\n */\n iconName?: string;\n\n /**\n * Defines whether the button text break into multiple lines when the button space exceeds.\n *\n * Multiline buttons should be used as exception only.\n * @default false\n */\n multiline?: boolean;\n\n /**\n * Defines whether the button takes up the full width of the parent element.\n * @default false\n */\n block?: boolean;\n\n /**\n * Sets the button style.\n * @default \"default\"\n */\n bsStyle?: BUTTON_STYLE;\n\n /**\n * Sets the button size.\n */\n bsSize?: BUTTON_SIZE;\n\n /**\n * Sets the button variant.\n */\n variant?: BUTTON_VARIANT;\n\n /**\n * Whether the \"ripple\" effect should be suppressed on this button.\n */\n noRippleEffect?: boolean;\n\n /**\n * Number of the index used for keyboard support.\n * @default 0\n */\n tabIndex?: number;\n\n /**\n * Additional classes to be set on the button element.\n */\n className?: string;\n} & (RegularButton | ToggleButton);\n\ntype Props = PropsWithChildren<ButtonProps>;\n\n// Define statics to be used as \"Button.PRIMARY\"\ntype ButtonType = ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>> & {\n DEFAULT: 'default';\n UNSTYLED: 'unstyled';\n PRIMARY: 'primary';\n SECONDARY: 'secondary';\n INFO: 'info';\n WARNING: 'warning';\n DANGER: 'danger';\n SUCCESS: 'success';\n MUTED: 'muted';\n MUTED_FILLED: 'muted-filled';\n\n VARIANT_LINK: 'link';\n VARIANT_LINK_INLINE: 'link-inline';\n VARIANT_OUTLINE: 'outline';\n VARIANT_ACTION: 'action';\n\n XS: 'xs';\n SM: 'sm';\n MD: 'md';\n LG: 'lg';\n};\n\nconst Button = forwardRef<HTMLButtonElement, Props>((props, ref) => {\n const {\n active = false,\n disabled = false,\n asToggle = false,\n onClick = noop,\n bsStyle = 'default',\n bsSize,\n variant,\n iconOnly = false,\n iconName,\n iconRight = false,\n multiline = false,\n block = false,\n className = '',\n noRippleEffect = false,\n type = 'button',\n tabIndex = 0,\n children,\n ...remainingProps\n } = props;\n\n const [isToggled, setIsToggled] = useState(active);\n\n const btnRef = useRef<HTMLButtonElement>(null);\n\n const buttonRef = useMergeRefs(btnRef, ref);\n\n // Update internal toggle state when used as controlled component and outside toggle state changes\n // Note, using the usePrevious hook resulted in an endless loop, hence the useState here\n const [previousActive, setPreviousActive] = useState(active);\n if (active !== previousActive) {\n setIsToggled(active);\n setPreviousActive(active);\n }\n\n const handleClick = (event: SyntheticEvent<HTMLButtonElement, MouseEvent>) => {\n if (!noRippleEffect) {\n createButtonRipple(event.nativeEvent, event.currentTarget);\n }\n\n if (asToggle) {\n // Intercept click handler only for toggle button to update internal state and blur after click\n const newIsToggled = !isToggled;\n setIsToggled(newIsToggled);\n\n if (newIsToggled) {\n btnRef.current?.blur();\n }\n\n (onClick as (x: boolean) => void)(newIsToggled);\n } else {\n (onClick as (x: SyntheticEvent<HTMLButtonElement, MouseEvent>) => void)(event);\n }\n };\n\n const buttonClassNames = classNames(\n 'btn',\n `btn-${bsStyle}`,\n variant === VARIANTS_MAP.VARIANT_LINK && 'btn-link',\n variant === VARIANTS_MAP.VARIANT_LINK_INLINE && 'btn-link btn-link-inline',\n variant === VARIANTS_MAP.VARIANT_OUTLINE && 'btn-outline',\n variant === VARIANTS_MAP.VARIANT_ACTION && 'btn-action',\n bsSize && `btn-${bsSize}`,\n asToggle && 'btn-toggle',\n isToggled && 'active',\n iconOnly && 'btn-icon-only',\n iconRight && 'btn-icon-right',\n multiline && 'btn-multiline',\n block && 'btn-block',\n 'btn-component',\n className\n );\n\n return (\n <button\n ref={buttonRef}\n type={type}\n {...remainingProps}\n className={buttonClassNames}\n onClick={handleClick}\n disabled={disabled}\n tabIndex={tabIndex}\n >\n {iconName && <span className={`rioglyph ${iconName}`} />}\n {children}\n </button>\n );\n}) as ButtonType;\n\nObject.assign(Button, STYLES_MAP);\nObject.assign(Button, VARIANTS_MAP);\nObject.assign(Button, SIZES_MAP);\n\nexport default Button;\n"],"names":["STYLES_MAP","VARIANTS_MAP","SIZES_MAP","Button","forwardRef","props","ref","active","disabled","asToggle","onClick","noop","bsStyle","bsSize","variant","iconOnly","iconName","iconRight","multiline","block","className","noRippleEffect","type","tabIndex","children","remainingProps","isToggled","setIsToggled","useState","btnRef","useRef","buttonRef","useMergeRefs","previousActive","setPreviousActive","handleClick","event","createButtonRipple","newIsToggled","buttonClassNames","classNames","jsxs","jsx"],"mappings":";;;;;;AAiBO,MAAMA,IAAa;AAAA,EACtB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,cAAc;AAClB,GAKaC,IAAe;AAAA,EACxB,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,gBAAgB;AACpB,GAIaC,IAAY;AAAA,EACrB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACR,GAwJMC,IAASC,EAAqC,CAACC,GAAOC,MAAQ;AAChE,QAAM;AAAA,IACF,QAAAC,IAAS;AAAA,IACT,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,SAAAC,IAAUC;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,OAAAC,IAAQ;AAAA,IACR,WAAAC,IAAY;AAAA,IACZ,gBAAAC,IAAiB;AAAA,IACjB,MAAAC,IAAO;AAAA,IACP,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACHpB,GAEE,CAACqB,GAAWC,CAAY,IAAIC,EAASrB,CAAM,GAE3CsB,IAASC,EAA0B,IAAI,GAEvCC,IAAYC,EAAaH,GAAQvB,CAAG,GAIpC,CAAC2B,GAAgBC,CAAiB,IAAIN,EAASrB,CAAM;AAC3D,EAAIA,MAAW0B,MACXN,EAAapB,CAAM,GACnB2B,EAAkB3B,CAAM;AAG5B,QAAM4B,IAAc,CAACC,MAAyD;AAK1E,QAJKf,KACDgB,EAAmBD,EAAM,aAAaA,EAAM,aAAa,GAGzD3B,GAAU;AAEV,YAAM6B,IAAe,CAACZ;AACtB,MAAAC,EAAaW,CAAY,GAErBA,KACAT,EAAO,SAAS,KAAA,GAGnBnB,EAAiC4B,CAAY;AAAA,IAClD;AACK,MAAA5B,EAAuE0B,CAAK;AAAA,EAErF,GAEMG,IAAmBC;AAAA,IACrB;AAAA,IACA,OAAO5B,CAAO;AAAA,IACdE,MAAYb,EAAa,gBAAgB;AAAA,IACzCa,MAAYb,EAAa,uBAAuB;AAAA,IAChDa,MAAYb,EAAa,mBAAmB;AAAA,IAC5Ca,MAAYb,EAAa,kBAAkB;AAAA,IAC3CY,KAAU,OAAOA,CAAM;AAAA,IACvBJ,KAAY;AAAA,IACZiB,KAAa;AAAA,IACbX,KAAY;AAAA,IACZE,KAAa;AAAA,IACbC,KAAa;AAAA,IACbC,KAAS;AAAA,IACT;AAAA,IACAC;AAAA,EAAA;AAGJ,SACI,gBAAAqB;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,KAAKV;AAAA,MACL,MAAAT;AAAA,MACC,GAAGG;AAAA,MACJ,WAAWc;AAAA,MACX,SAASJ;AAAA,MACT,UAAA3B;AAAA,MACA,UAAAe;AAAA,MAEC,UAAA;AAAA,QAAAP,KAAY,gBAAA0B,EAAC,QAAA,EAAK,WAAW,YAAY1B,CAAQ,IAAI;AAAA,QACrDQ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGb,CAAC;AAED,OAAO,OAAOrB,GAAQH,CAAU;AAChC,OAAO,OAAOG,GAAQF,CAAY;AAClC,OAAO,OAAOE,GAAQD,CAAS;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/button/Button.tsx"],"sourcesContent":["import React, {\n forwardRef,\n type ForwardRefExoticComponent,\n type HTMLProps,\n type PropsWithChildren,\n type RefAttributes,\n useRef,\n useState,\n} from 'react';\nimport { noop } from 'es-toolkit/function';\n\nimport classNames from '../../utils/classNames';\nimport { createButtonRipple } from '../../utils/buttonEffect';\nimport useMergeRefs from '../../hooks/useMergeRefs';\nimport type { ObjectValues } from '../../utils/ObjectValues';\n\nexport const STYLES_MAP = {\n DEFAULT: 'default',\n UNSTYLED: 'unstyled',\n PRIMARY: 'primary',\n SECONDARY: 'secondary',\n INFO: 'info',\n WARNING: 'warning',\n DANGER: 'danger',\n SUCCESS: 'success',\n MUTED: 'muted',\n MUTED_FILLED: 'muted-filled',\n} as const;\n\n// export for convenient usage on client side\nexport type BUTTON_STYLE = ObjectValues<typeof STYLES_MAP>;\n\nexport const VARIANTS_MAP = {\n VARIANT_LINK: 'link',\n VARIANT_LINK_INLINE: 'link-inline',\n VARIANT_OUTLINE: 'outline',\n VARIANT_ACTION: 'action',\n} as const;\n\nexport type BUTTON_VARIANT = ObjectValues<typeof VARIANTS_MAP>;\n\nexport const SIZES_MAP = {\n XS: 'xs',\n SM: 'sm',\n MD: 'md',\n LG: 'lg',\n} as const;\n\nexport type BUTTON_SIZE = ObjectValues<typeof SIZES_MAP>;\n\n/*\n * ATTENTION: We're typing the onClick handler based on the value of `asToggle`.\n *\n * It does not fully work here inside of this file, though. Therefore, we have to apply some explicit casts below.\n * In code _using_ the Button component, however, the parameter type of the onClick handler must either be a boolean or\n * a React.MouseEvent, respectively.\n */\n\ntype RegularButton = {\n /**\n * Use the button as a toggle button. The toggle state can be controlled via the `active` prop.\n *\n * @default false\n */\n asToggle?: false;\n\n /**\n * Callback function triggered when clicking the button.\n *\n * @param event The MouseEvent that triggered the click.\n */\n onClick?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\ntype ToggleButton = {\n /**\n * Use the button as a toggle button. The toggle state can be controlled via the `active` prop.\n *\n * @default false\n */\n asToggle: true;\n\n /**\n * Callback function triggered when clicking the button.\n *\n * @param value The new value of the toggle button.\n */\n onClick?: (value: boolean) => void;\n};\n\ntype BaseButtonProps = {\n /**\n * Whether the button should be disabled.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Set the button toggled. Should be used in combination with \"asToggle\" prop.\n *\n * @default false\n */\n active?: boolean;\n\n /**\n * Use when the content of the button is an icon only to adapt the button spacing accordingly.\n *\n * @default false\n */\n iconOnly?: boolean;\n\n /**\n * Adds right side spacing for an icon. This should be used when having navigation buttons\n * that use an icon on the right side.\n *\n * @default false\n */\n iconRight?: boolean;\n\n /**\n * Optional rio-glyph icon name that comes in handy for icon only buttons for not adding\n * a span tag for the icon which reduces boilerplate code.\n */\n iconName?: string;\n\n /**\n * Defines whether the button text break into multiple lines when the button space exceeds.\n *\n * Multiline buttons should be used as exception only.\n *\n * @default false\n */\n multiline?: boolean;\n\n /**\n * Defines whether the button takes up the full width of the parent element.\n *\n * @default false\n */\n block?: boolean;\n\n /**\n * Sets the button style.\n * @default 'default'\n */\n bsStyle?: BUTTON_STYLE;\n\n /**\n * Sets the button size.\n */\n bsSize?: BUTTON_SIZE;\n\n /**\n * Sets the button variant.\n */\n variant?: BUTTON_VARIANT;\n\n /**\n * Whether the \"ripple\" effect should be suppressed on this button.\n */\n noRippleEffect?: boolean;\n\n /**\n * Number of the index used for keyboard support.\n *\n * @default 0\n */\n tabIndex?: number;\n\n /**\n * Additional classes to be set on the button element.\n */\n className?: string;\n};\n\ntype NativeButtonProps = Omit<HTMLProps<HTMLButtonElement>, 'as' | 'type' | 'onClick' | 'ref'> &\n BaseButtonProps & {\n /**\n * Defines this component as a native button element.\n *\n * @default 'button'\n */\n as?: 'button';\n\n /**\n * Defines the type of the button. This may be used for form submit buttons.\n *\n * @default 'button'\n */\n type?: 'button' | 'submit';\n } & (RegularButton | ToggleButton);\n\ntype LinkButtonProps = Omit<HTMLProps<HTMLAnchorElement>, 'as' | 'type' | 'onClick' | 'ref'> &\n BaseButtonProps & {\n /**\n * Defines this component as a link element.\n */\n as: 'a';\n\n /**\n * Native button type is not supported when using `as=\"a\"`.\n */\n type?: never;\n\n /**\n * Defines the destination URL for the link button.\n */\n href: string;\n\n /**\n * Toggle behavior is not supported when using `as=\"a\"`.\n *\n * @default false\n */\n asToggle?: false;\n\n /**\n * Callback function triggered when clicking the link.\n *\n * @param event The MouseEvent that triggered the click.\n */\n onClick?: (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;\n };\n\nexport type ButtonProps = NativeButtonProps | LinkButtonProps;\n\ntype Props = PropsWithChildren<ButtonProps>;\n\n// Define statics to be used as \"Button.PRIMARY\"\ntype ButtonType = ForwardRefExoticComponent<Props & RefAttributes<HTMLButtonElement>> & {\n DEFAULT: 'default';\n UNSTYLED: 'unstyled';\n PRIMARY: 'primary';\n SECONDARY: 'secondary';\n INFO: 'info';\n WARNING: 'warning';\n DANGER: 'danger';\n SUCCESS: 'success';\n MUTED: 'muted';\n MUTED_FILLED: 'muted-filled';\n\n VARIANT_LINK: 'link';\n VARIANT_LINK_INLINE: 'link-inline';\n VARIANT_OUTLINE: 'outline';\n VARIANT_ACTION: 'action';\n\n XS: 'xs';\n SM: 'sm';\n MD: 'md';\n LG: 'lg';\n};\n\nconst Button = forwardRef<HTMLButtonElement, Props>((props, ref) => {\n const {\n as = 'button',\n active = false,\n disabled = false,\n asToggle = false,\n onClick = noop,\n bsStyle = 'default',\n bsSize,\n variant,\n iconOnly = false,\n iconName,\n iconRight = false,\n multiline = false,\n block = false,\n className = '',\n noRippleEffect = false,\n type = 'button',\n tabIndex = 0,\n children,\n ...remainingProps\n } = props;\n\n const [isToggled, setIsToggled] = useState(active);\n\n const btnRef = useRef<HTMLButtonElement>(null);\n\n const buttonRef = useMergeRefs(btnRef, ref);\n\n // Update internal toggle state when used as controlled component and outside toggle state changes\n // Note, using the usePrevious hook resulted in an endless loop, hence the useState here\n const [previousActive, setPreviousActive] = useState(active);\n if (active !== previousActive) {\n setIsToggled(active);\n setPreviousActive(active);\n }\n\n const handleButtonClick = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n if (!noRippleEffect) {\n createButtonRipple(event.nativeEvent, event.currentTarget);\n }\n\n if (asToggle) {\n // Intercept click handler only for toggle button to update internal state and blur after click\n const newIsToggled = !isToggled;\n setIsToggled(newIsToggled);\n\n if (newIsToggled) {\n btnRef.current?.blur();\n }\n\n (onClick as (x: boolean) => void)(newIsToggled);\n } else {\n (onClick as (x: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void)(event);\n }\n };\n\n const handleLinkClick = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n if (!noRippleEffect) {\n createButtonRipple(event.nativeEvent, event.currentTarget);\n }\n\n (onClick as (x: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void)(event);\n };\n\n const buttonClassNames = classNames(\n 'btn',\n `btn-${bsStyle}`,\n variant === VARIANTS_MAP.VARIANT_LINK && 'btn-link',\n variant === VARIANTS_MAP.VARIANT_LINK_INLINE && 'btn-link btn-link-inline',\n variant === VARIANTS_MAP.VARIANT_OUTLINE && 'btn-outline',\n variant === VARIANTS_MAP.VARIANT_ACTION && 'btn-action',\n bsSize && `btn-${bsSize}`,\n asToggle && 'btn-toggle',\n isToggled && 'active',\n iconOnly && 'btn-icon-only',\n iconRight && 'btn-icon-right',\n multiline && 'btn-multiline',\n block && 'btn-block',\n as === 'a' && 'gap-0',\n as === 'a' && disabled && 'disabled',\n 'btn-component',\n className\n );\n\n if (as === 'a') {\n return (\n <a\n ref={buttonRef as React.Ref<HTMLAnchorElement>}\n {...(remainingProps as Omit<HTMLProps<HTMLAnchorElement>, 'as' | 'type' | 'onClick' | 'ref'>)}\n className={buttonClassNames}\n onClick={handleLinkClick}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : tabIndex}\n >\n {iconName && <span className={`rioglyph ${iconName}`} />}\n {children}\n </a>\n );\n }\n\n return (\n <button\n ref={buttonRef}\n type={type}\n {...(remainingProps as Omit<HTMLProps<HTMLButtonElement>, 'as' | 'type' | 'onClick' | 'ref'>)}\n className={buttonClassNames}\n onClick={handleButtonClick}\n disabled={disabled}\n tabIndex={tabIndex}\n >\n {iconName && <span className={`rioglyph ${iconName}`} />}\n {children}\n </button>\n );\n}) as ButtonType;\n\nObject.assign(Button, STYLES_MAP);\nObject.assign(Button, VARIANTS_MAP);\nObject.assign(Button, SIZES_MAP);\n\nexport default Button;\n"],"names":["STYLES_MAP","VARIANTS_MAP","SIZES_MAP","Button","forwardRef","props","ref","as","active","disabled","asToggle","onClick","noop","bsStyle","bsSize","variant","iconOnly","iconName","iconRight","multiline","block","className","noRippleEffect","type","tabIndex","children","remainingProps","isToggled","setIsToggled","useState","btnRef","useRef","buttonRef","useMergeRefs","previousActive","setPreviousActive","handleButtonClick","event","createButtonRipple","newIsToggled","handleLinkClick","buttonClassNames","classNames","jsxs","jsx"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import c from "classnames";
2
+ import c from "../../utils/classNames.js";
3
3
  const m = (e) => {
4
4
  const { className: n = "", alignment: t, children: s, ...o } = e, r = c(
5
5
  n,
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonToolbar.js","sources":["../../../src/components/button/ButtonToolbar.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from 'react';\nimport classNames from 'classnames';\n\nexport type ButtonToolbarProps = ComponentProps<'div'> & {\n /**\n * Align buttons to a defined side or set them apart.\n */\n alignment?: 'left' | 'right' | 'center' | 'space-between';\n\n /**\n * Additional classes set to the outer element.\n */\n className?: string;\n};\n\nconst ButtonToolbar = (props: PropsWithChildren<ButtonToolbarProps>) => {\n const { className = '', alignment, children, ...remainingProps } = props;\n\n const classes = classNames(\n className,\n 'btn-toolbar',\n alignment === 'left' && 'justify-content-start',\n alignment === 'right' && 'justify-content-end',\n alignment === 'center' && 'justify-content-center',\n alignment === 'space-between' && 'justify-content-between'\n );\n\n return (\n <div {...remainingProps} className={classes}>\n {children}\n </div>\n );\n};\n\nexport default ButtonToolbar;\n"],"names":["ButtonToolbar","props","className","alignment","children","remainingProps","classes","classNames"],"mappings":";;AAeA,MAAMA,IAAgB,CAACC,MAAiD;AACpE,QAAM,EAAE,WAAAC,IAAY,IAAI,WAAAC,GAAW,UAAAC,GAAU,GAAGC,MAAmBJ,GAE7DK,IAAUC;AAAA,IACZL;AAAA,IACA;AAAA,IACAC,MAAc,UAAU;AAAA,IACxBA,MAAc,WAAW;AAAA,IACzBA,MAAc,YAAY;AAAA,IAC1BA,MAAc,mBAAmB;AAAA,EAAA;AAGrC,2BACK,OAAA,EAAK,GAAGE,GAAgB,WAAWC,GAC/B,UAAAF,GACL;AAER;"}
1
+ {"version":3,"file":"ButtonToolbar.js","sources":["../../../src/components/button/ButtonToolbar.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type ButtonToolbarProps = ComponentProps<'div'> & {\n /**\n * Align buttons to a defined side or set them apart.\n */\n alignment?: 'left' | 'right' | 'center' | 'space-between';\n\n /**\n * Additional classes set to the outer element.\n */\n className?: string;\n};\n\nconst ButtonToolbar = (props: PropsWithChildren<ButtonToolbarProps>) => {\n const { className = '', alignment, children, ...remainingProps } = props;\n\n const classes = classNames(\n className,\n 'btn-toolbar',\n alignment === 'left' && 'justify-content-start',\n alignment === 'right' && 'justify-content-end',\n alignment === 'center' && 'justify-content-center',\n alignment === 'space-between' && 'justify-content-between'\n );\n\n return (\n <div {...remainingProps} className={classes}>\n {children}\n </div>\n );\n};\n\nexport default ButtonToolbar;\n"],"names":["ButtonToolbar","props","className","alignment","children","remainingProps","classes","classNames"],"mappings":";;AAgBA,MAAMA,IAAgB,CAACC,MAAiD;AACpE,QAAM,EAAE,WAAAC,IAAY,IAAI,WAAAC,GAAW,UAAAC,GAAU,GAAGC,MAAmBJ,GAE7DK,IAAUC;AAAA,IACZL;AAAA,IACA;AAAA,IACAC,MAAc,UAAU;AAAA,IACxBA,MAAc,WAAW;AAAA,IACzBA,MAAc,YAAY;AAAA,IAC1BA,MAAc,mBAAmB;AAAA,EAAA;AAGrC,2BACK,OAAA,EAAK,GAAGE,GAAgB,WAAWC,GAC/B,UAAAF,GACL;AAER;"}
@@ -1,6 +1,9 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { ButtonProps } from './Button';
3
- export type ToggleButtonProps = Omit<ButtonProps, 'onClick'> & {
3
+ type NonLinkButtonProps = Exclude<ButtonProps, {
4
+ as: 'a';
5
+ }>;
6
+ export type ToggleButtonProps = Omit<NonLinkButtonProps, 'onClick' | 'asToggle'> & {
4
7
  /**
5
8
  * Callback function triggered when clicking the button.
6
9
  * @param value The new value of the toggle button.
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","sources":["../../../src/components/button/ToggleButton.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nimport Button, { type ButtonProps } from './Button';\n\nexport type ToggleButtonProps = Omit<ButtonProps, 'onClick'> & {\n /**\n * Callback function triggered when clicking the button.\n * @param value The new value of the toggle button.\n */\n onClick?: (value: boolean) => void;\n};\n\nconst ToggleButton = (props: PropsWithChildren<ToggleButtonProps>) => <Button {...props} asToggle />;\n\nexport default ToggleButton;\n"],"names":["ToggleButton","props","jsx","Button"],"mappings":";;AAYA,MAAMA,IAAe,CAACC,MAAgD,gBAAAC,EAACC,KAAQ,GAAGF,GAAO,UAAQ,GAAA,CAAC;"}
1
+ {"version":3,"file":"ToggleButton.js","sources":["../../../src/components/button/ToggleButton.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\nimport Button, { type ButtonProps } from './Button';\n\ntype NonLinkButtonProps = Exclude<ButtonProps, { as: 'a' }>;\n\nexport type ToggleButtonProps = Omit<NonLinkButtonProps, 'onClick' | 'asToggle'> & {\n /**\n * Callback function triggered when clicking the button.\n * @param value The new value of the toggle button.\n */\n onClick?: (value: boolean) => void;\n};\n\nconst ToggleButton = (props: PropsWithChildren<ToggleButtonProps>) => <Button {...props} asToggle />;\n\nexport default ToggleButton;\n"],"names":["ToggleButton","props","jsx","Button"],"mappings":";;AAcA,MAAMA,IAAe,CAACC,MAAgD,gBAAAC,EAACC,KAAQ,GAAGF,GAAO,UAAQ,GAAA,CAAC;"}
@@ -25,7 +25,7 @@ export type CalendarStripeProps = {
25
25
  *
26
26
  * @param date The day to render
27
27
  */
28
- renderDay?: (date: Date) => React.JSX.Element;
28
+ renderDay: (date: Date) => React.JSX.Element;
29
29
  /**
30
30
  * Defines whether the days for the weekends are included.
31
31
  *
@@ -1,36 +1,34 @@
1
1
  import { jsxs as Z, jsx as n } from "react/jsx-runtime";
2
2
  import { forwardRef as ee, useState as h, useRef as se, useEffect as te } from "react";
3
- import f from "classnames";
4
3
  import { AnimatePresence as ae, motion as ne } from "motion/react";
5
4
  import { noop as E } from "es-toolkit/compat";
5
+ import f from "../../utils/classNames.js";
6
6
  import re from "../../hooks/useAfterMount.js";
7
7
  import oe from "../../hooks/useElementSize.js";
8
- import ie from "../../hooks/usePrevious.js";
9
- import { hasDisplayClass as v, hasAlignItemsClass as k, hasOverflowClass as le, hasBgClass as ce, hasBorderClass as me, hasRoundedClass as de, hasHoverScaleClass as pe, hasHoverTextColorClass as ue, hasPaddingClass as he, hasCursorClass as fe, hasTextColorClass as Ce, hasTextSizeClass as ge, hasAlignSelfClass as De, hasSpaceClass as F, hasUserSelectClass as M, hasFlexClass as Ne } from "../../utils/hasUtilityClass.js";
10
- const ye = 200, ve = 1, xe = 7, Ae = 0.2, _ = "page", Se = "pageBack", B = "ColumnItem", we = {
8
+ import le from "../../hooks/usePrevious.js";
9
+ import { hasRoundedClass as ie, hasBorderClass as ce, hasBgClass as me, hasOverflowClass as de, hasAlignItemsClass as k, hasDisplayClass as y, hasAlignSelfClass as pe, hasTextSizeClass as ue, hasTextColorClass as he, hasCursorClass as fe, hasPaddingClass as Ce, hasHoverTextColorClass as ge, hasHoverScaleClass as De, hasUserSelectClass as F, hasSpaceClass as M, hasFlexClass as Ne } from "../../utils/hasUtilityClass.js";
10
+ const ye = 200, ve = 1, xe = 7, Ae = 0.2, _ = "page", we = "pageBack", B = "ColumnItem", Se = {
11
11
  pageEnter: (t) => ({
12
12
  x: t === _ ? "60%" : "-60%",
13
13
  opacity: 0
14
14
  }),
15
15
  pageCenter: () => ({ x: 0, opacity: 1 })
16
- }, i = (t) => t.toISOString().split("T").at(0), O = (t) => [...t.classList].includes(B) ? t : O(t.children[0]), be = ee((t, b) => {
16
+ }, l = (t) => t.toISOString().split("T").at(0), O = (t) => [...t.classList].includes(B) ? t : O(t.children[0]), be = ee((t, b) => {
17
17
  const {
18
- minDayWith: x = ye,
18
+ minDayWith: v = ye,
19
19
  minDays: P = ve,
20
20
  maxDays: R = xe,
21
- renderDay: C,
21
+ renderDay: x,
22
22
  skipWeekends: L = !1,
23
- startDate: l = /* @__PURE__ */ new Date(),
23
+ startDate: i = /* @__PURE__ */ new Date(),
24
24
  onNextClick: U = E,
25
25
  onPreviousClick: z = E,
26
26
  buttonClassName: s = "",
27
27
  className: o = "",
28
28
  daysWrapperClassName: m = "",
29
29
  dayWrapperClassName: d = ""
30
- } = t;
31
- C || console.error('CalendarStripe component is missing the required "renderDay" prop');
32
- const [r, g] = h(l), [a, A] = h(1), [H, j] = h(!1), c = se(null), [S] = oe(c), V = ie(i(r)), w = i(r) > V ? _ : Se, [X, Y] = h(l);
33
- i(l) !== i(X) && (g(l), Y(l)), re(() => {
30
+ } = t, [r, C] = h(i), [a, A] = h(1), [H, j] = h(!1), c = se(null), [w] = oe(c), V = le(l(r)), S = l(r) > V ? _ : we, [X, Y] = h(i);
31
+ l(i) !== l(X) && (C(i), Y(i)), re(() => {
34
32
  j(!0);
35
33
  }, []), te(() => {
36
34
  if (!c.current)
@@ -38,79 +36,79 @@ const ye = 200, ve = 1, xe = 7, Ae = 0.2, _ = "page", Se = "pageBack", B = "Colu
38
36
  const e = O(c.current.children[0]);
39
37
  if (!e)
40
38
  return;
41
- const D = e.getBoundingClientRect().width, N = a - 1 >= P, u = a + 1 <= R, Q = N && D <= x;
42
- if (u && (a + 1) * x <= S) {
43
- const y = a + 1;
44
- A(y);
39
+ const g = e.getBoundingClientRect().width, D = a - 1 >= P, u = a + 1 <= R, Q = D && g <= v;
40
+ if (u && (a + 1) * v <= w) {
41
+ const N = a + 1;
42
+ A(N);
45
43
  return;
46
44
  }
47
45
  if (Q) {
48
- const y = a - 1;
49
- A(y);
46
+ const N = a - 1;
47
+ A(N);
50
48
  return;
51
49
  }
52
- }, [S, c.current, a, r]);
53
- const q = () => {
50
+ }, [w, c.current, a, r]);
51
+ const K = () => {
54
52
  const e = new Date(r);
55
- e.setDate(e.getDate() + a), g(e), U(e);
56
- }, K = () => {
53
+ e.setDate(e.getDate() + a), C(e), U(e);
54
+ }, $ = () => {
57
55
  const e = new Date(r);
58
- e.setDate(e.getDate() - a), g(e), z(e);
56
+ e.setDate(e.getDate() - a), C(e), z(e);
59
57
  }, p = [];
60
58
  let I = !0, T = 1;
61
59
  for (; I; ) {
62
60
  const e = new Date(r);
63
61
  e.setDate(r.getDate() + T);
64
- const D = e.getDay() === 6, N = e.getDay() === 0, u = D || N;
62
+ const g = e.getDay() === 6, D = e.getDay() === 0, u = g || D;
65
63
  u && !L ? p.push(e) : u || p.push(e), T++, p.length === a && (I = !1);
66
64
  }
67
- const $ = f(
65
+ const q = f(
68
66
  "CalenderStripe",
69
- !v(o) && "display-flex",
67
+ !y(o) && "display-flex",
70
68
  !k(o) && "align-items-center",
71
- !le(o) && "overflow-hidden",
72
- !ce(o) && "bg-white",
73
- !me(o) && "border",
74
- !de(o) && "rounded",
69
+ !de(o) && "overflow-hidden",
70
+ !me(o) && "bg-white",
71
+ !ce(o) && "border",
72
+ !ie(o) && "rounded",
75
73
  o
76
74
  ), W = f(
77
75
  !k(s) && "align-items-center",
78
- !v(s) && "display-flex",
79
- !pe(s) && "hover-scale-105",
80
- !ue(s) && "hover-text-color-darkest",
81
- !he(s) && "padding-10",
76
+ !y(s) && "display-flex",
77
+ !De(s) && "hover-scale-105",
78
+ !ge(s) && "hover-text-color-darkest",
79
+ !Ce(s) && "padding-10",
82
80
  !fe(s) && "cursor-pointer",
83
- !Ce(s) && "text-color-darker",
84
- !ge(s) && "text-size-12",
85
- !De(s) && "align-self-stretch",
81
+ !he(s) && "text-color-darker",
82
+ !ue(s) && "text-size-12",
83
+ !pe(s) && "align-self-stretch",
86
84
  s
87
85
  ), G = f(
88
- !v(m) && "display-flex",
89
- !F(m) && "space-x--1",
90
- !M(m) && "user-select-none",
86
+ !y(m) && "display-flex",
87
+ !M(m) && "space-x--1",
88
+ !F(m) && "user-select-none",
91
89
  m
92
90
  ), J = f(
93
91
  B,
94
92
  !Ne(d) && "flex-1-1-0",
95
- !F(d) && "space-x--1",
96
- !M(d) && "user-select-none",
93
+ !M(d) && "space-x--1",
94
+ !F(d) && "user-select-none",
97
95
  d
98
96
  );
99
- return /* @__PURE__ */ Z("div", { ref: b, className: $, children: [
100
- /* @__PURE__ */ n("div", { className: W, onClick: K, children: /* @__PURE__ */ n("span", { className: "rioglyph rioglyph-chevron-left" }) }),
101
- /* @__PURE__ */ n("div", { className: "flex-1-1 overflow-hidden", ref: c, children: /* @__PURE__ */ n(ae, { mode: "wait", custom: w, children: /* @__PURE__ */ n(
97
+ return /* @__PURE__ */ Z("div", { ref: b, className: q, children: [
98
+ /* @__PURE__ */ n("div", { className: W, onClick: $, children: /* @__PURE__ */ n("span", { className: "rioglyph rioglyph-chevron-left" }) }),
99
+ /* @__PURE__ */ n("div", { className: "flex-1-1 overflow-hidden", ref: c, children: /* @__PURE__ */ n(ae, { mode: "wait", custom: S, children: /* @__PURE__ */ n(
102
100
  ne.div,
103
101
  {
104
- variants: we,
102
+ variants: Se,
105
103
  initial: H ? "pageEnter" : !1,
106
104
  animate: "pageCenter",
107
- custom: w,
105
+ custom: S,
108
106
  transition: { duration: Ae },
109
- children: /* @__PURE__ */ n("div", { className: G, children: p.map((e) => /* @__PURE__ */ n("div", { className: J, children: C ? C(e) : null }, `${i(e)}`)) })
107
+ children: /* @__PURE__ */ n("div", { className: G, children: p.map((e) => /* @__PURE__ */ n("div", { className: J, children: x ? x(e) : null }, `${l(e)}`)) })
110
108
  },
111
- i(r)
109
+ l(r)
112
110
  ) }) }),
113
- /* @__PURE__ */ n("div", { className: W, onClick: q, children: /* @__PURE__ */ n("span", { className: "rioglyph rioglyph-chevron-right" }) })
111
+ /* @__PURE__ */ n("div", { className: W, onClick: K, children: /* @__PURE__ */ n("span", { className: "rioglyph rioglyph-chevron-right" }) })
114
112
  ] });
115
113
  });
116
114
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarStripe.js","sources":["../../../src/components/calendarStripe/CalendarStripe.tsx"],"sourcesContent":["import type React from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { AnimatePresence, motion } from 'motion/react';\nimport { noop } from 'es-toolkit/compat';\n\nimport useAfterMount from '../../hooks/useAfterMount';\nimport useElementSize from '../../hooks/useElementSize';\nimport usePrevious from '../../hooks/usePrevious';\nimport {\n hasAlignItemsClass,\n hasAlignSelfClass,\n hasBgClass,\n hasBorderClass,\n hasCursorClass,\n hasDisplayClass,\n hasFlexClass,\n hasHoverScaleClass,\n hasHoverTextColorClass,\n hasOverflowClass,\n hasPaddingClass,\n hasRoundedClass,\n hasSpaceClass,\n hasTextColorClass,\n hasTextSizeClass,\n hasUserSelectClass,\n} from '../../utils/hasUtilityClass';\n\nconst DEFAULT_MIN_WITH = 200;\nconst DEFAULT_MIN_DAYS = 1;\nconst DEFAULT_MAX_DAYS = 7;\n\nconst ANIMATION_DURATION = 0.2;\nconst ANIMATION_NEXT = 'page';\nconst ANIMATION_BACK = 'pageBack';\n\nconst ITEM_NAME = 'ColumnItem';\n\nconst variants = {\n pageEnter: (pageDirection: typeof ANIMATION_NEXT | typeof ANIMATION_BACK) => ({\n x: pageDirection === ANIMATION_NEXT ? '60%' : '-60%',\n opacity: 0,\n }),\n pageCenter: () => ({ x: 0, opacity: 1 }),\n};\n\nconst getDateString = (date: Date) => date.toISOString().split('T').at(0) as string;\n\nconst getFirstColumnItem = (node: Element): Element => {\n if ([...node.classList].includes(ITEM_NAME)) {\n return node;\n }\n return getFirstColumnItem(node.children[0]);\n};\n\nexport type CalendarStripeProps = {\n /**\n * The minimum width in pixel of a single day column\n *\n * This value determines how many days are shown per page depending on the parent width.\n *\n * @default 200\n */\n minDayWith?: number;\n\n /**\n * The minimum amount of days that should be shown per page.\n *\n * @default 1\n */\n minDays?: number;\n\n /**\n * The maximum amount of days that should be shown per page.\n *\n * @default 7\n */\n maxDays?: number;\n\n /**\n * A function that renders each individual day to be displayed.\n *\n * @param date The day to render\n */\n renderDay?: (date: Date) => React.JSX.Element;\n\n /**\n * Defines whether the days for the weekends are included.\n *\n * @default false\n */\n skipWeekends?: boolean;\n\n /**\n * The date of the first day that are rendered.\n *\n * @default the current date\n */\n startDate?: Date;\n\n /**\n * Callback function for when the next button is clicked.\n *\n * @param newStartDate Date value that is now the start of the stripe.\n */\n onNextClick?: (newStartDate: Date) => void;\n\n /**\n * Callback function for when the previous button is clicked.\n *\n * @param newStartDate Date value that is now the start of the stripe.\n */\n onPreviousClick?: (newStartDate: Date) => void;\n\n /**\n * Additional classes set to the navigation buttons.\n */\n buttonClassName?: string;\n\n /**\n * Additional classes set to the calendar element.\n */\n className?: string;\n\n /**\n * Additional classes set to the days wrapper element.\n */\n daysWrapperClassName?: string;\n\n /**\n * Additional classes set to the days wrapper element.\n */\n dayWrapperClassName?: string;\n};\n\nconst CalendarStripe = forwardRef<HTMLDivElement, CalendarStripeProps>((props: CalendarStripeProps, ref) => {\n const {\n minDayWith = DEFAULT_MIN_WITH,\n minDays = DEFAULT_MIN_DAYS,\n maxDays = DEFAULT_MAX_DAYS,\n renderDay,\n skipWeekends = false,\n startDate = new Date(),\n onNextClick = noop,\n onPreviousClick = noop,\n buttonClassName = '',\n className = '',\n daysWrapperClassName = '',\n dayWrapperClassName = '',\n } = props;\n\n if (!renderDay) {\n console.error('CalendarStripe component is missing the required \"renderDay\" prop');\n }\n\n const [firstDate, setFirstDate] = useState(startDate);\n const [amountOfDaysToShow, setAmountOfDaysToShow] = useState(1);\n const [enableInitialAnimation, setEnableInitialAnimation] = useState(false);\n\n // The base for reacting on changing width of the wrapping element.\n // It uses a ResizeObserver under the hood.\n const columnWrapperRef = useRef<HTMLDivElement>(null);\n const [columnWrapperWidth] = useElementSize(columnWrapperRef);\n\n const previous = usePrevious(getDateString(firstDate));\n const animationDirection = getDateString(firstDate) > (previous as string) ? ANIMATION_NEXT : ANIMATION_BACK;\n\n // Update startDate from outside\n const [previousStartDate, setPreviousStartDate] = useState(startDate);\n if (getDateString(startDate) !== getDateString(previousStartDate)) {\n setFirstDate(startDate);\n setPreviousStartDate(startDate);\n }\n\n useAfterMount(() => {\n setEnableInitialAnimation(true);\n }, []);\n\n useEffect(() => {\n if (!columnWrapperRef.current) {\n return;\n }\n\n const firstItem = getFirstColumnItem(columnWrapperRef.current.children[0]);\n if (!firstItem) {\n return;\n }\n\n // Get the width of the first column to calculate how many columns fit on one page\n // according to the given minWidth per column\n const columnWidth = firstItem.getBoundingClientRect().width;\n\n // Limit columns per page for given min and max values\n const allowForLessColumns = amountOfDaysToShow - 1 >= minDays;\n const allowForMoreColumns = amountOfDaysToShow + 1 <= maxDays;\n\n const goSmaller = allowForLessColumns && columnWidth <= minDayWith;\n const goBigger =\n allowForMoreColumns && (amountOfDaysToShow + 1) * minDayWith <= (columnWrapperWidth as unknown as number);\n\n if (goBigger) {\n const newValue = amountOfDaysToShow + 1;\n setAmountOfDaysToShow(newValue);\n return;\n }\n\n if (goSmaller) {\n const newValue = amountOfDaysToShow - 1;\n setAmountOfDaysToShow(newValue);\n return;\n }\n }, [columnWrapperWidth, columnWrapperRef.current, amountOfDaysToShow, firstDate]);\n\n const handleNext = () => {\n const newFirstDate = new Date(firstDate);\n newFirstDate.setDate(newFirstDate.getDate() + amountOfDaysToShow);\n setFirstDate(newFirstDate);\n\n onNextClick(newFirstDate);\n };\n\n const handlePrev = () => {\n const newFirstDate = new Date(firstDate);\n newFirstDate.setDate(newFirstDate.getDate() - amountOfDaysToShow);\n setFirstDate(newFirstDate);\n\n onPreviousClick(newFirstDate);\n };\n\n // Re-calculate the dates to show depending on the amount of days to show\n const dates = [];\n\n let addDays = true;\n let index = 1;\n\n while (addDays) {\n const currentDate = new Date(firstDate);\n currentDate.setDate(firstDate.getDate() + index);\n\n const isSaturday = currentDate.getDay() === 6;\n const isSunday = currentDate.getDay() === 0;\n const isWeekend = isSaturday || isSunday;\n\n if (isWeekend && !skipWeekends) {\n dates.push(currentDate);\n } else if (!isWeekend) {\n dates.push(currentDate);\n }\n\n index++;\n\n if (dates.length === amountOfDaysToShow) {\n addDays = false;\n }\n }\n\n const wrapperClassNames = classNames(\n 'CalenderStripe',\n !hasDisplayClass(className) && 'display-flex',\n !hasAlignItemsClass(className) && 'align-items-center',\n !hasOverflowClass(className) && 'overflow-hidden',\n !hasBgClass(className) && 'bg-white',\n !hasBorderClass(className) && 'border',\n !hasRoundedClass(className) && 'rounded',\n className\n );\n\n const baseButtonClassNames = classNames(\n !hasAlignItemsClass(buttonClassName) && 'align-items-center',\n !hasDisplayClass(buttonClassName) && 'display-flex',\n !hasHoverScaleClass(buttonClassName) && 'hover-scale-105',\n !hasHoverTextColorClass(buttonClassName) && 'hover-text-color-darkest',\n !hasPaddingClass(buttonClassName) && 'padding-10',\n !hasCursorClass(buttonClassName) && 'cursor-pointer',\n !hasTextColorClass(buttonClassName) && 'text-color-darker',\n !hasTextSizeClass(buttonClassName) && 'text-size-12',\n !hasAlignSelfClass(buttonClassName) && 'align-self-stretch',\n buttonClassName\n );\n\n const daysWrapperClassNames = classNames(\n !hasDisplayClass(daysWrapperClassName) && 'display-flex',\n !hasSpaceClass(daysWrapperClassName) && 'space-x--1',\n !hasUserSelectClass(daysWrapperClassName) && 'user-select-none',\n daysWrapperClassName\n );\n\n const dayWrapperClassNames = classNames(\n ITEM_NAME,\n !hasFlexClass(dayWrapperClassName) && 'flex-1-1-0',\n !hasSpaceClass(dayWrapperClassName) && 'space-x--1',\n !hasUserSelectClass(dayWrapperClassName) && 'user-select-none',\n dayWrapperClassName\n );\n\n return (\n <div ref={ref} className={wrapperClassNames}>\n <div className={baseButtonClassNames} onClick={handlePrev}>\n <span className='rioglyph rioglyph-chevron-left' />\n </div>\n <div className='flex-1-1 overflow-hidden' ref={columnWrapperRef}>\n <AnimatePresence mode='wait' custom={animationDirection}>\n <motion.div\n key={getDateString(firstDate)}\n variants={variants}\n initial={enableInitialAnimation ? 'pageEnter' : false}\n animate='pageCenter'\n custom={animationDirection}\n transition={{ duration: ANIMATION_DURATION }}\n >\n <div className={daysWrapperClassNames}>\n {dates.map(date => (\n <div className={dayWrapperClassNames} key={`${getDateString(date)}`}>\n {renderDay ? renderDay(date) : null}\n </div>\n ))}\n </div>\n </motion.div>\n </AnimatePresence>\n </div>\n <div className={baseButtonClassNames} onClick={handleNext}>\n <span className='rioglyph rioglyph-chevron-right' />\n </div>\n </div>\n );\n});\n\nexport default CalendarStripe;\n"],"names":["DEFAULT_MIN_WITH","DEFAULT_MIN_DAYS","DEFAULT_MAX_DAYS","ANIMATION_DURATION","ANIMATION_NEXT","ANIMATION_BACK","ITEM_NAME","variants","pageDirection","getDateString","date","getFirstColumnItem","node","CalendarStripe","forwardRef","props","ref","minDayWith","minDays","maxDays","renderDay","skipWeekends","startDate","onNextClick","noop","onPreviousClick","buttonClassName","className","daysWrapperClassName","dayWrapperClassName","firstDate","setFirstDate","useState","amountOfDaysToShow","setAmountOfDaysToShow","enableInitialAnimation","setEnableInitialAnimation","columnWrapperRef","useRef","columnWrapperWidth","useElementSize","previous","usePrevious","animationDirection","previousStartDate","setPreviousStartDate","useAfterMount","useEffect","firstItem","columnWidth","allowForLessColumns","allowForMoreColumns","goSmaller","newValue","handleNext","newFirstDate","handlePrev","dates","addDays","index","currentDate","isSaturday","isSunday","isWeekend","wrapperClassNames","classNames","hasDisplayClass","hasAlignItemsClass","hasOverflowClass","hasBgClass","hasBorderClass","hasRoundedClass","baseButtonClassNames","hasHoverScaleClass","hasHoverTextColorClass","hasPaddingClass","hasCursorClass","hasTextColorClass","hasTextSizeClass","hasAlignSelfClass","daysWrapperClassNames","hasSpaceClass","hasUserSelectClass","dayWrapperClassNames","hasFlexClass","jsxs","jsx","AnimatePresence","motion"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarStripe.js","sources":["../../../src/components/calendarStripe/CalendarStripe.tsx"],"sourcesContent":["import type React from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport { AnimatePresence, motion } from 'motion/react';\nimport { noop } from 'es-toolkit/compat';\n\nimport classNames from '../../utils/classNames';\nimport useAfterMount from '../../hooks/useAfterMount';\nimport useElementSize from '../../hooks/useElementSize';\nimport usePrevious from '../../hooks/usePrevious';\nimport {\n hasAlignItemsClass,\n hasAlignSelfClass,\n hasBgClass,\n hasBorderClass,\n hasCursorClass,\n hasDisplayClass,\n hasFlexClass,\n hasHoverScaleClass,\n hasHoverTextColorClass,\n hasOverflowClass,\n hasPaddingClass,\n hasRoundedClass,\n hasSpaceClass,\n hasTextColorClass,\n hasTextSizeClass,\n hasUserSelectClass,\n} from '../../utils/hasUtilityClass';\n\nconst DEFAULT_MIN_WITH = 200;\nconst DEFAULT_MIN_DAYS = 1;\nconst DEFAULT_MAX_DAYS = 7;\n\nconst ANIMATION_DURATION = 0.2;\nconst ANIMATION_NEXT = 'page';\nconst ANIMATION_BACK = 'pageBack';\n\nconst ITEM_NAME = 'ColumnItem';\n\nconst variants = {\n pageEnter: (pageDirection: typeof ANIMATION_NEXT | typeof ANIMATION_BACK) => ({\n x: pageDirection === ANIMATION_NEXT ? '60%' : '-60%',\n opacity: 0,\n }),\n pageCenter: () => ({ x: 0, opacity: 1 }),\n};\n\nconst getDateString = (date: Date) => date.toISOString().split('T').at(0) as string;\n\nconst getFirstColumnItem = (node: Element): Element => {\n if ([...node.classList].includes(ITEM_NAME)) {\n return node;\n }\n return getFirstColumnItem(node.children[0]);\n};\n\nexport type CalendarStripeProps = {\n /**\n * The minimum width in pixel of a single day column\n *\n * This value determines how many days are shown per page depending on the parent width.\n *\n * @default 200\n */\n minDayWith?: number;\n\n /**\n * The minimum amount of days that should be shown per page.\n *\n * @default 1\n */\n minDays?: number;\n\n /**\n * The maximum amount of days that should be shown per page.\n *\n * @default 7\n */\n maxDays?: number;\n\n /**\n * A function that renders each individual day to be displayed.\n *\n * @param date The day to render\n */\n renderDay: (date: Date) => React.JSX.Element;\n\n /**\n * Defines whether the days for the weekends are included.\n *\n * @default false\n */\n skipWeekends?: boolean;\n\n /**\n * The date of the first day that are rendered.\n *\n * @default the current date\n */\n startDate?: Date;\n\n /**\n * Callback function for when the next button is clicked.\n *\n * @param newStartDate Date value that is now the start of the stripe.\n */\n onNextClick?: (newStartDate: Date) => void;\n\n /**\n * Callback function for when the previous button is clicked.\n *\n * @param newStartDate Date value that is now the start of the stripe.\n */\n onPreviousClick?: (newStartDate: Date) => void;\n\n /**\n * Additional classes set to the navigation buttons.\n */\n buttonClassName?: string;\n\n /**\n * Additional classes set to the calendar element.\n */\n className?: string;\n\n /**\n * Additional classes set to the days wrapper element.\n */\n daysWrapperClassName?: string;\n\n /**\n * Additional classes set to the days wrapper element.\n */\n dayWrapperClassName?: string;\n};\n\nconst CalendarStripe = forwardRef<HTMLDivElement, CalendarStripeProps>((props: CalendarStripeProps, ref) => {\n const {\n minDayWith = DEFAULT_MIN_WITH,\n minDays = DEFAULT_MIN_DAYS,\n maxDays = DEFAULT_MAX_DAYS,\n renderDay,\n skipWeekends = false,\n startDate = new Date(),\n onNextClick = noop,\n onPreviousClick = noop,\n buttonClassName = '',\n className = '',\n daysWrapperClassName = '',\n dayWrapperClassName = '',\n } = props;\n\n const [firstDate, setFirstDate] = useState(startDate);\n const [amountOfDaysToShow, setAmountOfDaysToShow] = useState(1);\n const [enableInitialAnimation, setEnableInitialAnimation] = useState(false);\n\n // The base for reacting on changing width of the wrapping element.\n // It uses a ResizeObserver under the hood.\n const columnWrapperRef = useRef<HTMLDivElement>(null);\n const [columnWrapperWidth] = useElementSize(columnWrapperRef);\n\n const previous = usePrevious(getDateString(firstDate));\n const animationDirection = getDateString(firstDate) > (previous as string) ? ANIMATION_NEXT : ANIMATION_BACK;\n\n // Update startDate from outside\n const [previousStartDate, setPreviousStartDate] = useState(startDate);\n if (getDateString(startDate) !== getDateString(previousStartDate)) {\n setFirstDate(startDate);\n setPreviousStartDate(startDate);\n }\n\n useAfterMount(() => {\n setEnableInitialAnimation(true);\n }, []);\n\n useEffect(() => {\n if (!columnWrapperRef.current) {\n return;\n }\n\n const firstItem = getFirstColumnItem(columnWrapperRef.current.children[0]);\n if (!firstItem) {\n return;\n }\n\n // Get the width of the first column to calculate how many columns fit on one page\n // according to the given minWidth per column\n const columnWidth = firstItem.getBoundingClientRect().width;\n\n // Limit columns per page for given min and max values\n const allowForLessColumns = amountOfDaysToShow - 1 >= minDays;\n const allowForMoreColumns = amountOfDaysToShow + 1 <= maxDays;\n\n const goSmaller = allowForLessColumns && columnWidth <= minDayWith;\n const goBigger =\n allowForMoreColumns && (amountOfDaysToShow + 1) * minDayWith <= (columnWrapperWidth as unknown as number);\n\n if (goBigger) {\n const newValue = amountOfDaysToShow + 1;\n setAmountOfDaysToShow(newValue);\n return;\n }\n\n if (goSmaller) {\n const newValue = amountOfDaysToShow - 1;\n setAmountOfDaysToShow(newValue);\n return;\n }\n }, [columnWrapperWidth, columnWrapperRef.current, amountOfDaysToShow, firstDate]);\n\n const handleNext = () => {\n const newFirstDate = new Date(firstDate);\n newFirstDate.setDate(newFirstDate.getDate() + amountOfDaysToShow);\n setFirstDate(newFirstDate);\n\n onNextClick(newFirstDate);\n };\n\n const handlePrev = () => {\n const newFirstDate = new Date(firstDate);\n newFirstDate.setDate(newFirstDate.getDate() - amountOfDaysToShow);\n setFirstDate(newFirstDate);\n\n onPreviousClick(newFirstDate);\n };\n\n // Re-calculate the dates to show depending on the amount of days to show\n const dates = [];\n\n let addDays = true;\n let index = 1;\n\n while (addDays) {\n const currentDate = new Date(firstDate);\n currentDate.setDate(firstDate.getDate() + index);\n\n const isSaturday = currentDate.getDay() === 6;\n const isSunday = currentDate.getDay() === 0;\n const isWeekend = isSaturday || isSunday;\n\n if (isWeekend && !skipWeekends) {\n dates.push(currentDate);\n } else if (!isWeekend) {\n dates.push(currentDate);\n }\n\n index++;\n\n if (dates.length === amountOfDaysToShow) {\n addDays = false;\n }\n }\n\n const wrapperClassNames = classNames(\n 'CalenderStripe',\n !hasDisplayClass(className) && 'display-flex',\n !hasAlignItemsClass(className) && 'align-items-center',\n !hasOverflowClass(className) && 'overflow-hidden',\n !hasBgClass(className) && 'bg-white',\n !hasBorderClass(className) && 'border',\n !hasRoundedClass(className) && 'rounded',\n className\n );\n\n const baseButtonClassNames = classNames(\n !hasAlignItemsClass(buttonClassName) && 'align-items-center',\n !hasDisplayClass(buttonClassName) && 'display-flex',\n !hasHoverScaleClass(buttonClassName) && 'hover-scale-105',\n !hasHoverTextColorClass(buttonClassName) && 'hover-text-color-darkest',\n !hasPaddingClass(buttonClassName) && 'padding-10',\n !hasCursorClass(buttonClassName) && 'cursor-pointer',\n !hasTextColorClass(buttonClassName) && 'text-color-darker',\n !hasTextSizeClass(buttonClassName) && 'text-size-12',\n !hasAlignSelfClass(buttonClassName) && 'align-self-stretch',\n buttonClassName\n );\n\n const daysWrapperClassNames = classNames(\n !hasDisplayClass(daysWrapperClassName) && 'display-flex',\n !hasSpaceClass(daysWrapperClassName) && 'space-x--1',\n !hasUserSelectClass(daysWrapperClassName) && 'user-select-none',\n daysWrapperClassName\n );\n\n const dayWrapperClassNames = classNames(\n ITEM_NAME,\n !hasFlexClass(dayWrapperClassName) && 'flex-1-1-0',\n !hasSpaceClass(dayWrapperClassName) && 'space-x--1',\n !hasUserSelectClass(dayWrapperClassName) && 'user-select-none',\n dayWrapperClassName\n );\n\n return (\n <div ref={ref} className={wrapperClassNames}>\n <div className={baseButtonClassNames} onClick={handlePrev}>\n <span className='rioglyph rioglyph-chevron-left' />\n </div>\n <div className='flex-1-1 overflow-hidden' ref={columnWrapperRef}>\n <AnimatePresence mode='wait' custom={animationDirection}>\n <motion.div\n key={getDateString(firstDate)}\n variants={variants}\n initial={enableInitialAnimation ? 'pageEnter' : false}\n animate='pageCenter'\n custom={animationDirection}\n transition={{ duration: ANIMATION_DURATION }}\n >\n <div className={daysWrapperClassNames}>\n {dates.map(date => (\n <div className={dayWrapperClassNames} key={`${getDateString(date)}`}>\n {renderDay ? renderDay(date) : null}\n </div>\n ))}\n </div>\n </motion.div>\n </AnimatePresence>\n </div>\n <div className={baseButtonClassNames} onClick={handleNext}>\n <span className='rioglyph rioglyph-chevron-right' />\n </div>\n </div>\n );\n});\n\nexport default CalendarStripe;\n"],"names":["DEFAULT_MIN_WITH","DEFAULT_MIN_DAYS","DEFAULT_MAX_DAYS","ANIMATION_DURATION","ANIMATION_NEXT","ANIMATION_BACK","ITEM_NAME","variants","pageDirection","getDateString","date","getFirstColumnItem","node","CalendarStripe","forwardRef","props","ref","minDayWith","minDays","maxDays","renderDay","skipWeekends","startDate","onNextClick","noop","onPreviousClick","buttonClassName","className","daysWrapperClassName","dayWrapperClassName","firstDate","setFirstDate","useState","amountOfDaysToShow","setAmountOfDaysToShow","enableInitialAnimation","setEnableInitialAnimation","columnWrapperRef","useRef","columnWrapperWidth","useElementSize","previous","usePrevious","animationDirection","previousStartDate","setPreviousStartDate","useAfterMount","useEffect","firstItem","columnWidth","allowForLessColumns","allowForMoreColumns","goSmaller","newValue","handleNext","newFirstDate","handlePrev","dates","addDays","index","currentDate","isSaturday","isSunday","isWeekend","wrapperClassNames","classNames","hasDisplayClass","hasAlignItemsClass","hasOverflowClass","hasBgClass","hasBorderClass","hasRoundedClass","baseButtonClassNames","hasHoverScaleClass","hasHoverTextColorClass","hasPaddingClass","hasCursorClass","hasTextColorClass","hasTextSizeClass","hasAlignSelfClass","daysWrapperClassNames","hasSpaceClass","hasUserSelectClass","dayWrapperClassNames","hasFlexClass","jsxs","jsx","AnimatePresence","motion"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import i from "classnames";
2
+ import i from "../../utils/classNames.js";
3
3
  const l = (s) => {
4
4
  const { className: a = "", shadow: d = "default", padding: r = 15, children: e, ...o } = s, n = i("bg-white", "rounded", "border", `shadow-${d}`, `padding-${r}`, a);
5
5
  return /* @__PURE__ */ t("div", { ...o, className: n, children: e });
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../src/components/card/Card.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from 'react';\nimport classNames from 'classnames';\n\nexport type CardProps = ComponentProps<'div'> & {\n /**\n * Shadow classes.\n *\n * @default 'default'\n */\n shadow?: 'subtle' | 'muted' | 'accent' | 'default' | 'smooth' | 'muted-down' | 'default-down' | 'none';\n\n /**\n * Card padding.\n *\n * @default 15\n */\n padding?: 0 | 5 | 10 | 15 | 20 | 25 | 50;\n\n /**\n * Additional classes set to the outer element.\n */\n className?: string;\n};\n\nconst Card = (props: PropsWithChildren<CardProps>) => {\n const { className = '', shadow = 'default', padding = 15, children, ...remainingProps } = props;\n\n const classes = classNames('bg-white', 'rounded', 'border', `shadow-${shadow}`, `padding-${padding}`, className);\n\n return (\n <div {...remainingProps} className={classes}>\n {children}\n </div>\n );\n};\n\nexport default Card;\n"],"names":["Card","props","className","shadow","padding","children","remainingProps","classes","classNames"],"mappings":";;AAwBA,MAAMA,IAAO,CAACC,MAAwC;AAClD,QAAM,EAAE,WAAAC,IAAY,IAAI,QAAAC,IAAS,WAAW,SAAAC,IAAU,IAAI,UAAAC,GAAU,GAAGC,EAAA,IAAmBL,GAEpFM,IAAUC,EAAW,YAAY,WAAW,UAAU,UAAUL,CAAM,IAAI,WAAWC,CAAO,IAAIF,CAAS;AAE/G,2BACK,OAAA,EAAK,GAAGI,GAAgB,WAAWC,GAC/B,UAAAF,GACL;AAER;"}
1
+ {"version":3,"file":"Card.js","sources":["../../../src/components/card/Card.tsx"],"sourcesContent":["import type { ComponentProps, PropsWithChildren } from 'react';\n\nimport classNames from '../../utils/classNames';\n\nexport type CardProps = ComponentProps<'div'> & {\n /**\n * Shadow classes.\n *\n * @default 'default'\n */\n shadow?: 'subtle' | 'muted' | 'accent' | 'default' | 'smooth' | 'muted-down' | 'default-down' | 'none';\n\n /**\n * Card padding.\n *\n * @default 15\n */\n padding?: 0 | 5 | 10 | 15 | 20 | 25 | 50;\n\n /**\n * Additional classes set to the outer element.\n */\n className?: string;\n};\n\nconst Card = (props: PropsWithChildren<CardProps>) => {\n const { className = '', shadow = 'default', padding = 15, children, ...remainingProps } = props;\n\n const classes = classNames('bg-white', 'rounded', 'border', `shadow-${shadow}`, `padding-${padding}`, className);\n\n return (\n <div {...remainingProps} className={classes}>\n {children}\n </div>\n );\n};\n\nexport default Card;\n"],"names":["Card","props","className","shadow","padding","children","remainingProps","classes","classNames"],"mappings":";;AAyBA,MAAMA,IAAO,CAACC,MAAwC;AAClD,QAAM,EAAE,WAAAC,IAAY,IAAI,QAAAC,IAAS,WAAW,SAAAC,IAAU,IAAI,UAAAC,GAAU,GAAGC,EAAA,IAAmBL,GAEpFM,IAAUC,EAAW,YAAY,WAAW,UAAU,UAAUL,CAAM,IAAI,WAAWC,CAAO,IAAIF,CAAS;AAE/G,2BACK,OAAA,EAAK,GAAGI,GAAgB,WAAWC,GAC/B,UAAAF,GACL;AAER;"}
@@ -1,8 +1,8 @@
1
1
  import { AreaProps as RechartsAreaProps } from 'recharts';
2
2
  import { CurveType } from 'recharts/types/shape/Curve';
3
- export type AreaProps<T = unknown> = Omit<RechartsAreaProps, 'ref'> & {
3
+ export type AreaProps<T = any> = Omit<RechartsAreaProps, 'ref'> & {
4
4
  strokeColor?: string;
5
- dataKey?: string | number | ((obj: T) => unknown);
5
+ dataKey?: string | number | ((obj: T) => any);
6
6
  unit?: string;
7
7
  legendType?: string;
8
8
  type?: CurveType;
@@ -1 +1 @@
1
- {"version":3,"file":"Area.js","sources":["../../../src/components/charts/Area.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport type { AreaProps as RechartsAreaProps } from 'recharts';\nimport type { CurveType } from 'recharts/types/shape/Curve';\n\nexport type AreaProps<T = unknown> = Omit<RechartsAreaProps, 'ref'> & {\n strokeColor?: string;\n dataKey?: string | number | ((obj: T) => unknown);\n unit?: string;\n legendType?: string;\n type?: CurveType;\n isAnimationActive?: boolean;\n};\n\nexport const getAreaDefaultProps = () => ({\n dataKey: 'value',\n unit: '',\n strokeColor: 'color-coldplay-fountain',\n legendType: 'square',\n type: 'monotone',\n isAnimationActive: true,\n});\n\nconst Area = (props: AreaProps) => null;\n\nexport default Area;\n"],"names":["getAreaDefaultProps","Area","props"],"mappings":"AAaO,MAAMA,IAAsB,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,mBAAmB;AACvB,IAEMC,IAAO,CAACC,MAAqB;"}
1
+ {"version":3,"file":"Area.js","sources":["../../../src/components/charts/Area.tsx"],"sourcesContent":["import type { AreaProps as RechartsAreaProps } from 'recharts';\nimport type { CurveType } from 'recharts/types/shape/Curve';\n\n// biome-ignore lint/suspicious/noExplicitAny: be less restrictive here\nexport type AreaProps<T = any> = Omit<RechartsAreaProps, 'ref'> & {\n strokeColor?: string;\n // biome-ignore lint/suspicious/noExplicitAny: see above\n dataKey?: string | number | ((obj: T) => any);\n unit?: string;\n legendType?: string;\n type?: CurveType;\n isAnimationActive?: boolean;\n};\n\nexport const getAreaDefaultProps = () => ({\n dataKey: 'value',\n unit: '',\n strokeColor: 'color-coldplay-fountain',\n legendType: 'square',\n type: 'monotone',\n isAnimationActive: true,\n});\n\nconst Area = (props: AreaProps) => null;\n\nexport default Area;\n"],"names":["getAreaDefaultProps","Area","props"],"mappings":"AAcO,MAAMA,IAAsB,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,mBAAmB;AACvB,IAEMC,IAAO,CAACC,MAAqB;"}
@@ -1,8 +1,8 @@
1
1
  import { LineProps as RechartsLineProps } from 'recharts';
2
2
  import { CurveType } from 'recharts/types/shape/Curve';
3
- export type LineProps<T = unknown> = Omit<RechartsLineProps, 'ref'> & {
3
+ export type LineProps<T = any> = Omit<RechartsLineProps, 'ref'> & {
4
4
  strokeColor?: string;
5
- dataKey?: string | number | ((obj: T) => unknown);
5
+ dataKey?: string | number | ((obj: T) => any);
6
6
  unit?: string;
7
7
  legendType?: string;
8
8
  type?: CurveType;
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","sources":["../../../src/components/charts/Line.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport type { LineProps as RechartsLineProps } from 'recharts';\nimport type { CurveType } from 'recharts/types/shape/Curve';\n\nexport type LineProps<T = unknown> = Omit<RechartsLineProps, 'ref'> & {\n strokeColor?: string;\n dataKey?: string | number | ((obj: T) => unknown);\n unit?: string;\n legendType?: string;\n type?: CurveType;\n isAnimationActive?: boolean;\n};\n\nexport const getLineDefaultProps = () => ({\n dataKey: 'value',\n unit: '',\n strokeColor: 'color-coldplay-fountain',\n legendType: 'square',\n type: 'monotone',\n isAnimationActive: true,\n});\n\nconst Line = (props: LineProps) => null;\n\nexport default Line;\n"],"names":["getLineDefaultProps","Line","props"],"mappings":"AAaO,MAAMA,IAAsB,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,mBAAmB;AACvB,IAEMC,IAAO,CAACC,MAAqB;"}
1
+ {"version":3,"file":"Line.js","sources":["../../../src/components/charts/Line.tsx"],"sourcesContent":["import type { LineProps as RechartsLineProps } from 'recharts';\nimport type { CurveType } from 'recharts/types/shape/Curve';\n\n// biome-ignore lint/suspicious/noExplicitAny: be less restrictive here\nexport type LineProps<T = any> = Omit<RechartsLineProps, 'ref'> & {\n strokeColor?: string;\n // biome-ignore lint/suspicious/noExplicitAny: see above\n dataKey?: string | number | ((obj: T) => any);\n unit?: string;\n legendType?: string;\n type?: CurveType;\n isAnimationActive?: boolean;\n};\n\nexport const getLineDefaultProps = () => ({\n dataKey: 'value',\n unit: '',\n strokeColor: 'color-coldplay-fountain',\n legendType: 'square',\n type: 'monotone',\n isAnimationActive: true,\n});\n\nconst Line = (props: LineProps) => null;\n\nexport default Line;\n"],"names":["getLineDefaultProps","Line","props"],"mappings":"AAcO,MAAMA,IAAsB,OAAO;AAAA,EACtC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,mBAAmB;AACvB,IAEMC,IAAO,CAACC,MAAqB;"}