@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.
- package/dist/assets/logo.cjs +10 -10
- package/dist/assets/logo.js +10 -10
- package/dist/components/__stories__/story-components/Colors.cjs +159 -0
- package/dist/components/__stories__/story-components/Colors.d.ts +10 -0
- package/dist/components/__stories__/story-components/Colors.js +151 -0
- package/dist/components/__stories__/story-components/Colors.module.css +27 -0
- package/dist/components/__stories__/story-components/Spacing.cjs +190 -0
- package/dist/components/__stories__/story-components/Spacing.d.ts +1 -0
- package/dist/components/__stories__/story-components/Spacing.js +184 -0
- package/dist/components/__stories__/story-components/Spacing.module.css +154 -0
- package/dist/components/app-header/AppHeader.module.css +10 -15
- package/dist/components/attribute-chip/AttributeChip.cjs +22 -0
- package/dist/components/attribute-chip/AttributeChip.d.ts +8 -0
- package/dist/components/attribute-chip/AttributeChip.js +16 -0
- package/dist/components/attribute-chip/AttributeChip.module.css +65 -0
- package/dist/components/avatar/Avatar.cjs +38 -4
- package/dist/components/avatar/Avatar.d.ts +4 -2
- package/dist/components/avatar/Avatar.js +39 -5
- package/dist/components/avatar/Avatar.module.css +27 -0
- package/dist/components/breadcrumbs/Breadcrumbs.cjs +1 -2
- package/dist/components/breadcrumbs/Breadcrumbs.js +1 -2
- package/dist/components/breadcrumbs/Breadcrumbs.module.css +19 -22
- package/dist/components/button/Button.cjs +20 -12
- package/dist/components/button/Button.d.ts +4 -1
- package/dist/components/button/Button.js +20 -12
- package/dist/components/button/Button.module.css +118 -55
- package/dist/components/card/Card.cjs +53 -13
- package/dist/components/card/Card.d.ts +21 -6
- package/dist/components/card/Card.js +54 -14
- package/dist/components/card/Card.module.css +148 -44
- package/dist/components/card-container/CardContainer.cjs +6 -5
- package/dist/components/card-container/CardContainer.d.ts +5 -2
- package/dist/components/card-container/CardContainer.js +6 -5
- package/dist/components/card-container/CardContainer.module.css +40 -0
- package/dist/components/checkbox/Checkbox.cjs +3 -4
- package/dist/components/checkbox/Checkbox.d.ts +1 -1
- package/dist/components/checkbox/Checkbox.js +3 -4
- package/dist/components/checkbox/Checkbox.module.css +10 -10
- package/dist/components/chip/Chip.cjs +2 -1
- package/dist/components/chip/Chip.d.ts +2 -1
- package/dist/components/chip/Chip.js +2 -1
- package/dist/components/chip/Chip.module.css +42 -27
- package/dist/components/circle/Circle.module.css +11 -11
- package/dist/components/clear-button/ClearButton.cjs +3 -3
- package/dist/components/clear-button/ClearButton.js +3 -3
- package/dist/components/clear-button/ClearButton.module.css +8 -7
- package/dist/components/code-block/CodeBlock.cjs +18 -0
- package/dist/components/code-block/CodeBlock.d.ts +6 -0
- package/dist/components/code-block/CodeBlock.js +12 -0
- package/dist/components/code-block/CodeBlock.module.css +60 -0
- package/dist/components/copy-button/CopyButton.cjs +35 -0
- package/dist/components/copy-button/CopyButton.d.ts +9 -0
- package/dist/components/copy-button/CopyButton.js +29 -0
- package/dist/components/copy-button/CopyButton.module.css +6 -0
- package/dist/components/datetime-picker/DateTimePicker.cjs +504 -0
- package/dist/components/datetime-picker/DateTimePicker.d.ts +39 -0
- package/dist/components/datetime-picker/DateTimePicker.js +498 -0
- package/dist/components/datetime-picker/DateTimePicker.module.css +144 -0
- package/dist/components/filter-field/FilterField.cjs +34 -19
- package/dist/components/filter-field/FilterField.d.ts +2 -2
- package/dist/components/filter-field/FilterField.js +35 -20
- package/dist/components/filter-field/FilterField.module.css +14 -20
- package/dist/components/headline/Headline.cjs +10 -4
- package/dist/components/headline/Headline.d.ts +9 -1
- package/dist/components/headline/Headline.js +10 -4
- package/dist/components/headline/Headline.module.css +32 -7
- package/dist/components/icon/Icon.module.css +10 -9
- package/dist/components/input/Input.cjs +60 -19
- package/dist/components/input/Input.d.ts +7 -2
- package/dist/components/input/Input.js +60 -19
- package/dist/components/input/Input.module.css +90 -43
- package/dist/components/link/Link.cjs +46 -0
- package/dist/components/link/Link.d.ts +9 -0
- package/dist/components/link/Link.js +21 -0
- package/dist/components/link/Link.module.css +32 -0
- package/dist/components/menu/Menu.module.css +10 -32
- package/dist/components/meta-bar/MetaBar.cjs +29 -0
- package/dist/components/meta-bar/MetaBar.d.ts +11 -0
- package/dist/components/meta-bar/MetaBar.js +22 -0
- package/dist/components/meta-bar/MetaBar.module.css +12 -0
- package/dist/components/modal/Modal.cjs +134 -0
- package/dist/components/modal/Modal.d.ts +21 -0
- package/dist/components/modal/Modal.js +128 -0
- package/dist/components/modal/Modal.module.css +66 -0
- package/dist/components/modal/provider/ModalProvider.cjs +80 -0
- package/dist/components/modal/provider/ModalProvider.d.ts +21 -0
- package/dist/components/modal/provider/ModalProvider.js +77 -0
- package/dist/components/multi-select/MultiSelect.cjs +12 -1
- package/dist/components/multi-select/MultiSelect.js +12 -1
- package/dist/components/nav-bar/NavBar.module.css +11 -16
- package/dist/components/page/Page.module.css +2 -2
- package/dist/components/page-layout/PageLayout.cjs +5 -22
- package/dist/components/page-layout/PageLayout.d.ts +1 -8
- package/dist/components/page-layout/PageLayout.js +5 -22
- package/dist/components/page-layout/PageLayout.module.css +4 -80
- package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.cjs +32 -0
- package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.d.ts +11 -0
- package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.js +25 -0
- package/dist/components/page-layout/components/page-layout-hero/PageLayoutHero.module.css +84 -0
- package/dist/components/pagination/Pagination.cjs +83 -67
- package/dist/components/pagination/Pagination.d.ts +3 -1
- package/dist/components/pagination/Pagination.js +84 -68
- package/dist/components/pagination/Pagination.module.css +11 -3
- package/dist/components/panel/Panel.module.css +5 -7
- package/dist/components/popover/Popover.cjs +25 -8
- package/dist/components/popover/Popover.d.ts +2 -1
- package/dist/components/popover/Popover.js +25 -8
- package/dist/components/popover/Popover.module.css +4 -6
- package/dist/components/search-box/SearchBox.cjs +50 -37
- package/dist/components/search-box/SearchBox.d.ts +10 -7
- package/dist/components/search-box/SearchBox.js +50 -37
- package/dist/components/search-box/SearchBox.module.css +0 -1
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.cjs +12 -6
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.js +12 -6
- package/dist/components/segmented-progress-bar/SegmentedProgressBar.module.css +5 -1
- package/dist/components/select/Select.cjs +82 -13
- package/dist/components/select/Select.d.ts +2 -1
- package/dist/components/select/Select.js +83 -14
- package/dist/components/sidebar/Sidebar.cjs +3 -30
- package/dist/components/sidebar/Sidebar.d.ts +2 -1
- package/dist/components/sidebar/Sidebar.js +4 -26
- package/dist/components/sidebar/components/SidebarItem.cjs +3 -1
- package/dist/components/sidebar/components/SidebarItem.js +3 -1
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.cjs +40 -14
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.d.ts +3 -1
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.js +40 -14
- package/dist/components/sidebar/components/expandable-sidebar-item/ExpandableSidebarItem.module.css +9 -38
- package/dist/components/sidebar/components/sidebar-container/SidebarContainer.cjs +50 -0
- package/dist/components/sidebar/components/sidebar-container/SidebarContainer.d.ts +8 -0
- package/dist/components/sidebar/components/sidebar-container/SidebarContainer.js +43 -0
- package/dist/components/sidebar/components/sidebar-container/SidebarContainer.module.css +155 -0
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.cjs +16 -9
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.d.ts +2 -1
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.js +16 -9
- package/dist/components/sidebar/components/sidebar-item-content/SidebarItemContent.module.css +25 -12
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.cjs +2 -1
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.d.ts +1 -1
- package/dist/components/sidebar/components/sidebar-items/SidebarItems.js +2 -1
- package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.cjs +29 -2
- package/dist/components/sidebar/components/sidenav-filteirng/SidenavFiltering.js +25 -2
- package/dist/components/sidebar/providers/SidebarProvider.cjs +108 -10
- package/dist/components/sidebar/providers/SidebarProvider.d.ts +7 -3
- package/dist/components/sidebar/providers/SidebarProvider.js +109 -11
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +1 -1
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +1 -1
- package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +0 -12
- package/dist/components/split-pane/SplitPane.cjs +123 -0
- package/dist/components/split-pane/SplitPane.d.ts +34 -0
- package/dist/components/split-pane/SplitPane.js +114 -0
- package/dist/components/split-pane/SplitPane.module.css +106 -0
- package/dist/components/split-pane/provider/SplitPaneContext.cjs +87 -0
- package/dist/components/split-pane/provider/SplitPaneContext.d.ts +23 -0
- package/dist/components/split-pane/provider/SplitPaneContext.js +79 -0
- package/dist/components/table/Table.cjs +180 -112
- package/dist/components/table/Table.d.ts +22 -6
- package/dist/components/table/Table.js +181 -113
- package/dist/components/table/Table.module.css +74 -47
- package/dist/components/table/components/empty-state/EmptyState.cjs +52 -0
- package/dist/components/table/components/empty-state/EmptyState.d.ts +40 -0
- package/dist/components/table/components/empty-state/EmptyState.js +46 -0
- package/dist/components/table/components/empty-state/EmptyState.module.css +16 -0
- package/dist/components/table/components/table-settings/TableSettings.cjs +32 -0
- package/dist/components/table/components/table-settings/TableSettings.d.ts +7 -0
- package/dist/components/table/components/table-settings/TableSettings.js +30 -0
- package/dist/{tanstack.cjs → components/table/tanstack.cjs} +61 -99
- package/dist/components/table/tanstack.d.ts +14 -0
- package/dist/{tanstack.js → components/table/tanstack.js} +61 -99
- package/dist/components/tabs/Tabs.cjs +33 -17
- package/dist/components/tabs/Tabs.d.ts +6 -3
- package/dist/components/tabs/Tabs.js +33 -17
- package/dist/components/tabs/Tabs.module.css +9 -9
- package/dist/components/toast/Toast.cjs +47 -0
- package/dist/components/toast/Toast.d.ts +14 -0
- package/dist/components/toast/Toast.js +41 -0
- package/dist/components/toast/Toast.module.css +101 -0
- package/dist/components/toast/provider/ToastProvider.cjs +98 -0
- package/dist/components/toast/provider/ToastProvider.d.ts +23 -0
- package/dist/components/toast/provider/ToastProvider.js +91 -0
- package/dist/components/tooltip/Tooltip.cjs +134 -29
- package/dist/components/tooltip/Tooltip.js +135 -30
- package/dist/components/tooltip/Tooltip.module.css +25 -43
- package/dist/components/user-display/UserDisplay.module.css +2 -2
- package/dist/constants/severity.cjs +12 -12
- package/dist/constants/severity.js +12 -12
- package/dist/constants/sizes.cjs +1 -0
- package/dist/constants/sizes.d.ts +1 -1
- package/dist/constants/sizes.js +1 -0
- package/dist/hooks/usePagination.cjs +88 -0
- package/dist/hooks/usePagination.d.ts +33 -0
- package/dist/hooks/usePagination.js +86 -0
- package/dist/hooks/useSorting.cjs +118 -0
- package/dist/hooks/useSorting.d.ts +49 -0
- package/dist/hooks/useSorting.js +116 -0
- package/dist/hooks/useTableData.cjs +52 -0
- package/dist/hooks/useTableData.d.ts +40 -0
- package/dist/hooks/useTableData.js +50 -0
- package/dist/hooks/useTableSelection.cjs +130 -0
- package/dist/hooks/useTableSelection.d.ts +25 -0
- package/dist/hooks/useTableSelection.js +128 -0
- package/dist/hooks/useTableSettings.cjs +28 -0
- package/dist/hooks/useTableSettings.d.ts +7 -0
- package/dist/hooks/useTableSettings.js +26 -0
- package/dist/hooks/useTimeDuration.cjs +39 -0
- package/dist/hooks/useTimeDuration.d.ts +22 -0
- package/dist/hooks/useTimeDuration.js +37 -0
- package/dist/hooks/useViewportFill.js +1 -1
- package/dist/index.cjs +119 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +17 -0
- package/dist/src/styles/styles.css +101 -8
- package/dist/styles/css-helper-classes/flex.css +97 -0
- package/dist/styles/css-helper-classes/typography.css +7 -0
- package/dist/styles/styles.css +101 -8
- package/dist/styles/themes/dbc/dark.css +206 -99
- package/dist/styles/themes/dbc/light.css +183 -89
- package/dist/types/sizes.types.d.ts +2 -2
- package/package.json +17 -11
- package/dist/components/data-summary/DataSummary.cjs +0 -49
- package/dist/components/data-summary/DataSummary.d.ts +0 -19
- package/dist/components/data-summary/DataSummary.js +0 -43
- package/dist/components/data-summary/DataSummary.module.css +0 -51
- package/dist/components/sidebar/Sidebar.module.css +0 -66
- package/dist/tanstack.d.ts +0 -25
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
function useTableSelection({
|
|
6
|
+
storageKey,
|
|
7
|
+
items,
|
|
8
|
+
getId,
|
|
9
|
+
initialSelectedIds = /* @__PURE__ */ new Set(),
|
|
10
|
+
totalItems,
|
|
11
|
+
onSelectionChange,
|
|
12
|
+
selectionMode = "single"
|
|
13
|
+
}) {
|
|
14
|
+
const [selectedIds, setSelectedIds] = react.useState(initialSelectedIds);
|
|
15
|
+
const [selectedItemMap, setSelectedItemMap] = react.useState(() => /* @__PURE__ */ new Map());
|
|
16
|
+
const itemsById = react.useMemo(() => {
|
|
17
|
+
const m = /* @__PURE__ */ new Map();
|
|
18
|
+
for (const item of items) m.set(getId(item), item);
|
|
19
|
+
return m;
|
|
20
|
+
}, [items, getId]);
|
|
21
|
+
react.useEffect(() => {
|
|
22
|
+
const stored = window.localStorage.getItem(storageKey);
|
|
23
|
+
if (!stored) {
|
|
24
|
+
setSelectedIds(initialSelectedIds);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const parsed = JSON.parse(stored);
|
|
29
|
+
setSelectedIds(new Set(parsed));
|
|
30
|
+
} catch {
|
|
31
|
+
setSelectedIds(initialSelectedIds);
|
|
32
|
+
}
|
|
33
|
+
}, [storageKey]);
|
|
34
|
+
react.useEffect(() => {
|
|
35
|
+
setSelectedItemMap((prev) => {
|
|
36
|
+
const next = /* @__PURE__ */ new Map();
|
|
37
|
+
for (const id of selectedIds) {
|
|
38
|
+
const item = itemsById.get(id);
|
|
39
|
+
if (item !== void 0) next.set(id, item);
|
|
40
|
+
}
|
|
41
|
+
if (next.size === prev.size) {
|
|
42
|
+
let same = true;
|
|
43
|
+
for (const [id, item] of next) {
|
|
44
|
+
if (prev.get(id) !== item) {
|
|
45
|
+
same = false;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (same) return prev;
|
|
50
|
+
}
|
|
51
|
+
return next;
|
|
52
|
+
});
|
|
53
|
+
}, [selectedIds, itemsById]);
|
|
54
|
+
const selectedItems = react.useMemo(() => Array.from(selectedItemMap.values()), [selectedItemMap]);
|
|
55
|
+
const allSelected = react.useMemo(() => {
|
|
56
|
+
if (typeof totalItems !== "number") return false;
|
|
57
|
+
return totalItems > 0 && selectedIds.size === totalItems;
|
|
58
|
+
}, [selectedIds, totalItems]);
|
|
59
|
+
const anySelected = react.useMemo(() => selectedIds.size > 0, [selectedIds]);
|
|
60
|
+
react.useEffect(() => {
|
|
61
|
+
window.localStorage.setItem(storageKey, JSON.stringify(Array.from(selectedIds)));
|
|
62
|
+
onSelectionChange == null ? void 0 : onSelectionChange({ selectedIds, selectedItems });
|
|
63
|
+
}, [selectedIds, selectedItems, storageKey, onSelectionChange]);
|
|
64
|
+
const toggleId = react.useCallback(
|
|
65
|
+
(id) => {
|
|
66
|
+
setSelectedIds((prevIds) => {
|
|
67
|
+
const nextIds = new Set(prevIds);
|
|
68
|
+
const isSelected = nextIds.has(id);
|
|
69
|
+
if (isSelected) {
|
|
70
|
+
nextIds.delete(id);
|
|
71
|
+
} else {
|
|
72
|
+
if (selectionMode === "single") nextIds.clear();
|
|
73
|
+
nextIds.add(id);
|
|
74
|
+
}
|
|
75
|
+
return nextIds;
|
|
76
|
+
});
|
|
77
|
+
setSelectedItemMap((prevMap) => {
|
|
78
|
+
const nextMap = new Map(prevMap);
|
|
79
|
+
const isSelected = nextMap.has(id);
|
|
80
|
+
if (isSelected) {
|
|
81
|
+
nextMap.delete(id);
|
|
82
|
+
} else {
|
|
83
|
+
if (selectionMode === "single") nextMap.clear();
|
|
84
|
+
const item = itemsById.get(id);
|
|
85
|
+
if (item !== void 0) nextMap.set(id, item);
|
|
86
|
+
}
|
|
87
|
+
return nextMap;
|
|
88
|
+
});
|
|
89
|
+
},
|
|
90
|
+
[itemsById, selectionMode]
|
|
91
|
+
);
|
|
92
|
+
const toggleItem = react.useCallback(
|
|
93
|
+
(item) => {
|
|
94
|
+
toggleId(getId(item));
|
|
95
|
+
},
|
|
96
|
+
[toggleId, getId]
|
|
97
|
+
);
|
|
98
|
+
const toggleAll = react.useCallback(
|
|
99
|
+
(selected) => {
|
|
100
|
+
if (!selected) {
|
|
101
|
+
clearSelection();
|
|
102
|
+
} else {
|
|
103
|
+
const nextIds = /* @__PURE__ */ new Set();
|
|
104
|
+
for (const item of items) {
|
|
105
|
+
nextIds.add(getId(item));
|
|
106
|
+
}
|
|
107
|
+
setSelectedIds(nextIds);
|
|
108
|
+
return nextIds;
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
[allSelected, getId, items]
|
|
112
|
+
);
|
|
113
|
+
const clearSelection = react.useCallback(() => {
|
|
114
|
+
setSelectedIds(/* @__PURE__ */ new Set());
|
|
115
|
+
setSelectedItemMap(/* @__PURE__ */ new Map());
|
|
116
|
+
}, []);
|
|
117
|
+
return {
|
|
118
|
+
selectedIds,
|
|
119
|
+
selectedItems,
|
|
120
|
+
selectedItemMap,
|
|
121
|
+
toggleItem,
|
|
122
|
+
toggleId,
|
|
123
|
+
clearSelection,
|
|
124
|
+
allSelected,
|
|
125
|
+
anySelected,
|
|
126
|
+
toggleAll
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
exports.useTableSelection = useTableSelection;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type Id = string | number;
|
|
2
|
+
interface Props<T> {
|
|
3
|
+
storageKey: string;
|
|
4
|
+
items: T[];
|
|
5
|
+
getId: (item: T) => Id;
|
|
6
|
+
initialSelectedIds?: Set<Id>;
|
|
7
|
+
onSelectionChange?: (args: {
|
|
8
|
+
selectedIds: Set<Id>;
|
|
9
|
+
selectedItems: T[];
|
|
10
|
+
}) => void;
|
|
11
|
+
totalItems?: number;
|
|
12
|
+
selectionMode?: 'single' | 'multiple';
|
|
13
|
+
}
|
|
14
|
+
export declare function useTableSelection<T>({ storageKey, items, getId, initialSelectedIds, totalItems, onSelectionChange, selectionMode, }: Props<T>): {
|
|
15
|
+
selectedIds: Set<Id>;
|
|
16
|
+
selectedItems: T[];
|
|
17
|
+
selectedItemMap: Map<Id, T>;
|
|
18
|
+
toggleItem: (item: T) => void;
|
|
19
|
+
toggleId: (id: Id) => void;
|
|
20
|
+
clearSelection: () => void;
|
|
21
|
+
allSelected: boolean;
|
|
22
|
+
anySelected: boolean;
|
|
23
|
+
toggleAll: (selected: boolean) => void;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { useState, useMemo, useEffect, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
function useTableSelection({
|
|
4
|
+
storageKey,
|
|
5
|
+
items,
|
|
6
|
+
getId,
|
|
7
|
+
initialSelectedIds = /* @__PURE__ */ new Set(),
|
|
8
|
+
totalItems,
|
|
9
|
+
onSelectionChange,
|
|
10
|
+
selectionMode = "single"
|
|
11
|
+
}) {
|
|
12
|
+
const [selectedIds, setSelectedIds] = useState(initialSelectedIds);
|
|
13
|
+
const [selectedItemMap, setSelectedItemMap] = useState(() => /* @__PURE__ */ new Map());
|
|
14
|
+
const itemsById = useMemo(() => {
|
|
15
|
+
const m = /* @__PURE__ */ new Map();
|
|
16
|
+
for (const item of items) m.set(getId(item), item);
|
|
17
|
+
return m;
|
|
18
|
+
}, [items, getId]);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const stored = window.localStorage.getItem(storageKey);
|
|
21
|
+
if (!stored) {
|
|
22
|
+
setSelectedIds(initialSelectedIds);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const parsed = JSON.parse(stored);
|
|
27
|
+
setSelectedIds(new Set(parsed));
|
|
28
|
+
} catch {
|
|
29
|
+
setSelectedIds(initialSelectedIds);
|
|
30
|
+
}
|
|
31
|
+
}, [storageKey]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setSelectedItemMap((prev) => {
|
|
34
|
+
const next = /* @__PURE__ */ new Map();
|
|
35
|
+
for (const id of selectedIds) {
|
|
36
|
+
const item = itemsById.get(id);
|
|
37
|
+
if (item !== void 0) next.set(id, item);
|
|
38
|
+
}
|
|
39
|
+
if (next.size === prev.size) {
|
|
40
|
+
let same = true;
|
|
41
|
+
for (const [id, item] of next) {
|
|
42
|
+
if (prev.get(id) !== item) {
|
|
43
|
+
same = false;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (same) return prev;
|
|
48
|
+
}
|
|
49
|
+
return next;
|
|
50
|
+
});
|
|
51
|
+
}, [selectedIds, itemsById]);
|
|
52
|
+
const selectedItems = useMemo(() => Array.from(selectedItemMap.values()), [selectedItemMap]);
|
|
53
|
+
const allSelected = useMemo(() => {
|
|
54
|
+
if (typeof totalItems !== "number") return false;
|
|
55
|
+
return totalItems > 0 && selectedIds.size === totalItems;
|
|
56
|
+
}, [selectedIds, totalItems]);
|
|
57
|
+
const anySelected = useMemo(() => selectedIds.size > 0, [selectedIds]);
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
window.localStorage.setItem(storageKey, JSON.stringify(Array.from(selectedIds)));
|
|
60
|
+
onSelectionChange == null ? void 0 : onSelectionChange({ selectedIds, selectedItems });
|
|
61
|
+
}, [selectedIds, selectedItems, storageKey, onSelectionChange]);
|
|
62
|
+
const toggleId = useCallback(
|
|
63
|
+
(id) => {
|
|
64
|
+
setSelectedIds((prevIds) => {
|
|
65
|
+
const nextIds = new Set(prevIds);
|
|
66
|
+
const isSelected = nextIds.has(id);
|
|
67
|
+
if (isSelected) {
|
|
68
|
+
nextIds.delete(id);
|
|
69
|
+
} else {
|
|
70
|
+
if (selectionMode === "single") nextIds.clear();
|
|
71
|
+
nextIds.add(id);
|
|
72
|
+
}
|
|
73
|
+
return nextIds;
|
|
74
|
+
});
|
|
75
|
+
setSelectedItemMap((prevMap) => {
|
|
76
|
+
const nextMap = new Map(prevMap);
|
|
77
|
+
const isSelected = nextMap.has(id);
|
|
78
|
+
if (isSelected) {
|
|
79
|
+
nextMap.delete(id);
|
|
80
|
+
} else {
|
|
81
|
+
if (selectionMode === "single") nextMap.clear();
|
|
82
|
+
const item = itemsById.get(id);
|
|
83
|
+
if (item !== void 0) nextMap.set(id, item);
|
|
84
|
+
}
|
|
85
|
+
return nextMap;
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
[itemsById, selectionMode]
|
|
89
|
+
);
|
|
90
|
+
const toggleItem = useCallback(
|
|
91
|
+
(item) => {
|
|
92
|
+
toggleId(getId(item));
|
|
93
|
+
},
|
|
94
|
+
[toggleId, getId]
|
|
95
|
+
);
|
|
96
|
+
const toggleAll = useCallback(
|
|
97
|
+
(selected) => {
|
|
98
|
+
if (!selected) {
|
|
99
|
+
clearSelection();
|
|
100
|
+
} else {
|
|
101
|
+
const nextIds = /* @__PURE__ */ new Set();
|
|
102
|
+
for (const item of items) {
|
|
103
|
+
nextIds.add(getId(item));
|
|
104
|
+
}
|
|
105
|
+
setSelectedIds(nextIds);
|
|
106
|
+
return nextIds;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
[allSelected, getId, items]
|
|
110
|
+
);
|
|
111
|
+
const clearSelection = useCallback(() => {
|
|
112
|
+
setSelectedIds(/* @__PURE__ */ new Set());
|
|
113
|
+
setSelectedItemMap(/* @__PURE__ */ new Map());
|
|
114
|
+
}, []);
|
|
115
|
+
return {
|
|
116
|
+
selectedIds,
|
|
117
|
+
selectedItems,
|
|
118
|
+
selectedItemMap,
|
|
119
|
+
toggleItem,
|
|
120
|
+
toggleId,
|
|
121
|
+
clearSelection,
|
|
122
|
+
allSelected,
|
|
123
|
+
anySelected,
|
|
124
|
+
toggleAll
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export { useTableSelection };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
function useTableSettings(storageKey) {
|
|
6
|
+
const [viewMode, setViewMode] = react.useState("compact");
|
|
7
|
+
react.useEffect(() => {
|
|
8
|
+
if (typeof window !== "undefined" && storageKey) {
|
|
9
|
+
const storedMode = window.localStorage.getItem(`dbc-table-settings:${storageKey}`);
|
|
10
|
+
if (storedMode === "compact" || storedMode === "comfortable") {
|
|
11
|
+
setViewMode(storedMode);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}, [storageKey]);
|
|
15
|
+
const toggleViewMode = react.useCallback(() => {
|
|
16
|
+
if (typeof window !== "undefined" && storageKey) {
|
|
17
|
+
const newMode = viewMode === "comfortable" ? "compact" : "comfortable";
|
|
18
|
+
window.localStorage.setItem(`dbc-table-settings:${storageKey}`, newMode);
|
|
19
|
+
}
|
|
20
|
+
setViewMode((prevMode) => prevMode === "comfortable" ? "compact" : "comfortable");
|
|
21
|
+
}, [storageKey, viewMode]);
|
|
22
|
+
return {
|
|
23
|
+
viewMode,
|
|
24
|
+
toggleViewMode
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
exports.useTableSettings = useTableSettings;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
function useTableSettings(storageKey) {
|
|
4
|
+
const [viewMode, setViewMode] = useState("compact");
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (typeof window !== "undefined" && storageKey) {
|
|
7
|
+
const storedMode = window.localStorage.getItem(`dbc-table-settings:${storageKey}`);
|
|
8
|
+
if (storedMode === "compact" || storedMode === "comfortable") {
|
|
9
|
+
setViewMode(storedMode);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}, [storageKey]);
|
|
13
|
+
const toggleViewMode = useCallback(() => {
|
|
14
|
+
if (typeof window !== "undefined" && storageKey) {
|
|
15
|
+
const newMode = viewMode === "comfortable" ? "compact" : "comfortable";
|
|
16
|
+
window.localStorage.setItem(`dbc-table-settings:${storageKey}`, newMode);
|
|
17
|
+
}
|
|
18
|
+
setViewMode((prevMode) => prevMode === "comfortable" ? "compact" : "comfortable");
|
|
19
|
+
}, [storageKey, viewMode]);
|
|
20
|
+
return {
|
|
21
|
+
viewMode,
|
|
22
|
+
toggleViewMode
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { useTableSettings };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
function defaultDuration(ms) {
|
|
6
|
+
if (!Number.isFinite(ms) || ms < 0) return "\u2014";
|
|
7
|
+
const sec = Math.floor(ms / 1e3) % 60;
|
|
8
|
+
const min = Math.floor(ms / (1e3 * 60)) % 60;
|
|
9
|
+
const hr = Math.floor(ms / (1e3 * 60 * 60));
|
|
10
|
+
return hr > 0 ? `${hr}t ${min}m ${sec}s` : `${min}m ${sec}s`;
|
|
11
|
+
}
|
|
12
|
+
function useTimeDuration({
|
|
13
|
+
start,
|
|
14
|
+
end,
|
|
15
|
+
dateFormat = { dateStyle: "short", timeStyle: "medium" },
|
|
16
|
+
fallback = "\u2014",
|
|
17
|
+
formatDuration = defaultDuration
|
|
18
|
+
}) {
|
|
19
|
+
const [hydrated, setHydrated] = react.useState(false);
|
|
20
|
+
react.useEffect(() => setHydrated(true), []);
|
|
21
|
+
const started = react.useMemo(() => {
|
|
22
|
+
if (!start) return fallback;
|
|
23
|
+
if (!hydrated) return fallback;
|
|
24
|
+
return new Intl.DateTimeFormat(void 0, dateFormat).format(start);
|
|
25
|
+
}, [start, hydrated, fallback, dateFormat]);
|
|
26
|
+
const ended = react.useMemo(() => {
|
|
27
|
+
if (!end) return fallback;
|
|
28
|
+
if (!hydrated) return fallback;
|
|
29
|
+
return new Intl.DateTimeFormat(void 0, dateFormat).format(end);
|
|
30
|
+
}, [end, hydrated, fallback, dateFormat]);
|
|
31
|
+
const duration = react.useMemo(() => {
|
|
32
|
+
if (!start || !end) return fallback;
|
|
33
|
+
if (!hydrated) return fallback;
|
|
34
|
+
return formatDuration(end.getTime() - start.getTime());
|
|
35
|
+
}, [start, end, hydrated, fallback, formatDuration]);
|
|
36
|
+
return { started, ended, duration, hydrated };
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
exports.useTimeDuration = useTimeDuration;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type useTimeDuration = {
|
|
2
|
+
/** Formatted start date (hydration-safe) */
|
|
3
|
+
started: string;
|
|
4
|
+
/** Formatted end date (hydration-safe) */
|
|
5
|
+
ended: string;
|
|
6
|
+
/** Formatted duration (hydration-safe) */
|
|
7
|
+
duration: string;
|
|
8
|
+
/** Whether client hydration has completed */
|
|
9
|
+
hydrated: boolean;
|
|
10
|
+
};
|
|
11
|
+
type useTimeDurationArgs = {
|
|
12
|
+
start?: Date;
|
|
13
|
+
end?: Date;
|
|
14
|
+
/** Intl options for started/ended formatting */
|
|
15
|
+
dateFormat?: Intl.DateTimeFormatOptions;
|
|
16
|
+
/** Placeholder shown before hydration or when date is missing */
|
|
17
|
+
fallback?: string;
|
|
18
|
+
/** Custom duration formatter if you don’t want the default "1t 2m 3s" */
|
|
19
|
+
formatDuration?: (ms: number) => string;
|
|
20
|
+
};
|
|
21
|
+
export declare function useTimeDuration({ start, end, dateFormat, fallback, formatDuration, }: useTimeDurationArgs): useTimeDuration;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
function defaultDuration(ms) {
|
|
4
|
+
if (!Number.isFinite(ms) || ms < 0) return "\u2014";
|
|
5
|
+
const sec = Math.floor(ms / 1e3) % 60;
|
|
6
|
+
const min = Math.floor(ms / (1e3 * 60)) % 60;
|
|
7
|
+
const hr = Math.floor(ms / (1e3 * 60 * 60));
|
|
8
|
+
return hr > 0 ? `${hr}t ${min}m ${sec}s` : `${min}m ${sec}s`;
|
|
9
|
+
}
|
|
10
|
+
function useTimeDuration({
|
|
11
|
+
start,
|
|
12
|
+
end,
|
|
13
|
+
dateFormat = { dateStyle: "short", timeStyle: "medium" },
|
|
14
|
+
fallback = "\u2014",
|
|
15
|
+
formatDuration = defaultDuration
|
|
16
|
+
}) {
|
|
17
|
+
const [hydrated, setHydrated] = useState(false);
|
|
18
|
+
useEffect(() => setHydrated(true), []);
|
|
19
|
+
const started = useMemo(() => {
|
|
20
|
+
if (!start) return fallback;
|
|
21
|
+
if (!hydrated) return fallback;
|
|
22
|
+
return new Intl.DateTimeFormat(void 0, dateFormat).format(start);
|
|
23
|
+
}, [start, hydrated, fallback, dateFormat]);
|
|
24
|
+
const ended = useMemo(() => {
|
|
25
|
+
if (!end) return fallback;
|
|
26
|
+
if (!hydrated) return fallback;
|
|
27
|
+
return new Intl.DateTimeFormat(void 0, dateFormat).format(end);
|
|
28
|
+
}, [end, hydrated, fallback, dateFormat]);
|
|
29
|
+
const duration = useMemo(() => {
|
|
30
|
+
if (!start || !end) return fallback;
|
|
31
|
+
if (!hydrated) return fallback;
|
|
32
|
+
return formatDuration(end.getTime() - start.getTime());
|
|
33
|
+
}, [start, end, hydrated, fallback, formatDuration]);
|
|
34
|
+
return { started, ended, duration, hydrated };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { useTimeDuration };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState, useRef, useCallback,
|
|
1
|
+
import { useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
|
|
2
2
|
|
|
3
3
|
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
4
4
|
function useViewportFill(ref, { bottomOffset = 0, min = 120, includeMarginTop = false } = {}) {
|
package/dist/index.cjs
CHANGED
|
@@ -37,6 +37,23 @@ var Select = require('./components/select/Select');
|
|
|
37
37
|
var SplitButton = require('./components/split-button/SplitButton');
|
|
38
38
|
var Tooltip = require('./components/tooltip/Tooltip');
|
|
39
39
|
var SegmentedProgressBar = require('./components/segmented-progress-bar/SegmentedProgressBar');
|
|
40
|
+
var DateTimePicker = require('./components/datetime-picker/DateTimePicker');
|
|
41
|
+
var ModalProvider = require('./components/modal/provider/ModalProvider');
|
|
42
|
+
var Modal = require('./components/modal/Modal');
|
|
43
|
+
var ToastProvider = require('./components/toast/provider/ToastProvider');
|
|
44
|
+
var Toast = require('./components/toast/Toast');
|
|
45
|
+
var AttributeChip = require('./components/attribute-chip/AttributeChip');
|
|
46
|
+
var SplitPane = require('./components/split-pane/SplitPane');
|
|
47
|
+
var Pagination = require('./components/pagination/Pagination');
|
|
48
|
+
var MetaBar = require('./components/meta-bar/MetaBar');
|
|
49
|
+
var CodeBlock = require('./components/code-block/CodeBlock');
|
|
50
|
+
var useTimeDuration = require('./hooks/useTimeDuration');
|
|
51
|
+
var useSorting = require('./hooks/useSorting');
|
|
52
|
+
var usePagination = require('./hooks/usePagination');
|
|
53
|
+
var useTableData = require('./hooks/useTableData');
|
|
54
|
+
var useTableSelection = require('./hooks/useTableSelection');
|
|
55
|
+
var useTableSettings = require('./hooks/useTableSettings');
|
|
56
|
+
var TableSettings = require('./components/table/components/table-settings/TableSettings');
|
|
40
57
|
|
|
41
58
|
|
|
42
59
|
|
|
@@ -262,3 +279,105 @@ Object.keys(SegmentedProgressBar).forEach(function (k) {
|
|
|
262
279
|
get: function () { return SegmentedProgressBar[k]; }
|
|
263
280
|
});
|
|
264
281
|
});
|
|
282
|
+
Object.keys(DateTimePicker).forEach(function (k) {
|
|
283
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
284
|
+
enumerable: true,
|
|
285
|
+
get: function () { return DateTimePicker[k]; }
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
Object.keys(ModalProvider).forEach(function (k) {
|
|
289
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
290
|
+
enumerable: true,
|
|
291
|
+
get: function () { return ModalProvider[k]; }
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
Object.keys(Modal).forEach(function (k) {
|
|
295
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
296
|
+
enumerable: true,
|
|
297
|
+
get: function () { return Modal[k]; }
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
Object.keys(ToastProvider).forEach(function (k) {
|
|
301
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
302
|
+
enumerable: true,
|
|
303
|
+
get: function () { return ToastProvider[k]; }
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
Object.keys(Toast).forEach(function (k) {
|
|
307
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
308
|
+
enumerable: true,
|
|
309
|
+
get: function () { return Toast[k]; }
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
Object.keys(AttributeChip).forEach(function (k) {
|
|
313
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
314
|
+
enumerable: true,
|
|
315
|
+
get: function () { return AttributeChip[k]; }
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
Object.keys(SplitPane).forEach(function (k) {
|
|
319
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
320
|
+
enumerable: true,
|
|
321
|
+
get: function () { return SplitPane[k]; }
|
|
322
|
+
});
|
|
323
|
+
});
|
|
324
|
+
Object.keys(Pagination).forEach(function (k) {
|
|
325
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
326
|
+
enumerable: true,
|
|
327
|
+
get: function () { return Pagination[k]; }
|
|
328
|
+
});
|
|
329
|
+
});
|
|
330
|
+
Object.keys(MetaBar).forEach(function (k) {
|
|
331
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
332
|
+
enumerable: true,
|
|
333
|
+
get: function () { return MetaBar[k]; }
|
|
334
|
+
});
|
|
335
|
+
});
|
|
336
|
+
Object.keys(CodeBlock).forEach(function (k) {
|
|
337
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
338
|
+
enumerable: true,
|
|
339
|
+
get: function () { return CodeBlock[k]; }
|
|
340
|
+
});
|
|
341
|
+
});
|
|
342
|
+
Object.keys(useTimeDuration).forEach(function (k) {
|
|
343
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
344
|
+
enumerable: true,
|
|
345
|
+
get: function () { return useTimeDuration[k]; }
|
|
346
|
+
});
|
|
347
|
+
});
|
|
348
|
+
Object.keys(useSorting).forEach(function (k) {
|
|
349
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
350
|
+
enumerable: true,
|
|
351
|
+
get: function () { return useSorting[k]; }
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
Object.keys(usePagination).forEach(function (k) {
|
|
355
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
356
|
+
enumerable: true,
|
|
357
|
+
get: function () { return usePagination[k]; }
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
Object.keys(useTableData).forEach(function (k) {
|
|
361
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
362
|
+
enumerable: true,
|
|
363
|
+
get: function () { return useTableData[k]; }
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
Object.keys(useTableSelection).forEach(function (k) {
|
|
367
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
368
|
+
enumerable: true,
|
|
369
|
+
get: function () { return useTableSelection[k]; }
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
Object.keys(useTableSettings).forEach(function (k) {
|
|
373
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
374
|
+
enumerable: true,
|
|
375
|
+
get: function () { return useTableSettings[k]; }
|
|
376
|
+
});
|
|
377
|
+
});
|
|
378
|
+
Object.keys(TableSettings).forEach(function (k) {
|
|
379
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
380
|
+
enumerable: true,
|
|
381
|
+
get: function () { return TableSettings[k]; }
|
|
382
|
+
});
|
|
383
|
+
});
|
package/dist/index.d.ts
CHANGED
|
@@ -35,3 +35,20 @@ export * from './components/select/Select';
|
|
|
35
35
|
export * from './components/split-button/SplitButton';
|
|
36
36
|
export * from './components/tooltip/Tooltip';
|
|
37
37
|
export * from './components/segmented-progress-bar/SegmentedProgressBar';
|
|
38
|
+
export * from './components/datetime-picker/DateTimePicker';
|
|
39
|
+
export * from './components/modal/provider/ModalProvider';
|
|
40
|
+
export * from './components/modal/Modal';
|
|
41
|
+
export * from './components/toast/provider/ToastProvider';
|
|
42
|
+
export * from './components/toast/Toast';
|
|
43
|
+
export * from './components/attribute-chip/AttributeChip';
|
|
44
|
+
export * from './components/split-pane/SplitPane';
|
|
45
|
+
export * from './components/pagination/Pagination';
|
|
46
|
+
export * from './components/meta-bar/MetaBar';
|
|
47
|
+
export * from './components/code-block/CodeBlock';
|
|
48
|
+
export * from './hooks/useTimeDuration';
|
|
49
|
+
export * from './hooks/useSorting';
|
|
50
|
+
export * from './hooks/usePagination';
|
|
51
|
+
export * from './hooks/useTableData';
|
|
52
|
+
export * from './hooks/useTableSelection';
|
|
53
|
+
export * from './hooks/useTableSettings';
|
|
54
|
+
export * from './components/table/components/table-settings/TableSettings';
|
package/dist/index.js
CHANGED
|
@@ -35,3 +35,20 @@ export * from './components/select/Select';
|
|
|
35
35
|
export * from './components/split-button/SplitButton';
|
|
36
36
|
export * from './components/tooltip/Tooltip';
|
|
37
37
|
export * from './components/segmented-progress-bar/SegmentedProgressBar';
|
|
38
|
+
export * from './components/datetime-picker/DateTimePicker';
|
|
39
|
+
export * from './components/modal/provider/ModalProvider';
|
|
40
|
+
export * from './components/modal/Modal';
|
|
41
|
+
export * from './components/toast/provider/ToastProvider';
|
|
42
|
+
export * from './components/toast/Toast';
|
|
43
|
+
export * from './components/attribute-chip/AttributeChip';
|
|
44
|
+
export * from './components/split-pane/SplitPane';
|
|
45
|
+
export * from './components/pagination/Pagination';
|
|
46
|
+
export * from './components/meta-bar/MetaBar';
|
|
47
|
+
export * from './components/code-block/CodeBlock';
|
|
48
|
+
export * from './hooks/useTimeDuration';
|
|
49
|
+
export * from './hooks/useSorting';
|
|
50
|
+
export * from './hooks/usePagination';
|
|
51
|
+
export * from './hooks/useTableData';
|
|
52
|
+
export * from './hooks/useTableSelection';
|
|
53
|
+
export * from './hooks/useTableSettings';
|
|
54
|
+
export * from './components/table/components/table-settings/TableSettings';
|