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,85 +1,84 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { OTPInput, OTPInputContext } from "input-otp"
5
- import { cn } from "../utils/cn"
1
+ "use client";
6
2
 
3
+ import * as React from "react";
4
+ import { OTPInput, OTPInputContext } from "input-otp";
5
+ import { cn } from "../utils/cn";
7
6
 
8
7
  const InputOTP = React.forwardRef<
9
- React.ElementRef<typeof OTPInput>,
10
- React.ComponentPropsWithoutRef<typeof OTPInput>
8
+ React.ElementRef<typeof OTPInput>,
9
+ React.ComponentPropsWithoutRef<typeof OTPInput>
11
10
  >(({ className, containerClassName, ...props }, ref) => (
12
- <OTPInput
13
- ref={ref}
14
- containerClassName={cn(
15
- "flex items-center gap-2 has-[:disabled]:opacity-50",
16
- containerClassName
17
- )}
18
- className={cn("disabled:cursor-not-allowed", className)}
19
- {...props}
20
- />
21
- ))
22
- InputOTP.displayName = "InputOTP"
11
+ <OTPInput
12
+ ref={ref}
13
+ containerClassName={cn(
14
+ "flex items-center gap-2 has-[:disabled]:opacity-50",
15
+ containerClassName,
16
+ )}
17
+ className={cn("disabled:cursor-not-allowed", className)}
18
+ {...props}
19
+ />
20
+ ));
21
+ InputOTP.displayName = "InputOTP";
23
22
 
24
23
  const InputOTPGroup = React.forwardRef<
25
- React.ElementRef<"div">,
26
- React.ComponentPropsWithoutRef<"div">
24
+ React.ElementRef<"div">,
25
+ React.ComponentPropsWithoutRef<"div">
27
26
  >(({ className, ...props }, ref) => (
28
- <div ref={ref} className={cn("flex items-center", className)} {...props} />
29
- ))
30
- InputOTPGroup.displayName = "InputOTPGroup"
27
+ <div ref={ref} className={cn("flex items-center", className)} {...props} />
28
+ ));
29
+ InputOTPGroup.displayName = "InputOTPGroup";
31
30
 
32
31
  const InputOTPSlot = React.forwardRef<
33
- React.ElementRef<"div">,
34
- React.ComponentPropsWithoutRef<"div"> & { index: number }
32
+ React.ElementRef<"div">,
33
+ React.ComponentPropsWithoutRef<"div"> & { index: number }
35
34
  >(({ index, className, ...props }, ref) => {
36
- const inputOTPContext = React.useContext(OTPInputContext)
37
- const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]
35
+ const inputOTPContext = React.useContext(OTPInputContext);
36
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
38
37
 
39
- return (
40
- <div
41
- ref={ref}
42
- data-slot="input-otp-slot"
43
- data-active={isActive}
44
- className={cn(
45
- "relative mx-1 flex items-center justify-center text-content-presentation-global-primary",
46
- "min-w-[40px] h-[40px]", // Size M by default
47
- "border rounded-[8px]",
48
- "transition-all duration-200 ease-in-out",
49
- "bg-background-presentation-form-field-primary",
50
- "border-border-presentation-action-primary",
51
- "hover:shadow-[0px_1px_6px_0px_rgba(0,0,0,0.30)]",
52
- "hover:bg-background-presentation-form-field-hover",
53
- "hover:border-border-presentation-action-hover",
54
- // Active/Focus styles
55
- "data-[active=true]:border-border-presentation-state-focus",
56
- "data-[active=true]:bg-background-presentation-form-field-primary",
57
- "data-[active=true]:shadow-[0px_1px_6px_0px_rgba(0,0,0,0.30)]",
58
- // Typography
59
- "typography-body-small-regular",
60
- className
61
- )}
62
- {...props}
63
- >
64
- {char}
65
- {hasFakeCaret && (
66
- <div className="pointer-events-none absolute inset-0 flex items-center justify-center">
67
- <div className="animate-caret-blink bg-border-presentation-state-focus h-4 w-px duration-1000" />
68
- </div>
69
- )}
38
+ return (
39
+ <div
40
+ ref={ref}
41
+ data-slot="input-otp-slot"
42
+ data-active={isActive}
43
+ className={cn(
44
+ "relative mx-1 flex items-center justify-center text-content-presentation-global-primary",
45
+ "min-w-[40px] h-[40px]", // Size M by default
46
+ "border rounded-[8px]",
47
+ "transition-all duration-200 ease-in-out",
48
+ "bg-background-presentation-form-field-primary",
49
+ "border-border-presentation-action-primary",
50
+ "hover:shadow-[0px_1px_6px_0px_rgba(0,0,0,0.30)]",
51
+ "hover:bg-background-presentation-form-field-hover",
52
+ "hover:border-border-presentation-action-hover",
53
+ // Active/Focus styles
54
+ "data-[active=true]:border-border-presentation-state-focus",
55
+ "data-[active=true]:bg-background-presentation-form-field-primary",
56
+ "data-[active=true]:shadow-[0px_1px_6px_0px_rgba(0,0,0,0.30)]",
57
+ // Typography
58
+ "typography-body-small-regular",
59
+ className,
60
+ )}
61
+ {...props}
62
+ >
63
+ {char}
64
+ {hasFakeCaret && (
65
+ <div className="pointer-events-none absolute inset-0 flex items-center justify-center">
66
+ <div className="animate-caret-blink bg-border-presentation-state-focus h-4 w-px duration-1000" />
70
67
  </div>
71
- )
72
- })
73
- InputOTPSlot.displayName = "InputOTPSlot"
68
+ )}
69
+ </div>
70
+ );
71
+ });
72
+ InputOTPSlot.displayName = "InputOTPSlot";
74
73
 
