@siyahi/ui 0.1.9-next.32 → 0.1.9-next.34

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 (107) hide show
  1. package/DESIGN.md +20 -7
  2. package/agents/examples/chart-panels-three.tsx +51 -0
  3. package/agents/examples/context-menu.tsx +14 -4
  4. package/agents/examples/overview-dashboard.tsx +2 -2
  5. package/agents/examples/{page-hero.tsx → page-header.tsx} +4 -4
  6. package/agents/examples/select.tsx +2 -1
  7. package/agents/manifest.json +16 -3
  8. package/dist/components/registry/charts/area-chart-card.d.ts +2 -2
  9. package/dist/components/registry/charts/area-chart-card.js +1 -0
  10. package/dist/components/registry/charts/bar-chart-card.d.ts +4 -4
  11. package/dist/components/registry/charts/bar-chart-card.js +0 -2
  12. package/dist/components/registry/charts/line-chart-card.d.ts +1 -1
  13. package/dist/components/registry/dashboard-01/section-cards.d.ts +4 -4
  14. package/dist/components/registry/dashboardcn/bar-list.d.ts +8 -8
  15. package/dist/components/registry/dashboardcn/distribution-bar.d.ts +11 -11
  16. package/dist/components/registry/dashboardcn/kpi-row-card.d.ts +4 -4
  17. package/dist/components/registry/dashboardcn/sparkline.d.ts +6 -6
  18. package/dist/components/registry/heatmap/calendar-heatmap.d.ts +50 -50
  19. package/dist/components/registry/heatmap/calendar-heatmap.js +1 -1
  20. package/dist/components/registry/heatmap/status-heatmap.d.ts +44 -44
  21. package/dist/components/registry/heatmap/status-heatmap.js +1 -1
  22. package/dist/components/registry/heatmap/weekday-heatmap.d.ts +53 -53
  23. package/dist/components/registry/heatmap/weekday-heatmap.js +1 -1
  24. package/dist/components/registry/minidev/copy-button.d.ts +2 -2
  25. package/dist/components/registry/niko-table/components/data-table-column-actions.d.ts +1 -1
  26. package/dist/components/registry/niko-table/components/data-table-column-filter.d.ts +1 -1
  27. package/dist/components/registry/niko-table/components/data-table-empty-state.d.ts +7 -7
  28. package/dist/components/registry/niko-table/components/data-table-faceted-filter.d.ts +5 -5
  29. package/dist/components/registry/niko-table/components/data-table-grouped-rows.d.ts +1 -1
  30. package/dist/components/registry/niko-table/components/data-table-row-context-menu-slot.d.ts +1 -1
  31. package/dist/components/registry/niko-table/components/data-table-row-context-menu.d.ts +1 -1
  32. package/dist/components/registry/niko-table/config/feature-detection.d.ts +13 -13
  33. package/dist/components/registry/niko-table/core/data-table-context.d.ts +5 -5
  34. package/dist/components/registry/niko-table/core/data-table-error-boundary.d.ts +3 -3
  35. package/dist/components/registry/niko-table/core/data-table-grouped-row.d.ts +2 -2
  36. package/dist/components/registry/niko-table/core/data-table-root.d.ts +36 -35
  37. package/dist/components/registry/niko-table/core/data-table-structure.d.ts +22 -22
  38. package/dist/components/registry/niko-table/core/data-table-structure.js +6 -0
  39. package/dist/components/registry/niko-table/core/data-table.d.ts +3 -3
  40. package/dist/components/registry/niko-table/core/data-table.js +1 -1
  41. package/dist/components/registry/niko-table/filters/table-column-actions.d.ts +5 -5
  42. package/dist/components/registry/niko-table/filters/table-column-sort.d.ts +6 -6
  43. package/dist/components/registry/niko-table/filters/table-column-sort.js +2 -2
  44. package/dist/components/registry/niko-table/filters/table-column-title.d.ts +2 -2
  45. package/dist/components/registry/niko-table/filters/table-faceted-filter.d.ts +9 -9
  46. package/dist/components/registry/niko-table/filters/table-faceted-filter.js +1 -1
  47. package/dist/components/registry/niko-table/filters/table-search-filter.d.ts +7 -7
  48. package/dist/components/registry/niko-table/hooks/use-generated-options.d.ts +7 -7
  49. package/dist/components/registry/niko-table/lib/build-faceted-options.d.ts +2 -2
  50. package/dist/components/registry/niko-table/lib/column-resize-handle.d.ts +3 -3
  51. package/dist/components/registry/niko-table/lib/column-resize-handle.js +1 -1
  52. package/dist/components/registry/niko-table/lib/create-scroll-handler.d.ts +4 -4
  53. package/dist/components/registry/niko-table/types/index.d.ts +29 -29
  54. package/dist/components/registry/sidebar-07/app-sidebar.d.ts +6 -5
  55. package/dist/components/registry/sidebar-07/nav-main.d.ts +4 -4
  56. package/dist/components/registry/sidebar-07/nav-user.js +16 -19
  57. package/dist/components/siyahi/callout.d.ts +1 -1
  58. package/dist/components/siyahi/change-bar.d.ts +3 -3
  59. package/dist/components/siyahi/change-grid.d.ts +6 -6
  60. package/dist/components/siyahi/data-bar.d.ts +2 -2
  61. package/dist/components/siyahi/data-list.d.ts +1 -1
  62. package/dist/components/siyahi/data-table-row-count.d.ts +1 -1
  63. package/dist/components/siyahi/data-table-sort-header.d.ts +1 -1
  64. package/dist/components/siyahi/delta.d.ts +2 -2
  65. package/dist/components/siyahi/drawdown-chart.d.ts +2 -2
  66. package/dist/components/siyahi/histogram-chart.d.ts +5 -5
  67. package/dist/components/siyahi/local-time.d.ts +1 -1
  68. package/dist/components/siyahi/{page-hero.d.ts → page-header.d.ts} +3 -3
  69. package/dist/components/siyahi/{page-hero.js → page-header.js} +4 -4
  70. package/dist/components/siyahi/page-section.d.ts +1 -1
  71. package/dist/components/siyahi/page-toc.d.ts +2 -2
  72. package/dist/components/siyahi/panel-grid.d.ts +7 -4
  73. package/dist/components/siyahi/panel-grid.js +1 -1
  74. package/dist/components/siyahi/price-chart.d.ts +1 -1
  75. package/dist/components/siyahi/range-position.d.ts +5 -5
  76. package/dist/components/siyahi/range-position.js +1 -1
  77. package/dist/components/siyahi/scale-toggle.d.ts +2 -2
  78. package/dist/components/siyahi/scatter-chart.d.ts +15 -15
  79. package/dist/components/siyahi/scatter-chart.js +14 -1
  80. package/dist/components/siyahi/siyahi-provider.d.ts +3 -2
  81. package/dist/components/siyahi/siyahi-provider.js +1 -4
  82. package/dist/components/siyahi/slope-chart.d.ts +4 -4
  83. package/dist/components/siyahi/status-alert.d.ts +1 -1
  84. package/dist/components/siyahi/status-badge.d.ts +1 -1
  85. package/dist/components/siyahi/target-rows.d.ts +6 -6
  86. package/dist/components/siyahi/target-rows.js +2 -2
  87. package/dist/components/siyahi/treemap.d.ts +8 -8
  88. package/dist/components/siyahi/treemap.js +0 -3
  89. package/dist/components/siyahi/waterfall-chart.d.ts +3 -3
  90. package/dist/index.d.ts +2 -2
  91. package/dist/index.js +2 -2
  92. package/dist/lib/chart-frame.d.ts +48 -20
  93. package/dist/lib/chart-frame.js +60 -30
  94. package/dist/lib/chart-marks.d.ts +2 -2
  95. package/dist/lib/chart-series.d.ts +25 -24
  96. package/dist/lib/format.d.ts +1 -1
  97. package/dist/lib/optional.d.ts +7 -0
  98. package/dist/lib/optional.js +0 -0
  99. package/dist/lib/scatter.d.ts +7 -7
  100. package/dist/lib/ticks.d.ts +9 -0
  101. package/dist/lib/ticks.js +25 -3
  102. package/dist/lib/treemap.d.ts +1 -1
  103. package/dist/lib/use-render-when-fonts-load.d.ts +11 -0
  104. package/dist/lib/use-render-when-fonts-load.js +49 -0
  105. package/package.json +2 -2
  106. package/report.css +1 -0
  107. package/styles/siyahi.css +51 -4
