@dbcdk/react-components 0.0.96 → 0.0.97

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 (223) hide show
  1. package/dist/components/table/Table.d.ts +1 -1
  2. package/dist/components/table/Table.types.d.ts +3 -0
  3. package/dist/components/table/components/TableHeader.d.ts +2 -1
  4. package/dist/index.cjs +12750 -0
  5. package/dist/index.css +7149 -0
  6. package/dist/index.js +12641 -79
  7. package/dist/tanstack.cjs +2674 -0
  8. package/dist/tanstack.css +1267 -0
  9. package/dist/tanstack.js +2650 -3
  10. package/dist/themes/dbc.css +3 -0
  11. package/dist/themes/forfatterweb.css +2 -0
  12. package/package.json +11 -10
  13. package/dist/assets/logo.js +0 -2
  14. package/dist/components/__stories__/_data/table.d.ts +0 -15
  15. package/dist/components/__stories__/_data/table.js +0 -55
  16. package/dist/components/__stories__/_data/tabs.d.ts +0 -9
  17. package/dist/components/__stories__/_data/tabs.js +0 -31
  18. package/dist/components/__stories__/story-components/Colors.d.ts +0 -11
  19. package/dist/components/__stories__/story-components/Colors.js +0 -96
  20. package/dist/components/__stories__/story-components/Colors.module.css +0 -27
  21. package/dist/components/__stories__/story-components/ComponentSizes.d.ts +0 -2
  22. package/dist/components/__stories__/story-components/ComponentSizes.js +0 -26
  23. package/dist/components/__stories__/story-components/Elevation.d.ts +0 -2
  24. package/dist/components/__stories__/story-components/Elevation.js +0 -49
  25. package/dist/components/__stories__/story-components/Flex.d.ts +0 -2
  26. package/dist/components/__stories__/story-components/Flex.js +0 -177
  27. package/dist/components/__stories__/story-components/Flex.module.css +0 -317
  28. package/dist/components/__stories__/story-components/Spacing.d.ts +0 -6
  29. package/dist/components/__stories__/story-components/Spacing.js +0 -76
  30. package/dist/components/__stories__/story-components/Spacing.module.css +0 -154
  31. package/dist/components/accordion/Accordion.js +0 -70
  32. package/dist/components/accordion/Accordion.module.css +0 -28
  33. package/dist/components/accordion/components/AccordionRow.js +0 -53
  34. package/dist/components/accordion/components/AccordionRow.module.css +0 -90
  35. package/dist/components/alert/Alert.js +0 -17
  36. package/dist/components/alert/Alert.module.css +0 -98
  37. package/dist/components/app-header/AppHeader.js +0 -5
  38. package/dist/components/app-header/AppHeader.module.css +0 -74
  39. package/dist/components/attribute-chip/AttributeChip.js +0 -5
  40. package/dist/components/attribute-chip/AttributeChip.module.css +0 -65
  41. package/dist/components/avatar/Avatar.js +0 -48
  42. package/dist/components/avatar/Avatar.module.css +0 -91
  43. package/dist/components/breadcrumbs/Breadcrumbs.js +0 -6
  44. package/dist/components/breadcrumbs/Breadcrumbs.module.css +0 -80
  45. package/dist/components/button/Button.js +0 -81
  46. package/dist/components/button/Button.module.css +0 -249
  47. package/dist/components/button-select/ButtonSelect.js +0 -7
  48. package/dist/components/button-select/ButtonSelect.module.css +0 -40
  49. package/dist/components/card/Card.js +0 -71
  50. package/dist/components/card/Card.module.css +0 -160
  51. package/dist/components/card/components/CardMeta.js +0 -26
  52. package/dist/components/card/components/CardMeta.module.css +0 -55
  53. package/dist/components/card-container/CardContainer.js +0 -6
  54. package/dist/components/card-container/CardContainer.module.css +0 -61
  55. package/dist/components/chip/Chip.js +0 -31
  56. package/dist/components/chip/Chip.module.css +0 -236
  57. package/dist/components/circle/Circle.js +0 -5
  58. package/dist/components/circle/Circle.module.css +0 -128
  59. package/dist/components/clear-button/ClearButton.js +0 -13
  60. package/dist/components/clear-button/ClearButton.module.css +0 -26
  61. package/dist/components/code-block/CodeBlock.js +0 -58
  62. package/dist/components/code-block/CodeBlock.module.css +0 -124
  63. package/dist/components/copy-button/CopyButton.js +0 -78
  64. package/dist/components/copy-button/CopyButton.module.css +0 -22
  65. package/dist/components/datetime-picker/DateTimePicker.js +0 -403
  66. package/dist/components/datetime-picker/DateTimePicker.module.css +0 -155
  67. package/dist/components/datetime-picker/dateTimeHelpers.js +0 -248
  68. package/dist/components/divider/Divider.js +0 -12
  69. package/dist/components/filter-field/FilterField.js +0 -191
  70. package/dist/components/filter-field/FilterField.module.css +0 -379
  71. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.js +0 -52
  72. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.module.css +0 -59
  73. package/dist/components/forms/checkbox/Checkbox.js +0 -28
  74. package/dist/components/forms/checkbox/Checkbox.module.css +0 -103
  75. package/dist/components/forms/checkbox-group/CheckboxGroup.js +0 -75
  76. package/dist/components/forms/checkbox-group/CheckboxGroup.module.css +0 -115
  77. package/dist/components/forms/form-select/FormSelect.js +0 -86
  78. package/dist/components/forms/form-select/FormSelect.module.css +0 -236
  79. package/dist/components/forms/input/Input.js +0 -77
  80. package/dist/components/forms/input/Input.module.css +0 -468
  81. package/dist/components/forms/input-container/InputContainer.js +0 -15
  82. package/dist/components/forms/input-container/InputContainer.module.css +0 -60
  83. package/dist/components/forms/multi-select/MultiSelect.js +0 -122
  84. package/dist/components/forms/radio-buttons/RadioButton.js +0 -26
  85. package/dist/components/forms/radio-buttons/RadioButtonGroup.js +0 -19
  86. package/dist/components/forms/radio-buttons/RadioButtons.module.css +0 -118
  87. package/dist/components/forms/select/Select.js +0 -185
  88. package/dist/components/forms/select/Select.module.css +0 -32
  89. package/dist/components/forms/text-area/Textarea.js +0 -47
  90. package/dist/components/forms/text-area/Textarea.module.css +0 -70
  91. package/dist/components/forms/typeahead/Typeahead.js +0 -668
  92. package/dist/components/forms/typeahead/Typeahead.module.css +0 -38
  93. package/dist/components/grid/Grid.js +0 -23
  94. package/dist/components/grid/Grid.module.css +0 -35
  95. package/dist/components/headline/CollapsibleHeadline.js +0 -29
  96. package/dist/components/headline/Headline.js +0 -26
  97. package/dist/components/headline/Headline.module.css +0 -185
  98. package/dist/components/hyperlink/Hyperlink.js +0 -40
  99. package/dist/components/hyperlink/Hyperlink.module.css +0 -107
  100. package/dist/components/icon/Icon.js +0 -14
  101. package/dist/components/icon/Icon.module.css +0 -36
  102. package/dist/components/interval-select/IntervalSelect.js +0 -99
  103. package/dist/components/json-viewer/HighlightedText.js +0 -6
  104. package/dist/components/json-viewer/JsonNode.js +0 -30
  105. package/dist/components/json-viewer/JsonViewer.js +0 -68
  106. package/dist/components/json-viewer/JsonViewer.module.css +0 -346
  107. package/dist/components/json-viewer/types.js +0 -1
  108. package/dist/components/json-viewer/useClipboardStatus.js +0 -11
  109. package/dist/components/json-viewer/utils.js +0 -125
  110. package/dist/components/menu/Menu.js +0 -165
  111. package/dist/components/menu/Menu.module.css +0 -220
  112. package/dist/components/meta-bar/MetaBar.js +0 -9
  113. package/dist/components/meta-bar/MetaBar.module.css +0 -27
  114. package/dist/components/nav-bar/NavBar.js +0 -29
  115. package/dist/components/nav-bar/NavBar.module.css +0 -221
  116. package/dist/components/overlay/fade-overlay/FadeOverlay.js +0 -8
  117. package/dist/components/overlay/fade-overlay/FadeOverlay.module.css +0 -54
  118. package/dist/components/overlay/modal/Modal.js +0 -115
  119. package/dist/components/overlay/modal/Modal.module.css +0 -109
  120. package/dist/components/overlay/modal/provider/ModalProvider.js +0 -73
  121. package/dist/components/overlay/side-panel/SidePanel.js +0 -83
  122. package/dist/components/overlay/side-panel/SidePanel.module.css +0 -177
  123. package/dist/components/overlay/side-panel/useSidePanel.js +0 -11
  124. package/dist/components/overlay/tooltip/Tooltip.js +0 -17
  125. package/dist/components/overlay/tooltip/Tooltip.module.css +0 -104
  126. package/dist/components/overlay/tooltip/TooltipProvider.js +0 -255
  127. package/dist/components/overlay/tooltip/useTooltipTrigger.js +0 -118
  128. package/dist/components/page/Page.js +0 -11
  129. package/dist/components/page/Page.module.css +0 -89
  130. package/dist/components/page-layout/PageLayout.js +0 -76
  131. package/dist/components/page-layout/PageLayout.module.css +0 -236
  132. package/dist/components/page-layout/components/layout-footer/LayoutFooter.js +0 -27
  133. package/dist/components/page-layout/components/layout-footer/LayoutFooter.module.css +0 -89
  134. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +0 -14
  135. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +0 -84
  136. package/dist/components/pagination/Pagination.js +0 -56
  137. package/dist/components/pagination/Pagination.module.css +0 -25
  138. package/dist/components/panel/Panel.js +0 -7
  139. package/dist/components/panel/Panel.module.css +0 -29
  140. package/dist/components/popover/Popover.js +0 -257
  141. package/dist/components/popover/Popover.module.css +0 -54
  142. package/dist/components/search-box/SearchBox.js +0 -170
  143. package/dist/components/search-box/SearchBox.module.css +0 -21
  144. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +0 -48
  145. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +0 -167
  146. package/dist/components/sidebar/Sidebar.js +0 -6
  147. package/dist/components/sidebar/components/SidebarItem.js +0 -8
  148. package/dist/components/sidebar/components/SidebarItem.module.css +0 -0
  149. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +0 -63
  150. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +0 -29
  151. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +0 -153
  152. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +0 -260
  153. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +0 -18
  154. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +0 -106
  155. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +0 -26
  156. package/dist/components/sidebar/components/sidebar-items/SidebarItems.module.css +0 -20
  157. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +0 -30
  158. package/dist/components/sidebar/providers/SidebarProvider.js +0 -229
  159. package/dist/components/skeleton-loader/SkeletonLoader.js +0 -73
  160. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +0 -13
  161. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -51
  162. package/dist/components/split-button/SplitButton.js +0 -10
  163. package/dist/components/split-button/SplitButton.module.css +0 -32
  164. package/dist/components/split-pane/SplitPane.js +0 -107
  165. package/dist/components/split-pane/SplitPane.module.css +0 -111
  166. package/dist/components/split-pane/provider/SplitPaneContext.js +0 -124
  167. package/dist/components/stack/Stack.js +0 -33
  168. package/dist/components/stack/Stack.module.css +0 -61
  169. package/dist/components/state-page/StatePage.js +0 -20
  170. package/dist/components/state-page/StatePage.module.css +0 -9
  171. package/dist/components/state-page/empty.js +0 -2
  172. package/dist/components/state-page/error.js +0 -2
  173. package/dist/components/state-page/notFound.js +0 -2
  174. package/dist/components/sticky-footer-layout/StickyFooterLayout.js +0 -64
  175. package/dist/components/table/Table.js +0 -50
  176. package/dist/components/table/Table.module.css +0 -536
  177. package/dist/components/table/Table.types.js +0 -1
  178. package/dist/components/table/TanstackTable.js +0 -111
  179. package/dist/components/table/components/TableBody.js +0 -10
  180. package/dist/components/table/components/TableHeader.js +0 -7
  181. package/dist/components/table/components/TableHeaderCell.js +0 -24
  182. package/dist/components/table/components/TableLoadingBody.js +0 -26
  183. package/dist/components/table/components/TablePagination.js +0 -1
  184. package/dist/components/table/components/TableRow.js +0 -54
  185. package/dist/components/table/components/TableSelectionCell.js +0 -16
  186. package/dist/components/table/components/column-resizer/ColumnResizer.js +0 -5
  187. package/dist/components/table/components/column-resizer/ColumnResizer.module.css +0 -22
  188. package/dist/components/table/components/empty-state/EmptyState.js +0 -23
  189. package/dist/components/table/components/empty-state/EmptyState.module.css +0 -4
  190. package/dist/components/table/components/table-settings/TableSettings.js +0 -63
  191. package/dist/components/table/hooks/useTableRowInteractions.js +0 -30
  192. package/dist/components/table/table.classes.js +0 -23
  193. package/dist/components/table/table.utils.js +0 -47
  194. package/dist/components/table/tanstackTable.utils.js +0 -175
  195. package/dist/components/tabs/Tabs.js +0 -125
  196. package/dist/components/tabs/Tabs.module.css +0 -233
  197. package/dist/components/theme-button/ThemeButton.js +0 -23
  198. package/dist/components/toast/Toast.js +0 -20
  199. package/dist/components/toast/Toast.module.css +0 -161
  200. package/dist/components/toast/provider/ToastProvider.js +0 -70
  201. package/dist/components/user-display/UserDisplay.js +0 -6
  202. package/dist/components/user-display/UserDisplay.module.css +0 -25
  203. package/dist/constants/severity.js +0 -24
  204. package/dist/constants/severity.types.js +0 -1
  205. package/dist/constants/sizes.js +0 -7
  206. package/dist/hooks/useDeviceSize.js +0 -32
  207. package/dist/hooks/useListNavigation.js +0 -234
  208. package/dist/hooks/usePagination.js +0 -140
  209. package/dist/hooks/useSorting.js +0 -118
  210. package/dist/hooks/useTableData.js +0 -45
  211. package/dist/hooks/useTableSelection.js +0 -164
  212. package/dist/hooks/useTableSettings.js +0 -71
  213. package/dist/hooks/useTheme.js +0 -66
  214. package/dist/hooks/useTimeDuration.js +0 -68
  215. package/dist/hooks/useViewportFill.js +0 -77
  216. package/dist/styles/animation.js +0 -5
  217. package/dist/styles/themes/types.js +0 -1
  218. package/dist/types/a11y-props.types.js +0 -1
  219. package/dist/types/sizes.types.js +0 -1
  220. package/dist/utils/arrays/nested-filtering.js +0 -48
  221. package/dist/utils/date/formatDate.js +0 -51
  222. package/dist/utils/localStorage.utils.js +0 -78
  223. package/dist/utils/text/get-highlighted-segments.js +0 -46
