tanstack_start_ts 1.0.0

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 (336) hide show
  1. package/.wrangler/deploy/config.json +1 -0
  2. package/bunfig.toml +6 -0
  3. package/components.json +22 -0
  4. package/config.json +0 -0
  5. package/dist/client/.assetsignore +2 -0
  6. package/dist/client/assets/ProductCard-DbIkJAE-.js +1 -0
  7. package/dist/client/assets/about-AskxOruL.js +1 -0
  8. package/dist/client/assets/admin-BZVcAQM3.js +1 -0
  9. package/dist/client/assets/admin.functions--RdVcuBx.js +1 -0
  10. package/dist/client/assets/admin.login-QgrF_9Fp.js +1 -0
  11. package/dist/client/assets/affiliate-disclosure-BIAsA-HO.js +1 -0
  12. package/dist/client/assets/categories-D0N418mK.js +1 -0
  13. package/dist/client/assets/category._slug-aCaQm14E.js +1 -0
  14. package/dist/client/assets/contact-PhvO-V15.js +1 -0
  15. package/dist/client/assets/faq-BsiHWPM8.js +1 -0
  16. package/dist/client/assets/hero-bg-BP2eVUIX.jpg +0 -0
  17. package/dist/client/assets/index-BU9rnkF3.js +1 -0
  18. package/dist/client/assets/index-BpJWZkva.js +1 -0
  19. package/dist/client/assets/index-vRX-zAyq.js +1 -0
  20. package/dist/client/assets/login-DteE0ZGp.js +1 -0
  21. package/dist/client/assets/logo-pSNfLJQk.png +0 -0
  22. package/dist/client/assets/privacy-B_Pu7040.js +1 -0
  23. package/dist/client/assets/product-links-BkZ41Gv3.js +1 -0
  24. package/dist/client/assets/product._id-BVUysCW-.js +1 -0
  25. package/dist/client/assets/products.functions-cGzRziKO.js +1 -0
  26. package/dist/client/assets/profile-CveRcKq2.js +1 -0
  27. package/dist/client/assets/reset-password-ySEjItX_.js +1 -0
  28. package/dist/client/assets/saved-CHtdQDJF.js +1 -0
  29. package/dist/client/assets/search-CXWfET1y.js +1 -0
  30. package/dist/client/assets/signup-CEx90iuV.js +1 -0
  31. package/dist/client/assets/styles-DrNJG0BO.css +1 -0
  32. package/dist/client/assets/terms-VqJ9kX9b.js +1 -0
  33. package/dist/client/assets/update-password-C-d0ix5e.js +1 -0
  34. package/dist/client/assets/vendor-aria-hidden-DvXkyWUv.js +1 -0
  35. package/dist/client/assets/vendor-class-variance-authority-5VPnzWs2.js +1 -0
  36. package/dist/client/assets/vendor-clsx-B-dksMZM.js +1 -0
  37. package/dist/client/assets/vendor-cookie-es-CS0aJGDi.js +1 -0
  38. package/dist/client/assets/vendor-detect-node-es-l0sNRNKZ.js +1 -0
  39. package/dist/client/assets/vendor-floating-ui-core-BlUy28sp.js +1 -0
  40. package/dist/client/assets/vendor-floating-ui-dom-BxK0hn2R.js +1 -0
  41. package/dist/client/assets/vendor-floating-ui-react-dom-Bas3975S.js +1 -0
  42. package/dist/client/assets/vendor-floating-ui-utils-BfYUAVcw.js +1 -0
  43. package/dist/client/assets/vendor-framer-motion-BMdL-cuX.js +9 -0
  44. package/dist/client/assets/vendor-get-nonce-C-Z93AgS.js +1 -0
  45. package/dist/client/assets/vendor-iceberg-js-tWD4K6Lg.js +1 -0
  46. package/dist/client/assets/vendor-lovable.dev-cloud-auth-js-VuzqtJVg.js +1 -0
  47. package/dist/client/assets/vendor-lucide-react-b5K2fehp.js +1 -0
  48. package/dist/client/assets/vendor-motion-dom-BETJamZt.js +1 -0
  49. package/dist/client/assets/vendor-motion-utils-BuWewJbj.js +1 -0
  50. package/dist/client/assets/vendor-radix-ui-primitive-Dc_FVRD7.js +1 -0
  51. package/dist/client/assets/vendor-radix-ui-react-accordion-C22Rgxe9.js +1 -0
  52. package/dist/client/assets/vendor-radix-ui-react-arrow-DMHj2mKI.js +1 -0
  53. package/dist/client/assets/vendor-radix-ui-react-avatar-CVPBkFXg.js +1 -0
  54. package/dist/client/assets/vendor-radix-ui-react-collapsible-BvM-4sKX.js +1 -0
  55. package/dist/client/assets/vendor-radix-ui-react-collection-D9KtqmHm.js +1 -0
  56. package/dist/client/assets/vendor-radix-ui-react-compose-refs-Cvq0AS8Z.js +1 -0
  57. package/dist/client/assets/vendor-radix-ui-react-context-CAqqn5Nx.js +1 -0
  58. package/dist/client/assets/vendor-radix-ui-react-dialog-DZ01vOLq.js +5 -0
  59. package/dist/client/assets/vendor-radix-ui-react-direction-DxZwNuei.js +1 -0
  60. package/dist/client/assets/vendor-radix-ui-react-dismissable-layer-Dqgrs55Y.js +1 -0
  61. package/dist/client/assets/vendor-radix-ui-react-dropdown-menu-0uzvrqkn.js +1 -0
  62. package/dist/client/assets/vendor-radix-ui-react-focus-guards-DgWoZ-fP.js +1 -0
  63. package/dist/client/assets/vendor-radix-ui-react-focus-scope-BLIu5QaL.js +1 -0
  64. package/dist/client/assets/vendor-radix-ui-react-id-bpga_rLa.js +1 -0
  65. package/dist/client/assets/vendor-radix-ui-react-menu-D0qf2r6_.js +1 -0
  66. package/dist/client/assets/vendor-radix-ui-react-popper-BafIylxU.js +1 -0
  67. package/dist/client/assets/vendor-radix-ui-react-portal-BnAsfNCS.js +1 -0
  68. package/dist/client/assets/vendor-radix-ui-react-presence-C-f3UKQ2.js +1 -0
  69. package/dist/client/assets/vendor-radix-ui-react-primitive-zTHwXNoz.js +1 -0
  70. package/dist/client/assets/vendor-radix-ui-react-roving-focus-jyJB8K2E.js +1 -0
  71. package/dist/client/assets/vendor-radix-ui-react-slot-6LXHJrHl.js +1 -0
  72. package/dist/client/assets/vendor-radix-ui-react-use-callback-ref-E91aPc6s.js +1 -0
  73. package/dist/client/assets/vendor-radix-ui-react-use-controllable-state-Ca3eMtxa.js +1 -0
  74. package/dist/client/assets/vendor-radix-ui-react-use-effect-event-CPeX4A3c.js +1 -0
  75. package/dist/client/assets/vendor-radix-ui-react-use-escape-keydown-7n3YsXFo.js +1 -0
  76. package/dist/client/assets/vendor-radix-ui-react-use-is-hydrated-C1PY1qNv.js +1 -0
  77. package/dist/client/assets/vendor-radix-ui-react-use-layout-effect-B3AcGWPy.js +1 -0
  78. package/dist/client/assets/vendor-radix-ui-react-use-size-CXS04sct.js +1 -0
  79. package/dist/client/assets/vendor-react-dom-BnNs-kzm.js +9 -0
  80. package/dist/client/assets/vendor-react-gJPiVnX5.js +1 -0
  81. package/dist/client/assets/vendor-react-remove-scroll-DHKl-IMP.js +4 -0
  82. package/dist/client/assets/vendor-react-remove-scroll-bar-CSjdInc2.js +38 -0
  83. package/dist/client/assets/vendor-react-style-singleton-BqHpkgXn.js +1 -0
  84. package/dist/client/assets/vendor-scheduler-7OC5HNn7.js +1 -0
  85. package/dist/client/assets/vendor-seroval-B_Fur-nl.js +3 -0
  86. package/dist/client/assets/vendor-seroval-plugins-CBHnPkZJ.js +1 -0
  87. package/dist/client/assets/vendor-sonner-71-LdGG1.js +1 -0
  88. package/dist/client/assets/vendor-supabase-auth-js-DWrN-bIx.js +18 -0
  89. package/dist/client/assets/vendor-supabase-functions-js-uY_V-TxC.js +1 -0
  90. package/dist/client/assets/vendor-supabase-phoenix-BzEf37Ve.js +2 -0
  91. package/dist/client/assets/vendor-supabase-postgrest-js-C4rBWbCx.js +4 -0
  92. package/dist/client/assets/vendor-supabase-realtime-js-D6BlOYKE.js +23 -0
  93. package/dist/client/assets/vendor-supabase-storage-js-BG98L3Zz.js +1 -0
  94. package/dist/client/assets/vendor-supabase-supabase-js-DCCzdwBJ.js +1 -0
  95. package/dist/client/assets/vendor-tailwind-merge-Ct12j0u0.js +1 -0
  96. package/dist/client/assets/vendor-tanstack-history-C617CaxG.js +1 -0
  97. package/dist/client/assets/vendor-tanstack-query-core-7wuJJ5ZL.js +1 -0
  98. package/dist/client/assets/vendor-tanstack-react-query-HImzo8sX.js +1 -0
  99. package/dist/client/assets/vendor-tanstack-react-router-sIZLK-LU.js +1 -0
  100. package/dist/client/assets/vendor-tanstack-react-start-client-GiYCfWmf.js +1 -0
  101. package/dist/client/assets/vendor-tanstack-react-store-EvTi3ahh.js +1 -0
  102. package/dist/client/assets/vendor-tanstack-router-core-Cr7bYUZv.js +1 -0
  103. package/dist/client/assets/vendor-tanstack-start-client-core-C-00BBOu.js +2 -0
  104. package/dist/client/assets/vendor-tanstack-start-fn-stubs-l0sNRNKZ.js +1 -0
  105. package/dist/client/assets/vendor-tanstack-store-BC7mA7pq.js +1 -0
  106. package/dist/client/assets/vendor-tslib-Du-meQkk.js +1 -0
  107. package/dist/client/assets/vendor-use-callback-ref-C_fIAtot.js +1 -0
  108. package/dist/client/assets/vendor-use-sidecar-Bh0DDN6h.js +1 -0
  109. package/dist/client/assets/vendor-use-sync-external-store-ZvKHXaIn.js +1 -0
  110. package/dist/client/assets/vendor-vercel-analytics-DwPM5BWs.js +1 -0
  111. package/dist/client/assets/vendor-zod-By9teAtI.js +1 -0
  112. package/dist/client/robots.txt +2 -0
  113. package/dist/server/.dev.vars +5 -0
  114. package/dist/server/.vite/manifest.json +2528 -0
  115. package/dist/server/assets/ProductCard-CUPXy5Eo.js +149 -0
  116. package/dist/server/assets/_tanstack-start-manifest_v-do7vTWFD.js +4 -0
  117. package/dist/server/assets/about-TfKQw0Ga.js +28 -0
  118. package/dist/server/assets/admin-DspfJOJk.js +578 -0
  119. package/dist/server/assets/admin.functions-B78ppWLR.js +645 -0
  120. package/dist/server/assets/admin.functions-BWlKBoTL.js +93 -0
  121. package/dist/server/assets/admin.login-CV7QfeA6.js +139 -0
  122. package/dist/server/assets/affiliate-disclosure-B1wI1cDb.js +86 -0
  123. package/dist/server/assets/auth-middleware-Cn49MidW.js +62 -0
  124. package/dist/server/assets/categories-Z7jnAYZP.js +108 -0
  125. package/dist/server/assets/category._slug-D0XY3FGK.js +112 -0
  126. package/dist/server/assets/contact-IzyONsXs.js +104 -0
  127. package/dist/server/assets/faq-aRhB_CR3.js +133 -0
  128. package/dist/server/assets/hero-bg-BP2eVUIX.jpg +0 -0
  129. package/dist/server/assets/index-BTPHbXw9.js +221 -0
  130. package/dist/server/assets/index-ByJkHkrU.js +30 -0
  131. package/dist/server/assets/login-Dvy5Dm0f.js +175 -0
  132. package/dist/server/assets/logo-pSNfLJQk.png +0 -0
  133. package/dist/server/assets/privacy-B6Wiez1P.js +93 -0
  134. package/dist/server/assets/product-links-CGYEPP56.js +16 -0
  135. package/dist/server/assets/product._id-BpRa-1z0.js +231 -0
  136. package/dist/server/assets/products.functions-DSlmibYN.js +209 -0
  137. package/dist/server/assets/products.functions-DlHkRiqi.js +24 -0
  138. package/dist/server/assets/profile-B0NWzVAZ.js +314 -0
  139. package/dist/server/assets/reset-password-CY-rmqMr.js +115 -0
  140. package/dist/server/assets/saved-7FA6Dbom.js +126 -0
  141. package/dist/server/assets/search-Yw5c_fZa.js +329 -0
  142. package/dist/server/assets/signup-UPzgZo4i.js +143 -0
  143. package/dist/server/assets/styles-DrNJG0BO.css +1 -0
  144. package/dist/server/assets/terms-CMnX95bP.js +89 -0
  145. package/dist/server/assets/update-password-Cr94ea8n.js +131 -0
  146. package/dist/server/assets/vendor-aria-hidden-DPa16MWu.js +122 -0
  147. package/dist/server/assets/vendor-class-variance-authority-0YxJPB9Y.js +44 -0
  148. package/dist/server/assets/vendor-cloudflare-unenv-preset-ya0VEFBz.js +250 -0
  149. package/dist/server/assets/vendor-clsx-DgYk2OaC.js +16 -0
  150. package/dist/server/assets/vendor-cookie-es-DAoofYiI.js +44 -0
  151. package/dist/server/assets/vendor-detect-node-es-l0sNRNKZ.js +1 -0
  152. package/dist/server/assets/vendor-floating-ui-core-3tkK0THV.js +726 -0
  153. package/dist/server/assets/vendor-floating-ui-dom-C-cPtgJv.js +626 -0
  154. package/dist/server/assets/vendor-floating-ui-react-dom-CRG6gBpH.js +319 -0
  155. package/dist/server/assets/vendor-floating-ui-utils-DmXANH-E.js +320 -0
  156. package/dist/server/assets/vendor-framer-motion-X4zAkX3J.js +1979 -0
  157. package/dist/server/assets/vendor-get-nonce-DiSj3EHl.js +9 -0
  158. package/dist/server/assets/vendor-h3-v2-CCobnLY5.js +287 -0
  159. package/dist/server/assets/vendor-iceberg-js-bHCkXyJn.js +534 -0
  160. package/dist/server/assets/vendor-isbot-CZ7WjwVs.js +21 -0
  161. package/dist/server/assets/vendor-lovable.dev-cloud-auth-js-BE03njZw.js +180 -0
  162. package/dist/server/assets/vendor-lucide-react-Ddew6HYb.js +458 -0
  163. package/dist/server/assets/vendor-motion-dom-D2MTwGIG.js +5983 -0
  164. package/dist/server/assets/vendor-motion-utils-LJlIFN6m.js +161 -0
  165. package/dist/server/assets/vendor-radix-ui-primitive-B-mNdDrH.js +11 -0
  166. package/dist/server/assets/vendor-radix-ui-react-accordion-1Izf6x00.js +308 -0
  167. package/dist/server/assets/vendor-radix-ui-react-arrow-B882lnFK.js +23 -0
  168. package/dist/server/assets/vendor-radix-ui-react-avatar-BVgZt2Ab.js +209 -0
  169. package/dist/server/assets/vendor-radix-ui-react-collapsible-DCBbMZiS.js +147 -0
  170. package/dist/server/assets/vendor-radix-ui-react-collection-BZ2srfgU.js +150 -0
  171. package/dist/server/assets/vendor-radix-ui-react-compose-refs-D3qsKVk1.js +39 -0
  172. package/dist/server/assets/vendor-radix-ui-react-context-BVoNDLue.js +78 -0
  173. package/dist/server/assets/vendor-radix-ui-react-dialog-DlxMaNYK.js +406 -0
  174. package/dist/server/assets/vendor-radix-ui-react-direction-Dt_WDL1t.js +9 -0
  175. package/dist/server/assets/vendor-radix-ui-react-dismissable-layer-CjsuPohV.js +210 -0
  176. package/dist/server/assets/vendor-radix-ui-react-dropdown-menu-DVxKumY8.js +263 -0
  177. package/dist/server/assets/vendor-radix-ui-react-focus-guards-D_6NoePE.js +29 -0
  178. package/dist/server/assets/vendor-radix-ui-react-focus-scope-DEIhTJJH.js +206 -0
  179. package/dist/server/assets/vendor-radix-ui-react-id-DFFpgh6m.js +14 -0
  180. package/dist/server/assets/vendor-radix-ui-react-menu-CiTMLwjT.js +893 -0
  181. package/dist/server/assets/vendor-radix-ui-react-popper-23Ye2Vyc.js +286 -0
  182. package/dist/server/assets/vendor-radix-ui-react-portal-CZCH5uPk.js +16 -0
  183. package/dist/server/assets/vendor-radix-ui-react-presence-CaAULlDU.js +128 -0
  184. package/dist/server/assets/vendor-radix-ui-react-primitive-BeOk3UYa.js +124 -0
  185. package/dist/server/assets/vendor-radix-ui-react-roving-focus-DES9GR8l.js +224 -0
  186. package/dist/server/assets/vendor-radix-ui-react-slot-DUhZbzoH.js +103 -0
  187. package/dist/server/assets/vendor-radix-ui-react-use-callback-ref-BynBgohw.js +11 -0
  188. package/dist/server/assets/vendor-radix-ui-react-use-controllable-state-C9KpT6DG.js +69 -0
  189. package/dist/server/assets/vendor-radix-ui-react-use-effect-event-gpNY2xjS.js +1 -0
  190. package/dist/server/assets/vendor-radix-ui-react-use-escape-keydown-CcYRQ2pp.js +17 -0
  191. package/dist/server/assets/vendor-radix-ui-react-use-is-hydrated-D_LcBPXY.js +15 -0
  192. package/dist/server/assets/vendor-radix-ui-react-use-layout-effect-1LNLXAjr.js +6 -0
  193. package/dist/server/assets/vendor-radix-ui-react-use-size-D6fiKJQo.js +39 -0
  194. package/dist/server/assets/vendor-react-DvBrY0qp.js +511 -0
  195. package/dist/server/assets/vendor-react-dom-yvMLPM0j.js +10484 -0
  196. package/dist/server/assets/vendor-react-remove-scroll-BNtiEvVN.js +328 -0
  197. package/dist/server/assets/vendor-react-remove-scroll-bar-hLqRASRk.js +82 -0
  198. package/dist/server/assets/vendor-react-style-singleton-BXjcXskB.js +69 -0
  199. package/dist/server/assets/vendor-rou3-3NaGPdI8.js +8 -0
  200. package/dist/server/assets/vendor-seroval-dJyC-Zhz.js +1775 -0
  201. package/dist/server/assets/vendor-seroval-plugins-Pq_U2meB.js +58 -0
  202. package/dist/server/assets/vendor-sonner-CqbjhsRh.js +1086 -0
  203. package/dist/server/assets/vendor-srvx-BA-baEX9.js +6 -0
  204. package/dist/server/assets/vendor-supabase-auth-js-D4xjVprw.js +7602 -0
  205. package/dist/server/assets/vendor-supabase-functions-js-sWy4UYn1.js +322 -0
  206. package/dist/server/assets/vendor-supabase-phoenix-Bw3Uh2Nn.js +1777 -0
  207. package/dist/server/assets/vendor-supabase-postgrest-js-AO-BXa7I.js +4938 -0
  208. package/dist/server/assets/vendor-supabase-realtime-js-BtdNgJbm.js +2111 -0
  209. package/dist/server/assets/vendor-supabase-storage-js-Dk_MrPYO.js +2679 -0
  210. package/dist/server/assets/vendor-supabase-supabase-js-D1EEtG3j.js +697 -0
  211. package/dist/server/assets/vendor-tailwind-merge-BHb_obmC.js +3255 -0
  212. package/dist/server/assets/vendor-tanstack-history-C4pKJmkt.js +204 -0
  213. package/dist/server/assets/vendor-tanstack-query-core-PwwTR5ld.js +2552 -0
  214. package/dist/server/assets/vendor-tanstack-react-query-hhHzXAK1.js +190 -0
  215. package/dist/server/assets/vendor-tanstack-react-router-XzqpA65A.js +1120 -0
  216. package/dist/server/assets/vendor-tanstack-react-start-RvWUpvat.js +37 -0
  217. package/dist/server/assets/vendor-tanstack-react-start-client-gpNY2xjS.js +1 -0
  218. package/dist/server/assets/vendor-tanstack-react-start-server-uj_Y9pEN.js +15 -0
  219. package/dist/server/assets/vendor-tanstack-react-store-gpNY2xjS.js +1 -0
  220. package/dist/server/assets/vendor-tanstack-router-core-6wywV3KN.js +4252 -0
  221. package/dist/server/assets/vendor-tanstack-start-client-core-DoOKV2pA.js +1741 -0
  222. package/dist/server/assets/vendor-tanstack-start-fn-stubs-l0sNRNKZ.js +1 -0
  223. package/dist/server/assets/vendor-tanstack-start-server-core-CsAstXv7.js +1421 -0
  224. package/dist/server/assets/vendor-tanstack-start-storage-context-DgH9hIJT.js +17 -0
  225. package/dist/server/assets/vendor-tanstack-store-l0sNRNKZ.js +1 -0
  226. package/dist/server/assets/vendor-tslib-_8ICaZ64.js +67 -0
  227. package/dist/server/assets/vendor-unenv-DUvF4YIF.js +544 -0
  228. package/dist/server/assets/vendor-use-callback-ref-DMFDRvmi.js +66 -0
  229. package/dist/server/assets/vendor-use-sidecar-DG1tHua4.js +106 -0
  230. package/dist/server/assets/vendor-use-sync-external-store-rZ8vi0It.js +64 -0
  231. package/dist/server/assets/vendor-vercel-analytics-oP8BDp0L.js +168 -0
  232. package/dist/server/assets/vendor-zod-BRyQdbC-.js +3580 -0
  233. package/dist/server/index.js +158 -0
  234. package/dist/server/wrangler.json +1 -0
  235. package/enable-powershell.ps1 +7 -0
  236. package/eslint.config.js +41 -0
  237. package/lint.bat +4 -0
  238. package/package.json +95 -0
  239. package/public/robots.txt +2 -0
  240. package/run-npm-build.cjs +20 -0
  241. package/run-npm-build.js +20 -0
  242. package/src/assets/hero-bg.jpg +0 -0
  243. package/src/assets/logo.png +0 -0
  244. package/src/components/scrollsy/Footer.tsx +68 -0
  245. package/src/components/scrollsy/LiveTicker.tsx +31 -0
  246. package/src/components/scrollsy/Logo.tsx +28 -0
  247. package/src/components/scrollsy/Nav.tsx +255 -0
  248. package/src/components/scrollsy/ProductCard.tsx +190 -0
  249. package/src/components/scrollsy/ProductFilters.tsx +226 -0
  250. package/src/components/scrollsy/SupportWidget.tsx +197 -0
  251. package/src/components/ui/accordion.tsx +51 -0
  252. package/src/components/ui/alert-dialog.tsx +115 -0
  253. package/src/components/ui/alert.tsx +49 -0
  254. package/src/components/ui/aspect-ratio.tsx +5 -0
  255. package/src/components/ui/avatar.tsx +47 -0
  256. package/src/components/ui/badge.tsx +32 -0
  257. package/src/components/ui/breadcrumb.tsx +101 -0
  258. package/src/components/ui/button.tsx +49 -0
  259. package/src/components/ui/calendar.tsx +177 -0
  260. package/src/components/ui/card.tsx +55 -0
  261. package/src/components/ui/carousel.tsx +240 -0
  262. package/src/components/ui/chart.tsx +331 -0
  263. package/src/components/ui/checkbox.tsx +26 -0
  264. package/src/components/ui/collapsible.tsx +11 -0
  265. package/src/components/ui/command.tsx +143 -0
  266. package/src/components/ui/context-menu.tsx +187 -0
  267. package/src/components/ui/dialog.tsx +104 -0
  268. package/src/components/ui/drawer.tsx +98 -0
  269. package/src/components/ui/dropdown-menu.tsx +188 -0
  270. package/src/components/ui/form.tsx +171 -0
  271. package/src/components/ui/hover-card.tsx +27 -0
  272. package/src/components/ui/input-otp.tsx +69 -0
  273. package/src/components/ui/input.tsx +22 -0
  274. package/src/components/ui/label.tsx +21 -0
  275. package/src/components/ui/menubar.tsx +229 -0
  276. package/src/components/ui/navigation-menu.tsx +120 -0
  277. package/src/components/ui/pagination.tsx +98 -0
  278. package/src/components/ui/popover.tsx +31 -0
  279. package/src/components/ui/progress.tsx +25 -0
  280. package/src/components/ui/radio-group.tsx +36 -0
  281. package/src/components/ui/resizable.tsx +37 -0
  282. package/src/components/ui/scroll-area.tsx +44 -0
  283. package/src/components/ui/select.tsx +152 -0
  284. package/src/components/ui/separator.tsx +24 -0
  285. package/src/components/ui/sheet.tsx +122 -0
  286. package/src/components/ui/sidebar.tsx +744 -0
  287. package/src/components/ui/skeleton.tsx +7 -0
  288. package/src/components/ui/slider.tsx +23 -0
  289. package/src/components/ui/sonner.tsx +23 -0
  290. package/src/components/ui/switch.tsx +27 -0
  291. package/src/components/ui/table.tsx +94 -0
  292. package/src/components/ui/tabs.tsx +53 -0
  293. package/src/components/ui/textarea.tsx +21 -0
  294. package/src/components/ui/toggle-group.tsx +57 -0
  295. package/src/components/ui/toggle.tsx +42 -0
  296. package/src/components/ui/tooltip.tsx +32 -0
  297. package/src/hooks/use-auth.ts +26 -0
  298. package/src/hooks/use-mobile.tsx +19 -0
  299. package/src/integrations/lovable/index.ts +41 -0
  300. package/src/lib/admin.functions.ts +564 -0
  301. package/src/lib/error-capture.ts +27 -0
  302. package/src/lib/error-page.ts +30 -0
  303. package/src/lib/product-links.ts +39 -0
  304. package/src/lib/products.functions.ts +101 -0
  305. package/src/lib/utils.ts +6 -0
  306. package/src/routeTree.gen.ts +480 -0
  307. package/src/router.tsx +16 -0
  308. package/src/routes/__root.tsx +177 -0
  309. package/src/routes/about.tsx +66 -0
  310. package/src/routes/admin.login.tsx +95 -0
  311. package/src/routes/admin.tsx +811 -0
  312. package/src/routes/affiliate-disclosure.tsx +35 -0
  313. package/src/routes/categories.tsx +57 -0
  314. package/src/routes/category.$slug.tsx +51 -0
  315. package/src/routes/contact.tsx +69 -0
  316. package/src/routes/faq.tsx +63 -0
  317. package/src/routes/index.tsx +269 -0
  318. package/src/routes/login.tsx +160 -0
  319. package/src/routes/privacy.tsx +39 -0
  320. package/src/routes/product.$id.tsx +212 -0
  321. package/src/routes/profile.tsx +393 -0
  322. package/src/routes/reset-password.tsx +71 -0
  323. package/src/routes/saved.tsx +83 -0
  324. package/src/routes/search.tsx +136 -0
  325. package/src/routes/signup.tsx +108 -0
  326. package/src/routes/sitemap[.]xml.ts +34 -0
  327. package/src/routes/terms.tsx +40 -0
  328. package/src/routes/update-password.tsx +91 -0
  329. package/src/server.ts +80 -0
  330. package/src/start.ts +24 -0
  331. package/src/styles.css +333 -0
  332. package/terminal-test-output.txt +1 -0
  333. package/tsconfig.json +27 -0
  334. package/vercel.json +26 -0
  335. package/vite.config.ts +38 -0
  336. package/wrangler.jsonc +7 -0
