@redsift/ds-mcp-server 12.4.0 → 12.5.0-muiv7
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/data/demos/patterns/_shared/StateDebugPanel.tsx +153 -0
- package/data/demos/patterns/_shared/columns.tsx +12 -3
- package/data/demos/patterns/_shared/defaults.ts +1 -1
- package/data/demos/patterns/_shared/filter-helpers.ts +1 -1
- package/data/demos/patterns/_shared/helpers.tsx +1 -1
- package/data/demos/patterns/_shared/server-logic.ts +1 -1
- package/data/demos/patterns/_shared/story-helpers.ts +578 -14
- package/data/demos/patterns/_shared/use-router-adapter.ts +51 -0
- package/data/demos/patterns/crossfiltered-datagrid-client-side/CrossfilteredDatagridClientSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/crossfiltered-datagrid-client-side/example.tsx +2 -2
- package/data/demos/patterns/crossfiltered-datagrid-server-side/CrossfilteredDatagridServerSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/crossfiltered-datagrid-server-side/example.tsx +6 -6
- package/data/demos/patterns/drilldowned-datagrid-client-side/DrilldownedDatagridClientSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/drilldowned-datagrid-client-side/example.tsx +1 -1
- package/data/demos/patterns/drilldowned-datagrid-server-side/DrilldownedDatagridServerSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/drilldowned-datagrid-server-side/example.tsx +1 -1
- package/data/demos/patterns/single-datagrid-client-side/SingleDatagridClientSide.interaction.stories.tsx +382 -169
- package/data/demos/patterns/single-datagrid-client-side/example.tsx +6 -6
- package/data/demos/patterns/single-datagrid-client-side/with-empty-state.tsx +1 -1
- package/data/demos/patterns/single-datagrid-client-side/with-error.tsx +1 -1
- package/data/demos/patterns/single-datagrid-client-side/with-loading.tsx +1 -1
- package/data/demos/patterns/single-datagrid-server-side/SingleDatagridServerSide.interaction.stories.tsx +426 -54
- package/data/demos/patterns/single-datagrid-server-side/example.tsx +6 -5
- package/data/demos/patterns/stateful-single-datagrid-client-side/StatefulSingleDatagridClientSide.interaction.stories.tsx +671 -0
- package/data/demos/patterns/stateful-single-datagrid-client-side/example.tsx +55 -0
- package/data/demos/patterns/stateful-single-datagrid-client-side/with-empty-state.tsx +27 -0
- package/data/demos/patterns/stateful-single-datagrid-client-side/with-error.tsx +39 -0
- package/data/demos/patterns/stateful-single-datagrid-client-side/with-loading.tsx +25 -0
- package/data/demos/patterns/stateful-single-datagrid-server-side/StatefulSingleDatagridServerSide.interaction.stories.tsx +692 -0
- package/data/demos/patterns/stateful-single-datagrid-server-side/example.tsx +108 -0
- package/data/demos/patterns/stateful-single-datagrid-server-side/with-empty-state.tsx +31 -0
- package/data/demos/patterns/stateful-single-datagrid-server-side/with-error.tsx +43 -0
- package/data/demos/patterns/stateful-single-datagrid-server-side/with-loading.tsx +29 -0
- package/data/demos/patterns/summary-dashboard/SummaryDashboard.interaction.stories.tsx +44 -24
- package/data/demos/patterns/summary-dashboard/example.tsx +66 -28
- package/data/demos/patterns/summary-dashboard/with-loading.tsx +12 -3
- package/data/demos/patterns/tabbed-datagrid-client-side/TabbedDatagridClientSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/tabbed-datagrid-server-side/TabbedDatagridServerSide.interaction.stories.tsx +2 -2
- package/data/demos/patterns/tabbed-datagrid-server-side/example.tsx +1 -1
- package/data/docs/components/dashboard/Dashboard.json +2 -2
- package/data/docs/components/table/DataGrid.json +30 -3
- package/data/docs/components/table/StatefulDataGrid.json +30 -3
- package/data/docs/components-index.json +2 -2
- package/data/docs/components.json +64 -10
- package/data/docs/llms-full.txt +799 -44
- package/data/docs/llms.txt +20 -6
- package/data/docs/patterns-catalog.md +25 -24
- package/data/docs/patterns.json +82 -8
- package/data/metadata.json +2 -2
- package/data/patterns/crossfiltered-datagrid-server-side.mdx +1 -1
- package/data/patterns/drilldowned-datagrid-client-side.mdx +1 -1
- package/data/patterns/drilldowned-datagrid-server-side.mdx +1 -1
- package/data/patterns/single-datagrid-client-side.mdx +9 -9
- package/data/patterns/single-datagrid-server-side.mdx +6 -6
- package/data/patterns/stateful-single-datagrid-client-side.mdx +304 -0
- package/data/patterns/stateful-single-datagrid-server-side.mdx +347 -0
- package/data/patterns/summary-dashboard.mdx +47 -7
- package/data/patterns/tabbed-datagrid-client-side.mdx +72 -2
- package/data/patterns/tabbed-datagrid-server-side.mdx +105 -2
- package/package.json +2 -2
|
@@ -18,7 +18,7 @@ export default () => (
|
|
|
18
18
|
{/* Category card — two-way: counts update when other cards filter */}
|
|
19
19
|
<WithFilters
|
|
20
20
|
field="Category"
|
|
21
|
-
dimension={(d:
|
|
21
|
+
dimension={(d: Row) => d.Category}
|
|
22
22
|
datagridCategoryDimFilter={{ field: 'Category', operator: 'isAnyOf' }}
|
|
23
23
|
syncMode="two-way"
|
|
24
24
|
>
|
|
@@ -51,7 +51,7 @@ export default () => (
|
|
|
51
51
|
{/* Allergens card — two-way */}
|
|
52
52
|
<WithFilters
|
|
53
53
|
field="Allergens"
|
|
54
|
-
dimension={(d:
|
|
54
|
+
dimension={(d: Row) => d.Allergens}
|
|
55
55
|
isDimensionArray
|
|
56
56
|
datagridCategoryDimFilter={{ field: 'Allergens', operator: 'hasAnyOf' }}
|
|
57
57
|
syncMode="two-way"
|
|
@@ -84,9 +84,9 @@ import {
|
|
|
84
84
|
RU7_RM_PASTRY,
|
|
85
85
|
} from '../_shared/expected-values';
|
|
86
86
|
|
|
87
|
-
const meta: Meta = {
|
|
87
|
+
const meta: Meta<typeof Example> = {
|
|
88
88
|
title: 'Patterns/Crossfiltered Datagrid (Server)',
|
|
89
|
-
component: Example
|
|
89
|
+
component: Example,
|
|
90
90
|
parameters: {
|
|
91
91
|
msw: { handlers: bakeryHandlers },
|
|
92
92
|
},
|
|
@@ -4,7 +4,7 @@ import { Flexbox } from '@redsift/design-system';
|
|
|
4
4
|
import { DataCard, DataRow } from '@redsift/dashboard';
|
|
5
5
|
import { BarChart, PieChart, ArcDatum, BarDatum } from '@redsift/charts';
|
|
6
6
|
import { mdiShapeOutline, mdiToggleSwitch, mdiFoodOff } from '@redsift/icons';
|
|
7
|
-
import { GridFilterModel, GridSortModel } from '@mui/x-data-grid-
|
|
7
|
+
import { GridFilterModel, GridSortModel } from '@mui/x-data-grid-pro';
|
|
8
8
|
import { Row } from '../_shared/data';
|
|
9
9
|
import { columns, CATEGORY_OPTIONS, ALLERGEN_OPTIONS } from '../_shared/columns';
|
|
10
10
|
import { fetchBakeryData, FetchResult } from '../_shared/api-client';
|
|
@@ -208,7 +208,7 @@ export default () => {
|
|
|
208
208
|
data={itemsChartData}
|
|
209
209
|
sliceRole="option"
|
|
210
210
|
onSliceClick={(datum: ArcDatum) => {
|
|
211
|
-
const key = datum.data.key;
|
|
211
|
+
const key = datum.data.key as string;
|
|
212
212
|
setFilterModel((prev) => {
|
|
213
213
|
const selected = getSelectedFromFilterModel(prev, 'Items');
|
|
214
214
|
const next = selected.includes(key) ? selected.filter((v) => v !== key) : [...selected, key];
|
|
@@ -217,7 +217,7 @@ export default () => {
|
|
|
217
217
|
setPage(0);
|
|
218
218
|
}}
|
|
219
219
|
isSliceSelected={(datum: ArcDatum) =>
|
|
220
|
-
itemsSelection.length === 0 || itemsSelection.includes(datum.data.key)
|
|
220
|
+
itemsSelection.length === 0 || itemsSelection.includes(datum.data.key as string)
|
|
221
221
|
}
|
|
222
222
|
/>
|
|
223
223
|
|
|
@@ -235,11 +235,11 @@ export default () => {
|
|
|
235
235
|
}}
|
|
236
236
|
xAxisVariant="tickValue"
|
|
237
237
|
yAxisVariant="default"
|
|
238
|
-
barProps={{ gap: 20
|
|
238
|
+
barProps={{ gap: 20 }}
|
|
239
239
|
data={tagsChartData}
|
|
240
240
|
barRole="option"
|
|
241
241
|
onBarClick={(datum: BarDatum) => {
|
|
242
|
-
const key =
|
|
242
|
+
const key = datum.data.key as string;
|
|
243
243
|
setFilterModel((prev) => {
|
|
244
244
|
const selected = getSelectedFromFilterModel(prev, 'Tags');
|
|
245
245
|
const next = selected.includes(key) ? selected.filter((v) => v !== key) : [...selected, key];
|
|
@@ -248,7 +248,7 @@ export default () => {
|
|
|
248
248
|
setPage(0);
|
|
249
249
|
}}
|
|
250
250
|
isBarSelected={(datum: BarDatum) =>
|
|
251
|
-
tagsSelection.length === 0 || tagsSelection.includes(
|
|
251
|
+
tagsSelection.length === 0 || tagsSelection.includes(datum.data.key as string)
|
|
252
252
|
}
|
|
253
253
|
/>
|
|
254
254
|
</Flexbox>
|
|
@@ -34,9 +34,9 @@ import {
|
|
|
34
34
|
ALLERGENS_HASANYOF_GLUTEN,
|
|
35
35
|
} from '../_shared/expected-values';
|
|
36
36
|
|
|
37
|
-
const meta: Meta = {
|
|
37
|
+
const meta: Meta<typeof Example> = {
|
|
38
38
|
title: 'Patterns/Drilldowned Datagrid (Client)',
|
|
39
|
-
component: Example
|
|
39
|
+
component: Example,
|
|
40
40
|
};
|
|
41
41
|
export default meta;
|
|
42
42
|
type Story = StoryObj;
|
|
@@ -3,7 +3,7 @@ import { DataGrid } from '@redsift/table';
|
|
|
3
3
|
import { Flexbox } from '@redsift/design-system';
|
|
4
4
|
import { DataCard, DataRow } from '@redsift/dashboard';
|
|
5
5
|
import { mdiShapeOutline, mdiToggleSwitch, mdiFoodOff } from '@redsift/icons';
|
|
6
|
-
import { GridFilterModel } from '@mui/x-data-grid-
|
|
6
|
+
import { GridFilterModel } from '@mui/x-data-grid-pro';
|
|
7
7
|
import { rows } from '../_shared/data';
|
|
8
8
|
import { columns, CATEGORY_OPTIONS, ALLERGEN_OPTIONS } from '../_shared/columns';
|
|
9
9
|
import { CustomToolbar } from '../_shared/helpers';
|
|
@@ -35,9 +35,9 @@ import {
|
|
|
35
35
|
ALLERGENS_HASANYOF_GLUTEN,
|
|
36
36
|
} from '../_shared/expected-values';
|
|
37
37
|
|
|
38
|
-
const meta: Meta = {
|
|
38
|
+
const meta: Meta<typeof Example> = {
|
|
39
39
|
title: 'Patterns/Drilldowned Datagrid (Server)',
|
|
40
|
-
component: Example
|
|
40
|
+
component: Example,
|
|
41
41
|
parameters: {
|
|
42
42
|
msw: { handlers: bakeryHandlers },
|
|
43
43
|
},
|
|
@@ -3,7 +3,7 @@ import { DataGrid } from '@redsift/table';
|
|
|
3
3
|
import { Flexbox } from '@redsift/design-system';
|
|
4
4
|
import { DataCard, DataRow } from '@redsift/dashboard';
|
|
5
5
|
import { mdiShapeOutline, mdiToggleSwitch, mdiFoodOff } from '@redsift/icons';
|
|
6
|
-
import { GridFilterModel, GridSortModel } from '@mui/x-data-grid-
|
|
6
|
+
import { GridFilterModel, GridSortModel } from '@mui/x-data-grid-pro';
|
|
7
7
|
import { Row } from '../_shared/data';
|
|
8
8
|
import { columns, CATEGORY_OPTIONS, ALLERGEN_OPTIONS } from '../_shared/columns';
|
|
9
9
|
import { fetchBakeryData, FetchResult } from '../_shared/api-client';
|