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
@@ -45,16 +45,12 @@ const ContextMenu = ({
45
45
  if (!isControlled) setOpenState(next);
46
46
  onOpenChange?.(next);
47
47
  },
48
- [isControlled, onOpenChange]
48
+ [isControlled, onOpenChange],
49
49
  );
50
50
 
51
51
  return (
52
52
  <ContextMenuOpenContext.Provider value={{ open: actualOpen, setOpen }}>
53
- <ContextMenuPrimitive.Root
54
- open={actualOpen}
55
- onOpenChange={setOpen}
56
- {...props}
57
- >
53
+ <ContextMenuPrimitive.Root open={actualOpen} onOpenChange={setOpen} {...props}>
58
54
  {children}
59
55
  </ContextMenuPrimitive.Root>
60
56
  </ContextMenuOpenContext.Provider>
@@ -96,7 +92,7 @@ const ContextMenuSub = ContextMenuPrimitive.Sub;
96
92
  const ContextMenuGroup = React.forwardRef<
97
93
  React.ElementRef<typeof ContextMenuPrimitive.Group>,
98
94
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Group> &
99
- VariantProps<typeof menuGroupStyles>
95
+ VariantProps<typeof menuGroupStyles>
100
96
  >(({ className, variant = "Boxed", ...props }, ref) => (
101
97
  <ContextMenuPrimitive.Group
102
98
  ref={ref}
@@ -109,7 +105,7 @@ ContextMenuGroup.displayName = ContextMenuPrimitive.Group.displayName;
109
105
  const ContextMenuRadioGroup = React.forwardRef<
110
106
  React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>,
111
107
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioGroup> &
112
- VariantProps<typeof menuGroupStyles>
108
+ VariantProps<typeof menuGroupStyles>
113
109
  >(({ className, variant = "Boxed", ...props }, ref) => (
114
110
  <ContextMenuPrimitive.RadioGroup
115
111
  ref={ref}
@@ -122,7 +118,7 @@ ContextMenuRadioGroup.displayName = ContextMenuPrimitive.RadioGroup.displayName;
122
118
  const ContextMenuContent = React.forwardRef<
123
119
  React.ElementRef<typeof ContextMenuPrimitive.Content>,
124
120
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content> &
125
- ContextMenuContentProps & { autoGroup?: boolean; maxHeight?: number }
121
+ ContextMenuContentProps & { autoGroup?: boolean; maxHeight?: number }
126
122
  >(
127
123
  (
128
124
  {
@@ -136,7 +132,7 @@ const ContextMenuContent = React.forwardRef<
136
132
  children,
137
133
  ...props
138
134
  },
139
- ref
135
+ ref,
140
136
  ) => (
141
137
  <ContextMenuPrimitive.Portal>
142
138
  <ContextMenuPrimitive.Content
@@ -155,7 +151,7 @@ const ContextMenuContent = React.forwardRef<
155
151
  {autoGroup ? autoGroupChildren(children) : children}
156
152
  </ContextMenuPrimitive.Content>
157
153
  </ContextMenuPrimitive.Portal>
158
- )
154
+ ),
159
155
  );
160
156
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
161
157
 
@@ -164,20 +160,19 @@ const ContextMenuSubTrigger = React.forwardRef<
164
160
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {
165
161
  inset?: boolean;
166
162
  } & VariantProps<typeof MenuItemStyles>
167
- >(
168
- ({ className, inset, children, variant = "Default", size = "M", ...props }, ref) => (
169
- <ContextMenuPrimitive.SubTrigger
170
- ref={ref}
171
- className={cn(MenuItemStyles({ variant, size }), "justify-between", className)}
172
- {...props}
173
- >
174
- <div className="justify-between">
175
- <div className="flex gap-2">{children}</div>
176
- <i className="ri-arrow-right-s-line text-[16px] rtl:rotate-180"></i>
177
- </div>
178
- </ContextMenuPrimitive.SubTrigger>
179
- )
180
- );
163
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- inset destructured to exclude it from spread
164
+ >(({ className, inset, children, variant = "Default", size = "M", ...props }, ref) => (
165
+ <ContextMenuPrimitive.SubTrigger
166
+ ref={ref}
167
+ className={cn(MenuItemStyles({ variant, size }), "justify-between", className)}
168
+ {...props}
169
+ >
170
+ <div className="justify-between">
171
+ <div className="flex gap-2">{children}</div>
172
+ <i className="ri-arrow-right-s-line text-[16px] rtl:rotate-180"></i>
173
+ </div>
174
+ </ContextMenuPrimitive.SubTrigger>
175
+ ));
181
176
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
182
177
 
183
178
  const ContextMenuSubContent = React.forwardRef<
@@ -186,19 +181,17 @@ const ContextMenuSubContent = React.forwardRef<
186
181
  variant?: "PresentationStyle";
187
182
  autoGroup?: boolean;
188
183
  }
189
- >(
190
- ({ className, variant = "PresentationStyle", autoGroup = true, children, ...props }, ref) => (
191
- <ContextMenuPrimitive.Portal>
192
- <ContextMenuPrimitive.SubContent
193
- ref={ref}
194
- className={cn(menuContentStyles({ variant }), className)}
195
- {...props}
196
- >
197
- {autoGroup ? autoGroupChildren(children) : children}
198
- </ContextMenuPrimitive.SubContent>
199
- </ContextMenuPrimitive.Portal>
200
- )
201
- );
184
+ >(({ className, variant = "PresentationStyle", autoGroup = true, children, ...props }, ref) => (
185
+ <ContextMenuPrimitive.Portal>
186
+ <ContextMenuPrimitive.SubContent
187
+ ref={ref}
188
+ className={cn(menuContentStyles({ variant }), className)}
189
+ {...props}
190
+ >
191
+ {autoGroup ? autoGroupChildren(children) : children}
192
+ </ContextMenuPrimitive.SubContent>
193
+ </ContextMenuPrimitive.Portal>
194
+ ));
202
195
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
203
196
 
204
197
  const ContextMenuItem = React.forwardRef<
@@ -206,63 +199,69 @@ const ContextMenuItem = React.forwardRef<
206
199
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {
207
200
  inset?: boolean;
208
201
  } & VariantProps<typeof MenuItemStyles>
209
- >(
210
- ({ className, inset, children, variant = "Default", size = "M", active, ...props }, ref) => (
211
- <ContextMenuPrimitive.Item
212
- {...props}
213
- ref={ref}
214
- className={cn(MenuItemStyles({ variant, size, active }), className)}
215
- >
216
- <div>{children}</div>
217
- </ContextMenuPrimitive.Item>
218
- )
219
- );
202
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- inset destructured to exclude it from spread
203
+ >(({ className, inset, children, variant = "Default", size = "M", active, ...props }, ref) => (
204
+ <ContextMenuPrimitive.Item
205
+ {...props}
206
+ ref={ref}
207
+ className={cn(MenuItemStyles({ variant, size, active }), className)}
208
+ >
209
+ <div>{children}</div>
210
+ </ContextMenuPrimitive.Item>
211
+ ));
220
212
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
221
213
 
222
214
  const ContextMenuCheckboxItem = React.forwardRef<
223
215
  React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,
224
216
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem> &
225
- VariantProps<typeof MenuItemStyles>
226
- >(
227
- ({ className, children, checked, variant = "Default", size = "M", onSelect, ...props }, ref) => (
228
- <ContextMenuPrimitive.CheckboxItem
229
- ref={ref}
230
- className={cn(MenuItemStyles({ variant, size }), "relative", className)}
231
- checked={checked}
232
- // Keep the menu open when toggling; preventDefault stops Radix's auto-close.
233
- onSelect={(event) => {
234
- event.preventDefault();
235
- onSelect?.(event);
236
- }}
237
- {...props}
238
- >
239
- <div className="relative flex items-center">
240
- <span className="h-full flex items-center justify-center">
241
- {/* Unchecked box; hidden once the item is checked. */}
242
- <div className="flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
243
- <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>
244
- </div>
217
+ VariantProps<typeof MenuItemStyles>
218
+ >(({ className, children, checked, variant = "Default", size = "M", onSelect, ...props }, ref) => (
219
+ <ContextMenuPrimitive.CheckboxItem
220
+ ref={ref}
221
+ className={cn(MenuItemStyles({ variant, size }), "relative", className)}
222
+ checked={checked}
223
+ // Keep the menu open when toggling; preventDefault stops Radix's auto-close.
224
+ onSelect={(event) => {
225
+ event.preventDefault();
226
+ onSelect?.(event);
227
+ }}
228
+ {...props}
229
+ >
230
+ <div className="relative flex items-center">
231
+ <span className="h-full flex items-center justify-center">
232
+ {/* Unchecked box; hidden once the item is checked. */}
233
+ <div className="flex justify-center items-center h-full [[data-state=checked]_&]:hidden">
234
+ <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>
235
+ </div>
245
236
 
246
- {/* Checked indicator only renders when checked. */}
247
- <ContextMenuPrimitive.ItemIndicator>
248
- <div className="bg-blue-sparkle-600 flex justify-center items-center w-[16px] h-[16px] rounded-[3px]">
249
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none">
250
- <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" />
251
- </svg>
252
- </div>
253
- </ContextMenuPrimitive.ItemIndicator>
254
- </span>{" "}
255
- {children}
256
- </div>
257
- </ContextMenuPrimitive.CheckboxItem>
258
- )
259
- );
237
+ {/* Checked indicator only renders when checked. */}
238
+ <ContextMenuPrimitive.ItemIndicator>
239
+ <div className="bg-blue-sparkle-600 flex justify-center items-center w-[16px] h-[16px] rounded-[3px]">
240
+ <svg
241
+ xmlns="http://www.w3.org/2000/svg"
242
+ width="14"
243
+ height="14"
244
+ viewBox="0 0 14 14"
245
+ fill="none"
246
+ >
247
+ <path
248
+ d="M5.8339 8.84977L11.1961 3.48755L12.0211 4.3125L5.8339 10.4997L2.12158 6.7874L2.94654 5.96245L5.8339 8.84977Z"
249
+ fill="#F9F9F9"
250
+ />
251
+ </svg>
252
+ </div>
253
+ </ContextMenuPrimitive.ItemIndicator>
254
+ </span>{" "}
255
+ {children}
256
+ </div>
257
+ </ContextMenuPrimitive.CheckboxItem>
258
+ ));
260
259
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
261
260
 
262
261
  const ContextMenuRadioItem = React.forwardRef<
263
262
  React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,
264
263
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem> &
265
- VariantProps<typeof MenuItemStyles>
264
+ VariantProps<typeof MenuItemStyles>
266
265
  >(({ className, children, variant = "Default", size = "M", onSelect, ...props }, ref) => (
267
266
  <ContextMenuPrimitive.RadioItem
268
267
  ref={ref}
@@ -281,7 +280,13 @@ const ContextMenuRadioItem = React.forwardRef<
281
280
  <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>
282
281
  </div>
283
282
  <ContextMenuPrimitive.ItemIndicator>
284
- <svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 14" fill="none">
283
+ <svg
284
+ xmlns="http://www.w3.org/2000/svg"
285
+ width="14"
286
+ height="16"
287
+ viewBox="0 0 14 14"
288
+ fill="none"
289
+ >
285
290
  <rect width="14" height="14" rx="7" fill="#005ECC" />
286
291
  <rect x="5" y="5" width="4" height="4" rx="2" fill="white" />
287
292
  </svg>
@@ -304,9 +309,7 @@ const GROUPABLE_TYPES = [
304
309
 
305
310
  const isGroupable = (child: React.ReactNode): child is React.ReactElement =>
306
311
  React.isValidElement(child) &&
307
- (GROUPABLE_TYPES as readonly React.ElementType[]).includes(
308
- child.type as React.ElementType
309
- );
312
+ (GROUPABLE_TYPES as readonly React.ElementType[]).includes(child.type as React.ElementType);
310
313
 
311
314
  // Wraps consecutive runs of loose items in a Boxed ContextMenuGroup so items
312
315
  // render inside a container even when the consumer doesn't write one. Labels,
@@ -320,7 +323,7 @@ function autoGroupChildren(children: React.ReactNode): React.ReactNode {
320
323
  out.push(
321
324
  <ContextMenuGroup key={key} variant="Boxed">
322
325
  {run}
323
- </ContextMenuGroup>
326
+ </ContextMenuGroup>,
324
327
  );
325
328
  run = [];
326
329
  };
@@ -343,22 +346,20 @@ const ContextMenuLabel = React.forwardRef<
343
346
  React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {
344
347
  inset?: boolean;
345
348
  }
349
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- inset destructured to exclude it from spread
346
350
  >(({ className, inset, ...props }, ref) => (
347
351
  <ContextMenuPrimitive.Label
348
352
  ref={ref}
349
353
  className={cn(
350
354
  "text-content-presentation-global-primary-light typography-body-small-medium px-[12px] pt-1 flex justify-start items-center",
351
- className
355
+ className,
352
356
  )}
353
357
  {...props}
354
358
  />
355
359
  ));
356
360
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
357
361
 
358
- const ContextMenuShortcut = ({
359
- className,
360
- ...props
361
- }: React.HTMLAttributes<HTMLSpanElement>) => (
362
+ const ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => (
362
363
  <span
363
364
  className={cn("ml-auto ltr:ml-0 rtl:mr-auto text-xs tracking-widest opacity-60", className)}
364
365
  {...props}
@@ -477,7 +478,7 @@ const MenuItemStyles = cva(
477
478
  className: ["text-content-presentation-state-negative"],
478
479
  },
479
480
  ],
480
- }
481
+ },
481
482
  );
482
483
 
483
484
  const menuContentStyles = cva(
@@ -509,7 +510,7 @@ const menuContentStyles = cva(
509
510
  variant: "PresentationStyle",
510
511
  },
511
512
  },
512
- }
513
+ },
513
514
  );
514
515
 
515
516
  const menuGroupStyles = cva(["flex", "flex-col", "shrink-0"], {
@@ -25,18 +25,16 @@ export const glareCounterStyles = cva(
25
25
  defaultVariants: {
26
26
  variant: "default",
27
27
  },
28
- }
28
+ },
29
29
  );
30
30
 
31
31
  // Extracting the types of the variants used in glareCounterStyles
32
32
  export type GlareCounterStylesProps = VariantProps<typeof glareCounterStyles>;
33
33
 
34
- interface Props
35
- extends HTMLAttributes<HTMLDivElement>,
36
- GlareCounterStylesProps {
34
+ interface Props extends HTMLAttributes<HTMLDivElement>, GlareCounterStylesProps {
37
35
  label: number; // label of the counter it should be a number
38
- theme?: Themes
39
- className?: string
36
+ theme?: Themes;
37
+ className?: string;
40
38
  }
41
39
 
42
40
  export const CountBadge: React.FC<Props> = ({ theme, label, variant, className, ...props }) => {