@rfdtech/components 1.15.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +86 -31
  2. package/dist/components/app-header/AppHeader.d.ts +2 -2
  3. package/dist/components/app-header/AppHeader.d.ts.map +1 -1
  4. package/dist/components/app-header/AppHeaderProfile.d.ts.map +1 -1
  5. package/dist/components/app-header/AppHeaderSearch.d.ts.map +1 -1
  6. package/dist/components/app-layout/AppBody.d.ts +2 -2
  7. package/dist/components/app-layout/AppBody.d.ts.map +1 -1
  8. package/dist/components/app-layout/AppLayout.d.ts +5 -1
  9. package/dist/components/app-layout/AppLayout.d.ts.map +1 -1
  10. package/dist/components/app-layout/AppLayoutInner.d.ts +8 -0
  11. package/dist/components/app-layout/AppLayoutInner.d.ts.map +1 -0
  12. package/dist/components/app-layout/AppSidebar.d.ts +2 -3
  13. package/dist/components/app-layout/AppSidebar.d.ts.map +1 -1
  14. package/dist/components/avatar/Avatar.d.ts +4 -0
  15. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  16. package/dist/components/avatar/index.d.ts +3 -0
  17. package/dist/components/avatar/index.d.ts.map +1 -0
  18. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  19. package/dist/components/breadcrumb/breadcrumb-context.d.ts +17 -0
  20. package/dist/components/breadcrumb/breadcrumb-context.d.ts.map +1 -0
  21. package/dist/components/breadcrumb/index.d.ts +2 -0
  22. package/dist/components/breadcrumb/index.d.ts.map +1 -1
  23. package/dist/components/bulk-import-modal/BulkImportModal.d.ts +1 -1
  24. package/dist/components/bulk-import-modal/BulkImportModal.d.ts.map +1 -1
  25. package/dist/components/bulk-import-modal/constants.d.ts +8 -0
  26. package/dist/components/bulk-import-modal/constants.d.ts.map +1 -0
  27. package/dist/components/bulk-import-modal/hooks/useBulkImportFlow.d.ts.map +1 -1
  28. package/dist/components/bulk-import-modal/index.d.ts +5 -4
  29. package/dist/components/bulk-import-modal/index.d.ts.map +1 -1
  30. package/dist/components/bulk-import-modal/internal/FieldMappingSelect.d.ts +5 -1
  31. package/dist/components/bulk-import-modal/internal/FieldMappingSelect.d.ts.map +1 -1
  32. package/dist/components/bulk-import-modal/steps/MatchColumnsStep.d.ts +2 -1
  33. package/dist/components/bulk-import-modal/steps/MatchColumnsStep.d.ts.map +1 -1
  34. package/dist/components/bulk-import-modal/steps/SelectHeaderRowStep.d.ts.map +1 -1
  35. package/dist/components/bulk-import-modal/steps/UploadStep.d.ts +4 -2
  36. package/dist/components/bulk-import-modal/steps/UploadStep.d.ts.map +1 -1
  37. package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts +8 -10
  38. package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts.map +1 -1
  39. package/dist/components/bulk-import-modal/utils/mapRowsToRecords.d.ts +1 -0
  40. package/dist/components/bulk-import-modal/utils/mapRowsToRecords.d.ts.map +1 -1
  41. package/dist/components/bulk-import-modal/utils/parseSpreadsheetFile.d.ts +4 -0
  42. package/dist/components/bulk-import-modal/utils/parseSpreadsheetFile.d.ts.map +1 -1
  43. package/dist/components/bulk-import-modal/utils/validateMappedRows.d.ts +2 -1
  44. package/dist/components/bulk-import-modal/utils/validateMappedRows.d.ts.map +1 -1
  45. package/dist/components/bulk-import-modal/utils/validateRowsChunked.d.ts +11 -0
  46. package/dist/components/bulk-import-modal/utils/validateRowsChunked.d.ts.map +1 -0
  47. package/dist/components/card/Card.d.ts +4 -1
  48. package/dist/components/card/Card.d.ts.map +1 -1
  49. package/dist/components/card/index.d.ts +2 -2
  50. package/dist/components/card/index.d.ts.map +1 -1
  51. package/dist/components/command/Command.d.ts.map +1 -1
  52. package/dist/components/command/CommandPopoverContext.d.ts +15 -0
  53. package/dist/components/command/CommandPopoverContext.d.ts.map +1 -0
  54. package/dist/components/date-range-selector/DateRangeSelector.d.ts.map +1 -1
  55. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  56. package/dist/components/dropdown/Dropdown.d.ts +1 -1
  57. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  58. package/dist/components/form/Form.d.ts.map +1 -1
  59. package/dist/components/metric-card/MetricCard.d.ts.map +1 -1
  60. package/dist/components/modal/Modal.d.ts.map +1 -1
  61. package/dist/components/modal/index.d.ts +1 -1
  62. package/dist/components/modal/index.d.ts.map +1 -1
  63. package/dist/components/phone-number-input/PhoneNumberInput.d.ts.map +1 -1
  64. package/dist/components/sidebar/Sidebar.d.ts +1 -1
  65. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  66. package/dist/components/sidebar/SidebarContext.d.ts.map +1 -1
  67. package/dist/components/sortable/Sortable.d.ts.map +1 -1
  68. package/dist/components/sortable/SortableContext.d.ts.map +1 -1
  69. package/dist/components/table/ProgressModal.d.ts +13 -0
  70. package/dist/components/table/ProgressModal.d.ts.map +1 -0
  71. package/dist/components/table/Table.d.ts +2 -15
  72. package/dist/components/table/Table.d.ts.map +1 -1
  73. package/dist/components/table/TableHeader.d.ts +4 -0
  74. package/dist/components/table/TableHeader.d.ts.map +1 -1
  75. package/dist/components/table/TablePagination.d.ts.map +1 -1
  76. package/dist/components/table/index.d.ts +2 -2
  77. package/dist/components/table/index.d.ts.map +1 -1
  78. package/dist/components/theme/ThemeProvider.d.ts +1 -1
  79. package/dist/components/theme/ThemeProvider.d.ts.map +1 -1
  80. package/dist/components/tooltip/Tooltip.d.ts +4 -0
  81. package/dist/components/tooltip/Tooltip.d.ts.map +1 -0
  82. package/dist/components/tooltip/Tooltip.test.d.ts +2 -0
  83. package/dist/components/tooltip/Tooltip.test.d.ts.map +1 -0
  84. package/dist/components/tooltip/index.d.ts +3 -0
  85. package/dist/components/tooltip/index.d.ts.map +1 -0
  86. package/dist/components/upload-field/UploadField.d.ts.map +1 -1
  87. package/dist/hooks/index.d.ts +2 -0
  88. package/dist/hooks/index.d.ts.map +1 -1
  89. package/dist/hooks/useComposedRefs.d.ts +14 -0
  90. package/dist/hooks/useComposedRefs.d.ts.map +1 -0
  91. package/dist/hooks/useConfirmBeforeUnload.d.ts +9 -0
  92. package/dist/hooks/useConfirmBeforeUnload.d.ts.map +1 -0
  93. package/dist/hooks/useTableState.d.ts.map +1 -1
  94. package/dist/index.cjs +50 -198
  95. package/dist/index.css +1 -1
  96. package/dist/index.d.ts +3 -0
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +16532 -13235
  99. package/dist/test/mocks/lottie-react.d.ts +2 -0
  100. package/dist/test/mocks/lottie-react.d.ts.map +1 -0
  101. package/dist/types/avatar.d.ts +18 -0
  102. package/dist/types/avatar.d.ts.map +1 -0
  103. package/dist/types/bulk-import-modal.d.ts +38 -15
  104. package/dist/types/bulk-import-modal.d.ts.map +1 -1
  105. package/dist/types/button.d.ts +1 -1
  106. package/dist/types/button.d.ts.map +1 -1
  107. package/dist/types/card.d.ts +10 -8
  108. package/dist/types/card.d.ts.map +1 -1
  109. package/dist/types/checkbox.d.ts +1 -1
  110. package/dist/types/checkbox.d.ts.map +1 -1
  111. package/dist/types/dropdown.d.ts +2 -0
  112. package/dist/types/dropdown.d.ts.map +1 -1
  113. package/dist/types/metric-card.d.ts +4 -0
  114. package/dist/types/metric-card.d.ts.map +1 -1
  115. package/dist/types/modal.d.ts +5 -0
  116. package/dist/types/modal.d.ts.map +1 -1
  117. package/dist/types/sidebar.d.ts +4 -2
  118. package/dist/types/sidebar.d.ts.map +1 -1
  119. package/dist/types/table.d.ts +17 -2
  120. package/dist/types/table.d.ts.map +1 -1
  121. package/dist/types/theme.d.ts +2 -0
  122. package/dist/types/theme.d.ts.map +1 -1
  123. package/dist/types/tooltip.d.ts +13 -0
  124. package/dist/types/tooltip.d.ts.map +1 -0
  125. package/dist/utils/stringToColor.d.ts +9 -0
  126. package/dist/utils/stringToColor.d.ts.map +1 -0
  127. package/package.json +39 -16
