@dbcdk/react-components 0.0.2 → 0.0.3

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 (281) hide show
  1. package/dist/assets/logo.cjs +87 -0
  2. package/dist/assets/logo.d.ts +2 -0
  3. package/dist/assets/logo.js +85 -0
  4. package/dist/components/app-header/AppHeader.cjs +14 -0
  5. package/dist/components/app-header/AppHeader.d.ts +5 -0
  6. package/dist/components/app-header/AppHeader.js +8 -0
  7. package/dist/components/app-header/AppHeader.module.css +73 -0
  8. package/dist/components/avatar/Avatar.cjs +67 -0
  9. package/dist/components/avatar/Avatar.d.ts +15 -0
  10. package/dist/components/avatar/Avatar.js +42 -0
  11. package/dist/components/avatar/Avatar.module.css +43 -0
  12. package/dist/components/breadcrumbs/Breadcrumbs.cjs +23 -0
  13. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +12 -0
  14. package/dist/components/breadcrumbs/Breadcrumbs.js +16 -0
  15. package/dist/components/breadcrumbs/Breadcrumbs.module.css +84 -0
  16. package/dist/components/button/Button.cjs +79 -0
  17. package/dist/components/button/Button.d.ts +13 -0
  18. package/dist/components/button/Button.js +54 -0
  19. package/dist/components/button/Button.module.css +156 -0
  20. package/dist/components/card/Card.cjs +29 -0
  21. package/dist/components/card/Card.d.ts +11 -0
  22. package/dist/components/card/Card.js +23 -0
  23. package/dist/components/card/Card.module.css +69 -0
  24. package/dist/components/card-container/CardContainer.cjs +23 -0
  25. package/dist/components/card-container/CardContainer.d.ts +8 -0
  26. package/dist/components/card-container/CardContainer.js +17 -0
  27. package/dist/components/card-container/CardContainer.module.css +18 -0
  28. package/dist/components/checkbox/Checkbox.cjs +43 -0
  29. package/dist/components/checkbox/Checkbox.d.ts +12 -0
  30. package/dist/components/checkbox/Checkbox.js +37 -0
  31. package/dist/components/checkbox/Checkbox.module.css +63 -0
  32. package/dist/components/chip/Chip.cjs +49 -0
  33. package/dist/components/chip/Chip.d.ts +13 -0
  34. package/dist/components/chip/Chip.js +43 -0
  35. package/dist/components/chip/Chip.module.css +97 -0
  36. package/dist/components/circle/Circle.cjs +18 -0
  37. package/dist/components/circle/Circle.d.ts +8 -0
  38. package/dist/components/circle/Circle.js +12 -0
  39. package/dist/components/circle/Circle.module.css +62 -0
  40. package/dist/components/clear-button/ClearButton.cjs +26 -0
  41. package/dist/components/clear-button/ClearButton.d.ts +6 -0
  42. package/dist/components/clear-button/ClearButton.js +20 -0
  43. package/dist/components/clear-button/ClearButton.module.css +16 -0
  44. package/dist/components/data-summary/DataSummary.cjs +49 -0
  45. package/dist/components/data-summary/DataSummary.d.ts +19 -0
  46. package/dist/components/data-summary/DataSummary.js +43 -0
  47. package/dist/components/data-summary/DataSummary.module.css +51 -0
  48. package/dist/components/filter-field/FilterField.cjs +174 -0
  49. package/dist/components/filter-field/FilterField.d.ts +28 -0
  50. package/dist/components/filter-field/FilterField.js +167 -0
  51. package/dist/components/filter-field/FilterField.module.css +109 -0
  52. package/dist/components/headline/Headline.cjs +47 -0
  53. package/dist/components/headline/Headline.d.ts +14 -0
  54. package/dist/components/headline/Headline.js +41 -0
  55. package/dist/components/headline/Headline.module.css +35 -0
  56. package/dist/components/icon/Icon.cjs +27 -0
  57. package/dist/components/icon/Icon.d.ts +9 -0
  58. package/dist/components/icon/Icon.js +20 -0
  59. package/dist/components/icon/Icon.module.css +34 -0
  60. package/dist/components/input/Input.cjs +48 -0
  61. package/dist/components/input/Input.d.ts +13 -0
  62. package/dist/components/input/Input.js +42 -0
  63. package/dist/components/input/Input.module.css +112 -0
  64. package/dist/components/menu/Menu.cjs +96 -0
  65. package/dist/components/menu/Menu.d.ts +12 -0
  66. package/dist/components/menu/Menu.js +71 -0
  67. package/dist/components/menu/Menu.module.css +95 -0
  68. package/dist/components/multi-select/MultiSelect.cjs +48 -0
  69. package/dist/components/multi-select/MultiSelect.d.ts +18 -0
  70. package/dist/components/multi-select/MultiSelect.js +46 -0
  71. package/dist/components/nav-bar/NavBar.cjs +55 -0
  72. package/dist/components/nav-bar/NavBar.d.ts +20 -0
  73. package/dist/components/nav-bar/NavBar.js +49 -0
  74. package/dist/components/nav-bar/NavBar.module.css +101 -0
  75. package/dist/components/page/Page.cjs +30 -0
  76. package/dist/components/page/Page.d.ts +13 -0
  77. package/dist/components/page/Page.js +24 -0
  78. package/dist/components/page/Page.module.css +26 -0
  79. package/dist/components/page-layout/PageLayout.cjs +101 -0
  80. package/dist/components/page-layout/PageLayout.d.ts +35 -0
  81. package/dist/components/page-layout/PageLayout.js +95 -0
  82. package/dist/components/page-layout/PageLayout.module.css +142 -0
  83. package/dist/components/pagination/Pagination.cjs +117 -0
  84. package/dist/components/pagination/Pagination.d.ts +17 -0
  85. package/dist/components/pagination/Pagination.js +111 -0
  86. package/dist/components/pagination/Pagination.module.css +17 -0
  87. package/dist/components/panel/Panel.cjs +18 -0
  88. package/dist/components/panel/Panel.d.ts +10 -0
  89. package/dist/components/panel/Panel.js +12 -0
  90. package/dist/components/panel/Panel.module.css +29 -0
  91. package/dist/components/popover/Popover.cjs +132 -0
  92. package/dist/components/popover/Popover.d.ts +15 -0
  93. package/dist/components/popover/Popover.js +126 -0
  94. package/dist/components/popover/Popover.module.css +25 -0
  95. package/dist/components/search-box/SearchBox.cjs +162 -0
  96. package/dist/components/search-box/SearchBox.d.ts +22 -0
  97. package/dist/components/search-box/SearchBox.js +156 -0
  98. package/dist/components/search-box/SearchBox.module.css +20 -0
  99. package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +97 -0
  100. package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +24 -0
  101. package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +91 -0
  102. package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +55 -0
  103. package/dist/components/select/Select.cjs +52 -0
  104. package/dist/components/select/Select.d.ts +11 -0
  105. package/dist/components/select/Select.js +50 -0
  106. package/dist/components/sidebar/Sidebar.cjs +38 -0
  107. package/dist/components/sidebar/Sidebar.d.ts +12 -0
  108. package/dist/components/sidebar/Sidebar.js +31 -0
  109. package/dist/components/sidebar/Sidebar.module.css +66 -0
  110. package/dist/components/sidebar/components/SidebarItem.cjs +16 -0
  111. package/dist/components/sidebar/components/SidebarItem.d.ts +9 -0
  112. package/dist/components/sidebar/components/SidebarItem.js +14 -0
  113. package/dist/components/sidebar/components/SidebarItem.module.css +0 -0
  114. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +74 -0
  115. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +9 -0
  116. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +68 -0
  117. package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +61 -0
  118. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +27 -0
  119. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +8 -0
  120. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +21 -0
  121. package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +62 -0
  122. package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +28 -0
  123. package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +4 -0
  124. package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +26 -0
  125. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +25 -0
  126. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.d.ts +3 -0
  127. package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +23 -0
  128. package/dist/components/sidebar/providers/SidebarProvider.cjs +81 -0
  129. package/dist/components/sidebar/providers/SidebarProvider.d.ts +24 -0
  130. package/dist/components/sidebar/providers/SidebarProvider.js +78 -0
  131. package/dist/components/skeleton-loader/SkeletonLoader.cjs +270 -0
  132. package/dist/components/skeleton-loader/SkeletonLoader.d.ts +9 -0
  133. package/dist/components/skeleton-loader/SkeletonLoader.js +268 -0
  134. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +42 -0
  135. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.d.ts +11 -0
  136. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +36 -0
  137. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +63 -0
  138. package/dist/components/split-button/SplitButton.cjs +37 -0
  139. package/dist/components/split-button/SplitButton.d.ts +14 -0
  140. package/dist/components/split-button/SplitButton.js +31 -0
  141. package/dist/components/split-button/SplitButton.module.css +32 -0
  142. package/dist/components/table/Table.cjs +181 -0
  143. package/dist/components/table/Table.d.ts +45 -0
  144. package/dist/components/table/Table.js +175 -0
  145. package/dist/components/table/Table.module.css +143 -0
  146. package/dist/components/table/components/column-resizer/ColumnResizer.cjs +22 -0
  147. package/dist/components/table/components/column-resizer/ColumnResizer.d.ts +7 -0
  148. package/dist/components/table/components/column-resizer/ColumnResizer.js +16 -0
  149. package/dist/components/table/components/column-resizer/ColumnResizer.module.css +13 -0
  150. package/dist/components/tabs/Tabs.cjs +74 -0
  151. package/dist/components/tabs/Tabs.d.ts +18 -0
  152. package/dist/components/tabs/Tabs.js +68 -0
  153. package/dist/components/tabs/Tabs.module.css +113 -0
  154. package/dist/components/text-area/Textarea.cjs +62 -0
  155. package/dist/components/text-area/Textarea.d.ts +14 -0
  156. package/dist/components/text-area/Textarea.js +56 -0
  157. package/dist/components/text-area/Textarea.module.css +3 -0
  158. package/dist/components/tooltip/Tooltip.cjs +78 -0
  159. package/dist/components/tooltip/Tooltip.d.ts +11 -0
  160. package/dist/components/tooltip/Tooltip.js +72 -0
  161. package/dist/components/tooltip/Tooltip.module.css +84 -0
  162. package/dist/components/user-display/UserDisplay.cjs +28 -0
  163. package/dist/components/user-display/UserDisplay.d.ts +9 -0
  164. package/dist/components/user-display/UserDisplay.js +22 -0
  165. package/dist/components/user-display/UserDisplay.module.css +25 -0
  166. package/dist/constants/severity.cjs +21 -0
  167. package/dist/constants/severity.d.ts +3 -0
  168. package/dist/constants/severity.js +18 -0
  169. package/dist/constants/severity.types.cjs +2 -0
  170. package/dist/constants/severity.types.d.ts +1 -0
  171. package/dist/constants/severity.types.js +1 -0
  172. package/dist/constants/sizes.cjs +10 -0
  173. package/dist/constants/sizes.d.ts +2 -0
  174. package/dist/constants/sizes.js +8 -0
  175. package/dist/hooks/useTheme.cjs +58 -0
  176. package/dist/hooks/useTheme.d.ts +9 -0
  177. package/dist/hooks/useTheme.js +55 -0
  178. package/dist/hooks/useViewportFill.cjs +52 -0
  179. package/dist/hooks/useViewportFill.d.ts +15 -0
  180. package/dist/hooks/useViewportFill.js +50 -0
  181. package/dist/index.cjs +264 -2
  182. package/dist/index.d.ts +37 -12
  183. package/dist/index.js +37 -2
  184. package/dist/src/styles/styles.css +124 -0
  185. package/dist/styles/css-helper-classes/spacing.css +291 -0
  186. package/dist/styles/fonts/Roboto/OFL.txt +93 -0
  187. package/dist/styles/fonts/Roboto/README.txt +118 -0
  188. package/dist/styles/fonts/Roboto/Roboto-Black.ttf +0 -0
  189. package/dist/styles/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
  190. package/dist/styles/fonts/Roboto/Roboto-Bold.ttf +0 -0
  191. package/dist/styles/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
  192. package/dist/styles/fonts/Roboto/Roboto-ExtraBold.ttf +0 -0
  193. package/dist/styles/fonts/Roboto/Roboto-ExtraBoldItalic.ttf +0 -0
  194. package/dist/styles/fonts/Roboto/Roboto-ExtraLight.ttf +0 -0
  195. package/dist/styles/fonts/Roboto/Roboto-ExtraLightItalic.ttf +0 -0
  196. package/dist/styles/fonts/Roboto/Roboto-Italic.ttf +0 -0
  197. package/dist/styles/fonts/Roboto/Roboto-Light.ttf +0 -0
  198. package/dist/styles/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
  199. package/dist/styles/fonts/Roboto/Roboto-Medium.ttf +0 -0
  200. package/dist/styles/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
  201. package/dist/styles/fonts/Roboto/Roboto-Regular.ttf +0 -0
  202. package/dist/styles/fonts/Roboto/Roboto-SemiBold.ttf +0 -0
  203. package/dist/styles/fonts/Roboto/Roboto-SemiBoldItalic.ttf +0 -0
  204. package/dist/styles/fonts/Roboto/Roboto-Thin.ttf +0 -0
  205. package/dist/styles/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
  206. package/dist/styles/fonts/Roboto/Roboto_Condensed-Black.ttf +0 -0
  207. package/dist/styles/fonts/Roboto/Roboto_Condensed-BlackItalic.ttf +0 -0
  208. package/dist/styles/fonts/Roboto/Roboto_Condensed-Bold.ttf +0 -0
  209. package/dist/styles/fonts/Roboto/Roboto_Condensed-BoldItalic.ttf +0 -0
  210. package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraBold.ttf +0 -0
  211. package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraBoldItalic.ttf +0 -0
  212. package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraLight.ttf +0 -0
  213. package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraLightItalic.ttf +0 -0
  214. package/dist/styles/fonts/Roboto/Roboto_Condensed-Italic.ttf +0 -0
  215. package/dist/styles/fonts/Roboto/Roboto_Condensed-Light.ttf +0 -0
  216. package/dist/styles/fonts/Roboto/Roboto_Condensed-LightItalic.ttf +0 -0
  217. package/dist/styles/fonts/Roboto/Roboto_Condensed-Medium.ttf +0 -0
  218. package/dist/styles/fonts/Roboto/Roboto_Condensed-MediumItalic.ttf +0 -0
  219. package/dist/styles/fonts/Roboto/Roboto_Condensed-Regular.ttf +0 -0
  220. package/dist/styles/fonts/Roboto/Roboto_Condensed-SemiBold.ttf +0 -0
  221. package/dist/styles/fonts/Roboto/Roboto_Condensed-SemiBoldItalic.ttf +0 -0
  222. package/dist/styles/fonts/Roboto/Roboto_Condensed-Thin.ttf +0 -0
  223. package/dist/styles/fonts/Roboto/Roboto_Condensed-ThinItalic.ttf +0 -0
  224. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Black.ttf +0 -0
  225. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-BlackItalic.ttf +0 -0
  226. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Bold.ttf +0 -0
  227. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-BoldItalic.ttf +0 -0
  228. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraBold.ttf +0 -0
  229. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraBoldItalic.ttf +0 -0
  230. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraLight.ttf +0 -0
  231. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraLightItalic.ttf +0 -0
  232. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Italic.ttf +0 -0
  233. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Light.ttf +0 -0
  234. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-LightItalic.ttf +0 -0
  235. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Medium.ttf +0 -0
  236. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-MediumItalic.ttf +0 -0
  237. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Regular.ttf +0 -0
  238. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-SemiBold.ttf +0 -0
  239. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-SemiBoldItalic.ttf +0 -0
  240. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Thin.ttf +0 -0
  241. package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ThinItalic.ttf +0 -0
  242. package/dist/styles/fonts/Tajawal/OFL.txt +93 -0
  243. package/dist/styles/fonts/Tajawal/Tajawal-Black.ttf +0 -0
  244. package/dist/styles/fonts/Tajawal/Tajawal-Bold.ttf +0 -0
  245. package/dist/styles/fonts/Tajawal/Tajawal-ExtraBold.ttf +0 -0
  246. package/dist/styles/fonts/Tajawal/Tajawal-ExtraLight.ttf +0 -0
  247. package/dist/styles/fonts/Tajawal/Tajawal-Light.ttf +0 -0
  248. package/dist/styles/fonts/Tajawal/Tajawal-Medium.ttf +0 -0
  249. package/dist/styles/fonts/Tajawal/Tajawal-Regular.ttf +0 -0
  250. package/dist/styles/styles.css +124 -0
  251. package/dist/styles/themes/dbc/dark.css +240 -0
  252. package/dist/styles/themes/dbc/light.css +245 -0
  253. package/dist/styles/themes/forfatterweb/light.css +104 -0
  254. package/dist/styles/themes/types.cjs +2 -0
  255. package/dist/styles/themes/types.d.ts +16 -0
  256. package/dist/styles/themes/types.js +1 -0
  257. package/dist/tanstack.cjs +231 -0
  258. package/dist/tanstack.d.ts +25 -0
  259. package/dist/tanstack.js +206 -0
  260. package/dist/types/a11y-props.types.cjs +2 -0
  261. package/dist/types/a11y-props.types.d.ts +8 -0
  262. package/dist/types/a11y-props.types.js +1 -0
  263. package/dist/types/assets.d.cjs +2 -0
  264. package/dist/types/assets.d.js +1 -0
  265. package/dist/types/css.d.cjs +2 -0
  266. package/dist/types/css.d.js +1 -0
  267. package/dist/types/sizes.types.cjs +2 -0
  268. package/dist/types/sizes.types.d.ts +2 -0
  269. package/dist/types/sizes.types.js +1 -0
  270. package/dist/utils/arrays/nested-filtering.cjs +40 -0
  271. package/dist/utils/arrays/nested-filtering.d.ts +9 -0
  272. package/dist/utils/arrays/nested-filtering.js +38 -0
  273. package/dist/utils/date/formatDate.cjs +19 -0
  274. package/dist/utils/date/formatDate.d.ts +12 -0
  275. package/dist/utils/date/formatDate.js +17 -0
  276. package/package.json +53 -12
  277. package/dist/index.cjs.map +0 -1
  278. package/dist/index.css +0 -2
  279. package/dist/index.css.map +0 -1
  280. package/dist/index.d.cts +0 -12
  281. package/dist/index.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useReactTable, getFilteredRowModel, getSortedRowModel, getCoreRowModel } from '@tanstack/react-table';
