@dbcdk/react-components 0.0.4 → 0.0.6

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 (299) hide show
  1. package/dist/assets/logo.js +2 -85
  2. package/dist/components/__stories__/_data/table.d.ts +15 -0
  3. package/dist/components/__stories__/_data/table.js +49 -0
  4. package/dist/components/__stories__/story-components/Colors.d.ts +11 -0
  5. package/dist/components/__stories__/story-components/Colors.js +96 -0
  6. package/dist/components/__stories__/story-components/Colors.module.css +27 -0
  7. package/dist/components/__stories__/story-components/Spacing.d.ts +2 -0
  8. package/dist/components/__stories__/story-components/Spacing.js +76 -0
  9. package/dist/components/__stories__/story-components/Spacing.module.css +154 -0
  10. package/dist/components/app-header/AppHeader.d.ts +4 -3
  11. package/dist/components/app-header/AppHeader.js +3 -6
  12. package/dist/components/app-header/AppHeader.module.css +10 -15
  13. package/dist/components/attribute-chip/AttributeChip.d.ts +9 -0
  14. package/dist/components/attribute-chip/AttributeChip.js +5 -0
  15. package/dist/components/attribute-chip/AttributeChip.module.css +65 -0
  16. package/dist/components/avatar/Avatar.d.ts +5 -3
  17. package/dist/components/avatar/Avatar.js +37 -37
  18. package/dist/components/avatar/Avatar.module.css +27 -0
  19. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +4 -4
  20. package/dist/components/breadcrumbs/Breadcrumbs.js +4 -14
  21. package/dist/components/breadcrumbs/Breadcrumbs.module.css +19 -22
  22. package/dist/components/button/Button.d.ts +6 -2
  23. package/dist/components/button/Button.js +56 -50
  24. package/dist/components/button/Button.module.css +119 -56
  25. package/dist/components/card/Card.d.ts +23 -7
  26. package/dist/components/card/Card.js +20 -21
  27. package/dist/components/card/Card.module.css +148 -44
  28. package/dist/components/card-container/CardContainer.d.ts +6 -3
  29. package/dist/components/card-container/CardContainer.js +4 -15
  30. package/dist/components/card-container/CardContainer.module.css +40 -0
  31. package/dist/components/chip/Chip.d.ts +7 -5
  32. package/dist/components/chip/Chip.js +14 -37
  33. package/dist/components/chip/Chip.module.css +50 -27
  34. package/dist/components/circle/Circle.d.ts +3 -2
  35. package/dist/components/circle/Circle.js +3 -10
  36. package/dist/components/circle/Circle.module.css +11 -11
  37. package/dist/components/clear-button/ClearButton.d.ts +2 -1
  38. package/dist/components/clear-button/ClearButton.js +6 -17
  39. package/dist/components/clear-button/ClearButton.module.css +8 -7
  40. package/dist/components/code-block/CodeBlock.d.ts +7 -0
  41. package/dist/components/code-block/CodeBlock.js +6 -0
  42. package/dist/components/code-block/CodeBlock.module.css +60 -0
  43. package/dist/components/copy-button/CopyButton.d.ts +10 -0
  44. package/dist/components/copy-button/CopyButton.js +22 -0
  45. package/dist/components/copy-button/CopyButton.module.css +6 -0
  46. package/dist/components/datetime-picker/DateTimePicker.d.ts +42 -0
  47. package/dist/components/datetime-picker/DateTimePicker.js +403 -0
  48. package/dist/components/datetime-picker/DateTimePicker.module.css +144 -0
  49. package/dist/components/filter-field/FilterField.d.ts +6 -3
  50. package/dist/components/filter-field/FilterField.js +130 -158
  51. package/dist/components/filter-field/FilterField.module.css +35 -25
  52. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.d.ts +36 -0
  53. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.js +53 -0
  54. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.module.css +60 -0
  55. package/dist/components/forms/checkbox/Checkbox.d.ts +31 -0
  56. package/dist/components/forms/checkbox/Checkbox.js +27 -0
  57. package/dist/components/{checkbox → forms/checkbox}/Checkbox.module.css +10 -11
  58. package/dist/components/forms/checkbox-group/CheckboxGroup.d.ts +47 -0
  59. package/dist/components/forms/checkbox-group/CheckboxGroup.js +75 -0
  60. package/dist/components/forms/checkbox-group/CheckboxGroup.module.css +115 -0
  61. package/dist/components/forms/input/Input.d.ts +22 -0
  62. package/dist/components/forms/input/Input.js +70 -0
  63. package/dist/components/forms/input/Input.module.css +160 -0
  64. package/dist/components/forms/input-container/InputContainer.d.ts +15 -0
  65. package/dist/components/forms/input-container/InputContainer.js +15 -0
  66. package/dist/components/forms/input-container/InputContainer.module.css +34 -0
  67. package/dist/components/forms/multi-select/MultiSelect.d.ts +20 -0
  68. package/dist/components/forms/multi-select/MultiSelect.js +19 -0
  69. package/dist/components/forms/select/Select.d.ts +21 -0
  70. package/dist/components/forms/select/Select.js +94 -0
  71. package/dist/components/forms/text-area/Textarea.d.ts +17 -0
  72. package/dist/components/forms/text-area/Textarea.js +33 -0
  73. package/dist/components/forms/text-area/Textarea.module.css +26 -0
  74. package/dist/components/headline/Headline.d.ts +9 -1
  75. package/dist/components/headline/Headline.js +18 -37
  76. package/dist/components/headline/Headline.module.css +32 -7
  77. package/dist/components/hyperlink/Hyperlink.d.ts +9 -0
  78. package/dist/components/hyperlink/Hyperlink.js +11 -0
  79. package/dist/components/hyperlink/Hyperlink.module.css +23 -0
  80. package/dist/components/icon/Icon.d.ts +4 -3
  81. package/dist/components/icon/Icon.js +11 -17
  82. package/dist/components/icon/Icon.module.css +10 -9
  83. package/dist/components/menu/Menu.js +25 -67
  84. package/dist/components/menu/Menu.module.css +10 -32
  85. package/dist/components/meta-bar/MetaBar.d.ts +11 -0
  86. package/dist/components/meta-bar/MetaBar.js +9 -0
  87. package/dist/components/meta-bar/MetaBar.module.css +12 -0
  88. package/dist/components/nav-bar/NavBar.d.ts +5 -5
  89. package/dist/components/nav-bar/NavBar.js +15 -45
  90. package/dist/components/nav-bar/NavBar.module.css +11 -16
  91. package/dist/components/overlay/modal/Modal.d.ts +23 -0
  92. package/dist/components/overlay/modal/Modal.js +92 -0
  93. package/dist/components/overlay/modal/Modal.module.css +66 -0
  94. package/dist/components/overlay/modal/provider/ModalProvider.d.ts +20 -0
  95. package/dist/components/overlay/modal/provider/ModalProvider.js +70 -0
  96. package/dist/components/overlay/side-panel/SidePanel.d.ts +16 -0
  97. package/dist/components/overlay/side-panel/SidePanel.js +10 -0
  98. package/dist/components/overlay/side-panel/SidePanel.module.css +56 -0
  99. package/dist/components/overlay/side-panel/useSidePanel.d.ts +5 -0
  100. package/dist/components/overlay/side-panel/useSidePanel.js +11 -0
  101. package/dist/components/overlay/tooltip/Tooltip.d.ts +13 -0
  102. package/dist/components/overlay/tooltip/Tooltip.js +17 -0
  103. package/dist/components/overlay/tooltip/Tooltip.module.css +106 -0
  104. package/dist/components/overlay/tooltip/TooltipProvider.d.ts +20 -0
  105. package/dist/components/overlay/tooltip/TooltipProvider.js +244 -0
  106. package/dist/components/overlay/tooltip/useTooltipTrigger.d.ts +24 -0
  107. package/dist/components/overlay/tooltip/useTooltipTrigger.js +108 -0
  108. package/dist/components/page/Page.d.ts +7 -6
  109. package/dist/components/page/Page.js +4 -21
  110. package/dist/components/page/Page.module.css +2 -2
  111. package/dist/components/page-layout/PageLayout.d.ts +12 -20
  112. package/dist/components/page-layout/PageLayout.js +35 -88
  113. package/dist/components/page-layout/PageLayout.module.css +4 -80
  114. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.d.ts +11 -0
  115. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +7 -0
  116. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +84 -0
  117. package/dist/components/pagination/Pagination.d.ts +4 -1
  118. package/dist/components/pagination/Pagination.js +38 -105
  119. package/dist/components/pagination/Pagination.module.css +11 -3
  120. package/dist/components/panel/Panel.d.ts +4 -3
  121. package/dist/components/panel/Panel.js +5 -10
  122. package/dist/components/panel/Panel.module.css +5 -7
  123. package/dist/components/popover/Popover.d.ts +3 -1
  124. package/dist/components/popover/Popover.js +116 -124
  125. package/dist/components/popover/Popover.module.css +4 -6
  126. package/dist/components/search-box/SearchBox.d.ts +11 -8
  127. package/dist/components/search-box/SearchBox.js +112 -149
  128. package/dist/components/search-box/SearchBox.module.css +0 -1
  129. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +1 -1
  130. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +47 -88
  131. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +5 -1
  132. package/dist/components/sidebar/Sidebar.d.ts +3 -1
  133. package/dist/components/sidebar/Sidebar.js +5 -29
  134. package/dist/components/sidebar/components/SidebarItem.js +6 -12
  135. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +4 -2
  136. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +48 -62
  137. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +9 -38
  138. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.d.ts +9 -0
  139. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +13 -0
  140. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +155 -0
  141. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +3 -1
  142. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +4 -18
  143. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +25 -12
  144. package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +1 -1
  145. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +9 -22
  146. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +20 -18
  147. package/dist/components/sidebar/providers/SidebarProvider.d.ts +9 -4
  148. package/dist/components/sidebar/providers/SidebarProvider.js +188 -73
  149. package/dist/components/skeleton-loader/SkeletonLoader.js +68 -266
  150. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +11 -34
  151. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -12
  152. package/dist/components/split-button/SplitButton.d.ts +7 -5
  153. package/dist/components/split-button/SplitButton.js +4 -27
  154. package/dist/components/split-pane/SplitPane.d.ts +34 -0
  155. package/dist/components/split-pane/SplitPane.js +78 -0
  156. package/dist/components/split-pane/SplitPane.module.css +106 -0
  157. package/dist/components/split-pane/provider/SplitPaneContext.d.ts +23 -0
  158. package/dist/components/split-pane/provider/SplitPaneContext.js +85 -0
  159. package/dist/components/table/Table.d.ts +28 -10
  160. package/dist/components/table/Table.js +117 -172
  161. package/dist/components/table/Table.module.css +78 -47
  162. package/dist/components/table/components/column-resizer/ColumnResizer.js +4 -15
  163. package/dist/components/table/components/empty-state/EmptyState.d.ts +41 -0
  164. package/dist/components/table/components/empty-state/EmptyState.js +27 -0
  165. package/dist/components/table/components/empty-state/EmptyState.module.css +16 -0
  166. package/dist/components/table/components/table-settings/TableSettings.d.ts +8 -0
  167. package/dist/components/table/components/table-settings/TableSettings.js +12 -0
  168. package/dist/components/table/tanstack.d.ts +14 -0
  169. package/dist/components/table/tanstack.js +162 -0
  170. package/dist/components/tabs/Tabs.d.ts +7 -3
  171. package/dist/components/tabs/Tabs.js +32 -65
  172. package/dist/components/tabs/Tabs.module.css +9 -9
  173. package/dist/components/toast/Toast.d.ts +14 -0
  174. package/dist/components/toast/Toast.js +8 -0
  175. package/dist/components/toast/Toast.module.css +102 -0
  176. package/dist/components/toast/provider/ToastProvider.d.ts +23 -0
  177. package/dist/components/toast/provider/ToastProvider.js +64 -0
  178. package/dist/components/user-display/UserDisplay.d.ts +2 -1
  179. package/dist/components/user-display/UserDisplay.js +4 -20
  180. package/dist/components/user-display/UserDisplay.module.css +2 -2
  181. package/dist/constants/severity.d.ts +1 -1
  182. package/dist/constants/severity.js +14 -16
  183. package/dist/constants/severity.types.d.ts +1 -1
  184. package/dist/constants/severity.types.js +1 -1
  185. package/dist/constants/sizes.d.ts +1 -1
  186. package/dist/constants/sizes.js +6 -7
  187. package/dist/hooks/usePagination.d.ts +33 -0
  188. package/dist/hooks/usePagination.js +79 -0
  189. package/dist/hooks/useSorting.d.ts +49 -0
  190. package/dist/hooks/useSorting.js +118 -0
  191. package/dist/hooks/useTableData.d.ts +40 -0
  192. package/dist/hooks/useTableData.js +45 -0
  193. package/dist/hooks/useTableSelection.d.ts +25 -0
  194. package/dist/hooks/useTableSelection.js +128 -0
  195. package/dist/hooks/useTableSettings.d.ts +7 -0
  196. package/dist/hooks/useTableSettings.js +24 -0
  197. package/dist/hooks/useTheme.d.ts +3 -7
  198. package/dist/hooks/useTheme.js +52 -47
  199. package/dist/hooks/useTimeDuration.d.ts +22 -0
  200. package/dist/hooks/useTimeDuration.js +36 -0
  201. package/dist/hooks/useViewportFill.d.ts +3 -2
  202. package/dist/hooks/useViewportFill.js +55 -48
  203. package/dist/index.d.ts +32 -6
  204. package/dist/index.js +33 -6
  205. package/dist/src/styles/styles.css +101 -8
  206. package/dist/styles/css-helper-classes/flex.css +101 -0
  207. package/dist/styles/css-helper-classes/typography.css +7 -0
  208. package/dist/styles/styles.css +101 -8
  209. package/dist/styles/themes/dbc/dark.css +207 -100
  210. package/dist/styles/themes/dbc/light.css +185 -90
  211. package/dist/styles/themes/forfatterweb/light.css +1 -1
  212. package/dist/styles/themes/types.js +1 -1
  213. package/dist/types/a11y-props.types.d.ts +5 -5
  214. package/dist/types/a11y-props.types.js +1 -1
  215. package/dist/types/sizes.types.d.ts +2 -2
  216. package/dist/types/sizes.types.js +1 -1
  217. package/dist/utils/arrays/nested-filtering.js +43 -33
  218. package/dist/utils/date/formatDate.js +25 -16
  219. package/package.json +33 -18
  220. package/dist/assets/logo.cjs +0 -87
  221. package/dist/components/app-header/AppHeader.cjs +0 -14
  222. package/dist/components/avatar/Avatar.cjs +0 -67
  223. package/dist/components/breadcrumbs/Breadcrumbs.cjs +0 -23
  224. package/dist/components/button/Button.cjs +0 -79
  225. package/dist/components/card/Card.cjs +0 -29
  226. package/dist/components/card-container/CardContainer.cjs +0 -23
  227. package/dist/components/checkbox/Checkbox.cjs +0 -43
  228. package/dist/components/checkbox/Checkbox.d.ts +0 -12
  229. package/dist/components/checkbox/Checkbox.js +0 -37
  230. package/dist/components/chip/Chip.cjs +0 -49
  231. package/dist/components/circle/Circle.cjs +0 -18
  232. package/dist/components/clear-button/ClearButton.cjs +0 -26
  233. package/dist/components/data-summary/DataSummary.cjs +0 -49
  234. package/dist/components/data-summary/DataSummary.d.ts +0 -19
  235. package/dist/components/data-summary/DataSummary.js +0 -43
  236. package/dist/components/data-summary/DataSummary.module.css +0 -51
  237. package/dist/components/filter-field/FilterField.cjs +0 -174
  238. package/dist/components/headline/Headline.cjs +0 -47
  239. package/dist/components/icon/Icon.cjs +0 -27
  240. package/dist/components/input/Input.cjs +0 -48
  241. package/dist/components/input/Input.d.ts +0 -13
  242. package/dist/components/input/Input.js +0 -42
  243. package/dist/components/input/Input.module.css +0 -112
  244. package/dist/components/menu/Menu.cjs +0 -96
  245. package/dist/components/multi-select/MultiSelect.cjs +0 -48
  246. package/dist/components/multi-select/MultiSelect.d.ts +0 -18
  247. package/dist/components/multi-select/MultiSelect.js +0 -46
  248. package/dist/components/nav-bar/NavBar.cjs +0 -55
  249. package/dist/components/page/Page.cjs +0 -30
  250. package/dist/components/page-layout/PageLayout.cjs +0 -101
  251. package/dist/components/pagination/Pagination.cjs +0 -117
  252. package/dist/components/panel/Panel.cjs +0 -18
  253. package/dist/components/popover/Popover.cjs +0 -132
  254. package/dist/components/search-box/SearchBox.cjs +0 -162
  255. package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +0 -97
  256. package/dist/components/select/Select.cjs +0 -52
  257. package/dist/components/select/Select.d.ts +0 -11
  258. package/dist/components/select/Select.js +0 -50
  259. package/dist/components/sidebar/Sidebar.cjs +0 -38
  260. package/dist/components/sidebar/Sidebar.module.css +0 -66
  261. package/dist/components/sidebar/components/SidebarItem.cjs +0 -16
  262. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +0 -74
  263. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +0 -27
  264. package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +0 -28
  265. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +0 -25
  266. package/dist/components/sidebar/providers/SidebarProvider.cjs +0 -81
  267. package/dist/components/skeleton-loader/SkeletonLoader.cjs +0 -270
  268. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +0 -42
  269. package/dist/components/split-button/SplitButton.cjs +0 -37
  270. package/dist/components/table/Table.cjs +0 -181
  271. package/dist/components/table/components/column-resizer/ColumnResizer.cjs +0 -22
  272. package/dist/components/tabs/Tabs.cjs +0 -74
  273. package/dist/components/text-area/Textarea.cjs +0 -62
  274. package/dist/components/text-area/Textarea.d.ts +0 -14
  275. package/dist/components/text-area/Textarea.js +0 -56
  276. package/dist/components/text-area/Textarea.module.css +0 -3
  277. package/dist/components/tooltip/Tooltip.cjs +0 -78
  278. package/dist/components/tooltip/Tooltip.d.ts +0 -11
  279. package/dist/components/tooltip/Tooltip.js +0 -72
  280. package/dist/components/tooltip/Tooltip.module.css +0 -84
  281. package/dist/components/user-display/UserDisplay.cjs +0 -28
  282. package/dist/constants/severity.cjs +0 -21
  283. package/dist/constants/severity.types.cjs +0 -2
  284. package/dist/constants/sizes.cjs +0 -10
  285. package/dist/hooks/useTheme.cjs +0 -58
  286. package/dist/hooks/useViewportFill.cjs +0 -52
  287. package/dist/index.cjs +0 -264
  288. package/dist/styles/themes/types.cjs +0 -2
  289. package/dist/tanstack.cjs +0 -231
  290. package/dist/tanstack.d.ts +0 -25
  291. package/dist/tanstack.js +0 -206
  292. package/dist/types/a11y-props.types.cjs +0 -2
  293. package/dist/types/assets.d.cjs +0 -2
  294. package/dist/types/assets.d.js +0 -1
  295. package/dist/types/css.d.cjs +0 -2
  296. package/dist/types/css.d.js +0 -1
  297. package/dist/types/sizes.types.cjs +0 -2
  298. package/dist/utils/arrays/nested-filtering.cjs +0 -40
  299. package/dist/utils/date/formatDate.cjs +0 -19
