@crispy-seed/data-table 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +30 -0
  3. package/README.md +103 -0
  4. package/dist/DataTable-12s-8LMBtS2u.cjs +1532 -0
  5. package/dist/DataTable-12s-Bd20OuMs.js +1482 -0
  6. package/dist/DataTable-12s-Zml1x9Kr-12s-CTRzgvMT.cjs +161 -0
  7. package/dist/DataTable-12s-Zml1x9Kr-12s-Coi-3lUa.js +153 -0
  8. package/dist/Menu-12s-Db_zr1AP.cjs +104 -0
  9. package/dist/Menu-12s-Di5JADW4.js +78 -0
  10. package/dist/Select-12s-1Uh7XbkG.js +219 -0
  11. package/dist/Select-12s-D8DdKT-U.cjs +250 -0
  12. package/dist/body-cells-12s-BnOVUTKN.js +453 -0
  13. package/dist/body-cells-12s-BoOTcg-l.cjs +462 -0
  14. package/dist/column-calc-12s-C6IPSOaF.js +129 -0
  15. package/dist/column-calc-12s-CKuSpe-l.cjs +149 -0
  16. package/dist/column-layout-12s-CTu5yT_D.cjs +120 -0
  17. package/dist/column-layout-12s-s7wnxkMN.js +99 -0
  18. package/dist/column-menu-12s-BPE9N1gs.cjs +427 -0
  19. package/dist/column-menu-12s-mRBk-4oa.js +407 -0
  20. package/dist/data-table-recipe.css +442 -0
  21. package/dist/data-table-recipe.layered.css +505 -0
  22. package/dist/editors-12s-BO9Mp034.js +525 -0
  23. package/dist/editors-12s-DO8TZkYV.cjs +555 -0
  24. package/dist/index.cjs +14 -0
  25. package/dist/index.d.ts +323 -0
  26. package/dist/index.js +10 -0
  27. package/dist/resize-12s-jQY-PX67.cjs +58 -0
  28. package/dist/resize-12s-nsMvrmLt.js +58 -0
  29. package/dist/states-12s-CLO_uVue.cjs +125 -0
  30. package/dist/states-12s-DEFSxJCO.js +122 -0
  31. package/dist/styles.css +14660 -0
  32. package/dist/toolbar-12s-AVU-sbDW.js +69 -0
  33. package/dist/toolbar-12s-CaLgJrDo.cjs +71 -0
  34. package/dist/useDataTable-12s-BHiDUubw-12s-CBeCwTe7.js +61 -0
  35. package/dist/useDataTable-12s-BHiDUubw-12s-Dgvt7XDk.cjs +61 -0
  36. package/dist/useDataTableColumnCalc-12s-DTQQTtEJ-12s-CvD14JYo.cjs +207 -0
  37. package/dist/useDataTableColumnCalc-12s-DTQQTtEJ-12s-DsEse3uq.js +183 -0
  38. package/dist/useDataTableColumns-12s-Cn2ZAzFL-12s-CD6goR59.js +289 -0
  39. package/dist/useDataTableColumns-12s-Cn2ZAzFL-12s-CUk_CpYT.cjs +292 -0
  40. package/dist/useDataTableEdit-12s-9Wb_UCrN-12s-BoOHq3GB.js +98 -0
  41. package/dist/useDataTableEdit-12s-9Wb_UCrN-12s-De6YHBba.cjs +98 -0
  42. package/dist/useDataTableFilter-12s-ZzbmWMin-12s-CWyBeFna.js +74 -0
  43. package/dist/useDataTableFilter-12s-ZzbmWMin-12s-lpjzZY3_.cjs +74 -0
  44. package/dist/useDataTableInfiniteScroll-12s-8ZG31URd-12s-BexjP6iO.js +104 -0
  45. package/dist/useDataTableInfiniteScroll-12s-8ZG31URd-12s-Bt8gojr9.cjs +104 -0
  46. package/dist/useDataTableRow-12s-CPYaDa1p-12s-BmUSAnPe.js +30 -0
  47. package/dist/useDataTableRow-12s-CPYaDa1p-12s-D-DRjwAe.cjs +30 -0
  48. package/dist/useDataTableScroll-12s-BKDCr0en-12s-C7f2vHeG.js +61 -0
  49. package/dist/useDataTableScroll-12s-BKDCr0en-12s-CUvUYMtt.cjs +61 -0
  50. package/dist/useDataTableSearch-12s-Ck3iWcpX-12s-B-65V6gH.js +37 -0
  51. package/dist/useDataTableSearch-12s-Ck3iWcpX-12s-DhVfN2Hq.cjs +37 -0
  52. package/dist/useDataTableSelection-12s-BIDtiRQq-12s-IS__VAnU.cjs +71 -0
  53. package/dist/useDataTableSelection-12s-BIDtiRQq-12s-O6M_BhrH.js +71 -0
  54. package/dist/useDataTableSort-12s-DvJYtmeS-12s-C5VGnsq4.cjs +78 -0
  55. package/dist/useDataTableSort-12s-DvJYtmeS-12s-DABSNt6U.js +78 -0
  56. package/package.json +78 -0
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ import { d as useControllableState } from './useDataTableColumnCalc-12s-DTQQTtEJ-12s-DsEse3uq.js';
12
+ import { useCallback } from 'react';
13
+
14
+ // Owns the toolbar's single free-text query -- the way useDataTableSort owns the single
15
+ // active sort column. It has no idea which columns are searchable or how a row's value
16
+ // is read off them (that needs `TRow`, a type this headless package never sees), so
17
+ // narrowing `data` against the query is the styled layer's job (DataTable.tsx's
18
+ // `getVisibleRows`) -- the same split sort already draws: this hook tracks WHICH state
19
+ // is active, the styled layer decides what that state does to the rows.
20
+ function useDataTableSearch(props) {
21
+ const { query: queryProp, defaultQuery = "", onQueryChange } = props;
22
+ const [query = "", setQuery] = useControllableState({
23
+ prop: queryProp,
24
+ defaultProp: defaultQuery,
25
+ onChange: onQueryChange
26
+ });
27
+ const clearQuery = useCallback(()=>setQuery(""), [
28
+ setQuery
29
+ ]);
30
+ return {
31
+ query,
32
+ setQuery,
33
+ clearQuery
34
+ };
35
+ }
36
+
37
+ export { useDataTableSearch as u };
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ var useDataTableColumnCalc12sDTQQTtEJ12s = require('./useDataTableColumnCalc-12s-DTQQTtEJ-12s-CvD14JYo.cjs');
12
+ var React = require('react');
13
+
14
+ // Owns the toolbar's single free-text query -- the way useDataTableSort owns the single
15
+ // active sort column. It has no idea which columns are searchable or how a row's value
16
+ // is read off them (that needs `TRow`, a type this headless package never sees), so
17
+ // narrowing `data` against the query is the styled layer's job (DataTable.tsx's
18
+ // `getVisibleRows`) -- the same split sort already draws: this hook tracks WHICH state
19
+ // is active, the styled layer decides what that state does to the rows.
20
+ function useDataTableSearch(props) {
21
+ const { query: queryProp, defaultQuery = "", onQueryChange } = props;
22
+ const [query = "", setQuery] = useDataTableColumnCalc12sDTQQTtEJ12s.useControllableState({
23
+ prop: queryProp,
24
+ defaultProp: defaultQuery,
25
+ onChange: onQueryChange
26
+ });
27
+ const clearQuery = React.useCallback(()=>setQuery(""), [
28
+ setQuery
29
+ ]);
30
+ return {
31
+ query,
32
+ setQuery,
33
+ clearQuery
34
+ };
35
+ }
36
+
37
+ exports.useDataTableSearch = useDataTableSearch;
@@ -0,0 +1,71 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ var useDataTableColumnCalc12sDTQQTtEJ12s = require('./useDataTableColumnCalc-12s-DTQQTtEJ-12s-CvD14JYo.cjs');
12
+ var domUtils = require('@seed-design/dom-utils');
13
+ var React = require('react');
14
+ var useDataTableColumns12sCn2ZAzFL12s = require('./useDataTableColumns-12s-Cn2ZAzFL-12s-CUk_CpYT.cjs');
15
+
16
+ // Owns the selected-id set and its two shapes of toggle (one row, select-all) --
17
+ // the way useSelectOptions owns the selected VALUE. `selectionState` and `toggleAll`
18
+ // are always computed against `rowIds` (the currently rendered order), never against
19
+ // `selectedIds` alone -- see dom.ts's `computeSelectionState` doc comment.
20
+ function useDataTableSelection(props) {
21
+ const { rowIds = [], selectable = false, selectedIds: selectedIdsProp, defaultSelectedIds = [], onSelectionChange } = props;
22
+ const [selectedIds = [], setSelectedIds] = useDataTableColumnCalc12sDTQQTtEJ12s.useControllableState({
23
+ prop: selectedIdsProp,
24
+ defaultProp: defaultSelectedIds,
25
+ onChange: onSelectionChange
26
+ });
27
+ const selectedIdSet = React.useMemo(()=>new Set(selectedIds), [
28
+ selectedIds
29
+ ]);
30
+ const isSelected = React.useCallback((id)=>selectedIdSet.has(id), [
31
+ selectedIdSet
32
+ ]);
33
+ const toggleRow = React.useCallback((id)=>{
34
+ setSelectedIds((current = [])=>useDataTableColumns12sCn2ZAzFL12s.toggleMembership(current, id));
35
+ }, [
36
+ setSelectedIds
37
+ ]);
38
+ const selectionState = React.useMemo(()=>useDataTableColumns12sCn2ZAzFL12s.computeSelectionState(rowIds, selectedIds), [
39
+ rowIds,
40
+ selectedIds
41
+ ]);
42
+ const toggleAll = React.useCallback(()=>{
43
+ setSelectedIds(selectionState === "all" ? [] : rowIds);
44
+ }, [
45
+ selectionState,
46
+ rowIds,
47
+ setSelectedIds
48
+ ]);
49
+ const getRowProps = React.useCallback((rowId)=>{
50
+ const isRowSelected = isSelected(rowId);
51
+ return domUtils.elementProps({
52
+ role: "row",
53
+ "aria-selected": domUtils.ariaAttr(isRowSelected),
54
+ "data-selected": domUtils.dataAttr(isRowSelected)
55
+ });
56
+ }, [
57
+ isSelected
58
+ ]);
59
+ return {
60
+ selectable,
61
+ rowIds,
62
+ selectedIds,
63
+ selectionState,
64
+ isSelected,
65
+ toggleRow,
66
+ toggleAll,
67
+ getRowProps
68
+ };
69
+ }
70
+
71
+ exports.useDataTableSelection = useDataTableSelection;
@@ -0,0 +1,71 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ import { d as useControllableState } from './useDataTableColumnCalc-12s-DTQQTtEJ-12s-DsEse3uq.js';
12
+ import { elementProps, dataAttr, ariaAttr } from '@seed-design/dom-utils';
13
+ import { useMemo, useCallback } from 'react';
14
+ import { t as toggleMembership, c as computeSelectionState } from './useDataTableColumns-12s-Cn2ZAzFL-12s-CD6goR59.js';
15
+
16
+ // Owns the selected-id set and its two shapes of toggle (one row, select-all) --
17
+ // the way useSelectOptions owns the selected VALUE. `selectionState` and `toggleAll`
18
+ // are always computed against `rowIds` (the currently rendered order), never against
19
+ // `selectedIds` alone -- see dom.ts's `computeSelectionState` doc comment.
20
+ function useDataTableSelection(props) {
21
+ const { rowIds = [], selectable = false, selectedIds: selectedIdsProp, defaultSelectedIds = [], onSelectionChange } = props;
22
+ const [selectedIds = [], setSelectedIds] = useControllableState({
23
+ prop: selectedIdsProp,
24
+ defaultProp: defaultSelectedIds,
25
+ onChange: onSelectionChange
26
+ });
27
+ const selectedIdSet = useMemo(()=>new Set(selectedIds), [
28
+ selectedIds
29
+ ]);
30
+ const isSelected = useCallback((id)=>selectedIdSet.has(id), [
31
+ selectedIdSet
32
+ ]);
33
+ const toggleRow = useCallback((id)=>{
34
+ setSelectedIds((current = [])=>toggleMembership(current, id));
35
+ }, [
36
+ setSelectedIds
37
+ ]);
38
+ const selectionState = useMemo(()=>computeSelectionState(rowIds, selectedIds), [
39
+ rowIds,
40
+ selectedIds
41
+ ]);
42
+ const toggleAll = useCallback(()=>{
43
+ setSelectedIds(selectionState === "all" ? [] : rowIds);
44
+ }, [
45
+ selectionState,
46
+ rowIds,
47
+ setSelectedIds
48
+ ]);
49
+ const getRowProps = useCallback((rowId)=>{
50
+ const isRowSelected = isSelected(rowId);
51
+ return elementProps({
52
+ role: "row",
53
+ "aria-selected": ariaAttr(isRowSelected),
54
+ "data-selected": dataAttr(isRowSelected)
55
+ });
56
+ }, [
57
+ isSelected
58
+ ]);
59
+ return {
60
+ selectable,
61
+ rowIds,
62
+ selectedIds,
63
+ selectionState,
64
+ isSelected,
65
+ toggleRow,
66
+ toggleAll,
67
+ getRowProps
68
+ };
69
+ }
70
+
71
+ export { useDataTableSelection as u };
@@ -0,0 +1,78 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ var useDataTableColumnCalc12sDTQQTtEJ12s = require('./useDataTableColumnCalc-12s-DTQQTtEJ-12s-CvD14JYo.cjs');
12
+ var domUtils = require('@seed-design/dom-utils');
13
+ var React = require('react');
14
+
15
+ // Owns the single active sort column/direction and the click/keyboard toggle that
16
+ // cycles it -- the way useSelectHighlight owns the single active index. A header
17
+ // cell's full prop set (aria-sort, data-sortable/data-sorted, the click and
18
+ // Enter/Space handlers) is built here too, beside the state it reads, rather than
19
+ // re-derived in the styled layer or the root primitive.
20
+ function useDataTableSort(props) {
21
+ const { sort: sortProp, defaultSort, onSortChange } = props;
22
+ const [sort, setSort] = useDataTableColumnCalc12sDTQQTtEJ12s.useControllableState({
23
+ prop: sortProp,
24
+ defaultProp: defaultSort,
25
+ onChange: (nextSort)=>{
26
+ // `toggleSort` never sets `sort` back to `undefined`, but the underlying state is
27
+ // typed as possibly-undefined so an uncontrolled table can start with no sort at all.
28
+ if (nextSort) onSortChange?.(nextSort);
29
+ }
30
+ });
31
+ const toggleSort = React.useCallback((key)=>{
32
+ setSort((current)=>{
33
+ if (!current || current.key !== key) return {
34
+ key,
35
+ dir: "asc"
36
+ };
37
+ return {
38
+ key,
39
+ dir: current.dir === "asc" ? "desc" : "asc"
40
+ };
41
+ });
42
+ }, [
43
+ setSort
44
+ ]);
45
+ const getHeaderCellProps = React.useCallback((columnKey, sortable)=>{
46
+ const isSorted = Boolean(columnKey) && sort?.key === columnKey;
47
+ const canSort = Boolean(sortable && columnKey);
48
+ return domUtils.elementProps({
49
+ role: "columnheader",
50
+ "aria-sort": canSort ? isSorted ? sort?.dir === "asc" ? "ascending" : "descending" : "none" : undefined,
51
+ tabIndex: canSort ? 0 : undefined,
52
+ "data-sortable": domUtils.dataAttr(canSort),
53
+ "data-sorted": domUtils.dataAttr(isSorted),
54
+ "data-sort-direction": isSorted ? sort?.dir : undefined,
55
+ onClick (event) {
56
+ if (event.defaultPrevented || !canSort || !columnKey) return;
57
+ toggleSort(columnKey);
58
+ },
59
+ onKeyDown (event) {
60
+ if (event.defaultPrevented || !canSort || !columnKey) return;
61
+ if (event.key === "Enter" || event.key === " ") {
62
+ event.preventDefault();
63
+ toggleSort(columnKey);
64
+ }
65
+ }
66
+ });
67
+ }, [
68
+ sort,
69
+ toggleSort
70
+ ]);
71
+ return {
72
+ sort,
73
+ toggleSort,
74
+ getHeaderCellProps
75
+ };
76
+ }
77
+
78
+ exports.useDataTableSort = useDataTableSort;
@@ -0,0 +1,78 @@
1
+ 'use client';
2
+ function __insertCSS(code) {
3
+ if (!code || typeof document == 'undefined') return
4
+ let head = document.head || document.getElementsByTagName('head')[0]
5
+ let style = document.createElement('style')
6
+ style.type = 'text/css'
7
+ head.appendChild(style)
8
+ ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))
9
+ }
10
+
11
+ import { d as useControllableState } from './useDataTableColumnCalc-12s-DTQQTtEJ-12s-DsEse3uq.js';
12
+ import { elementProps, dataAttr } from '@seed-design/dom-utils';
13
+ import { useCallback } from 'react';
14
+
15
+ // Owns the single active sort column/direction and the click/keyboard toggle that
16
+ // cycles it -- the way useSelectHighlight owns the single active index. A header
17
+ // cell's full prop set (aria-sort, data-sortable/data-sorted, the click and
18
+ // Enter/Space handlers) is built here too, beside the state it reads, rather than
19
+ // re-derived in the styled layer or the root primitive.
20
+ function useDataTableSort(props) {
21
+ const { sort: sortProp, defaultSort, onSortChange } = props;
22
+ const [sort, setSort] = useControllableState({
23
+ prop: sortProp,
24
+ defaultProp: defaultSort,
25
+ onChange: (nextSort)=>{
26
+ // `toggleSort` never sets `sort` back to `undefined`, but the underlying state is
27
+ // typed as possibly-undefined so an uncontrolled table can start with no sort at all.
28
+ if (nextSort) onSortChange?.(nextSort);
29
+ }
30
+ });
31
+ const toggleSort = useCallback((key)=>{
32
+ setSort((current)=>{
33
+ if (!current || current.key !== key) return {
34
+ key,
35
+ dir: "asc"
36
+ };
37
+ return {
38
+ key,
39
+ dir: current.dir === "asc" ? "desc" : "asc"
40
+ };
41
+ });
42
+ }, [
43
+ setSort
44
+ ]);
45
+ const getHeaderCellProps = useCallback((columnKey, sortable)=>{
46
+ const isSorted = Boolean(columnKey) && sort?.key === columnKey;
47
+ const canSort = Boolean(sortable && columnKey);
48
+ return elementProps({
49
+ role: "columnheader",
50
+ "aria-sort": canSort ? isSorted ? sort?.dir === "asc" ? "ascending" : "descending" : "none" : undefined,
51
+ tabIndex: canSort ? 0 : undefined,
52
+ "data-sortable": dataAttr(canSort),
53
+ "data-sorted": dataAttr(isSorted),
54
+ "data-sort-direction": isSorted ? sort?.dir : undefined,
55
+ onClick (event) {
56
+ if (event.defaultPrevented || !canSort || !columnKey) return;
57
+ toggleSort(columnKey);
58
+ },
59
+ onKeyDown (event) {
60
+ if (event.defaultPrevented || !canSort || !columnKey) return;
61
+ if (event.key === "Enter" || event.key === " ") {
62
+ event.preventDefault();
63
+ toggleSort(columnKey);
64
+ }
65
+ }
66
+ });
67
+ }, [
68
+ sort,
69
+ toggleSort
70
+ ]);
71
+ return {
72
+ sort,
73
+ toggleSort,
74
+ getHeaderCellProps
75
+ };
76
+ }
77
+
78
+ export { useDataTableSort as u };
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "@crispy-seed/data-table",
3
+ "version": "0.1.0",
4
+ "description": "Self-contained, publishable build of seed-design's Attio-measured DataTable — one install, one CSS import.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/daangn/seed-design.git",
8
+ "directory": "packages/data-table-dist"
9
+ },
10
+ "license": "Apache-2.0",
11
+ "type": "module",
12
+ "sideEffects": [
13
+ "*.css"
14
+ ],
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js",
19
+ "require": "./dist/index.cjs"
20
+ },
21
+ "./styles.css": "./dist/styles.css",
22
+ "./data-table-recipe.css": "./dist/data-table-recipe.css",
23
+ "./data-table-recipe.layered.css": "./dist/data-table-recipe.layered.css",
24
+ "./package.json": "./package.json"
25
+ },
26
+ "main": "./dist/index.cjs",
27
+ "module": "./dist/index.js",
28
+ "types": "./dist/index.d.ts",
29
+ "files": [
30
+ "dist",
31
+ "README.md",
32
+ "LICENSE",
33
+ "NOTICE"
34
+ ],
35
+ "scripts": {
36
+ "build": "bunchee --dts-bundle --external @seed-design/css/recipes/avatar,@seed-design/css/recipes/avatar-stack,@seed-design/css/recipes/badge,@seed-design/css/recipes/checkbox,@seed-design/css/recipes/checkbox-group,@seed-design/css/recipes/checkmark,@seed-design/css/recipes/menu,@seed-design/css/recipes/menu-item,@seed-design/css/recipes/segmented-control,@seed-design/css/recipes/select,@seed-design/css/recipes/select-item,@seed-design/css/recipes/select-trigger,@seed-design/css/recipes/switch,@seed-design/css/recipes/switchmark,@seed-design/css/recipes/text-input && node scripts/copy-css.mjs",
37
+ "clean": "rm -rf dist"
38
+ },
39
+ "peerDependencies": {
40
+ "react": ">=18",
41
+ "react-dom": ">=18",
42
+ "@seed-design/dom-utils": "^2.1.0",
43
+ "@seed-design/react-checkbox": "^2.0.1",
44
+ "@seed-design/react-field": "^2.0.1",
45
+ "@seed-design/react-image": "^1.1.0",
46
+ "@seed-design/react-menu": "^2.0.2",
47
+ "@seed-design/react-primitive": "^2.0.1",
48
+ "@seed-design/react-scale-feedback": "^1.0.0",
49
+ "@seed-design/react-segmented-control": "^2.0.2",
50
+ "@seed-design/react-select": "^1.0.1",
51
+ "@seed-design/react-switch": "^2.0.1",
52
+ "@seed-design/react-text-field": "^2.0.1"
53
+ },
54
+ "devDependencies": {
55
+ "@seed-design/css": "^2.8.0",
56
+ "@seed-design/dom-utils": "^2.1.0",
57
+ "@seed-design/react-checkbox": "^2.0.1",
58
+ "@seed-design/react-data-table": "^0.0.0",
59
+ "@seed-design/react-field": "^2.0.1",
60
+ "@seed-design/react-image": "^1.1.0",
61
+ "@seed-design/react-menu": "^2.0.2",
62
+ "@seed-design/react-primitive": "^2.0.1",
63
+ "@seed-design/react-scale-feedback": "^1.0.0",
64
+ "@seed-design/react-segmented-control": "^2.0.2",
65
+ "@seed-design/react-select": "^1.0.1",
66
+ "@seed-design/react-switch": "^2.0.1",
67
+ "@seed-design/react-text-field": "^2.0.1",
68
+ "@types/react": "^19.2.2",
69
+ "@types/react-dom": "^19.2.1",
70
+ "bunchee": "^6.6.2",
71
+ "react": "^19.1.0",
72
+ "react-dom": "^19.1.0"
73
+ },
74
+ "publishConfig": {
75
+ "access": "public",
76
+ "registry": "https://registry.npmjs.org/"
77
+ }
78
+ }