4
+ import { Table } from './components/table/Table';
5
+ import ColumnResizer from './components/table/components/column-resizer/ColumnResizer';
6
+
7
+ function mapDefsToColumnItems(defs) {
8
+ if (!(defs == null ? void 0 : defs.length)) return [];
9
+ return defs.map((def) => {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
11
+ const header = typeof def.header === "string" ? def.header : String((_b = (_a = def.accessorKey) != null ? _a : def.id) != null ? _b : "");
12
+ const accessor = def.accessorKey;
13
+ const accessorFn = def.accessorFn;
14
+ const cell = def.cell;
15
+ let render;
16
+ if (typeof cell === "function") {
17
+ render = (row) => cell({
18
+ row: { original: row },
19
+ getValue: () => accessor != null ? row[accessor] : accessorFn ? accessorFn(row) : void 0
20
+ });
21
+ } else if (accessorFn) {
22
+ render = (row) => accessorFn(row);
23
+ } else if (accessor != null) {
24
+ render = (row) => row[accessor];
25
+ }
26
+ return {
27
+ header,
28
+ accessor,
29
+ sortable: (_c = def.enableSorting) != null ? _c : !!accessor,
30
+ render,
31
+ hidden: (_e = (_d = def.meta) == null ? void 0 : _d.hidden) != null ? _e : false,
32
+ align: (_g = (_f = def.meta) == null ? void 0 : _f.align) != null ? _g : void 0,
33
+ fitContent: (_i = (_h = def.meta) == null ? void 0 : _h.fitContent) != null ? _i : false,
34
+ fillWidth: (_k = (_j = def.meta) == null ? void 0 : _j.fillWidth) != null ? _k : false
35
+ };
36
+ });
37
+ }
38
+ function TanstackTable({
39
+ data,
40
+ dataKey,
41
+ columns,
42
+ filterable = [],
43
+ loading,
44
+ onRowClick,
45
+ striped,
46
+ fillViewport = false,
47
+ viewportBottomOffset = 0,
48
+ viewportMin = 120,
49
+ viewportIncludeMarginTop = false,
50
+ pageSize,
51
+ skip,
52
+ totalItemsCount,
53
+ onPageChange,
54
+ variant,
55
+ size
56
+ }) {
57
+ var _a, _b;
58
+ const [sorting, setSorting] = React.useState([]);
59
+ const [columnFilters, setColumnFilters] = React.useState([]);
60
+ const [columnSizing, setColumnSizing] = React.useState({});
61
+ const table = useReactTable({
62
+ data,
63
+ columns,
64
+ state: { sorting, columnFilters, columnSizing },
65
+ onSortingChange: setSorting,
66
+ onColumnFiltersChange: setColumnFilters,
67
+ onColumnSizingChange: setColumnSizing,
68
+ getCoreRowModel: getCoreRowModel(),
69
+ getSortedRowModel: getSortedRowModel(),
70
+ getFilteredRowModel: getFilteredRowModel(),
71
+ enableColumnResizing: true,
72
+ columnResizeMode: "onChange",
73
+ defaultColumn: {
74
+ enableResizing: true,
75
+ minSize: 80,
76
+ size: 180,
77
+ maxSize: 800
78
+ }
79
+ });
80
+ const columnItems = React.useMemo(() => mapDefsToColumnItems(columns), [columns]);
81
+ const visibleData = React.useMemo(
82
+ () => table.getRowModel().rows.map((r) => r.original),
83
+ [table, data]
84
+ );
85
+ const s = (_a = table.getState().sorting) == null ? void 0 : _a[0];
86
+ const sortBy = (_b = s == null ? void 0 : s.id) != null ? _b : void 0;
87
+ const sortDirection = s ? s.desc ? "desc" : "asc" : null;
88
+ const gridTemplateColumns = React.useMemo(() => {
89
+ return columnItems.filter((ci) => !ci.hidden).map((ci) => {
90
+ var _a2, _b2;
91
+ const id = String((_a2 = ci.accessor) != null ? _a2 : "");
92
+ const col = id ? table.getColumn(id) : void 0;
93
+ const w = (_b2 = col == null ? void 0 : col.getSize) == null ? void 0 : _b2.call(col);
94
+ if (ci.fillWidth) return "1fr";
95
+ if (ci.fitContent) return "1%";
96
+ return `${w != null ? w : 180}px`;
97
+ }).join(" ");
98
+ }, [columnItems, table, table.getState().columnSizing]);
99
+ const columnStyles = React.useMemo(() => {
100
+ var _a2;
101
+ const styles = {};
102
+ for (const c of table.getAllLeafColumns()) {
103
+ const id = c.id;
104
+ const key = (_a2 = c.columnDef.accessorKey) != null ? _a2 : id;
105
+ const ci = columnItems.find((x) => {
106
+ var _a3;
107
+ return String((_a3 = x.accessor) != null ? _a3 : "") === String(key);
108
+ });
109
+ if (ci == null ? void 0 : ci.fillWidth) {
110
+ styles[String(key)] = {
111
+ width: "auto",
112
+ minWidth: 0
113
+ };
114
+ } else if (ci == null ? void 0 : ci.fitContent) {
115
+ styles[String(key)] = {
116
+ width: "1%",
117
+ whiteSpace: "nowrap"
118
+ };
119
+ } else {
120
+ const w = c.getSize();
121
+ styles[String(key)] = { width: w, minWidth: w, maxWidth: w };
122
+ }
123
+ }
124
+ return styles;
125
+ }, [table, table.getState().columnSizing, columnItems]);
126
+ const headerExtras = React.useCallback(
127
+ ({ index }) => {
128
+ var _a2, _b2, _c, _d;
129
+ const headerGroups = table.getHeaderGroups();
130
+ const leafHeaders = headerGroups.length > 0 ? headerGroups[headerGroups.length - 1].headers : [];
131
+ const header = leafHeaders[index];
132
+ if (!header) return null;
133
+ const canResize = (_c = (_b2 = (_a2 = header.column).getCanResize) == null ? void 0 : _b2.call(_a2)) != null ? _c : false;
134
+ const handler = (_d = header.getResizeHandler) == null ? void 0 : _d.call(header);
135
+ if (!canResize || !handler) return null;
136
+ return /* @__PURE__ */ jsx(ColumnResizer, { id: header.column.id, handler });
137
+ },
138
+ [table]
139
+ );
140
+ const headerBelowRow = React.useMemo(() => {
141
+ if (!(filterable == null ? void 0 : filterable.length)) return null;
142
+ return /* @__PURE__ */ jsx(
143
+ "div",
144
+ {
145
+ style: {
146
+ display: "grid",
147
+ gridTemplateColumns,
148
+ gap: 8
149
+ },
150
+ children: columnItems.map((ci) => {
151
+ var _a2, _b2;
152
+ const id = String((_a2 = ci.accessor) != null ? _a2 : "");
153
+ const isFilterable = id && filterable.includes(id);
154
+ if (!isFilterable) return /* @__PURE__ */ jsx("div", {}, id);
155
+ const col = table.getColumn(id);
156
+ const value = (_b2 = col == null ? void 0 : col.getFilterValue()) != null ? _b2 : "";
157
+ return /* @__PURE__ */ jsx(
158
+ "input",
159
+ {
160
+ value,
161
+ placeholder: `Filter ${ci.header}`,
162
+ onChange: (e) => col == null ? void 0 : col.setFilterValue(e.target.value),
163
+ style: { width: "100%", padding: "4px 6px" }
164
+ },
165
+ id
166
+ );
167
+ })
168
+ }
169
+ );
170
+ }, [columnItems, filterable, table, table.getState().columnFilters, gridTemplateColumns]);
171
+ return /* @__PURE__ */ jsx(
172
+ Table,
173
+ {
174
+ dataKey,
175
+ variant,
176
+ data: visibleData,
177
+ columns: columnItems,
178
+ sortBy,
179
+ sortDirection,
180
+ onSortChange: (col, dir) => {
181
+ var _a2;
182
+ const id = String((_a2 = col.accessor) != null ? _a2 : "");
183
+ if (!id) return;
184
+ if (!dir) table.setSorting([]);
185
+ else table.setSorting([{ id, desc: dir === "desc" }]);
186
+ },
187
+ headerExtras,
188
+ columnStyles,
189
+ headerBelowRow,
190
+ loading,
191
+ onRowClick,
192
+ striped,
193
+ fillViewport,
194
+ viewportBottomOffset,
195
+ viewportMin,
196
+ viewportIncludeMarginTop,
197
+ take: pageSize,
198
+ skip,
199
+ totalItemsCount,
200
+ onPageChange,
201
+ size
202
+ }
203
+ );
204
+ }
205
+
206
+ export { TanstackTable };
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,8 @@
1
+ export type A11yProps = {
2
+ "aria-label"?: string;
3
+ "aria-describedby"?: string;
4
+ "aria-controls"?: string;
5
+ "aria-current"?: "page" | "step" | "location" | "date" | "time" | "true" | "false";
6
+ "aria-hidden"?: boolean;
7
+ title?: string;
8
+ };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,2 @@
1
+ export type Size = "sm" | "md" | "lg" | "xl";
2
+ export type SizeVariable = "var(--component-size-sm)" | "var(--component-size-md)" | "var(--component-size-lg)" | "var(--component-size-xl)";
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ const normalize = (s) => s.normalize("NFKC").toLowerCase().trim();
4
+ const toTerms = (q) => (Array.isArray(q) ? q : q.split(/\s+/)).map(normalize).filter(Boolean);
5
+ const valueToSearchable = (value) => typeof value === "string" ? value : Array.isArray(value) || typeof value === "object" ? JSON.stringify(value) : value == null ? "" : String(value);
6
+ const itemMatches = (item, keys, terms, mode) => {
7
+ if (terms.length === 0) return true;
8
+ const haystack = keys.map((k) => valueToSearchable(item[k])).join(" ").toString();
9
+ const h = normalize(haystack);
10
+ const hit = (t) => h.includes(t);
11
+ return mode === "AND" ? terms.every(hit) : terms.some(hit);
12
+ };
13
+ function nestedFiltering(items, opts) {
14
+ const { keys, query, includeParents = true, childrenKey, mode = "AND" } = opts;
15
+ const ck = childrenKey != null ? childrenKey : "children";
16
+ const terms = toTerms(query);
17
+ const searchNested = (list) => {
18
+ const out = [];
19
+ for (const item of list) {
20
+ const children = item[ck] || [];
21
+ const filteredChildren = searchNested(children);
22
+ const matchedSelf = itemMatches(item, keys, terms, mode);
23
+ if (matchedSelf) {
24
+ const clone = { ...item, [ck]: filteredChildren };
25
+ out.push(clone);
26
+ } else if (filteredChildren.length) {
27
+ if (includeParents) {
28
+ const clone = { ...item, [ck]: filteredChildren };
29
+ out.push(clone);
30
+ } else {
31
+ out.push(...filteredChildren);
32
+ }
33
+ }
34
+ }
35
+ return out;
36
+ };
37
+ return searchNested(items);
38
+ }
39
+
40
+ exports.nestedFiltering = nestedFiltering;
@@ -0,0 +1,9 @@
1
+ type Mode = 'AND' | 'OR';
2
+ export declare function nestedFiltering<T extends Record<string, any>>(items: T[], opts: {
3
+ keys: (keyof T)[];
4
+ query: string | string[];
5
+ includeParents?: boolean;
6
+ childrenKey?: keyof T;
7
+ mode?: Mode;
8
+ }): T[];
9
+ export {};
@@ -0,0 +1,38 @@
1
+ const normalize = (s) => s.normalize("NFKC").toLowerCase().trim();
2
+ const toTerms = (q) => (Array.isArray(q) ? q : q.split(/\s+/)).map(normalize).filter(Boolean);
3
+ const valueToSearchable = (value) => typeof value === "string" ? value : Array.isArray(value) || typeof value === "object" ? JSON.stringify(value) : value == null ? "" : String(value);
4
+ const itemMatches = (item, keys, terms, mode) => {
5
+ if (terms.length === 0) return true;
6
+ const haystack = keys.map((k) => valueToSearchable(item[k])).join(" ").toString();
7
+ const h = normalize(haystack);
8
+ const hit = (t) => h.includes(t);
9
+ return mode === "AND" ? terms.every(hit) : terms.some(hit);
10
+ };
11
+ function nestedFiltering(items, opts) {
12
+ const { keys, query, includeParents = true, childrenKey, mode = "AND" } = opts;
13
+ const ck = childrenKey != null ? childrenKey : "children";
14
+ const terms = toTerms(query);
15
+ const searchNested = (list) => {
16
+ const out = [];
17
+ for (const item of list) {
18
+ const children = item[ck] || [];
19
+ const filteredChildren = searchNested(children);
20
+ const matchedSelf = itemMatches(item, keys, terms, mode);
21
+ if (matchedSelf) {
22
+ const clone = { ...item, [ck]: filteredChildren };
23
+ out.push(clone);
24
+ } else if (filteredChildren.length) {
25
+ if (includeParents) {
26
+ const clone = { ...item, [ck]: filteredChildren };
27
+ out.push(clone);
28
+ } else {
29
+ out.push(...filteredChildren);
30
+ }
31
+ }
32
+ }
33
+ return out;
34
+ };
35
+ return searchNested(items);
36
+ }
37
+
38
+ export { nestedFiltering };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ function formatDate(date, options = {}) {
4
+ const d = date instanceof Date ? date : new Date(date);
5
+ if (isNaN(d.getTime())) return "";
6
+ const pad = (n) => n.toString().padStart(2, "0");
7
+ const day = pad(d.getDate());
8
+ const month = pad(d.getMonth() + 1);
9
+ const year = d.getFullYear();
10
+ const base = `${day}/${month}/${year}`;
11
+ if (!options.showTime) return base;
12
+ const hours = pad(d.getHours());
13
+ const minutes = pad(d.getMinutes());
14
+ if (!options.showSeconds) return `${base} ${hours}:${minutes}`;
15
+ const seconds = pad(d.getSeconds());
16
+ return `${base} ${hours}:${minutes}:${seconds}`;
17
+ }
18
+
19
+ exports.formatDate = formatDate;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Formats a Date as "dd:mm:yyyy" or "dd:mm:yyyy hh:mm:ss".
3
+ * All parts are zero-padded numbers.
4
+ *
5
+ * @param date - The Date or date-parsable value to format
6
+ * @param options.showSeconds - If true, append time "hh:mm:ss"
7
+ * @returns A formatted string
8
+ */
9
+ export declare function formatDate(date: Date | string | number, options?: {
10
+ showTime?: boolean;
11
+ showSeconds?: boolean;
12
+ }): string;
@@ -0,0 +1,17 @@
1
+ function formatDate(date, options = {}) {
2
+ const d = date instanceof Date ? date : new Date(date);
3
+ if (isNaN(d.getTime())) return "";
4
+ const pad = (n) => n.toString().padStart(2, "0");
5
+ const day = pad(d.getDate());
6
+ const month = pad(d.getMonth() + 1);
7
+ const year = d.getFullYear();
8
+ const base = `${day}/${month}/${year}`;
9
+ if (!options.showTime) return base;
10
+ const hours = pad(d.getHours());
11
+ const minutes = pad(d.getMinutes());
12
+ if (!options.showSeconds) return `${base} ${hours}:${minutes}`;
13
+ const seconds = pad(d.getSeconds());
14
+ return `${base} ${hours}:${minutes}:${seconds}`;
15
+ }
16
+
17
+ export { formatDate };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dbcdk/react-components",
3
- "version": "0.0.2",
4
- "description": "Reusable React components for DBCK projects",
3
+ "version": "0.0.3",
4
+ "description": "Reusable React components for DBC projects",
5
5
  "license": "ISC",
