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
@@ -6,27 +6,24 @@ import { Slot } from "@radix-ui/react-slot";
6
6
  import Counter from "../components/CountBadge";
7
7
  import { Tooltip } from "../components/Tooltip";
8
8
 
9
- interface LayoutProps
10
- extends HTMLAttributes<HTMLDivElement> {
11
- }
9
+ interface LayoutProps extends HTMLAttributes<HTMLDivElement> {}
12
10
  function Layout({ ...props }: LayoutProps) {
13
11
  return (
14
- <div {...props} className="flex h-[100dvh] flex-1 lg:gap-[10px] bg-background-system-body-base lg:p-[16px]">
12
+ <div
13
+ {...props}
14
+ className="flex h-[100dvh] flex-1 lg:gap-[10px] bg-background-system-body-base lg:p-[16px]"
15
+ >
15
16
  {props.children}
16
17
  </div>
17
18
  );
18
19
  }
19
20
 
20
- interface ContentProps
21
- extends HTMLAttributes<HTMLDivElement> {
22
- }
21
+ interface ContentProps extends HTMLAttributes<HTMLDivElement> {}
23
22
  function Body({ ...props }: ContentProps) {
24
23
  return (
25
24
  <main {...props} className={cn("flex flex-grow flex-1 overflow-y-auto", props.className)}>
26
25
  <div className="flex lg:rounded-[12px] bg-background-system-body-tertiary shadow-[0px_0px_18px_0px_rgba(0,0,0,0.75)] flex-1 flex-grow lg:p-1">
27
- <div
28
- className="relative lg:rounded-lg flex-1 flex-grow overflow-scroll scrollbar-hide lg:p-[2px] lg:bg-[linear-gradient(143deg,var(--blue-sparkle-600)_0px,rgba(44,45,46,1)_55px)]"
29
- >
26
+ <div className="relative lg:rounded-lg flex-1 flex-grow overflow-scroll scrollbar-hide lg:p-[2px] lg:bg-[linear-gradient(143deg,var(--blue-sparkle-600)_0px,rgba(44,45,46,1)_55px)]">
30
27
  <div
31
28
  className="absolute top-[2px] w-[170px] rounded-t-[6px] z-10 lg:h-[60px]
32
29
  left-[2px] ltr:lg:bg-[linear-gradient(132deg,#0D0F4E_0%,#000_50%)]
@@ -39,23 +36,37 @@ function Body({ ...props }: ContentProps) {
39
36
  );
40
37
  }
41
38
 
42
- interface SideBarProps
43
- extends HTMLAttributes<HTMLDivElement> {
44
- iconButtons?: ReactNode
45
- headerChild?: ReactNode
46
- navigationChildren?: ReactNode
47
- footerChildren?: ReactNode
48
- children?: ReactNode
39
+ interface SideBarProps extends HTMLAttributes<HTMLDivElement> {
40
+ iconButtons?: ReactNode;
41
+ headerChild?: ReactNode;
42
+ navigationChildren?: ReactNode;
43
+ footerChildren?: ReactNode;
44
+ children?: ReactNode;
49
45
  }
50
- function SideBar({ children, footerChildren, headerChild, navigationChildren, iconButtons, ...props }: SideBarProps) {
46
+ function SideBar({
47
+ children,
48
+ footerChildren,
49
+ headerChild,
50
+ navigationChildren,
51
+ iconButtons,
52
+ ...props
53
+ }: SideBarProps) {
51
54
  return (
52
55
  <aside
53
56
  {...props}
54
- className={cn("hidden w-[265px] p-1 flex-shrink-0 items-start rounded-xl bg-background-system-body-tertiary shadow-[0px_0px_18px_0px_rgba(0,0,0,0.75)] h-full lg:flex", props.className)}
57
+ className={cn(
58
+ "hidden w-[265px] p-1 flex-shrink-0 items-start rounded-xl bg-background-system-body-tertiary shadow-[0px_0px_18px_0px_rgba(0,0,0,0.75)] h-full lg:flex",
59
+ props.className,
60
+ )}
55
61
  >
56
- <div className={cn("grid grid-rows-[56px_1fr] w-full rounded-lg border border-border-system-global-primary h-full gap-[1px]", {
57
- "flex": children
58
- })}>
62
+ <div
63
+ className={cn(
64
+ "grid grid-rows-[56px_1fr] w-full rounded-lg border border-border-system-global-primary h-full gap-[1px]",
65
+ {
66
+ flex: children,
67
+ },
68
+ )}
69
+ >
59
70
  {children ? (
60
71
  children
61
72
  ) : (
@@ -72,16 +83,13 @@ function SideBar({ children, footerChildren, headerChild, navigationChildren, ic
72
83
 
73
84
  {/* Navigation Section */}
74
85
  <div className="scrollbar-hide h-full gap-[1px] overflow-scroll grid grid-rows-[1fr_auto] grid-cols-1 rounded-br-lg rtl:rounded-bl-lg rtl:rounded-br-none">
75
- <div className="flex flex-col h-full overflow-scroll scrollbar-hide"
76
- >
86
+ <div className="flex flex-col h-full overflow-scroll scrollbar-hide">
77
87
  <div className="flex flex-col gap-[1px] overflow-scroll scrollbar-hide">
78
- {Array.isArray(navigationChildren) ? (
79
- navigationChildren.map((child, index) => (
80
- <SideBarChildContainer key={index}>{child}</SideBarChildContainer>
81
- ))
82
- ) : (
83
- navigationChildren
84
- )}
88
+ {Array.isArray(navigationChildren)
89
+ ? navigationChildren.map((child, index) => (
90
+ <SideBarChildContainer key={index}>{child}</SideBarChildContainer>
91
+ ))
92
+ : navigationChildren}
85
93
  </div>
86
94
  <SideBarChildContainer className="flex-1" />
87
95
  </div>
@@ -90,7 +98,6 @@ function SideBar({ children, footerChildren, headerChild, navigationChildren, ic
90
98
  {footerChildren}
91
99
  </SideBarChildContainer>
92
100
  </div>
93
-
94
101
  </div>
95
102
  </>
96
103
  )}
@@ -99,49 +106,48 @@ function SideBar({ children, footerChildren, headerChild, navigationChildren, ic
99
106
  );
100
107
  }
101
108
 
102
-
103
-
104
- interface ChildProps
105
- extends HTMLAttributes<HTMLDivElement> {
106
- theme?: Themes
109
+ interface ChildProps extends HTMLAttributes<HTMLDivElement> {
110
+ theme?: Themes;
107
111
  }
108
112
 
109
113
  const SideBarChildContainer = ({ theme, ...props }: ChildProps) => {
110
114
  return (
111
- <div {...props} data-theme={theme} className={cn("w-full py-2 bg-background-system-body-base pr-2", props.className)}>
115
+ <div
116
+ {...props}
117
+ data-theme={theme}
118
+ className={cn("w-full py-2 bg-background-system-body-base pr-2", props.className)}
119
+ >
112
120
  {props.children}
113
121
  </div>
114
- )
115
- }
116
-
117
-
118
-
119
- const SideBarItemStyles = cva([
120
- "h-[40px] w-full px-[8px] flex gap-[6px] typography-body-small-medium justify-start items-center",
121
- "text-content-system-global-primary border-l-[2px] rtl:border-r-[2px] border-transparent outline-none",
122
- "hover:bg-white-alpha-075 hover:border-black-300 hover:text-content-system-action-primary-hover hover:px-[14px]",
123
- "rounded-r-[4px] text-start whitespace-nowrap transition-all duration-150 ease-in-out cursor-pointer",
122
+ );
123
+ };
124
124
 
125
- ],
125
+ const SideBarItemStyles = cva(
126
+ [
127
+ "h-[40px] w-full px-[8px] flex gap-[6px] typography-body-small-medium justify-start items-center",
128
+ "text-content-system-global-primary border-l-[2px] rtl:border-r-[2px] border-transparent outline-none",
129
+ "hover:bg-white-alpha-075 hover:border-black-300 hover:text-content-system-action-primary-hover hover:px-[14px]",
130
+ "rounded-r-[4px] text-start whitespace-nowrap transition-all duration-150 ease-in-out cursor-pointer",
131
+ ],
126
132
  {
127
133
  variants: {
128
134
  disabled: {
129
- true: "text-content-system-global-disabled bg-transparent hover:bg-transparent fucus:bg-transparent active:bg-transparent"
135
+ true: "text-content-system-global-disabled bg-transparent hover:bg-transparent fucus:bg-transparent active:bg-transparent",
130
136
  },
131
137
  active: {
132
- true: "hover:px-[8px] !px-[8px]"
138
+ true: "hover:px-[8px] !px-[8px]",
133
139
  },
134
140
  iconOnly: {
135
- true: "w-[40px] justify-center overflow-hidden"
141
+ true: "w-[40px] justify-center overflow-hidden",
136
142
  },
137
143
  variant: {
138
144
  default: [
139
- "fucus:bg-background-system-action-primary-hover fucus:border-border-system-action-primary-hover"],
145
+ "fucus:bg-background-system-action-primary-hover fucus:border-border-system-action-primary-hover",
146
+ ],
140
147
  secondary: [
141
148
  "focus:bg-wavy-navy-1000 focus:border-border-system-action-field-hover-selected",
142
149
  ],
143
-
144
- }
150
+ },
145
151
  },
146
152
  compoundVariants: [
147
153
  {
@@ -149,134 +155,164 @@ const SideBarItemStyles = cva([
149
155
  variant: "default",
150
156
  className: [
151
157
  "bg-background-system-action-primary-hover border-border-system-action-primary-hover !px-[8px] hover:px-[8px]",
152
- ]
158
+ ],
153
159
  },
154
160
  {
155
161
  active: true,
156
162
  variant: "secondary",
157
163
  className: [
158
164
  "bg-wavy-navy-1000 border-border-system-action-field-hover-selected !px-[8px] hover:px-[8px]",
159
- ]
165
+ ],
160
166
  },
161
167
  {
162
168
  disabled: true,
163
169
  variant: "secondary",
164
170
  className: [
165
171
  "bg-transparent hover:bg-transparent focus:bg-transparent active:bg-transparent hover:p-[8px] hover:text-content-system-global-disabled",
166
- ]
172
+ ],
167
173
  },
168
174
  {
169
175
  disabled: true,
170
176
  variant: "default",
171
177
  className: [
172
178
  "bg-transparent hover:bg-transparent focus:bg-transparent active:bg-transparent hover:p-[8px] hover:text-content-system-global-disabled",
173
- ]
174
- }
179
+ ],
180
+ },
175
181
  ],
176
182
  defaultVariants: {
177
183
  variant: "default",
178
184
  },
179
- });
180
-
181
-
185
+ },
186
+ );
182
187
 
183
188
  interface Props
184
- extends ButtonHTMLAttributes<HTMLButtonElement>,
185
- VariantProps<typeof SideBarItemStyles> {
189
+ extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof SideBarItemStyles> {
186
190
  asChild?: boolean;
187
191
  as?: React.ElementType;
188
- theme?: Themes
189
- variant?: "default" | "secondary"
190
- iconOnly?: boolean
191
- active?: boolean
192
- disabled?: boolean
192
+ theme?: Themes;
193
+ variant?: "default" | "secondary";
194
+ iconOnly?: boolean;
195
+ active?: boolean;
196
+ disabled?: boolean;
193
197
  }
194
- const SideBarItem = ({ active, disabled, iconOnly, asChild, as: Tag = "span", theme, className, variant, ...props }: Props) => {
198
+ const SideBarItem = ({
199
+ active,
200
+ disabled,
201
+ iconOnly,
202
+ asChild,
203
+ as: Tag = "span",
204
+ theme,
205
+ className,
206
+ variant,
207
+ ...props
208
+ }: Props) => {
195
209
  const Component = asChild ? Slot : Tag;
196
210
 
197
211
  return (
198
- <Component {...props} data-theme={theme} disabled={disabled} className={cn(SideBarItemStyles({ variant, iconOnly, active, disabled }), className)}>
199
-
200
- </Component>
201
- )
202
- }
203
-
212
+ <Component
213
+ {...props}
214
+ data-theme={theme}
215
+ disabled={disabled}
216
+ className={cn(SideBarItemStyles({ variant, iconOnly, active, disabled }), className)}
217
+ ></Component>
218
+ );
219
+ };
204
220
 
205
- const SideBarIconButtonStyles = cva([
206
- "h-[36px] w-[36px] flex text-content-system-global-primary text-[20px] justify-center items-center rounded-[8px] border border-transparent outline-none",
207
- "fucus:bg-border-system-action-primary-Hover active:bg-border-system-action-primary-Hover",
208
- "transition-all duration-200 ease-in-out flex-shrink-0 m-[5px] relative cursor-pointer",
209
- ],
221
+ const SideBarIconButtonStyles = cva(
222
+ [
223
+ "h-[36px] w-[36px] flex text-content-system-global-primary text-[20px] justify-center items-center rounded-[8px] border border-transparent outline-none",
224
+ "fucus:bg-border-system-action-primary-Hover active:bg-border-system-action-primary-Hover",
225
+ "transition-all duration-200 ease-in-out flex-shrink-0 m-[5px] relative cursor-pointer",
226
+ ],
210
227
  {
211
228
  variants: {
212
229
  active: {
213
- true: ""
230
+ true: "",
214
231
  },
215
232
  variant: {
216
- default: ["hover:bg-background-system-action-secondary-hover hover:border-border-system-action-primary-hover"],
217
- secondary: ["hover:bg-wavy-navy-1000 hover:border-border-system-action-field-hover-selected"],
218
-
219
- }
233
+ default: [
234
+ "hover:bg-background-system-action-secondary-hover hover:border-border-system-action-primary-hover",
235
+ ],
236
+ secondary: [
237
+ "hover:bg-wavy-navy-1000 hover:border-border-system-action-field-hover-selected",
238
+ ],
239
+ },
220
240
  },
221
241
  compoundVariants: [
222
242
  {
223
243
  active: true,
224
244
  variant: "default",
225
245
  className: [
226
- "bg-background-system-action-secondary-hover border-border-system-action-primary-hover"]
246
+ "bg-background-system-action-secondary-hover border-border-system-action-primary-hover",
247
+ ],
227
248
  },
228
249
  {
229
250
  active: true,
230
251
  variant: "secondary",
231
252
  className: [
232
- "bg-background-system-action-secondary-hover border-border-system-action-primary-hover"
233
- ]
234
- }
253
+ "bg-background-system-action-secondary-hover border-border-system-action-primary-hover",
254
+ ],
255
+ },
235
256
  ],
236
257
  defaultVariants: {
237
258
  variant: "default",
238
259
  },
239
- });
240
-
260
+ },
261
+ );
241
262
 
