@embeddr/react-ui 0.1.2 → 0.1.4

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 (271) hide show
  1. package/LICENSE.md +164 -164
  2. package/README.md +43 -10
  3. package/dist/context/EmbeddrContext.d.ts +8 -0
  4. package/dist/context/EmbeddrContext.d.ts.map +1 -0
  5. package/dist/context/EmbeddrContext.js +14 -0
  6. package/dist/context/EmbeddrContext.js.map +1 -0
  7. package/dist/context/ImageDialogContext.d.ts +1 -2
  8. package/dist/context/ImageDialogContext.d.ts.map +1 -1
  9. package/dist/context/ImageDialogContext.js +3 -14
  10. package/dist/context/ImageDialogContext.js.map +1 -1
  11. package/dist/context/index.d.ts +3 -0
  12. package/dist/context/index.d.ts.map +1 -0
  13. package/dist/context/index.js +3 -0
  14. package/dist/context/index.js.map +1 -0
  15. package/dist/hooks/index.d.ts +4 -0
  16. package/dist/hooks/index.d.ts.map +1 -0
  17. package/dist/hooks/index.js +4 -0
  18. package/dist/hooks/index.js.map +1 -0
  19. package/dist/hooks/useExternalNav.d.ts +1 -1
  20. package/dist/hooks/useExternalNav.d.ts.map +1 -1
  21. package/dist/hooks/useExternalNav.js +8 -11
  22. package/dist/hooks/useExternalNav.js.map +1 -1
  23. package/dist/hooks/useImageDialog.d.ts +1 -1
  24. package/dist/hooks/useImageDialog.d.ts.map +1 -1
  25. package/dist/hooks/useImageDialog.js +10 -0
  26. package/dist/hooks/useImageDialog.js.map +1 -0
  27. package/dist/hooks/useLocalStorage.d.ts +2 -0
  28. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  29. package/dist/hooks/useLocalStorage.js +37 -0
  30. package/dist/hooks/useLocalStorage.js.map +1 -0
  31. package/dist/index.d.ts +6 -33
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -125
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/utils.d.ts +1 -1
  36. package/dist/lib/utils.d.ts.map +1 -1
  37. package/dist/lib/utils.js +5 -8
  38. package/dist/lib/utils.js.map +1 -1
  39. package/dist/providers/{ExternalNav.d.ts → ExternalNavProvider.d.ts} +1 -1
  40. package/dist/providers/ExternalNavProvider.d.ts.map +1 -0
  41. package/dist/providers/ExternalNavProvider.js +26 -0
  42. package/dist/providers/ExternalNavProvider.js.map +1 -0
  43. package/dist/providers/ImageDialogProvider.d.ts.map +1 -1
  44. package/dist/providers/ImageDialogProvider.js +157 -132
  45. package/dist/providers/ImageDialogProvider.js.map +1 -1
  46. package/dist/providers/index.d.ts +3 -0
  47. package/dist/providers/index.d.ts.map +1 -0
  48. package/dist/providers/index.js +3 -0
  49. package/dist/providers/index.js.map +1 -0
  50. package/dist/types/domain.d.ts +73 -0
  51. package/dist/types/domain.d.ts.map +1 -0
  52. package/dist/types/domain.js +2 -0
  53. package/dist/types/domain.js.map +1 -0
  54. package/dist/types/gallery.d.ts +1 -0
  55. package/dist/types/gallery.d.ts.map +1 -1
  56. package/dist/types/gallery.js +2 -0
  57. package/dist/types/gallery.js.map +1 -0
  58. package/dist/types/index.d.ts +4 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +4 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/types/plugin.d.ts +94 -0
  63. package/dist/types/plugin.d.ts.map +1 -0
  64. package/dist/types/plugin.js +2 -0
  65. package/dist/types/plugin.js.map +1 -0
  66. package/dist/ui/accordion.js +15 -62
  67. package/dist/ui/accordion.js.map +1 -1
  68. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  69. package/dist/ui/aspect-ratio.js +8 -0
  70. package/dist/ui/aspect-ratio.js.map +1 -0
  71. package/dist/ui/avatar.js +12 -49
  72. package/dist/ui/avatar.js.map +1 -1
  73. package/dist/ui/badge.d.ts +3 -3
  74. package/dist/ui/badge.d.ts.map +1 -1
  75. package/dist/ui/badge.js +20 -37
  76. package/dist/ui/badge.js.map +1 -1
  77. package/dist/ui/breadcrumb.js +29 -0
  78. package/dist/ui/breadcrumb.js.map +1 -0
  79. package/dist/ui/button.d.ts +4 -4
  80. package/dist/ui/button.d.ts.map +1 -1
  81. package/dist/ui/button.js +33 -53
  82. package/dist/ui/button.js.map +1 -1
  83. package/dist/ui/card.js +19 -96
  84. package/dist/ui/card.js.map +1 -1
  85. package/dist/ui/checkbox.js +10 -0
  86. package/dist/ui/checkbox.js.map +1 -0
  87. package/dist/ui/context-menu.d.ts +28 -0
  88. package/dist/ui/context-menu.d.ts.map +1 -0
  89. package/dist/ui/context-menu.js +34 -0
  90. package/dist/ui/context-menu.js.map +1 -0
  91. package/dist/ui/dialog.d.ts.map +1 -1
  92. package/dist/ui/dialog.js +27 -128
  93. package/dist/ui/dialog.js.map +1 -1
  94. package/dist/ui/draggable-panel.d.ts +47 -0
  95. package/dist/ui/draggable-panel.d.ts.map +1 -0
  96. package/dist/ui/draggable-panel.js +178 -0
  97. package/dist/ui/draggable-panel.js.map +1 -0
  98. package/dist/ui/dropdown-menu.js +37 -220
  99. package/dist/ui/dropdown-menu.js.map +1 -1
  100. package/dist/ui/index.d.ts +31 -0
  101. package/dist/ui/index.d.ts.map +1 -0
  102. package/dist/ui/index.js +31 -0
  103. package/dist/ui/index.js.map +1 -0
  104. package/dist/ui/input-group.d.ts +6 -6
  105. package/dist/ui/input-group.d.ts.map +1 -1
  106. package/dist/ui/input-group.js +49 -138
  107. package/dist/ui/input-group.js.map +1 -1
  108. package/dist/ui/input.js +7 -22
  109. package/dist/ui/input.js.map +1 -1
  110. package/dist/ui/label.js +8 -23
  111. package/dist/ui/label.js.map +1 -1
  112. package/dist/ui/lightbox/ComparisonSlider.d.ts +7 -0
  113. package/dist/ui/lightbox/ComparisonSlider.d.ts.map +1 -0
  114. package/dist/ui/lightbox/ComparisonSlider.js +62 -0
  115. package/dist/ui/lightbox/ComparisonSlider.js.map +1 -0
  116. package/dist/ui/lightbox/GalleryPicker.js +15 -61
  117. package/dist/ui/lightbox/GalleryPicker.js.map +1 -1
  118. package/dist/ui/lightbox/ImageThumbnailStrip.d.ts.map +1 -1
  119. package/dist/ui/lightbox/ImageThumbnailStrip.js +24 -94
  120. package/dist/ui/lightbox/ImageThumbnailStrip.js.map +1 -1
  121. package/dist/ui/lightbox/LightboxViewer.d.ts.map +1 -1
  122. package/dist/ui/lightbox/LightboxViewer.js +50 -112
  123. package/dist/ui/lightbox/LightboxViewer.js.map +1 -1
  124. package/dist/ui/lightbox/MediaCanvas.d.ts +13 -0
  125. package/dist/ui/lightbox/MediaCanvas.d.ts.map +1 -0
  126. package/dist/ui/lightbox/MediaCanvas.js +18 -0
  127. package/dist/ui/lightbox/MediaCanvas.js.map +1 -0
  128. package/dist/ui/lightbox/PannableImage.d.ts +3 -2
  129. package/dist/ui/lightbox/PannableImage.d.ts.map +1 -1
  130. package/dist/ui/lightbox/PannableImage.js +327 -222
  131. package/dist/ui/lightbox/PannableImage.js.map +1 -1
  132. package/dist/ui/lightbox/PannableVideo.d.ts +9 -0
  133. package/dist/ui/lightbox/PannableVideo.d.ts.map +1 -0
  134. package/dist/ui/lightbox/PannableVideo.js +183 -0
  135. package/dist/ui/lightbox/PannableVideo.js.map +1 -0
  136. package/dist/ui/lightbox/index.d.ts +8 -0
  137. package/dist/ui/lightbox/index.d.ts.map +1 -0
  138. package/dist/ui/lightbox/index.js +8 -0
  139. package/dist/ui/lightbox/index.js.map +1 -0
  140. package/dist/ui/menubar.js +55 -0
  141. package/dist/ui/menubar.js.map +1 -0
  142. package/dist/ui/progress.js +8 -32
  143. package/dist/ui/progress.js.map +1 -1
  144. package/dist/ui/resizable.js +13 -47
  145. package/dist/ui/resizable.js.map +1 -1
  146. package/dist/ui/scroll-area.js +11 -65
  147. package/dist/ui/scroll-area.js.map +1 -1
  148. package/dist/ui/select.js +29 -172
  149. package/dist/ui/select.js.map +1 -1
  150. package/dist/ui/separator.js +8 -27
  151. package/dist/ui/separator.js.map +1 -1
  152. package/dist/ui/skeleton.js +6 -17
  153. package/dist/ui/skeleton.js.map +1 -1
  154. package/dist/ui/slider.js +13 -63
  155. package/dist/ui/slider.js.map +1 -1
  156. package/dist/ui/sonner.d.ts.map +1 -1
  157. package/dist/ui/sonner.js +24 -40
  158. package/dist/ui/sonner.js.map +1 -1
  159. package/dist/ui/spinner.d.ts.map +1 -1
  160. package/dist/ui/spinner.js +7 -20
  161. package/dist/ui/spinner.js.map +1 -1
  162. package/dist/ui/switch.js +8 -32
  163. package/dist/ui/switch.js.map +1 -1
  164. package/dist/ui/table.js +29 -0
  165. package/dist/ui/table.js.map +1 -0
  166. package/dist/ui/tabs.js +15 -68
  167. package/dist/ui/tabs.js.map +1 -1
  168. package/dist/ui/textarea.js +7 -19
  169. package/dist/ui/textarea.js.map +1 -1
  170. package/dist/ui/tooltip.js +14 -53
  171. package/dist/ui/tooltip.js.map +1 -1
  172. package/package.json +29 -12
  173. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js +0 -528
  174. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
  175. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +0 -403
  176. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
  177. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -209
  178. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
  179. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -137
  180. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
  181. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +0 -131
  182. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
  183. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.js +0 -10
  184. package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.js.map +0 -1
  185. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7__mszl4mxerbyoklygdzmmz7z344/node_modules/@radix-ui/react-arrow/dist/index.js +0 -25
  186. package/dist/node_modules/.pnpm/@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7__mszl4mxerbyoklygdzmmz7z344/node_modules/@radix-ui/react-arrow/dist/index.js.map +0 -1
  187. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.js +0 -30
  188. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +0 -1
  189. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-context/dist/index.js +0 -54
  190. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-context/dist/index.js.map +0 -1
  191. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.7__@types__3rf2o2lqjhudzepmewjxnjpij4/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +0 -128
  192. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.7__@types__3rf2o2lqjhudzepmewjxnjpij4/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +0 -1
  193. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-id/dist/index.js +0 -14
  194. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-id/dist/index.js.map +0 -1
  195. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7_khjb2df42vo4osw72fyixnkybq/node_modules/@radix-ui/react-popper/dist/index.js +0 -220
  196. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7_khjb2df42vo4osw72fyixnkybq/node_modules/@radix-ui/react-popper/dist/index.js.map +0 -1
  197. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7_wazm3ifinqzsamvsqllqreat3m/node_modules/@radix-ui/react-portal/dist/index.js +0 -16
  198. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2.7_wazm3ifinqzsamvsqllqreat3m/node_modules/@radix-ui/react-portal/dist/index.js.map +0 -1
  199. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2_g7nvzcflnhogkdp32witcuayfy/node_modules/@radix-ui/react-presence/dist/index.js +0 -71
  200. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2_g7nvzcflnhogkdp32witcuayfy/node_modules/@radix-ui/react-presence/dist/index.js.map +0 -1
  201. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19._vrijsupjqixawruberrfb56pbm/node_modules/@radix-ui/react-primitive/dist/index.js +0 -37
  202. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19._vrijsupjqixawruberrfb56pbm/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -1
  203. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19._4sfldbbhvd3xapj4euqmtg5wga/node_modules/@radix-ui/react-primitive/dist/index.js +0 -33
  204. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19._4sfldbbhvd3xapj4euqmtg5wga/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -1
  205. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2._lz7pdiyrbpqbbsap76pucwgg5i/node_modules/@radix-ui/react-tooltip/dist/index.js +0 -339
  206. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.7__@types_react@19.2._lz7pdiyrbpqbbsap76pucwgg5i/node_modules/@radix-ui/react-tooltip/dist/index.js.map +0 -1
  207. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +0 -11
  208. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +0 -1
  209. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +0 -53
  210. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +0 -1
  211. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +0 -15
  212. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +0 -1
  213. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +0 -7
  214. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +0 -1
  215. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.js +0 -28
  216. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.7_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.js.map +0 -1
  217. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_xyyq4kaffb3s2ucmc374detnx4/node_modules/@radix-ui/react-visually-hidden/dist/index.js +0 -33
  218. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_xyyq4kaffb3s2ucmc374detnx4/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
  219. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_uxirz2wej36zwyzefmreqngy74/node_modules/@radix-ui/react-visually-hidden/dist/index.js +0 -31
  220. package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_uxirz2wej36zwyzefmreqngy74/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
  221. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js +0 -36
  222. package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +0 -1
  223. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -18
  224. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +0 -1
  225. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js +0 -36
  226. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js.map +0 -1
  227. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -22
  228. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +0 -1
  229. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -15
  230. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +0 -1
  231. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/check.js +0 -7
  232. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/check.js.map +0 -1
  233. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -7
  234. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +0 -1
  235. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -7
  236. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +0 -1
  237. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -7
  238. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
  239. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-check.js +0 -10
  240. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-check.js.map +0 -1
  241. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle.js +0 -7
  242. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle.js.map +0 -1
  243. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/grip-vertical.js +0 -14
  244. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/grip-vertical.js.map +0 -1
  245. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/info.js +0 -11
  246. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/info.js.map +0 -1
  247. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/loader-circle.js +0 -7
  248. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/loader-circle.js.map +0 -1
  249. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/octagon-x.js +0 -17
  250. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/octagon-x.js.map +0 -1
  251. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/pause.js +0 -10
  252. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/pause.js.map +0 -1
  253. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/play.js +0 -15
  254. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/play.js.map +0 -1
  255. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js +0 -10
  256. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js.map +0 -1
  257. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/rotate-cw.js +0 -10
  258. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/rotate-cw.js.map +0 -1
  259. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/triangle-alert.js +0 -17
  260. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/triangle-alert.js.map +0 -1
  261. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js +0 -10
  262. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js.map +0 -1
  263. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/shared/src/utils.js +0 -19
  264. package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +0 -1
  265. package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.js +0 -2766
  266. package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +0 -1
  267. package/dist/providers/ExternalNav.d.ts.map +0 -1
  268. package/dist/providers/ExternalNav.js +0 -55
  269. package/dist/providers/ExternalNav.js.map +0 -1
  270. package/dist/providers/ImageDialog.d.ts +0 -2
  271. package/dist/providers/ImageDialog.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../src/ui/card.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"border-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-none py-4 text-xs/relaxed border has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-2 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-none *:[img:last-child]:rounded-none group/card flex flex-col\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-none px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\n \"text-sm font-medium group-data-[size=sm]/card:text-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-xs/relaxed\", className)}\n {...props}\n />\n );\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-4 group-data-[size=sm]/card:px-3\", className)}\n {...props}\n />\n );\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\n \"rounded-none p-4 group-data-[size=sm]/card:p-3 flex items-center\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"names":["Card","className","size","props","jsx","cn","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter"],"mappings":";;;AAIA,SAASA,EAAK;AAAA,EACZ,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GAA8D;AAC5D,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAWF;AAAA,MACX,WAAWG;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAU,EAAE,WAAAN,GAAW,GAAGE,KAAsC;AACvE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAgB,EAAE,WAAAP,GAAW,GAAGE,KAAsC;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,yCAAyCJ,CAAS;AAAA,MAC/D,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAW,EAAE,WAAAR,GAAW,GAAGE,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAY,EAAE,WAAAT,GAAW,GAAGE,KAAsC;AACzE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,uCAAuCJ,CAAS;AAAA,MAC7D,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAW,EAAE,WAAAV,GAAW,GAAGE,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,2BACY,MAAM,eACL,IAAI,EACf,SAAS,EAAE,EAAE,CACX,uVAAuV,EACvV,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,oSAAoS,EACpS,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACrE,OAAO,CACL,2BACY,YAAY,EACtB,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC3E,OAAO,CACL,2BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,KAC7D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,CACL,2BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAC3D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