6
6
  "author": "",
7
7
  "keywords": [
@@ -11,7 +11,9 @@
11
11
  "library"
12
12
  ],
13
13
  "type": "module",
14
- "sideEffects": false,
14
+ "sideEffects": [
15
+ "**/*.css"
16
+ ],
15
17
  "main": "dist/index.cjs",
16
18
  "module": "dist/index.js",
17
19
  "types": "dist/index.d.ts",
@@ -22,49 +24,88 @@
22
24
  "require": "./dist/index.cjs",
23
25
  "default": "./dist/index.js"
24
26
  },
25
- "./styles.css": "./dist/index.css",
27
+ "./components/*": "./dist/components/*",
28
+ "./icons/*": "./dist/icons/*",
29
+ "./hooks/*": "./dist/hooks/*",
30
+ "./styles/themes/*": "./dist/styles/themes/*",
31
+ "./styles.css": "./dist/styles/styles.css",
32
+ "./assets/*": "./dist/assets/*",
33
+ "./tanstack": {
34
+ "types": "./dist/tanstack.d.ts",
35
+ "import": "./dist/tanstack.js",
36
+ "require": "./dist/tanstack.cjs"
37
+ },
26
38
  "./package.json": "./package.json"
27
39
  },
28
40
  "files": [
29
- "dist"
41
+ "dist",
42
+ "README.md"
30
43
  ],
