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,9 +1,21 @@
1
- import { forwardRef, HTMLAttributes, InputHTMLAttributes, ReactNode, useEffect, useState } from "react";
1
+ import {
2
+ forwardRef,
3
+ HTMLAttributes,
4
+ InputHTMLAttributes,
5
+ ReactNode,
6
+ useEffect,
7
+ useState,
8
+ } from "react";
2
9
  import { Button } from "./Button";
3
10
  import { cva } from "class-variance-authority";
4
11
  import { cn } from "../utils/cn";
5
12
  import { Themes } from "../utils/types";
6
- import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogCancel } from "./AlertDialog";
13
+ import {
14
+ AlertDialog,
15
+ AlertDialogTrigger,
16
+ AlertDialogContent,
17
+ AlertDialogCancel,
18
+ } from "./AlertDialog";
7
19
 
8
20
  const dropZoneStyles = cva(
9
21
  [
@@ -17,17 +29,17 @@ const dropZoneStyles = cva(
17
29
  true: "bg-background-presentation-action-hovercontstyle border-border-presentation-badge-gray",
18
30
  },
19
31
  },
20
- }
32
+ },
21
33
  );
22
34
 
23
35
  interface Props extends InputHTMLAttributes<HTMLInputElement | HTMLDivElement> {
24
36
  isDropAreaActive?: boolean;
25
37
  mainLabel: string;
26
38
  secondaryLabel: string;
27
- theme?: Themes
28
- expandLabel: ReactNode
29
- children?: ReactNode
30
- getRootProps?: () => any
39
+ theme?: Themes;
40
+ expandLabel: ReactNode;
41
+ children?: ReactNode;
42
+ getRootProps?: () => Record<string, unknown>;
31
43
  }
32
44
 
33
45
  const ImageAttachment = forwardRef<HTMLInputElement, Props>(
@@ -42,11 +54,10 @@ const ImageAttachment = forwardRef<HTMLInputElement, Props>(
42
54
  children,
43
55
  ...props
44
56
  }: Props,
45
- ref
57
+ ref,
46
58
  ) => {
47
59
  return (
48
- <section
49
- className={cn("flex items-center justify-center gap-1 w-full", className)}>
60
+ <section className={cn("flex items-center justify-center gap-1 w-full", className)}>
50
61
  {children}
51
62
  <Button
52
63
  {...getRootProps?.()}
@@ -66,28 +77,29 @@ const ImageAttachment = forwardRef<HTMLInputElement, Props>(
66
77
  <input ref={ref} {...props} type="file" hidden />
67
78
  </Button>
68
79
  </section>
69
-
70
80
  );
71
- }
81
+ },
72
82
  );
73
83
 
74
- ImageAttachment.displayName = "ImageAttachment"
75
-
76
- export {
77
- ImageAttachment,
78
- ExpandableImage,
79
- AttachmentImagePreview
80
- }
84
+ ImageAttachment.displayName = "ImageAttachment";
81
85
 
86
+ export { ImageAttachment, ExpandableImage, AttachmentImagePreview };
82
87
 
83
88
  interface ExpandableImageProps extends HTMLAttributes<HTMLDivElement> {
84
- previewSrc: any
85
- expandLabel: ReactNode
86
- placeholderLabel?: string
87
- theme?: Themes
89
+ previewSrc: string;
90
+ expandLabel: ReactNode;
91
+ placeholderLabel?: string;
92
+ theme?: Themes;
88
93
  }
89
94
 
