torch-glare 2.4.0 → 2.4.2

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 (318) 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 +21 -20
  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 +40 -24
  13. package/apps/lib/components/Checkbox.tsx +9 -16
  14. package/apps/lib/components/ColorPicker.tsx +441 -0
  15. package/apps/lib/components/ConclusionHeader.tsx +148 -0
  16. package/apps/lib/components/ContextMenu.tsx +97 -96
  17. package/apps/lib/components/CountBadge.tsx +4 -6
  18. package/apps/lib/components/DataTable.tsx +196 -216
  19. package/apps/lib/components/DataViews/DataViewRadio.tsx +1 -6
  20. package/apps/lib/components/DataViews/DataViewsConfigPanel.tsx +13 -47
  21. package/apps/lib/components/DataViews/DataViewsHeader.tsx +1 -3
  22. package/apps/lib/components/DataViews/DataViewsLayout.tsx +5 -12
  23. package/apps/lib/components/DataViews/FilterPanel.tsx +155 -149
  24. package/apps/lib/components/DataViews/HeaderSearch.tsx +1 -5
  25. package/apps/lib/components/DataViews/InboxView.tsx +22 -68
  26. package/apps/lib/components/DataViews/InboxViewCard.tsx +68 -77
  27. package/apps/lib/components/DataViews/KanbanView.tsx +8 -25
  28. package/apps/lib/components/DataViews/PanelControls.tsx +3 -13
  29. package/apps/lib/components/DataViews/SettingsPanel.tsx +83 -89
  30. package/apps/lib/components/DataViews/TableView.tsx +8 -28
  31. package/apps/lib/components/DataViews/TreeView.tsx +12 -40
  32. package/apps/lib/components/DataViews/badgeAdapter.ts +32 -28
  33. package/apps/lib/components/DataViews/fieldRenderers.tsx +106 -141
  34. package/apps/lib/components/DataViews/filters/DatePickerRangeFilter.tsx +30 -23
  35. package/apps/lib/components/DataViews/filters/DateRangePopover.tsx +39 -32
  36. package/apps/lib/components/DataViews/filters/PresetChips.tsx +15 -15
  37. package/apps/lib/components/DataViews/filters/RangeSliderWithInputs.tsx +69 -58
  38. package/apps/lib/components/DataViews/index.ts +26 -26
  39. package/apps/lib/components/DataViews/tree/TreeDrawer.tsx +12 -16
  40. package/apps/lib/components/DataViews/tree/TreeSidebar.tsx +28 -31
  41. package/apps/lib/components/DataViews/types.ts +104 -115
  42. package/apps/lib/components/DatePicker.tsx +200 -196
  43. package/apps/lib/components/Dialog.tsx +92 -105
  44. package/apps/lib/components/Divider.tsx +21 -24
  45. package/apps/lib/components/Drawer.tsx +124 -142
  46. package/apps/lib/components/DropdownMenu.tsx +131 -171
  47. package/apps/lib/components/FieldHint.tsx +4 -11
  48. package/apps/lib/components/Form.tsx +146 -155
  49. package/apps/lib/components/FormBuilder/DisplayField.tsx +40 -0
  50. package/apps/lib/components/FormBuilder/context.ts +71 -0
  51. package/apps/lib/components/FormBuilder/fields/ChoiceFields.tsx +65 -0
  52. package/apps/lib/components/FormBuilder/fields/ColorField.tsx +76 -0
  53. package/apps/lib/components/FormBuilder/fields/CustomField.tsx +16 -0
  54. package/apps/lib/components/FormBuilder/fields/DateField.tsx +34 -0
  55. package/apps/lib/components/FormBuilder/fields/FieldArray.tsx +79 -0
  56. package/apps/lib/components/FormBuilder/fields/FieldShell.tsx +174 -0
  57. package/apps/lib/components/FormBuilder/fields/FileField.tsx +40 -0
  58. package/apps/lib/components/FormBuilder/fields/OptionListFields.tsx +139 -0
  59. package/apps/lib/components/FormBuilder/fields/OtpField.tsx +32 -0
  60. package/apps/lib/components/FormBuilder/fields/PhoneField.tsx +82 -0
  61. package/apps/lib/components/FormBuilder/fields/RichTextEditorField.tsx +37 -0
  62. package/apps/lib/components/FormBuilder/fields/SelectField.tsx +101 -0
  63. package/apps/lib/components/FormBuilder/fields/SignatureField.tsx +175 -0
  64. package/apps/lib/components/FormBuilder/fields/SliderField.tsx +72 -0
  65. package/apps/lib/components/FormBuilder/fields/SwitchBoxField.tsx +42 -0
  66. package/apps/lib/components/FormBuilder/fields/TableField.tsx +312 -0
  67. package/apps/lib/components/FormBuilder/fields/TextField.tsx +222 -0
  68. package/apps/lib/components/FormBuilder/fields/TreeSelectField.tsx +49 -0
  69. package/apps/lib/components/FormBuilder/fields/countries.ts +303 -0
  70. package/apps/lib/components/FormBuilder/fields/index.ts +25 -0
  71. package/apps/lib/components/FormBuilder/form-builder.tsx +292 -0
  72. package/apps/lib/components/FormBuilder/header.tsx +105 -0
  73. package/apps/lib/components/FormBuilder/index.ts +37 -0
  74. package/apps/lib/components/FormBuilder/numberFormat.ts +16 -0
  75. package/apps/lib/components/FormBuilder/stepper.tsx +217 -0
  76. package/apps/lib/components/FormBuilder/submit.tsx +41 -0
  77. package/apps/lib/components/FormBuilder/types.ts +264 -0
  78. package/apps/lib/components/FormBuilder/viewFormat.tsx +137 -0
  79. package/apps/lib/components/FormRenderer/FormDrawer.tsx +121 -0
  80. package/apps/lib/components/FormRenderer/form-renderer.tsx +113 -0
  81. package/apps/lib/components/FormRenderer/index.ts +9 -0
  82. package/apps/lib/components/FormRenderer/types.ts +79 -0
  83. package/apps/lib/components/FormStepper.tsx +9 -39
  84. package/apps/lib/components/FormSummary.tsx +282 -0
  85. package/apps/lib/components/HeaderBar.tsx +1 -9
  86. package/apps/lib/components/ImageAttachment.tsx +106 -93
  87. package/apps/lib/components/InnerLabelField.tsx +20 -16
  88. package/apps/lib/components/Input.tsx +171 -172
  89. package/apps/lib/components/InputField.tsx +44 -45
  90. package/apps/lib/components/InputOTP.tsx +68 -69
  91. package/apps/lib/components/Label.tsx +61 -58
  92. package/apps/lib/components/LabelField.tsx +4 -5
  93. package/apps/lib/components/LabeledCheckBox.tsx +8 -12
  94. package/apps/lib/components/LabeledRadio.tsx +7 -5
  95. package/apps/lib/components/LinkButton.tsx +2 -9
  96. package/apps/lib/components/LoginButton.tsx +4 -9
  97. package/apps/lib/components/PasswordLevel.tsx +5 -5
  98. package/apps/lib/components/Popover.tsx +15 -33
  99. package/apps/lib/components/ProfileMenu.tsx +67 -72
  100. package/apps/lib/components/Radio.tsx +1 -5
  101. package/apps/lib/components/RadioCard.tsx +11 -28
  102. package/apps/lib/components/ScrollArea.tsx +45 -43
  103. package/apps/lib/components/SearchField.tsx +49 -39
  104. package/apps/lib/components/SearchableSelect.tsx +16 -16
  105. package/apps/lib/components/SearchableTable.tsx +108 -118
  106. package/apps/lib/components/SearchableTree.tsx +469 -0
  107. package/apps/lib/components/SearchableTreeDialog.tsx +493 -0
  108. package/apps/lib/components/SectionBlock.tsx +19 -23
  109. package/apps/lib/components/Select.tsx +80 -186
  110. package/apps/lib/components/SimpleSelect.tsx +196 -187
  111. package/apps/lib/components/Skeleton.tsx +9 -12
  112. package/apps/lib/components/SlideDatePicker.tsx +215 -166
  113. package/apps/lib/components/SpinLoading.tsx +33 -49
  114. package/apps/lib/components/Stepper.tsx +13 -56
  115. package/apps/lib/components/Switch.tsx +8 -10
  116. package/apps/lib/components/TabFormItem.tsx +3 -12
  117. package/apps/lib/components/TabSwitch.tsx +7 -34
  118. package/apps/lib/components/Table.tsx +60 -75
  119. package/apps/lib/components/{ChartBlockTool.ts → TextEditor/ChartBlockTool.ts} +17 -52
  120. package/apps/lib/components/TextEditor/RichTextField.tsx +46 -0
  121. package/apps/lib/components/{TableDnDWrapper.ts → TextEditor/TableDnDWrapper.ts} +15 -48
  122. package/apps/lib/components/{TextEditor.tsx → TextEditor/TextEditor.tsx} +156 -113
  123. package/apps/lib/components/TextEditor/TextEditorToolbar.tsx +429 -0
  124. package/apps/lib/components/TextEditor/editor-tools/AlignmentTune.ts +70 -0
  125. package/apps/lib/components/TextEditor/editor-tools/ColorInlineTool.ts +50 -0
  126. package/apps/lib/components/TextEditor/editor-tools/StrikethroughInlineTool.ts +48 -0
  127. package/apps/lib/components/TextEditor/editor-tools/inlineFormat.ts +98 -0
  128. package/apps/lib/{types → components/TextEditor}/editorjs.d.ts +19 -0
  129. package/apps/lib/components/TextEditor/index.ts +7 -0
  130. package/apps/lib/{utils → components/TextEditor}/markdownParser.ts +2 -7
  131. package/apps/lib/components/Textarea.tsx +9 -13
  132. package/apps/lib/components/Timeline.tsx +21 -41
  133. package/apps/lib/components/Toast.tsx +83 -83
  134. package/apps/lib/components/Toggle.tsx +112 -114
  135. package/apps/lib/components/ToggleButton.tsx +1 -1
  136. package/apps/lib/components/Tooltip.tsx +24 -19
  137. package/apps/lib/components/TransparentLabel.tsx +61 -62
  138. package/apps/lib/components/TreeDropDown.tsx +86 -52
  139. package/apps/lib/components/TreeFolder/TreeFolder.tsx +15 -48
  140. package/apps/lib/components/TreeFolder/TreeFolderBreadcrumb.tsx +16 -21
  141. package/apps/lib/components/TreeFolder/TreeFolderRow.tsx +9 -20
  142. package/apps/lib/components/TreeFolder/TreeFolderStyles.tsx +3 -3
  143. package/apps/lib/components/TreeFolder/icons.tsx +14 -17
  144. package/apps/lib/components/TreeFolder/index.ts +15 -8
  145. package/apps/lib/components/TreeFolder/treeFolderUtils.ts +47 -52
  146. package/apps/lib/components/TreeFolder/types.ts +32 -32
  147. package/apps/lib/components/TreeFolder/useTreeFolderDnD.ts +117 -123
  148. package/apps/lib/hooks/useActiveTreeItem.ts +52 -55
  149. package/apps/lib/hooks/useClickOutside.ts +21 -20
  150. package/apps/lib/hooks/useDataViewsState.ts +86 -80
  151. package/apps/lib/hooks/useIsMobile.ts +12 -12
  152. package/apps/lib/hooks/useResize.ts +54 -65
  153. package/apps/lib/hooks/useTagSelection.ts +201 -201
  154. package/apps/lib/layouts/CNLayout.tsx +181 -140
  155. package/apps/lib/layouts/DataViewCard.tsx +4 -18
  156. package/apps/lib/layouts/FieldSection.tsx +2 -6
  157. package/apps/lib/layouts/TreeSubLayout.tsx +24 -38
  158. package/apps/lib/providers/ThemeProvider.tsx +8 -23
  159. package/apps/lib/registry.json +997 -0
  160. package/apps/lib/tsconfig.json +9 -0
  161. package/apps/lib/tsconfig.tsbuildinfo +1 -0
  162. package/apps/lib/utils/cn.ts +1 -1
  163. package/apps/lib/utils/color.ts +175 -0
  164. package/apps/lib/utils/dataViews/columnUtils.ts +46 -44
  165. package/apps/lib/utils/dataViews/fieldUtils.ts +70 -71
  166. package/apps/lib/utils/dataViews/nestedDataUtils.tsx +129 -122
  167. package/apps/lib/utils/dataViews/pathUtils.ts +74 -67
  168. package/apps/lib/utils/dataViews/rangeUtils.ts +121 -112
  169. package/apps/lib/utils/dataViews/treeUtils.ts +204 -211
  170. package/apps/lib/utils/dateFormat.ts +64 -54
  171. package/apps/lib/utils/resize.ts +21 -25
  172. package/apps/lib/utils/types.ts +13 -13
  173. package/dist/bin/index.js +8 -2
  174. package/dist/bin/index.js.map +1 -1
  175. package/dist/src/shared/getAvailableFiles.d.ts.map +1 -1
  176. package/dist/src/shared/getAvailableFiles.js +6 -1
  177. package/dist/src/shared/getAvailableFiles.js.map +1 -1
  178. package/dist/src/shared/loadRegistry.d.ts +7 -0
  179. package/dist/src/shared/loadRegistry.d.ts.map +1 -0
  180. package/dist/src/shared/loadRegistry.js +31 -0
  181. package/dist/src/shared/loadRegistry.js.map +1 -0
  182. package/dist/src/shared/resolveInstallPlan.d.ts +12 -0
  183. package/dist/src/shared/resolveInstallPlan.d.ts.map +1 -0
  184. package/dist/src/shared/resolveInstallPlan.js +39 -0
  185. package/dist/src/shared/resolveInstallPlan.js.map +1 -0
  186. package/dist/src/types/main.d.ts +24 -0
  187. package/dist/src/types/main.d.ts.map +1 -1
  188. package/docs/README.md +10 -2
  189. package/docs/components/action-button.md +30 -24
  190. package/docs/components/actions-group.md +26 -20
  191. package/docs/components/alert-dialog.md +45 -45
  192. package/docs/components/avatar.md +6 -2
  193. package/docs/components/badge-field.md +6 -2
  194. package/docs/components/badge.md +7 -1
  195. package/docs/components/breadcrumb.md +15 -40
  196. package/docs/components/button-group.md +13 -10
  197. package/docs/components/button.md +58 -33
  198. package/docs/components/calendar.md +26 -19
  199. package/docs/components/card.md +23 -18
  200. package/docs/components/chart-block-tool.md +129 -0
  201. package/docs/components/checkbox.md +16 -8
  202. package/docs/components/cn-layout.md +7 -1
  203. package/docs/components/color-picker.md +101 -0
  204. package/docs/components/conclusion-header.md +80 -0
  205. package/docs/components/context-menu.md +18 -25
  206. package/docs/components/count-badge.md +7 -1
  207. package/docs/components/data-table.md +45 -33
  208. package/docs/components/data-views-config-panel.md +15 -11
  209. package/docs/components/data-views-layout.md +13 -16
  210. package/docs/components/date-picker.md +30 -23
  211. package/docs/components/dialog.md +43 -42
  212. package/docs/components/divider.md +10 -4
  213. package/docs/components/drawer.md +161 -135
  214. package/docs/components/dropdown-menu.md +25 -34
  215. package/docs/components/field-hint.md +37 -25
  216. package/docs/components/field-section.md +9 -3
  217. package/docs/components/form-builder.md +270 -0
  218. package/docs/components/form-renderer.md +228 -0
  219. package/docs/components/form-stepper.md +6 -0
  220. package/docs/components/form-summary.md +123 -0
  221. package/docs/components/form.md +17 -20
  222. package/docs/components/header-bar.md +6 -0
  223. package/docs/components/image-attachment.md +43 -45
  224. package/docs/components/inbox-view.md +16 -5
  225. package/docs/components/inner-label-field.md +34 -24
  226. package/docs/components/input-field.md +18 -10
  227. package/docs/components/input-otp.md +14 -11
  228. package/docs/components/input.md +22 -16
  229. package/docs/components/kanban-view.md +15 -5
  230. package/docs/components/label-field.md +32 -22
  231. package/docs/components/label.md +43 -32
  232. package/docs/components/labeled-check-box.md +16 -8
  233. package/docs/components/labeled-radio.md +18 -11
  234. package/docs/components/link-button.md +7 -1
  235. package/docs/components/login-button.md +8 -2
  236. package/docs/components/password-level.md +37 -24
  237. package/docs/components/popover.md +26 -23
  238. package/docs/components/profile-menu.md +38 -27
  239. package/docs/components/radio-card.md +16 -9
  240. package/docs/components/radio.md +16 -8
  241. package/docs/components/scroll-area.md +6 -2
  242. package/docs/components/search-field.md +14 -6
  243. package/docs/components/searchable-select.md +19 -14
  244. package/docs/components/searchable-table.md +18 -13
  245. package/docs/components/searchable-tree-dialog.md +190 -0
  246. package/docs/components/searchable-tree.md +200 -0
  247. package/docs/components/section-block.md +12 -4
  248. package/docs/components/select.md +23 -18
  249. package/docs/components/simple-select.md +14 -10
  250. package/docs/components/skeleton.md +43 -33
  251. package/docs/components/slide-date-picker.md +37 -29
  252. package/docs/components/spin-loading.md +32 -23
  253. package/docs/components/stepper.md +6 -0
  254. package/docs/components/switch.md +14 -6
  255. package/docs/components/tab-form-item.md +7 -1
  256. package/docs/components/tab-switch.md +13 -6
  257. package/docs/components/table-dnd-wrapper.md +107 -0
  258. package/docs/components/table-view.md +15 -5
  259. package/docs/components/table.md +28 -28
  260. package/docs/components/text-editor.md +37 -13
  261. package/docs/components/textarea.md +15 -7
  262. package/docs/components/timeline.md +6 -0
  263. package/docs/components/toast.md +35 -26
  264. package/docs/components/toggle-button.md +24 -21
  265. package/docs/components/toggle.md +23 -15
  266. package/docs/components/tooltip.md +42 -30
  267. package/docs/components/transparent-label.md +29 -20
  268. package/docs/components/tree-drop-down.md +31 -23
  269. package/docs/components/tree-sub-layout.md +6 -2
  270. package/docs/components/tree-view.md +16 -5
  271. package/docs/explanation/architecture.md +54 -0
  272. package/docs/explanation/design-system.md +52 -0
  273. package/docs/how-to/data-views-from-backend-response.md +6 -4
  274. package/docs/how-to/form-and-list-recipes.md +26 -19
  275. package/docs/how-to/forms-with-form-builder.md +408 -0
  276. package/docs/how-to/guides.md +177 -197
  277. package/docs/migration/changelog.md +38 -0
  278. package/docs/reference/cli.md +87 -0
  279. package/docs/reference/components.md +11 -12
  280. package/docs/reference/hooks.md +8 -8
  281. package/docs/reference/providers.md +22 -22
  282. package/docs/reference/tailwind-plugins.md +2 -2
  283. package/docs/reference/theme.md +85 -0
  284. package/docs/reference/types.md +4 -4
  285. package/docs/reference/utilities.md +19 -26
  286. package/docs/tutorials/building-first-form.md +170 -172
  287. package/docs/tutorials/component-composition.md +34 -50
  288. package/docs/tutorials/getting-started.md +2 -2
  289. package/docs/tutorials/theming-basics.md +13 -10
  290. package/package.json +31 -3
  291. package/dist/src/commands/block.d.ts +0 -5
  292. package/dist/src/commands/block.d.ts.map +0 -1
  293. package/dist/src/commands/block.js +0 -255
  294. package/dist/src/commands/block.js.map +0 -1
  295. package/dist/src/shared/configureFonts.d.ts +0 -6
  296. package/dist/src/shared/configureFonts.d.ts.map +0 -1
  297. package/dist/src/shared/configureFonts.js +0 -106
  298. package/dist/src/shared/configureFonts.js.map +0 -1
  299. package/dist/src/shared/configureGlobalCss.d.ts +0 -6
  300. package/dist/src/shared/configureGlobalCss.d.ts.map +0 -1
  301. package/dist/src/shared/configureGlobalCss.js +0 -154
  302. package/dist/src/shared/configureGlobalCss.js.map +0 -1
  303. package/dist/src/shared/configureTailwind.d.ts +0 -7
  304. package/dist/src/shared/configureTailwind.d.ts.map +0 -1
  305. package/dist/src/shared/configureTailwind.js +0 -163
  306. package/dist/src/shared/configureTailwind.js.map +0 -1
  307. package/dist/src/shared/detectFramework.d.ts +0 -23
  308. package/dist/src/shared/detectFramework.d.ts.map +0 -1
  309. package/dist/src/shared/detectFramework.js +0 -119
  310. package/dist/src/shared/detectFramework.js.map +0 -1
  311. package/dist/src/shared/installBaseUtils.d.ts +0 -5
  312. package/dist/src/shared/installBaseUtils.d.ts.map +0 -1
  313. package/dist/src/shared/installBaseUtils.js +0 -79
  314. package/dist/src/shared/installBaseUtils.js.map +0 -1
  315. package/dist/src/shared/resolveAliases.d.ts +0 -24
  316. package/dist/src/shared/resolveAliases.d.ts.map +0 -1
  317. package/dist/src/shared/resolveAliases.js +0 -98
  318. package/dist/src/shared/resolveAliases.js.map +0 -1