31
44
  "scripts": {
32
- "build": "tsup",
45
+ "build:js": "tsup",
46
+ "build:types": "tsc -p tsconfig.build.json",
47
+ "build": "npm run build:js && npm run build:types",
33
48
  "dev": "tsup --watch",
34
49
  "test": "vitest",
35
50
  "lint": "eslint \"src/**/*.{ts,tsx}\" --max-warnings=0",
51
+ "lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
36
52
  "storybook": "storybook dev -p 6006",
37
53
  "build:storybook": "storybook build",
38
54
  "changeset": "changeset",
39
- "version-packages": "changeset version"
55
+ "version-packages": "changeset version",
56
+ "typecheck": "tsc --noEmit",
57
+ "prepublishOnly": "npm run build && npm run typecheck",
58
+ "pack-it": "npm run build && npm pack",
59
+ "postbuild": "cpy \"src/**/*.css\" dist --parents && cpy \"src/styles/styles.css\" dist && cpy \"src/styles/fonts/**/*\" dist/styles/fonts",
60
+ "yalc:publish": "npm run build && yalc publish --push",
61
+ "yalc:push": "npm run build && yalc push --scripts --changed",
62
+ "yalc:watch": "chokidar 'src/**/*' -c 'npm run yalc:push'"
40
63
  },
