@warkypublic/svelix 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.
- package/LICENSE +73 -0
- package/README.md +3 -0
- package/dist/actions/index.d.ts +1 -0
- package/dist/actions/index.js +2 -0
- package/dist/components/BetterMenu/BetterMenu.stories.js +68 -0
- package/dist/components/BetterMenu/BetterMenu.svelte +38 -0
- package/dist/components/BetterMenu/BetterMenu.svelte.d.ts +14 -0
- package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte +34 -0
- package/dist/components/BetterMenu/BetterMenuAsyncButton.svelte.d.ts +8 -0
- package/dist/components/BetterMenu/BetterMenuPreview.svelte +43 -0
- package/dist/components/BetterMenu/BetterMenuPreview.svelte.d.ts +7 -0
- package/dist/components/BetterMenu/MenuRenderer.svelte +75 -0
- package/dist/components/BetterMenu/MenuRenderer.svelte.d.ts +6 -0
- package/dist/components/BetterMenu/Plan.mdx +155 -0
- package/dist/components/BetterMenu/index.d.ts +4 -0
- package/dist/components/BetterMenu/index.js +4 -0
- package/dist/components/BetterMenu/store.d.ts +10 -0
- package/dist/components/BetterMenu/store.js +48 -0
- package/dist/components/BetterMenu/types.d.ts +24 -0
- package/dist/components/BetterMenu/types.js +1 -0
- package/dist/components/Boxer/Boxer.stories.d.ts +19 -0
- package/dist/components/Boxer/Boxer.stories.js +102 -0
- package/dist/components/Boxer/Boxer.svelte +411 -0
- package/dist/components/Boxer/Boxer.svelte.d.ts +11 -0
- package/dist/components/Boxer/BoxerTarget.svelte +88 -0
- package/dist/components/Boxer/BoxerTarget.svelte.d.ts +20 -0
- package/dist/components/Boxer/Plan.mdx +140 -0
- package/dist/components/Boxer/features.mdx +81 -0
- package/dist/components/Boxer/index.d.ts +4 -0
- package/dist/components/Boxer/index.js +4 -0
- package/dist/components/Boxer/store.d.ts +26 -0
- package/dist/components/Boxer/store.js +103 -0
- package/dist/components/Boxer/types.d.ts +46 -0
- package/dist/components/Boxer/types.js +1 -0
- package/dist/components/Button.stories.d.ts +11 -0
- package/dist/components/Button.stories.js +109 -0
- package/dist/components/Button.svelte +50 -0
- package/dist/components/Button.svelte.d.ts +12 -0
- package/dist/components/ButtonPreview.svelte +14 -0
- package/dist/components/ButtonPreview.svelte.d.ts +4 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.stories.js +17 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.svelte +127 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.svelte.d.ts +13 -0
- package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte +28 -0
- package/dist/components/ErrorBoundary/ErrorBoundaryPreview.svelte.d.ts +6 -0
- package/dist/components/ErrorBoundary/ErrorManager.d.ts +15 -0
- package/dist/components/ErrorBoundary/ErrorManager.js +158 -0
- package/dist/components/ErrorBoundary/Plan.mdx +182 -0
- package/dist/components/ErrorBoundary/index.d.ts +3 -0
- package/dist/components/ErrorBoundary/index.js +3 -0
- package/dist/components/ErrorBoundary/types.d.ts +43 -0
- package/dist/components/ErrorBoundary/types.js +1 -0
- package/dist/components/Former/Former.stories.js +228 -0
- package/dist/components/Former/Former.svelte +405 -0
- package/dist/components/Former/Former.svelte.d.ts +33 -0
- package/dist/components/Former/FormerButtonArea.svelte +93 -0
- package/dist/components/Former/FormerButtonArea.svelte.d.ts +15 -0
- package/dist/components/Former/FormerDrawer.svelte +115 -0
- package/dist/components/Former/FormerDrawer.svelte.d.ts +19 -0
- package/dist/components/Former/FormerDrawerPreview.svelte +226 -0
- package/dist/components/Former/FormerDrawerPreview.svelte.d.ts +7 -0
- package/dist/components/Former/FormerModal.svelte +108 -0
- package/dist/components/Former/FormerModal.svelte.d.ts +14 -0
- package/dist/components/Former/FormerModalPreview.svelte +226 -0
- package/dist/components/Former/FormerModalPreview.svelte.d.ts +7 -0
- package/dist/components/Former/FormerPreview.svelte +238 -0
- package/dist/components/Former/FormerPreview.svelte.d.ts +8 -0
- package/dist/components/Former/FormerResolveSpecAPI.d.ts +26 -0
- package/dist/components/Former/FormerResolveSpecAPI.js +44 -0
- package/dist/components/Former/FormerRestApiPreview.svelte +198 -0
- package/dist/components/Former/FormerRestApiPreview.svelte.d.ts +3 -0
- package/dist/components/Former/FormerRestHeadSpecAPI.d.ts +8 -0
- package/dist/components/Former/FormerRestHeadSpecAPI.js +38 -0
- package/dist/components/Former/Plan.mdx +115 -0
- package/dist/components/Former/formerState.svelte.d.ts +21 -0
- package/dist/components/Former/formerState.svelte.js +57 -0
- package/dist/components/Former/index.d.ts +8 -0
- package/dist/components/Former/index.js +8 -0
- package/dist/components/Former/types.d.ts +61 -0
- package/dist/components/Former/types.js +1 -0
- package/dist/components/FormerControllers/ButtonCtrl.stories.js +102 -0
- package/dist/components/FormerControllers/ButtonCtrl.svelte +65 -0
- package/dist/components/FormerControllers/ButtonCtrl.svelte.d.ts +14 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.stories.js +73 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte +630 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.svelte.d.ts +54 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.utils.d.ts +40 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrl.utils.js +688 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte +193 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlCalendar.svelte.d.ts +13 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte +119 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlPickerPanel.svelte.d.ts +39 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte +343 -0
- package/dist/components/FormerControllers/DateTimeCtrl/DateTimeCtrlTimeFields.svelte.d.ts +27 -0
- package/dist/components/FormerControllers/DateTimeCtrl/index.d.ts +2 -0
- package/dist/components/FormerControllers/DateTimeCtrl/index.js +1 -0
- package/dist/components/FormerControllers/FormerControllers.stories.js +76 -0
- package/dist/components/FormerControllers/IconButtonCtrl.stories.js +77 -0
- package/dist/components/FormerControllers/IconButtonCtrl.svelte +64 -0
- package/dist/components/FormerControllers/IconButtonCtrl.svelte.d.ts +13 -0
- package/dist/components/FormerControllers/InlineWrapper.stories.js +133 -0
- package/dist/components/FormerControllers/InlineWrapper.svelte +85 -0
- package/dist/components/FormerControllers/InlineWrapper.svelte.d.ts +16 -0
- package/dist/components/FormerControllers/InlineWrapperPreview.svelte +41 -0
- package/dist/components/FormerControllers/InlineWrapperPreview.svelte.d.ts +13 -0
- package/dist/components/FormerControllers/NativeSelectCtrl.stories.js +79 -0
- package/dist/components/FormerControllers/NativeSelectCtrl.svelte +61 -0
- package/dist/components/FormerControllers/NativeSelectCtrl.svelte.d.ts +13 -0
- package/dist/components/FormerControllers/NumberInputCtrl.stories.js +77 -0
- package/dist/components/FormerControllers/NumberInputCtrl.svelte +61 -0
- package/dist/components/FormerControllers/NumberInputCtrl.svelte.d.ts +11 -0
- package/dist/components/FormerControllers/PasswordInputCtrl.stories.js +79 -0
- package/dist/components/FormerControllers/PasswordInputCtrl.svelte +57 -0
- package/dist/components/FormerControllers/PasswordInputCtrl.svelte.d.ts +8 -0
- package/dist/components/FormerControllers/Plan.mdx +129 -0
- package/dist/components/FormerControllers/SwitchCtrl.stories.js +73 -0
- package/dist/components/FormerControllers/SwitchCtrl.svelte +38 -0
- package/dist/components/FormerControllers/SwitchCtrl.svelte.d.ts +8 -0
- package/dist/components/FormerControllers/TextAreaCtrl.stories.js +71 -0
- package/dist/components/FormerControllers/TextAreaCtrl.svelte +47 -0
- package/dist/components/FormerControllers/TextAreaCtrl.svelte.d.ts +9 -0
- package/dist/components/FormerControllers/TextInputCtrl.svelte +47 -0
- package/dist/components/FormerControllers/TextInputCtrl.svelte.d.ts +9 -0
- package/dist/components/FormerControllers/index.d.ts +12 -0
- package/dist/components/FormerControllers/index.js +11 -0
- package/dist/components/FormerControllers/types.d.ts +10 -0
- package/dist/components/FormerControllers/types.js +1 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.d.ts +19 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.js +349 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.types.d.ts +127 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.types.js +2 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.utils.d.ts +4 -0
- package/dist/components/GlobalStateStore/GlobalStateStore.utils.js +92 -0
- package/dist/components/GlobalStateStore/GlobalStateStoreContext.d.ts +10 -0
- package/dist/components/GlobalStateStore/GlobalStateStoreContext.js +10 -0
- package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte +113 -0
- package/dist/components/GlobalStateStore/GlobalStateStoreProvider.svelte.d.ts +16 -0
- package/dist/components/GlobalStateStore/index.d.ts +5 -0
- package/dist/components/GlobalStateStore/index.js +3 -0
- package/dist/components/Gridler/CellEditor.svelte +126 -0
- package/dist/components/Gridler/CellEditor.svelte.d.ts +15 -0
- package/dist/components/Gridler/Gridler.stories.d.ts +56 -0
- package/dist/components/Gridler/Gridler.stories.js +262 -0
- package/dist/components/Gridler/Gridler.svelte +778 -0
- package/dist/components/Gridler/Gridler.svelte.d.ts +11 -0
- package/dist/components/Gridler/GridlerHeader.svelte +179 -0
- package/dist/components/Gridler/GridlerHeader.svelte.d.ts +13 -0
- package/dist/components/Gridler/Plan.mdx +692 -0
- package/dist/components/Gridler/index.d.ts +6 -0
- package/dist/components/Gridler/index.js +6 -0
- package/dist/components/Gridler/types.d.ts +84 -0
- package/dist/components/Gridler/types.js +16 -0
- package/dist/components/Gridler/utils/rendering.d.ts +16 -0
- package/dist/components/Gridler/utils/rendering.js +202 -0
- package/dist/components/Gridler/utils/scrolling.d.ts +12 -0
- package/dist/components/Gridler/utils/scrolling.js +97 -0
- package/dist/components/Portal/Portal.mdx +125 -0
- package/dist/components/Portal/Portal.svelte +47 -0
- package/dist/components/Portal/Portal.svelte.d.ts +18 -0
- package/dist/components/Screenshot/Screenshot.stories.d.ts +16 -0
- package/dist/components/Screenshot/Screenshot.stories.js +15 -0
- package/dist/components/Screenshot/Screenshot.svelte +54 -0
- package/dist/components/Screenshot/Screenshot.svelte.d.ts +3 -0
- package/dist/components/Screenshot/Screenshot.util.d.ts +1 -0
- package/dist/components/Screenshot/Screenshot.util.js +49 -0
- package/dist/components/Screenshot/index.d.ts +2 -0
- package/dist/components/Screenshot/index.js +2 -0
- package/dist/components/Svark/Svark.stories.js +659 -0
- package/dist/components/Svark/Svark.svelte +691 -0
- package/dist/components/Svark/Svark.svelte.d.ts +26 -0
- package/dist/components/Svark/SvarkResolveSpecAdapter.d.ts +16 -0
- package/dist/components/Svark/SvarkResolveSpecAdapter.js +68 -0
- package/dist/components/Svark/SvarkSelectionDemo.svelte +59 -0
- package/dist/components/Svark/SvarkSelectionDemo.svelte.d.ts +4 -0
- package/dist/components/Svark/index.d.ts +3 -0
- package/dist/components/Svark/index.js +3 -0
- package/dist/components/Svark/types.d.ts +63 -0
- package/dist/components/Svark/types.js +1 -0
- package/dist/components/VTree/VTree.models.d.ts +12 -0
- package/dist/components/VTree/VTree.models.js +1 -0
- package/dist/components/VTree/VTree.stories.d.ts +40 -0
- package/dist/components/VTree/VTree.stories.js +112 -0
- package/dist/components/VTree/VTree.svelte +471 -0
- package/dist/components/VTree/VTree.svelte.d.ts +5 -0
- package/dist/components/VTree/VTreeContextMenu.svelte +40 -0
- package/dist/components/VTree/VTreeContextMenu.svelte.d.ts +11 -0
- package/dist/components/VTree/VTreeEventsDemo.svelte +88 -0
- package/dist/components/VTree/VTreeEventsDemo.svelte.d.ts +3 -0
- package/dist/components/VTree/VTreeResolveSpecAdapter.d.ts +14 -0
- package/dist/components/VTree/VTreeResolveSpecAdapter.js +103 -0
- package/dist/components/VTree/VTreeRow.svelte +136 -0
- package/dist/components/VTree/VTreeRow.svelte.d.ts +37 -0
- package/dist/components/VTree/VTreeSearch.svelte +25 -0
- package/dist/components/VTree/VTreeSearch.svelte.d.ts +8 -0
- package/dist/components/VTree/VTreeVirtualViewport.svelte +154 -0
- package/dist/components/VTree/VTreeVirtualViewport.svelte.d.ts +45 -0
- package/dist/components/VTree/index.d.ts +3 -0
- package/dist/components/VTree/index.js +3 -0
- package/dist/components/VTree/types.d.ts +83 -0
- package/dist/components/VTree/types.js +1 -0
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.js +11 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +20 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.js +1 -0
- package/dist/themes/svelix_orange.css +205 -0
- package/dist/utils/PropsWithChildren.d.ts +5 -0
- package/dist/utils/PropsWithChildren.js +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +2 -0
- package/package.json +85 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import Gridler from './Gridler.svelte';
|
|
2
|
+
const meta = {
|
|
3
|
+
title: 'Components/Gridler',
|
|
4
|
+
component: Gridler,
|
|
5
|
+
tags: ['autodocs'],
|
|
6
|
+
argTypes: {
|
|
7
|
+
rows: {
|
|
8
|
+
control: { type: 'number' },
|
|
9
|
+
description: 'Total number of rows'
|
|
10
|
+
},
|
|
11
|
+
rowHeight: {
|
|
12
|
+
control: { type: 'number' },
|
|
13
|
+
description: 'Height of each row in pixels'
|
|
14
|
+
},
|
|
15
|
+
headerHeight: {
|
|
16
|
+
control: { type: 'number' },
|
|
17
|
+
description: 'Height of the header row'
|
|
18
|
+
},
|
|
19
|
+
readonly: {
|
|
20
|
+
control: { type: 'boolean' },
|
|
21
|
+
description: 'Whether the grid is read-only'
|
|
22
|
+
},
|
|
23
|
+
rowMarkers: {
|
|
24
|
+
control: { type: 'select' },
|
|
25
|
+
options: ['none', 'number', 'checkbox'],
|
|
26
|
+
description: 'Type of row markers to display'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export default meta;
|
|
31
|
+
const defaultColumns = [
|
|
32
|
+
{ id: 'name', title: 'Name', width: 180 },
|
|
33
|
+
{ id: 'email', title: 'Email', width: 220 },
|
|
34
|
+
{ id: 'age', title: 'Age', width: 80 },
|
|
35
|
+
{ id: 'status', title: 'Status', width: 120 },
|
|
36
|
+
{ id: 'department', title: 'Department', width: 150 }
|
|
37
|
+
];
|
|
38
|
+
const firstNames = ['Alice', 'Bob', 'Charlie', 'Diana', 'Eve', 'Frank', 'Grace', 'Henry', 'Ivy', 'Jack'];
|
|
39
|
+
const lastNames = ['Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis', 'Wilson', 'Moore'];
|
|
40
|
+
const statuses = ['Active', 'Pending', 'Inactive', 'Suspended'];
|
|
41
|
+
const departments = ['Engineering', 'Marketing', 'Sales', 'HR', 'Finance', 'Operations'];
|
|
42
|
+
function generateCellContent([col, row]) {
|
|
43
|
+
const firstName = firstNames[row % firstNames.length];
|
|
44
|
+
const lastName = lastNames[Math.floor(row / 10) % lastNames.length];
|
|
45
|
+
const email = `${firstName.toLowerCase()}.${lastName.toLowerCase()}@example.com`;
|
|
46
|
+
const age = 25 + (row % 40);
|
|
47
|
+
const status = statuses[row % statuses.length];
|
|
48
|
+
const department = departments[row % departments.length];
|
|
49
|
+
switch (col) {
|
|
50
|
+
case 0:
|
|
51
|
+
return { kind: 'text', displayData: `${firstName} ${lastName}`, data: `${firstName} ${lastName}`, allowOverlay: true };
|
|
52
|
+
case 1:
|
|
53
|
+
return { kind: 'uri', displayData: email, data: email, allowOverlay: true };
|
|
54
|
+
case 2:
|
|
55
|
+
return { kind: 'number', displayData: String(age), data: age, allowOverlay: true };
|
|
56
|
+
case 3:
|
|
57
|
+
return { kind: 'bubble', displayData: status, data: status, allowOverlay: true };
|
|
58
|
+
case 4:
|
|
59
|
+
return { kind: 'text', displayData: department, data: department, allowOverlay: true };
|
|
60
|
+
default:
|
|
61
|
+
return { kind: 'text', displayData: '', data: null, allowOverlay: true };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export const Basic = {
|
|
65
|
+
args: {
|
|
66
|
+
columns: defaultColumns,
|
|
67
|
+
rows: 100,
|
|
68
|
+
getCellContent: generateCellContent,
|
|
69
|
+
height: 400
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
export const LargeDataset = {
|
|
73
|
+
args: {
|
|
74
|
+
columns: defaultColumns,
|
|
75
|
+
rows: 10000,
|
|
76
|
+
getCellContent: generateCellContent,
|
|
77
|
+
height: 500
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
export const WithRowNumbers = {
|
|
81
|
+
args: {
|
|
82
|
+
columns: defaultColumns,
|
|
83
|
+
rows: 50,
|
|
84
|
+
getCellContent: generateCellContent,
|
|
85
|
+
rowMarkers: 'number',
|
|
86
|
+
height: 400
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
export const WithCheckboxes = {
|
|
90
|
+
args: {
|
|
91
|
+
columns: defaultColumns,
|
|
92
|
+
rows: 50,
|
|
93
|
+
getCellContent: generateCellContent,
|
|
94
|
+
rowMarkers: 'checkbox',
|
|
95
|
+
height: 400
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
export const Readonly = {
|
|
99
|
+
args: {
|
|
100
|
+
columns: defaultColumns,
|
|
101
|
+
rows: 50,
|
|
102
|
+
getCellContent: generateCellContent,
|
|
103
|
+
readonly: true,
|
|
104
|
+
height: 400
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
export const CustomTheme = {
|
|
108
|
+
args: {
|
|
109
|
+
columns: defaultColumns,
|
|
110
|
+
rows: 50,
|
|
111
|
+
getCellContent: generateCellContent,
|
|
112
|
+
theme: {
|
|
113
|
+
accentColor: '#10b981',
|
|
114
|
+
accentFg: '#ffffff',
|
|
115
|
+
bgCell: '#1e293b',
|
|
116
|
+
bgHeader: '#334155',
|
|
117
|
+
bgHeaderHasFocus: '#475569',
|
|
118
|
+
borderColor: '#475569',
|
|
119
|
+
foreground: '#f1f5f9',
|
|
120
|
+
fontFamily: 'ui-monospace, monospace'
|
|
121
|
+
},
|
|
122
|
+
height: 400
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
export const SmallRows = {
|
|
126
|
+
args: {
|
|
127
|
+
columns: defaultColumns,
|
|
128
|
+
rows: 10,
|
|
129
|
+
getCellContent: generateCellContent,
|
|
130
|
+
height: 300
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const wideColumns = [
|
|
134
|
+
{ id: 'id', title: 'ID', width: 60 },
|
|
135
|
+
{ id: 'product', title: 'Product Name', width: 200 },
|
|
136
|
+
{ id: 'sku', title: 'SKU', width: 100 },
|
|
137
|
+
{ id: 'price', title: 'Price', width: 80 },
|
|
138
|
+
{ id: 'stock', title: 'Stock', width: 80 },
|
|
139
|
+
{ id: 'category', title: 'Category', width: 120 },
|
|
140
|
+
{ id: 'supplier', title: 'Supplier', width: 150 },
|
|
141
|
+
{ id: 'created', title: 'Created', width: 120 },
|
|
142
|
+
{ id: 'updated', title: 'Updated', width: 120 }
|
|
143
|
+
];
|
|
144
|
+
function generateProductCell([col, row]) {
|
|
145
|
+
const products = ['Laptop Pro', 'Wireless Mouse', 'USB-C Hub', 'Monitor 4K', 'Mechanical Keyboard'];
|
|
146
|
+
const categories = ['Electronics', 'Accessories', 'Peripherals', 'Display', 'Input'];
|
|
147
|
+
switch (col) {
|
|
148
|
+
case 0:
|
|
149
|
+
return { kind: 'number', displayData: String(row + 1000), data: row + 1000, allowOverlay: true };
|
|
150
|
+
case 1:
|
|
151
|
+
return { kind: 'text', displayData: products[row % products.length], data: products[row % products.length], allowOverlay: true };
|
|
152
|
+
case 2:
|
|
153
|
+
return { kind: 'text', displayData: `SKU-${row.toString(16).toUpperCase()}`, data: `SKU-${row.toString(16).toUpperCase()}`, allowOverlay: true };
|
|
154
|
+
case 3:
|
|
155
|
+
return { kind: 'number', displayData: `$${(99.99 + row * 10).toFixed(2)}`, data: 99.99 + row * 10, allowOverlay: true };
|
|
156
|
+
case 4:
|
|
157
|
+
return { kind: 'number', displayData: String(Math.floor(Math.random() * 100)), data: Math.floor(Math.random() * 100), allowOverlay: true };
|
|
158
|
+
case 5:
|
|
159
|
+
return { kind: 'bubble', displayData: categories[row % categories.length], data: categories[row % categories.length], allowOverlay: true };
|
|
160
|
+
case 6:
|
|
161
|
+
return { kind: 'text', displayData: 'Acme Corp', data: 'Acme Corp', allowOverlay: true };
|
|
162
|
+
case 7:
|
|
163
|
+
return { kind: 'text', displayData: `2024-${String((row % 12) + 1).padStart(2, '0')}-15`, data: null, allowOverlay: true };
|
|
164
|
+
case 8:
|
|
165
|
+
return { kind: 'text', displayData: `2024-${String((row % 12) + 1).padStart(2, '0')}-20`, data: null, allowOverlay: true };
|
|
166
|
+
default:
|
|
167
|
+
return { kind: 'text', displayData: '', data: null, allowOverlay: true };
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
export const WideGrid = {
|
|
171
|
+
args: {
|
|
172
|
+
columns: wideColumns,
|
|
173
|
+
rows: 100,
|
|
174
|
+
getCellContent: generateProductCell,
|
|
175
|
+
height: 400
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
export const WithSearchHighlight = {
|
|
179
|
+
args: {
|
|
180
|
+
columns: defaultColumns,
|
|
181
|
+
rows: 100,
|
|
182
|
+
getCellContent: generateCellContent,
|
|
183
|
+
showSearch: true,
|
|
184
|
+
searchValue: 'Alice',
|
|
185
|
+
height: 400
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
export const WithFixedColumns = {
|
|
189
|
+
args: {
|
|
190
|
+
columns: wideColumns,
|
|
191
|
+
rows: 100,
|
|
192
|
+
getCellContent: generateProductCell,
|
|
193
|
+
fixedColumns: 2,
|
|
194
|
+
height: 400
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
export const WithFixedColumnsAndRowNumbers = {
|
|
198
|
+
args: {
|
|
199
|
+
columns: wideColumns,
|
|
200
|
+
rows: 100,
|
|
201
|
+
getCellContent: generateProductCell,
|
|
202
|
+
fixedColumns: 2,
|
|
203
|
+
rowMarkers: 'number',
|
|
204
|
+
height: 400
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
export const WithColumnReorder = {
|
|
208
|
+
args: {
|
|
209
|
+
columns: [...defaultColumns],
|
|
210
|
+
rows: 50,
|
|
211
|
+
getCellContent: generateCellContent,
|
|
212
|
+
onColumnMoved: (startIndex, endIndex) => {
|
|
213
|
+
console.log(`Column moved from ${startIndex} to ${endIndex}`);
|
|
214
|
+
},
|
|
215
|
+
height: 400
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
export const EditableWithCopyPaste = {
|
|
219
|
+
args: {
|
|
220
|
+
columns: defaultColumns,
|
|
221
|
+
rows: 50,
|
|
222
|
+
getCellContent: generateCellContent,
|
|
223
|
+
rowMarkers: 'checkbox',
|
|
224
|
+
onCellEdited: (item, value) => {
|
|
225
|
+
console.log('Cell edited:', item, value);
|
|
226
|
+
},
|
|
227
|
+
height: 400
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
export const AllFeatures = {
|
|
231
|
+
args: {
|
|
232
|
+
columns: [...wideColumns],
|
|
233
|
+
rows: 1000,
|
|
234
|
+
getCellContent: generateProductCell,
|
|
235
|
+
fixedColumns: 2,
|
|
236
|
+
rowMarkers: 'number',
|
|
237
|
+
showSearch: true,
|
|
238
|
+
searchValue: 'Laptop',
|
|
239
|
+
onColumnMoved: (startIndex, endIndex) => {
|
|
240
|
+
console.log(`Column moved: ${startIndex} → ${endIndex}`);
|
|
241
|
+
},
|
|
242
|
+
onCellEdited: (item, value) => {
|
|
243
|
+
console.log('Cell edited:', item, value);
|
|
244
|
+
},
|
|
245
|
+
theme: {
|
|
246
|
+
accentColor: '#6366f1',
|
|
247
|
+
bgHeaderHasFocus: '#e0e7ff',
|
|
248
|
+
bgSearchResult: '#fef9c3'
|
|
249
|
+
},
|
|
250
|
+
height: 500
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
export const MillionRows = {
|
|
254
|
+
args: {
|
|
255
|
+
columns: defaultColumns,
|
|
256
|
+
rows: 1_000_000,
|
|
257
|
+
getCellContent: generateCellContent,
|
|
258
|
+
fixedColumns: 1,
|
|
259
|
+
rowMarkers: 'number',
|
|
260
|
+
height: 500
|
|
261
|
+
}
|
|
262
|
+
};
|