package/README.md CHANGED
@@ -7,6 +7,14 @@ Welcome to the **TORCH Glare Components Library**! This library offers a compreh
7
7
  ## Documentation
8
8
  You can find the complete documentation at: [https://glare.torchcorp.com](https://glare.torchcorp.com)
9
9
 
10
+ ## MCP Server (AI assistants)
11
+ TORCH Glare ships an [MCP](https://modelcontextprotocol.io) server (`torch-glare-mcp`) that gives
12
+ AI assistants full access to component docs, API references, code examples, install commands, and
13
+ the actual source the CLI copies. See [`mcp/README.md`](mcp/README.md).
14
+
15
+ Wire it into your AI client with `npx torch-glare mcp`, or, when working in this repo, run
16
+ `pnpm run mcp:build` once — the local server is registered in [`.mcp.json`](.mcp.json).
17
+
10
18
  ## Contributing
11
19
  We’re excited to welcome contributors! To get started:
12
20
 
@@ -17,20 +17,19 @@ const buttonVariants = cva("!rounded-[4px]", {
17
17
  },
18
18
  });
19
19
 
20
-
21
20
  interface Props
22
- extends ButtonHTMLAttributes<HTMLButtonElement>,
23
- VariantProps<typeof buttonVariants> {
21
+ extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
24
22
  is_loading?: boolean;
25
23
  disabled?: boolean;
26
24
  asChild?: boolean;
27
25
  as?: React.ElementType;
28
- theme?: Themes
29
- variant?: ButtonVariant
26
+ theme?: Themes;
27
+ variant?: ButtonVariant;
30
28
  }
31
29
  export const ActionButton = function ({
32
30
  size,
33
31
  asChild,
32
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- excluded from {...props} spread
34
33
  as: Tag = "button",
35
34
  className,
36
35
  variant,
@@ -45,17 +44,13 @@ export const ActionButton = function ({
45
44
  asChild={asChild}
46
45
  buttonType="icon"
47
46
  type={type}
48
- size={
49
- size == "XS" ? "S" :
50
- size == "S" ? "M" :
51
- size == "M" ? "L" : "S"
52
- }
47
+ size={size == "XS" ? "S" : size == "S" ? "M" : size == "M" ? "L" : "S"}
53
48
  variant={variant}
54
49
  className={cn(
55
50
  buttonVariants({
56
51
  size,
57
- })
58
- , className
52
+ }),
53
+ className,
59
54
  )}
60
55
  {...props}
61
56
  >
@@ -5,34 +5,23 @@ import { Divider } from "./Divider";
5
5
 
6
6
  interface Props extends HTMLAttributes<HTMLDivElement> {
7
7
  withDivider?: boolean; // to display the divider line if you pass it see on figma design file
8
- theme?: Themes
8
+ theme?: Themes;
9
9
  }
10
10
 
11
- const ActionsGroup: React.FC<Props> = ({
12
- withDivider,
13
- className,
14
- children,
15
- theme,
16
- ...props
17
- }) => {
11
+ const ActionsGroup: React.FC<Props> = ({ withDivider, className, children, theme, ...props }) => {
18
12
  return (
19
13
  <section
20
14
  {...props}
21
15
  data-theme={theme}
22
16
  className={cn("flex items-center gap-2 w-full", className)}
23
17
  >
24
- {withDivider && (
25
- <Divider />
26
- )}
18
+ {withDivider && <Divider />}
27
19
  {children}
28
- {withDivider && (
29
- <Divider />
30
- )}
20
+ {withDivider && <Divider />}
31
21
  </section>
32
22
  );
33
23
  };
34
24
 
35
25
  // <div className="flex border-t border-solid border-border-presentation-global-primary flex-1 px-2" />
36
26
 
37
-
38
27
  export default ActionsGroup;
@@ -1,222 +1,204 @@
1
- "use client"
1
+ "use client";
2
2
 
3
- import * as React from "react"
4
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
3
+ import * as React from "react";
4
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
5
5
 
6
- import { cn } from "../utils/cn"
7
- import { Button, buttonVariants } from "./Button"
8
- import { ButtonVariant } from "../utils/types"
9
- import { cva } from "class-variance-authority"
6
+ import { cn } from "../utils/cn";
7
+ import { Button, buttonVariants } from "./Button";
8
+ import { ButtonVariant } from "../utils/types";
9
+ import { cva } from "class-variance-authority";
10
10
 
11
11
  const StatusTextStyle = cva("", {
12
- variants: {
13
- variant: {
14
- default: "[&_strong]:text-content-presentation-global-primary [&_[data-description]]:text-content-presentation-global-primary",
15
- info: "[&_strong]:text-content-presentation-state-information [&_[data-description]]:text-content-presentation-state-information",
16
- success: "[&_strong]:text-content-presentation-state-success [&_[data-description]]:text-content-presentation-state-success",
17
- warning: "[&_strong]:text-content-presentation-state-warning [&_[data-description]]:text-content-presentation-state-warning",
18
- error: "[&_strong]:text-content-presentation-state-negative [&_[data-description]]:text-content-presentation-state-negative",
19
- }
20
- },
21
- defaultVariants: {
22
- variant: "default",
12
+ variants: {
13
+ variant: {
14
+ default:
15
+ "[&_strong]:text-content-presentation-global-primary [&_[data-description]]:text-content-presentation-global-primary",
16
+ info: "[&_strong]:text-content-presentation-state-information [&_[data-description]]:text-content-presentation-state-information",
17
+ success:
18
+ "[&_strong]:text-content-presentation-state-success [&_[data-description]]:text-content-presentation-state-success",
19
+ warning:
20
+ "[&_strong]:text-content-presentation-state-warning [&_[data-description]]:text-content-presentation-state-warning",
21
+ error:
22
+ "[&_strong]:text-content-presentation-state-negative [&_[data-description]]:text-content-presentation-state-negative",
23
23
  },
24
+ },
25
+ defaultVariants: {
26
+ variant: "default",
27
+ },
24
28
  });
25
29
 
30
+ const AlertDialog = AlertDialogPrimitive.Root;
26
31
 
27
- const AlertDialog = AlertDialogPrimitive.Root
28
-
29
- const AlertDialogTrigger = AlertDialogPrimitive.Trigger
32
+ const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
30
33
 
31
- const AlertDialogPortal = AlertDialogPrimitive.Portal
34
+ const AlertDialogPortal = AlertDialogPrimitive.Portal;
32
35
 
33
36
  const AlertDialogOverlay = React.forwardRef<
34
- React.ElementRef<typeof AlertDialogPrimitive.Overlay>,
35
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>
37
+ React.ElementRef<typeof AlertDialogPrimitive.Overlay>,
38
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>
36
39
  >(({ className, ...props }, ref) => (
37
- <AlertDialogPrimitive.Overlay
38
- className={cn(
39
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
40
- className
41
- )}
42
- {...props}
43
- ref={ref}
44
- />
45
- ))
46
- AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName
40
+ <AlertDialogPrimitive.Overlay
41
+ className={cn(
42
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
43
+ className,
44
+ )}
45
+ {...props}
46
+ ref={ref}
47
+ />
48
+ ));
49
+ AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
47
50
 
48
51
  const AlertDialogContent = React.forwardRef<
49
- React.ElementRef<typeof AlertDialogPrimitive.Content>,
50
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & {
51
- variant?: "info" | "success" | "warning" | "error" | "default"
52
- }
52
+ React.ElementRef<typeof AlertDialogPrimitive.Content>,
53
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> & {
54
+ variant?: "info" | "success" | "warning" | "error" | "default";
55
+ }
53
56
  >(({ className, variant = "default", ...props }, ref) => (
54
- <AlertDialogPortal>
55
- <AlertDialogOverlay />
56
- <AlertDialogPrimitive.Content
57
- ref={ref}
58
- className={cn(
59
- StatusTextStyle({ variant }),
60
- "fixed left-[50%] top-[50%] z-50 grid w-full max-w-[800px] translate-x-[-50%] translate-y-[-50%]",
61
- "gap-2 rounded-[16px] border-2 border-border-presentation-global-primary",
62
- "bg-background-presentation-body-overlay-primary p-[12px]",
63
- "text-content-presentation-global-primary",
64
- "shadow-lg duration-200",
65
- "data-[state=open]:animate-in data-[state=closed]:animate-out",
66
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
67
- "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
68
- "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
69
- "data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
70
- className
71
- )}
72
- {...props}
73
- />
74
- </AlertDialogPortal>
75
- ))
76
- AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName
77
-
78
- const AlertDialogHeader = ({
79
- className,
80
- ...props
81
- }: React.HTMLAttributes<HTMLDivElement>) => (
82
- <div
83
- className={cn(
84
- "flex justify-between space-x-2 text-left",
85
- className
86
- )}
87
- {...props}
88
- />
89
- )
90
- AlertDialogHeader.displayName = "AlertDialogHeader"
91
-
92
- const AlertDialogFooter = ({
93
- className,
94
- ...props
95
- }: React.HTMLAttributes<HTMLDivElement>) => (
96
- <div
97
- className={cn(
98
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
99
- className
100
- )}
101
- {...props}
57
+ <AlertDialogPortal>
58
+ <AlertDialogOverlay />
59
+ <AlertDialogPrimitive.Content
60
+ ref={ref}
61
+ className={cn(
62
+ StatusTextStyle({ variant }),
63
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-[800px] translate-x-[-50%] translate-y-[-50%]",
64
+ "gap-2 rounded-[16px] border-2 border-border-presentation-global-primary",
65
+ "bg-background-presentation-body-overlay-primary p-[12px]",
66
+ "text-content-presentation-global-primary",
67
+ "shadow-lg duration-200",
68
+ "data-[state=open]:animate-in data-[state=closed]:animate-out",
69
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
70
+ "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
71
+ "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
72
+ "data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
73
+ className,
74
+ )}
75
+ {...props}
102
76
  />
103
- )
104
- AlertDialogFooter.displayName = "AlertDialogFooter"
77
+ </AlertDialogPortal>
78
+ ));
79
+ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
80
+
81
+ const AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
82
+ <div className={cn("flex justify-between space-x-2 text-left", className)} {...props} />
83
+ );
84
+ AlertDialogHeader.displayName = "AlertDialogHeader";
85
+
86
+ const AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (
87
+ <div
88
+ className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
89
+ {...props}
90
+ />
91
+ );
92
+ AlertDialogFooter.displayName = "AlertDialogFooter";
105
93
 
