torch-glare 2.4.0 → 2.4.1

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 (264) hide show
  1. package/README.md +8 -0
  2. package/apps/lib/components/ActionButton.tsx +7 -12
  3. package/apps/lib/components/ActionsGroup.tsx +4 -15
  4. package/apps/lib/components/AlertDialog.tsx +173 -191
  5. package/apps/lib/components/Avatar.tsx +13 -16
  6. package/apps/lib/components/Badge.tsx +1 -3
  7. package/apps/lib/components/BadgeField.tsx +76 -71
  8. package/apps/lib/components/Breadcrumb.tsx +49 -85
  9. package/apps/lib/components/Button.tsx +20 -19
  10. package/apps/lib/components/ButtonGroup.tsx +31 -41
  11. package/apps/lib/components/Calendar.tsx +51 -29
  12. package/apps/lib/components/Card.tsx +2 -13
  13. package/apps/lib/components/ChartBlockTool.ts +17 -52
  14. package/apps/lib/components/Checkbox.tsx +9 -16
  15. package/apps/lib/components/ContextMenu.tsx +97 -96
  16. package/apps/lib/components/CountBadge.tsx +4 -6
  17. package/apps/lib/components/DataTable.tsx +196 -216
  18. package/apps/lib/components/DataViews/DataViewRadio.tsx +1 -6
  19. package/apps/lib/components/DataViews/DataViewsConfigPanel.tsx +13 -47
  20. package/apps/lib/components/DataViews/DataViewsHeader.tsx +1 -3
  21. package/apps/lib/components/DataViews/DataViewsLayout.tsx +5 -12
  22. package/apps/lib/components/DataViews/FilterPanel.tsx +155 -149
  23. package/apps/lib/components/DataViews/HeaderSearch.tsx +1 -5
  24. package/apps/lib/components/DataViews/InboxView.tsx +22 -68
  25. package/apps/lib/components/DataViews/InboxViewCard.tsx +68 -77
  26. package/apps/lib/components/DataViews/KanbanView.tsx +8 -25
  27. package/apps/lib/components/DataViews/PanelControls.tsx +3 -13
  28. package/apps/lib/components/DataViews/SettingsPanel.tsx +83 -89
  29. package/apps/lib/components/DataViews/TableView.tsx +8 -28
  30. package/apps/lib/components/DataViews/TreeView.tsx +12 -40
  31. package/apps/lib/components/DataViews/badgeAdapter.ts +32 -28
  32. package/apps/lib/components/DataViews/fieldRenderers.tsx +106 -141
  33. package/apps/lib/components/DataViews/filters/DatePickerRangeFilter.tsx +30 -23
  34. package/apps/lib/components/DataViews/filters/DateRangePopover.tsx +39 -32
  35. package/apps/lib/components/DataViews/filters/PresetChips.tsx +15 -15
  36. package/apps/lib/components/DataViews/filters/RangeSliderWithInputs.tsx +69 -58
  37. package/apps/lib/components/DataViews/index.ts +26 -26
  38. package/apps/lib/components/DataViews/tree/TreeDrawer.tsx +12 -16
  39. package/apps/lib/components/DataViews/tree/TreeSidebar.tsx +28 -31
  40. package/apps/lib/components/DataViews/types.ts +104 -115
  41. package/apps/lib/components/DatePicker.tsx +198 -196
  42. package/apps/lib/components/Dialog.tsx +92 -105
  43. package/apps/lib/components/Divider.tsx +21 -24
  44. package/apps/lib/components/Drawer.tsx +79 -139
  45. package/apps/lib/components/DropdownMenu.tsx +131 -171
  46. package/apps/lib/components/FieldHint.tsx +4 -11
  47. package/apps/lib/components/Form.tsx +146 -155
  48. package/apps/lib/components/FormStepper.tsx +9 -39
  49. package/apps/lib/components/HeaderBar.tsx +1 -9
  50. package/apps/lib/components/ImageAttachment.tsx +111 -73
  51. package/apps/lib/components/InnerLabelField.tsx +20 -16
  52. package/apps/lib/components/Input.tsx +171 -172
  53. package/apps/lib/components/InputField.tsx +44 -45
  54. package/apps/lib/components/InputOTP.tsx +68 -69
  55. package/apps/lib/components/Label.tsx +31 -35
  56. package/apps/lib/components/LabelField.tsx +4 -5
  57. package/apps/lib/components/LabeledCheckBox.tsx +8 -12
  58. package/apps/lib/components/LabeledRadio.tsx +7 -5
  59. package/apps/lib/components/LinkButton.tsx +2 -9
  60. package/apps/lib/components/LoginButton.tsx +4 -9
  61. package/apps/lib/components/PasswordLevel.tsx +5 -5
  62. package/apps/lib/components/Popover.tsx +15 -33
  63. package/apps/lib/components/ProfileMenu.tsx +67 -72
  64. package/apps/lib/components/Radio.tsx +1 -5
  65. package/apps/lib/components/RadioCard.tsx +9 -28
  66. package/apps/lib/components/ScrollArea.tsx +45 -43
  67. package/apps/lib/components/SearchField.tsx +49 -39
  68. package/apps/lib/components/SearchableSelect.tsx +8 -14
  69. package/apps/lib/components/SearchableTable.tsx +108 -118
  70. package/apps/lib/components/SearchableTree.tsx +469 -0
  71. package/apps/lib/components/SearchableTreeDialog.tsx +493 -0
  72. package/apps/lib/components/SectionBlock.tsx +4 -16
  73. package/apps/lib/components/Select.tsx +53 -80
  74. package/apps/lib/components/SimpleSelect.tsx +196 -187
  75. package/apps/lib/components/Skeleton.tsx +9 -12
  76. package/apps/lib/components/SlideDatePicker.tsx +215 -166
  77. package/apps/lib/components/SpinLoading.tsx +33 -49
  78. package/apps/lib/components/Stepper.tsx +13 -56
  79. package/apps/lib/components/Switch.tsx +8 -10
  80. package/apps/lib/components/TabFormItem.tsx +3 -12
  81. package/apps/lib/components/TabSwitch.tsx +7 -34
  82. package/apps/lib/components/Table.tsx +60 -75
  83. package/apps/lib/components/TableDnDWrapper.ts +15 -48
  84. package/apps/lib/components/TextEditor.tsx +93 -104
  85. package/apps/lib/components/Textarea.tsx +8 -12
  86. package/apps/lib/components/Timeline.tsx +21 -41
  87. package/apps/lib/components/Toast.tsx +83 -83
  88. package/apps/lib/components/Toggle.tsx +112 -114
  89. package/apps/lib/components/ToggleButton.tsx +1 -1
  90. package/apps/lib/components/Tooltip.tsx +24 -19
  91. package/apps/lib/components/TransparentLabel.tsx +61 -62
  92. package/apps/lib/components/TreeDropDown.tsx +86 -52
  93. package/apps/lib/components/TreeFolder/TreeFolder.tsx +15 -48
  94. package/apps/lib/components/TreeFolder/TreeFolderBreadcrumb.tsx +16 -21
  95. package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +9 -20
  96. package/apps/lib/components/TreeFolder/TreeFolderStyles.tsx +3 -3
  97. package/apps/lib/components/TreeFolder/icons.tsx +14 -17
  98. package/apps/lib/components/TreeFolder/index.ts +15 -8
  99. package/apps/lib/components/TreeFolder/treeFolderUtils.ts +47 -52
  100. package/apps/lib/components/TreeFolder/types.ts +32 -32
  101. package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +117 -123
  102. package/apps/lib/hooks/useActiveTreeItem.ts +52 -55
  103. package/apps/lib/hooks/useClickOutside.ts +21 -20
  104. package/apps/lib/hooks/useDataViewsState.ts +86 -80
  105. package/apps/lib/hooks/useIsMobile.ts +12 -12
  106. package/apps/lib/hooks/useResize.ts +54 -65
  107. package/apps/lib/hooks/useTagSelection.ts +201 -201
  108. package/apps/lib/layouts/CNLayout.tsx +181 -140
  109. package/apps/lib/layouts/DataViewCard.tsx +4 -18
  110. package/apps/lib/layouts/FieldSection.tsx +2 -6
  111. package/apps/lib/layouts/TreeSubLayout.tsx +24 -38
  112. package/apps/lib/providers/ThemeProvider.tsx +8 -23
  113. package/apps/lib/registry.json +1004 -0
  114. package/apps/lib/tsconfig.json +9 -0
  115. package/apps/lib/utils/cn.ts +1 -1
  116. package/apps/lib/utils/dataViews/columnUtils.ts +46 -44
  117. package/apps/lib/utils/dataViews/fieldUtils.ts +70 -71
  118. package/apps/lib/utils/dataViews/nestedDataUtils.tsx +129 -122
  119. package/apps/lib/utils/dataViews/pathUtils.ts +74 -67
  120. package/apps/lib/utils/dataViews/rangeUtils.ts +121 -112
  121. package/apps/lib/utils/dataViews/treeUtils.ts +204 -211
  122. package/apps/lib/utils/dateFormat.ts +64 -54
  123. package/apps/lib/utils/markdownParser.ts +2 -7
  124. package/apps/lib/utils/resize.ts +21 -25
  125. package/apps/lib/utils/types.ts +13 -13
  126. package/dist/bin/index.js +8 -2
  127. package/dist/bin/index.js.map +1 -1
  128. package/dist/src/shared/getAvailableFiles.d.ts.map +1 -1
  129. package/dist/src/shared/getAvailableFiles.js +6 -1
  130. package/dist/src/shared/getAvailableFiles.js.map +1 -1
  131. package/dist/src/shared/loadRegistry.d.ts +7 -0
  132. package/dist/src/shared/loadRegistry.d.ts.map +1 -0
  133. package/dist/src/shared/loadRegistry.js +31 -0
  134. package/dist/src/shared/loadRegistry.js.map +1 -0
  135. package/dist/src/shared/resolveInstallPlan.d.ts +12 -0
  136. package/dist/src/shared/resolveInstallPlan.d.ts.map +1 -0
  137. package/dist/src/shared/resolveInstallPlan.js +39 -0
  138. package/dist/src/shared/resolveInstallPlan.js.map +1 -0
  139. package/dist/src/types/main.d.ts +24 -0
  140. package/dist/src/types/main.d.ts.map +1 -1
  141. package/docs/README.md +10 -2
  142. package/docs/components/action-button.md +30 -24
  143. package/docs/components/actions-group.md +26 -20
  144. package/docs/components/alert-dialog.md +45 -45
  145. package/docs/components/avatar.md +6 -2
  146. package/docs/components/badge-field.md +6 -2
  147. package/docs/components/badge.md +7 -1
  148. package/docs/components/breadcrumb.md +15 -40
  149. package/docs/components/button-group.md +13 -10
  150. package/docs/components/button.md +58 -33
  151. package/docs/components/calendar.md +26 -19
  152. package/docs/components/card.md +19 -16
  153. package/docs/components/chart-block-tool.md +128 -0
  154. package/docs/components/checkbox.md +16 -8
  155. package/docs/components/cn-layout.md +7 -1
  156. package/docs/components/context-menu.md +18 -25
  157. package/docs/components/count-badge.md +7 -1
  158. package/docs/components/data-table.md +45 -33
  159. package/docs/components/data-views-config-panel.md +15 -11
  160. package/docs/components/data-views-layout.md +13 -16
  161. package/docs/components/date-picker.md +30 -23
  162. package/docs/components/dialog.md +43 -42
  163. package/docs/components/divider.md +10 -4
  164. package/docs/components/drawer.md +8 -33
  165. package/docs/components/dropdown-menu.md +25 -34
  166. package/docs/components/field-hint.md +37 -25
  167. package/docs/components/field-section.md +9 -3
  168. package/docs/components/form-stepper.md +6 -0
  169. package/docs/components/form.md +17 -20
  170. package/docs/components/header-bar.md +6 -0
  171. package/docs/components/image-attachment.md +33 -41
  172. package/docs/components/inbox-view.md +16 -5
  173. package/docs/components/inner-label-field.md +34 -24
  174. package/docs/components/input-field.md +18 -10
  175. package/docs/components/input-otp.md +14 -11
  176. package/docs/components/input.md +22 -16
  177. package/docs/components/kanban-view.md +15 -5
  178. package/docs/components/label-field.md +32 -22
  179. package/docs/components/label.md +43 -32
  180. package/docs/components/labeled-check-box.md +16 -8
  181. package/docs/components/labeled-radio.md +18 -11
  182. package/docs/components/link-button.md +7 -1
  183. package/docs/components/login-button.md +8 -2
  184. package/docs/components/password-level.md +37 -24
  185. package/docs/components/popover.md +26 -23
  186. package/docs/components/profile-menu.md +38 -27
  187. package/docs/components/radio-card.md +16 -9
  188. package/docs/components/radio.md +16 -8
  189. package/docs/components/scroll-area.md +6 -2
  190. package/docs/components/search-field.md +14 -6
  191. package/docs/components/searchable-select.md +19 -14
  192. package/docs/components/searchable-table.md +18 -13
  193. package/docs/components/searchable-tree-dialog.md +190 -0
  194. package/docs/components/searchable-tree.md +200 -0
  195. package/docs/components/section-block.md +12 -4
  196. package/docs/components/select.md +23 -18
  197. package/docs/components/simple-select.md +14 -10
  198. package/docs/components/skeleton.md +43 -33
  199. package/docs/components/slide-date-picker.md +37 -29
  200. package/docs/components/spin-loading.md +32 -23
  201. package/docs/components/stepper.md +6 -0
  202. package/docs/components/switch.md +14 -6
  203. package/docs/components/tab-form-item.md +7 -1
  204. package/docs/components/tab-switch.md +13 -6
  205. package/docs/components/table-dnd-wrapper.md +105 -0
  206. package/docs/components/table-view.md +15 -5
  207. package/docs/components/table.md +28 -28
  208. package/docs/components/text-editor.md +19 -13
  209. package/docs/components/textarea.md +15 -7
  210. package/docs/components/timeline.md +6 -0
  211. package/docs/components/toast.md +35 -26
  212. package/docs/components/toggle-button.md +24 -21
  213. package/docs/components/toggle.md +23 -15
  214. package/docs/components/tooltip.md +42 -30
  215. package/docs/components/transparent-label.md +29 -20
  216. package/docs/components/tree-drop-down.md +31 -23
  217. package/docs/components/tree-sub-layout.md +6 -2
  218. package/docs/components/tree-view.md +16 -5
  219. package/docs/explanation/architecture.md +54 -0
  220. package/docs/explanation/design-system.md +52 -0
  221. package/docs/how-to/data-views-from-backend-response.md +6 -4
  222. package/docs/how-to/guides.md +24 -18
  223. package/docs/migration/changelog.md +38 -0
  224. package/docs/reference/cli.md +87 -0
  225. package/docs/reference/components.md +11 -12
  226. package/docs/reference/hooks.md +8 -8
  227. package/docs/reference/providers.md +22 -22
  228. package/docs/reference/tailwind-plugins.md +2 -2
  229. package/docs/reference/theme.md +85 -0
  230. package/docs/reference/types.md +4 -4
  231. package/docs/reference/utilities.md +19 -26
  232. package/docs/tutorials/building-first-form.md +20 -13
  233. package/docs/tutorials/component-composition.md +34 -50
  234. package/docs/tutorials/getting-started.md +2 -2
  235. package/docs/tutorials/theming-basics.md +13 -10
  236. package/package.json +31 -3
  237. package/dist/src/commands/block.d.ts +0 -5
  238. package/dist/src/commands/block.d.ts.map +0 -1
  239. package/dist/src/commands/block.js +0 -255
  240. package/dist/src/commands/block.js.map +0 -1
  241. package/dist/src/shared/configureFonts.d.ts +0 -6
  242. package/dist/src/shared/configureFonts.d.ts.map +0 -1
  243. package/dist/src/shared/configureFonts.js +0 -106
  244. package/dist/src/shared/configureFonts.js.map +0 -1
  245. package/dist/src/shared/configureGlobalCss.d.ts +0 -6
  246. package/dist/src/shared/configureGlobalCss.d.ts.map +0 -1
  247. package/dist/src/shared/configureGlobalCss.js +0 -154
  248. package/dist/src/shared/configureGlobalCss.js.map +0 -1
  249. package/dist/src/shared/configureTailwind.d.ts +0 -7
  250. package/dist/src/shared/configureTailwind.d.ts.map +0 -1
  251. package/dist/src/shared/configureTailwind.js +0 -163
  252. package/dist/src/shared/configureTailwind.js.map +0 -1
  253. package/dist/src/shared/detectFramework.d.ts +0 -23
  254. package/dist/src/shared/detectFramework.d.ts.map +0 -1
  255. package/dist/src/shared/detectFramework.js +0 -119
  256. package/dist/src/shared/detectFramework.js.map +0 -1
  257. package/dist/src/shared/installBaseUtils.d.ts +0 -5
  258. package/dist/src/shared/installBaseUtils.d.ts.map +0 -1
  259. package/dist/src/shared/installBaseUtils.js +0 -79
  260. package/dist/src/shared/installBaseUtils.js.map +0 -1
  261. package/dist/src/shared/resolveAliases.d.ts +0 -24
  262. package/dist/src/shared/resolveAliases.d.ts.map +0 -1
  263. package/dist/src/shared/resolveAliases.js +0 -98
  264. package/dist/src/shared/resolveAliases.js.map +0 -1
