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
@@ -4,14 +4,12 @@ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
4
  import { cn } from "../utils/cn";
5
5
  import { Themes } from "../utils/types";
6
6
 
7
-
8
7
  interface DropdownMenuProps {
9
8
  variant?: "PresentationStyle";
10
9
  className?: string;
11
- theme?: Themes
10
+ theme?: Themes;
12
11
  }
13
12
 
14
-
15
13
  const DropdownMenu = DropdownMenuPrimitive.Root;
16
14
 
17
15
  const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
@@ -19,7 +17,7 @@ const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
19
17
  const DropdownMenuGroup = React.forwardRef<
20
18
  React.ElementRef<typeof DropdownMenuPrimitive.Group>,
21
19
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Group> &
22
- VariantProps<typeof menuGroupStyles>
20
+ VariantProps<typeof menuGroupStyles>
23
21
  >(({ className, variant = "Boxed", ...props }, ref) => (
24
22
  <DropdownMenuPrimitive.Group
25
23
  ref={ref}
@@ -36,7 +34,7 @@ const DropdownMenuSub = DropdownMenuPrimitive.Sub;
36
34
  const DropdownMenuRadioGroup = React.forwardRef<
37
35
  React.ElementRef<typeof DropdownMenuPrimitive.RadioGroup>,
38
36
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioGroup> &
39
- VariantProps<typeof menuGroupStyles>
37
+ VariantProps<typeof menuGroupStyles>
40
38
  >(({ className, variant = "Boxed", ...props }, ref) => (
41
39
  <DropdownMenuPrimitive.RadioGroup
42
40
  ref={ref}
@@ -44,13 +42,12 @@ const DropdownMenuRadioGroup = React.forwardRef<
44
42
  {...props}
45
43
  />
46
44
  ));
47
- DropdownMenuRadioGroup.displayName =
48
- DropdownMenuPrimitive.RadioGroup.displayName;
45
+ DropdownMenuRadioGroup.displayName = DropdownMenuPrimitive.RadioGroup.displayName;
49
46
 
50
47
  const DropdownMenuContent = React.forwardRef<
51
48
  React.ElementRef<typeof DropdownMenuPrimitive.Content>,
52
49
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &
53
- DropdownMenuProps & { autoGroup?: boolean; maxHeight?: number }
50
+ DropdownMenuProps & { autoGroup?: boolean; maxHeight?: number }
54
51
  >(
55
52
  (
56
53
  {
@@ -65,7 +62,7 @@ const DropdownMenuContent = React.forwardRef<
65
62
  children,
66
63
  ...props
67
64
  },
68
- ref
65
+ ref,
69
66
  ) => (
70
67
  <DropdownMenuPrimitive.Portal>
71
68
  <DropdownMenuPrimitive.Content
@@ -85,7 +82,7 @@ const DropdownMenuContent = React.forwardRef<
85
82
  {autoGroup ? autoGroupChildren(children) : children}
86
83
  </DropdownMenuPrimitive.Content>
87
84
  </DropdownMenuPrimitive.Portal>
88
- )
85
+ ),
89
86
  );
90
87
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
91
88
 
@@ -98,33 +95,28 @@ const DropdownMenuSubTrigger = React.forwardRef<
98
95
  (
99
96
  {
100
97
  className,
98
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
101
99
  inset,
102
100
  children,
103
101
  variant = "Default",
104
102
  size = "M",
105
103
  ...props
106
104
  },
107
- ref
105
+ ref,
108
106
  ) => (
109
107
  <DropdownMenuPrimitive.SubTrigger
110
108
  ref={ref}
111
- className={cn(
112
- MenuItemStyles({ variant, size }),
113
- "justify-between",
114
- className
115
- )}
109
+ className={cn(MenuItemStyles({ variant, size }), "justify-between", className)}
116
110
  {...props}
117
111
  >
118
- <div className="justify-between"><div className="flex gap-2">
119
- {children}
112
+ <div className="justify-between">
113
+ <div className="flex gap-2">{children}</div>
114
+ <i className="ri-arrow-right-s-line text-[16px] rtl:rotate-180"></i>
120
115
  </div>
121
- <i className="ri-arrow-right-s-line text-[16px] rtl:rotate-180"></i></div>
122
-
123
116
  </DropdownMenuPrimitive.SubTrigger>
124
- )
117
+ ),
125
118
  );
