@redsift/ds-mcp-server 12.5.3-alpha.5 → 12.5.3-alpha.7

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 (90) hide show
  1. package/consumer-instructions/.cursorrules +14 -0
  2. package/consumer-instructions/.windsurfrules +18 -4
  3. package/consumer-instructions/CLAUDE.md +25 -11
  4. package/consumer-instructions/redsift-design-system.instructions.md +107 -12
  5. package/data/docs/components/charts/Axis.json +6 -1
  6. package/data/docs/components/charts/BarChart.json +7 -1
  7. package/data/docs/components/charts/BaseBarChart.json +1 -1
  8. package/data/docs/components/charts/ChartContainerTitle.json +5 -1
  9. package/data/docs/components/charts/Legend.json +6 -1
  10. package/data/docs/components/charts/LineChart.json +8 -2
  11. package/data/docs/components/charts/PieChart.json +6 -1
  12. package/data/docs/components/charts/ScatterPlot.json +6 -1
  13. package/data/docs/components/dashboard/ChartEmptyState.json +8 -1
  14. package/data/docs/components/dashboard/Dashboard.json +6 -1
  15. package/data/docs/components/dashboard/DataCard.json +18 -1
  16. package/data/docs/components/dashboard/DataCardBody.json +9 -1
  17. package/data/docs/components/dashboard/DataCardHeader.json +8 -1
  18. package/data/docs/components/dashboard/DataCardListbox.json +10 -1
  19. package/data/docs/components/dashboard/DataRow.json +7 -1
  20. package/data/docs/components/dashboard/PdfExportButton.json +6 -1
  21. package/data/docs/components/dashboard/TimeSeriesBarChart.json +6 -1
  22. package/data/docs/components/dashboard/WithFilters.json +5 -1
  23. package/data/docs/components/design-system/Alert.json +8 -1
  24. package/data/docs/components/design-system/AppBar.json +6 -1
  25. package/data/docs/components/design-system/AppContent.json +8 -1
  26. package/data/docs/components/design-system/AppSidePanel.json +9 -1
  27. package/data/docs/components/design-system/Badge.json +6 -1
  28. package/data/docs/components/design-system/Breadcrumbs.json +10 -1
  29. package/data/docs/components/design-system/Button.json +10 -1
  30. package/data/docs/components/design-system/Card.json +15 -1
  31. package/data/docs/components/design-system/CardActions.json +8 -1
  32. package/data/docs/components/design-system/CardBody.json +7 -1
  33. package/data/docs/components/design-system/CardHeader.json +8 -1
  34. package/data/docs/components/design-system/DetailedCard.json +12 -1
  35. package/data/docs/components/design-system/DetailedCardHeader.json +4 -1
  36. package/data/docs/components/design-system/DetailedCardSection.json +4 -1
  37. package/data/docs/components/design-system/Flexbox.json +14 -1
  38. package/data/docs/components/design-system/Grid.json +6 -1
  39. package/data/docs/components/design-system/Heading.json +16 -1
  40. package/data/docs/components/design-system/Icon.json +6 -1
  41. package/data/docs/components/design-system/IconButton.json +14 -1
  42. package/data/docs/components/design-system/Pill.json +15 -1
  43. package/data/docs/components/design-system/Skeleton.json +10 -1
  44. package/data/docs/components/design-system/SkeletonCircle.json +6 -1
  45. package/data/docs/components/design-system/SkeletonText.json +6 -1
  46. package/data/docs/components/design-system/Tab.json +9 -1
  47. package/data/docs/components/design-system/TabPanel.json +10 -1
  48. package/data/docs/components/design-system/Tabs.json +12 -1
  49. package/data/docs/components/design-system/Text.json +14 -1
  50. package/data/docs/components/design-system/TextField.json +6 -1
  51. package/data/docs/components/pickers/Combobox.json +12 -1
  52. package/data/docs/components/pickers/ComboboxContent.json +6 -1
  53. package/data/docs/components/pickers/MenuButton.json +10 -1
  54. package/data/docs/components/pickers/MenuButtonContent.json +5 -1
  55. package/data/docs/components/pickers/Select.json +11 -1
  56. package/data/docs/components/popovers/Dialog.json +10 -1
  57. package/data/docs/components/popovers/Toggletip.json +11 -1
  58. package/data/docs/components/popovers/Tooltip.json +9 -1
  59. package/data/docs/components/table/DataGrid.json +9 -1
  60. package/data/docs/components/table/StatefulDataGrid.json +6 -1
  61. package/data/docs/components-index.json +341 -555
  62. package/data/docs/components.json +7945 -24342
  63. package/data/docs/llms-full.txt +879 -2546
  64. package/data/docs/llms.txt +55 -77
  65. package/data/docs/patterns-catalog.md +191 -0
  66. package/data/docs/patterns.json +365 -27
  67. package/data/metadata.json +2 -2
  68. package/data/patterns/drilldowned-datagrid-server-side.mdx +19 -0
  69. package/data/prompts/ds-advisor.md +103 -0
  70. package/dist/data-store.d.ts +23 -1
  71. package/dist/data-store.d.ts.map +1 -1
  72. package/dist/data-store.js +69 -15
  73. package/dist/data-store.js.map +1 -1
  74. package/dist/pattern-store.d.ts +23 -1
  75. package/dist/pattern-store.d.ts.map +1 -1
  76. package/dist/pattern-store.js +94 -22
  77. package/dist/pattern-store.js.map +1 -1
  78. package/dist/prompts.d.ts.map +1 -1
  79. package/dist/prompts.js +56 -27
  80. package/dist/prompts.js.map +1 -1
  81. package/dist/resources.d.ts.map +1 -1
  82. package/dist/resources.js +60 -6
  83. package/dist/resources.js.map +1 -1
  84. package/dist/tools.d.ts.map +1 -1
  85. package/dist/tools.js +12 -0
  86. package/dist/tools.js.map +1 -1
  87. package/dist/types.d.ts +11 -0
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/types.js.map +1 -1
  90. package/package.json +4 -2
@@ -3,8 +3,65 @@
3
3
  This file contains comprehensive documentation for all components in the Red Sift Design System.
4
4
  It is optimized for LLM consumption and includes props, types, defaults, and usage examples.
5
5
 
6
- Generated: 2026-05-06T13:08:06.962Z
7
- Total Components: 228
6
+ Generated: 2026-05-12T09:42:09.200Z
7
+ Total Components: 156
8
+
9
+ ---
10
+
11
+ ## Host App Setup — Required Bootstrap
12
+
13
+ Before using ANY @redsift/* components, the host app must:
14
+
15
+ ### 1. Import the CSS foundation
16
+
17
+ Add this import once, at your app entry point (e.g. `main.tsx`, `_app.tsx`, `index.tsx`):
18
+
19
+ ```tsx
20
+ import '@redsift/design-system/style/index.css';
21
+ ```
22
+
23
+ This loads design tokens (colors, spacing, typography), fonts (Poppins, Inter), and a CSS reset.
24
+ Without it, components render without styling and CSS `var(--redsift-*)` tokens resolve to nothing.
25
+
26
+ ### 2. Set up theming
27
+
28
+ **Option A — Full app shell (recommended):**
29
+ ```tsx
30
+ import { AppContainer, AppSidePanel, AppBar, AppContent } from '@redsift/design-system';
31
+
32
+ <AppContainer theme="light" product="ondmarc">
33
+ <AppSidePanel>{/* nav */}</AppSidePanel>
34
+ <AppContent>{/* pages */}</AppContent>
35
+ </AppContainer>
36
+ ```
37
+
38
+ **Option B — Standalone ThemeProvider (for non-Red-Sift-shell apps):**
39
+ ```tsx
40
+ import { ThemeProvider } from '@redsift/design-system';
41
+
42
+ <ThemeProvider value={{ theme: 'dark' }}>
43
+ {/* All @redsift/* components inside will read theme from context */}
44
+ </ThemeProvider>
45
+ ```
46
+
47
+ **Option C — Per-component theme prop (last resort, not recommended):**
48
+ Every DS component accepts an optional `theme?: 'light' | 'dark'` prop.
49
+ Use this only when a single component must override the inherited theme.
50
+ Do NOT thread `theme` through every component in the tree — use Option A or B at the root.
51
+
52
+ ### 3. Icons
53
+
54
+ Import icons from `@redsift/icons`, not `@mdi/js`:
55
+ ```tsx
56
+ import { mdiPlus, mdiDelete } from '@redsift/icons';
57
+ ```
58
+
59
+ ### CSS framework co-existence (Tailwind, etc.)
60
+
61
+ - **Safe:** Tailwind layout utilities (`flex`, `grid`, `gap-*`, `w-*`, `h-*`, `p-*`, `m-*`, `overflow-*`, `relative`, `absolute`).
62
+ - **Conflicts:** Tailwind color classes (`bg-*`, `text-*`, `border-*`) override DS design tokens. Tailwind `dark:*` classes conflict with DS theme switching.
63
+ - **Rule:** Never apply Tailwind `bg-*`, `text-*`, `border-*`, or `dark:*` classes to elements that render or wrap DS components. Use DS layout primitives (`Flexbox`, `Box`, `Grid`) or styled-components with `var(--redsift-*)` tokens instead.
64
+
8
65
 
9
66
  ---
10
67
 
@@ -125,25 +182,6 @@ Automatically adjusts its position based on the side panel's collapsed state.
125
182
 
126
183
  ---
127
184
 
128
- ### AppContainer
129
-
130
- The AppContainer component.
131
-
132
- **Package:** @redsift/design-system
133
- **File:** packages/design-system/src/components/app-container/AppContainer.tsx
134
-
135
- #### Props
136
-
137
- | Prop | Type | Required | Default | Description |
138
- |------|------|----------|---------|-------------|
139
- | isFullScreen | false \| true | No | false | Whether the App takes the entire screen or not. |
140
- | locale | string | No | - | The locale to apply to the children. |
141
- | product | "asm" \| "brand-trust" \| "certificates" \| "ondmarc" \| "pulse" \| "radar" \| "rojo-ds" \| "vendor-secure" \| "website" \| { name: string; logo?: ReactElement<any, string \| JSXElementConstructor<any>> \| undefined; } | No | - | Product theme to apply to everything within. This overrides the CSS variables automatically. |
142
- | storageKey | string | No | - | When set, persists the side panel collapse/expand state in localStorage under this key. The `hidden` variant (from `isFullScreen`) is never persisted. |
143
- | theme | "light" \| "dark" | No | - | Overall theme. |
144
-
145
- ---
146
-
147
185
  ### AppContent
148
186
 
149
187
  AppContent is the main content area of a Red Sift application. It automatically
@@ -186,6 +224,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
186
224
 
187
225
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
188
226
 
227
+ #### Usage Rules
228
+
229
+ - ⚠️ Must be a direct child of <AppContainer>. This is where page content goes.
230
+
189
231
  ---
190
232
 
191
233
  ### AppSidePanel
@@ -216,6 +258,10 @@ Must be used within an `AppContainer` to work properly.
216
258
  | theme | "light" \| "dark" | No | - | Theme. |
217
259
  | variant | "hidden" \| "shrinked" \| "standard" | No | - | Variant. |
218
260
 
261
+ #### Usage Rules
262
+
263
+ - ⚠️ Must be a direct child of <AppContainer>. Houses the side navigation.
264
+
219
265
  ---
220
266
 
221
267
  ### Badge
@@ -421,6 +467,12 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
421
467
 
422
468
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
423
469
 
470
+ #### Usage Rules
471
+
472
+ - ⚠️ Only accepts Breadcrumbs.Item as children. Non-Item children are silently ignored and will not render.
473
+ - ⚠️ The last Breadcrumbs.Item is automatically marked as the current page and is not clickable.
474
+ - ⚠️ Provide an aria-label for accessibility (e.g. aria-label="Breadcrumb navigation").
475
+
424
476
  ---
425
477
 
426
478
  ### Button
@@ -467,6 +519,11 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
467
519
 
468
520
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
469
521
 
522
+ #### Usage Rules
523
+
524
+ - ⚠️ The `theme` prop is optional — components inherit theme from the nearest ThemeProvider or AppContainer ancestor. Do NOT pass `theme` to every component; wrap the app at the root instead.
525
+ - ⚠️ Variants: check with get_component_props — they differ from other UI libraries (no "primary", no "secondary").
526
+
470
527
  ---
471
528
 
472
529
  ### ButtonGroup
@@ -591,6 +648,20 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
591
648
 
592
649
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
593
650
 
651
+ #### Usage Rules
652
+
653
+ - ⚠️ Card only accepts Card.Header, Card.Body, and Card.Actions as children. Other elements are silently ignored.
654
+ - ⚠️ Card.Header has a fixed design. Use Card.Body for content and Card.Actions for button rows.
655
+ - ⚠️ For collapsible cards, pass `isCollapsible` to Card. Use `isCollapsed`/`onCollapse` for controlled mode, or `defaultCollapsed` for uncontrolled.
656
+
657
+ #### Disambiguation
658
+
659
+ ⚠️ Card is a generic container with Header/Body/Actions. Do NOT use for KPI/metric tiles — use DataCard from @redsift/dashboard instead.
660
+
661
+ #### Common Anti-Patterns
662
+
663
+ - ❌ Using Card with inline styles for KPI tiles → ✅ Use DataCard from @redsift/dashboard for metric/KPI tiles.
664
+
594
665
  ---
595
666
 
596
667
  ### CardActions
@@ -632,6 +703,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
632
703
 
633
704
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
634
705
 
706
+ #### Usage Rules
707
+
708
+ - ⚠️ Must be a direct child of <Card>.
709
+
635
710
  ---
636
711
 
637
712
  ### CardBody
@@ -672,6 +747,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
672
747
 
673
748
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
674
749
 
750
+ #### Usage Rules
751
+
752
+ - ⚠️ Must be a direct child of <Card>.
753
+
675
754
  ---
676
755
 
677
756
  ### CardHeader
@@ -712,6 +791,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
712
791
 
713
792
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
714
793
 
794
+ #### Usage Rules
795
+
796
+ - ⚠️ Must be a direct child of <Card>.
797
+
715
798
  ---
716
799
 
717
800
  ### Checkbox
@@ -810,24 +893,6 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
810
893
 
811
894
  ---
812
895
 
813
- ### ConditionalWrapper
814
-
815
- ConditionalWrapper conditionally wraps children in a wrapper component.
816
- Useful for applying wrappers like Tooltips or Gradient borders only when needed.
817
-
818
- **Package:** @redsift/design-system
819
- **File:** packages/design-system/src/components/conditional-wrapper/ConditionalWrapper.tsx
820
-
821
- #### Props
822
-
823
- | Prop | Type | Required | Default | Description |
824
- |------|------|----------|---------|-------------|
825
- | children | null \| ReactElement<{}, string \| JSXElementConstructor<any>> | Yes | - | Children to render with or without the wrapper. |
826
- | condition | false \| true | Yes | - | Condition to define whether or not the children should be wrapped. |
827
- | wrapper | (children: ReactElement<{}, string \| JSXElementConstructor<any>> \| null) => ReactElement<{}, string \| JSXElementConstructor<any>> \| null | Yes | - | Wrapper to conditionaly put around the children. |
828
-
829
- ---
830
-
831
896
  ### DetailedCard
832
897
 
833
898
  **Package:** @redsift/design-system
@@ -864,6 +929,16 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
864
929
 
865
930
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
866
931
 
932
+ #### Usage Rules
933
+
934
+ - ⚠️ Content children (after DetailedCard.Header) must be DetailedCard.Section components. Other elements will not receive collapse/expand state injection via cloneElement.
935
+ - ⚠️ DetailedCard.Header is extracted via partitionComponents — it must be a direct child, not wrapped.
936
+ - ⚠️ DetailedCard.CollapsibleSectionItems must be a child of DetailedCard.Section for auto-detection of collapsible state.
937
+
938
+ #### Disambiguation
939
+
940
+ ⚠️ DetailedCard is a complex card with collapsible sections. Use for rich detail panels, not KPI tiles. For KPI tiles use DataCard from @redsift/dashboard.
941
+
867
942
  ---
868
943
 
869
944
  ### DetailedCardCollapsibleSectionItems
@@ -897,6 +972,10 @@ The DetailedCardHeader component.
897
972
  | headingProps | Pick<HeadingProps, "as" \| "noWrap"> | No | - | Heading props allowing to override the component rendered by the heading without changing its style. |
898
973
  | isLoading | false \| true | No | - | Whether the card is loading or not. |
899
974
 
975
+ #### Usage Rules
976
+
977
+ - ⚠️ Must be a direct child of <DetailedCard>.
978
+
900
979
  ---
901
980
 
902
981
  ### DetailedCardSection
@@ -917,6 +996,10 @@ The DetailedCardSection component.
917
996
  | isCollapsible | false \| true | No | - | Whether the section can be collasped or not. |
918
997
  | isLoading | false \| true | No | - | Whether the card is loading or not. |
919
998
 
999
+ #### Usage Rules
1000
+
1001
+ - ⚠️ Must be a direct child of <DetailedCard>. Do not wrap in a <div> — the parent injects `isCollapsed` and `theme` via cloneElement.
1002
+
920
1003
  ---
921
1004
 
922
1005
  ### DetailedCardSectionItem
@@ -992,6 +1075,11 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
992
1075
 
993
1076
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
994
1077
 
1078
+ #### Common Anti-Patterns
1079
+
1080
+ - ❌ gap={4} → ✅ gap="4px" — gap is a string prop (CSS value), not a number.
1081
+ - ❌ style={{ display: "flex", gap: 4 }} → ✅ <Flexbox gap="4px"> — use the Flexbox component instead of inline styles.
1082
+
995
1083
  ---
996
1084
 
997
1085
  ### FocusWithinGroup
@@ -1130,6 +1218,15 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
1130
1218
 
1131
1219
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
1132
1220
 
1221
+ #### Usage Rules
1222
+
1223
+ - ⚠️ The `theme` prop is optional — inherited from context. Do NOT pass `theme` to every component.
1224
+ - ⚠️ Valid `color` values come from NeutralColorPalette ("black", "x-dark-grey", "dark-grey", "mid-grey", "light-grey", "x-light-grey", "white") and NotificationsColorPalette ("error", "warning", "success", "info", "question", "no-data"). You can also pass hex/rgb strings.
1225
+
1226
+ #### Common Anti-Patterns
1227
+
1228
+ - ❌ color="#22c55e" or color="var(--rs-color-green-500)" → ✅ color="success" — use semantic color values from NeutralColorPalette / NotificationsColorPalette.
1229
+
1133
1230
  ---
1134
1231
 
1135
1232
  ### Icon
@@ -1171,6 +1268,15 @@ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `margin
1171
1268
 
1172
1269
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
1173
1270
 
1271
+ #### Disambiguation
1272
+
1273
+ ⚠️ Icon renders an SVG icon from a path string. Always import mdi* icons from @redsift/icons. NEVER use unicode glyphs (✓, ✕, ⚠, ›) and NEVER import from @mdi/js.
1274
+
1275
+ #### Common Anti-Patterns
1276
+
1277
+ - ❌ Unicode characters (✓, ✕, ⚠, ›) → ✅ <Icon path={mdiCheck} /> from @redsift/icons.
1278
+ - ❌ import { mdiPlus } from "@mdi/js" → ✅ import { mdiPlus } from "@redsift/icons".
1279
+
1174
1280
  ---
1175
1281
 
1176
1282
  ### IconButton
@@ -1216,6 +1322,20 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
1216
1322
 
1217
1323
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
1218
1324
 
1325
+ #### Usage Rules
1326
+
1327
+ - ⚠️ The `theme` prop is optional — inherited from context. Do NOT pass `theme` to every component.
1328
+ - ⚠️ Requires `icon` prop (SVG path string from @redsift/icons). Import icons from @redsift/icons, not @mdi/js.
1329
+
1330
+ #### Disambiguation
1331
+
1332
+ ⚠️ IconButton renders a clickable icon. Requires icon prop (SVG path string). Import icons from @redsift/icons, not @mdi/js.
1333
+
1334
+ #### Common Anti-Patterns
1335
+
1336
+ - ❌ Unicode characters as icon content → ✅ icon={mdiPlus} prop with mdi imports from @redsift/icons.
1337
+ - ❌ import { mdiPlus } from "@mdi/js" → ✅ import { mdiPlus } from "@redsift/icons".
1338
+
1219
1339
  ---
1220
1340
 
1221
1341
  ### IconButtonLink
@@ -1648,6 +1768,15 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
1648
1768
 
1649
1769
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
1650
1770
 
1771
+ #### Usage Rules
1772
+
1773
+ - ⚠️ Content via `children`, NOT a `label` prop. Usage: `<Pill color="blue" size="small">Active</Pill>`
1774
+ - ⚠️ The `theme` prop is optional — inherited from context.
1775
+
1776
+ #### Common Anti-Patterns
1777
+
1778
+ - ❌ <Pill label="Active" /> → ✅ <Pill color="success">Active</Pill> — Pill uses children for content, NOT a label prop.
1779
+
1651
1780
  ---
1652
1781
 
1653
1782
  ### ProgressBar
@@ -1971,6 +2100,14 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
1971
2100
 
1972
2101
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
1973
2102
 
2103
+ #### Disambiguation
2104
+
2105
+ ⚠️ Always use Skeleton from @redsift/design-system. NEVER import Skeleton from @mui/material — it will not match the DS theme.
2106
+
2107
+ #### Common Anti-Patterns
2108
+
2109
+ - ❌ import { Skeleton } from "@mui/material" → ✅ import { Skeleton } from "@redsift/design-system" — always use the DS Skeleton.
2110
+
1974
2111
  ---
1975
2112
 
1976
2113
  ### SkeletonCircle
@@ -2003,6 +2140,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2003
2140
 
2004
2141
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2005
2142
 
2143
+ #### Disambiguation
2144
+
2145
+ ⚠️ Use SkeletonCircle from @redsift/design-system for avatar/icon-shaped loading placeholders.
2146
+
2006
2147
  ---
2007
2148
 
2008
2149
  ### SkeletonText
@@ -2038,6 +2179,10 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2038
2179
 
2039
2180
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2040
2181
 
2182
+ #### Disambiguation
2183
+
2184
+ ⚠️ Use SkeletonText from @redsift/design-system for paragraph-shaped loading placeholders.
2185
+
2041
2186
  ---
2042
2187
 
2043
2188
  ### Spinner
@@ -2207,6 +2352,11 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2207
2352
 
2208
2353
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2209
2354
 
2355
+ #### Usage Rules
2356
+
2357
+ - ⚠️ Must be a child of <Tabs>. Requires TabsContext — rendering outside <Tabs> will silently fail (no selection, no keyboard navigation).
2358
+ - ⚠️ Always provide a `value` prop that matches a corresponding TabPanel.
2359
+
2210
2360
  ---
2211
2361
 
2212
2362
  ### TabPanel
@@ -2242,6 +2392,12 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2242
2392
 
2243
2393
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2244
2394
 
2395
+ #### Usage Rules
2396
+
2397
+ - ⚠️ Must be used within a <Tabs> provider. Requires TabsContext — rendering outside <Tabs> will silently fail (panel never shown).
2398
+ - ⚠️ The `value` prop must match a corresponding Tab `value`.
2399
+ - ⚠️ Use `keepMounted` to keep panel content in DOM when inactive (useful for preserving form state).
2400
+
2245
2401
  ---
2246
2402
 
2247
2403
  ### Tabs
@@ -2286,6 +2442,12 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2286
2442
 
2287
2443
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2288
2444
 
2445
+ #### Usage Rules
2446
+
2447
+ - ⚠️ Accepts <Tab> and <TabPanel> children. Tabs must have a `value` prop that matches a TabPanel `value`.
2448
+ - ⚠️ For navigation tabs, use the `as` prop on Tab (e.g. as="a" href="/path") instead of onClick.
2449
+ - ⚠️ Supports controlled (`value`/`onChange`) and uncontrolled (`defaultValue`) modes.
2450
+
2289
2451
  ---
2290
2452
 
2291
2453
  ### Text
@@ -2332,6 +2494,15 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
2332
2494
 
2333
2495
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2334
2496
 
2497
+ #### Usage Rules
2498
+
2499
+ - ⚠️ The `theme` prop is optional — inherited from context. Do NOT pass `theme` to every component.
2500
+ - ⚠️ The `slot` prop is NOT supported. Do not pass slot="heading" or similar — use Heading component or compound sub-component API instead.
2501
+
2502
+ #### Common Anti-Patterns
2503
+
2504
+ - ❌ color="#22c55e" or color="var(--rs-color-green-500)" → ✅ color="success" — use semantic color values from NeutralColorPalette / NotificationsColorPalette.
2505
+
2335
2506
  ---
2336
2507
 
2337
2508
  ### TextArea
@@ -2604,85 +2775,6 @@ Placements: `top`, `bottom`, `left`, `right`
2604
2775
 
2605
2776
  ---
2606
2777
 
