@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":"input-group.js","sources":["../../src/ui/input-group.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { Textarea } from \"./textarea\";\nimport type {VariantProps} from \"class-variance-authority\";\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none\",\n \"h-9 min-w-0 has-[>textarea]:h-auto\",\n\n // Variants based on alignment.\n \"has-[>[data-align=inline-start]]:[&>input]:pl-2\",\n \"has-[>[data-align=inline-end]]:[&>input]:pr-2\",\n \"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3\",\n \"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3\",\n\n // Focus state.\n \"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]\",\n\n // Error state.\n \"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40\",\n\n className\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]\",\n \"inline-end\":\n \"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5\",\n \"block-end\":\n \"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n);\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n \"text-sm shadow-none flex gap-2 items-center\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: \"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n);\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"names":["InputGroup","className","props","jsx","cn","inputGroupAddonVariants","cva","InputGroupAddon","align","e","inputGroupButtonVariants","InputGroupButton","type","variant","size","Button","InputGroupText","InputGroupInput","Input","InputGroupTextarea","Textarea"],"mappings":";;;;;;;AASA,SAASA,EAAW,EAAE,WAAAC,GAAW,GAAGC,KAAsC;AACxE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC;AAAA,QACT;AAAA,QACA;AAAA;AAAA,QAGA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAGA;AAAA;AAAA,QAGA;AAAA,QAEAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMG,IAA0BC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,gBACE;AAAA,QACF,cACE;AAAA,QACF,eACE;AAAA,QACF,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ;AAEA,SAASC,EAAgB;AAAA,EACvB,WAAAN;AAAA,EACA,OAAAO,IAAQ;AAAA,EACR,GAAGN;AACL,GAA+E;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,cAAYK;AAAA,MACZ,WAAWJ,EAAGC,EAAwB,EAAE,OAAAG,EAAA,CAAO,GAAGP,CAAS;AAAA,MAC3D,SAAS,CAACQ,MAAM;AACd,QAAKA,EAAE,OAAuB,QAAQ,QAAQ,KAG9CA,EAAE,cAAc,eAAe,cAAc,OAAO,GAAG,MAAA;AAAA,MACzD;AAAA,MACC,GAAGP;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAMQ,IAA2BJ;AAAA,EAC/B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASK,EAAiB;AAAA,EACxB,WAAAV;AAAA,EACA,MAAAW,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,GAAGZ;AACL,GACiD;AAC/C,SACE,gBAAAC;AAAA,IAACY;AAAA,IAAA;AAAA,MACC,MAAAH;AAAA,MACA,aAAWE;AAAA,MACX,SAAAD;AAAA,MACA,WAAWT,EAAGM,EAAyB,EAAE,MAAAI,EAAA,CAAM,GAAGb,CAAS;AAAA,MAC1D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASc,EAAe,EAAE,WAAAf,GAAW,GAAGC,KAAuC;AAC7E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASe,EAAgB;AAAA,EACvB,WAAAhB;AAAA,EACA,GAAGC;AACL,GAAkC;AAChC,SACE,gBAAAC;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWd;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASiB,EAAmB;AAAA,EAC1B,WAAAlB;AAAA,EACA,GAAGC;AACL,GAAqC;AACnC,SACE,gBAAAC;AAAA,IAACiB;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWhB;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"input-group.js","sourceRoot":"","sources":["../../src/ui/input-group.tsx"],"names":[],"mappings":"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"}
package/dist/ui/input.js CHANGED
@@ -1,23 +1,8 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import "react";
3
- import { cn as o } from "../lib/utils.js";
4
- function l({ className: e, type: i, ...r }) {
5
- return /* @__PURE__ */ t(
6
- "input",
7
- {
8
- type: i,
9
- "data-slot": "input",
10
- className: o(
11
- "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-border h-9 w-full min-w-0 border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
12
- "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
13
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
14
- e
15
- ),
16
- ...r
17
- }
18
- );
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../lib/utils";
4
+ function Input({ className, type, ...props }) {
5
+ return (_jsx("input", { type: type, "data-slot": "input", className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-border h-9 w-full min-w-0 border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className), ...props }));
19
6
  }
