@moving-walls/design-system 2.0.0 → 2.0.1
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/components/ui/DateRangePicker.d.ts +6 -7
- package/dist/components/ui/ScheduleGrid.d.ts +1 -6
- package/dist/components/ui/TimeRangePicker.d.ts +1 -8
- package/dist/components/ui/index.d.ts +0 -22
- package/dist/hooks/index.d.ts +0 -3
- package/dist/index.esm.js +130 -827
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +128 -836
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +144 -146
- package/dist/components/ui/AdvancedTable/index.d.ts +0 -3
- package/dist/components/ui/AdvancedTable/types.d.ts +0 -51
- package/dist/components/ui/AdvancedTable/useAdvancedTable.d.ts +0 -27
- package/dist/components/ui/Calendar/index.d.ts +0 -3
- package/dist/components/ui/Calendar/types.d.ts +0 -14
- package/dist/components/ui/Calendar/useCalendar.d.ts +0 -26
- package/dist/components/ui/CollapsibleInfoPanel.d.ts +0 -12
- package/dist/components/ui/DesktopOnly.d.ts +0 -8
- package/dist/components/ui/DragDrop/DragDropZone.d.ts +0 -14
- package/dist/components/ui/DragDrop/FilePreview.d.ts +0 -7
- package/dist/components/ui/DragDrop/SortableList.d.ts +0 -8
- package/dist/components/ui/DragDrop/index.d.ts +0 -9
- package/dist/components/ui/DragDrop/types.d.ts +0 -12
- package/dist/components/ui/DragDrop/useDragDrop.d.ts +0 -16
- package/dist/components/ui/FocusScope.d.ts +0 -14
- package/dist/components/ui/MobileDataCard.d.ts +0 -18
- package/dist/components/ui/MobileOnly.d.ts +0 -8
- package/dist/components/ui/MobilePagination.d.ts +0 -10
- package/dist/components/ui/MobileToolbar.d.ts +0 -12
- package/dist/components/ui/ResponsiveStack.d.ts +0 -14
- package/dist/components/ui/VisuallyHidden.d.ts +0 -10
- package/dist/hooks/useMediaQuery.d.ts +0 -6
- package/dist/hooks/useResponsiveSheet.d.ts +0 -19
package/package.json
CHANGED
|
@@ -1,146 +1,144 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@moving-walls/design-system",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"type": "module",
|
|
5
|
-
"description": "A comprehensive React component library and design system with TypeScript support, providing modern UI components, design tokens, and a complete icon system.",
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"module": "dist/index.esm.js",
|
|
8
|
-
"types": "dist/index.d.ts",
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git@gitlab.movingwalls.com:design-system/mw-design-system.git"
|
|
12
|
-
},
|
|
13
|
-
"homepage": "https://design.movingwalls.com/",
|
|
14
|
-
"bugs": {
|
|
15
|
-
"url": "https://gitlab.movingwalls.com/design-system/mw-design-system/issues"
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"dist",
|
|
19
|
-
"README.md",
|
|
20
|
-
"LICENSE"
|
|
21
|
-
],
|
|
22
|
-
"exports": {
|
|
23
|
-
".": {
|
|
24
|
-
"types": "./dist/index.d.ts",
|
|
25
|
-
"import": "./dist/index.esm.js",
|
|
26
|
-
"require": "./dist/index.js"
|
|
27
|
-
},
|
|
28
|
-
"./dist/styles/*": "./dist/styles/*",
|
|
29
|
-
"./dist/tokens/*": "./dist/tokens/*",
|
|
30
|
-
"./dist/components/*": "./dist/components/*"
|
|
31
|
-
},
|
|
32
|
-
"scripts": {
|
|
33
|
-
"dev": "next dev --turbopack",
|
|
34
|
-
"build": "next build",
|
|
35
|
-
"build:package": "rollup -c",
|
|
36
|
-
"postbuild:package": "npm run clean:dist",
|
|
37
|
-
"clean:dist": "node -e \"const fs=require('fs');['dist/node_modules','dist/stories','dist/test','dist/src'].forEach(d=>{try{fs.rmSync(d,{recursive:true,force:true})}catch(e){}})\"",
|
|
38
|
-
"build:ci": "rollup -c rollup.config.ci.js",
|
|
39
|
-
"prepublishOnly": "npm run build:package",
|
|
40
|
-
"start": "next start",
|
|
41
|
-
"lint": "next lint",
|
|
42
|
-
"version": "npm run build:package && git add -A dist",
|
|
43
|
-
"postversion": "git push && git push --tags",
|
|
44
|
-
"storybook": "storybook dev -p 6006",
|
|
45
|
-
"build-storybook": "storybook build",
|
|
46
|
-
"test": "vitest run",
|
|
47
|
-
"test:watch": "vitest",
|
|
48
|
-
"test:coverage": "vitest run --coverage"
|
|
49
|
-
},
|
|
50
|
-
"keywords": [
|
|
51
|
-
"react",
|
|
52
|
-
"components",
|
|
53
|
-
"design-system",
|
|
54
|
-
"ui",
|
|
55
|
-
"typescript",
|
|
56
|
-
"tailwind",
|
|
57
|
-
"icons",
|
|
58
|
-
"design-tokens"
|
|
59
|
-
],
|
|
60
|
-
"author": {
|
|
61
|
-
"name": "MovingWalls",
|
|
62
|
-
"email": "engineering@movingwalls.com",
|
|
63
|
-
"url": "https://design.movingwalls.com/"
|
|
64
|
-
},
|
|
65
|
-
"license": "MIT",
|
|
66
|
-
"peerDependencies": {
|
|
67
|
-
"ag-grid-community": ">=35.0.0",
|
|
68
|
-
"ag-grid-react": ">=35.0.0",
|
|
69
|
-
"react": ">=16.8.0",
|
|
70
|
-
"react-dom": ">=16.8.0"
|
|
71
|
-
},
|
|
72
|
-
"peerDependenciesMeta": {
|
|
73
|
-
"ag-grid-community": {
|
|
74
|
-
"optional": true
|
|
75
|
-
},
|
|
76
|
-
"ag-grid-react": {
|
|
77
|
-
"optional": true
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"dependencies": {
|
|
81
|
-
"@radix-ui/react-select": "^2.2.6",
|
|
82
|
-
"clsx": "^2.1.1",
|
|
83
|
-
"lucide-react": "^0.462.0",
|
|
84
|
-
"tailwind-merge": "^3.3.1"
|
|
85
|
-
},
|
|
86
|
-
"devDependencies": {
|
|
87
|
-
"@babel/plugin-syntax-jsx": "^7.25.9",
|
|
88
|
-
"@babel/preset-env": "^7.26.0",
|
|
89
|
-
"@babel/preset-react": "^7.25.9",
|
|
90
|
-
"@babel/preset-typescript": "^7.26.0",
|
|
91
|
-
"@chromatic-com/storybook": "^4.1.3",
|
|
92
|
-
"@eslint/eslintrc": "^3.3.3",
|
|
93
|
-
"@mdx-js/loader": "^3.1.0",
|
|
94
|
-
"@mdx-js/react": "^3.1.0",
|
|
95
|
-
"@next/mdx": "^15.4.10",
|
|
96
|
-
"@rollup/plugin-babel": "^6.0.4",
|
|
97
|
-
"@rollup/plugin-commonjs": "^28.0.6",
|
|
98
|
-
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
99
|
-
"@rollup/plugin-terser": "^0.4.4",
|
|
100
|
-
"@rollup/plugin-typescript": "^12.1.4",
|
|
101
|
-
"@storybook/addon-a11y": "^10.1.11",
|
|
102
|
-
"@storybook/addon-docs": "^10.1.11",
|
|
103
|
-
"@storybook/addon-onboarding": "^10.1.11",
|
|
104
|
-
"@storybook/addon-vitest": "^10.1.11",
|
|
105
|
-
"@storybook/nextjs-vite": "^10.1.11",
|
|
106
|
-
"@testing-library/jest-dom": "^6.9.1",
|
|
107
|
-
"@testing-library/react": "^16.3.1",
|
|
108
|
-
"@types/node": "^20.17.9",
|
|
109
|
-
"@types/react": "^18.3.17",
|
|
110
|
-
"@types/react-dom": "^18.3.1",
|
|
111
|
-
"@types/react-syntax-highlighter": "^15.5.13",
|
|
112
|
-
"@vitejs/plugin-react": "^5.1.2",
|
|
113
|
-
"@vitest/browser-playwright": "^4.0.15",
|
|
114
|
-
"@vitest/coverage-v8": "^4.0.15",
|
|
115
|
-
"ag-grid-community": "^35.0.1",
|
|
116
|
-
"ag-grid-react": "^35.0.1",
|
|
117
|
-
"autoprefixer": "^10.4.21",
|
|
118
|
-
"copy-to-clipboard": "^3.3.3",
|
|
119
|
-
"eslint": "^8.57.1",
|
|
120
|
-
"eslint-config-next": "^15.4.10",
|
|
121
|
-
"eslint-plugin-storybook": "^10.1.11",
|
|
122
|
-
"framer-motion": "^11.12.0",
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"postcss": "^8.
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"react": "^18.3.1",
|
|
131
|
-
"react-
|
|
132
|
-
"
|
|
133
|
-
"rollup": "^4.
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@moving-walls/design-system",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "A comprehensive React component library and design system with TypeScript support, providing modern UI components, design tokens, and a complete icon system.",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git@gitlab.movingwalls.com:design-system/mw-design-system.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://design.movingwalls.com/",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://gitlab.movingwalls.com/design-system/mw-design-system/issues"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"README.md",
|
|
20
|
+
"LICENSE"
|
|
21
|
+
],
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/index.d.ts",
|
|
25
|
+
"import": "./dist/index.esm.js",
|
|
26
|
+
"require": "./dist/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./dist/styles/*": "./dist/styles/*",
|
|
29
|
+
"./dist/tokens/*": "./dist/tokens/*",
|
|
30
|
+
"./dist/components/*": "./dist/components/*"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"dev": "next dev --turbopack",
|
|
34
|
+
"build": "next build",
|
|
35
|
+
"build:package": "rollup -c",
|
|
36
|
+
"postbuild:package": "npm run clean:dist",
|
|
37
|
+
"clean:dist": "node -e \"const fs=require('fs');['dist/node_modules','dist/stories','dist/test','dist/src'].forEach(d=>{try{fs.rmSync(d,{recursive:true,force:true})}catch(e){}})\"",
|
|
38
|
+
"build:ci": "rollup -c rollup.config.ci.js",
|
|
39
|
+
"prepublishOnly": "npm run build:package",
|
|
40
|
+
"start": "next start",
|
|
41
|
+
"lint": "next lint",
|
|
42
|
+
"version": "npm run build:package && git add -A dist",
|
|
43
|
+
"postversion": "git push && git push --tags",
|
|
44
|
+
"storybook": "storybook dev -p 6006",
|
|
45
|
+
"build-storybook": "storybook build",
|
|
46
|
+
"test": "vitest run",
|
|
47
|
+
"test:watch": "vitest",
|
|
48
|
+
"test:coverage": "vitest run --coverage"
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"react",
|
|
52
|
+
"components",
|
|
53
|
+
"design-system",
|
|
54
|
+
"ui",
|
|
55
|
+
"typescript",
|
|
56
|
+
"tailwind",
|
|
57
|
+
"icons",
|
|
58
|
+
"design-tokens"
|
|
59
|
+
],
|
|
60
|
+
"author": {
|
|
61
|
+
"name": "MovingWalls",
|
|
62
|
+
"email": "engineering@movingwalls.com",
|
|
63
|
+
"url": "https://design.movingwalls.com/"
|
|
64
|
+
},
|
|
65
|
+
"license": "MIT",
|
|
66
|
+
"peerDependencies": {
|
|
67
|
+
"ag-grid-community": ">=35.0.0",
|
|
68
|
+
"ag-grid-react": ">=35.0.0",
|
|
69
|
+
"react": ">=16.8.0",
|
|
70
|
+
"react-dom": ">=16.8.0"
|
|
71
|
+
},
|
|
72
|
+
"peerDependenciesMeta": {
|
|
73
|
+
"ag-grid-community": {
|
|
74
|
+
"optional": true
|
|
75
|
+
},
|
|
76
|
+
"ag-grid-react": {
|
|
77
|
+
"optional": true
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"dependencies": {
|
|
81
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
82
|
+
"clsx": "^2.1.1",
|
|
83
|
+
"lucide-react": "^0.462.0",
|
|
84
|
+
"tailwind-merge": "^3.3.1"
|
|
85
|
+
},
|
|
86
|
+
"devDependencies": {
|
|
87
|
+
"@babel/plugin-syntax-jsx": "^7.25.9",
|
|
88
|
+
"@babel/preset-env": "^7.26.0",
|
|
89
|
+
"@babel/preset-react": "^7.25.9",
|
|
90
|
+
"@babel/preset-typescript": "^7.26.0",
|
|
91
|
+
"@chromatic-com/storybook": "^4.1.3",
|
|
92
|
+
"@eslint/eslintrc": "^3.3.3",
|
|
93
|
+
"@mdx-js/loader": "^3.1.0",
|
|
94
|
+
"@mdx-js/react": "^3.1.0",
|
|
95
|
+
"@next/mdx": "^15.4.10",
|
|
96
|
+
"@rollup/plugin-babel": "^6.0.4",
|
|
97
|
+
"@rollup/plugin-commonjs": "^28.0.6",
|
|
98
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
99
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
100
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
101
|
+
"@storybook/addon-a11y": "^10.1.11",
|
|
102
|
+
"@storybook/addon-docs": "^10.1.11",
|
|
103
|
+
"@storybook/addon-onboarding": "^10.1.11",
|
|
104
|
+
"@storybook/addon-vitest": "^10.1.11",
|
|
105
|
+
"@storybook/nextjs-vite": "^10.1.11",
|
|
106
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
107
|
+
"@testing-library/react": "^16.3.1",
|
|
108
|
+
"@types/node": "^20.17.9",
|
|
109
|
+
"@types/react": "^18.3.17",
|
|
110
|
+
"@types/react-dom": "^18.3.1",
|
|
111
|
+
"@types/react-syntax-highlighter": "^15.5.13",
|
|
112
|
+
"@vitejs/plugin-react": "^5.1.2",
|
|
113
|
+
"@vitest/browser-playwright": "^4.0.15",
|
|
114
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
115
|
+
"ag-grid-community": "^35.0.1",
|
|
116
|
+
"ag-grid-react": "^35.0.1",
|
|
117
|
+
"autoprefixer": "^10.4.21",
|
|
118
|
+
"copy-to-clipboard": "^3.3.3",
|
|
119
|
+
"eslint": "^8.57.1",
|
|
120
|
+
"eslint-config-next": "^15.4.10",
|
|
121
|
+
"eslint-plugin-storybook": "^10.1.11",
|
|
122
|
+
"framer-motion": "^11.12.0",
|
|
123
|
+
"jsdom": "^27.4.0",
|
|
124
|
+
"next": "^15.4.10",
|
|
125
|
+
"playwright": "^1.57.0",
|
|
126
|
+
"postcss": "^8.5.1",
|
|
127
|
+
"postcss-loader": "^8.2.0",
|
|
128
|
+
"puppeteer": "^24.17.0",
|
|
129
|
+
"react": "^18.3.1",
|
|
130
|
+
"react-dom": "^18.3.1",
|
|
131
|
+
"react-syntax-highlighter": "^15.5.0",
|
|
132
|
+
"rollup": "^4.50.1",
|
|
133
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
134
|
+
"semver": "^7.7.2",
|
|
135
|
+
"storybook": "^10.1.11",
|
|
136
|
+
"tailwindcss": "^3.4.17",
|
|
137
|
+
"typescript": "^5.7.2",
|
|
138
|
+
"vite": "^7.2.7",
|
|
139
|
+
"vitest": "^4.0.15"
|
|
140
|
+
},
|
|
141
|
+
"volta": {
|
|
142
|
+
"node": "21.7.3"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { useAdvancedTable } from './useAdvancedTable';
|
|
2
|
-
export type { UseAdvancedTableOptions } from './useAdvancedTable';
|
|
3
|
-
export type { AdvancedTableColumn, AdvancedTableSort, AdvancedTableFilter, AdvancedTableState, AdvancedTableColumnType, AdvancedTableSortDirection, AdvancedTableFilterOperator, AdvancedTableSelectionMode, AdvancedTableDensity, } from './types';
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export type AdvancedTableColumnType = 'text' | 'number' | 'date' | 'boolean' | 'badge' | 'progress' | 'image' | 'link' | 'custom';
|
|
2
|
-
export type AdvancedTableSortDirection = 'asc' | 'desc' | null;
|
|
3
|
-
export type AdvancedTableFilterOperator = 'equals' | 'contains' | 'startsWith' | 'endsWith' | 'gt' | 'lt' | 'gte' | 'lte' | 'between' | 'in' | 'notIn';
|
|
4
|
-
export type AdvancedTableSelectionMode = 'none' | 'single' | 'multiple';
|
|
5
|
-
export type AdvancedTableDensity = 'compact' | 'normal' | 'comfortable';
|
|
6
|
-
export interface AdvancedTableColumn<T = unknown> {
|
|
7
|
-
id: string;
|
|
8
|
-
header: string | React.ReactNode;
|
|
9
|
-
accessorKey?: keyof T | string;
|
|
10
|
-
accessorFn?: (row: T) => unknown;
|
|
11
|
-
cell?: (value: unknown, row: T, column: AdvancedTableColumn<T>) => React.ReactNode;
|
|
12
|
-
sortable?: boolean;
|
|
13
|
-
filterable?: boolean;
|
|
14
|
-
searchable?: boolean;
|
|
15
|
-
type?: AdvancedTableColumnType;
|
|
16
|
-
width?: number | string;
|
|
17
|
-
minWidth?: number;
|
|
18
|
-
maxWidth?: number;
|
|
19
|
-
align?: 'left' | 'center' | 'right';
|
|
20
|
-
sticky?: 'left' | 'right';
|
|
21
|
-
resizable?: boolean;
|
|
22
|
-
hidden?: boolean;
|
|
23
|
-
pinned?: boolean;
|
|
24
|
-
freezable?: boolean;
|
|
25
|
-
aggregate?: 'sum' | 'avg' | 'count' | 'min' | 'max' | 'custom';
|
|
26
|
-
aggregateFn?: (values: unknown[]) => unknown;
|
|
27
|
-
footer?: React.ReactNode | ((values: unknown[]) => React.ReactNode);
|
|
28
|
-
meta?: Record<string, unknown>;
|
|
29
|
-
}
|
|
30
|
-
export interface AdvancedTableSort {
|
|
31
|
-
columnId: string;
|
|
32
|
-
direction: AdvancedTableSortDirection;
|
|
33
|
-
}
|
|
34
|
-
export interface AdvancedTableFilter {
|
|
35
|
-
columnId: string;
|
|
36
|
-
value: unknown;
|
|
37
|
-
operator?: AdvancedTableFilterOperator;
|
|
38
|
-
}
|
|
39
|
-
export interface AdvancedTableState {
|
|
40
|
-
sorting: AdvancedTableSort[];
|
|
41
|
-
filters: AdvancedTableFilter[];
|
|
42
|
-
globalFilter: string;
|
|
43
|
-
columnVisibility: Record<string, boolean>;
|
|
44
|
-
columnOrder: string[];
|
|
45
|
-
columnSizing: Record<string, number>;
|
|
46
|
-
density: AdvancedTableDensity;
|
|
47
|
-
frozenColumns: {
|
|
48
|
-
left: string[];
|
|
49
|
-
right: string[];
|
|
50
|
-
};
|
|
51
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { AdvancedTableColumn, AdvancedTableSort, AdvancedTableFilter, AdvancedTableState, AdvancedTableDensity } from './types';
|
|
2
|
-
export interface UseAdvancedTableOptions<T> {
|
|
3
|
-
data: T[];
|
|
4
|
-
columns: AdvancedTableColumn<T>[];
|
|
5
|
-
initialState?: Partial<AdvancedTableState>;
|
|
6
|
-
getRowId?: (row: T, index: number) => string | number;
|
|
7
|
-
}
|
|
8
|
-
export declare function useAdvancedTable<T>({ data, columns, initialState, getRowId, }: UseAdvancedTableOptions<T>): {
|
|
9
|
-
processedData: T[];
|
|
10
|
-
visibleColumns: AdvancedTableColumn<T>[];
|
|
11
|
-
state: AdvancedTableState;
|
|
12
|
-
sorting: AdvancedTableSort[];
|
|
13
|
-
filters: AdvancedTableFilter[];
|
|
14
|
-
globalFilter: string;
|
|
15
|
-
density: AdvancedTableDensity;
|
|
16
|
-
selectedRows: Set<string | number>;
|
|
17
|
-
toggleSort: (columnId: string) => void;
|
|
18
|
-
addFilter: (filter: AdvancedTableFilter) => void;
|
|
19
|
-
removeFilter: (columnId: string) => void;
|
|
20
|
-
clearFilters: () => void;
|
|
21
|
-
setGlobalFilter: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
22
|
-
setDensity: import("react").Dispatch<import("react").SetStateAction<AdvancedTableDensity>>;
|
|
23
|
-
toggleColumnVisibility: (columnId: string) => void;
|
|
24
|
-
toggleRowSelection: (rowId: string | number) => void;
|
|
25
|
-
selectAllRows: () => void;
|
|
26
|
-
clearSelection: () => void;
|
|
27
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface CalendarEvent {
|
|
2
|
-
id: string;
|
|
3
|
-
title: string;
|
|
4
|
-
date: Date;
|
|
5
|
-
color?: string;
|
|
6
|
-
allDay?: boolean;
|
|
7
|
-
startTime?: string;
|
|
8
|
-
endTime?: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
category?: string;
|
|
11
|
-
attendees?: string[];
|
|
12
|
-
location?: string;
|
|
13
|
-
}
|
|
14
|
-
export type CalendarView = 'month' | 'week' | 'day';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { CalendarEvent, CalendarView } from './types';
|
|
2
|
-
export interface UseCalendarOptions {
|
|
3
|
-
value?: Date;
|
|
4
|
-
events?: CalendarEvent[];
|
|
5
|
-
view?: CalendarView;
|
|
6
|
-
onViewChange?: (view: CalendarView) => void;
|
|
7
|
-
onChange?: (date: Date) => void;
|
|
8
|
-
hourFormat?: 12 | 24;
|
|
9
|
-
}
|
|
10
|
-
export declare function useCalendar({ value, events, view, onViewChange, onChange, hourFormat, }: UseCalendarOptions): {
|
|
11
|
-
currentDate: Date;
|
|
12
|
-
currentView: CalendarView;
|
|
13
|
-
today: Date;
|
|
14
|
-
year: number;
|
|
15
|
-
month: number;
|
|
16
|
-
handleViewChange: (newView: CalendarView) => void;
|
|
17
|
-
handleDateSelect: (date: Date) => void;
|
|
18
|
-
navigateMonth: (delta: number) => void;
|
|
19
|
-
navigateWeek: (delta: number) => void;
|
|
20
|
-
navigateDay: (delta: number) => void;
|
|
21
|
-
goToToday: () => void;
|
|
22
|
-
getEventsForDate: (date: Date) => CalendarEvent[];
|
|
23
|
-
getEventsForTimeSlot: (date: Date, timeSlot: string) => CalendarEvent[];
|
|
24
|
-
formatTime: (time: string) => string;
|
|
25
|
-
getWeekDates: (date: Date) => Date[];
|
|
26
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface CollapsibleInfoPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
title: string;
|
|
3
|
-
icon?: React.ReactNode;
|
|
4
|
-
defaultOpen?: boolean;
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* A collapsible panel for secondary information on mobile.
|
|
9
|
-
* Wraps the design system Accordion for converting sidebar panels
|
|
10
|
-
* (tips, insights, help text) into expandable sections.
|
|
11
|
-
*/
|
|
12
|
-
export declare const CollapsibleInfoPanel: import("react").ForwardRefExoticComponent<CollapsibleInfoPanelProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface DesktopOnlyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
children: React.ReactNode;
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* Renders children only on desktop (hidden below md breakpoint).
|
|
6
|
-
* Uses CSS-based visibility — both layouts are in the DOM.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DesktopOnly: import("react").ForwardRefExoticComponent<DesktopOnlyProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface DragDropZoneProps {
|
|
3
|
-
onFileDrop: (files: File[]) => void;
|
|
4
|
-
accept?: string[];
|
|
5
|
-
multiple?: boolean;
|
|
6
|
-
maxSize?: number;
|
|
7
|
-
maxFiles?: number;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
className?: string;
|
|
10
|
-
children?: React.ReactNode;
|
|
11
|
-
showPreview?: boolean;
|
|
12
|
-
compact?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function DragDropZone({ onFileDrop, accept, multiple, maxSize, maxFiles, disabled, className, children, showPreview, compact }: DragDropZoneProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { DroppedFile } from './types';
|
|
2
|
-
export interface FilePreviewProps {
|
|
3
|
-
file: DroppedFile;
|
|
4
|
-
onRemove: () => void;
|
|
5
|
-
showActions?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function FilePreview({ file, onRemove, showActions }: FilePreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { SortableItem } from './types';
|
|
2
|
-
export interface SortableListProps {
|
|
3
|
-
items: SortableItem[];
|
|
4
|
-
onReorder: (items: SortableItem[]) => void;
|
|
5
|
-
className?: string;
|
|
6
|
-
itemClassName?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function SortableList({ items, onReorder, className, itemClassName }: SortableListProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export { useDragDrop } from './useDragDrop';
|
|
2
|
-
export { DragDropZone } from './DragDropZone';
|
|
3
|
-
export { FilePreview } from './FilePreview';
|
|
4
|
-
export type { FilePreviewProps } from './FilePreview';
|
|
5
|
-
export { SortableList } from './SortableList';
|
|
6
|
-
export type { SortableListProps } from './SortableList';
|
|
7
|
-
export type { DroppedFile, SortableItem } from './types';
|
|
8
|
-
export { DragDropZone as DragDrop } from './DragDropZone';
|
|
9
|
-
export type { DragDropZoneProps as DragDropProps } from './DragDropZone';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface DroppedFile {
|
|
2
|
-
id: string;
|
|
3
|
-
file: File;
|
|
4
|
-
status: 'pending' | 'uploading' | 'success' | 'error';
|
|
5
|
-
progress?: number;
|
|
6
|
-
error?: string;
|
|
7
|
-
preview?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface SortableItem {
|
|
10
|
-
id: string;
|
|
11
|
-
content: React.ReactNode;
|
|
12
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare function useDragDrop({ onDrop, accept, multiple, maxSize, onError }: {
|
|
2
|
-
onDrop: (files: File[]) => void;
|
|
3
|
-
accept?: string[];
|
|
4
|
-
multiple?: boolean;
|
|
5
|
-
maxSize?: number;
|
|
6
|
-
onError?: (error: string) => void;
|
|
7
|
-
}): {
|
|
8
|
-
isDragActive: boolean;
|
|
9
|
-
isDragReject: boolean;
|
|
10
|
-
dragProps: {
|
|
11
|
-
onDrop: (e: React.DragEvent) => void;
|
|
12
|
-
onDragEnter: (e: React.DragEvent) => void;
|
|
13
|
-
onDragLeave: (e: React.DragEvent) => void;
|
|
14
|
-
onDragOver: (e: React.DragEvent) => void;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface FocusScopeProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
/** Whether to trap focus within this scope. */
|
|
3
|
-
trapped?: boolean;
|
|
4
|
-
/** Whether to auto-focus the first focusable element on mount. */
|
|
5
|
-
autoFocus?: boolean;
|
|
6
|
-
/** Called when Escape is pressed while focus is within the scope. */
|
|
7
|
-
onEscape?: () => void;
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Traps keyboard focus within its children.
|
|
12
|
-
* Use in modals, dialogs, and sheets to prevent focus from escaping.
|
|
13
|
-
*/
|
|
14
|
-
export declare const FocusScope: import("react").ForwardRefExoticComponent<FocusScopeProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export interface MobileDataCardField {
|
|
2
|
-
label: string;
|
|
3
|
-
value: React.ReactNode;
|
|
4
|
-
}
|
|
5
|
-
export interface MobileDataCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
6
|
-
title: string;
|
|
7
|
-
subtitle?: string;
|
|
8
|
-
statusBadge?: React.ReactNode;
|
|
9
|
-
fields: MobileDataCardField[];
|
|
10
|
-
actions?: React.ReactNode;
|
|
11
|
-
onClick?: () => void;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* A mobile-optimized card for displaying a single data row.
|
|
15
|
-
* Replaces AG Grid table rows on mobile viewports.
|
|
16
|
-
* Minimum 44px touch target when clickable.
|
|
17
|
-
*/
|
|
18
|
-
export declare const MobileDataCard: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MobileDataCardProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface MobileOnlyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
children: React.ReactNode;
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* Renders children only on mobile (hidden on md+ screens).
|
|
6
|
-
* Uses CSS-based visibility — both layouts are in the DOM.
|
|
7
|
-
*/
|
|
8
|
-
export declare const MobileOnly: import("react").ForwardRefExoticComponent<MobileOnlyProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface MobilePaginationProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
page: number;
|
|
3
|
-
totalPages: number;
|
|
4
|
-
onPageChange: (page: number) => void;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Prev/Next pagination for mobile card lists.
|
|
8
|
-
* Shows "Page X of Y" with disabled states at boundaries.
|
|
9
|
-
*/
|
|
10
|
-
export declare const MobilePagination: import("react").ForwardRefExoticComponent<MobilePaginationProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface MobileToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
searchValue: string;
|
|
3
|
-
onSearchChange: (value: string) => void;
|
|
4
|
-
searchPlaceholder?: string;
|
|
5
|
-
onFilterClick?: () => void;
|
|
6
|
-
activeFilterCount?: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* A mobile-optimized toolbar with search input and optional filter button.
|
|
10
|
-
* Filter button shows an active count badge when filters are applied.
|
|
11
|
-
*/
|
|
12
|
-
export declare const MobileToolbar: import("react").ForwardRefExoticComponent<MobileToolbarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface ResponsiveStackProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
-
/** Breakpoint at which to switch from column to row. Defaults to 'md'. */
|
|
3
|
-
breakpoint?: 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
-
/** Gap between items (Tailwind gap-N value). */
|
|
5
|
-
gap?: number;
|
|
6
|
-
/** Whether to reverse the column direction on mobile. */
|
|
7
|
-
reverse?: boolean;
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Stacks children vertically on mobile, horizontally on desktop.
|
|
12
|
-
* Replaces the common `flex flex-col md:flex-row` pattern.
|
|
13
|
-
*/
|
|
14
|
-
export declare const ResponsiveStack: import("react").ForwardRefExoticComponent<ResponsiveStackProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface VisuallyHiddenProps extends React.HTMLAttributes<HTMLElement> {
|
|
2
|
-
/** The HTML element to render. Defaults to 'span'. */
|
|
3
|
-
as?: React.ElementType;
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Renders content that is visually hidden but accessible to screen readers.
|
|
8
|
-
* Use this instead of ad-hoc `sr-only` classes for consistent accessibility.
|
|
9
|
-
*/
|
|
10
|
-
export declare const VisuallyHidden: import("react").ForwardRefExoticComponent<VisuallyHiddenProps & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function useMediaQuery(query: string): boolean;
|
|
2
|
-
export declare function useIsMobile(): boolean;
|
|
3
|
-
export declare function useIsTablet(): boolean;
|
|
4
|
-
export declare function useIsDesktop(): boolean;
|
|
5
|
-
export declare function usePrefersDarkMode(): boolean;
|
|
6
|
-
export declare function usePrefersReducedMotion(): boolean;
|