2607
- ### Button
2608
-
2609
- **Package:** @redsift/popovers
2610
- **File:** packages/popovers/src/components/tooltip/ButtonWithTooltip.tsx
2611
-
2612
- #### Props
2613
-
2614
- | Prop | Type | Required | Default | Description |
2615
- |------|------|----------|---------|-------------|
2616
- | color | string | No | 'primary' | Color variant. |
2617
- | fullWidth | false \| true | No | - | Whether the component take the full width or not. |
2618
- | isActive | false \| true | No | - | Whether the component is active or not. |
2619
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2620
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
2621
- | isLoading | false \| true | No | - | Whether the component is in a loading state or not. |
2622
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2623
- | leftIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the left icon. |
2624
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2625
- | rightIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the right icon. |
2626
- | theme | "light" \| "dark" | No | - | Theme. |
2627
- | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
2628
-
2629
- #### Layout Props (14 props)
2630
-
2631
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2632
-
2633
- #### Spacing Props (5 props)
2634
-
2635
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2636
-
2637
- #### Sizing Props (6 props)
2638
-
2639
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
2640
-
2641
- #### Positioning Props (6 props)
2642
-
2643
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2644
-
2645
- ---
2646
-
2647
- ### ButtonLink
2648
-
2649
- **Package:** @redsift/popovers
2650
- **File:** packages/popovers/src/components/tooltip/ButtonLinkWithTooltip.tsx
2651
-
2652
- #### Props
2653
-
2654
- | Prop | Type | Required | Default | Description |
2655
- |------|------|----------|---------|-------------|
2656
- | color | string | No | 'primary' | Color variant. |
2657
- | as | "symbol" \| "object" \| "a" \| "abbr" \| "address" \| "area" \| "article" \| "aside" \| "audio" \| "b" \| "base" \| "bdi" \| "bdo" \| "big" \| "blockquote" \| "body" \| "br" \| "button" \| "canvas" \| "caption" \| "cite" \| "code" \| "col" \| "colgroup" \| "data" \| "datalist" \| "dd" \| "del" \| "details" \| "dfn" \| "dialog" \| "div" \| "dl" \| "dt" \| "em" \| "embed" \| "fieldset" \| "figcaption" \| "figure" \| "footer" \| "form" \| "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "head" \| "header" \| "hgroup" \| "hr" \| "html" \| "i" \| "iframe" \| "img" \| "input" \| "ins" \| "kbd" \| "keygen" \| "label" \| "legend" \| "li" \| "link" \| "main" \| "map" \| "mark" \| "menu" \| "menuitem" \| "meta" \| "meter" \| "nav" \| "noindex" \| "noscript" \| "ol" \| "optgroup" \| "option" \| "output" \| "p" \| "param" \| "picture" \| "pre" \| "progress" \| "q" \| "rp" \| "rt" \| "ruby" \| "s" \| "samp" \| "slot" \| "script" \| "section" \| "select" \| "small" \| "source" \| "span" \| "strong" \| "style" \| "sub" \| "summary" \| "sup" \| "table" \| "template" \| "tbody" \| "td" \| "textarea" \| "tfoot" \| "th" \| "thead" \| "time" \| "title" \| "tr" \| "track" \| "u" \| "ul" \| "var" \| "video" \| "wbr" \| "webview" \| "svg" \| "animate" \| "animateMotion" \| "animateTransform" \| "circle" \| "clipPath" \| "defs" \| "desc" \| "ellipse" \| "feBlend" \| "feColorMatrix" \| "feComponentTransfer" \| "feComposite" \| "feConvolveMatrix" \| "feDiffuseLighting" \| "feDisplacementMap" \| "feDistantLight" \| "feDropShadow" \| "feFlood" \| "feFuncA" \| "feFuncB" \| "feFuncG" \| "feFuncR" \| "feGaussianBlur" \| "feImage" \| "feMerge" \| "feMergeNode" \| "feMorphology" \| "feOffset" \| "fePointLight" \| "feSpecularLighting" \| "feSpotLight" \| "feTile" \| "feTurbulence" \| "filter" \| "foreignObject" \| "g" \| "image" \| "line" \| "linearGradient" \| "marker" \| "mask" \| "metadata" \| "mpath" \| "path" \| "pattern" \| "polygon" \| "polyline" \| "radialGradient" \| "rect" \| "stop" \| "switch" \| "text" \| "textPath" \| "tspan" \| "use" \| "view" \| "center" \| "search" \| ComponentClass<any, any> \| FunctionComponent<any> | No | - | Prop to pass a custom react component instead of a simple HTML anchor (useful for Nextjs or React Router Link component). |
2658
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2659
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2660
- | leftIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the left icon. |
2661
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2662
- | rightIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the right icon. |
2663
- | theme | "light" \| "dark" | No | - | Theme. |
2664
- | isActive | false \| true | No | - | Whether the component is active or not. |
2665
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
2666
- | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
2667
-
2668
- #### Layout Props (14 props)
2669
-
2670
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2671
-
2672
- #### Spacing Props (5 props)
2673
-
2674
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2675
-
2676
- #### Sizing Props (6 props)
2677
-
2678
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
2679
-
2680
- #### Positioning Props (6 props)
2681
-
2682
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2683
-
2684
- ---
2685
-
2686
2778
  ### Dialog
2687
2779
 
2688
2780
  **Package:** @redsift/popovers
@@ -2703,6 +2795,10 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
2703
2795
  | theme | "light" \| "dark" | No | - | Theme. |
2704
2796
  | triggerClassName | string | No | - | Class name to append to the trigger. |
2705
2797
 
2798
+ #### Usage Rules
2799
+
2800
+ - ⚠️ Must use compound sub-components: <Dialog.Trigger>, <Dialog.Content>, <Dialog.Title>, etc. Do not pass content as a string prop.
2801
+
2706
2802
  ---
2707
2803
 
2708
2804
  ### DialogContent
@@ -2846,32 +2942,63 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
2846
2942
 
2847
2943
  ---
2848
2944
 
2849
- ### IconButton
2945
+ ### Popover
2850
2946
 
2851
2947
  **Package:** @redsift/popovers
2852
- **File:** packages/popovers/src/components/tooltip/IconButtonWithTooltip.tsx
2948
+ **File:** packages/popovers/src/components/popover/Popover.tsx
2853
2949
 
2854
2950
  #### Props
2855
2951
 
2856
2952
  | Prop | Type | Required | Default | Description |
2857
2953
  |------|------|----------|---------|-------------|
2858
- | color | string | No | 'primary' | Color variant. |
2859
- | icon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | Yes | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2860
- | iconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to forward to the icon. |
2861
- | isActive | false \| true | No | - | Whether the component is active or not. |
2862
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2863
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
2864
- | isLoading | false \| true | No | - | Whether the component is in a loading state or not. |
2954
+ | width | number \| "trigger-width" \| "available-width" | No | - | Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. |
2955
+ | minWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. |
2956
+ | maxWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. |
2957
+ | color | string | No | - | Button color that will be forward to the trigger. |
2958
+ | children | ReactNode | Yes | - | Children. Can only be PopoverTrigger and PopoverContent. |
2959
+ | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
2960
+ | placement | "top" \| "right" \| "bottom" \| "left" \| "top-start" \| "top-end" \| "right-start" \| "right-end" \| "bottom-start" \| "bottom-end" \| "left-start" \| "left-end" | No | 'bottom' | Default placement of the popover. |
2961
+ | isModal | false \| true | No | false | Whether the popover is a modal or not. |
2962
+ | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
2963
+ | offset | number | No | 2 | Space between trigger and content (in pixels). |
2964
+ | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
2965
+ | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
2966
+ | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
2865
2967
  | theme | "light" \| "dark" | No | - | Theme. |
2866
- | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
2968
+ | triggerClassName | string | No | - | Class name to append to the trigger. |
2867
2969
 
2868
- #### Layout Props (14 props)
2970
+ ---
2869
2971
 
2870
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2972
+ ### PopoverContent
2871
2973
 
2872
- #### Spacing Props (5 props)
2974
+ The PopoverContent component.
2873
2975
 
2874
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2976
+ **Package:** @redsift/popovers
2977
+ **File:** packages/popovers/src/components/popover-content/PopoverContent.tsx
2978
+
2979
+ #### Props
2980
+
2981
+ | Prop | Type | Required | Default | Description |
2982
+ |------|------|----------|---------|-------------|
2983
+ | theme | "light" \| "dark" | No | - | Theme. |
2984
+ | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
2985
+ | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
2986
+ | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
2987
+ | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
2988
+ | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
2989
+ | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
2990
+ | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
2991
+ | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
2992
+ | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
2993
+ | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
2994
+
2995
+ #### Layout Props (12 props)
2996
+
2997
+ Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
2998
+
2999
+ #### Spacing Props (10 props)
3000
+
3001
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
2875
3002
 
2876
3003
  #### Sizing Props (6 props)
2877
3004
 
@@ -2883,192 +3010,9 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
2883
3010
 
2884
3011
  ---
2885
3012
 
2886
- ### IconButtonLink
3013
+ ### PopoverTrigger
2887
3014
 
2888
- **Package:** @redsift/popovers
2889
- **File:** packages/popovers/src/components/tooltip/IconButtonLinkWithTooltip.tsx
2890
-
2891
- #### Props
2892
-
2893
- | Prop | Type | Required | Default | Description |
2894
- |------|------|----------|---------|-------------|
2895
- | color | string | No | 'primary' | Color variant. |
2896
- | as | "symbol" \| "object" \| "a" \| "abbr" \| "address" \| "area" \| "article" \| "aside" \| "audio" \| "b" \| "base" \| "bdi" \| "bdo" \| "big" \| "blockquote" \| "body" \| "br" \| "button" \| "canvas" \| "caption" \| "cite" \| "code" \| "col" \| "colgroup" \| "data" \| "datalist" \| "dd" \| "del" \| "details" \| "dfn" \| "dialog" \| "div" \| "dl" \| "dt" \| "em" \| "embed" \| "fieldset" \| "figcaption" \| "figure" \| "footer" \| "form" \| "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "head" \| "header" \| "hgroup" \| "hr" \| "html" \| "i" \| "iframe" \| "img" \| "input" \| "ins" \| "kbd" \| "keygen" \| "label" \| "legend" \| "li" \| "link" \| "main" \| "map" \| "mark" \| "menu" \| "menuitem" \| "meta" \| "meter" \| "nav" \| "noindex" \| "noscript" \| "ol" \| "optgroup" \| "option" \| "output" \| "p" \| "param" \| "picture" \| "pre" \| "progress" \| "q" \| "rp" \| "rt" \| "ruby" \| "s" \| "samp" \| "slot" \| "script" \| "section" \| "select" \| "small" \| "source" \| "span" \| "strong" \| "style" \| "sub" \| "summary" \| "sup" \| "table" \| "template" \| "tbody" \| "td" \| "textarea" \| "tfoot" \| "th" \| "thead" \| "time" \| "title" \| "tr" \| "track" \| "u" \| "ul" \| "var" \| "video" \| "wbr" \| "webview" \| "svg" \| "animate" \| "animateMotion" \| "animateTransform" \| "circle" \| "clipPath" \| "defs" \| "desc" \| "ellipse" \| "feBlend" \| "feColorMatrix" \| "feComponentTransfer" \| "feComposite" \| "feConvolveMatrix" \| "feDiffuseLighting" \| "feDisplacementMap" \| "feDistantLight" \| "feDropShadow" \| "feFlood" \| "feFuncA" \| "feFuncB" \| "feFuncG" \| "feFuncR" \| "feGaussianBlur" \| "feImage" \| "feMerge" \| "feMergeNode" \| "feMorphology" \| "feOffset" \| "fePointLight" \| "feSpecularLighting" \| "feSpotLight" \| "feTile" \| "feTurbulence" \| "filter" \| "foreignObject" \| "g" \| "image" \| "line" \| "linearGradient" \| "marker" \| "mask" \| "metadata" \| "mpath" \| "path" \| "pattern" \| "polygon" \| "polyline" \| "radialGradient" \| "rect" \| "stop" \| "switch" \| "text" \| "textPath" \| "tspan" \| "use" \| "view" \| "center" \| "search" \| ComponentClass<any, any> \| FunctionComponent<any> | No | - | Prop to pass a custom react component instead of a simple HTML anchor (useful for Nextjs or React Router Link component). |
2897
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2898
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2899
- | leftIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the left icon. |
2900
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2901
- | rightIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the right icon. |
2902
- | theme | "light" \| "dark" | No | - | Theme. |
2903
- | icon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | Yes | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2904
- | iconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to forward to the icon. |
2905
- | isActive | false \| true | No | - | Whether the component is active or not. |
2906
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
2907
- | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
2908
-
2909
- #### Layout Props (14 props)
2910
-
2911
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2912
-
2913
- #### Spacing Props (5 props)
2914
-
2915
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2916
-
2917
- #### Sizing Props (6 props)
2918
-
2919
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
2920
-
2921
- #### Positioning Props (6 props)
2922
-
2923
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2924
-
2925
- ---
2926
-
2927
- ### Link
2928
-
2929
- **Package:** @redsift/popovers
2930
- **File:** packages/popovers/src/components/tooltip/LinkWithTooltip.tsx
2931
-
2932
- #### Props
2933
-
2934
- | Prop | Type | Required | Default | Description |
2935
- |------|------|----------|---------|-------------|
2936
- | as | "symbol" \| "object" \| "a" \| "abbr" \| "address" \| "area" \| "article" \| "aside" \| "audio" \| "b" \| "base" \| "bdi" \| "bdo" \| "big" \| "blockquote" \| "body" \| "br" \| "button" \| "canvas" \| "caption" \| "cite" \| "code" \| "col" \| "colgroup" \| "data" \| "datalist" \| "dd" \| "del" \| "details" \| "dfn" \| "dialog" \| "div" \| "dl" \| "dt" \| "em" \| "embed" \| "fieldset" \| "figcaption" \| "figure" \| "footer" \| "form" \| "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "head" \| "header" \| "hgroup" \| "hr" \| "html" \| "i" \| "iframe" \| "img" \| "input" \| "ins" \| "kbd" \| "keygen" \| "label" \| "legend" \| "li" \| "link" \| "main" \| "map" \| "mark" \| "menu" \| "menuitem" \| "meta" \| "meter" \| "nav" \| "noindex" \| "noscript" \| "ol" \| "optgroup" \| "option" \| "output" \| "p" \| "param" \| "picture" \| "pre" \| "progress" \| "q" \| "rp" \| "rt" \| "ruby" \| "s" \| "samp" \| "slot" \| "script" \| "section" \| "select" \| "small" \| "source" \| "span" \| "strong" \| "style" \| "sub" \| "summary" \| "sup" \| "table" \| "template" \| "tbody" \| "td" \| "textarea" \| "tfoot" \| "th" \| "thead" \| "time" \| "title" \| "tr" \| "track" \| "u" \| "ul" \| "var" \| "video" \| "wbr" \| "webview" \| "svg" \| "animate" \| "animateMotion" \| "animateTransform" \| "circle" \| "clipPath" \| "defs" \| "desc" \| "ellipse" \| "feBlend" \| "feColorMatrix" \| "feComponentTransfer" \| "feComposite" \| "feConvolveMatrix" \| "feDiffuseLighting" \| "feDisplacementMap" \| "feDistantLight" \| "feDropShadow" \| "feFlood" \| "feFuncA" \| "feFuncB" \| "feFuncG" \| "feFuncR" \| "feGaussianBlur" \| "feImage" \| "feMerge" \| "feMergeNode" \| "feMorphology" \| "feOffset" \| "fePointLight" \| "feSpecularLighting" \| "feSpotLight" \| "feTile" \| "feTurbulence" \| "filter" \| "foreignObject" \| "g" \| "image" \| "line" \| "linearGradient" \| "marker" \| "mask" \| "metadata" \| "mpath" \| "path" \| "pattern" \| "polygon" \| "polyline" \| "radialGradient" \| "rect" \| "stop" \| "switch" \| "text" \| "textPath" \| "tspan" \| "use" \| "view" \| "center" \| "search" \| ComponentClass<any, any> \| FunctionComponent<any> | No | - | Prop to pass a custom react component instead of a simple HTML anchor (useful for Nextjs or React Router Link component). |
2937
- | color | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "black" \| "x-dark-grey" \| "dark-grey" \| "mid-grey" \| "light-grey" \| "x-light-grey" \| "white" \| "radar" \| string & {} | No | 'link' | Color variant. Either from color palette or hex or rgb strings. |
2938
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2939
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2940
- | leftIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the left icon. |
2941
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2942
- | rightIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the right icon. |
2943
- | theme | "light" \| "dark" | No | - | Theme. |
2944
-
2945
- #### Layout Props (14 props)
2946
-
2947
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2948
-
2949
- #### Spacing Props (5 props)
2950
-
2951
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2952
-
2953
- #### Sizing Props (6 props)
2954
-
2955
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
2956
-
2957
- #### Positioning Props (6 props)
2958
-
2959
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2960
-
2961
- ---
2962
-
2963
- ### LinkButton
2964
-
2965
- **Package:** @redsift/popovers
2966
- **File:** packages/popovers/src/components/tooltip/LinkButtonWithTooltip.tsx
2967
-
2968
- #### Props
2969
-
2970
- | Prop | Type | Required | Default | Description |
2971
- |------|------|----------|---------|-------------|
2972
- | color | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "black" \| "x-dark-grey" \| "dark-grey" \| "mid-grey" \| "light-grey" \| "x-light-grey" \| "white" \| "radar" \| string & {} | No | 'link' | Color variant. Either from color palette or hex or rgb strings. |
2973
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2974
- | leftIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the left icon. |
2975
- | rightIconProps | Omit<IconProps, "ref" \| "icon"> | No | - | Props to add to the right icon. |
2976
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
2977
- | isActive | false \| true | No | - | Whether the component is active or not. |
2978
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
2979
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
2980
- | isLoading | false \| true | No | - | Whether the component is in a loading state or not. |
2981
- | theme | "light" \| "dark" | No | - | Theme. |
2982
-
2983
- #### Layout Props (14 props)
2984
-
2985
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
2986
-
2987
- #### Spacing Props (5 props)
2988
-
2989
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
2990
-
2991
- #### Sizing Props (6 props)
2992
-
2993
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
2994
-
2995
- #### Positioning Props (6 props)
2996
-
2997
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
2998
-
2999
- ---
3000
-
3001
- ### Popover
3002
-
3003
- **Package:** @redsift/popovers
3004
- **File:** packages/popovers/src/components/popover/Popover.tsx
3005
-
3006
- #### Props
3007
-
3008
- | Prop | Type | Required | Default | Description |
3009
- |------|------|----------|---------|-------------|
3010
- | width | number \| "trigger-width" \| "available-width" | No | - | Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. |
3011
- | minWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. |
3012
- | maxWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. |
3013
- | color | string | No | - | Button color that will be forward to the trigger. |
3014
- | children | ReactNode | Yes | - | Children. Can only be PopoverTrigger and PopoverContent. |
3015
- | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
3016
- | placement | "top" \| "right" \| "bottom" \| "left" \| "top-start" \| "top-end" \| "right-start" \| "right-end" \| "bottom-start" \| "bottom-end" \| "left-start" \| "left-end" | No | 'bottom' | Default placement of the popover. |
3017
- | isModal | false \| true | No | false | Whether the popover is a modal or not. |
3018
- | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
3019
- | offset | number | No | 2 | Space between trigger and content (in pixels). |
3020
- | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
3021
- | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
3022
- | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
3023
- | theme | "light" \| "dark" | No | - | Theme. |
3024
- | triggerClassName | string | No | - | Class name to append to the trigger. |
3025
-
3026
- ---
3027
-
3028
- ### PopoverContent
3029
-
3030
- The PopoverContent component.
3031
-
3032
- **Package:** @redsift/popovers
3033
- **File:** packages/popovers/src/components/popover-content/PopoverContent.tsx
3034
-
3035
- #### Props
3036
-
3037
- | Prop | Type | Required | Default | Description |
3038
- |------|------|----------|---------|-------------|
3039
- | theme | "light" \| "dark" | No | - | Theme. |
3040
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
3041
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
3042
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
3043
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
3044
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
3045
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
3046
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
3047
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
3048
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
3049
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
3050
-
3051
- #### Layout Props (12 props)
3052
-
3053
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
3054
-
3055
- #### Spacing Props (10 props)
3056
-
3057
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
3058
-
3059
- #### Sizing Props (6 props)
3060
-
3061
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
3062
-
3063
- #### Positioning Props (6 props)
3064
-
3065
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
3066
-
3067
- ---
3068
-
3069
- ### PopoverTrigger
3070
-
3071
- The PopoverTrigger component.
3015
+ The PopoverTrigger component.
3072
3016
 
3073
3017
  **Package:** @redsift/popovers
3074
3018
  **File:** packages/popovers/src/components/popover-trigger/PopoverTrigger.tsx
@@ -3178,6 +3122,12 @@ Placements: `top-left`, `top-center`, `top-right`, `bottom-left`,
3178
3122
  | theme | "light" \| "dark" | No | - | Theme. |
3179
3123
  | triggerClassName | string | No | - | Class name to append to the trigger. |
3180
3124
 
3125
+ #### Usage Rules
3126
+
3127
+ - ⚠️ Must use compound sub-components: <Toggletip.Trigger> and <Toggletip.Content>.
3128
+ - ⚠️ Trigger and Content sub-components must not be used outside <Toggletip> — they throw if ToggletipContext is missing.
3129
+ - ⚠️ Use Toggletip instead of Tooltip when content should be triggered by click (not hover) for touch/keyboard accessibility.
3130
+
3181
3131
  ---
3182
3132
 
3183
3133
  ### ToggletipContent
@@ -3267,6 +3217,11 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
3267
3217
  | theme | "light" \| "dark" | No | - | Theme. |
3268
3218
  | triggerClassName | string | No | - | Class name to append to the trigger. |
3269
3219
 
3220
+ #### Usage Rules
3221
+
3222
+ - ⚠️ Must use compound sub-components: <Tooltip.Trigger> and <Tooltip.Content>. Do not pass content as a string prop.
3223
+ - ⚠️ Trigger and Content sub-components must not be used outside <Tooltip> — they throw if TooltipContext is missing.
3224
+
3270
3225
  ---
3271
3226
 
3272
3227
  ### TooltipContent
@@ -3596,6 +3551,12 @@ For searchable/filterable lists, use Combobox instead.
3596
3551
  | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
3597
3552
  | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
3598
3553
 
3554
+ #### Usage Rules
3555
+
3556
+ - ⚠️ Must use compound sub-components: <Combobox.Trigger> and <Combobox.Content>.
3557
+ - ⚠️ Combobox.Trigger requires a TextField or TextArea as its child. Custom inputs must forward refs correctly or focus management will break.
3558
+ - ⚠️ Combobox.Content accepts ComboboxContent.Header, .Listbox, and .Footer as children.
3559
+
3599
3560
  ---
3600
3561
 
3601
3562
  ### ComboboxContent
@@ -3636,6 +3597,12 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
3636
3597
 
3637
3598
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
3638
3599
 
3600
+ #### Usage Rules
3601
+
3602
+ - ⚠️ Only accepts ComboboxContent.Header, ComboboxContent.Listbox, and ComboboxContent.Footer as children. Other elements are silently ignored.
3603
+ - ⚠️ Children are reordered internally (Header → Listbox → Footer) regardless of JSX order.
3604
+ - ⚠️ Must be used inside a <Combobox> — requires popover and combobox context.
3605
+
3639
3606
  ---
3640
3607
 
3641
3608
  ### ComboboxContentFooter
@@ -3882,6 +3849,11 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
3882
3849
  | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
3883
3850
  | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
3884
3851
 
3852
+ #### Usage Rules
3853
+
3854
+ - ⚠️ Must use compound sub-components: <MenuButton.Trigger> and <MenuButton.Content>.
3855
+ - ⚠️ MenuButton.Content accepts MenuButtonContent.Header, .Menu, and .Footer or plain Menu items.
3856
+
3885
3857
  ---
3886
3858
 
3887
3859
  ### MenuButtonContent
@@ -3921,6 +3893,11 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
3921
3893
 
3922
3894
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
3923
3895
 
3896
+ #### Usage Rules
3897
+
3898
+ - ⚠️ Only accepts MenuButtonContent.Header, MenuButtonContent.Menu, and MenuButtonContent.Footer as children. If none are provided, all children are wrapped in a Menu automatically.
3899
+ - ⚠️ Must be used inside a <MenuButton> — requires popover and menu button context.
3900
+
3924
3901
  ---
3925
3902
 
3926
3903
  ### MenuButtonContentFooter
@@ -4110,6 +4087,12 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4110
4087
  | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
4111
4088
  | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
4112
4089
 
4090
+ #### Usage Rules
4091
+
4092
+ - ⚠️ Must use compound sub-components: <Select.Trigger> and <Select.Content>.
4093
+ - ⚠️ Select.Content accepts <Item> components as children for options.
4094
+ - ⚠️ For searchable/filterable lists, use Combobox instead of Select.
4095
+
4113
4096
  ---
4114
4097
 
4115
4098
  ### SelectContent
@@ -4400,67 +4383,17 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4400
4383
 
4401
4384
  ---
4402
4385
 
