@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.
Files changed (60) hide show
  1. package/data/demos/patterns/_shared/StateDebugPanel.tsx +153 -0
  2. package/data/demos/patterns/_shared/columns.tsx +12 -3
  3. package/data/demos/patterns/_shared/defaults.ts +1 -1
  4. package/data/demos/patterns/_shared/filter-helpers.ts +1 -1
  5. package/data/demos/patterns/_shared/helpers.tsx +1 -1
  6. package/data/demos/patterns/_shared/server-logic.ts +1 -1
  7. package/data/demos/patterns/_shared/story-helpers.ts +578 -14
  8. package/data/demos/patterns/_shared/use-router-adapter.ts +51 -0
  9. package/data/demos/patterns/crossfiltered-datagrid-client-side/CrossfilteredDatagridClientSide.interaction.stories.tsx +2 -2
  10. package/data/demos/patterns/crossfiltered-datagrid-client-side/example.tsx +2 -2
  11. package/data/demos/patterns/crossfiltered-datagrid-server-side/CrossfilteredDatagridServerSide.interaction.stories.tsx +2 -2
  12. package/data/demos/patterns/crossfiltered-datagrid-server-side/example.tsx +6 -6
  13. package/data/demos/patterns/drilldowned-datagrid-client-side/DrilldownedDatagridClientSide.interaction.stories.tsx +2 -2
  14. package/data/demos/patterns/drilldowned-datagrid-client-side/example.tsx +1 -1
  15. package/data/demos/patterns/drilldowned-datagrid-server-side/DrilldownedDatagridServerSide.interaction.stories.tsx +2 -2
  16. package/data/demos/patterns/drilldowned-datagrid-server-side/example.tsx +1 -1
  17. package/data/demos/patterns/single-datagrid-client-side/SingleDatagridClientSide.interaction.stories.tsx +382 -169
  18. package/data/demos/patterns/single-datagrid-client-side/example.tsx +6 -6
  19. package/data/demos/patterns/single-datagrid-client-side/with-empty-state.tsx +1 -1
  20. package/data/demos/patterns/single-datagrid-client-side/with-error.tsx +1 -1
  21. package/data/demos/patterns/single-datagrid-client-side/with-loading.tsx +1 -1
  22. package/data/demos/patterns/single-datagrid-server-side/SingleDatagridServerSide.interaction.stories.tsx +426 -54
  23. package/data/demos/patterns/single-datagrid-server-side/example.tsx +6 -5
  24. package/data/demos/patterns/stateful-single-datagrid-client-side/StatefulSingleDatagridClientSide.interaction.stories.tsx +671 -0
  25. package/data/demos/patterns/stateful-single-datagrid-client-side/example.tsx +55 -0
  26. package/data/demos/patterns/stateful-single-datagrid-client-side/with-empty-state.tsx +27 -0
  27. package/data/demos/patterns/stateful-single-datagrid-client-side/with-error.tsx +39 -0
  28. package/data/demos/patterns/stateful-single-datagrid-client-side/with-loading.tsx +25 -0
  29. package/data/demos/patterns/stateful-single-datagrid-server-side/StatefulSingleDatagridServerSide.interaction.stories.tsx +692 -0
  30. package/data/demos/patterns/stateful-single-datagrid-server-side/example.tsx +108 -0
  31. package/data/demos/patterns/stateful-single-datagrid-server-side/with-empty-state.tsx +31 -0
  32. package/data/demos/patterns/stateful-single-datagrid-server-side/with-error.tsx +43 -0
  33. package/data/demos/patterns/stateful-single-datagrid-server-side/with-loading.tsx +29 -0
  34. package/data/demos/patterns/summary-dashboard/SummaryDashboard.interaction.stories.tsx +44 -24
  35. package/data/demos/patterns/summary-dashboard/example.tsx +66 -28
  36. package/data/demos/patterns/summary-dashboard/with-loading.tsx +12 -3
  37. package/data/demos/patterns/tabbed-datagrid-client-side/TabbedDatagridClientSide.interaction.stories.tsx +2 -2
  38. package/data/demos/patterns/tabbed-datagrid-server-side/TabbedDatagridServerSide.interaction.stories.tsx +2 -2
  39. package/data/demos/patterns/tabbed-datagrid-server-side/example.tsx +1 -1
  40. package/data/docs/components/dashboard/Dashboard.json +2 -2
  41. package/data/docs/components/table/DataGrid.json +30 -3
  42. package/data/docs/components/table/StatefulDataGrid.json +30 -3
  43. package/data/docs/components-index.json +2 -2
  44. package/data/docs/components.json +64 -10
  45. package/data/docs/llms-full.txt +799 -44
  46. package/data/docs/llms.txt +20 -6
  47. package/data/docs/patterns-catalog.md +25 -24
  48. package/data/docs/patterns.json +82 -8
  49. package/data/metadata.json +2 -2
  50. package/data/patterns/crossfiltered-datagrid-server-side.mdx +1 -1
  51. package/data/patterns/drilldowned-datagrid-client-side.mdx +1 -1
  52. package/data/patterns/drilldowned-datagrid-server-side.mdx +1 -1
  53. package/data/patterns/single-datagrid-client-side.mdx +9 -9
  54. package/data/patterns/single-datagrid-server-side.mdx +6 -6
  55. package/data/patterns/stateful-single-datagrid-client-side.mdx +304 -0
  56. package/data/patterns/stateful-single-datagrid-server-side.mdx +347 -0
  57. package/data/patterns/summary-dashboard.mdx +47 -7
  58. package/data/patterns/tabbed-datagrid-client-side.mdx +72 -2
  59. package/data/patterns/tabbed-datagrid-server-side.mdx +105 -2
  60. 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: any) => d.Category}
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: any) => d.Allergens}
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 as any,
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-premium';
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, width: 60 }}
238
+ barProps={{ gap: 20 }}
239
239
  data={tagsChartData}
240
240
  barRole="option"
241
241
  onBarClick={(datum: BarDatum) => {
242
- const key = String(datum.data.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(String(datum.data.key))
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 as any,
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-premium';
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 as any,
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-premium';
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';