106
94
  const AlertDialogTitle = React.forwardRef<
107
- React.ElementRef<typeof AlertDialogPrimitive.Title>,
108
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>
95
+ React.ElementRef<typeof AlertDialogPrimitive.Title>,
96
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>
109
97
  >(({ className, ...props }, ref) => (
110
- <AlertDialogPrimitive.Title
111
- ref={ref}
112
- className={cn("typography-display-medium-semibold", className)}
113
- {...props}
114
- />
115
- ))
116
- AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName
98
+ <AlertDialogPrimitive.Title
99
+ ref={ref}
100
+ className={cn("typography-display-medium-semibold", className)}
101
+ {...props}
102
+ />
103
+ ));
104
+ AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
117
105
 
118
106
  const AlertDialogLabel = React.forwardRef<
119
- React.ElementRef<typeof AlertDialogPrimitive.Title>,
120
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title> & {
121
- title: string
122
- }
107
+ React.ElementRef<typeof AlertDialogPrimitive.Title>,
108
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title> & {
109
+ title: string;
110
+ }
123
111
  >(({ className, title, ...props }, ref) => {
124
- const words = title.split(' ');
125
- const firstWord = words[0];
126
- const restOfTitle = words.slice(1).join(' ');
127
-
128
- return (
129
- <AlertDialogPrimitive.Title
130
- ref={ref}
131
- className={cn("typography-display-medium-semibold", className)}
132
- {...props}
133
- >
134
- <p className="first-letter:uppercase typography-display-medium-semibold" >
135
- <strong className="typography-display-medium-semibold" >{firstWord}</strong>
136
- {restOfTitle.length > 0 && ' ' + restOfTitle}
137
- </p>
138
- </AlertDialogPrimitive.Title>
139
- )
140
- })
141
- AlertDialogLabel.displayName = "AlertDialogLabel"
112
+ const words = title.split(" ");
113
+ const firstWord = words[0];
114
+ const restOfTitle = words.slice(1).join(" ");
115
+
116
+ return (
117
+ <AlertDialogPrimitive.Title
118
+ ref={ref}
119
+ className={cn("typography-display-medium-semibold", className)}
120
+ {...props}
121
+ >
122
+ <p className="first-letter:uppercase typography-display-medium-semibold">
123
+ <strong className="typography-display-medium-semibold">{firstWord}</strong>
124
+ {restOfTitle.length > 0 && " " + restOfTitle}
125
+ </p>
126
+ </AlertDialogPrimitive.Title>
127
+ );
128
+ });
129
+ AlertDialogLabel.displayName = "AlertDialogLabel";
142
130
 