@@ -1,68 +1,61 @@
1
- import type React from "react"
1
+ import type React from "react";
2
2
 
3
- export type ViewType = "table" | "kanban" | "inbox" | "tree"
3
+ export type ViewType = "table" | "kanban" | "inbox" | "tree";
4
4
 
5
5
  export type TreeConfig = {
6
- childrenField?: string
7
- parentField?: string
8
- idField?: string
9
- orderField?: string
10
- nodeLabel?: string
11
- defaultExpanded?: "all" | "roots" | "none"
6
+ childrenField?: string;
7
+ parentField?: string;
8
+ idField?: string;
9
+ orderField?: string;
10
+ nodeLabel?: string;
11
+ defaultExpanded?: "all" | "roots" | "none";
12
12
  /** Right-pane mode for the selected tree node. `"details"` is accepted as a
13
13
  * deprecated alias of `"card"` for backward compatibility. */
14
- defaultRightPane?: "table" | "card" | "details"
15
- dndEnabled?: boolean
16
- }
14
+ defaultRightPane?: "table" | "card" | "details";
15
+ dndEnabled?: boolean;
16
+ };
17
17
 
18
18
  export type ViewVisibility = {
19
- table?: boolean
20
- kanban?: boolean
21
- inbox?: boolean
22
- tree?: boolean
23
- }
19
+ table?: boolean;
20
+ kanban?: boolean;
21
+ inbox?: boolean;
22
+ tree?: boolean;
23
+ };
24
24
 