@@ -0,0 +1,3 @@
1
+ @import '../styles/themes/dbc/base.css';
2
+ @import '../styles/themes/dbc/colors.css';
3
+ @import '../index.css';
@@ -0,0 +1,2 @@
1
+ @import '../styles/themes/forfatterweb/light.css';
2
+ @import '../index.css';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbcdk/react-components",
3
- "version": "0.0.96",
3
+ "version": "0.0.97",
4
4
  "description": "Reusable React components for DBC projects",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -14,9 +14,9 @@
14
14
  "sideEffects": [
15
15
  "**/*.css"
16
16
  ],
17
- "main": "dist/index.cjs",
18
- "module": "dist/index.js",
19
- "types": "dist/index.d.ts",
17
+ "main": "./dist/index.cjs",
18
+ "module": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
20
  "exports": {
21
21
  ".": {
22
22
  "types": "./dist/index.d.ts",
@@ -24,9 +24,7 @@
24
24
  "require": "./dist/index.cjs",
25
25
  "default": "./dist/index.js"
26
26
  },
27
- "./components/*": "./dist/components/*",
28
- "./icons/*": "./dist/icons/*",
29
- "./hooks/*": "./dist/hooks/*",
27
+ "./themes/*": "./dist/themes/*",
30
28
  "./styles/themes/*": "./dist/styles/themes/*",
31
29
  "./styles.css": "./dist/styles/styles.css",
32
30
  "./assets/*": "./dist/assets/*",
@@ -35,6 +33,7 @@
35
33
  "import": "./dist/tanstack.js",
36
34
  "require": "./dist/tanstack.cjs"
37
35
  },
