@dbcdk/react-components 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/dist/assets/logo.cjs +10 -10
  2. package/dist/assets/logo.js +10 -10
  3. package/dist/components/__stories__/story-components/Colors.cjs +159 -0
  4. package/dist/components/__stories__/story-components/Colors.d.ts +10 -0
  5. package/dist/components/__stories__/story-components/Colors.js +151 -0
  6. package/dist/components/__stories__/story-components/Colors.module.css +27 -0
  7. package/dist/components/__stories__/story-components/Spacing.cjs +190 -0
  8. package/dist/components/__stories__/story-components/Spacing.d.ts +1 -0
  9. package/dist/components/__stories__/story-components/Spacing.js +184 -0
  10. package/dist/components/__stories__/story-components/Spacing.module.css +154 -0
  11. package/dist/components/app-header/AppHeader.module.css +10 -15
  12. package/dist/components/attribute-chip/AttributeChip.cjs +22 -0
  13. package/dist/components/attribute-chip/AttributeChip.d.ts +8 -0
  14. package/dist/components/attribute-chip/AttributeChip.js +16 -0
  15. package/dist/components/attribute-chip/AttributeChip.module.css +65 -0
  16. package/dist/components/avatar/Avatar.cjs +38 -4
  17. package/dist/components/avatar/Avatar.d.ts +4 -2
  18. package/dist/components/avatar/Avatar.js +39 -5
  19. package/dist/components/avatar/Avatar.module.css +27 -0
  20. package/dist/components/breadcrumbs/Breadcrumbs.cjs +1 -2
  21. package/dist/components/breadcrumbs/Breadcrumbs.js +1 -2
  22. package/dist/components/breadcrumbs/Breadcrumbs.module.css +19 -22
  23. package/dist/components/button/Button.cjs +20 -12
  24. package/dist/components/button/Button.d.ts +4 -1
  25. package/dist/components/button/Button.js +20 -12
  26. package/dist/components/button/Button.module.css +118 -55
  27. package/dist/components/card/Card.cjs +53 -13
  28. package/dist/components/card/Card.d.ts +21 -6
  29. package/dist/components/card/Card.js +54 -14
  30. package/dist/components/card/Card.module.css +148 -44
  31. package/dist/components/card-container/CardContainer.cjs +6 -5
  32. package/dist/components/card-container/CardContainer.d.ts +5 -2
  33. package/dist/components/card-container/CardContainer.js +6 -5
  34. package/dist/components/card-container/CardContainer.module.css +40 -0
  35. package/dist/components/checkbox/Checkbox.cjs +3 -4
  36. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  37. package/dist/components/checkbox/Checkbox.js +3 -4
  38. package/dist/components/checkbox/Checkbox.module.css +10 -10
  39. package/dist/components/chip/Chip.cjs +2 -1
  40. package/dist/components/chip/Chip.d.ts +2 -1
  41. package/dist/components/chip/Chip.js +2 -1
  42. package/dist/components/chip/Chip.module.css +42 -27
  43. package/dist/components/circle/Circle.module.css +11 -11
  44. package/dist/components/clear-button/ClearButton.cjs +3 -3
  45. package/dist/components/clear-button/ClearButton.js +3 -3
  46. package/dist/components/clear-button/ClearButton.module.css +8 -7
  47. package/dist/components/code-block/CodeBlock.cjs +18 -0
  48. package/dist/components/code-block/CodeBlock.d.ts +6 -0
  49. package/dist/components/code-block/CodeBlock.js +12 -0
  50. package/dist/components/code-block/CodeBlock.module.css +60 -0
  51. package/dist/components/copy-button/CopyButton.cjs +35 -0
  52. package/dist/components/copy-button/CopyButton.d.ts +9 -0
  53. package/dist/components/copy-button/CopyButton.js +29 -0
  54. package/dist/components/copy-button/CopyButton.module.css +6 -0
  55. package/dist/components/datetime-picker/DateTimePicker.cjs +504 -0
  56. package/dist/components/datetime-picker/DateTimePicker.d.ts +39 -0
  57. package/dist/components/datetime-picker/DateTimePicker.js +498 -0
  58. package/dist/components/datetime-picker/DateTimePicker.module.css +144 -0
  59. package/dist/components/filter-field/FilterField.cjs +34 -19
  60. package/dist/components/filter-field/FilterField.d.ts +2 -2
  61. package/dist/components/filter-field/FilterField.js +35 -20
  62. package/dist/components/filter-field/FilterField.module.css +14 -20
  63. package/dist/components/headline/Headline.cjs +10 -4
  64. package/dist/components/headline/Headline.d.ts +9 -1
  65. package/dist/components/headline/Headline.js +10 -4
  66. package/dist/components/headline/Headline.module.css +32 -7
  67. package/dist/components/icon/Icon.module.css +10 -9
  68. package/dist/components/input/Input.cjs +60 -19
  69. package/dist/components/input/Input.d.ts +7 -2
  70. package/dist/components/input/Input.js +60 -19
  71. package/dist/components/input/Input.module.css +90 -43
  72. package/dist/components/link/Link.cjs +46 -0
  73. package/dist/components/link/Link.d.ts +9 -0
  74. package/dist/components/link/Link.js +21 -0
  75. package/dist/components/link/Link.module.css +32 -0
  76. package/dist/components/menu/Menu.module.css +10 -32
  77. package/dist/components/meta-bar/MetaBar.cjs +29 -0
  78. package/dist/components/meta-bar/MetaBar.d.ts +11 -0
  79. package/dist/components/meta-bar/MetaBar.js +22 -0
  80. package/dist/components/meta-bar/MetaBar.module.css +12 -0
  81. package/dist/components/modal/Modal.cjs +134 -0
  82. package/dist/components/modal/Modal.d.ts +21 -0
  83. package/dist/components/modal/Modal.js +128 -0
  84. package/dist/components/modal/Modal.module.css +66 -0
  85. package/dist/components/modal/provider/ModalProvider.cjs +80 -0
  86. package/dist/components/modal/provider/ModalProvider.d.ts +21 -0
  87. package/dist/components/modal/provider/ModalProvider.js +77 -0
  88. package/dist/components/multi-select/MultiSelect.cjs +12 -1
  89. package/dist/components/multi-select/MultiSelect.js +12 -1
  90. package/dist/components/nav-bar/NavBar.module.css +11 -16
  91. package/dist/components/page/Page.module.css +2 -2
  92. package/dist/components/page-layout/PageLayout.cjs +5 -22
  93. package/dist/components/page-layout/PageLayout.d.ts +1 -8
  94. package/dist/components/page-layout/PageLayout.js +5 -22
  95. package/dist/components/page-layout/PageLayout.module.css +4 -80
  96. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.cjs +32 -0
  97. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.d.ts +11 -0
  98. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +25 -0
  99. package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +84 -0
  100. package/dist/components/pagination/Pagination.cjs +83 -67
  101. package/dist/components/pagination/Pagination.d.ts +3 -1
  102. package/dist/components/pagination/Pagination.js +84 -68
  103. package/dist/components/pagination/Pagination.module.css +11 -3
  104. package/dist/components/panel/Panel.module.css +5 -7
  105. package/dist/components/popover/Popover.cjs +25 -8
  106. package/dist/components/popover/Popover.d.ts +2 -1
  107. package/dist/components/popover/Popover.js +25 -8
  108. package/dist/components/popover/Popover.module.css +4 -6
  109. package/dist/components/search-box/SearchBox.cjs +50 -37
  110. package/dist/components/search-box/SearchBox.d.ts +10 -7
  111. package/dist/components/search-box/SearchBox.js +50 -37
  112. package/dist/components/search-box/SearchBox.module.css +0 -1
  113. package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +12 -6
  114. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +12 -6
  115. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +5 -1
  116. package/dist/components/select/Select.cjs +82 -13
  117. package/dist/components/select/Select.d.ts +2 -1
  118. package/dist/components/select/Select.js +83 -14
  119. package/dist/components/sidebar/Sidebar.cjs +3 -30
  120. package/dist/components/sidebar/Sidebar.d.ts +2 -1
  121. package/dist/components/sidebar/Sidebar.js +4 -26
  122. package/dist/components/sidebar/components/SidebarItem.cjs +3 -1
  123. package/dist/components/sidebar/components/SidebarItem.js +3 -1
  124. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +40 -14
  125. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +3 -1
  126. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +40 -14
  127. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +9 -38
  128. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.cjs +50 -0
  129. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.d.ts +8 -0
  130. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +43 -0
  131. package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +155 -0
  132. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +16 -9
  133. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +2 -1
  134. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +16 -9
  135. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +25 -12
  136. package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +2 -1
  137. package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +1 -1
  138. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +2 -1
  139. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +29 -2
  140. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +25 -2
  141. package/dist/components/sidebar/providers/SidebarProvider.cjs +108 -10
  142. package/dist/components/sidebar/providers/SidebarProvider.d.ts +7 -3
  143. package/dist/components/sidebar/providers/SidebarProvider.js +109 -11
  144. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +1 -1
  145. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +1 -1
  146. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -12
  147. package/dist/components/split-pane/SplitPane.cjs +123 -0
  148. package/dist/components/split-pane/SplitPane.d.ts +34 -0
  149. package/dist/components/split-pane/SplitPane.js +114 -0
  150. package/dist/components/split-pane/SplitPane.module.css +106 -0
  151. package/dist/components/split-pane/provider/SplitPaneContext.cjs +87 -0
  152. package/dist/components/split-pane/provider/SplitPaneContext.d.ts +23 -0
  153. package/dist/components/split-pane/provider/SplitPaneContext.js +79 -0
  154. package/dist/components/table/Table.cjs +180 -112
  155. package/dist/components/table/Table.d.ts +22 -6
  156. package/dist/components/table/Table.js +181 -113
  157. package/dist/components/table/Table.module.css +74 -47
  158. package/dist/components/table/components/empty-state/EmptyState.cjs +52 -0
  159. package/dist/components/table/components/empty-state/EmptyState.d.ts +40 -0
  160. package/dist/components/table/components/empty-state/EmptyState.js +46 -0
  161. package/dist/components/table/components/empty-state/EmptyState.module.css +16 -0
  162. package/dist/components/table/components/table-settings/TableSettings.cjs +32 -0
  163. package/dist/components/table/components/table-settings/TableSettings.d.ts +7 -0
  164. package/dist/components/table/components/table-settings/TableSettings.js +30 -0
  165. package/dist/{tanstack.cjs → components/table/tanstack.cjs} +61 -99
  166. package/dist/components/table/tanstack.d.ts +14 -0
  167. package/dist/{tanstack.js → components/table/tanstack.js} +61 -99
  168. package/dist/components/tabs/Tabs.cjs +33 -17
  169. package/dist/components/tabs/Tabs.d.ts +6 -3
  170. package/dist/components/tabs/Tabs.js +33 -17
  171. package/dist/components/tabs/Tabs.module.css +9 -9
  172. package/dist/components/toast/Toast.cjs +47 -0
  173. package/dist/components/toast/Toast.d.ts +14 -0
  174. package/dist/components/toast/Toast.js +41 -0
  175. package/dist/components/toast/Toast.module.css +101 -0
  176. package/dist/components/toast/provider/ToastProvider.cjs +98 -0
  177. package/dist/components/toast/provider/ToastProvider.d.ts +23 -0
  178. package/dist/components/toast/provider/ToastProvider.js +91 -0
  179. package/dist/components/tooltip/Tooltip.cjs +134 -29
  180. package/dist/components/tooltip/Tooltip.js +135 -30
  181. package/dist/components/tooltip/Tooltip.module.css +25 -43
  182. package/dist/components/user-display/UserDisplay.module.css +2 -2
  183. package/dist/constants/severity.cjs +12 -12
  184. package/dist/constants/severity.js +12 -12
  185. package/dist/constants/sizes.cjs +1 -0
  186. package/dist/constants/sizes.d.ts +1 -1
  187. package/dist/constants/sizes.js +1 -0
  188. package/dist/hooks/usePagination.cjs +88 -0
  189. package/dist/hooks/usePagination.d.ts +33 -0
  190. package/dist/hooks/usePagination.js +86 -0
  191. package/dist/hooks/useSorting.cjs +118 -0
  192. package/dist/hooks/useSorting.d.ts +49 -0
  193. package/dist/hooks/useSorting.js +116 -0
  194. package/dist/hooks/useTableData.cjs +52 -0
  195. package/dist/hooks/useTableData.d.ts +40 -0
  196. package/dist/hooks/useTableData.js +50 -0
  197. package/dist/hooks/useTableSelection.cjs +130 -0
  198. package/dist/hooks/useTableSelection.d.ts +25 -0
  199. package/dist/hooks/useTableSelection.js +128 -0
  200. package/dist/hooks/useTableSettings.cjs +28 -0
  201. package/dist/hooks/useTableSettings.d.ts +7 -0
  202. package/dist/hooks/useTableSettings.js +26 -0
  203. package/dist/hooks/useTimeDuration.cjs +39 -0
  204. package/dist/hooks/useTimeDuration.d.ts +22 -0
  205. package/dist/hooks/useTimeDuration.js +37 -0
  206. package/dist/hooks/useViewportFill.js +1 -1
  207. package/dist/index.cjs +119 -0
  208. package/dist/index.d.ts +17 -0
  209. package/dist/index.js +17 -0
  210. package/dist/src/styles/styles.css +101 -8
  211. package/dist/styles/css-helper-classes/flex.css +97 -0
  212. package/dist/styles/css-helper-classes/typography.css +7 -0
  213. package/dist/styles/styles.css +101 -8
  214. package/dist/styles/themes/dbc/dark.css +206 -99
  215. package/dist/styles/themes/dbc/light.css +183 -89
  216. package/dist/types/sizes.types.d.ts +2 -2
  217. package/package.json +17 -11
  218. package/dist/components/data-summary/DataSummary.cjs +0 -49
  219. package/dist/components/data-summary/DataSummary.d.ts +0 -19
  220. package/dist/components/data-summary/DataSummary.js +0 -43
  221. package/dist/components/data-summary/DataSummary.module.css +0 -51
  222. package/dist/components/sidebar/Sidebar.module.css +0 -66
  223. package/dist/tanstack.d.ts +0 -25
