@dbcdk/react-components 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/dist/assets/logo.js +2 -85
  2. package/dist/components/__stories__/_data/table.d.ts +15 -0
  3. package/dist/components/__stories__/_data/table.js +49 -0
  4. package/dist/components/__stories__/story-components/Colors.d.ts +11 -0
  5. package/dist/components/__stories__/story-components/Colors.js +96 -0
  6. package/dist/components/__stories__/story-components/Colors.module.css +27 -0
  7. package/dist/components/__stories__/story-components/Spacing.d.ts +2 -0
  8. package/dist/components/__stories__/story-components/Spacing.js +76 -0
  9. package/dist/components/__stories__/story-components/Spacing.module.css +154 -0
  10. package/dist/components/app-header/AppHeader.d.ts +4 -3
  11. package/dist/components/app-header/AppHeader.js +3 -6
  12. package/dist/components/app-header/AppHeader.module.css +10 -15
  13. package/dist/components/attribute-chip/AttributeChip.d.ts +9 -0
  14. package/dist/components/attribute-chip/AttributeChip.js +5 -0
  15. package/dist/components/attribute-chip/AttributeChip.module.css +65 -0
  16. package/dist/components/avatar/Avatar.d.ts +5 -3
  17. package/dist/components/avatar/Avatar.js +37 -37
  18. package/dist/components/avatar/Avatar.module.css +27 -0
  19. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +4 -4
  20. package/dist/components/breadcrumbs/Breadcrumbs.js +4 -14
  21. package/dist/components/breadcrumbs/Breadcrumbs.module.css +19 -22
  22. package/dist/components/button/Button.d.ts +6 -2
  23. package/dist/components/button/Button.js +56 -50
  24. package/dist/components/button/Button.module.css +119 -56
  25. package/dist/components/card/Card.d.ts +23 -7
  26. package/dist/components/card/Card.js +20 -21
  27. package/dist/components/card/Card.module.css +148 -44
  28. package/dist/components/card-container/CardContainer.d.ts +6 -3
  29. package/dist/components/card-container/CardContainer.js +4 -15
  30. package/dist/components/card-container/CardContainer.module.css +40 -0
  31. package/dist/components/chip/Chip.d.ts +7 -5
  32. package/dist/components/chip/Chip.js +14 -37
  33. package/dist/components/chip/Chip.module.css +50 -27
  34. package/dist/components/circle/Circle.d.ts +3 -2
  35. package/dist/components/circle/Circle.js +3 -10
  36. package/dist/components/circle/Circle.module.css +11 -11
  37. package/dist/components/clear-button/ClearButton.d.ts +2 -1
  38. package/dist/components/clear-button/ClearButton.js +6 -17
  39. package/dist/components/clear-button/ClearButton.module.css +8 -7
  40. package/dist/components/code-block/CodeBlock.d.ts +7 -0
  41. package/dist/components/code-block/CodeBlock.js +6 -0
  42. package/dist/components/code-block/CodeBlock.module.css +60 -0
  43. package/dist/components/copy-button/CopyButton.d.ts +10 -0
  44. package/dist/components/copy-button/CopyButton.js +22 -0
  45. package/dist/components/copy-button/CopyButton.module.css +6 -0
  46. package/dist/components/datetime-picker/DateTimePicker.d.ts +42 -0
  47. package/dist/components/datetime-picker/DateTimePicker.js +403 -0
  48. package/dist/components/datetime-picker/DateTimePicker.module.css +144 -0
  49. package/dist/components/filter-field/FilterField.d.ts +6 -3
  50. package/dist/components/filter-field/FilterField.js +130 -158
  51. package/dist/components/filter-field/FilterField.module.css +35 -25
  52. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.d.ts +36 -0
  53. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.js +53 -0
  54. package/dist/components/filtering/chip-multi-toggle/ChipMultiToggle.module.css +60 -0
  55. package/dist/components/forms/checkbox/Checkbox.d.ts +31 -0
  56. package/dist/components/forms/checkbox/Checkbox.js +27 -0
  57. package/dist/components/{checkbox → forms/checkbox}/Checkbox.module.css +10 -11
  58. package/dist/components/forms/checkbox-group/CheckboxGroup.d.ts +47 -0
  59. package/dist/components/forms/checkbox-group/CheckboxGroup.js +75 -0
  60. package/dist/components/forms/checkbox-group/CheckboxGroup.module.css +115 -0
  61. package/dist/components/forms/input/Input.d.ts +22 -0
  62. package/dist/components/forms/input/Input.js +70 -0
  63. package/dist/components/forms/input/Input.module.css +160 -0
  64. package/dist/components/forms/input-container/InputContainer.d.ts +15 -0
  65. package/dist/components/forms/input-container/InputContainer.js +15 -0
  66. package/dist/components/forms/input-container/InputContainer.module.css +34 -0
  67. package/dist/components/forms/multi-select/MultiSelect.d.ts +20 -0
  68. package/dist/components/forms/multi-select/MultiSelect.js +19 -0
  69. package/dist/components/forms/select/Select.d.ts +21 -0
  70. package/dist/components/forms/select/Select.js +94 -0
  71. package/dist/components/forms/text-area/Textarea.d.ts +17 -0
  72. package/dist/components/forms/text-area/Textarea.js +33 -0
  73. package/dist/components/forms/text-area/Textarea.module.css +26 -0
  74. package/dist/components/headline/Headline.d.ts +9 -1
  75. package/dist/components/headline/Headline.js +18 -37
  76. package/dist/components/headline/Headline.module.css +32 -7
  77. package/dist/components/hyperlink/Hyperlink.d.ts +9 -0
  78. package/dist/components/hyperlink/Hyperlink.js +11 -0
  79. package/dist/components/hyperlink/Hyperlink.module.css +23 -0
  80. package/dist/components/icon/Icon.d.ts +4 -3
  81. package/dist/components/icon/Icon.js +11 -17
  82. package/dist/components/icon/Icon.module.css +10 -9
  83. package/dist/components/menu/Menu.js +25 -67
  84. package/dist/components/menu/Menu.module.css +10 -32
  85. package/dist/components/meta-bar/MetaBar.d.ts +11 -0
  86. package/dist/components/meta-bar/MetaBar.js +9 -0
  87. package/dist/components/meta-bar/MetaBar.module.css +12 -0
  88. package/dist/components/nav-bar/NavBar.d.ts +5 -5
  89. package/dist/components/nav-bar/NavBar.js +15 -45
  90. package/dist/components/nav-bar/NavBar.module.css +11 -16
  91. package/dist/components/overlay/modal/Modal.d.ts +23 -0
  92. package/dist/components/overlay/modal/Modal.js +92 -0
  93. package/dist/components/overlay/modal/Modal.module.css +66 -0
  94. package/dist/components/overlay/modal/provider/ModalProvider.d.ts +20 -0
  95. package/dist/components/overlay/modal/provider/ModalProvider.js +70 -0
  96. package/dist/components/overlay/side-panel/SidePanel.d.ts +16 -0
  97. package/dist/components/overlay/side-panel/SidePanel.js +10 -0
  98. package/dist/components/overlay/side-panel/SidePanel.module.css +56 -0
  99. package/dist/components/overlay/side-panel/useSidePanel.d.ts +5 -0
  100. package/dist/components/overlay/side-panel/useSidePanel.js +11 -0
  101. package/dist/components/overlay/tooltip/Tooltip.d.ts +13 -0
  102. package/dist/components/overlay/tooltip/Tooltip.js +17 -0
  103. package/dist/components/overlay/tooltip/Tooltip.module.css +106 -0
  104. package/dist/components/overlay/tooltip/TooltipProvider.d.ts +20 -0
  105. package/dist/components/overlay/tooltip/TooltipProvider.js +244 -0
  106. package/dist/components/overlay/tooltip/useTooltipTrigger.d.ts +24 -0
  107. package/dist/components/overlay/tooltip/useTooltipTrigger.js +108 -0
  108. package/dist/components/page/Page.d.ts +7 -6
  109. package/dist/components/page/Page.js +4 -21
  110. package/dist/components/page/Page.module.css +2 -2
  111. package/dist/components/page-layout/PageLayout.d.ts +12 -20
  112. package/dist/components/page-layout/PageLayout.js +35 -88
  113. package/dist/components/page-layout/PageLayout.module.css +4 -80
  114. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.d.ts +11 -0
  115. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +7 -0
  116. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +84 -0
  117. package/dist/components/pagination/Pagination.d.ts +4 -1
  118. package/dist/components/pagination/Pagination.js +38 -105
  119. package/dist/components/pagination/Pagination.module.css +11 -3
  120. package/dist/components/panel/Panel.d.ts +4 -3
  121. package/dist/components/panel/Panel.js +5 -10
  122. package/dist/components/panel/Panel.module.css +5 -7
  123. package/dist/components/popover/Popover.d.ts +3 -1
  124. package/dist/components/popover/Popover.js +116 -124
  125. package/dist/components/popover/Popover.module.css +4 -6
  126. package/dist/components/search-box/SearchBox.d.ts +11 -8
  127. package/dist/components/search-box/SearchBox.js +112 -149
  128. package/dist/components/search-box/SearchBox.module.css +0 -1
  129. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +1 -1
  130. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +47 -88
  131. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +5 -1
  132. package/dist/components/sidebar/Sidebar.d.ts +3 -1
  133. package/dist/components/sidebar/Sidebar.js +5 -29
  134. package/dist/components/sidebar/components/SidebarItem.js +6 -12
  135. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +4 -2
  136. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +48 -62
  137. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +9 -38
  138. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.d.ts +9 -0
  139. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +13 -0
  140. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +155 -0
  141. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +3 -1
  142. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +4 -18
  143. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +25 -12
  144. package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +1 -1
  145. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +9 -22
  146. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +20 -18
  147. package/dist/components/sidebar/providers/SidebarProvider.d.ts +9 -4
  148. package/dist/components/sidebar/providers/SidebarProvider.js +188 -73
  149. package/dist/components/skeleton-loader/SkeletonLoader.js +68 -266
  150. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +11 -34
  151. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -12
  152. package/dist/components/split-button/SplitButton.d.ts +7 -5
  153. package/dist/components/split-button/SplitButton.js +4 -27
  154. package/dist/components/split-pane/SplitPane.d.ts +34 -0
  155. package/dist/components/split-pane/SplitPane.js +78 -0
  156. package/dist/components/split-pane/SplitPane.module.css +106 -0
  157. package/dist/components/split-pane/provider/SplitPaneContext.d.ts +23 -0
  158. package/dist/components/split-pane/provider/SplitPaneContext.js +85 -0
  159. package/dist/components/table/Table.d.ts +28 -10
  160. package/dist/components/table/Table.js +117 -172
  161. package/dist/components/table/Table.module.css +78 -47
  162. package/dist/components/table/components/column-resizer/ColumnResizer.js +4 -15
  163. package/dist/components/table/components/empty-state/EmptyState.d.ts +41 -0
  164. package/dist/components/table/components/empty-state/EmptyState.js +27 -0
  165. package/dist/components/table/components/empty-state/EmptyState.module.css +16 -0
  166. package/dist/components/table/components/table-settings/TableSettings.d.ts +8 -0
  167. package/dist/components/table/components/table-settings/TableSettings.js +12 -0
  168. package/dist/components/table/tanstack.d.ts +14 -0
  169. package/dist/components/table/tanstack.js +162 -0
  170. package/dist/components/tabs/Tabs.d.ts +7 -3
  171. package/dist/components/tabs/Tabs.js +32 -65
  172. package/dist/components/tabs/Tabs.module.css +9 -9
  173. package/dist/components/toast/Toast.d.ts +14 -0
  174. package/dist/components/toast/Toast.js +8 -0
  175. package/dist/components/toast/Toast.module.css +102 -0
  176. package/dist/components/toast/provider/ToastProvider.d.ts +23 -0
  177. package/dist/components/toast/provider/ToastProvider.js +64 -0
  178. package/dist/components/user-display/UserDisplay.d.ts +2 -1
  179. package/dist/components/user-display/UserDisplay.js +4 -20
  180. package/dist/components/user-display/UserDisplay.module.css +2 -2
  181. package/dist/constants/severity.d.ts +1 -1
  182. package/dist/constants/severity.js +14 -16
  183. package/dist/constants/severity.types.d.ts +1 -1
  184. package/dist/constants/severity.types.js +1 -1
  185. package/dist/constants/sizes.d.ts +1 -1
  186. package/dist/constants/sizes.js +6 -7
  187. package/dist/hooks/usePagination.d.ts +33 -0
  188. package/dist/hooks/usePagination.js +79 -0
  189. package/dist/hooks/useSorting.d.ts +49 -0
  190. package/dist/hooks/useSorting.js +118 -0
  191. package/dist/hooks/useTableData.d.ts +40 -0
  192. package/dist/hooks/useTableData.js +45 -0
  193. package/dist/hooks/useTableSelection.d.ts +25 -0
  194. package/dist/hooks/useTableSelection.js +128 -0
  195. package/dist/hooks/useTableSettings.d.ts +7 -0
  196. package/dist/hooks/useTableSettings.js +24 -0
  197. package/dist/hooks/useTheme.d.ts +3 -7
  198. package/dist/hooks/useTheme.js +52 -47
  199. package/dist/hooks/useTimeDuration.d.ts +22 -0
  200. package/dist/hooks/useTimeDuration.js +36 -0
  201. package/dist/hooks/useViewportFill.d.ts +3 -2
  202. package/dist/hooks/useViewportFill.js +55 -48
  203. package/dist/index.d.ts +32 -6
  204. package/dist/index.js +33 -6
  205. package/dist/src/styles/styles.css +101 -8
  206. package/dist/styles/css-helper-classes/flex.css +101 -0
  207. package/dist/styles/css-helper-classes/typography.css +7 -0
  208. package/dist/styles/styles.css +101 -8
  209. package/dist/styles/themes/dbc/dark.css +207 -100
  210. package/dist/styles/themes/dbc/light.css +185 -90
  211. package/dist/styles/themes/forfatterweb/light.css +1 -1
  212. package/dist/styles/themes/types.js +1 -1
  213. package/dist/types/a11y-props.types.d.ts +5 -5
  214. package/dist/types/a11y-props.types.js +1 -1
  215. package/dist/types/sizes.types.d.ts +2 -2
  216. package/dist/types/sizes.types.js +1 -1
  217. package/dist/utils/arrays/nested-filtering.js +43 -33
  218. package/dist/utils/date/formatDate.js +25 -16
  219. package/package.json +33 -18
  220. package/dist/assets/logo.cjs +0 -87
  221. package/dist/components/app-header/AppHeader.cjs +0 -14
  222. package/dist/components/avatar/Avatar.cjs +0 -67
  223. package/dist/components/breadcrumbs/Breadcrumbs.cjs +0 -23
  224. package/dist/components/button/Button.cjs +0 -79
  225. package/dist/components/card/Card.cjs +0 -29
  226. package/dist/components/card-container/CardContainer.cjs +0 -23
  227. package/dist/components/checkbox/Checkbox.cjs +0 -43
  228. package/dist/components/checkbox/Checkbox.d.ts +0 -12
  229. package/dist/components/checkbox/Checkbox.js +0 -37
  230. package/dist/components/chip/Chip.cjs +0 -49
  231. package/dist/components/circle/Circle.cjs +0 -18
  232. package/dist/components/clear-button/ClearButton.cjs +0 -26
  233. package/dist/components/data-summary/DataSummary.cjs +0 -49
  234. package/dist/components/data-summary/DataSummary.d.ts +0 -19
  235. package/dist/components/data-summary/DataSummary.js +0 -43
  236. package/dist/components/data-summary/DataSummary.module.css +0 -51
  237. package/dist/components/filter-field/FilterField.cjs +0 -174
  238. package/dist/components/headline/Headline.cjs +0 -47
  239. package/dist/components/icon/Icon.cjs +0 -27
  240. package/dist/components/input/Input.cjs +0 -48
  241. package/dist/components/input/Input.d.ts +0 -13
  242. package/dist/components/input/Input.js +0 -42
  243. package/dist/components/input/Input.module.css +0 -112
  244. package/dist/components/menu/Menu.cjs +0 -96
  245. package/dist/components/multi-select/MultiSelect.cjs +0 -48
  246. package/dist/components/multi-select/MultiSelect.d.ts +0 -18
  247. package/dist/components/multi-select/MultiSelect.js +0 -46
  248. package/dist/components/nav-bar/NavBar.cjs +0 -55
  249. package/dist/components/page/Page.cjs +0 -30
  250. package/dist/components/page-layout/PageLayout.cjs +0 -101
  251. package/dist/components/pagination/Pagination.cjs +0 -117
  252. package/dist/components/panel/Panel.cjs +0 -18
  253. package/dist/components/popover/Popover.cjs +0 -132
  254. package/dist/components/search-box/SearchBox.cjs +0 -162
  255. package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +0 -97
  256. package/dist/components/select/Select.cjs +0 -52
  257. package/dist/components/select/Select.d.ts +0 -11
  258. package/dist/components/select/Select.js +0 -50
  259. package/dist/components/sidebar/Sidebar.cjs +0 -38
  260. package/dist/components/sidebar/Sidebar.module.css +0 -66
  261. package/dist/components/sidebar/components/SidebarItem.cjs +0 -16
  262. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +0 -74
  263. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +0 -27
  264. package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +0 -28
  265. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +0 -25
  266. package/dist/components/sidebar/providers/SidebarProvider.cjs +0 -81
  267. package/dist/components/skeleton-loader/SkeletonLoader.cjs +0 -270
  268. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +0 -42
  269. package/dist/components/split-button/SplitButton.cjs +0 -37
  270. package/dist/components/table/Table.cjs +0 -181
  271. package/dist/components/table/components/column-resizer/ColumnResizer.cjs +0 -22
  272. package/dist/components/tabs/Tabs.cjs +0 -74
  273. package/dist/components/text-area/Textarea.cjs +0 -62
  274. package/dist/components/text-area/Textarea.d.ts +0 -14
  275. package/dist/components/text-area/Textarea.js +0 -56
  276. package/dist/components/text-area/Textarea.module.css +0 -3
  277. package/dist/components/tooltip/Tooltip.cjs +0 -78
  278. package/dist/components/tooltip/Tooltip.d.ts +0 -11
  279. package/dist/components/tooltip/Tooltip.js +0 -72
  280. package/dist/components/tooltip/Tooltip.module.css +0 -84
  281. package/dist/components/user-display/UserDisplay.cjs +0 -28
  282. package/dist/constants/severity.cjs +0 -21
  283. package/dist/constants/severity.types.cjs +0 -2
  284. package/dist/constants/sizes.cjs +0 -10
  285. package/dist/hooks/useTheme.cjs +0 -58
  286. package/dist/hooks/useViewportFill.cjs +0 -52
  287. package/dist/index.cjs +0 -264
  288. package/dist/styles/themes/types.cjs +0 -2
  289. package/dist/tanstack.cjs +0 -231
  290. package/dist/tanstack.d.ts +0 -25
  291. package/dist/tanstack.js +0 -206
  292. package/dist/types/a11y-props.types.cjs +0 -2
  293. package/dist/types/assets.d.cjs +0 -2
  294. package/dist/types/assets.d.js +0 -1
  295. package/dist/types/css.d.cjs +0 -2
  296. package/dist/types/css.d.js +0 -1
  297. package/dist/types/sizes.types.cjs +0 -2
  298. package/dist/utils/arrays/nested-filtering.cjs +0 -40
  299. package/dist/utils/date/formatDate.cjs +0 -19
