@rio-cloud/rio-uikit 2.2.0 → 2.3.0-beta.1

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 (412) hide show
  1. package/AnalyticsAnalysisOverlay.d.ts +1 -0
  2. package/AnalyticsAnalysisOverlay.js +5 -0
  3. package/AnalyticsAnalysisOverlay.js.map +1 -0
  4. package/Table.d.ts +2 -0
  5. package/Table.js +23 -0
  6. package/Table.js.map +1 -0
  7. package/TableCol.d.ts +2 -2
  8. package/TableCol.js +1 -1
  9. package/TableHead.d.ts +2 -2
  10. package/TableHead.js +1 -1
  11. package/TableSettingsDialog.d.ts +2 -2
  12. package/TableSettingsDialog.js +1 -1
  13. package/TableToolbar.js +3 -2
  14. package/analyticsAnalysisUtils.d.ts +1 -0
  15. package/analyticsAnalysisUtils.js +13 -0
  16. package/analyticsAnalysisUtils.js.map +1 -0
  17. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.d.ts +18 -0
  18. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js +128 -0
  19. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisBanner.js.map +1 -0
  20. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.d.ts +9 -0
  21. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js +73 -0
  22. package/components/analyticsAnalysisOverlay/AnalyticsAnalysisOverlay.js.map +1 -0
  23. package/components/applicationHeader/AppMenuContent.js.map +1 -1
  24. package/components/applicationHeader/ApplicationActionBar.js +4 -4
  25. package/components/applicationHeader/ApplicationActionBar.js.map +1 -1
  26. package/components/applicationHeader/CollapsedNavItem.js +5 -14
  27. package/components/applicationHeader/CollapsedNavItem.js.map +1 -1
  28. package/components/applicationHeader/NavItems.js +10 -10
  29. package/components/applicationHeader/NavItems.js.map +1 -1
  30. package/components/assetTree/AssetTree.js +23 -23
  31. package/components/assetTree/AssetTree.js.map +1 -1
  32. package/components/assetTree/TreeNothingFound.js +2 -2
  33. package/components/assetTree/TreeNothingFound.js.map +1 -1
  34. package/components/assetTree/treeUtils.js.map +1 -1
  35. package/components/autosuggest/AutoSuggest.js +31 -31
  36. package/components/autosuggest/AutoSuggest.js.map +1 -1
  37. package/components/autosuggest/AutoSuggestAddons.js +9 -9
  38. package/components/autosuggest/AutoSuggestAddons.js.map +1 -1
  39. package/components/banner/BannerActions.js +2 -2
  40. package/components/banner/BannerActions.js.map +1 -1
  41. package/components/banner/BannerIcon.js +3 -3
  42. package/components/banner/BannerIcon.js.map +1 -1
  43. package/components/banner/BannerPage.js +4 -4
  44. package/components/banner/BannerPage.js.map +1 -1
  45. package/components/button/Button.d.ts +7 -0
  46. package/components/button/Button.js +73 -65
  47. package/components/button/Button.js.map +1 -1
  48. package/components/checkbox/Checkbox.js +18 -17
  49. package/components/checkbox/Checkbox.js.map +1 -1
  50. package/components/datepicker/DateRangePicker.js +0 -2
  51. package/components/datepicker/DateRangePicker.js.map +1 -1
  52. package/components/datepicker/DayPicker.js +16 -16
  53. package/components/datepicker/DayPicker.js.map +1 -1
  54. package/components/dialog/Dialog.js.map +1 -1
  55. package/components/dialog/DialogHeader.js +23 -20
  56. package/components/dialog/DialogHeader.js.map +1 -1
  57. package/components/dialog/MediaDialog.js +1 -1
  58. package/components/dialog/MediaDialog.js.map +1 -1
  59. package/components/editableContent/EditableContent.js +7 -7
  60. package/components/editableContent/EditableContent.js.map +1 -1
  61. package/components/expander/ExpanderList.d.ts +5 -0
  62. package/components/expander/ExpanderList.js +25 -16
  63. package/components/expander/ExpanderList.js.map +1 -1
  64. package/components/expander/ExpanderPanel.d.ts +5 -0
  65. package/components/expander/ExpanderPanel.js +29 -28
  66. package/components/expander/ExpanderPanel.js.map +1 -1
  67. package/components/fade/FadeExpander.js +1 -1
  68. package/components/fade/FadeExpander.js.map +1 -1
  69. package/components/filepicker/FilePicker.js.map +1 -1
  70. package/components/loadMore/LoadMoreButton.d.ts +5 -0
  71. package/components/loadMore/LoadMoreButton.js +33 -29
  72. package/components/loadMore/LoadMoreButton.js.map +1 -1
  73. package/components/map/components/features/ContextMenu.js +13 -13
  74. package/components/map/components/features/ContextMenu.js.map +1 -1
  75. package/components/map/components/features/basics/InfoBubble.js.map +1 -1
  76. package/components/map/components/features/settings/MapSettingsTile.js.map +1 -1
  77. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js +6 -6
  78. package/components/map/components/features/settings/builtinSettings/MapTypeSettings.js.map +1 -1
  79. package/components/map/utils/eventHandling.js +18 -18
  80. package/components/map/utils/eventHandling.js.map +1 -1
  81. package/components/map/utils/positions.d.ts +1 -1
  82. package/components/map/utils/positions.js +15 -12
  83. package/components/map/utils/positions.js.map +1 -1
  84. package/components/map/utils/rendering.d.ts +1 -1
  85. package/components/menuItems/MenuItems.js +6 -6
  86. package/components/menuItems/MenuItems.js.map +1 -1
  87. package/components/notification/NotificationsContainer.js.map +1 -1
  88. package/components/numberInput/NumberInput.js +57 -56
  89. package/components/numberInput/NumberInput.js.map +1 -1
  90. package/components/popover/Popover.js +4 -4
  91. package/components/popover/Popover.js.map +1 -1
  92. package/components/resizer/Resizer.js +6 -3
  93. package/components/resizer/Resizer.js.map +1 -1
  94. package/components/selects/BaseSelectDropdown.js +34 -32
  95. package/components/selects/BaseSelectDropdown.js.map +1 -1
  96. package/components/selects/MultiselectTogglePlaceholder.js.map +1 -1
  97. package/components/selects/MultiselectToggleSelection.js +11 -11
  98. package/components/selects/MultiselectToggleSelection.js.map +1 -1
  99. package/components/sidebars/Sidebar.js +12 -12
  100. package/components/sidebars/Sidebar.js.map +1 -1
  101. package/components/sidebars/SidebarCloseButton.js +2 -2
  102. package/components/sidebars/SidebarCloseButton.js.map +1 -1
  103. package/components/smoothScrollbars/SmoothScrollbars.d.ts +4 -3
  104. package/components/smoothScrollbars/SmoothScrollbars.js +11 -11
  105. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  106. package/components/states/CustomState.js.map +1 -1
  107. package/components/svgImage/svgConverter.js.map +1 -1
  108. package/components/table/Table.d.ts +267 -0
  109. package/components/table/Table.js +233 -0
  110. package/components/table/Table.js.map +1 -0
  111. package/components/table/Table.types.d.ts +207 -0
  112. package/components/table/TableBody.d.ts +10 -0
  113. package/components/table/TableBody.js +5 -0
  114. package/components/table/TableBody.js.map +1 -0
  115. package/components/table/TableCard.d.ts +63 -0
  116. package/components/table/TableCard.js +150 -0
  117. package/components/table/TableCard.js.map +1 -0
  118. package/components/table/TableColumn.d.ts +47 -0
  119. package/components/table/TableColumn.js +5 -0
  120. package/components/table/TableColumn.js.map +1 -0
  121. package/components/table/TableExpandedContentRow.d.ts +22 -0
  122. package/components/table/TableExpandedContentRow.js +5 -0
  123. package/components/table/TableExpandedContentRow.js.map +1 -0
  124. package/components/table/TableExpandedRow.d.ts +17 -0
  125. package/components/table/TableExpandedRow.js +5 -0
  126. package/components/table/TableExpandedRow.js.map +1 -0
  127. package/components/table/TableExpanderButton.d.ts +25 -0
  128. package/components/table/TableExpanderButton.js +22 -0
  129. package/components/table/TableExpanderButton.js.map +1 -0
  130. package/components/table/TableFooter.d.ts +13 -0
  131. package/components/table/TableFooter.js +5 -0
  132. package/components/table/TableFooter.js.map +1 -0
  133. package/components/table/TableGroupFooterRow.d.ts +18 -0
  134. package/components/table/TableGroupFooterRow.js +5 -0
  135. package/components/table/TableGroupFooterRow.js.map +1 -0
  136. package/components/table/TableGroupRow.d.ts +24 -0
  137. package/components/table/TableGroupRow.js +5 -0
  138. package/components/table/TableGroupRow.js.map +1 -0
  139. package/components/table/TableHeader.d.ts +9 -0
  140. package/components/table/TableHeader.js +5 -0
  141. package/components/table/TableHeader.js.map +1 -0
  142. package/components/table/TableHeaderColumn.d.ts +70 -0
  143. package/components/table/TableHeaderColumn.js +5 -0
  144. package/components/table/TableHeaderColumn.js.map +1 -0
  145. package/components/table/TableHeaderRow.d.ts +9 -0
  146. package/components/table/TableHeaderRow.js +5 -0
  147. package/components/table/TableHeaderRow.js.map +1 -0
  148. package/components/table/TableRow.d.ts +19 -0
  149. package/components/table/TableRow.js +5 -0
  150. package/components/table/TableRow.js.map +1 -0
  151. package/components/table/TableSpacerRow.d.ts +12 -0
  152. package/components/table/TableSpacerRow.js +5 -0
  153. package/components/table/TableSpacerRow.js.map +1 -0
  154. package/components/table/TableToolbar.d.ts +23 -1
  155. package/components/table/TableToolbar.js +38 -4
  156. package/components/table/TableToolbar.js.map +1 -1
  157. package/components/table/TableViewToggles.d.ts +18 -0
  158. package/components/table/TableViewToggles.js +59 -87
  159. package/components/table/TableViewToggles.js.map +1 -1
  160. package/components/table/layout/columnSizing.d.ts +3 -0
  161. package/components/table/layout/columnSizing.js +23 -0
  162. package/components/table/layout/columnSizing.js.map +1 -0
  163. package/components/table/layout/useDraggableColumns.d.ts +14 -0
  164. package/components/table/layout/useDraggableColumns.js +47 -0
  165. package/components/table/layout/useDraggableColumns.js.map +1 -0
  166. package/components/table/layout/useHorizontalSectionSync.d.ts +11 -0
  167. package/components/table/layout/useHorizontalSectionSync.js +39 -0
  168. package/components/table/layout/useHorizontalSectionSync.js.map +1 -0
  169. package/components/table/layout/useMeasuredColumnMaxWidths.d.ts +12 -0
  170. package/components/table/layout/useMeasuredColumnMaxWidths.js +85 -0
  171. package/components/table/layout/useMeasuredColumnMaxWidths.js.map +1 -0
  172. package/components/table/layout/useResizableColumns.d.ts +14 -0
  173. package/components/table/layout/useResizableColumns.js +91 -0
  174. package/components/table/layout/useResizableColumns.js.map +1 -0
  175. package/components/table/layout/useTableLayout.d.ts +25 -0
  176. package/components/table/layout/useTableLayout.js +56 -0
  177. package/components/table/layout/useTableLayout.js.map +1 -0
  178. package/components/table/layout/useTableVirtualization.d.ts +22 -0
  179. package/components/table/layout/useTableVirtualization.js +125 -0
  180. package/components/table/layout/useTableVirtualization.js.map +1 -0
  181. package/components/table/model/buildTableViewModel.d.ts +28 -0
  182. package/components/table/model/buildTableViewModel.js +221 -0
  183. package/components/table/model/buildTableViewModel.js.map +1 -0
  184. package/components/table/model/resolveCellContent.d.ts +2 -0
  185. package/components/table/model/resolveCellContent.js +5 -0
  186. package/components/table/model/resolveCellContent.js.map +1 -0
  187. package/components/table/model/resolveRowMeta.d.ts +2 -0
  188. package/components/table/model/resolveRowMeta.js +15 -0
  189. package/components/table/model/resolveRowMeta.js.map +1 -0
  190. package/components/table/model/resolveTableClassConfig.d.ts +48 -0
  191. package/components/table/model/resolveTableClassConfig.js +64 -0
  192. package/components/table/model/resolveTableClassConfig.js.map +1 -0
  193. package/components/table/model/tableViewModel.types.d.ts +153 -0
  194. package/components/table/native/TableCol.js.map +1 -0
  195. package/components/table/{TableHead.js → native/TableHead.js} +2 -2
  196. package/components/table/native/TableHead.js.map +1 -0
  197. package/components/table/native/TableSettingsColumnButtons.js +59 -0
  198. package/components/table/native/TableSettingsColumnButtons.js.map +1 -0
  199. package/components/table/{TableSettingsColumnDetails.js → native/TableSettingsColumnDetails.js} +2 -2
  200. package/components/table/native/TableSettingsColumnDetails.js.map +1 -0
  201. package/components/table/{TableSettingsDialog.d.ts → native/TableSettingsDialog.d.ts} +2 -3
  202. package/components/table/native/TableSettingsDialog.js +216 -0
  203. package/components/table/native/TableSettingsDialog.js.map +1 -0
  204. package/components/table/{TableSettingsDialogFooter.js → native/TableSettingsDialogFooter.js} +2 -2
  205. package/components/table/native/TableSettingsDialogFooter.js.map +1 -0
  206. package/components/table/{TableSettingsListContainer.js → native/TableSettingsListContainer.js} +8 -8
  207. package/components/table/native/TableSettingsListContainer.js.map +1 -0
  208. package/components/table/native/TableSettingsListItem.js +100 -0
  209. package/components/table/native/TableSettingsListItem.js.map +1 -0
  210. package/components/table/parse/parseBody.d.ts +3 -0
  211. package/components/table/parse/parseBody.js +13 -0
  212. package/components/table/parse/parseBody.js.map +1 -0
  213. package/components/table/parse/parseColumns.d.ts +3 -0
  214. package/components/table/parse/parseColumns.js +81 -0
  215. package/components/table/parse/parseColumns.js.map +1 -0
  216. package/components/table/parse/parseFooter.d.ts +3 -0
  217. package/components/table/parse/parseFooter.js +39 -0
  218. package/components/table/parse/parseFooter.js.map +1 -0
  219. package/components/table/parse/parseHeaders.d.ts +4 -0
  220. package/components/table/parse/parseHeaders.js +89 -0
  221. package/components/table/parse/parseHeaders.js.map +1 -0
  222. package/components/table/parse/parseRows.d.ts +3 -0
  223. package/components/table/parse/parseRows.js +93 -0
  224. package/components/table/parse/parseRows.js.map +1 -0
  225. package/components/table/parse/tableChildGuards.d.ts +25 -0
  226. package/components/table/parse/tableChildGuards.js +29 -0
  227. package/components/table/parse/tableChildGuards.js.map +1 -0
  228. package/components/table/render/body/TableBodyRow.d.ts +16 -0
  229. package/components/table/render/body/TableBodyRow.js +84 -0
  230. package/components/table/render/body/TableBodyRow.js.map +1 -0
  231. package/components/table/render/body/TableBodySection.d.ts +20 -0
  232. package/components/table/render/body/TableBodySection.js +68 -0
  233. package/components/table/render/body/TableBodySection.js.map +1 -0
  234. package/components/table/render/body/TableDataRow.d.ts +15 -0
  235. package/components/table/render/body/TableDataRow.js +143 -0
  236. package/components/table/render/body/TableDataRow.js.map +1 -0
  237. package/components/table/render/body/TableEmptyRow.d.ts +7 -0
  238. package/components/table/render/body/TableEmptyRow.js +6 -0
  239. package/components/table/render/body/TableEmptyRow.js.map +1 -0
  240. package/components/table/render/body/TableExpandedRow.d.ts +8 -0
  241. package/components/table/render/body/TableExpandedRow.js +84 -0
  242. package/components/table/render/body/TableExpandedRow.js.map +1 -0
  243. package/components/table/render/body/TableGroupRow.d.ts +8 -0
  244. package/components/table/render/body/TableGroupRow.js +21 -0
  245. package/components/table/render/body/TableGroupRow.js.map +1 -0
  246. package/components/table/render/body/TableSpacerRow.d.ts +7 -0
  247. package/components/table/render/body/TableSpacerRow.js +15 -0
  248. package/components/table/render/body/TableSpacerRow.js.map +1 -0
  249. package/components/table/render/footer/TableFooterCell.d.ts +8 -0
  250. package/components/table/render/footer/TableFooterCell.js +31 -0
  251. package/components/table/render/footer/TableFooterCell.js.map +1 -0
  252. package/components/table/render/footer/TableFooterContent.d.ts +6 -0
  253. package/components/table/render/footer/TableFooterContent.js +6 -0
  254. package/components/table/render/footer/TableFooterContent.js.map +1 -0
  255. package/components/table/render/footer/TableFooterSection.d.ts +10 -0
  256. package/components/table/render/footer/TableFooterSection.js +28 -0
  257. package/components/table/render/footer/TableFooterSection.js.map +1 -0
  258. package/components/table/render/header/TableBatchDropdown.d.ts +9 -0
  259. package/components/table/render/header/TableBatchDropdown.js +28 -0
  260. package/components/table/render/header/TableBatchDropdown.js.map +1 -0
  261. package/components/table/render/header/TableColumnFilter.d.ts +66 -0
  262. package/components/table/render/header/TableColumnFilter.js +70 -0
  263. package/components/table/render/header/TableColumnFilter.js.map +1 -0
  264. package/components/table/render/header/TableDraggableHeaderCell.d.ts +3 -0
  265. package/components/table/render/header/TableDraggableHeaderCell.js +54 -0
  266. package/components/table/render/header/TableDraggableHeaderCell.js.map +1 -0
  267. package/components/table/render/header/TableHeader.types.d.ts +35 -0
  268. package/components/table/render/header/TableHeaderCellContent.d.ts +3 -0
  269. package/components/table/render/header/TableHeaderCellContent.js +57 -0
  270. package/components/table/render/header/TableHeaderCellContent.js.map +1 -0
  271. package/components/table/render/header/TableHeaderCellResizeHandle.d.ts +3 -0
  272. package/components/table/render/header/TableHeaderCellResizeHandle.js +22 -0
  273. package/components/table/render/header/TableHeaderCellResizeHandle.js.map +1 -0
  274. package/components/table/render/header/TableHeaderDragOverlay.d.ts +13 -0
  275. package/components/table/render/header/TableHeaderDragOverlay.js +35 -0
  276. package/components/table/render/header/TableHeaderDragOverlay.js.map +1 -0
  277. package/components/table/render/header/TableHeaderSection.d.ts +3 -0
  278. package/components/table/render/header/TableHeaderSection.js +104 -0
  279. package/components/table/render/header/TableHeaderSection.js.map +1 -0
  280. package/components/table/render/header/TableHeaderSelectionCell.d.ts +9 -0
  281. package/components/table/render/header/TableHeaderSelectionCell.js +41 -0
  282. package/components/table/render/header/TableHeaderSelectionCell.js.map +1 -0
  283. package/components/table/render/header/TableStaticHeaderCell.d.ts +3 -0
  284. package/components/table/render/header/TableStaticHeaderCell.js +36 -0
  285. package/components/table/render/header/TableStaticHeaderCell.js.map +1 -0
  286. package/components/table/render/header/resolveAriaSort.d.ts +2 -0
  287. package/components/table/render/header/resolveAriaSort.js +8 -0
  288. package/components/table/render/header/resolveAriaSort.js.map +1 -0
  289. package/components/table/render/header/resolveColumnCollisionDetection.d.ts +2 -0
  290. package/components/table/render/header/resolveColumnCollisionDetection.js +9 -0
  291. package/components/table/render/header/resolveColumnCollisionDetection.js.map +1 -0
  292. package/components/table/render/header/resolveHeaderCellClassName.d.ts +10 -0
  293. package/components/table/render/header/resolveHeaderCellClassName.js +22 -0
  294. package/components/table/render/header/resolveHeaderCellClassName.js.map +1 -0
  295. package/components/table/render/header/resolveHeaderCellStyle.d.ts +829 -0
  296. package/components/table/render/header/resolveHeaderCellStyle.js +9 -0
  297. package/components/table/render/header/resolveHeaderCellStyle.js.map +1 -0
  298. package/components/table/selection/useTableSelection.d.ts +82 -0
  299. package/components/table/selection/useTableSelection.js +35 -0
  300. package/components/table/selection/useTableSelection.js.map +1 -0
  301. package/components/table/settings/TableColumnsDropdown.d.ts +90 -0
  302. package/components/table/settings/TableColumnsDropdown.js +137 -0
  303. package/components/table/settings/TableColumnsDropdown.js.map +1 -0
  304. package/components/table/settings/TableColumnsDropdownItem.d.ts +8 -0
  305. package/components/table/settings/TableColumnsDropdownItem.js +66 -0
  306. package/components/table/settings/TableColumnsDropdownItem.js.map +1 -0
  307. package/components/table/shared/getAlignClassName.d.ts +3 -0
  308. package/components/table/shared/getAlignClassName.js +6 -0
  309. package/components/table/shared/getAlignClassName.js.map +1 -0
  310. package/components/table/shared/getInteractiveRowProps.d.ts +14 -0
  311. package/components/table/shared/getInteractiveRowProps.js +15 -0
  312. package/components/table/shared/getInteractiveRowProps.js.map +1 -0
  313. package/components/table/shared/resolveTableAria.d.ts +2 -0
  314. package/components/table/shared/resolveTableAria.js +6 -0
  315. package/components/table/shared/resolveTableAria.js.map +1 -0
  316. package/components/table/tableSizing.constants.d.ts +4 -0
  317. package/components/table/tableSizing.constants.js +8 -0
  318. package/components/table/tableSizing.constants.js.map +1 -0
  319. package/components/teaser/TeaserContainer.js +3 -3
  320. package/components/teaser/TeaserContainer.js.map +1 -1
  321. package/components/virtualList/VirtualList.js +16 -13
  322. package/components/virtualList/VirtualList.js.map +1 -1
  323. package/googleAnalyticsUtils.d.ts +1 -0
  324. package/googleAnalyticsUtils.js +9 -0
  325. package/googleAnalyticsUtils.js.map +1 -0
  326. package/hooks/useCookies.js +17 -17
  327. package/hooks/useCookies.js.map +1 -1
  328. package/hooks/useDraggableElement.d.ts +35 -0
  329. package/hooks/useDraggableElement.js +49 -0
  330. package/hooks/useDraggableElement.js.map +1 -0
  331. package/hooks/useElapsedTime.js +4 -4
  332. package/hooks/useElapsedTime.js.map +1 -1
  333. package/hooks/useLocationSuggestions.js +13 -10
  334. package/hooks/useLocationSuggestions.js.map +1 -1
  335. package/hooks/useMergeRefs.js +12 -12
  336. package/hooks/useMergeRefs.js.map +1 -1
  337. package/hooks/usePrevious.d.ts +1 -1
  338. package/hooks/usePrevious.js.map +1 -1
  339. package/hooks/useResizeObserver.js +25 -10
  340. package/hooks/useResizeObserver.js.map +1 -1
  341. package/hooks/useRioCookieConsent.js +7 -4
  342. package/hooks/useRioCookieConsent.js.map +1 -1
  343. package/hooks/useSorting.js +10 -10
  344. package/hooks/useSorting.js.map +1 -1
  345. package/hooks/useStorage.js +12 -12
  346. package/hooks/useStorage.js.map +1 -1
  347. package/hooks/useSum.js +10 -7
  348. package/hooks/useSum.js.map +1 -1
  349. package/hooks/useTableSelection.js.map +1 -1
  350. package/hooks/useTimeout.js +6 -3
  351. package/hooks/useTimeout.js.map +1 -1
  352. package/package.json +3 -3
  353. package/routeUtils.js +12 -10
  354. package/utils/analytics/analyticsAnalysisUtils.d.ts +27 -0
  355. package/utils/analytics/analyticsAnalysisUtils.js +161 -0
  356. package/utils/analytics/analyticsAnalysisUtils.js.map +1 -0
  357. package/utils/analytics/autoTracking.d.ts +14 -0
  358. package/utils/analytics/autoTracking.js +19 -0
  359. package/utils/analytics/autoTracking.js.map +1 -0
  360. package/utils/analytics/createAnalyticsOverlayTooltip.d.ts +36 -0
  361. package/utils/analytics/createAnalyticsOverlayTooltip.js +203 -0
  362. package/utils/analytics/createAnalyticsOverlayTooltip.js.map +1 -0
  363. package/utils/analytics/googleAnalyticsUtils.d.ts +37 -0
  364. package/utils/analytics/googleAnalyticsUtils.js +37 -0
  365. package/utils/analytics/googleAnalyticsUtils.js.map +1 -0
  366. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.d.ts +8 -0
  367. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js +61 -0
  368. package/utils/analytics/logAnalyticsOverlayUnmatchedEntries.js.map +1 -0
  369. package/utils/analytics/useAnalyticsOverlayDom.d.ts +11 -0
  370. package/utils/analytics/useAnalyticsOverlayDom.js +120 -0
  371. package/utils/analytics/useAnalyticsOverlayDom.js.map +1 -0
  372. package/utils/arrayMove.js +11 -0
  373. package/utils/arrayMove.js.map +1 -0
  374. package/utils/cssuseragent.js +2 -2
  375. package/utils/cssuseragent.js.map +1 -1
  376. package/utils/deviceUtils.js.map +1 -1
  377. package/utils/formatUtils.js.map +1 -1
  378. package/utils/hasUtilityClass.js +3 -3
  379. package/utils/hasUtilityClass.js.map +1 -1
  380. package/utils/hidePiiData.js.map +1 -1
  381. package/utils/init/checkForReleaseVersion.js +4 -4
  382. package/utils/init/checkForReleaseVersion.js.map +1 -1
  383. package/utils/init/styledLogs.js.map +1 -1
  384. package/utils/mergeRefs.js +3 -3
  385. package/utils/mergeRefs.js.map +1 -1
  386. package/utils/routeUtils.d.ts +32 -1
  387. package/utils/routeUtils.js +85 -67
  388. package/utils/routeUtils.js.map +1 -1
  389. package/utils/storageUtils.js +9 -9
  390. package/utils/storageUtils.js.map +1 -1
  391. package/version.d.ts +1 -1
  392. package/version.js +2 -2
  393. package/version.js.map +1 -1
  394. package/components/table/TableCol.js.map +0 -1
  395. package/components/table/TableHead.js.map +0 -1
  396. package/components/table/TableSettingsColumnButtons.js +0 -45
  397. package/components/table/TableSettingsColumnButtons.js.map +0 -1
  398. package/components/table/TableSettingsColumnDetails.js.map +0 -1
  399. package/components/table/TableSettingsDialog.js +0 -208
  400. package/components/table/TableSettingsDialog.js.map +0 -1
  401. package/components/table/TableSettingsDialogFooter.js.map +0 -1
  402. package/components/table/TableSettingsListContainer.js.map +0 -1
  403. package/components/table/TableSettingsListItem.js +0 -96
  404. package/components/table/TableSettingsListItem.js.map +0 -1
  405. /package/components/table/{TableCol.d.ts → native/TableCol.d.ts} +0 -0
  406. /package/components/table/{TableCol.js → native/TableCol.js} +0 -0
  407. /package/components/table/{TableHead.d.ts → native/TableHead.d.ts} +0 -0
  408. /package/components/table/{TableSettingsColumnButtons.d.ts → native/TableSettingsColumnButtons.d.ts} +0 -0
  409. /package/components/table/{TableSettingsColumnDetails.d.ts → native/TableSettingsColumnDetails.d.ts} +0 -0
  410. /package/components/table/{TableSettingsDialogFooter.d.ts → native/TableSettingsDialogFooter.d.ts} +0 -0
  411. /package/components/table/{TableSettingsListContainer.d.ts → native/TableSettingsListContainer.d.ts} +0 -0
  412. /package/components/table/{TableSettingsListItem.d.ts → native/TableSettingsListItem.d.ts} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- const r = ({ className: t = "", children: a, ...e }) => /* @__PURE__ */ s(
2
+ const l = ({ className: a = "", children: t, ...e }) => /* @__PURE__ */ s(
3
3
  "div",
4
4
  {
5
- className: `display-flex align-items-start align-items-center-ls width-100pct gap-15 ${t}`,
5
+ className: `display-flex align-items-start align-items-center-ls width-100pct gap-15 ${a}`,
6
6
  ...e,
7
- children: a
7
+ children: t
8
8
  }
9
9
  );
10
10
  export {
11
- r as default
11
+ l as default
12
12
  };
13
13
  //# sourceMappingURL=BannerPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BannerPage.js","sources":["../../../src/components/banner/BannerPage.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\ntype BannerPageProps = {\n /**\n * Additional classname added to the wrapper element.\n */\n className?: string;\n};\n\nconst BannerPage = ({ className = '', children, ...remainingProps }: PropsWithChildren<BannerPageProps>) => {\n return (\n <div\n className={`display-flex align-items-start align-items-center-ls width-100pct gap-15 ${className}`}\n {...remainingProps}\n >\n {children}\n </div>\n );\n};\n\nexport default BannerPage;\n"],"names":["BannerPage","className","children","remainingProps","jsx"],"mappings":";AASA,MAAMA,IAAa,CAAC,EAAE,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,QAE3C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW,4EAA4EH,CAAS;AAAA,IAC/F,GAAGE;AAAA,IAEH,UAAAD;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"BannerPage.js","sources":["../../../src/components/banner/BannerPage.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react';\n\ntype BannerPageProps = {\n /**\n * Additional classname added to the wrapper element.\n */\n className?: string;\n};\n\nconst BannerPage = ({ className = '', children, ...remainingProps }: PropsWithChildren<BannerPageProps>) => (\n <div\n className={`display-flex align-items-start align-items-center-ls width-100pct gap-15 ${className}`}\n {...remainingProps}\n >\n {children}\n </div>\n);\n\nexport default BannerPage;\n"],"names":["BannerPage","className","children","remainingProps","jsx"],"mappings":";AASA,MAAMA,IAAa,CAAC,EAAE,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,QAC/C,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAW,4EAA4EH,CAAS;AAAA,IAC/F,GAAGE;AAAA,IAEH,UAAAD;AAAA,EAAA;AACL;"}
@@ -117,6 +117,13 @@ type BaseButtonProps = {
117
117
  * Whether the "ripple" effect should be suppressed on this button.
118
118
  */
119
119
  noRippleEffect?: boolean;
120
+ /**
121
+ * Optional key used to generate automatic GA tracking attributes when no explicit
122
+ * tracking attributes are provided.
123
+ *
124
+ * Resulting label format: `button::<autoTrackingKey>`.
125
+ */
126
+ autoTrackingKey?: string;
120
127
  /**
121
128
  * Number of the index used for keyboard support.
122
129
  *
@@ -1,10 +1,11 @@
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";
1
+ import { jsxs as E, jsx as k } from "react/jsx-runtime";
2
+ import { forwardRef as Y, useState as L, useRef as $ } from "react";
3
+ import { noop as w } from "es-toolkit/function";
4
+ import B from "../../utils/classNames.js";
5
5
  import { createButtonRipple as S } from "../../utils/buttonEffect.js";
6
- import w from "../../hooks/useMergeRefs.js";
7
- const B = {
6
+ import F from "../../hooks/useMergeRefs.js";
7
+ import { getAutoTrackingAttributes as G } from "../../utils/analytics/autoTracking.js";
8
+ const z = {
8
9
  DEFAULT: "default",
9
10
  UNSTYLED: "unstyled",
10
11
  PRIMARY: "primary",
@@ -15,108 +16,115 @@ const B = {
15
16
  SUCCESS: "success",
16
17
  MUTED: "muted",
17
18
  MUTED_FILLED: "muted-filled"
18
- }, s = {
19
+ }, i = {
19
20
  VARIANT_LINK: "link",
20
21
  VARIANT_LINK_INLINE: "link-inline",
21
22
  VARIANT_OUTLINE: "outline",
22
23
  VARIANT_ACTION: "action"
23
- }, F = {
24
+ }, W = {
24
25
  XS: "xs",
25
26
  SM: "sm",
26
27
  MD: "md",
27
28
  LG: "lg"
28
- }, r = j((_, k) => {
29
+ }, u = Y((_, C) => {
29
30
  const {
30
31
  as: a = "button",
31
- active: t = !1,
32
+ active: n = !1,
32
33
  disabled: e = !1,
33
34
  asToggle: f = !1,
34
- onClick: l = Y,
35
- bsStyle: C = "default",
36
- bsSize: N,
37
- variant: i,
35
+ onClick: l = w,
36
+ bsStyle: y = "default",
37
+ bsSize: b,
38
+ variant: s,
38
39
  iconOnly: O = !1,
39
40
  iconName: o,
40
41
  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);
42
+ multiline: D = !1,
43
+ block: M = !1,
44
+ className: V = "",
45
+ noRippleEffect: N = !1,
46
+ autoTrackingKey: v,
47
+ type: U = "button",
48
+ tabIndex: A = 0,
49
+ children: m,
50
+ ...r
51
+ } = _, I = G({
52
+ autoTrackingKey: v,
53
+ props: r,
54
+ source: "button"
55
+ }), [g, d] = L(n), T = $(null), p = F(T, C), [x, P] = L(n);
56
+ n !== x && (d(n), P(n));
57
+ const j = (t) => {
58
+ if (N || S(t.nativeEvent, t.currentTarget), f) {
59
+ const c = !g;
60
+ d(c), c && T.current?.blur(), l(c);
55
61
  } else
56
- l(n);
57
- }, P = (n) => {
62
+ l(t);
63
+ }, K = (t) => {
58
64
  if (e) {
59
- n.preventDefault();
65
+ t.preventDefault();
60
66
  return;
61
67
  }
62
- b || S(n.nativeEvent, n.currentTarget), l(n);
63
- }, p = $(
68
+ N || S(t.nativeEvent, t.currentTarget), l(t);
69
+ }, R = B(
64
70
  "btn",
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
+ `btn-${y}`,
72
+ s === i.VARIANT_LINK && "btn-link",
73
+ s === i.VARIANT_LINK_INLINE && "btn-link btn-link-inline",
74
+ s === i.VARIANT_OUTLINE && "btn-outline",
75
+ s === i.VARIANT_ACTION && "btn-action",
76
+ b && `btn-${b}`,
71
77
  f && "btn-toggle",
72
- m && "active",
78
+ g && "active",
73
79
  O && "btn-icon-only",
74
80
  h && "btn-icon-right",
75
- y && "btn-multiline",
76
- D && "btn-block",
81
+ D && "btn-multiline",
82
+ M && "btn-block",
77
83
  a === "a" && "gap-0",
78
84
  a === "a" && e && "disabled",
79
85
  "btn-component",
80
- M
86
+ V
81
87
  );
82
- return a === "a" ? /* @__PURE__ */ R(
88
+ return a === "a" ? /* @__PURE__ */ E(
83
89
  "a",
84
90
  {
85
- ref: T,
91
+ ref: p,
92
+ ...r,
86
93
  ...I,
87
- className: p,
88
- onClick: P,
94
+ className: R,
95
+ onClick: K,
89
96
  "aria-disabled": e || void 0,
90
- tabIndex: e ? -1 : u,
97
+ tabIndex: e ? -1 : A,
91
98
  children: [
92
- o && /* @__PURE__ */ E("span", { className: `rioglyph ${o}` }),
93
- A
99
+ o && /* @__PURE__ */ k("span", { className: `rioglyph ${o}` }),
100
+ m
94
101
  ]
95
102
  }
96
- ) : /* @__PURE__ */ R(
103
+ ) : /* @__PURE__ */ E(
97
104
  "button",
98
105
  {
99
- ref: T,
100
- type: V,
106
+ ref: p,
107
+ type: U,
108
+ ...r,
101
109
  ...I,
102
- className: p,
103
- onClick: x,
110
+ className: R,
111
+ onClick: j,
104
112
  disabled: e,
105
- tabIndex: u,
113
+ tabIndex: A,
106
114
  children: [
107
- o && /* @__PURE__ */ E("span", { className: `rioglyph ${o}` }),
108
- A
115
+ o && /* @__PURE__ */ k("span", { className: `rioglyph ${o}` }),
116
+ m
109
117
  ]
110
118
  }
111
119
  );
112
120
  });
113
- Object.assign(r, B);
114
- Object.assign(r, s);
115
- Object.assign(r, F);
121
+ Object.assign(u, z);
122
+ Object.assign(u, i);
123
+ Object.assign(u, W);
116
124
  export {
117
- F as SIZES_MAP,
118
- B as STYLES_MAP,
119
- s as VARIANTS_MAP,
120
- r as default
125
+ W as SIZES_MAP,
126
+ z as STYLES_MAP,
127
+ i as VARIANTS_MAP,
128
+ u as default
121
129
  };
122
130
  //# 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 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
+ {"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';\nimport { getAutoTrackingAttributes } from '../../utils/analytics/autoTracking';\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 * Optional key used to generate automatic GA tracking attributes when no explicit\n * tracking attributes are provided.\n *\n * Resulting label format: `button::<autoTrackingKey>`.\n */\n autoTrackingKey?: string;\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 autoTrackingKey,\n type = 'button',\n tabIndex = 0,\n children,\n ...remainingProps\n } = props;\n\n const autoTrackingAttributes = getAutoTrackingAttributes({\n autoTrackingKey,\n props: remainingProps as Record<string, unknown>,\n source: 'button',\n });\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 {...autoTrackingAttributes}\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 {...autoTrackingAttributes}\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","autoTrackingKey","type","tabIndex","children","remainingProps","autoTrackingAttributes","getAutoTrackingAttributes","isToggled","setIsToggled","useState","btnRef","useRef","buttonRef","useMergeRefs","previousActive","setPreviousActive","handleButtonClick","event","createButtonRipple","newIsToggled","handleLinkClick","buttonClassNames","classNames","jsxs","jsx"],"mappings":"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"}
@@ -3,20 +3,20 @@ import { useRef as H, useEffect as K } from "react";
3
3
  import { noop as k } from "es-toolkit/function";