@@ -1,50 +1,57 @@
1
- import { useState, useRef, useCallback, useLayoutEffect, useEffect } from 'react';
2
-
3
- const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
4
- function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop = false } = {}) {
5
- const [maxHeight, setMaxHeight] = useState(0);
6
- const raf = useRef(null);
7
- const measure = useCallback(() => {
8
- if (typeof window === "undefined" || !ref.current) return;
9
- const el = ref.current;
10
- const rect = el.getBoundingClientRect();
11
- let top = rect.top;
12
- if (includeMarginTop) {
13
- const mt = parseFloat(getComputedStyle(el).marginTop || "0") || 0;
14
- top -= mt;
15
- }
16
- const raw = window.innerHeight - bottomOffset - top;
17
- const next = Math.max(min, Math.floor(raw));
18
- setMaxHeight(next);
19
- }, [ref, bottomOffset, min, includeMarginTop]);
20
- useIsomorphicLayoutEffect(() => {
21
- measure();
22
- }, [measure]);
23
- useEffect(() => {
24
- if (typeof window === "undefined") return;
25
- const onFrame = () => {
26
- if (raf.current) cancelAnimationFrame(raf.current);
27
- raf.current = requestAnimationFrame(measure);
1
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState, } from 'react';
2
+ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
3
+ /**
4
+ * Computes the remaining viewport space below the element and returns a style
5
+ * with `maxHeight` + `overflow: auto`.
6
+ */
7
+ export function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop = false } = {}) {
8
+ const [maxHeight, setMaxHeight] = useState(0);
9
+ const raf = useRef(null);
10
+ const measure = useCallback(() => {
11
+ if (typeof window === 'undefined' || !ref.current)
12
+ return;
13
+ const el = ref.current;
14
+ const rect = el.getBoundingClientRect();
15
+ let top = rect.top;
16
+ if (includeMarginTop) {
17
+ const mt = parseFloat(getComputedStyle(el).marginTop || '0') || 0;
18
+ top -= mt;
19
+ }
20
+ const raw = window.innerHeight - bottomOffset - top;
21
+ const next = Math.max(min, Math.floor(raw));
22
+ setMaxHeight(next);
23
+ }, [ref, bottomOffset, min, includeMarginTop]);
24
+ // Initial + dependency-triggered measurement
25
+ useIsomorphicLayoutEffect(() => {
26
+ measure();
27
+ }, [measure]);
28
+ useEffect(() => {
29
+ if (typeof window === 'undefined')
30
+ return;
31
+ const onFrame = () => {
32
+ if (raf.current)
33
+ cancelAnimationFrame(raf.current);
34
+ raf.current = requestAnimationFrame(measure);
35
+ };
36
+ window.addEventListener('scroll', onFrame, { passive: true });
37
+ window.addEventListener('resize', onFrame);
38
+ let ro = null;
39
+ if ('ResizeObserver' in window && ref.current) {
40
+ ro = new ResizeObserver(onFrame);
41
+ ro.observe(ref.current);
42
+ }
43
+ return () => {
44
+ window.removeEventListener('scroll', onFrame);
45
+ window.removeEventListener('resize', onFrame);
46
+ if (ro)
47
+ ro.disconnect();
48
+ if (raf.current)
49
+ cancelAnimationFrame(raf.current);
50
+ };
51
+ }, [measure, ref]);
52
+ return {
53
+ maxHeight,
54
+ style: { height: maxHeight, overflow: 'auto' },
55
+ recompute: measure,
28
56
  };
29
- window.addEventListener("scroll", onFrame, { passive: true });
30
- window.addEventListener("resize", onFrame);
31
- let ro = null;
32
- if ("ResizeObserver" in window && ref.current) {
33
- ro = new ResizeObserver(onFrame);
34
- ro.observe(ref.current);
35
- }
36
- return () => {
37
- window.removeEventListener("scroll", onFrame);
38
- window.removeEventListener("resize", onFrame);
39
- if (ro) ro.disconnect();
40
- if (raf.current) cancelAnimationFrame(raf.current);
41
- };
42
- }, [measure, ref]);
43
- return {
44
- maxHeight,
45
- style: { height: maxHeight, overflow: "auto" },
46
- recompute: measure
47
- };
48
57
  }