75
74
  const InputOTPSeparator = React.forwardRef<
76
- React.ElementRef<"div">,
77
- React.ComponentPropsWithoutRef<"div">
75
+ React.ElementRef<"div">,
76
+ React.ComponentPropsWithoutRef<"div">
78
77
  >(({ ...props }, ref) => (
79
- <div ref={ref} role="separator" {...props}>
80
- <i className="ri-subtract-line text-border-presentation-global-primary"></i>
81
- </div>
82
- ))
83
- InputOTPSeparator.displayName = "InputOTPSeparator"
78
+ <div ref={ref} role="separator" {...props}>
79
+ <i className="ri-subtract-line text-border-presentation-global-primary"></i>
80
+ </div>
81
+ ));
82
+ InputOTPSeparator.displayName = "InputOTPSeparator";
84
83
 
85
- export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }
84
+ export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
@@ -17,8 +17,7 @@ const labelComponentVariants = cva("flex", {
17
17
  });
18
18
 
19
19
  interface Props
20
- extends LabelHTMLAttributes<HTMLLabelElement>,
21
- VariantProps<typeof labelComponentVariants> {
20
+ extends LabelHTMLAttributes<HTMLLabelElement>, VariantProps<typeof labelComponentVariants> {
22
21
  label?: ReactNode; // main label
23
22
  requiredLabel?: ReactNode; // normal text with required style
24
23
  secondaryLabel?: ReactNode; // normal text with secondary style
@@ -26,10 +25,10 @@ interface Props
26
25
  asChild?: boolean;
27
26
  size?: "S" | "M" | "L";
28
27
  variant?: "SystemStyle" | "PresentationStyle";
29
- theme?: Themes
28
+ theme?: Themes;
30
29
  labelsClassName?: string;
31
30
  labelDirections?: "vertical" | "horizontal";
32
- childrenDirections?: "vertical" | "horizontal"
31
+ childrenDirections?: "vertical" | "horizontal";
33
32
  reverseChildren?: boolean;
34
33
  }
35
34
 
@@ -48,28 +47,32 @@ export const Label = React.forwardRef<HTMLLabelElement, Props>(
48
47
  labelsClassName,
49
48
  variant = "PresentationStyle",
50
49
  theme,
51
- asChild,
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ asChild, // excluded from ...props spread
52
52
  as: Tag = "label",
53
53
  ...props
54
54
  },
55
- forwardedRef
55
+ forwardedRef,
56
56
  ) => {
57
-
58
57
  const Component = Tag;
59
58
 
60
59
  return (
61
60
  <Component
62
61
  data-theme={theme}
63
62
  ref={forwardedRef}
64
- className={cn("flex flex-0 w-fit [&_p]:!leading-none gap-[8px]", {
65
- "flex-col justify-start items-start": childrenDirections === "vertical",
66
- "flex-row justify-start items-center": childrenDirections === "horizontal",
67
- "flex-row-reverse": reverseChildren && childrenDirections === "horizontal",
68
- "flex-col-reverse": reverseChildren && childrenDirections === "vertical",
69
- }, className)}
63
+ className={cn(
64
+ "flex flex-0 w-fit [&_p]:!leading-none gap-[8px]",
65
+ {
66
+ "flex-col justify-start items-start": childrenDirections === "vertical",
67
+ "flex-row justify-start items-center": childrenDirections === "horizontal",
68
+ "flex-row-reverse": reverseChildren && childrenDirections === "horizontal",
69
+ "flex-col-reverse": reverseChildren && childrenDirections === "vertical",
70
+ },
71
+ className,
72
+ )}
70
73
  {...props}
71
74
  >
72
- <div className={cn(labelComponentVariants({ labelDirections }), labelsClassName)} >
75
+ <div className={cn(labelComponentVariants({ labelDirections }), labelsClassName)}>
73
76
  {label && (
74
77
  <p
75
78
  className={cn(
@@ -80,10 +83,9 @@ export const Label = React.forwardRef<HTMLLabelElement, Props>(
80
83
  "typography-body-large-regular": size === "L",
81
84
  },
82
85
  {
83
- "text-content-presentation-global-primary":
84
- variant === "PresentationStyle",
86
+ "text-content-presentation-global-primary": variant === "PresentationStyle",
85
87
  "text-[#E5E5E5]": variant === "SystemStyle",
86
- }
88
+ },
87
89
  )}
88
90
  >
89
91
  {label}
@@ -91,36 +93,30 @@ export const Label = React.forwardRef<HTMLLabelElement, Props>(
91
93
  )}
92
94
  {secondaryLabel && (
93
95
  <p
94
- className={cn(
95
- "text-content-presentation-global-secondary text-start",
96
- {
97
- "typography-labels-small-regular": size === "S",
98
- "typography-labels-medium-regular": size === "M",
99
- "typography-body-small-regular": size === "L",
100
- }
101
- )}
96
+ className={cn("text-content-presentation-global-secondary text-start", {
97
+ "typography-labels-small-regular": size === "S",
98
+ "typography-labels-medium-regular": size === "M",
99
+ "typography-body-small-regular": size === "L",
100
+ })}
102
101
  >
103
102
  {secondaryLabel}
104
103
  </p>
105
104
  )}
106
105
  {requiredLabel && (
107
106
  <p
108
- className={cn(
109
- "text-content-presentation-state-negative text-start",
110
- {
111
- "typography-labels-small-medium": size === "S",
112
- "typography-labels-medium-medium": size === "M",
113
- "typography-body-small-medium": size === "L",
114
- }
115
- )}
107
+ className={cn("text-content-presentation-state-negative text-start", {
108
+ "typography-labels-small-medium": size === "S",
109
+ "typography-labels-medium-medium": size === "M",
110
+ "typography-body-small-medium": size === "L",
111
+ })}
116
112
  >
117
113
  {requiredLabel}
118
114
  </p>
119
115
  )}
120
116
  </div>
121
117
  {children}
122
- </Component >
118
+ </Component>
123
119
  );
124
- }
120
+ },
125
121
  );