126
- DropdownMenuSubTrigger.displayName =
127
- DropdownMenuPrimitive.SubTrigger.displayName;
119
+ DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
128
120
 
129
121
  const DropdownMenuSubContent = React.forwardRef<
130
122
  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
@@ -132,30 +124,18 @@ const DropdownMenuSubContent = React.forwardRef<
132
124
  variant?: "PresentationStyle";
133
125
  autoGroup?: boolean;
134
126
  }
135
- >(
136
- (
137
- {
138
- className,
139
- variant = "PresentationStyle",
140
- autoGroup = true,
141
- children,
142
- ...props
143
- },
144
- ref
145
- ) => (
146
- <DropdownMenuPrimitive.Portal>
147
- <DropdownMenuPrimitive.SubContent
148
- ref={ref}
149
- className={cn(menuContentStyles({ variant }), className)}
150
- {...props}
151
- >
152
- {autoGroup ? autoGroupChildren(children) : children}
153
- </DropdownMenuPrimitive.SubContent>
154
- </DropdownMenuPrimitive.Portal>
155
- )
156
- );
157
- DropdownMenuSubContent.displayName =
158
- DropdownMenuPrimitive.SubContent.displayName;
127
+ >(({ className, variant = "PresentationStyle", autoGroup = true, children, ...props }, ref) => (
128
+ <DropdownMenuPrimitive.Portal>
129
+ <DropdownMenuPrimitive.SubContent
130
+ ref={ref}
131
+ className={cn(menuContentStyles({ variant }), className)}
132
+ {...props}
133
+ >
134
+ {autoGroup ? autoGroupChildren(children) : children}
135
+ </DropdownMenuPrimitive.SubContent>
136
+ </DropdownMenuPrimitive.Portal>
137
+ ));
138
+ DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
159
139
 
160
140
  const DropdownMenuItem = React.forwardRef<
161
141
  React.ElementRef<typeof DropdownMenuPrimitive.Item>,
@@ -166,6 +146,7 @@ const DropdownMenuItem = React.forwardRef<
166
146
  (
167
147
  {
168
148
  className,
149
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
169
150
  inset,
170
151
  children,
171
152
  variant = "Default",
@@ -173,126 +154,104 @@ const DropdownMenuItem = React.forwardRef<
173
154
  active,
174
155
  ...props
175
156
  },
176
- ref
157
+ ref,
177
158
  ) => (
178
159
  <DropdownMenuPrimitive.Item
179
160
  {...props}
180
161
  ref={ref}
181
- className={cn(
182
- MenuItemStyles({ variant, size, active }),
183
- className
184
- )}
162
+ className={cn(MenuItemStyles({ variant, size, active }), className)}
185
163
  >
186
- <div >{children}</div>
164
+ <div>{children}</div>
187
165
  </DropdownMenuPrimitive.Item>
188
- )
166
+ ),
189
167
  );
190
168
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
191
169
 
192
170
  const DropdownMenuCheckboxItem = React.forwardRef<
193
171
  React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,