4
+ import { CheckIcon } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ function Checkbox({ className, ...props }) {
7
+ return (_jsx(CheckboxPrimitive.Root, { "data-slot": "checkbox", className: cn("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none", children: _jsx(CheckIcon, { className: "size-3.5" }) }) }));
8
+ }
9
+ export { Checkbox };
10
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/ui/checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EAC4C;IACpD,OAAO,CACL,KAAC,iBAAiB,CAAC,IAAI,iBACX,UAAU,EACpB,SAAS,EAAE,EAAE,CACX,geAAge,EAChe,SAAS,CACV,KACG,KAAK,YAET,KAAC,iBAAiB,CAAC,SAAS,iBAChB,oBAAoB,EAC9B,SAAS,EAAC,wDAAwD,YAElE,KAAC,SAAS,IAAC,SAAS,EAAC,UAAU,GAAG,GACN,GACP,CAC1B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import * as React from "react";
2
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
+ declare const ContextMenu: React.FC<ContextMenuPrimitive.ContextMenuProps>;
4
+ declare const ContextMenuTrigger: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>>;
5
+ declare const ContextMenuGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const ContextMenuPortal: React.FC<ContextMenuPrimitive.ContextMenuPortalProps>;
7
+ declare const ContextMenuSub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
8
+ declare const ContextMenuRadioGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
9
+ declare const ContextMenuSubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
10
+ inset?: boolean;
11
+ } & React.RefAttributes<HTMLDivElement>>;
12
+ declare const ContextMenuSubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const ContextMenuContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
15
+ inset?: boolean;
16
+ } & React.RefAttributes<HTMLDivElement>>;
17
+ declare const ContextMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ declare const ContextMenuRadioItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ declare const ContextNewLabel: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
20
+ inset?: boolean;
21
+ } & React.RefAttributes<HTMLDivElement>>;
22
+ declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const ContextMenuShortcut: {
24
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextNewLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
28
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../src/ui/context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAKrE,QAAA,MAAM,WAAW,iDAA4B,CAAC;AAE9C,QAAA,MAAM,kBAAkB,sHAA+B,CAAC;AAExD,QAAA,MAAM,gBAAgB,mHAA6B,CAAC;AAEpD,QAAA,MAAM,iBAAiB,uDAA8B,CAAC;AAEtD,QAAA,MAAM,cAAc,oDAA2B,CAAC;AAEhD,QAAA,MAAM,qBAAqB,wHAAkC,CAAC;AAE9D,QAAA,MAAM,qBAAqB;YAGf,OAAO;wCAejB,CAAC;AAGH,QAAA,MAAM,qBAAqB,2KAYzB,CAAC;AAGH,QAAA,MAAM,kBAAkB,wKActB,CAAC;AAGH,QAAA,MAAM,eAAe;YAGT,OAAO;wCAYjB,CAAC;AAGH,QAAA,MAAM,uBAAuB,6KAoB3B,CAAC;AAIH,QAAA,MAAM,oBAAoB,0KAmBxB,CAAC;AAGH,QAAA,MAAM,eAAe;YAGT,OAAO;wCAYjB,CAAC;AAGH,QAAA,MAAM,oBAAoB,0KASxB,CAAC;AAGH,QAAA,MAAM,mBAAmB;8BAGtB,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAUvC,CAAC;AAGF,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
4
+ import { Check, ChevronRight, Circle } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ const ContextMenu = ContextMenuPrimitive.Root;
7
+ const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
8
+ const ContextMenuGroup = ContextMenuPrimitive.Group;
9
+ const ContextMenuPortal = ContextMenuPrimitive.Portal;
10
+ const ContextMenuSub = ContextMenuPrimitive.Sub;
11
+ const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
12
+ const ContextMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(ContextMenuPrimitive.SubTrigger, { ref: ref, className: cn("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground", inset && "pl-8", className), ...props, children: [children, _jsx(ChevronRight, { className: "ml-auto h-4 w-4" })] })));
13
+ ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
14
+ const ContextMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(ContextMenuPrimitive.SubContent, { ref: ref, className: cn("z-[9999] min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className), ...props })));
15
+ ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
16
+ const ContextMenuContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { ref: ref, className: cn("z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className), ...props }) })));
17
+ ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
18
+ const ContextMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(ContextMenuPrimitive.Item, { ref: ref, className: cn("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className), ...props })));
19
+ ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
20
+ const ContextMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(ContextMenuPrimitive.CheckboxItem, { ref: ref, className: cn("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className), checked: checked, ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), children] })));
21
+ ContextMenuCheckboxItem.displayName =
22
+ ContextMenuPrimitive.CheckboxItem.displayName;
23
+ const ContextMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ContextMenuPrimitive.RadioItem, { ref: ref, className: cn("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }), children] })));
24
+ ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
25
+ const ContextNewLabel = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(ContextMenuPrimitive.Label, { ref: ref, className: cn("px-2 py-1.5 text-sm font-semibold text-foreground", inset && "pl-8", className), ...props })));
26
+ ContextNewLabel.displayName = ContextMenuPrimitive.Label.displayName;
27
+ const ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(ContextMenuPrimitive.Separator, { ref: ref, className: cn("-mx-1 my-1 h-px bg-border", className), ...props })));
28
+ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
29
+ const ContextMenuShortcut = ({ className, ...props }) => {
30
+ return (_jsx("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props }));
31
+ };
32
+ ContextMenuShortcut.displayName = "ContextMenuShortcut";
33
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextNewLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
34
+ //# sourceMappingURL=context-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../src/ui/context-menu.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAEtD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAErD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAyBA;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,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/ui/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAK1D,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAEnD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAEtD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAErD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAsB,EACtB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CA2BA;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,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQpD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,2CAQ1D;AAED,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
package/dist/ui/dialog.js CHANGED
@@ -1,138 +1,37 @@
1
- import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
- import "react";
3
- import * as o from "@radix-ui/react-dialog";
4
- import { cn as n } from "../lib/utils.js";
5
- import r from "../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js";
6
- function p({
7
- ...t
8
- }) {
9
- return /* @__PURE__ */ a(o.Root, { "data-slot": "dialog", ...t });
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
4
+ import { XIcon } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ function Dialog({ ...props }) {
7
+ return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
10
8
  }
11
- function x({
12
- ...t
13
- }) {
14
- return /* @__PURE__ */ a(o.Trigger, { "data-slot": "dialog-trigger", ...t });
9
+ function DialogTrigger({ ...props }) {
10
+ return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
15
11
  }
16
- function d({
17
- ...t
18
- }) {
19
- return /* @__PURE__ */ a(o.Portal, { "data-slot": "dialog-portal", ...t });
12
+ function DialogPortal({ ...props }) {
13
+ return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
20
14
  }
21
- function v({
22
- ...t
23
- }) {
24
- return /* @__PURE__ */ a(o.Close, { "data-slot": "dialog-close", ...t });
15
+ function DialogClose({ ...props }) {
16
+ return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
25
17
  }
26
- function g({
27
- className: t,
28
- ...e
29
- }) {
30
- return /* @__PURE__ */ a(
31
- o.Overlay,
32
- {
33
- "data-slot": "dialog-overlay",
34
- className: n(
35
- "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",
36
- t
37
- ),
38
- ...e
39
- }
40
- );
18
+ function DialogOverlay({ className, ...props }) {
19
+ return (_jsx(DialogPrimitive.Overlay, { "data-slot": "dialog-overlay", className: cn("dark 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", className), ...props }));
41
20
  }
42
- function D({
43
- className: t,
44
- children: e,
45
- showCloseButton: l = !0,
46
- ...s
47
- }) {
48
- return /* @__PURE__ */ i(d, { "data-slot": "dialog-portal", children: [
49
- /* @__PURE__ */ a(g, {}),
50
- /* @__PURE__ */ i(
51
- o.Content,
52
- {
53
- "data-slot": "dialog-content",
54
- className: n(
55
- "bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
56
- t
57
- ),
58
- ...s,
59
- children: [
60
- e,
61
- l && /* @__PURE__ */ i(
62
- o.Close,
63
- {
64
- "data-slot": "dialog-close",
65
- className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
66
- children: [
67
- /* @__PURE__ */ a(r, {}),
68
- /* @__PURE__ */ a("span", { className: "sr-only", children: "Close" })
69
- ]
70
- }
71
- )
72
- ]
73
- }
74
- )
75
- ] });
21
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
22
+ return (_jsx(DialogPortal, { "data-slot": "dialog-portal", children: _jsxs("div", { className: "tailwind contents", children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content", className: cn("dark bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-4rem)] translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 outline-none ", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }) }));
76
23
  }
77
- function b({ className: t, ...e }) {
78
- return /* @__PURE__ */ a(
79
- "div",
80
- {
81
- "data-slot": "dialog-header",
82
- className: n("flex flex-col gap-2 text-center sm:text-left", t),
83
- ...e
84
- }
85
- );
24
+ function DialogHeader({ className, ...props }) {
25
+ return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
86
26
  }
87
- function h({ className: t, ...e }) {
88
- return /* @__PURE__ */ a(
89
- "div",
90
- {
91
- "data-slot": "dialog-footer",
92
- className: n(
93
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
94
- t
95
- ),
96
- ...e
97
- }
98
- );
27
+ function DialogFooter({ className, ...props }) {
28
+ return (_jsx("div", { "data-slot": "dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props }));
99
29
  }
100
- function y({
101
- className: t,
102
- ...e
103
- }) {
104
- return /* @__PURE__ */ a(
105
- o.Title,
106
- {
107
- "data-slot": "dialog-title",
108
- className: n("text-lg leading-none font-semibold", t),
109
- ...e
110
- }
111
- );
30
+ function DialogTitle({ className, ...props }) {
31
+ return (_jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-lg leading-none font-semibold", className), ...props }));
112
32
  }
113
- function N({
114
- className: t,
115
- ...e
116
- }) {
117
- return /* @__PURE__ */ a(
118
- o.Description,
119
- {
120
- "data-slot": "dialog-description",
121
- className: n("text-muted-foreground text-sm", t),
122
- ...e
123
- }
124
- );
33
+ function DialogDescription({ className, ...props }) {
34
+ return (_jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-muted-foreground text-sm", className), ...props }));
125
35
  }
126
- export {
127
- p as Dialog,
128
- v as DialogClose,
129
- D as DialogContent,
130
- N as DialogDescription,
131
- h as DialogFooter,
132
- b as DialogHeader,
133
- g as DialogOverlay,
134
- d as DialogPortal,
135
- y as DialogTitle,
136
- x as DialogTrigger
137
- };
138
- //# sourceMappingURL=dialog.js.map
36
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
37
+ //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sources":["../../src/ui/dialog.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\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\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 outline-none sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\"\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"names":["Dialog","props","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","jsx","cn","DialogContent","children","showCloseButton","jsxs","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":";;;;;AAMA,SAASA,EAAO;AAAA,EACd,GAAGC;AACL,GAAsD;AACpD,2BAAQC,EAAgB,MAAhB,EAAqB,aAAU,UAAU,GAAGD,GAAO;AAC7D;AAEA,SAASE,EAAc;AAAA,EACrB,GAAGF;AACL,GAAyD;AACvD,2BAAQC,EAAgB,SAAhB,EAAwB,aAAU,kBAAkB,GAAGD,GAAO;AACxE;AAEA,SAASG,EAAa;AAAA,EACpB,GAAGH;AACL,GAAwD;AACtD,2BAAQC,EAAgB,QAAhB,EAAuB,aAAU,iBAAiB,GAAGD,GAAO;AACtE;AAEA,SAASI,EAAY;AAAA,EACnB,GAAGJ;AACL,GAAuD;AACrD,2BAAQC,EAAgB,OAAhB,EAAsB,aAAU,gBAAgB,GAAGD,GAAO;AACpE;AAEA,SAASK,EAAc;AAAA,EACrB,WAAAC;AAAA,EACA,GAAGN;AACL,GAAyD;AACvD,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAc;AAAA,EACrB,WAAAH;AAAA,EACA,UAAAI;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,GAAGX;AACL,GAEG;AACD,SACE,gBAAAY,EAACT,GAAA,EAAa,aAAU,iBACtB,UAAA;AAAA,IAAA,gBAAAI,EAACF,GAAA,EAAc;AAAA,IACf,gBAAAO;AAAA,MAACX,EAAgB;AAAA,MAAhB;AAAA,QACC,aAAU;AAAA,QACV,WAAWO;AAAA,UACT;AAAA,UACAF;AAAA,QAAA;AAAA,QAED,GAAGN;AAAA,QAEH,UAAA;AAAA,UAAAU;AAAA,UACAC,KACC,gBAAAC;AAAA,YAACX,EAAgB;AAAA,YAAhB;AAAA,cACC,aAAU;AAAA,cACV,WAAU;AAAA,cAEV,UAAA;AAAA,gBAAA,gBAAAM,EAACM,GAAA,EAAM;AAAA,gBACP,gBAAAN,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,QAAA,CAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACjC;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,GACF;AAEJ;AAEA,SAASO,EAAa,EAAE,WAAAR,GAAW,GAAGN,KAAsC;AAC1E,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,gDAAgDF,CAAS;AAAA,MACtE,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASe,EAAa,EAAE,WAAAT,GAAW,GAAGN,KAAsC;AAC1E,SACE,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASgB,EAAY;AAAA,EACnB,WAAAV;AAAA,EACA,GAAGN;AACL,GAAuD;AACrD,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO,EAAG,sCAAsCF,CAAS;AAAA,MAC5D,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAkB;AAAA,EACzB,WAAAX;AAAA,EACA,GAAGN;AACL,GAA6D;AAC3D,SACE,gBAAAO;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWO,EAAG,iCAAiCF,CAAS;AAAA,MACvD,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/ui/dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import React from "react";
2
+ export interface DraggablePanelProps {
3
+ id?: string;
4
+ title: string;
5
+ children: React.ReactNode;
6
+ isOpen: boolean;
7
+ onClose: () => void;
8
+ position?: {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ onPositionChange?: (pos: {
13
+ x: number;
14
+ y: number;
15
+ }) => void;
16
+ size?: {
17
+ width: number;
18
+ height: number;
19
+ };
20
+ onSizeChange?: (size: {
21
+ width: number;
22
+ height: number;
23
+ }) => void;
24
+ defaultPosition?: {
25
+ x: number;
26
+ y: number;
27
+ };
28
+ defaultSize?: {
29
+ width: number;
30
+ height: number;
31
+ };
32
+ className?: string;
33
+ minWidth?: number;
34
+ minHeight?: number;
35
+ pinned?: boolean;
36
+ onPinChange?: (pinned: boolean) => void;
37
+ onDragEnd?: () => void;
38
+ zIndex?: number;
39
+ onFocus?: () => void;
40
+ onMouseDown?: (e: React.MouseEvent) => void;
41
+ showTitle?: boolean;
42
+ onShowTitleChange?: (show: boolean) => void;
43
+ hideHeader?: boolean;
44
+ transparent?: boolean;
45
+ }
46
+ export declare function DraggablePanel({ id, title, children, isOpen, onClose, position: controlledPosition, onPositionChange: controlledOnPositionChange, size: controlledSize, onSizeChange: controlledOnSizeChange, defaultPosition, defaultSize, className, minWidth, minHeight, pinned, onPinChange, onDragEnd, zIndex, onFocus, onMouseDown, showTitle: controlledShowTitle, onShowTitleChange, hideHeader, transparent, }: DraggablePanelProps): import("react/jsx-runtime").JSX.Element | null;
47
+ //# sourceMappingURL=draggable-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draggable-panel.d.ts","sourceRoot":"","sources":["../../src/ui/draggable-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AA0B3D,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,eAAe,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EAAE,kBAAkB,EAC5B,gBAAgB,EAAE,0BAA0B,EAC5C,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,sBAAsB,EACpC,eAAoC,EACpC,WAAyC,EACzC,SAAS,EACT,QAAc,EACd,SAAe,EACf,MAAc,EACd,WAAW,EACX,SAAS,EACT,MAAM,EACN,OAAO,EACP,WAAW,EACX,SAAS,EAAE,mBAAmB,EAC9B,iBAAiB,EACjB,UAAkB,EAClB,WAAmB,GACpB,EAAE,mBAAmB,kDAkUrB"}
@@ -0,0 +1,178 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useEffect, useRef, useState } from "react";
3
+ import { ArrowDown, ArrowUp, ChevronDown, ChevronUp, Eye, EyeOff, Pin, PinOff, Settings, X, } from "lucide-react";
4
+ import { cn } from "../lib/utils";
5
+ import { useLocalStorage } from "../hooks/useLocalStorage";
6
+ import { Card } from "./card";
7
+ import { Button } from "./button";
8
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "./dropdown-menu";
9
+ export function DraggablePanel({ id, title, children, isOpen, onClose, position: controlledPosition, onPositionChange: controlledOnPositionChange, size: controlledSize, onSizeChange: controlledOnSizeChange, defaultPosition = { x: 100, y: 100 }, defaultSize = { width: 300, height: 200 }, className, minWidth = 200, minHeight = 150, pinned = false, onPinChange, onDragEnd, zIndex, onFocus, onMouseDown, showTitle: controlledShowTitle, onShowTitleChange, hideHeader = false, transparent = false, }) {
10
+ // Internal state for uncontrolled mode
11
+ const [internalPosition, setInternalPosition] = useLocalStorage(id ? `panel-${id}-position` : "temp-panel-position", defaultPosition);
12
+ const [internalSize, setInternalSize] = useLocalStorage(id ? `panel-${id}-size` : "temp-panel-size", defaultSize);
13
+ const position = controlledPosition || internalPosition;
14
+ const size = controlledSize || internalSize;
15
+ const onPositionChange = (pos) => {
16
+ if (controlledOnPositionChange) {
17
+ controlledOnPositionChange(pos);
18
+ }
19
+ else {
20
+ setInternalPosition(pos);
21
+ }
22
+ };
23
+ const onSizeChange = (s) => {
24
+ if (controlledOnSizeChange) {
25
+ controlledOnSizeChange(s);
26
+ }
27
+ else {
28
+ setInternalSize(s);
29
+ }
30
+ };
31
+ const [isDragging, setIsDragging] = useState(false);
32
+ const [isResizing, setIsResizing] = useState(false);
33
+ const [isFolded, setIsFolded] = useState(false);
34
+ const [titlePosition, setTitlePosition] = useState("top");
35
+ const [internalShowTitle, setInternalShowTitle] = useState(true);
36
+ const showTitle = hideHeader
37
+ ? false
38
+ : controlledShowTitle ?? internalShowTitle;
39
+ const setShowTitle = (show) => {
40
+ setInternalShowTitle(show);
41
+ onShowTitleChange?.(show);
42
+ };
43
+ const panelRef = useRef(null);
44
+ const dragStartRef = useRef({ x: 0, y: 0 });
45
+ const initialPosRef = useRef({ x: 0, y: 0 });
46
+ const initialSizeRef = useRef({ width: 0, height: 0 });
47
+ useEffect(() => {
48
+ if (isOpen) {
49
+ // Ensure panel is within viewport when opened
50
+ const { innerWidth, innerHeight } = window;
51
+ onPositionChange({
52
+ x: Math.min(Math.max(0, position.x), innerWidth - size.width),
53
+ y: Math.min(Math.max(0, position.y), innerHeight - size.height),
54
+ });
55
+ }
56
+ }, [isOpen]);
57
+ const handleMouseDown = (e) => {
58
+ onFocus?.();
59
+ if (pinned)
60
+ return;
61
+ const target = e.target;
62
+ if (target instanceof HTMLButtonElement ||
63
+ target instanceof HTMLInputElement ||
64
+ target instanceof HTMLTextAreaElement ||
65
+ target instanceof HTMLSelectElement ||
66
+ target.closest("button") ||
67
+ target.closest("input") ||
68
+ target.closest("textarea") ||
69
+ target.closest("select") ||
70
+ target.closest(".resize-handle") ||
71
+ target.closest(".no-drag")) {
72
+ return;
73
+ }
74
+ e.preventDefault(); // Prevent text selection and other default behaviors
75
+ setIsDragging(true);
76
+ dragStartRef.current = { x: e.clientX, y: e.clientY };
77
+ initialPosRef.current = { ...position };
78
+ };
79
+ const toggleFold = () => {
80
+ const newFolded = !isFolded;
81
+ setIsFolded(newFolded);
82
+ if (titlePosition === "bottom") {
83
+ // Estimate header height (p-2 = 8px*2 + h-6 = 24px + border = ~41px)
84
+ const HEADER_HEIGHT = 41;
85
+ const delta = size.height - HEADER_HEIGHT;
86
+ if (newFolded) {
87
+ // Folding: Move top DOWN so bottom stays fixed
88
+ onPositionChange({ ...position, y: position.y + delta });
89
+ }
90
+ else {
91
+ // Unfolding: Move top UP so bottom stays fixed
92
+ onPositionChange({ ...position, y: position.y - delta });
93
+ }
94
+ }
95
+ };
96
+ const handleResizeStart = (e) => {
97
+ e.stopPropagation();
98
+ onFocus?.();
99
+ setIsResizing(true);
100
+ dragStartRef.current = { x: e.clientX, y: e.clientY };
101
+ initialSizeRef.current = { ...size };
102
+ };
103
+ useEffect(() => {
104
+ const handleMouseMove = (e) => {
105
+ if (isDragging) {
106
+ const dx = e.clientX - dragStartRef.current.x;
107
+ const dy = e.clientY - dragStartRef.current.y;
108
+ onPositionChange({
109
+ x: initialPosRef.current.x + dx,
110
+ y: initialPosRef.current.y + dy,
111
+ });
112
+ }
113
+ else if (isResizing) {
114
+ const dx = e.clientX - dragStartRef.current.x;
115
+ const dy = e.clientY - dragStartRef.current.y;
116
+ onSizeChange({
117
+ width: Math.max(minWidth, initialSizeRef.current.width + dx),
118
+ height: Math.max(minHeight, initialSizeRef.current.height + dy),
119
+ });
120
+ }
121
+ };
122
+ const handleMouseUp = () => {
123
+ if (isDragging) {
124
+ onDragEnd?.();
125
+ }
126
+ setIsDragging(false);
127
+ setIsResizing(false);
128
+ };
129
+ if (isDragging || isResizing) {
130
+ window.addEventListener("mousemove", handleMouseMove);
131
+ window.addEventListener("mouseup", handleMouseUp);
132
+ }
133
+ return () => {
134
+ window.removeEventListener("mousemove", handleMouseMove);
135
+ window.removeEventListener("mouseup", handleMouseUp);
136
+ };
137
+ }, [
138
+ isDragging,
139
+ isResizing,
140
+ minWidth,
141
+ minHeight,
142
+ onPositionChange,
143
+ onSizeChange,
144
+ onDragEnd,
145
+ ]);
146
+ if (!isOpen)
147
+ return null;
148
+ const headerContent = (_jsxs("div", { className: cn("flex items-center justify-between p-2 border-b select-none shrink-0 bg-muted/50", pinned ? "cursor-default" : "cursor-move", titlePosition === "bottom" && "border-t border-b-0"), onMouseDown: handleMouseDown, onContextMenu: (e) => {
149
+ e.preventDefault();
150
+ setShowTitle(true);
151
+ }, children: [_jsx("div", { className: "font-medium text-sm px-2 flex items-center gap-2", children: title }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-sm", className: "h-6 w-6", children: _jsx(Settings, { className: "h-3 w-3" }) }) }), _jsxs(DropdownMenuContent, { align: "end", className: "z-[100]", children: [_jsx(DropdownMenuLabel, { children: "Panel Settings" }), _jsx(DropdownMenuSeparator, {}), onPinChange && (_jsx(DropdownMenuItem, { onClick: () => onPinChange(!pinned), children: pinned ? (_jsxs(_Fragment, { children: [_jsx(PinOff, { className: "mr-2 h-4 w-4" }), " Unpin"] })) : (_jsxs(_Fragment, { children: [_jsx(Pin, { className: "mr-2 h-4 w-4" }), " Pin"] })) })), _jsx(DropdownMenuItem, { onClick: () => setTitlePosition(titlePosition === "top" ? "bottom" : "top"), children: titlePosition === "top" ? (_jsxs(_Fragment, { children: [_jsx(ArrowDown, { className: "mr-2 h-4 w-4" }), " Title Bottom"] })) : (_jsxs(_Fragment, { children: [_jsx(ArrowUp, { className: "mr-2 h-4 w-4" }), " Title Top"] })) }), _jsxs(DropdownMenuItem, { onClick: () => setShowTitle(false), children: [_jsx(EyeOff, { className: "mr-2 h-4 w-4" }), " Hide Title"] })] })] }), _jsx(Button, { variant: "ghost", size: "icon-sm", className: "h-6 w-6", onClick: toggleFold, children: isFolded ? (titlePosition === "top" ? (_jsx(ChevronDown, { className: "h-4 w-4" })) : (_jsx(ChevronUp, { className: "h-4 w-4" }))) : titlePosition === "top" ? (_jsx(ChevronUp, { className: "h-4 w-4" })) : (_jsx(ChevronDown, { className: "h-4 w-4" })) }), _jsx(Button, { variant: "ghost", size: "icon-sm", className: "h-6 w-6", onClick: onClose, children: _jsx(X, { className: "h-4 w-4" }) })] })] }));
152
+ // If title is hidden, we show a small drag handle on hover or right click area
153
+ // If hideHeader is true, we still want this handle if the user needs a way to drag without clicking the content
154
+ // But if the content is fully interactive (like a button), this top strip is the ONLY way to drag.
155
+ const hiddenTitleHandle = (!showTitle || hideHeader) && (_jsx("div", { className: cn("absolute top-0 left-0 right-0 h-3 z-50 cursor-move transition-colors", !transparent && "hover:bg-primary/20"), onMouseDown: handleMouseDown, onContextMenu: (e) => {
156
+ if (!hideHeader) {
157
+ e.preventDefault();
158
+ setShowTitle(true);
159
+ }
160
+ }, title: hideHeader ? "Drag to move" : "Right click to show title" }));
161
+ return (_jsxs(Card, { ref: panelRef, className: cn("fixed flex shadow-xl border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60 transition-colors duration-200", transparent &&
162
+ "bg-transparent border-none shadow-none backdrop-blur-none", titlePosition === "bottom" ? "flex-col-reverse" : "flex-col", className), style: {
163
+ left: position.x,
164
+ top: position.y,
165
+ width: size.width,
166
+ height: isFolded ? "auto" : size.height,
167
+ zIndex: zIndex ?? 50,
168
+ }, onMouseDown: (e) => {
169
+ onFocus?.();
170
+ onMouseDown?.(e);
171
+ if (hideHeader) {
172
+ handleMouseDown(e);
173
+ }
174
+ }, children: [hiddenTitleHandle, showTitle && headerContent, !isFolded && (_jsx("div", { className: "flex-1 min-h-0 overflow-hidden relative", children: children })), !isFolded && (_jsx("div", { className: cn("absolute bottom-0 right-0 w-4 h-4 cursor-se-resize resize-handle flex items-center justify-center z-50", transparent
175
+ ? "opacity-0 hover:opacity-100"
176
+ : "opacity-50 hover:opacity-100"), onMouseDown: handleResizeStart, children: _jsx("div", { className: "w-2 h-2 border-r-2 border-b-2 border-foreground/50" }) }))] }));
177
+ }
178
+ //# sourceMappingURL=draggable-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draggable-panel.js","sourceRoot":"","sources":["../../src/ui/draggable-panel.tsx"],"names":[],"mappings":"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"}