143
131
  const AlertDialogDescription = React.forwardRef<
144
- React.ElementRef<typeof AlertDialogPrimitive.Description>,
145
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>
132
+ React.ElementRef<typeof AlertDialogPrimitive.Description>,
133
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>
146
134
  >(({ className, ...props }, ref) => (
147
- <AlertDialogPrimitive.Description
148
- data-description=""
149
- ref={ref}
150
- className={cn(
151
- "typography-body-large-medium",
152
- "bg-background-presentation-form-base",
153
- "border border-border-presentation-global-primary",
154
- "rounded-[8px] p-[24px_48px_48px_48px]",
155
- className
156
- )}
157
- {...props}
158
- />
159
- ))
160
- AlertDialogDescription.displayName =
161
- AlertDialogPrimitive.Description.displayName
135
+ <AlertDialogPrimitive.Description
136
+ data-description=""
137
+ ref={ref}
138
+ className={cn(
139
+ "typography-body-large-medium",
140
+ "bg-background-presentation-form-base",
141
+ "border border-border-presentation-global-primary",
142
+ "rounded-[8px] p-[24px_48px_48px_48px]",
143
+ className,
144
+ )}
145
+ {...props}
146
+ />
147
+ ));
148
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
162
149
 
163
150
  const AlertDialogAction = React.forwardRef<