@@ -0,0 +1,190 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var styles = require('./Spacing.module.css');
5
+ var Headline = require('@/components/headline/Headline');
6
+ var CopyButton = require('@/components/copy-button/CopyButton');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var styles__default = /*#__PURE__*/_interopDefault(styles);
11
+
12
+ const SIZES = ["xxs", "xs", "sm", "md", "lg", "xl", "2xl"];
13
+ const AXES = ["all", "block", "inline", "top", "bottom", "start", "end"];
14
+ const SIZE_PX = {
15
+ xxs: "4px",
16
+ xs: "8px",
17
+ sm: "12px",
18
+ md: "16px",
19
+ lg: "24px",
20
+ xl: "32px",
21
+ "2xl": "48px"
22
+ };
23
+ const CLASS_PARTS = {
24
+ padding: {
25
+ all: "p",
26
+ block: "py",
27
+ inline: "px",
28
+ top: "pt",
29
+ bottom: "pb",
30
+ start: "ps",
31
+ end: "pe"
32
+ },
33
+ margin: {
34
+ all: "m",
35
+ block: "my",
36
+ inline: "mx",
37
+ top: "mt",
38
+ bottom: "mb",
39
+ start: "ms",
40
+ end: "me"
41
+ }
42
+ };
43
+ const HAS_SINGLE_SIDE_FOR = (size) => size !== "2xl";
44
+ function makeClass(kind, axis, size) {
45
+ if ((axis === "top" || axis === "bottom" || axis === "start" || axis === "end") && !HAS_SINGLE_SIDE_FOR(size)) {
46
+ return null;
47
+ }
48
+ const part = CLASS_PARTS[kind][axis];
49
+ return `dbc-${part}-${size}`;
50
+ }
51
+ function Code({ children }) {
52
+ return /* @__PURE__ */ jsxRuntime.jsx("code", { className: styles__default.default.code, children });
53
+ }
54
+ const ContentBlock = ({ helperClass }) => /* @__PURE__ */ jsxRuntime.jsxs(
55
+ "div",
56
+ {
57
+ className: `${styles__default.default.contentBlock} dbc-flex dbc-gap-xxs dbc-justify-center ${helperClass} dbc-items-center`,
58
+ children: [
59
+ helperClass,
60
+ " ",
61
+ /* @__PURE__ */ jsxRuntime.jsx(CopyButton.CopyButton, { text: helperClass, variant: "inline", size: "sm" })
62
+ ]
63
+ }
64
+ );
65
+ function PaddingPreview({ cls }) {
66
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.paddingPreview} ${cls}`, children: /* @__PURE__ */ jsxRuntime.jsx(ContentBlock, { helperClass: cls }) });
67
+ }
68
+ function MarginPreview({ cls }) {
69
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.marginCanvas, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${styles__default.default.marginBlock} ${cls}`, children: /* @__PURE__ */ jsxRuntime.jsx(ContentBlock, { helperClass: cls }) }) });
70
+ }
71
+ function Cell({ kind, axis, size }) {
72
+ const cls = makeClass(kind, axis, size);
73
+ if (!cls) return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.unavailable, children: "\u2014" });
74
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.cellInner, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.cellPreview, children: kind === "padding" ? /* @__PURE__ */ jsxRuntime.jsx(PaddingPreview, { cls }) : /* @__PURE__ */ jsxRuntime.jsx(MarginPreview, { cls }) }) });
75
+ }
76
+ function Grid({ kind, title, severity }) {
77
+ return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: styles__default.default.section, children: [
78
+ /* @__PURE__ */ jsxRuntime.jsx(Headline.Headline, { marker: true, severity, disableMargin: true, size: 2, children: title }),
79
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.tableContainer, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: styles__default.default.table, children: [
80
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
81
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: styles__default.default.axisCol, children: "Axis" }),
82
+ SIZES.map((size) => /* @__PURE__ */ jsxRuntime.jsxs("th", { className: styles__default.default.sizeHead, children: [
83
+ size,
84
+ " ",
85
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: styles__default.default.sizePx, children: [
86
+ "(",
87
+ SIZE_PX[size],
88
+ ")"
89
+ ] })
90
+ ] }, size))
91
+ ] }) }),
92
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: AXES.map((axis) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
93
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: styles__default.default.axisHead, children: axis }),
94
+ SIZES.map((size) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: styles__default.default.cell, children: /* @__PURE__ */ jsxRuntime.jsx(Cell, { kind, axis, size }) }, size))
95
+ ] }, axis)) })
96
+ ] }) })
97
+ ] });
98
+ }
99
+ function Spacing() {
100
+ return /* @__PURE__ */ jsxRuntime.jsxs(
101
+ "div",
102
+ {
103
+ className: styles__default.default.container,
104
+ style: {
105
+ ["--pad-indicator"]: "var(--color-bg-info)",
106
+ ["--pad-border"]: "var(--color-info)",
107
+ ["--margin-indicator"]: "var(--color-bg-warning)",
108
+ ["--margin-border"]: "var(--color-warning)",
109
+ ["--dot-pad"]: "var(--color-bg-selected)",
110
+ ["--dot-mar"]: "var(--opac-bg-default)"
111
+ },
112
+ children: [
113
+ /* @__PURE__ */ jsxRuntime.jsx("header", { className: styles__default.default.header, children: /* @__PURE__ */ jsxRuntime.jsx(Headline.Headline, { disableMargin: true, children: "Spacing helpers" }) }),
114
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: styles__default.default.intro, children: [
115
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: styles__default.default.h2, children: "Naming Convention" }),
116
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: styles__default.default.paragraph, children: [
117
+ "Spacing helpers follow a simple ",
118
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "prefix\u2013axis\u2013size" }),
119
+ " pattern:"
120
+ ] }),
121
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.example, children: /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "dbc-[prefix][axis?]-[size]" }) }),
122
+ /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: styles__default.default.list, children: [
123
+ /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
124
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Prefix" }),
125
+ ": ",
126
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "p" }),
127
+ " for ",
128
+ /* @__PURE__ */ jsxRuntime.jsx("em", { children: "padding" }),
129
+ ", ",
130
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "m" }),
131
+ " for",
132
+ " ",
133
+ /* @__PURE__ */ jsxRuntime.jsx("em", { children: "margin" }),
134
+ "."
135
+ ] }),
136
+ /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
137
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Axis" }),
138
+ " (optional): ",
139
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "x" }),
140
+ " = inline (left + right), ",
141
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "y" }),
142
+ " ",
143
+ "= block (top + bottom), or single sides ",
144
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "t" }),
145
+ " / ",
146
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "b" }),
147
+ " / ",
148
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "s" }),
149
+ " ",
150
+ "/ ",
151
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "e" }),
152
+ "."
153
+ ] }),
154
+ /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
155
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Size" }),
156
+ ": one of ",
157
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "xxs" }),
158
+ ", ",
159
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "xs" }),
160
+ ", ",
161
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "sm" }),
162
+ ",",
163
+ " ",
164
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "md" }),
165
+ ", ",
166
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "lg" }),
167
+ ", ",
168
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "xl" }),
169
+ ", ",
170
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "2xl" }),
171
+ "."
172
+ ] })
173
+ ] }),
174
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: styles__default.default.paragraph, children: [
175
+ "For example: ",
176
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "dbc-px-md" }),
177
+ " adds medium horizontal padding, while",
178
+ " ",
179
+ /* @__PURE__ */ jsxRuntime.jsx(Code, { children: "dbc-mt-lg" }),
180
+ " adds a large top margin."
181
+ ] })
182
+ ] }),
183
+ /* @__PURE__ */ jsxRuntime.jsx(Grid, { kind: "padding", title: "Padding", severity: "info" }),
184
+ /* @__PURE__ */ jsxRuntime.jsx(Grid, { kind: "margin", title: "Margin", severity: "warning" })
185
+ ]
186
+ }
187
+ );
188
+ }
189
+
190
+ exports.Spacing = Spacing;
@@ -0,0 +1 @@
1
+ export declare function Spacing(): JSX.Element;
@@ -0,0 +1,184 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import styles from './Spacing.module.css';
3
+ import { Headline } from '@/components/headline/Headline';
4
+ import { CopyButton } from '@/components/copy-button/CopyButton';
5
+
6
+ const SIZES = ["xxs", "xs", "sm", "md", "lg", "xl", "2xl"];
7
+ const AXES = ["all", "block", "inline", "top", "bottom", "start", "end"];
8
+ const SIZE_PX = {
9
+ xxs: "4px",
10
+ xs: "8px",
11
+ sm: "12px",
12
+ md: "16px",
13
+ lg: "24px",
14
+ xl: "32px",
15
+ "2xl": "48px"
16
+ };
17
+ const CLASS_PARTS = {
18
+ padding: {
19
+ all: "p",
20
+ block: "py",
21
+ inline: "px",
22
+ top: "pt",
23
+ bottom: "pb",
24
+ start: "ps",
25
+ end: "pe"
26
+ },
27
+ margin: {
28
+ all: "m",
29
+ block: "my",
30
+ inline: "mx",
31
+ top: "mt",
32
+ bottom: "mb",
33
+ start: "ms",
34
+ end: "me"
35
+ }
36
+ };
37
+ const HAS_SINGLE_SIDE_FOR = (size) => size !== "2xl";
38
+ function makeClass(kind, axis, size) {
39
+ if ((axis === "top" || axis === "bottom" || axis === "start" || axis === "end") && !HAS_SINGLE_SIDE_FOR(size)) {
40
+ return null;
41
+ }
42
+ const part = CLASS_PARTS[kind][axis];
43
+ return `dbc-${part}-${size}`;
44
+ }
45
+ function Code({ children }) {
46
+ return /* @__PURE__ */ jsx("code", { className: styles.code, children });
47
+ }
48
+ const ContentBlock = ({ helperClass }) => /* @__PURE__ */ jsxs(
49
+ "div",
50
+ {
51
+ className: `${styles.contentBlock} dbc-flex dbc-gap-xxs dbc-justify-center ${helperClass} dbc-items-center`,
52
+ children: [
53
+ helperClass,
54
+ " ",
55
+ /* @__PURE__ */ jsx(CopyButton, { text: helperClass, variant: "inline", size: "sm" })
56
+ ]
57
+ }
58
+ );
59
+ function PaddingPreview({ cls }) {
60
+ return /* @__PURE__ */ jsx("div", { className: `${styles.paddingPreview} ${cls}`, children: /* @__PURE__ */ jsx(ContentBlock, { helperClass: cls }) });
61
+ }
62
+ function MarginPreview({ cls }) {
63
+ return /* @__PURE__ */ jsx("div", { className: styles.marginCanvas, children: /* @__PURE__ */ jsx("div", { className: `${styles.marginBlock} ${cls}`, children: /* @__PURE__ */ jsx(ContentBlock, { helperClass: cls }) }) });
64
+ }
65
+ function Cell({ kind, axis, size }) {
66
+ const cls = makeClass(kind, axis, size);
67
+ if (!cls) return /* @__PURE__ */ jsx("div", { className: styles.unavailable, children: "\u2014" });
68
+ return /* @__PURE__ */ jsx("div", { className: styles.cellInner, children: /* @__PURE__ */ jsx("div", { className: styles.cellPreview, children: kind === "padding" ? /* @__PURE__ */ jsx(PaddingPreview, { cls }) : /* @__PURE__ */ jsx(MarginPreview, { cls }) }) });
69
+ }
70
+ function Grid({ kind, title, severity }) {
71
+ return /* @__PURE__ */ jsxs("section", { className: styles.section, children: [
72
+ /* @__PURE__ */ jsx(Headline, { marker: true, severity, disableMargin: true, size: 2, children: title }),
73
+ /* @__PURE__ */ jsx("div", { className: styles.tableContainer, children: /* @__PURE__ */ jsxs("table", { className: styles.table, children: [
74
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
75
+ /* @__PURE__ */ jsx("th", { className: styles.axisCol, children: "Axis" }),
76
+ SIZES.map((size) => /* @__PURE__ */ jsxs("th", { className: styles.sizeHead, children: [
77
+ size,
78
+ " ",
79
+ /* @__PURE__ */ jsxs("span", { className: styles.sizePx, children: [
80
+ "(",
81
+ SIZE_PX[size],
82
+ ")"
83
+ ] })
84
+ ] }, size))
85
+ ] }) }),
86
+ /* @__PURE__ */ jsx("tbody", { children: AXES.map((axis) => /* @__PURE__ */ jsxs("tr", { children: [
87
+ /* @__PURE__ */ jsx("th", { className: styles.axisHead, children: axis }),
88
+ SIZES.map((size) => /* @__PURE__ */ jsx("td", { className: styles.cell, children: /* @__PURE__ */ jsx(Cell, { kind, axis, size }) }, size))
89
+ ] }, axis)) })
90
+ ] }) })
91
+ ] });
92
+ }
93
+ function Spacing() {
94
+ return /* @__PURE__ */ jsxs(
95
+ "div",
96
+ {
97
+ className: styles.container,
98
+ style: {
99
+ ["--pad-indicator"]: "var(--color-bg-info)",
100
+ ["--pad-border"]: "var(--color-info)",
101
+ ["--margin-indicator"]: "var(--color-bg-warning)",
102
+ ["--margin-border"]: "var(--color-warning)",
103
+ ["--dot-pad"]: "var(--color-bg-selected)",
104
+ ["--dot-mar"]: "var(--opac-bg-default)"
105
+ },
106
+ children: [
107
+ /* @__PURE__ */ jsx("header", { className: styles.header, children: /* @__PURE__ */ jsx(Headline, { disableMargin: true, children: "Spacing helpers" }) }),
108
+ /* @__PURE__ */ jsxs("section", { className: styles.intro, children: [
109
+ /* @__PURE__ */ jsx("h2", { className: styles.h2, children: "Naming Convention" }),
110
+ /* @__PURE__ */ jsxs("p", { className: styles.paragraph, children: [
111
+ "Spacing helpers follow a simple ",
112
+ /* @__PURE__ */ jsx("strong", { children: "prefix\u2013axis\u2013size" }),
113
+ " pattern:"
114
+ ] }),
115
+ /* @__PURE__ */ jsx("div", { className: styles.example, children: /* @__PURE__ */ jsx(Code, { children: "dbc-[prefix][axis?]-[size]" }) }),
116
+ /* @__PURE__ */ jsxs("ul", { className: styles.list, children: [
117
+ /* @__PURE__ */ jsxs("li", { children: [
118
+ /* @__PURE__ */ jsx("strong", { children: "Prefix" }),
119
+ ": ",
120
+ /* @__PURE__ */ jsx(Code, { children: "p" }),
121
+ " for ",
122
+ /* @__PURE__ */ jsx("em", { children: "padding" }),
123
+ ", ",
124
+ /* @__PURE__ */ jsx(Code, { children: "m" }),
125
+ " for",
126
+ " ",
127
+ /* @__PURE__ */ jsx("em", { children: "margin" }),
128
+ "."
129
+ ] }),
130
+ /* @__PURE__ */ jsxs("li", { children: [
131
+ /* @__PURE__ */ jsx("strong", { children: "Axis" }),
132
+ " (optional): ",
133
+ /* @__PURE__ */ jsx(Code, { children: "x" }),
134
+ " = inline (left + right), ",
135
+ /* @__PURE__ */ jsx(Code, { children: "y" }),
136
+ " ",
137
+ "= block (top + bottom), or single sides ",
138
+ /* @__PURE__ */ jsx(Code, { children: "t" }),
139
+ " / ",
140
+ /* @__PURE__ */ jsx(Code, { children: "b" }),
141
+ " / ",
142
+ /* @__PURE__ */ jsx(Code, { children: "s" }),
143
+ " ",
144
+ "/ ",
145
+ /* @__PURE__ */ jsx(Code, { children: "e" }),
146
+ "."
147
+ ] }),
148
+ /* @__PURE__ */ jsxs("li", { children: [
149
+ /* @__PURE__ */ jsx("strong", { children: "Size" }),
150
+ ": one of ",
151
+ /* @__PURE__ */ jsx(Code, { children: "xxs" }),
152
+ ", ",
153
+ /* @__PURE__ */ jsx(Code, { children: "xs" }),
154
+ ", ",
155
+ /* @__PURE__ */ jsx(Code, { children: "sm" }),
156
+ ",",
157
+ " ",
158
+ /* @__PURE__ */ jsx(Code, { children: "md" }),
159
+ ", ",
160
+ /* @__PURE__ */ jsx(Code, { children: "lg" }),
161
+ ", ",
162
+ /* @__PURE__ */ jsx(Code, { children: "xl" }),
163
+ ", ",
164
+ /* @__PURE__ */ jsx(Code, { children: "2xl" }),
165
+ "."
166
+ ] })
167
+ ] }),
168
+ /* @__PURE__ */ jsxs("p", { className: styles.paragraph, children: [
169
+ "For example: ",
170
+ /* @__PURE__ */ jsx(Code, { children: "dbc-px-md" }),
171
+ " adds medium horizontal padding, while",
172
+ " ",
173
+ /* @__PURE__ */ jsx(Code, { children: "dbc-mt-lg" }),
174
+ " adds a large top margin."
175
+ ] })
176
+ ] }),
177
+ /* @__PURE__ */ jsx(Grid, { kind: "padding", title: "Padding", severity: "info" }),
178
+ /* @__PURE__ */ jsx(Grid, { kind: "margin", title: "Margin", severity: "warning" })
179
+ ]
180
+ }
181
+ );
182
+ }
183
+
184
+ export { Spacing };
@@ -0,0 +1,154 @@
1
+ /* Layout */
2
+ .container {
3
+ margin-inline: auto;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 2rem;
7
+ padding: 1.5rem;
8
+ color: var(--color-text);
9
+ }
10
+
11
+ /* Intro copy */
12
+ .intro {
13
+ display: grid;
14
+ gap: 0.5rem;
15
+ }
16
+ .paragraph {
17
+ color: var(--color-text-secondary, #374151);
18
+ }
19
+ .example {
20
+ margin-top: 0.25rem;
21
+ }
22
+ .list {
23
+ margin: 0.5rem 0 0 1rem;
24
+ display: grid;
25
+ gap: 0.25rem;
26
+ }
27
+
28
+ .section {
29
+ display: grid;
30
+ gap: 1rem;
31
+ }
32
+ .h2 {
33
+ font-size: 1rem;
34
+ font-weight: 500;
35
+ color: #27272a;
36
+ }
37
+
38
+ .tableContainer {
39
+ overflow: auto;
40
+ border-radius: 0.75rem;
41
+ border: 1px solid var(--color-border);
42
+ background: var(--color-surface);
43
+ box-shadow: var(--shadow-xs);
44
+ }
45
+
46
+ .table {
47
+ width: 100%;
48
+ border-collapse: collapse;
49
+ overflow: auto;
50
+ font-size: var(--font-size-sm);
51
+ }
52
+
53
+ .axisCol {
54
+ width: 90px;
55
+ text-align: left;
56
+ padding: 0.625rem 0.75rem;
57
+ color: var(--color-text-muted);
58
+ font-weight: 500;
59
+ background: var(--color-background);
60
+ }
61
+
62
+ .axisHead {
63
+ text-align: left;
64
+ padding: 0.625rem 0.75rem;
65
+ color: var(--color-text-secondary, #374151);
66
+ font-weight: 500;
67
+ background: var(--opac-bg-light, rgba(0, 0, 0, 0.025));
68
+ position: sticky;
69
+ left: 0;
70
+ z-index: 1;
71
+ }
72
+ .sizeHead {
73
+ text-align: center;
74
+ padding: 0.5rem 0.5rem;
75
+ font-weight: 600;
76
+ color: var(--color-text, #1a1a1a);
77
+ white-space: nowrap;
78
+ background: var(--color-surface, #fff);
79
+ border-bottom: 1px solid var(--color-border, rgba(0, 0, 0, 0.12));
80
+ }
81
+ .sizePx {
82
+ font-weight: 400;
83
+ color: var(--color-text-muted, #5f6368);
84
+ margin-left: 0.25rem;
85
+ }
86
+
87
+ .table tbody tr:nth-child(odd) {
88
+ background: var(--bg-color);
89
+ }
90
+ .table tbody tr:nth-child(even) {
91
+ background: var(--opac-bg-default);
92
+ }
93
+
94
+ .cell {
95
+ vertical-align: middle;
96
+ padding: var(--spacing-xs);
97
+ }
98
+
99
+ .cellInner {
100
+ display: grid;
101
+ gap: var(--spacing-xxs);
102
+ align-items: center;
103
+ justify-items: center;
104
+ }
105
+
106
+ .cellPreview {
107
+ width: min(200px, 100%);
108
+ }
109
+
110
+ .code {
111
+ border-radius: var(--border-radius-default);
112
+ background: var(--color-bg-default);
113
+ padding: 0 var(--spacing-xs);
114
+ line-height: 1.5;
115
+ font-size: 12px;
116
+ font-family: var(--font-family-mono, monospace);
117
+ color: var(--color-text-secondary);
118
+ box-shadow: var(--shadow-xs);
119
+ }
120
+
121
+ .contentBlock {
122
+ border-radius: var(--border-radius-md, 0.375rem);
123
+ background: var(--color-background);
124
+ text-align: center;
125
+ font-size: var(--font-size-xs);
126
+ color: var(--color-text-secondary);
127
+ box-shadow: var(--shadow-xs);
128
+ white-space: nowrap;
129
+ overflow: hidden;
130
+ text-overflow: ellipsis;
131
+ }
132
+
133
+ .paddingPreview {
134
+ width: 100%;
135
+ border-radius: var(--border-radius-md, 0.375rem);
136
+ background: var(--pad-indicator, var(--color-bg-selected));
137
+ box-shadow: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, 0.05));
138
+ outline: 1px solid var(--pad-border, var(--color-border-selected));
139
+ }
140
+
141
+ .marginCanvas {
142
+ width: 100%;
143
+ position: relative;
144
+ display: inline-block;
145
+ border-radius: var(--border-radius-md, 0.375rem);
146
+ background: var(--margin-indicator, var(--opac-bg-default));
147
+ outline: 1px solid var(--margin-border, var(--color-border));
148
+ }
149
+
150
+ .marginBlock {
151
+ border-radius: var(--border-radius-md, 0.375rem);
152
+ background: var(--color-background, #fff);
153
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
154
+ }
@@ -1,7 +1,3 @@
1
- /* =========================
2
- AppHeader (owns the chrome)
3
- ========================= */
4
-
5
1
  .container {
6
2
  /* layout */
7
3
  display: flex;
@@ -11,21 +7,20 @@
11
7
 
12
8
  /* sizing */
13
9
  inline-size: 100%;
14
- min-block-size: 60px; /* preserve your previous height */
10
+ min-block-size: 60px;
15
11
  box-sizing: border-box;
16
12
 
17
13
  /* chrome */
18
- background-color: var(--color-surface);
19
- color: var(--color-text);
20
- border-block-end: var(--border-width-thin) solid var(--color-border);
14
+ background-color: var(--color-bg-surface);
15
+ color: var(--color-fg-default);
16
+ border-block-end: var(--border-width-thin) solid var(--color-border-default);
21
17
 
22
18
  /* density-aware vertical rhythm */
23
19
  padding-block: calc(var(--control-padding-y) + var(--density));
24
- padding-inline: var(--spacing-lg);
20
+ padding-inline: var(--spacing-md);
25
21
  }
26
22
 
27
- /* Optional content wrapper if you want to constrain width
28
- (use in JSX: <AppHeader><div className={styles.inner}>…</div></AppHeader>) */
23
+ /* Optional content wrapper */
29
24
  .inner {
30
25
  inline-size: min(100%, var(--container-xl));
31
26
  margin-inline: auto;
@@ -36,7 +31,7 @@
36
31
  gap: var(--spacing-lg);
37
32
  }
38
33
 
39
- /* Slots (optional utility classes) */
34
+ /* Slots */
40
35
  .start,
41
36
  .center,
42
37
  .end {
@@ -55,19 +50,19 @@
55
50
  box-shadow: var(--focus-ring);
56
51
  }
57
52
 
58
- /* Elevated header (e.g., when page scrolls) */
53
+ /* Elevated header */
59
54
  .elevated {
60
55
  border-block-end: 0;
61
56
  box-shadow: var(--shadow-sm);
62
57
  }
63
58
 
64
- /* Transparent header (e.g., over hero image) */
59
+ /* Transparent header */
65
60
  .transparent {
66
61
  background-color: transparent;
67
62
  border-block-end: 0;
68
63
  }
69
64
 
70
- /* Condensed density option (keeps chrome in one place) */
65
+ /* Condensed density option */
71
66
  :root[data-density='compact'] .container {
72
67
  padding-inline: var(--spacing-md);
73
68
  }
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var styles = require('./AttributeChip.module.css');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var styles__default = /*#__PURE__*/_interopDefault(styles);
9
+
10
+ function AttributeChip({
11
+ label,
12
+ value,
13
+ size = "md",
14
+ loading
15
+ }) {
16
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${styles__default.default.container} ${styles__default.default[size]}`, "aria-busy": loading, children: [
17
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.label, children: label }),
18
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.value, children: loading ? "\u2014" : value == null ? void 0 : value.toString() })
19
+ ] });
20
+ }
21
+
22
+ exports.AttributeChip = AttributeChip;
@@ -0,0 +1,8 @@
1
+ interface AttributeChipProps {
2
+ label: string;
3
+ value: string | number | boolean;
4
+ loading?: boolean;
5
+ size?: 'sm' | 'md' | 'lg';
6
+ }
7
+ export declare function AttributeChip({ label, value, size, loading, }: AttributeChipProps): JSX.Element;
8
+ export {};
@@ -0,0 +1,16 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import styles from './AttributeChip.module.css';
3
+
4
+ function AttributeChip({
5
+ label,
6
+ value,
7
+ size = "md",
8
+ loading
9
+ }) {
10
+ return /* @__PURE__ */ jsxs("div", { className: `${styles.container} ${styles[size]}`, "aria-busy": loading, children: [
11
+ /* @__PURE__ */ jsx("span", { className: styles.label, children: label }),
12
+ /* @__PURE__ */ jsx("span", { className: styles.value, children: loading ? "\u2014" : value == null ? void 0 : value.toString() })
13
+ ] });
14
+ }
15
+
16
+ export { AttributeChip };