49
-
50
- export { useViewportFill };
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export * from './components/user-display/UserDisplay';
8
8
  export * from './components/tabs/Tabs';
9
9
  export * from './components/headline/Headline';
10
10
  export * from './components/page-layout/PageLayout';
11
- export * from './components/input/Input';
11
+ export * from './components/forms/input/Input';
12
12
  export * from './components/search-box/SearchBox';
13
13
  export * from './hooks/useTheme';
14
14
  export * from './components/chip/Chip';
@@ -20,18 +20,44 @@ export * from './components/skeleton-loader/SkeletonLoader';
20
20
  export * from './components/page/Page';
21
21
  export * from './components/breadcrumbs/Breadcrumbs';
22
22
  export * from './components/circle/Circle';
23
- export * from './components/checkbox/Checkbox';
23
+ export * from './components/forms/checkbox/Checkbox';
24
24
  export * from './components/table/Table';
25
25
  export * from './constants/severity.types';
26
- export * from './components/text-area/Textarea';
26
+ export * from './components/forms/text-area/Textarea';
27
27
  export * from './components/app-header/AppHeader';
28
28
  export * from './components/sidebar/Sidebar';
29
29
  export * from './utils/arrays/nested-filtering';
30
- export * from './components/multi-select/MultiSelect';
30
+ export * from './components/forms/multi-select/MultiSelect';
31
31
  export * from './hooks/useViewportFill';