194
172
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> &
195
- VariantProps<typeof MenuItemStyles>
196
- >(
197
- (
198
- {
199
- className,
200
- children,
201
- checked,
202
- variant = "Default",
203
- size = "M",
204
- onSelect,
205
- ...props
206
- },
207
- ref
208
- ) => (
209
- <DropdownMenuPrimitive.CheckboxItem
210
- ref={ref}
211
- className={cn(
212
- MenuItemStyles({ variant, size }),
213
- "relative",
214
- className
215
- )}
216
- checked={checked}
217
- // Keep the menu open when toggling; preventDefault stops Radix's auto-close.
218
- onSelect={(event) => {
219
- event.preventDefault();
220
- onSelect?.(event);
221
- }}
222
- {...props}
223
- >
224
-
225
- <div className="relative flex items-center">
226
- <span className="h-full flex items-center justify-center">
227
- {/* Red dot is the default; hidden once the item is checked. */}
228
- <div className=" flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
229
- <div className="w-[16px] h-[16px] rounded-[3px] border border-white-alpha-40 bg-black-alpha-15 group-hover:border-white-700 group-hover:bg-black-alpha-075">
230
- </div>
173
+ VariantProps<typeof MenuItemStyles>
174
+ >(({ className, children, checked, variant = "Default", size = "M", onSelect, ...props }, ref) => (
175
+ <DropdownMenuPrimitive.CheckboxItem
176
+ ref={ref}
177
+ className={cn(MenuItemStyles({ variant, size }), "relative", className)}
178
+ checked={checked}
179
+ // Keep the menu open when toggling; preventDefault stops Radix's auto-close.
180
+ onSelect={(event) => {
181
+ event.preventDefault();
182
+ onSelect?.(event);
183
+ }}
184
+ {...props}
185
+ >
186
+ <div className="relative flex items-center">
187
+ <span className="h-full flex items-center justify-center">
188
+ {/* Red dot is the default; hidden once the item is checked. */}
189
+ <div className=" flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
190
+ <div className="w-[16px] h-[16px] rounded-[3px] border border-white-alpha-40 bg-black-alpha-15 group-hover:border-white-700 group-hover:bg-black-alpha-075"></div>
191
+ </div>
192
+
193
+ {/* Blue dot only renders when the item is checked. */}
194
+ <DropdownMenuPrimitive.ItemIndicator>
195
+ <div className="bg-blue-sparkle-600 flex justify-center items-center w-[16px] h-[16px] rounded-[3px]">
196
+ <svg
197
+ xmlns="http://www.w3.org/2000/svg"
198
+ width="14"
199
+ height="14"
200
+ viewBox="0 0 14 14"
201
+ fill="none"
202
+ >
203
+ <path
204
+ d="M5.8339 8.84977L11.1961 3.48755L12.0211 4.3125L5.8339 10.4997L2.12158 6.7874L2.94654 5.96245L5.8339 8.84977Z"
205
+ fill="#F9F9F9"
206
+ />
207
+ </svg>
231
208
  </div>
232
-
233
- {/* Blue dot only renders when the item is checked. */}
234
- <DropdownMenuPrimitive.ItemIndicator>
235
- <div className="bg-blue-sparkle-600 flex justify-center items-center w-[16px] h-[16px] rounded-[3px]">
236
-
237
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
238
- <path d="M5.8339 8.84977L11.1961 3.48755L12.0211 4.3125L5.8339 10.4997L2.12158 6.7874L2.94654 5.96245L5.8339 8.84977Z" fill="#F9F9F9" />
239
- </svg>
240
- </div>
241
- </DropdownMenuPrimitive.ItemIndicator>
242
- </span> {children}</div>
243
- </DropdownMenuPrimitive.CheckboxItem>
244
- )
245
- );
246
- DropdownMenuCheckboxItem.displayName =
247
- DropdownMenuPrimitive.CheckboxItem.displayName;
209
+ </DropdownMenuPrimitive.ItemIndicator>
210
+ </span>{" "}
211
+ {children}
212
+ </div>
213
+ </DropdownMenuPrimitive.CheckboxItem>
214
+ ));
215
+ DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
248
216
 
249
217
  const DropdownMenuRadioItem = React.forwardRef<
250
218
  React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,