164
- React.ElementRef<typeof AlertDialogPrimitive.Action>,
165
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {
166
- size?: "M" | "S" | "L" | "XL"
167
- variant?: ButtonVariant
168
- buttonType?: "button" | "icon"
169
- }
170
- >(({ className,
171
- size = "M",
172
- variant = "BorderStyle",
173
- buttonType = "button",
174
- ...props }, ref) => (
175
- <AlertDialogPrimitive.Action
176
- ref={ref}
177
- className={cn(buttonVariants({ variant: variant, size: size, buttonType: buttonType }), className)}
178
- asChild
179
- >
180
- <Button size={size} variant={variant} buttonType={buttonType} {...props} />
181
- </AlertDialogPrimitive.Action>
182
- ))
183
- AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName
151
+ React.ElementRef<typeof AlertDialogPrimitive.Action>,
152
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {
153
+ size?: "M" | "S" | "L" | "XL";
154
+ variant?: ButtonVariant;
155
+ buttonType?: "button" | "icon";
156
+ }
157
+ >(({ className, size = "M", variant = "BorderStyle", buttonType = "button", ...props }, ref) => (
158
+ <AlertDialogPrimitive.Action
159
+ ref={ref}
160
+ className={cn(
161
+ buttonVariants({ variant: variant, size: size, buttonType: buttonType }),
162
+ className,
163
+ )}
164
+ asChild
165
+ >
166
+ <Button size={size} variant={variant} buttonType={buttonType} {...props} />
167
+ </AlertDialogPrimitive.Action>
168
+ ));
169
+ AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
184
170
 