32
32
  export * from './utils/date/formatDate';
33
33
  export * from './components/filter-field/FilterField';
34
- export * from './components/select/Select';
34
+ export * from './components/forms/select/Select';
35
35
  export * from './components/split-button/SplitButton';
36
- export * from './components/tooltip/Tooltip';
37
36
  export * from './components/segmented-progress-bar/SegmentedProgressBar';
37
+ export * from './components/datetime-picker/DateTimePicker';
38
+ export * from './components/overlay/modal/provider/ModalProvider';
39
+ export * from './components/overlay/modal/Modal';
40
+ export * from './components/toast/provider/ToastProvider';
41
+ export * from './components/toast/Toast';
42
+ export * from './components/attribute-chip/AttributeChip';
43
+ export * from './components/split-pane/SplitPane';
44
+ export * from './components/pagination/Pagination';
45
+ export * from './components/meta-bar/MetaBar';
46
+ export * from './components/code-block/CodeBlock';
47
+ export * from './hooks/useTimeDuration';
48
+ export * from './hooks/useSorting';
49
+ export * from './hooks/usePagination';
50
+ export * from './hooks/useTableData';
51
+ export * from './hooks/useTableSelection';
52
+ export * from './hooks/useTableSettings';
53
+ export * from './components/table/components/table-settings/TableSettings';
54
+ export * from './components/filtering/chip-multi-toggle/ChipMultiToggle';
55
+ export * from './components/forms/checkbox-group/CheckboxGroup';
56
+ export * from './components/table/tanstack';
57
+ export * from './components/overlay/side-panel/SidePanel';
58
+ export * from './components/overlay/side-panel/useSidePanel';
59
+ export * from './components/forms/input-container/InputContainer';
60
+ export * from './components/hyperlink/Hyperlink';
61
+ export * from './components/overlay/tooltip/Tooltip';
62
+ export * from './components/overlay/tooltip/TooltipProvider';
63
+ export * from './components/overlay/tooltip/useTooltipTrigger';
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  export * from './components/button/Button';
2
3
  export * from './components/nav-bar/NavBar';