242
263
  interface SideBarIconButtonProps
243
- extends ButtonHTMLAttributes<HTMLButtonElement>,
244
- VariantProps<typeof SideBarItemStyles> {
264
+ extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof SideBarItemStyles> {
245
265
  asChild?: boolean;
246
266
  as?: React.ElementType;
247
- theme?: Themes
248
- variant?: "default" | "secondary"
249
- active?: boolean
250
- count?: number
251
- message?: ReactNode
252
- disabled?: boolean
267
+ theme?: Themes;
268
+ variant?: "default" | "secondary";
269
+ active?: boolean;
270
+ count?: number;
271
+ message?: ReactNode;
272
+ disabled?: boolean;
253
273
  }
254
274
 
255
- const SideBarIconButton = ({ count, active, asChild, message, as: Tag = "button", theme, variant, className, ...props }: SideBarIconButtonProps) => {
275
+ const SideBarIconButton = ({
276
+ count,
277
+ active,
278
+ asChild,
279
+ message,
280
+ as: Tag = "button",
281
+ theme,
282
+ variant,
283
+ className,
284
+ ...props
285
+ }: SideBarIconButtonProps) => {
256
286
  const Component = asChild ? Slot : Tag;
257
287
 
258
- return (
259
- message ?
260
- <Tooltip variant={"highlight"} text={message} toolTipSide='left' className='z-[1000]'>
261
- <Component {...props} data-theme={theme} className={cn(SideBarIconButtonStyles({ variant, active }), className)}>
262
- {props.children}
263
- {count && <Counter className=' absolute top-[2px] right-[2px]' label={count} />}
264
- </Component>
265
- </Tooltip>
266
- :
267
- <Component {...props} data-theme={theme} className={cn(SideBarIconButtonStyles({ variant, active }))}>
288
+ return message ? (
289
+ <Tooltip variant={"highlight"} text={message} toolTipSide="left" className="z-[1000]">
290
+ <Component
291
+ {...props}
292
+ data-theme={theme}
293
+ className={cn(SideBarIconButtonStyles({ variant, active }), className)}
294
+ >
268
295
  {props.children}
269
- {count && <Counter className=' absolute top-[2px] right-[2px]' label={count} />}
296
+ {count && <Counter className=" absolute top-[2px] right-[2px]" label={count} />}
270
297
  </Component>
271
- )
272
- }
273
-
298
+ </Tooltip>
299
+ ) : (
300
+ <Component
301
+ {...props}
302
+ data-theme={theme}
303
+ className={cn(SideBarIconButtonStyles({ variant, active }))}
304
+ >
305
+ {props.children}
306
+ {count && <Counter className=" absolute top-[2px] right-[2px]" label={count} />}
307
+ </Component>
308
+ );
309
+ };
274
310
 
275
311
  interface SideBarFooterItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
276
- theme?: Themes
312
+ theme?: Themes;
277
313
  as?: React.ElementType;
278
314
  asChild?: boolean;
279
- variant?: "primary" | "secondary"
315
+ variant?: "primary" | "secondary";
280
316
  }