20
- export {
21
- l as Input
22
- };
23
- //# sourceMappingURL=input.js.map
7
+ export { Input };
8
+ //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../src/ui/input.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-border h-9 w-full min-w-0 border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"names":["Input","className","type","props","jsx","cn"],"mappings":";;;AAIA,SAASA,EAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,KAAwC;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAF;AAAA,MACA,aAAU;AAAA,MACV,WAAWG;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/ui/input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAiC;IACzE,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,eACA,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,mbAAmb,EACnb,+EAA+E,EAC/E,wGAAwG,EACxG,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
package/dist/ui/label.js CHANGED
@@ -1,24 +1,9 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import "react";
3
- import * as a from "@radix-ui/react-label";
4
- import { cn as r } from "../lib/utils.js";
5
- function d({
6
- className: e,
7
- ...t
8
- }) {
9
- return /* @__PURE__ */ o(
10
- a.Root,
11
- {
12
- "data-slot": "label",
13
- className: r(
14
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
15
- e
16
- ),
17
- ...t
18
- }
19
- );
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as LabelPrimitive from "@radix-ui/react-label";
4
+ import { cn } from "../lib/utils";
5
+ function Label({ className, ...props }) {
6
+ return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
20
7
  }
21
- export {
22
- d as Label
23
- };
24
- //# sourceMappingURL=label.js.map
8
+ export { Label };
9
+ //# sourceMappingURL=label.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label.js","sources":["../../src/ui/label.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"names":["Label","className","props","jsx","LabelPrimitive","cn"],"mappings":";;;;AAKA,SAASA,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,GAAGC;AACL,GAAqD;AACnD,SACE,gBAAAC;AAAA,IAACC,EAAe;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/ui/label.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACyC;IACjD,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,iBACR,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qNAAqN,EACrN,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface ComparisonSliderProps {
2
+ before: string;
3
+ after: string;
4
+ className?: string;
5
+ }
6
+ export declare function ComparisonSlider({ before, after, className, }: ComparisonSliderProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ComparisonSlider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparisonSlider.d.ts","sourceRoot":"","sources":["../../../src/ui/lightbox/ComparisonSlider.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,2CAmGvB"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useEffect, useRef, useState } from "react";
3
+ export function ComparisonSlider({ before, after, className, }) {
4
+ const [isDragging, setIsDragging] = useState(false);
5
+ const containerRef = useRef(null);
6
+ const handleRef = useRef(null);
7
+ const topImageRef = useRef(null);
8
+ const positionRef = useRef(50);
9
+ const updatePosition = (clientX) => {
10
+ if (containerRef.current && handleRef.current && topImageRef.current) {
11
+ const rect = containerRef.current.getBoundingClientRect();
12
+ const x = Math.max(0, Math.min(clientX - rect.left, rect.width));
13
+ const percent = Math.max(0, Math.min((x / rect.width) * 100, 100));
14
+ positionRef.current = percent;
15
+ handleRef.current.style.left = `${percent}%`;
16
+ topImageRef.current.style.clipPath = `inset(0 ${100 - percent}% 0 0)`;
17
+ }
18
+ };
19
+ const onMouseDown = (e) => {
20
+ setIsDragging(true);
21
+ updatePosition(e.clientX);
22
+ };
23
+ const onTouchStart = (e) => {
24
+ setIsDragging(true);
25
+ if (e.touches && e.touches[0]) {
26
+ updatePosition(e.touches[0].clientX);
27
+ }
28
+ };
29
+ useEffect(() => {
30
+ const onMouseUp = () => setIsDragging(false);
31
+ const onTouchEnd = () => setIsDragging(false);
32
+ const onMouseMove = (e) => {
33
+ if (isDragging) {
34
+ e.preventDefault();
35
+ requestAnimationFrame(() => updatePosition(e.clientX));
36
+ }
37
+ };
38
+ const onTouchMove = (e) => {
39
+ if (isDragging) {
40
+ e.preventDefault();
41
+ if (e.touches && e.touches[0]) {
42
+ const clientX = e.touches[0].clientX;
43
+ requestAnimationFrame(() => updatePosition(clientX));
44
+ }
45
+ }
46
+ };
47
+ if (isDragging) {
48
+ window.addEventListener("mousemove", onMouseMove);
49
+ window.addEventListener("mouseup", onMouseUp);
50
+ window.addEventListener("touchmove", onTouchMove, { passive: false });
51
+ window.addEventListener("touchend", onTouchEnd);
52
+ }
53
+ return () => {
54
+ window.removeEventListener("mousemove", onMouseMove);
55
+ window.removeEventListener("mouseup", onMouseUp);
56
+ window.removeEventListener("touchmove", onTouchMove);
57
+ window.removeEventListener("touchend", onTouchEnd);
58
+ };
59
+ }, [isDragging]);
60
+ return (_jsxs("div", { ref: containerRef, className: `relative w-full h-full select-none overflow-hidden bg-black/5 touch-none cursor-ew-resize ${className || ""}`, onMouseDown: onMouseDown, onTouchStart: onTouchStart, children: [_jsx("img", { src: after, className: "absolute inset-0 w-full h-full object-contain pointer-events-none", draggable: false, alt: "After" }), _jsx("div", { ref: topImageRef, className: "absolute inset-0 w-full h-full overflow-hidden", style: { clipPath: `inset(0 50% 0 0)` }, children: _jsx("img", { src: before, className: "absolute inset-0 w-full h-full object-contain pointer-events-none", draggable: false, alt: "Before" }) }), _jsx("div", { ref: handleRef, className: "absolute top-0 bottom-0 w-0.5 bg-background/40 cursor-ew-resize z-10 hover:bg-primary transition-colors", style: { left: `50%` } })] }));
61
+ }
62
+ //# sourceMappingURL=ComparisonSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparisonSlider.js","sourceRoot":"","sources":["../../../src/ui/lightbox/ComparisonSlider.tsx"],"names":[],"mappings":"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"}
@@ -1,62 +1,16 @@
1
- import { jsxs as t, jsx as e, Fragment as l } from "react/jsx-runtime";
2
- import { useState as c } from "react";
3
- import { useImageDialog as m } from "../../context/ImageDialogContext.js";
4
- import u from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-up.js";
5
- import b from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js";
6
- const g = ({
7
- currentGalleryId: n,
8
- onGalleryChange: d
9
- }) => {
10
- const [i, a] = c(!1), { galleries: s } = m(), o = s.find((r) => r.id === n);
11
- return /* @__PURE__ */ t("div", { className: "relative w-full", children: [
12
- /* @__PURE__ */ t(
13
- "div",
14
- {
15
- onClick: () => a(!i),
16
- className: "cursor-pointer w-full flex items-center justify-between px-4 py-3 bg-background/40 border-b border-border hover:bg-secondary/20 transition-colors select-none",
17
- children: [
18
- /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: o && /* @__PURE__ */ t(l, { children: [
19
- /* @__PURE__ */ e(
20
- "img",
21
- {
22
- src: o.thumbnail,
23
- alt: o.name,
24
- className: "w-8 h-8 object-cover rounded"
25
- }
26
- ),
27
- /* @__PURE__ */ t("div", { className: "text-left", children: [
28
- /* @__PURE__ */ e("div", { className: "font-medium text-sm", children: o.name }),
29
- o.description && /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: o.description })
30
- ] })
31
- ] }) }),
32
- i ? /* @__PURE__ */ e(u, { className: "w-4 h-4 text-muted-foreground" }) : /* @__PURE__ */ e(b, { className: "w-4 h-4 text-muted-foreground" })
33
- ]
34
- }
35
- ),
36
- i && /* @__PURE__ */ e("div", { className: "overflow-hidden bg-background/95 backdrop-blur-sm border-b border-border", children: /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2 p-4 max-h-64 overflow-y-auto", children: s.map((r) => /* @__PURE__ */ t(
37
- "button",
38
- {
39
- onClick: () => {
40
- d(r.id), a(!1);
41
- },
42
- className: `cursor-pointer relative w-20 h-20 rounded-lg overflow-hidden border-2 transition-all hover:scale-105 shrink-0 ${r.id === n ? "border-primary ring-2 ring-primary/50" : "border-border hover:border-primary/50"}`,
43
- children: [
44
- /* @__PURE__ */ e(
45
- "img",
46
- {
47
- src: r.thumbnail,
48
- alt: r.name,
49
- className: "w-full h-full object-cover"
50
- }
51
- ),
52
- /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-linear-to-t from-background via-background/60 to-transparent flex items-end p-1", children: /* @__PURE__ */ e("span", { className: "text-xs font-medium truncate w-full text-center leading-tight", children: r.name }) })
53
- ]
54
- },
55
- r.id
56
- )) }) })
57
- ] });
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ChevronDown, ChevronUp } from "lucide-react";
3
+ import { useState } from "react";
4
+ import { useImageDialog } from "@embeddr/react-ui/hooks";
5
+ export const GalleryPicker = ({ currentGalleryId, onGalleryChange, }) => {
6
+ const [isOpen, setIsOpen] = useState(false);
7
+ const { galleries } = useImageDialog();
8
+ const currentGallery = galleries.find((g) => g.id === currentGalleryId);
9
+ return (_jsxs("div", { className: "relative w-full", children: [_jsxs("div", { onClick: () => setIsOpen(!isOpen), className: "cursor-pointer w-full flex items-center justify-between px-4 py-3 bg-background/40 border-b border-border hover:bg-secondary/20 transition-colors select-none", children: [_jsx("div", { className: "flex items-center gap-3", children: currentGallery && (_jsxs(_Fragment, { children: [_jsx("img", { src: currentGallery.thumbnail, alt: currentGallery.name, className: "w-8 h-8 object-cover rounded" }), _jsxs("div", { className: "text-left", children: [_jsx("div", { className: "font-medium text-sm", children: currentGallery.name }), currentGallery.description && (_jsx("div", { className: "text-xs text-muted-foreground", children: currentGallery.description }))] })] })) }), isOpen ? (_jsx(ChevronUp, { className: "w-4 h-4 text-muted-foreground" })) : (_jsx(ChevronDown, { className: "w-4 h-4 text-muted-foreground" }))] }), isOpen && (_jsx("div", { className: "overflow-hidden bg-background/95 backdrop-blur-sm border-b border-border", children: _jsx("div", { className: "flex flex-wrap gap-2 p-4 max-h-64 overflow-y-auto", children: galleries.map((gallery) => (_jsxs("button", { onClick: () => {
10
+ onGalleryChange(gallery.id);
11
+ setIsOpen(false);
12
+ }, className: `cursor-pointer relative w-20 h-20 rounded-lg overflow-hidden border-2 transition-all hover:scale-105 shrink-0 ${gallery.id === currentGalleryId
13
+ ? "border-primary ring-2 ring-primary/50"
14
+ : "border-border hover:border-primary/50"}`, children: [_jsx("img", { src: gallery.thumbnail, alt: gallery.name, className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-linear-to-t from-background via-background/60 to-transparent flex items-end p-1", children: _jsx("span", { className: "text-xs font-medium truncate w-full text-center leading-tight", children: gallery.name }) })] }, gallery.id))) }) }))] }));
58
15
  };
59
- export {
60
- g as GalleryPicker
61
- };
62
- //# sourceMappingURL=GalleryPicker.js.map
16
+ //# sourceMappingURL=GalleryPicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryPicker.js","sources":["../../../src/ui/lightbox/GalleryPicker.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { useImageDialog } from \"../../context/ImageDialogContext\";\nimport type { Gallery } from \"../../types/gallery\";\n\ninterface GalleryPickerProps {\n currentGalleryId?: string;\n onGalleryChange: (galleryId: string) => void;\n}\n\nexport const GalleryPicker = ({\n currentGalleryId,\n onGalleryChange,\n}: GalleryPickerProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const { galleries } = useImageDialog();\n\n const currentGallery = galleries.find((g) => g.id === currentGalleryId);\n\n return (\n <div className=\"relative w-full\">\n {/* Toggle Button */}\n <div\n onClick={() => setIsOpen(!isOpen)}\n className=\"cursor-pointer w-full flex items-center justify-between px-4 py-3 bg-background/40 border-b border-border hover:bg-secondary/20 transition-colors select-none\"\n >\n <div className=\"flex items-center gap-3\">\n {currentGallery && (\n <>\n <img\n src={currentGallery.thumbnail}\n alt={currentGallery.name}\n className=\"w-8 h-8 object-cover rounded\"\n />\n <div className=\"text-left\">\n <div className=\"font-medium text-sm\">{currentGallery.name}</div>\n {currentGallery.description && (\n <div className=\"text-xs text-muted-foreground\">\n {currentGallery.description}\n </div>\n )}\n </div>\n </>\n )}\n </div>\n {isOpen ? (\n <ChevronUp className=\"w-4 h-4 text-muted-foreground\" />\n ) : (\n <ChevronDown className=\"w-4 h-4 text-muted-foreground\" />\n )}\n </div>\n\n {/* Gallery Grid */}\n {isOpen && (\n <div className=\"overflow-hidden bg-background/95 backdrop-blur-sm border-b border-border\">\n <div className=\"flex flex-wrap gap-2 p-4 max-h-64 overflow-y-auto\">\n {galleries.map((gallery: Gallery) => (\n <button\n key={gallery.id}\n onClick={() => {\n onGalleryChange(gallery.id);\n setIsOpen(false);\n }}\n className={`cursor-pointer relative w-20 h-20 rounded-lg overflow-hidden border-2 transition-all hover:scale-105 shrink-0 ${\n gallery.id === currentGalleryId\n ? \"border-primary ring-2 ring-primary/50\"\n : \"border-border hover:border-primary/50\"\n }`}\n >\n <img\n src={gallery.thumbnail}\n alt={gallery.name}\n className=\"w-full h-full object-cover\"\n />\n <div className=\"absolute inset-0 bg-linear-to-t from-background via-background/60 to-transparent flex items-end p-1\">\n <span className=\"text-xs font-medium truncate w-full text-center leading-tight\">\n {gallery.name}\n </span>\n </div>\n </button>\n ))}\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":["GalleryPicker","currentGalleryId","onGalleryChange","isOpen","setIsOpen","useState","galleries","useImageDialog","currentGallery","g","jsxs","jsx","Fragment","ChevronUp","ChevronDown","gallery"],"mappings":";;;;;AAUO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,kBAAAC;AAAA,EACA,iBAAAC;AACF,MAA0B;AACxB,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhBC,IAAiBF,EAAU,KAAK,CAACG,MAAMA,EAAE,OAAOR,CAAgB;AAEtE,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAU,mBAEb,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,MAAMN,EAAU,CAACD,CAAM;AAAA,QAChC,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,2BACZ,UAAAH,KACC,gBAAAE,EAAAE,GAAA,EACE,UAAA;AAAA,YAAA,gBAAAD;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKH,EAAe;AAAA,gBACpB,KAAKA,EAAe;AAAA,gBACpB,WAAU;AAAA,cAAA;AAAA,YAAA;AAAA,YAEZ,gBAAAE,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,cAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,uBAAuB,UAAAH,EAAe,MAAK;AAAA,cACzDA,EAAe,eACd,gBAAAG,EAAC,SAAI,WAAU,iCACZ,YAAe,YAAA,CAClB;AAAA,YAAA,EAAA,CAEJ;AAAA,UAAA,EAAA,CACF,EAAA,CAEJ;AAAA,UACCR,sBACEU,GAAA,EAAU,WAAU,iCAAgC,IAErD,gBAAAF,EAACG,GAAA,EAAY,WAAU,gCAAA,CAAgC;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAK1DX,KACC,gBAAAQ,EAAC,OAAA,EAAI,WAAU,4EACb,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,qDACZ,UAAAL,EAAU,IAAI,CAACS,MACd,gBAAAL;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,SAAS,MAAM;AACb,UAAAR,EAAgBa,EAAQ,EAAE,GAC1BX,EAAU,EAAK;AAAA,QACjB;AAAA,QACA,WAAW,iHACTW,EAAQ,OAAOd,IACX,0CACA,uCACN;AAAA,QAEA,UAAA;AAAA,UAAA,gBAAAU;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAKI,EAAQ;AAAA,cACb,KAAKA,EAAQ;AAAA,cACb,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,UAEZ,gBAAAJ,EAAC,OAAA,EAAI,WAAU,uGACb,UAAA,gBAAAA,EAAC,UAAK,WAAU,iEACb,UAAAI,EAAQ,KAAA,CACX,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,MApBKA,EAAQ;AAAA,IAAA,CAsBhB,GACH,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"GalleryPicker.js","sourceRoot":"","sources":["../../../src/ui/lightbox/GalleryPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,gBAAgB,EAChB,eAAe,GACI,EAAE,EAAE;IACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IAExE,OAAO,CACL,eAAK,SAAS,EAAC,iBAAiB,aAE9B,eACE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,SAAS,EAAC,+JAA+J,aAEzK,cAAK,SAAS,EAAC,yBAAyB,YACrC,cAAc,IAAI,CACjB,8BACE,cACE,GAAG,EAAE,cAAc,CAAC,SAAS,EAC7B,GAAG,EAAE,cAAc,CAAC,IAAI,EACxB,SAAS,EAAC,8BAA8B,GACxC,EACF,eAAK,SAAS,EAAC,WAAW,aACxB,cAAK,SAAS,EAAC,qBAAqB,YAAE,cAAc,CAAC,IAAI,GAAO,EAC/D,cAAc,CAAC,WAAW,IAAI,CAC7B,cAAK,SAAS,EAAC,+BAA+B,YAC3C,cAAc,CAAC,WAAW,GACvB,CACP,IACG,IACL,CACJ,GACG,EACL,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,SAAS,IAAC,SAAS,EAAC,+BAA+B,GAAG,CACxD,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,GAAG,CAC1D,IACG,EAGL,MAAM,IAAI,CACT,cAAK,SAAS,EAAC,0EAA0E,YACvF,cAAK,SAAS,EAAC,mDAAmD,YAC/D,SAAS,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,CACnC,kBAEE,OAAO,EAAE,GAAG,EAAE;4BACZ,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BAC5B,SAAS,CAAC,KAAK,CAAC,CAAC;wBACnB,CAAC,EACD,SAAS,EAAE,iHACT,OAAO,CAAC,EAAE,KAAK,gBAAgB;4BAC7B,CAAC,CAAC,uCAAuC;4BACzC,CAAC,CAAC,uCACN,EAAE,aAEF,cACE,GAAG,EAAE,OAAO,CAAC,SAAS,EACtB,GAAG,EAAE,OAAO,CAAC,IAAI,EACjB,SAAS,EAAC,4BAA4B,GACtC,EACF,cAAK,SAAS,EAAC,qGAAqG,YAClH,eAAM,SAAS,EAAC,+DAA+D,YAC5E,OAAO,CAAC,IAAI,GACR,GACH,KApBD,OAAO,CAAC,EAAE,CAqBR,CACV,CAAC,GACE,GACF,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailStrip.d.ts","sourceRoot":"","sources":["../../../src/ui/lightbox/ImageThumbnailStrip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,GAAI,6DAMjC,wBAAwB,4CAyG1B,CAAC"}
1
+ {"version":3,"file":"ImageThumbnailStrip.d.ts","sourceRoot":"","sources":["../../../src/ui/lightbox/ImageThumbnailStrip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,GAAI,6DAMjC,wBAAwB,4CAuG1B,CAAC"}
@@ -1,96 +1,26 @@
1
- import { jsxs as a, jsx as e, Fragment as h } from "react/jsx-runtime";
2
- import { useState as u, useRef as b, useEffect as p } from "react";
3
- import g from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/info.js";
4
- import v from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js";
5
- import N from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-up.js";
6
- const j = ({
7
- gallery: l,
8
- currentIndex: t,
9
- onImageChange: m,
10
- isOpen: s,
11
- onToggle: d
12
- }) => {
13
- const [c, f] = u(!1), n = b(null), r = l.images[t];
14
- return p(() => {
15
- if (s && n.current) {
16
- const o = n.current.children[t];
17
- o && o.scrollIntoView({
18
- behavior: "smooth",
19
- block: "nearest",
20
- inline: "center"
21
- });
22
- }
23
- }, [t, s]), /* @__PURE__ */ a("div", { className: "relative w-full flex flex-col-reverse", children: [
24
- /* @__PURE__ */ a(
25
- "div",
26
- {
27
- onClick: d,
28
- className: "cursor-pointer w-full flex items-center justify-between px-4 py-3 hover:bg-background/40 backdrop-blur-sm border-t border-border bg-secondary/20 transition-colors select-none focus:outline-none focus:ring-0",
29
- children: [
30
- /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: r && /* @__PURE__ */ a(h, { children: [
31
- /* @__PURE__ */ e(
32
- "img",
33
- {
34
- src: r.thumbnail || r.src,
35
- alt: r.title || `Image ${t + 1}`,
36
- className: "w-10 h-10 object-cover rounded"
37
- }
38
- ),
39
- /* @__PURE__ */ a("div", { className: "text-left", children: [
40
- /* @__PURE__ */ e("div", { className: "font-medium text-sm", children: r.title || `Image ${t + 1}` }),
41
- /* @__PURE__ */ a("div", { className: "text-xs text-muted-foreground", children: [
42
- t + 1,
43
- " / ",
44
- l.images.length
45
- ] })
46
- ] })
47
- ] }) }),
48
- /* @__PURE__ */ a("div", { className: "flex items-center gap-2", children: [
49
- r?.description && /* @__PURE__ */ e(
50
- "div",
51
- {
52
- onClick: (o) => {
53
- o.stopPropagation(), f(!c);
54
- },
55
- className: "p-1 hover:bg-primary/20 rounded transition-colors cursor-pointer",
56
- children: /* @__PURE__ */ e(g, { className: "w-4 h-4" })
57
- }
58
- ),
59
- s ? /* @__PURE__ */ e(v, { className: "w-4 h-4 text-muted-foreground" }) : /* @__PURE__ */ e(N, { className: "w-4 h-4 text-muted-foreground" })
60
- ] })
61
- ]
62
- }
63
- ),
64
- s && /* @__PURE__ */ a("div", { className: "w-full bg-background/80 backdrop-blur-md border-t border-border p-2 animate-in slide-in-from-bottom-10 fade-in duration-200", children: [
65
- /* @__PURE__ */ e(
66
- "div",
67
- {
68
- ref: n,
69
- className: "flex gap-2 overflow-x-auto pb-2 scrollbar-thin scrollbar-thumb-secondary scrollbar-track-transparent px-2",
70
- children: l.images.map((o, i) => /* @__PURE__ */ e(
71
- "div",
72
- {
73
- onClick: () => m(i),
74
- className: `relative flex-shrink-0 cursor-pointer transition-all duration-200 ${i === t ? "ring-2 ring-primary scale-105 z-10" : "opacity-70 hover:opacity-100 hover:scale-105"}`,
75
- children: /* @__PURE__ */ e(
76
- "img",
77
- {
78
- src: o.thumbnail || o.src,
79
- alt: o.title || `Thumbnail ${i + 1}`,
80
- className: "h-20 w-auto object-cover rounded-sm",
81
- loading: "lazy"
82
- }
83
- )
84
- },
85
- i
86
- ))
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ChevronDown, ChevronUp, Info } from "lucide-react";
3
+ import { useEffect, useRef, useState } from "react";
4
+ export const ImageThumbnailStrip = ({ gallery, currentIndex, onImageChange, isOpen, onToggle, }) => {
5
+ const [showInfo, setShowInfo] = useState(false);
6
+ const scrollContainerRef = useRef(null);
7
+ const currentImage = gallery.images[currentIndex];
8
+ // Auto-scroll to current image
9
+ useEffect(() => {
10
+ if (isOpen && scrollContainerRef.current) {
11
+ const thumbnail = scrollContainerRef.current.children[currentIndex];
12
+ thumbnail.scrollIntoView({
13
+ behavior: "smooth",
14
+ block: "nearest",
15
+ inline: "center",
16
+ });
87
17
  }
88
- ),
89
- c && r?.description && /* @__PURE__ */ e("div", { className: "p-4 text-sm text-muted-foreground border-t border-border mt-2", children: r.description })
90
- ] })
91
- ] });
18
+ }, [currentIndex, isOpen]);
19
+ return (_jsxs("div", { className: "relative w-full flex flex-col-reverse", children: [_jsxs("div", { onClick: onToggle, className: "cursor-pointer w-full flex items-center justify-between px-4 py-3 hover:bg-background/40 backdrop-blur-sm border-t border-border bg-secondary/20 transition-colors select-none focus:outline-none focus:ring-0", children: [_jsx("div", { className: "flex items-center gap-3", children: currentImage && (_jsxs(_Fragment, { children: [_jsx("img", { src: currentImage.thumbnail || currentImage.src, alt: currentImage.title || `Image ${currentIndex + 1}`, className: "w-10 h-10 object-cover rounded" }), _jsxs("div", { className: "text-left", children: [_jsx("div", { className: "font-medium text-sm", children: currentImage.title || `Image ${currentIndex + 1}` }), _jsxs("div", { className: "text-xs text-muted-foreground", children: [currentIndex + 1, " / ", gallery.images.length] })] })] })) }), _jsxs("div", { className: "flex items-center gap-2", children: [currentImage?.description && (_jsx("div", { onClick: (e) => {
20
+ e.stopPropagation();
21
+ setShowInfo(!showInfo);
22
+ }, className: "p-1 hover:bg-primary/20 rounded transition-colors cursor-pointer", children: _jsx(Info, { className: "w-4 h-4" }) })), isOpen ? (_jsx(ChevronDown, { className: "w-4 h-4 text-muted-foreground" })) : (_jsx(ChevronUp, { className: "w-4 h-4 text-muted-foreground" }))] })] }), isOpen && (_jsxs("div", { className: "w-full bg-background/80 backdrop-blur-md border-t border-border p-2 animate-in slide-in-from-bottom-10 fade-in duration-200", children: [_jsx("div", { ref: scrollContainerRef, className: "flex gap-2 overflow-x-auto pb-2 scrollbar-thin scrollbar-thumb-secondary scrollbar-track-transparent px-2", children: gallery.images.map((img, idx) => (_jsx("div", { onClick: () => onImageChange(idx), className: `relative flex-shrink-0 cursor-pointer transition-all duration-200 ${idx === currentIndex
23
+ ? "ring-2 ring-primary scale-105 z-10"
24
+ : "opacity-70 hover:opacity-100 hover:scale-105"}`, children: _jsx("img", { src: img.thumbnail || img.src, alt: img.title || `Thumbnail ${idx + 1}`, className: "h-20 w-auto object-cover rounded-sm", loading: "lazy" }) }, idx))) }), showInfo && currentImage?.description && (_jsx("div", { className: "p-4 text-sm text-muted-foreground border-t border-border mt-2", children: currentImage.description }))] }))] }));
92
25
  };
93
- export {
94
- j as ImageThumbnailStrip
95
- };
96
- //# sourceMappingURL=ImageThumbnailStrip.js.map
26
+ //# sourceMappingURL=ImageThumbnailStrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageThumbnailStrip.js","sources":["../../../src/ui/lightbox/ImageThumbnailStrip.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp, Info } from \"lucide-react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport type { Gallery } from \"../../types/gallery\";\n\ninterface ImageThumbnailStripProps {\n gallery: Gallery;\n currentIndex: number;\n onImageChange: (index: number) => void;\n isOpen: boolean;\n onToggle: () => void;\n}\n\nexport const ImageThumbnailStrip = ({\n gallery,\n currentIndex,\n onImageChange,\n isOpen,\n onToggle,\n}: ImageThumbnailStripProps) => {\n const [showInfo, setShowInfo] = useState(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const currentImage = gallery.images[currentIndex];\n\n // Auto-scroll to current image\n useEffect(() => {\n if (isOpen && scrollContainerRef.current) {\n const thumbnail = scrollContainerRef.current.children[\n currentIndex\n ] as HTMLElement;\n if (thumbnail) {\n thumbnail.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n }\n }\n }, [currentIndex, isOpen]);\n\n return (\n <div className=\"relative w-full flex flex-col-reverse\">\n {/* Toggle Button - stays at bottom */}\n <div\n onClick={onToggle}\n className=\"cursor-pointer w-full flex items-center justify-between px-4 py-3 hover:bg-background/40 backdrop-blur-sm border-t border-border bg-secondary/20 transition-colors select-none focus:outline-none focus:ring-0\"\n >\n <div className=\"flex items-center gap-3\">\n {currentImage && (\n <>\n <img\n src={currentImage.thumbnail || currentImage.src}\n alt={currentImage.title || `Image ${currentIndex + 1}`}\n className=\"w-10 h-10 object-cover rounded\"\n />\n <div className=\"text-left\">\n <div className=\"font-medium text-sm\">\n {currentImage.title || `Image ${currentIndex + 1}`}\n </div>\n <div className=\"text-xs text-muted-foreground\">\n {currentIndex + 1} / {gallery.images.length}\n </div>\n </div>\n </>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {currentImage?.description && (\n <div\n onClick={(e) => {\n e.stopPropagation();\n setShowInfo(!showInfo);\n }}\n className=\"p-1 hover:bg-primary/20 rounded transition-colors cursor-pointer\"\n >\n <Info className=\"w-4 h-4\" />\n </div>\n )}\n {isOpen ? (\n <ChevronDown className=\"w-4 h-4 text-muted-foreground\" />\n ) : (\n <ChevronUp className=\"w-4 h-4 text-muted-foreground\" />\n )}\n </div>\n </div>\n\n {/* Thumbnail Strip */}\n {isOpen && (\n <div className=\"w-full bg-background/80 backdrop-blur-md border-t border-border p-2 animate-in slide-in-from-bottom-10 fade-in duration-200\">\n <div\n ref={scrollContainerRef}\n className=\"flex gap-2 overflow-x-auto pb-2 scrollbar-thin scrollbar-thumb-secondary scrollbar-track-transparent px-2\"\n >\n {gallery.images.map((img, idx) => (\n <div\n key={idx}\n onClick={() => onImageChange(idx)}\n className={`relative flex-shrink-0 cursor-pointer transition-all duration-200 ${\n idx === currentIndex\n ? \"ring-2 ring-primary scale-105 z-10\"\n : \"opacity-70 hover:opacity-100 hover:scale-105\"\n }`}\n >\n <img\n src={img.thumbnail || img.src}\n alt={img.title || `Thumbnail ${idx + 1}`}\n className=\"h-20 w-auto object-cover rounded-sm\"\n loading=\"lazy\"\n />\n </div>\n ))}\n </div>\n\n {/* Info Panel */}\n {showInfo && currentImage?.description && (\n <div className=\"p-4 text-sm text-muted-foreground border-t border-border mt-2\">\n {currentImage.description}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"names":["ImageThumbnailStrip","gallery","currentIndex","onImageChange","isOpen","onToggle","showInfo","setShowInfo","useState","scrollContainerRef","useRef","currentImage","useEffect","thumbnail","jsxs","jsx","Fragment","e","Info","ChevronDown","ChevronUp","img","idx"],"mappings":"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"}
1
+ {"version":3,"file":"ImageThumbnailStrip.js","sourceRoot":"","sources":["../../../src/ui/lightbox/ImageThumbnailStrip.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LightboxViewer.d.ts","sourceRoot":"","sources":["../../../src/ui/lightbox/LightboxViewer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,gJAY5B,mBAAmB,4CAmIrB,CAAC"}
1
+ {"version":3,"file":"LightboxViewer.d.ts","sourceRoot":"","sources":["../../../src/ui/lightbox/LightboxViewer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,cAAc,GAAI,gJAY5B,mBAAmB,4CAoIrB,CAAC"}