@@ -0,0 +1,2 @@
1
+ export default function Lottie(): null;
2
+ //# sourceMappingURL=lottie-react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lottie-react.d.ts","sourceRoot":"","sources":["../../../src/test/mocks/lottie-react.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,MAAM,SAE7B"}
@@ -0,0 +1,18 @@
1
+ import type { HTMLAttributes } from "react";
2
+ export type AvatarSize = "sm" | "md" | "lg";
3
+ export interface AvatarClassNames {
4
+ root?: string;
5
+ image?: string;
6
+ initials?: string;
7
+ }
8
+ export interface AvatarProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
9
+ /** Name used for initials fallback and gradient color. */
10
+ name: string;
11
+ /** Image URL. When provided and loads successfully, image is shown. */
12
+ src?: string;
13
+ /** Preset size or arbitrary pixel value (e.g. 48). */
14
+ size?: AvatarSize | number;
15
+ classNames?: AvatarClassNames;
16
+ className?: string;
17
+ }
18
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/types/avatar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACnF,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -16,6 +16,10 @@ export interface BulkImportField {
16
16
  description?: string;
17
17
  example?: string;
18
18
  trim?: boolean;
19
+ /** Mark this field as a unique key for duplicate row detection. */
20
+ unique?: boolean;
21
+ /** Alternate strings for optimistic column matching (case-insensitive) */
22
+ matchKeys?: string[];
19
23
  validate?: (value: string) => string | null;
20
24
  }