126
122
  Label.displayName = "Label";
@@ -4,8 +4,7 @@ import { Label } from "./Label";
4
4
  import { ToolTipSide } from "./Tooltip";
5
5
  import { Themes } from "../utils/types";
6
6
 
7
- export interface Props
8
- extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "variant"> {
7
+ export interface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "variant"> {
9
8
  size?: "S" | "M"; // this is used to change the size style of the component
10
9
  variant?: "SystemStyle" | "PresentationStyle";
11
10
  icon?: ReactNode; // to add left side icon if you pass it
@@ -19,7 +18,7 @@ export interface Props
19
18
  labelDirections?: "vertical" | "horizontal"; // to change the direction of the label
20
19
  childrenDirections?: "vertical" | "horizontal"; // to change the direction of the children
21
20
  toolTipSide?: ToolTipSide;
22
- theme?: Themes
21
+ theme?: Themes;
23
22
  }
24
23
 
25
24
  export const LabelField = forwardRef<HTMLInputElement, Props>(
@@ -43,7 +42,7 @@ export const LabelField = forwardRef<HTMLInputElement, Props>(
43
42
 
44
43
  ...props
45
44
  },
46
- ref
45
+ ref,
47
46
  ) => {
48
47
  return (
49
48
  <Label
@@ -71,7 +70,7 @@ export const LabelField = forwardRef<HTMLInputElement, Props>(
71
70
  />
72
71
  </Label>
73
72
  );
74
- }
73
+ },
75
74
  );
