@dbcdk/react-components 0.0.2 → 0.0.4
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.
- package/dist/assets/logo.cjs +87 -0
- package/dist/assets/logo.d.ts +2 -0
- package/dist/assets/logo.js +85 -0
- package/dist/components/app-header/AppHeader.cjs +14 -0
- package/dist/components/app-header/AppHeader.d.ts +5 -0
- package/dist/components/app-header/AppHeader.js +8 -0
- package/dist/components/app-header/AppHeader.module.css +73 -0
- package/dist/components/avatar/Avatar.cjs +67 -0
- package/dist/components/avatar/Avatar.d.ts +15 -0
- package/dist/components/avatar/Avatar.js +42 -0
- package/dist/components/avatar/Avatar.module.css +43 -0
- package/dist/components/breadcrumbs/Breadcrumbs.cjs +23 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +12 -0
- package/dist/components/breadcrumbs/Breadcrumbs.js +16 -0
- package/dist/components/breadcrumbs/Breadcrumbs.module.css +84 -0
- package/dist/components/button/Button.cjs +79 -0
- package/dist/components/button/Button.d.ts +13 -0
- package/dist/components/button/Button.js +54 -0
- package/dist/components/button/Button.module.css +156 -0
- package/dist/components/card/Card.cjs +29 -0
- package/dist/components/card/Card.d.ts +11 -0
- package/dist/components/card/Card.js +23 -0
- package/dist/components/card/Card.module.css +69 -0
- package/dist/components/card-container/CardContainer.cjs +23 -0
- package/dist/components/card-container/CardContainer.d.ts +8 -0
- package/dist/components/card-container/CardContainer.js +17 -0
- package/dist/components/card-container/CardContainer.module.css +18 -0
- package/dist/components/checkbox/Checkbox.cjs +43 -0
- package/dist/components/checkbox/Checkbox.d.ts +12 -0
- package/dist/components/checkbox/Checkbox.js +37 -0
- package/dist/components/checkbox/Checkbox.module.css +63 -0
- package/dist/components/chip/Chip.cjs +49 -0
- package/dist/components/chip/Chip.d.ts +13 -0
- package/dist/components/chip/Chip.js +43 -0
- package/dist/components/chip/Chip.module.css +97 -0
- package/dist/components/circle/Circle.cjs +18 -0
- package/dist/components/circle/Circle.d.ts +8 -0
- package/dist/components/circle/Circle.js +12 -0
- package/dist/components/circle/Circle.module.css +62 -0
- package/dist/components/clear-button/ClearButton.cjs +26 -0
- package/dist/components/clear-button/ClearButton.d.ts +6 -0
- package/dist/components/clear-button/ClearButton.js +20 -0
- package/dist/components/clear-button/ClearButton.module.css +16 -0
- package/dist/components/data-summary/DataSummary.cjs +49 -0
- package/dist/components/data-summary/DataSummary.d.ts +19 -0
- package/dist/components/data-summary/DataSummary.js +43 -0
- package/dist/components/data-summary/DataSummary.module.css +51 -0
- package/dist/components/filter-field/FilterField.cjs +174 -0
- package/dist/components/filter-field/FilterField.d.ts +28 -0
- package/dist/components/filter-field/FilterField.js +167 -0
- package/dist/components/filter-field/FilterField.module.css +109 -0
- package/dist/components/headline/Headline.cjs +47 -0
- package/dist/components/headline/Headline.d.ts +14 -0
- package/dist/components/headline/Headline.js +41 -0
- package/dist/components/headline/Headline.module.css +35 -0
- package/dist/components/icon/Icon.cjs +27 -0
- package/dist/components/icon/Icon.d.ts +9 -0
- package/dist/components/icon/Icon.js +20 -0
- package/dist/components/icon/Icon.module.css +34 -0
- package/dist/components/input/Input.cjs +48 -0
- package/dist/components/input/Input.d.ts +13 -0
- package/dist/components/input/Input.js +42 -0
- package/dist/components/input/Input.module.css +112 -0
- package/dist/components/menu/Menu.cjs +96 -0
- package/dist/components/menu/Menu.d.ts +12 -0
- package/dist/components/menu/Menu.js +71 -0
- package/dist/components/menu/Menu.module.css +95 -0
- package/dist/components/multi-select/MultiSelect.cjs +48 -0
- package/dist/components/multi-select/MultiSelect.d.ts +18 -0
- package/dist/components/multi-select/MultiSelect.js +46 -0
- package/dist/components/nav-bar/NavBar.cjs +55 -0
- package/dist/components/nav-bar/NavBar.d.ts +20 -0
- package/dist/components/nav-bar/NavBar.js +49 -0
- package/dist/components/nav-bar/NavBar.module.css +101 -0
- package/dist/components/page/Page.cjs +30 -0
- package/dist/components/page/Page.d.ts +13 -0
- package/dist/components/page/Page.js +24 -0
- package/dist/components/page/Page.module.css +26 -0
- package/dist/components/page-layout/PageLayout.cjs +101 -0
- package/dist/components/page-layout/PageLayout.d.ts +35 -0
- package/dist/components/page-layout/PageLayout.js +95 -0
- package/dist/components/page-layout/PageLayout.module.css +142 -0
- package/dist/components/pagination/Pagination.cjs +117 -0
- package/dist/components/pagination/Pagination.d.ts +17 -0
- package/dist/components/pagination/Pagination.js +111 -0
- package/dist/components/pagination/Pagination.module.css +17 -0
- package/dist/components/panel/Panel.cjs +18 -0
- package/dist/components/panel/Panel.d.ts +10 -0
- package/dist/components/panel/Panel.js +12 -0
- package/dist/components/panel/Panel.module.css +29 -0
- package/dist/components/popover/Popover.cjs +132 -0
- package/dist/components/popover/Popover.d.ts +15 -0
- package/dist/components/popover/Popover.js +126 -0
- package/dist/components/popover/Popover.module.css +25 -0
- package/dist/components/search-box/SearchBox.cjs +162 -0
- package/dist/components/search-box/SearchBox.d.ts +22 -0
- package/dist/components/search-box/SearchBox.js +156 -0
- package/dist/components/search-box/SearchBox.module.css +20 -0
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +97 -0
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.d.ts +24 -0
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +91 -0
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +55 -0
- package/dist/components/select/Select.cjs +52 -0
- package/dist/components/select/Select.d.ts +11 -0
- package/dist/components/select/Select.js +50 -0
- package/dist/components/sidebar/Sidebar.cjs +38 -0
- package/dist/components/sidebar/Sidebar.d.ts +12 -0
- package/dist/components/sidebar/Sidebar.js +31 -0
- package/dist/components/sidebar/Sidebar.module.css +66 -0
- package/dist/components/sidebar/components/SidebarItem.cjs +16 -0
- package/dist/components/sidebar/components/SidebarItem.d.ts +9 -0
- package/dist/components/sidebar/components/SidebarItem.js +14 -0
- package/dist/components/sidebar/components/SidebarItem.module.css +0 -0
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +74 -0
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +9 -0
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +68 -0
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +61 -0
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +27 -0
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +8 -0
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +21 -0
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +62 -0
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +28 -0
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +4 -0
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +26 -0
- package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +25 -0
- package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.d.ts +3 -0
- package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +23 -0
- package/dist/components/sidebar/providers/SidebarProvider.cjs +81 -0
- package/dist/components/sidebar/providers/SidebarProvider.d.ts +24 -0
- package/dist/components/sidebar/providers/SidebarProvider.js +78 -0
- package/dist/components/skeleton-loader/SkeletonLoader.cjs +270 -0
- package/dist/components/skeleton-loader/SkeletonLoader.d.ts +9 -0
- package/dist/components/skeleton-loader/SkeletonLoader.js +268 -0
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +42 -0
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.d.ts +11 -0
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +36 -0
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +63 -0
- package/dist/components/split-button/SplitButton.cjs +37 -0
- package/dist/components/split-button/SplitButton.d.ts +14 -0
- package/dist/components/split-button/SplitButton.js +31 -0
- package/dist/components/split-button/SplitButton.module.css +32 -0
- package/dist/components/table/Table.cjs +181 -0
- package/dist/components/table/Table.d.ts +45 -0
- package/dist/components/table/Table.js +175 -0
- package/dist/components/table/Table.module.css +143 -0
- package/dist/components/table/components/column-resizer/ColumnResizer.cjs +22 -0
- package/dist/components/table/components/column-resizer/ColumnResizer.d.ts +7 -0
- package/dist/components/table/components/column-resizer/ColumnResizer.js +16 -0
- package/dist/components/table/components/column-resizer/ColumnResizer.module.css +13 -0
- package/dist/components/tabs/Tabs.cjs +74 -0
- package/dist/components/tabs/Tabs.d.ts +18 -0
- package/dist/components/tabs/Tabs.js +68 -0
- package/dist/components/tabs/Tabs.module.css +113 -0
- package/dist/components/text-area/Textarea.cjs +62 -0
- package/dist/components/text-area/Textarea.d.ts +14 -0
- package/dist/components/text-area/Textarea.js +56 -0
- package/dist/components/text-area/Textarea.module.css +3 -0
- package/dist/components/tooltip/Tooltip.cjs +78 -0
- package/dist/components/tooltip/Tooltip.d.ts +11 -0
- package/dist/components/tooltip/Tooltip.js +72 -0
- package/dist/components/tooltip/Tooltip.module.css +84 -0
- package/dist/components/user-display/UserDisplay.cjs +28 -0
- package/dist/components/user-display/UserDisplay.d.ts +9 -0
- package/dist/components/user-display/UserDisplay.js +22 -0
- package/dist/components/user-display/UserDisplay.module.css +25 -0
- package/dist/constants/severity.cjs +21 -0
- package/dist/constants/severity.d.ts +3 -0
- package/dist/constants/severity.js +18 -0
- package/dist/constants/severity.types.cjs +2 -0
- package/dist/constants/severity.types.d.ts +1 -0
- package/dist/constants/severity.types.js +1 -0
- package/dist/constants/sizes.cjs +10 -0
- package/dist/constants/sizes.d.ts +2 -0
- package/dist/constants/sizes.js +8 -0
- package/dist/hooks/useTheme.cjs +58 -0
- package/dist/hooks/useTheme.d.ts +9 -0
- package/dist/hooks/useTheme.js +55 -0
- package/dist/hooks/useViewportFill.cjs +52 -0
- package/dist/hooks/useViewportFill.d.ts +15 -0
- package/dist/hooks/useViewportFill.js +50 -0
- package/dist/index.cjs +264 -2
- package/dist/index.d.ts +37 -12
- package/dist/index.js +37 -2
- package/dist/src/styles/styles.css +124 -0
- package/dist/styles/css-helper-classes/spacing.css +291 -0
- package/dist/styles/fonts/Roboto/OFL.txt +93 -0
- package/dist/styles/fonts/Roboto/README.txt +118 -0
- package/dist/styles/fonts/Roboto/Roboto-Black.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Bold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-ExtraBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-ExtraBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-ExtraLight.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-ExtraLightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Light.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-SemiBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-SemiBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-Thin.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Black.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-BlackItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Bold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-BoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraLight.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-ExtraLightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Italic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Light.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-LightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Medium.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-MediumItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Regular.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-SemiBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-SemiBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-Thin.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_Condensed-ThinItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Black.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-BlackItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Bold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-BoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraLight.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ExtraLightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Italic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Light.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-LightItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Medium.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-MediumItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Regular.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-SemiBold.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-SemiBoldItalic.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-Thin.ttf +0 -0
- package/dist/styles/fonts/Roboto/Roboto_SemiCondensed-ThinItalic.ttf +0 -0
- package/dist/styles/fonts/Tajawal/OFL.txt +93 -0
- package/dist/styles/fonts/Tajawal/Tajawal-Black.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-Bold.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-ExtraBold.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-ExtraLight.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-Light.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-Medium.ttf +0 -0
- package/dist/styles/fonts/Tajawal/Tajawal-Regular.ttf +0 -0
- package/dist/styles/styles.css +124 -0
- package/dist/styles/themes/dbc/dark.css +240 -0
- package/dist/styles/themes/dbc/light.css +245 -0
- package/dist/styles/themes/forfatterweb/light.css +104 -0
- package/dist/styles/themes/types.cjs +2 -0
- package/dist/styles/themes/types.d.ts +16 -0
- package/dist/styles/themes/types.js +1 -0
- package/dist/tanstack.cjs +231 -0
- package/dist/tanstack.d.ts +25 -0
- package/dist/tanstack.js +206 -0
- package/dist/types/a11y-props.types.cjs +2 -0
- package/dist/types/a11y-props.types.d.ts +8 -0
- package/dist/types/a11y-props.types.js +1 -0
- package/dist/types/assets.d.cjs +2 -0
- package/dist/types/assets.d.js +1 -0
- package/dist/types/css.d.cjs +2 -0
- package/dist/types/css.d.js +1 -0
- package/dist/types/sizes.types.cjs +2 -0
- package/dist/types/sizes.types.d.ts +2 -0
- package/dist/types/sizes.types.js +1 -0
- package/dist/utils/arrays/nested-filtering.cjs +40 -0
- package/dist/utils/arrays/nested-filtering.d.ts +9 -0
- package/dist/utils/arrays/nested-filtering.js +38 -0
- package/dist/utils/date/formatDate.cjs +19 -0
- package/dist/utils/date/formatDate.d.ts +12 -0
- package/dist/utils/date/formatDate.js +17 -0
- package/package.json +53 -12
- package/dist/index.cjs.map +0 -1
- package/dist/index.css +0 -2
- package/dist/index.css.map +0 -1
- package/dist/index.d.cts +0 -12
- package/dist/index.js.map +0 -1
package/dist/tanstack.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -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,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.
|
|
4
|
-
"description": "Reusable React components for
|
|
3
|
+
"version": "0.0.4",
|
|
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":
|
|
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
|
-
"./
|
|
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": "^
|
|
54
|
-
"@types/react-dom": "^
|
|
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
|
-
|
|
68
|
-
|
|
103
|
+
"vitest": "^3.2.4"
|
|
104
|
+
},
|
|
105
|
+
"engines": {
|
|
106
|
+
"node": ">=18.17"
|
|
107
|
+
},
|
|
108
|
+
"publishConfig": {
|
|
109
|
+
"access": "public"
|
|
69
110
|
}
|
|
70
111
|
}
|
package/dist/index.cjs.map
DELETED
|
@@ -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 */
|
package/dist/index.css.map
DELETED
|
@@ -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"]}
|