@rio-cloud/rio-uikit 2.0.0 → 2.1.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 (205) hide show
  1. package/components/actionBarItem/ActionBarItem.d.ts +2 -2
  2. package/components/actionBarItem/ActionBarItem.js.map +1 -1
  3. package/components/applicationHeader/ApplicationHeader.d.ts +6 -7
  4. package/components/applicationHeader/ApplicationHeader.js.map +1 -1
  5. package/components/applicationLayout/SubNavigation.d.ts +7 -0
  6. package/components/applicationLayout/SubNavigation.js.map +1 -1
  7. package/components/assetTree/AssetTree.d.ts +7 -0
  8. package/components/assetTree/AssetTree.js.map +1 -1
  9. package/components/assetTree/Tree.d.ts +15 -0
  10. package/components/assetTree/Tree.js.map +1 -1
  11. package/components/assetTree/TreeIcon.d.ts +30 -0
  12. package/components/assetTree/TreeIcon.js +16 -0
  13. package/components/assetTree/TreeIcon.js.map +1 -0
  14. package/components/assetTree/TreeLeaf.js +22 -22
  15. package/components/assetTree/TreeLeaf.js.map +1 -1
  16. package/components/assetTree/TreeNode.js +25 -25
  17. package/components/assetTree/TreeNode.js.map +1 -1
  18. package/components/assetTree/TreeSearch.d.ts +2 -0
  19. package/components/assetTree/TreeSearch.js.map +1 -1
  20. package/components/barList/BarList.d.ts +26 -0
  21. package/components/barList/BarList.js.map +1 -1
  22. package/components/bottomSheet/BottomSheet.d.ts +17 -3
  23. package/components/bottomSheet/BottomSheet.js.map +1 -1
  24. package/components/bottomSheet/TimedBottomSheet.d.ts +10 -0
  25. package/components/bottomSheet/TimedBottomSheet.js.map +1 -1
  26. package/components/calendarStripe/CalendarStripe.d.ts +1 -1
  27. package/components/calendarStripe/CalendarStripe.js +34 -36
  28. package/components/calendarStripe/CalendarStripe.js.map +1 -1
  29. package/components/charts/Area.d.ts +2 -2
  30. package/components/charts/Area.js.map +1 -1
  31. package/components/charts/Line.d.ts +2 -2
  32. package/components/charts/Line.js.map +1 -1
  33. package/components/checkbox/Checkbox.d.ts +0 -3
  34. package/components/checkbox/Checkbox.js.map +1 -1
  35. package/components/clearableInput/ClearableInput.d.ts +21 -20
  36. package/components/clearableInput/ClearableInput.js.map +1 -1
  37. package/components/collapse/Collapse.d.ts +3 -0
  38. package/components/collapse/Collapse.js +12 -12
  39. package/components/collapse/Collapse.js.map +1 -1
  40. package/components/contentLoader/ContentLoader.d.ts +10 -2
  41. package/components/contentLoader/ContentLoader.js.map +1 -1
  42. package/components/dataTabs/DataTabs.d.ts +6 -0
  43. package/components/dataTabs/DataTabs.js.map +1 -1
  44. package/components/datepicker/DatePicker.d.ts +2 -2
  45. package/components/datepicker/DatePicker.js +31 -31
  46. package/components/datepicker/DatePicker.js.map +1 -1
  47. package/components/dialog/ConfirmationDialog.d.ts +22 -0
  48. package/components/dialog/ConfirmationDialog.js.map +1 -1
  49. package/components/dialog/Dialog.d.ts +13 -1
  50. package/components/dialog/Dialog.js.map +1 -1
  51. package/components/dialog/ReleaseNotesDialog.d.ts +3 -3
  52. package/components/dialog/ReleaseNotesDialog.js.map +1 -1
  53. package/components/dropdown/ButtonDropdown.d.ts +4 -0
  54. package/components/dropdown/ButtonDropdown.js +51 -51
  55. package/components/dropdown/ButtonDropdown.js.map +1 -1
  56. package/components/dropdown/DropdownSubmenu.d.ts +4 -0
  57. package/components/dropdown/DropdownSubmenu.js.map +1 -1
  58. package/components/editableContent/EditableContent.d.ts +6 -0
  59. package/components/editableContent/EditableContent.js.map +1 -1
  60. package/components/expander/ExpanderList.d.ts +3 -0
  61. package/components/expander/ExpanderList.js.map +1 -1
  62. package/components/expander/ExpanderPanel.d.ts +14 -4
  63. package/components/expander/ExpanderPanel.js.map +1 -1
  64. package/components/fade/Fade.d.ts +1 -1
  65. package/components/fade/Fade.js.map +1 -1
  66. package/components/filepicker/FilePicker.d.ts +0 -2
  67. package/components/filepicker/FilePicker.js.map +1 -1
  68. package/components/groupedItemList/GroupedItemList.d.ts +10 -7
  69. package/components/groupedItemList/GroupedItemList.js.map +1 -1
  70. package/components/listMenu/ListMenu.js.map +1 -1
  71. package/components/listMenu/ListMenuGroup.d.ts +2 -1
  72. package/components/listMenu/ListMenuGroup.js.map +1 -1
  73. package/components/map/components/Map.js.map +1 -1
  74. package/components/map/components/constants.js.map +1 -1
  75. package/components/map/components/features/ContextMenuItem.d.ts +1 -1
  76. package/components/map/components/features/ContextMenuItem.js +2 -17
  77. package/components/map/components/features/ContextMenuItem.js.map +1 -1
  78. package/components/map/components/features/basics/Polyline.d.ts +4 -1
  79. package/components/map/components/features/basics/Polyline.js +1 -1
  80. package/components/map/components/features/basics/Polyline.js.map +1 -1
  81. package/components/map/components/features/layers/MarkerLayer.d.ts +3 -1
  82. package/components/map/components/features/layers/MarkerLayer.js.map +1 -1
  83. package/components/map/components/features/layers/clustering/ClusterLayer.js +1 -1
  84. package/components/map/components/features/layers/clustering/ClusterLayer.js.map +1 -1
  85. package/components/map/components/features/layers/clustering/SimpleClusterLayer.d.ts +3 -2
  86. package/components/map/components/features/layers/clustering/SimpleClusterLayer.js.map +1 -1
  87. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js +7 -7
  88. package/components/map/components/features/layers/overlayLayers/RoadRestrictionLayer.js.map +1 -1
  89. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js +4 -4
  90. package/components/map/components/features/layers/overlayLayers/TrafficLayer.js.map +1 -1
  91. package/components/map/utils/clustering.d.ts +6 -1
  92. package/components/map/utils/clustering.js +25 -19
  93. package/components/map/utils/clustering.js.map +1 -1
  94. package/components/map/utils/rendering.d.ts +1 -1
  95. package/components/map/utils/rendering.js +23 -23
  96. package/components/map/utils/rendering.js.map +1 -1
  97. package/components/menuItems/MenuItem.d.ts +23 -0
  98. package/components/menuItems/MenuItem.js.map +1 -1
  99. package/components/notification/Notification.js +4 -4
  100. package/components/notification/Notification.js.map +1 -1
  101. package/components/onboarding/OnboardingTip.d.ts +18 -12
  102. package/components/onboarding/OnboardingTip.js.map +1 -1
  103. package/components/overlay/OverlayTrigger.d.ts +43 -1
  104. package/components/overlay/OverlayTrigger.js.map +1 -1
  105. package/components/pager/Pager.d.ts +3 -0
  106. package/components/pager/Pager.js.map +1 -1
  107. package/components/popover/Popover.d.ts +1 -0
  108. package/components/popover/Popover.js.map +1 -1
  109. package/components/preloader/ImagePreloader.d.ts +1 -1
  110. package/components/preloader/ImagePreloader.js.map +1 -1
  111. package/components/radiobutton/RadioButton.d.ts +9 -5
  112. package/components/radiobutton/RadioButton.js.map +1 -1
  113. package/components/releaseNotes/ReleaseNotes.d.ts +0 -3
  114. package/components/releaseNotes/ReleaseNotes.js.map +1 -1
  115. package/components/resizer/Resizer.d.ts +17 -3
  116. package/components/resizer/Resizer.js.map +1 -1
  117. package/components/rioglyph/Rioglyph.d.ts +20 -8
  118. package/components/rioglyph/Rioglyph.js.map +1 -1
  119. package/components/rules/RulesWrapper.js +1 -1
  120. package/components/rules/RulesWrapper.js.map +1 -1
  121. package/components/saveableInput/SaveableDateInput.d.ts +20 -2
  122. package/components/saveableInput/SaveableDateInput.js.map +1 -1
  123. package/components/saveableInput/SaveableInput.d.ts +10 -2
  124. package/components/saveableInput/SaveableInput.js.map +1 -1
  125. package/components/selects/BaseSelectDropdown.js +90 -79
  126. package/components/selects/BaseSelectDropdown.js.map +1 -1
  127. package/components/selects/Select.d.ts +5 -0
  128. package/components/selects/Select.js +94 -94
  129. package/components/selects/Select.js.map +1 -1
  130. package/components/sidebars/Sidebar.d.ts +19 -3
  131. package/components/sidebars/Sidebar.js.map +1 -1
  132. package/components/slider/RangeSlider.d.ts +15 -0
  133. package/components/slider/RangeSlider.js.map +1 -1
  134. package/components/slider/Slider.d.ts +9 -0
  135. package/components/slider/Slider.js.map +1 -1
  136. package/components/smoothScrollbars/SmoothScrollbars.d.ts +44 -0
  137. package/components/smoothScrollbars/SmoothScrollbars.js.map +1 -1
  138. package/components/spinner/Spinner.d.ts +3 -3
  139. package/components/spinner/Spinner.js.map +1 -1
  140. package/components/states/BaseStateProps.d.ts +6 -2
  141. package/components/states/StateIcon.d.ts +14 -1
  142. package/components/states/StateIcon.js.map +1 -1
  143. package/components/statsWidget/StatsWidget.d.ts +2 -0
  144. package/components/statsWidget/StatsWidget.js.map +1 -1
  145. package/components/statsWidget/StatsWidgetBody.d.ts +1 -0
  146. package/components/statsWidget/StatsWidgetBody.js.map +1 -1
  147. package/components/statsWidget/StatsWidgetNumber.d.ts +2 -0
  148. package/components/statsWidget/StatsWidgetNumber.js.map +1 -1
  149. package/components/statusBar/StatusBar.d.ts +2 -31
  150. package/components/statusBar/StatusBar.js.map +1 -1
  151. package/components/statusBar/StatusBarIcon.d.ts +2 -2
  152. package/components/statusBar/StatusBarIcon.js.map +1 -1
  153. package/components/statusBar/StatusBarLabel.d.ts +2 -2
  154. package/components/statusBar/StatusBarLabel.js.map +1 -1
  155. package/components/statusBar/StatusBarProgressBar.d.ts +1 -1
  156. package/components/statusBar/StatusBarProgressBar.js.map +1 -1
  157. package/components/statusBar/{StatusBar.types.d.ts → StatusBarProps.d.ts} +44 -2
  158. package/components/steppedProgressBar/SteppedProgressBar.d.ts +1 -1
  159. package/components/steppedProgressBar/SteppedProgressBar.js.map +1 -1
  160. package/components/switch/Switch.d.ts +13 -1
  161. package/components/switch/Switch.js.map +1 -1
  162. package/components/table/SortArrowDown.d.ts +1 -1
  163. package/components/table/SortArrowDown.js.map +1 -1
  164. package/components/table/SortArrowUp.d.ts +1 -1
  165. package/components/table/SortArrowUp.js.map +1 -1
  166. package/components/table/TableSettingsDialog.d.ts +5 -0
  167. package/components/table/TableSettingsDialog.js +119 -109
  168. package/components/table/TableSettingsDialog.js.map +1 -1
  169. package/components/table/TableSettingsDialogFooter.js +9 -9
  170. package/components/table/TableSettingsDialogFooter.js.map +1 -1
  171. package/components/table/TableViewToggles.d.ts +21 -1
  172. package/components/table/TableViewToggles.js.map +1 -1
  173. package/components/tag/Tag.d.ts +7 -2
  174. package/components/tag/Tag.js.map +1 -1
  175. package/components/tagManager/TagManager.d.ts +15 -0
  176. package/components/tagManager/TagManager.js.map +1 -1
  177. package/components/tagManager/TagManagerTag.d.ts +9 -0
  178. package/components/teaser/Teaser.d.ts +57 -55
  179. package/components/teaser/Teaser.js.map +1 -1
  180. package/components/teaser/TeaserContainer.d.ts +1 -1
  181. package/components/teaser/TeaserContainer.js.map +1 -1
  182. package/components/tooltip/SimpleTooltip.d.ts +22 -4
  183. package/components/tooltip/SimpleTooltip.js.map +1 -1
  184. package/components/tooltip/Tooltip.d.ts +22 -2
  185. package/components/tooltip/Tooltip.js.map +1 -1
  186. package/components/video/ResponsiveVideo.d.ts +8 -3
  187. package/components/video/ResponsiveVideo.js.map +1 -1
  188. package/hooks/useKey.d.ts +1 -1
  189. package/hooks/useKey.js.map +1 -1
  190. package/hooks/useOnboarding.d.ts +86 -80
  191. package/hooks/useOnboarding.js.map +1 -1
  192. package/hooks/useTableExport.js.map +1 -1
  193. package/hooks/useUncontrollable.d.ts +1 -1
  194. package/hooks/useUncontrollable.js.map +1 -1
  195. package/package.json +12 -14
  196. package/utils/colorScheme.js +14 -13
  197. package/utils/colorScheme.js.map +1 -1
  198. package/utils/cssuseragent.js.map +1 -1
  199. package/utils/scrollItemIntoView.js +12 -11
  200. package/utils/scrollItemIntoView.js.map +1 -1
  201. package/utils/urlFeatureToggles.js +19 -20
  202. package/utils/urlFeatureToggles.js.map +1 -1
  203. package/version.d.ts +1 -1
  204. package/version.js +1 -1
  205. package/version.js.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- export type StatusBarIconSpec = {
2
+ export type StatusBarIcon = {
3
3
  /**
4
4
  * The class name of the icon i.e. "rioglyph-cruise-control".
5
5
  */
@@ -21,7 +21,7 @@ export type StatusBarIconSpec = {
21
21
  */
22
22
  className?: string;
23
23
  };
24
- export type StatusBarLabelSpec = {
24
+ export type StatusBarLabel = {
25
25
  /**
26
26
  * The label content.
27
27
  */
@@ -83,3 +83,45 @@ export type StatusBarProgress = {
83
83
  */
84
84
  className?: string;
85
85
  };
86
+ export type StatusBarProps = {
87
+ /**
88
+ * The icon to be shown next to the progress bar.
89
+ */
90
+ icon?: StatusBarIcon;
91
+ /**
92
+ * The label to be shown for the progress bar.
93
+ */
94
+ label?: StatusBarLabel;
95
+ /**
96
+ * List of progress bars which will be stacked in given order if there are multiple.
97
+ */
98
+ progress?: StatusBarProgress[];
99
+ /**
100
+ * The size of the icon and progress bar.
101
+ *
102
+ * Possible values are:
103
+ *
104
+ * - `'small'`
105
+ * - `'large'`
106
+ *
107
+ * @default 'small'
108
+ */
109
+ size?: 'small' | 'large';
110
+ /**
111
+ * Uses a divider for multiple progress bars when defined.
112
+ *
113
+ * @default true
114
+ */
115
+ useProgressDivider?: boolean;
116
+ /**
117
+ * Optional class names for the wrapper element.
118
+ */
119
+ className?: string;
120
+ };
121
+ export type IconWithDefaults = StatusBarIcon & {
122
+ alignment: 'left' | 'right';
123
+ };
124
+ export type LabelWithDefaults = StatusBarLabel & {
125
+ alignment: 'left' | 'top' | 'right';
126
+ weight: 'light' | 'bold';
127
+ };
@@ -37,7 +37,7 @@ export type SteppedProgressBarProps = {
37
37
  /**
38
38
  * The SteppedProgressBar Variant.
39
39
  *
40
- * One of "circle", "rectangle" or "roadsign".
40
+ * One of `circle`, `rectangle` or `roadsign`.
41
41
  *
42
42
  * @default 'circle'
43
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SteppedProgressBar.js","sources":["../../../src/components/steppedProgressBar/SteppedProgressBar.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useState } from 'react';\nimport { Nav } from 'react-bootstrap';\nimport classNames from 'classnames';\n\nexport type SteppedProgressBarLabel = {\n /**\n * The element shown in the step element.\n *\n * This can be a single step number or an icon element.\n */\n icon?: string | ReactNode;\n\n /**\n * The label shown below the step element.\n */\n label?: string | ReactNode;\n\n /**\n * Additional classes to be set on the label element.\n */\n labelClassName?: string;\n\n /**\n * Additional classes to be set on the label wrapping element.\n */\n labelWrapperClassName?: string;\n};\n\nexport type SteppedProgressBarProps = {\n /**\n * Objects to defining the icon and the label of the navigation items.\n *\n * The icon can be a string or an icon.\n */\n labels: SteppedProgressBarLabel[];\n\n /**\n * Index of the selected navigation item.\n */\n selectedStepNumber: number;\n\n /**\n * Called with the new selected index after the user clicked a nav item.\n */\n onSelectedChanged: (selectedKey: number) => void;\n\n /**\n * The SteppedProgressBar Variant.\n *\n * One of \"circle\", \"rectangle\" or \"roadsign\".\n *\n * @default 'circle'\n */\n variant?: 'circle' | 'rectangle' | 'roadsign';\n\n /**\n * All navigation items with a higher index than this will be disabled.\n */\n disableFollowingPages?: number;\n\n /**\n * Deactivating the wrapping of bubbles on mobile.\n *\n * @default true\n */\n mobileBreakpoint?: boolean;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst SteppedProgressBar = (props: SteppedProgressBarProps) => {\n const {\n labels,\n selectedStepNumber,\n onSelectedChanged,\n variant = 'circle',\n disableFollowingPages: disableFollowingPageIndex,\n mobileBreakpoint = true,\n className = '',\n } = props;\n\n const [disableFollowingPages, setDisableFollowingPages] = useState(\n disableFollowingPageIndex ? disableFollowingPageIndex : selectedStepNumber\n );\n\n useEffect(() => {\n if (disableFollowingPageIndex !== undefined) {\n if (disableFollowingPageIndex < selectedStepNumber) {\n console.warn(\n 'Invalid component state detected in SteppedProgressBar: can not disable following ' +\n `pages ${disableFollowingPageIndex} when selectedStep is ${selectedStepNumber}!`\n );\n return;\n }\n\n setDisableFollowingPages(disableFollowingPageIndex);\n } else if (selectedStepNumber > disableFollowingPages) {\n setDisableFollowingPages(selectedStepNumber);\n }\n }, [disableFollowingPageIndex, selectedStepNumber]);\n\n const wrapperClasses = classNames(\n 'stepped-progress-bar',\n variant && `variant-${variant}`,\n mobileBreakpoint && 'mobile-breakpoint',\n className && className\n );\n\n const handleSelect = (selectedKey: string | null) => onSelectedChanged(Number(selectedKey));\n\n return (\n <Nav className={wrapperClasses} activeKey={selectedStepNumber} onSelect={handleSelect}>\n {labels.map((labelObject, index) => (\n <Nav.Link\n key={index}\n eventKey={index}\n disabled={index > disableFollowingPages}\n as='a'\n className={classNames('step-tab', labelObject.labelWrapperClassName)}\n >\n <div className='step-tab-content'>\n <div className='item-icon'>{labelObject.icon}</div>\n <div className={classNames('item-label', labelObject.labelClassName)}>{labelObject.label}</div>\n </div>\n </Nav.Link>\n ))}\n </Nav>\n );\n};\n\nSteppedProgressBar.VARIANT_CIRCLE = 'circle' as const;\nSteppedProgressBar.VARIANT_RECTANGLE = 'rectangle' as const;\nSteppedProgressBar.VARIANT_ROADSIGN = 'roadsign' as const;\n\nexport default SteppedProgressBar;\n"],"names":["SteppedProgressBar","props","labels","selectedStepNumber","onSelectedChanged","variant","disableFollowingPageIndex","mobileBreakpoint","className","disableFollowingPages","setDisableFollowingPages","useState","useEffect","wrapperClasses","classNames","jsx","Nav","selectedKey","labelObject","index","jsxs"],"mappings":";;;;AAyEA,MAAMA,IAAqB,CAACC,MAAmC;AAC3D,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,uBAAuBC;AAAA,IACvB,kBAAAC,IAAmB;AAAA,IACnB,WAAAC,IAAY;AAAA,EAAA,IACZP,GAEE,CAACQ,GAAuBC,CAAwB,IAAIC;AAAA,IACtDL,KAAwDH;AAAA,EAAA;AAG5D,EAAAS,EAAU,MAAM;AACZ,QAAIN,MAA8B,QAAW;AACzC,UAAIA,IAA4BH,GAAoB;AAChD,gBAAQ;AAAA,UACJ,2FACaG,CAAyB,yBAAyBH,CAAkB;AAAA,QAAA;AAErF;AAAA,MACJ;AAEA,MAAAO,EAAyBJ,CAAyB;AAAA,IACtD,MAAA,CAAWH,IAAqBM,KAC5BC,EAAyBP,CAAkB;AAAA,EAEnD,GAAG,CAACG,GAA2BH,CAAkB,CAAC;AAElD,QAAMU,IAAiBC;AAAA,IACnB;AAAA,IACAT,KAAW,WAAWA,CAAO;AAAA,IAC7BE,KAAoB;AAAA,IACpBC,KAAaA;AAAA,EAAA;AAKjB,SACI,gBAAAO,EAACC,GAAA,EAAI,WAAWH,GAAgB,WAAWV,GAAoB,UAH9C,CAACc,MAA+Bb,EAAkB,OAAOa,CAAW,CAAC,GAIjF,UAAAf,EAAO,IAAI,CAACgB,GAAaC,MACtB,gBAAAJ;AAAA,IAACC,EAAI;AAAA,IAAJ;AAAA,MAEG,UAAUG;AAAA,MACV,UAAUA,IAAQV;AAAA,MAClB,IAAG;AAAA,MACH,WAAWK,EAAW,YAAYI,EAAY,qBAAqB;AAAA,MAEnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,oBACX,UAAA;AAAA,QAAA,gBAAAL,EAAC,OAAA,EAAI,WAAU,aAAa,UAAAG,EAAY,MAAK;AAAA,QAC7C,gBAAAH,EAAC,SAAI,WAAWD,EAAW,cAAcI,EAAY,cAAc,GAAI,UAAAA,EAAY,MAAA,CAAM;AAAA,MAAA,EAAA,CAC7F;AAAA,IAAA;AAAA,IATKC;AAAA,EAAA,CAWZ,GACL;AAER;AAEAnB,EAAmB,iBAAiB;AACpCA,EAAmB,oBAAoB;AACvCA,EAAmB,mBAAmB;"}
1
+ {"version":3,"file":"SteppedProgressBar.js","sources":["../../../src/components/steppedProgressBar/SteppedProgressBar.tsx"],"sourcesContent":["import { type ReactNode, useEffect, useState } from 'react';\nimport { Nav } from 'react-bootstrap';\nimport classNames from 'classnames';\n\nexport type SteppedProgressBarLabel = {\n /**\n * The element shown in the step element.\n *\n * This can be a single step number or an icon element.\n */\n icon?: string | ReactNode;\n\n /**\n * The label shown below the step element.\n */\n label?: string | ReactNode;\n\n /**\n * Additional classes to be set on the label element.\n */\n labelClassName?: string;\n\n /**\n * Additional classes to be set on the label wrapping element.\n */\n labelWrapperClassName?: string;\n};\n\nexport type SteppedProgressBarProps = {\n /**\n * Objects to defining the icon and the label of the navigation items.\n *\n * The icon can be a string or an icon.\n */\n labels: SteppedProgressBarLabel[];\n\n /**\n * Index of the selected navigation item.\n */\n selectedStepNumber: number;\n\n /**\n * Called with the new selected index after the user clicked a nav item.\n */\n onSelectedChanged: (selectedKey: number) => void;\n\n /**\n * The SteppedProgressBar Variant.\n *\n * One of `circle`, `rectangle` or `roadsign`.\n *\n * @default 'circle'\n */\n variant?: 'circle' | 'rectangle' | 'roadsign';\n\n /**\n * All navigation items with a higher index than this will be disabled.\n */\n disableFollowingPages?: number;\n\n /**\n * Deactivating the wrapping of bubbles on mobile.\n *\n * @default true\n */\n mobileBreakpoint?: boolean;\n\n /**\n * Additional classes to be set on the wrapper element.\n */\n className?: string;\n};\n\nconst SteppedProgressBar = (props: SteppedProgressBarProps) => {\n const {\n labels,\n selectedStepNumber,\n onSelectedChanged,\n variant = 'circle',\n disableFollowingPages: disableFollowingPageIndex,\n mobileBreakpoint = true,\n className = '',\n } = props;\n\n const [disableFollowingPages, setDisableFollowingPages] = useState(\n disableFollowingPageIndex ? disableFollowingPageIndex : selectedStepNumber\n );\n\n useEffect(() => {\n if (disableFollowingPageIndex !== undefined) {\n if (disableFollowingPageIndex < selectedStepNumber) {\n console.warn(\n 'Invalid component state detected in SteppedProgressBar: can not disable following ' +\n `pages ${disableFollowingPageIndex} when selectedStep is ${selectedStepNumber}!`\n );\n return;\n }\n\n setDisableFollowingPages(disableFollowingPageIndex);\n } else if (selectedStepNumber > disableFollowingPages) {\n setDisableFollowingPages(selectedStepNumber);\n }\n }, [disableFollowingPageIndex, selectedStepNumber]);\n\n const wrapperClasses = classNames(\n 'stepped-progress-bar',\n variant && `variant-${variant}`,\n mobileBreakpoint && 'mobile-breakpoint',\n className && className\n );\n\n const handleSelect = (selectedKey: string | null) => onSelectedChanged(Number(selectedKey));\n\n return (\n <Nav className={wrapperClasses} activeKey={selectedStepNumber} onSelect={handleSelect}>\n {labels.map((labelObject, index) => (\n <Nav.Link\n key={index}\n eventKey={index}\n disabled={index > disableFollowingPages}\n as='a'\n className={classNames('step-tab', labelObject.labelWrapperClassName)}\n >\n <div className='step-tab-content'>\n <div className='item-icon'>{labelObject.icon}</div>\n <div className={classNames('item-label', labelObject.labelClassName)}>{labelObject.label}</div>\n </div>\n </Nav.Link>\n ))}\n </Nav>\n );\n};\n\nSteppedProgressBar.VARIANT_CIRCLE = 'circle' as const;\nSteppedProgressBar.VARIANT_RECTANGLE = 'rectangle' as const;\nSteppedProgressBar.VARIANT_ROADSIGN = 'roadsign' as const;\n\nexport default SteppedProgressBar;\n"],"names":["SteppedProgressBar","props","labels","selectedStepNumber","onSelectedChanged","variant","disableFollowingPageIndex","mobileBreakpoint","className","disableFollowingPages","setDisableFollowingPages","useState","useEffect","wrapperClasses","classNames","jsx","Nav","selectedKey","labelObject","index","jsxs"],"mappings":";;;;AAyEA,MAAMA,IAAqB,CAACC,MAAmC;AAC3D,QAAM;AAAA,IACF,QAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,uBAAuBC;AAAA,IACvB,kBAAAC,IAAmB;AAAA,IACnB,WAAAC,IAAY;AAAA,EAAA,IACZP,GAEE,CAACQ,GAAuBC,CAAwB,IAAIC;AAAA,IACtDL,KAAwDH;AAAA,EAAA;AAG5D,EAAAS,EAAU,MAAM;AACZ,QAAIN,MAA8B,QAAW;AACzC,UAAIA,IAA4BH,GAAoB;AAChD,gBAAQ;AAAA,UACJ,2FACaG,CAAyB,yBAAyBH,CAAkB;AAAA,QAAA;AAErF;AAAA,MACJ;AAEA,MAAAO,EAAyBJ,CAAyB;AAAA,IACtD,MAAA,CAAWH,IAAqBM,KAC5BC,EAAyBP,CAAkB;AAAA,EAEnD,GAAG,CAACG,GAA2BH,CAAkB,CAAC;AAElD,QAAMU,IAAiBC;AAAA,IACnB;AAAA,IACAT,KAAW,WAAWA,CAAO;AAAA,IAC7BE,KAAoB;AAAA,IACpBC,KAAaA;AAAA,EAAA;AAKjB,SACI,gBAAAO,EAACC,GAAA,EAAI,WAAWH,GAAgB,WAAWV,GAAoB,UAH9C,CAACc,MAA+Bb,EAAkB,OAAOa,CAAW,CAAC,GAIjF,UAAAf,EAAO,IAAI,CAACgB,GAAaC,MACtB,gBAAAJ;AAAA,IAACC,EAAI;AAAA,IAAJ;AAAA,MAEG,UAAUG;AAAA,MACV,UAAUA,IAAQV;AAAA,MAClB,IAAG;AAAA,MACH,WAAWK,EAAW,YAAYI,EAAY,qBAAqB;AAAA,MAEnE,UAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,oBACX,UAAA;AAAA,QAAA,gBAAAL,EAAC,OAAA,EAAI,WAAU,aAAa,UAAAG,EAAY,MAAK;AAAA,QAC7C,gBAAAH,EAAC,SAAI,WAAWD,EAAW,cAAcI,EAAY,cAAc,GAAI,UAAAA,EAAY,MAAA,CAAM;AAAA,MAAA,EAAA,CAC7F;AAAA,IAAA;AAAA,IATKC;AAAA,EAAA,CAWZ,GACL;AAER;AAEAnB,EAAmB,iBAAiB;AACpCA,EAAmB,oBAAoB;AACvCA,EAAmB,mBAAmB;"}
@@ -18,11 +18,22 @@ export type SwitchProps = {
18
18
  /**
19
19
  * Defines the color of the switch.
20
20
  *
21
+ * Possible values are:
22
+ *
23
+ * - `'primary'`
24
+ * - `'secondary'`
25
+ * - `'info'`
26
+ * - `'success'`
27
+ * - `'warning'`
28
+ * - `'danger'`
29
+ *
21
30
  * @default 'primary'
22
31
  */
23
32
  color?: CurrentColor;
24
33
  /**
25
34
  * The min-width of the switch.
35
+ *
36
+ * @default 40
26
37
  */
27
38
  minWidth?: number;
28
39
  /**
@@ -41,8 +52,9 @@ export type SwitchProps = {
41
52
  disabledText?: string;
42
53
  /**
43
54
  * Defines the position of the switch label.
55
+ * Defaults to `'right'` when children are present.
44
56
  *
45
- * Possible values are `left` and `right`.
57
+ * Possible values are `'left'` and `'right'`.
46
58
  */
47
59
  labelPosition?: 'left' | 'right';
48
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../src/components/switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef, type ChangeEvent, type PropsWithChildren } from 'react';\nimport classNames from 'classnames';\nimport { noop } from 'es-toolkit/function';\n\nimport { getCurrentBackgroundColor, type CurrentColor } from '../../utils/currentColors';\n\nexport type SwitchProps = {\n /**\n * Optional key that is used as key and as the id on the internal input.\n */\n keyName?: string;\n\n /**\n * Callback function triggered when clicking the button.\n */\n onChange?: (toggleState: boolean) => void;\n\n /**\n * Set active / inactive state.\n *\n * @default false\n */\n checked?: boolean;\n\n /**\n * Defines the color of the switch.\n *\n * @default 'primary'\n */\n color?: CurrentColor;\n\n /**\n * The min-width of the switch.\n */\n minWidth?: number;\n\n /**\n * Disables the component.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * The text used for the ON state.\n */\n enabledText?: string;\n\n /**\n * The text used for the OFF state.\n */\n disabledText?: string;\n\n /**\n * Defines the position of the switch label.\n *\n * Possible values are `left` and `right`.\n */\n labelPosition?: 'left' | 'right';\n\n /**\n * Additional class names added to the SVG element.\n */\n className?: string;\n};\n\nconst Switch = forwardRef((props: PropsWithChildren<SwitchProps>, ref: React.Ref<HTMLDivElement>) => {\n const {\n keyName,\n checked = false,\n enabledText,\n minWidth = 40,\n disabled = false,\n color = 'primary',\n disabledText,\n children,\n className = '',\n labelPosition = children ? 'right' : undefined,\n onChange = noop,\n ...remainingProps\n } = props;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.checked);\n };\n\n const hasMultipleText = enabledText && disabledText;\n const hasSingleText = enabledText && !disabledText;\n\n const switchClasses = classNames('uikit-switch', className);\n\n const switchLabelClasses = classNames(\n 'switch-label',\n disabled && 'cursor-not-allowed',\n labelPosition && `label-position-${labelPosition}`\n );\n\n const switchContentClasses = classNames('switch-content');\n\n const switchBackgroundColor = getCurrentBackgroundColor(color);\n\n return (\n <div ref={ref} {...remainingProps} className={switchClasses}>\n <label className={switchLabelClasses}>\n <input\n onChange={handleChange}\n checked={checked}\n type='checkbox'\n id={keyName}\n key={keyName}\n className='switch-input'\n disabled={disabled}\n />\n <div className={switchContentClasses} style={{ color: switchBackgroundColor, minWidth }}>\n {hasMultipleText ? (\n <div className='switch-text' data-on={enabledText} data-off={disabledText} />\n ) : (\n hasSingleText && <div className='switch-text' data-on={enabledText} data-off={enabledText} />\n )}\n <div className='switch-handle' />\n </div>\n\n {children && children}\n </label>\n </div>\n );\n}) as React.ForwardRefExoticComponent<PropsWithChildren<SwitchProps> & React.RefAttributes<HTMLDivElement>> & {\n LABEL_POSITION_LEFT: 'left';\n LABEL_POSITION_RIGHT: 'right';\n};\n\nSwitch.LABEL_POSITION_LEFT = 'left' as const;\nSwitch.LABEL_POSITION_RIGHT = 'right' as const;\n\nexport default Switch;\n"],"names":["Switch","forwardRef","props","ref","keyName","checked","enabledText","minWidth","disabled","color","disabledText","children","className","labelPosition","onChange","noop","remainingProps","handleChange","event","hasMultipleText","hasSingleText","switchClasses","classNames","switchLabelClasses","switchContentClasses","switchBackgroundColor","getCurrentBackgroundColor","jsx","jsxs"],"mappings":";;;;;AAkEA,MAAMA,IAASC,EAAW,CAACC,GAAuCC,MAAmC;AACjG,QAAM;AAAA,IACF,SAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQ;AAAA,IACR,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,eAAAC,IAAgBF,IAAW,UAAU;AAAA,IACrC,UAAAG,IAAWC;AAAA,IACX,GAAGC;AAAA,EAAA,IACHd,GAEEe,IAAe,CAACC,MAAyC;AAC3D,IAAAJ,EAASI,EAAM,OAAO,OAAO;AAAA,EACjC,GAEMC,IAAkBb,KAAeI,GACjCU,IAAgBd,KAAe,CAACI,GAEhCW,IAAgBC,EAAW,gBAAgBV,CAAS,GAEpDW,IAAqBD;AAAA,IACvB;AAAA,IACAd,KAAY;AAAA,IACZK,KAAiB,kBAAkBA,CAAa;AAAA,EAAA,GAG9CW,IAAuBF,EAAW,gBAAgB,GAElDG,IAAwBC,EAA0BjB,CAAK;AAE7D,SACI,gBAAAkB,EAAC,OAAA,EAAI,KAAAxB,GAAW,GAAGa,GAAgB,WAAWK,GAC1C,UAAA,gBAAAO,EAAC,SAAA,EAAM,WAAWL,GACd,UAAA;AAAA,IAAA,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAUV;AAAA,QACV,SAAAZ;AAAA,QACA,MAAK;AAAA,QACL,IAAID;AAAA,QAEJ,WAAU;AAAA,QACV,UAAAI;AAAA,MAAA;AAAA,MAFKJ;AAAA,IAAA;AAAA,IAIT,gBAAAwB,EAAC,SAAI,WAAWJ,GAAsB,OAAO,EAAE,OAAOC,GAAuB,UAAAlB,EAAA,GACxE,UAAA;AAAA,MAAAY,sBACI,OAAA,EAAI,WAAU,eAAc,WAASb,GAAa,YAAUI,EAAA,CAAc,IAE3EU,uBAAkB,OAAA,EAAI,WAAU,eAAc,WAASd,GAAa,YAAUA,GAAa;AAAA,MAE/F,gBAAAqB,EAAC,OAAA,EAAI,WAAU,gBAAA,CAAgB;AAAA,IAAA,GACnC;AAAA,IAEChB,KAAYA;AAAA,EAAA,EAAA,CACjB,EAAA,CACJ;AAER,CAAC;AAKDX,EAAO,sBAAsB;AAC7BA,EAAO,uBAAuB;"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../src/components/switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef, type ChangeEvent, type PropsWithChildren } from 'react';\nimport classNames from 'classnames';\nimport { noop } from 'es-toolkit/function';\n\nimport { getCurrentBackgroundColor, type CurrentColor } from '../../utils/currentColors';\n\nexport type SwitchProps = {\n /**\n * Optional key that is used as key and as the id on the internal input.\n */\n keyName?: string;\n\n /**\n * Callback function triggered when clicking the button.\n */\n onChange?: (toggleState: boolean) => void;\n\n /**\n * Set active / inactive state.\n *\n * @default false\n */\n checked?: boolean;\n\n /**\n * Defines the color of the switch.\n *\n * Possible values are:\n *\n * - `'primary'`\n * - `'secondary'`\n * - `'info'`\n * - `'success'`\n * - `'warning'`\n * - `'danger'`\n *\n * @default 'primary'\n */\n color?: CurrentColor;\n\n /**\n * The min-width of the switch.\n *\n * @default 40\n */\n minWidth?: number;\n\n /**\n * Disables the component.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * The text used for the ON state.\n */\n enabledText?: string;\n\n /**\n * The text used for the OFF state.\n */\n disabledText?: string;\n\n /**\n * Defines the position of the switch label.\n * Defaults to `'right'` when children are present.\n *\n * Possible values are `'left'` and `'right'`.\n */\n labelPosition?: 'left' | 'right';\n\n /**\n * Additional class names added to the SVG element.\n */\n className?: string;\n};\n\nconst Switch = forwardRef((props: PropsWithChildren<SwitchProps>, ref: React.Ref<HTMLDivElement>) => {\n const {\n keyName,\n checked = false,\n enabledText,\n minWidth = 40,\n disabled = false,\n color = 'primary',\n disabledText,\n children,\n className = '',\n labelPosition = children ? 'right' : undefined,\n onChange = noop,\n ...remainingProps\n } = props;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n onChange(event.target.checked);\n };\n\n const hasMultipleText = enabledText && disabledText;\n const hasSingleText = enabledText && !disabledText;\n\n const switchClasses = classNames('uikit-switch', className);\n\n const switchLabelClasses = classNames(\n 'switch-label',\n disabled && 'cursor-not-allowed',\n labelPosition && `label-position-${labelPosition}`\n );\n\n const switchContentClasses = classNames('switch-content');\n\n const switchBackgroundColor = getCurrentBackgroundColor(color);\n\n return (\n <div ref={ref} {...remainingProps} className={switchClasses}>\n <label className={switchLabelClasses}>\n <input\n onChange={handleChange}\n checked={checked}\n type='checkbox'\n id={keyName}\n key={keyName}\n className='switch-input'\n disabled={disabled}\n />\n <div className={switchContentClasses} style={{ color: switchBackgroundColor, minWidth }}>\n {hasMultipleText ? (\n <div className='switch-text' data-on={enabledText} data-off={disabledText} />\n ) : (\n hasSingleText && <div className='switch-text' data-on={enabledText} data-off={enabledText} />\n )}\n <div className='switch-handle' />\n </div>\n\n {children && children}\n </label>\n </div>\n );\n}) as React.ForwardRefExoticComponent<PropsWithChildren<SwitchProps> & React.RefAttributes<HTMLDivElement>> & {\n LABEL_POSITION_LEFT: 'left';\n LABEL_POSITION_RIGHT: 'right';\n};\n\nSwitch.LABEL_POSITION_LEFT = 'left' as const;\nSwitch.LABEL_POSITION_RIGHT = 'right' as const;\n\nexport default Switch;\n"],"names":["Switch","forwardRef","props","ref","keyName","checked","enabledText","minWidth","disabled","color","disabledText","children","className","labelPosition","onChange","noop","remainingProps","handleChange","event","hasMultipleText","hasSingleText","switchClasses","classNames","switchLabelClasses","switchContentClasses","switchBackgroundColor","getCurrentBackgroundColor","jsx","jsxs"],"mappings":";;;;;AA8EA,MAAMA,IAASC,EAAW,CAACC,GAAuCC,MAAmC;AACjG,QAAM;AAAA,IACF,SAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,aAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQ;AAAA,IACR,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,eAAAC,IAAgBF,IAAW,UAAU;AAAA,IACrC,UAAAG,IAAWC;AAAA,IACX,GAAGC;AAAA,EAAA,IACHd,GAEEe,IAAe,CAACC,MAAyC;AAC3D,IAAAJ,EAASI,EAAM,OAAO,OAAO;AAAA,EACjC,GAEMC,IAAkBb,KAAeI,GACjCU,IAAgBd,KAAe,CAACI,GAEhCW,IAAgBC,EAAW,gBAAgBV,CAAS,GAEpDW,IAAqBD;AAAA,IACvB;AAAA,IACAd,KAAY;AAAA,IACZK,KAAiB,kBAAkBA,CAAa;AAAA,EAAA,GAG9CW,IAAuBF,EAAW,gBAAgB,GAElDG,IAAwBC,EAA0BjB,CAAK;AAE7D,SACI,gBAAAkB,EAAC,OAAA,EAAI,KAAAxB,GAAW,GAAGa,GAAgB,WAAWK,GAC1C,UAAA,gBAAAO,EAAC,SAAA,EAAM,WAAWL,GACd,UAAA;AAAA,IAAA,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,UAAUV;AAAA,QACV,SAAAZ;AAAA,QACA,MAAK;AAAA,QACL,IAAID;AAAA,QAEJ,WAAU;AAAA,QACV,UAAAI;AAAA,MAAA;AAAA,MAFKJ;AAAA,IAAA;AAAA,IAIT,gBAAAwB,EAAC,SAAI,WAAWJ,GAAsB,OAAO,EAAE,OAAOC,GAAuB,UAAAlB,EAAA,GACxE,UAAA;AAAA,MAAAY,sBACI,OAAA,EAAI,WAAU,eAAc,WAASb,GAAa,YAAUI,EAAA,CAAc,IAE3EU,uBAAkB,OAAA,EAAI,WAAU,eAAc,WAASd,GAAa,YAAUA,GAAa;AAAA,MAE/F,gBAAAqB,EAAC,OAAA,EAAI,WAAU,gBAAA,CAAgB;AAAA,IAAA,GACnC;AAAA,IAEChB,KAAYA;AAAA,EAAA,EAAA,CACjB,EAAA,CACJ;AAER,CAAC;AAKDX,EAAO,sBAAsB;AAC7BA,EAAO,uBAAuB;"}
@@ -1,3 +1,3 @@
1
- export type SortArrowDownProps = {};
1
+ export type SortArrowDownProps = Record<string, never>;
2
2
  declare const SortArrowDown: () => import("react/jsx-runtime").JSX.Element;
3
3
  export default SortArrowDown;
@@ -1 +1 @@
1
- {"version":3,"file":"SortArrowDown.js","sources":["../../../src/components/table/SortArrowDown.tsx"],"sourcesContent":["export type SortArrowDownProps = {};\n\nconst SortArrowDown = () => <span className='sort-icon sort-desc' />;\n\nexport default SortArrowDown;\n"],"names":["SortArrowDown","jsx"],"mappings":";AAEA,MAAMA,IAAgB,MAAM,gBAAAC,EAAC,QAAA,EAAK,WAAU,sBAAA,CAAsB;"}
1
+ {"version":3,"file":"SortArrowDown.js","sources":["../../../src/components/table/SortArrowDown.tsx"],"sourcesContent":["export type SortArrowDownProps = Record<string, never>;\n\nconst SortArrowDown = () => <span className='sort-icon sort-desc' />;\n\nexport default SortArrowDown;\n"],"names":["SortArrowDown","jsx"],"mappings":";AAEA,MAAMA,IAAgB,MAAM,gBAAAC,EAAC,QAAA,EAAK,WAAU,sBAAA,CAAsB;"}
@@ -1,3 +1,3 @@
1
- export type SortArrowUpProps = {};
1
+ export type SortArrowUpProps = Record<string, never>;
2
2
  declare const SortArrowUp: () => import("react/jsx-runtime").JSX.Element;
3
3
  export default SortArrowUp;
@@ -1 +1 @@
1
- {"version":3,"file":"SortArrowUp.js","sources":["../../../src/components/table/SortArrowUp.tsx"],"sourcesContent":["export type SortArrowUpProps = {};\n\nconst SortArrowUp = () => <span className='sort-icon sort-asc' />;\n\nexport default SortArrowUp;\n"],"names":["SortArrowUp","jsx"],"mappings":";AAEA,MAAMA,IAAc,MAAM,gBAAAC,EAAC,QAAA,EAAK,WAAU,qBAAA,CAAqB;"}
1
+ {"version":3,"file":"SortArrowUp.js","sources":["../../../src/components/table/SortArrowUp.tsx"],"sourcesContent":["export type SortArrowUpProps = Record<string, never>;\n\nconst SortArrowUp = () => <span className='sort-icon sort-asc' />;\n\nexport default SortArrowUp;\n"],"names":["SortArrowUp","jsx"],"mappings":";AAEA,MAAMA,IAAc,MAAM,gBAAAC,EAAC,QAAA,EAAK,WAAU,qBAAA,CAAqB;"}
@@ -64,6 +64,11 @@ type TableSettingsDialogProps = {
64
64
  * The keys of this object are the column names / keys you use to identify a column.
65
65
  */
66
66
  columnsDetails?: TableColumnDetailsMap;
67
+ /**
68
+ * The label shown when the column width is unset, which means "auto".
69
+ *
70
+ * @default ''
71
+ */
67
72
  autoLabel?: string | React.ReactNode;
68
73
  /**
69
74
  * Text for the "apply" button. This button will not be shown when
@@ -1,175 +1,185 @@
1
- import { jsx as a, jsxs as F } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as V } from "react/jsx-runtime";
2
2
  import { useState as l, useRef as Re, useEffect as Ie } from "react";
3
3
  import Me from "classnames";
4
- import { isEqual as B } from "es-toolkit/predicate";
5
- import { isEmpty as V, some as Ae, mapValues as Ne } from "es-toolkit/compat";
6
- import { noop as h } from "es-toolkit/function";
4
+ import { isEqual as y } from "es-toolkit/predicate";
5
+ import { isEmpty as j, some as Ae, mapValues as Ne } from "es-toolkit/compat";
6
+ import { noop as g } from "es-toolkit/function";
7
7
  import { arrayMove as Ee } from "@dnd-kit/sortable";
8
8
  import Fe from "../dialog/Dialog.js";
9
9
  import Be from "../clearableInput/ClearableInput.js";
10
10
  import { TableSettingsDialogFooter as Ve } from "./TableSettingsDialogFooter.js";
11
11
  import { TableSettingsListContainer as je } from "./TableSettingsListContainer.js";
12
12
  import { filterColumns as Pe } from "./TableSettingsListItem.js";
13
- const j = 0, Ue = 1e3, tt = (P) => {
13
+ const P = 0, Ue = 1e3, tt = (U) => {
14
14
  const {
15
- show: f = !1,
16
- title: U,
17
- subtitle: _,
18
- className: q,
19
- defaultColumnOrder: R = [],
20
- defaultHiddenColumns: x = [],
21
- columnOrder: w = [],
22
- hiddenColumns: O = [],
23
- columnLabels: K = {},
24
- disabledColumns: X = [],
25
- columnsDetails: c = {},
26
- autoLabel: k = "",
27
- applyButtonText: z,
28
- cancelButtonText: G,
29
- closeButtonText: J,
30
- resetButtonText: Q,
31
- onColumnChange: m = h,
32
- onColumnDetailsChange: I = h,
33
- onDiscard: Y = h,
15
+ show: p = !1,
16
+ title: _,
17
+ subtitle: q,
18
+ className: K,
19
+ defaultColumnOrder: h = [],
20
+ defaultHiddenColumns: m = [],
21
+ columnOrder: D = [],
22
+ hiddenColumns: b = [],
23
+ columnLabels: X = {},
24
+ disabledColumns: k = [],
25
+ columnsDetails: d = {},
26
+ autoLabel: z = "",
27
+ applyButtonText: G,
28
+ cancelButtonText: J,
29
+ closeButtonText: Q,
30
+ resetButtonText: Y,
31
+ onColumnChange: f = g,
32
+ onColumnDetailsChange: M = g,
33
+ onDiscard: Z = g,
34
34
  // onCancel = noop,
35
- onApply: Z = h,
36
- onHide: g,
37
- columnSearchValue: v = "",
38
- onSearchChange: p = h,
39
- searchPlaceholder: $,
40
- notFoundMessage: ee = "",
41
- immediateChange: d = !1
42
- } = P, [y, b] = l(v), [i, D] = l(w), [r, T] = l(O || x), [n, S] = l(c), [M, te] = l({}), [A, ne] = l({}), [se, oe] = l(!0), [le, C] = l(!1), [ae, L] = l(!1), [_e, W] = l(!1), H = Re(null);
35
+ onApply: $ = g,
36
+ onHide: S,
37
+ columnSearchValue: T = "",
38
+ onSearchChange: x = g,
39
+ searchPlaceholder: ee,
40
+ notFoundMessage: te = "",
41
+ immediateChange: u = !1
42
+ } = U, [L, O] = l(T), [i, w] = l(D), [r, H] = l(b || m), [o, v] = l(d), [A, ne] = l({}), [N, se] = l({}), [oe, le] = l(!0), [ae, C] = l(!1), [ie, W] = l(!1), [_e, R] = l(!1), I = Re(null);
43
43
  Ie(() => {
44
- b(v), D(w), T(O), f && ue();
45
- }, [v, w, O, f]);
46
- const ie = (e) => V(e) ? !1 : Ae(e, (s) => {
47
- const o = Number.isFinite(s.defaultWidth) ? s.defaultWidth : j;
48
- return s.width !== o;
49
- }), [re, de] = l(c);
50
- if (!B(n, re)) {
51
- const e = ie(c);
52
- S(e ? c : n), de(c);
44
+ O(T), w(D), H(b), p && ue();
45
+ const e = D ?? h, t = b ?? m, n = d ?? {}, s = !y(e, h) || !y(t, m) || E(n);
46
+ C(s);
47
+ }, [
48
+ T,
49
+ D,
50
+ b,
51
+ d,
52
+ h,
53
+ m,
54
+ p
55
+ ]);
56
+ const E = (e) => j(e) ? !1 : Ae(e, (n) => {
57
+ const s = Number.isFinite(n.defaultWidth) ? n.defaultWidth : P;
58
+ return n.width !== s;
59
+ }), [re, de] = l(d);
60
+ if (!y(o, re)) {
61
+ const e = E(d);
62
+ v(e ? d : o), de(d);
53
63
  }
54
64
  const ue = () => {
55
- if (!H.current)
65
+ if (!I.current)
56
66
  return;
57
- const e = H.current.getElementsByClassName("table-settings-item-label"), t = {};
58
- [...e].forEach((s) => {
59
- const o = s.getAttribute("data-key");
60
- if (o) {
61
- const u = s.textContent?.replace(/\r?\n|\r/g, "").toLowerCase();
62
- u && (t[o] = u);
67
+ const e = I.current.getElementsByClassName("table-settings-item-label"), t = {};
68
+ [...e].forEach((n) => {
69
+ const s = n.getAttribute("data-key");
70
+ if (s) {
71
+ const c = n.textContent?.replace(/\r?\n|\r/g, "").toLowerCase();
72
+ c && (t[s] = c);
63
73
  }
64
- }), ne(t), oe(!1);
74
+ }), se(t), le(!1);
65
75
  }, ce = () => {
66
- W(!1);
67
- }, me = (e, t, s) => {
68
- const o = i.filter((u) => u !== e);
69
- o.splice(t, 0, e), D(o), W(s ? !!e : !1), C(!0), d && m(o, r), window.setTimeout(ce, 500);
70
- }, Ce = () => L(!0), he = () => L(!1), fe = (e) => Ne(e, (t) => ({
76
+ R(!1);
77
+ }, me = (e, t, n) => {
78
+ const s = i.filter((c) => c !== e);
79
+ s.splice(t, 0, e), w(s), R(n ? !!e : !1), C(!0), u && f(s, r), window.setTimeout(ce, 500);
80
+ }, Ce = () => W(!0), he = () => W(!1), fe = (e) => Ne(e, (t) => ({
71
81
  ...t,
72
- width: t.defaultWidth || j
82
+ width: t.defaultWidth || P
73
83
  })), ge = () => {
74
- const e = fe(n);
75
- D(R), T(x), b(""), C(!1), L(!1), V(n) || S(e), d && (p(""), m(R, x, e));
84
+ const e = fe(o);
85
+ w(h), H(m), O(""), C(!1), W(!1), j(o) || v(e), u && (x(""), f(h, m, e));
76
86
  }, pe = () => {
77
- p(""), Y(), g();
78
- }, be = () => {
79
- b(""), p(""), m(i, r, n), Z(i, r, n), g();
80
- }, De = (e) => {
81
- const s = r.includes(e) ? r.filter((o) => o !== e) : [...r, e];
82
- T(s), C(!0), d && m(i, s);
87
+ x(""), Z(), S();
88
+ }, De = () => {
89
+ O(""), x(""), f(i, r, o), $(i, r, o), S();
90
+ }, be = (e) => {
91
+ const n = r.includes(e) ? r.filter((s) => s !== e) : [...r, e];
92
+ H(n), C(!0), u && f(i, n);
83
93
  }, Se = (e) => {
84
94
  const t = e.toLowerCase();
85
- b(() => (p(t), t));
95
+ O(() => (x(t), t));
86
96
  }, xe = (e, t) => {
87
- n[e] ? n[e].width = t : n[e] = {
97
+ o[e] ? o[e].width = t : o[e] = {
88
98
  width: t,
89
99
  defaultWidth: 0,
90
100
  maxWidth: Ue
91
- }, S(n), C(!0), d && I(e, n[e]);
92
- }, we = (e) => {
93
- const t = n[e];
94
- t.width = t.defaultWidth, S(n), d && I(e, n[e]);
101
+ }, v(o), C(!0), u && M(e, o[e]);
95
102
  }, Oe = (e) => {
96
- const t = { ...M };
97
- t[e] ? delete t[e] : t[e] = e, te(t);
103
+ const t = o[e];
104
+ t.width = t.defaultWidth, v(o), u && M(e, o[e]);
105
+ }, we = (e) => {
106
+ const t = { ...A };
107
+ t[e] ? delete t[e] : t[e] = e, ne(t);
98
108
  }, ve = (e, t) => {
99
- const { active: s, over: o } = e, u = s.id, N = o?.id;
100
- if (u === N)
109
+ const { active: n, over: s } = e, c = n.id, F = s?.id;
110
+ if (c === F)
101
111
  return;
102
- const We = t.indexOf(String(u)), He = t.indexOf(String(N)), E = Ee(t, We, He);
103
- D(E), W(!0), C(!0), d && m(E, r);
112
+ const He = t.indexOf(String(c)), We = t.indexOf(String(F)), B = Ee(t, He, We);
113
+ w(B), R(!0), C(!0), u && f(B, r);
104
114
  }, ye = () => {
105
115
  const e = {
106
- columnLabels: K,
107
- autoLabel: k,
108
- disabledColumns: X,
116
+ columnLabels: X,
117
+ autoLabel: z,
118
+ disabledColumns: k,
109
119
  columnOrder: i,
110
120
  hiddenColumns: r,
111
- columnSearchValue: y,
112
- columnsDetails: n,
113
- columnLabelStrings: A,
114
- openColumnsDetails: M,
115
- updateColumnLabelStrings: se,
121
+ columnSearchValue: L,
122
+ columnsDetails: o,
123
+ columnLabelStrings: N,
124
+ openColumnsDetails: A,
125
+ updateColumnLabelStrings: oe,
116
126
  onMoveColumn: me,
117
- onOpenDetails: Oe,
127
+ onOpenDetails: we,
118
128
  onColumnWidthChange: xe,
119
- onResetColumnWidth: we,
120
- onToggleHideColumn: De
129
+ onResetColumnWidth: Oe,
130
+ onToggleHideColumn: be
121
131
  }, t = i.filter(
122
- (o) => Pe(y, o, A)
123
- ), s = !B(t, i);
124
- return /* @__PURE__ */ F("div", { ref: H, children: [
125
- /* @__PURE__ */ a("div", { className: "table-settings-search", children: /* @__PURE__ */ F("div", { className: "input-group width-100pct", children: [
132
+ (s) => Pe(L, s, N)
133
+ ), n = !y(t, i);
134
+ return /* @__PURE__ */ V("div", { ref: I, children: [
135
+ /* @__PURE__ */ a("div", { className: "table-settings-search", children: /* @__PURE__ */ V("div", { className: "input-group width-100pct", children: [
126
136
  /* @__PURE__ */ a("span", { className: "input-group-addon", children: /* @__PURE__ */ a("span", { className: "rioglyph rioglyph-search" }) }),
127
137
  /* @__PURE__ */ a(
128
138
  Be,
129
139
  {
130
- value: y,
140
+ value: L,
131
141
  onChange: Se,
132
- placeholder: $
142
+ placeholder: ee
133
143
  }
134
144
  )
135
145
  ] }) }),
136
- /* @__PURE__ */ a("div", { className: "table-settings-body", children: s ? /* @__PURE__ */ a(
146
+ /* @__PURE__ */ a("div", { className: "table-settings-body", children: n ? /* @__PURE__ */ a(
137
147
  je,
138
148
  {
139
149
  items: i,
140
150
  onSortEnd: ve,
141
151
  itemProps: { ...e }
142
152
  }
143
- ) : /* @__PURE__ */ a("div", { className: "text-center text-color-gray", children: ee }) })
153
+ ) : /* @__PURE__ */ a("div", { className: "text-center text-color-gray", children: te }) })
144
154
  ] });
145
155
  }, Te = () => /* @__PURE__ */ a(
146
156
  Ve,
147
157
  {
148
- hasChanged: le,
149
- isResetAll: ae,
150
- immediateChange: d,
151
- resetButtonText: Q,
152
- closeButtonText: J,
153
- cancelButtonText: G,
154
- applyButtonText: z,
155
- onHide: g,
158
+ hasChanged: ae,
159
+ isResetAll: ie,
160
+ immediateChange: u,
161
+ resetButtonText: Y,
162
+ closeButtonText: Q,
163
+ cancelButtonText: J,
164
+ applyButtonText: G,
165
+ onHide: S,
156
166
  onResetColumnChanges: Ce,
157
167
  onDiscardChanges: pe,
158
- onApplyChanges: be,
168
+ onApplyChanges: De,
159
169
  onConfirmResetColumnChanges: ge,
160
170
  onCancelResetColumnChanges: he
161
171
  }
162
172
  );
163
- if (!f)
173
+ if (!p)
164
174
  return null;
165
- const Le = Me("TableSettingsDialog", q);
175
+ const Le = Me("TableSettingsDialog", K);
166
176
  return /* @__PURE__ */ a(
167
177
  Fe,
168
178
  {
169
- show: f,
170
- title: U,
171
- subtitle: _,
172
- onClose: g,
179
+ show: p,
180
+ title: _,
181
+ subtitle: q,
182
+ onClose: S,
173
183
  body: ye(),
174
184
  footer: Te(),
175
185
  className: Le