@@ -7,39 +7,39 @@ export type StatusActivity = {
7
7
  value: StatusValue;
8
8
  };
9
9
  export type StatusHeatmapLabels = {
10
- statuses?: Record<number, string> & {
11
- noData?: string;
12
- critical?: string;
13
- degraded?: string;
14
- healthy?: string;
15
- };
16
- stat?: string;
17
- cellLabel?: string;
18
- heatmapLabel?: string;
19
- legendLabel?: string;
10
+ statuses?: (Record<number, string> & {
11
+ noData?: string | undefined;
12
+ critical?: string | undefined;
13
+ degraded?: string | undefined;
14
+ healthy?: string | undefined;
15
+ }) | undefined;
16
+ stat?: string | undefined;
17
+ cellLabel?: string | undefined;
18
+ heatmapLabel?: string | undefined;
19
+ legendLabel?: string | undefined;
20
20
  };
21
21
  export type StatusColorConfig = Record<number, string> & {
22
- noData?: string;
23
- critical?: string;
24
- degraded?: string;
25
- healthy?: string;
22
+ noData?: string | undefined;
23
+ critical?: string | undefined;
24
+ degraded?: string | undefined;
25
+ healthy?: string | undefined;
26
26
  };
27
27
  export type StatusHeatmapProps = HTMLAttributes<HTMLDivElement> & {
28
28
  data: StatusActivity[];
29
- dateFormat?: string;
30
- blockSize?: number;
31
- blockMargin?: number;
32
- blockRadius?: number;
33
- blockAspectRatio?: number;
34
- colors?: StatusColorConfig;
35
- locale?: Locale;
36
- labels?: StatusHeatmapLabels;
37
- fontSize?: number;
29
+ dateFormat?: string | undefined;
30
+ blockSize?: number | undefined;
31
+ blockMargin?: number | undefined;
32
+ blockRadius?: number | undefined;
33
+ blockAspectRatio?: number | undefined;
34
+ colors?: StatusColorConfig | undefined;
35
+ locale?: Locale | undefined;
36
+ labels?: StatusHeatmapLabels | undefined;
37
+ fontSize?: number | undefined;
38
38
  emptyState?: ReactNode;
39
- statusValues?: StatusValue[];
40
- healthyValue?: StatusValue;
41
- style?: CSSProperties;
42
- className?: string;
39
+ statusValues?: StatusValue[] | undefined;
40
+ healthyValue?: StatusValue | undefined;
41
+ style?: CSSProperties | undefined;
42
+ className?: string | undefined;
43
43
  children: ReactNode;
44
44
  };