185
171
  const AlertDialogCancel = React.forwardRef<
186
- React.ElementRef<typeof AlertDialogPrimitive.Cancel>,
187
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {
188
- size?: "M" | "S" | "L" | "XL"
189
- variant?: ButtonVariant
190
- buttonType?: "button" | "icon"
191
- }
192
- >(({ className,
193
- size = "M",
194
- variant = "RedSecStyle",
195
- buttonType = "icon",
196
- ...props }, ref) => (
197
- <AlertDialogPrimitive.Cancel
198
- ref={ref}
199
- className={cn(
200
- buttonVariants({ variant: variant, size: size, buttonType: buttonType }),
201
- "",
202
- className
203
- )}
204
- {...props}
205
- />
206
- ))
207
- AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName
172
+ React.ElementRef<typeof AlertDialogPrimitive.Cancel>,
173
+ React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {
174
+ size?: "M" | "S" | "L" | "XL";
175
+ variant?: ButtonVariant;
176
+ buttonType?: "button" | "icon";
177
+ }
178
+ >(({ className, size = "M", variant = "RedSecStyle", buttonType = "icon", ...props }, ref) => (
179
+ <AlertDialogPrimitive.Cancel
180
+ ref={ref}
181
+ className={cn(
182
+ buttonVariants({ variant: variant, size: size, buttonType: buttonType }),
183
+ "",
184
+ className,
185
+ )}
186
+ {...props}
187
+ />
188
+ ));
189
+ AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
208
190
 