3
4
  export * from './components/avatar/Avatar';
@@ -8,7 +9,7 @@ export * from './components/user-display/UserDisplay';
8
9
  export * from './components/tabs/Tabs';
9
10
  export * from './components/headline/Headline';
10
11
  export * from './components/page-layout/PageLayout';
11
- export * from './components/input/Input';
12
+ export * from './components/forms/input/Input';
12
13
  export * from './components/search-box/SearchBox';
13
14
  export * from './hooks/useTheme';
14
15
  export * from './components/chip/Chip';
@@ -20,18 +21,44 @@ export * from './components/skeleton-loader/SkeletonLoader';
20
21
  export * from './components/page/Page';
21
22
  export * from './components/breadcrumbs/Breadcrumbs';
22
23
  export * from './components/circle/Circle';
23
- export * from './components/checkbox/Checkbox';
24
+ export * from './components/forms/checkbox/Checkbox';
24
25
  export * from './components/table/Table';
25
26
  export * from './constants/severity.types';
26
- export * from './components/text-area/Textarea';
27
+ export * from './components/forms/text-area/Textarea';
27
28
  export * from './components/app-header/AppHeader';
28
29
  export * from './components/sidebar/Sidebar';
29
30
  export * from './utils/arrays/nested-filtering';
30
- export * from './components/multi-select/MultiSelect';
31
+ export * from './components/forms/multi-select/MultiSelect';
31
32
  export * from './hooks/useViewportFill';