251
219
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> &
252
- VariantProps<typeof MenuItemStyles>
253
- >(
254
- (
255
- {
256
- className,
257
- children,
258
- variant = "Default",
259
- size = "M",
260
- onSelect,
261
- ...props
262
- },
263
- ref
264
- ) => (
265
- <DropdownMenuPrimitive.RadioItem
266
- ref={ref}
267
- className={cn(
268
- MenuItemStyles({ variant, size }),
269
- "relative",
270
- className
271
- )}
272
- // Keep the menu open when selecting; preventDefault stops Radix's auto-close.
273
- onSelect={(event) => {
274
- event.preventDefault();
275
- onSelect?.(event);
276
- }}
277
- {...props}
278
- >
279
- <div className="relative flex items-center">
280
- <span className="h-full left-2 flex h-3.5 w-3.5 items-center justify-center">
281
- {/* Red dot is the default; hidden once the item is checked. */}
282
- <div className=" flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
283
- <div className="w-[14px] h-[14px] rounded-[100px] border border-white-alpha-40 bg-black-alpha-15 group-hover:border-white-700 group-hover:bg-black-alpha-075">
284
- </div>
285
- </div>
286
- <DropdownMenuPrimitive.ItemIndicator>
287
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 14" fill="none">
288
- <rect width="14" height="14" rx="7" fill="#005ECC" />
289
- <rect x="5" y="5" width="4" height="4" rx="2" fill="white" />
290
- </svg> </DropdownMenuPrimitive.ItemIndicator>
291
- </span>
292
- {children} </div>
293
- </DropdownMenuPrimitive.RadioItem>
294
- )
295
- );
220
+ VariantProps<typeof MenuItemStyles>
221
+ >(({ className, children, variant = "Default", size = "M", onSelect, ...props }, ref) => (
222
+ <DropdownMenuPrimitive.RadioItem
223
+ ref={ref}
224
+ className={cn(MenuItemStyles({ variant, size }), "relative", className)}
225
+ // Keep the menu open when selecting; preventDefault stops Radix's auto-close.
226
+ onSelect={(event) => {
227
+ event.preventDefault();
228
+ onSelect?.(event);
229
+ }}
230
+ {...props}
231
+ >
232
+ <div className="relative flex items-center">
233
+ <span className="h-full left-2 flex h-3.5 w-3.5 items-center justify-center">
234
+ {/* Red dot is the default; hidden once the item is checked. */}
235
+ <div className=" flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
236
+ <div className="w-[14px] h-[14px] rounded-[100px] border border-white-alpha-40 bg-black-alpha-15 group-hover:border-white-700 group-hover:bg-black-alpha-075"></div>
237
+ </div>
238
+ <DropdownMenuPrimitive.ItemIndicator>
239
+ <svg
240
+ xmlns="http://www.w3.org/2000/svg"
241
+ width="14"
242
+ height="16"
243
+ viewBox="0 0 14 14"
244
+ fill="none"
245
+ >
246
+ <rect width="14" height="14" rx="7" fill="#005ECC" />
247
+ <rect x="5" y="5" width="4" height="4" rx="2" fill="white" />
248
+ </svg>{" "}
249
+ </DropdownMenuPrimitive.ItemIndicator>
250
+ </span>
251
+ {children}{" "}
252
+ </div>
253
+ </DropdownMenuPrimitive.RadioItem>
254
+ ));
296
255
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
297
256
 
298
257
  // Item types that should be boxed together when sitting loose in the menu.
@@ -307,9 +266,7 @@ const GROUPABLE_TYPES = [
307
266
 
308
267
  const isGroupable = (child: React.ReactNode): child is React.ReactElement =>
309
268
  React.isValidElement(child) &&
310
- (GROUPABLE_TYPES as readonly React.ElementType[]).includes(
311
- child.type as React.ElementType
312
- );
269
+ (GROUPABLE_TYPES as readonly React.ElementType[]).includes(child.type as React.ElementType);
313
270
 
314
271
  // Wraps consecutive runs of loose items in a Boxed DropdownMenuGroup so items
315
272
  // render inside a container even when the consumer doesn't write one. Labels,
@@ -323,7 +280,7 @@ function autoGroupChildren(children: React.ReactNode): React.ReactNode {
323
280
  out.push(
324
281
  <DropdownMenuGroup key={key} variant="Boxed">
325
282
  {run}
326
- </DropdownMenuGroup>
283
+ </DropdownMenuGroup>,
327
284
  );
328
285
  run = [];
329
286
  };
@@ -346,25 +303,28 @@ const DropdownMenuLabel = React.forwardRef<
346
303
  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
347
304
  inset?: boolean;
348
305
  }
