@oneplatformdev/ui 0.1.99-beta.27 → 0.1.99-beta.270

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 (252) hide show
  1. package/Accordion/Accordion.d.ts +1 -1
  2. package/Accordion/Accordion.d.ts.map +1 -1
  3. package/Accordion/Accordion.js +48 -26
  4. package/Accordion/Accordion.js.map +1 -1
  5. package/AlertDialog/AlertDialog.stories.js +66 -23
  6. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  7. package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  8. package/AlertDialog/AlertDialogRoot.js +19 -18
  9. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  10. package/Button/Button.d.ts.map +1 -1
  11. package/Button/Button.js +40 -40
  12. package/Button/Button.js.map +1 -1
  13. package/Button/Button.stories.js +15 -12
  14. package/Button/Button.stories.js.map +1 -1
  15. package/Button/Button.utils.d.ts +3 -0
  16. package/Button/Button.utils.d.ts.map +1 -0
  17. package/Button/Button.utils.js +14 -0
  18. package/Button/Button.utils.js.map +1 -0
  19. package/Button/buttonVariants.d.ts +2 -2
  20. package/Button/buttonVariants.d.ts.map +1 -1
  21. package/Button/buttonVariants.js +38 -6
  22. package/Button/buttonVariants.js.map +1 -1
  23. package/Button/index.d.ts +1 -0
  24. package/Button/index.d.ts.map +1 -1
  25. package/Button/index.js +8 -6
  26. package/Button/index.js.map +1 -1
  27. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  28. package/ButtonIcon/ButtonIcon.js +47 -47
  29. package/ButtonIcon/ButtonIcon.js.map +1 -1
  30. package/ButtonIcon/ButtonIcon.stories.js +35 -33
  31. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  32. package/ButtonIcon/buttonIconVariants.d.ts +1 -1
  33. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  34. package/ButtonIcon/buttonIconVariants.js +3 -2
  35. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  36. package/CHANGELOG.md +1527 -0
  37. package/Card/Card.d.ts.map +1 -1
  38. package/Card/Card.js +22 -21
  39. package/Card/Card.js.map +1 -1
  40. package/Checkbox/Checkbox.d.ts.map +1 -1
  41. package/Checkbox/Checkbox.js +35 -33
  42. package/Checkbox/Checkbox.js.map +1 -1
  43. package/Checkbox/Checkbox.stories.js +108 -0
  44. package/Checkbox/Checkbox.stories.js.map +1 -0
  45. package/Checkbox/Checkbox.types.d.ts +2 -1
  46. package/Checkbox/Checkbox.types.d.ts.map +1 -1
  47. package/Combobox/Combobox.d.ts +4 -2
  48. package/Combobox/Combobox.d.ts.map +1 -1
  49. package/Combobox/Combobox.js +222 -192
  50. package/Combobox/Combobox.js.map +1 -1
  51. package/Combobox/Combobox.stories.js +231 -85
  52. package/Combobox/Combobox.stories.js.map +1 -1
  53. package/Combobox/Combobox.types.d.ts +88 -24
  54. package/Combobox/Combobox.types.d.ts.map +1 -1
  55. package/Combobox/Combobox.types.js +4 -1
  56. package/Combobox/Combobox.types.js.map +1 -1
  57. package/Combobox/ComboboxOptionItem.d.ts +5 -3
  58. package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
  59. package/Combobox/ComboboxOptionItem.js +80 -23
  60. package/Combobox/ComboboxOptionItem.js.map +1 -1
  61. package/Combobox/ComboboxRenderContent.d.ts +28 -0
  62. package/Combobox/ComboboxRenderContent.d.ts.map +1 -0
  63. package/Combobox/ComboboxRenderContent.js +142 -0
  64. package/Combobox/ComboboxRenderContent.js.map +1 -0
  65. package/Combobox/ComboboxRenderOptions.d.ts +4 -0
  66. package/Combobox/ComboboxRenderOptions.d.ts.map +1 -0
  67. package/Combobox/ComboboxRenderOptions.js +53 -0
  68. package/Combobox/ComboboxRenderOptions.js.map +1 -0
  69. package/Combobox/ComboboxRenderTrigger.d.ts +18 -0
  70. package/Combobox/ComboboxRenderTrigger.d.ts.map +1 -0
  71. package/Combobox/ComboboxRenderTrigger.js +118 -0
  72. package/Combobox/ComboboxRenderTrigger.js.map +1 -0
  73. package/Command/Command.d.ts +6 -1
  74. package/Command/Command.d.ts.map +1 -1
  75. package/Command/Command.js +66 -48
  76. package/Command/Command.js.map +1 -1
  77. package/ContextPopover/ContextDropdownMenu.d.ts +12 -0
  78. package/ContextPopover/ContextDropdownMenu.d.ts.map +1 -0
  79. package/ContextPopover/ContextDropdownMenu.js +41 -0
  80. package/ContextPopover/ContextDropdownMenu.js.map +1 -0
  81. package/ContextPopover/ContextPopover.d.ts +12 -0
  82. package/ContextPopover/ContextPopover.d.ts.map +1 -0
  83. package/ContextPopover/ContextPopover.js +34 -0
  84. package/ContextPopover/ContextPopover.js.map +1 -0
  85. package/ContextPopover/index.d.ts +4 -0
  86. package/ContextPopover/index.d.ts.map +1 -0
  87. package/ContextPopover/index.js +9 -0
  88. package/ContextPopover/index.js.map +1 -0
  89. package/ContextPopover/useContextPopoverHandler.d.ts +14 -0
  90. package/ContextPopover/useContextPopoverHandler.d.ts.map +1 -0
  91. package/ContextPopover/useContextPopoverHandler.js +21 -0
  92. package/ContextPopover/useContextPopoverHandler.js.map +1 -0
  93. package/DataTable/DataTable.js +6 -6
  94. package/DataTable/useDataTable.d.ts +1 -1
  95. package/Dialog/Dialog.d.ts +4 -1
  96. package/Dialog/Dialog.d.ts.map +1 -1
  97. package/Dialog/Dialog.js +82 -40
  98. package/Dialog/Dialog.js.map +1 -1
  99. package/Dialog/Dialog.stories.js +108 -0
  100. package/Dialog/Dialog.stories.js.map +1 -0
  101. package/Dialog/Dialog.types.d.ts +4 -0
  102. package/Dialog/Dialog.types.d.ts.map +1 -0
  103. package/Dialog/Dialog.types.js +2 -0
  104. package/Dialog/Dialog.types.js.map +1 -0
  105. package/Dialog/index.d.ts +1 -0
  106. package/Dialog/index.d.ts.map +1 -1
  107. package/Dialog/useDialogClosePosition.d.ts +11 -0
  108. package/Dialog/useDialogClosePosition.d.ts.map +1 -0
  109. package/Dialog/useDialogClosePosition.js +50 -0
  110. package/Dialog/useDialogClosePosition.js.map +1 -0
  111. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  112. package/DropdownMenu/DropdownMenu.js +33 -20
  113. package/DropdownMenu/DropdownMenu.js.map +1 -1
  114. package/Dropzone/Dropzone.d.ts.map +1 -1
  115. package/Dropzone/Dropzone.js +340 -141
  116. package/Dropzone/Dropzone.js.map +1 -1
  117. package/Dropzone/Dropzone.stories.js +308 -0
  118. package/Dropzone/Dropzone.stories.js.map +1 -0
  119. package/Dropzone/Dropzone.types.d.ts +17 -1
  120. package/Dropzone/Dropzone.types.d.ts.map +1 -1
  121. package/Dropzone/Dropzone.types.js +19 -8
  122. package/Dropzone/Dropzone.types.js.map +1 -1
  123. package/Dropzone/DropzoneFilePreview.d.ts.map +1 -1
  124. package/Dropzone/DropzoneFilePreview.js +46 -26
  125. package/Dropzone/DropzoneFilePreview.js.map +1 -1
  126. package/Dropzone/DropzoneSinglePickPreview.d.ts +5 -2
  127. package/Dropzone/DropzoneSinglePickPreview.d.ts.map +1 -1
  128. package/Dropzone/DropzoneSinglePickPreview.js +119 -22
  129. package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
  130. package/Dropzone/index.js +7 -5
  131. package/Form/FormRenderControl.d.ts +1 -1
  132. package/Form/FormRenderControl.d.ts.map +1 -1
  133. package/Form/FormRenderControl.js +51 -24
  134. package/Form/FormRenderControl.js.map +1 -1
  135. package/Form/FormRenderControl.types.d.ts +4 -1
  136. package/Form/FormRenderControl.types.d.ts.map +1 -1
  137. package/FormCombobox/FormCombobox.d.ts +4 -2
  138. package/FormCombobox/FormCombobox.d.ts.map +1 -1
  139. package/FormCombobox/FormCombobox.js +30 -17
  140. package/FormCombobox/FormCombobox.js.map +1 -1
  141. package/FormCombobox/FormCombobox.types.d.ts +6 -2
  142. package/FormCombobox/FormCombobox.types.d.ts.map +1 -1
  143. package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
  144. package/FormDatePicker/FormDatePicker.js +18 -16
  145. package/FormDatePicker/FormDatePicker.js.map +1 -1
  146. package/FormDropzone/FormDropzone.d.ts.map +1 -1
  147. package/FormDropzone/FormDropzone.js +11 -9
  148. package/FormDropzone/FormDropzone.js.map +1 -1
  149. package/FormInput/FormInput.d.ts.map +1 -1
  150. package/FormInput/FormInput.js +47 -28
  151. package/FormInput/FormInput.js.map +1 -1
  152. package/FormInput/FormInput.stories.js +61 -0
  153. package/FormInput/FormInput.stories.js.map +1 -0
  154. package/FormInput/FormInput.types.d.ts +1 -0
  155. package/FormInput/FormInput.types.d.ts.map +1 -1
  156. package/FormSelect/FormSelect.d.ts.map +1 -1
  157. package/FormSelect/FormSelect.js +33 -29
  158. package/FormSelect/FormSelect.js.map +1 -1
  159. package/FormTextarea/FormTextarea.d.ts.map +1 -1
  160. package/FormTextarea/FormTextarea.js +15 -12
  161. package/FormTextarea/FormTextarea.js.map +1 -1
  162. package/InfoBlock/InfoBlock.d.ts +7 -0
  163. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  164. package/InfoBlock/InfoBlock.js +28 -0
  165. package/InfoBlock/InfoBlock.js.map +1 -0
  166. package/InfoBlock/InfoBlock.stories.js +50 -0
  167. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  168. package/InfoBlock/InfoBlock.types.d.ts +9 -0
  169. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  170. package/InfoBlock/InfoBlock.types.js +2 -0
  171. package/InfoBlock/InfoBlock.types.js.map +1 -0
  172. package/InfoBlock/index.d.ts +3 -0
  173. package/InfoBlock/index.d.ts.map +1 -0
  174. package/InfoBlock/index.js +5 -0
  175. package/InfoBlock/index.js.map +1 -0
  176. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  177. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  178. package/InfoBlock/infoBlockVariants.js +27 -0
  179. package/InfoBlock/infoBlockVariants.js.map +1 -0
  180. package/Input/Input.d.ts.map +1 -1
  181. package/Input/Input.js +104 -53
  182. package/Input/Input.js.map +1 -1
  183. package/Input/Input.stories.js +225 -0
  184. package/Input/Input.stories.js.map +1 -0
  185. package/Input/Input.types.d.ts +5 -0
  186. package/Input/Input.types.d.ts.map +1 -1
  187. package/LoadingMask/LoadingMask.d.ts +1 -2
  188. package/LoadingMask/LoadingMask.d.ts.map +1 -1
  189. package/LoadingMask/LoadingMask.js +8 -8
  190. package/LoadingMask/LoadingMask.js.map +1 -1
  191. package/LoadingMask/LoadingMask.types.d.ts +1 -0
  192. package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
  193. package/Popover/Popover.d.ts +3 -1
  194. package/Popover/Popover.d.ts.map +1 -1
  195. package/Popover/Popover.js +15 -10
  196. package/Popover/Popover.js.map +1 -1
  197. package/ScrollArea/ScrollArea.d.ts +5 -1
  198. package/ScrollArea/ScrollArea.d.ts.map +1 -1
  199. package/ScrollArea/ScrollArea.js +23 -17
  200. package/ScrollArea/ScrollArea.js.map +1 -1
  201. package/Search/Search.d.ts.map +1 -1
  202. package/Search/Search.js +40 -31
  203. package/Search/Search.js.map +1 -1
  204. package/Select/Select.d.ts.map +1 -1
  205. package/Select/Select.js +53 -48
  206. package/Select/Select.js.map +1 -1
  207. package/Select/Select.types.d.ts +4 -0
  208. package/Select/Select.types.d.ts.map +1 -1
  209. package/Select/SelectRoot.d.ts.map +1 -1
  210. package/Select/SelectRoot.js +81 -68
  211. package/Select/SelectRoot.js.map +1 -1
  212. package/Switch/Switch.d.ts +1 -1
  213. package/Switch/Switch.d.ts.map +1 -1
  214. package/Switch/Switch.js +19 -9
  215. package/Switch/Switch.js.map +1 -1
  216. package/Switch/Switch.stories.js +62 -0
  217. package/Switch/Switch.stories.js.map +1 -0
  218. package/Textarea/Textarea.d.ts.map +1 -1
  219. package/Textarea/Textarea.js +50 -45
  220. package/Textarea/Textarea.js.map +1 -1
  221. package/Textarea/Textarea.types.d.ts +3 -1
  222. package/Textarea/Textarea.types.d.ts.map +1 -1
  223. package/Toast/Toast.d.ts +1 -1
  224. package/Toast/toastVariants.d.ts +1 -1
  225. package/Tooltip/QuestionMarkIcon.svg.js +6 -0
  226. package/Tooltip/QuestionMarkIcon.svg.js.map +1 -0
  227. package/Tooltip/Tooltip.d.ts.map +1 -1
  228. package/Tooltip/Tooltip.js +52 -32
  229. package/Tooltip/Tooltip.js.map +1 -1
  230. package/Tooltip/Tooltip.types.d.ts +10 -0
  231. package/Tooltip/Tooltip.types.d.ts.map +1 -1
  232. package/Tooltip/tooltipVariants.d.ts +4 -0
  233. package/Tooltip/tooltipVariants.d.ts.map +1 -0
  234. package/Tooltip/tooltipVariants.js +23 -0
  235. package/Tooltip/tooltipVariants.js.map +1 -0
  236. package/index.d.ts +2 -0
  237. package/index.d.ts.map +1 -1
  238. package/index.js +352 -340
  239. package/index.js.map +1 -1
  240. package/package.json +10 -6
  241. package/styles.css +1 -0
  242. package/vite-env.d.js +2 -0
  243. package/vite-env.d.js.map +1 -0
  244. package/vite-env.d.ts +7 -0
  245. package/Combobox/ComboboxOptions.d.ts +0 -4
  246. package/Combobox/ComboboxOptions.d.ts.map +0 -1
  247. package/Combobox/ComboboxOptions.js +0 -64
  248. package/Combobox/ComboboxOptions.js.map +0 -1
  249. package/Form/FormTooltipButton.d.ts +0 -6
  250. package/Form/FormTooltipButton.d.ts.map +0 -1
  251. package/Form/FormTooltipButton.js +0 -33
  252. package/Form/FormTooltipButton.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContextPopoverHandler.js","sources":["../../src/ContextPopover/useContextPopoverHandler.ts"],"sourcesContent":["import { MouseEvent, useCallback, useRef, useState } from \"react\";\r\nimport { useOnClickOutside } from \"@oneplatformdev/hooks\";\r\n\r\nexport const useContextPopoverHandler = <\r\n\tData,\r\n\tElement extends HTMLDivElement = HTMLDivElement\r\n>() => {\r\n\tconst [ open, setOpen ] = useState(false);\r\n\tconst [ coords, setCoords ] = useState({ x: 0, y: 0 });\r\n\tconst [ data, setData ] = useState<Data | null>(null);\r\n\r\n\tconst ref = useRef<Element>(null!);\r\n\r\n\tuseOnClickOutside(ref, () => {\r\n\t\tif (open) {\r\n\t\t\tsetOpen(false);\r\n\t\t\tsetData(null);\r\n\t\t}\r\n\t});\r\n\r\n\tconst onContext = useCallback((event: MouseEvent, data: Data) => {\r\n\t\tevent.preventDefault()\r\n\r\n\t\tsetCoords({ x: event.clientX, y: event.clientY });\r\n\t\tsetData(data);\r\n\t\tsetOpen(true);\r\n\t}, [])\r\n\r\n\treturn {\r\n\t\tonContext,\r\n\t\tref,\r\n\t\topen,\r\n\t\tsetOpen,\r\n\t\tcoords,\r\n\t\tdata,\r\n\t}\r\n}\r\n\r\nexport type IUseContextPopoverHandler<Data> = ReturnType<typeof useContextPopoverHandler<Data>>;\r\n"],"names":["useContextPopoverHandler","open","setOpen","useState","coords","setCoords","data","setData","ref","useRef","useOnClickOutside","useCallback","event"],"mappings":";;AAGO,MAAMA,IAA2B,MAGjC;AACN,QAAM,CAAEC,GAAMC,CAAQ,IAAIC,EAAS,EAAK,GAClC,CAAEC,GAAQC,CAAU,IAAIF,EAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAC/C,CAAEG,GAAMC,CAAQ,IAAIJ,EAAsB,IAAI,GAE9CK,IAAMC,EAAgB,IAAK;AAEjC,SAAAC,EAAkBF,GAAK,MAAM;AAC5B,IAAIP,MACHC,EAAQ,EAAK,GACbK,EAAQ,IAAI;AAAA,EAEd,CAAC,GAUM;AAAA,IACN,WATiBI,EAAY,CAACC,GAAmBN,MAAe;AAChE,MAAAM,EAAM,eAAA,GAENP,EAAU,EAAE,GAAGO,EAAM,SAAS,GAAGA,EAAM,SAAS,GAChDL,EAAQD,CAAI,GACZJ,EAAQ,EAAI;AAAA,IACb,GAAG,CAAA,CAAE;AAAA,IAIJ,KAAAM;AAAA,IACA,MAAAP;AAAA,IACA,SAAAC;AAAA,IACA,QAAAE;AAAA,IACA,MAAAE;AAAA,EAAA;AAEF;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as l } from "react/jsx-runtime";