21
25
  export interface BulkImportValidationError {
@@ -39,6 +43,8 @@ export interface BulkImportModalProps {
39
43
  maxFileSizeBytes?: number;
40
44
  allowImportWithWarnings?: boolean;
41
45
  className?: string;
46
+ /** Seed initial flow state for progress preservation across open/close cycles. */
47
+ defaultState?: BulkImportFlowDefaultState;
42
48
  }
43
49
  export interface SourceColumn {
44
50
  index: number;
@@ -48,18 +54,36 @@ export interface ParsedSpreadsheet {
48
54
  rows: string[][];
49
55
  fileName: string;
50
56
  }
51
- export type BulkImportStep = 1 | 2 | 3 | 4;
57
+ export declare enum BulkImportStep {
58
+ UPLOAD = 1,
59
+ SELECT_HEADER_ROW = 2,
60
+ MATCH_COLUMNS = 3,
61
+ VALIDATE_DATA = 4
62
+ }
52
63
  /** Maps source column index to target field key */
53
64
  export type SourceColumnMapping = Record<number, string | null>;
54
65
  /** @deprecated Use SourceColumnMapping — kept for backwards compatibility */
55
66
  export type ColumnMapping = Record<string, number | null>;
67
+ /** Preservable subset of flow state for seeding initial values. */
68
+ export interface BulkImportFlowDefaultState {
69
+ step?: BulkImportStep;
70
+ parsed?: ParsedSpreadsheet | null;
71
+ headerRowIndex?: number | null;
72
+ sourceColumnMapping?: SourceColumnMapping;
73
+ excludedColumns?: number[];
74
+ discardedRows?: number[];
75
+ editableRows?: Record<string, string>[];
76
+ }
56
77
  export interface UseBulkImportFlowOptions {
57
78
  fields: BulkImportField[];
58
79
  maxFileSizeBytes?: number;
59
80
  open: boolean;
81
+ /** Seed initial flow state for progress preservation across open/close cycles. */
82
+ defaultState?: BulkImportFlowDefaultState;
60
83
  }
61
84
  export interface UseBulkImportFlowReturn {
62
85
  step: BulkImportStep;
86
+ maxStep: BulkImportStep;
63
87
  parsed: ParsedSpreadsheet | null;
64
88
  parseError: string | null;
65
89
  headerRowIndex: number | null;
@@ -70,27 +94,26 @@ export interface UseBulkImportFlowReturn {
70
94
  editableRows: Record<string, string>[];
71
95
  validationErrors: BulkImportValidationError[];
72
96
  validationWarnings: BulkImportValidationError[];
73
- selectedRowIds: number[];
74
- showOnlyErrors: boolean;
75
97
  discardedRows: number[];
76
- canGoNext: boolean;
77
98
  canImport: boolean;
78
99
  isParsing: boolean;
79
- setHeaderRowIndex: (index: number) => void;
80
- setSourceColumnMapping: (mapping: SourceColumnMapping) => void;
81
- updateSourceMapping: (sourceIndex: number, fieldKey: string | null) => void;
82
- toggleExcludedColumn: (sourceIndex: number) => void;
83
- setSelectedRowIds: (rowIds: number[]) => void;
84
- toggleRowSelection: (rowId: number) => void;
85
- setVisibleRowsSelection: (rowIds: number[], selected: boolean) => void;
86
- setShowOnlyErrors: (value: boolean) => void;
87
- discardSelectedRows: () => void;
88
- updateRowValue: (rowId: number, fieldKey: string, value: string) => void;
100
+ isProcessingLarge: boolean;
101
+ processingProgress: number;
102
+ processingTotal: number;
103
+ uploadedFile: File | null;
104
+ discardSelectedRows: (ids: number[]) => void;
105
+ resetDiscardedRows: () => void;
106
+ applyEdits: (dirtyCells: Record<string, string>) => void;
89
107
  handleFile: (file: File) => Promise<void>;
90
- goNext: () => void;
108
+ goNext: (draft?: {
109
+ headerRowIndex?: number | null;
110
+ sourceColumnMapping?: SourceColumnMapping;
111
+ excludedColumns?: number[];
112
+ }) => void;
91
113
  goBack: () => void;
92
114
  goToStep: (step: BulkImportStep) => void;
93
115
  reset: () => void;
94
116
  buildResult: () => BulkImportResult;
117
+ removeFile: () => void;
95
118
  }
96
119
  //# sourceMappingURL=bulk-import-modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-import-modal.d.ts","sourceRoot":"","sources":["../../src/types/bulk-import-modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bulk-import-modal.d.ts","sourceRoot":"","sources":["../../src/types/bulk-import-modal.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ButtonHTMLAttributes, ReactNode } from "react";
2
- export type ButtonVariant = "primary" | "secondary" | "outline" | "ghost";
2
+ export type ButtonVariant = "primary" | "secondary" | "outline" | "ghost" | "destructive" | "primary-destructive" | "success";
3
3
  export type ButtonSize = "sm" | "md" | "lg";
4
4
  export interface ButtonClassNames {
5
5
  root?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/types/button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/types/button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;AAE9H,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -1,12 +1,14 @@
1
- import type { ReactNode, HTMLAttributes } from "react";
2
- export interface CardClassNames {
3
- root?: string;
4
- header?: string;
5
- body?: string;
6
- }
1
+ import type { HTMLAttributes, ReactNode } from "react";
7
2
  export interface CardProps extends HTMLAttributes<HTMLDivElement> {
8
- classNames?: CardClassNames;
9
- header?: ReactNode;
3
+ children?: ReactNode;
4
+ }
5
+ export interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {
6
+ children?: ReactNode;
7
+ }
8
+ export interface CardTitleProps extends HTMLAttributes<HTMLHeadingElement> {
9
+ children?: ReactNode;
10
+ }
11
+ export interface CardActionsProps extends HTMLAttributes<HTMLDivElement> {
10
12
  children?: ReactNode;
11
13
  }
12
14
  //# sourceMappingURL=card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/types/card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/types/card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACtE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
@@ -7,7 +7,7 @@ export interface CheckboxClassNames {
7
7
  label?: string;
8
8
  }
9
9
  export interface CheckboxProps {
10
- checked?: boolean;
10
+ checked?: boolean | "indeterminate";
11
11
  defaultChecked?: boolean;
12
12
  onCheckedChange?: (checked: boolean) => void;
13
13
  label?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/types/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/types/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from "react";
1
2
  export interface DropdownOption {
2
3
  value: string;
3
4
  label: string;
@@ -19,6 +20,7 @@ export interface DropdownProps {
19
20
  disabled?: boolean;
20
21
  invalid?: boolean;
21
22
  "aria-label"?: string;
23
+ formatOption?: (option: DropdownOption | null, state: "selected" | "idle" | "empty") => ReactNode;
22
24
  classNames?: DropdownClassNames;
23
25
  className?: string;
24
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/types/dropdown.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/types/dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC;IAClG,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -21,6 +21,10 @@ export interface MetricCardProps extends HTMLAttributes<HTMLDivElement> {
21
21
  trend?: MetricTrend;
22
22
  /** Formatted trend text (e.g. "+12.5%") */
23
23
  trendValue?: string;
24
+ /** Enable count-up animation from 0 to the target value on mount and value change */
25
+ animate?: boolean;
26
+ /** Duration of the count-up animation in ms (default: 1500) */
27
+ animationDuration?: number;
24
28
  classNames?: MetricCardClassNames;
25
29
  className?: string;
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metric-card.d.ts","sourceRoot":"","sources":["../../src/types/metric-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"metric-card.d.ts","sourceRoot":"","sources":["../../src/types/metric-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,kDAAkD;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,5 +1,6 @@
1
1
  import type { ComponentPropsWithoutRef } from "react";
2
2
  import type * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ export type ModalSize = "sm" | "md" | "lg" | "xl" | "2xl";
3
4
  export interface ModalOverlayClassNames {
4
5
  overlay?: string;
5
6
  }
@@ -13,6 +14,10 @@ export interface ModalContentClassNames {
13
14
  export interface ModalContentProps extends DialogPrimitive.DialogContentProps {
14
15
  classNames?: ModalContentClassNames;
15
16
  showCloseButton?: boolean;
17
+ size?: ModalSize;
18
+ preventClose?: boolean;
19
+ preventCloseTitle?: string;
20
+ preventCloseDescription?: string;
16
21
  }
17
22
  export interface ModalHeaderClassNames {
18
23
  header?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/types/modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBACf,SAAQ,eAAe,CAAC,kBAAkB;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBACf,SAAQ,eAAe,CAAC,kBAAkB;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC1E,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe,CAAC,gBAAgB;IACvE,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBACf,SAAQ,eAAe,CAAC,sBAAsB;IAC9C,UAAU,CAAC,EAAE,0BAA0B,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACrE,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC1E,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC"}
1
+ {"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/types/modal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAG/D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBACf,SAAQ,eAAe,CAAC,kBAAkB;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBACf,SAAQ,eAAe,CAAC,kBAAkB;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC1E,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe,CAAC,gBAAgB;IACvE,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBACf,SAAQ,eAAe,CAAC,sBAAsB;IAC9C,UAAU,CAAC,EAAE,0BAA0B,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACrE,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC1E,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC"}
@@ -1,4 +1,4 @@
1
- import type { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
1
+ import type { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
2
2
  export interface SidebarProviderClassNames {
3
3
  root?: string;
4
4
  }
@@ -118,10 +118,12 @@ export interface SidebarBadgeProps {
118
118
  className?: string;
119
119
  children: ReactNode;
120
120
  }
121
- export interface SidebarLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
121
+ export interface SidebarLinkProps extends ButtonHTMLAttributes<HTMLButtonElement> {
122
122
  active?: boolean;
123
123
  asChild?: boolean;
124
124
  icon?: ReactNode;
125
+ /** If provided, renders as a react-router `<Link>` with this path */
126
+ to?: string;
125
127
  classNames?: SidebarLinkClassNames;
126
128
  className?: string;
127
129
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/types/sidebar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/types/sidebar.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ export interface TableSortState {
20
20
  column: string;
21
21
  direction: SortDirection;
22
22
  }
23
+ export interface TableRowAction<T> {
24
+ id: string;
25
+ label: string;
26
+ icon?: ReactNode;
27
+ onClick: (row: T) => void;
28
+ variant?: "default" | "destructive";
29
+ /** If provided, must return true for the action to appear for this row */
30
+ condition?: (row: T) => boolean;
31
+ }
23
32
  export interface TableBulkAction {
24
33
  id: string;
25
34
  label: string;
@@ -62,6 +71,7 @@ export interface TableProps extends HTMLAttributes<HTMLDivElement> {
62
71
  className?: string;
63
72
  /** URL param namespace shared by all child table components */
64
73
  paramPrefix: string;
74
+ height?: number;
65
75
  }
66
76
  export interface TableHeaderProps extends HTMLAttributes<HTMLDivElement> {
67
77
  className?: string;
@@ -77,10 +87,14 @@ export interface TableContentProps<T = unknown> extends HTMLAttributes<HTMLDivEl
77
87
  loadingRows?: number;
78
88
  /** Show a checkbox selection column (default false) */
79
89
  selectable?: boolean;
80
- /** Set of selected row keys. Required with onSelectionChange when selectable. */
90
+ /** Current set of selected row keys. Pass with onSelectionChange for controlled mode. Required for TableBulkActions sync. */
81
91
  selectedIds?: Set<string | number>;
82
- /** Called when selection changes. Required with selectedIds when selectable. */
92
+ /** Called when selection changes with the full set of selected row keys */
83
93
  onSelectionChange?: (selectedIds: Set<string | number>) => void;
94
+ /** Row-level actions rendered as a kebab dropdown at the end of each row */
95
+ rowActions?: TableRowAction<T>[];
96
+ /** Row height in px. Set this to enable virtual scrolling. Parent <Table> must have a height set. */
97
+ virtualRowHeight?: number;
84
98
  }
85
99
  export interface TableFooterProps extends HTMLAttributes<HTMLDivElement> {
86
100
  className?: string;
@@ -103,6 +117,7 @@ export interface PaginationControlsProps {
103
117
  totalPages: number;
104
118
  totalItems?: number;
105
119
  pageSizeOptions?: number[];
120
+ defaultPageSize?: number;
106
121
  visiblePages?: number;
107
122
  className?: string;
108
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export interface ThemeProviderProps {
5
5
  theme?: GslTheme;
6
6
  defaultTheme?: GslTheme;
7
7
  onThemeChange?: (theme: GslTheme) => void;
8
+ /** localStorage key for persisting theme across sessions. Omit for no persistence. */
9
+ storageKey?: string;
8
10
  className?: string;
9
11
  style?: CSSProperties;
10
12
  children: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from "react";
2
+ export interface TooltipClassNames {
3
+ root?: string;
4
+ content?: string;
5
+ }
6
+ export interface TooltipProps {
7
+ content: ReactNode;
8
+ side?: "top" | "right" | "bottom" | "left";
9
+ classNames?: TooltipClassNames;
10
+ className?: string;
11
+ children: ReactNode;
12
+ }
13
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/types/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Deterministic hue from a string (0-360). Same string always produces the same hue.
3
+ */
4
+ export declare function stringToHue(str: string): number;
5
+ /**
6
+ * Subtle pastel gradient from a string — pastel in light mode, richer in dark.
7
+ */
8
+ export declare function gradientFromString(str: string, theme?: string): string;
9
+ //# sourceMappingURL=stringToColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringToColor.d.ts","sourceRoot":"","sources":["../../src/utils/stringToColor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAUtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rfdtech/components",
3
- "version": "1.15.0",
3
+ "version": "1.21.0",
4
4
  "description": "Shared React component library for Ghana School of Law (GSL) projects",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -37,19 +37,31 @@
37
37
  ],
38
38
  "scripts": {
39
39
  "build": "vite build && tsc -p tsconfig.build.json",
40
- "dev": "vite --config vite.demo.config.ts",
41
- "demo": "vite --config vite.demo.config.ts",
40
+ "dev": "vite-react-ssg dev -c vite.demo.config.ts",
41
+ "demo": "vite-react-ssg build -c vite.demo.config.ts",
42
42
  "test": "vitest run",
43
43
  "test:watch": "vitest",
44
+ "lint": "eslint .",
45
+ "lint:css": "stylelint 'src/**/*.css' --max-warnings 0",
46
+ "lint:css:fix": "stylelint 'src/**/*.css' --fix",
44
47
  "typecheck": "tsc --noEmit",
45
- "prepublishOnly": "npm run typecheck && npm run test && npm run build"
48
+ "prepublishOnly": "npm run lint:css && npm run lint && npm run typecheck && npm run test && npm run build"
46
49
  },
47
50
  "peerDependencies": {
51
+ "@hookform/resolvers": ">=3.0.0",
52
+ "@radix-ui/react-alert-dialog": "^1.1.0",
53
+ "@radix-ui/react-checkbox": "^1.3.0",
54
+ "@radix-ui/react-dialog": "^1.1.0",
55
+ "@radix-ui/react-popover": "^1.1.0",
56
+ "@radix-ui/react-radio-group": "^1.4.0",
57
+ "@radix-ui/react-select": "^2.3.0",
58
+ "@radix-ui/react-tabs": "^1.1.0",
59
+ "lucide-react": ">=1.0.0",
48
60
  "react": ">=18.0.0",
49
61
  "react-dom": ">=18.0.0",
50
62
  "react-hook-form": ">=7.0.0",
51
- "zod": ">=3.0.0",
52
- "@hookform/resolvers": ">=3.0.0"
63
+ "react-router-dom": ">=7.0.0",
64
+ "zod": ">=3.0.0"
53
65
  },
54
66
  "peerDependenciesMeta": {
55
67
  "react-hook-form": {
@@ -63,29 +75,45 @@
63
75
  }
64
76
  },
65
77
  "devDependencies": {
78
+ "@eslint/js": "^10.0.1",
66
79
  "@fontsource-variable/geist": "^5.2.9",
67
80
  "@fontsource-variable/geist-mono": "^5.2.8",
68
81
  "@hookform/resolvers": "^5.4.0",
69
82
  "@mdx-js/react": "^3.1.1",
70
83
  "@mdx-js/rollup": "^3.1.1",
84
+ "@radix-ui/react-alert-dialog": "^1.1.16",
85
+ "@radix-ui/react-checkbox": "^1.3.4",
86
+ "@radix-ui/react-dialog": "^1.1.16",
87
+ "@radix-ui/react-popover": "^1.1.16",
88
+ "@radix-ui/react-radio-group": "^1.4.0",
89
+ "@radix-ui/react-select": "^2.3.0",
90
+ "@radix-ui/react-tabs": "^1.1.14",
71
91
  "@testing-library/jest-dom": "^6.9.1",
72
92
  "@testing-library/react": "^16.3.2",
73
93
  "@testing-library/user-event": "^14.6.1",
94
+ "@types/express": "^5.0.6",
74
95
  "@types/react": "^19.1.8",
75
96
  "@types/react-dom": "^19.1.6",
76
- "@vitejs/plugin-react": "^4.6.0",
97
+ "@vitejs/plugin-react": "^5.0.0",
98
+ "eslint": "^10.5.0",
99
+ "eslint-plugin-react-hooks": "^7.1.1",
77
100
  "jsdom": "^29.1.1",
101
+ "lucide-react": "^1.18.0",
78
102
  "react": "^19.2.7",
79
103
  "react-dom": "^19.2.7",
80
104
  "react-hook-form": "^7.58.1",
81
- "react-router-dom": "^7.17.0",
105
+ "react-router-dom": "^6.30.4",
82
106
  "rehype-pretty-code": "^0.14.3",
83
107
  "remark-gfm": "^4.0.1",
84
108
  "shiki": "^4.2.0",
109
+ "stylelint": "^17.13.0",
110
+ "stylelint-config-standard": "^40.0.0",
85
111
  "typescript": "^5.8.3",
112
+ "typescript-eslint": "^8.61.1",
86
113
  "vite": "^6.3.5",
87
114
  "vite-plugin-dts": "^4.5.4",
88
115
  "vite-plugin-lib-inject-css": "^2.2.2",
116
+ "vite-react-ssg": "^0.9.1-beta.1",
89
117
  "vitest": "^4.1.8",
90
118
  "zod": "^4.4.3"
91
119
  },
@@ -107,15 +135,10 @@
107
135
  "@dnd-kit/core": "^6.3.1",
108
136
  "@dnd-kit/sortable": "^10.0.0",
109
137
  "@dnd-kit/utilities": "^3.2.2",
110
- "@radix-ui/react-alert-dialog": "^1.1.16",
111
- "@radix-ui/react-checkbox": "^1.3.4",
112
- "@radix-ui/react-dialog": "^1.1.16",
113
- "@radix-ui/react-popover": "^1.1.16",
114
- "@radix-ui/react-radio-group": "^1.4.0",
115
- "@radix-ui/react-select": "^2.3.0",
116
- "@radix-ui/react-tabs": "^1.1.14",
138
+ "@tanstack/react-virtual": "^3.14.3",
117
139
  "cmdk": "^1.1.1",
118
- "lucide-react": "^1.18.0",
140
+ "libphonenumber-js": "^1.13.7",
141
+ "lottie-react": "^2.4.1",
119
142
  "sonner": "^2.0.7",
120
143
  "xlsx": "^0.18.5"
121
144
  }