25
- export type DynamicRecord = Record<string, any>
25
+ export type DynamicRecord = Record<string, unknown>;
26
26
 
27
27
  export type DynamicColumnConfig = {
28
- id: string
29
- label: string
30
- visible: boolean
31
- order: number
32
- type?: "text" | "number" | "date" | "badge" | "array" | "boolean"
33
- render?: (value: any, row: DynamicRecord) => React.ReactNode
34
- }
28
+ id: string;
29
+ label: string;
30
+ visible: boolean;
31
+ order: number;
32
+ type?: "text" | "number" | "date" | "badge" | "array" | "boolean";
33
+ render?: (value: unknown, row: DynamicRecord) => React.ReactNode;
34
+ };
35
35
 
36
36
  export type DynamicFilterConfig = {
37
- id: string
38
- label?: string
39
- enabled?: boolean
40
- order?: number
41
- options?: string[] | { label: string; value: string }[]
42
- render?: (value: string, isSelected: boolean) => React.ReactNode
43
- onChange?: (selectedValues: string[]) => void
44
- }
45
-
46
- export type NumericRangeFilter = { kind: "number"; min?: number; max?: number }
47
- export type DateRangeFilter = { kind: "date"; from?: string; to?: string }
48
- export type RangeFilter = NumericRangeFilter | DateRangeFilter
49
- export type FilterValue = string[] | RangeFilter
50
- export type FilterState = Record<string, FilterValue>
37
+ id: string;
38
+ label?: string;
39
+ enabled?: boolean;
40
+ order?: number;
41
+ options?: string[] | { label: string; value: string }[];
42
+ render?: (value: string, isSelected: boolean) => React.ReactNode;
43
+ onChange?: (selectedValues: string[]) => void;
44
+ };
45
+
46
+ export type NumericRangeFilter = { kind: "number"; min?: number; max?: number };
47
+ export type DateRangeFilter = { kind: "date"; from?: string; to?: string };
48
+ export type RangeFilter = NumericRangeFilter | DateRangeFilter;
49
+ export type FilterValue = string[] | RangeFilter;
50
+ export type FilterState = Record<string, FilterValue>;
51
51
 