36
+ "./index.css": "./dist/index.css",
38
37
  "./package.json": "./package.json"
39
38
  },
40
39
  "files": [
@@ -43,9 +42,11 @@
43
42
  ],
44
43
  "scripts": {
45
44
  "clean": "rimraf dist",
46
- "build": "npm run clean && npm run build:code && npm run postbuild",
47
- "build:code": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
48
- "dev": "tsc -p tsconfig.build.json --watch",
45
+ "build": "npm run clean && npm run build:js && npm run build:types && npm run rewrite:paths && npm run postbuild",
46
+ "build:js": "tsup --config tsup.config.ts",
47
+ "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly",
48
+ "rewrite:paths": "tsc-alias -p tsconfig.build.json",
49
+ "dev": "tsup --config tsup.config.ts --watch",
49
50
  "test": "vitest run",
50
51
  "format": "prettier . --write",
51
52
  "format:fix": "prettier . --write",
@@ -1,2 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export const Logo = () => (_jsxs("svg", { id: "bbbad536-f254-4715-8d5c-86b6d7022b08", "data-name": "Logo", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 154 70", children: [_jsx("path", { d: "M73.13,1.4a16,16,0,0,0-9.31.67,14.12,14.12,0,0,0-4.63,3,13.42,13.42,0,0,0-3,4.55,15.21,15.21,0,0,0-1.07,5.75,16,16,0,0,0,1.17,6.33,12.73,12.73,0,0,0,3.22,4.56A14,14,0,0,0,64.13,29a16.32,16.32,0,0,0,5.52.93A14.79,14.79,0,0,0,72,29.76a16.17,16.17,0,0,0,2.24-.53,14,14,0,0,0,2.17-.87A2.11,2.11,0,0,0,77.6,26.8,2.42,2.42,0,0,0,77,24.72a2.12,2.12,0,0,0-1.4-.85,2.89,2.89,0,0,0-1.68.28,7.28,7.28,0,0,1-2.1.73,11.59,11.59,0,0,1-2.19.2A11.22,11.22,0,0,1,66,24.5a7.87,7.87,0,0,1-3-1.8,8.49,8.49,0,0,1-2-3,11.83,11.83,0,0,1-.71-4.29A11.27,11.27,0,0,1,61,11.52a8.48,8.48,0,0,1,1.84-3,8.12,8.12,0,0,1,2.93-2A11.14,11.14,0,0,1,71.9,6.1a10.21,10.21,0,0,1,2,.69,3.1,3.1,0,0,0,1.68.32A1.83,1.83,0,0,0,77,6.3a2.47,2.47,0,0,0,.58-2.06,2.14,2.14,0,0,0-1.23-1.66,14.22,14.22,0,0,0-3.2-1.18", fill: "var(--color-brand)" }), _jsx("path", { d: "M51.82,20.92A9.6,9.6,0,0,1,51,25.29a6.71,6.71,0,0,1-2.29,2.63,8.77,8.77,0,0,1-3,1.27,15,15,0,0,1-3.12.35H32.43A2.43,2.43,0,0,1,30,27.07V3.67A2.43,2.43,0,0,1,32.43,1.2h10.2q3.88,0,5.79,1.82a7.12,7.12,0,0,1,1.9,5.39,6,6,0,0,1-.93,3.34,5.93,5.93,0,0,1-2.45,2.08,11,11,0,0,1,1.38.67,7.19,7.19,0,0,1,2.51,2.43A7.33,7.33,0,0,1,51.82,20.92Zm-6-2.64a3.17,3.17,0,0,0-1.74-1,10,10,0,0,0-1.86-.2h-7v7.81h7.29a4.25,4.25,0,0,0,3-1,3.84,3.84,0,0,0,1.09-3A3.88,3.88,0,0,0,45.83,18.28ZM44.19,6.77A3.25,3.25,0,0,0,41.9,6H35.22v6.31H42a3.18,3.18,0,0,0,2.11-.77,2.71,2.71,0,0,0,.93-2.22A3.26,3.26,0,0,0,44.19,6.77Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M3.47,1.2A2.43,2.43,0,0,0,1,3.67v23.4a2.43,2.43,0,0,0,2.47,2.47h9.67a11.16,11.16,0,0,0,6.62-1.91,11.93,11.93,0,0,0,4.11-5.12,17.57,17.57,0,0,0,1.42-7.14,18.88,18.88,0,0,0-.79-5.49,13.75,13.75,0,0,0-2.35-4.53,10.65,10.65,0,0,0-3.83-3,11.74,11.74,0,0,0-5.18-1.1ZM20,15.37a14.37,14.37,0,0,1-.75,4.72,7.58,7.58,0,0,1-2.37,3.48,6.44,6.44,0,0,1-4.17,1.31H6.06v-19h6.68a6.34,6.34,0,0,1,5.54,2.85,9.2,9.2,0,0,1,1.32,3A15.15,15.15,0,0,1,20,15.37Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M151.61,64.53a2.45,2.45,0,0,0-1.76-.67H139.29V42.73a2.32,2.32,0,0,0-.75-1.76,2.44,2.44,0,0,0-1.72-.71A2.55,2.55,0,0,0,135,41a2.34,2.34,0,0,0-.73,1.76v23.4a2.43,2.43,0,0,0,2.47,2.47h13.15a2.49,2.49,0,0,0,1.76-.67,2.2,2.2,0,0,0,.71-1.68A2.23,2.23,0,0,0,151.61,64.53Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M129.85,65.44,119.9,41.72a2.51,2.51,0,0,0-.91-1.2,2.42,2.42,0,0,0-1.36-.42,2.14,2.14,0,0,0-1.44.36,2.72,2.72,0,0,0-1,1.26l-10.08,24.2a2.73,2.73,0,0,0-.12.77,2.2,2.2,0,0,0,.53,1.5,2,2,0,0,0,1.62.61,2.09,2.09,0,0,0,1.27-.43,2.49,2.49,0,0,0,.87-1.19l2.1-4.94h12.07l2.1,4.9a2.9,2.9,0,0,0,.91,1.21,2.11,2.11,0,0,0,1.32.45,2.32,2.32,0,0,0,2.27-2.39A2.62,2.62,0,0,0,129.85,65.44Zm-16.48-7.85,4-9.48,4.06,9.48Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M107,40.91a2.52,2.52,0,0,0-1.76-.65h-18a2.55,2.55,0,0,0-1.76.63,2.15,2.15,0,0,0-.71,1.68,2.2,2.2,0,0,0,.71,1.7,2.52,2.52,0,0,0,1.76.65h6.35V66.13a2.39,2.39,0,0,0,.73,1.76,2.58,2.58,0,0,0,1.86.71,2.7,2.7,0,0,0,1.93-.71,2.34,2.34,0,0,0,.75-1.76V44.92h6.35a2.55,2.55,0,0,0,1.76-.63,2.15,2.15,0,0,0,.71-1.68A2.2,2.2,0,0,0,107,40.91Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M80.84,41a2.26,2.26,0,0,0-1.72-.71,3.74,3.74,0,0,0-1.74.36l-6.11,3.65A2.29,2.29,0,0,0,70,46.37a2.48,2.48,0,0,0,.68,1.68,2.2,2.2,0,0,0,1.74.79,2.52,2.52,0,0,0,1.3-.36L76.25,47V66.13A2.35,2.35,0,0,0,77,67.89a2.55,2.55,0,0,0,1.86.71,2.69,2.69,0,0,0,1.92-.71,2.34,2.34,0,0,0,.75-1.76V42.73A2.45,2.45,0,0,0,80.84,41Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M67.3,54a2.34,2.34,0,0,0-1.74-.71H58.92a2.44,2.44,0,0,0-1.76.69,2.51,2.51,0,0,0,0,3.48,2.44,2.44,0,0,0,1.76.69h3.81V63.4a11.67,11.67,0,0,1-2,.5,16.72,16.72,0,0,1-2.68.24,9.1,9.1,0,0,1-4.79-1.31,9.81,9.81,0,0,1-4.72-8.4,9.59,9.59,0,0,1,1.28-4.88A9.75,9.75,0,0,1,53.24,46,9,9,0,0,1,58,44.71a10.82,10.82,0,0,1,2.39.25,11.47,11.47,0,0,1,2.15.68,3.18,3.18,0,0,0,.67.25,3.05,3.05,0,0,0,.66.08,2.07,2.07,0,0,0,1.66-.77,2.63,2.63,0,0,0,.65-1.74,2.27,2.27,0,0,0-1.21-2,13.36,13.36,0,0,0-3.28-1.21,16.63,16.63,0,0,0-3.69-.4A14.45,14.45,0,0,0,52.29,41a14.63,14.63,0,0,0-4.7,3.14,14.82,14.82,0,0,0-3.18,4.63,14.53,14.53,0,0,0,0,11.33,14.89,14.89,0,0,0,7.88,7.78A14.62,14.62,0,0,0,58,69a15.78,15.78,0,0,0,4.64-.67,17.19,17.19,0,0,0,4.07-1.8,3.49,3.49,0,0,0,.87-.85A2.23,2.23,0,0,0,68,64.35V55.76A2.44,2.44,0,0,0,67.3,54Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M37.94,41a2.28,2.28,0,0,0-1.72-.71,3.69,3.69,0,0,0-1.74.36l-6.12,3.65a2.31,2.31,0,0,0-1.25,2.1,2.49,2.49,0,0,0,.69,1.68,2.2,2.2,0,0,0,1.74.79,2.46,2.46,0,0,0,1.29-.36L33.34,47V66.13a2.35,2.35,0,0,0,.73,1.76,2.58,2.58,0,0,0,1.86.71,2.7,2.7,0,0,0,1.93-.71,2.36,2.36,0,0,0,.74-1.76V42.73A2.48,2.48,0,0,0,37.94,41Z", fill: "var(--color-brand)" }), _jsx("path", { d: "M3.47,40.26A2.43,2.43,0,0,0,1,42.73v23.4A2.43,2.43,0,0,0,3.47,68.6h9.67a11.16,11.16,0,0,0,6.62-1.91,12,12,0,0,0,4.11-5.12,17.57,17.57,0,0,0,1.42-7.14,18.83,18.83,0,0,0-.79-5.49,13.75,13.75,0,0,0-2.35-4.53,10.78,10.78,0,0,0-3.83-3.06,11.74,11.74,0,0,0-5.18-1.09ZM20,54.43a14.27,14.27,0,0,1-.75,4.71,7.48,7.48,0,0,1-2.37,3.48,6.39,6.39,0,0,1-4.17,1.32H6.06v-19h6.68a6.65,6.65,0,0,1,3.28.76,6.65,6.65,0,0,1,2.26,2.09,9.24,9.24,0,0,1,1.32,3A15.29,15.29,0,0,1,20,54.43Z", fill: "var(--color-brand)" })] }));
@@ -1,15 +0,0 @@
1
- import type { JSX } from 'react';
2
- import { ColumnItem } from '../../../components/table/Table.types';
3
- type HarvestRunRow = {
4
- runId: string;
5
- source: string;
6
- started: string;
7
- status: 'Completed' | 'Running' | 'Failed';
8
- updated: number;
9
- warnings: number;
10
- failed: number;
11
- };
12
- export declare const STORY_TABLE_DATA: () => HarvestRunRow[];
13
- export declare const STORY_TABLE_COLUMNS: ColumnItem<HarvestRunRow>[];
14
- export declare const SampleTable: () => JSX.Element;
15
- export {};
@@ -1,55 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Circle } from '../../../components/circle/Circle';
3
- import { Table } from '../../../components/table/Table';
4
- const sources = ['onix.vendor-x', 'onix.vendor-y', 'cover.provider-z'];
5
- const statuses = ['Completed', 'Running', 'Failed'];
6
- function randomInt(min, max) {
7
- return Math.floor(Math.random() * (max - min + 1)) + min;
8
- }
9
- function randomDate(start, end) {
10
- const date = new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
11
- return date;
12
- }
13
- function pad(n) {
14
- return n < 10 ? '0' + n : n;
15
- }
16
- function formatDate(date) {
17
- return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:00`;
18
- }
19
- function generateRandomRow() {
20
- const date = randomDate(new Date(2026, 0, 27, 3), new Date(2026, 0, 27, 23));
21
- const source = sources[randomInt(0, sources.length - 1)];
22
- const status = statuses[randomInt(0, statuses.length - 1)];
23
- return {
24
- runId: `harvest:${formatDate(date).replace(' ', 'T')}`,
25
- source,
26
- started: formatDate(date),
27
- status,
28
- updated: status === 'Failed' ? 0 : randomInt(800, 2000),
29
- warnings: randomInt(0, 40),
30
- failed: status === 'Failed' ? randomInt(1, 5) : randomInt(0, 2),
31
- };
32
- }
33
- export const STORY_TABLE_DATA = () => Array.from({ length: randomInt(10, 25) }, _ => generateRandomRow());
34
- export const STORY_TABLE_COLUMNS = [
35
- { id: 'runId', header: 'Kørsels-ID', accessor: 'runId', sortable: true },
36
- { id: 'source', header: 'Kilde', accessor: 'source', sortable: true },
37
- { id: 'started', header: 'Startet', accessor: 'started', sortable: true },
38
- {
39
- id: 'status',
40
- header: 'Status',
41
- accessor: 'status',
42
- sortable: true,
43
- render: (row) => (_jsxs("span", { className: "dbc-flex dbc-flex-row dbc-flex-wrap dbc-gap-xs", children: [row.status === 'Completed' && (_jsx(Circle, { size: "xs", severity: "success", children: "Fuldf\u00F8rt" })), row.status === 'Running' && (_jsx(Circle, { pulse: true, size: "xs", severity: "info", children: "K\u00F8rer" })), row.status === 'Failed' && (_jsx(Circle, { size: "xs", severity: "error", children: "Fejlet" }))] })),
44
- },
45
- {
46
- id: 'updated',
47
- header: 'Opdateret',
48
- accessor: 'updated',
49
- sortable: true,
50
- align: 'right',
51
- },
52
- { id: 'warnings', header: 'Advarsler', accessor: 'warnings', sortable: true, align: 'right' },
53
- { id: 'failed', header: 'Fejlet', accessor: 'failed', sortable: true, align: 'right' },
54
- ];
55
- export const SampleTable = () => (_jsx(Table, { fillViewport: true, data: STORY_TABLE_DATA(), columns: STORY_TABLE_COLUMNS, dataKey: "runId", variant: "embedded" }));
@@ -1,9 +0,0 @@
1
- import { ReactNode } from 'react';
2
- import { TabItem } from '../../../components/tabs/Tabs';
3
- export declare const tabItems: TabItem[];
4
- export declare const tabArgs: {
5
- tabs: TabItem[];
6
- variant: 'filled' | 'outlined';
7
- header: string;
8
- addition: ReactNode;
9
- };
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Hourglass, Undo2 } from 'lucide-react';
3
- import { Button } from '../../../components/button/Button';
4
- import { Icon } from '../../../components/icon/Icon';
5
- import { SampleTable } from './table';
6
- export const tabItems = [
7
- {
8
- header: 'Afvist af anmelder',
9
- id: 1,
10
- headerIcon: _jsx(Icon, { severity: "error" }),
11
- content: _jsx(SampleTable, {}),
12
- },
13
- {
14
- header: 'Afventer godkendelse',
15
- id: 2,
16
- headerIcon: _jsx(Hourglass, {}),
17
- content: _jsx(SampleTable, {}),
18
- },
19
- {
20
- header: 'Retur til redigering',
21
- id: 3,
22
- headerIcon: _jsx(Undo2, {}),
23
- content: _jsx(SampleTable, {}),
24
- },
25
- ];
26
- export const tabArgs = {
27
- tabs: tabItems,
28
- variant: 'filled',
29
- header: 'Sagsoversigt',
30
- addition: _jsx(Button, { children: "Se historik" }),
31
- };
@@ -1,11 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- export declare const textSizes: {
3
- name: string;
4
- value: string;
5
- }[];
6
- export declare const textColors: {
7
- name: string;
8
- value: string;
9
- backgroundColor: string | undefined;
10
- }[];
11
- export declare function Colors(): ReactNode;
@@ -1,96 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
3
- import { Select } from '../../../components/forms/select/Select';
4
- import { Headline } from '../../../components/headline/Headline';
5
- import styles from './Colors.module.css';
6
- const colors = [
7
- {
8
- name: 'Brand',
9
- value: '--color-brand',
10
- textColor: 'var(--color-fg-on-brand)',
11
- hoverColor: 'var(--color-brand-hover)',
12
- },
13
- {
14
- name: 'Success',
15
- value: '--color-status-success',
16
- textColor: 'var(--color-fg-on-strong)',
17
- // no dedicated hover token for status colors in the new theme
18
- hoverColor: 'var(--color-status-success)',
19
- },
20
- {
21
- name: 'Info',
22
- value: '--color-status-info',
23
- textColor: 'var(--color-fg-on-strong)',
24
- hoverColor: 'var(--color-status-info)',
25
- },
26
- {
27
- name: 'Warning',
28
- value: '--color-status-warning',
29
- textColor: 'var(--color-fg-on-strong)',
30
- hoverColor: 'var(--color-status-warning)',
31
- },
32
- {
33
- name: 'Error',
34
- value: '--color-status-error',
35
- textColor: 'var(--color-fg-on-strong)',
36
- hoverColor: 'var(--color-status-error)',
37
- },
38
- {
39
- name: 'Success background',
40
- value: '--color-status-success-bg',
41
- textColor: 'var(--color-status-success-fg)',
42
- hoverColor: 'var(--color-status-success-bg)',
43
- },
44
- {
45
- name: 'Info background',
46
- value: '--color-status-info-bg',
47
- textColor: 'var(--color-status-info-fg)',
48
- hoverColor: 'var(--color-status-info-bg)',
49
- },
50
- {
51
- name: 'Warning background',
52
- value: '--color-status-warning-bg',
53
- textColor: 'var(--color-status-warning-fg)',
54
- hoverColor: 'var(--color-status-warning-bg)',
55
- },
56
- {
57
- name: 'Error background',
58
- value: '--color-status-error-bg',
59
- textColor: 'var(--color-status-error-fg)',
60
- hoverColor: 'var(--color-status-error-bg)',
61
- },
62
- ];
63
- export const textSizes = [
64
- { name: 'Extra small', value: '--font-size-xs' },
65
- { name: 'Small', value: '--font-size-sm' },
66
- { name: 'Medium', value: '--font-size-md' },
67
- { name: 'Large', value: '--font-size-lg' },
68
- ];
69
- export const textColors = [
70
- { name: 'Text Default', value: '--color-fg-default', backgroundColor: undefined },
71
- { name: 'Text Secondary', value: '--color-fg-muted', backgroundColor: undefined },
72
- { name: 'Text Muted', value: '--color-fg-subtle', backgroundColor: undefined },
73
- {
74
- name: 'Text Inverse',
75
- value: '--color-fg-on-strong',
76
- backgroundColor: 'var(--color-fg-default)',
77
- },
78
- ];
79
- const fontWeights = [
80
- { label: 'Default', value: 'var(--font-weight-default)' }, // <- fixed missing ')'
81
- { label: 'Medium', value: 'var(--font-weight-medium)' },
82
- { label: 'Bold', value: 'var(--font-weight-bold)' },
83
- ];
84
- const headerSizes = [1, 2, 3, 4, 5, 6];
85
- export function Colors() {
86
- const [fontWeight, setFontWeight] = useState(fontWeights[0].value);
87
- return (_jsxs("div", { className: "dbc-flex dbc-flex-column dbc-gap-md", children: [_jsx(Headline, { children: "Colors" }), _jsx("div", { className: `dbc-flex dbc-gap-sm dbc-flex-wrap ${styles.container}`, style: { width: '100%' }, children: colors.map(color => (_jsx("div", { className: styles.colorItem, style: {
88
- '--bgColor': `var(${color.value})`,
89
- '--textColor': color.textColor,
90
- }, children: color.name }, color.name))) }), _jsxs("div", { children: [_jsx(Headline, { addition: _jsx(Select, { selectedValue: fontWeight, onChange: e => setFontWeight(e), options: fontWeights }), children: "Typography" }), textColors.map(color => (_jsx("div", { className: "dbc-flex dbc-gap-sm", children: textSizes.map(size => (_jsxs("div", { className: styles.textColorItem, style: {
91
- '--textColor': `var(${color.value})`,
92
- '--bgColor': color.backgroundColor ? color.backgroundColor : 'transparent',
93
- '--fontSize': `var(${size.value})`,
94
- '--fontWeight': fontWeight,
95
- }, children: [color.name, " - ", size.name] }, `${color.name}-${size.name}`))) }, color.name))), _jsx("div", { className: "dbc-flex dbc-gap-sm", children: headerSizes.map(size => (_jsxs(Headline, { size: size, children: ["Header ", size] }, `header-size-${size}`))) })] })] }));
96
- }
@@ -1,27 +0,0 @@
1
- .colorItem {
2
- width: calc(100% / 3);
3
- background-color: var(--bgColor);
4
- padding: var(--spacing-md);
5
- color: var(--textColor);
6
- border-radius: var(--border-radius-default);
7
- &:hover {
8
- opacity: 0.8;
9
- cursor: pointer;
10
- transition: all 0.1s ease-in-out;
11
- }
12
- }
13
-
14
- .textColorItem {
15
- width: calc(100% / 3);
16
- font-size: var(--fontSize);
17
- background-color: var(--bgColor);
18
- font-weight: var(--fontWeight);
19
- padding: var(--spacing-md);
20
- color: var(--textColor);
21
- border-radius: var(--border-radius-default);
22
- &:hover {
23
- opacity: 0.8;
24
- cursor: pointer;
25
- transition: all 0.1s ease-in-out;
26
- }
27
- }
@@ -1,2 +0,0 @@
1
- import type { JSX } from 'react';
2
- export declare function ComponentSizes(): JSX.Element;
@@ -1,26 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Headline } from '../../../components/headline/Headline';
3
- const TOKENS = [
4
- { name: '2xs', token: '--component-size-2xs' },
5
- { name: 'xxs', token: '--component-size-xxs' },
6
- { name: 'xs', token: '--component-size-xs' },
7
- { name: 'sm', token: '--component-size-sm' },
8
- { name: 'md', token: '--component-size-md' },
9
- { name: 'lg', token: '--component-size-lg' },
10
- ];
11
- function Swatch({ token, name }) {
12
- return (_jsxs("div", { style: {
13
- display: 'grid',
14
- gap: 8,
15
- justifyItems: 'start',
16
- minWidth: 120,
17
- }, children: [_jsx("div", { style: { fontSize: 'var(--font-size-xs)', color: 'var(--color-fg-muted)' }, children: name }), _jsx("div", { style: {
18
- width: `var(${token})`,
19
- height: `var(${token})`,
20
- borderRadius: 'var(--border-radius-default)',
21
- background: 'var(--color-brand)',
22
- } }), _jsx("code", { style: { fontSize: 'var(--font-size-xs)' }, children: token })] }));
23
- }
24
- export function ComponentSizes() {
25
- return (_jsxs("div", { style: { display: 'grid', gap: 16 }, children: [_jsx(Headline, { disableMargin: true, children: "Komponentst\u00F8rrelser" }), _jsx("p", { style: { margin: 0, color: 'var(--color-fg-muted)' }, children: "Tokens til faste komponenth\u00F8jder og st\u00F8rrelser, som bruges p\u00E5 tv\u00E6rs af inputfelter, chips, indikatorer og andre UI-elementer." }), _jsx("div", { style: { display: 'flex', gap: 20, flexWrap: 'wrap', alignItems: 'end' }, children: TOKENS.map(item => (_jsx(Swatch, { token: item.token, name: item.name }, item.token))) })] }));
26
- }
@@ -1,2 +0,0 @@
1
- import type { JSX } from 'react';
2
- export declare function Elevation(): JSX.Element;
@@ -1,49 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Headline } from '../../../components/headline/Headline';
3
- const SHADOWS = [
4
- { name: 'xs', token: '--shadow-xs' },
5
- { name: 'sm', token: '--shadow-sm' },
6
- { name: 'md', token: '--shadow-md' },
7
- { name: 'lg', token: '--shadow-lg' },
8
- { name: 'xl', token: '--shadow-xl' },
9
- ];
10
- const RADII = [
11
- { name: 'sm', token: '--border-radius-sm' },
12
- { name: 'default', token: '--border-radius-default' },
13
- { name: 'md', token: '--border-radius-md' },
14
- { name: 'lg', token: '--border-radius-lg' },
15
- { name: 'xl', token: '--border-radius-xl' },
16
- { name: 'rounded', token: '--border-radius-rounded' },
17
- ];
18
- export function Elevation() {
19
- return (_jsxs("div", { style: { display: 'grid', gap: 24 }, children: [_jsxs("section", { style: { display: 'grid', gap: 16 }, children: [_jsx(Headline, { disableMargin: true, children: "Skygger" }), _jsx("div", { style: { display: 'flex', gap: 20, flexWrap: 'wrap' }, children: SHADOWS.map(item => (_jsxs("div", { style: {
20
- display: 'grid',
21
- gap: 8,
22
- width: 140,
23
- }, children: [_jsx("div", { style: {
24
- height: 72,
25
- borderRadius: 'var(--border-radius-md)',
26
- background: 'var(--color-bg-surface)',
27
- boxShadow: `var(${item.token})`,
28
- border: '1px solid var(--color-border-subtle)',
29
- } }), _jsx("div", { style: { fontSize: 'var(--font-size-xs)' }, children: item.name }), _jsx("code", { style: { fontSize: 'var(--font-size-xs)' }, children: item.token })] }, item.token))) })] }), _jsxs("section", { style: { display: 'grid', gap: 16 }, children: [_jsx(Headline, { disableMargin: true, children: "Border radius" }), _jsx("div", { style: { display: 'flex', gap: 20, flexWrap: 'wrap', alignItems: 'end' }, children: RADII.map(item => (_jsxs("div", { style: {
30
- display: 'grid',
31
- gap: 8,
32
- width: 120,
33
- }, children: [_jsx("div", { style: {
34
- height: 64,
35
- background: 'var(--color-bg-contextual)',
36
- border: '1px solid var(--color-border-default)',
37
- borderRadius: `var(${item.token})`,
38
- } }), _jsx("div", { style: { fontSize: 'var(--font-size-xs)' }, children: item.name }), _jsx("code", { style: { fontSize: 'var(--font-size-xs)' }, children: item.token })] }, item.token))) })] }), _jsxs("section", { style: { display: 'grid', gap: 16 }, children: [_jsx(Headline, { disableMargin: true, children: "Fokusmarkering" }), _jsx("div", { style: {
39
- display: 'inline-flex',
40
- width: 180,
41
- height: 44,
42
- alignItems: 'center',
43
- justifyContent: 'center',
44
- borderRadius: 'var(--border-radius-default)',
45
- background: 'var(--color-bg-surface)',
46
- border: '1px solid var(--color-border-default)',
47
- boxShadow: 'var(--focus-ring)',
48
- }, children: _jsx("code", { style: { fontSize: 'var(--font-size-xs)' }, children: "--focus-ring" }) })] })] }));
49
- }
@@ -1,2 +0,0 @@
1
- import type { JSX } from 'react';
2
- export declare function Flex(): JSX.Element;
@@ -1,177 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CopyButton } from '../../../components/copy-button/CopyButton';
3
- import { Headline } from '../../../components/headline/Headline';
4
- import styles from './Flex.module.css';
5
- const BOXES = ['A', 'B', 'C'];
6
- const GROUPS = [
7
- {
8
- key: 'display',
9
- title: 'Display',
10
- description: (_jsxs(_Fragment, { children: ["Start med ", _jsx("code", { className: styles.code, children: "dbc-flex" }), " eller", ' ', _jsx("code", { className: styles.code, children: "dbc-inline-flex" }), " for at aktivere flex layout."] })),
11
- helpers: [
12
- { className: 'dbc-flex', description: 'Opretter en flex-container på blokniveau.' },
13
- { className: 'dbc-inline-flex', description: 'Opretter en flex-container på inline-niveau.' },
14
- {
15
- className: 'dbc-flex-center',
16
- description: 'Shortcut der både sætter display:flex og centrerer indhold vandret og lodret.',
17
- },
18
- ],
19
- },
20
- {
21
- key: 'direction',
22
- title: 'Retning',
23
- description: 'Bestemmer om elementer lægges vandret eller lodret.',
24
- helpers: [
25
- { className: 'dbc-flex-row', description: 'Placerer elementer i en række.' },
26
- { className: 'dbc-flex-column', description: 'Placerer elementer i en kolonne.' },
27
- ],
28
- },
29
- {
30
- key: 'wrap',
31
- title: 'Wrap',
32
- description: 'Styrer om elementer må bryde over på flere linjer.',
33
- helpers: [
34
- { className: 'dbc-flex-wrap', description: 'Tillader linjeskift når der ikke er plads.' },
35
- { className: 'dbc-flex-nowrap', description: 'Holder alle elementer på samme linje.' },
36
- ],
37
- },
38
- {
39
- key: 'justify',
40
- title: 'Justify',
41
- description: 'Fordeler elementer langs hovedaksen.',
42
- helpers: [
43
- { className: 'dbc-justify-start', description: 'Pakker elementer mod starten.' },
44
- { className: 'dbc-justify-center', description: 'Centrerer elementer.' },
45
- { className: 'dbc-justify-end', description: 'Pakker elementer mod slutningen.' },
46
- { className: 'dbc-justify-between', description: 'Lægger plads mellem elementerne.' },
47
- { className: 'dbc-justify-around', description: 'Giver plads omkring hvert element.' },
48
- { className: 'dbc-justify-evenly', description: 'Fordeler pladsen helt jævnt.' },
49
- ],
50
- },
51
- {
52
- key: 'items',
53
- title: 'Align Items',
54
- description: 'Justerer alle elementer på tværs af hovedaksen.',
55
- helpers: [
56
- { className: 'dbc-items-start', description: 'Justerer alle elementer mod starten.' },
57
- { className: 'dbc-items-center', description: 'Centrerer alle elementer.' },
58
- { className: 'dbc-items-end', description: 'Justerer alle elementer mod slutningen.' },
59
- { className: 'dbc-items-stretch', description: 'Lader elementer strække sig i højden.' },
60
- ],
61
- },
62
- {
63
- key: 'self',
64
- title: 'Align Self',
65
- description: 'Overstyrer ét barns placering i forhold til resten af rækken.',
66
- helpers: [
67
- { className: 'dbc-self-start', description: 'Justerer det enkelte element mod starten.' },
68
- { className: 'dbc-self-center', description: 'Centrerer det enkelte element.' },
69
- { className: 'dbc-self-end', description: 'Justerer det enkelte element mod slutningen.' },
70
- { className: 'dbc-self-stretch', description: 'Lader det enkelte element strække sig.' },
71
- ],
72
- },
73
- {
74
- key: 'gap',
75
- title: 'Gap',
76
- description: 'Bruger de samme spacing tokens som spacing-hjælperne.',
77
- helpers: [
78
- {
79
- className: 'dbc-gap-xxs',
80
- description: 'Mindste afstand. Brug til fx chips inde i en inputboks.',
81
- },
82
- {
83
- className: 'dbc-gap-xs',
84
- description: 'Meget tæt afstand. Brug til fx ikon + label eller label + inputfelt.',
85
- },
86
- {
87
- className: 'dbc-gap-sm',
88
- description: 'Standard tæt afstand. Brug til fx sideordnede knapper eller handlinger i en toolbar.',
89
- },
90
- {
91
- className: 'dbc-gap-md',
92
- description: 'Moderat afstand. Brug til elementer, der hører til samme sektion, men ikke direkte sammen.',
93
- },
94
- {
95
- className: 'dbc-gap-lg',
96
- description: 'Større afstand. Brug til adskillelse af logisk forskellige grupper inden for samme visning.',
97
- },
98
- {
99
- className: 'dbc-gap-xl',
100
- description: 'Størst afstand. Brug til overordnede layoutområder eller markante sektionsskift.',
101
- },
102
- ],
103
- },
104
- {
105
- key: 'behavior',
106
- title: 'Flex adfærd',
107
- description: 'Styrer hvordan det enkelte barn vokser eller krymper.',
108
- helpers: [
109
- { className: 'dbc-flex-grow', description: 'Lader elementet tage ledig plads.' },
110
- { className: 'dbc-flex-shrink', description: 'Tillader elementet at krympe.' },
111
- ],
112
- },
113
- ];
114
- function HelperCode({ children }) {
115
- return _jsx("code", { className: styles.code, children: children });
116
- }
117
- function DemoBoxes() {
118
- return (_jsx(_Fragment, { children: BOXES.map((label, index) => (_jsx("div", { className: `${styles.demoBox} ${index === 1 ? styles.tallBox : ''}`, "data-label": label, children: label }, label))) }));
119
- }
120
- function DefaultPreview({ className, baseClassName = 'dbc-flex', }) {
121
- return (_jsx("div", { className: `${styles.demoSurface} ${baseClassName} ${className}`, children: _jsx(DemoBoxes, {}) }));
122
- }
123
- function InlinePreview({ className }) {
124
- return (_jsxs("div", { className: styles.inlineRow, children: [_jsx("span", { className: styles.inlineLabel, children: "F\u00F8r" }), _jsx("span", { className: `${styles.inlineSurface} ${className}`, children: _jsx(DemoBoxes, {}) }), _jsx("span", { className: styles.inlineLabel, children: "Efter" })] }));
125
- }
126
- function SelfPreview({ className }) {
127
- return (_jsx("div", { className: `${styles.demoSurface} ${styles.tallSurface} dbc-flex dbc-gap-xs dbc-items-stretch`, children: BOXES.map((label, index) => (_jsx("div", { className: `${styles.demoBox} ${index === 1 ? className : ''}`, "data-label": label, children: label }, label))) }));
128
- }
129
- function FlexGrowPreview() {
130
- return (_jsxs("div", { className: `${styles.demoSurface} ${styles.growSurface} dbc-flex dbc-gap-xs`, children: [_jsx("div", { className: styles.growSideBox, children: "A" }), _jsx("div", { className: `${styles.flexBehaviorBox} ${styles.growMainBox} dbc-flex-grow`, children: "B" }), _jsx("div", { className: styles.growSideBox, children: "C" })] }));
131
- }
132
- function FlexShrinkPreview() {
133
- return (_jsxs("div", { className: `${styles.demoSurface} ${styles.shrinkSurface} dbc-flex dbc-gap-xs`, children: [_jsx("div", { className: styles.fixedBox, children: "A" }), _jsx("div", { className: `${styles.shrinkBox} dbc-flex-shrink`, children: "B" }), _jsx("div", { className: styles.fixedBox, children: "C" })] }));
134
- }
135
- function CenterPreview({ className }) {
136
- return (_jsx("div", { className: `${styles.centerSurface} ${className}`, children: _jsx("div", { className: styles.demoBox, children: "Center" }) }));
137
- }
138
- function WrapPreview({ className }) {
139
- return (_jsxs("div", { className: `${styles.demoSurface} ${styles.wrapSurface} dbc-flex dbc-gap-xs ${className}`, children: [_jsx("div", { className: styles.wideBox, children: "Alpha" }), _jsx("div", { className: styles.wideBox, children: "Beta" }), _jsx("div", { className: styles.wideBox, children: "Gamma" })] }));
140
- }
141
- function JustifyPreview({ className }) {
142
- return (_jsx("div", { className: `${styles.demoSurface} dbc-flex ${className}`, children: _jsx(DemoBoxes, {}) }));
143
- }
144
- function ItemsPreview({ className }) {
145
- return (_jsxs("div", { className: `${styles.demoSurface} ${styles.tallSurface} dbc-flex dbc-gap-xs ${className}`, children: [_jsx("div", { className: `${styles.demoBox} ${styles.shortBox}`, children: "A" }), _jsx("div", { className: `${styles.demoBox} ${styles.midBox}`, children: "B" }), _jsx("div", { className: `${styles.demoBox} ${styles.tallBox}`, children: "C" })] }));
146
- }
147
- function Preview({ className, groupKey }) {
148
- if (className === 'dbc-inline-flex')
149
- return _jsx(InlinePreview, { className: className });
150
- if (className === 'dbc-flex-center')
151
- return _jsx(CenterPreview, { className: className });
152
- if (groupKey === 'wrap')
153
- return _jsx(WrapPreview, { className: className });
154
- if (groupKey === 'justify')
155
- return _jsx(JustifyPreview, { className: className });
156
- if (groupKey === 'items')
157
- return _jsx(ItemsPreview, { className: className });
158
- if (groupKey === 'self')
159
- return _jsx(SelfPreview, { className: className });
160
- if (className === 'dbc-flex-grow')
161
- return _jsx(FlexGrowPreview, {});
162
- if (className === 'dbc-flex-shrink')
163
- return _jsx(FlexShrinkPreview, {});
164
- if (groupKey === 'gap') {
165
- return _jsx(DefaultPreview, { className: className, baseClassName: "dbc-flex" });
166
- }
167
- return _jsx(DefaultPreview, { className: className });
168
- }
169
- function HelperCard({ helper, groupKey }) {
170
- return (_jsxs("article", { className: styles.card, children: [_jsxs("div", { className: styles.cardHeader, children: [_jsxs("div", { className: styles.classNameRow, children: [_jsx(HelperCode, { children: helper.className }), _jsx(CopyButton, { text: helper.className, variant: "inline", size: "sm" })] }), _jsx("p", { className: styles.cardDescription, children: helper.description })] }), _jsx(Preview, { className: helper.className, groupKey: groupKey })] }));
171
- }
172
- function Group({ group }) {
173
- return (_jsxs("section", { className: styles.section, children: [_jsx(Headline, { marker: true, severity: "info", disableMargin: true, size: 2, children: group.title }), _jsx("p", { className: styles.paragraph, children: group.description }), _jsx("div", { className: styles.grid, children: group.helpers.map(helper => (_jsx(HelperCard, { helper: helper, groupKey: group.key }, helper.className))) })] }));
174
- }
175
- export function Flex() {
176
- return (_jsxs("div", { className: styles.container, children: [_jsx("header", { className: styles.header, children: _jsx(Headline, { disableMargin: true, children: "Flex-hj\u00E6lpere" }) }), _jsxs("section", { className: styles.intro, children: [_jsx("h2", { className: styles.h2, children: "Baggrund" }), _jsx("p", { className: styles.paragraph, children: "Biblioteket stiller et s\u00E6t flex-hj\u00E6lpeklasser til r\u00E5dighed, s\u00E5 du kan sammens\u00E6tte layout direkte i markup uden at oprette lokale CSS-filer til trivielle regler. Form\u00E5l er bl.a.:" }), _jsxs("ul", { className: styles.list, children: [_jsx("li", { children: "At hj\u00E6lpe med at sikre konsistent layout p\u00E5 tv\u00E6rs af sider og DBC-apps." }), _jsxs("li", { children: ["Undg\u00E5 CSS-filer, der kun indeholder trivielle regler som", ' ', _jsx(HelperCode, { children: "display: flex" }), ", ", _jsx(HelperCode, { children: "gap" }), " eller", ' ', _jsx(HelperCode, { children: "align-items" }), "."] }), _jsx("li", { children: "Mindre boilerplate og f\u00E6rre one-off-overrides p\u00E5 tv\u00E6rs af features." }), _jsx("li", { children: "Et f\u00E6lles, dokumenteret sprog for layoutkomposition, der holder sig inden for design-systemet." }), _jsxs("li", { children: ["Semantiske afstandsrelationer \u2014 ", _jsx(HelperCode, { children: "dbc-gap-sm" }), " frem for r\u00E5 pixelv\u00E6rdier i feature-kode."] })] }), _jsx("p", { className: styles.paragraph, children: "CSS-moduler har stadig en vigtig plads til komponent-specifik eller kompleks styling \u2014 pointen er blot, at de ikke beh\u00F8ver v\u00E6re standardl\u00F8sningen til rutinelayout." }), _jsx("h2", { className: styles.h2, children: "Navngivningskonvention" }), _jsx("p", { className: styles.paragraph, children: "Flex-hj\u00E6lperne er sm\u00E5 utility-klasser, som kan kombineres direkte i markup." }), _jsx("div", { className: styles.example, children: _jsx(HelperCode, { children: "dbc-flex dbc-flex-row dbc-gap-sm dbc-items-center" }) }), _jsxs("ul", { className: styles.list, children: [_jsxs("li", { children: ["Brug ", _jsx(HelperCode, { children: "dbc-flex" }), " eller ", _jsx(HelperCode, { children: "dbc-inline-flex" }), ' ', "som base."] }), _jsx("li", { children: "Tilf\u00F8j derefter helpers for retning, justering, gap og evt. flex-adf\u00E6rd p\u00E5 b\u00F8rnene." }), _jsxs("li", { children: [_jsx(HelperCode, { children: "dbc-gap-*" }), " f\u00F8lger spacing tokens: ", _jsx(HelperCode, { children: "xxs" }), ",", ' ', _jsx(HelperCode, { children: "xs" }), ", ", _jsx(HelperCode, { children: "sm" }), ", ", _jsx(HelperCode, { children: "md" }), ",", ' ', _jsx(HelperCode, { children: "lg" }), " og ", _jsx(HelperCode, { children: "xl" }), "."] })] })] }), GROUPS.map(group => (_jsx(Group, { group: group }, group.title)))] }));
177
- }