2
2
  import { flexRender as d } from "@tanstack/react-table";
3
3
  import { ChevronDown as m } from "lucide-react";
4
- import { DropdownMenu as h, DropdownMenuTrigger as g, DropdownMenuContent as p, DropdownMenuCheckboxItem as u } from "../DropdownMenu/DropdownMenu.js";
5
- import { Button as C } from "../Button/Button.js";
4
+ import { Button as h } from "../Button/Button.js";
5
+ import { DropdownMenu as g, DropdownMenuTrigger as p, DropdownMenuContent as u, DropdownMenuCheckboxItem as C } from "../DropdownMenu/DropdownMenu.js";
6
6
  import { Table as f, TableHeader as w, TableRow as t, TableHead as x, TableBody as b, TableCell as o } from "../Table/Table.js";
7
7
  const R = ({
8
8
  table: r,
@@ -12,14 +12,14 @@ const R = ({
12
12
  }) => /* @__PURE__ */ i("div", { className: "w-full", children: [
13
13
  /* @__PURE__ */ i("div", { className: "flex items-center py-4", children: [
14
14
  a,
15
- /* @__PURE__ */ i(h, { children: [
16
- /* @__PURE__ */ l(g, { asChild: !0, children: /* @__PURE__ */ i(C, { variant: "outline", className: "ml-auto", children: [
15
+ /* @__PURE__ */ i(g, { children: [
16
+ /* @__PURE__ */ l(p, { asChild: !0, children: /* @__PURE__ */ i(h, { variant: "outline", className: "ml-auto", children: [
17
17
  s,
18
18
  " ",
19
19
  /* @__PURE__ */ l(m, { className: "ml-2 h-4 w-4" })
20
20
  ] }) }),
21
- /* @__PURE__ */ l(p, { align: "end", children: r.getAllColumns().filter((e) => e.getCanHide()).map((e) => /* @__PURE__ */ l(
22
- u,
21
+ /* @__PURE__ */ l(u, { align: "end", children: r.getAllColumns().filter((e) => e.getCanHide()).map((e) => /* @__PURE__ */ l(
22
+ C,
23
23
  {
24
24
  className: "capitalize",
25
25
  checked: e.getIsVisible(),
@@ -1,4 +1,4 @@
1
1
  export declare const useDataTable: (data: any, columns: any) => {
2
- table: import('@tanstack/table-core').Table<unknown>;
2
+ table: import('@tanstack/react-table').Table<unknown>;
3
3
  };
4
4
  //# sourceMappingURL=useDataTable.d.ts.map
@@ -7,10 +7,13 @@ declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPri
7
7
  declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
8
8
  declare function DialogContent(props: React.ComponentProps<typeof DialogPrimitive.Content> & {
9
9
  showCloseButton?: boolean;
10
+ slotProps?: {
11
+ overlay?: React.ComponentProps<typeof DialogPrimitive.Overlay>;
12
+ };
10
13
  }): import("react/jsx-runtime").JSX.Element;
11
14
  declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
12
15
  declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
13
- declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
16
+ declare function DialogTitle(props: React.ComponentProps<typeof DialogPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
14
17
  declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
15
18
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DialogPrimitive };
16
19
  //# sourceMappingURL=Dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAKzD,iBAAS,MAAM,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnE;AAED,iBAAS,aAAa,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7E;AAED,iBAAS,YAAY,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAE3E;AAED,iBAAS,WAAW,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzE;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAW7E;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACnF,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,2CAkDA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED,iBAAS,WAAW,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,iBAAiB,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQrF;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EAChB,CAAA"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAOzD,iBAAS,MAAM,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnE;AAED,iBAAS,aAAa,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAE7E;AAED,iBAAS,YAAY,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAE3E;AAED,iBAAS,WAAW,CAAC,EACE,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEzE;AAED,iBAAS,aAAa,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAW7E;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACnF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;KAChE,CAAA;CACF,2CAsEA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWzE;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CA2B7E;AAED,iBAAS,iBAAiB,CAAC,EACE,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAYrF;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EAChB,CAAA"}
package/Dialog/Dialog.js CHANGED
@@ -1,28 +1,31 @@
1
- import { jsx as e, jsxs as s } from "react/jsx-runtime";
1
+ import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
+ import * as p from "react";
2
3
  import * as a from "@radix-ui/react-dialog";
3
- import { XIcon as c } from "lucide-react";
4
+ import { XIcon as m } from "lucide-react";
4
5
  import { cn as n } from "@oneplatformdev/utils";
5
- function x({
6
+ import { useDialogClosePosition as x } from "./useDialogClosePosition.js";
7
+ import { ButtonIcon as h } from "../ButtonIcon/ButtonIcon.js";
8
+ function z({
6
9
  ...t
7
10
  }) {
8
11
  return /* @__PURE__ */ e(a.Root, { "data-slot": "dialog", ...t });
9
12
  }
10
- function v({
13
+ function P({
11
14
  ...t
12
15
  }) {
13
16
  return /* @__PURE__ */ e(a.Trigger, { "data-slot": "dialog-trigger", ...t });
14
17
  }
15
- function u({
18
+ function v({
16
19
  ...t
17
20
  }) {
18
21
  return /* @__PURE__ */ e(a.Portal, { "data-slot": "dialog-portal", ...t });
19
22
  }
20
- function D({
23
+ function k({
21
24
  ...t
22
25
  }) {
23
26
  return /* @__PURE__ */ e(a.Close, { "data-slot": "dialog-close", ...t });
24
27
  }
25
- function f({
28
+ function b({
26
29
  className: t,
27
30
  ...o
28
31
  }) {
@@ -38,40 +41,47 @@ function f({
38
41
  }
39
42
  );
40
43
  }
41
- function b(t) {
44
+ function j(t) {
42
45
  const {
43
46
  className: o,
44
47
  children: i,
45
- showCloseButton: l = !0,
46
- style: r,
47
- ...d
48
- } = t;
49
- return /* @__PURE__ */ e(u, { "data-slot": "dialog-portal", children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ s(
48
+ showCloseButton: s = !0,
49
+ style: c,
50
+ slotProps: d,
51
+ ...u
52
+ } = t, [f, g] = p.useState(null), l = x(f, {
53
+ enabled: s
54
+ });
55
+ return /* @__PURE__ */ e(v, { "data-slot": "dialog-portal", children: /* @__PURE__ */ e(b, { ...d?.overlay, children: /* @__PURE__ */ r(
50
56
  a.Content,
51
57
  {
58
+ ref: g,
52
59
  "data-slot": "dialog-content",
60
+ "data-closable": JSON.stringify(s),
53
61
  className: n(
62
+ "group group/content",
54
63
  "fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]",
55
64
  "flex flex-col w-full max-w-[calc(100%-2rem)] sm:max-w-2xl gap-3",
56
- "bg-background rounded-lg border p-4 shadow-lg duration-200",
65
+ "max-h-[90%] overflow-auto overscroll-none",
66
+ "bg-background rounded-lg border shadow-lg duration-200 p-6",
57
67
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
58
68
  "focus:outline-none focus-visible:outline-none focus:ring-0 focus-visible:ring-0 focus:ring-transparent",
59
69
  "outline-none focus:outline-none focus-visible:outline-none",
60
70
  o
61
71
  ),
62
- ...d,
72
+ ...u,
63
73
  style: {
64
74
  pointerEvents: "auto",
65
- ...r || {}
75
+ ...c || {}
66
76
  },
67
77
  children: [
68
78
  i,
69
- l && /* @__PURE__ */ s(
79
+ s && /* @__PURE__ */ r(
70
80
  a.Close,
71
81
  {
72
82
  "data-slot": "dialog-close",
73
83
  className: n(
74
- "absolute top-4 right-4 rounded-2xl opacity-70 transition-opacity hover:opacity-100",
84
+ "absolute top-6 right-6 rounded-2xl opacity-70 transition-opacity hover:opacity-100",
75
85
  "data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
76
86
  "ring-offset-background focus:ring-transparent focus:ring-0 focus:ring-offset-0 focus:outline-hidden",
77
87
  "focus:outline-none focus:ring-0",
@@ -79,8 +89,19 @@ function b(t) {
79
89
  '[&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-5',
80
90
  "cursor-pointer size-10 flex items-center justify-center"
81
91
  ),
92
+ style: {
93
+ top: l.top,
94
+ right: l.right
95
+ },
82
96
  children: [
83
- /* @__PURE__ */ e(c, { className: "size-6 text-[#06080D]" }),
97
+ /* @__PURE__ */ e(
98
+ h,
99
+ {
100
+ variant: "ghost",
101
+ color: "secondary",
102
+ icon: m
103
+ }
104
+ ),
84
105
  /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
85
106
  ]
86
107
  }
@@ -89,17 +110,17 @@ function b(t) {
89
110
  }
90
111
  ) }) });
91
112
  }
92
- function h({ className: t, ...o }) {
113
+ function T({ className: t, ...o }) {
93
114
  return /* @__PURE__ */ e(
94
115
  "div",
95
116
  {
96
117
  "data-slot": "dialog-header",
97
- className: n("flex flex-col gap-4 justify-center text-center sm:text-left", t),
118
+ className: n("flex flex-col gap-4 justify-center text-center sm:text-left min-h-10", t),
98
119
  ...o
99
120
  }
100
121
  );
101
122
  }
102
- function y({ className: t, ...o }) {
123
+ function E({ className: t, ...o }) {
103
124
  return /* @__PURE__ */ e(
104
125
  "div",
105
126
  {
@@ -112,20 +133,37 @@ function y({ className: t, ...o }) {
112
133
  }
113
134
  );
114
135
  }
115
- function N({
116
- className: t,
117
- ...o
118
- }) {
136
+ function O(t) {
137
+ const {
138
+ className: o,
139
+ children: i,
140
+ ...s
141
+ } = t;
119
142
  return /* @__PURE__ */ e(
120
143
  a.Title,
121
144
  {
145
+ asChild: !0,
122
146
  "data-slot": "dialog-title",
123
- className: n("text-lg leading-none font-bold text-[#06080D]", t),
124
- ...o
147
+ className: n(
148
+ "flex items-center min-h-10",
149
+ "group-data-[closable='true']/content:pr-13",
150
+ o
151
+ ),
152
+ ...s,
153
+ children: /* @__PURE__ */ e(
154
+ "span",
155
+ {
156
+ className: n(
157
+ "text-lg leading-[1.2] font-bold text-[#06080D]",
158
+ "whitespace-pre-wrap wrap-break-word line-clamp-10"
159
+ ),
160
+ children: i
161
+ }
162
+ )
125
163
  }
126
164
  );
127
165
  }
128
- function z({
166
+ function S({
129
167
  className: t,
130
168
  ...o
131
169
  }) {
@@ -133,22 +171,26 @@ function z({
133
171
  a.Description,
134
172
  {
135
173
  "data-slot": "dialog-description",
136
- className: n("text-[#363B4E] font-medium text-base", t),
174
+ className: n(
175
+ "text-[#06080D] font-medium text-base",
176
+ "whitespace-pre-wrap wrap-break-word line-clamp-10",
177
+ t
178
+ ),
137
179
  ...o
138
180
  }
139
181
  );
140
182
  }
141
183
  export {
142
- x as Dialog,
143
- D as DialogClose,
144
- b as DialogContent,
145
- z as DialogDescription,
146
- y as DialogFooter,
147
- h as DialogHeader,
148
- f as DialogOverlay,
149
- u as DialogPortal,
184
+ z as Dialog,
185
+ k as DialogClose,
186
+ j as DialogContent,
187
+ S as DialogDescription,
188
+ E as DialogFooter,
189
+ T as DialogHeader,
190
+ b as DialogOverlay,
191
+ v as DialogPortal,
150
192
  a as DialogPrimitive,
151
- N as DialogTitle,
152
- v as DialogTrigger
193
+ O as DialogTitle,
194
+ P as DialogTrigger
153
195
  };
154
196
  //# sourceMappingURL=Dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../src/Dialog/Dialog.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\r\nimport { XIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\n\r\nfunction Dialog({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Root>) {\r\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\r\n}\r\n\r\nfunction DialogTrigger({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\r\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\r\n}\r\n\r\nfunction DialogPortal({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\r\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\r\n}\r\n\r\nfunction DialogClose({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Close>) {\r\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\r\n}\r\n\r\nfunction DialogOverlay({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\r\n return (\r\n <DialogPrimitive.Overlay\r\n data-slot=\"dialog-overlay\"\r\n className={cn(\r\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogContent(props: React.ComponentProps<typeof DialogPrimitive.Content> & {\r\n showCloseButton?: boolean\r\n}) {\r\n const {\r\n className,\r\n children,\r\n showCloseButton = true,\r\n style,\r\n ...rest\r\n } = props;\r\n return (\r\n <DialogPortal data-slot=\"dialog-portal\">\r\n <DialogOverlay>\r\n <DialogPrimitive.Content\r\n data-slot=\"dialog-content\"\r\n className={cn(\r\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\r\n 'flex flex-col w-full max-w-[calc(100%-2rem)] sm:max-w-2xl gap-3',\r\n 'bg-background rounded-lg border p-4 shadow-lg duration-200',\r\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\r\n \"focus:outline-none focus-visible:outline-none focus:ring-0 focus-visible:ring-0 focus:ring-transparent\",\r\n 'outline-none focus:outline-none focus-visible:outline-none',\r\n className\r\n )}\r\n {...rest}\r\n style={{\r\n pointerEvents: 'auto',\r\n ...(style || {}),\r\n }}\r\n >\r\n {children}\r\n {showCloseButton && (\r\n <DialogPrimitive.Close\r\n data-slot=\"dialog-close\"\r\n className={cn(\r\n 'absolute top-4 right-4 rounded-2xl opacity-70 transition-opacity hover:opacity-100',\r\n 'data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\r\n 'ring-offset-background focus:ring-transparent focus:ring-0 focus:ring-offset-0 focus:outline-hidden',\r\n 'focus:outline-none focus:ring-0',\r\n 'disabled:pointer-events-none [&_svg]:pointer-events-none',\r\n '[&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-5',\r\n 'cursor-pointer size-10 flex items-center justify-center',\r\n )}\r\n >\r\n <XIcon className='size-6 text-[#06080D]'/>\r\n <span className=\"sr-only\">Close</span>\r\n </DialogPrimitive.Close>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogOverlay>\r\n </DialogPortal>\r\n )\r\n}\r\n\r\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-header\"\r\n className={cn(\"flex flex-col gap-4 justify-center text-center sm:text-left\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-footer\"\r\n className={cn(\r\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end pt-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogTitle({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Title>) {\r\n return (\r\n <DialogPrimitive.Title\r\n data-slot=\"dialog-title\"\r\n className={cn(\"text-lg leading-none font-bold text-[#06080D]\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogDescription({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Description>) {\r\n return (\r\n <DialogPrimitive.Description\r\n data-slot=\"dialog-description\"\r\n className={cn(\"text-[#363B4E] font-medium text-base\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Dialog,\r\n DialogClose,\r\n DialogContent,\r\n DialogDescription,\r\n DialogFooter,\r\n DialogHeader,\r\n DialogOverlay,\r\n DialogPortal,\r\n DialogTitle,\r\n DialogTrigger,\r\n DialogPrimitive\r\n}\r\n"],"names":["Dialog","props","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","jsx","cn","DialogContent","children","showCloseButton","style","rest","jsxs","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../src/Dialog/Dialog.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\r\nimport { XIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\nimport { ButtonIcon } from \"../ButtonIcon\";\r\nimport { useDialogClosePosition } from \"./useDialogClosePosition\";\r\n\r\nfunction Dialog({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Root>) {\r\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\r\n}\r\n\r\nfunction DialogTrigger({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\r\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\r\n}\r\n\r\nfunction DialogPortal({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\r\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\r\n}\r\n\r\nfunction DialogClose({\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Close>) {\r\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\r\n}\r\n\r\nfunction DialogOverlay({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\r\n return (\r\n <DialogPrimitive.Overlay\r\n data-slot=\"dialog-overlay\"\r\n className={cn(\r\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogContent(props: React.ComponentProps<typeof DialogPrimitive.Content> & {\r\n showCloseButton?: boolean;\r\n slotProps?: {\r\n overlay?: React.ComponentProps<typeof DialogPrimitive.Overlay>;\r\n }\r\n}) {\r\n const {\r\n className,\r\n children,\r\n showCloseButton = true,\r\n style,\r\n slotProps,\r\n ...rest\r\n } = props;\r\n const [contentEl, setContentEl] = React.useState<HTMLDivElement | null>(null);\r\n\r\n const closePosition = useDialogClosePosition(contentEl, {\r\n enabled: showCloseButton,\r\n });\r\n\r\n\r\n return (\r\n <DialogPortal data-slot=\"dialog-portal\">\r\n <DialogOverlay {...slotProps?.overlay}>\r\n <DialogPrimitive.Content\r\n ref={setContentEl}\r\n data-slot=\"dialog-content\"\r\n data-closable={JSON.stringify(showCloseButton)}\r\n className={cn(\r\n 'group group/content',\r\n 'fixed top-[50%] left-[50%] z-50 translate-x-[-50%] translate-y-[-50%]',\r\n 'flex flex-col w-full max-w-[calc(100%-2rem)] sm:max-w-2xl gap-3',\r\n 'max-h-[90%] overflow-auto overscroll-none',\r\n 'bg-background rounded-lg border shadow-lg duration-200 p-6',\r\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95',\r\n \"focus:outline-none focus-visible:outline-none focus:ring-0 focus-visible:ring-0 focus:ring-transparent\",\r\n 'outline-none focus:outline-none focus-visible:outline-none',\r\n className\r\n )}\r\n {...rest}\r\n style={{\r\n pointerEvents: 'auto',\r\n ...(style || {}),\r\n }}\r\n >\r\n {children}\r\n {showCloseButton && (\r\n <DialogPrimitive.Close\r\n data-slot=\"dialog-close\"\r\n className={cn(\r\n 'absolute top-6 right-6 rounded-2xl opacity-70 transition-opacity hover:opacity-100',\r\n 'data-[state=open]:bg-accent data-[state=open]:text-muted-foreground',\r\n 'ring-offset-background focus:ring-transparent focus:ring-0 focus:ring-offset-0 focus:outline-hidden',\r\n 'focus:outline-none focus:ring-0',\r\n 'disabled:pointer-events-none [&_svg]:pointer-events-none',\r\n '[&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-5',\r\n 'cursor-pointer size-10 flex items-center justify-center',\r\n )}\r\n style={{\r\n top: closePosition.top,\r\n right: closePosition.right,\r\n }}\r\n >\r\n <ButtonIcon\r\n variant='ghost'\r\n color='secondary'\r\n icon={XIcon}\r\n />\r\n <span className=\"sr-only\">Close</span>\r\n </DialogPrimitive.Close>\r\n )}\r\n </DialogPrimitive.Content>\r\n </DialogOverlay>\r\n </DialogPortal>\r\n )\r\n}\r\n\r\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-header\"\r\n className={cn(\"flex flex-col gap-4 justify-center text-center sm:text-left min-h-10\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"dialog-footer\"\r\n className={cn(\r\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end pt-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction DialogTitle(props: React.ComponentProps<typeof DialogPrimitive.Title>) {\r\n const {\r\n className,\r\n children,\r\n ...rest\r\n } = props;\r\n return (\r\n <DialogPrimitive.Title\r\n asChild\r\n data-slot=\"dialog-title\"\r\n className={cn(\r\n \"flex items-center min-h-10\",\r\n \"group-data-[closable='true']/content:pr-13\",\r\n className\r\n )}\r\n {...rest}\r\n >\r\n <span\r\n className={cn(\r\n \"text-lg leading-[1.2] font-bold text-[#06080D]\",\r\n 'whitespace-pre-wrap wrap-break-word line-clamp-10',\r\n )}\r\n >\r\n {children}\r\n </span>\r\n </DialogPrimitive.Title>\r\n )\r\n}\r\n\r\nfunction DialogDescription({\r\n className,\r\n ...props\r\n }: React.ComponentProps<typeof DialogPrimitive.Description>) {\r\n return (\r\n <DialogPrimitive.Description\r\n data-slot=\"dialog-description\"\r\n className={cn(\r\n \"text-[#06080D] font-medium text-base\",\r\n 'whitespace-pre-wrap wrap-break-word line-clamp-10',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n Dialog,\r\n DialogClose,\r\n DialogContent,\r\n DialogDescription,\r\n DialogFooter,\r\n DialogHeader,\r\n DialogOverlay,\r\n DialogPortal,\r\n DialogTitle,\r\n DialogTrigger,\r\n DialogPrimitive\r\n}\r\n"],"names":["Dialog","props","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","jsx","cn","DialogContent","children","showCloseButton","style","slotProps","rest","contentEl","setContentEl","React","closePosition","useDialogClosePosition","jsxs","ButtonIcon","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { jsx as o, jsxs as e } from "react/jsx-runtime";
2
+ import { Dialog as b, DialogTrigger as O, DialogContent as B, DialogHeader as v, DialogTitle as w, DialogDescription as N, DialogFooter as T, DialogClose as F } from "./Dialog.js";
3
+ import { useState as L, useCallback as S } from "react";
4
+ import { Button as l } from "../Button/Button.js";
5
+ function I(p) {
6
+ const {
7
+ open: i,
8
+ onOpenChange: r,
9
+ title: h,
10
+ description: a,
11
+ showCloseButton: u = !0,
12
+ withFooter: m = !0,
13
+ initialOpen: f = !1,
14
+ triggerLabel: C = "Open dialog",
15
+ bodyText: s = "Some content inside dialog…",
16
+ longBody: c = !1
17
+ } = p, [D, x] = L(f), t = i !== void 0, y = t ? i : D, d = S((n) => {
18
+ t || x(n), r?.(n);
19
+ }, [t, r]);
20
+ return /* @__PURE__ */ o("div", { className: "p-10", children: /* @__PURE__ */ e(b, { open: y, onOpenChange: d, children: [
21
+ /* @__PURE__ */ o(O, { asChild: !0, children: /* @__PURE__ */ o(l, { variant: "outlined", children: C }) }),
22
+ /* @__PURE__ */ e(
23
+ B,
24
+ {
25
+ showCloseButton: u,
26
+ className: "p-12",
27
+ children: [
28
+ /* @__PURE__ */ e(v, { children: [
29
+ /* @__PURE__ */ e(w, { children: [
30
+ h,
31
+ " 123"
32
+ ] }),
33
+ a ? /* @__PURE__ */ o(N, { children: a }) : null
34
+ ] }),
35
+ /* @__PURE__ */ o("div", { className: c ? "max-h-[50vh] overflow-auto pr-1" : void 0, children: c ? /* @__PURE__ */ o("div", { className: "space-y-3 text-sm leading-6", children: Array.from({ length: 30 }).map((n, g) => /* @__PURE__ */ e("p", { children: [
36
+ "#",
37
+ g + 1,
38
+ ". ",
39
+ s,
40
+ " Lorem ipsum dolor sit amet, consectetur adipiscing elit."
41
+ ] }, g)) }) : /* @__PURE__ */ o("p", { className: "text-sm leading-6", children: s }) }),
42
+ m ? /* @__PURE__ */ e(T, { children: [
43
+ /* @__PURE__ */ o(F, { asChild: !0, children: /* @__PURE__ */ o(l, { color: "secondary", children: "Cancel" }) }),
44
+ /* @__PURE__ */ o(l, { onClick: () => d(!1), children: "Save" })
45
+ ] }) : null
46
+ ]
47
+ }
48
+ )
49
+ ] }) });
50
+ }
51
+ const U = {
52
+ title: "UI/Dialog",
53
+ component: I,
54
+ parameters: {
55
+ layout: "fullscreen"
56
+ },
57
+ argTypes: {
58
+ title: { control: "text" },
59
+ description: { control: "text" },
60
+ showCloseButton: { control: "boolean" },
61
+ withFooter: { control: "boolean" },
62
+ initialOpen: { control: "boolean" },
63
+ triggerLabel: { control: "text" },
64
+ bodyText: { control: "text" },
65
+ longBody: { control: "boolean" }
66
+ },
67
+ args: {
68
+ title: "Dialog title",
69
+ description: "Dialog description",
70
+ showCloseButton: !0,
71
+ withFooter: !0,
72
+ initialOpen: !1,
73
+ triggerLabel: "Open dialog",
74
+ bodyText: "Some content inside dialog…",
75
+ longBody: !1
76
+ }
77
+ }, W = {}, _ = {
78
+ args: {
79
+ description: ""
80
+ }
81
+ }, q = {
82
+ args: {
83
+ showCloseButton: !1
84
+ }
85
+ }, z = {
86
+ args: {
87
+ withFooter: !1
88
+ }
89
+ }, E = {
90
+ args: {
91
+ longBody: !0,
92
+ bodyText: "Long text line"
93
+ }
94
+ }, G = {
95
+ args: {
96
+ initialOpen: !0
97
+ }
98
+ };
99
+ export {
100
+ W as Default,
101
+ G as InitiallyOpen,
102
+ E as LongContentScrollable,
103
+ q as NoCloseButton,
104
+ z as NoFooter,
105
+ _ as WithoutDescription,
106
+ U as default
107
+ };
108
+ //# sourceMappingURL=Dialog.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.stories.js","sources":["../../src/Dialog/Dialog.stories.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport type { Meta, StoryObj } from \"@storybook/react\";\r\n\r\nimport {\r\n Dialog,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n DialogDescription,\r\n DialogFooter,\r\n DialogClose,\r\n} from \"./Dialog\";\r\nimport { Button } from \"../Button\";\r\nimport { useCallback, useState } from \"react\";\r\nimport { DialogControlsProps } from \"./Dialog.types\";\r\n\r\ntype DialogDemoProps = DialogControlsProps & {\r\n title: string;\r\n description?: string;\r\n showCloseButton?: boolean;\r\n withFooter?: boolean;\r\n initialOpen?: boolean;\r\n triggerLabel?: string;\r\n bodyText?: string;\r\n longBody?: boolean;\r\n};\r\n\r\n// TODO: create cmp like alert\r\nfunction DialogDemo(props: DialogDemoProps) {\r\n const {\r\n open: controlledOpen,\r\n onOpenChange,\r\n title,\r\n description,\r\n showCloseButton = true,\r\n withFooter = true,\r\n initialOpen = false,\r\n triggerLabel = \"Open dialog\",\r\n bodyText = \"Some content inside dialog…\",\r\n longBody = false,\r\n } = props;\r\n\r\n const [ internalOpen, setInternalOpen ] = useState(initialOpen);\r\n const isControlled = controlledOpen !== undefined;\r\n const open = isControlled ? controlledOpen : internalOpen;\r\n const setOpen = useCallback((next: boolean) => {\r\n if (!isControlled) setInternalOpen(next);\r\n onOpenChange?.(next);\r\n }, [ isControlled, onOpenChange ]);\r\n\r\n return (\r\n <div className=\"p-10\">\r\n <Dialog open={open} onOpenChange={setOpen}>\r\n <DialogTrigger asChild>\r\n <Button variant='outlined'>\r\n {triggerLabel}\r\n </Button>\r\n </DialogTrigger>\r\n\r\n <DialogContent\r\n showCloseButton={showCloseButton}\r\n className='p-12'\r\n >\r\n <DialogHeader>\r\n <DialogTitle>{title} 123</DialogTitle>\r\n {description ? <DialogDescription>{description}</DialogDescription> : null}\r\n </DialogHeader>\r\n\r\n <div className={longBody ? \"max-h-[50vh] overflow-auto pr-1\" : undefined}>\r\n {longBody ? (\r\n <div className=\"space-y-3 text-sm leading-6\">\r\n {Array.from({ length: 30 }).map((_, i) => (\r\n <p key={i}>\r\n #{i + 1}. {bodyText} Lorem ipsum dolor sit amet, consectetur adipiscing elit.\r\n </p>\r\n ))}\r\n </div>\r\n ) : (\r\n <p className=\"text-sm leading-6\">{bodyText}</p>\r\n )}\r\n </div>\r\n\r\n {withFooter ? (\r\n <DialogFooter>\r\n <DialogClose asChild>\r\n <Button color='secondary'>\r\n Cancel\r\n </Button>\r\n </DialogClose>\r\n\r\n <Button onClick={() => setOpen(false)}>\r\n Save\r\n </Button>\r\n </DialogFooter>\r\n ) : null}\r\n </DialogContent>\r\n </Dialog>\r\n </div>\r\n );\r\n}\r\n\r\nconst meta: Meta<typeof DialogDemo> = {\r\n title: \"UI/Dialog\",\r\n component: DialogDemo,\r\n parameters: {\r\n layout: \"fullscreen\",\r\n },\r\n argTypes: {\r\n title: { control: \"text\" },\r\n description: { control: \"text\" },\r\n showCloseButton: { control: \"boolean\" },\r\n withFooter: { control: \"boolean\" },\r\n initialOpen: { control: \"boolean\" },\r\n triggerLabel: { control: \"text\" },\r\n bodyText: { control: \"text\" },\r\n longBody: { control: \"boolean\" },\r\n },\r\n args: {\r\n title: \"Dialog title\",\r\n description: \"Dialog description\",\r\n showCloseButton: true,\r\n withFooter: true,\r\n initialOpen: false,\r\n triggerLabel: \"Open dialog\",\r\n bodyText: \"Some content inside dialog…\",\r\n longBody: false,\r\n },\r\n};\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof DialogDemo>;\r\n\r\nexport const Default: Story = {};\r\n\r\nexport const WithoutDescription: Story = {\r\n args: {\r\n description: \"\",\r\n },\r\n};\r\n\r\nexport const NoCloseButton: Story = {\r\n args: {\r\n showCloseButton: false,\r\n },\r\n};\r\n\r\nexport const NoFooter: Story = {\r\n args: {\r\n withFooter: false,\r\n },\r\n};\r\n\r\nexport const LongContentScrollable: Story = {\r\n args: {\r\n longBody: true,\r\n bodyText: \"Long text line\",\r\n },\r\n};\r\n\r\nexport const InitiallyOpen: Story = {\r\n args: {\r\n initialOpen: true,\r\n },\r\n};\r\n"],"names":["DialogDemo","props","controlledOpen","onOpenChange","title","description","showCloseButton","withFooter","initialOpen","triggerLabel","bodyText","longBody","internalOpen","setInternalOpen","useState","isControlled","open","setOpen","useCallback","next","jsx","Dialog","DialogTrigger","Button","jsxs","DialogContent","DialogHeader","DialogTitle","DialogDescription","_","i","DialogFooter","DialogClose","meta","Default","WithoutDescription","NoCloseButton","NoFooter","LongContentScrollable","InitiallyOpen"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ComponentProps } from 'react';
2
+ import { Dialog } from './Dialog';
3
+ export type DialogControlsProps = Pick<ComponentProps<typeof Dialog>, 'open' | 'onOpenChange'>;
4
+ //# sourceMappingURL=Dialog.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.types.d.ts","sourceRoot":"","sources":["../../src/Dialog/Dialog.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=Dialog.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/Dialog/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './Dialog';
2
2
  export * from './DialogOverlayScope';
3
+ export type * from './Dialog.types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAA;AACpC,mBAAmB,gBAAgB,CAAA"}
@@ -0,0 +1,11 @@
1
+ type UseDialogClosePositionOptions = {
2
+ enabled?: boolean;
3
+ titleSelector?: string;
4
+ };
5
+ type DialogClosePosition = {
6
+ top?: number;
7
+ right?: number;
8
+ };
9
+ export declare function useDialogClosePosition(contentEl: HTMLElement | null, options?: UseDialogClosePositionOptions): DialogClosePosition;
10
+ export {};
11
+ //# sourceMappingURL=useDialogClosePosition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDialogClosePosition.d.ts","sourceRoot":"","sources":["../../src/Dialog/useDialogClosePosition.ts"],"names":[],"mappings":"AAEA,KAAK,6BAA6B,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE,6BAA6B,uBAkFxC"}
@@ -0,0 +1,50 @@
1
+ import * as a from "react";
2
+ function g(i, c) {
3
+ const {
4
+ enabled: s = !0,
5
+ titleSelector: u = '[data-slot="dialog-title"]'
6
+ } = c ?? {}, [l, d] = a.useState({}), r = a.useCallback((t) => {
7
+ d((e) => e.top === t.top && e.right === t.right ? e : t);
8
+ }, []), o = a.useCallback(() => {
9
+ if (!s || !i) {
10
+ r({});
11
+ return;
12
+ }
13
+ const t = i.querySelector(u);
14
+ if (!t) {
15
+ r({});
16
+ return;
17
+ }
18
+ const e = i.getBoundingClientRect(), n = t.getBoundingClientRect();
19
+ if (e.width <= 0 || e.height <= 0 || n.width <= 0 || n.height <= 0) {
20
+ r({});
21
+ return;
22
+ }
23
+ r({
24
+ top: Math.round(n.top - e.top),
25
+ right: Math.round(e.right - n.right)
26
+ });
27
+ }, [i, s, r, u]);
28
+ return a.useEffect(() => {
29
+ if (!s || !i) {
30
+ r({});
31
+ return;
32
+ }
33
+ let t = 0, e = 0;
34
+ t = requestAnimationFrame(() => {
35
+ e = requestAnimationFrame(() => {
36
+ o();
37
+ });
38
+ });
39
+ const n = new ResizeObserver(() => {
40
+ o();
41
+ });
42
+ return n.observe(i), window.addEventListener("resize", o), () => {
43
+ cancelAnimationFrame(t), cancelAnimationFrame(e), n.disconnect(), window.removeEventListener("resize", o);
44
+ };
45
+ }, [i, s, o, r]), l;
46
+ }
47
+ export {
48
+ g as useDialogClosePosition
49
+ };
50
+ //# sourceMappingURL=useDialogClosePosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDialogClosePosition.js","sources":["../../src/Dialog/useDialogClosePosition.ts"],"sourcesContent":["import * as React from 'react';\r\n\r\ntype UseDialogClosePositionOptions = {\r\n enabled?: boolean;\r\n titleSelector?: string;\r\n};\r\n\r\ntype DialogClosePosition = {\r\n top?: number;\r\n right?: number;\r\n};\r\n\r\nexport function useDialogClosePosition(\r\n contentEl: HTMLElement | null,\r\n options?: UseDialogClosePositionOptions,\r\n) {\r\n const {\r\n enabled = true,\r\n titleSelector = '[data-slot=\"dialog-title\"]',\r\n } = options ?? {};\r\n\r\n const [position, setPosition] = React.useState<DialogClosePosition>({});\r\n\r\n const setIfChanged = React.useCallback((next: DialogClosePosition) => {\r\n setPosition((prev) => {\r\n if (prev.top === next.top && prev.right === next.right) {\r\n return prev;\r\n }\r\n\r\n return next;\r\n });\r\n }, []);\r\n\r\n const measure = React.useCallback(() => {\r\n if (!enabled || !contentEl) {\r\n setIfChanged({});\r\n return;\r\n }\r\n\r\n const titleEl = contentEl.querySelector<HTMLElement>(titleSelector);\r\n\r\n if (!titleEl) {\r\n setIfChanged({});\r\n return;\r\n }\r\n\r\n const contentRect = contentEl.getBoundingClientRect();\r\n const titleRect = titleEl.getBoundingClientRect();\r\n\r\n if (\r\n contentRect.width <= 0 ||\r\n contentRect.height <= 0 ||\r\n titleRect.width <= 0 ||\r\n titleRect.height <= 0\r\n ) {\r\n setIfChanged({});\r\n return;\r\n }\r\n\r\n setIfChanged({\r\n top: Math.round(titleRect.top - contentRect.top),\r\n right: Math.round(contentRect.right - titleRect.right),\r\n });\r\n }, [contentEl, enabled, setIfChanged, titleSelector]);\r\n\r\n React.useEffect(() => {\r\n if (!enabled || !contentEl) {\r\n setIfChanged({});\r\n return;\r\n }\r\n\r\n let raf1 = 0;\r\n let raf2 = 0;\r\n\r\n raf1 = requestAnimationFrame(() => {\r\n raf2 = requestAnimationFrame(() => {\r\n measure();\r\n });\r\n });\r\n\r\n const resizeObserver = new ResizeObserver(() => {\r\n measure();\r\n });\r\n\r\n resizeObserver.observe(contentEl);\r\n window.addEventListener('resize', measure);\r\n\r\n return () => {\r\n cancelAnimationFrame(raf1);\r\n cancelAnimationFrame(raf2);\r\n resizeObserver.disconnect();\r\n window.removeEventListener('resize', measure);\r\n };\r\n }, [contentEl, enabled, measure, setIfChanged]);\r\n\r\n return position;\r\n}\r\n"],"names":["useDialogClosePosition","contentEl","options","enabled","titleSelector","position","setPosition","React","setIfChanged","next","prev","measure","titleEl","contentRect","titleRect","raf1","raf2","resizeObserver"],"mappings":";AAYO,SAASA,EACdC,GACAC,GACA;AACA,QAAM;AAAA,IACJ,SAAAC,IAAU;AAAA,IACV,eAAAC,IAAgB;AAAA,EAAA,IACdF,KAAW,CAAA,GAET,CAACG,GAAUC,CAAW,IAAIC,EAAM,SAA8B,CAAA,CAAE,GAEhEC,IAAeD,EAAM,YAAY,CAACE,MAA8B;AACpE,IAAAH,EAAY,CAACI,MACPA,EAAK,QAAQD,EAAK,OAAOC,EAAK,UAAUD,EAAK,QACxCC,IAGFD,CACR;AAAA,EACH,GAAG,CAAA,CAAE,GAECE,IAAUJ,EAAM,YAAY,MAAM;AACtC,QAAI,CAACJ,KAAW,CAACF,GAAW;AAC1B,MAAAO,EAAa,CAAA,CAAE;AACf;AAAA,IACF;AAEA,UAAMI,IAAUX,EAAU,cAA2BG,CAAa;AAElE,QAAI,CAACQ,GAAS;AACZ,MAAAJ,EAAa,CAAA,CAAE;AACf;AAAA,IACF;AAEA,UAAMK,IAAcZ,EAAU,sBAAA,GACxBa,IAAYF,EAAQ,sBAAA;AAE1B,QACEC,EAAY,SAAS,KACrBA,EAAY,UAAU,KACtBC,EAAU,SAAS,KACnBA,EAAU,UAAU,GACpB;AACA,MAAAN,EAAa,CAAA,CAAE;AACf;AAAA,IACF;AAEA,IAAAA,EAAa;AAAA,MACX,KAAK,KAAK,MAAMM,EAAU,MAAMD,EAAY,GAAG;AAAA,MAC/C,OAAO,KAAK,MAAMA,EAAY,QAAQC,EAAU,KAAK;AAAA,IAAA,CACtD;AAAA,EACH,GAAG,CAACb,GAAWE,GAASK,GAAcJ,CAAa,CAAC;AAEpD,SAAAG,EAAM,UAAU,MAAM;AACpB,QAAI,CAACJ,KAAW,CAACF,GAAW;AAC1B,MAAAO,EAAa,CAAA,CAAE;AACf;AAAA,IACF;AAEA,QAAIO,IAAO,GACPC,IAAO;AAEX,IAAAD,IAAO,sBAAsB,MAAM;AACjC,MAAAC,IAAO,sBAAsB,MAAM;AACjC,QAAAL,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,UAAMM,IAAiB,IAAI,eAAe,MAAM;AAC9C,MAAAN,EAAA;AAAA,IACF,CAAC;AAED,WAAAM,EAAe,QAAQhB,CAAS,GAChC,OAAO,iBAAiB,UAAUU,CAAO,GAElC,MAAM;AACX,2BAAqBI,CAAI,GACzB,qBAAqBC,CAAI,GACzBC,EAAe,WAAA,GACf,OAAO,oBAAoB,UAAUN,CAAO;AAAA,IAC9C;AAAA,EACF,GAAG,CAACV,GAAWE,GAASQ,GAASH,CAAY,CAAC,GAEvCH;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}