52
52
  export type FieldPreset =
53
- | { label: string; min?: number; max?: number }
54
- | { label: string; from?: string; to?: string }
53
+ { label: string; min?: number; max?: number } | { label: string; from?: string; to?: string };
55
54
 
56
55
  // Palette keys for the Kanban column header pill. Kept in lockstep with
57
56
  // `COLUMN_PALETTE` in KanbanView.tsx so consumers can pick a color per status
58
57
  // via `FieldConfig.kanbanVariants`.
59
- export type KanbanColumnColor =
60
- | "gray"
61
- | "purple"
62
- | "orange"
63
- | "blue"
64
- | "green"
65
- | "red"
58
+ export type KanbanColumnColor = "gray" | "purple" | "orange" | "blue" | "green" | "red";
66
59
 
67
60
  export type BadgeVariant =
68
61
  | "green"
@@ -77,7 +70,7 @@ export type BadgeVariant =
77
70
  | "blue"
78
71
  | "navy"
79
72
  | "gray"
80
- | "highlight"
73
+ | "highlight";
81
74
 
82
75
  export type FieldType =
83
76
  | "text"
@@ -96,70 +89,66 @@ export type FieldType =
96
89
  | "avatar"
97
90
  | "link"
98
91
  | "image"
99
- | "date-format"
92
+ | "date-format";
100
93
 