@@ -0,0 +1,626 @@
1
+ import { c as computePosition$1, o as offset$1, s as shift$1, f as flip$1, b as size$1, h as hide$1, a as arrow$1, l as limitShift$1 } from "./vendor-floating-ui-core-3tkK0THV.js";
2
+ import { z as isElement, k as getDocumentElement, s as getOverflowAncestors, i as getComputedStyle$1, A as isHTMLElement, a as createCoords, J as round, x as getWindow, E as isTopLayer, u as getParentNode, B as isLastTraversableNode, D as isTableElement, y as isContainingBlock, j as getContainingBlock, G as max, H as min, n as getNodeName, C as isOverflowElement, o as getNodeScroll, m as getFrameElement, I as rectToClientRect, f as floor, F as isWebKit } from "./vendor-floating-ui-utils-DmXANH-E.js";
3
+ function getCssDimensions(element) {
4
+ const css = getComputedStyle$1(element);
5
+ let width = parseFloat(css.width) || 0;
6
+ let height = parseFloat(css.height) || 0;
7
+ const hasOffset = isHTMLElement(element);
8
+ const offsetWidth = hasOffset ? element.offsetWidth : width;
9
+ const offsetHeight = hasOffset ? element.offsetHeight : height;
10
+ const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
11
+ if (shouldFallback) {
12
+ width = offsetWidth;
13
+ height = offsetHeight;
14
+ }
15
+ return {
16
+ width,
17
+ height,
18
+ $: shouldFallback
19
+ };
20
+ }
21
+ function unwrapElement(element) {
22
+ return !isElement(element) ? element.contextElement : element;
23
+ }
24
+ function getScale(element) {
25
+ const domElement = unwrapElement(element);
26
+ if (!isHTMLElement(domElement)) {
27
+ return createCoords(1);
28
+ }
29
+ const rect = domElement.getBoundingClientRect();
30
+ const {
31
+ width,
32
+ height,
33
+ $
34
+ } = getCssDimensions(domElement);
35
+ let x = ($ ? round(rect.width) : rect.width) / width;
36
+ let y = ($ ? round(rect.height) : rect.height) / height;
37
+ if (!x || !Number.isFinite(x)) {
38
+ x = 1;
39
+ }
40
+ if (!y || !Number.isFinite(y)) {
41
+ y = 1;
42
+ }
43
+ return {
44
+ x,
45
+ y
46
+ };
47
+ }
48
+ const noOffsets = /* @__PURE__ */ createCoords(0);
49
+ function getVisualOffsets(element) {
50
+ const win = getWindow(element);
51
+ if (!isWebKit() || !win.visualViewport) {
52
+ return noOffsets;
53
+ }
54
+ return {
55
+ x: win.visualViewport.offsetLeft,
56
+ y: win.visualViewport.offsetTop
57
+ };
58
+ }
59
+ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
60
+ if (isFixed === void 0) {
61
+ isFixed = false;
62
+ }
63
+ if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
64
+ return false;
65
+ }
66
+ return isFixed;
67
+ }
68
+ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
69
+ if (includeScale === void 0) {
70
+ includeScale = false;
71
+ }
72
+ if (isFixedStrategy === void 0) {
73
+ isFixedStrategy = false;
74
+ }
75
+ const clientRect = element.getBoundingClientRect();
76
+ const domElement = unwrapElement(element);
77
+ let scale = createCoords(1);
78
+ if (includeScale) {
79
+ if (offsetParent) {
80
+ if (isElement(offsetParent)) {
81
+ scale = getScale(offsetParent);
82
+ }
83
+ } else {
84
+ scale = getScale(element);
85
+ }
86
+ }
87
+ const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
88
+ let x = (clientRect.left + visualOffsets.x) / scale.x;
89
+ let y = (clientRect.top + visualOffsets.y) / scale.y;
90
+ let width = clientRect.width / scale.x;
91
+ let height = clientRect.height / scale.y;
92
+ if (domElement) {
93
+ const win = getWindow(domElement);
94
+ const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
95
+ let currentWin = win;
96
+ let currentIFrame = getFrameElement(currentWin);
97
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
98
+ const iframeScale = getScale(currentIFrame);
99
+ const iframeRect = currentIFrame.getBoundingClientRect();
100
+ const css = getComputedStyle$1(currentIFrame);
101
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
102
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
103
+ x *= iframeScale.x;
104
+ y *= iframeScale.y;
105
+ width *= iframeScale.x;
106
+ height *= iframeScale.y;
107
+ x += left;
108
+ y += top;
109
+ currentWin = getWindow(currentIFrame);
110
+ currentIFrame = getFrameElement(currentWin);
111
+ }
112
+ }
113
+ return rectToClientRect({
114
+ width,
115
+ height,
116
+ x,
117
+ y
118
+ });
119
+ }
120
+ function getWindowScrollBarX(element, rect) {
121
+ const leftScroll = getNodeScroll(element).scrollLeft;
122
+ if (!rect) {
123
+ return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
124
+ }
125
+ return rect.left + leftScroll;
126
+ }
127
+ function getHTMLOffset(documentElement, scroll) {
128
+ const htmlRect = documentElement.getBoundingClientRect();
129
+ const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
130
+ const y = htmlRect.top + scroll.scrollTop;
131
+ return {
132
+ x,
133
+ y
134
+ };
135
+ }
136
+ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
137
+ let {
138
+ elements,
139
+ rect,
140
+ offsetParent,
141
+ strategy
142
+ } = _ref;
143
+ const isFixed = strategy === "fixed";
144
+ const documentElement = getDocumentElement(offsetParent);
145
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
146
+ if (offsetParent === documentElement || topLayer && isFixed) {
147
+ return rect;
148
+ }
149
+ let scroll = {
150
+ scrollLeft: 0,
151
+ scrollTop: 0
152
+ };
153
+ let scale = createCoords(1);
154
+ const offsets = createCoords(0);
155
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
156
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
157
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
158
+ scroll = getNodeScroll(offsetParent);
159
+ }
160
+ if (isOffsetParentAnElement) {
161
+ const offsetRect = getBoundingClientRect(offsetParent);
162
+ scale = getScale(offsetParent);
163
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
164
+ offsets.y = offsetRect.y + offsetParent.clientTop;
165
+ }
166
+ }
167
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
168
+ return {
169
+ width: rect.width * scale.x,
170
+ height: rect.height * scale.y,
171
+ x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
172
+ y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
173
+ };
174
+ }
175
+ function getClientRects(element) {
176
+ return Array.from(element.getClientRects());
177
+ }
178
+ function getDocumentRect(element) {
179
+ const html = getDocumentElement(element);
180
+ const scroll = getNodeScroll(element);
181
+ const body = element.ownerDocument.body;
182
+ const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
183
+ const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
184
+ let x = -scroll.scrollLeft + getWindowScrollBarX(element);
185
+ const y = -scroll.scrollTop;
186
+ if (getComputedStyle$1(body).direction === "rtl") {
187
+ x += max(html.clientWidth, body.clientWidth) - width;
188
+ }
189
+ return {
190
+ width,
191
+ height,
192
+ x,
193
+ y
194
+ };
195
+ }
196
+ const SCROLLBAR_MAX = 25;
197
+ function getViewportRect(element, strategy) {
198
+ const win = getWindow(element);
199
+ const html = getDocumentElement(element);
200
+ const visualViewport = win.visualViewport;
201
+ let width = html.clientWidth;
202
+ let height = html.clientHeight;
203
+ let x = 0;
204
+ let y = 0;
205
+ if (visualViewport) {
206
+ width = visualViewport.width;
207
+ height = visualViewport.height;
208
+ const visualViewportBased = isWebKit();
209
+ if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
210
+ x = visualViewport.offsetLeft;
211
+ y = visualViewport.offsetTop;
212
+ }
213
+ }
214
+ const windowScrollbarX = getWindowScrollBarX(html);
215
+ if (windowScrollbarX <= 0) {
216
+ const doc = html.ownerDocument;
217
+ const body = doc.body;
218
+ const bodyStyles = getComputedStyle(body);
219
+ const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
220
+ const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
221
+ if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
222
+ width -= clippingStableScrollbarWidth;
223
+ }
224
+ } else if (windowScrollbarX <= SCROLLBAR_MAX) {
225
+ width += windowScrollbarX;
226
+ }
227
+ return {
228
+ width,
229
+ height,
230
+ x,
231
+ y
232
+ };
233
+ }
234
+ function getInnerBoundingClientRect(element, strategy) {
235
+ const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
236
+ const top = clientRect.top + element.clientTop;
237
+ const left = clientRect.left + element.clientLeft;
238
+ const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
239
+ const width = element.clientWidth * scale.x;
240
+ const height = element.clientHeight * scale.y;
241
+ const x = left * scale.x;
242
+ const y = top * scale.y;
243
+ return {
244
+ width,
245
+ height,
246
+ x,
247
+ y
248
+ };
249
+ }
250
+ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
251
+ let rect;
252
+ if (clippingAncestor === "viewport") {
253
+ rect = getViewportRect(element, strategy);
254
+ } else if (clippingAncestor === "document") {
255
+ rect = getDocumentRect(getDocumentElement(element));
256
+ } else if (isElement(clippingAncestor)) {
257
+ rect = getInnerBoundingClientRect(clippingAncestor, strategy);
258
+ } else {
259
+ const visualOffsets = getVisualOffsets(element);
260
+ rect = {
261
+ x: clippingAncestor.x - visualOffsets.x,
262
+ y: clippingAncestor.y - visualOffsets.y,
263
+ width: clippingAncestor.width,
264
+ height: clippingAncestor.height
265
+ };
266
+ }
267
+ return rectToClientRect(rect);
268
+ }
269
+ function hasFixedPositionAncestor(element, stopNode) {
270
+ const parentNode = getParentNode(element);
271
+ if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
272
+ return false;
273
+ }
274
+ return getComputedStyle$1(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
275
+ }
276
+ function getClippingElementAncestors(element, cache) {
277
+ const cachedResult = cache.get(element);
278
+ if (cachedResult) {
279
+ return cachedResult;
280
+ }
281
+ let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
282
+ let currentContainingBlockComputedStyle = null;
283
+ const elementIsFixed = getComputedStyle$1(element).position === "fixed";
284
+ let currentNode = elementIsFixed ? getParentNode(element) : element;
285
+ while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
286
+ const computedStyle = getComputedStyle$1(currentNode);
287
+ const currentNodeIsContaining = isContainingBlock(currentNode);
288
+ if (!currentNodeIsContaining && computedStyle.position === "fixed") {
289
+ currentContainingBlockComputedStyle = null;
290
+ }
291
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
292
+ if (shouldDropCurrentNode) {
293
+ result = result.filter((ancestor) => ancestor !== currentNode);
294
+ } else {
295
+ currentContainingBlockComputedStyle = computedStyle;
296
+ }
297
+ currentNode = getParentNode(currentNode);
298
+ }
299
+ cache.set(element, result);
300
+ return result;
301
+ }
302
+ function getClippingRect(_ref) {
303
+ let {
304
+ element,
305
+ boundary,
306
+ rootBoundary,
307
+ strategy
308
+ } = _ref;
309
+ const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
310
+ const clippingAncestors = [...elementClippingAncestors, rootBoundary];
311
+ const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
312
+ let top = firstRect.top;
313
+ let right = firstRect.right;
314
+ let bottom = firstRect.bottom;
315
+ let left = firstRect.left;
316
+ for (let i = 1; i < clippingAncestors.length; i++) {
317
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
318
+ top = max(rect.top, top);
319
+ right = min(rect.right, right);
320
+ bottom = min(rect.bottom, bottom);
321
+ left = max(rect.left, left);
322
+ }
323
+ return {
324
+ width: right - left,
325
+ height: bottom - top,
326
+ x: left,
327
+ y: top
328
+ };
329
+ }
330
+ function getDimensions(element) {
331
+ const {
332
+ width,
333
+ height
334
+ } = getCssDimensions(element);
335
+ return {
336
+ width,
337
+ height
338
+ };
339
+ }
340
+ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
341
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
342
+ const documentElement = getDocumentElement(offsetParent);
343
+ const isFixed = strategy === "fixed";
344
+ const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
345
+ let scroll = {
346
+ scrollLeft: 0,
347
+ scrollTop: 0
348
+ };
349
+ const offsets = createCoords(0);
350
+ function setLeftRTLScrollbarOffset() {
351
+ offsets.x = getWindowScrollBarX(documentElement);
352
+ }
353
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
354
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
355
+ scroll = getNodeScroll(offsetParent);
356
+ }
357
+ if (isOffsetParentAnElement) {
358
+ const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
359
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
360
+ offsets.y = offsetRect.y + offsetParent.clientTop;
361
+ } else if (documentElement) {
362
+ setLeftRTLScrollbarOffset();
363
+ }
364
+ }
365
+ if (isFixed && !isOffsetParentAnElement && documentElement) {
366
+ setLeftRTLScrollbarOffset();
367
+ }
368
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
369
+ const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
370
+ const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
371
+ return {
372
+ x,
373
+ y,
374
+ width: rect.width,
375
+ height: rect.height
376
+ };
377
+ }
378
+ function isStaticPositioned(element) {
379
+ return getComputedStyle$1(element).position === "static";
380
+ }
381
+ function getTrueOffsetParent(element, polyfill) {
382
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") {
383
+ return null;
384
+ }
385
+ if (polyfill) {
386
+ return polyfill(element);
387
+ }
388
+ let rawOffsetParent = element.offsetParent;
389
+ if (getDocumentElement(element) === rawOffsetParent) {
390
+ rawOffsetParent = rawOffsetParent.ownerDocument.body;
391
+ }
392
+ return rawOffsetParent;
393
+ }
394
+ function getOffsetParent(element, polyfill) {
395
+ const win = getWindow(element);
396
+ if (isTopLayer(element)) {
397
+ return win;
398
+ }
399
+ if (!isHTMLElement(element)) {
400
+ let svgOffsetParent = getParentNode(element);
401
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
402
+ if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
403
+ return svgOffsetParent;
404
+ }
405
+ svgOffsetParent = getParentNode(svgOffsetParent);
406
+ }
407
+ return win;
408
+ }
409
+ let offsetParent = getTrueOffsetParent(element, polyfill);
410
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
411
+ offsetParent = getTrueOffsetParent(offsetParent, polyfill);
412
+ }
413
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
414
+ return win;
415
+ }
416
+ return offsetParent || getContainingBlock(element) || win;
417
+ }
418
+ const getElementRects = async function(data) {
419
+ const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
420
+ const getDimensionsFn = this.getDimensions;
421
+ const floatingDimensions = await getDimensionsFn(data.floating);
422
+ return {
423
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
424
+ floating: {
425
+ x: 0,
426
+ y: 0,
427
+ width: floatingDimensions.width,
428
+ height: floatingDimensions.height
429
+ }
430
+ };
431
+ };
432
+ function isRTL(element) {
433
+ return getComputedStyle$1(element).direction === "rtl";
434
+ }
435
+ const platform = {
436
+ convertOffsetParentRelativeRectToViewportRelativeRect,
437
+ getDocumentElement,
438
+ getClippingRect,
439
+ getOffsetParent,
440
+ getElementRects,
441
+ getClientRects,
442
+ getDimensions,
443
+ getScale,
444
+ isElement,
445
+ isRTL
446
+ };
447
+ function rectsAreEqual(a, b) {
448
+ return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
449
+ }
450
+ function observeMove(element, onMove) {
451
+ let io = null;
452
+ let timeoutId;
453
+ const root = getDocumentElement(element);
454
+ function cleanup() {
455
+ var _io;
456
+ clearTimeout(timeoutId);
457
+ (_io = io) == null || _io.disconnect();
458
+ io = null;
459
+ }
460
+ function refresh(skip, threshold) {
461
+ if (skip === void 0) {
462
+ skip = false;
463
+ }
464
+ if (threshold === void 0) {
465
+ threshold = 1;
466
+ }
467
+ cleanup();
468
+ const elementRectForRootMargin = element.getBoundingClientRect();
469
+ const {
470
+ left,
471
+ top,
472
+ width,
473
+ height
474
+ } = elementRectForRootMargin;
475
+ if (!skip) {
476
+ onMove();
477
+ }
478
+ if (!width || !height) {
479
+ return;
480
+ }
481
+ const insetTop = floor(top);
482
+ const insetRight = floor(root.clientWidth - (left + width));
483
+ const insetBottom = floor(root.clientHeight - (top + height));
484
+ const insetLeft = floor(left);
485
+ const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
486
+ const options = {
487
+ rootMargin,
488
+ threshold: max(0, min(1, threshold)) || 1
489
+ };
490
+ let isFirstUpdate = true;
491
+ function handleObserve(entries) {
492
+ const ratio = entries[0].intersectionRatio;
493
+ if (ratio !== threshold) {
494
+ if (!isFirstUpdate) {
495
+ return refresh();
496
+ }
497
+ if (!ratio) {
498
+ timeoutId = setTimeout(() => {
499
+ refresh(false, 1e-7);
500
+ }, 1e3);
501
+ } else {
502
+ refresh(false, ratio);
503
+ }
504
+ }
505
+ if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
506
+ refresh();
507
+ }
508
+ isFirstUpdate = false;
509
+ }
510
+ try {
511
+ io = new IntersectionObserver(handleObserve, {
512
+ ...options,
513
+ // Handle <iframe>s
514
+ root: root.ownerDocument
515
+ });
516
+ } catch (_e) {
517
+ io = new IntersectionObserver(handleObserve, options);
518
+ }
519
+ io.observe(element);
520
+ }
521
+ refresh(true);
522
+ return cleanup;
523
+ }
524
+ function autoUpdate(reference, floating, update, options) {
525
+ if (options === void 0) {
526
+ options = {};
527
+ }
528
+ const {
529
+ ancestorScroll = true,
530
+ ancestorResize = true,
531
+ elementResize = typeof ResizeObserver === "function",
532
+ layoutShift = typeof IntersectionObserver === "function",
533
+ animationFrame = false
534
+ } = options;
535
+ const referenceEl = unwrapElement(reference);
536
+ const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
537
+ ancestors.forEach((ancestor) => {
538
+ ancestorScroll && ancestor.addEventListener("scroll", update, {
539
+ passive: true
540
+ });
541
+ ancestorResize && ancestor.addEventListener("resize", update);
542
+ });
543
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
544
+ let reobserveFrame = -1;
545
+ let resizeObserver = null;
546
+ if (elementResize) {
547
+ resizeObserver = new ResizeObserver((_ref) => {
548
+ let [firstEntry] = _ref;
549
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
550
+ resizeObserver.unobserve(floating);
551
+ cancelAnimationFrame(reobserveFrame);
552
+ reobserveFrame = requestAnimationFrame(() => {
553
+ var _resizeObserver;
554
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
555
+ });
556
+ }
557
+ update();
558
+ });
559
+ if (referenceEl && !animationFrame) {
560
+ resizeObserver.observe(referenceEl);
561
+ }
562
+ if (floating) {
563
+ resizeObserver.observe(floating);
564
+ }
565
+ }
566
+ let frameId;
567
+ let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
568
+ if (animationFrame) {
569
+ frameLoop();
570
+ }
571
+ function frameLoop() {
572
+ const nextRefRect = getBoundingClientRect(reference);
573
+ if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
574
+ update();
575
+ }
576
+ prevRefRect = nextRefRect;
577
+ frameId = requestAnimationFrame(frameLoop);
578
+ }
579
+ update();
580
+ return () => {
581
+ var _resizeObserver2;
582
+ ancestors.forEach((ancestor) => {
583
+ ancestorScroll && ancestor.removeEventListener("scroll", update);
584
+ ancestorResize && ancestor.removeEventListener("resize", update);
585
+ });
586
+ cleanupIo == null || cleanupIo();
587
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
588
+ resizeObserver = null;
589
+ if (animationFrame) {
590
+ cancelAnimationFrame(frameId);
591
+ }
592
+ };
593
+ }
594
+ const offset = offset$1;
595
+ const shift = shift$1;
596
+ const flip = flip$1;
597
+ const size = size$1;
598
+ const hide = hide$1;
599
+ const arrow = arrow$1;
600
+ const limitShift = limitShift$1;
601
+ const computePosition = (reference, floating, options) => {
602
+ const cache = /* @__PURE__ */ new Map();
603
+ const mergedOptions = {
604
+ platform,
605
+ ...options
606
+ };
607
+ const platformWithCache = {
608
+ ...mergedOptions.platform,
609
+ _c: cache
610
+ };
611
+ return computePosition$1(reference, floating, {
612
+ ...mergedOptions,
613
+ platform: platformWithCache
614
+ });
615
+ };
616
+ export {
617
+ arrow as a,
618
+ autoUpdate as b,
619
+ computePosition as c,
620
+ size as d,
621
+ flip as f,
622
+ hide as h,
623
+ limitShift as l,
624
+ offset as o,
625
+ shift as s
626
+ };