349
- >(({ className, inset, ...props }, ref) => (
350
- <DropdownMenuPrimitive.Label
351
- ref={ref}
352
- className={cn(
353
- "text-content-presentation-global-primary-light typography-body-small-medium px-[12px] pt-1 flex justify-start items-center",
354
- className
355
- )}
356
- {...props}
357
- />
358
- ));
306
+ >(
307
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
308
+ ({ className, inset, ...props }, ref) => (
309
+ <DropdownMenuPrimitive.Label
310
+ ref={ref}
311
+ className={cn(
312
+ "text-content-presentation-global-primary-light typography-body-small-medium px-[12px] pt-1 flex justify-start items-center",
313
+ className,
314
+ )}
315
+ {...props}
316
+ />
317
+ ),
318
+ );
359
319
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
360
320
 
361
- const DropdownMenuShortcut = ({
362
- className,
363
- ...props
364
- }: React.HTMLAttributes<HTMLSpanElement>) => {
321
+ const DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {
365
322
  return (
366
323
  <span
367
- className={cn("ltr:ml-auto rtl:mr-auto rtl:ml-0 text-xs tracking-widest opacity-60", className)}
324
+ className={cn(
325
+ "ltr:ml-auto rtl:mr-auto rtl:ml-0 text-xs tracking-widest opacity-60",
326
+ className,
327
+ )}
368
328
  {...props}
369
329
  />
370
330
  );
@@ -487,7 +447,7 @@ export const MenuItemStyles = cva(
487
447
  className: ["text-content-presentation-state-negative"],
488
448
  },
489
449
  ],
490
- }
450
+ },
491
451
  );
492
452
 
493
453
  export const menuContentStyles = cva(
@@ -519,7 +479,7 @@ export const menuContentStyles = cva(
519
479
  variant: "PresentationStyle",
520
480
  },
521
481
  },
522
- }
482
+ },
523
483
  );
524
484
 
525
485
  export const menuGroupStyles = cva(["flex", "flex-col", "shrink-0"], {
@@ -20,7 +20,7 @@ export const glareFieldAlert = cva(
20
20
  defaultVariants: {
21
21
  state: "info",
22
22
  },
23
- }
23
+ },
24
24
  );
25
25
 
26
26
  type FieldAlertVariant = "success" | "error" | "warning" | "info";
@@ -29,17 +29,10 @@ interface Props extends HTMLAttributes<HTMLDivElement> {
29
29
  label: ReactNode;
30
30
  state?: FieldAlertVariant;
31
31
  icon?: ReactNode;
32
- theme?: Themes
32
+ theme?: Themes;
33
33
  }
34
34
 
35
- export const FieldHint: React.FC<Props> = ({
36
- label,
37
- state,
38
- theme,
39
- icon,
40
- className,
41
- ...props
42
- }) => {
35
+ export const FieldHint: React.FC<Props> = ({ label, state, theme, icon, className, ...props }) => {
43
36
  return (
44
37
  <section
45
38
  {...props}
@@ -48,7 +41,7 @@ export const FieldHint: React.FC<Props> = ({
48
41
  glareFieldAlert({
49
42
  state,
50
43
  }),
51
- className
44
+ className,
52
45
  )}
53
46
  >
54
47
  <section className="flex items-center justify-center min-w-[26px] min-h-[26px] h-full rounded-[4px] text-[18px]">