101
94
  export type CurrencyOptions = {
102
- symbol?: string
103
- locale?: string
104
- decimals?: number
105
- code?: string
106
- }
95
+ symbol?: string;
96
+ locale?: string;
97
+ decimals?: number;
98
+ code?: string;
99
+ };
107
100
 
108
101
  export type FieldConfig = {
109
- path: string
110
- label?: string
111
- type?: FieldType
112
- visible?: boolean
113
- order?: number
102
+ path: string;
103
+ label?: string;
104
+ type?: FieldType;
105
+ visible?: boolean;
106
+ order?: number;
114
107
 
115
- variants?: Record<string, BadgeVariant>
116
- defaultVariant?: BadgeVariant
108
+ variants?: Record<string, BadgeVariant>;
109
+ defaultVariant?: BadgeVariant;
117
110
 
118
111
  // Per-status overrides for the Kanban board view. Keys must match
119
112
  // `variants` keys (or any value present in the data). Lets consumers set a
120
113
  // human-friendly column title and pick a column pill color without affecting
121
114
  // the badge color used elsewhere.
122
- kanbanVariants?: Record<
123
- string,
124
- { label?: string; color?: KanbanColumnColor }
125
- >
126
-
115
+ kanbanVariants?: Record<string, { label?: string; color?: KanbanColumnColor }>;
127
116
 
128
- variant?: BadgeVariant
129
- limit?: number
117
+ variant?: BadgeVariant;
118
+ limit?: number;
130
119
 
131
- currency?: string | CurrencyOptions
132
- format?: Intl.NumberFormatOptions
120
+ currency?: string | CurrencyOptions;
121
+ format?: Intl.NumberFormatOptions;
133
122
 
134
- thresholds?: [number, number]
123
+ thresholds?: [number, number];
135
124
 
136
- max?: number
125
+ max?: number;
137
126
 
138
- icon?: string
139
- iconPosition?: "before" | "after"
127
+ icon?: string;
128
+ iconPosition?: "before" | "after";
140
129
 
141
- secondaryPath?: string
130
+ secondaryPath?: string;
142
131
 
143
- linkType?: "mailto" | "tel" | "url"
132
+ linkType?: "mailto" | "tel" | "url";
144
133
 
145
- fallbackPath?: string
134
+ fallbackPath?: string;
146
135
 
147
- dateFormat?: string | Intl.DateTimeFormatOptions
136
+ dateFormat?: string | Intl.DateTimeFormatOptions;
148
137
 
149
- trueLabel?: string
150
- falseLabel?: string
151
- trueVariant?: BadgeVariant
152
- falseVariant?: BadgeVariant
138
+ trueLabel?: string;
139
+ falseLabel?: string;
140
+ trueVariant?: BadgeVariant;
141
+ falseVariant?: BadgeVariant;
153
142
 
154
- filterable?: boolean
155
- filterLabel?: string
156
- filterOptions?: string[] | { label: string; value: string }[]
143
+ filterable?: boolean;
144
+ filterLabel?: string;
145
+ filterOptions?: string[] | { label: string; value: string }[];
157
146
  /**
158
147
  * Categorical filter selection mode.
159
148
  * - "multi" (default): checkboxes, multi-select. FilterValue is the array of picked options.
160
149
  * - "single": radios, single-select. FilterValue is a 1-element array.
161
150
  */
162
- filterMode?: "single" | "multi"
151
+ filterMode?: "single" | "multi";
163
152
  /**
164
153
  * Categorical filter control style.
165
154
  * - "checkbox" (default): inline list of checkboxes (multi) or radios (single).
@@ -167,41 +156,41 @@ export type FieldConfig = {
167
156
  * when a field has many options. Implies single-select; the FilterValue is
168
157
  * a 1-element array (or empty when cleared).
169
158
  */
170
- filterVariant?: "checkbox" | "searchable-select"
171
- presets?: FieldPreset[]
172
- rangeMin?: number
173
- rangeMax?: number
174
- rangeStep?: number
175
- onFilterChange?: (value: FilterValue) => void
159
+ filterVariant?: "checkbox" | "searchable-select";
160
+ presets?: FieldPreset[];
161
+ rangeMin?: number;
162
+ rangeMax?: number;
163
+ rangeStep?: number;
164
+ onFilterChange?: (value: FilterValue) => void;
176
165
 
177
- render?: (value: any, row: DynamicRecord) => React.ReactNode
178
- }
166
+ render?: (value: unknown, row: DynamicRecord) => React.ReactNode;
167
+ };
179
168
 