@@ -1,46 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { Check, Square } from 'lucide-react';
3
- import { Button } from '../button/Button';
4
- import { Menu } from '../menu/Menu';
5
- import { Popover } from '../popover/Popover';
6
- import { Chip } from '../chip/Chip';
7
- import { ClearButton } from '../clear-button/ClearButton';
8
-
9
- function MultiSelect({
10
- options,
11
- selectedValues = [],
12
- onChange,
13
- children,
14
- variant = "outlined",
15
- size = "md",
16
- onClear
17
- }) {
18
- return /* @__PURE__ */ jsx(
19
- Popover,
20
- {
21
- trigger: (onClick, icon) => /* @__PURE__ */ jsxs(Button, { variant, onClick, size, children: [
22
- /* @__PURE__ */ jsxs("span", { children: [
23
- children || "V\xE6lg",
24
- " ",
25
- selectedValues.length > 0 ? /* @__PURE__ */ jsx(Chip, { size: "sm", severity: "info", children: `${selectedValues.length}` }) : null
26
- ] }),
27
- onClear && selectedValues.length > 0 && /* @__PURE__ */ jsx(ClearButton, { onClick: onClear }),
28
- icon
29
- ] }),
30
- children: /* @__PURE__ */ jsx(Menu, { children: options.map((option) => /* @__PURE__ */ jsx(Menu.Item, { active: selectedValues == null ? void 0 : selectedValues.includes(option.value), children: /* @__PURE__ */ jsxs(
31
- "button",
32
- {
33
- onClick: () => {
34
- onChange(option.value);
35
- },
36
- children: [
37
- /* @__PURE__ */ jsx("span", { style: { pointerEvents: "none", display: "flex", alignItems: "center" }, children: (selectedValues == null ? void 0 : selectedValues.includes(option.value)) ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(Square, {}) }),
38
- option.label
39
- ]
40
- }
41
- ) }, option.value)) })
42
- }
43
- );
44
- }
45
-
46
- export { MultiSelect };
@@ -1,55 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('./NavBar.module.css');
5
- var logo = require('../../assets/logo');
6
- var Headline = require('../headline/Headline');
7
- var AppHeader = require('../app-header/AppHeader');
8
-
9
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
-
11
- var styles__default = /*#__PURE__*/_interopDefault(styles);
12
-
13
- function NavBar({ logo: logo$1, items, productName, addition }) {
14
- return /* @__PURE__ */ jsxRuntime.jsx(AppHeader.AppHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(
15
- "nav",
16
- {
17
- className: styles__default.default.container,
18
- "aria-label": productName ? `${productName} navigation` : "Main navigation",
19
- children: [
20
- logo$1,
21
- productName && /* @__PURE__ */ jsxRuntime.jsxs(
22
- "span",
23
- {
24
- className: styles__default.default.productName,
25
- style: { display: "flex", alignItems: "center", gap: 16 },
26
- children: [
27
- /* @__PURE__ */ jsxRuntime.jsx(logo.Logo, {}),
28
- /* @__PURE__ */ jsxRuntime.jsx(Headline.Headline, { disableMargin: true, size: 1, children: productName })
29
- ]
30
- }
31
- ),
32
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: styles__default.default.navItems, role: "list", children: items == null ? void 0 : items.filter((i) => i.enabled !== false).map((item, id) => {
33
- const { component: Component, label, icon, href, active, external } = item;
34
- const linkClass = [styles__default.default.link, active ? styles__default.default.active : ""].filter(Boolean).join(" ");
35
- const commonProps = {
36
- className: linkClass,
37
- href,
38
- ...active ? { "aria-current": "page" } : {},
39
- ...external ? { target: "_blank", rel: "noopener noreferrer" } : {}
40
- };
41
- return /* @__PURE__ */ jsxRuntime.jsx("li", { className: styles__default.default.navItem, role: "listitem", children: Component ? /* @__PURE__ */ jsxRuntime.jsxs(Component, { ...commonProps, children: [
42
- icon,
43
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.label, children: label })
44
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs("a", { ...commonProps, children: [
45
- icon,
46
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.label, children: label })
47
- ] }) }, id);
48
- }) }),
49
- addition
50
- ]
51
- }
52
- ) });
53
- }
54
-
55
- exports.NavBar = NavBar;
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var Headline = require('../headline/Headline');
5
- var styles = require('./Page.module.css');
6
- var Breadcrumbs = require('../breadcrumbs/Breadcrumbs');
7
-
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
-
10
- var styles__default = /*#__PURE__*/_interopDefault(styles);
11
-
12
- function Page({
13
- header,
14
- severity,
15
- headerIcon,
16
- headerAddition,
17
- breadcrumbs,
18
- disableContentBox,
19
- children
20
- }) {
21
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grow-container", children: [
22
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.headerContainer, children: [
23
- breadcrumbs ? /* @__PURE__ */ jsxRuntime.jsx(Breadcrumbs.Breadcrumbs, { items: breadcrumbs }) : /* @__PURE__ */ jsxRuntime.jsx(Headline.Headline, { disableMargin: true, size: 2, severity, icon: headerIcon, children: header }),
24
- headerAddition
25
- ] }),
26
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.content} ${disableContentBox ? styles__default.default.disableContentBox : ""}`, children })
27
- ] });
28
- }
29
-
30
- exports.Page = Page;
@@ -1,101 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var styles = require('./PageLayout.module.css');
5
-
6
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
-
8
- var styles__default = /*#__PURE__*/_interopDefault(styles);
9
-
10
- const PageLayoutBase = ({
11
- children,
12
- sidebar,
13
- header,
14
- containScrolling = false,
15
- orientation = "vertical"
16
- }) => {
17
- if (orientation === "vertical") {
18
- return /* @__PURE__ */ jsxRuntime.jsx(
19
- "div",
20
- {
21
- className: `${styles__default.default.container} ${styles__default.default.vertical} ${containScrolling ? styles__default.default.containScrolling : ""}`,
22
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1, display: "flex", height: "100%", maxWidth: "100%" }, children: [
23
- sidebar,
24
- /* @__PURE__ */ jsxRuntime.jsxs(
25
- "div",
26
- {
27
- style: {
28
- flex: 1,
29
- display: "flex",
30
- flexDirection: "column",
31
- height: "100%",
32
- maxHeight: "100vh",
33
- overflow: "auto"
34
- },
35
- children: [
36
- header && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.header, children: header }),
37
- /* @__PURE__ */ jsxRuntime.jsx(
38
- "div",
39
- {
40
- style: {
41
- flex: 1,
42
- display: "flex",
43
- flexDirection: "column",
44
- padding: "1rem",
45
- gap: 20,
46
- overflow: "auto"
47
- },
48
- children
49
- }
50
- )
51
- ]
52
- }
53
- )
54
- ] })
55
- }
56
- );
57
- }
58
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.container} ${containScrolling ? styles__default.default.containScrolling : ""}`, children });
59
- };
60
- const PageLayoutHeader = ({
61
- maxWidth = true,
62
- children
63
- }) => {
64
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.headerContainer, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.headerContent} ${maxWidth ? styles__default.default.maxWidth : ""}`, children }) });
65
- };
66
- const PageLayoutHero = ({
67
- children,
68
- link,
69
- metaHeadline,
70
- headline,
71
- image,
72
- maxWidth = true
73
- }) => {
74
- const content = /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.heroContainer} ${maxWidth ? styles__default.default.maxWidth : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.heroImageWrapper, children: [
75
- image,
76
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.heroText, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
77
- metaHeadline && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.metaHeadline, children: metaHeadline }),
78
- headline && /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.headline, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: headline }) }),
79
- children
80
- ] }) })
81
- ] }) });
82
- const rendered = link ? link(content) : content;
83
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: rendered });
84
- };
85
- const PageLayoutContent = ({
86
- maxWidth = true,
87
- children
88
- }) => {
89
- return /* @__PURE__ */ jsxRuntime.jsx("main", { className: `${styles__default.default.content} ${maxWidth ? styles__default.default.maxWidth : ""}`, children });
90
- };
91
- const PageLayoutFooter = ({ children }) => {
92
- return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: styles__default.default.footer, children });
93
- };
94
- const PageLayout = Object.assign(PageLayoutBase, {
95
- Header: PageLayoutHeader,
96
- Hero: PageLayoutHero,
97
- Content: PageLayoutContent,
98
- Footer: PageLayoutFooter
99
- });
100
-
101
- exports.PageLayout = PageLayout;
@@ -1,117 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var react = require('react');
5
- var styles = require('./Pagination.module.css');
6
- var Button = require('../button/Button');
7
- var lucideReact = require('lucide-react');
8
- var Popover = require('../popover/Popover');
9
- var Menu = require('../menu/Menu');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var styles__default = /*#__PURE__*/_interopDefault(styles);
14
-
15
- const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100];
16
- function Pagination({
17
- itemsCount = 0,
18
- skip = 0,
19
- take = DEFAULT_PAGE_SIZE_OPTIONS[1],
20
- onPageChange,
21
- pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS
22
- }) {
23
- const totalPages = react.useMemo(() => {
24
- const pages = Math.max(1, Math.ceil(itemsCount / Math.max(1, take)));
25
- return pages;
26
- }, [itemsCount, take]);
27
- const currentPage = react.useMemo(() => {
28
- const p = Math.floor(skip / Math.max(1, take)) + 1;
29
- return Math.min(Math.max(1, p), totalPages);
30
- }, [skip, take, totalPages]);
31
- const emit = react.useCallback(
32
- (page) => {
33
- const clampedPage = Math.min(Math.max(1, page), totalPages);
34
- const nextSkip = (clampedPage - 1) * take;
35
- onPageChange == null ? void 0 : onPageChange({
36
- page: clampedPage,
37
- take,
38
- skip: nextSkip,
39
- totalPages
40
- });
41
- },
42
- [onPageChange, take, totalPages]
43
- );
44
- const prevPage = react.useCallback(() => emit(currentPage - 1), [emit, currentPage]);
45
- const nextPage = react.useCallback(() => emit(currentPage + 1), [emit, currentPage]);
46
- const goToPage = react.useCallback((page) => emit(page), [emit]);
47
- const pageList = react.useMemo(() => {
48
- const visiblePages = 3;
49
- const pages = Array.from({ length: totalPages }, (_, i) => i + 1);
50
- let startIndex = Math.max(currentPage - Math.floor(visiblePages / 2) - 1, 0);
51
- let endIndex = startIndex + visiblePages;
52
- if (endIndex > totalPages) {
53
- endIndex = totalPages;
54
- startIndex = Math.max(endIndex - visiblePages, 0);
55
- }
56
- return {
57
- first: startIndex > 0 ? 1 : void 0,
58
- items: pages.slice(startIndex, endIndex),
59
- last: endIndex < totalPages ? totalPages : void 0
60
- };
61
- }, [totalPages, currentPage]);
62
- const handlePageSizeChange = react.useCallback(
63
- (size) => {
64
- onPageChange == null ? void 0 : onPageChange({
65
- page: 1,
66
- take: size,
67
- skip: 0,
68
- totalPages: Math.max(1, Math.ceil(itemsCount / Math.max(1, size)))
69
- });
70
- },
71
- [onPageChange, itemsCount]
72
- );
73
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.container, children: [
74
- /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { disabled: currentPage === 1, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeft, {}), onClick: prevPage }),
75
- pageList.first && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles__default.default.ellipsisButton, children: [
76
- /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "outlined", onClick: () => goToPage(1), children: pageList.first }),
77
- "\u2026"
78
- ] }),
79
- pageList.items.map((page) => /* @__PURE__ */ jsxRuntime.jsx(
80
- Button.Button,
81
- {
82
- "aria-current": page === currentPage ? "page" : void 0,
83
- variant: "outlined",
84
- onClick: () => goToPage(page),
85
- active: page === currentPage,
86
- children: page
87
- },
88
- page
89
- )),
90
- pageList.last !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles__default.default.ellipsisButton, children: [
91
- "\u2026",
92
- /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "outlined", onClick: () => goToPage(pageList.last), children: pageList.last })
93
- ] }),
94
- /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { disabled: currentPage === totalPages, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, {}), onClick: nextPage }),
95
- /* @__PURE__ */ jsxRuntime.jsx(
96
- Popover.Popover,
97
- {
98
- trigger: (event, icon) => /* @__PURE__ */ jsxRuntime.jsxs(Button.Button, { variant: "outlined", onClick: event, children: [
99
- "Vis ",
100
- take,
101
- icon
102
- ] }),
103
- children: /* @__PURE__ */ jsxRuntime.jsx(Menu.Menu, { children: pageSizeOptions.map((size) => /* @__PURE__ */ jsxRuntime.jsx(Menu.Menu.Item, { active: size === take, children: /* @__PURE__ */ jsxRuntime.jsx(
104
- "button",
105
- {
106
- onClick: () => {
107
- handlePageSizeChange(size);
108
- },
109
- children: size
110
- }
111
- ) }, size)) })
112
- }
113
- )
114
- ] });
115
- }
116
-
117
- exports.Pagination = Pagination;
@@ -1,18 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var Headline = require('../headline/Headline');
5
- var styles = require('./Panel.module.css');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var styles__default = /*#__PURE__*/_interopDefault(styles);
10
-
11
- function Panel({ header, headerIcon, children, severity, size }) {
12
- return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: `${styles__default.default.container} ${size ? styles__default.default[size] : ""}`, children: [
13
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.header, children: /* @__PURE__ */ jsxRuntime.jsx(Headline.Headline, { disableMargin: true, size: 3, icon: headerIcon, severity, children: header }) }),
14
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.content, children })
15
- ] });
16
- }
17
-
18
- exports.Panel = Panel;
@@ -1,132 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var react = require('react');
5
- var styles = require('./Popover.module.css');
6
- var lucideReact = require('lucide-react');
7
-
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
-
10
- var styles__default = /*#__PURE__*/_interopDefault(styles);
11
-
12
- const Popover = react.forwardRef(function Popover2({ trigger: Trigger, children, minWidth = "200px", viewportPadding = 8, edgeBuffer = 100 }, ref) {
13
- const [pos, setPos] = react.useState({ top: 0, left: 0, visible: false });
14
- const containerRef = react.useRef(null);
15
- const contentRef = react.useRef(null);
16
- const computeAndSetPosition = react.useCallback(
17
- (show) => {
18
- const container = containerRef.current;
19
- const content = contentRef.current;
20
- if (!container || !content) return;
21
- const prevVis = content.style.visibility;
22
- const prevDisp = content.style.display;
23
- content.style.visibility = "hidden";
24
- content.style.display = "block";
25
- const triggerRect = container.getBoundingClientRect();
26
- const contentWidth = content.offsetWidth;
27
- const contentHeight = content.offsetHeight;
28
- content.style.visibility = prevVis;
29
- content.style.display = prevDisp;
30
- const vw = window.innerWidth;
31
- const vh = window.innerHeight;
32
- const spaceAbove = Math.max(0, triggerRect.top);
33
- const spaceBelow = Math.max(0, vh - triggerRect.bottom);
34
- const spaceLeft = Math.max(0, triggerRect.left);
35
- const spaceRight = Math.max(0, vw - triggerRect.right);
36
- const preferBelow = spaceBelow >= contentHeight + edgeBuffer || spaceBelow >= spaceAbove;
37
- const spacing = viewportPadding;
38
- const rawTop = preferBelow ? triggerRect.bottom + spacing : triggerRect.top - contentHeight - spacing;
39
- const placeRightOfLeftEdge = spaceRight >= contentWidth + edgeBuffer;
40
- const placeLeftOfRightEdge = spaceLeft >= contentWidth + edgeBuffer;
41
- let rawLeft;
42
- if (placeRightOfLeftEdge) {
43
- rawLeft = triggerRect.left;
44
- } else if (placeLeftOfRightEdge) {
45
- rawLeft = triggerRect.right - contentWidth;
46
- } else {
47
- rawLeft = triggerRect.left + (triggerRect.width - contentWidth) / 2;
48
- }
49
- const clampedLeft = Math.max(
50
- viewportPadding,
51
- Math.min(rawLeft, vw - contentWidth - viewportPadding)
52
- );
53
- const clampedTop = Math.max(
54
- viewportPadding,
55
- Math.min(rawTop, vh - contentHeight - viewportPadding)
56
- );
57
- setPos({ top: clampedTop, left: clampedLeft, visible: show });
58
- },
59
- [edgeBuffer, viewportPadding]
60
- );
61
- const openPopover = react.useCallback(
62
- (e) => {
63
- if (pos.visible) {
64
- setPos((p) => ({ ...p, visible: false }));
65
- return;
66
- }
67
- computeAndSetPosition(true);
68
- e == null ? void 0 : e.stopPropagation();
69
- },
70
- [pos.visible, computeAndSetPosition]
71
- );
72
- const closePopover = react.useCallback(() => {
73
- setPos((p) => ({ ...p, visible: false }));
74
- }, []);
75
- react.useImperativeHandle(
76
- ref,
77
- () => ({
78
- close: closePopover,
79
- open: () => computeAndSetPosition(true),
80
- isOpen: () => !!pos.visible
81
- }),
82
- [closePopover, computeAndSetPosition, pos.visible]
83
- );
84
- react.useEffect(() => {
85
- if (!pos.visible) return;
86
- const handleClickOutside = (e) => {
87
- if (containerRef.current && contentRef.current && !containerRef.current.contains(e.target) && !contentRef.current.contains(e.target)) {
88
- closePopover();
89
- }
90
- };
91
- const handleEscape = (e) => {
92
- if (e.key === "Escape") closePopover();
93
- };
94
- const handleReposition = () => computeAndSetPosition(true);
95
- document.addEventListener("click", handleClickOutside);
96
- document.addEventListener("keydown", handleEscape, true);
97
- window.addEventListener("resize", handleReposition);
98
- window.addEventListener("scroll", handleReposition, true);
99
- return () => {
100
- document.removeEventListener("click", handleClickOutside);
101
- document.removeEventListener("keydown", handleEscape, true);
102
- window.removeEventListener("resize", handleReposition);
103
- window.removeEventListener("scroll", handleReposition, true);
104
- };
105
- }, [pos.visible, closePopover, computeAndSetPosition]);
106
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.container, ref: containerRef, children: [
107
- Trigger(openPopover, pos.visible ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 20 })),
108
- /* @__PURE__ */ jsxRuntime.jsx(
109
- "div",
110
- {
111
- ref: contentRef,
112
- className: styles__default.default.content,
113
- style: {
114
- position: "fixed",
115
- top: pos.top,
116
- left: pos.left,
117
- visibility: pos.visible ? "visible" : "hidden",
118
- minWidth,
119
- maxWidth: `calc(100vw - ${viewportPadding * 2}px)`,
120
- maxHeight: `calc(100vh - ${viewportPadding * 2}px)`,
121
- overflow: "auto"
122
- },
123
- role: "dialog",
124
- "aria-hidden": !pos.visible,
125
- children
126
- }
127
- )
128
- ] });
129
- });
130
- Popover.displayName = "Popover";
131
-
132
- exports.Popover = Popover;
@@ -1,162 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var react = require('react');
5
- var lucideReact = require('lucide-react');
6
- var Input = require('../input/Input');
7
- var Menu = require('../menu/Menu');
8
- var Popover = require('../popover/Popover');
9
- var Button = require('../button/Button');
10
- var SkeletonLoaderItem = require('../skeleton-loader/skeleton-loader-item/SkeletonLoaderItem');
11
- var styles = require('./SearchBox.module.css');
12
-
13
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
-
15
- var styles__default = /*#__PURE__*/_interopDefault(styles);
16
-
17
- const SearchBox = react.forwardRef(function SearchBox2({
18
- width,
19
- inputSize,
20
- variant,
21
- result,
22
- debounce = true,
23
- debounceMs = 800,
24
- onSearch,
25
- onSelect,
26
- displayPopover,
27
- resultKeys,
28
- resultTemplate,
29
- initialTemplate,
30
- popoverMinWidth = "500px",
31
- noResultText = "Ingen resultater",
32
- loading,
33
- enableHotkey = true,
34
- onButtonClick,
35
- ...rest
36
- }, ref) {
37
- const [query, setQuery] = react.useState("");
38
- const [searchQuery, setSearchQuery] = react.useState("");
39
- const popoverRef = react.useRef(null);
40
- const internalInputRef = react.useRef(null);
41
- react.useEffect(() => {
42
- if (typeof ref === "function") {
43
- ref(internalInputRef.current);
44
- } else if (ref) {
45
- ref.current = internalInputRef.current;
46
- }
47
- }, [ref]);
48
- react.useEffect(() => {
49
- if (!onSearch) return;
50
- if (debounce) {
51
- const handler = setTimeout(() => {
52
- setSearchQuery(query);
53
- onSearch(query);
54
- }, debounceMs);
55
- return () => clearTimeout(handler);
56
- } else {
57
- onSearch(query);
58
- }
59
- }, [query, onSearch, debounce]);
60
- react.useEffect(() => {
61
- function handleKeyDown(event) {
62
- var _a;
63
- if (event.key === "k" && (event.metaKey || event.ctrlKey)) {
64
- event.preventDefault();
65
- (_a = internalInputRef.current) == null ? void 0 : _a.focus();
66
- }
67
- }
68
- if (enableHotkey) {
69
- window.addEventListener("keydown", handleKeyDown);
70
- return () => window.removeEventListener("keydown", handleKeyDown);
71
- }
72
- }, [enableHotkey]);
73
- const handleChange = (e) => {
74
- setQuery(e.target.value);
75
- };
76
- function handleSelect(item) {
77
- onSelect == null ? void 0 : onSelect(item);
78
- reset();
79
- }
80
- function reset() {
81
- var _a;
82
- setQuery("");
83
- setSearchQuery("");
84
- (_a = popoverRef.current) == null ? void 0 : _a.close();
85
- }
86
- rest.value = query;
87
- rest.onChange = handleChange;
88
- const inputField = react.useMemo(() => {
89
- var _a;
90
- if (displayPopover) {
91
- return /* @__PURE__ */ jsxRuntime.jsx(
92
- Popover.Popover,
93
- {
94
- ref: popoverRef,
95
- minWidth: popoverMinWidth,
96
- trigger: (event) => {
97
- var _a2;
98
- return /* @__PURE__ */ jsxRuntime.jsx(
99
- Input.Input,
100
- {
101
- ref: internalInputRef,
102
- onInput: handleChange,
103
- onFocusCapture: event,
104
- onClick: event,
105
- minWidth: width != null ? width : "300px",
106
- icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, {}),
107
- inputSize,
108
- ...rest,
109
- placeholder: (_a2 = rest.placeholder) != null ? _a2 : "Indtast s\xF8geord"
110
- }
111
- );
112
- },
113
- children: (result == null ? void 0 : result.length) ? /* @__PURE__ */ jsxRuntime.jsx(Menu.Menu, { children: /* @__PURE__ */ jsxRuntime.jsx("table", { children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: result.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx("tr", { onClick: () => handleSelect(item), role: "button", tabIndex: 0, children: resultKeys == null ? void 0 : resultKeys.map((key) => {
114
- const value = item[key] ? String(item[key]) : "";
115
- return /* @__PURE__ */ jsxRuntime.jsx(
116
- "td",
117
- {
118
- style: {
119
- whiteSpace: String(value.length < 10 ? "nowrap" : "")
120
- },
121
- children: String(item[key])
122
- },
123
- String(key)
124
- );
125
- }) }, index)) }) }) }) : !searchQuery && !loading ? initialTemplate || /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.resultContainer, children: "Indtast s\xF8geord" }) : loading ? /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: Array.from({ length: 5 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: resultKeys == null ? void 0 : resultKeys.map((key) => /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "8px" }, children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoaderItem.SkeletonLoaderItem, { height: 20, width: "100%" }) }, String(key))) }, index)) }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.resultContainer, children: noResultText })
126
- }
127
- );
128
- }
129
- return /* @__PURE__ */ jsxRuntime.jsx(
130
- Input.Input,
131
- {
132
- ref: internalInputRef,
133
- onInput: handleChange,
134
- icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, {}),
135
- minWidth: width != null ? width : "300px",
136
- inputSize,
137
- variant,
138
- ...rest,
139
- placeholder: (_a = rest.placeholder) != null ? _a : "Indtast s\xF8geord"
140
- }
141
- );
142
- }, [
143
- displayPopover,
144
- popoverMinWidth,
145
- result,
146
- resultKeys,
147
- resultTemplate,
148
- initialTemplate,
149
- searchQuery,
150
- loading,
151
- width,
152
- inputSize,
153
- variant,
154
- rest
155
- ]);
156
- return onButtonClick ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.withButton, children: [
157
- inputField,
158
- /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "outlined", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, {}), onClick: onButtonClick })
159
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: inputField });
160
- });
161
-
162
- exports.SearchBox = SearchBox;