@dbcdk/react-components 0.0.95 → 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 (226) hide show
  1. package/dist/components/alert/Alert.d.ts +13 -0
  2. package/dist/components/forms/input/Input.d.ts +2 -1
  3. package/dist/components/forms/input-container/InputContainer.d.ts +3 -1
  4. package/dist/components/forms/text-area/Textarea.d.ts +1 -1
  5. package/dist/components/stack/Stack.d.ts +11 -3
  6. package/dist/components/table/Table.d.ts +1 -1
  7. package/dist/components/table/Table.types.d.ts +3 -0
  8. package/dist/components/table/components/TableHeader.d.ts +2 -1
  9. package/dist/index.cjs +12750 -0
  10. package/dist/index.css +7149 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +12641 -78
  13. package/dist/tanstack.cjs +2674 -0
  14. package/dist/tanstack.css +1267 -0
  15. package/dist/tanstack.js +2650 -3
  16. package/dist/themes/dbc.css +3 -0
  17. package/dist/themes/forfatterweb.css +2 -0
  18. package/package.json +11 -10
  19. package/dist/assets/logo.js +0 -2
  20. package/dist/components/__stories__/_data/table.d.ts +0 -15
  21. package/dist/components/__stories__/_data/table.js +0 -55
  22. package/dist/components/__stories__/_data/tabs.d.ts +0 -9
  23. package/dist/components/__stories__/_data/tabs.js +0 -31
  24. package/dist/components/__stories__/story-components/Colors.d.ts +0 -11
  25. package/dist/components/__stories__/story-components/Colors.js +0 -96
  26. package/dist/components/__stories__/story-components/Colors.module.css +0 -27
  27. package/dist/components/__stories__/story-components/ComponentSizes.d.ts +0 -2
  28. package/dist/components/__stories__/story-components/ComponentSizes.js +0 -26
  29. package/dist/components/__stories__/story-components/Elevation.d.ts +0 -2
  30. package/dist/components/__stories__/story-components/Elevation.js +0 -49
  31. package/dist/components/__stories__/story-components/Flex.d.ts +0 -2
  32. package/dist/components/__stories__/story-components/Flex.js +0 -177
  33. package/dist/components/__stories__/story-components/Flex.module.css +0 -317
  34. package/dist/components/__stories__/story-components/Spacing.d.ts +0 -6
  35. package/dist/components/__stories__/story-components/Spacing.js +0 -76
  36. package/dist/components/__stories__/story-components/Spacing.module.css +0 -154
  37. package/dist/components/accordion/Accordion.js +0 -70
  38. package/dist/components/accordion/Accordion.module.css +0 -28
  39. package/dist/components/accordion/components/AccordionRow.js +0 -53
  40. package/dist/components/accordion/components/AccordionRow.module.css +0 -90
  41. package/dist/components/app-header/AppHeader.js +0 -5
  42. package/dist/components/app-header/AppHeader.module.css +0 -74
  43. package/dist/components/attribute-chip/AttributeChip.js +0 -5
  44. package/dist/components/attribute-chip/AttributeChip.module.css +0 -65
  45. package/dist/components/avatar/Avatar.js +0 -48
  46. package/dist/components/avatar/Avatar.module.css +0 -91
  47. package/dist/components/breadcrumbs/Breadcrumbs.js +0 -6
  48. package/dist/components/breadcrumbs/Breadcrumbs.module.css +0 -80
  49. package/dist/components/button/Button.js +0 -81
  50. package/dist/components/button/Button.module.css +0 -249
  51. package/dist/components/button-select/ButtonSelect.js +0 -7
  52. package/dist/components/button-select/ButtonSelect.module.css +0 -40
  53. package/dist/components/card/Card.js +0 -71
  54. package/dist/components/card/Card.module.css +0 -160
  55. package/dist/components/card/components/CardMeta.js +0 -26
  56. package/dist/components/card/components/CardMeta.module.css +0 -55
  57. package/dist/components/card-container/CardContainer.js +0 -6
  58. package/dist/components/card-container/CardContainer.module.css +0 -61
  59. package/dist/components/chip/Chip.js +0 -31
  60. package/dist/components/chip/Chip.module.css +0 -236
  61. package/dist/components/circle/Circle.js +0 -5
  62. package/dist/components/circle/Circle.module.css +0 -128
  63. package/dist/components/clear-button/ClearButton.js +0 -13
  64. package/dist/components/clear-button/ClearButton.module.css +0 -26
  65. package/dist/components/code-block/CodeBlock.js +0 -58
  66. package/dist/components/code-block/CodeBlock.module.css +0 -124
  67. package/dist/components/copy-button/CopyButton.js +0 -78
  68. package/dist/components/copy-button/CopyButton.module.css +0 -22
  69. package/dist/components/datetime-picker/DateTimePicker.js +0 -403
  70. package/dist/components/datetime-picker/DateTimePicker.module.css +0 -155
  71. package/dist/components/datetime-picker/dateTimeHelpers.js +0 -248
  72. package/dist/components/divider/Divider.js +0 -12
  73. package/dist/components/filter-field/FilterField.js +0 -191
  74. package/dist/components/filter-field/FilterField.module.css +0 -379
  75. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.js +0 -52
  76. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.module.css +0 -59
  77. package/dist/components/forms/checkbox/Checkbox.js +0 -26
  78. package/dist/components/forms/checkbox/Checkbox.module.css +0 -99
  79. package/dist/components/forms/checkbox-group/CheckboxGroup.js +0 -75
  80. package/dist/components/forms/checkbox-group/CheckboxGroup.module.css +0 -115
  81. package/dist/components/forms/form-select/FormSelect.js +0 -86
  82. package/dist/components/forms/form-select/FormSelect.module.css +0 -236
  83. package/dist/components/forms/input/Input.js +0 -77
  84. package/dist/components/forms/input/Input.module.css +0 -468
  85. package/dist/components/forms/input-container/InputContainer.js +0 -15
  86. package/dist/components/forms/input-container/InputContainer.module.css +0 -56
  87. package/dist/components/forms/multi-select/MultiSelect.js +0 -122
  88. package/dist/components/forms/radio-buttons/RadioButton.js +0 -26
  89. package/dist/components/forms/radio-buttons/RadioButtonGroup.js +0 -19
  90. package/dist/components/forms/radio-buttons/RadioButtons.module.css +0 -118
  91. package/dist/components/forms/select/Select.js +0 -185
  92. package/dist/components/forms/select/Select.module.css +0 -32
  93. package/dist/components/forms/text-area/Textarea.js +0 -47
  94. package/dist/components/forms/text-area/Textarea.module.css +0 -70
  95. package/dist/components/forms/typeahead/Typeahead.js +0 -668
  96. package/dist/components/forms/typeahead/Typeahead.module.css +0 -38
  97. package/dist/components/grid/Grid.js +0 -23
  98. package/dist/components/grid/Grid.module.css +0 -35
  99. package/dist/components/headline/CollapsibleHeadline.js +0 -29
  100. package/dist/components/headline/Headline.js +0 -26
  101. package/dist/components/headline/Headline.module.css +0 -165
  102. package/dist/components/hyperlink/Hyperlink.js +0 -40
  103. package/dist/components/hyperlink/Hyperlink.module.css +0 -107
  104. package/dist/components/icon/Icon.js +0 -14
  105. package/dist/components/icon/Icon.module.css +0 -36
  106. package/dist/components/interval-select/IntervalSelect.js +0 -99
  107. package/dist/components/json-viewer/HighlightedText.js +0 -6
  108. package/dist/components/json-viewer/JsonNode.js +0 -30
  109. package/dist/components/json-viewer/JsonViewer.js +0 -68
  110. package/dist/components/json-viewer/JsonViewer.module.css +0 -346
  111. package/dist/components/json-viewer/types.js +0 -1
  112. package/dist/components/json-viewer/useClipboardStatus.js +0 -11
  113. package/dist/components/json-viewer/utils.js +0 -125
  114. package/dist/components/menu/Menu.js +0 -165
  115. package/dist/components/menu/Menu.module.css +0 -211
  116. package/dist/components/meta-bar/MetaBar.js +0 -9
  117. package/dist/components/meta-bar/MetaBar.module.css +0 -27
  118. package/dist/components/nav-bar/NavBar.js +0 -29
  119. package/dist/components/nav-bar/NavBar.module.css +0 -200
  120. package/dist/components/overlay/fade-overlay/FadeOverlay.js +0 -8
  121. package/dist/components/overlay/fade-overlay/FadeOverlay.module.css +0 -54
  122. package/dist/components/overlay/modal/Modal.js +0 -115
  123. package/dist/components/overlay/modal/Modal.module.css +0 -109
  124. package/dist/components/overlay/modal/provider/ModalProvider.js +0 -73
  125. package/dist/components/overlay/side-panel/SidePanel.js +0 -83
  126. package/dist/components/overlay/side-panel/SidePanel.module.css +0 -177
  127. package/dist/components/overlay/side-panel/useSidePanel.js +0 -11
  128. package/dist/components/overlay/tooltip/Tooltip.js +0 -17
  129. package/dist/components/overlay/tooltip/Tooltip.module.css +0 -104
  130. package/dist/components/overlay/tooltip/TooltipProvider.js +0 -255
  131. package/dist/components/overlay/tooltip/useTooltipTrigger.js +0 -118
  132. package/dist/components/page/Page.js +0 -11
  133. package/dist/components/page/Page.module.css +0 -76
  134. package/dist/components/page-layout/PageLayout.js +0 -76
  135. package/dist/components/page-layout/PageLayout.module.css +0 -236
  136. package/dist/components/page-layout/components/layout-footer/LayoutFooter.js +0 -27
  137. package/dist/components/page-layout/components/layout-footer/LayoutFooter.module.css +0 -89
  138. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +0 -14
  139. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +0 -84
  140. package/dist/components/pagination/Pagination.js +0 -56
  141. package/dist/components/pagination/Pagination.module.css +0 -25
  142. package/dist/components/panel/Panel.js +0 -7
  143. package/dist/components/panel/Panel.module.css +0 -29
  144. package/dist/components/popover/Popover.js +0 -257
  145. package/dist/components/popover/Popover.module.css +0 -54
  146. package/dist/components/search-box/SearchBox.js +0 -170
  147. package/dist/components/search-box/SearchBox.module.css +0 -21
  148. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +0 -48
  149. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +0 -167
  150. package/dist/components/sidebar/Sidebar.js +0 -6
  151. package/dist/components/sidebar/components/SidebarItem.js +0 -8
  152. package/dist/components/sidebar/components/SidebarItem.module.css +0 -0
  153. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +0 -63
  154. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +0 -29
  155. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +0 -153
  156. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +0 -260
  157. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +0 -18
  158. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +0 -106
  159. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +0 -26
  160. package/dist/components/sidebar/components/sidebar-items/SidebarItems.module.css +0 -20
  161. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +0 -30
  162. package/dist/components/sidebar/providers/SidebarProvider.js +0 -229
  163. package/dist/components/skeleton-loader/SkeletonLoader.js +0 -73
  164. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +0 -13
  165. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -51
  166. package/dist/components/split-button/SplitButton.js +0 -10
  167. package/dist/components/split-button/SplitButton.module.css +0 -32
  168. package/dist/components/split-pane/SplitPane.js +0 -107
  169. package/dist/components/split-pane/SplitPane.module.css +0 -111
  170. package/dist/components/split-pane/provider/SplitPaneContext.js +0 -124
  171. package/dist/components/stack/Stack.js +0 -19
  172. package/dist/components/state-page/StatePage.js +0 -20
  173. package/dist/components/state-page/StatePage.module.css +0 -9
  174. package/dist/components/state-page/empty.js +0 -2
  175. package/dist/components/state-page/error.js +0 -2
  176. package/dist/components/state-page/notFound.js +0 -2
  177. package/dist/components/sticky-footer-layout/StickyFooterLayout.js +0 -64
  178. package/dist/components/table/Table.js +0 -50
  179. package/dist/components/table/Table.module.css +0 -536
  180. package/dist/components/table/Table.types.js +0 -1
  181. package/dist/components/table/TanstackTable.js +0 -111
  182. package/dist/components/table/components/TableBody.js +0 -10
  183. package/dist/components/table/components/TableHeader.js +0 -7
  184. package/dist/components/table/components/TableHeaderCell.js +0 -24
  185. package/dist/components/table/components/TableLoadingBody.js +0 -26
  186. package/dist/components/table/components/TablePagination.js +0 -1
  187. package/dist/components/table/components/TableRow.js +0 -54
  188. package/dist/components/table/components/TableSelectionCell.js +0 -16
  189. package/dist/components/table/components/column-resizer/ColumnResizer.js +0 -5
  190. package/dist/components/table/components/column-resizer/ColumnResizer.module.css +0 -22
  191. package/dist/components/table/components/empty-state/EmptyState.js +0 -23
  192. package/dist/components/table/components/empty-state/EmptyState.module.css +0 -4
  193. package/dist/components/table/components/table-settings/TableSettings.js +0 -63
  194. package/dist/components/table/hooks/useTableRowInteractions.js +0 -30
  195. package/dist/components/table/table.classes.js +0 -23
  196. package/dist/components/table/table.utils.js +0 -47
  197. package/dist/components/table/tanstackTable.utils.js +0 -175
  198. package/dist/components/tabs/Tabs.js +0 -125
  199. package/dist/components/tabs/Tabs.module.css +0 -204
  200. package/dist/components/theme-button/ThemeButton.js +0 -23
  201. package/dist/components/toast/Toast.js +0 -20
  202. package/dist/components/toast/Toast.module.css +0 -161
  203. package/dist/components/toast/provider/ToastProvider.js +0 -70
  204. package/dist/components/user-display/UserDisplay.js +0 -6
  205. package/dist/components/user-display/UserDisplay.module.css +0 -25
  206. package/dist/constants/severity.js +0 -24
  207. package/dist/constants/severity.types.js +0 -1
  208. package/dist/constants/sizes.js +0 -7
  209. package/dist/hooks/useDeviceSize.js +0 -32
  210. package/dist/hooks/useListNavigation.js +0 -234
  211. package/dist/hooks/usePagination.js +0 -140
  212. package/dist/hooks/useSorting.js +0 -118
  213. package/dist/hooks/useTableData.js +0 -45
  214. package/dist/hooks/useTableSelection.js +0 -164
  215. package/dist/hooks/useTableSettings.js +0 -71
  216. package/dist/hooks/useTheme.js +0 -66
  217. package/dist/hooks/useTimeDuration.js +0 -68
  218. package/dist/hooks/useViewportFill.js +0 -77
  219. package/dist/styles/animation.js +0 -5
  220. package/dist/styles/themes/types.js +0 -1
  221. package/dist/types/a11y-props.types.js +0 -1
  222. package/dist/types/sizes.types.js +0 -1
  223. package/dist/utils/arrays/nested-filtering.js +0 -48
  224. package/dist/utils/date/formatDate.js +0 -51
  225. package/dist/utils/localStorage.utils.js +0 -78
  226. 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.95",
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
- }