281
317
 
282
318
  const glareFeedbackItemStyle = cva(
@@ -286,27 +322,34 @@ const glareFeedbackItemStyle = cva(
286
322
  "border border-transparent outline-none bg-background-system-body-base",
287
323
  "focus:bg-background-system-action-primary-selected",
288
324
  "transition-all duration-200 ease-in-out",
289
- ], {
290
- variants: {
291
- variant: {
292
- primary:
293
- [
325
+ ],
326
+ {
327
+ variants: {
328
+ variant: {
329
+ primary: [
294
330
  "hover:bg-background-system-action-primary-hover hover:border-border-system-action-primary-hover",
295
- "active:bg-background-system-action-primary-hover active:border-border-system-action-primary-hover "],
296
- secondary: [
297
- "hover:bg-wavy-navy-1000 hover:border-border-system-action-field-hover-selected",
298
- "active:bg-wavy-navy-1000 active:border-border-system-action-field-hover-selected"],
299
- }
331
+ "active:bg-background-system-action-primary-hover active:border-border-system-action-primary-hover ",
332
+ ],
333
+ secondary: [
334
+ "hover:bg-wavy-navy-1000 hover:border-border-system-action-field-hover-selected",
335
+ "active:bg-wavy-navy-1000 active:border-border-system-action-field-hover-selected",
336
+ ],
337
+ },
338
+ },
339
+ defaultVariants: {
340
+ variant: "primary",
341
+ },
300
342
  },
301
- defaultVariants: {
302
- variant: "primary"
303
- }
304
- }
305
343
  );