32
33
  export * from './utils/date/formatDate';
33
34
  export * from './components/filter-field/FilterField';
34
- export * from './components/select/Select';
35
+ export * from './components/forms/select/Select';
35
36
  export * from './components/split-button/SplitButton';
36
- export * from './components/tooltip/Tooltip';
37
37
  export * from './components/segmented-progress-bar/SegmentedProgressBar';
38
+ export * from './components/datetime-picker/DateTimePicker';
39
+ export * from './components/overlay/modal/provider/ModalProvider';
40
+ export * from './components/overlay/modal/Modal';
41
+ export * from './components/toast/provider/ToastProvider';
42
+ export * from './components/toast/Toast';
43
+ export * from './components/attribute-chip/AttributeChip';
44
+ export * from './components/split-pane/SplitPane';
45
+ export * from './components/pagination/Pagination';
46
+ export * from './components/meta-bar/MetaBar';
47
+ export * from './components/code-block/CodeBlock';
48
+ export * from './hooks/useTimeDuration';
49
+ export * from './hooks/useSorting';
50
+ export * from './hooks/usePagination';
51
+ export * from './hooks/useTableData';
52
+ export * from './hooks/useTableSelection';
53
+ export * from './hooks/useTableSettings';
54
+ export * from './components/table/components/table-settings/TableSettings';
55
+ export * from './components/filtering/chip-multi-toggle/ChipMultiToggle';
56
+ export * from './components/forms/checkbox-group/CheckboxGroup';
57
+ export * from './components/table/tanstack';
58
+ export * from './components/overlay/side-panel/SidePanel';
59
+ export * from './components/overlay/side-panel/useSidePanel';
60
+ export * from './components/forms/input-container/InputContainer';
61
+ export * from './components/hyperlink/Hyperlink';
62
+ export * from './components/overlay/tooltip/Tooltip';
63
+ export * from './components/overlay/tooltip/TooltipProvider';
64
+ export * from './components/overlay/tooltip/useTooltipTrigger';
@@ -1,4 +1,6 @@
1
1
  @import './css-helper-classes/spacing.css';
2
+ @import './css-helper-classes/flex.css';
3
+ @import './css-helper-classes/typography.css';
2
4
 
3
5
  @font-face {
4
6
  font-family: 'Roboto';
@@ -25,8 +27,8 @@
25
27
  }
26
28
 
27
29
  body {
28
- color: var(--color-text);
29
- background-color: var(--color-background);
30
+ color: var(--color-fg-default);
31
+ background-color: var(--color-bg-page);
30
32
  --density: var(--density-comfortable);
31
33
  }
32
34
 
@@ -42,10 +44,72 @@ h3 {
42
44
  font-size: var(--font-size-lg);
43
45
  }
44
46
 
47
+ h4 {
48
+ font-size: var(--font-size-md);
49
+ font-weight: var(--font-weight-medium);
50
+ }
51
+
45
52
  body.dbc-app {
46
53
  max-width: 1600px;
47
54
  }
48
55
 