76
75
 
77
76
  LabelField.displayName = "LabelField";
@@ -1,4 +1,4 @@
1
- 'use client';
1
+ "use client";
2
2
  import { forwardRef } from "react";
3
3
  import { Label } from "./Label";
4
4
  import { Themes } from "../utils/types";
@@ -10,23 +10,26 @@ interface Props extends Omit<React.ComponentProps<typeof Checkbox>, "size"> {
10
10
  secondaryLabel?: string;
11
11
  requiredLabel?: string;
12
12
  size?: "S" | "M" | "L";
13
- theme?: Themes
13
+ theme?: Themes;
14
14
  }
15
15
 
16
16
  export const LabeledCheckBox = forwardRef<HTMLButtonElement, Props>(
17
17
  (
18
18
  {
19
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
19
20
  id,
20
21
  label,
21
22
  secondaryLabel,
22
23
  requiredLabel,
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
23
25
  type = "checkbox",
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
24
27
  theme,
25
28
  className,
26
29
  size = "M",
27
30
  ...props
28
31
  },
29
- ref
32
+ ref,
30
33
  ) => {
31
34
  return (
32
35
  <Label
@@ -39,17 +42,10 @@ export const LabeledCheckBox = forwardRef<HTMLButtonElement, Props>(
39
42
  className={cn(className)}
40
43
  reverseChildren
41
44
  >
42
- <Checkbox
43
- {...props}
44
- size={size === "L" ? "M" : size}
45
- ref={ref}
46
- />
45
+ <Checkbox {...props} size={size === "L" ? "M" : size} ref={ref} />
47
46
  </Label>
48
-
49
-
50
47
  );
51
- }
48
+ },
52
49
  );
53
50
 
54
51
  LabeledCheckBox.displayName = "LabeledCheckBox";
55
-
@@ -1,4 +1,4 @@
1
- 'use client'
1
+ "use client";
2
2
  import { forwardRef } from "react";
3
3
  import { Label } from "./Label";
4
4
  import { Radio } from "./Radio";
@@ -20,13 +20,15 @@ export const LabeledRadio = forwardRef<HTMLButtonElement, Props>(
20
20
  secondaryLabel,
21
21
  requiredLabel,
22
22
  size = "M",
23
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
23
24
  type = "radio",
24
25
  className,
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
25
27
  name,
26
28
  id,
27
29
  ...props
28
30
  },
29
- ref
31
+ ref,
30
32
  ) => {
31
33
  return (
32
34
  <Label
@@ -40,10 +42,10 @@ export const LabeledRadio = forwardRef<HTMLButtonElement, Props>(
40
42
  id={id}
41
43
  reverseChildren
42
44
  >
43
- <Radio id={id} {...props} data-theme={theme} ref={ref} />
45
+ <Radio id={id} {...props} data-theme={theme} ref={ref} />
44
46
  </Label>
45
47
  );
46
- }
48
+ },
47
49
  );
48
50
 
49
- LabeledRadio.displayName = "LabeledRadio";
51
+ LabeledRadio.displayName = "LabeledRadio";
@@ -55,9 +55,7 @@ export const LinkButton: React.FC<Props> = ({
55
55
  className,
56
56
  )}
57
57
  >
58
- <div className="px-[3px] whitespace-nowrap break-keep">
59
- {props.children}
60
- </div>
58
+ <div className="px-[3px] whitespace-nowrap break-keep">{props.children}</div>
61
59
  <div