180
169
  export type InboxConfig = {
181
- starredField?: string | null
182
- readField?: string | null
183
- attachmentField?: string | null
184
- priorityField?: string | null
185
- titlePath?: string
186
- previewPath?: string
187
- }
170
+ starredField?: string | null;
171
+ readField?: string | null;
172
+ attachmentField?: string | null;
173
+ priorityField?: string | null;
174
+ titlePath?: string;
175
+ previewPath?: string;
176
+ };
188
177
 
189
178
  export type ColumnConfig = {
190
- id: string
191
- label: string
192
- visible: boolean
193
- order: number
194
- }
179
+ id: string;
180
+ label: string;
181
+ visible: boolean;
182
+ order: number;
183
+ };
195
184
 
196
185
  export type ViewConfig = {
197
- defaultView: ViewType
198
- tableColumns: ColumnConfig[]
199
- kanbanGroupBy: string
200
- showFilters: boolean
201
- showPreviewPane: boolean
202
- sortBy: string
203
- sortOrder: "asc" | "desc"
204
- }
186
+ defaultView: ViewType;
187
+ tableColumns: ColumnConfig[];
188
+ kanbanGroupBy: string;
189
+ showFilters: boolean;
190
+ showPreviewPane: boolean;
191
+ sortBy: string;
192
+ sortOrder: "asc" | "desc";
193
+ };
205
194
 
206
195
  export const defaultConfig: ViewConfig = {
207
196
  defaultView: "table",
@@ -211,4 +200,4 @@ export const defaultConfig: ViewConfig = {
211
200
  showPreviewPane: true,
212
201
  sortBy: "",
213
202
  sortOrder: "desc",
214
- }
203
+ };