41
64
  "peerDependencies": {
65
+ "@tanstack/react-table": "^8.20.0",
66
+ "lucide-react": "^0.542.0",
42
67
  "react": "^18.2.0 || ^19.0.0",
43
68
  "react-dom": "^18.2.0 || ^19.0.0"
44
69
  },
70
+ "peerDependenciesMeta": {
71
+ "@tanstack/react-table": {
72
+ "optional": true
73
+ }
74
+ },
45
75
  "devDependencies": {
46
76
  "@changesets/cli": "^2.29.6",
47
77
  "@storybook/addon-a11y": "^9.1.3",
48
78
  "@storybook/addon-docs": "^9.1.3",
49
79
  "@storybook/addon-viewport": "^9.0.8",
50
80
  "@storybook/react-vite": "^9.1.3",
81
+ "@tanstack/react-table": "^8.20.0",
51
82
  "@testing-library/jest-dom": "^6.8.0",
52
83
  "@testing-library/react": "^16.3.0",
53
- "@types/react": "^19.1.12",
54
- "@types/react-dom": "^19.1.9",
84
+ "@types/react": "^18.2.48",
85
+ "@types/react-dom": "^18.2.18",
55
86
  "@types/testing-library__jest-dom": "^6.0.0",
56
87
  "@typescript-eslint/eslint-plugin": "^8.41.0",
57
88
  "@typescript-eslint/parser": "^8.41.0",
89
+ "cpy-cli": "^6.0.0",
90
+ "esbuild-css-modules-plugin": "^3.1.5",
91
+ "esbuild-plugin-css-modules": "^0.3.0",
58
92
  "eslint": "^9.34.0",
59
93
  "eslint-plugin-react": "^7.37.5",
60
94
  "eslint-plugin-react-hooks": "^5.2.0",
61
95
  "jsdom": "^26.1.0",
96
+ "prettier": "^3.2.4",
97
+ "react": "18.2.0",
98
+ "react-dom": "18.2.0",
62
99
  "storybook": "^9.1.3",
63
100
  "tsup": "^8.5.0",
64
101
  "typescript": "^5.9.2",
65
102
  "vite": "^6.3.5",
66
- "vitest": "^3.2.4",
67
- "react": "^19.0.0",
68
- "react-dom": "^19.0.0"
103
+ "vitest": "^3.2.4"
104
+ },
105
+ "engines": {
106
+ "node": ">=18.17"
107
+ },
108
+ "publishConfig": {
109
+ "access": "public"
69
110
  }