62
60
  className={cn(
63
61
  "rounded-[4px] overflow-hidden",
@@ -83,12 +81,7 @@ export const LinkButton: React.FC<Props> = ({
83
81
  };
84
82
 
85
83
  const Arrow = (props: SVGProps<SVGSVGElement>) => (
86
- <svg
87
- viewBox="0 0 10 10"
88
- fill="none"
89
- xmlns="http://www.w3.org/2000/svg"
90
- {...props}
91
- >
84
+ <svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}>
92
85
  <path
93
86
  d="M1.81582 1.58451L3.2807 0.119629L9.12479 0.875203L9.88037 6.71929L8.41549 8.18417L7.78584 3.31409L3.35267 7.74727L2.25272 6.64733L6.6859 2.21415L1.81582 1.58451Z"
94
87
  fill="#F9F9F9"
@@ -27,14 +27,13 @@ const buttonVariants = cva(
27
27
  defaultVariants: {
28
28
  variant: "default",
29
29
  },
30
- }
30
+ },
31
31
  );
32
32
 
33
33
  export interface ButtonProps
34
- extends ButtonHTMLAttributes<HTMLButtonElement>,
35
- VariantProps<typeof buttonVariants> {
34
+ extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
36
35
  isLoading?: boolean;
37
- theme?: Themes
36
+ theme?: Themes;
38
37
  }
39
38
 
40
39
  export function LoginButton({
@@ -46,11 +45,7 @@ export function LoginButton({
46
45
  }: ButtonProps) {
47
46
  return (
48
47
  <button data-theme={theme} {...props} className={cn(buttonVariants({ variant, className }))}>
49
- {isLoading ? (
50
- <LoadingIcon className="w-[20px] h-[20px]" />
51
- ) : (
52
- props.children
53
- )}
48
+ {isLoading ? <LoadingIcon className="w-[20px] h-[20px]" /> : props.children}
54
49
  </button>
55
50
  );
56
51
  }
@@ -4,7 +4,7 @@ import { HTMLAttributes, useEffect, useState } from "react";
4
4
 
5
5
  interface PassCheckProps extends HTMLAttributes<HTMLDivElement> {
6
6
  value: string; // The password value to check
7
- theme?: Themes
7
+ theme?: Themes;
8
8
  }
9
9
 
10
10
  export function PasswordLevel({ theme, value, className, ...props }: PassCheckProps) {
@@ -26,7 +26,7 @@ export function PasswordLevel({ theme, value, className, ...props }: PassCheckPr
26
26
  {...props}
27
27
  className={cn(
28
28
  "bg-background-system-body-secondary rounded-[4px] border border-solid border-border-system-global-primary p-[4px] grid grid-cols-3 gap-[4px] w-full ",
29
- className
29
+ className,
30
30
  )}
31
31
  >
32
32
  <div
@@ -34,7 +34,7 @@ export function PasswordLevel({ theme, value, className, ...props }: PassCheckPr
34
34
  "h-[4px] rounded-[8px] transition-all duration-300 ease-in-out bg-border-system-global-secondary",
35
35
  {
36
36
  "bg-border-presentation-state-negative": level >= 1,
37
- }
37
+ },
38
38
  )}
39
39
  />
40
40
  <div
@@ -42,7 +42,7 @@ export function PasswordLevel({ theme, value, className, ...props }: PassCheckPr
42
42
  "h-[4px] rounded-[8px] transition-all duration-300 ease-in-out bg-border-system-global-secondary",
43
43
  {
44
44
  "bg-border-presentation-state-warning": level >= 2,
45
- }
45
+ },
46
46
  )}
47
47
  />
48
48
  <div
@@ -50,7 +50,7 @@ export function PasswordLevel({ theme, value, className, ...props }: PassCheckPr
50
50
  "h-[4px] rounded-[8px] transition-all duration-300 ease-in-out bg-border-system-global-secondary",
51
51
  {
52
52
  "bg-border-presentation-state-success": level >= 3,
53
- }
53
+ },
54
54
  )}
55
55
  />
56
56
  </div>
@@ -1,4 +1,4 @@
1
- 'use client'
1
+ "use client";
2
2
  import { cva, VariantProps } from "class-variance-authority";
3
3
  import { cn } from "../utils/cn";
4
4
  import React, { useEffect, useRef } from "react";
@@ -12,21 +12,17 @@ interface LocalPopOverProps extends VariantProps<typeof popoverStyles> {
12
12
  overlayBlur?: boolean;
13
13
  }
14
14
 
15
-
16
15
  const Popover = PopoverPrimitive.Root;
17
16
 
18
17
  const PopoverTrigger = React.forwardRef<
19
18
  React.ElementRef<typeof PopoverPrimitive.Trigger>,
20
19
  React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Trigger> & {
21
- className?: string
20
+ className?: string;
22
21
  }