306
344
 
307
-
308
- const SideBarFooterItem: React.FC<SideBarFooterItemProps> = ({ asChild,
309
- as: Tag = "button", theme, variant, className, ...props }) => {
345
+ const SideBarFooterItem: React.FC<SideBarFooterItemProps> = ({
346
+ asChild,
347
+ as: Tag = "button",
348
+ theme,
349
+ variant,
350
+ className,
351
+ ...props
352
+ }) => {
310
353
  const Component = asChild ? Slot : Tag;
311
354
 
312
355
  return (
@@ -314,12 +357,10 @@ const SideBarFooterItem: React.FC<SideBarFooterItemProps> = ({ asChild,
314
357
  data-theme={theme}
315
358
  {...props}
316
359
  className={cn(glareFeedbackItemStyle({ variant }), className)}
317
- >
318
- </Component>
360
+ ></Component>
319
361
  );
320
362
  };
321
363
 
322
-
323
364
  export {
324
365
  SideBar,
325
366
  SideBarFooterItem,
@@ -327,5 +368,5 @@ export {
327
368
  SideBarChildContainer,
328
369
  SideBarIconButton,
329
370
  Body,
330
- Layout
331
- }
371
+ Layout,
372
+ };
@@ -13,28 +13,15 @@ export type DataViewCardCell = {
13
13
 
14
14
  export type DataViewCardRow = DataViewCardCell[];
15
15
 
16
- export interface DataViewCardProps extends Omit<
17
- HTMLAttributes<HTMLElement>,
18
- "title"
19
- > {
16
+ export interface DataViewCardProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
20
17
  title?: ReactNode;
21
18
  rows?: DataViewCardRow[];
22
19
  theme?: Themes;
23
20
  }
24
21
 
25
- export function DataViewCard({
26
- title,
27
- rows = [],
28
- className,
29
- theme,
30
- ...props
31
- }: DataViewCardProps) {
22
+ export function DataViewCard({ title, rows = [], className, theme, ...props }: DataViewCardProps) {
32
23
  return (
33
- <Card
34
- data-theme={theme}
35
- {...props}
36
- className={cn("p-[8px] rounded-[10px] gap-0", className)}
37
- >
24
+ <Card data-theme={theme} {...props} className={cn("p-[8px] rounded-[10px] gap-0", className)}>
38
25
  {title != null && (
39
26
  <CardHeader className=" border-b border-border-presentation-global-primary">
40
27
  <div className="min-w-0 typography-headers-large-semibold text-content-presentation-global-primary">
@@ -51,8 +38,7 @@ export function DataViewCard({
51
38
  key={cell.key}
52
39
  className={cn(
53
40
  "relative flex flex-col gap-[2px] min-w-0 p-[6px]",
54
- rowIdx > 0 &&
55
- "border-t border-border-presentation-global-primary",
41
+ rowIdx > 0 && "border-t border-border-presentation-global-primary",
56
42
  cells.length === 2 &&
57
43
  cellIdx === 0 &&
58
44
  "after:absolute after:end-0 after:top-[7%] after:h-[80%] after:w-px after:bg-border-presentation-global-primary",
@@ -51,16 +51,12 @@ export function FieldSection({
51
51
  />
52
52
  )}
53
53
 
54
- {secondaryLabel && (
55
- <Label size={size} secondaryLabel={secondaryLabel} />
56
- )}
54
+ {secondaryLabel && <Label size={size} secondaryLabel={secondaryLabel} />}
57
55
  {childrenUnderLabel}
58
56
  </div>
59
57
 
60
58
  {/* Flexible section that takes up the remaining space */}
61
- <div className="grid grid-cols-1 place-items-end gap-[12px]">
62
- {children}
63
- </div>
59
+ <div className="grid grid-cols-1 place-items-end gap-[12px]">{children}</div>
64
60
  </section>
65
61
  );
66
62
  }