4403
- ### BarChartBars
4404
-
4405
- **Package:** @redsift/charts
4406
- **File:** packages/charts/src/components/BarChart/BarChartBars.tsx
4407
-
4408
- #### Props
4409
-
4410
- | Prop | Type | Required | Default | Description |
4411
- |------|------|----------|---------|-------------|
4412
- | category | string | No | - | |
4413
-
4414
- ---
4415
-
4416
- ### BarChartGroupedTooltip
4417
-
4418
- **Package:** @redsift/charts
4419
- **File:** packages/charts/src/components/BarChart/BarChartBars.tsx
4420
-
4421
- ---
4422
-
4423
- ### BarChartOverlay
4424
-
4425
- **Package:** @redsift/charts
4426
- **File:** packages/charts/src/components/BarChart/BarChartOverlay.tsx
4427
-
4428
- #### Props
4429
-
4430
- | Prop | Type | Required | Default | Description |
4431
- |------|------|----------|---------|-------------|
4432
- | from | number | No | - | |
4433
- | to | number | No | - | |
4434
- | regions | { from: string; to: string; backgroundColor?: string \| undefined; backgroundOpacity?: number \| undefined; colorTheme?: Record<string, string> \| undefined; tooltipDecorator?: ((data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>>) \| undefined; }[] | No | - | |
4435
-
4436
- ---
4437
-
4438
- ### BarChartSection
4439
-
4440
- **Package:** @redsift/charts
4441
- **File:** packages/charts/src/components/BarChart/BarChartSection.tsx
4442
-
4443
- #### Props
4444
-
4445
- | Prop | Type | Required | Default | Description |
4446
- |------|------|----------|---------|-------------|
4447
- | from | number | No | - | Starting point in percentage of the chart height. |
4448
- | to | number | No | - | Ending point in percentage of the chart height. |
4449
- | color | "red" \| "green" \| { textColor: string; backgroundColor?: string \| undefined; } | No | - | Color. |
4450
- | title | string | No | - | Section title |
4451
- | titlePosition | "center" \| "left" \| "right" | No | - | Title position relative to section |
4452
- | scaleX | ScaleLinear<number, number, never> \| ScaleTime<number, number, never> \| ScalePoint<string> | No | - | |
4453
- | scaleY | ScaleLinear<number, number, never> | No | - | |
4454
- | direction | string | No | - | |
4455
- | regions | { from: string; to: string; backgroundColor?: string \| undefined; backgroundOpacity?: number \| undefined; colorTheme?: Record<string, string> \| undefined; tooltipDecorator?: ((data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>>) \| undefined; }[] | No | - | Regions for highlighting a specific area by changing the background color. Only works with datestrings for X axis. |
4456
-
4457
- ---
4458
-
4459
4386
  ### BaseBarChart
4460
4387
 
4461
4388
  BarChart visualizes categorical data with rectangular bars.
4462
4389
  Built on D3.js with responsive sizing and interactive tooltips.
4463
4390
 
4391
+ This is the only public entry point for bar charts. Do not import
4392
+ `RenderedLinearBarChart`, `RenderedOrdinalBarChart`, `EmptyBarChart`, or
4393
+ `LoadingBarChart` directly — `BarChart` selects the correct renderer
4394
+ (linear vs. ordinal scale) automatically based on the data type,
4395
+ and manages all loading and empty states internally.
4396
+
4464
4397
  Supports horizontal/vertical orientation, stacked/grouped bars,
4465
4398
  and various legend placements.
4466
4399
 
@@ -4661,59 +4594,23 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4661
4594
 
4662
4595
  ---
4663
4596
 
4664
- ### EmptyBarChart
4597
+ ### Legend
4665
4598
 
4666
4599
  **Package:** @redsift/charts
4667
- **File:** packages/charts/src/components/BarChart/EmptyBarChart.tsx
4600
+ **File:** packages/charts/src/components/Legend/Legend.tsx
4668
4601
 
4669
4602
  #### Props
4670
4603
 
4671
4604
  | Prop | Type | Required | Default | Description |
4672
4605
  |------|------|----------|---------|-------------|
4673
- | data | CategoryData \| LinearData \| TwoCategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
4674
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4675
- | id | string | No | - | Id. |
4676
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4677
- | areXLabelsRotated | false \| true | No | - | @deprecated : Use xAxisTickRotation instead. Whether the x axis labels are rotated or not. |
4678
- | barProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "direction" \| "orientation" \| "scale"> & { minWidth?: number \| undefined; gap?: number \| undefined; } | No | - | Native HTML props to forward to each bar. |
4679
- | barRole | "button" \| "img" \| "link" \| "option" | No | - | Bar role. If an onClick is provided, the bars will have the role `button`. For a navigation link, please use `getBarAnchorProps` instead. |
4680
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
4681
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
4682
- | dataType | "TwoCategoryData" \| "LinearData" \| "CategoryData" | No | - | Data type override to skip data type inferrence. |
4683
- | direction | string | No | - | Direction of the bars. Only applied when the orientation is vertical. By default bars go "up" but can go "down". They can also go both ways in which case you need to indicates which category go which direction. The concatenation of the two arrays will be used to determine the order of the categories instead of the sortingMethod prop. |
4684
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
4685
- | getBarAnchorProps | (datum: BarDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the bar is a navigation link. |
4686
- | isBarSelected | (datum: BarDatum) => void | No | - | Method to determine whether a bar is selected or not. |
4687
- | labelDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
4688
- | legendDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
4689
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
4690
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4691
- | localeText | LocaleText | No | - | Labels and texts. |
4692
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
4693
- | onBarClick | (datum: BarDatum, data: BarDatum[]) => void | No | - | Method to be called on a click on a bar. For a navigation link, please use `getBarAnchorProps` instead. |
4694
- | orientation | string | No | - | Orientation of the bar. |
4695
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
4696
- | size | "small" \| "medium" \| "large" \| BarChartDimensions | No | - | BarChart size. |
4697
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
4698
- | tooltipDecorator | (data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
4699
- | tooltipVariant | string | No | - | Tooltip variant. |
4700
- | theme | "dark" \| "light" | No | - | Theme. |
4701
- | xScaleType | "number" \| "Date" \| "dateString" | No | - | X-scale type override to skip x-scale type inferrence. |
4702
- | xAxisStartDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset) |
4703
- | xAxisEndDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset) |
4704
- | yScaleLogBase | number | No | - | If set, the Y axis will use a logarithmic scale using this base. Set this value to 10 to use a default logarithmic scale. |
4705
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
4706
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
4707
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
4708
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
4709
- | disableAnimations | false \| true | No | - | Disable animations. |
4710
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
4711
- | mode | string | No | - | Whether the chart is static or interactive. |
4712
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
4713
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
4714
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
4715
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
4716
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
4606
+ | children | ReactElement<any, string \| JSXElementConstructor<any>> \| ReactElement<any, string \| JSXElementConstructor<any>>[] \| (data: (Statistic & { color: string; })[], total?: number \| undefined) => ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Children |
4607
+ | data | (Statistic & { color: string; })[] | No | - | Data. |
4608
+ | isLegendItemSelected | (datum: LegendItemDatum) => void | No | - | Method to determine whether a legend is selected or not. |
4609
+ | labelDecorator | (datum: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
4610
+ | legendDecorator | (datum: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the variant is "custom". |
4611
+ | onLegendItemClick | (datum: LegendItemDatum, data: LegendItemDatum[]) => void | No | - | Method to be called on a click on a legend item. |
4612
+ | legendItemRole | "button" \| "img" \| "link" \| "option" | No | - | LegendItem role. Used to indicate that legend items are to be considered buttons or links. If an onClick is provided, the legend items will have the role `button` unless specifically set to `link` with this prop. |
4613
+ | variant | "label" \| "value" \| "none" \| "percent" \| "custom" | No | - | Variant. |
4717
4614
  | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
4718
4615
  | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
4719
4616
  | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
@@ -4743,19 +4640,44 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4743
4640
 
4744
4641
  ---
4745
4642
 
4746
- ### EmptyLineChart
4643
+ ### Line
4644
+
4645
+ **Package:** @redsift/charts
4646
+ **File:** packages/charts/src/components/Line/Line.tsx
4647
+
4648
+ #### Props
4649
+
4650
+ | Prop | Type | Required | Default | Description |
4651
+ |------|------|----------|---------|-------------|
4652
+ | createLine | Line<LinePointDatum> | Yes | - | Line generator used to determine the path of the line. |
4653
+ | data | LinePointDatum[] | Yes | - | Points used to compute the line path. |
4654
+ | disableAnimations | false \| true | No | - | Disable animations. |
4655
+ | previousData | LinePointDatum[] | No | - | Previous data used for animation. |
4656
+ | role | "button" \| "img" \| "link" \| "option" | No | - | Role. Will be set to 'button' if onClick is provided. If 'option', then the component becomes selectable. |
4657
+ | isSelected | false \| true | No | - | Whether the component is selected or not. Used only if the component is selectable. Set to `undefined` to make nor selected nor unselected. |
4658
+
4659
+ ---
4660
+
4661
+ ### LineChart
4662
+
4663
+ LineChart displays trends over time or continuous data.
4664
+ Built on D3.js with smooth interpolation and interactive data points.
4665
+
4666
+ This is the only public entry point for line charts. Do not import
4667
+ `RenderedLineChart`, `EmptyLineChart`, or `LoadingLineChart` directly —
4668
+ those are internal sub-components that `LineChart` selects automatically
4669
+ based on whether `data` is present and non-empty.
4670
+
4671
+ Data format: `LinearData` `[{ key: Date, value: number, label?: string }]`
4747
4672
 
4748
4673
  **Package:** @redsift/charts
4749
- **File:** packages/charts/src/components/LineChart/EmptyLineChart.tsx
4674
+ **File:** packages/charts/src/components/LineChart/LineChart.tsx
4750
4675
 
4751
4676
  #### Props
4752
4677
 
4753
4678
  | Prop | Type | Required | Default | Description |
4754
4679
  |------|------|----------|---------|-------------|
4755
4680
  | data | TwoCategoryData | No | - | Dataset to use to generate the chart. |
4756
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4757
- | id | string | No | - | Id. |
4758
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4759
4681
  | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
4760
4682
  | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
4761
4683
  | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
@@ -4763,7 +4685,7 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4763
4685
  | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
4764
4686
  | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
4765
4687
  | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
4766
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4688
+ | legendProps | Omit<LegendProps, "data" \| "ref" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4767
4689
  | localeText | LocaleText | No | - | Labels and texts. |
4768
4690
  | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
4769
4691
  | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
@@ -4779,6 +4701,9 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4779
4701
  | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
4780
4702
  | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
4781
4703
  | disableAnimations | false \| true | No | - | Disable animations. |
4704
+ | id | string | No | - | Id. |
4705
+ | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4706
+ | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4782
4707
  | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
4783
4708
  | mode | string | No | - | Whether the chart is static or interactive. |
4784
4709
  | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
@@ -4815,21 +4740,24 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4815
4740
 
4816
4741
  ---
4817
4742
 
4818
- ### EmptyPieChart
4743
+ ### PieChart
4744
+
4745
+ PieChart displays proportional data as slices of a circle.
4746
+ Built on D3.js with interactive slices and customizable legends.
4747
+
4748
+ Variants: `default`, `spaced`, `donut`, `spacedDonut`
4749
+
4750
+ Data format: `CategoryData` `[{ key: string, value: number }]`
4819
4751
 
4820
4752
  **Package:** @redsift/charts
4821
- **File:** packages/charts/src/components/PieChart/EmptyPieChart.tsx
4753
+ **File:** packages/charts/src/components/PieChart/PieChart.tsx
4822
4754
 
4823
4755
  #### Props
4824
4756
 
4825
4757
  | Prop | Type | Required | Default | Description |
4826
4758
  |------|------|----------|---------|-------------|
4827
- | data | CategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
4828
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4829
- | text | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. |
4830
- | id | string | No | - | Id. |
4831
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4832
4759
  | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
4760
+ | data | CategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
4833
4761
  | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
4834
4762
  | getSliceAnchorProps | (datum: ArcDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the slice is a navigation link. |
4835
4763
  | isHalf | false \| true | No | - | Whether the pie or donut is cut in half or not. |
@@ -4837,7 +4765,7 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4837
4765
  | labelDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
4838
4766
  | legendDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
4839
4767
  | legendVariant | "none" \| "internal" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
4840
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4768
+ | legendProps | Omit<LegendProps, "data" \| "ref" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4841
4769
  | localeText | LocaleText | No | - | Labels and texts. |
4842
4770
  | onSliceClick | (datum: ArcDatum) => void | No | - | Method to be called on a click on a slice. For a navigation link, please use `getSliceAnchorProps` instead. |
4843
4771
  | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
@@ -4847,6 +4775,7 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4847
4775
  | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
4848
4776
  | middleText | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. |
4849
4777
  | subtext | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. |
4778
+ | text | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. |
4850
4779
  | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
4851
4780
  | variant | "plain" \| "spaced" \| "donut" \| "spacedDonut" | No | - | PieChart variant. |
4852
4781
  | tooltipDecorator | (data: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
@@ -4857,6 +4786,9 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4857
4786
  | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
4858
4787
  | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
4859
4788
  | disableAnimations | false \| true | No | - | Disable animations. |
4789
+ | id | string | No | - | Id. |
4790
+ | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4791
+ | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4860
4792
  | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
4861
4793
  | mode | string | No | - | Whether the chart is static or interactive. |
4862
4794
  | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
@@ -4893,19 +4825,23 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4893
4825
 
4894
4826
  ---
4895
4827
 
4896
- ### EmptyScatterPlot
4828
+ ### ScatterPlot
4829
+
4830
+ ScatterPlot displays relationships between two numeric variables.
4831
+ Built on D3.js with interactive dots and brush selection.
4832
+
4833
+ Supports zooming, brushing for multi-select, and dot clustering.
4834
+
4835
+ Data format: `CoordinatesCategoryData` `[{ x: number, y: number, category?: string }]`
4897
4836
 
4898
4837
  **Package:** @redsift/charts
4899
- **File:** packages/charts/src/components/ScatterPlot/EmptyScatterPlot.tsx
4838
+ **File:** packages/charts/src/components/ScatterPlot/ScatterPlot.tsx
4900
4839
 
4901
4840
  #### Props
4902
4841
 
4903
4842
  | Prop | Type | Required | Default | Description |
4904
4843
  |------|------|----------|---------|-------------|
4905
4844
  | data | CoordinatesCategoryData | No | - | Dataset to use to generate the chart. |
4906
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4907
- | id | string | No | - | Id. |
4908
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4909
4845
  | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
4910
4846
  | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
4911
4847
  | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
@@ -4915,7 +4851,7 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4915
4851
  | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
4916
4852
  | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
4917
4853
  | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
4918
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant" \| "width"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4854
+ | legendProps | Omit<LegendProps, "data" \| "ref" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
4919
4855
  | localeText | LocaleText | No | - | Labels and texts. |
4920
4856
  | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
4921
4857
  | onBrush | (selection: [[number, number], [number, number]] \| null, scaleX: ScaleLinear<number, number, never>, scaleY: ScaleLinear<number, number, never>) => void | No | - | Method called on brush. |
@@ -4934,6 +4870,9 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4934
4870
  | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
4935
4871
  | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
4936
4872
  | disableAnimations | false \| true | No | - | Disable animations. |
4873
+ | id | string | No | - | Id. |
4874
+ | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
4875
+ | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
4937
4876
  | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
4938
4877
  | mode | string | No | - | Whether the chart is static or interactive. |
4939
4878
  | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
@@ -4970,1631 +4909,208 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
4970
4909
 
4971
4910
  ---
4972
4911
 
4973
- ### Legend
4912
+ ## Package: @redsift/table
4974
4913
 
4975
- **Package:** @redsift/charts
4976
- **File:** packages/charts/src/components/Legend/Legend.tsx
4914
+ ### ControlledPagination
4915
+
4916
+ **Package:** @redsift/table
4917
+ **File:** packages/table/src/components/Pagination/ControlledPagination.tsx
4918
+
4919
+ ---
4920
+
4921
+ ### DataGrid
4922
+
4923
+ DataGrid displays tabular data with sorting, filtering, pagination, and row selection.
4924
+ Built on MUI X DataGrid Pro with Red Sift styling and theming.
4925
+
4926
+ Requires MUI Premium license key (set via `MUI_LICENSE_KEY` env variable).
4927
+
4928
+ Use `createColumn()` to get pre-configured column definitions with typed filter operators.
4929
+ Supported types: `string`, `number`, `date`, `dateTime`, `singleSelect`, `multiSelect`, `tags`.
4930
+ For `boolean` columns, use `type: 'boolean'` directly (no createColumn wrapper needed).
4931
+
4932
+ **Package:** @redsift/table
4933
+ **File:** packages/table/src/components/DataGrid/DataGrid.tsx
4977
4934
 
4978
4935
  #### Props
4979
4936
 
4980
4937
  | Prop | Type | Required | Default | Description |
4981
4938
  |------|------|----------|---------|-------------|
4982
- | children | ReactElement<any, string \| JSXElementConstructor<any>> \| ReactElement<any, string \| JSXElementConstructor<any>>[] \| (data: (Statistic & { color: string; })[], total?: number \| undefined) => ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Children |
4983
- | data | (Statistic & { color: string; })[] | No | - | Data. |
4984
- | isLegendItemSelected | (datum: LegendItemDatum) => void | No | - | Method to determine whether a legend is selected or not. |
4985
- | labelDecorator | (datum: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
4986
- | legendDecorator | (datum: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the variant is "custom". |
4987
- | onLegendItemClick | (datum: LegendItemDatum, data: LegendItemDatum[]) => void | No | - | Method to be called on a click on a legend item. |
4988
- | legendItemRole | "button" \| "img" \| "link" \| "option" | No | - | LegendItem role. Used to indicate that legend items are to be considered buttons or links. If an onClick is provided, the legend items will have the role `button` unless specifically set to `link` with this prop. |
4989
- | variant | "label" \| "value" \| "none" \| "percent" \| "custom" | No | - | Variant. |
4990
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
4991
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
4992
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
4993
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
4994
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
4995
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
4996
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
4997
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
4998
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
4999
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
4939
+ | license | string | No | - | License key for MUI Datagrid Pro. |
4940
+ | height | string | No | '500px' | Height. A default one is set to prevent rendering all rows. |
4941
+ | toolbar | ReactNode | No | - | Toolbar. A default one is provided but every button from this default Toolbar can be customized and the entire Toolbar can be replaced. |
4942
+ | hideToolbar | false \| true | No | - | Whether the Toolbar is displayed or not. |
4943
+ | paginationPlacement | "top" \| "bottom" \| "both" \| "none" | No | 'both' | Indicates how to display pagination. |
4944
+ | paginationProps | Omit<TablePaginationProps, "paginationMode" \| "component" \| "count" \| "onPageChange" \| "onRowsPerPageChange" \| "page" \| "rowsPerPage" \| "rowsPerPageOptions"> | No | - | Props to forward to the pagination component. |
4945
+ | theme | "light" \| "dark" | No | - | Theme. |
4946
+ | getTreeDataPath | (row: any) => readonly string[] | No | - | Determines the path of a row in the tree data. For instance, a row with the path ["A", "B"] is the child of the row with the path ["A"]. Note that all paths must contain at least one element. @template R @param row The row from which we want the path. @returns The path to the row. |
4947
+ | setTreeDataPath | (path: string[], row: any) => any | No | - | Updates the tree path in a row model. Used when reordering rows across different parents in tree data. @template R @param path The new path for the row. @param row The row model to update. @returns The updated row model with the new path. |
5000
4948
 
5001
- #### Layout Props (12 props)
4949
+ ---
5002
4950
 
5003
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
4951
+ ### GridToolbarFilterSemanticField
5004
4952
 
5005
- #### Spacing Props (10 props)
4953
+ The GridToolbarFilterSemanticField component.
5006
4954
 
5007
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
4955
+ **Package:** @redsift/table
4956
+ **File:** packages/table/src/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.tsx
5008
4957
 
5009
- #### Sizing Props (6 props)
4958
+ #### Props
5010
4959
 
5011
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
4960
+ | Prop | Type | Required | Default | Description |
4961
+ |------|------|----------|---------|-------------|
4962
+ | nlpFilterConfig | FilterConfig | Yes | - | |
4963
+ | onFilterModelChange | (filterModel: GridFilterModel) => void | No | - | |
4964
+ | dateFormat | string | No | - | |
4965
+ | defaultModel | string | No | - | |
4966
+ | defaultFilter | CompletionResponse | No | - | |
4967
+ | disablePower | false \| true | No | - | |
4968
+ | localeText | LocaleText | No | - | |
5012
4969
 
5013
- #### Positioning Props (6 props)
4970
+ ---
5014
4971
 
5015
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
4972
+ ### ServerSideControlledPagination
4973
+
4974
+ **Package:** @redsift/table
4975
+ **File:** packages/table/src/components/Pagination/ServerSideControlledPagination.tsx
5016
4976
 
5017
4977
  ---
5018
4978
 
5019
- ### LegendItem
4979
+ ### StatefulDataGrid
5020
4980
 
5021
- **Package:** @redsift/charts
5022
- **File:** packages/charts/src/components/LegendItem/LegendItem.tsx
4981
+ StatefulDataGrid extends DataGrid with automatic state persistence to localStorage.
4982
+ Preserves filters, sorting, pagination, column visibility, and column widths
4983
+ across page refreshes.
4984
+
4985
+ Use when users need persistent table preferences. Requires unique `localStorageKey`.
4986
+
4987
+ **Package:** @redsift/table
4988
+ **File:** packages/table/src/components/StatefulDataGrid/StatefulDataGrid.tsx
5023
4989
 
5024
4990
  #### Props
5025
4991
 
5026
4992
  | Prop | Type | Required | Default | Description |
5027
4993
  |------|------|----------|---------|-------------|
5028
- | legendDecorator | (datum: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the variant is "custom". |
5029
- | variant | "label" \| "value" \| "none" \| "percent" \| "custom" | No | 'standard' | Variant. |
5030
- | color | string | No | - | Color of the DataPoint. |
5031
- | data | LegendItemDatum | Yes | - | Data. Also state to which the component should end the animation, if any. |
5032
- | dataset | any[] | Yes | - | Entire dataset in which the data point is a part of. |
5033
- | id | string | No | - | Id. Used for accessibility. |
5034
- | index | number | No | - | Position in the list of siblings. Used for placement and selection. |
5035
- | isSelected | false \| true | No | - | Whether the component is selected or not. Used only if the component is selectable. Set to `undefined` to make nor selected nor unselected. |
5036
- | labelDecorator | (data: LegendItemDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying the label before displaying it. |
5037
- | onClick | (data: LegendItemDatum, dataset: any[]) => void | No | - | Method called when a click or keydown occurs on the component. |
5038
- | previousData | LegendItemDatum | No | - | State from which the component should start the animation, if any. |
5039
- | role | "button" \| "img" \| "link" \| "option" | No | - | Role. Will be set to 'button' if onClick is provided. If 'option', then the component becomes selectable. |
5040
- | tooltipVariant | string | No | - | Tooltip variant. |
4994
+ | useRouter | () => { pathname: string; search: string; historyReplace: (newSearch: string) => void; } | Yes | - | Hook returning pathname, search params and a method to update query params. |
4995
+ | localStorageVersion | number | No | - | Local Storage version, to upgrade when we want to force a clean out. |
4996
+ | previousLocalStorageVersions | number[] | No | - | Previous Local Storage versions to clean out when a new one is released. |
4997
+ | license | string | No | - | License key for MUI Datagrid Pro. |
4998
+ | height | string | No | '500px' | Height. A default one is set to prevent rendering all rows. |
4999
+ | toolbar | ReactNode | No | - | Toolbar. A default one is provided but every button from this default Toolbar can be customized and the entire Toolbar can be replaced. |
5000
+ | hideToolbar | false \| true | No | - | Whether the Toolbar is displayed or not. |
5001
+ | paginationPlacement | "top" \| "bottom" \| "both" \| "none" | No | 'both' | Indicates how to display pagination. |
5002
+ | paginationProps | Omit<TablePaginationProps, "paginationMode" \| "component" \| "count" \| "onPageChange" \| "onRowsPerPageChange" \| "page" \| "rowsPerPage" \| "rowsPerPageOptions"> | No | - | Props to forward to the pagination component. |
5003
+ | theme | "light" \| "dark" | No | - | Theme. |
5004
+ | getTreeDataPath | (row: any) => readonly string[] | No | - | Determines the path of a row in the tree data. For instance, a row with the path ["A", "B"] is the child of the row with the path ["A"]. Note that all paths must contain at least one element. @template R @param row The row from which we want the path. @returns The path to the row. |
5005
+ | setTreeDataPath | (path: string[], row: any) => any | No | - | Updates the tree path in a row model. Used when reordering rows across different parents in tree data. @template R @param path The new path for the row. @param row The row model to update. @returns The updated row model with the new path. |
5041
5006
 
5042
5007
  ---
5043
5008
 
5044
- ### Line
5009
+ ### TextCell
5045
5010
 
5046
- **Package:** @redsift/charts
5047
- **File:** packages/charts/src/components/Line/Line.tsx
5011
+ The Cell component.
5012
+
5013
+ **Package:** @redsift/table
5014
+ **File:** packages/table/src/components/TextCell/TextCell.tsx
5048
5015
 
5049
5016
  #### Props
5050
5017
 
5051
5018
  | Prop | Type | Required | Default | Description |
5052
5019
  |------|------|----------|---------|-------------|
5053
- | createLine | Line<LinePointDatum> | Yes | - | Line generator used to determine the path of the line. |
5054
- | data | LinePointDatum[] | Yes | - | Points used to compute the line path. |
5055
- | disableAnimations | false \| true | No | - | Disable animations. |
5056
- | previousData | LinePointDatum[] | No | - | Previous data used for animation. |
5057
- | role | "button" \| "img" \| "link" \| "option" | No | - | Role. Will be set to 'button' if onClick is provided. If 'option', then the component becomes selectable. |
5058
- | isSelected | false \| true | No | - | Whether the component is selected or not. Used only if the component is selectable. Set to `undefined` to make nor selected nor unselected. |
5020
+ | badge | ReactNode | No | - | Including Badge Component. |
5021
+ | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
5022
+ | leftIconColor | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "asm" \| "brand-trust" \| "certificates" \| "ondmarc" \| "pulse" \| "radar" \| "rojo-ds" \| "vendor-secure" \| "website" \| string & {} | No | - | Left Icon Color variant. |
5023
+ | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
5024
+ | rightIconColor | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "asm" \| "brand-trust" \| "certificates" \| "ondmarc" \| "pulse" \| "radar" \| "rojo-ds" \| "vendor-secure" \| "website" \| string & {} | No | - | Right Icon Color variant. |
5025
+ | shieldVariant | "success" \| "warning" \| "question" \| "successLocked" \| "successUnlocked" \| "fail" \| "failLocked" \| "failUnlocked" \| "warningLocked" \| "warningUnlocked" \| "ignored" \| "noData" \| "email" | No | - | Shield variant. |
5059
5026
 
5060
5027
  ---
5061
5028
 
5062
- ### LineChart
5063
-
5064
- LineChart displays trends over time or continuous data.
5065
- Built on D3.js with smooth interpolation and interactive data points.
5029
+ ### Toolbar
5066
5030
 
5067
- Data format: `LinearData` `[{ key: Date, value: number, label?: string }]`
5031
+ ------
5068
5032
 
5069
- **Package:** @redsift/charts
5070
- **File:** packages/charts/src/components/LineChart/LineChart.tsx
5033
+ **Package:** @redsift/table
5034
+ **File:** packages/table/src/components/Toolbar/Toolbar.tsx
5071
5035
 
5072
5036
  #### Props
5073
5037
 
5074
5038
  | Prop | Type | Required | Default | Description |
5075
5039
  |------|------|----------|---------|-------------|
5076
- | data | TwoCategoryData | No | - | Dataset to use to generate the chart. |
5077
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5078
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5079
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5080
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5081
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5082
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5083
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5084
- | legendProps | Omit<LegendProps, "data" \| "ref" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5085
- | localeText | LocaleText | No | - | Labels and texts. |
5086
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5087
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5088
- | size | "small" \| "medium" \| "large" \| LineChartDimensions | No | - | LineChart size. |
5089
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5090
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5091
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5092
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5093
- | tooltipVariant | string | No | - | Tooltip variant. |
5094
- | theme | "dark" \| "light" | No | - | Theme. |
5095
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5096
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5097
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5098
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5099
- | disableAnimations | false \| true | No | - | Disable animations. |
5100
- | id | string | No | - | Id. |
5101
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5102
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5103
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5104
- | mode | string | No | - | Whether the chart is static or interactive. |
5105
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5106
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5107
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5108
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5109
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5110
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5111
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5112
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5113
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5114
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5115
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5116
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5117
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5118
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5119
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5120
-
5121
- #### Layout Props (12 props)
5122
-
5123
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5124
-
5125
- #### Spacing Props (10 props)
5126
-
5127
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5128
-
5129
- #### Sizing Props (6 props)
5130
-
5131
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5132
-
5133
- #### Positioning Props (6 props)
5134
-
5135
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5136
-
5137
- ---
5138
-
5139
- ### LoadingBarChart
5140
-
5141
- **Package:** @redsift/charts
5142
- **File:** packages/charts/src/components/BarChart/LoadingBarChart.tsx
5143
-
5144
- #### Props
5145
-
5146
- | Prop | Type | Required | Default | Description |
5147
- |------|------|----------|---------|-------------|
5148
- | data | CategoryData \| LinearData \| TwoCategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
5149
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5150
- | id | string | No | - | Id. |
5151
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5152
- | areXLabelsRotated | false \| true | No | - | @deprecated : Use xAxisTickRotation instead. Whether the x axis labels are rotated or not. |
5153
- | barProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "direction" \| "orientation" \| "scale"> & { minWidth?: number \| undefined; gap?: number \| undefined; } | No | - | Native HTML props to forward to each bar. |
5154
- | barRole | "button" \| "img" \| "link" \| "option" | No | - | Bar role. If an onClick is provided, the bars will have the role `button`. For a navigation link, please use `getBarAnchorProps` instead. |
5155
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
5156
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5157
- | dataType | "TwoCategoryData" \| "LinearData" \| "CategoryData" | No | - | Data type override to skip data type inferrence. |
5158
- | direction | string | No | - | Direction of the bars. Only applied when the orientation is vertical. By default bars go "up" but can go "down". They can also go both ways in which case you need to indicates which category go which direction. The concatenation of the two arrays will be used to determine the order of the categories instead of the sortingMethod prop. |
5159
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5160
- | getBarAnchorProps | (datum: BarDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the bar is a navigation link. |
5161
- | isBarSelected | (datum: BarDatum) => void | No | - | Method to determine whether a bar is selected or not. |
5162
- | labelDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5163
- | legendDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5164
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5165
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5166
- | localeText | LocaleText | No | - | Labels and texts. |
5167
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5168
- | onBarClick | (datum: BarDatum, data: BarDatum[]) => void | No | - | Method to be called on a click on a bar. For a navigation link, please use `getBarAnchorProps` instead. |
5169
- | orientation | string | No | - | Orientation of the bar. |
5170
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
5171
- | size | "small" \| "medium" \| "large" \| BarChartDimensions | No | - | BarChart size. |
5172
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5173
- | tooltipDecorator | (data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5174
- | tooltipVariant | string | No | - | Tooltip variant. |
5175
- | theme | "dark" \| "light" | No | - | Theme. |
5176
- | xScaleType | "number" \| "Date" \| "dateString" | No | - | X-scale type override to skip x-scale type inferrence. |
5177
- | xAxisStartDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset) |
5178
- | xAxisEndDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset) |
5179
- | yScaleLogBase | number | No | - | If set, the Y axis will use a logarithmic scale using this base. Set this value to 10 to use a default logarithmic scale. |
5180
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5181
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5182
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5183
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5184
- | disableAnimations | false \| true | No | - | Disable animations. |
5185
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5186
- | mode | string | No | - | Whether the chart is static or interactive. |
5187
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5188
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5189
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5190
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5191
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5192
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5193
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5194
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5195
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5196
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5197
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5198
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5199
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5200
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5201
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5202
-
5203
- #### Layout Props (12 props)
5204
-
5205
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5206
-
5207
- #### Spacing Props (10 props)
5208
-
5209
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5210
-
5211
- #### Sizing Props (6 props)
5212
-
5213
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5214
-
5215
- #### Positioning Props (6 props)
5216
-
5217
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5218
-
5219
- ---
5220
-
5221
- ### LoadingLineChart
5222
-
5223
- **Package:** @redsift/charts
5224
- **File:** packages/charts/src/components/LineChart/LoadingLineChart.tsx
5225
-
5226
- #### Props
5227
-
5228
- | Prop | Type | Required | Default | Description |
5229
- |------|------|----------|---------|-------------|
5230
- | data | TwoCategoryData | No | - | Dataset to use to generate the chart. |
5231
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5232
- | id | string | No | - | Id. |
5233
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5234
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5235
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5236
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5237
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5238
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5239
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5240
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5241
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5242
- | localeText | LocaleText | No | - | Labels and texts. |
5243
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5244
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5245
- | size | "small" \| "medium" \| "large" \| LineChartDimensions | No | - | LineChart size. |
5246
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5247
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5248
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5249
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5250
- | tooltipVariant | string | No | - | Tooltip variant. |
5251
- | theme | "dark" \| "light" | No | - | Theme. |
5252
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5253
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5254
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5255
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5256
- | disableAnimations | false \| true | No | - | Disable animations. |
5257
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5258
- | mode | string | No | - | Whether the chart is static or interactive. |
5259
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5260
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5261
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5262
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5263
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5264
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5265
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5266
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5267
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5268
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5269
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5270
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5271
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5272
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5273
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5274
-
5275
- #### Layout Props (12 props)
5276
-
5277
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5278
-
5279
- #### Spacing Props (10 props)
5280
-
5281
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5282
-
5283
- #### Sizing Props (6 props)
5284
-
5285
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5286
-
5287
- #### Positioning Props (6 props)
5288
-
5289
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5290
-
5291
- ---
5292
-
5293
- ### LoadingPieChart
5294
-
5295
- **Package:** @redsift/charts
5296
- **File:** packages/charts/src/components/PieChart/LoadingPieChart.tsx
5297
-
5298
- #### Props
5299
-
5300
- | Prop | Type | Required | Default | Description |
5301
- |------|------|----------|---------|-------------|
5302
- | data | CategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
5303
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5304
- | text | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. |
5305
- | id | string | No | - | Id. |
5306
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5307
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
5308
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5309
- | getSliceAnchorProps | (datum: ArcDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the slice is a navigation link. |
5310
- | isHalf | false \| true | No | - | Whether the pie or donut is cut in half or not. |
5311
- | isSliceSelected | (datum: ArcDatum) => boolean \| undefined | No | - | Method to determine whether a slice is selected or not. |
5312
- | labelDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5313
- | legendDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5314
- | legendVariant | "none" \| "internal" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5315
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5316
- | localeText | LocaleText | No | - | Labels and texts. |
5317
- | onSliceClick | (datum: ArcDatum) => void | No | - | Method to be called on a click on a slice. For a navigation link, please use `getSliceAnchorProps` instead. |
5318
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
5319
- | size | "small" \| "medium" \| "large" \| PieChartDimensions | No | - | PieChart size. |
5320
- | sliceProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "width"> | No | - | Native HTML props to forward to each slice. |
5321
- | sliceRole | "button" \| "img" \| "link" \| "option" | No | - | Slice role. If an onClick is provided, the slices will have the role `button`. For a navigation link, please use `getSliceAnchorProps` instead. |
5322
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5323
- | middleText | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. |
5324
- | subtext | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. |
5325
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5326
- | variant | "plain" \| "spaced" \| "donut" \| "spacedDonut" | No | - | PieChart variant. |
5327
- | tooltipDecorator | (data: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5328
- | tooltipVariant | string | No | - | Tooltip variant. |
5329
- | theme | "dark" \| "light" | No | - | Theme. |
5330
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5331
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5332
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5333
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5334
- | disableAnimations | false \| true | No | - | Disable animations. |
5335
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5336
- | mode | string | No | - | Whether the chart is static or interactive. |
5337
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5338
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5339
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5340
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5341
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5342
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5343
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5344
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5345
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5346
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5347
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5348
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5349
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5350
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5351
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5352
-
5353
- #### Layout Props (12 props)
5354
-
5355
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5356
-
5357
- #### Spacing Props (10 props)
5358
-
5359
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5360
-
5361
- #### Sizing Props (6 props)
5362
-
5363
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5364
-
5365
- #### Positioning Props (6 props)
5366
-
5367
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5368
-
5369
- ---
5370
-
5371
- ### LoadingScatterPlot
5372
-
5373
- **Package:** @redsift/charts
5374
- **File:** packages/charts/src/components/ScatterPlot/LoadingScatterPlot.tsx
5375
-
5376
- #### Props
5377
-
5378
- | Prop | Type | Required | Default | Description |
5379
- |------|------|----------|---------|-------------|
5380
- | data | CoordinatesCategoryData | No | - | Dataset to use to generate the chart. |
5381
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5382
- | id | string | No | - | Id. |
5383
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5384
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5385
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5386
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5387
- | hideControlKeyPanel | false \| true | No | - | Whether the Control Keys panel is displayed or not. |
5388
- | isBrushable | false \| true | No | - | Whether the scatter plot dots are selectable using brush or not. |
5389
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5390
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5391
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5392
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5393
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant" \| "width"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5394
- | localeText | LocaleText | No | - | Labels and texts. |
5395
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5396
- | onBrush | (selection: [[number, number], [number, number]] \| null, scaleX: ScaleLinear<number, number, never>, scaleY: ScaleLinear<number, number, never>) => void | No | - | Method called on brush. |
5397
- | onBrushEnd | (selection: [[number, number], [number, number]] \| null, scaleX?: ScaleLinear<number, number, never> \| undefined, scaleY?: ScaleLinear<number, number, never> \| undefined) => void | No | - | Method called on brush end. |
5398
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5399
- | size | "small" \| "medium" \| "large" \| ScatterPlotDimensions | No | - | ScatterPlot size. |
5400
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5401
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5402
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5403
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5404
- | tooltipVariant | string | No | - | Tooltip variant. |
5405
- | variant | "default" \| "gridded" | No | - | Variant. |
5406
- | theme | "dark" \| "light" | No | - | Theme. |
5407
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5408
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5409
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5410
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5411
- | disableAnimations | false \| true | No | - | Disable animations. |
5412
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5413
- | mode | string | No | - | Whether the chart is static or interactive. |
5414
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5415
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5416
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5417
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5418
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5419
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5420
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5421
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5422
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5423
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5424
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5425
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5426
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5427
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5428
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5429
-
5430
- #### Layout Props (12 props)
5431
-
5432
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5433
-
5434
- #### Spacing Props (10 props)
5435
-
5436
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5437
-
5438
- #### Sizing Props (6 props)
5439
-
5440
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5441
-
5442
- #### Positioning Props (6 props)
5443
-
5444
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5445
-
5446
- ---
5447
-
5448
- ### PieChart
5449
-
5450
- PieChart displays proportional data as slices of a circle.
5451
- Built on D3.js with interactive slices and customizable legends.
5452
-
5453
- Variants: `default`, `spaced`, `donut`, `spacedDonut`
5454
-
5455
- Data format: `CategoryData` `[{ key: string, value: number }]`
5456
-
5457
- **Package:** @redsift/charts
5458
- **File:** packages/charts/src/components/PieChart/PieChart.tsx
5459
-
5460
- #### Props
5461
-
5462
- | Prop | Type | Required | Default | Description |
5463
- |------|------|----------|---------|-------------|
5464
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
5465
- | data | CategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
5466
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5467
- | getSliceAnchorProps | (datum: ArcDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the slice is a navigation link. |
5468
- | isHalf | false \| true | No | - | Whether the pie or donut is cut in half or not. |
5469
- | isSliceSelected | (datum: ArcDatum) => boolean \| undefined | No | - | Method to determine whether a slice is selected or not. |
5470
- | labelDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5471
- | legendDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5472
- | legendVariant | "none" \| "internal" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5473
- | legendProps | Omit<LegendProps, "data" \| "ref" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5474
- | localeText | LocaleText | No | - | Labels and texts. |
5475
- | onSliceClick | (datum: ArcDatum) => void | No | - | Method to be called on a click on a slice. For a navigation link, please use `getSliceAnchorProps` instead. |
5476
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
5477
- | size | "small" \| "medium" \| "large" \| PieChartDimensions | No | - | PieChart size. |
5478
- | sliceProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "width"> | No | - | Native HTML props to forward to each slice. |
5479
- | sliceRole | "button" \| "img" \| "link" \| "option" | No | - | Slice role. If an onClick is provided, the slices will have the role `button`. For a navigation link, please use `getSliceAnchorProps` instead. |
5480
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5481
- | middleText | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. |
5482
- | subtext | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. |
5483
- | text | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. |
5484
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5485
- | variant | "plain" \| "spaced" \| "donut" \| "spacedDonut" | No | - | PieChart variant. |
5486
- | tooltipDecorator | (data: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5487
- | tooltipVariant | string | No | - | Tooltip variant. |
5488
- | theme | "dark" \| "light" | No | - | Theme. |
5489
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5490
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5491
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5492
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5493
- | disableAnimations | false \| true | No | - | Disable animations. |
5494
- | id | string | No | - | Id. |
5495
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5496
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5497
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5498
- | mode | string | No | - | Whether the chart is static or interactive. |
5499
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5500
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5501
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5502
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5503
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5504
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5505
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5506
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5507
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5508
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5509
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5510
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5511
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5512
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5513
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5514
-
5515
- #### Layout Props (12 props)
5516
-
5517
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5518
-
5519
- #### Spacing Props (10 props)
5520
-
5521
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5522
-
5523
- #### Sizing Props (6 props)
5524
-
5525
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5526
-
5527
- #### Positioning Props (6 props)
5528
-
5529
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5530
-
5531
- ---
5532
-
5533
- ### RenderedLinearBarChart
5534
-
5535
- **Package:** @redsift/charts
5536
- **File:** packages/charts/src/components/BarChart/RenderedLinearBarChart.tsx
5537
-
5538
- #### Props
5539
-
5540
- | Prop | Type | Required | Default | Description |
5541
- |------|------|----------|---------|-------------|
5542
- | data | LinearData \| TwoCategoryData | Yes | - | |
5543
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5544
- | id | string | No | - | Id. |
5545
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5546
- | areXLabelsRotated | false \| true | No | - | @deprecated : Use xAxisTickRotation instead. Whether the x axis labels are rotated or not. |
5547
- | barProps | Omit<SVGProps<SVGGElement>, "ref" \| "orientation" \| "onClick" \| "direction" \| "scale"> & { minWidth?: number \| undefined; gap?: number \| undefined; } | No | - | Native HTML props to forward to each bar. |
5548
- | barRole | "link" \| "button" \| "img" \| "option" | No | - | Bar role. If an onClick is provided, the bars will have the role `button`. For a navigation link, please use `getBarAnchorProps` instead. |
5549
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5550
- | dataType | "TwoCategoryData" \| "LinearData" \| "CategoryData" | No | - | Data type override to skip data type inferrence. |
5551
- | direction | string | No | - | Direction of the bars. Only applied when the orientation is vertical. By default bars go "up" but can go "down". They can also go both ways in which case you need to indicates which category go which direction. The concatenation of the two arrays will be used to determine the order of the categories instead of the sortingMethod prop. |
5552
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5553
- | getBarAnchorProps | (datum: BarDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the bar is a navigation link. |
5554
- | isBarSelected | (datum: BarDatum) => void | No | - | Method to determine whether a bar is selected or not. |
5555
- | labelDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5556
- | legendDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5557
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5558
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5559
- | localeText | LocaleText | No | - | Labels and texts. |
5560
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5561
- | onBarClick | (datum: BarDatum, data: BarDatum[]) => void | No | - | Method to be called on a click on a bar. For a navigation link, please use `getBarAnchorProps` instead. |
5562
- | size | "small" \| "medium" \| "large" \| BarChartDimensions | No | - | BarChart size. |
5563
- | sortingMethod | string[] \| "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5564
- | tooltipDecorator | (data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5565
- | tooltipVariant | string | No | - | Tooltip variant. |
5566
- | theme | "dark" \| "light" | No | - | Theme. |
5567
- | xScaleType | "number" \| "Date" \| "dateString" | No | - | X-scale type override to skip x-scale type inferrence. |
5568
- | xAxisStartDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset) |
5569
- | xAxisEndDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset) |
5570
- | yScaleLogBase | number | No | - | If set, the Y axis will use a logarithmic scale using this base. Set this value to 10 to use a default logarithmic scale. |
5571
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5572
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5573
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5574
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5575
- | disableAnimations | false \| true | No | - | Disable animations. |
5576
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5577
- | mode | string | No | - | Whether the chart is static or interactive. |
5578
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5579
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5580
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5581
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5582
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5583
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5584
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5585
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5586
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5587
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5588
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5589
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5590
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5591
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5592
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5593
-
5594
- #### Layout Props (12 props)
5595
-
5596
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5597
-
5598
- #### Spacing Props (10 props)
5599
-
5600
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5601
-
5602
- #### Sizing Props (6 props)
5603
-
5604
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5605
-
5606
- #### Positioning Props (6 props)
5607
-
5608
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5609
-
5610
- ---
5611
-
5612
- ### RenderedLineChart
5613
-
5614
- **Package:** @redsift/charts
5615
- **File:** packages/charts/src/components/LineChart/RenderedLineChart.tsx
5616
-
5617
- #### Props
5618
-
5619
- | Prop | Type | Required | Default | Description |
5620
- |------|------|----------|---------|-------------|
5621
- | data | TwoCategoryData | No | - | Dataset to use to generate the chart. |
5622
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5623
- | id | string | No | - | Id. |
5624
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5625
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5626
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5627
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5628
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5629
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5630
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5631
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5632
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5633
- | localeText | LocaleText | No | - | Labels and texts. |
5634
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5635
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5636
- | size | "small" \| "medium" \| "large" \| LineChartDimensions | No | - | LineChart size. |
5637
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5638
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5639
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5640
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5641
- | tooltipVariant | string | No | - | Tooltip variant. |
5642
- | theme | "dark" \| "light" | No | - | Theme. |
5643
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5644
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5645
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5646
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5647
- | disableAnimations | false \| true | No | - | Disable animations. |
5648
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5649
- | mode | string | No | - | Whether the chart is static or interactive. |
5650
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5651
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5652
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5653
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5654
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5655
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5656
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5657
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5658
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5659
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5660
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5661
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5662
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5663
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5664
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5665
-
5666
- #### Layout Props (12 props)
5667
-
5668
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5669
-
5670
- #### Spacing Props (10 props)
5671
-
5672
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5673
-
5674
- #### Sizing Props (6 props)
5675
-
5676
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5677
-
5678
- #### Positioning Props (6 props)
5679
-
5680
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5681
-
5682
- ---
5683
-
5684
- ### RenderedOrdinalBarChart
5685
-
5686
- **Package:** @redsift/charts
5687
- **File:** packages/charts/src/components/BarChart/RenderedOrdinalBarChart.tsx
5688
-
5689
- #### Props
5690
-
5691
- | Prop | Type | Required | Default | Description |
5692
- |------|------|----------|---------|-------------|
5693
- | data | CategoryData \| LinearData \| TwoCategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
5694
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5695
- | id | string | No | - | Id. |
5696
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5697
- | areXLabelsRotated | false \| true | No | - | @deprecated : Use xAxisTickRotation instead. Whether the x axis labels are rotated or not. |
5698
- | barProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "direction" \| "orientation" \| "scale"> & { minWidth?: number \| undefined; gap?: number \| undefined; } | No | - | Native HTML props to forward to each bar. |
5699
- | barRole | "button" \| "img" \| "link" \| "option" | No | - | Bar role. If an onClick is provided, the bars will have the role `button`. For a navigation link, please use `getBarAnchorProps` instead. |
5700
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
5701
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5702
- | dataType | "TwoCategoryData" \| "LinearData" \| "CategoryData" | No | - | Data type override to skip data type inferrence. |
5703
- | direction | string | No | - | Direction of the bars. Only applied when the orientation is vertical. By default bars go "up" but can go "down". They can also go both ways in which case you need to indicates which category go which direction. The concatenation of the two arrays will be used to determine the order of the categories instead of the sortingMethod prop. |
5704
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5705
- | getBarAnchorProps | (datum: BarDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the bar is a navigation link. |
5706
- | isBarSelected | (datum: BarDatum) => void | No | - | Method to determine whether a bar is selected or not. |
5707
- | labelDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5708
- | legendDecorator | (datum: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5709
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5710
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5711
- | localeText | LocaleText | No | - | Labels and texts. |
5712
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5713
- | onBarClick | (datum: BarDatum, data: BarDatum[]) => void | No | - | Method to be called on a click on a bar. For a navigation link, please use `getBarAnchorProps` instead. |
5714
- | orientation | string | No | - | Orientation of the bar. |
5715
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
5716
- | size | "small" \| "medium" \| "large" \| BarChartDimensions | No | - | BarChart size. |
5717
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5718
- | tooltipDecorator | (data: BarDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined, dataset?: ComputedBarProps[] \| undefined, groupedData?: ComputedBarProps[] \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5719
- | tooltipVariant | string | No | - | Tooltip variant. |
5720
- | theme | "dark" \| "light" | No | - | Theme. |
5721
- | xScaleType | "number" \| "Date" \| "dateString" | No | - | X-scale type override to skip x-scale type inferrence. |
5722
- | xAxisStartDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset) |
5723
- | xAxisEndDateOffset | number | No | - | In case of a datetime x-axis, if the xAxisTickValues prop is passed with a d3.js method having an offset function (for instance `timeDay`), the following prop will be used as argument. For reference, the line of code using it is: xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset) |
5724
- | yScaleLogBase | number | No | - | If set, the Y axis will use a logarithmic scale using this base. Set this value to 10 to use a default logarithmic scale. |
5725
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5726
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5727
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5728
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5729
- | disableAnimations | false \| true | No | - | Disable animations. |
5730
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5731
- | mode | string | No | - | Whether the chart is static or interactive. |
5732
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5733
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5734
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5735
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5736
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5737
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5738
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5739
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5740
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5741
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5742
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5743
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5744
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5745
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5746
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5747
-
5748
- #### Layout Props (12 props)
5749
-
5750
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5751
-
5752
- #### Spacing Props (10 props)
5753
-
5754
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5755
-
5756
- #### Sizing Props (6 props)
5757
-
5758
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5759
-
5760
- #### Positioning Props (6 props)
5761
-
5762
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5763
-
5764
- ---
5765
-
5766
- ### RenderedPieChart
5767
-
5768
- **Package:** @redsift/charts
5769
- **File:** packages/charts/src/components/PieChart/RenderedPieChart.tsx
5770
-
5771
- #### Props
5772
-
5773
- | Prop | Type | Required | Default | Description |
5774
- |------|------|----------|---------|-------------|
5775
- | data | CategoryData | No | - | Dataset to use to generate the chart, should be a list of objects containing a key and a value. |
5776
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5777
- | text | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Main text to be displayed in the middle of the chart. Recommended to be used with `donut` variants only. |
5778
- | id | string | No | - | Id. |
5779
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5780
- | caping | number | No | - | Number of categories to use, the rest being put into a new category called "Others". |
5781
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5782
- | getSliceAnchorProps | (datum: ArcDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the slice is a navigation link. |
5783
- | isHalf | false \| true | No | - | Whether the pie or donut is cut in half or not. |
5784
- | isSliceSelected | (datum: ArcDatum) => boolean \| undefined | No | - | Method to determine whether a slice is selected or not. |
5785
- | labelDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data labels. |
5786
- | legendDecorator | (datum: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5787
- | legendVariant | "none" \| "internal" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5788
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5789
- | localeText | LocaleText | No | - | Labels and texts. |
5790
- | onSliceClick | (datum: ArcDatum) => void | No | - | Method to be called on a click on a slice. For a navigation link, please use `getSliceAnchorProps` instead. |
5791
- | others | string \| false \| true | No | - | Whether a category should be displayed for categories that has been removed by the caping option. Optionaly, this prop can be used to change the label of this category. |
5792
- | size | "small" \| "medium" \| "large" \| PieChartDimensions | No | - | PieChart size. |
5793
- | sliceProps | Omit<SVGProps<SVGGElement>, "ref" \| "onClick" \| "width"> | No | - | Native HTML props to forward to each slice. |
5794
- | sliceRole | "button" \| "img" \| "link" \| "option" | No | - | Slice role. If an onClick is provided, the slices will have the role `button`. For a navigation link, please use `getSliceAnchorProps` instead. |
5795
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5796
- | middleText | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, between the main text and subtext. Recommended to be used with donut variants only. |
5797
- | subtext | string \| ReactElement<any, string \| JSXElementConstructor<any>> \| (data: PieArcDatum<CategoryDatum>[], total: number) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Secondary text to be displayed in the middle of the chart, above the main text. Recommended to be used with `donut` variants only. |
5798
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5799
- | variant | "plain" \| "spaced" \| "donut" \| "spacedDonut" | No | - | PieChart variant. |
5800
- | tooltipDecorator | (data: ArcDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5801
- | tooltipVariant | string | No | - | Tooltip variant. |
5802
- | theme | "dark" \| "light" | No | - | Theme. |
5803
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5804
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5805
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5806
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5807
- | disableAnimations | false \| true | No | - | Disable animations. |
5808
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5809
- | mode | string | No | - | Whether the chart is static or interactive. |
5810
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5811
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5812
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5813
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5814
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5815
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5816
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5817
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5818
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5819
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5820
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5821
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5822
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5823
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5824
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5825
-
5826
- #### Layout Props (12 props)
5827
-
5828
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5829
-
5830
- #### Spacing Props (10 props)
5831
-
5832
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5833
-
5834
- #### Sizing Props (6 props)
5835
-
5836
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5837
-
5838
- #### Positioning Props (6 props)
5839
-
5840
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5841
-
5842
- ---
5843
-
5844
- ### RenderedScatterPlot
5845
-
5846
- **Package:** @redsift/charts
5847
- **File:** packages/charts/src/components/ScatterPlot/RenderedScatterPlot.tsx
5848
-
5849
- #### Props
5850
-
5851
- | Prop | Type | Required | Default | Description |
5852
- |------|------|----------|---------|-------------|
5853
- | data | CoordinatesCategoryData | No | - | Dataset to use to generate the chart. |
5854
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5855
- | id | string | No | - | Id. |
5856
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5857
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5858
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5859
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5860
- | hideControlKeyPanel | false \| true | No | - | Whether the Control Keys panel is displayed or not. |
5861
- | isBrushable | false \| true | No | - | Whether the scatter plot dots are selectable using brush or not. |
5862
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5863
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5864
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5865
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5866
- | legendProps | Omit<LegendProps, "ref" \| "data" \| "variant" \| "width"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5867
- | localeText | LocaleText | No | - | Labels and texts. |
5868
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5869
- | onBrush | (selection: [[number, number], [number, number]] \| null, scaleX: ScaleLinear<number, number, never>, scaleY: ScaleLinear<number, number, never>) => void | No | - | Method called on brush. |
5870
- | onBrushEnd | (selection: [[number, number], [number, number]] \| null, scaleX?: ScaleLinear<number, number, never> \| undefined, scaleY?: ScaleLinear<number, number, never> \| undefined) => void | No | - | Method called on brush end. |
5871
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5872
- | size | "small" \| "medium" \| "large" \| ScatterPlotDimensions | No | - | ScatterPlot size. |
5873
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5874
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5875
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5876
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5877
- | tooltipVariant | string | No | - | Tooltip variant. |
5878
- | variant | "default" \| "gridded" | No | - | Variant. |
5879
- | theme | "dark" \| "light" | No | - | Theme. |
5880
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5881
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5882
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5883
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5884
- | disableAnimations | false \| true | No | - | Disable animations. |
5885
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5886
- | mode | string | No | - | Whether the chart is static or interactive. |
5887
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5888
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5889
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5890
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5891
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5892
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5893
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5894
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5895
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5896
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5897
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5898
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5899
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5900
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5901
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5902
-
5903
- #### Layout Props (12 props)
5904
-
5905
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5906
-
5907
- #### Spacing Props (10 props)
5908
-
5909
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5910
-
5911
- #### Sizing Props (6 props)
5912
-
5913
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5914
-
5915
- #### Positioning Props (6 props)
5916
-
5917
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
5918
-
5919
- ---
5920
-
5921
- ### ScatterPlot
5922
-
5923
- ScatterPlot displays relationships between two numeric variables.
5924
- Built on D3.js with interactive dots and brush selection.
5925
-
5926
- Supports zooming, brushing for multi-select, and dot clustering.
5927
-
5928
- Data format: `CoordinatesCategoryData` `[{ x: number, y: number, category?: string }]`
5929
-
5930
- **Package:** @redsift/charts
5931
- **File:** packages/charts/src/components/ScatterPlot/ScatterPlot.tsx
5932
-
5933
- #### Props
5934
-
5935
- | Prop | Type | Required | Default | Description |
5936
- |------|------|----------|---------|-------------|
5937
- | data | CoordinatesCategoryData | No | - | Dataset to use to generate the chart. |
5938
- | getDotAnchorProps | (datum: DotDatum) => AnchorProps | No | - | Method used to define the anchor props to use when the dot is a navigation link. |
5939
- | dotRole | "button" \| "img" \| "link" \| "option" | No | - | Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. |
5940
- | emptyComponent | ReactNode | No | - | Component to use if the chart is empty (replacing the default one). |
5941
- | hideControlKeyPanel | false \| true | No | - | Whether the Control Keys panel is displayed or not. |
5942
- | isBrushable | false \| true | No | - | Whether the scatter plot dots are selectable using brush or not. |
5943
- | isDotSelected | (datum: DotDatum) => boolean \| undefined | No | - | Method to determine whether a dot is selected or not. |
5944
- | labelDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method to override the data point labels. |
5945
- | legendDecorator | (datum: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the legend when the legendVariant is "custom". |
5946
- | legendVariant | "none" \| "externalLabel" \| "externalLabelValue" \| "externalLabelPercent" \| "custom" | No | - | Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to "custom", use `legendDecorator` to customize it. |
5947
- | legendProps | Omit<LegendProps, "data" \| "ref" \| "width" \| "variant"> & { extraLegendItems?: Statistics \| undefined; } | No | - | Props to forward to the Legend block. Can be used to make the legend selectable. |
5948
- | localeText | LocaleText | No | - | Labels and texts. |
5949
- | margins | MarginProps | No | - | Custom margins, used to give more space for axes labels and legend for instance. |
5950
- | onBrush | (selection: [[number, number], [number, number]] \| null, scaleX: ScaleLinear<number, number, never>, scaleY: ScaleLinear<number, number, never>) => void | No | - | Method called on brush. |
5951
- | onBrushEnd | (selection: [[number, number], [number, number]] \| null, scaleX?: ScaleLinear<number, number, never> \| undefined, scaleY?: ScaleLinear<number, number, never> \| undefined) => void | No | - | Method called on brush end. |
5952
- | onDotClick | (datum: DotDatum) => void | No | - | Method to be called on a click on a dot. For a navigation link, please use `getDotAnchorProps` instead. |
5953
- | size | "small" \| "medium" \| "large" \| ScatterPlotDimensions | No | - | ScatterPlot size. |
5954
- | sortingMethod | "none" \| "asc-key" \| "desc-key" \| "asc-value" \| "desc-value" \| string[] \| (a: CategoryDatum, b: CategoryDatum) => 1 \| -1 | No | - | Define how to sort categories. |
5955
- | svgRef | MutableRefObject<SVGSVGElement> | No | - | Reference to the SVG tag. |
5956
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme \| CustomColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5957
- | tooltipDecorator | (data: DotDatum, props?: { index?: number \| undefined; isSelected?: boolean \| undefined; color?: string \| undefined; } \| undefined) => string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Method modifying what's displayed within the tooltip when the tooltipVariant is "custom". |
5958
- | tooltipVariant | string | No | - | Tooltip variant. |
5959
- | variant | "default" \| "gridded" | No | - | Variant. |
5960
- | theme | "dark" \| "light" | No | - | Theme. |
5961
- | chartProps | DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement> | No | - | Native HTML props to pass to the chart. |
5962
- | chartRef | RefObject<HTMLDivElement> | No | - | Ref to the chart. |
5963
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description. |
5964
- | descriptionPosition | "belowTitle" \| "belowChart" | No | - | Whether the description should be placed below the title or below the chart. |
5965
- | disableAnimations | false \| true | No | - | Disable animations. |
5966
- | id | string | No | - | Id. |
5967
- | onReset | () => void | No | - | Method called when the Reset button is displayed (defines whether or not the button should be displayed). |
5968
- | title | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Title. |
5969
- | descriptionForAssistiveTechnology | string | No | - | Description that won't be visually displayed but will be used for assistive technology. If you want to display the description, use `description` instead. |
5970
- | mode | string | No | - | Whether the chart is static or interactive. |
5971
- | definition | string | No | - | Small text explaining which kind of chart is presenting and what's its basic composition. |
5972
- | xAxisDefinition | string | No | - | Small text explaining the basic composition of the x-axis, if any. |
5973
- | yAxisDefinition | string | No | - | Small text explaining the basic composition of the y-axis, if any. |
5974
- | interactionExplanation | string | No | - | Small text explaining how the chart is interactive, if any. |
5975
- | dataTableRepresentation | { header: ReactElement<any, string \| JSXElementConstructor<any>>; body: ReactElement<any, string \| JSXElementConstructor<any>>; } | No | - | Table representation of the chart. |
5976
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5977
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5978
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5979
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5980
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5981
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5982
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5983
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5984
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5985
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
5986
-
5987
- #### Layout Props (12 props)
5988
-
5989
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
5990
-
5991
- #### Spacing Props (10 props)
5992
-
5993
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
5994
-
5995
- #### Sizing Props (6 props)
5996
-
5997
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
5998
-
5999
- #### Positioning Props (6 props)
6000
-
6001
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6002
-
6003
- ---
6004
-
6005
- ## Package: @redsift/table
6006
-
6007
- ### ControlledPagination
6008
-
6009
- **Package:** @redsift/table
6010
- **File:** packages/table/src/components/Pagination/ControlledPagination.tsx
6011
-
6012
- ---
6013
-
6014
- ### DataGrid
6015
-
6016
- DataGrid displays tabular data with sorting, filtering, pagination, and row selection.
6017
- Built on MUI X DataGrid Pro with Red Sift styling and theming.
6018
-
6019
- Requires MUI Premium license key (set via `MUI_LICENSE_KEY` env variable).
6020
-
6021
- Use `createColumn()` to get pre-configured column definitions with typed filter operators.
6022
- Supported types: `string`, `number`, `date`, `dateTime`, `singleSelect`, `multiSelect`, `tags`.
6023
- For `boolean` columns, use `type: 'boolean'` directly (no createColumn wrapper needed).
6024
-
6025
- **Package:** @redsift/table
6026
- **File:** packages/table/src/components/DataGrid/DataGrid.tsx
6027
-
6028
- #### Props
6029
-
6030
- | Prop | Type | Required | Default | Description |
6031
- |------|------|----------|---------|-------------|
6032
- | license | string | No | - | License key for MUI Datagrid Pro. |
6033
- | height | string | No | '500px' | Height. A default one is set to prevent rendering all rows. |
6034
- | toolbar | ReactNode | No | - | Toolbar. A default one is provided but every button from this default Toolbar can be customized and the entire Toolbar can be replaced. |
6035
- | hideToolbar | false \| true | No | - | Whether the Toolbar is displayed or not. |
6036
- | paginationPlacement | "top" \| "bottom" \| "both" \| "none" | No | 'both' | Indicates how to display pagination. |
6037
- | paginationProps | Omit<TablePaginationProps, "paginationMode" \| "component" \| "count" \| "onPageChange" \| "onRowsPerPageChange" \| "page" \| "rowsPerPage" \| "rowsPerPageOptions"> | No | - | Props to forward to the pagination component. |
6038
- | theme | "light" \| "dark" | No | - | Theme. |
6039
- | getTreeDataPath | (row: any) => readonly string[] | No | - | Determines the path of a row in the tree data. For instance, a row with the path ["A", "B"] is the child of the row with the path ["A"]. Note that all paths must contain at least one element. @template R @param row The row from which we want the path. @returns The path to the row. |
6040
- | setTreeDataPath | (path: string[], row: any) => any | No | - | Updates the tree path in a row model. Used when reordering rows across different parents in tree data. @template R @param path The new path for the row. @param row The row model to update. @returns The updated row model with the new path. |
6041
-
6042
- ---
6043
-
6044
- ### GridToolbarFilterSemanticField
6045
-
6046
- The GridToolbarFilterSemanticField component.
6047
-
6048
- **Package:** @redsift/table
6049
- **File:** packages/table/src/components/GridToolbarFilterSemanticField/GridToolbarFilterSemanticField.tsx
6050
-
6051
- #### Props
6052
-
6053
- | Prop | Type | Required | Default | Description |
6054
- |------|------|----------|---------|-------------|
6055
- | nlpFilterConfig | FilterConfig | Yes | - | |
6056
- | onFilterModelChange | (filterModel: GridFilterModel) => void | No | - | |
6057
- | dateFormat | string | No | - | |
6058
- | defaultModel | string | No | - | |
6059
- | defaultFilter | CompletionResponse | No | - | |
6060
- | disablePower | false \| true | No | - | |
6061
- | localeText | LocaleText | No | - | |
6062
-
6063
- ---
6064
-
6065
- ### ServerSideControlledPagination
6066
-
6067
- **Package:** @redsift/table
6068
- **File:** packages/table/src/components/Pagination/ServerSideControlledPagination.tsx
6069
-
6070
- ---
6071
-
6072
- ### StatefulDataGrid
6073
-
6074
- StatefulDataGrid extends DataGrid with automatic state persistence to localStorage.
6075
- Preserves filters, sorting, pagination, column visibility, and column widths
6076
- across page refreshes.
6077
-
6078
- Use when users need persistent table preferences. Requires unique `localStorageKey`.
6079
-
6080
- **Package:** @redsift/table
6081
- **File:** packages/table/src/components/StatefulDataGrid/StatefulDataGrid.tsx
6082
-
6083
- #### Props
6084
-
6085
- | Prop | Type | Required | Default | Description |
6086
- |------|------|----------|---------|-------------|
6087
- | useRouter | () => { pathname: string; search: string; historyReplace: (newSearch: string) => void; } | Yes | - | Hook returning pathname, search params and a method to update query params. |
6088
- | localStorageVersion | number | No | - | Local Storage version, to upgrade when we want to force a clean out. |
6089
- | previousLocalStorageVersions | number[] | No | - | Previous Local Storage versions to clean out when a new one is released. |
6090
- | license | string | No | - | License key for MUI Datagrid Pro. |
6091
- | height | string | No | '500px' | Height. A default one is set to prevent rendering all rows. |
6092
- | toolbar | ReactNode | No | - | Toolbar. A default one is provided but every button from this default Toolbar can be customized and the entire Toolbar can be replaced. |
6093
- | hideToolbar | false \| true | No | - | Whether the Toolbar is displayed or not. |
6094
- | paginationPlacement | "top" \| "bottom" \| "both" \| "none" | No | 'both' | Indicates how to display pagination. |
6095
- | paginationProps | Omit<TablePaginationProps, "paginationMode" \| "component" \| "count" \| "onPageChange" \| "onRowsPerPageChange" \| "page" \| "rowsPerPage" \| "rowsPerPageOptions"> | No | - | Props to forward to the pagination component. |
6096
- | theme | "light" \| "dark" | No | - | Theme. |
6097
- | getTreeDataPath | (row: any) => readonly string[] | No | - | Determines the path of a row in the tree data. For instance, a row with the path ["A", "B"] is the child of the row with the path ["A"]. Note that all paths must contain at least one element. @template R @param row The row from which we want the path. @returns The path to the row. |
6098
- | setTreeDataPath | (path: string[], row: any) => any | No | - | Updates the tree path in a row model. Used when reordering rows across different parents in tree data. @template R @param path The new path for the row. @param row The row model to update. @returns The updated row model with the new path. |
6099
-
6100
- ---
6101
-
6102
- ### TextCell
6103
-
6104
- The Cell component.
6105
-
6106
- **Package:** @redsift/table
6107
- **File:** packages/table/src/components/TextCell/TextCell.tsx
6108
-
6109
- #### Props
6110
-
6111
- | Prop | Type | Required | Default | Description |
6112
- |------|------|----------|---------|-------------|
6113
- | badge | ReactNode | No | - | Including Badge Component. |
6114
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
6115
- | leftIconColor | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "asm" \| "brand-trust" \| "certificates" \| "ondmarc" \| "pulse" \| "radar" \| "rojo-ds" \| "vendor-secure" \| "website" \| string & {} | No | - | Left Icon Color variant. |
6116
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
6117
- | rightIconColor | "primary" \| "secondary" \| "error" \| "success" \| "warning" \| "info" \| "question" \| "no-data" \| "asm" \| "brand-trust" \| "certificates" \| "ondmarc" \| "pulse" \| "radar" \| "rojo-ds" \| "vendor-secure" \| "website" \| string & {} | No | - | Right Icon Color variant. |
6118
- | shieldVariant | "success" \| "warning" \| "question" \| "successLocked" \| "successUnlocked" \| "fail" \| "failLocked" \| "failUnlocked" \| "warningLocked" \| "warningUnlocked" \| "ignored" \| "noData" \| "email" | No | - | Shield variant. |
6119
-
6120
- ---
6121
-
6122
- ### Toolbar
6123
-
6124
- ------
6125
-
6126
- **Package:** @redsift/table
6127
- **File:** packages/table/src/components/Toolbar/Toolbar.tsx
6128
-
6129
- #### Props
6130
-
6131
- | Prop | Type | Required | Default | Description |
6132
- |------|------|----------|---------|-------------|
6133
- | columnsButtonProps | GridToolbarColumnsButtonProps \| GridToolbarColumnsButtonProps & RefAttributes<HTMLButtonElement> | No | - | Props to forward to the column button. |
6134
- | columnsButtonRef | RefObject<HTMLButtonElement> | No | - | Column button ref. |
6135
- | densityButtonProps | GridToolbarDensitySelectorProps \| GridToolbarDensitySelectorProps & RefAttributes<HTMLButtonElement> | No | - | Props to forward to the density button. |
6136
- | densityButtonRef | RefObject<HTMLButtonElement> | No | - | Density button ref. |
6137
- | exportButtonProps | GridToolbarExportProps | No | - | Props to forward to the export button. |
6138
- | exportButtonRef | RefObject<HTMLButtonElement> | No | - | Export button ref. |
6139
- | filterButtonProps | GridToolbarFilterButtonProps | No | - | Props to forward to the filter button. |
6140
- | filterButtonRef | RefObject<HTMLButtonElement> | No | - | Filter button ref. |
6141
- | hasColumnsButton | false \| true | No | - | Whether the columns button is displayed or not. |
6142
- | hasDensityButton | false \| true | No | - | Whether the density button is displayed or not. |
6143
- | hasExportButton | false \| true | No | - | Whether the export button is displayed or not. |
6144
- | hasFilterButton | false \| true | No | - | Whether the filter button is displayed or not. |
6145
- | onFilterModelChange | (filterModel: GridFilterModel) => void | No | - | Configuration object for NLP filter. undefined if disabled. |
6146
- | semanticFilterProps | GridToolbarFilterSemanticProps | No | - | |
6147
- | showQuickFilter | false \| true | No | - | Whether you want to show the quick filter or not. |
6148
-
6149
- ---
6150
-
6151
- ### ToolbarWrapper
6152
-
6153
- **Package:** @redsift/table
6154
- **File:** packages/table/src/components/ToolbarWrapper/ToolbarWrapper.tsx
6155
-
6156
- ---
6157
-
6158
- ## Package: @redsift/dashboard
6159
-
6160
- ### ChartEmptyState
6161
-
6162
- **Package:** @redsift/dashboard
6163
- **File:** packages/dashboard/src/components/ChartEmptyState/ChartEmptyState.tsx
6164
-
6165
- #### Props
6166
-
6167
- | Prop | Type | Required | Default | Description |
6168
- |------|------|----------|---------|-------------|
6169
- | onReset | () => void | No | - | Method to call when the reset button is pressed. Also conditioned whether the button is displayed or not. |
6170
- | resetLabel | string | No | - | Reset button label. |
6171
- | subtitle | string | No | - | Subtitle. |
6172
- | title | string | No | - | Title. |
6173
-
6174
- ---
6175
-
6176
- ### CrossfilteredDashboard.Card
6177
-
6178
- CrossfilteredDashboard with attached sub-components.
6179
-
6180
- **Package:** @redsift/dashboard
6181
- **File:** packages/dashboard/src/components/CrossfilteredDashboard/CrossfilteredDashboard.tsx
6182
-
6183
- #### Props
6184
-
6185
- | Prop | Type | Required | Default | Description |
6186
- |------|------|----------|---------|-------------|
6187
- | data | JSONArray | Yes | - | The full dataset for crossfilter. |
6188
- | children | ReactNode | Yes | - | Dashboard content — use CrossfilteredDashboard.Card, .PieChart, .BarChart, .Grid sub-components. |
6189
-
6190
- ---
6191
-
6192
- ### Dashboard
6193
-
6194
- Dashboard provides a context for connected, filterable visualizations.
6195
- Uses Crossfilter.js for high-performance multi-dimensional filtering.
6196
-
6197
- Wrap charts and DataGrids with `WithFilters` to enable cross-filtering.
6198
- When one chart is filtered, all connected charts update automatically.
6199
-
6200
- **Package:** @redsift/dashboard
6201
- **File:** packages/dashboard/src/components/Dashboard/Dashboard.tsx
6202
-
6203
- #### Props
6204
-
6205
- | Prop | Type | Required | Default | Description |
6206
- |------|------|----------|---------|-------------|
6207
- | data | JSONArray | Yes | - | Dataset that will be share across every components within the dashboard. |
6208
- | dataGridApiRef | MutableRefObject<GridApiPremium \| null> | No | - | Datagrid API Ref. MUI v8: can be null initially. |
6209
-
6210
- ---
6211
-
6212
- ### DataCard
6213
-
6214
- **Package:** @redsift/dashboard
6215
- **File:** packages/dashboard/src/components/DataCard/DataCard.tsx
6216
-
6217
- #### Props
6218
-
6219
- | Prop | Type | Required | Default | Description |
6220
- |------|------|----------|---------|-------------|
6221
- | color | "error" \| "success" \| "warning" \| "info" | No | 'info' | Color variant for the card border. Maps to notification color tokens. |
6222
- | isLoading | false \| true | No | - | Whether the card is in a loading state. When true, the header is hidden. |
6223
-
6224
- #### Layout Props (14 props)
6225
-
6226
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
6227
-
6228
- #### Spacing Props (5 props)
6229
-
6230
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
6231
-
6232
- #### Sizing Props (6 props)
6233
-
6234
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6235
-
6236
- #### Positioning Props (6 props)
6237
-
6238
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6239
-
6240
- ---
6241
-
6242
- ### DataCardBody
6243
-
6244
- DataCardBody is the main content area of a DataCard.
6245
- Typically contains DataRow children.
6246
-
6247
- When `columns` is set, children are laid out in a CSS Grid with size-aware spanning:
6248
- - `large` DataRows claim their own column and span all rows
6249
- - Other DataRows fill remaining columns evenly
6250
-
6251
- **Package:** @redsift/dashboard
6252
- **File:** packages/dashboard/src/components/DataCardBody/DataCardBody.tsx
6253
-
6254
- #### Props
6255
-
6256
- | Prop | Type | Required | Default | Description |
6257
- |------|------|----------|---------|-------------|
6258
- | columns | number | No | - | Number of columns for multi-column layout. When set, children are laid out in a CSS Grid. |
6259
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
6260
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
6261
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
6262
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
6263
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
6264
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
6265
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
6266
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
6267
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
6268
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
6269
-
6270
- #### Layout Props (12 props)
6271
-
6272
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
6273
-
6274
- #### Spacing Props (10 props)
6275
-
6276
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
6277
-
6278
- #### Sizing Props (6 props)
6279
-
6280
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6281
-
6282
- #### Positioning Props (6 props)
6283
-
6284
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6285
-
6286
- ---
6287
-
6288
- ### DataCardHeader
6289
-
6290
- DataCardHeader displays an icon and title that floats on top of
6291
- the DataCard border. Optionally wraps in a Tooltip.
6292
-
6293
- **Package:** @redsift/dashboard
6294
- **File:** packages/dashboard/src/components/DataCardHeader/DataCardHeader.tsx
6295
-
6296
- #### Props
6297
-
6298
- | Prop | Type | Required | Default | Description |
6299
- |------|------|----------|---------|-------------|
6300
- | icon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | Yes | - | Can be a string or an array of strings containing `d` property of the `path` SVG element. Can also be a ReactElement. |
6301
- | title | string | Yes | - | Title text displayed in the header. |
6302
- | tooltip | string | No | - | Optional tooltip text displayed on hover. |
6303
-
6304
- #### Layout Props (14 props)
6305
-
6306
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
6307
-
6308
- #### Spacing Props (5 props)
6309
-
6310
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
6311
-
6312
- #### Sizing Props (6 props)
6313
-
6314
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6315
-
6316
- #### Positioning Props (6 props)
6317
-
6318
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6319
-
6320
- ---
6321
-
6322
- ### DataCardListbox
6323
-
6324
- DataCardListbox is a styled Listbox for use inside a DataCard.
6325
- Designed to hold DataRow children for filter-selection interactions.
6326
-
6327
- When `columns` is set, children are laid out in a CSS Grid with size-aware spanning:
6328
- - `large` DataRows claim their own column and span all rows
6329
- - Other DataRows fill remaining columns evenly
6330
-
6331
- **Package:** @redsift/dashboard
6332
- **File:** packages/dashboard/src/components/DataCardListbox/DataCardListbox.tsx
6333
-
6334
- #### Props
6335
-
6336
- | Prop | Type | Required | Default | Description |
6337
- |------|------|----------|---------|-------------|
6338
- | columns | number | No | - | Number of columns for multi-column layout. When set, children are laid out in a CSS Grid. |
6339
- | defaultValues | string[] | No | - | Default selected values. Used for uncontrolled version. |
6340
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
6341
- | isInvalid | false \| true | No | - | Whether the component is invalid or not. |
6342
- | isReadOnly | false \| true | No | - | Whether the component is read only or not. |
6343
- | isRequired | false \| true | No | - | Whether the component is required or not. |
6344
- | label | string | No | - | Label of the switch group. |
6345
- | onChange | (values: string[]) => void | No | - | Method to handle component change. |
6346
- | selectionMode | "single" \| "multiple" | No | 'single' | Whether the listbox allows multiple selections or single ones. |
6347
- | values | string[] | No | - | Currently selected values. Used for controlled version. |
6348
- | variant | "standalone" \| "unstyled" | No | 'standalone' | Whether the Listbox is used as standalone or is unstyled within another component. |
6349
- | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
6350
- | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
6351
- | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
6352
- | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
6353
- | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
6354
- | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
6355
- | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
6356
- | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
6357
- | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
6358
- | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
6359
-
6360
- #### Layout Props (12 props)
6361
-
6362
- Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
6363
-
6364
- #### Spacing Props (10 props)
6365
-
6366
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
6367
-
6368
- #### Sizing Props (6 props)
6369
-
6370
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6371
-
6372
- #### Positioning Props (6 props)
6373
-
6374
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6375
-
6376
- ---
6377
-
6378
- ### DataRow
6379
-
6380
- DataRow displays a formatted number alongside a legend label.
6381
- When `href` is provided, it renders as a clickable link.
6382
- Otherwise, it renders as a static display.
6383
-
6384
- Use `as` to provide a custom link component (e.g., React Router's Link).
6385
-
6386
- **Package:** @redsift/dashboard
6387
- **File:** packages/dashboard/src/components/DataRow/DataRow.tsx
6388
-
6389
- #### Props
6390
-
6391
- | Prop | Type | Required | Default | Description |
6392
- |------|------|----------|---------|-------------|
6393
- | as | "symbol" \| "object" \| "div" \| "a" \| "abbr" \| "address" \| "area" \| "article" \| "aside" \| "audio" \| "b" \| "base" \| "bdi" \| "bdo" \| "big" \| "blockquote" \| "body" \| "br" \| "button" \| "canvas" \| "caption" \| "cite" \| "code" \| "col" \| "colgroup" \| "data" \| "datalist" \| "dd" \| "del" \| "details" \| "dfn" \| "dialog" \| "dl" \| "dt" \| "em" \| "embed" \| "fieldset" \| "figcaption" \| "figure" \| "footer" \| "form" \| "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "head" \| "header" \| "hgroup" \| "hr" \| "html" \| "i" \| "iframe" \| "img" \| "input" \| "ins" \| "kbd" \| "keygen" \| "label" \| "legend" \| "li" \| "link" \| "main" \| "map" \| "mark" \| "menu" \| "menuitem" \| "meta" \| "meter" \| "nav" \| "noindex" \| "noscript" \| "ol" \| "optgroup" \| "option" \| "output" \| "p" \| "param" \| "picture" \| "pre" \| "progress" \| "q" \| "rp" \| "rt" \| "ruby" \| "s" \| "samp" \| "slot" \| "script" \| "section" \| "select" \| "small" \| "source" \| "span" \| "strong" \| "style" \| "sub" \| "summary" \| "sup" \| "table" \| "template" \| "tbody" \| "td" \| "textarea" \| "tfoot" \| "th" \| "thead" \| "time" \| "title" \| "tr" \| "track" \| "u" \| "ul" \| "var" \| "video" \| "wbr" \| "webview" \| "svg" \| "animate" \| "animateMotion" \| "animateTransform" \| "circle" \| "clipPath" \| "defs" \| "desc" \| "ellipse" \| "feBlend" \| "feColorMatrix" \| "feComponentTransfer" \| "feComposite" \| "feConvolveMatrix" \| "feDiffuseLighting" \| "feDisplacementMap" \| "feDistantLight" \| "feDropShadow" \| "feFlood" \| "feFuncA" \| "feFuncB" \| "feFuncG" \| "feFuncR" \| "feGaussianBlur" \| "feImage" \| "feMerge" \| "feMergeNode" \| "feMorphology" \| "feOffset" \| "fePointLight" \| "feSpecularLighting" \| "feSpotLight" \| "feTile" \| "feTurbulence" \| "filter" \| "foreignObject" \| "g" \| "image" \| "line" \| "linearGradient" \| "marker" \| "mask" \| "metadata" \| "mpath" \| "path" \| "pattern" \| "polygon" \| "polyline" \| "radialGradient" \| "rect" \| "stop" \| "switch" \| "text" \| "textPath" \| "tspan" \| "use" \| "view" \| "center" \| "search" \| ComponentClass<any, any> \| FunctionComponent<any> | No | - | Prop to pass a custom react component instead of a simple HTML anchor (useful for Next.js or React Router Link component). |
6394
- | filterIcon | string | No | mdiFilterVariantPlus | Optional icon path displayed as a filter action indicator. Shown when `hasFilterIcon` is true and `onClick` is provided. |
6395
- | hasFilterIcon | false \| true | No | - | Whether the filter action icon is visible. When true and `onClick` is provided, shows the filter icon. |
6396
- | isSelected | false \| true | No | - | Whether the row is visually selected. Only applies to the button variant (outside a Listbox). Inside a Listbox, selection is managed by the Listbox context. |
6397
- | href | string | No | - | Navigation URL. When provided, the row renders as a link. |
6398
- | isCentered | false \| true | No | - | Whether the content is centered within the row. |
6399
- | isLoading | false \| true | No | - | Whether the row is in a loading state. Renders skeleton placeholders. |
6400
- | legend | string | Yes | - | The label text displayed next to the number. |
6401
- | rowIndex | null \| number | No | - | Row index for 2D grid keyboard navigation within a multi-column listbox. Injected by DataCardListbox when `columns` is set. |
6402
- | size | "small" \| "xsmall" \| "medium" \| "large" | No | 'medium' | Size variant controlling font size, weight, height, and layout direction. |
6403
- | labelDecorator | (label: string) => string | No | - | Optional transform function applied to the legend text before display. |
6404
- | tooltip | string | No | - | Optional tooltip text displayed on hover (only for link variant). |
6405
- | value | number | Yes | - | The numeric value to display. |
6406
-
6407
- #### Layout Props (14 props)
6408
-
6409
- Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
6410
-
6411
- #### Spacing Props (5 props)
6412
-
6413
- Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
6414
-
6415
- #### Sizing Props (6 props)
6416
-
6417
- Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6418
-
6419
- #### Positioning Props (6 props)
6420
-
6421
- Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6422
-
6423
- ---
6424
-
6425
- ### DrilldownDashboard.Card
6426
-
6427
- DrilldownDashboard with attached sub-components.
6428
-
6429
- **Package:** @redsift/dashboard
6430
- **File:** packages/dashboard/src/components/DrilldownDashboard/DrilldownDashboard.tsx
6431
-
6432
- #### Props
6433
-
6434
- | Prop | Type | Required | Default | Description |
6435
- |------|------|----------|---------|-------------|
6436
- | data | JSONArray | Yes | - | The full dataset. |
6437
- | computeAggregates | ComputeAggregates | Yes | - | Function to compute aggregates from the dataset. Called once and memoized. |
6438
- | children | ReactNode | Yes | - | DataGrid columns. |
6439
-
6440
- ---
6441
-
6442
- ### FilterableBarChart
6443
-
6444
- **Package:** @redsift/dashboard
6445
- **File:** packages/dashboard/src/components/WithFilters/FilterableBarChart.tsx
6446
-
6447
- #### Props
6448
-
6449
- | Prop | Type | Required | Default | Description |
6450
- |------|------|----------|---------|-------------|
6451
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6452
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6453
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6454
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6455
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6456
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6457
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6458
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6459
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6460
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
5040
+ | columnsButtonProps | GridToolbarColumnsButtonProps \| GridToolbarColumnsButtonProps & RefAttributes<HTMLButtonElement> | No | - | Props to forward to the column button. |
5041
+ | columnsButtonRef | RefObject<HTMLButtonElement> | No | - | Column button ref. |
5042
+ | densityButtonProps | GridToolbarDensitySelectorProps \| GridToolbarDensitySelectorProps & RefAttributes<HTMLButtonElement> | No | - | Props to forward to the density button. |
5043
+ | densityButtonRef | RefObject<HTMLButtonElement> | No | - | Density button ref. |
5044
+ | exportButtonProps | GridToolbarExportProps | No | - | Props to forward to the export button. |
5045
+ | exportButtonRef | RefObject<HTMLButtonElement> | No | - | Export button ref. |
5046
+ | filterButtonProps | GridToolbarFilterButtonProps | No | - | Props to forward to the filter button. |
5047
+ | filterButtonRef | RefObject<HTMLButtonElement> | No | - | Filter button ref. |
5048
+ | hasColumnsButton | false \| true | No | - | Whether the columns button is displayed or not. |
5049
+ | hasDensityButton | false \| true | No | - | Whether the density button is displayed or not. |
5050
+ | hasExportButton | false \| true | No | - | Whether the export button is displayed or not. |
5051
+ | hasFilterButton | false \| true | No | - | Whether the filter button is displayed or not. |
5052
+ | onFilterModelChange | (filterModel: GridFilterModel) => void | No | - | Configuration object for NLP filter. undefined if disabled. |
5053
+ | semanticFilterProps | GridToolbarFilterSemanticProps | No | - | |
5054
+ | showQuickFilter | false \| true | No | - | Whether you want to show the quick filter or not. |
6461
5055
 
6462
5056
  ---
6463
5057
 
6464
- ### FilterableDataCard
6465
-
6466
- **Package:** @redsift/dashboard
6467
- **File:** packages/dashboard/src/components/WithFilters/FilterableDataCard.tsx
6468
-
6469
- #### Props
5058
+ ### ToolbarWrapper
6470
5059
 
6471
- | Prop | Type | Required | Default | Description |
6472
- |------|------|----------|---------|-------------|
6473
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6474
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6475
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6476
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6477
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6478
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6479
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6480
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6481
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6482
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
5060
+ **Package:** @redsift/table
5061
+ **File:** packages/table/src/components/ToolbarWrapper/ToolbarWrapper.tsx
6483
5062
 
6484
5063
  ---
6485
5064
 
6486
- ### FilterableDataGrid
6487
-
6488
- **Package:** @redsift/dashboard
6489
- **File:** packages/dashboard/src/components/WithFilters/FilterableDataGrid.tsx
6490
-
6491
- #### Props
6492
-
6493
- | Prop | Type | Required | Default | Description |
6494
- |------|------|----------|---------|-------------|
6495
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6496
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6497
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6498
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6499
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6500
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6501
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6502
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6503
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6504
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
6505
-
6506
- ---
5065
+ ## Package: @redsift/dashboard
6507
5066
 
6508
- ### FilterablePieChart
5067
+ ### ChartEmptyState
6509
5068
 
6510
5069
  **Package:** @redsift/dashboard
6511
- **File:** packages/dashboard/src/components/WithFilters/FilterablePieChart.tsx
5070
+ **File:** packages/dashboard/src/components/ChartEmptyState/ChartEmptyState.tsx
6512
5071
 
6513
5072
  #### Props
6514
5073
 
6515
5074
  | Prop | Type | Required | Default | Description |
6516
5075
  |------|------|----------|---------|-------------|
6517
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6518
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6519
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6520
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6521
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6522
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6523
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6524
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6525
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6526
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
5076
+ | onReset | () => void | No | - | Method to call when the reset button is pressed. Also conditioned whether the button is displayed or not. |
5077
+ | resetLabel | string | No | - | Reset button label. |
5078
+ | subtitle | string | No | - | Subtitle. |
5079
+ | title | string | No | - | Title. |
6527
5080
 
6528
5081
  ---
6529
5082
 
6530
- ### FilterableScatterPlot
6531
-
6532
- **Package:** @redsift/dashboard
6533
- **File:** packages/dashboard/src/components/WithFilters/FilterableScatterPlot.tsx
6534
-
6535
- #### Props
6536
-
6537
- | Prop | Type | Required | Default | Description |
6538
- |------|------|----------|---------|-------------|
6539
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6540
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6541
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6542
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6543
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6544
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6545
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6546
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6547
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6548
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
5083
+ ### Dashboard
6549
5084
 
6550
- ---
5085
+ Dashboard provides a context for connected, filterable visualizations.
5086
+ Uses Crossfilter.js for high-performance multi-dimensional filtering.
6551
5087
 
6552
- ### PdfDocument
5088
+ Wrap charts and DataGrids with `WithFilters` to enable cross-filtering.
5089
+ When one chart is filtered, all connected charts update automatically.
6553
5090
 
6554
5091
  **Package:** @redsift/dashboard
6555
- **File:** packages/dashboard/src/components/PdfExportButton/PdfDocument.tsx
5092
+ **File:** packages/dashboard/src/components/Dashboard/Dashboard.tsx
6556
5093
 
6557
5094
  #### Props
6558
5095
 
6559
5096
  | Prop | Type | Required | Default | Description |
6560
5097
  |------|------|----------|---------|-------------|
6561
- | dashboardImage | string | Yes | - | |
6562
- | dataTable | PdfTableData | No | - | |
6563
- | introduction | string | No | - | |
6564
- | localeText | LocaleText | No | - | |
6565
- | logo | string | No | - | |
6566
- | primaryColor | string | Yes | - | |
5098
+ | data | JSONArray | Yes | - | Dataset that will be share across every components within the dashboard. |
5099
+ | dataGridApiRef | MutableRefObject<GridApiPremium \| null> | No | - | Datagrid API Ref. MUI v8: can be null initially. |
6567
5100
 
6568
5101
  ---
6569
5102
 
6570
- ### PdfExportButton
5103
+ ### DataCard
6571
5104
 
6572
5105
  **Package:** @redsift/dashboard
6573
- **File:** packages/dashboard/src/components/PdfExportButton/PdfExportButton.tsx
5106
+ **File:** packages/dashboard/src/components/DataCard/DataCard.tsx
6574
5107
 
6575
5108
  #### Props
6576
5109
 
6577
5110
  | Prop | Type | Required | Default | Description |
6578
5111
  |------|------|----------|---------|-------------|
6579
- | componentRef | RefObject<HTMLElement> | No | - | Ref to the DOM component to export. By default, will be the ref to the parent Dashboard. |
6580
- | fileName | string | No | - | Name of the exported PDF file. |
6581
- | introduction | string | No | - | Text to display at the beginning of the PDF. |
6582
- | localeText | LocaleText | No | - | Labels and texts. |
6583
- | logo | string | No | - | Image to put at the top of the PDF (SVG format not supported). |
6584
- | onClick | () => void | No | - | Function to be executed when button is clicked. |
6585
- | primaryColor | string | No | - | Color used for the header and footer of the PDF. |
6586
- | color | string | No | 'primary' | Color variant. |
6587
- | fullWidth | false \| true | No | - | Whether the component take the full width or not. |
6588
- | isActive | false \| true | No | - | Whether the component is active or not. |
6589
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
6590
- | isHovered | false \| true | No | - | Whether the component is hovered or not. |
6591
- | isLoading | false \| true | No | - | Whether the component is in a loading state or not. |
6592
- | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
6593
- | leftIconProps | Omit<IconProps, "icon" \| "ref"> | No | - | Props to add to the left icon. |
6594
- | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
6595
- | rightIconProps | Omit<IconProps, "icon" \| "ref"> | No | - | Props to add to the right icon. |
6596
- | theme | "light" \| "dark" | No | - | Theme. |
6597
- | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
5112
+ | color | "error" \| "success" \| "warning" \| "info" | No | 'info' | Color variant for the card border. Maps to notification color tokens. |
5113
+ | isLoading | false \| true | No | - | Whether the card is in a loading state. When true, the header is hidden. |
6598
5114
 
6599
5115
  #### Layout Props (14 props)
6600
5116
 
@@ -6612,420 +5128,319 @@ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`,
6612
5128
 
6613
5129
  Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6614
5130
 
6615
- ---
6616
-
6617
- ### TimeSeriesBarChart
6618
-
6619
- **Package:** @redsift/dashboard
6620
- **File:** packages/dashboard/src/components/TimeSeriesBarChart/TimeSeriesBarChart.tsx
6621
-
6622
- #### Props
6623
-
6624
- | Prop | Type | Required | Default | Description |
6625
- |------|------|----------|---------|-------------|
6626
- | caption | string | No | - | Caption. |
6627
- | areXLabelsRotated | false \| true | No | - | Whether the x axis labels are rotated or not. |
6628
- | columnToFilter | string | No | - | Field value of the DataGrid column to filter. |
6629
- | data | JSONArray | No | - | Dataset to use to generate the chart, if no context is provided. |
6630
- | dateTimeFieldName | string | Yes | - | Name of the dataset field that contains the datetime value. |
6631
- | dateTimeFormat | string | No | - | Format used for the date and time values in the dataset by d3.js. Should follow https://github.com/d3/d3-time-format#locale_format. |
6632
- | dateTimeGroup | "hour" \| "day" \| "week" \| "month" \| "year" | No | 'month' | Datetime unit to used to group values and for x units. |
6633
- | dimension | DimensionSelector | Yes | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6634
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6635
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6636
- | onFilter | (filters?: string[] \| undefined, allFiltered?: JSONArray \| undefined) => void | No | - | Method to call when a filter occured on the chart. |
6637
- | size | "small" \| "large" \| "medium" | No | 'medium' | TimeSeriesChart size. |
6638
- | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
6639
- | title | string | No | - | Title. |
6640
- | stackedCategory | string | No | - | Dataset key to use to stack values. |
6641
- | xAxisLabel | string | No | - | X Axis Label. |
6642
- | yAxisLabel | string | No | - | Y Axis Label. |
6643
-
6644
- ---
6645
-
6646
- ### WithFilters
6647
-
6648
- **Package:** @redsift/dashboard
6649
- **File:** packages/dashboard/src/components/WithFilters/WithFilters.tsx
6650
-
6651
- #### Props
6652
-
6653
- | Prop | Type | Required | Default | Description |
6654
- |------|------|----------|---------|-------------|
6655
- | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
6656
- | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
6657
- | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
6658
- | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
6659
- | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
6660
- | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
6661
- | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
6662
- | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
6663
- | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
6664
- | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
6665
-
6666
- ---
6667
-
6668
- ## Package: @redsift/products
6669
-
6670
- ### ChartSankey
6671
-
6672
- Wrapper component that provides a React-friendly unique ID via useId()
6673
- instead of using a global counter variable.
6674
-
6675
- **Package:** @redsift/products
6676
- **File:** packages/products/src/components/signal-cards/components/charts/ChartSankey.tsx
6677
-
6678
- ---
6679
-
6680
- ### CheckBox
6681
-
6682
- **Package:** @redsift/products
6683
- **File:** packages/products/src/components/signal-cards/components/ui/CheckBox.tsx
6684
-
6685
- ---
6686
-
6687
- ### ChecklistContainer
6688
-
6689
- **Package:** @redsift/products
6690
- **File:** packages/products/src/components/signal-cards/components/ui/Checklist/Checklist.tsx
6691
-
6692
- ---
6693
-
6694
- ### ChecklistRenderer
6695
-
6696
- ChecklistRenderer - Renders categorized checklists within DetailedCard sections
6697
-
6698
- Extracted from SignalCardNormal to improve code organization.
6699
- Used by VMCCertificate, SafeSVG, and other checklist-based sections.
6700
-
6701
- **Package:** @redsift/products
6702
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/ChecklistRenderer.tsx
5131
+ #### Usage Rules
6703
5132
 
6704
- #### Props
5133
+ - ⚠️ DataCard.Header, DataCard.Body, and DataCard.Listbox must be direct children of <DataCard>. Never nest them inside each other (e.g. Listbox inside Body) — nesting doubles margins and breaks layout.
5134
+ - ⚠️ Use DataCard.Body for static/link DataRow children. Use DataCard.Listbox for interactive filter-selection DataRow children. Do not combine both in one DataCard.
5135
+ - ⚠️ The `slot` prop is not supported. Do not pass slot="heading" or similar — use the compound sub-component API instead.
6705
5136
 
6706
- | Prop | Type | Required | Default | Description |
6707
- |------|------|----------|---------|-------------|
6708
- | infoItemsCategories | any[] | Yes | - | Array of category objects containing items to render. Accepts any[] for backwards compatibility with existing prop types. |
6709
- | isCollapsible | false \| true | No | true | Whether sections are collapsible |
6710
- | areAllCollapsed | false \| true | No | - | Whether all sections are collapsed |
6711
- | t | (key: string) => string | Yes | - | Translation function for captions |
5137
+ #### Disambiguation
6712
5138
 
6713
- ---
5139
+ ⚠️ DataCard is a purpose-built KPI/metric tile from @redsift/dashboard. This is the correct component 9 out of 10 times when building "a card with a big number" or "summary cards above a grid". Do NOT use Card or DetailedCard for this.
6714
5140
 
6715
- ### DeliverabilityDescriptionContainer
5141
+ #### Common Anti-Patterns
6716
5142
 
6717
- **Package:** @redsift/products
6718
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/components/CardDescriptionStyles.tsx
5143
+ - ❌ <Card style={{ borderLeft: "4px solid green" }}> for KPI tiles → ✅ <DataCard color="success"> — DataCard is purpose-built for metric tiles.
6719
5144
 
6720
5145
  ---
6721
5146
 
6722
- ### Dialog
5147
+ ### DataCardBody
6723
5148
 
6724
- RadarDialog displays Radar AI interactions in a branded modal dialog.
6725
- Pre-styled with Radar branding, scatter grid background, and pulsing animation.
5149
+ DataCardBody is the main content area of a DataCard.
5150
+ Typically contains DataRow children.
6726
5151
 
6727
- **Package:** @redsift/products
6728
- **File:** packages/products/src/components/radar-dialog/RadarDialog.tsx
5152
+ When `columns` is set, children are laid out in a CSS Grid with size-aware spanning:
5153
+ - `large` DataRows claim their own column and span all rows
5154
+ - Other DataRows fill remaining columns evenly
5155
+
5156
+ **Package:** @redsift/dashboard
5157
+ **File:** packages/dashboard/src/components/DataCardBody/DataCardBody.tsx
6729
5158
 
6730
5159
  #### Props
6731
5160
 
6732
5161
  | Prop | Type | Required | Default | Description |
6733
5162
  |------|------|----------|---------|-------------|
6734
- | color | string | No | - | Button color that will be forward to the trigger. |
6735
- | children | ReactNode | Yes | - | Children. Can only be DialogTrigger and DialogContent. |
6736
- | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
6737
- | hasCloseButton | false \| true | No | true | Whether the Close icon button is displayed or not. |
6738
- | initialFocus | number \| MutableRefObject<HTMLElement \| null> \| "header" \| "body" \| "actions" | No | - | Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. |
6739
- | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
6740
- | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
6741
- | size | "small" \| "medium" \| "large" \| "xlarge" \| { width?: string \| undefined; maxWidth?: string \| undefined; minWidth?: string \| undefined; } | No | 'medium' | Dialog size. |
6742
- | theme | "light" \| "dark" | No | - | Theme. |
6743
- | triggerClassName | string | No | - | Class name to append to the trigger. |
6744
-
6745
- ---
5163
+ | columns | number | No | - | Number of columns for multi-column layout. When set, children are laid out in a CSS Grid. |
5164
+ | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5165
+ | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5166
+ | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5167
+ | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5168
+ | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5169
+ | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5170
+ | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5171
+ | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5172
+ | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5173
+ | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
6746
5174
 
6747
- ### Dialog
5175
+ #### Layout Props (12 props)
6748
5176
 
6749
- **Package:** @redsift/products
6750
- **File:** packages/products/src/components/radar-dialog/RadarSimpleDialog.tsx
5177
+ Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
6751
5178
 
6752
- #### Props
5179
+ #### Spacing Props (10 props)
6753
5180
 
6754
- | Prop | Type | Required | Default | Description |
6755
- |------|------|----------|---------|-------------|
6756
- | color | string | No | - | Button color that will be forward to the trigger. |
6757
- | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
6758
- | hasCloseButton | false \| true | No | true | Whether the Close icon button is displayed or not. |
6759
- | initialFocus | number \| "body" \| "header" \| MutableRefObject<HTMLElement \| null> \| "actions" | No | - | Which element to initially focus. Can be either a number (tabbable index), a ref to en element, or a shortcut pointing towards a section of the dialog. See the accessibility section in the documentation to know which one to use. |
6760
- | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
6761
- | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
6762
- | size | "small" \| "medium" \| "large" \| "xlarge" \| { width?: string \| undefined; maxWidth?: string \| undefined; minWidth?: string \| undefined; } | No | 'medium' | Dialog size. |
6763
- | theme | "light" \| "dark" | No | - | Theme. |
6764
- | triggerClassName | string | No | - | Class name to append to the trigger. |
5181
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
6765
5182
 
6766
- ---
5183
+ #### Sizing Props (6 props)
6767
5184
 
6768
- ### DmarcPromoBanner
5185
+ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6769
5186
 
6770
- Promotional banner for OnDMARC displayed at the top of the DMARC signal card.
6771
- When useInvestigateColors is true, uses website button tokens (matching SignalCardButton).
6772
- When false, uses the DS Button component.
6773
- Text uses CSS variables (--sc-font-body, --sc-text-color) which adapt based on the theme.
5187
+ #### Positioning Props (6 props)
6774
5188
 
6775
- **Package:** @redsift/products
6776
- **File:** packages/products/src/components/signal-cards/cards/SignalCardDmarc/DmarcPromoBanner.tsx
5189
+ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6777
5190
 
6778
- #### Props
5191
+ #### Usage Rules
6779
5192
 
6780
- | Prop | Type | Required | Default | Description |
6781
- |------|------|----------|---------|-------------|
6782
- | text | string | Yes | - | Translated banner text |
6783
- | buttonLabel | string | Yes | - | Translated button label |
6784
- | useInvestigateColors | false \| true | No | false | Use Investigate-specific styling for the button. When false, uses DS Button. |
6785
- | href | string | No | https://iam.redsift.cloud/signup?redirectapp=cloud&product=ondmarc | Override the button href (e.g. to add UTM parameters). Defaults to the OnDMARC signup URL. |
5193
+ - ⚠️ Must be a direct child of <DataCard>. Do not place DataCard.Listbox or DataCard.Header inside DataCard.Body.
5194
+ - ⚠️ Children should be <DataRow> components.
6786
5195
 
6787
5196
  ---
6788
5197
 
6789
- ### DmarcSummaryBoxes
6790
-
6791
- DmarcSummaryBoxes renders two side-by-side summary boxes for the DMARC card.
6792
-
6793
- - Box 1 ("Email: Compliance") summarises whether the specific email passed DMARC.
6794
- Hidden in domain-analyzer mode (no email to evaluate) and when result is an error.
6795
- - Box 2 ("Domain: Policy") summarises the domain's DMARC policy strength. Always shown.
5198
+ ### DataCardHeader
6796
5199
 
6797
- On smaller viewports (≤765px) the boxes stack vertically.
5200
+ DataCardHeader displays an icon and title that floats on top of
5201
+ the DataCard border. Optionally wraps in a Tooltip.
6798
5202
 
6799
- **Package:** @redsift/products
6800
- **File:** packages/products/src/components/signal-cards/cards/SignalCardDmarc/DmarcSummaryBoxes.tsx
5203
+ **Package:** @redsift/dashboard
5204
+ **File:** packages/dashboard/src/components/DataCardHeader/DataCardHeader.tsx
6801
5205
 
6802
5206
  #### Props
6803
5207
 
6804
5208
  | Prop | Type | Required | Default | Description |
6805
5209
  |------|------|----------|---------|-------------|
6806
- | dmarc | undefined \| DmarcProps | Yes | - | |
6807
- | isDomainAnalyzer | false \| true | No | false | |
6808
- | cardType | "warning" \| "good" \| "danger" \| "info" \| "unknown" | No | - | Card-level status from signal-logic. Used to distinguish permerror sub-cases (rua present → warning, no rua → danger). |
6809
- | t | (key: string, params?: Record<string, unknown> \| undefined) => string | Yes | - | |
5210
+ | icon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | Yes | - | Can be a string or an array of strings containing `d` property of the `path` SVG element. Can also be a ReactElement. |
5211
+ | title | string | Yes | - | Title text displayed in the header. |
5212
+ | tooltip | string | No | - | Optional tooltip text displayed on hover. |
6810
5213
 
6811
- ---
5214
+ #### Layout Props (14 props)
5215
+
5216
+ Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
6812
5217
 
6813
- ### ExpandableDescription
5218
+ #### Spacing Props (5 props)
6814
5219
 
6815
- ExpandableDescription - Isolated description component with its own state
6816
- to prevent parent re-renders when toggling description visibility.
5220
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
6817
5221
 
6818
- **Package:** @redsift/products
6819
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/ExpandableDescription.tsx
5222
+ #### Sizing Props (6 props)
6820
5223
 
6821
- #### Props
5224
+ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6822
5225
 
6823
- | Prop | Type | Required | Default | Description |
6824
- |------|------|----------|---------|-------------|
6825
- | shortDescription | ReactNode | Yes | - | |
6826
- | additionalDescription | ReactNode | No | - | |
6827
- | hasAdditionalContent | false \| true | Yes | - | |
6828
- | showShowMoreButton | false \| true | Yes | - | |
6829
- | showCTAButton | false \| true | Yes | - | |
6830
- | onCTAButtonClick | () => void | No | - | |
6831
- | ctaButtonName | string | No | - | |
6832
- | t | TranslationFn | Yes | - | |
6833
- | onHeightChange | () => void | No | - | |
6834
- | useInvestigateColors | false \| true | No | - | |
5226
+ #### Positioning Props (6 props)
6835
5227
 
6836
- ---
5228
+ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6837
5229
 
6838
- ### ExtractedCategoryContent
5230
+ #### Usage Rules
6839
5231
 
6840
- **Package:** @redsift/products
6841
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/SignalCardExtractedItems.tsx
5232
+ - ⚠️ Must be a direct child of <DataCard>, not nested inside DataCard.Body or DataCard.Listbox.
6842
5233
 
6843
5234
  ---
6844
5235
 
6845
- ### ExtractedItem
5236
+ ### DataCardListbox
6846
5237
 
6847
- **Package:** @redsift/products
6848
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/SignalCardExtractedItems.tsx
5238
+ DataCardListbox is a styled Listbox for use inside a DataCard.
5239
+ Designed to hold DataRow children for filter-selection interactions.
5240
+
5241
+ When `columns` is set, children are laid out in a CSS Grid with size-aware spanning:
5242
+ - `large` DataRows claim their own column and span all rows
5243
+ - Other DataRows fill remaining columns evenly
5244
+
5245
+ **Package:** @redsift/dashboard
5246
+ **File:** packages/dashboard/src/components/DataCardListbox/DataCardListbox.tsx
6849
5247
 
6850
5248
  #### Props
6851
5249
 
6852
5250
  | Prop | Type | Required | Default | Description |
6853
5251
  |------|------|----------|---------|-------------|
6854
- | type | any | Yes | - | |
6855
- | theme | any | Yes | - | |
6856
- | label | any | Yes | - | |
6857
- | text | any | Yes | - | |
6858
- | inline | false \| true | No | true | |
6859
- | useCodeBlock | false \| true | No | false | |
6860
- | extractionBox | { caption?: ExtractionCaptionType \| undefined; } | No | - | |
6861
-
6862
- ---
6863
-
6864
- ### ExtractionBox
5252
+ | columns | number | No | - | Number of columns for multi-column layout. When set, children are laid out in a CSS Grid. |
5253
+ | defaultValues | string[] | No | - | Default selected values. Used for uncontrolled version. |
5254
+ | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
5255
+ | isInvalid | false \| true | No | - | Whether the component is invalid or not. |
5256
+ | isReadOnly | false \| true | No | - | Whether the component is read only or not. |
5257
+ | isRequired | false \| true | No | - | Whether the component is required or not. |
5258
+ | label | string | No | - | Label of the switch group. |
5259
+ | onChange | (values: string[]) => void | No | - | Method to handle component change. |
5260
+ | selectionMode | "single" \| "multiple" | No | 'single' | Whether the listbox allows multiple selections or single ones. |
5261
+ | values | string[] | No | - | Currently selected values. Used for controlled version. |
5262
+ | variant | "standalone" \| "unstyled" | No | 'standalone' | Whether the Listbox is used as standalone or is unstyled within another component. |
5263
+ | display | "inline" \| "inherit" \| "grid" \| "block" \| "inline-block" \| "flex" \| "inline-flex" \| "inline-grid" | No | - | Sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/display">MDN</a>. |
5264
+ | background | string | No | - | The background shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. Component properties not set in the background shorthand property value declaration are set to their default values. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background">MDN</a>. |
5265
+ | backgroundColor | string | No | - | The background-color CSS property sets the background color of an element. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-color">MDN</a>. |
5266
+ | border | string | No | - | The border shorthand CSS property sets an element's border. It sets the values of border-width, border-style, and border-color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border">MDN</a>. |
5267
+ | borderTop | string | No | - | The border-top CSS property sets all the properties of an element's top border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-top">MDN</a>. |
5268
+ | borderBottom | string | No | - | The border-top CSS property sets all the properties of an element's bottom border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom">MDN</a>. |
5269
+ | borderLeft | string | No | - | The border-top CSS property sets all the properties of an element's left border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-left">MDN</a>. Consider using start instead for RTL support. |
5270
+ | borderRight | string | No | - | The border-top CSS property sets all the properties of an element's right border. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-right">MDN</a>. Consider using start instead for RTL support. |
5271
+ | borderRadius | string | No | - | The border-radius CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius">MDN</a>. |
5272
+ | boxShadow | string | No | - | The box-shadow CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. See <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow">MDN</a>. |
6865
5273
 
6866
- **Package:** @redsift/products
6867
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/components/InfoSectionStyles.tsx
5274
+ #### Layout Props (12 props)
6868
5275
 
6869
- ---
5276
+ Inherits standard layout props: `alignContent`, `alignItems`, `flexDirection`, `flexWrap`, `gap`, `justifyContent`, `gridAutoColumns`, `gridAutoRows`, `gridTemplateAreas`, `gridTemplateColumns`, `gridTemplateRows`, `justifyItems`
6870
5277
 
6871
- ### GlossaryTag
5278
+ #### Spacing Props (10 props)
6872
5279
 
6873
- **Package:** @redsift/products
6874
- **File:** packages/products/src/components/signal-cards/components/ui/GlossaryTag/GlossaryTag.tsx
5280
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`, `padding`, `paddingBottom`, `paddingLeft`, `paddingRight`, `paddingTop`
6875
5281
 
6876
- ---
5282
+ #### Sizing Props (6 props)
6877
5283
 
6878
- ### IconContainer
5284
+ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6879
5285
 
6880
- **Package:** @redsift/products
6881
- **File:** packages/products/src/components/signal-cards/components/ui/Icons/containers/IconContainer.tsx
5286
+ #### Positioning Props (6 props)
6882
5287
 
6883
- ---
5288
+ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6884
5289
 
6885
- ### InfoItemContainer
5290
+ #### Usage Rules
6886
5291
 
6887
- **Package:** @redsift/products
6888
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/components/InfoItemElements.tsx
5292
+ - ⚠️ Must be a direct child of <DataCard>. Do not place DataCard.Body or DataCard.Header inside DataCard.Listbox.
5293
+ - ⚠️ Children should be <DataRow> components with onClick and hasFilterIcon for drilldown interactions.
6889
5294
 
6890
5295
  ---
6891
5296
 
6892
- ### LazyChartSankey
5297
+ ### DataRow
5298
+
5299
+ DataRow displays a formatted number alongside a legend label.
5300
+ When `href` is provided, it renders as a clickable link.
5301
+ Otherwise, it renders as a static display.
6893
5302
 
6894
- Lazy-loaded Sankey chart that defers D3 bundle loading until render.
5303
+ Use `as` to provide a custom link component (e.g., React Router's Link).
6895
5304
 
6896
- **Package:** @redsift/products
6897
- **File:** packages/products/src/components/signal-cards/components/charts/LazyChartSankey.tsx
5305
+ **Package:** @redsift/dashboard
5306
+ **File:** packages/dashboard/src/components/DataRow/DataRow.tsx
6898
5307
 
6899
5308
  #### Props
6900
5309
 
6901
5310
  | Prop | Type | Required | Default | Description |
6902
5311
  |------|------|----------|---------|-------------|
6903
- | data | SankeyData | Yes | - | |
6904
- | options | ChartSankeyOptions | No | - | |
6905
- | fallback | ReactNode | No | - | Fallback to show while loading. Defaults to a placeholder with matching dimensions. |
6906
-
6907
- ---
6908
-
6909
- ### MemoizedSankeyChart
6910
-
6911
- **Package:** @redsift/products
6912
- **File:** packages/products/src/components/signal-cards/cards/SignalCardFcrdns/MemoizedSankeyChart.tsx
5312
+ | as | "symbol" \| "object" \| "div" \| "a" \| "abbr" \| "address" \| "area" \| "article" \| "aside" \| "audio" \| "b" \| "base" \| "bdi" \| "bdo" \| "big" \| "blockquote" \| "body" \| "br" \| "button" \| "canvas" \| "caption" \| "cite" \| "code" \| "col" \| "colgroup" \| "data" \| "datalist" \| "dd" \| "del" \| "details" \| "dfn" \| "dialog" \| "dl" \| "dt" \| "em" \| "embed" \| "fieldset" \| "figcaption" \| "figure" \| "footer" \| "form" \| "h1" \| "h2" \| "h3" \| "h4" \| "h5" \| "h6" \| "head" \| "header" \| "hgroup" \| "hr" \| "html" \| "i" \| "iframe" \| "img" \| "input" \| "ins" \| "kbd" \| "keygen" \| "label" \| "legend" \| "li" \| "link" \| "main" \| "map" \| "mark" \| "menu" \| "menuitem" \| "meta" \| "meter" \| "nav" \| "noindex" \| "noscript" \| "ol" \| "optgroup" \| "option" \| "output" \| "p" \| "param" \| "picture" \| "pre" \| "progress" \| "q" \| "rp" \| "rt" \| "ruby" \| "s" \| "samp" \| "slot" \| "script" \| "section" \| "select" \| "small" \| "source" \| "span" \| "strong" \| "style" \| "sub" \| "summary" \| "sup" \| "table" \| "template" \| "tbody" \| "td" \| "textarea" \| "tfoot" \| "th" \| "thead" \| "time" \| "title" \| "tr" \| "track" \| "u" \| "ul" \| "var" \| "video" \| "wbr" \| "webview" \| "svg" \| "animate" \| "animateMotion" \| "animateTransform" \| "circle" \| "clipPath" \| "defs" \| "desc" \| "ellipse" \| "feBlend" \| "feColorMatrix" \| "feComponentTransfer" \| "feComposite" \| "feConvolveMatrix" \| "feDiffuseLighting" \| "feDisplacementMap" \| "feDistantLight" \| "feDropShadow" \| "feFlood" \| "feFuncA" \| "feFuncB" \| "feFuncG" \| "feFuncR" \| "feGaussianBlur" \| "feImage" \| "feMerge" \| "feMergeNode" \| "feMorphology" \| "feOffset" \| "fePointLight" \| "feSpecularLighting" \| "feSpotLight" \| "feTile" \| "feTurbulence" \| "filter" \| "foreignObject" \| "g" \| "image" \| "line" \| "linearGradient" \| "marker" \| "mask" \| "metadata" \| "mpath" \| "path" \| "pattern" \| "polygon" \| "polyline" \| "radialGradient" \| "rect" \| "stop" \| "switch" \| "text" \| "textPath" \| "tspan" \| "use" \| "view" \| "center" \| "search" \| ComponentClass<any, any> \| FunctionComponent<any> | No | - | Prop to pass a custom react component instead of a simple HTML anchor (useful for Next.js or React Router Link component). |
5313
+ | filterIcon | string | No | mdiFilterVariantPlus | Optional icon path displayed as a filter action indicator. Shown when `hasFilterIcon` is true and `onClick` is provided. |
5314
+ | hasFilterIcon | false \| true | No | - | Whether the filter action icon is visible. When true and `onClick` is provided, shows the filter icon. |
5315
+ | isSelected | false \| true | No | - | Whether the row is visually selected. Only applies to the button variant (outside a Listbox). Inside a Listbox, selection is managed by the Listbox context. |
5316
+ | href | string | No | - | Navigation URL. When provided, the row renders as a link. |
5317
+ | isCentered | false \| true | No | - | Whether the content is centered within the row. |
5318
+ | isLoading | false \| true | No | - | Whether the row is in a loading state. Renders skeleton placeholders. |
5319
+ | legend | string | Yes | - | The label text displayed next to the number. |
5320
+ | rowIndex | null \| number | No | - | Row index for 2D grid keyboard navigation within a multi-column listbox. Injected by DataCardListbox when `columns` is set. |
5321
+ | size | "small" \| "xsmall" \| "medium" \| "large" | No | 'medium' | Size variant controlling font size, weight, height, and layout direction. |
5322
+ | labelDecorator | (label: string) => string | No | - | Optional transform function applied to the legend text before display. |
5323
+ | tooltip | string | No | - | Optional tooltip text displayed on hover (only for link variant). |
5324
+ | value | number | Yes | - | The numeric value to display. |
6913
5325
 
6914
- #### Props
5326
+ #### Layout Props (14 props)
6915
5327
 
6916
- | Prop | Type | Required | Default | Description |
6917
- |------|------|----------|---------|-------------|
6918
- | nodes | SankeyNode[] | Yes | - | |
6919
- | links | SankeyLink[] | Yes | - | |
6920
- | width | number | Yes | - | |
6921
- | height | number | Yes | - | |
6922
- | marginRight | number | Yes | - | |
6923
- | marginLeft | number | Yes | - | |
6924
- | marginBottom | number | Yes | - | |
6925
- | matchingPath | any | Yes | - | |
6926
- | chartId | string | Yes | - | |
5328
+ Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
6927
5329
 
6928
- ---
5330
+ #### Spacing Props (5 props)
6929
5331
 
6930
- ### MenuButton
5332
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
6931
5333
 
6932
- The RadarMenuButton component.
5334
+ #### Sizing Props (6 props)
6933
5335
 
6934
- **Package:** @redsift/products
6935
- **File:** packages/products/src/components/radar-menu-button/RadarMenuButton.tsx
5336
+ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
6936
5337
 
6937
- #### Props
5338
+ #### Positioning Props (6 props)
6938
5339
 
6939
- | Prop | Type | Required | Default | Description |
6940
- |------|------|----------|---------|-------------|
6941
- | color | string | No | - | Button color that will be forward to the trigger. |
6942
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description of the menu button. |
6943
- | descriptionProps | Omit<TextProps, "ref"> | No | - | Additional description properties. |
6944
- | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
6945
- | label | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Label of the menu button. |
6946
- | labelProps | Omit<TextProps, "ref"> | No | - | Additional label properties. |
6947
- | triggerClassName | string | No | - | Class name to append to the trigger. |
6948
- | variant | "primary" \| "secondary" \| "unstyled" | No | - | Button variant that will be forward to the trigger. |
6949
- | theme | "light" \| "dark" | No | - | Theme. |
6950
- | wrapperProps | Omit<FlexboxProps, "ref"> | No | - | Props to forward to the wrapper. |
6951
- | width | number \| "trigger-width" \| "available-width" | No | - | Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. |
6952
- | minWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. |
6953
- | maxWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. |
6954
- | children | ReactNode | Yes | - | Children. Can only be PopoverTrigger and PopoverContent. |
6955
- | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
6956
- | placement | "top" \| "bottom" \| "left" \| "right" \| "top-start" \| "top-end" \| "right-start" \| "right-end" \| "bottom-start" \| "bottom-end" \| "left-start" \| "left-end" | No | 'bottom' | Default placement of the popover. |
6957
- | isModal | false \| true | No | false | Whether the popover is a modal or not. |
6958
- | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
6959
- | offset | number | No | 2 | Space between trigger and content (in pixels). |
6960
- | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
6961
- | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
6962
- | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
5340
+ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
6963
5341
 
6964
5342
  ---
6965
5343
 
6966
- ### MenuButton
6967
-
6968
- The RadarSimpleMenuButton component.
5344
+ ### PdfExportButton
6969
5345
 
6970
- **Package:** @redsift/products
6971
- **File:** packages/products/src/components/radar-menu-button/RadarSimpleMenuButton.tsx
5346
+ **Package:** @redsift/dashboard
5347
+ **File:** packages/dashboard/src/components/PdfExportButton/PdfExportButton.tsx
6972
5348
 
6973
5349
  #### Props
6974
5350
 
6975
5351
  | Prop | Type | Required | Default | Description |
6976
5352
  |------|------|----------|---------|-------------|
6977
- | color | string | No | - | Button color that will be forward to the trigger. |
6978
- | description | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Description of the menu button. |
6979
- | descriptionProps | Omit<TextProps, "ref"> | No | - | Additional description properties. |
5353
+ | componentRef | RefObject<HTMLElement> | No | - | Ref to the DOM component to export. By default, will be the ref to the parent Dashboard. |
5354
+ | fileName | string | No | - | Name of the exported PDF file. |
5355
+ | introduction | string | No | - | Text to display at the beginning of the PDF. |
5356
+ | localeText | LocaleText | No | - | Labels and texts. |
5357
+ | logo | string | No | - | Image to put at the top of the PDF (SVG format not supported). |
5358
+ | onClick | () => void | No | - | Function to be executed when button is clicked. |
5359
+ | primaryColor | string | No | - | Color used for the header and footer of the PDF. |
5360
+ | color | string | No | 'primary' | Color variant. |
5361
+ | fullWidth | false \| true | No | - | Whether the component take the full width or not. |
5362
+ | isActive | false \| true | No | - | Whether the component is active or not. |
6980
5363
  | isDisabled | false \| true | No | - | Whether the component is disabled or not. |
6981
- | label | string \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Label of the menu button. |
6982
- | labelProps | Omit<TextProps, "ref"> | No | - | Additional label properties. |
6983
- | triggerClassName | string | No | - | Class name to append to the trigger. |
6984
- | variant | "primary" \| "secondary" \| "unstyled" | No | - | Button variant that will be forward to the trigger. |
5364
+ | isHovered | false \| true | No | - | Whether the component is hovered or not. |
5365
+ | isLoading | false \| true | No | - | Whether the component is in a loading state or not. |
5366
+ | leftIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
5367
+ | leftIconProps | Omit<IconProps, "icon" \| "ref"> | No | - | Props to add to the left icon. |
5368
+ | rightIcon | string \| string[] \| ReactElement<any, string \| JSXElementConstructor<any>> | No | - | Can be a string or an array of strings containing `d` property of the `path` SVG element.<br /> Can also be a ReactElement. |
5369
+ | rightIconProps | Omit<IconProps, "icon" \| "ref"> | No | - | Props to add to the right icon. |
6985
5370
  | theme | "light" \| "dark" | No | - | Theme. |
6986
- | wrapperProps | Omit<FlexboxProps, "ref"> | No | - | Props to forward to the wrapper. |
6987
- | width | number \| "trigger-width" \| "available-width" | No | - | Popover content width. Can be either based on the trigger, the available space or define with a number of pixels. |
6988
- | minWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content min width. Can be either based on the trigger, the available space or define with a number of pixels. |
6989
- | maxWidth | number \| "trigger-width" \| "available-width" | No | - | Popover content max width. Can be either based on the trigger, the available space or define with a number of pixels. |
6990
- | defaultOpen | false \| true | No | - | Default open status. Used for uncontrolled version. |
6991
- | placement | "top" \| "bottom" \| "left" \| "right" \| "top-start" \| "top-end" \| "right-start" \| "right-end" \| "bottom-start" \| "bottom-end" \| "left-start" \| "left-end" | No | 'bottom' | Default placement of the popover. |
6992
- | isModal | false \| true | No | false | Whether the popover is a modal or not. |
6993
- | isOpen | false \| true | No | - | Whether the component is opened or not. Used for controlled version. |
6994
- | offset | number | No | 2 | Space between trigger and content (in pixels). |
6995
- | onOpen | (open: boolean) => void | No | - | Method to handle component change. |
6996
- | overrideDisplayName | { content?: string \| undefined; trigger?: string \| undefined; } | No | - | Allows other components to be treated as trigger and content. |
6997
- | role | "dialog" \| "menu" \| "listbox" | No | - | Role to apply to the popover. |
5371
+ | variant | "primary" \| "secondary" \| "unstyled" | No | 'primary' | Button variant. |
5372
+
5373
+ #### Layout Props (14 props)
5374
+
5375
+ Inherits standard layout props: `flex`, `flexGrow`, `flexShrink`, `flexBasis`, `alignSelf`, `justifySelf`, `order`, `gridArea`, `gridColumn`, `gridRow`, `gridColumnStart`, `gridColumnEnd`, `gridRowStart`, `gridRowEnd`
5376
+
5377
+ #### Spacing Props (5 props)
6998
5378
 
6999
- ---
5379
+ Inherits standard spacing props: `margin`, `marginBottom`, `marginLeft`, `marginRight`, `marginTop`
5380
+
5381
+ #### Sizing Props (6 props)
7000
5382
 
7001
- ### OpenInNewTabIcon
5383
+ Inherits standard sizing props: `height`, `maxHeight`, `maxWidth`, `minHeight`, `minWidth`, `width`
7002
5384
 
7003
- **Package:** @redsift/products
7004
- **File:** packages/products/src/components/signal-cards/components/ui/Icons/OpenInNewTabIcon.tsx
5385
+ #### Positioning Props (6 props)
5386
+
5387
+ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right`, `zIndex`
7005
5388
 
7006
5389
  ---
7007
5390
 
7008
- ### Portal
5391
+ ### TimeSeriesBarChart
7009
5392
 
7010
- **Package:** @redsift/products
7011
- **File:** packages/products/src/components/signal-cards/components/ui/Portal/Portal.tsx
5393
+ **Package:** @redsift/dashboard
5394
+ **File:** packages/dashboard/src/components/TimeSeriesBarChart/TimeSeriesBarChart.tsx
7012
5395
 
7013
5396
  #### Props
7014
5397
 
7015
5398
  | Prop | Type | Required | Default | Description |
7016
5399
  |------|------|----------|---------|-------------|
7017
- | onClickOutside | () => void | No | () => {} | |
7018
- | rootId | string | No | portal-root | |
5400
+ | caption | string | No | - | Caption. |
5401
+ | areXLabelsRotated | false \| true | No | - | Whether the x axis labels are rotated or not. |
5402
+ | columnToFilter | string | No | - | Field value of the DataGrid column to filter. |
5403
+ | data | JSONArray | No | - | Dataset to use to generate the chart, if no context is provided. |
5404
+ | dateTimeFieldName | string | Yes | - | Name of the dataset field that contains the datetime value. |
5405
+ | dateTimeFormat | string | No | - | Format used for the date and time values in the dataset by d3.js. Should follow https://github.com/d3/d3-time-format#locale_format. |
5406
+ | dateTimeGroup | "hour" \| "day" \| "week" \| "month" \| "year" | No | 'month' | Datetime unit to used to group values and for x units. |
5407
+ | dimension | DimensionSelector | Yes | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
5408
+ | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
5409
+ | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
5410
+ | onFilter | (filters?: string[] \| undefined, allFiltered?: JSONArray \| undefined) => void | No | - | Method to call when a filter occured on the chart. |
5411
+ | size | "small" \| "large" \| "medium" | No | 'medium' | TimeSeriesChart size. |
5412
+ | colorTheme | "default" \| "dark" \| "darker" \| "darkerer" \| "light" \| "lighter" \| "lighterer" \| "monochrome" \| SuccessDangerColorTheme | No | - | Color palette to use. You can choose among the list of available color palette or also choose to use the success/warning/danger theme for which you have to specify which key corresponds to which status. |
5413
+ | title | string | No | - | Title. |
5414
+ | stackedCategory | string | No | - | Dataset key to use to stack values. |
5415
+ | xAxisLabel | string | No | - | X Axis Label. |
5416
+ | yAxisLabel | string | No | - | Y Axis Label. |
7019
5417
 
7020
5418
  ---
7021
5419
 
7022
- ### PulsedRadarImage
5420
+ ### WithFilters
5421
+
5422
+ **Package:** @redsift/dashboard
5423
+ **File:** packages/dashboard/src/components/WithFilters/WithFilters.tsx
7023
5424
 
7024
- **Package:** @redsift/products
7025
- **File:** packages/products/src/components/radar-dialog/PulsedRadarImage.tsx
5425
+ #### Props
5426
+
5427
+ | Prop | Type | Required | Default | Description |
5428
+ |------|------|----------|---------|-------------|
5429
+ | datagridCategoryDimFilter | CategoryFilterType | No | - | In case of a chart based on one dimension (category), which datagrid column the chart is filtering and using which operator. |
5430
+ | datagridCoordinatesCategoryDimFilter | [CoordinateFilterType, CoordinateFilterType] \| [CoordinateFilterType, CoordinateFilterType, CategoryFilterType] | No | - | In case of a chart based on two dimension coordinates (x, y), which datagrid columns the chart is filtering. |
5431
+ | dimension | DimensionSelector | No | - | Method that will be used by crossfilter to compute the dimensions of the charts. |
5432
+ | field | string | No | - | Shorthand field name to filter on. Used by DataCard to create a crossfilter dimension from `(d) => d[field]`. When provided, `dimension` is derived automatically. `datagridCategoryDimFilter` must still be provided explicitly for DataGrid sync. |
5433
+ | group | (d: Dimension) => Group | No | - | Method that will be used by crossfilter to compute the groups of the charts. |
5434
+ | isDimensionArray | false \| true | No | - | Whether the dimension field is an array or not. |
5435
+ | isResetable | false \| true | No | - | Whether the reset button is hidden or not. |
5436
+ | localeText | LocaleText | No | - | Overriden values for internal labels and texts. |
5437
+ | onFilter | (filters?: any) => void | No | - | Method to call when a filter occured on the chart. |
5438
+ | syncMode | "one-way" \| "two-way" | No | 'two-way' | Sync mode for DataCard filters. - `'one-way'`: Card clicks push filters to the DataGrid. DataGrid filter changes do NOT update the card. - `'two-way'`: Card clicks push filters to the DataGrid AND DataGrid filter changes update the card selection. |
7026
5439
 
7027
5440
  ---
7028
5441
 
5442
+ ## Package: @redsift/products
5443
+
7029
5444
  ### RadarButton
7030
5445
 
7031
5446
  RadarButton is a pre-styled button for Radar AI features.
@@ -7122,45 +5537,6 @@ Inherits standard positioning props: `position`, `top`, `bottom`, `left`, `right
7122
5537
 
7123
5538
  ---
7124
5539
 
7125
- ### RecommendationsSummary
7126
-
7127
- **Package:** @redsift/products
7128
- **File:** packages/products/src/components/signal-cards/cards/SignalCardList/RecommendationsSummary.tsx
7129
-
7130
- #### Props
7131
-
7132
- | Prop | Type | Required | Default | Description |
7133
- |------|------|----------|---------|-------------|
7134
- | recommendations | null \| RecommendationsData | No | - | AI recommendations data |
7135
- | loading | false \| true | No | false | Whether recommendations are loading |
7136
- | cta | CTAData | No | - | Structured CTA data for the call-to-action card |
7137
- | onExpandSignalCard | (signalType: string) => void | No | - | Callback when user clicks "See more details" on a status card |
7138
-
7139
- ---
7140
-
7141
- ### SignalCard
7142
-
7143
- SignalCard is the visual wrapper component for signal cards.
7144
- Provides card structure with header (icon + title) and body content area.
7145
-
7146
- **Package:** @redsift/products
7147
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/SignalCard.tsx
7148
-
7149
- #### Props
7150
-
7151
- | Prop | Type | Required | Default | Description |
7152
- |------|------|----------|---------|-------------|
7153
- | title | ReactNode | No | - | Card title displayed in header (can be string or React element). |
7154
- | cardType | string | No | - | Card status type determining icon and color (good/warning/danger/unknown). |
7155
- | cardTheme | "EMAIL" \| "DNS" | No | - | Card theme for styling variations. |
7156
- | icon | ReactNode | No | - | Custom icon to display in header. If not provided, icon is determined by cardType. |
7157
- | bannerVariant | "standard" \| "condensed" \| "none" | No | 'none' | Banner display mode. - 'standard': Full 100px banner with centered icon (for XMasonry layouts like BIMI Checker, Domain Analyzer) - 'condensed': Minimal colored strip - 'none': No banner, icon appears next to card title (default) |
7158
- | bannerColor | string | No | - | Color for the banner. Only used when bannerVariant is 'standard' or 'condensed'. |
7159
- | children | ReactNode | No | - | Card content rendered in the body section. |
7160
- | useInvestigateColors | false \| true | No | false | Use Investigate product-specific hardcoded colors and fonts instead of Design System CSS variables. Set to true for Investigate website/product. Defaults to false (Design System colors). |
7161
-
7162
- ---
7163
-
7164
5540
  ### SignalCardAmp
7165
5541
 
7166
5542
  SignalCardAmp Component
@@ -7214,13 +5590,6 @@ BIMI record validation, VMC certificate details, and SVG logo validation.
7214
5590
 
7215
5591
  ---
7216
5592
 
7217
- ### SignalCardButton
7218
-
7219
- **Package:** @redsift/products
7220
- **File:** packages/products/src/components/signal-cards/cards/components/SignalCardButton.tsx
7221
-
7222
- ---
7223
-
7224
5593
  ### SignalCardDkim
7225
5594
 
7226
5595
  **Package:** @redsift/products
@@ -7346,45 +5715,6 @@ DNSSEC adds cryptographic signatures to DNS data to ensure authenticity and inte
7346
5715
 
7347
5716
  ---
7348
5717
 
7349
- ### SignalCardErrorBoundary
7350
-
7351
- Error boundary component for Signal Cards.
7352
-
7353
- Catches errors in signal card rendering and displays a user-friendly fallback
7354
- instead of crashing the entire UI. Logs errors to help with debugging.
7355
-
7356
- **Package:** @redsift/products
7357
- **File:** packages/products/src/components/signal-cards/components/ErrorBoundary/SignalCardErrorBoundary.tsx
7358
-
7359
- #### Props
7360
-
7361
- | Prop | Type | Required | Default | Description |
7362
- |------|------|----------|---------|-------------|
7363
- | children | ReactNode | Yes | - | Children components to wrap |
7364
- | signalType | string | No | - | Optional signal type for error context |
7365
- | fallback | ReactNode | No | - | Optional custom fallback component |
7366
- | onError | (error: Error, errorInfo: ErrorInfo) => void | No | - | Optional callback when error is caught |
7367
- | resetKey | string \| number | No | - | Optional key to reset the error boundary. When this key changes, the error boundary resets and attempts to re-render children. Useful for retry mechanisms or when underlying data changes. |
7368
-
7369
- ---
7370
-
7371
- ### SignalCardExtractedItems
7372
-
7373
- **Package:** @redsift/products
7374
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/SignalCardExtractedItems.tsx
7375
-
7376
- #### Props
7377
-
7378
- | Prop | Type | Required | Default | Description |
7379
- |------|------|----------|---------|-------------|
7380
- | extractedItemsCategories | any[] | No | - | |
7381
- | extractedItems | null \| any[] | No | - | |
7382
- | defaultTitle | null \| string | No | - | |
7383
- | isCollapsible | false \| true | No | - | |
7384
- | areAllCollapsed | false \| true | No | - | |
7385
-
7386
- ---
7387
-
7388
5718
  ### SignalCardFcrdns
7389
5719
 
7390
5720
  SignalCardFcrdns Component
@@ -7445,13 +5775,6 @@ Shows authentication (SPF, DKIM, DMARC), alignment, FCrDNS, TLS, and one-click u
7445
5775
 
7446
5776
  ---
7447
5777
 
7448
- ### SignalCardInfoBox
7449
-
7450
- **Package:** @redsift/products
7451
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/components/SignalCardInfoBox.tsx
7452
-
7453
- ---
7454
-
7455
5778
  ### SignalCardList
7456
5779
 
7457
5780
  **Package:** @redsift/products
@@ -7528,66 +5851,6 @@ MTA-STS DNS records, policy file configuration, and SSL certificate status.
7528
5851
 
7529
5852
  ---
7530
5853
 
7531
- ### SignalCardNormal
7532
-
7533
- SignalCardNormal is the base component for all signal cards in the Investigate tool.
7534
- It provides a consistent structure for displaying card header, extracted items, checklists,
7535
- descriptions, and custom content sections.
7536
-
7537
- **Package:** @redsift/products
7538
- **File:** packages/products/src/components/signal-cards/cards/SignalCardNormal/SignalCardNormal.tsx
7539
-
7540
- #### Props
7541
-
7542
- | Prop | Type | Required | Default | Description |
7543
- |------|------|----------|---------|-------------|
7544
- | cardType | "good" \| "warning" \| "danger" \| "info" \| "unknown" | No | - | Card status determining visual theme (good/warning/danger/unknown). |
7545
- | sections | SignalCardSection[] | No | - | Generic sections to render in the card. Replaces specific props like checklistsDmarc, extractedItemsDmarc, etc. |
7546
- | resultSelected | string \| number | No | - | Currently selected option value for dropdown/select. |
7547
- | resultOptions | ({ label: string; value: string \| number; } \| Record<string, any>)[] | No | - | Available options for result dropdown. |
7548
- | optionsLabel | string | No | - | Label text for options dropdown. |
7549
- | onResultsChange | (value: any) => void | No | - | Callback when dropdown selection changes. |
7550
- | type | string | No | - | Card type identifier - used for i18n description lookup via signal-description.{type}_md. Note: This serves a different purpose than `cardType`. While `cardType` determines visual styling (good/warning/danger), `type` is used as a key to look up card descriptions in i18n. Currently used by 13 cards: AMP, BIMI, DKIM, DKIM Domain Analyzer, DMARC, DNSSEC, FCrDNS, MTA-STS, SPF, Subdo, Threat Intel, TLS, URLs. |
7551
- | title | ReactNode | No | - | Card title displayed in header (can be string or React element). |
7552
- | safeSVG | ComponentClass<{}, any> \| FunctionComponent<{}> | No | - | Custom SVG component for safe rendering (used by BIMI). |
7553
- | VMCCertificate | ReactNode | No | - | VMC Certificate component for BIMI. |
7554
- | customSectionOrder | string[] | No | - | Custom ordering of card sections (allows any string for flexibility). |
7555
- | onHeightChange | () => void | No | - | Callback triggered when card height changes (for layout adjustments). |
7556
- | onCTAButtonClick | () => void | No | - | Callback for CTA button click. |
7557
- | ctaButtonName | string | No | - | Custom text for CTA button. |
7558
- | shortDescription | any | No | - | Short description text (always visible) - can be React node or i18n object. |
7559
- | longDescription | any | No | - | Long description text (shown on "Show more" click) - can be React node or i18n object. |
7560
- | introDescription | any | No | - | Intro description shown at top of card. |
7561
- | onComponentMount | () => void | No | - | Callback when component mounts. |
7562
- | children | ReactNode | No | - | Custom content rendered at the bottom of the card, after all standard sections. |
7563
- | renderHeader | null \| () => ReactNode | No | - | Optional header renderer for content at the top of the card, after the title. Used to inject promotional banners, CTAs, or contextual information below the card header. Rendered after the DetailedCard.Header and before the card sections. Pass `null` to suppress the default header. |
7564
- | promoHref | string | No | - | Override the promo banner button href (e.g. to add UTM parameters). Only used when renderHeader is not provided (i.e. the default DmarcPromoBanner is shown). |
7565
- | renderFooter | () => ReactNode | No | - | Optional footer renderer for variant-specific content at the bottom of the card. Used to inject website-specific or OnDMARC-specific CTAs, links, or contextual information. Rendered after children in a styled CardFooter container. |
7566
- | bannerVariant | "standard" \| "condensed" \| "none" | No | 'none' | Banner display mode. - 'standard': Full 80px banner with icon/shield (for masonry layouts) - 'condensed': Minimal 8px colored strip - 'none': No banner, icon appears next to card title (default) |
7567
- | isLoading | false \| true | No | - | Whether the card is in loading state. Shows skeleton loaders. |
7568
- | shield | any | No | - | Shield icon to display instead of regular icon in banner. Common values: 'success', 'fail', 'partial', 'na' |
7569
- | icon | ReactNode | No | - | Custom icon to display in the card header. If not provided, icon is determined by cardType. |
7570
- | checklistsTlsRpt | ItemCategory[] | No | - | MTA-STS-specific: TLS-RPT Record checklist categories. Allows interleaved rendering of MTA-STS components. |
7571
- | extractedItemsTlsRpt | ItemCategory[] | No | - | MTA-STS-specific: TLS-RPT extracted items categories. Allows interleaved rendering of MTA-STS components. |
7572
- | checklistsMtaSts | ItemCategory[] | No | - | MTA-STS-specific: MTA-STS Record checklist categories. Allows interleaved rendering of MTA-STS components. |
7573
- | extractedItemsMtaSts | ItemCategory[] | No | - | MTA-STS-specific: MTA-STS extracted items categories. Allows interleaved rendering of MTA-STS components. |
7574
- | checklistsPolicy | ItemCategory[] | No | - | MTA-STS-specific: Policy File checklist categories. Allows interleaved rendering of MTA-STS components. |
7575
- | extractedItemsPolicy | ItemCategory[] | No | - | MTA-STS-specific: Policy File extracted items categories. Allows interleaved rendering of MTA-STS components. |
7576
- | checklistsCertificate | ItemCategory[] | No | - | MTA-STS-specific: Certificate checklist categories. Allows interleaved rendering of MTA-STS components. |
7577
- | useInvestigateColors | false \| true | No | false | Use Investigate product-specific hardcoded colors and fonts instead of Design System CSS variables. Set to true for Investigate website/product. Defaults to false (Design System colors). |
7578
- | isCollapsible | false \| true | No | false | Enable collapse/expand all icons in the card header. When true, shows chevron icons to collapse/expand all collapsible sections. |
7579
- | areAllCollapsed | false \| true | No | - | Control whether all collapsible sections are collapsed. Used with isCollapsible to manage collapsed state externally. |
7580
- | onCollapseAll | (areAllCollapsed: boolean) => void | No | - | Callback when collapse/expand all is triggered. Receives the new collapsed state (true = all collapsed, false = all expanded). |
7581
-
7582
- ---
7583
-
7584
- ### SignalCardSection
7585
-
7586
- **Package:** @redsift/products
7587
- **File:** packages/products/src/components/signal-cards/cards/SignalCard/components/SignalCardSection.tsx
7588
-
7589
- ---
7590
-
7591
5854
  ### SignalCardSpf
7592
5855
 
7593
5856
  **Package:** @redsift/products
@@ -7739,15 +6002,6 @@ Shows whether SPF records are vulnerable to subdomain poisoning attacks.
7739
6002
 
7740
6003
  ---
7741
6004
 
7742
- ### SignalCardTlsProps
7743
-
7744
- Component props.
7745
-
7746
- **Package:** @redsift/products
7747
- **File:** packages/products/src/components/signal-cards/cards/SignalCardTls/SignalCardTls.tsx
7748
-
7749
- ---
7750
-
7751
6005
  ### SignalCardUrls
7752
6006
 
7753
6007
  SignalCardUrls Component
@@ -7775,103 +6029,6 @@ Shows clickable HTTP/HTTPS links and plain text for other URL types.
7775
6029
 
7776
6030
  ---
7777
6031
 
7778
- ### StatusType
7779
-
7780
- Status values matching signal-logic's CardStatus union.
7781
- Includes 'info' and 'unknown' in addition to the primary three.
7782
-
7783
- **Package:** @redsift/products
7784
- **File:** packages/products/src/components/signal-cards/cards/SignalCardList/RecommendationsSummary.tsx
7785
-
7786
- ---
7787
-
7788
- ### SVGLogo
7789
-
7790
- **Package:** @redsift/products
7791
- **File:** packages/products/src/components/signal-cards/components/ui/SVGLogo.tsx
7792
-
7793
- #### Props
7794
-
7795
- | Prop | Type | Required | Default | Description |
7796
- |------|------|----------|---------|-------------|
7797
- | svgUrl | null \| string | No | - | |
7798
-
7799
- ---
7800
-
7801
- ### Tooltip
7802
-
7803
- **Package:** @redsift/products
7804
- **File:** packages/products/src/components/signal-cards/components/ui/Tooltip/Tooltip.tsx
7805
-
7806
- #### Props
7807
-
7808
- | Prop | Type | Required | Default | Description |
7809
- |------|------|----------|---------|-------------|
7810
- | className | string | No | - | |
7811
- | placement | "up" \| "down" \| "top-left" \| "right" \| "center" \| "left" | No | down | |
7812
- | renderContent | ReactNode | No | - | |
7813
- | ContentComponent | ComponentClass<{}, any> \| FunctionComponent<{}> | No | - | |
7814
- | isOpen | false \| true | No | - | |
7815
- | styles | CSSProperties | No | - | |
7816
-
7817
- ---
7818
-
7819
- ### TooltipInPortal
7820
-
7821
- **Package:** @redsift/products
7822
- **File:** packages/products/src/components/signal-cards/components/ui/TooltipInPortal/TooltipInPortal.tsx
7823
-
7824
- #### Props
7825
-
7826
- | Prop | Type | Required | Default | Description |
7827
- |------|------|----------|---------|-------------|
7828
- | isOpen | false \| true | Yes | - | |
7829
- | parentRef | RefObject<HTMLElement> | Yes | - | |
7830
- | ContentComponent | ComponentClass<{}, any> \| FunctionComponent<{}> | Yes | - | |
7831
- | styles | CSSProperties | No | {} | |
7832
- | placement | "up" \| "down" \| "top-left" \| "right" \| "center" \| "left" | No | up | |
7833
- | className | string | No | - | |
7834
- | renderContent | ReactNode | No | - | |
7835
-
7836
- ---
7837
-
7838
- ### TooltipInPortalWrapper
7839
-
7840
- Wraps children in a container that will show the tooltip on mouse enter and hide it on mouse leave
7841
-
7842
- **Package:** @redsift/products
7843
- **File:** packages/products/src/components/signal-cards/components/ui/TooltipInPortal/TooltipInPortal.tsx
7844
-
7845
- #### Props
7846
-
7847
- | Prop | Type | Required | Default | Description |
7848
- |------|------|----------|---------|-------------|
7849
- | message | ReactNode | Yes | - | |
7850
- | className | string | No | - | |
7851
- | isDisabled | false \| true | No | false | |
7852
- | styles | CSSProperties | No | {} | |
7853
- | placement | "up" \| "down" \| "top-left" \| "right" \| "center" \| "left" | No | up | |
7854
- | renderContent | ReactNode | No | - | |
7855
-
7856
- ---
7857
-
7858
- ### WordHighlighter
7859
-
7860
- **Package:** @redsift/products
7861
- **File:** packages/products/src/components/signal-cards/components/ui/WordHighlighter/WordHighlighter.tsx
7862
-
7863
- #### Props
7864
-
7865
- | Prop | Type | Required | Default | Description |
7866
- |------|------|----------|---------|-------------|
7867
- | startPos | number | No | 0 | |
7868
- | highlightClassName | string | No | syntax-error-highlight | |
7869
- | searchWord | string | No | - | |
7870
- | textToHighlight | string | Yes | - | |
7871
- | highlightStyle | CSSProperties | No | - | |
7872
-
7873
- ---
7874
-
7875
6032
  # Composition Patterns
7876
6033
 
7877
6034
  The following patterns document proven component groupings extracted from production applications.
@@ -10047,3 +8204,179 @@ export default () => {
10047
8204
  - **drilldown-datagrid-page**: The detail page a summary dashboard typically links to
10048
8205
  - **crossfiltered-datagrid-page**: Interactive version with cross-filtering and a DataGrid
10049
8206
  - **server-crossfiltered-datagrid-page**: Server-driven interactive dashboard
8207
+
8208
+ ## KPI Cards Above Charts
8209
+ **Description:** A row of metric tiles (DataCards) followed by one or two chart tiles, forming a dashboard overview page. Each DataCard shows a key metric; charts visualize trends or distributions. Users scan KPIs then drill into charts. This is the standard layout for 'Overview' pages across Red Sift products.
8210
+ **Components:** DataCard, DataCardHeader, DataCardBody, DataRow, BarChart, PieChart, ChartContainer, Flexbox, Heading, Text, Skeleton
8211
+ **Packages:** @redsift/dashboard, @redsift/charts, @redsift/design-system
8212
+ **Layout:** Flexbox column: top row = Flexbox row wrapping DataCards (flex: 1 each), bottom row = Flexbox row with one or two chart containers. Each DataCard has DataCardHeader + DataCardBody with DataRow children.
8213
+ **Tags:** dashboard, kpi, metric, chart, overview, summary, tiles, landing-page
8214
+
8215
+ ### When to Use
8216
+
8217
+ - Building an overview or landing page that shows key metrics at a glance
8218
+ - Users need to see aggregate KPIs and trend charts without interactive filtering
8219
+ - The page is read-only — clicking a DataRow navigates to a detail page
8220
+ - You want a standard two-row layout: metrics on top, charts below
8221
+
8222
+ **When NOT to use:**
8223
+
8224
+ - Users need to cross-filter between cards and a DataGrid — use Crossfiltered Datagrid Page instead
8225
+ - The page is primarily a table with summary KPIs — use Drilldown Datagrid Page instead
8226
+ - Only charts, no KPI tiles — use a simple Flexbox of ChartContainers
8227
+
8228
+ ### Anatomy
8229
+
8230
+ 1. Heading — Page title
8231
+ 2. KPI Row — Flexbox row of DataCards, each with DataCardHeader and DataCardBody containing DataRow items
8232
+ 3. Chart Row — Flexbox row of chart containers (BarChart, PieChart, etc.) wrapped in styled containers with titles
8233
+
8234
+ ## Chart Empty State
8235
+ **Description:** How to render loading, empty, and error states inside a DataCard or ChartContainer. Uses ChartEmptyState from @redsift/dashboard for consistent empty/error messaging, Skeleton for loading shimmer, and Alert + Button for error-with-retry.
8236
+ **Components:** ChartEmptyState, DataCard, DataCardHeader, DataCardBody, Skeleton, Alert, Button, Text
8237
+ **Packages:** @redsift/dashboard, @redsift/design-system
8238
+ **Layout:** DataCard with conditional content: loading (Skeleton), empty (ChartEmptyState), error (Alert + Button), or success (chart content).
8239
+ **Tags:** empty-state, loading, error, skeleton, chart, dashboard, retry
8240
+
8241
+ ### When to Use
8242
+
8243
+ - A chart or DataCard needs to show loading, empty, or error states
8244
+ - You want a consistent look across all chart tiles for non-happy-path states
8245
+ - The error state should include a retry action
8246
+
8247
+ **When NOT to use:**
8248
+
8249
+ - The component is a DataGrid — DataGrid has its own built-in loading/empty/error overlays
8250
+ - You only need a full-page loading spinner — use Spinner instead
8251
+
8252
+ ### Anatomy
8253
+
8254
+ 1. DataCard — Container for the chart tile
8255
+ 2. DataCardHeader — Title of the chart
8256
+ 3. DataCardBody — Conditional content based on state
8257
+ 4. Loading: Skeleton components matching the chart shape
8258
+ 5. Empty: ChartEmptyState with a message and optional illustration
8259
+ 6. Error: Alert variant='error' + Button variant='secondary' for retry
8260
+
8261
+ ## Error Banner with Retry
8262
+ **Description:** A section-level error display with a retry button, replacing hand-rolled styled.button and hex colors. Uses Alert from @redsift/design-system for the error message and Button variant='secondary' for the retry action. Never use styled.button or hardcoded rgba() values for this pattern.
8263
+ **Components:** Alert, Button, Flexbox, Text
8264
+ **Packages:** @redsift/design-system
8265
+ **Layout:** Flexbox column with Alert at top and optional Button below, or Alert with action prop containing the retry Button.
8266
+ **Tags:** error, retry, alert, banner, notification, failure
8267
+
8268
+ ### When to Use
8269
+
8270
+ - A section of the page failed to load and the user can retry
8271
+ - You need an inline error message with an action
8272
+ - Replacing a hand-rolled error banner with hardcoded styles
8273
+
8274
+ **When NOT to use:**
8275
+
8276
+ - The entire page failed — use a full-page error boundary instead
8277
+ - The error is inside a chart tile — use Chart Empty State pattern instead
8278
+
8279
+ ### Anatomy
8280
+
8281
+ 1. Alert — Displays the error message with severity='error'
8282
+ 2. Button — 'Retry' button with variant='secondary' and onClick handler
8283
+
8284
+ ## Host App Page Registration
8285
+ **Description:** Abstract contract for adding a new page to a Red Sift host application. Every new page requires a routing entry, a navigation entry in the sidebar, and a page title registered as an i18n key in ALL supported locales. Missing any locale mirror causes the page title to show as a raw key string. This is a framework pattern — concrete implementation depends on the host app's router and i18n system.
8286
+ **Components:** AppContainer, AppSidePanel, AppBar, AppContent
8287
+ **Packages:** @redsift/design-system
8288
+ **Layout:** AppContainer > AppSidePanel (nav entry) + AppContent (routed page component). AppBar displays the page title from i18n.
8289
+ **Tags:** host-app, page, routing, navigation, i18n, locale, title, setup
8290
+
8291
+ ### When to Use
8292
+
8293
+ - Adding a new page or view to a Red Sift application
8294
+ - The page needs a sidebar navigation entry
8295
+ - The page title must be translated across all supported locales
8296
+
8297
+ **When NOT to use:**
8298
+
8299
+ - Rendering a modal or dialog — no route needed
8300
+ - A sub-tab within an existing page — handled by the page's Tabs component
8301
+
8302
+ ### Anatomy
8303
+
8304
+ 1. Route definition — maps a URL path to a page component
8305
+ 2. Navigation entry — adds an item to AppSidePanel with icon, label i18n key, and route path
8306
+ 3. Page title i18n key — registered in EVERY locale file (e.g. en-US.json, fr-FR.json). If any locale is missing the key, the title renders as the raw key string.
8307
+ 4. Page component — wrapped in AppContent, receives route params
8308
+
8309
+ ### Implementation Checklist
8310
+
8311
+ 1. Define the route path and page component in the app's router configuration
8312
+ 2. Add a navigation entry to AppSidePanel with the route path and an i18n label key
8313
+ 3. Register the page title i18n key in ALL locale files (en-US, fr-FR, etc.)
8314
+ 4. Verify the title renders correctly by switching locales
8315
+ 5. Import @redsift/design-system/style/index.css at the app entry if not already done
8316
+
8317
+ ## Category Tabs Above Table
8318
+ **Description:** A row of Tabs above a DataGrid that filter the grid's rows by a category (e.g. All / Active / Expired / Critical). The selected tab becomes part of the grid's filterModel. Use this pattern when you have a small, well-known set of mutually exclusive row categories — it is a UX shortcut for the most common filter on the page. For arbitrary or many-valued filters, use the DataGrid's built-in column filter UI instead.
8319
+ **Components:** Tabs, Tab, TabPanel, DataGrid, Pill, Flexbox
8320
+ **Packages:** @redsift/design-system, @redsift/table
8321
+ **Layout:** Flexbox column: Tabs row + DataGrid below. Tabs are sticky-positioned above the grid; the active Tab drives a filterModel applied to the DataGrid.
8322
+ **Tags:** tabs, datagrid, filter, category, status-filter, segmented-control
8323
+
8324
+ ### When to Use
8325
+
8326
+ - You have a fixed, small set of mutually exclusive row categories (typically 2–6 tabs)
8327
+ - The category filter is the dominant user action on the page
8328
+ - Tabs should mirror an enum field on the row (e.g. status, severity)
8329
+
8330
+ **When NOT to use:**
8331
+
8332
+ - The filter values are dynamic or numerous — use the DataGrid's built-in column filter instead
8333
+ - Multiple simultaneous filters are required — Tabs are mutually exclusive by design
8334
+ - The categories themselves are not orthogonal (overlapping memberships)
8335
+
8336
+ ### Anatomy
8337
+
8338
+ 1. Tabs — DS Tabs from @redsift/design-system, one Tab per category plus an 'All' tab
8339
+ 2. Optional Pill — count badge inside each Tab label (e.g. 'Active (12)')
8340
+ 3. DataGrid — receives filterModel derived from the active tab
8341
+
8342
+ ### State Management
8343
+
8344
+ | Hook | Type | Initial | Description |
8345
+ |------|------|---------|-------------|
8346
+ | activeTab | string | 'all' | Slug of the currently selected tab; drives the DataGrid filterModel. |
8347
+
8348
+ ### Data Contract
8349
+
8350
+ ```tsx
8351
+ type Row = {
8352
+ id: string;
8353
+ status: 'active' | 'warning' | 'critical' | 'expired';
8354
+ // …other fields
8355
+ };
8356
+
8357
+ // activeTab → filterModel mapping
8358
+ const filterModelForTab = (tab: string): GridFilterModel =>
8359
+ tab === 'all'
8360
+ ? { items: [] }
8361
+ : { items: [{ columnField: 'status', operatorValue: 'equals', value: tab }] };
8362
+ ```
8363
+
8364
+ ### Implementation Checklist
8365
+
8366
+ 1. Define the tab list as a const array of { slug, label, filterValue } entries — one per category plus 'all'.
8367
+ 2. Add useState<string>('all') for activeTab.
8368
+ 3. Render <Tabs value={activeTab} onChange={setActiveTab}> with one <Tab> per entry. Inside the label, optionally show a count <Pill>.
8369
+ 4. Compute filterModel from activeTab via a pure helper.
8370
+ 5. Pass filterModel into <DataGrid filterModel={...} onFilterModelChange={...}>. Keep the DataGrid's own filter UI enabled so users can layer column filters on top.
8371
+ 6. Sync activeTab to the URL query string (?status=active) for shareable links.
8372
+
8373
+ ### Keyboard & Accessibility
8374
+
8375
+ - Tabs and Tab from @redsift/design-system already wire role="tablist" / role="tab" and arrow-key navigation
8376
+ - Use aria-controls to associate each Tab with the DataGrid id
8377
+ - Do not hide the DataGrid's built-in column filter — tab filters are a shortcut, not a replacement
8378
+
8379
+ ### Related Patterns
8380
+
8381
+ - **datagrid-page**: The underlying full-page grid. Add tabs on top when one enum field dominates filtering.
8382
+ - **tabbed-datagrid-client-side**: Closely related; this pattern is specifically the 'category filter' variant.