@embeddr/react-ui 0.1.1 → 0.1.3
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.
- package/LICENSE.md +674 -0
- package/README.md +48 -10
- package/dist/context/ImageDialogContext.d.ts.map +1 -0
- package/dist/hooks/useExternalNav.d.ts.map +1 -0
- package/dist/hooks/useImageDialog.d.ts.map +1 -0
- package/dist/{src/index.d.ts → index.d.ts} +0 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -45
- package/dist/index.js.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_primitive@1.1.3/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
- 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@1_2aa610ae3ce517c8615cebea9e24dc5b → @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 +1 -1
- 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 +1 -0
- 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 +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.7__@_d3b8d348a25db9227f3697eddbb26378 → @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 +1 -1
- 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 +1 -0
- 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 +1 -1
- 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@_4468d6b8a14aa8e01a5fa6b59b3b35ec → @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 +2 -2
- 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 +1 -0
- 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@_7645cc20debbdc3166db2ed8e9fd2af5 → @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 +1 -1
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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_61903d443f318e235810cb4023b9ffb4 → @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 +6 -6
- 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 +1 -0
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.7__@typ_b08a54b8b8cc1e2fcb68c28280b66cb9 → @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 +1 -1
- 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 +1 -0
- package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.4_@types_react-dom@19.2.3_@types_react@19.2.7__@typ_7a5b8f185fdc99089c53563f38599d77 → @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 +1 -1
- 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 +1 -0
- package/dist/node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/info.js.map +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/pause.js.map +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/play.js.map +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js.map +1 -1
- 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 +1 -1
- package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
- package/dist/providers/ExternalNav.d.ts.map +1 -0
- package/dist/providers/ImageDialog.d.ts.map +1 -0
- package/dist/providers/ImageDialogProvider.d.ts.map +1 -0
- package/dist/providers/ImageDialogProvider.js +1 -1
- package/dist/types/gallery.d.ts.map +1 -0
- package/dist/ui/accordion.d.ts.map +1 -0
- package/dist/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/ui/avatar.d.ts.map +1 -0
- package/dist/ui/badge.d.ts.map +1 -0
- package/dist/ui/breadcrumb.d.ts.map +1 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/card.d.ts.map +1 -0
- package/dist/ui/checkbox.d.ts.map +1 -0
- package/dist/ui/dialog.d.ts.map +1 -0
- package/dist/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/input-group.d.ts.map +1 -0
- package/dist/ui/input.d.ts.map +1 -0
- package/dist/ui/label.d.ts.map +1 -0
- package/dist/ui/lightbox/GalleryPicker.d.ts.map +1 -0
- package/dist/ui/lightbox/ImageThumbnailStrip.d.ts.map +1 -0
- package/dist/ui/lightbox/LightboxViewer.d.ts.map +1 -0
- package/dist/ui/lightbox/PannableImage.d.ts.map +1 -0
- package/dist/ui/menubar.d.ts.map +1 -0
- package/dist/ui/progress.d.ts.map +1 -0
- package/dist/ui/resizable.d.ts.map +1 -0
- package/dist/ui/scroll-area.d.ts.map +1 -0
- package/dist/ui/select.d.ts.map +1 -0
- package/dist/ui/separator.d.ts.map +1 -0
- package/dist/ui/skeleton.d.ts.map +1 -0
- package/dist/ui/slider.d.ts.map +1 -0
- package/dist/ui/sonner.d.ts.map +1 -0
- package/dist/ui/spinner.d.ts.map +1 -0
- package/dist/ui/switch.d.ts.map +1 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/tabs.d.ts.map +1 -0
- package/dist/ui/textarea.d.ts.map +1 -0
- package/dist/ui/tooltip.d.ts.map +1 -0
- package/dist/ui/tooltip.js +1 -1
- package/package.json +6 -7
- package/dist/node_modules/.pnpm/@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js +0 -13
- package/dist/node_modules/.pnpm/@babel_runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
- 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@1_2aa610ae3ce517c8615cebea9e24dc5b/node_modules/@radix-ui/react-arrow/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.7__@_d3b8d348a25db9227f3697eddbb26378/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +0 -1
- 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@_4468d6b8a14aa8e01a5fa6b59b3b35ec/node_modules/@radix-ui/react-popper/dist/index.js.map +0 -1
- 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@_7645cc20debbdc3166db2ed8e9fd2af5/node_modules/@radix-ui/react-portal/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.7__@types_reac_90b29b5754215655309320557426a63a/node_modules/@radix-ui/react-presence/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_5f3d28fea11cf58eed3830d0189b6e2d/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_2890c4f0094b3fe96d52c22245e0b989/node_modules/@radix-ui/react-primitive/dist/index.js.map +0 -1
- 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_61903d443f318e235810cb4023b9ffb4/node_modules/@radix-ui/react-tooltip/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.7__@typ_b08a54b8b8cc1e2fcb68c28280b66cb9/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-visually-hidden@1.2.4_@types_react-dom@19.2.3_@types_react@19.2.7__@typ_7a5b8f185fdc99089c53563f38599d77/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
- package/dist/node_modules/.pnpm/@react-three_drei@10.7.7_@react-three_fiber@9.4.2_@types_react@19.2.7_react-dom@19.2.3__e3b6c415d30d21deeb56f01c9fc2836f/node_modules/@react-three/drei/core/OrbitControls.js +0 -51
- package/dist/node_modules/.pnpm/@react-three_drei@10.7.7_@react-three_fiber@9.4.2_@types_react@19.2.7_react-dom@19.2.3__e3b6c415d30d21deeb56f01c9fc2836f/node_modules/@react-three/drei/core/OrbitControls.js.map +0 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chart-scatter.js +0 -14
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chart-scatter.js.map +0 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/external-link.js +0 -11
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/external-link.js.map +0 -1
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/eye.js +0 -16
- package/dist/node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/eye.js.map +0 -1
- package/dist/node_modules/.pnpm/three-stdlib@2.36.1_three@0.182.0/node_modules/three-stdlib/controls/EventDispatcher.js +0 -61
- package/dist/node_modules/.pnpm/three-stdlib@2.36.1_three@0.182.0/node_modules/three-stdlib/controls/EventDispatcher.js.map +0 -1
- package/dist/node_modules/.pnpm/three-stdlib@2.36.1_three@0.182.0/node_modules/three-stdlib/controls/OrbitControls.js +0 -417
- package/dist/node_modules/.pnpm/three-stdlib@2.36.1_three@0.182.0/node_modules/three-stdlib/controls/OrbitControls.js.map +0 -1
- package/dist/src/context/ImageDialogContext.d.ts.map +0 -1
- package/dist/src/hooks/useExternalNav.d.ts.map +0 -1
- package/dist/src/hooks/useImageDialog.d.ts.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/providers/ExternalNav.d.ts.map +0 -1
- package/dist/src/providers/ImageDialog.d.ts.map +0 -1
- package/dist/src/providers/ImageDialogProvider.d.ts.map +0 -1
- package/dist/src/types/gallery.d.ts.map +0 -1
- package/dist/src/ui/accordion.d.ts.map +0 -1
- package/dist/src/ui/aspect-ratio.d.ts.map +0 -1
- package/dist/src/ui/avatar.d.ts.map +0 -1
- package/dist/src/ui/badge.d.ts.map +0 -1
- package/dist/src/ui/breadcrumb.d.ts.map +0 -1
- package/dist/src/ui/button.d.ts.map +0 -1
- package/dist/src/ui/card.d.ts.map +0 -1
- package/dist/src/ui/checkbox.d.ts.map +0 -1
- package/dist/src/ui/dialog.d.ts.map +0 -1
- package/dist/src/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/src/ui/explorers/Umap3DExplorer.d.ts +0 -4
- package/dist/src/ui/explorers/Umap3DExplorer.d.ts.map +0 -1
- package/dist/src/ui/explorers/types.d.ts +0 -16
- package/dist/src/ui/explorers/types.d.ts.map +0 -1
- package/dist/src/ui/input-group.d.ts.map +0 -1
- package/dist/src/ui/input.d.ts.map +0 -1
- package/dist/src/ui/label.d.ts.map +0 -1
- package/dist/src/ui/lightbox/GalleryPicker.d.ts.map +0 -1
- package/dist/src/ui/lightbox/ImageThumbnailStrip.d.ts.map +0 -1
- package/dist/src/ui/lightbox/LightboxViewer.d.ts.map +0 -1
- package/dist/src/ui/lightbox/PannableImage.d.ts.map +0 -1
- package/dist/src/ui/menubar.d.ts.map +0 -1
- package/dist/src/ui/progress.d.ts.map +0 -1
- package/dist/src/ui/resizable.d.ts.map +0 -1
- package/dist/src/ui/scroll-area.d.ts.map +0 -1
- package/dist/src/ui/select.d.ts.map +0 -1
- package/dist/src/ui/separator.d.ts.map +0 -1
- package/dist/src/ui/skeleton.d.ts.map +0 -1
- package/dist/src/ui/slider.d.ts.map +0 -1
- package/dist/src/ui/sonner.d.ts.map +0 -1
- package/dist/src/ui/spinner.d.ts.map +0 -1
- package/dist/src/ui/switch.d.ts.map +0 -1
- package/dist/src/ui/table.d.ts.map +0 -1
- package/dist/src/ui/tabs.d.ts.map +0 -1
- package/dist/src/ui/textarea.d.ts.map +0 -1
- package/dist/src/ui/tooltip.d.ts.map +0 -1
- package/dist/ui/explorers/Umap3DExplorer.js +0 -375
- package/dist/ui/explorers/Umap3DExplorer.js.map +0 -1
- package/dist/vite.config.d.ts +0 -3
- package/dist/vite.config.d.ts.map +0 -1
- /package/dist/{src/context → context}/ImageDialogContext.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useExternalNav.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useImageDialog.d.ts +0 -0
- /package/dist/{src/lib → lib}/utils.d.ts +0 -0
- /package/dist/node_modules/.pnpm/{@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.7__@types_reac_90b29b5754215655309320557426a63a → @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 -0
- /package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_5f3d28fea11cf58eed3830d0189b6e2d → @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 -0
- /package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.4_@types_react-dom@19.2.3_@types_react@19.2.7__@types_rea_2890c4f0094b3fe96d52c22245e0b989 → @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 -0
- /package/dist/{src/providers → providers}/ExternalNav.d.ts +0 -0
- /package/dist/{src/providers → providers}/ImageDialog.d.ts +0 -0
- /package/dist/{src/providers → providers}/ImageDialogProvider.d.ts +0 -0
- /package/dist/{src/types → types}/gallery.d.ts +0 -0
- /package/dist/{src/ui → ui}/accordion.d.ts +0 -0
- /package/dist/{src/ui → ui}/aspect-ratio.d.ts +0 -0
- /package/dist/{src/ui → ui}/avatar.d.ts +0 -0
- /package/dist/{src/ui → ui}/badge.d.ts +0 -0
- /package/dist/{src/ui → ui}/breadcrumb.d.ts +0 -0
- /package/dist/{src/ui → ui}/button.d.ts +0 -0
- /package/dist/{src/ui → ui}/card.d.ts +0 -0
- /package/dist/{src/ui → ui}/checkbox.d.ts +0 -0
- /package/dist/{src/ui → ui}/dialog.d.ts +0 -0
- /package/dist/{src/ui → ui}/dropdown-menu.d.ts +0 -0
- /package/dist/{src/ui → ui}/input-group.d.ts +0 -0
- /package/dist/{src/ui → ui}/input.d.ts +0 -0
- /package/dist/{src/ui → ui}/label.d.ts +0 -0
- /package/dist/{src/ui → ui}/lightbox/GalleryPicker.d.ts +0 -0
- /package/dist/{src/ui → ui}/lightbox/ImageThumbnailStrip.d.ts +0 -0
- /package/dist/{src/ui → ui}/lightbox/LightboxViewer.d.ts +0 -0
- /package/dist/{src/ui → ui}/lightbox/PannableImage.d.ts +0 -0
- /package/dist/{src/ui → ui}/menubar.d.ts +0 -0
- /package/dist/{src/ui → ui}/progress.d.ts +0 -0
- /package/dist/{src/ui → ui}/resizable.d.ts +0 -0
- /package/dist/{src/ui → ui}/scroll-area.d.ts +0 -0
- /package/dist/{src/ui → ui}/select.d.ts +0 -0
- /package/dist/{src/ui → ui}/separator.d.ts +0 -0
- /package/dist/{src/ui → ui}/skeleton.d.ts +0 -0
- /package/dist/{src/ui → ui}/slider.d.ts +0 -0
- /package/dist/{src/ui → ui}/sonner.d.ts +0 -0
- /package/dist/{src/ui → ui}/spinner.d.ts +0 -0
- /package/dist/{src/ui → ui}/switch.d.ts +0 -0
- /package/dist/{src/ui → ui}/table.d.ts +0 -0
- /package/dist/{src/ui → ui}/tabs.d.ts +0 -0
- /package/dist/{src/ui → ui}/textarea.d.ts +0 -0
- /package/dist/{src/ui → ui}/tooltip.d.ts +0 -0
|
@@ -1,375 +0,0 @@
|
|
|
1
|
-
import { jsxs as f, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { useState as L, useRef as S, useEffect as U, useMemo as T } from "react";
|
|
3
|
-
import { Canvas as W, useThree as $, useFrame as G } from "@react-three/fiber";
|
|
4
|
-
import * as j from "three";
|
|
5
|
-
import { Spinner as H } from "../spinner.js";
|
|
6
|
-
import { Button as z } from "../button.js";
|
|
7
|
-
import { OrbitControls as q } from "../../node_modules/.pnpm/@react-three_drei@10.7.7_@react-three_fiber@9.4.2_@types_react@19.2.7_react-dom@19.2.3__e3b6c415d30d21deeb56f01c9fc2836f/node_modules/@react-three/drei/core/OrbitControls.js";
|
|
8
|
-
import B from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js";
|
|
9
|
-
import Q from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chart-scatter.js";
|
|
10
|
-
import X from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/eye.js";
|
|
11
|
-
import Z from "../../node_modules/.pnpm/lucide-react@0.562.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/external-link.js";
|
|
12
|
-
const N = (e) => {
|
|
13
|
-
let i = 0, l = 0, r = 0;
|
|
14
|
-
return e.umap && typeof e.umap == "object" ? (i = e.umap.x || 0, l = e.umap.y || 0, r = e.umap.z || 0) : (i = e.x || 0, l = e.y || 0, r = e.z || 0), isNaN(i) && (i = 0), isNaN(l) && (l = 0), isNaN(r) && (r = 0), [(i - 0.5) * 20, (l - 0.5) * 20, (r - 0.5) * 20];
|
|
15
|
-
}, J = ({
|
|
16
|
-
points: e,
|
|
17
|
-
onHover: i,
|
|
18
|
-
onClick: l
|
|
19
|
-
}) => {
|
|
20
|
-
const r = S(null), h = S(null), p = T(() => {
|
|
21
|
-
const a = new Float32Array(e.length * 3);
|
|
22
|
-
for (let n = 0; n < e.length; n++) {
|
|
23
|
-
const o = e[n];
|
|
24
|
-
if (!o) continue;
|
|
25
|
-
const [u, y, x] = N(o);
|
|
26
|
-
a[n * 3] = u, a[n * 3 + 1] = y, a[n * 3 + 2] = x;
|
|
27
|
-
}
|
|
28
|
-
return a;
|
|
29
|
-
}, [e]), v = T(() => {
|
|
30
|
-
const a = new Float32Array(e.length * 3), n = new j.Color();
|
|
31
|
-
for (let o = 0; o < e.length; o++) {
|
|
32
|
-
const u = e[o];
|
|
33
|
-
if (!u) continue;
|
|
34
|
-
let y = 0, x = 0, g = 0;
|
|
35
|
-
u.umap && typeof u.umap == "object" ? (y = u.umap.x || 0, x = u.umap.y || 0, g = u.umap.z || 0) : (y = u.x || 0, x = u.y || 0, g = u.z || 0), isNaN(y) && (y = 0), isNaN(x) && (x = 0), isNaN(g) && (g = 0), n.setRGB(y, x, g), a[o * 3] = n.r, a[o * 3 + 1] = n.g, a[o * 3 + 2] = n.b;
|
|
36
|
-
}
|
|
37
|
-
return a;
|
|
38
|
-
}, [e]);
|
|
39
|
-
return /* @__PURE__ */ f(
|
|
40
|
-
"points",
|
|
41
|
-
{
|
|
42
|
-
ref: r,
|
|
43
|
-
onPointerMove: (a) => {
|
|
44
|
-
a.stopPropagation();
|
|
45
|
-
const n = a.index;
|
|
46
|
-
if (n !== void 0 && n !== h.current && (h.current = n, n >= 0 && n < e.length)) {
|
|
47
|
-
const o = e[n];
|
|
48
|
-
o && i(n, o);
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
onPointerOut: (a) => {
|
|
52
|
-
h.current = null, i(null, null);
|
|
53
|
-
},
|
|
54
|
-
onClick: (a) => {
|
|
55
|
-
a.stopPropagation();
|
|
56
|
-
const n = a.index;
|
|
57
|
-
if (n !== void 0 && n >= 0 && n < e.length) {
|
|
58
|
-
const o = e[n];
|
|
59
|
-
o && l(n, o, a);
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
children: [
|
|
63
|
-
/* @__PURE__ */ f("bufferGeometry", { children: [
|
|
64
|
-
/* @__PURE__ */ t(
|
|
65
|
-
"bufferAttribute",
|
|
66
|
-
{
|
|
67
|
-
attach: "attributes-position",
|
|
68
|
-
count: p.length / 3,
|
|
69
|
-
array: p,
|
|
70
|
-
itemSize: 3,
|
|
71
|
-
args: [p, 3]
|
|
72
|
-
}
|
|
73
|
-
),
|
|
74
|
-
/* @__PURE__ */ t(
|
|
75
|
-
"bufferAttribute",
|
|
76
|
-
{
|
|
77
|
-
attach: "attributes-color",
|
|
78
|
-
count: v.length / 3,
|
|
79
|
-
array: v,
|
|
80
|
-
itemSize: 3,
|
|
81
|
-
args: [v, 3]
|
|
82
|
-
}
|
|
83
|
-
)
|
|
84
|
-
] }),
|
|
85
|
-
/* @__PURE__ */ t(
|
|
86
|
-
"pointsMaterial",
|
|
87
|
-
{
|
|
88
|
-
size: 0.15,
|
|
89
|
-
vertexColors: !0,
|
|
90
|
-
sizeAttenuation: !0,
|
|
91
|
-
transparent: !0,
|
|
92
|
-
opacity: 0.8
|
|
93
|
-
}
|
|
94
|
-
)
|
|
95
|
-
]
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
}, Y = ({ point: e }) => {
|
|
99
|
-
if (!e) return null;
|
|
100
|
-
const i = N(e);
|
|
101
|
-
return /* @__PURE__ */ f("mesh", { position: i, children: [
|
|
102
|
-
/* @__PURE__ */ t("sphereGeometry", { args: [0.15, 16, 16] }),
|
|
103
|
-
/* @__PURE__ */ t(
|
|
104
|
-
"meshStandardMaterial",
|
|
105
|
-
{
|
|
106
|
-
color: "#ff00ff",
|
|
107
|
-
emissive: "#ff00ff",
|
|
108
|
-
emissiveIntensity: 2,
|
|
109
|
-
transparent: !0,
|
|
110
|
-
opacity: 0.8
|
|
111
|
-
}
|
|
112
|
-
)
|
|
113
|
-
] });
|
|
114
|
-
}, ee = ({
|
|
115
|
-
points: e,
|
|
116
|
-
selectedIndices: i
|
|
117
|
-
}) => !e || i.length === 0 ? null : /* @__PURE__ */ t("group", { children: i.map((l) => {
|
|
118
|
-
const r = e[l];
|
|
119
|
-
if (!r) return null;
|
|
120
|
-
const h = N(r);
|
|
121
|
-
return /* @__PURE__ */ f("mesh", { position: h, children: [
|
|
122
|
-
/* @__PURE__ */ t("sphereGeometry", { args: [0.15, 16, 16] }),
|
|
123
|
-
/* @__PURE__ */ t(
|
|
124
|
-
"meshStandardMaterial",
|
|
125
|
-
{
|
|
126
|
-
color: "#00ffff",
|
|
127
|
-
emissive: "#00ffff",
|
|
128
|
-
emissiveIntensity: 2,
|
|
129
|
-
transparent: !0,
|
|
130
|
-
opacity: 0.8
|
|
131
|
-
}
|
|
132
|
-
)
|
|
133
|
-
] }, l);
|
|
134
|
-
}) }), te = ({
|
|
135
|
-
controlsRef: e,
|
|
136
|
-
targetPoint: i
|
|
137
|
-
}) => {
|
|
138
|
-
const { camera: l } = $(), [r, h] = L({}), p = S(!1);
|
|
139
|
-
return U(() => {
|
|
140
|
-
const v = (m) => h((c) => ({ ...c, [m.code]: !0 })), b = (m) => h((c) => ({ ...c, [m.code]: !1 }));
|
|
141
|
-
return window.addEventListener("keydown", v), window.addEventListener("keyup", b), () => {
|
|
142
|
-
window.removeEventListener("keydown", v), window.removeEventListener("keyup", b);
|
|
143
|
-
};
|
|
144
|
-
}, []), G((v, b) => {
|
|
145
|
-
if (!e.current) return;
|
|
146
|
-
if (i && (e.current.target.distanceTo(i) > 0.1 ? (p.current = !0, e.current.target.lerp(i, b * 5)) : p.current = !1), Object.values(r).some((c) => c)) {
|
|
147
|
-
p.current = !1;
|
|
148
|
-
const c = (r.ShiftLeft || r.ShiftRight ? 20 : 8) * b, a = new j.Vector3();
|
|
149
|
-
l.getWorldDirection(a);
|
|
150
|
-
const n = new j.Vector3();
|
|
151
|
-
n.crossVectors(a, l.up).normalize();
|
|
152
|
-
const o = new j.Vector3();
|
|
153
|
-
(r.KeyW || r.ArrowUp) && o.add(a), (r.KeyS || r.ArrowDown) && o.sub(a), (r.KeyA || r.ArrowLeft) && o.sub(n), (r.KeyD || r.ArrowRight) && o.add(n), r.KeyQ && (o.y += 1), r.KeyE && (o.y -= 1), o.lengthSq() > 0 && (o.normalize().multiplyScalar(c), l.position.add(o), e.current.target.add(o));
|
|
154
|
-
}
|
|
155
|
-
}), null;
|
|
156
|
-
}, fe = ({
|
|
157
|
-
points: e = [],
|
|
158
|
-
isLoading: i = !1,
|
|
159
|
-
error: l = null,
|
|
160
|
-
onPointSelect: r,
|
|
161
|
-
getImageUrl: h,
|
|
162
|
-
className: p
|
|
163
|
-
}) => {
|
|
164
|
-
const [v, b] = L(null), [m, c] = L([]), [a, n] = L(null), o = S(null), u = (s, d = "thumb") => h ? h(s, d) : d === "thumb" ? s.thumb_url ? s.thumb_url : s.thumb_path?.startsWith("http") ? s.thumb_path : s.rel_path ? `/static/images/posts/thumb_${s.rel_path}` : "" : s.image_url ? s.image_url : s.rel_path ? `/static/images/posts/${s.rel_path}` : "", y = (s, d, w) => {
|
|
165
|
-
if (w && (w.ctrlKey || w.metaKey)) {
|
|
166
|
-
const [_, A, D] = N(d), E = new j.Vector3(_, A, D);
|
|
167
|
-
n(E), c([s]), r && r(d);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
c([s]), r && r(d);
|
|
171
|
-
}, x = (s, d = 50) => {
|
|
172
|
-
if (!e) return;
|
|
173
|
-
const w = e[s];
|
|
174
|
-
if (!w) return;
|
|
175
|
-
const [_, A, D] = N(w), E = e.map((C, K) => {
|
|
176
|
-
const [O, V, F] = N(C), P = O - _, M = V - A, I = F - D;
|
|
177
|
-
return { i: K, d: P * P + M * M + I * I };
|
|
178
|
-
});
|
|
179
|
-
E.sort((C, K) => C.d - K.d);
|
|
180
|
-
const R = E.slice(0, d).map((C) => C.i);
|
|
181
|
-
c(R);
|
|
182
|
-
};
|
|
183
|
-
if (i)
|
|
184
|
-
return /* @__PURE__ */ f("div", { className: "h-full w-full flex items-center justify-center flex-col gap-4", children: [
|
|
185
|
-
/* @__PURE__ */ t(H, { className: "w-8 h-8 text-primary" }),
|
|
186
|
-
/* @__PURE__ */ t("p", { className: "text-muted-foreground animate-pulse", children: "Loading 3D Point Cloud..." })
|
|
187
|
-
] });
|
|
188
|
-
if (l)
|
|
189
|
-
return /* @__PURE__ */ f("div", { className: "h-full w-full flex items-center justify-center text-destructive", children: [
|
|
190
|
-
"Error loading 3D data: ",
|
|
191
|
-
l.message
|
|
192
|
-
] });
|
|
193
|
-
if (!e || e.length === 0)
|
|
194
|
-
return /* @__PURE__ */ t("div", { className: "h-full w-full flex items-center justify-center text-muted-foreground", children: "No 3D data found." });
|
|
195
|
-
const g = m.length === 1 ? m[0] : void 0, k = g !== void 0 ? e[g] : void 0;
|
|
196
|
-
return /* @__PURE__ */ f(
|
|
197
|
-
"div",
|
|
198
|
-
{
|
|
199
|
-
className: `w-full h-full flex flex-col bg-card relative overflow-hidden ${p || ""}`,
|
|
200
|
-
children: [
|
|
201
|
-
/* @__PURE__ */ f(
|
|
202
|
-
W,
|
|
203
|
-
{
|
|
204
|
-
camera: { position: [0, 0, 15], fov: 60 },
|
|
205
|
-
raycaster: { params: { Points: { threshold: 0.15 } } },
|
|
206
|
-
children: [
|
|
207
|
-
/* @__PURE__ */ t("fog", { attach: "fog", args: ["#050505", 10, 70] }),
|
|
208
|
-
/* @__PURE__ */ t("ambientLight", { intensity: 0.5 }),
|
|
209
|
-
/* @__PURE__ */ t("pointLight", { position: [10, 10, 10] }),
|
|
210
|
-
/* @__PURE__ */ t(
|
|
211
|
-
q,
|
|
212
|
-
{
|
|
213
|
-
ref: o,
|
|
214
|
-
enableDamping: !0,
|
|
215
|
-
dampingFactor: 0.1,
|
|
216
|
-
rotateSpeed: 0.5,
|
|
217
|
-
zoomSpeed: 0.8,
|
|
218
|
-
minDistance: 1,
|
|
219
|
-
maxDistance: 30
|
|
220
|
-
}
|
|
221
|
-
),
|
|
222
|
-
/* @__PURE__ */ t(
|
|
223
|
-
te,
|
|
224
|
-
{
|
|
225
|
-
controlsRef: o,
|
|
226
|
-
targetPoint: a
|
|
227
|
-
}
|
|
228
|
-
),
|
|
229
|
-
/* @__PURE__ */ t(
|
|
230
|
-
J,
|
|
231
|
-
{
|
|
232
|
-
points: e,
|
|
233
|
-
onHover: (s, d) => b(d),
|
|
234
|
-
onClick: y
|
|
235
|
-
}
|
|
236
|
-
),
|
|
237
|
-
/* @__PURE__ */ t(Y, { point: v }),
|
|
238
|
-
/* @__PURE__ */ t(ee, { points: e, selectedIndices: m })
|
|
239
|
-
]
|
|
240
|
-
}
|
|
241
|
-
),
|
|
242
|
-
/* @__PURE__ */ t("div", { className: "absolute top-4 left-4 pointer-events-none", children: /* @__PURE__ */ f("div", { className: "bg-black/50 backdrop-blur text-white px-3 py-1 text-xs border border-white/10", children: [
|
|
243
|
-
e.length.toLocaleString(),
|
|
244
|
-
" points"
|
|
245
|
-
] }) }),
|
|
246
|
-
k && g !== void 0 && /* @__PURE__ */ f("div", { className: "absolute bottom-4 left-4 z-10 ring-2 ring-foreground/10 overflow-hidden shadow-lg max-w-sm", children: [
|
|
247
|
-
/* @__PURE__ */ f(
|
|
248
|
-
"div",
|
|
249
|
-
{
|
|
250
|
-
className: "bg-card cursor-pointer relative ring-1 ring-foreground/10 hover:ring-2 ",
|
|
251
|
-
onClick: () => {
|
|
252
|
-
r && r(k);
|
|
253
|
-
},
|
|
254
|
-
children: [
|
|
255
|
-
/* @__PURE__ */ t(
|
|
256
|
-
"img",
|
|
257
|
-
{
|
|
258
|
-
src: u(k, "thumb"),
|
|
259
|
-
alt: `Point ${g}`,
|
|
260
|
-
className: "w-full h-64 object-contain bg-black/20"
|
|
261
|
-
}
|
|
262
|
-
),
|
|
263
|
-
/* @__PURE__ */ t(
|
|
264
|
-
z,
|
|
265
|
-
{
|
|
266
|
-
onClick: (s) => {
|
|
267
|
-
s.stopPropagation(), c([]);
|
|
268
|
-
},
|
|
269
|
-
variant: "ghost",
|
|
270
|
-
size: "icon",
|
|
271
|
-
className: "absolute top-2 right-2 w-8 h-8 bg-black/50 hover:bg-black/70 text-white flex items-center justify-center backdrop-blur-sm",
|
|
272
|
-
children: /* @__PURE__ */ t(B, { className: "w-4 h-4" })
|
|
273
|
-
}
|
|
274
|
-
),
|
|
275
|
-
/* @__PURE__ */ t(
|
|
276
|
-
z,
|
|
277
|
-
{
|
|
278
|
-
onClick: (s) => {
|
|
279
|
-
s.stopPropagation(), x(g);
|
|
280
|
-
},
|
|
281
|
-
variant: "ghost",
|
|
282
|
-
size: "sm",
|
|
283
|
-
className: "absolute top-2 left-2 h-8 px-2 bg-black/50 hover:bg-black/70 text-white text-xs flex items-center justify-center backdrop-blur-sm",
|
|
284
|
-
title: "Select 50 nearest neighbors",
|
|
285
|
-
children: /* @__PURE__ */ t(Q, { className: "w-4 h-4 mr-1" })
|
|
286
|
-
}
|
|
287
|
-
)
|
|
288
|
-
]
|
|
289
|
-
}
|
|
290
|
-
),
|
|
291
|
-
/* @__PURE__ */ t("div", { className: "absolute bottom-2 left-2 px-4 py-3 w-fit", children: /* @__PURE__ */ f("div", { className: "mt-2 flex flex-row gap-1 absolute bottom-0 left-0 p-1 ", children: [
|
|
292
|
-
/* @__PURE__ */ t(
|
|
293
|
-
z,
|
|
294
|
-
{
|
|
295
|
-
variant: "ghost",
|
|
296
|
-
className: "w-8 h-8 z-50 bg-black/50 hover:bg-black/70 p-2 text-white flex items-center justify-center backdrop-blur-sm",
|
|
297
|
-
style: {
|
|
298
|
-
padding: 0,
|
|
299
|
-
border: "none",
|
|
300
|
-
cursor: "pointer"
|
|
301
|
-
},
|
|
302
|
-
onClick: () => {
|
|
303
|
-
r && r(k);
|
|
304
|
-
},
|
|
305
|
-
children: /* @__PURE__ */ t(X, { className: "w-5" })
|
|
306
|
-
}
|
|
307
|
-
),
|
|
308
|
-
/* @__PURE__ */ t(z, { variant: "ghost", asChild: !0, children: /* @__PURE__ */ t(
|
|
309
|
-
"a",
|
|
310
|
-
{
|
|
311
|
-
href: u(k, "full"),
|
|
312
|
-
target: "_blank",
|
|
313
|
-
rel: "noopener noreferrer",
|
|
314
|
-
className: "w-8 h-8 bg-black/50 hover:bg-black/70 text-white flex items-center justify-center backdrop-blur-sm",
|
|
315
|
-
style: {
|
|
316
|
-
padding: 0,
|
|
317
|
-
border: "none",
|
|
318
|
-
cursor: "pointer"
|
|
319
|
-
},
|
|
320
|
-
children: /* @__PURE__ */ t(Z, { className: "w-5" })
|
|
321
|
-
}
|
|
322
|
-
) })
|
|
323
|
-
] }) })
|
|
324
|
-
] }),
|
|
325
|
-
m.length > 1 && e && /* @__PURE__ */ f("div", { className: "absolute bottom-4 left-4 z-10 bg-card border border-border overflow-hidden shadow-lg w-96 max-h-[50vh] flex flex-col", children: [
|
|
326
|
-
/* @__PURE__ */ f("div", { className: "p-2 bg-muted border-b border-border flex items-center justify-between", children: [
|
|
327
|
-
/* @__PURE__ */ f("span", { className: "text-sm font-medium", children: [
|
|
328
|
-
m.length,
|
|
329
|
-
" selected"
|
|
330
|
-
] }),
|
|
331
|
-
/* @__PURE__ */ t(
|
|
332
|
-
z,
|
|
333
|
-
{
|
|
334
|
-
onClick: () => c([]),
|
|
335
|
-
variant: "ghost",
|
|
336
|
-
size: "sm",
|
|
337
|
-
className: "text-xs py-0! my-0! text-muted-foreground hover:text-foreground",
|
|
338
|
-
children: "Clear"
|
|
339
|
-
}
|
|
340
|
-
)
|
|
341
|
-
] }),
|
|
342
|
-
/* @__PURE__ */ t("div", { className: "p-2 overflow-y-auto grid grid-cols-4 gap-2", children: m.slice(0, 100).map((s) => {
|
|
343
|
-
const d = e[s];
|
|
344
|
-
return d ? /* @__PURE__ */ t(
|
|
345
|
-
"div",
|
|
346
|
-
{
|
|
347
|
-
className: "aspect-square relative group cursor-pointer ring-1 ring-border hover:ring-primary/20 hover:ring-2",
|
|
348
|
-
onClick: () => {
|
|
349
|
-
c([s]), r && r(d);
|
|
350
|
-
},
|
|
351
|
-
onMouseEnter: () => b(d),
|
|
352
|
-
onMouseLeave: () => b(null),
|
|
353
|
-
children: /* @__PURE__ */ t(
|
|
354
|
-
"img",
|
|
355
|
-
{
|
|
356
|
-
src: u(d, "thumb"),
|
|
357
|
-
alt: "",
|
|
358
|
-
className: "w-full h-full object-cover",
|
|
359
|
-
loading: "lazy"
|
|
360
|
-
}
|
|
361
|
-
)
|
|
362
|
-
},
|
|
363
|
-
s
|
|
364
|
-
) : null;
|
|
365
|
-
}) })
|
|
366
|
-
] }),
|
|
367
|
-
/* @__PURE__ */ t("div", { className: "absolute bottom-4 right-4 pointer-events-none max-w-sm text-right", children: /* @__PURE__ */ t("div", { className: "text-white/50 text-[10px] bg-black/50 backdrop-blur px-2 py-1 border border-white/10", children: "Left Click: Select • Ctrl+Click: Center & Select • Right Click: Pan • Scroll: Zoom • WASD/QE: Move" }) })
|
|
368
|
-
]
|
|
369
|
-
}
|
|
370
|
-
);
|
|
371
|
-
};
|
|
372
|
-
export {
|
|
373
|
-
fe as Umap3DExplorer
|
|
374
|
-
};
|
|
375
|
-
//# sourceMappingURL=Umap3DExplorer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Umap3DExplorer.js","sources":["../../../src/ui/explorers/Umap3DExplorer.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n Canvas,\n \n useFrame,\n useThree\n} from \"@react-three/fiber\";\nimport { OrbitControls } from \"@react-three/drei\";\nimport * as THREE from \"three\";\nimport { ExternalLinkIcon, EyeIcon, ScatterChart, X } from \"lucide-react\";\nimport { Spinner } from \"../spinner\";\nimport { Button } from \"../button\";\nimport type {ThreeEvent} from \"@react-three/fiber\";\nimport type { Explorer3DProps, Point3D } from \"./types\";\n\nexport type { Point3D, Explorer3DProps } from \"./types\";\n\n// Helper to extract coordinates safely\nconst getCoordinates = (point: Point3D): [number, number, number] => {\n let x = 0,\n y = 0,\n z = 0;\n // Check for nested umap coordinates first\n if (point.umap && typeof point.umap === \"object\") {\n x = (point.umap).x || 0;\n y = (point.umap).y || 0;\n z = (point.umap).z || 0;\n } else {\n x = point.x || 0;\n y = point.y || 0;\n z = point.z || 0;\n }\n\n if (isNaN(x)) x = 0;\n if (isNaN(y)) y = 0;\n if (isNaN(z)) z = 0;\n\n // Scale up the coordinates to make the cloud larger\n return [(x - 0.5) * 20, (y - 0.5) * 20, (z - 0.5) * 20];\n};\n\nconst PointCloud = ({\n points,\n onHover,\n onClick,\n}: {\n points: Array<Point3D>;\n onHover: (index: number | null, point: Point3D | null) => void;\n onClick: (\n index: number,\n point: Point3D,\n event: ThreeEvent<MouseEvent>\n ) => void;\n}) => {\n const meshRef = useRef<THREE.Points>(null);\n const hoverRef = useRef<number | null>(null);\n\n // Convert points to Float32Array for BufferGeometry\n const positions = useMemo(() => {\n const pos = new Float32Array(points.length * 3);\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n if (!p) continue;\n const [x, y, z] = getCoordinates(p);\n pos[i * 3] = x;\n pos[i * 3 + 1] = y;\n pos[i * 3 + 2] = z;\n }\n return pos;\n }, [points]);\n\n const colors = useMemo(() => {\n const cols = new Float32Array(points.length * 3);\n const color = new THREE.Color();\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n if (!p) continue;\n let x = 0,\n y = 0,\n z = 0;\n if (p.umap && typeof p.umap === \"object\") {\n x = (p.umap).x || 0;\n y = (p.umap).y || 0;\n z = (p.umap).z || 0;\n } else {\n x = p.x || 0;\n y = p.y || 0;\n z = p.z || 0;\n }\n\n if (isNaN(x)) x = 0;\n if (isNaN(y)) y = 0;\n if (isNaN(z)) z = 0;\n\n // Map position to color\n color.setRGB(x, y, z);\n cols[i * 3] = color.r;\n cols[i * 3 + 1] = color.g;\n cols[i * 3 + 2] = color.b;\n }\n return cols;\n }, [points]);\n\n const handlePointerMove = (e: ThreeEvent<PointerEvent>) => {\n e.stopPropagation();\n const index = e.index;\n if (index !== undefined && index !== hoverRef.current) {\n hoverRef.current = index;\n if (index >= 0 && index < points.length) {\n const p = points[index];\n if (p) onHover(index, p);\n }\n }\n };\n\n const handlePointerOut = (e: ThreeEvent<PointerEvent>) => {\n hoverRef.current = null;\n onHover(null, null);\n };\n\n const handleClick = (e: ThreeEvent<MouseEvent>) => {\n e.stopPropagation();\n const index = e.index;\n if (index !== undefined && index >= 0 && index < points.length) {\n const p = points[index];\n if (p) onClick(index, p, e);\n }\n };\n\n return (\n <points\n ref={meshRef}\n onPointerMove={handlePointerMove}\n onPointerOut={handlePointerOut}\n onClick={handleClick}\n >\n <bufferGeometry>\n <bufferAttribute\n attach=\"attributes-position\"\n count={positions.length / 3}\n array={positions}\n itemSize={3}\n args={[positions, 3]}\n />\n <bufferAttribute\n attach=\"attributes-color\"\n count={colors.length / 3}\n array={colors}\n itemSize={3}\n args={[colors, 3]}\n />\n </bufferGeometry>\n <pointsMaterial\n size={0.15}\n vertexColors\n sizeAttenuation\n transparent\n opacity={0.8}\n />\n </points>\n );\n};\n\nconst HighlightPoint = ({ point }: { point: Point3D | null }) => {\n if (!point) return null;\n const pos = getCoordinates(point);\n\n return (\n <mesh position={pos}>\n <sphereGeometry args={[0.15, 16, 16]} />\n <meshStandardMaterial\n color=\"#ff00ff\"\n emissive=\"#ff00ff\"\n emissiveIntensity={2}\n transparent\n opacity={0.8}\n />\n </mesh>\n );\n};\n\nconst SelectedPoints = ({\n points,\n selectedIndices,\n}: {\n points: Array<Point3D>;\n selectedIndices: Array<number>;\n}) => {\n if (!points || selectedIndices.length === 0) return null;\n\n return (\n <group>\n {selectedIndices.map((idx) => {\n const point = points[idx];\n if (!point) return null;\n const pos = getCoordinates(point);\n\n return (\n <mesh key={idx} position={pos}>\n <sphereGeometry args={[0.15, 16, 16]} />\n <meshStandardMaterial\n color=\"#00ffff\"\n emissive=\"#00ffff\"\n emissiveIntensity={2}\n transparent\n opacity={0.8}\n />\n </mesh>\n );\n })}\n </group>\n );\n};\n\nconst CameraController = ({\n controlsRef,\n targetPoint,\n}: {\n controlsRef: React.RefObject<any>;\n targetPoint: THREE.Vector3 | null;\n}) => {\n const { camera } = useThree();\n const [keys, setKeys] = useState<Record<string, boolean>>({});\n const isAnimating = useRef(false);\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) =>\n setKeys((k) => ({ ...k, [e.code]: true }));\n const handleKeyUp = (e: KeyboardEvent) =>\n setKeys((k) => ({ ...k, [e.code]: false }));\n window.addEventListener(\"keydown\", handleKeyDown);\n window.addEventListener(\"keyup\", handleKeyUp);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n window.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, []);\n\n useFrame((state, delta) => {\n if (!controlsRef.current) return;\n\n // Handle animation to target\n if (targetPoint) {\n const currentTarget = controlsRef.current.target;\n const dist = currentTarget.distanceTo(targetPoint);\n\n if (dist > 0.1) {\n isAnimating.current = true;\n // Smoothly interpolate target\n controlsRef.current.target.lerp(targetPoint, delta * 5);\n } else {\n isAnimating.current = false;\n }\n }\n\n // Manual controls override animation if keys are pressed\n const hasInput = Object.values(keys).some((k) => k);\n if (hasInput) {\n isAnimating.current = false;\n const speed = (keys[\"ShiftLeft\"] || keys[\"ShiftRight\"] ? 20 : 8) * delta;\n const forward = new THREE.Vector3();\n camera.getWorldDirection(forward);\n\n const right = new THREE.Vector3();\n right.crossVectors(forward, camera.up).normalize();\n\n const move = new THREE.Vector3();\n\n if (keys[\"KeyW\"] || keys[\"ArrowUp\"]) move.add(forward);\n if (keys[\"KeyS\"] || keys[\"ArrowDown\"]) move.sub(forward);\n if (keys[\"KeyA\"] || keys[\"ArrowLeft\"]) move.sub(right);\n if (keys[\"KeyD\"] || keys[\"ArrowRight\"]) move.add(right);\n\n // Q/E for vertical movement\n if (keys[\"KeyQ\"]) move.y += 1;\n if (keys[\"KeyE\"]) move.y -= 1;\n\n if (move.lengthSq() > 0) {\n move.normalize().multiplyScalar(speed);\n camera.position.add(move);\n controlsRef.current.target.add(move);\n }\n }\n });\n\n return null;\n};\n\nexport const Umap3DExplorer = ({\n points = [],\n isLoading = false,\n error = null,\n onPointSelect,\n getImageUrl: customGetImageUrl,\n className,\n}: Explorer3DProps) => {\n const [hoveredPoint, setHoveredPoint] = useState<Point3D | null>(null);\n const [selectedIndices, setSelectedIndices] = useState<Array<number>>([]);\n const [cameraTarget, setCameraTarget] = useState<THREE.Vector3 | null>(null);\n const controlsRef = useRef<any>(null);\n\n const getImageUrl = (point: Point3D, type: \"thumb\" | \"full\" = \"thumb\") => {\n if (customGetImageUrl) return customGetImageUrl(point, type);\n\n // Fallback default behavior\n if (type === \"thumb\") {\n if (point.thumb_url) return point.thumb_url;\n if (point.thumb_path?.startsWith(\"http\")) return point.thumb_path;\n return point.rel_path\n ? `/static/images/posts/thumb_${point.rel_path}`\n : \"\";\n } else {\n if (point.image_url) return point.image_url;\n return point.rel_path ? `/static/images/posts/${point.rel_path}` : \"\";\n }\n };\n\n const handlePointClick = (\n index: number,\n point: Point3D,\n event?: ThreeEvent<MouseEvent>\n ) => {\n // If Ctrl/Cmd click, center camera\n if (event && (event.ctrlKey || event.metaKey)) {\n const [x, y, z] = getCoordinates(point);\n const target = new THREE.Vector3(x, y, z);\n setCameraTarget(target);\n // Also select it\n setSelectedIndices([index]);\n if (onPointSelect) onPointSelect(point);\n return;\n }\n\n // Normal click: Select point\n setSelectedIndices([index]);\n if (onPointSelect) onPointSelect(point);\n };\n\n const selectNearest = (index: number, count: number = 50) => {\n if (!points) return;\n const origin = points[index];\n if (!origin) return;\n\n const [ox, oy, oz] = getCoordinates(origin);\n\n // Calculate all distances\n const distances = points.map((p: Point3D, i: number) => {\n const [px, py, pz] = getCoordinates(p);\n const dx = px - ox;\n const dy = py - oy;\n const dz = pz - oz;\n return { i, d: dx * dx + dy * dy + dz * dz }; // Squared dist is enough for sorting\n });\n distances.sort((a: any, b: any) => a.d - b.d);\n const nearest = distances.slice(0, count).map((d: any) => d.i);\n setSelectedIndices(nearest);\n };\n\n if (isLoading) {\n return (\n <div className=\"h-full w-full flex items-center justify-center flex-col gap-4\">\n <Spinner className=\"w-8 h-8 text-primary\" />\n <p className=\"text-muted-foreground animate-pulse\">\n Loading 3D Point Cloud...\n </p>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className=\"h-full w-full flex items-center justify-center text-destructive\">\n Error loading 3D data: {(error).message}\n </div>\n );\n }\n\n if (!points || points.length === 0) {\n return (\n <div className=\"h-full w-full flex items-center justify-center text-muted-foreground\">\n No 3D data found.\n </div>\n );\n }\n\n const selectedIndex =\n selectedIndices.length === 1 ? selectedIndices[0] : undefined;\n const selectedPoint =\n selectedIndex !== undefined ? points[selectedIndex] : undefined;\n\n return (\n <div\n className={`w-full h-full flex flex-col bg-card relative overflow-hidden ${\n className || \"\"\n }`}\n >\n <Canvas\n camera={{ position: [0, 0, 15], fov: 60 }}\n raycaster={{ params: { Points: { threshold: 0.15 } } as any }}\n >\n <fog attach=\"fog\" args={[\"#050505\", 10, 70]} />\n\n <ambientLight intensity={0.5} />\n <pointLight position={[10, 10, 10]} />\n\n <OrbitControls\n ref={controlsRef}\n enableDamping\n dampingFactor={0.1}\n rotateSpeed={0.5}\n zoomSpeed={0.8}\n minDistance={1}\n maxDistance={30}\n />\n\n <CameraController\n controlsRef={controlsRef}\n targetPoint={cameraTarget}\n />\n\n <PointCloud\n points={points}\n onHover={(_, point) => setHoveredPoint(point)}\n onClick={handlePointClick}\n />\n\n <HighlightPoint point={hoveredPoint} />\n <SelectedPoints points={points} selectedIndices={selectedIndices} />\n </Canvas>\n\n <div className=\"absolute top-4 left-4 pointer-events-none\">\n <div className=\"bg-black/50 backdrop-blur text-white px-3 py-1 text-xs border border-white/10\">\n {points.length.toLocaleString()} points\n </div>\n </div>\n\n {/* Selected info with full image (Bottom Left) */}\n {selectedPoint && selectedIndex !== undefined && (\n <div className=\"absolute bottom-4 left-4 z-10 ring-2 ring-foreground/10 overflow-hidden shadow-lg max-w-sm\">\n <div\n className=\"bg-card cursor-pointer relative ring-1 ring-foreground/10 hover:ring-2 \"\n onClick={() => {\n if (onPointSelect) onPointSelect(selectedPoint);\n }}\n >\n <img\n src={getImageUrl(selectedPoint, \"thumb\")}\n alt={`Point ${selectedIndex}`}\n className=\"w-full h-64 object-contain bg-black/20\"\n />\n <Button\n onClick={(e) => {\n e.stopPropagation();\n setSelectedIndices([]);\n }}\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute top-2 right-2 w-8 h-8 bg-black/50 hover:bg-black/70 text-white flex items-center justify-center backdrop-blur-sm\"\n >\n <X className=\"w-4 h-4\" />\n </Button>\n <Button\n onClick={(e) => {\n e.stopPropagation();\n selectNearest(selectedIndex);\n }}\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2 left-2 h-8 px-2 bg-black/50 hover:bg-black/70 text-white text-xs flex items-center justify-center backdrop-blur-sm\"\n title=\"Select 50 nearest neighbors\"\n >\n <ScatterChart className=\"w-4 h-4 mr-1\" />\n </Button>\n </div>\n <div className=\"absolute bottom-2 left-2 px-4 py-3 w-fit\">\n <div className=\"mt-2 flex flex-row gap-1 absolute bottom-0 left-0 p-1 \">\n <Button\n variant=\"ghost\"\n className=\"w-8 h-8 z-50 bg-black/50 hover:bg-black/70 p-2 text-white flex items-center justify-center backdrop-blur-sm\"\n style={{\n padding: 0,\n border: \"none\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n if (onPointSelect) onPointSelect(selectedPoint);\n }}\n >\n <EyeIcon className=\"w-5\" />\n </Button>\n <Button variant=\"ghost\" asChild>\n <a\n href={getImageUrl(selectedPoint, \"full\")}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"w-8 h-8 bg-black/50 hover:bg-black/70 text-white flex items-center justify-center backdrop-blur-sm\"\n style={{\n padding: 0,\n border: \"none\",\n cursor: \"pointer\",\n }}\n >\n <ExternalLinkIcon className=\"w-5\" />\n </a>\n </Button>\n </div>\n </div>\n </div>\n )}\n\n {/* Multi-selection Grid (Bottom Left) */}\n {selectedIndices.length > 1 && points && (\n <div className=\"absolute bottom-4 left-4 z-10 bg-card border border-border overflow-hidden shadow-lg w-96 max-h-[50vh] flex flex-col\">\n <div className=\"p-2 bg-muted border-b border-border flex items-center justify-between\">\n <span className=\"text-sm font-medium\">\n {selectedIndices.length} selected\n </span>\n <Button\n onClick={() => setSelectedIndices([])}\n variant=\"ghost\"\n size=\"sm\"\n className=\"text-xs py-0! my-0! text-muted-foreground hover:text-foreground\"\n >\n Clear\n </Button>\n </div>\n <div className=\"p-2 overflow-y-auto grid grid-cols-4 gap-2\">\n {selectedIndices.slice(0, 100).map((idx) => {\n const point = points[idx];\n if (!point) return null;\n return (\n <div\n key={idx}\n className=\"aspect-square relative group cursor-pointer ring-1 ring-border hover:ring-primary/20 hover:ring-2\"\n onClick={() => {\n setSelectedIndices([idx]);\n if (onPointSelect) onPointSelect(point);\n }}\n onMouseEnter={() => setHoveredPoint(point)}\n onMouseLeave={() => setHoveredPoint(null)}\n >\n <img\n src={getImageUrl(point, \"thumb\")}\n alt=\"\"\n className=\"w-full h-full object-cover\"\n loading=\"lazy\"\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n <div className=\"absolute bottom-4 right-4 pointer-events-none max-w-sm text-right\">\n <div className=\"text-white/50 text-[10px] bg-black/50 backdrop-blur px-2 py-1 border border-white/10\">\n Left Click: Select • Ctrl+Click: Center & Select • Right Click: Pan •\n Scroll: Zoom • WASD/QE: Move\n </div>\n </div>\n </div>\n );\n};\n"],"names":["getCoordinates","point","x","y","z","PointCloud","points","onHover","onClick","meshRef","useRef","hoverRef","positions","useMemo","pos","i","p","colors","cols","color","THREE","jsxs","e","index","jsx","HighlightPoint","SelectedPoints","selectedIndices","idx","CameraController","controlsRef","targetPoint","camera","useThree","keys","setKeys","useState","isAnimating","useEffect","handleKeyDown","k","handleKeyUp","useFrame","state","delta","speed","forward","right","move","Umap3DExplorer","isLoading","error","onPointSelect","customGetImageUrl","className","hoveredPoint","setHoveredPoint","setSelectedIndices","cameraTarget","setCameraTarget","getImageUrl","type","handlePointClick","event","target","selectNearest","count","origin","ox","oy","oz","distances","px","py","pz","dx","dy","dz","a","b","nearest","d","Spinner","selectedIndex","selectedPoint","Canvas","OrbitControls","_","Button","X","ScatterChart","EyeIcon","ExternalLinkIcon"],"mappings":";;;;;;;;;;;AAkBA,MAAMA,IAAiB,CAACC,MAA6C;AACnE,MAAIC,IAAI,GACNC,IAAI,GACJC,IAAI;AAEN,SAAIH,EAAM,QAAQ,OAAOA,EAAM,QAAS,YACtCC,IAAKD,EAAM,KAAM,KAAK,GACtBE,IAAKF,EAAM,KAAM,KAAK,GACtBG,IAAKH,EAAM,KAAM,KAAK,MAEtBC,IAAID,EAAM,KAAK,GACfE,IAAIF,EAAM,KAAK,GACfG,IAAIH,EAAM,KAAK,IAGb,MAAMC,CAAC,MAAGA,IAAI,IACd,MAAMC,CAAC,MAAGA,IAAI,IACd,MAAMC,CAAC,MAAGA,IAAI,IAGX,EAAEF,IAAI,OAAO,KAAKC,IAAI,OAAO,KAAKC,IAAI,OAAO,EAAE;AACxD,GAEMC,IAAa,CAAC;AAAA,EAClB,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AACF,MAQM;AACJ,QAAMC,IAAUC,EAAqB,IAAI,GACnCC,IAAWD,EAAsB,IAAI,GAGrCE,IAAYC,EAAQ,MAAM;AAC9B,UAAMC,IAAM,IAAI,aAAaR,EAAO,SAAS,CAAC;AAC9C,aAASS,IAAI,GAAGA,IAAIT,EAAO,QAAQS,KAAK;AACtC,YAAMC,IAAIV,EAAOS,CAAC;AAClB,UAAI,CAACC,EAAG;AACR,YAAM,CAACd,GAAG,GAAGE,CAAC,IAAIJ,EAAegB,CAAC;AAClC,MAAAF,EAAIC,IAAI,CAAC,IAAIb,GACbY,EAAIC,IAAI,IAAI,CAAC,IAAI,GACjBD,EAAIC,IAAI,IAAI,CAAC,IAAIX;AAAA,IACnB;AACA,WAAOU;AAAA,EACT,GAAG,CAACR,CAAM,CAAC,GAELW,IAASJ,EAAQ,MAAM;AAC3B,UAAMK,IAAO,IAAI,aAAaZ,EAAO,SAAS,CAAC,GACzCa,IAAQ,IAAIC,EAAM,MAAA;AACxB,aAASL,IAAI,GAAGA,IAAIT,EAAO,QAAQS,KAAK;AACtC,YAAMC,IAAIV,EAAOS,CAAC;AAClB,UAAI,CAACC,EAAG;AACR,UAAId,IAAI,GACNC,IAAI,GACJC,IAAI;AACN,MAAIY,EAAE,QAAQ,OAAOA,EAAE,QAAS,YAC9Bd,IAAKc,EAAE,KAAM,KAAK,GAClBb,IAAKa,EAAE,KAAM,KAAK,GAClBZ,IAAKY,EAAE,KAAM,KAAK,MAElBd,IAAIc,EAAE,KAAK,GACXb,IAAIa,EAAE,KAAK,GACXZ,IAAIY,EAAE,KAAK,IAGT,MAAMd,CAAC,MAAGA,IAAI,IACd,MAAMC,CAAC,MAAGA,IAAI,IACd,MAAMC,CAAC,MAAGA,IAAI,IAGlBe,EAAM,OAAOjB,GAAGC,GAAGC,CAAC,GACpBc,EAAKH,IAAI,CAAC,IAAII,EAAM,GACpBD,EAAKH,IAAI,IAAI,CAAC,IAAII,EAAM,GACxBD,EAAKH,IAAI,IAAI,CAAC,IAAII,EAAM;AAAA,IAC1B;AACA,WAAOD;AAAA,EACT,GAAG,CAACZ,CAAM,CAAC;AA4BX,SACE,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKZ;AAAA,MACL,eA7BsB,CAACa,MAAgC;AACzD,QAAAA,EAAE,gBAAA;AACF,cAAMC,IAAQD,EAAE;AAChB,YAAIC,MAAU,UAAaA,MAAUZ,EAAS,YAC5CA,EAAS,UAAUY,GACfA,KAAS,KAAKA,IAAQjB,EAAO,SAAQ;AACvC,gBAAMU,IAAIV,EAAOiB,CAAK;AACtB,UAAIP,KAAGT,EAAQgB,GAAOP,CAAC;AAAA,QACzB;AAAA,MAEJ;AAAA,MAoBI,cAlBqB,CAACM,MAAgC;AACxD,QAAAX,EAAS,UAAU,MACnBJ,EAAQ,MAAM,IAAI;AAAA,MACpB;AAAA,MAgBI,SAdgB,CAACe,MAA8B;AACjD,QAAAA,EAAE,gBAAA;AACF,cAAMC,IAAQD,EAAE;AAChB,YAAIC,MAAU,UAAaA,KAAS,KAAKA,IAAQjB,EAAO,QAAQ;AAC9D,gBAAMU,IAAIV,EAAOiB,CAAK;AACtB,UAAIP,KAAGR,EAAQe,GAAOP,GAAGM,CAAC;AAAA,QAC5B;AAAA,MACF;AAAA,MASI,UAAA;AAAA,QAAA,gBAAAD,EAAC,kBAAA,EACC,UAAA;AAAA,UAAA,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,OAAOZ,EAAU,SAAS;AAAA,cAC1B,OAAOA;AAAA,cACP,UAAU;AAAA,cACV,MAAM,CAACA,GAAW,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,UAErB,gBAAAY;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,OAAOP,EAAO,SAAS;AAAA,cACvB,OAAOA;AAAA,cACP,UAAU;AAAA,cACV,MAAM,CAACA,GAAQ,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAClB,GACF;AAAA,QACA,gBAAAO;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN,cAAY;AAAA,YACZ,iBAAe;AAAA,YACf,aAAW;AAAA,YACX,SAAS;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAAA;AAGN,GAEMC,IAAiB,CAAC,EAAE,OAAAxB,QAAuC;AAC/D,MAAI,CAACA,EAAO,QAAO;AACnB,QAAMa,IAAMd,EAAeC,CAAK;AAEhC,SACE,gBAAAoB,EAAC,QAAA,EAAK,UAAUP,GACd,UAAA;AAAA,IAAA,gBAAAU,EAAC,oBAAe,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG;AAAA,IACtC,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,UAAS;AAAA,QACT,mBAAmB;AAAA,QACnB,aAAW;AAAA,QACX,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,GACF;AAEJ,GAEME,KAAiB,CAAC;AAAA,EACtB,QAAApB;AAAA,EACA,iBAAAqB;AACF,MAIM,CAACrB,KAAUqB,EAAgB,WAAW,IAAU,OAGlD,gBAAAH,EAAC,SAAA,EACE,UAAAG,EAAgB,IAAI,CAACC,MAAQ;AAC5B,QAAM3B,IAAQK,EAAOsB,CAAG;AACxB,MAAI,CAAC3B,EAAO,QAAO;AACnB,QAAMa,IAAMd,EAAeC,CAAK;AAEhC,SACE,gBAAAoB,EAAC,QAAA,EAAe,UAAUP,GACxB,UAAA;AAAA,IAAA,gBAAAU,EAAC,oBAAe,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG;AAAA,IACtC,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,UAAS;AAAA,QACT,mBAAmB;AAAA,QACnB,aAAW;AAAA,QACX,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACX,EAAA,GARSI,CASX;AAEJ,CAAC,EAAA,CACH,GAIEC,KAAmB,CAAC;AAAA,EACxB,aAAAC;AAAA,EACA,aAAAC;AACF,MAGM;AACJ,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA,GACb,CAACC,GAAMC,CAAO,IAAIC,EAAkC,CAAA,CAAE,GACtDC,IAAc3B,EAAO,EAAK;AAEhC,SAAA4B,EAAU,MAAM;AACd,UAAMC,IAAgB,CAACjB,MACrBa,EAAQ,CAACK,OAAO,EAAE,GAAGA,GAAG,CAAClB,EAAE,IAAI,GAAG,KAAO,GACrCmB,IAAc,CAACnB,MACnBa,EAAQ,CAACK,OAAO,EAAE,GAAGA,GAAG,CAAClB,EAAE,IAAI,GAAG,KAAQ;AAC5C,kBAAO,iBAAiB,WAAWiB,CAAa,GAChD,OAAO,iBAAiB,SAASE,CAAW,GACrC,MAAM;AACX,aAAO,oBAAoB,WAAWF,CAAa,GACnD,OAAO,oBAAoB,SAASE,CAAW;AAAA,IACjD;AAAA,EACF,GAAG,CAAA,CAAE,GAELC,EAAS,CAACC,GAAOC,MAAU;AACzB,QAAI,CAACd,EAAY,QAAS;AAkB1B,QAfIC,MACoBD,EAAY,QAAQ,OACf,WAAWC,CAAW,IAEtC,OACTM,EAAY,UAAU,IAEtBP,EAAY,QAAQ,OAAO,KAAKC,GAAaa,IAAQ,CAAC,KAEtDP,EAAY,UAAU,KAKT,OAAO,OAAOH,CAAI,EAAE,KAAK,CAACM,MAAMA,CAAC,GACpC;AACZ,MAAAH,EAAY,UAAU;AACtB,YAAMQ,KAASX,EAAK,aAAgBA,EAAK,aAAgB,KAAK,KAAKU,GAC7DE,IAAU,IAAI1B,EAAM,QAAA;AAC1B,MAAAY,EAAO,kBAAkBc,CAAO;AAEhC,YAAMC,IAAQ,IAAI3B,EAAM,QAAA;AACxB,MAAA2B,EAAM,aAAaD,GAASd,EAAO,EAAE,EAAE,UAAA;AAEvC,YAAMgB,IAAO,IAAI5B,EAAM,QAAA;AAEvB,OAAIc,EAAK,QAAWA,EAAK,YAAYc,EAAK,IAAIF,CAAO,IACjDZ,EAAK,QAAWA,EAAK,cAAcc,EAAK,IAAIF,CAAO,IACnDZ,EAAK,QAAWA,EAAK,cAAcc,EAAK,IAAID,CAAK,IACjDb,EAAK,QAAWA,EAAK,eAAec,EAAK,IAAID,CAAK,GAGlDb,EAAK,SAASc,EAAK,KAAK,IACxBd,EAAK,SAASc,EAAK,KAAK,IAExBA,EAAK,SAAA,IAAa,MACpBA,EAAK,UAAA,EAAY,eAAeH,CAAK,GACrCb,EAAO,SAAS,IAAIgB,CAAI,GACxBlB,EAAY,QAAQ,OAAO,IAAIkB,CAAI;AAAA,IAEvC;AAAA,EACF,CAAC,GAEM;AACT,GAEaC,KAAiB,CAAC;AAAA,EAC7B,QAAA3C,IAAS,CAAA;AAAA,EACT,WAAA4C,IAAY;AAAA,EACZ,OAAAC,IAAQ;AAAA,EACR,eAAAC;AAAA,EACA,aAAaC;AAAA,EACb,WAAAC;AACF,MAAuB;AACrB,QAAM,CAACC,GAAcC,CAAe,IAAIpB,EAAyB,IAAI,GAC/D,CAACT,GAAiB8B,CAAkB,IAAIrB,EAAwB,CAAA,CAAE,GAClE,CAACsB,GAAcC,CAAe,IAAIvB,EAA+B,IAAI,GACrEN,IAAcpB,EAAY,IAAI,GAE9BkD,IAAc,CAAC3D,GAAgB4D,IAAyB,YACxDR,IAA0BA,EAAkBpD,GAAO4D,CAAI,IAGvDA,MAAS,UACP5D,EAAM,YAAkBA,EAAM,YAC9BA,EAAM,YAAY,WAAW,MAAM,IAAUA,EAAM,aAChDA,EAAM,WACT,8BAA8BA,EAAM,QAAQ,KAC5C,KAEAA,EAAM,YAAkBA,EAAM,YAC3BA,EAAM,WAAW,wBAAwBA,EAAM,QAAQ,KAAK,IAIjE6D,IAAmB,CACvBvC,GACAtB,GACA8D,MACG;AAEH,QAAIA,MAAUA,EAAM,WAAWA,EAAM,UAAU;AAC7C,YAAM,CAAC7D,GAAGC,GAAGC,CAAC,IAAIJ,EAAeC,CAAK,GAChC+D,IAAS,IAAI5C,EAAM,QAAQlB,GAAGC,GAAGC,CAAC;AACxC,MAAAuD,EAAgBK,CAAM,GAEtBP,EAAmB,CAAClC,CAAK,CAAC,GACtB6B,OAA6BnD,CAAK;AACtC;AAAA,IACF;AAGA,IAAAwD,EAAmB,CAAClC,CAAK,CAAC,GACtB6B,OAA6BnD,CAAK;AAAA,EACxC,GAEMgE,IAAgB,CAAC1C,GAAe2C,IAAgB,OAAO;AAC3D,QAAI,CAAC5D,EAAQ;AACb,UAAM6D,IAAS7D,EAAOiB,CAAK;AAC3B,QAAI,CAAC4C,EAAQ;AAEb,UAAM,CAACC,GAAIC,GAAIC,CAAE,IAAItE,EAAemE,CAAM,GAGpCI,IAAYjE,EAAO,IAAI,CAACU,GAAYD,MAAc;AACtD,YAAM,CAACyD,GAAIC,GAAIC,CAAE,IAAI1E,EAAegB,CAAC,GAC/B2D,IAAKH,IAAKJ,GACVQ,IAAKH,IAAKJ,GACVQ,IAAKH,IAAKJ;AAChB,aAAO,EAAE,GAAAvD,GAAG,GAAG4D,IAAKA,IAAKC,IAAKA,IAAKC,IAAKA,EAAA;AAAA,IAC1C,CAAC;AACD,IAAAN,EAAU,KAAK,CAACO,GAAQC,MAAWD,EAAE,IAAIC,EAAE,CAAC;AAC5C,UAAMC,IAAUT,EAAU,MAAM,GAAGL,CAAK,EAAE,IAAI,CAACe,MAAWA,EAAE,CAAC;AAC7D,IAAAxB,EAAmBuB,CAAO;AAAA,EAC5B;AAEA,MAAI9B;AACF,WACE,gBAAA7B,EAAC,OAAA,EAAI,WAAU,iEACb,UAAA;AAAA,MAAA,gBAAAG,EAAC0D,GAAA,EAAQ,WAAU,uBAAA,CAAuB;AAAA,MAC1C,gBAAA1D,EAAC,KAAA,EAAE,WAAU,uCAAsC,UAAA,4BAAA,CAEnD;AAAA,IAAA,GACF;AAIJ,MAAI2B;AACF,WACE,gBAAA9B,EAAC,OAAA,EAAI,WAAU,mEAAkE,UAAA;AAAA,MAAA;AAAA,MACtD8B,EAAO;AAAA,IAAA,GAClC;AAIJ,MAAI,CAAC7C,KAAUA,EAAO,WAAW;AAC/B,WACE,gBAAAkB,EAAC,OAAA,EAAI,WAAU,wEAAuE,UAAA,qBAEtF;AAIJ,QAAM2D,IACJxD,EAAgB,WAAW,IAAIA,EAAgB,CAAC,IAAI,QAChDyD,IACJD,MAAkB,SAAY7E,EAAO6E,CAAa,IAAI;AAExD,SACE,gBAAA9D;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,gEACTiC,KAAa,EACf;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAjC;AAAA,UAACgE;AAAA,UAAA;AAAA,YACC,QAAQ,EAAE,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,GAAA;AAAA,YACrC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,KAAA,IAAO;AAAA,YAEnD,UAAA;AAAA,cAAA,gBAAA7D,EAAC,OAAA,EAAI,QAAO,OAAM,MAAM,CAAC,WAAW,IAAI,EAAE,GAAG;AAAA,cAE7C,gBAAAA,EAAC,gBAAA,EAAa,WAAW,IAAA,CAAK;AAAA,gCAC7B,cAAA,EAAW,UAAU,CAAC,IAAI,IAAI,EAAE,GAAG;AAAA,cAEpC,gBAAAA;AAAA,gBAAC8D;AAAA,gBAAA;AAAA,kBACC,KAAKxD;AAAA,kBACL,eAAa;AAAA,kBACb,eAAe;AAAA,kBACf,aAAa;AAAA,kBACb,WAAW;AAAA,kBACX,aAAa;AAAA,kBACb,aAAa;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGf,gBAAAN;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,aAAAC;AAAA,kBACA,aAAa4B;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGf,gBAAAlC;AAAA,gBAACnB;AAAA,gBAAA;AAAA,kBACC,QAAAC;AAAA,kBACA,SAAS,CAACiF,GAAGtF,MAAUuD,EAAgBvD,CAAK;AAAA,kBAC5C,SAAS6D;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGX,gBAAAtC,EAACC,GAAA,EAAe,OAAO8B,EAAA,CAAc;AAAA,cACrC,gBAAA/B,EAACE,IAAA,EAAe,QAAApB,GAAgB,iBAAAqB,EAAA,CAAkC;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,0BAGnE,OAAA,EAAI,WAAU,6CACb,UAAA,gBAAAN,EAAC,OAAA,EAAI,WAAU,iFACZ,UAAA;AAAA,UAAAf,EAAO,OAAO,eAAA;AAAA,UAAiB;AAAA,QAAA,EAAA,CAClC,EAAA,CACF;AAAA,QAGC8E,KAAiBD,MAAkB,UAClC,gBAAA9D,EAAC,OAAA,EAAI,WAAU,+FACb,UAAA;AAAA,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,SAAS,MAAM;AACb,gBAAI+B,OAA6BgC,CAAa;AAAA,cAChD;AAAA,cAEA,UAAA;AAAA,gBAAA,gBAAA5D;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,KAAKoC,EAAYwB,GAAe,OAAO;AAAA,oBACvC,KAAK,SAASD,CAAa;AAAA,oBAC3B,WAAU;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEZ,gBAAA3D;AAAA,kBAACgE;AAAA,kBAAA;AAAA,oBACC,SAAS,CAAClE,MAAM;AACd,sBAAAA,EAAE,gBAAA,GACFmC,EAAmB,CAAA,CAAE;AAAA,oBACvB;AAAA,oBACA,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,WAAU;AAAA,oBAEV,UAAA,gBAAAjC,EAACiE,GAAA,EAAE,WAAU,UAAA,CAAU;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAEzB,gBAAAjE;AAAA,kBAACgE;AAAA,kBAAA;AAAA,oBACC,SAAS,CAAClE,MAAM;AACd,sBAAAA,EAAE,gBAAA,GACF2C,EAAckB,CAAa;AAAA,oBAC7B;AAAA,oBACA,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,WAAU;AAAA,oBACV,OAAM;AAAA,oBAEN,UAAA,gBAAA3D,EAACkE,GAAA,EAAa,WAAU,eAAA,CAAe;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACzC;AAAA,YAAA;AAAA,UAAA;AAAA,4BAED,OAAA,EAAI,WAAU,6CACb,UAAA,gBAAArE,EAAC,OAAA,EAAI,WAAU,0DACb,UAAA;AAAA,YAAA,gBAAAG;AAAA,cAACgE;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,WAAU;AAAA,gBACV,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,QAAQ;AAAA,kBACR,QAAQ;AAAA,gBAAA;AAAA,gBAEV,SAAS,MAAM;AACb,kBAAIpC,OAA6BgC,CAAa;AAAA,gBAChD;AAAA,gBAEA,UAAA,gBAAA5D,EAACmE,GAAA,EAAQ,WAAU,MAAA,CAAM;AAAA,cAAA;AAAA,YAAA;AAAA,YAE3B,gBAAAnE,EAACgE,GAAA,EAAO,SAAQ,SAAQ,SAAO,IAC7B,UAAA,gBAAAhE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAMoC,EAAYwB,GAAe,MAAM;AAAA,gBACvC,QAAO;AAAA,gBACP,KAAI;AAAA,gBACJ,WAAU;AAAA,gBACV,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,QAAQ;AAAA,kBACR,QAAQ;AAAA,gBAAA;AAAA,gBAGV,UAAA,gBAAA5D,EAACoE,GAAA,EAAiB,WAAU,MAAA,CAAM;AAAA,cAAA;AAAA,YAAA,EACpC,CACF;AAAA,UAAA,EAAA,CACF,EAAA,CACF;AAAA,QAAA,GACF;AAAA,QAIDjE,EAAgB,SAAS,KAAKrB,KAC7B,gBAAAe,EAAC,OAAA,EAAI,WAAU,yHACb,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,yEACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,uBACb,UAAA;AAAA,cAAAM,EAAgB;AAAA,cAAO;AAAA,YAAA,GAC1B;AAAA,YACA,gBAAAH;AAAA,cAACgE;AAAA,cAAA;AAAA,gBACC,SAAS,MAAM/B,EAAmB,EAAE;AAAA,gBACpC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,WAAU;AAAA,gBACX,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAED,GACF;AAAA,UACA,gBAAAjC,EAAC,OAAA,EAAI,WAAU,8CACZ,UAAAG,EAAgB,MAAM,GAAG,GAAG,EAAE,IAAI,CAACC,MAAQ;AAC1C,kBAAM3B,IAAQK,EAAOsB,CAAG;AACxB,mBAAK3B,IAEH,gBAAAuB;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAU;AAAA,gBACV,SAAS,MAAM;AACb,kBAAAiC,EAAmB,CAAC7B,CAAG,CAAC,GACpBwB,OAA6BnD,CAAK;AAAA,gBACxC;AAAA,gBACA,cAAc,MAAMuD,EAAgBvD,CAAK;AAAA,gBACzC,cAAc,MAAMuD,EAAgB,IAAI;AAAA,gBAExC,UAAA,gBAAAhC;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,KAAKoC,EAAY3D,GAAO,OAAO;AAAA,oBAC/B,KAAI;AAAA,oBACJ,WAAU;AAAA,oBACV,SAAQ;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACV;AAAA,cAdK2B;AAAA,YAAA,IAHU;AAAA,UAoBrB,CAAC,EAAA,CACH;AAAA,QAAA,GACF;AAAA,QAGF,gBAAAJ,EAAC,SAAI,WAAU,qEACb,4BAAC,OAAA,EAAI,WAAU,yFAAwF,UAAA,qGAAA,CAGvG,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
package/dist/vite.config.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vite.config.d.ts","sourceRoot":"","sources":["../vite.config.ts"],"names":[],"mappings":";AAOA,wBA4CG"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|