209
191
  export {
210
- AlertDialog,
211
- AlertDialogPortal,
212
- AlertDialogOverlay,
213
- AlertDialogTrigger,
214
- AlertDialogContent,
215
- AlertDialogHeader,
216
- AlertDialogFooter,
217
- AlertDialogTitle,
218
- AlertDialogLabel,
219
- AlertDialogDescription,
220
- AlertDialogAction,
221
- AlertDialogCancel,
222
- }
192
+ AlertDialog,
193
+ AlertDialogPortal,
194
+ AlertDialogOverlay,
195
+ AlertDialogTrigger,
196
+ AlertDialogContent,
197
+ AlertDialogHeader,
198
+ AlertDialogFooter,
199
+ AlertDialogTitle,
200
+ AlertDialogLabel,
201
+ AlertDialogDescription,
202
+ AlertDialogAction,
203
+ AlertDialogCancel,
204
+ };
@@ -1,8 +1,8 @@
1
- "use client"
1
+ "use client";
2
2
 
3
- import * as React from "react"
4
- import * as AvatarPrimitive from "@radix-ui/react-avatar"
5
- import { cn } from "../utils/cn"
3
+ import * as React from "react";
4
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
5
+ import { cn } from "../utils/cn";
6
6
 
7
7
  const Avatar = React.forwardRef<