45
45
  /**
@@ -75,25 +75,25 @@ export type StatusHeatmapProps = HTMLAttributes<HTMLDivElement> & {
75
75
  export declare const StatusHeatmap: ({ data, dateFormat, blockSize, blockMargin, blockRadius, blockAspectRatio: blockAspectRatioProp, colors, locale, labels: labelsProp, fontSize, emptyState, statusValues, healthyValue, style, className, children, ...props }: StatusHeatmapProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null;
76
76
  export type StatusHeatmapBlockProps = HTMLAttributes<SVGRectElement> & {
77
77
  /** The cell the page has picked: drawn with a ring and announced as pressed. */
78
- selected?: boolean;
78
+ selected?: boolean | undefined;
79
79
  activity: StatusActivity;
80
80
  dayIndex: number;
81
- highlighted?: boolean;
82
- onCellClick?: (activity: StatusActivity) => void;
83
- onCellHover?: (activity: StatusActivity | null) => void;
84
- className?: string;
81
+ highlighted?: boolean | undefined;
82
+ onCellClick?: ((activity: StatusActivity) => void) | undefined;
83
+ onCellHover?: ((activity: StatusActivity | null) => void) | undefined;
84
+ className?: string | undefined;
85
85
  };
86
86
  export declare function StatusHeatmapBlock({ ref, activity, dayIndex, highlighted, selected, onCellClick, onCellHover, onClick, onKeyDown, onMouseEnter, onMouseLeave, className, style: styleProp, ...props }: StatusHeatmapBlockProps & {
87
- ref?: React.RefObject<SVGRectElement | null>;
87
+ ref?: React.RefObject<SVGRectElement | null> | undefined;
88
88
  }): import("react").JSX.Element;
89
89
  export declare namespace StatusHeatmapBlock {
90
90
  var displayName: string;
91
91
  }
92
92
  export type StatusHeatmapBodyProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
