@serendie/ui 1.0.0 → 2.0.0-dev.202507172231
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/checkboxIndeterminate.svg.js +5 -0
- package/dist/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Banner/Banner.d.ts +1 -1
- package/dist/components/BottomNavigation/BottomNavigationItem.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Chart/SerendieChartProps.d.ts +40 -0
- package/dist/components/Chart/SerendieChartProps.js +127 -0
- package/dist/components/Chart/SerendieChartTheme.d.ts +2 -0
- package/dist/components/Chart/SerendieChartTheme.js +150 -0
- package/dist/components/Chart/chartData.d.ts +29 -0
- package/dist/components/Chart/index.d.ts +3 -0
- package/dist/components/Chart/index.js +15 -0
- package/dist/components/CheckBox/CheckBox.js +36 -35
- package/dist/components/ChoiceBox/ChoiceBox.js +45 -39
- package/dist/components/DataTable/DataTableComponent.d.ts +23 -0
- package/dist/components/DataTable/DataTableComponent.js +52 -0
- package/dist/components/DataTable/createColumnHelper.d.ts +2 -0
- package/dist/components/DataTable/createColumnHelper.js +5 -0
- package/dist/components/DataTable/index.d.ts +19 -0
- package/dist/components/DataTable/index.js +28 -0
- package/dist/components/DataTable/table/BodyCell.d.ts +55 -0
- package/dist/components/DataTable/table/BodyCell.js +127 -0
- package/dist/components/DataTable/table/BodyCheckbox.d.ts +4 -0
- package/dist/components/DataTable/table/BodyCheckbox.js +22 -0
- package/dist/components/DataTable/table/HeaderCell.d.ts +8 -0
- package/dist/components/DataTable/table/HeaderCell.js +79 -0
- package/dist/components/DataTable/table/HeaderCheckbox.d.ts +2 -0
- package/dist/components/DataTable/table/HeaderCheckbox.js +26 -0
- package/dist/components/DataTable/table/HeaderRow.d.ts +11 -0
- package/dist/components/DataTable/table/HeaderRow.js +40 -0
- package/dist/components/DataTable/table/Root.d.ts +5 -0
- package/dist/components/DataTable/table/Root.js +34 -0
- package/dist/components/DataTable/table/Row.d.ts +5 -0
- package/dist/components/DataTable/table/Row.js +90 -0
- package/dist/components/DataTable/table/Tbody.d.ts +1 -0
- package/dist/components/DataTable/table/Tbody.js +7 -0
- package/dist/components/DataTable/table/Thead.d.ts +1 -0
- package/dist/components/DataTable/table/Thead.js +7 -0
- package/dist/components/DataTable/table/Tr.d.ts +1 -0
- package/dist/components/DataTable/table/Tr.js +27 -0
- package/dist/components/DataTable/table/index.d.ts +10 -0
- package/dist/components/DataTable/table/index.js +22 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +3 -3
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +4 -2
- package/dist/components/Search/Search.js +34 -33
- package/dist/components/Select/Select.d.ts +2 -1
- package/dist/components/Select/Select.js +47 -41
- package/dist/components/Tabs/TabItem.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +109 -92
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-content.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-indicator.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-trigger.js +10 -12
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item.js +16 -16
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/use-accordion.js +13 -20
- package/dist/node_modules/@ark-ui/react/dist/components/avatar/avatar-root.js +1 -5
- package/dist/node_modules/@ark-ui/react/dist/components/avatar/use-avatar.js +14 -18
- package/dist/node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js +22 -28
- package/dist/node_modules/@ark-ui/react/dist/components/collapsible/collapsible-content.js +7 -9
- package/dist/node_modules/@ark-ui/react/dist/components/collapsible/use-collapsible.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/collection/list-collection.js +5 -0
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-item-group.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-positioner.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-root.js +17 -18
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-trigger.js +10 -9
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/use-combobox-item-context.js +5 -7
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/use-combobox.js +21 -45
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-backdrop.js +10 -9
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-close-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-content.js +6 -5
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-description.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/use-dialog.js +13 -22
- package/dist/node_modules/@ark-ui/react/dist/components/factory.js +26 -24
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js +1 -3
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-item.js +15 -13
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-root.js +13 -14
- package/dist/node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js +10 -0
- package/dist/node_modules/@ark-ui/react/dist/components/menu/use-menu.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-ellipsis.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-next-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-prev-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-root.js +5 -4
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/use-pagination.js +13 -19
- package/dist/node_modules/@ark-ui/react/dist/components/portal/portal.js +25 -16
- package/dist/node_modules/@ark-ui/react/dist/components/presence/split-presence-props.js +3 -2
- package/dist/node_modules/@ark-ui/react/dist/components/presence/use-presence.js +18 -18
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js +1 -5
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js +14 -22
- package/dist/node_modules/@ark-ui/react/dist/components/select/select-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/select/select-root.js +11 -12
- package/dist/node_modules/@ark-ui/react/dist/components/select/use-select.js +20 -47
- package/dist/node_modules/@ark-ui/react/dist/components/switch/switch-hidden-input.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/switch/use-switch.js +20 -26
- package/dist/node_modules/@ark-ui/react/dist/components/tabs/tabs-root.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/tabs/use-tabs.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/toast/create-toaster.js +3 -7
- package/dist/node_modules/@ark-ui/react/dist/components/toast/toaster.js +28 -15
- package/dist/node_modules/@ark-ui/react/dist/utils/compose-refs.js +13 -7
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +92 -90
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +230 -216
- package/dist/node_modules/@tanstack/react-table/build/lib/index.js +100 -0
- package/dist/node_modules/@tanstack/table-core/build/lib/index.js +1741 -0
- package/dist/node_modules/@zag-js/accordion/dist/index.js +210 -227
- package/dist/node_modules/@zag-js/aria-hidden/dist/index.js +49 -12
- package/dist/node_modules/@zag-js/avatar/dist/index.js +119 -134
- package/dist/node_modules/@zag-js/checkbox/dist/index.js +196 -197
- package/dist/node_modules/@zag-js/collapsible/dist/index.js +250 -198
- package/dist/node_modules/@zag-js/collection/dist/index.js +172 -179
- package/dist/node_modules/@zag-js/combobox/dist/index.js +1176 -1082
- package/dist/node_modules/@zag-js/core/dist/index.js +77 -496
- package/dist/node_modules/@zag-js/dialog/dist/index.js +243 -270
- package/dist/node_modules/@zag-js/dismissable/dist/index.js +62 -60
- package/dist/node_modules/@zag-js/dom-query/dist/index.js +462 -255
- package/dist/node_modules/@zag-js/focus-trap/dist/index.js +307 -0
- package/dist/node_modules/@zag-js/focus-visible/dist/index.js +48 -47
- package/dist/node_modules/@zag-js/interact-outside/dist/index.js +112 -80
- package/dist/node_modules/@zag-js/menu/dist/index.js +998 -884
- package/dist/node_modules/@zag-js/pagination/dist/index.js +207 -213
- package/dist/node_modules/@zag-js/popper/dist/index.js +130 -129
- package/dist/node_modules/@zag-js/presence/dist/index.js +139 -122
- package/dist/node_modules/@zag-js/radio-group/dist/index.js +297 -302
- package/dist/node_modules/@zag-js/react/dist/index.js +255 -103
- package/dist/node_modules/@zag-js/remove-scroll/dist/index.js +18 -31
- package/dist/node_modules/@zag-js/select/dist/index.js +889 -885
- package/dist/node_modules/@zag-js/switch/dist/index.js +199 -191
- package/dist/node_modules/@zag-js/tabs/dist/index.js +383 -386
- package/dist/node_modules/@zag-js/toast/dist/index.js +646 -633
- package/dist/node_modules/@zag-js/types/dist/index.js +6 -6
- package/dist/node_modules/@zag-js/utils/dist/index.js +112 -99
- package/dist/styled-system/tokens/index.js +4758 -0
- package/dist/styles.css +1 -1
- package/dist/tokens/getToken.js +4 -4
- package/dist/utils/colors.d.ts +1 -0
- package/dist/utils/colors.js +12 -0
- package/package.json +10 -4
- package/dist/node_modules/@ark-ui/react/dist/utils/use-is-server.js +0 -10
- package/dist/node_modules/@zag-js/dom-event/dist/index.js +0 -130
- package/dist/node_modules/@zag-js/element-rect/dist/index.js +0 -32
- package/dist/node_modules/@zag-js/form-utils/dist/index.js +0 -51
- package/dist/node_modules/@zag-js/store/dist/index.js +0 -170
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +0 -52
- package/dist/node_modules/focus-trap/dist/focus-trap.esm.js +0 -431
- package/dist/node_modules/klona/full/index.js +0 -21
- package/dist/node_modules/proxy-compare/dist/index.js +0 -109
- package/dist/node_modules/tabbable/dist/index.esm.js +0 -202
|
@@ -2,22 +2,23 @@ import { jsxs as d, jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import "../../styled-system/css/css.js";
|
|
3
3
|
import { cx as n } from "../../styled-system/css/cx.js";
|
|
4
4
|
import "../../styled-system/helpers.js";
|
|
5
|
-
import { sva as
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import C from "../../assets/
|
|
9
|
-
import x from "../../assets/
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
5
|
+
import { sva as k } from "../../styled-system/css/sva.js";
|
|
6
|
+
import I from "../../assets/checkboxChecked.svg.js";
|
|
7
|
+
import p from "../../assets/checkboxUnchecked.svg.js";
|
|
8
|
+
import C from "../../assets/checkboxIndeterminate.svg.js";
|
|
9
|
+
import x from "../../assets/radioChecked.svg.js";
|
|
10
|
+
import l from "../../assets/radioUnchecked.svg.js";
|
|
11
|
+
import { checkboxUncheckedIconCss as b, checkboxCheckedIconCss as f, checkboxIconCss as u } from "../CheckBox/CheckBox.js";
|
|
12
|
+
import { radioUncheckedIconCss as U, radioCheckedIconCss as N, radioIconCss as g } from "../RadioButton/RadioButton.js";
|
|
12
13
|
import { RadioGroupItem as R } from "../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js";
|
|
13
|
-
import { RadioGroupItemContext as
|
|
14
|
-
import { RadioGroupItemControl as
|
|
15
|
-
import { RadioGroupItemHiddenInput as
|
|
16
|
-
import { CheckboxRoot as
|
|
17
|
-
import { CheckboxContext as
|
|
18
|
-
import { CheckboxControl as
|
|
19
|
-
import { CheckboxHiddenInput as
|
|
20
|
-
const h =
|
|
14
|
+
import { RadioGroupItemContext as v } from "../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-context.js";
|
|
15
|
+
import { RadioGroupItemControl as S } from "../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js";
|
|
16
|
+
import { RadioGroupItemHiddenInput as G } from "../../node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-hidden-input.js";
|
|
17
|
+
import { CheckboxRoot as P } from "../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js";
|
|
18
|
+
import { CheckboxContext as j } from "../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-context.js";
|
|
19
|
+
import { CheckboxControl as y } from "../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js";
|
|
20
|
+
import { CheckboxHiddenInput as B } from "../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js";
|
|
21
|
+
const h = k({
|
|
21
22
|
slots: [
|
|
22
23
|
"root",
|
|
23
24
|
"radioItem",
|
|
@@ -31,53 +32,58 @@ const h = a({
|
|
|
31
32
|
root: {
|
|
32
33
|
display: "flex"
|
|
33
34
|
},
|
|
34
|
-
radioItem:
|
|
35
|
-
radioCheckedIcon:
|
|
36
|
-
radioUncheckedIcon:
|
|
37
|
-
checkboxItem:
|
|
38
|
-
checkboxCheckedIcon:
|
|
39
|
-
checkboxUncheckedIcon:
|
|
35
|
+
radioItem: g,
|
|
36
|
+
radioCheckedIcon: N,
|
|
37
|
+
radioUncheckedIcon: U,
|
|
38
|
+
checkboxItem: u,
|
|
39
|
+
checkboxCheckedIcon: f,
|
|
40
|
+
checkboxUncheckedIcon: b
|
|
40
41
|
}
|
|
41
|
-
}),
|
|
42
|
+
}), _ = ({
|
|
42
43
|
type: r,
|
|
43
44
|
value: t,
|
|
44
45
|
className: i,
|
|
45
|
-
...
|
|
46
|
+
...m
|
|
46
47
|
}) => {
|
|
47
|
-
const [
|
|
48
|
+
const [s, a] = h.splitVariantProps(m), e = h(s);
|
|
48
49
|
if (r === "radio")
|
|
49
50
|
return /* @__PURE__ */ d(
|
|
50
51
|
R,
|
|
51
52
|
{
|
|
52
53
|
value: t,
|
|
53
|
-
className: n("group",
|
|
54
|
-
...
|
|
54
|
+
className: n("group", e.root, i),
|
|
55
|
+
...a,
|
|
55
56
|
children: [
|
|
56
|
-
/* @__PURE__ */ o(
|
|
57
|
-
/* @__PURE__ */ o(
|
|
57
|
+
/* @__PURE__ */ o(v, { children: (c) => /* @__PURE__ */ o(S, { className: e.radioItem, asChild: !0, children: c.checked ? /* @__PURE__ */ o(x, { className: e.radioCheckedIcon }) : /* @__PURE__ */ o(l, { className: e.radioUncheckedIcon }) }) }),
|
|
58
|
+
/* @__PURE__ */ o(G, {})
|
|
58
59
|
]
|
|
59
60
|
}
|
|
60
61
|
);
|
|
61
62
|
if (r === "checkbox")
|
|
62
|
-
return /* @__PURE__ */
|
|
63
|
-
|
|
63
|
+
return /* @__PURE__ */ o(
|
|
64
|
+
P,
|
|
64
65
|
{
|
|
65
66
|
value: t,
|
|
66
|
-
className: n("group",
|
|
67
|
+
className: n("group", e.root, i),
|
|
67
68
|
...m,
|
|
68
|
-
children: [
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
children: /* @__PURE__ */ o(j, { children: (c) => /* @__PURE__ */ d(y, { className: e.checkboxItem, children: [
|
|
70
|
+
c.checked === !0 ? /* @__PURE__ */ o(I, { className: e.checkboxCheckedIcon }) : c.indeterminate === !0 ? /* @__PURE__ */ o(
|
|
71
|
+
C,
|
|
71
72
|
{
|
|
72
|
-
className:
|
|
73
|
+
className: e.checkboxCheckedIcon
|
|
73
74
|
}
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
) : /* @__PURE__ */ o(
|
|
76
|
+
p,
|
|
77
|
+
{
|
|
78
|
+
className: e.checkboxUncheckedIcon
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
/* @__PURE__ */ o(B, {})
|
|
82
|
+
] }) })
|
|
77
83
|
}
|
|
78
84
|
);
|
|
79
85
|
};
|
|
80
86
|
export {
|
|
81
|
-
|
|
87
|
+
_ as ChoiceBox,
|
|
82
88
|
h as ChoiceBoxStyle
|
|
83
89
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ColumnDef, SortingState } from '@tanstack/react-table';
|
|
2
|
+
/**
|
|
3
|
+
* TanStack Tableは設計上、各カラムが異なる値の型を持つことを前提としています。
|
|
4
|
+
* createColumnHelperは各カラムに正確な型(string, number等)を付与しますが、
|
|
5
|
+
* これらを単一の配列にまとめる際、TypeScriptの型システムの制約により問題が生じます。
|
|
6
|
+
*
|
|
7
|
+
* TanStack Table自体も内部実装で`ColumnDef<TData, any>[]`を使用しており、
|
|
8
|
+
* これは意図的な設計判断です。これに従い、型エイリアスで意図を明確にします。
|
|
9
|
+
* https://github.com/TanStack/table/blob/0cc6992c7836489661a0954a2b56e620850ad4da/packages/table-core/src/types.ts#L288C1-L289C1
|
|
10
|
+
*/
|
|
11
|
+
type TableColumnDef<TData> = ColumnDef<TData, any>;
|
|
12
|
+
export interface DataTableComponentProps<TData = Record<string, unknown>> {
|
|
13
|
+
data: TData[];
|
|
14
|
+
columns: TableColumnDef<TData>[];
|
|
15
|
+
enableRowSelection?: boolean;
|
|
16
|
+
enableSorting?: boolean;
|
|
17
|
+
initialSorting?: SortingState;
|
|
18
|
+
onRowSelectionChange?: (selection: Record<string, boolean>) => void;
|
|
19
|
+
onSortingChange?: (sorting: SortingState) => void;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function DataTableComponent<TData = Record<string, unknown>>({ data, columns, enableRowSelection, enableSorting, initialSorting, onSortingChange, className, }: DataTableComponentProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default DataTableComponent;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs as M, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as a } from "react";
|
|
3
|
+
import { useReactTable as T } from "../../node_modules/@tanstack/react-table/build/lib/index.js";
|
|
4
|
+
import { DataTable as t } from "./index.js";
|
|
5
|
+
import { getSortedRowModel as S, getCoreRowModel as b } from "../../node_modules/@tanstack/table-core/build/lib/index.js";
|
|
6
|
+
function D({
|
|
7
|
+
data: l = [],
|
|
8
|
+
columns: m = [],
|
|
9
|
+
enableRowSelection: r = !0,
|
|
10
|
+
enableSorting: c = !0,
|
|
11
|
+
initialSorting: f = [],
|
|
12
|
+
onSortingChange: s,
|
|
13
|
+
className: w
|
|
14
|
+
}) {
|
|
15
|
+
const [R, p] = a({}), [i, g] = a(f), u = (o) => {
|
|
16
|
+
const n = typeof o == "function" ? o(i) : o;
|
|
17
|
+
g(n), s == null || s(n);
|
|
18
|
+
}, d = T({
|
|
19
|
+
data: l,
|
|
20
|
+
columns: m,
|
|
21
|
+
getCoreRowModel: b(),
|
|
22
|
+
getSortedRowModel: S(),
|
|
23
|
+
state: { rowSelection: R, sorting: i },
|
|
24
|
+
onRowSelectionChange: p,
|
|
25
|
+
onSortingChange: u,
|
|
26
|
+
enableRowSelection: r,
|
|
27
|
+
enableSorting: c
|
|
28
|
+
});
|
|
29
|
+
return /* @__PURE__ */ M(t.Root, { className: w, children: [
|
|
30
|
+
/* @__PURE__ */ e(t.Thead, { children: d.getHeaderGroups().map((o) => /* @__PURE__ */ e(
|
|
31
|
+
t.HeaderRow,
|
|
32
|
+
{
|
|
33
|
+
headerGroup: o,
|
|
34
|
+
enableRowSelection: r,
|
|
35
|
+
table: d
|
|
36
|
+
},
|
|
37
|
+
o.id
|
|
38
|
+
)) }),
|
|
39
|
+
/* @__PURE__ */ e(t.Tbody, { children: d.getRowModel().rows.map((o) => /* @__PURE__ */ e(
|
|
40
|
+
t.Row,
|
|
41
|
+
{
|
|
42
|
+
row: o,
|
|
43
|
+
enableRowSelection: r
|
|
44
|
+
},
|
|
45
|
+
o.id
|
|
46
|
+
)) })
|
|
47
|
+
] });
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
D as DataTableComponent,
|
|
51
|
+
D as default
|
|
52
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createColumnHelper } from './createColumnHelper';
|
|
2
|
+
import { DataTableComponent, DataTableComponentProps } from './DataTableComponent';
|
|
3
|
+
import { BodyCell, Root, Row, HeaderRow, Thead, Tr, HeaderCheckbox, BodyCheckbox, Tbody, HeaderCell } from './table';
|
|
4
|
+
interface DataTableCompound {
|
|
5
|
+
<TData = Record<string, unknown>>(props: DataTableComponentProps<TData>): JSX.Element;
|
|
6
|
+
BodyCell: typeof BodyCell;
|
|
7
|
+
BodyCheckbox: typeof BodyCheckbox;
|
|
8
|
+
Tbody: typeof Tbody;
|
|
9
|
+
HeaderCell: typeof HeaderCell;
|
|
10
|
+
HeaderCheckbox: typeof HeaderCheckbox;
|
|
11
|
+
HeaderRow: typeof HeaderRow;
|
|
12
|
+
Root: typeof Root;
|
|
13
|
+
Row: typeof Row;
|
|
14
|
+
Thead: typeof Thead;
|
|
15
|
+
Tr: typeof Tr;
|
|
16
|
+
createColumnHelper: typeof createColumnHelper;
|
|
17
|
+
}
|
|
18
|
+
declare const DataTable: DataTableCompound;
|
|
19
|
+
export { DataTable, DataTableComponent };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createColumnHelper as r } from "./createColumnHelper.js";
|
|
2
|
+
import { DataTableComponent as e } from "./DataTableComponent.js";
|
|
3
|
+
import { Root as m } from "./table/Root.js";
|
|
4
|
+
import { Thead as t } from "./table/Thead.js";
|
|
5
|
+
import { Tr as a } from "./table/Tr.js";
|
|
6
|
+
import { Row as p } from "./table/Row.js";
|
|
7
|
+
import { HeaderRow as d } from "./table/HeaderRow.js";
|
|
8
|
+
import { BodyCell as l } from "./table/BodyCell.js";
|
|
9
|
+
import { HeaderCheckbox as f } from "./table/HeaderCheckbox.js";
|
|
10
|
+
import { BodyCheckbox as i } from "./table/BodyCheckbox.js";
|
|
11
|
+
import { Tbody as C } from "./table/Tbody.js";
|
|
12
|
+
import { HeaderCell as b } from "./table/HeaderCell.js";
|
|
13
|
+
const o = e;
|
|
14
|
+
o.BodyCell = l;
|
|
15
|
+
o.BodyCheckbox = i;
|
|
16
|
+
o.Tbody = C;
|
|
17
|
+
o.HeaderCell = b;
|
|
18
|
+
o.HeaderCheckbox = f;
|
|
19
|
+
o.HeaderRow = d;
|
|
20
|
+
o.Root = m;
|
|
21
|
+
o.Row = p;
|
|
22
|
+
o.Thead = t;
|
|
23
|
+
o.Tr = a;
|
|
24
|
+
o.createColumnHelper = r;
|
|
25
|
+
export {
|
|
26
|
+
o as DataTable,
|
|
27
|
+
e as DataTableComponent
|
|
28
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { RecipeVariantProps } from '../../../../styled-system/css';
|
|
2
|
+
declare const cellStyle: import('../../../../styled-system/types').RecipeRuntimeFn<{
|
|
3
|
+
type: {
|
|
4
|
+
default: {
|
|
5
|
+
background: "sd.system.color.component.surface";
|
|
6
|
+
};
|
|
7
|
+
success: {
|
|
8
|
+
background: "sd.system.color.impression.positiveContainerVariant";
|
|
9
|
+
};
|
|
10
|
+
notice: {
|
|
11
|
+
background: "sd.system.color.impression.noticeContainerVariant";
|
|
12
|
+
};
|
|
13
|
+
error: {
|
|
14
|
+
background: "sd.system.color.impression.negativeContainerVariant";
|
|
15
|
+
color: "sd.system.color.impression.onNegativeContainerVariant";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
state: {
|
|
19
|
+
enabled: {};
|
|
20
|
+
hovered: {
|
|
21
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.component.surface) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)";
|
|
22
|
+
};
|
|
23
|
+
selected: {
|
|
24
|
+
background: "sd.system.color.component.inversePrimary";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
size: {
|
|
28
|
+
small: {
|
|
29
|
+
fontSize: "11px";
|
|
30
|
+
height: "24px";
|
|
31
|
+
};
|
|
32
|
+
medium: {
|
|
33
|
+
fontSize: "13px";
|
|
34
|
+
height: "32px";
|
|
35
|
+
};
|
|
36
|
+
large: {
|
|
37
|
+
fontSize: "15px";
|
|
38
|
+
height: "40px";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}>;
|
|
42
|
+
type CellStyleVariants = RecipeVariantProps<typeof cellStyle>;
|
|
43
|
+
type ExtractVariantProperty<T, K extends string> = NonNullable<T> extends infer V ? V extends {
|
|
44
|
+
[P in K]?: infer U;
|
|
45
|
+
} ? U : never : never;
|
|
46
|
+
export type CellType = ExtractVariantProperty<CellStyleVariants, "type">;
|
|
47
|
+
type CellState = ExtractVariantProperty<CellStyleVariants, "state">;
|
|
48
|
+
type CellSize = ExtractVariantProperty<CellStyleVariants, "size">;
|
|
49
|
+
export declare const BodyCell: React.FC<{
|
|
50
|
+
children: React.ReactNode;
|
|
51
|
+
size?: CellSize;
|
|
52
|
+
type?: CellType | string;
|
|
53
|
+
state?: CellState;
|
|
54
|
+
}>;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import "../../../styled-system/css/css.js";
|
|
3
|
+
import { cva as i } from "../../../styled-system/css/cva.js";
|
|
4
|
+
import "../../../styled-system/helpers.js";
|
|
5
|
+
const a = i({
|
|
6
|
+
base: {
|
|
7
|
+
borderBottom: "1px solid",
|
|
8
|
+
borderColor: "sd.system.color.component.outline",
|
|
9
|
+
fontFamily: "Roboto, sans-serif",
|
|
10
|
+
color: "sd.system.color.component.onSurface",
|
|
11
|
+
textAlign: "left",
|
|
12
|
+
verticalAlign: "middle",
|
|
13
|
+
fontWeight: 400,
|
|
14
|
+
fontSize: "13px",
|
|
15
|
+
px: "sd.system.dimension.spacing.extraSmall",
|
|
16
|
+
py: "sd.system.dimension.spacing.twoExtraSmall",
|
|
17
|
+
height: "32px",
|
|
18
|
+
whiteSpace: "nowrap"
|
|
19
|
+
},
|
|
20
|
+
variants: {
|
|
21
|
+
type: {
|
|
22
|
+
default: {
|
|
23
|
+
background: "sd.system.color.component.surface"
|
|
24
|
+
},
|
|
25
|
+
success: {
|
|
26
|
+
background: "sd.system.color.impression.positiveContainerVariant"
|
|
27
|
+
},
|
|
28
|
+
notice: {
|
|
29
|
+
background: "sd.system.color.impression.noticeContainerVariant"
|
|
30
|
+
},
|
|
31
|
+
error: {
|
|
32
|
+
background: "sd.system.color.impression.negativeContainerVariant",
|
|
33
|
+
color: "sd.system.color.impression.onNegativeContainerVariant"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
state: {
|
|
37
|
+
enabled: {},
|
|
38
|
+
hovered: {
|
|
39
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.component.surface) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)"
|
|
40
|
+
},
|
|
41
|
+
selected: {
|
|
42
|
+
background: "sd.system.color.component.inversePrimary"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
size: {
|
|
46
|
+
small: { fontSize: "11px", height: "24px" },
|
|
47
|
+
medium: { fontSize: "13px", height: "32px" },
|
|
48
|
+
large: { fontSize: "15px", height: "40px" }
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
compoundVariants: [
|
|
52
|
+
{
|
|
53
|
+
type: "success",
|
|
54
|
+
state: "hovered",
|
|
55
|
+
css: {
|
|
56
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.positiveContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
57
|
+
opacity: 0.95
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
type: "notice",
|
|
62
|
+
state: "hovered",
|
|
63
|
+
css: {
|
|
64
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.noticeContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
65
|
+
opacity: 0.95
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
type: "error",
|
|
70
|
+
state: "hovered",
|
|
71
|
+
css: {
|
|
72
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.negativeContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
73
|
+
opacity: 0.95
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
type: "success",
|
|
78
|
+
state: "selected",
|
|
79
|
+
css: {
|
|
80
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.positiveContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
81
|
+
opacity: 0.98
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: "notice",
|
|
86
|
+
state: "selected",
|
|
87
|
+
css: {
|
|
88
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.noticeContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
89
|
+
opacity: 0.98
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: "error",
|
|
94
|
+
state: "selected",
|
|
95
|
+
css: {
|
|
96
|
+
background: "color-mix(in srgb, token(colors.sd.system.color.impression.negativeContainerVariant) 95%, token(colors.sd.system.color.component.inverseSurface) 5%)",
|
|
97
|
+
opacity: 0.98
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
defaultVariants: {
|
|
102
|
+
type: "default",
|
|
103
|
+
state: "enabled"
|
|
104
|
+
}
|
|
105
|
+
}), l = ["default", "success", "notice", "error"], m = (o) => l.includes(o) ? o : "default", g = ({
|
|
106
|
+
children: o,
|
|
107
|
+
size: t = "medium",
|
|
108
|
+
type: r = "default",
|
|
109
|
+
state: e = "enabled",
|
|
110
|
+
...n
|
|
111
|
+
}) => {
|
|
112
|
+
const s = m(r);
|
|
113
|
+
return /* @__PURE__ */ c(
|
|
114
|
+
"td",
|
|
115
|
+
{
|
|
116
|
+
role: "cell",
|
|
117
|
+
"data-type": s,
|
|
118
|
+
"data-state": e,
|
|
119
|
+
className: a({ size: t, type: s, state: e }),
|
|
120
|
+
...n,
|
|
121
|
+
children: o
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
};
|
|
125
|
+
export {
|
|
126
|
+
g as BodyCell
|
|
127
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { ChoiceBox as i } from "../../ChoiceBox/ChoiceBox.js";
|
|
3
|
+
import { DataTable as l } from "../index.js";
|
|
4
|
+
const b = ({
|
|
5
|
+
checked: e,
|
|
6
|
+
onChange: r,
|
|
7
|
+
value: t,
|
|
8
|
+
state: c = "enabled",
|
|
9
|
+
...m
|
|
10
|
+
}) => /* @__PURE__ */ o(l.BodyCell, { state: c, children: /* @__PURE__ */ o(
|
|
11
|
+
i,
|
|
12
|
+
{
|
|
13
|
+
...m,
|
|
14
|
+
type: "checkbox",
|
|
15
|
+
value: t,
|
|
16
|
+
checked: e,
|
|
17
|
+
onChange: r
|
|
18
|
+
}
|
|
19
|
+
) });
|
|
20
|
+
export {
|
|
21
|
+
b as BodyCheckbox
|
|
22
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const HeaderCell: ({ children, size, state, sortable, sortDirection, onSort, className, ...props }: React.PropsWithChildren<{
|
|
2
|
+
size?: "small" | "medium" | "large";
|
|
3
|
+
state?: "enabled" | "hovered";
|
|
4
|
+
sortable?: boolean;
|
|
5
|
+
sortDirection?: "asc" | "desc" | false;
|
|
6
|
+
onSort?: () => void;
|
|
7
|
+
className?: string;
|
|
8
|
+
}> & React.ComponentProps<"th">) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as l, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { SerendieSymbol as a } from "@serendie/symbols";
|
|
3
|
+
import { css as p } from "../../../styled-system/css/css.js";
|
|
4
|
+
import { cx as f } from "../../../styled-system/css/cx.js";
|
|
5
|
+
import { cva as y } from "../../../styled-system/css/cva.js";
|
|
6
|
+
import "../../../styled-system/helpers.js";
|
|
7
|
+
const u = y({
|
|
8
|
+
base: {
|
|
9
|
+
borderBottom: "1px solid",
|
|
10
|
+
borderColor: "sd.system.color.component.outline",
|
|
11
|
+
fontFamily: "Roboto, sans-serif",
|
|
12
|
+
color: "sd.system.color.component.onSurface",
|
|
13
|
+
textAlign: "left",
|
|
14
|
+
fontWeight: 400,
|
|
15
|
+
fontSize: "14px",
|
|
16
|
+
px: "sd.system.dimension.spacing.extraSmall",
|
|
17
|
+
py: "sd.system.dimension.spacing.twoExtraSmall",
|
|
18
|
+
height: "32px",
|
|
19
|
+
background: "sd.system.color.component.inversePrimary",
|
|
20
|
+
verticalAlign: "middle",
|
|
21
|
+
whiteSpace: "nowrap"
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {}
|
|
24
|
+
}), C = ({
|
|
25
|
+
children: i,
|
|
26
|
+
size: d = "medium",
|
|
27
|
+
state: m = "enabled",
|
|
28
|
+
sortable: e = !1,
|
|
29
|
+
sortDirection: n,
|
|
30
|
+
onSort: o,
|
|
31
|
+
className: r,
|
|
32
|
+
...t
|
|
33
|
+
}) => /* @__PURE__ */ l(
|
|
34
|
+
"th",
|
|
35
|
+
{
|
|
36
|
+
role: "columnheader",
|
|
37
|
+
"aria-sort": n === "asc" ? "ascending" : n === "desc" ? "descending" : e ? "none" : void 0,
|
|
38
|
+
tabIndex: e ? 0 : void 0,
|
|
39
|
+
onClick: e ? o : void 0,
|
|
40
|
+
onKeyDown: (s) => {
|
|
41
|
+
e && (s.key === "Enter" || s.key === " ") && (s.preventDefault(), o == null || o());
|
|
42
|
+
},
|
|
43
|
+
className: f(u({ size: d, state: m }), r),
|
|
44
|
+
style: {
|
|
45
|
+
cursor: e ? "pointer" : "default",
|
|
46
|
+
userSelect: "none"
|
|
47
|
+
},
|
|
48
|
+
...t,
|
|
49
|
+
children: /* @__PURE__ */ c(
|
|
50
|
+
"span",
|
|
51
|
+
{
|
|
52
|
+
className: p({
|
|
53
|
+
display: "inline-flex",
|
|
54
|
+
alignItems: "center",
|
|
55
|
+
verticalAlign: "middle"
|
|
56
|
+
}),
|
|
57
|
+
children: [
|
|
58
|
+
i,
|
|
59
|
+
e && (n === "asc" ? /* @__PURE__ */ l(
|
|
60
|
+
a,
|
|
61
|
+
{
|
|
62
|
+
name: "chevron-double-up",
|
|
63
|
+
style: { marginLeft: 4 }
|
|
64
|
+
}
|
|
65
|
+
) : n === "desc" ? /* @__PURE__ */ l(
|
|
66
|
+
a,
|
|
67
|
+
{
|
|
68
|
+
name: "chevron-double-down",
|
|
69
|
+
style: { marginLeft: 4 }
|
|
70
|
+
}
|
|
71
|
+
) : /* @__PURE__ */ l(a, { name: "chevron-up-down", style: { marginLeft: 4 } }))
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
export {
|
|
78
|
+
C as HeaderCell
|
|
79
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { ChoiceBox as m } from "../../ChoiceBox/ChoiceBox.js";
|
|
3
|
+
import { DataTable as t } from "../index.js";
|
|
4
|
+
import { css as i } from "../../../styled-system/css/css.js";
|
|
5
|
+
import { cx as c } from "../../../styled-system/css/cx.js";
|
|
6
|
+
import "../../../styled-system/helpers.js";
|
|
7
|
+
const d = ({
|
|
8
|
+
className: r,
|
|
9
|
+
...o
|
|
10
|
+
}) => /* @__PURE__ */ e(t.HeaderCell, { children: /* @__PURE__ */ e(
|
|
11
|
+
m,
|
|
12
|
+
{
|
|
13
|
+
...o,
|
|
14
|
+
type: "checkbox",
|
|
15
|
+
className: c(
|
|
16
|
+
i({
|
|
17
|
+
alignItems: "center",
|
|
18
|
+
verticalAlign: "middle"
|
|
19
|
+
}),
|
|
20
|
+
r
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
) });
|
|
24
|
+
export {
|
|
25
|
+
d as HeaderCheckbox
|
|
26
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HeaderGroup } from '@tanstack/react-table';
|
|
2
|
+
export interface HeaderRowProps<TData> {
|
|
3
|
+
headerGroup: HeaderGroup<TData>;
|
|
4
|
+
enableRowSelection?: boolean;
|
|
5
|
+
table: {
|
|
6
|
+
getIsAllRowsSelected: () => boolean;
|
|
7
|
+
getIsSomeRowsSelected: () => boolean;
|
|
8
|
+
getToggleAllRowsSelectedHandler: () => (event: unknown) => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare function HeaderRow<TData>({ headerGroup, enableRowSelection, table, }: HeaderRowProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsxs as m, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { flexRender as i } from "../../../node_modules/@tanstack/react-table/build/lib/index.js";
|
|
3
|
+
import { DataTable as t } from "../index.js";
|
|
4
|
+
import { css as a } from "../../../styled-system/css/css.js";
|
|
5
|
+
import "../../../styled-system/helpers.js";
|
|
6
|
+
function p({
|
|
7
|
+
headerGroup: l,
|
|
8
|
+
enableRowSelection: n,
|
|
9
|
+
table: o
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ m(t.Tr, { children: [
|
|
12
|
+
n && /* @__PURE__ */ r(
|
|
13
|
+
t.HeaderCheckbox,
|
|
14
|
+
{
|
|
15
|
+
checked: o.getIsSomeRowsSelected() ? "indeterminate" : !!o.getIsAllRowsSelected(),
|
|
16
|
+
onChange: o.getToggleAllRowsSelectedHandler(),
|
|
17
|
+
value: "select-all",
|
|
18
|
+
className: a({
|
|
19
|
+
verticalAlign: "middle"
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
l.headers.map((e) => {
|
|
24
|
+
const c = e.column.getCanSort(), s = e.column.getIsSorted();
|
|
25
|
+
return /* @__PURE__ */ r(
|
|
26
|
+
t.HeaderCell,
|
|
27
|
+
{
|
|
28
|
+
sortable: c,
|
|
29
|
+
sortDirection: s,
|
|
30
|
+
onSort: () => e.column.toggleSorting(),
|
|
31
|
+
children: i(e.column.columnDef.header, e.getContext())
|
|
32
|
+
},
|
|
33
|
+
e.id
|
|
34
|
+
);
|
|
35
|
+
})
|
|
36
|
+
] }, l.id);
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
p as HeaderRow
|
|
40
|
+
};
|