@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,528 +0,0 @@
1
- import { evaluate as L, getSideAxis as T, getSide as j, clamp as X, getOppositePlacement as ee, getExpandedPlacements as te, getOppositeAxisPlacements as ne, getAlignmentSides as ie, getAlignment as z, min as $, max as W, getPaddingObject as J, rectToClientRect as _, getOppositeAxis as K, getAlignmentAxis as N, sides as se, getAxisLength as Q } from "../../../../../@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js";
2
- function I(t, e, d) {
3
- let {
4
- reference: a,
5
- floating: r
6
- } = t;
7
- const n = T(e), o = N(e), m = Q(o), u = j(e), h = n === "y", c = a.x + a.width / 2 - r.width / 2, s = a.y + a.height / 2 - r.height / 2, f = a[m] / 2 - r[m] / 2;
8
- let i;
9
- switch (u) {
10
- case "top":
11
- i = {
12
- x: c,
13
- y: a.y - r.height
14
- };
15
- break;
16
- case "bottom":
17
- i = {
18
- x: c,
19
- y: a.y + a.height
20
- };
21
- break;
22
- case "right":
23
- i = {
24
- x: a.x + a.width,
25
- y: s
26
- };
27
- break;
28
- case "left":
29
- i = {
30
- x: a.x - r.width,
31
- y: s
32
- };
33
- break;
34
- default:
35
- i = {
36
- x: a.x,
37
- y: a.y
38
- };
39
- }
40
- switch (z(e)) {
41
- case "start":
42
- i[o] -= f * (d && h ? -1 : 1);
43
- break;
44
- case "end":
45
- i[o] += f * (d && h ? -1 : 1);
46
- break;
47
- }
48
- return i;
49
- }
50
- const ce = async (t, e, d) => {
51
- const {
52
- placement: a = "bottom",
53
- strategy: r = "absolute",
54
- middleware: n = [],
55
- platform: o
56
- } = d, m = n.filter(Boolean), u = await (o.isRTL == null ? void 0 : o.isRTL(e));
57
- let h = await o.getElementRects({
58
- reference: t,
59
- floating: e,
60
- strategy: r
61
- }), {
62
- x: c,
63
- y: s
64
- } = I(h, a, u), f = a, i = {}, l = 0;
65
- for (let g = 0; g < m.length; g++) {
66
- const {
67
- name: x,
68
- fn: y
69
- } = m[g], {
70
- x: A,
71
- y: p,
72
- data: v,
73
- reset: w
74
- } = await y({
75
- x: c,
76
- y: s,
77
- initialPlacement: a,
78
- placement: f,
79
- strategy: r,
80
- middlewareData: i,
81
- rects: h,
82
- platform: o,
83
- elements: {
84
- reference: t,
85
- floating: e
86
- }
87
- });
88
- c = A ?? c, s = p ?? s, i = {
89
- ...i,
90
- [x]: {
91
- ...i[x],
92
- ...v
93
- }
94
- }, w && l <= 50 && (l++, typeof w == "object" && (w.placement && (f = w.placement), w.rects && (h = w.rects === !0 ? await o.getElementRects({
95
- reference: t,
96
- floating: e,
97
- strategy: r
98
- }) : w.rects), {
99
- x: c,
100
- y: s
101
- } = I(h, f, u)), g = -1);
102
- }
103
- return {
104
- x: c,
105
- y: s,
106
- placement: f,
107
- strategy: r,
108
- middlewareData: i
109
- };
110
- };
111
- async function Y(t, e) {
112
- var d;
113
- e === void 0 && (e = {});
114
- const {
115
- x: a,
116
- y: r,
117
- platform: n,
118
- rects: o,
119
- elements: m,
120
- strategy: u
121
- } = t, {
122
- boundary: h = "clippingAncestors",
123
- rootBoundary: c = "viewport",
124
- elementContext: s = "floating",
125
- altBoundary: f = !1,
126
- padding: i = 0
127
- } = L(e, t), l = J(i), x = m[f ? s === "floating" ? "reference" : "floating" : s], y = _(await n.getClippingRect({
128
- element: (d = await (n.isElement == null ? void 0 : n.isElement(x))) == null || d ? x : x.contextElement || await (n.getDocumentElement == null ? void 0 : n.getDocumentElement(m.floating)),
129
- boundary: h,
130
- rootBoundary: c,
131
- strategy: u
132
- })), A = s === "floating" ? {
133
- x: a,
134
- y: r,
135
- width: o.floating.width,
136
- height: o.floating.height
137
- } : o.reference, p = await (n.getOffsetParent == null ? void 0 : n.getOffsetParent(m.floating)), v = await (n.isElement == null ? void 0 : n.isElement(p)) ? await (n.getScale == null ? void 0 : n.getScale(p)) || {
138
- x: 1,
139
- y: 1
140
- } : {
141
- x: 1,
142
- y: 1
143
- }, w = _(n.convertOffsetParentRelativeRectToViewportRelativeRect ? await n.convertOffsetParentRelativeRectToViewportRelativeRect({
144
- elements: m,
145
- rect: A,
146
- offsetParent: p,
147
- strategy: u
148
- }) : A);
149
- return {
150
- top: (y.top - w.top + l.top) / v.y,
151
- bottom: (w.bottom - y.bottom + l.bottom) / v.y,
152
- left: (y.left - w.left + l.left) / v.x,
153
- right: (w.right - y.right + l.right) / v.x
154
- };
155
- }
156
- const le = (t) => ({
157
- name: "arrow",
158
- options: t,
159
- async fn(e) {
160
- const {
161
- x: d,
162
- y: a,
163
- placement: r,
164
- rects: n,
165
- platform: o,
166
- elements: m,
167
- middlewareData: u
168
- } = e, {
169
- element: h,
170
- padding: c = 0
171
- } = L(t, e) || {};
172
- if (h == null)
173
- return {};
174
- const s = J(c), f = {
175
- x: d,
176
- y: a
177
- }, i = N(r), l = Q(i), g = await o.getDimensions(h), x = i === "y", y = x ? "top" : "left", A = x ? "bottom" : "right", p = x ? "clientHeight" : "clientWidth", v = n.reference[l] + n.reference[i] - f[i] - n.floating[l], w = f[i] - n.reference[i], P = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(h));
178
- let C = P ? P[p] : 0;
179
- (!C || !await (o.isElement == null ? void 0 : o.isElement(P))) && (C = m.floating[p] || n.floating[l]);
180
- const M = v / 2 - w / 2, k = C / 2 - g[l] / 2 - 1, O = $(s[y], k), H = $(s[A], k), D = O, F = C - g[l] - H, b = C / 2 - g[l] / 2 + M, B = X(D, b, F), E = !u.arrow && z(r) != null && b !== B && n.reference[l] / 2 - (b < D ? O : H) - g[l] / 2 < 0, S = E ? b < D ? b - D : b - F : 0;
181
- return {
182
- [i]: f[i] + S,
183
- data: {
184
- [i]: B,
185
- centerOffset: b - B - S,
186
- ...E && {
187
- alignmentOffset: S
188
- }
189
- },
190
- reset: E
191
- };
192
- }
193
- }), re = function(t) {
194
- return t === void 0 && (t = {}), {
195
- name: "flip",
196
- options: t,
197
- async fn(e) {
198
- var d, a;
199
- const {
200
- placement: r,
201
- middlewareData: n,
202
- rects: o,
203
- initialPlacement: m,
204
- platform: u,
205
- elements: h
206
- } = e, {
207
- mainAxis: c = !0,
208
- crossAxis: s = !0,
209
- fallbackPlacements: f,
210
- fallbackStrategy: i = "bestFit",
211
- fallbackAxisSideDirection: l = "none",
212
- flipAlignment: g = !0,
213
- ...x
214
- } = L(t, e);
215
- if ((d = n.arrow) != null && d.alignmentOffset)
216
- return {};
217
- const y = j(r), A = T(m), p = j(m) === m, v = await (u.isRTL == null ? void 0 : u.isRTL(h.floating)), w = f || (p || !g ? [ee(m)] : te(m)), P = l !== "none";
218
- !f && P && w.push(...ne(m, g, l, v));
219
- const C = [m, ...w], M = await Y(e, x), k = [];
220
- let O = ((a = n.flip) == null ? void 0 : a.overflows) || [];
221
- if (c && k.push(M[y]), s) {
222
- const b = ie(r, o, v);
223
- k.push(M[b[0]], M[b[1]]);
224
- }
225
- if (O = [...O, {
226
- placement: r,
227
- overflows: k
228
- }], !k.every((b) => b <= 0)) {
229
- var H, D;
230
- const b = (((H = n.flip) == null ? void 0 : H.index) || 0) + 1, B = C[b];
231
- if (B && (!(s === "alignment" ? A !== T(B) : !1) || // We leave the current main axis only if every placement on that axis
232
- // overflows the main axis.
233
- O.every((R) => T(R.placement) === A ? R.overflows[0] > 0 : !0)))
234
- return {
235
- data: {
236
- index: b,
237
- overflows: O
238
- },
239
- reset: {
240
- placement: B
241
- }
242
- };
243
- let E = (D = O.filter((S) => S.overflows[0] <= 0).sort((S, R) => S.overflows[1] - R.overflows[1])[0]) == null ? void 0 : D.placement;
244
- if (!E)
245
- switch (i) {
246
- case "bestFit": {
247
- var F;
248
- const S = (F = O.filter((R) => {
249
- if (P) {
250
- const V = T(R.placement);
251
- return V === A || // Create a bias to the `y` side axis due to horizontal
252
- // reading directions favoring greater width.
253
- V === "y";
254
- }
255
- return !0;
256
- }).map((R) => [R.placement, R.overflows.filter((V) => V > 0).reduce((V, Z) => V + Z, 0)]).sort((R, V) => R[1] - V[1])[0]) == null ? void 0 : F[0];
257
- S && (E = S);
258
- break;
259
- }
260
- case "initialPlacement":
261
- E = m;
262
- break;
263
- }
264
- if (r !== E)
265
- return {
266
- reset: {
267
- placement: E
268
- }
269
- };
270
- }
271
- return {};
272
- }
273
- };
274
- };
275
- function q(t, e) {
276
- return {
277
- top: t.top - e.height,
278
- right: t.right - e.width,
279
- bottom: t.bottom - e.height,
280
- left: t.left - e.width
281
- };
282
- }
283
- function G(t) {
284
- return se.some((e) => t[e] >= 0);
285
- }
286
- const fe = function(t) {
287
- return t === void 0 && (t = {}), {
288
- name: "hide",
289
- options: t,
290
- async fn(e) {
291
- const {
292
- rects: d
293
- } = e, {
294
- strategy: a = "referenceHidden",
295
- ...r
296
- } = L(t, e);
297
- switch (a) {
298
- case "referenceHidden": {
299
- const n = await Y(e, {
300
- ...r,
301
- elementContext: "reference"
302
- }), o = q(n, d.reference);
303
- return {
304
- data: {
305
- referenceHiddenOffsets: o,
306
- referenceHidden: G(o)
307
- }
308
- };
309
- }
310
- case "escaped": {
311
- const n = await Y(e, {
312
- ...r,
313
- altBoundary: !0
314
- }), o = q(n, d.floating);
315
- return {
316
- data: {
317
- escapedOffsets: o,
318
- escaped: G(o)
319
- }
320
- };
321
- }
322
- default:
323
- return {};
324
- }
325
- }
326
- };
327
- }, U = /* @__PURE__ */ new Set(["left", "top"]);
328
- async function oe(t, e) {
329
- const {
330
- placement: d,
331
- platform: a,
332
- elements: r
333
- } = t, n = await (a.isRTL == null ? void 0 : a.isRTL(r.floating)), o = j(d), m = z(d), u = T(d) === "y", h = U.has(o) ? -1 : 1, c = n && u ? -1 : 1, s = L(e, t);
334
- let {
335
- mainAxis: f,
336
- crossAxis: i,
337
- alignmentAxis: l
338
- } = typeof s == "number" ? {
339
- mainAxis: s,
340
- crossAxis: 0,
341
- alignmentAxis: null
342
- } : {
343
- mainAxis: s.mainAxis || 0,
344
- crossAxis: s.crossAxis || 0,
345
- alignmentAxis: s.alignmentAxis
346
- };
347
- return m && typeof l == "number" && (i = m === "end" ? l * -1 : l), u ? {
348
- x: i * c,
349
- y: f * h
350
- } : {
351
- x: f * h,
352
- y: i * c
353
- };
354
- }
355
- const me = function(t) {
356
- return t === void 0 && (t = 0), {
357
- name: "offset",
358
- options: t,
359
- async fn(e) {
360
- var d, a;
361
- const {
362
- x: r,
363
- y: n,
364
- placement: o,
365
- middlewareData: m
366
- } = e, u = await oe(e, t);
367
- return o === ((d = m.offset) == null ? void 0 : d.placement) && (a = m.arrow) != null && a.alignmentOffset ? {} : {
368
- x: r + u.x,
369
- y: n + u.y,
370
- data: {
371
- ...u,
372
- placement: o
373
- }
374
- };
375
- }
376
- };
377
- }, de = function(t) {
378
- return t === void 0 && (t = {}), {
379
- name: "shift",
380
- options: t,
381
- async fn(e) {
382
- const {
383
- x: d,
384
- y: a,
385
- placement: r
386
- } = e, {
387
- mainAxis: n = !0,
388
- crossAxis: o = !1,
389
- limiter: m = {
390
- fn: (x) => {
391
- let {
392
- x: y,
393
- y: A
394
- } = x;
395
- return {
396
- x: y,
397
- y: A
398
- };
399
- }
400
- },
401
- ...u
402
- } = L(t, e), h = {
403
- x: d,
404
- y: a
405
- }, c = await Y(e, u), s = T(j(r)), f = K(s);
406
- let i = h[f], l = h[s];
407
- if (n) {
408
- const x = f === "y" ? "top" : "left", y = f === "y" ? "bottom" : "right", A = i + c[x], p = i - c[y];
409
- i = X(A, i, p);
410
- }
411
- if (o) {
412
- const x = s === "y" ? "top" : "left", y = s === "y" ? "bottom" : "right", A = l + c[x], p = l - c[y];
413
- l = X(A, l, p);
414
- }
415
- const g = m.fn({
416
- ...e,
417
- [f]: i,
418
- [s]: l
419
- });
420
- return {
421
- ...g,
422
- data: {
423
- x: g.x - d,
424
- y: g.y - a,
425
- enabled: {
426
- [f]: n,
427
- [s]: o
428
- }
429
- }
430
- };
431
- }
432
- };
433
- }, xe = function(t) {
434
- return t === void 0 && (t = {}), {
435
- options: t,
436
- fn(e) {
437
- const {
438
- x: d,
439
- y: a,
440
- placement: r,
441
- rects: n,
442
- middlewareData: o
443
- } = e, {
444
- offset: m = 0,
445
- mainAxis: u = !0,
446
- crossAxis: h = !0
447
- } = L(t, e), c = {
448
- x: d,
449
- y: a
450
- }, s = T(r), f = K(s);
451
- let i = c[f], l = c[s];
452
- const g = L(m, e), x = typeof g == "number" ? {
453
- mainAxis: g,
454
- crossAxis: 0
455
- } : {
456
- mainAxis: 0,
457
- crossAxis: 0,
458
- ...g
459
- };
460
- if (u) {
461
- const p = f === "y" ? "height" : "width", v = n.reference[f] - n.floating[p] + x.mainAxis, w = n.reference[f] + n.reference[p] - x.mainAxis;
462
- i < v ? i = v : i > w && (i = w);
463
- }
464
- if (h) {
465
- var y, A;
466
- const p = f === "y" ? "width" : "height", v = U.has(j(r)), w = n.reference[s] - n.floating[p] + (v && ((y = o.offset) == null ? void 0 : y[s]) || 0) + (v ? 0 : x.crossAxis), P = n.reference[s] + n.reference[p] + (v ? 0 : ((A = o.offset) == null ? void 0 : A[s]) || 0) - (v ? x.crossAxis : 0);
467
- l < w ? l = w : l > P && (l = P);
468
- }
469
- return {
470
- [f]: i,
471
- [s]: l
472
- };
473
- }
474
- };
475
- }, ge = function(t) {
476
- return t === void 0 && (t = {}), {
477
- name: "size",
478
- options: t,
479
- async fn(e) {
480
- var d, a;
481
- const {
482
- placement: r,
483
- rects: n,
484
- platform: o,
485
- elements: m
486
- } = e, {
487
- apply: u = () => {
488
- },
489
- ...h
490
- } = L(t, e), c = await Y(e, h), s = j(r), f = z(r), i = T(r) === "y", {
491
- width: l,
492
- height: g
493
- } = n.floating;
494
- let x, y;
495
- s === "top" || s === "bottom" ? (x = s, y = f === (await (o.isRTL == null ? void 0 : o.isRTL(m.floating)) ? "start" : "end") ? "left" : "right") : (y = s, x = f === "end" ? "top" : "bottom");
496
- const A = g - c.top - c.bottom, p = l - c.left - c.right, v = $(g - c[x], A), w = $(l - c[y], p), P = !e.middlewareData.shift;
497
- let C = v, M = w;
498
- if ((d = e.middlewareData.shift) != null && d.enabled.x && (M = p), (a = e.middlewareData.shift) != null && a.enabled.y && (C = A), P && !f) {
499
- const O = W(c.left, 0), H = W(c.right, 0), D = W(c.top, 0), F = W(c.bottom, 0);
500
- i ? M = l - 2 * (O !== 0 || H !== 0 ? O + H : W(c.left, c.right)) : C = g - 2 * (D !== 0 || F !== 0 ? D + F : W(c.top, c.bottom));
501
- }
502
- await u({
503
- ...e,
504
- availableWidth: M,
505
- availableHeight: C
506
- });
507
- const k = await o.getDimensions(m.floating);
508
- return l !== k.width || g !== k.height ? {
509
- reset: {
510
- rects: !0
511
- }
512
- } : {};
513
- }
514
- };
515
- };
516
- export {
517
- le as arrow,
518
- ce as computePosition,
519
- Y as detectOverflow,
520
- re as flip,
521
- fe as hide,
522
- xe as limitShift,
523
- me as offset,
524
- _ as rectToClientRect,
525
- de as shift,
526
- ge as size
527
- };
528
- //# sourceMappingURL=floating-ui.core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"floating-ui.core.js","sources":["../../../../../../../../node_modules/.pnpm/@floating-ui+core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs"],"sourcesContent":["import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n"],"names":["computeCoordsFromPlacement","_ref","placement","rtl","reference","floating","sideAxis","getSideAxis","alignmentAxis","getAlignmentAxis","alignLength","getAxisLength","side","getSide","isVertical","commonX","commonY","commonAlign","coords","getAlignment","computePosition","config","strategy","middleware","platform","validMiddleware","rects","x","y","statefulPlacement","middlewareData","resetCount","i","name","fn","nextX","nextY","data","reset","detectOverflow","state","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","padding","evaluate","paddingObject","getPaddingObject","element","clippingClientRect","rectToClientRect","rect","offsetParent","offsetScale","elementClientRect","arrow","axis","length","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","min","maxPadding","min$1","max","center","offset","clamp","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","getOppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","getOppositeAxisPlacements","placements","overflow","overflows","overflowsData","sides","getAlignmentSides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","a","b","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","hide","offsets","originSides","convertValueToCoords","alignment","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","getOppositeAxis","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","size","_state$middlewareData","_state$middlewareData2","apply","width","height","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions"],"mappings":"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","x_google_ignoreList":[0]}