23
22
  >(({ className, ...props }, ref) => (
24
23
  <PopoverPrimitive.Trigger
25
24
  ref={ref}
26
- className={cn(
27
- "z-[20] transition-all duration-300 data-[state=open]:z-[49]",
28
- className
29
- )}
25
+ className={cn("z-[20] transition-all duration-300 data-[state=open]:z-[49]", className)}
30
26
  {...props}
31
27
  />
32
28
  ));
@@ -36,9 +32,9 @@ PopoverTrigger.displayName = PopoverPrimitive.Trigger.displayName;
36
32
  const PopoverContent = React.forwardRef<
37
33
  React.ElementRef<typeof PopoverPrimitive.Content>,
38
34
  React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> &
39
- LocalPopOverProps & {
40
- theme?: Themes
41
- }
35
+ LocalPopOverProps & {
36
+ theme?: Themes;
37
+ }
42
38
  >(
43
39
  (
44
40
  {
@@ -50,7 +46,7 @@ const PopoverContent = React.forwardRef<
50
46
  theme,
51
47
  ...props
52
48
  },
53
- ref
49
+ ref,
54
50
  ) => (
55
51
  <PopoverPrimitive.Portal>
56
52
  {overlayBlur ? (
@@ -60,10 +56,7 @@ const PopoverContent = React.forwardRef<
60
56
  ref={ref}
61
57
  align={align}
62
58
  sideOffset={sideOffset}
63
- className={cn(
64
- popoverStyles({ variant, overlayBlur }),
65
- className
66
- )}
59
+ className={cn(popoverStyles({ variant, overlayBlur }), className)}
67
60
  {...props}
68
61
  />
69
62
  </div>
@@ -73,22 +66,18 @@ const PopoverContent = React.forwardRef<
73
66
  ref={ref}
74
67
  align={align}
75
68
  sideOffset={sideOffset}
76
- className={cn(
77
- popoverStyles({ variant, overlayBlur }),
78
- className
79
- )}
69
+ className={cn(popoverStyles({ variant, overlayBlur }), className)}
80
70
  {...props}
81
71
  />
82
72
  )}
83
73
  </PopoverPrimitive.Portal>
84
- )
74
+ ),
85
75
  );
86
76
  PopoverContent.displayName = PopoverPrimitive.Content.displayName;
87
77
 
88
78
  // Define the Props interface with a generic type parameter
89
79
  interface Props<T extends React.ElementType = "li">
90
- extends React.HTMLAttributes<HTMLElement>,
91
- VariantProps<typeof PopoverItemStyles> {
80
+ extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof PopoverItemStyles> {
92
81
  asChild?: boolean;
93
82
  as?: T; // The `as` prop can be any valid HTML element or React component
94
83
  }
@@ -123,7 +112,7 @@ const PopoverItem = <T extends React.ElementType = "li">({
123
112
  size,
124
113
  active,
125
114
  }),
126
- className
115
+ className,
127
116
  )}
128
117
  /// <reference path="" />
129
118
  ref={ref}
@@ -133,11 +122,8 @@ const PopoverItem = <T extends React.ElementType = "li">({
133
122
  );
134
123
  };
135
124
 
136
-
137
125
  export { Popover, PopoverTrigger, PopoverContent, PopoverItem };
138
126
 
139
-
140
-
141
127
  const PopoverItemStyles = cva(
142
128
  [
143
129
  "text-content-presentation-action-light-primary",
@@ -155,7 +141,6 @@ const PopoverItemStyles = cva(
155
141
  "transition-all",
156
142
  "ease-in-out",
157
143
  "duration-300",
158
-
159
144
  ],
160
145
  {
161
146
  variants: {
@@ -204,10 +189,7 @@ const PopoverItemStyles = cva(
204
189
  },
205
190
 
206
191
  disabled: {
207
- true: [
208
- "text-content-presentation-state-disabled",
209
- "bg-white-00",
210
- ],
192
+ true: ["text-content-presentation-state-disabled", "bg-white-00"],
211
193
  },
212
194
 
213
195
  active: {
@@ -231,7 +213,7 @@ const PopoverItemStyles = cva(
231
213
  className: ["text-content-presentation-state-negative"],
232
214
  },
233
215
  ],
234
- }
216
+ },
235
217
  );
236
218
 
237
219
  const popoverStyles = cva(
@@ -270,5 +252,5 @@ const popoverStyles = cva(
270
252
  variant: "PresentationStyle",
271
253
  },
272
254
  },
273
- }
255
+ },
274
256
  );