90
- const ExpandableImage = ({ theme, previewSrc, expandLabel, placeholderLabel = "Upload Image", className, ...props }: ExpandableImageProps) => {
95
+ const ExpandableImage = ({
96
+ theme,
97
+ previewSrc,
98
+ expandLabel,
99
+ placeholderLabel = "Upload Image",
100
+ className,
101
+ ...props
102
+ }: ExpandableImageProps) => {
91
103
  // Calculate the aspect ratio of the image
92
104
  const [aspectRatio, setAspectRatio] = useState<number | null>(null);
93
105
  useEffect(() => {
@@ -103,76 +115,101 @@ const ExpandableImage = ({ theme, previewSrc, expandLabel, placeholderLabel = "U
103
115
  }, [previewSrc]);
104
116
 
105
117
  return (
106
- <section style={props.style} data-theme={theme} className={cn("flex items-center justify-center rounded-md relative overflow-hidden border-none group h-[65px] max-w-[180px]", className)}>
107
- {previewSrc ? <SelectedImg aspectRatio={aspectRatio} src={previewSrc} /> : <PlaceHolder label={placeholderLabel} />}
118
+ <section
119
+ style={props.style}
120
+ data-theme={theme}
121
+ className={cn(
122
+ "flex items-center justify-center rounded-md relative overflow-hidden border-none group h-[65px] max-w-[180px]",
123
+ className,
124
+ )}
125
+ >
126
+ {previewSrc ? (
127
+ <SelectedImg aspectRatio={aspectRatio} src={previewSrc} />
128
+ ) : (
129
+ <PlaceHolder label={placeholderLabel} />
130
+ )}
108
131
 
109
- {
110
- previewSrc && (
111
- <AlertDialog>
112
- <AlertDialogTrigger asChild>
113
- <button
114
- className='flex w-full h-full justify-center items-center flex-col absolute z-10 opacity-0 bg-black/50 transition-all duration-250 ease-in-out hover:opacity-100'
132
+ {previewSrc && (
133
+ <AlertDialog>
134
+ <AlertDialogTrigger asChild>
135
+ <button className="flex w-full h-full justify-center items-center flex-col absolute z-10 opacity-0 bg-black/50 transition-all duration-250 ease-in-out hover:opacity-100">
136
+ <svg
137
+ width="25"
138
+ height="25"
139
+ viewBox="0 0 25 25"
140
+ fill="none"
141
+ xmlns="http://www.w3.org/2000/svg"
115
142
  >
116
- <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
117
- <path d="M15.5 3.5L17.8 5.8L14.91 8.67L16.33 10.09L19.2 7.2L21.5 9.5V3.5H15.5ZM3.5 9.5L5.8 7.2L8.67 10.09L10.09 8.67L7.2 5.8L9.5 3.5H3.5V9.5ZM9.5 21.5L7.2 19.2L10.09 16.33L8.67 14.91L5.8 17.8L3.5 15.5V21.5H9.5ZM21.5 15.5L19.2 17.8L16.33 14.91L14.91 16.33L17.8 19.2L15.5 21.5H21.5V15.5Z" fill="#F9F9F9" />
118
- </svg>
119
- <p className='text-content-presentation-global-primary-inverse typography-labels-small-regular max-w-[50px] break-words m-0'>
120
- {expandLabel}
121
- </p>
122
- </button>
123
- </AlertDialogTrigger>
124
- <AlertDialogContent className="w-fit bg-transparent border-none">
125
- {props.children}
126
- </AlertDialogContent>
127
- </AlertDialog>
128
- )
129
- }
143
+ <path
144
+ d="M15.5 3.5L17.8 5.8L14.91 8.67L16.33 10.09L19.2 7.2L21.5 9.5V3.5H15.5ZM3.5 9.5L5.8 7.2L8.67 10.09L10.09 8.67L7.2 5.8L9.5 3.5H3.5V9.5ZM9.5 21.5L7.2 19.2L10.09 16.33L8.67 14.91L5.8 17.8L3.5 15.5V21.5H9.5ZM21.5 15.5L19.2 17.8L16.33 14.91L14.91 16.33L17.8 19.2L15.5 21.5H21.5V15.5Z"
145
+ fill="#F9F9F9"
146
+ />
147
+ </svg>
148
+ <p className="text-content-presentation-global-primary-inverse typography-labels-small-regular max-w-[50px] break-words m-0">
149
+ {expandLabel}
150
+ </p>
151
+ </button>
152
+ </AlertDialogTrigger>
153
+ <AlertDialogContent className="w-fit bg-transparent border-none">
154
+ {props.children}
155
+ </AlertDialogContent>
156
+ </AlertDialog>
157
+ )}
130
158
  </section>
131
159
  );
132
- }
160
+ };
133
161
 
134
-
135
- function PlaceHolder({ label }: any) {
162
+ function PlaceHolder({ label }: { label: string }) {
136
163
  return (
137
- <section className={cn([
138
- 'w-[65px] h-full gap-[2px] flex flex-col justify-center items-center px-1 ',
139
- ' rounded-lg border-2 border-dashed',
140
- ' border-border-presentation-badge-blue-purple',
141
- ' bg-background-presentation-badge-blue-purple',
142
- ' transition-all duration-300 ease-in-out',
143
- ' hover:bg-background-presentation-badge-gray hover:border-border-presentation-badge-gray']
144
- )}>
164
+ <section
165
+ className={cn([
166
+ "w-[65px] h-full gap-[2px] flex flex-col justify-center items-center px-1 ",
167
+ " rounded-lg border-2 border-dashed",
168
+ " border-border-presentation-badge-blue-purple",
169
+ " bg-background-presentation-badge-blue-purple",
170
+ " transition-all duration-300 ease-in-out",
171
+ " hover:bg-background-presentation-badge-gray hover:border-border-presentation-badge-gray",
172
+ ])}
173
+ >
145
174
  <i className="ri-attachment-line text-content-presentation-badge-blue-purple group-hover:text-[#797C7F] text-[24px] h-[24px]"></i>
146
- <p className='text-content-presentation-badge-blue-purple typography-labels-small-regular group-hover:text-[#797C7F] px-1 py-[2px] text-center'>{label}</p>
175
+ <p className="text-content-presentation-badge-blue-purple typography-labels-small-regular group-hover:text-[#797C7F] px-1 py-[2px] text-center">
176
+ {label}
177
+ </p>
147
178
  </section>
148
- )
179
+ );
149
180
  }
150
181
 
151
-
152
-
153
- function SelectedImg({ src, aspectRatio }: any) {
182
+ function SelectedImg({ src, aspectRatio }: { src: string; aspectRatio: number | null }) {
154
183
  return (
155
- <section style={{ aspectRatio: aspectRatio }} className='bg-white w-full h-full rounded-md border border-border-presentation-global-primary shrink-0'>
156
- <img src={src} className='object-center object-cover h-full w-full' />
184
+ <section
185
+ style={{ aspectRatio: aspectRatio ?? undefined }}
186
+ className="bg-white w-full h-full rounded-md border border-border-presentation-global-primary shrink-0"
187
+ >
188
+ <img src={src} className="object-center object-cover h-full w-full" />
157
189
  </section>
158
190
  );
159
191
  }
160
192
 
161
-
162
193
  interface AttachmentImagePreviewProps extends HTMLAttributes<HTMLDivElement> {
163
- src: any;
194
+ src: string;
164
195
  header?: ReactNode;
165
- theme?: Themes
196
+ theme?: Themes;
166
197
  }
167
198
 
168
- function AttachmentImagePreview({ theme, src, header, className, ...props }: AttachmentImagePreviewProps) {
199
+ function AttachmentImagePreview({
200
+ theme,
201
+ src,
202
+ header,
203
+ className,
204
+ ...props
205
+ }: AttachmentImagePreviewProps) {
169
206
  return (
170
207
  <section
171
208
  {...props}
172
209
  data-theme={theme}
173
210
  className={cn(
174
211
  " overflow-hidden flex flex-col items-center justify-center w-80 p-2 gap-2 rounded-md border shadow-md border-border-presentation-global-primary bg-background-presentation-form-base",
175
- className
212
+ className,
176
213
  )}
177
214
  >
178
215
  <section className="flex items-center justify-between w-full m-0">
@@ -186,11 +223,12 @@ function AttachmentImagePreview({ theme, src, header, className, ...props }: Att
186
223
  </AlertDialogCancel>
187
224
  </section>
188
225
 
189
- <img className="w-full object-cover object-center rounded-md border shadow-md border-border-presentation-global-primary" src={src} />
226
+ <img
227
+ className="w-full object-cover object-center rounded-md border shadow-md border-border-presentation-global-primary"
228
+ src={src}
229
+ />
190
230
 
191
- <section className="flex items-center justify-end w-full gap-2">
192
- {props.children}
193
- </section>
231
+ <section className="flex items-center justify-end w-full gap-2">{props.children}</section>
194
232
  </section>
195
233
  );
196
234
  }
@@ -6,8 +6,7 @@ import { ToolTipSide } from "./Tooltip";
6
6
  import { cn } from "../utils/cn";
7
7
  import { Themes } from "../utils/types";
8
8
 
9
- interface Props
10
- extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "variant"> {
9
+ interface Props extends Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "variant"> {
11
10
  size?: "S" | "M"; // this is used to change the size style of the component
12
11
  variant?: "SystemStyle" | "PresentationStyle";
13
12
  icon?: ReactNode; // to add left side icon if you pass it
@@ -18,14 +17,15 @@ interface Props
18
17
  label?: string; // to show label
19
18
  required?: boolean; // to show required icon
20
19
  toolTipSide?: ToolTipSide;
21
- theme?: Themes
20
+ theme?: Themes;
22
21
  }
23
22
 
24
23
  export const InnerLabelField = forwardRef<HTMLInputElement, Props>(
25
24
  (
26
25
  {
27
26
  size = "M",
28
- icon,
27
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
+ icon, // excluded from ...props spread (icon is overridden below)
29
29
  childrenSide,
30
30
  popoverChildren,
31
31
  errorMessage,
@@ -38,7 +38,7 @@ export const InnerLabelField = forwardRef<HTMLInputElement, Props>(
38
38
  toolTipSide,
39
39
  ...props
40
40
  },
41
- ref
41
+ ref,
42
42
  ) => {
43
43
  const [focus, setFocus] = useState(false);
44
44
  const [isEmpty, setIsEmpty] = useState(!props.value);
@@ -80,15 +80,12 @@ export const InnerLabelField = forwardRef<HTMLInputElement, Props>(
80
80
  }
81
81
  />
82
82
  );
83
- }
83
+ },
84
84
  );
85
85
 
86
- InnerLabelField.displayName = "InnerLabelField"
87
-
88
-
86
+ InnerLabelField.displayName = "InnerLabelField";
89
87
 
90
88
  const Label = ({
91
-
92
89
  focus,
93
90
  isEmpty,
94
91
  label,
@@ -121,16 +118,23 @@ const Label = ({
121
118
  "ease-in-out",
122
119
  "group-hover:text-content-presentation-global-primary group-hover:typography-body-small-regular",
123
120
  { "text-content-presentation-global-primary typography-body-small-regular": isEmpty },
124
- { "text-content-presentation-global-primary typography-body-small-regular": focus && isEmpty },
125
- { "text-content-presentation-global-primary typography-body-small-regular": error && isEmpty },
126
- { "text-content-presentation-global-primary typography-body-small-regular": disabled && isEmpty },
121
+ {
122
+ "text-content-presentation-global-primary typography-body-small-regular":
123
+ focus && isEmpty,
124
+ },
125
+ {
126
+ "text-content-presentation-global-primary typography-body-small-regular":
127
+ error && isEmpty,
128
+ },
129
+ {
130
+ "text-content-presentation-global-primary typography-body-small-regular":
131
+ disabled && isEmpty,
132
+ },
127
133
  )}
128
134
  >
129
135
  {label}
130
136
  </p>
131
- {required && (
132
- <p className="text-content-presentation-state-negative">*</p>
133
- )}
137
+ {required && <p className="text-content-presentation-state-negative">*</p>}
134
138
  </section>
135
139
  <span
136
140
  className={cn(