70
111
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button.tsx"],"names":["Button","r","variant","size","className","rest","ref","jsx"],"mappings":"kbAOO,IAAMA,CAAAA,CAAeC,wBAC1B,CAAC,CAAE,QAAAC,CAAAA,CAAU,SAAA,CAAW,KAAAC,CAAAA,CAAO,IAAA,CAAM,UAAAC,CAAAA,CAAY,EAAA,CAAI,GAAGC,CAAK,CAAA,CAAGC,CAAAA,GAC9DC,eAAC,QAAA,CAAA,CACC,GAAA,CAAKD,EACL,SAAA,CAAW,CAAC,UAAW,CAAA,SAAA,EAAYJ,CAAO,GAAI,CAAA,SAAA,EAAYC,CAAI,GAAIC,CAAS,CAAA,CAAE,KAAK,GAAG,CAAA,CACpF,GAAGC,CAAAA,CACN,CAEJ,EACAL,CAAAA,CAAO,WAAA,CAAc,QAAA","file":"index.cjs","sourcesContent":["import * as React from \"react\";\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n variant?: \"primary\" | \"secondary\" | \"ghost\";\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ variant = \"primary\", size = \"md\", className = \"\", ...rest }, ref) => (\n <button\n ref={ref}\n className={[\"dbc-btn\", `dbc-btn--${variant}`, `dbc-btn--${size}`, className].join(\" \")}\n {...rest}\n />\n )\n);\nButton.displayName = \"Button\";\n"]}
package/dist/index.css DELETED
@@ -1,2 +0,0 @@
1
- :root{--color-brand-600: #0ea5e9;--color-brand-700: #0284c7;--surface-2: #f4f4f5;--surface-3: #e4e4e7;--text-1: #111827;--radius-md: 10px;--focus-ring: 2px solid var(--color-brand-600)}.dbc-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font:inherit;padding:0 1rem;height:2.5rem;transition:background-color .15s ease,color .15s ease,opacity .15s ease;outline:none}.dbc-btn:focus-visible{box-shadow:0 0 0 var(--focus-ring)}.dbc-btn:disabled{opacity:.5;pointer-events:none}.dbc-btn--primary{background:var(--color-brand-600);color:#fff}.dbc-btn--primary:hover{background:var(--color-brand-700)}.dbc-btn--secondary{background:var(--surface-2);color:var(--text-1)}.dbc-btn--secondary:hover{background:var(--surface-3)}.dbc-btn--ghost{background:transparent;color:var(--color-brand-700)}.dbc-btn--sm{height:2rem;padding:0 .75rem;font-size:.875rem}.dbc-btn--md{height:2.5rem}.dbc-btn--lg{height:3rem;padding:0 1.25rem;font-size:1.125rem}
2
- /*# sourceMappingURL=index.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/styles/tokens.css","../src/styles/styles.css"],"sourcesContent":[":root {\n --color-brand-600: #0ea5e9;\n --color-brand-700: #0284c7;\n --surface-2: #f4f4f5;\n --surface-3: #e4e4e7;\n --text-1: #111827;\n --radius-md: 10px;\n --focus-ring: 2px solid var(--color-brand-600);\n}\n","@import \"./tokens.css\";\n.dbc-btn {\n display: inline-flex; align-items:center; justify-content:center;\n border-radius: var(--radius-md); font: inherit; padding: 0 1rem; height: 2.5rem;\n transition: background-color .15s ease, color .15s ease, opacity .15s ease; outline: none;\n}\n.dbc-btn:focus-visible { box-shadow: 0 0 0 var(--focus-ring); }\n.dbc-btn:disabled { opacity: .5; pointer-events: none; }\n.dbc-btn--primary { background: var(--color-brand-600); color: white; }\n.dbc-btn--primary:hover { background: var(--color-brand-700); }\n.dbc-btn--secondary { background: var(--surface-2); color: var(--text-1); }\n.dbc-btn--secondary:hover { background: var(--surface-3); }\n.dbc-btn--ghost { background: transparent; color: var(--color-brand-700); }\n.dbc-btn--sm { height: 2rem; padding: 0 .75rem; font-size: .875rem; }\n.dbc-btn--md { height: 2.5rem; }\n.dbc-btn--lg { height: 3rem; padding: 0 1.25rem; font-size: 1.125rem; }\n"],"mappings":"AAAA,MACE,mBAAmB,QACnB,mBAAmB,QACnB,aAAa,QACb,aAAa,QACb,UAAU,QACV,aAAa,KACb,cAAc,IAAI,MAAM,IAAI,kBAC9B,CCPA,CAAC,QACC,QAAS,YAAa,YAAY,OAAQ,gBAAgB,OAC1D,cAAe,IAAI,aAAc,KAAM,QAHzC,QAG2D,EAAE,KAAM,OAAQ,OACzE,WAAY,iBAAiB,KAAK,IAAI,CAAE,MAAM,KAAK,IAAI,CAAE,QAAQ,KAAK,KAAM,QAAS,IACvF,CACA,CALC,OAKO,eAAiB,WAAY,EAAE,EAAE,EAAE,IAAI,aAAe,CAC9D,CANC,OAMO,UAAY,QAAS,GAAI,eAAgB,IAAM,CACvD,CAAC,iBAAmB,WAAY,IAAI,mBAAoB,MAAO,IAAO,CACtE,CADC,gBACgB,OAAS,WAAY,IAAI,kBAAoB,CAC9D,CAAC,mBAAqB,WAAY,IAAI,aAAc,MAAO,IAAI,SAAW,CAC1E,CADC,kBACkB,OAAS,WAAY,IAAI,YAAc,CAC1D,CAAC,eAAiB,WAAY,YAAa,MAAO,IAAI,kBAAoB,CAC1E,CAAC,YAAc,OAAQ,KAbvB,QAasC,EAAE,OAAQ,UAAW,OAAS,CACpE,CAAC,YAAc,OAAQ,MAAQ,CAC/B,CAAC,YAAc,OAAQ,KAfvB,QAesC,EAAE,QAAS,UAAW,QAAU","names":[]}
package/dist/index.d.cts DELETED
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
-
3
- type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
4
- variant?: "primary" | "secondary" | "ghost";
5
- size?: "sm" | "md" | "lg";
6
- };
7
- declare const Button: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
8
- variant?: "primary" | "secondary" | "ghost";
9
- size?: "sm" | "md" | "lg";
10
- } & React.RefAttributes<HTMLButtonElement>>;
11
-
12
- export { Button, type ButtonProps };
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button.tsx"],"names":["Button","variant","size","className","rest","ref","jsx"],"mappings":"4DAOO,IAAMA,CAAAA,CAAe,aAC1B,CAAC,CAAE,QAAAC,CAAAA,CAAU,SAAA,CAAW,KAAAC,CAAAA,CAAO,IAAA,CAAM,UAAAC,CAAAA,CAAY,EAAA,CAAI,GAAGC,CAAK,CAAA,CAAGC,CAAAA,GAC9DC,IAAC,QAAA,CAAA,CACC,GAAA,CAAKD,EACL,SAAA,CAAW,CAAC,UAAW,CAAA,SAAA,EAAYJ,CAAO,GAAI,CAAA,SAAA,EAAYC,CAAI,GAAIC,CAAS,CAAA,CAAE,KAAK,GAAG,CAAA,CACpF,GAAGC,CAAAA,CACN,CAEJ,EACAJ,CAAAA,CAAO,WAAA,CAAc,QAAA","file":"index.js","sourcesContent":["import * as React from \"react\";\n\nexport type ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n variant?: \"primary\" | \"secondary\" | \"ghost\";\n size?: \"sm\" | \"md\" | \"lg\";\n};\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ variant = \"primary\", size = \"md\", className = \"\", ...rest }, ref) => (\n <button\n ref={ref}\n className={[\"dbc-btn\", `dbc-btn--${variant}`, `dbc-btn--${size}`, className].join(\" \")}\n {...rest}\n />\n )\n);\nButton.displayName = \"Button\";\n"]}