93
- hideDateLabels?: boolean;
94
- labelInterval?: number;
95
- className?: string;
96
- labelClassName?: string;
93
+ hideDateLabels?: boolean | undefined;
94
+ labelInterval?: number | undefined;
95
+ className?: string | undefined;
96
+ labelClassName?: string | undefined;
97
97
  children: (props: {
98
98
  activity: StatusActivity;
99
99
  dayIndex: number;
@@ -103,20 +103,20 @@ export declare const StatusHeatmapBody: ({ hideDateLabels, labelInterval, classN
103
103
  export type StatusHeatmapFooterProps = HTMLAttributes<HTMLDivElement>;
104
104
  export declare const StatusHeatmapFooter: ({ className, ...props }: StatusHeatmapFooterProps) => import("react").JSX.Element;
105
105
  export type StatusHeatmapStatProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
106
- compute?: (data: StatusActivity[]) => number | string;
107
- label?: string;
108
- children?: (result: {
106
+ compute?: ((data: StatusActivity[]) => number | string) | undefined;
107
+ label?: string | undefined;
108
+ children?: ((result: {
109
109
  value: number | string;
110
110
  data: StatusActivity[];
111
- }) => ReactNode;
111
+ }) => ReactNode) | undefined;
112
112
  };
113
113
  export declare const StatusHeatmapStat: ({ compute, label, className, children, ...props }: StatusHeatmapStatProps) => import("react").JSX.Element;
114
114
  export type StatusHeatmapLegendProps = Omit<HTMLAttributes<HTMLFieldSetElement>, "children"> & {
115
- labels?: StatusHeatmapLabels["statuses"];
116
- children?: (props: {
115
+ labels?: StatusHeatmapLabels["statuses"] | undefined;
116
+ children?: ((props: {
117
117
  value: StatusValue;
118
118
  label: string;
119
- }) => ReactNode;
119
+ }) => ReactNode) | undefined;
120
120
  };
121
121
  export declare const StatusHeatmapLegend: ({ labels: labelsProp, className, children, ...props }: StatusHeatmapLegendProps) => import("react").JSX.Element;
122
122
  //#endregion
@@ -109,7 +109,7 @@ const useStatusHeatmap = () => {
109
109
  * @param blockAspectRatio - Width/height ratio of blocks. Default: bars share the full width
110
110
  * @param colors - Custom colors for critical, degraded, and healthy states
111
111
  */
112
- const StatusHeatmap = ({ data, dateFormat = "MMM d", blockSize = 40, blockMargin = 2, blockRadius = 2, blockAspectRatio: blockAspectRatioProp, colors, locale, labels: labelsProp, fontSize = 14, emptyState, statusValues = [
112
+ const StatusHeatmap = ({ data, dateFormat = "MMM d", blockSize = 40, blockMargin = 2, blockRadius = 0, blockAspectRatio: blockAspectRatioProp, colors, locale, labels: labelsProp, fontSize = 14, emptyState, statusValues = [
113
113
  0,
114
114
  1,
115
115
  2,
@@ -20,43 +20,43 @@ export type WeekdayExtraColumnSpec = {
20
20
  compute: (data: WeekdayHourlyActivity[]) => number[];
21
21
  };
22
22
  export type WeekdayHeatmapLabels = {
23
- hours?: string[];
24
- endHour?: string | null;
25
- weekdays?: string[];
26
- stat?: string;
27
- cellLabel?: string;
28
- heatmapLabel?: string;
29
- legendLabel?: string;
30
- legendLevelLabel?: string;
23
+ hours?: string[] | undefined;
24
+ endHour?: string | null | undefined;
25
+ weekdays?: string[] | undefined;
26
+ stat?: string | undefined;
27
+ cellLabel?: string | undefined;
28
+ heatmapLabel?: string | undefined;
29
+ legendLabel?: string | undefined;
30
+ legendLevelLabel?: string | undefined;
31
31
  };
32
32
  export type ColorConfig = {
33
- empty?: string;
34
- scale?: string;
33
+ empty?: string | undefined;
34
+ scale?: string | undefined;
35
35
  };
36
36
  export type WeekdayHeatmapProps = HTMLAttributes<HTMLDivElement> & {
37
37
  data: WeekdayHourlyActivity[];
38
- weekStart?: Day;
38
+ weekStart?: Day | undefined;
39
39
  /** Displayed hours, in order; defaults to the full day. */
40
- hours?: readonly WeekdayHour[];
40
+ hours?: readonly WeekdayHour[] | undefined;
41
41
  /** Displayed days, in order; defaults to the full week from weekStart. */
42
- weekdays?: readonly WeekdayIndex[];
43
- use12Hour?: boolean;
44
- blockSize?: number;
45
- blockMargin?: number;
46
- blockRadius?: number;
47
- blockAspectRatio?: number;
48
- levels?: number;
49
- isNormalized?: boolean;
50
- colors?: ColorConfig;
51
- locale?: Locale;
52
- labels?: WeekdayHeatmapLabels;
53
- fontSize?: number;
42
+ weekdays?: readonly WeekdayIndex[] | undefined;
43
+ use12Hour?: boolean | undefined;
44
+ blockSize?: number | undefined;
45
+ blockMargin?: number | undefined;
46
+ blockRadius?: number | undefined;
47
+ blockAspectRatio?: number | undefined;
48
+ levels?: number | undefined;
49
+ isNormalized?: boolean | undefined;
50
+ colors?: ColorConfig | undefined;
51
+ locale?: Locale | undefined;
52
+ labels?: WeekdayHeatmapLabels | undefined;
53
+ fontSize?: number | undefined;
54
54
  emptyState?: ReactNode;
55
- totalCount?: number;
56
- extraRow?: WeekdayExtraRowSpec;
57
- extraColumn?: WeekdayExtraColumnSpec;
58
- style?: CSSProperties;
59
- className?: string;
55
+ totalCount?: number | undefined;
56
+ extraRow?: WeekdayExtraRowSpec | undefined;
57
+ extraColumn?: WeekdayExtraColumnSpec | undefined;
58
+ style?: CSSProperties | undefined;
59
+ className?: string | undefined;
60
60
  children: ReactNode;
61
61
  };
62
62
  /**
@@ -93,58 +93,58 @@ export type WeekdayHeatmapProps = HTMLAttributes<HTMLDivElement> & {
93
93
  export declare const WeekdayHeatmap: ({ data, weekStart, hours, weekdays: displayedWeekdays, use12Hour, blockSize: blockSizeProp, blockMargin, blockRadius, blockAspectRatio, levels: levelsProp, isNormalized, colors, locale, labels: labelsProp, fontSize, emptyState, totalCount: totalCountProp, extraRow, extraColumn, style, className, children, ...props }: WeekdayHeatmapProps) => string | number | bigint | true | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null;
94
94
  export type WeekdayHeatmapBlockProps = HTMLAttributes<SVGRectElement> & {
95
95
  /** The cell the page has picked: drawn with a ring and announced as pressed. */
96
- selected?: boolean;
96
+ selected?: boolean | undefined;
97
97
  activity: WeekdayHourlyActivityWithLevel;
98
- extra?: "row" | "column";
99
- highlighted?: boolean;
100
- onCellClick?: (activity: WeekdayHourlyActivityWithLevel) => void;
101
- onCellHover?: (activity: WeekdayHourlyActivityWithLevel | null) => void;
102
- className?: string;
98
+ extra?: "row" | "column" | undefined;
99
+ highlighted?: boolean | undefined;
100
+ onCellClick?: ((activity: WeekdayHourlyActivityWithLevel) => void) | undefined;
101
+ onCellHover?: ((activity: WeekdayHourlyActivityWithLevel | null) => void) | undefined;
102
+ className?: string | undefined;
103
103
  };
104
104
  export declare function WeekdayHeatmapBlock({ ref, activity, extra, highlighted, selected, onCellClick, onCellHover, onClick, onKeyDown, onMouseEnter, onMouseLeave, className, style: styleProp, ...props }: WeekdayHeatmapBlockProps & {
105
- ref?: React.RefObject<SVGRectElement | null>;
105
+ ref?: React.RefObject<SVGRectElement | null> | undefined;
106
106
  }): import("react").JSX.Element | null;
107
107
  export declare namespace WeekdayHeatmapBlock {
108
108
  var displayName: string;
109
109
  }
110
110
  export type WeekdayHeatmapBodyProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
111
- hideHourLabels?: boolean;
112
- hideWeekdayLabels?: boolean;
113
- className?: string;
114
- labelClassName?: string;
111
+ hideHourLabels?: boolean | undefined;
112
+ hideWeekdayLabels?: boolean | undefined;
113
+ className?: string | undefined;
114
+ labelClassName?: string | undefined;
115
115
  children: (props: {
116
116
  activity: WeekdayHourlyActivityWithLevel;
117
117
  weekdayIndex: number;
118
118
  }) => ReactNode;
119
- renderExtraRow?: (props: {
119
+ renderExtraRow?: ((props: {
120
120
  activity: WeekdayHourlyActivityWithLevel;
121
121
  weekdayIndex: number;
122
- }) => ReactNode;
123
- renderExtraColumn?: (props: {
122
+ }) => ReactNode) | undefined;
123
+ renderExtraColumn?: ((props: {
124
124
  activity: WeekdayHourlyActivityWithLevel;
125
125
  weekdayIndex: number;
126
- }) => ReactNode;
126
+ }) => ReactNode) | undefined;
127
127
  };
128
128
  export declare const WeekdayHeatmapBody: ({ hideHourLabels, hideWeekdayLabels, className, labelClassName, children, renderExtraRow, renderExtraColumn, ...props }: WeekdayHeatmapBodyProps) => import("react").JSX.Element;
129
129
  export type WeekdayHeatmapFooterProps = HTMLAttributes<HTMLDivElement>;
130
130
  export declare const WeekdayHeatmapFooter: ({ className, ...props }: WeekdayHeatmapFooterProps) => import("react").JSX.Element;
131
131
  export type WeekdayHeatmapStatProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
132
- compute?: (data: WeekdayHourlyActivityWithLevel[]) => number | string;
133
- label?: string;
134
- children?: (result: {
132
+ compute?: ((data: WeekdayHourlyActivityWithLevel[]) => number | string) | undefined;
133
+ label?: string | undefined;
134
+ children?: ((result: {
135
135
  value: number | string;
136
136
  data: WeekdayHourlyActivityWithLevel[];
137
- }) => ReactNode;
137
+ }) => ReactNode) | undefined;
138
138
  };
139
139
  export declare const WeekdayHeatmapStat: ({ compute, label, className, children, ...props }: WeekdayHeatmapStatProps) => import("react").JSX.Element;
140
140
  export type WeekdayHeatmapLegendProps = Omit<HTMLAttributes<HTMLFieldSetElement>, "children"> & {
141
141
  labels?: {
142
- less?: string;
143
- more?: string;
144
- };
145
- children?: (props: {
142
+ less?: string | undefined;
143
+ more?: string | undefined;
144
+ } | undefined;
145
+ children?: ((props: {
146
146
  level: number;
147
- }) => ReactNode;
147
+ }) => ReactNode) | undefined;
148
148
  };
149
149
  export declare const WeekdayHeatmapLegend: ({ labels: labelsProp, className, children, ...props }: WeekdayHeatmapLegendProps) => import("react").JSX.Element;
150
150
  //#endregion
@@ -89,7 +89,7 @@ const useWeekdayHeatmap = () => {
89
89
  * @param extraRow - Appends an aggregated row below the grid. `compute` receives all activities and must return 24 values (one per hour). Rendered through `renderExtraRow` on the body, or falls back to `children`.
90
90
  * @param extraColumn - Appends an aggregated column to the right of the grid. `compute` receives all activities and must return 7 values indexed by weekday 0–6. Rendered through `renderExtraColumn` on the body, or falls back to `children`.
91
91
  */
92
- const WeekdayHeatmap = ({ data, weekStart = 0, hours = HOURS, weekdays: displayedWeekdays, use12Hour = false, blockSize: blockSizeProp, blockMargin = 4, blockRadius = 2, blockAspectRatio = 1, levels: levelsProp = 5, isNormalized = false, colors, locale, labels: labelsProp, fontSize = 14, emptyState, totalCount: totalCountProp, extraRow, extraColumn, style = EMPTY_STYLE, className, children, ...props }) => {
92
+ const WeekdayHeatmap = ({ data, weekStart = 0, hours = HOURS, weekdays: displayedWeekdays, use12Hour = false, blockSize: blockSizeProp, blockMargin = 4, blockRadius = 0, blockAspectRatio = 1, levels: levelsProp = 5, isNormalized = false, colors, locale, labels: labelsProp, fontSize = 14, emptyState, totalCount: totalCountProp, extraRow, extraColumn, style = EMPTY_STYLE, className, children, ...props }) => {
93
93
  const levels = Math.max(1, levelsProp);
94
94
  const [rootRef, rootWidth] = useElementWidth();
95
95
  const weekdays = useMemo(() => displayedWeekdays ?? Array.from({ length: 7 }, (_, i) => (weekStart + i) % 7), [displayedWeekdays, weekStart]);
@@ -4,8 +4,8 @@ import { VariantProps } from "class-variance-authority";
4
4
  //#region src/components/registry/minidev/copy-button.d.ts
5
5
  declare function CopyButton({ value, className, variant, size, label, copiedLabel, ...props }: {
6
6
  value: string;
7
- label?: string;
8
- copiedLabel?: string;
7
+ label?: string | undefined;
8
+ copiedLabel?: string | undefined;
9
9
  } & React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants>): React$1.JSX.Element;
10
10
  //#endregion
11
11
  export { CopyButton };
@@ -18,7 +18,7 @@ import { RowData } from "@tanstack/react-table";
18
18
  */
19
19
  export declare function DataTableColumnActions<TData extends RowData, TValue>(props: Omit<React.ComponentProps<typeof TableColumnActions>, "isActive"> & {
20
20
  /** Override to manually set active state */
21
- isActive?: boolean;
21
+ isActive?: boolean | undefined;
22
22
  }): React.JSX.Element;
23
23
  export declare namespace DataTableColumnActions {
24
24
  var displayName: string;
@@ -5,7 +5,7 @@ import React from "react";
5
5
  */
6
6
  export declare function DataTableColumnFilter({ children, className }: {
7
7
  children?: React.ReactNode;
8
- className?: string;
8
+ className?: string | undefined;
9
9
  }): React.JSX.Element | null;
10
10
  export declare namespace DataTableColumnFilter {
11
11
  var displayName: string;
@@ -3,7 +3,7 @@ import React from "react";
3
3
  export interface DataTableEmptyStateProps {
4
4
  children: React.ReactNode;
5
5
  isFiltered: boolean;
6
- className?: string;
6
+ className?: string | undefined;
7
7
  }
8
8
  /**
9
9
  * Root component for empty state composition.
@@ -14,7 +14,7 @@ export interface DataTableEmptyStateProps {
14
14
  export declare function DataTableEmptyState({ children, isFiltered, className }: DataTableEmptyStateProps): React.JSX.Element;
15
15
  export interface DataTableEmptyIconProps {
16
16
  children: React.ReactNode;
17
- className?: string;
17
+ className?: string | undefined;
18
18
  }
19
19
  /**
20
20
  * Icon component for empty state. Memoized so table-state changes don't re-render it.
@@ -27,7 +27,7 @@ export interface DataTableEmptyIconProps {
27
27
  export declare const DataTableEmptyIcon: React.MemoExoticComponent<({ children, className }: DataTableEmptyIconProps) => React.JSX.Element>;
28
28
  export interface DataTableEmptyMessageProps {
29
29
  children: React.ReactNode;
30
- className?: string;
30
+ className?: string | undefined;
31
31
  }
32
32
  /**
33
33
  * Message component for empty state. Memoized; renders only when not filtered.
@@ -43,7 +43,7 @@ export interface DataTableEmptyMessageProps {
43
43
  export declare const DataTableEmptyMessage: React.MemoExoticComponent<({ children, className }: DataTableEmptyMessageProps) => React.JSX.Element | null>;
44
44
  export interface DataTableEmptyFilteredMessageProps {
45
45
  children: React.ReactNode;
46
- className?: string;
46
+ className?: string | undefined;
47
47
  }
48
48
  /**
49
49
  * Filtered-state message — renders only when a filter is active. Memoized.
@@ -56,7 +56,7 @@ export interface DataTableEmptyFilteredMessageProps {
56
56
  export declare const DataTableEmptyFilteredMessage: React.MemoExoticComponent<({ children, className }: DataTableEmptyFilteredMessageProps) => React.JSX.Element | null>;
57
57
  export interface DataTableEmptyActionsProps {
58
58
  children: React.ReactNode;
59
- className?: string;
59
+ className?: string | undefined;
60
60
  }
61
61
  /**
62
62
  * Actions component for empty state.
@@ -71,7 +71,7 @@ export interface DataTableEmptyActionsProps {
71
71
  export declare const DataTableEmptyActions: React.MemoExoticComponent<({ children, className }: DataTableEmptyActionsProps) => React.JSX.Element>;
72
72
  export interface DataTableEmptyTitleProps {
73
73
  children: React.ReactNode;
74
- className?: string;
74
+ className?: string | undefined;
75
75
  }
76
76
  /**
77
77
  * Title component for empty state messages.
@@ -89,7 +89,7 @@ export interface DataTableEmptyTitleProps {
89
89
  export declare const DataTableEmptyTitle: React.MemoExoticComponent<({ children, className }: DataTableEmptyTitleProps) => React.JSX.Element>;
90
90
  export interface DataTableEmptyDescriptionProps {
91
91
  children: React.ReactNode;
92
- className?: string;
92
+ className?: string | undefined;
93
93
  }
94
94
  /**
95
95
  * Description component for empty state messages.
@@ -11,28 +11,28 @@ type DataTableFacetedFilterProps<TData extends RowData, TValue> = Omit<TableFace
11
11
  /**
12
12
  * Optional title override (if not provided, will use column.meta.label)
13
13
  */
14
- title?: string;
14
+ title?: string | undefined;
15
15
  /**
16
16
  * Static options (if provided, will be used instead of dynamic generation)
17
17
  */
18
- options?: Option[];
18
+ options?: Option[] | undefined;
19
19
  /**
20
20
  * Whether to show counts for each option
21
21
  * @default true
22
22
  */
23
- showCounts?: boolean;
23
+ showCounts?: boolean | undefined;
24
24
  /**
25
25
  * Whether to update counts based on other active filters
26
26
  * @default true
27
27
  */
28
- dynamicCounts?: boolean;
28
+ dynamicCounts?: boolean | undefined;
29
29
  /**
30
30
  * If true, only show options that exist in the currently filtered table rows.
31
31
  * If false, show all options from the entire dataset (useful for multi-select filters
32
32
  * where you want to see all possible options even if they're not in the current filtered results).
33
33
  * @default !multiple (true for single-select, false for multi-select)
34
34
  */
35
- limitToFilteredRows?: boolean;
35
+ limitToFilteredRows?: boolean | undefined;
36
36
  };
37
37
  export declare function DataTableFacetedFilter<TData extends RowData, TValue = unknown>({ accessorKey, options, showCounts, dynamicCounts, limitToFilteredRows, title, multiple, trigger, ...props }: DataTableFacetedFilterProps<TData, TValue>): React$1.JSX.Element | null;
38
38
  export declare namespace DataTableFacetedFilter {
@@ -69,7 +69,7 @@ export interface DataTableGroupedRowsProps<TData extends RowData = RowData> {
69
69
  * row for that group. Table-level gating is better expressed by simply not
70
70
  * nesting this component.
71
71
  */
72
- enabledFor?: (row: DataTableRow<TData>) => boolean;
72
+ enabledFor?: ((row: DataTableRow<TData>) => boolean) | undefined;
73
73
  }
74
74
  /**
75
75
  * Declarative, composable group rows for niko-table bodies.
@@ -19,7 +19,7 @@ export interface DataTableRowContextMenuSlotProps<TData extends RowData> {
19
19
  * menu (e.g. locked/browse-only rows). Table-level gating (e.g. "no manage
20
20
  * permission") is better done by simply not rendering the slot at all.
21
21
  */
22
- enabledFor?: (row: TData) => boolean;
22
+ enabledFor?: ((row: TData) => boolean) | undefined;
23
23
  }
24
24
  /**
25
25
  * Declarative, composable row context menu for niko-table bodies.
@@ -23,7 +23,7 @@ export interface DataTableRowContextMenuProps {
23
23
  */
24
24
  children: React$1.ReactNode;
25
25
  /** Extra className for the popup surface. */
26
- className?: string;
26
+ className?: string | undefined;
27
27
  }
28
28
  /**
29
29
  * Attaches a right-click context menu to a single data-table row.
@@ -4,18 +4,18 @@ import { ReactNode } from "react";
4
4
  * Feature requirements that components can declare
5
5
  */
6
6
  export interface FeatureRequirements {
7
- enableFilters?: boolean;
8
- enablePagination?: boolean;
9
- enableRowSelection?: boolean;
10
- enableSorting?: boolean;
11
- enableMultiSort?: boolean;
12
- enableGrouping?: boolean;
13
- enableExpanding?: boolean;
14
- enableColumnResizing?: boolean;
15
- manualSorting?: boolean;
16
- manualPagination?: boolean;
17
- manualFiltering?: boolean;
18
- pageCount?: number;
7
+ enableFilters?: boolean | undefined;
8
+ enablePagination?: boolean | undefined;
9
+ enableRowSelection?: boolean | undefined;
10
+ enableSorting?: boolean | undefined;
11
+ enableMultiSort?: boolean | undefined;
12
+ enableGrouping?: boolean | undefined;
13
+ enableExpanding?: boolean | undefined;
14
+ enableColumnResizing?: boolean | undefined;
15
+ manualSorting?: boolean | undefined;
16
+ manualPagination?: boolean | undefined;
17
+ manualFiltering?: boolean | undefined;
18
+ pageCount?: number | undefined;
19
19
  }
20
20
  /**
21
21
  * Walks the React tree to aggregate feature requirements declared by child
@@ -23,7 +23,7 @@ export interface FeatureRequirements {
23
23
  */
24
24
  export declare function detectFeaturesFromChildren(children: ReactNode, columns?: Array<{
25
25
  header?: unknown;
26
- enableColumnFilter?: boolean;
26
+ enableColumnFilter?: boolean | undefined;
27
27
  }>): FeatureRequirements;
28
28
  /**
29
29
  * Register a component's feature requirements
@@ -9,7 +9,7 @@ export type DataTableContextState = {
9
9
  export type ScrollAlign = "auto" | "start" | "center" | "end";
10
10
  /** Scroll a row into view by its position in the current row model. */
11
11
  export type ScrollRowIntoView = (index: number, opts?: {
12
- align?: ScrollAlign;
12
+ align?: ScrollAlign | undefined;
13
13
  }) => void;
14
14
  /**
15
15
  * The active-selection SPAN for a grid-style cross-highlight — EVERY column
@@ -34,9 +34,9 @@ export interface ActiveSelection {
34
34
  export type ActiveCell = ActiveSelection | null;
35
35
  export interface FlashRowsOptions {
36
36
  /** How long the highlight lasts, ms. Default 1400. */
37
- durationMs?: number;
37
+ durationMs?: number | undefined;
38
38
  /** Scroll the first flashed row into view first. Default true. */
39
- scrollIntoView?: boolean;
39
+ scrollIntoView?: boolean | undefined;
40
40
  }
41
41
  /**
42
42
  * Briefly highlight rows (by id) so users see what just changed — e.g. after a
@@ -163,8 +163,8 @@ export interface CompactColumns {
163
163
  interface DataTableProviderProps<TData extends RowData> {
164
164
  children: React.ReactNode;
165
165
  table: DataTableInstance<TData>;
166
- columns?: DataTableColumnDef<TData>[];
167
- isLoading?: boolean;
166
+ columns?: DataTableColumnDef<TData>[] | undefined;
167
+ isLoading?: boolean | undefined;
168
168
  isCompact: boolean;
169
169
  onWidthChange: (width: number) => void;
170
170
  compactColumns: CompactColumns | null;
@@ -12,17 +12,17 @@ export interface DataTableErrorBoundaryProps {
12
12
  /**
13
13
  * Callback fired when an error is caught
14
14
  */
15
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
15
+ onError?: ((error: Error, errorInfo: React.ErrorInfo) => void) | undefined;
16
16
  /**
17
17
  * Whether to show a reset button
18
18
  * @default true
19
19
  */
20
- showResetButton?: boolean;
20
+ showResetButton?: boolean | undefined;
21
21
  /**
22
22
  * Custom reset button text
23
23
  * @default "Try Again"
24
24
  */
25
- resetButtonText?: string;
25
+ resetButtonText?: string | undefined;
26
26
  }
27
27
  interface DataTableErrorBoundaryState {
28
28
  hasError: boolean;
@@ -38,12 +38,12 @@ export interface GroupedBodyRowProps<TData extends RowData = RowData> {
38
38
  * usually a different height from a leaf row, so it has to be measured
39
39
  * rather than assumed — without this the rows below it drift.
40
40
  */
41
- measureRef?: (node: HTMLTableRowElement | null) => void;
41
+ measureRef?: ((node: HTMLTableRowElement | null) => void) | undefined;
42
42
  /**
43
43
  * Virtualized bodies only: the row's index in the virtual window, which the
44
44
  * virtualizer reads back off the DOM as `data-index`.
45
45
  */
46
- virtualIndex?: number;
46
+ virtualIndex?: number | undefined;
47
47
  }
48
48
  export declare const GroupedBodyRow: <TData extends RowData = RowData>(props: GroupedBodyRowProps<TData>) => React.JSX.Element;
49
49
  //#endregion