8
8
  React.ElementRef<typeof AvatarPrimitive.Root>,
@@ -10,14 +10,11 @@ const Avatar = React.forwardRef<
10
10
  >(({ className, ...props }, ref) => (
11
11
  <AvatarPrimitive.Root
12
12
  ref={ref}
13
- className={cn(
14
- "relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
15
- className
16
- )}
13
+ className={cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className)}
17
14
  {...props}
18
15
  />
19
- ))
20
- Avatar.displayName = AvatarPrimitive.Root.displayName
16
+ ));
17
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
21
18
 
22
19
  const AvatarImage = React.forwardRef<
23
20
  React.ElementRef<typeof AvatarPrimitive.Image>,
@@ -28,8 +25,8 @@ const AvatarImage = React.forwardRef<
28
25
  className={cn("aspect-square h-full w-full object-cover", className)}
29
26
  {...props}
30
27
  />
31
- ))
32
- AvatarImage.displayName = AvatarPrimitive.Image.displayName
28
+ ));
29
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
33
30
 
34
31
  const AvatarFallback = React.forwardRef<
35
32
  React.ElementRef<typeof AvatarPrimitive.Fallback>,
@@ -39,11 +36,11 @@ const AvatarFallback = React.forwardRef<
39
36
  ref={ref}
40
37
  className={cn(
41
38
  "flex h-full w-full items-center justify-center rounded-full bg-background-presentation-action-disabled text-content-presentation-global-primary",
42
- className
39
+ className,
43
40
  )}
44
41
  {...props}
45
42
  />
46
- ))
47
- AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
43
+ ));
44
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
48
45
 
49
- export { Avatar, AvatarImage, AvatarFallback }
46
+ export { Avatar, AvatarImage, AvatarFallback };
@@ -163,9 +163,7 @@ export const badgeStyles = cva(
163
163
  );
164
164
 
165
165
  interface BadgeProps
166
- extends
167
- Omit<HTMLAttributes<HTMLSpanElement>, "color">,
168
- VariantProps<typeof badgeStyles> {
166
+ extends Omit<HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof badgeStyles> {
169
167
  label?: string;
170
168
  badgeIcon?: ReactNode;
171
169
  showIcon?: boolean;