4
4
  import p from "../../utils/classNames.js";
5
5
  import { CheckboxIcon as P } from "./CheckboxIcon.js";
6
- const S = 16, x = "vertical", V = "horizontal", I = (i) => {
6
+ const S = 16, x = "vertical", V = "horizontal", I = (l) => {
7
7
  const {
8
8
  checked: L,
9
9
  children: o,
10
- className: l,
10
+ className: d,
11
11
  custom: m = !1,
12
12
  defaultChecked: g,
13
- disabled: d = !1,
13
+ disabled: c = !1,
14
14
  error: N = !1,
15
- icon: c = "",
15
+ icon: s = "",
16
16
  iconLabelPosition: E = x,
17
17
  iconSize: _ = S,
18
- id: f = i.name,
19
- indeterminate: s = !1,
18
+ id: f = l.name,
19
+ indeterminate: a = !1,
20
20
  inline: A = !1,
21
21
  inputRef: O,
22
22
  label: R,
@@ -28,11 +28,11 @@ const S = 16, x = "vertical", V = "horizontal", I = (i) => {
28
28
  size: C,
29
29
  tabIndex: B = 0,
30
30
  ...w
31
- } = i, n = H(null);
31
+ } = l, n = H(null);
32
32
  K(() => {
33
33
  const e = n.current?.firstChild;
34
- e && (e.indeterminate = s);
35
- }, [s, n.current]);
34
+ e && (e.indeterminate = a);
35
+ }, [a, n.current]);
36
36
  const z = (e) => {
37
37
  switch (e.key) {
38
38
  case " ":
@@ -43,21 +43,22 @@ const S = 16, x = "vertical", V = "horizontal", I = (i) => {
43
43
  break;
44
44
  }
45
45
  }, b = (e) => {
46
- if (e.preventDefault(), d)
46
+ if (e.preventDefault(), c)
47
47
  return;
48
48
  const t = n.current?.firstChild;
49
49
  t.indeterminate && (t.indeterminate = !1), t.checked = !t.checked, u(e), h(e);
50
- }, a = R || o, Z = p(
50
+ }, i = R || o, Z = p(
51
51
  "checkbox",
52
52
  A && "checkbox-inline",
53
53
  C === "large" && "checkbox-large",
54
54
  y && "checkbox-right",
55
- l
55
+ c && "disabled",
56
+ d
56
57
  ), j = p(
57
58
  N && "error",
58
59
  C === "large" && "large",
59
- s && "indeterminate",
60
- l
60
+ a && "indeterminate",
61
+ d
61
62
  );
62
63
  return /* @__PURE__ */ F(
63
64
  "label",
@@ -78,15 +79,15 @@ const S = 16, x = "vertical", V = "horizontal", I = (i) => {
78
79
  checked: L,
79
80
  required: T,
80
81
  defaultChecked: g,
81
- disabled: d,
82
+ disabled: c,
82
83
  className: j,
83
84
  onClick: u,
84
85
  onChange: h,
85
86
  ref: O
86
87
  }
87
88
  ),
88
- !!c && /* @__PURE__ */ r(P, { icon: c, iconSize: _, iconLabelPosition: E, text: a }),
89
- !c && !m && /* @__PURE__ */ r("span", { className: "checkbox-text", children: a && /* @__PURE__ */ r("span", { children: a }) }),
89
+ !!s && /* @__PURE__ */ r(P, { icon: s, iconSize: _, iconLabelPosition: E, text: i }),
90
+ !s && !m && /* @__PURE__ */ r("span", { className: "checkbox-text", children: i && /* @__PURE__ */ r("span", { children: i }) }),
90
91
  m && o && o
91
92
  ]
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import React, { useRef, useEffect, type ReactNode, type PropsWithChildren } from 'react';\nimport { noop } from 'es-toolkit/function';\n\nimport classNames from '../../utils/classNames';\nimport { CheckboxIcon } from './CheckboxIcon';\n\nconst DEFAULT_ICON_SIZE = 16;\n\nconst ICON_LABEL_VERTICAL = 'vertical';\nconst ICON_LABEL_HORIZONTAL = 'horizontal';\n\nexport type CheckboxProps = {\n /**\n * Passed through as HTML attribute to the underlying input.\n * Set an `id` or a `name` otherwise.\n */\n id?: string;\n\n /**\n * Passed through as HTML attribute to the underlying input\n */\n name?: string;\n\n /**\n * Define some text or component as a label.\n */\n label?: string | ReactNode;\n\n /**\n * Define a custom icon for the checkbox by naming a rioglyph icon like `rioglyph-truck`.\n */\n icon?: string;\n\n /**\n * The icon size in pixel.\n */\n iconSize?: number;\n\n /**\n * The label position for a custom icon checkbox. Using this on a regular checkbox has no effect.\n *\n * Possible values are: `horizontal` or `vertical`.\n */\n iconLabelPosition?: typeof ICON_LABEL_VERTICAL | typeof ICON_LABEL_HORIZONTAL;\n\n /**\n * Callback function that is invoked when the checkbox is checked or unchecked.\n * @param event\n * @returns\n */\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void;\n\n /**\n * Callback function that is invoked when the checkbox value changes.\n * This will also be invoked by a keyboard event.\n * @param event\n * @returns\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\n /**\n * Defines whether the checkbox is checked or not (state cannot be changed).\n */\n checked?: boolean;\n\n /**\n * Defines whether the checkbox is initially checked or not (state can be changed on click).\n */\n defaultChecked?: boolean;\n\n /**\n * Defines whether the checkbox is disabled or not.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Allows for rendering a completely different layout with or without a checkbox tick.\n * Note, when using the `custom` option, make sure to wrap the children with the class name\n * `checkbox-text-wrapper`. For using the checkbox tick, use an element with class name\n * `checkbox-text`.\n *\n * @example\n * <div className='checkbox-text-wrapper display-flex justify-content-between'>\n * <div className='margin-right-15'>\n * <div className='text-medium text-size-16 text-color-darker'>Option 1</div>\n * <div className='text-color-dark'>This option is a first option</div>\n * </div>\n * <div className='checkbox-text' />\n * </div>\n */\n custom?: boolean;\n\n /**\n * Defines whether the checkbox is required or not.\n *\n * @default false\n */\n required?: boolean;\n\n /**\n * Defines if the checkbox is in an indeterminate state in regard to other checkboxes that may be in different\n * selection state.\n *\n * @default false\n */\n indeterminate?: boolean;\n\n /**\n * Defines whether the checkbox is applying an inline style. Use this in combination\n * with other checkboxes.\n *\n * @default false\n */\n inline?: boolean;\n\n /**\n * Defines whether the checkbox is on the right side.\n *\n * @default false\n */\n right?: boolean;\n\n /**\n * Use \"error\" to change color of the checkbox.\n *\n * @default false\n */\n error?: boolean;\n\n /**\n * Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size.\n *\n * Possible values are:\n * `large`\n */\n size?: 'large';\n\n /**\n * A React ref assigned to the input itself.\n */\n inputRef?: React.RefObject<HTMLInputElement>;\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 input field.\n */\n className?: string;\n};\n\ntype CheckboxEvent =\n | React.MouseEvent<HTMLInputElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLLabelElement>;\n\nconst Checkbox = (props: PropsWithChildren<CheckboxProps>) => {\n const {\n checked,\n children,\n className,\n custom = false,\n defaultChecked,\n disabled = false,\n error = false,\n icon = '',\n iconLabelPosition = ICON_LABEL_VERTICAL,\n iconSize = DEFAULT_ICON_SIZE,\n id = props.name,\n indeterminate = false,\n inline = false,\n inputRef,\n label,\n name,\n onChange = noop,\n onClick = noop,\n required = false,\n right,\n size,\n tabIndex = 0,\n ...remainingProps\n } = props;\n\n const labelRef = useRef<HTMLLabelElement>(null);\n\n useEffect(() => {\n const input = labelRef.current?.firstChild as HTMLInputElement;\n if (input) {\n input.indeterminate = indeterminate;\n }\n }, [indeterminate, labelRef.current]);\n\n const handleToggleKeyDown = (event: React.KeyboardEvent<HTMLLabelElement>) => {\n switch (event.key) {\n case ' ':\n // toggle on space\n toggle(event);\n break;\n case 'Enter':\n // open on enter\n toggle(event);\n break;\n default:\n break;\n }\n };\n\n const toggle = (event: CheckboxEvent) => {\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n const input = labelRef.current?.firstChild as HTMLInputElement;\n\n if (input.indeterminate) {\n input.indeterminate = false;\n }\n\n input.checked = !input.checked;\n\n onClick(event as React.MouseEvent<HTMLInputElement>);\n onChange(event as React.ChangeEvent<HTMLInputElement>);\n };\n\n const text = label || children;\n\n const labelClassnames = classNames(\n 'checkbox',\n inline && 'checkbox-inline',\n size === 'large' && 'checkbox-large',\n right && 'checkbox-right',\n className\n );\n\n const inputClassnames = classNames(\n error && 'error',\n size === 'large' && 'large',\n indeterminate && 'indeterminate',\n className\n );\n\n const renderCustomIcon = !!icon;\n const renderCustomContent = custom && children;\n const renderDefault = !icon && !custom;\n\n return (\n <label\n {...remainingProps}\n className={labelClassnames}\n tabIndex={tabIndex}\n htmlFor={id}\n onKeyDown={handleToggleKeyDown}\n ref={labelRef}\n >\n <input\n id={id}\n name={name}\n type='checkbox'\n checked={checked}\n required={required}\n defaultChecked={defaultChecked}\n disabled={disabled}\n className={inputClassnames}\n onClick={onClick}\n onChange={onChange}\n ref={inputRef}\n />\n {renderCustomIcon && (\n <CheckboxIcon icon={icon} iconSize={iconSize} iconLabelPosition={iconLabelPosition} text={text} />\n )}\n {renderDefault && <span className='checkbox-text'>{text && <span>{text}</span>}</span>}\n {renderCustomContent && children}\n </label>\n );\n};\n\nCheckbox.ICON_LABEL_VERTICAL = ICON_LABEL_VERTICAL as typeof ICON_LABEL_VERTICAL;\nCheckbox.ICON_LABEL_HORIZONTAL = ICON_LABEL_HORIZONTAL as typeof ICON_LABEL_HORIZONTAL;\n\nexport default Checkbox;\n"],"names":["DEFAULT_ICON_SIZE","ICON_LABEL_VERTICAL","ICON_LABEL_HORIZONTAL","Checkbox","props","checked","children","className","custom","defaultChecked","disabled","error","icon","iconLabelPosition","iconSize","id","indeterminate","inline","inputRef","label","name","onChange","noop","onClick","required","right","size","tabIndex","remainingProps","labelRef","useRef","useEffect","input","handleToggleKeyDown","event","toggle","text","labelClassnames","classNames","inputClassnames","jsxs","jsx","CheckboxIcon"],"mappings":";;;;;AAMA,MAAMA,IAAoB,IAEpBC,IAAsB,YACtBC,IAAwB,cAwJxBC,IAAW,CAACC,MAA4C;AAC1D,QAAM;AAAA,IACF,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,gBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQ;AAAA,IACR,MAAAC,IAAO;AAAA,IACP,mBAAAC,IAAoBZ;AAAA,IACpB,UAAAa,IAAWd;AAAA,IACX,IAAAe,IAAKX,EAAM;AAAA,IACX,eAAAY,IAAgB;AAAA,IAChB,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAWC;AAAA,IACX,SAAAC,IAAUD;AAAA,IACV,UAAAE,IAAW;AAAA,IACX,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACHxB,GAEEyB,IAAWC,EAAyB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACZ,UAAMC,IAAQH,EAAS,SAAS;AAChC,IAAIG,MACAA,EAAM,gBAAgBhB;AAAA,EAE9B,GAAG,CAACA,GAAea,EAAS,OAAO,CAAC;AAEpC,QAAMI,IAAsB,CAACC,MAAiD;AAC1E,YAAQA,EAAM,KAAA;AAAA,MACV,KAAK;AAED,QAAAC,EAAOD,CAAK;AACZ;AAAA,MACJ,KAAK;AAED,QAAAC,EAAOD,CAAK;AACZ;AAAA,IAEA;AAAA,EAEZ,GAEMC,IAAS,CAACD,MAAyB;AAGrC,QAFAA,EAAM,eAAA,GAEFxB;AACA;AAGJ,UAAMsB,IAAQH,EAAS,SAAS;AAEhC,IAAIG,EAAM,kBACNA,EAAM,gBAAgB,KAG1BA,EAAM,UAAU,CAACA,EAAM,SAEvBT,EAAQW,CAA2C,GACnDb,EAASa,CAA4C;AAAA,EACzD,GAEME,IAAOjB,KAASb,GAEhB+B,IAAkBC;AAAA,IACpB;AAAA,IACArB,KAAU;AAAA,IACVS,MAAS,WAAW;AAAA,IACpBD,KAAS;AAAA,IACTlB;AAAA,EAAA,GAGEgC,IAAkBD;AAAA,IACpB3B,KAAS;AAAA,IACTe,MAAS,WAAW;AAAA,IACpBV,KAAiB;AAAA,IACjBT;AAAA,EAAA;AAOJ,SACI,gBAAAiC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWS;AAAA,MACX,UAAAV;AAAA,MACA,SAASZ;AAAA,MACT,WAAWkB;AAAA,MACX,KAAKJ;AAAA,MAEL,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,IAAA1B;AAAA,YACA,MAAAK;AAAA,YACA,MAAK;AAAA,YACL,SAAAf;AAAA,YACA,UAAAmB;AAAA,YACA,gBAAAf;AAAA,YACA,UAAAC;AAAA,YACA,WAAW6B;AAAA,YACX,SAAAhB;AAAA,YACA,UAAAF;AAAA,YACA,KAAKH;AAAA,UAAA;AAAA,QAAA;AAAA,QAxBQ,CAAC,CAACN,KA2Bf,gBAAA6B,EAACC,GAAA,EAAa,MAAA9B,GAAY,UAAAE,GAAoB,mBAAAD,GAAsC,MAAAuB,GAAY;AAAA,QAzBtF,CAACxB,KAAQ,CAACJ,uBA2BL,QAAA,EAAK,WAAU,iBAAiB,UAAA4B,KAAQ,gBAAAK,EAAC,QAAA,EAAM,UAAAL,EAAA,CAAK,EAAA,CAAQ;AAAA,QA5B3D5B,KAAUF,KA6BNA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEAH,EAAS,sBAAsBF;AAC/BE,EAAS,wBAAwBD;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import React, { useRef, useEffect, type ReactNode, type PropsWithChildren } from 'react';\nimport { noop } from 'es-toolkit/function';\n\nimport classNames from '../../utils/classNames';\nimport { CheckboxIcon } from './CheckboxIcon';\n\nconst DEFAULT_ICON_SIZE = 16;\n\nconst ICON_LABEL_VERTICAL = 'vertical';\nconst ICON_LABEL_HORIZONTAL = 'horizontal';\n\nexport type CheckboxProps = {\n /**\n * Passed through as HTML attribute to the underlying input.\n * Set an `id` or a `name` otherwise.\n */\n id?: string;\n\n /**\n * Passed through as HTML attribute to the underlying input\n */\n name?: string;\n\n /**\n * Define some text or component as a label.\n */\n label?: string | ReactNode;\n\n /**\n * Define a custom icon for the checkbox by naming a rioglyph icon like `rioglyph-truck`.\n */\n icon?: string;\n\n /**\n * The icon size in pixel.\n */\n iconSize?: number;\n\n /**\n * The label position for a custom icon checkbox. Using this on a regular checkbox has no effect.\n *\n * Possible values are: `horizontal` or `vertical`.\n */\n iconLabelPosition?: typeof ICON_LABEL_VERTICAL | typeof ICON_LABEL_HORIZONTAL;\n\n /**\n * Callback function that is invoked when the checkbox is checked or unchecked.\n * @param event\n * @returns\n */\n onClick?: (event: React.MouseEvent<HTMLInputElement>) => void;\n\n /**\n * Callback function that is invoked when the checkbox value changes.\n * This will also be invoked by a keyboard event.\n * @param event\n * @returns\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n\n /**\n * Defines whether the checkbox is checked or not (state cannot be changed).\n */\n checked?: boolean;\n\n /**\n * Defines whether the checkbox is initially checked or not (state can be changed on click).\n */\n defaultChecked?: boolean;\n\n /**\n * Defines whether the checkbox is disabled or not.\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Allows for rendering a completely different layout with or without a checkbox tick.\n * Note, when using the `custom` option, make sure to wrap the children with the class name\n * `checkbox-text-wrapper`. For using the checkbox tick, use an element with class name\n * `checkbox-text`.\n *\n * @example\n * <div className='checkbox-text-wrapper display-flex justify-content-between'>\n * <div className='margin-right-15'>\n * <div className='text-medium text-size-16 text-color-darker'>Option 1</div>\n * <div className='text-color-dark'>This option is a first option</div>\n * </div>\n * <div className='checkbox-text' />\n * </div>\n */\n custom?: boolean;\n\n /**\n * Defines whether the checkbox is required or not.\n *\n * @default false\n */\n required?: boolean;\n\n /**\n * Defines if the checkbox is in an indeterminate state in regard to other checkboxes that may be in different\n * selection state.\n *\n * @default false\n */\n indeterminate?: boolean;\n\n /**\n * Defines whether the checkbox is applying an inline style. Use this in combination\n * with other checkboxes.\n *\n * @default false\n */\n inline?: boolean;\n\n /**\n * Defines whether the checkbox is on the right side.\n *\n * @default false\n */\n right?: boolean;\n\n /**\n * Use \"error\" to change color of the checkbox.\n *\n * @default false\n */\n error?: boolean;\n\n /**\n * Defines the size of the checkbox. Omitting this prop renders the Checkbox in normal size.\n *\n * Possible values are:\n * `large`\n */\n size?: 'large';\n\n /**\n * A React ref assigned to the input itself.\n */\n inputRef?: React.RefObject<HTMLInputElement>;\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 input field.\n */\n className?: string;\n};\n\ntype CheckboxEvent =\n | React.MouseEvent<HTMLInputElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLLabelElement>;\n\nconst Checkbox = (props: PropsWithChildren<CheckboxProps>) => {\n const {\n checked,\n children,\n className,\n custom = false,\n defaultChecked,\n disabled = false,\n error = false,\n icon = '',\n iconLabelPosition = ICON_LABEL_VERTICAL,\n iconSize = DEFAULT_ICON_SIZE,\n id = props.name,\n indeterminate = false,\n inline = false,\n inputRef,\n label,\n name,\n onChange = noop,\n onClick = noop,\n required = false,\n right,\n size,\n tabIndex = 0,\n ...remainingProps\n } = props;\n\n const labelRef = useRef<HTMLLabelElement>(null);\n\n useEffect(() => {\n const input = labelRef.current?.firstChild as HTMLInputElement;\n if (input) {\n input.indeterminate = indeterminate;\n }\n }, [indeterminate, labelRef.current]);\n\n const handleToggleKeyDown = (event: React.KeyboardEvent<HTMLLabelElement>) => {\n switch (event.key) {\n case ' ':\n // toggle on space\n toggle(event);\n break;\n case 'Enter':\n // open on enter\n toggle(event);\n break;\n default:\n break;\n }\n };\n\n const toggle = (event: CheckboxEvent) => {\n event.preventDefault();\n\n if (disabled) {\n return;\n }\n\n const input = labelRef.current?.firstChild as HTMLInputElement;\n\n if (input.indeterminate) {\n input.indeterminate = false;\n }\n\n input.checked = !input.checked;\n\n onClick(event as React.MouseEvent<HTMLInputElement>);\n onChange(event as React.ChangeEvent<HTMLInputElement>);\n };\n\n const text = label || children;\n\n const labelClassnames = classNames(\n 'checkbox',\n inline && 'checkbox-inline',\n size === 'large' && 'checkbox-large',\n right && 'checkbox-right',\n disabled && 'disabled',\n className\n );\n\n const inputClassnames = classNames(\n error && 'error',\n size === 'large' && 'large',\n indeterminate && 'indeterminate',\n className\n );\n\n const renderCustomIcon = !!icon;\n const renderCustomContent = custom && children;\n const renderDefault = !icon && !custom;\n\n return (\n <label\n {...remainingProps}\n className={labelClassnames}\n tabIndex={tabIndex}\n htmlFor={id}\n onKeyDown={handleToggleKeyDown}\n ref={labelRef}\n >\n <input\n id={id}\n name={name}\n type='checkbox'\n checked={checked}\n required={required}\n defaultChecked={defaultChecked}\n disabled={disabled}\n className={inputClassnames}\n onClick={onClick}\n onChange={onChange}\n ref={inputRef}\n />\n {renderCustomIcon && (\n <CheckboxIcon icon={icon} iconSize={iconSize} iconLabelPosition={iconLabelPosition} text={text} />\n )}\n {renderDefault && <span className='checkbox-text'>{text && <span>{text}</span>}</span>}\n {renderCustomContent && children}\n </label>\n );\n};\n\nCheckbox.ICON_LABEL_VERTICAL = ICON_LABEL_VERTICAL as typeof ICON_LABEL_VERTICAL;\nCheckbox.ICON_LABEL_HORIZONTAL = ICON_LABEL_HORIZONTAL as typeof ICON_LABEL_HORIZONTAL;\n\nexport default Checkbox;\n"],"names":["DEFAULT_ICON_SIZE","ICON_LABEL_VERTICAL","ICON_LABEL_HORIZONTAL","Checkbox","props","checked","children","className","custom","defaultChecked","disabled","error","icon","iconLabelPosition","iconSize","id","indeterminate","inline","inputRef","label","name","onChange","noop","onClick","required","right","size","tabIndex","remainingProps","labelRef","useRef","useEffect","input","handleToggleKeyDown","event","toggle","text","labelClassnames","classNames","inputClassnames","jsxs","jsx","CheckboxIcon"],"mappings":";;;;;AAMA,MAAMA,IAAoB,IAEpBC,IAAsB,YACtBC,IAAwB,cAwJxBC,IAAW,CAACC,MAA4C;AAC1D,QAAM;AAAA,IACF,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,gBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQ;AAAA,IACR,MAAAC,IAAO;AAAA,IACP,mBAAAC,IAAoBZ;AAAA,IACpB,UAAAa,IAAWd;AAAA,IACX,IAAAe,IAAKX,EAAM;AAAA,IACX,eAAAY,IAAgB;AAAA,IAChB,QAAAC,IAAS;AAAA,IACT,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAWC;AAAA,IACX,SAAAC,IAAUD;AAAA,IACV,UAAAE,IAAW;AAAA,IACX,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACHxB,GAEEyB,IAAWC,EAAyB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACZ,UAAMC,IAAQH,EAAS,SAAS;AAChC,IAAIG,MACAA,EAAM,gBAAgBhB;AAAA,EAE9B,GAAG,CAACA,GAAea,EAAS,OAAO,CAAC;AAEpC,QAAMI,IAAsB,CAACC,MAAiD;AAC1E,YAAQA,EAAM,KAAA;AAAA,MACV,KAAK;AAED,QAAAC,EAAOD,CAAK;AACZ;AAAA,MACJ,KAAK;AAED,QAAAC,EAAOD,CAAK;AACZ;AAAA,IAEA;AAAA,EAEZ,GAEMC,IAAS,CAACD,MAAyB;AAGrC,QAFAA,EAAM,eAAA,GAEFxB;AACA;AAGJ,UAAMsB,IAAQH,EAAS,SAAS;AAEhC,IAAIG,EAAM,kBACNA,EAAM,gBAAgB,KAG1BA,EAAM,UAAU,CAACA,EAAM,SAEvBT,EAAQW,CAA2C,GACnDb,EAASa,CAA4C;AAAA,EACzD,GAEME,IAAOjB,KAASb,GAEhB+B,IAAkBC;AAAA,IACpB;AAAA,IACArB,KAAU;AAAA,IACVS,MAAS,WAAW;AAAA,IACpBD,KAAS;AAAA,IACTf,KAAY;AAAA,IACZH;AAAA,EAAA,GAGEgC,IAAkBD;AAAA,IACpB3B,KAAS;AAAA,IACTe,MAAS,WAAW;AAAA,IACpBV,KAAiB;AAAA,IACjBT;AAAA,EAAA;AAOJ,SACI,gBAAAiC;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGZ;AAAA,MACJ,WAAWS;AAAA,MACX,UAAAV;AAAA,MACA,SAASZ;AAAA,MACT,WAAWkB;AAAA,MACX,KAAKJ;AAAA,MAEL,UAAA;AAAA,QAAA,gBAAAY;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,IAAA1B;AAAA,YACA,MAAAK;AAAA,YACA,MAAK;AAAA,YACL,SAAAf;AAAA,YACA,UAAAmB;AAAA,YACA,gBAAAf;AAAA,YACA,UAAAC;AAAA,YACA,WAAW6B;AAAA,YACX,SAAAhB;AAAA,YACA,UAAAF;AAAA,YACA,KAAKH;AAAA,UAAA;AAAA,QAAA;AAAA,QAxBQ,CAAC,CAACN,KA2Bf,gBAAA6B,EAACC,GAAA,EAAa,MAAA9B,GAAY,UAAAE,GAAoB,mBAAAD,GAAsC,MAAAuB,GAAY;AAAA,QAzBtF,CAACxB,KAAQ,CAACJ,uBA2BL,QAAA,EAAK,WAAU,iBAAiB,UAAA4B,KAAQ,gBAAAK,EAAC,QAAA,EAAM,UAAAL,EAAA,CAAK,EAAA,CAAQ;AAAA,QA5B3D5B,KAAUF,KA6BNA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC;AAEAH,EAAS,sBAAsBF;AAC/BE,EAAS,wBAAwBD;"}
@@ -121,7 +121,6 @@ class E extends W {
121
121
  * @param {object} nextProps - The next props.
122
122
  * @returns {undefined}
123
123
  */
124
- // eslint-disable-next-line camelcase
125
124
  UNSAFE_componentWillReceiveProps(e) {
126
125
  const { startValue: a, endValue: s, textDefault: i, customRangeOnly: n, locale: l, defaultStartValue: d, defaultEndValue: r } = e, { internalStartValue: u, internalEndValue: c } = this.state, m = R(a) && R(s) && R(u) && R(c), g = T(a) && T(s);
127
126
  m || g ? this.setState({
@@ -340,7 +339,6 @@ class E extends W {
340
339
  i
341
340
  ), /* @__PURE__ */ React.createElement("button", { type: "button", onClick: this.toggleDropdownOpen, className: "btn btn-default pull-right" }, n)));
342
341
  }
343
- // eslint-disable-next-line complexity
344
342
  render() {
345
343
  const {
346
344
  locale: e,