56
+ .dbc-table {
57
+ --card-label-width: 260px;
58
+ border-collapse: collapse;
59
+ font-size: var(--font-size-sm);
60
+ line-height: var(--line-height-normal);
61
+ tr + tr th,
62
+ tr + tr td {
63
+ padding-block: var(--spacing-xxs);
64
+ }
65
+
66
+ th {
67
+ white-space: nowrap;
68
+ color: var(--color-fg-subtle);
69
+ font-weight: var(--font-weight-default);
70
+ padding-right: var(--spacing-lg);
71
+ vertical-align: top;
72
+ text-align: left;
73
+ }
74
+
75
+ td {
76
+ color: var(--color-fg-default);
77
+ vertical-align: top;
78
+ min-width: 0;
79
+ }
80
+
81
+ th {
82
+ max-width: var(--card-label-width);
83
+ overflow: hidden;
84
+ text-overflow: ellipsis;
85
+ }
86
+ }
87
+
88
+ .dbc-table--bordered {
89
+ width: auto;
90
+ border: 1px solid var(--color-border-default);
91
+ }
92
+
93
+ .dbc-table--bordered th,
94
+ .dbc-table--bordered td {
95
+ border: 1px solid var(--color-border-default);
96
+ padding: var(--spacing-xs) var(--spacing-sm);
97
+ }
98
+
99
+ .dbc-table--bordered thead th {
100
+ background-color: var(--color-bg-surface);
101
+ }
102
+
103
+ .dbc-table--align-middle {
104
+ vertical-align: middle;
105
+ th {
106
+ vertical-align: middle;
107
+ }
108
+ td {
109
+ vertical-align: middle;
110
+ }
111
+ }
112
+
49
113
  @media screen and (min-height: 400px) {
50
114
  .body.dbc-app {
51
115
  overflow: hidden;
@@ -55,10 +119,17 @@ body.dbc-app {
55
119
  .grow-container {
56
120
  display: flex;
57
121
  flex-direction: column;
58
- flex-grow: 1;
122
+ flex: 1;
59
123
  overflow: auto;
60
124
  }
61
125
 
126
+ .hideScrollBar {
127
+ scrollbar-width: none; /* Firefox */
128
+ }
129
+ .hideScrollBar::-webkit-scrollbar {
130
+ display: none; /* Chrome, Safari, Opera */
131
+ }
132
+
62
133
  /* Apply globally */
63
134
  ::-webkit-scrollbar {
64
135
  width: 10px; /* or thinner: 6px */
@@ -69,13 +140,13 @@ body.dbc-app {
69
140
  }
70
141
 
71
142
  ::-webkit-scrollbar-thumb {
72
- background-color: var(--opac-bg-dark); /* neutral gray thumb */
143
+ background-color: var(--color-border-strong);
73
144
  border-radius: 4px; /* rounded for modern look */
74
- border: 2px solid #f9fafb; /* creates padding effect */
145
+ border: 2px solid var(--color-bg-surface); /* creates padding effect */
75
146
  }
76
147
 
77
148
  ::-webkit-scrollbar-thumb:hover {
78
- background-color: #9ca3af; /* darker gray on hover */
149
+ background-color: var(--color-fg-subtle);
79
150
  }
80
151
 
81
152
  .animate--expand {
@@ -87,9 +158,20 @@ body.dbc-app {
87
158
  }
88
159
 
89
160
  .fitContent {
90
- white-space: nowrap;
91
- width: 1%;
161
+ white-space: nowrap !important;
162
+ width: 1% !important;
163
+ min-width: 1% !important;
164
+ max-width: 1% !important;
165
+ }
166
+
167
+ .dbc-full-height {
168
+ height: 100%;
169
+ }
170
+
171
+ .dbc-offset-height {
172
+ transform: translateY(-8vh);
92
173
  }
174
+
93
175
  /* Animations */
94
176
  @keyframes expand {
95
177
  0% {
@@ -122,3 +204,14 @@ body.dbc-app {
122
204
  display: inline-block;
123
205
  animation: spin 2s linear infinite;
124
206
  }
207
+
208
+ .srOnly {
209
+ position: absolute;
210
+ width: 1px;
211
+ height: 1px;
212
+ padding: 0;
213
+ margin: -1px;
214
+ overflow: hidden;
215
+ clip: rect(0, 0, 0, 0);
216
+ border: 0;
217
+ }
@@ -0,0 +1,101 @@
1
+ .dbc-flex {
2
+ display: flex;
3
+ }
4
+
5
+ .dbc-inline-flex {
6
+ display: inline-flex;
7
+ }
8
+
9
+ .dbc-flex-row {
10
+ flex-direction: row;
11
+ }
12
+ .dbc-flex-column {
13
+ flex-direction: column;
14
+ }
15
+
16
+ .dbc-flex-wrap {
17
+ flex-wrap: wrap;
18
+ }
19
+ .dbc-flex-nowrap {
20
+ flex-wrap: nowrap;
21
+ }
22
+
23
+ .dbc-justify-start {
24
+ justify-content: flex-start;
25
+ }
26
+ .dbc-justify-center {
27
+ justify-content: center;
28
+ }
29
+ .dbc-justify-end {
30
+ justify-content: flex-end;
31
+ }
32
+ .dbc-justify-between {
33
+ justify-content: space-between;
34
+ }
35
+ .dbc-justify-around {
36
+ justify-content: space-around;
37
+ }
38
+ .dbc-justify-evenly {
39
+ justify-content: space-evenly;
40
+ }
41
+
42
+ .dbc-items-start {
43
+ align-items: flex-start;
44
+ }
45
+ .dbc-items-center {
46
+ align-items: center;
47
+ }
48
+ .dbc-items-end {
49
+ align-items: flex-end;
50
+ }
51
+ .dbc-items-stretch {
52
+ align-items: stretch;
53
+ }
54
+
55
+ .dbc-self-start {
56
+ align-self: flex-start;
57
+ }
58
+ .dbc-self-center {
59
+ align-self: center;
60
+ }
61
+ .dbc-self-end {
62
+ align-self: flex-end;
63
+ }
64
+ .dbc-self-stretch {
65
+ align-self: stretch;
66
+ }
67
+
68
+ .dbc-gap-xxs {
69
+ gap: var(--spacing-xxs);
70
+ }
71
+ .dbc-gap-xs {
72
+ gap: var(--spacing-xs);
73
+ }
74
+ .dbc-gap-sm {
75
+ gap: var(--spacing-sm);
76
+ }
77
+ .dbc-gap-md {
78
+ gap: var(--spacing-md);
79
+ }
80
+ .dbc-gap-lg {
81
+ gap: var(--spacing-lg);
82
+ }
83
+ .dbc-gap-xl {
84
+ gap: var(--spacing-xl);
85
+ }
86
+
87
+ .dbc-flex-grow {
88
+ flex-grow: 1;
89
+ }
90
+ .dbc-flex-shrink {
91
+ flex-shrink: 1;
92
+ }
93
+ .dbc-flex-none {
94
+ flex: none;
95
+ }
96
+
97
+ .dbc-flex-center {
98
+ display: flex;
99
+ justify-content: center;
100
+ align-items: center;
101
+ }
@@ -0,0 +1,7 @@
1
+ .dbc-muted-text {
2
+ color: var(--color-text-muted);
3
+ }
4
+
5
+ .dbc-strong-text {
6
+ font-weight: var(--font-weight-semibold);
7
+ }
@@ -1,4 +1,6 @@
1
1
  @import './css-helper-classes/spacing.css';
2
+ @import './css-helper-classes/flex.css';
3
+ @import './css-helper-classes/typography.css';
2
4
 
3
5
  @font-face {
4
6
  font-family: 'Roboto';
@@ -25,8 +27,8 @@
25
27
  }
26
28
 
27
29
  body {
28
- color: var(--color-text);
29
- background-color: var(--color-background);
30
+ color: var(--color-fg-default);
31
+ background-color: var(--color-bg-page);
30
32
  --density: var(--density-comfortable);
31
33
  }
32
34
 
@@ -42,10 +44,72 @@ h3 {
42
44
  font-size: var(--font-size-lg);
43
45
  }
44
46
 
47
+ h4 {
48
+ font-size: var(--font-size-md);
49
+ font-weight: var(--font-weight-medium);
50
+ }
51
+
45
52
  body.dbc-app {
46
53
  max-width: 1600px;
47
54
  }
48
55
 
56
+ .dbc-table {
57
+ --card-label-width: 260px;
58
+ border-collapse: collapse;
59
+ font-size: var(--font-size-sm);
60
+ line-height: var(--line-height-normal);
61
+ tr + tr th,
62
+ tr + tr td {
63
+ padding-block: var(--spacing-xxs);
64
+ }
65
+
66
+ th {
67
+ white-space: nowrap;
68
+ color: var(--color-fg-subtle);
69
+ font-weight: var(--font-weight-default);
70
+ padding-right: var(--spacing-lg);
71
+ vertical-align: top;
72
+ text-align: left;
73
+ }
74
+
75
+ td {
76
+ color: var(--color-fg-default);
77
+ vertical-align: top;
78
+ min-width: 0;
79
+ }
80
+
81
+ th {
82
+ max-width: var(--card-label-width);
83
+ overflow: hidden;
84
+ text-overflow: ellipsis;
85
+ }
86
+ }
87
+
88
+ .dbc-table--bordered {
89
+ width: auto;
90
+ border: 1px solid var(--color-border-default);
91
+ }
92
+
93
+ .dbc-table--bordered th,
94
+ .dbc-table--bordered td {
95
+ border: 1px solid var(--color-border-default);
96
+ padding: var(--spacing-xs) var(--spacing-sm);
97
+ }
98
+
99
+ .dbc-table--bordered thead th {
100
+ background-color: var(--color-bg-surface);
101
+ }
102
+
103
+ .dbc-table--align-middle {
104
+ vertical-align: middle;
105
+ th {
106
+ vertical-align: middle;
107
+ }
108
+ td {
109
+ vertical-align: middle;
110
+ }
111
+ }
112
+
49
113
  @media screen and (min-height: 400px) {
50
114
  .body.dbc-app {
51
115
  overflow: hidden;
@@ -55,10 +119,17 @@ body.dbc-app {
55
119
  .grow-container {
56
120
  display: flex;
57
121
  flex-direction: column;
58
- flex-grow: 1;
122
+ flex: 1;
59
123
  overflow: auto;
60
124
  }
61
125
 
126
+ .hideScrollBar {
127
+ scrollbar-width: none; /* Firefox */
128
+ }
129
+ .hideScrollBar::-webkit-scrollbar {
130
+ display: none; /* Chrome, Safari, Opera */
131
+ }
132
+
62
133
  /* Apply globally */
63
134
  ::-webkit-scrollbar {
64
135
  width: 10px; /* or thinner: 6px */
@@ -69,13 +140,13 @@ body.dbc-app {
69
140
  }
70
141
 
71
142
  ::-webkit-scrollbar-thumb {
72
- background-color: var(--opac-bg-dark); /* neutral gray thumb */
143
+ background-color: var(--color-border-strong);
73
144
  border-radius: 4px; /* rounded for modern look */
74
- border: 2px solid #f9fafb; /* creates padding effect */
145
+ border: 2px solid var(--color-bg-surface); /* creates padding effect */
75
146
  }
76
147
 
77
148
  ::-webkit-scrollbar-thumb:hover {
78
- background-color: #9ca3af; /* darker gray on hover */
149
+ background-color: var(--color-fg-subtle);
79
150
  }
80
151
 
81
152
  .animate--expand {
@@ -87,9 +158,20 @@ body.dbc-app {
87
158
  }
88
159
 
89
160
  .fitContent {
90
- white-space: nowrap;
91
- width: 1%;
161
+ white-space: nowrap !important;
162
+ width: 1% !important;
163
+ min-width: 1% !important;
164
+ max-width: 1% !important;
165
+ }
166
+
167
+ .dbc-full-height {
168
+ height: 100%;
169
+ }
170
+
171
+ .dbc-offset-height {
172
+ transform: translateY(-8vh);
92
173
  }
174
+
93
175
  /* Animations */
94
176
  @keyframes expand {
95
177
  0% {
@@ -122,3 +204,14 @@ body.dbc-app {
122
204
  display: inline-block;
123
205
  animation: spin 2s linear infinite;
124
206
  }
207
+
208
+ .srOnly {
209
+ position: absolute;
210
+ width: 1px;
211
+ height: 1px;
212
+ padding: 0;
213
+ margin: -1px;
214
+ overflow: hidden;
215
+ clip: rect(0, 0, 0, 0);
216
+ border: 0;
217
+ }