@flamingo-stack/openframe-frontend-core 0.0.518-1660.4292.1 → 0.0.518
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/dist/{chunk-3LMOLDFT.cjs → chunk-262OTU4W.cjs} +14 -14
- package/dist/{chunk-3LMOLDFT.cjs.map → chunk-262OTU4W.cjs.map} +1 -1
- package/dist/{chunk-XURCARSX.cjs → chunk-2AHSX63M.cjs} +5 -5
- package/dist/{chunk-XURCARSX.cjs.map → chunk-2AHSX63M.cjs.map} +1 -1
- package/dist/{chunk-DPFQWIZJ.cjs → chunk-2EU3TWCW.cjs} +32 -32
- package/dist/{chunk-DPFQWIZJ.cjs.map → chunk-2EU3TWCW.cjs.map} +1 -1
- package/dist/{chunk-MIFJLUZK.js → chunk-2ZHVOTSA.js} +2 -2
- package/dist/{chunk-NJADHL2G.cjs → chunk-3M2MFP2Y.cjs} +30 -2
- package/dist/chunk-3M2MFP2Y.cjs.map +1 -0
- package/dist/{chunk-UBTOOE55.js → chunk-5OGHZNY5.js} +10 -1
- package/dist/chunk-5OGHZNY5.js.map +1 -0
- package/dist/{chunk-5KBQECAY.js → chunk-6EAACE7G.js} +2 -2
- package/dist/{chunk-IIPBTWQR.cjs → chunk-7INXXQVK.cjs} +10 -1
- package/dist/{chunk-IIPBTWQR.cjs.map → chunk-7INXXQVK.cjs.map} +1 -1
- package/dist/{chunk-IVTENGMF.js → chunk-7J4DGFHZ.js} +2 -2
- package/dist/{chunk-JLO2O5R4.js → chunk-7SPVAAWE.js} +5257 -5143
- package/dist/chunk-7SPVAAWE.js.map +1 -0
- package/dist/{chunk-FXT2OZ5Q.js → chunk-BBI7GD2Q.js} +3 -3
- package/dist/{chunk-MEXZZOBO.js → chunk-CV624KM6.js} +9 -9
- package/dist/{chunk-WSRPNLTY.cjs → chunk-FAOL7EI2.cjs} +18 -18
- package/dist/{chunk-WSRPNLTY.cjs.map → chunk-FAOL7EI2.cjs.map} +1 -1
- package/dist/{chunk-P63LOLTB.js → chunk-FISSR67K.js} +7 -7
- package/dist/{chunk-XURRAFIB.js → chunk-GJAHN7LH.js} +404 -376
- package/dist/chunk-GJAHN7LH.js.map +1 -0
- package/dist/{chunk-FS3YSNSU.js → chunk-GS4HJA2G.js} +2 -2
- package/dist/{chunk-HIV2GIFP.cjs → chunk-GYONSC3U.cjs} +3 -3
- package/dist/{chunk-HIV2GIFP.cjs.map → chunk-GYONSC3U.cjs.map} +1 -1
- package/dist/{chunk-QXUMLLYV.cjs → chunk-IPHH3GKC.cjs} +3 -3
- package/dist/{chunk-QXUMLLYV.cjs.map → chunk-IPHH3GKC.cjs.map} +1 -1
- package/dist/{chunk-NBJ7L65H.js → chunk-J2JLAW2J.js} +3 -3
- package/dist/{chunk-GA7BHFXD.cjs → chunk-J3DRYWFP.cjs} +77 -77
- package/dist/{chunk-GA7BHFXD.cjs.map → chunk-J3DRYWFP.cjs.map} +1 -1
- package/dist/{chunk-O7L2VJDW.cjs → chunk-LY7IT5QX.cjs} +12 -12
- package/dist/{chunk-O7L2VJDW.cjs.map → chunk-LY7IT5QX.cjs.map} +1 -1
- package/dist/{chunk-K26W23C2.cjs → chunk-MKPJYEOR.cjs} +6 -6
- package/dist/{chunk-K26W23C2.cjs.map → chunk-MKPJYEOR.cjs.map} +1 -1
- package/dist/{chunk-ZKVARGSO.js → chunk-MY7663CW.js} +3 -3
- package/dist/{chunk-J7ZJ4KM2.cjs → chunk-PJ4WHNJH.cjs} +9 -9
- package/dist/{chunk-J7ZJ4KM2.cjs.map → chunk-PJ4WHNJH.cjs.map} +1 -1
- package/dist/{chunk-66GH54DV.cjs → chunk-QNJCZGHH.cjs} +40 -40
- package/dist/{chunk-66GH54DV.cjs.map → chunk-QNJCZGHH.cjs.map} +1 -1
- package/dist/{chunk-WI4XHZ2B.js → chunk-QOUKB6OJ.js} +4 -4
- package/dist/{chunk-AI7WIW4E.js → chunk-QPCPYCU2.js} +4 -4
- package/dist/{chunk-Z3ADCYC5.js → chunk-RCBRCZUF.js} +2 -2
- package/dist/{chunk-RWYNJC2F.cjs → chunk-S3C4RT4O.cjs} +109 -109
- package/dist/{chunk-RWYNJC2F.cjs.map → chunk-S3C4RT4O.cjs.map} +1 -1
- package/dist/{chunk-OGVIGAMZ.cjs → chunk-SXLEPNY2.cjs} +31 -31
- package/dist/{chunk-OGVIGAMZ.cjs.map → chunk-SXLEPNY2.cjs.map} +1 -1
- package/dist/{chunk-BXRB4MQI.cjs → chunk-SYQ4KUXW.cjs} +599 -485
- package/dist/chunk-SYQ4KUXW.cjs.map +1 -0
- package/dist/{chunk-HPPCPGBR.cjs → chunk-U6NODSTY.cjs} +31 -31
- package/dist/{chunk-HPPCPGBR.cjs.map → chunk-U6NODSTY.cjs.map} +1 -1
- package/dist/{chunk-KP4JRPUE.js → chunk-V3K5H4I2.js} +2 -2
- package/dist/{chunk-43ZZYJ3M.js → chunk-V76TAQ3O.js} +5 -5
- package/dist/{chunk-XZ6WTSVQ.js → chunk-VCA3HNJ2.js} +6 -6
- package/dist/{chunk-7EFJJMNH.cjs → chunk-WBEF37M5.cjs} +12 -12
- package/dist/{chunk-7EFJJMNH.cjs.map → chunk-WBEF37M5.cjs.map} +1 -1
- package/dist/{chunk-H6K73RK2.cjs → chunk-XDADNUC5.cjs} +40 -40
- package/dist/{chunk-H6K73RK2.cjs.map → chunk-XDADNUC5.cjs.map} +1 -1
- package/dist/{chunk-56OUH3UF.js → chunk-YHAYMOXR.js} +3 -3
- package/dist/components/about-icon.d.ts +9 -0
- package/dist/components/about-icon.d.ts.map +1 -0
- package/dist/components/aspect-ratio.d.ts +4 -0
- package/dist/components/aspect-ratio.d.ts.map +1 -0
- package/dist/components/avatar.d.ts +7 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/calendar.cjs +3 -3
- package/dist/components/calendar.js +2 -2
- package/dist/components/case-studies/index.cjs +15 -15
- package/dist/components/case-studies/index.js +5 -5
- package/dist/components/chart.d.ts +72 -0
- package/dist/components/chart.d.ts.map +1 -0
- package/dist/components/chat/index.cjs +5 -5
- package/dist/components/chat/index.js +4 -4
- package/dist/components/check-circle-icon.d.ts +7 -0
- package/dist/components/check-circle-icon.d.ts.map +1 -0
- package/dist/components/checkbox.d.ts +5 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/claude-icon.d.ts +6 -0
- package/dist/components/claude-icon.d.ts.map +1 -0
- package/dist/components/coins-icon.d.ts +9 -0
- package/dist/components/coins-icon.d.ts.map +1 -0
- package/dist/components/command.d.ts +81 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/community-hub-icon.d.ts +9 -0
- package/dist/components/community-hub-icon.d.ts.map +1 -0
- package/dist/components/community-icon.d.ts +9 -0
- package/dist/components/community-icon.d.ts.map +1 -0
- package/dist/components/compare-icon.d.ts +9 -0
- package/dist/components/compare-icon.d.ts.map +1 -0
- package/dist/components/contact/index.cjs +6 -6
- package/dist/components/contact/index.js +5 -5
- package/dist/components/context-menu.d.ts +28 -0
- package/dist/components/context-menu.d.ts.map +1 -0
- package/dist/components/custom-external-link-icon.d.ts +9 -0
- package/dist/components/custom-external-link-icon.d.ts.map +1 -0
- package/dist/components/custom-fork-icon.d.ts +9 -0
- package/dist/components/custom-fork-icon.d.ts.map +1 -0
- package/dist/components/custom-icons.d.ts +8 -0
- package/dist/components/custom-icons.d.ts.map +1 -0
- package/dist/components/custom-license-icon.d.ts +9 -0
- package/dist/components/custom-license-icon.d.ts.map +1 -0
- package/dist/components/custom-star-icon.d.ts +9 -0
- package/dist/components/custom-star-icon.d.ts.map +1 -0
- package/dist/components/custom-time-icon.d.ts +9 -0
- package/dist/components/custom-time-icon.d.ts.map +1 -0
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/donut-icon.d.ts +4 -0
- package/dist/components/donut-icon.d.ts.map +1 -0
- package/dist/components/edit-profile-icon.d.ts +7 -0
- package/dist/components/edit-profile-icon.d.ts.map +1 -0
- package/dist/components/elestio-logo.d.ts +9 -0
- package/dist/components/elestio-logo.d.ts.map +1 -0
- package/dist/components/embeds/index.cjs +6 -6
- package/dist/components/embeds/index.js +5 -5
- package/dist/components/empty-vendor-icon.d.ts +7 -0
- package/dist/components/empty-vendor-icon.d.ts.map +1 -0
- package/dist/components/faq/index.cjs +7 -7
- package/dist/components/faq/index.js +6 -6
- package/dist/components/features/index.cjs +5 -5
- package/dist/components/features/index.js +4 -4
- package/dist/components/features/provider-button.d.ts +1 -1
- package/dist/components/features/provider-button.d.ts.map +1 -1
- package/dist/components/flamingo-logo.d.ts +9 -0
- package/dist/components/flamingo-logo.d.ts.map +1 -0
- package/dist/components/form.d.ts +26 -0
- package/dist/components/form.d.ts.map +1 -0
- package/dist/components/github-icon.d.ts +9 -0
- package/dist/components/github-icon.d.ts.map +1 -0
- package/dist/components/google-logo.d.ts +5 -0
- package/dist/components/google-logo.d.ts.map +1 -0
- package/dist/components/hamburger-icon.d.ts +9 -0
- package/dist/components/hamburger-icon.d.ts.map +1 -0
- package/dist/components/help-center-pages/index.cjs +26 -26
- package/dist/components/help-center-pages/index.js +17 -17
- package/dist/components/hubspot-icon.d.ts +7 -0
- package/dist/components/hubspot-icon.d.ts.map +1 -0
- package/dist/components/icon-utils.d.ts +7 -0
- package/dist/components/icon-utils.d.ts.map +1 -0
- package/dist/components/icons/apple-icon.d.ts +10 -0
- package/dist/components/icons/apple-icon.d.ts.map +1 -0
- package/dist/components/icons/index.cjs +4 -2
- package/dist/components/icons/index.cjs.map +1 -1
- package/dist/components/icons/index.d.ts +1 -0
- package/dist/components/icons/index.d.ts.map +1 -1
- package/dist/components/icons/index.js +3 -1
- package/dist/components/index.cjs +239 -285
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +373 -419
- package/dist/components/index.js.map +1 -1
- package/dist/components/interactive-wrapper.d.ts +84 -0
- package/dist/components/interactive-wrapper.d.ts.map +1 -0
- package/dist/components/join-waitlist-button-stub.d.ts +10 -0
- package/dist/components/join-waitlist-button-stub.d.ts.map +1 -0
- package/dist/components/made-with-love.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +48 -48
- package/dist/components/meeting-scheduler/index.js +7 -7
- package/dist/components/menu-icon.d.ts +9 -0
- package/dist/components/menu-icon.d.ts.map +1 -0
- package/dist/components/minus-circle-icon.d.ts +7 -0
- package/dist/components/minus-circle-icon.d.ts.map +1 -0
- package/dist/components/moon-icon.d.ts +9 -0
- package/dist/components/moon-icon.d.ts.map +1 -0
- package/dist/components/ms-icon.d.ts +9 -0
- package/dist/components/ms-icon.d.ts.map +1 -0
- package/dist/components/navigation/index.cjs +5 -5
- package/dist/components/navigation/index.js +4 -4
- package/dist/components/onboarding-guides/index.cjs +9 -9
- package/dist/components/onboarding-guides/index.js +8 -8
- package/dist/components/open-source-features.d.ts +1 -1
- package/dist/components/open-source-features.d.ts.map +1 -1
- package/dist/components/open-source-icon.d.ts +9 -0
- package/dist/components/open-source-icon.d.ts.map +1 -0
- package/dist/components/openframe-logo.d.ts +7 -0
- package/dist/components/openframe-logo.d.ts.map +1 -0
- package/dist/components/openmsp-logo.d.ts +11 -0
- package/dist/components/openmsp-logo.d.ts.map +1 -0
- package/dist/components/plus-circle-icon.d.ts +9 -0
- package/dist/components/plus-circle-icon.d.ts.map +1 -0
- package/dist/components/progress.d.ts +7 -0
- package/dist/components/progress.d.ts.map +1 -0
- package/dist/components/provider-button.d.ts +10 -0
- package/dist/components/provider-button.d.ts.map +1 -0
- package/dist/components/reddit-icon.d.ts +10 -0
- package/dist/components/reddit-icon.d.ts.map +1 -0
- package/dist/components/related-content/index.cjs +7 -7
- package/dist/components/related-content/index.js +6 -6
- package/dist/components/resizable.d.ts +24 -0
- package/dist/components/resizable.d.ts.map +1 -0
- package/dist/components/scroll-area.d.ts +13 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/send-icon.d.ts +7 -0
- package/dist/components/send-icon.d.ts.map +1 -0
- package/dist/components/separator.d.ts +5 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/skeleton.d.ts +4 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/slack-icon.d.ts +9 -0
- package/dist/components/slack-icon.d.ts.map +1 -0
- package/dist/components/slider.d.ts +5 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/smooth-accordion.d.ts +12 -0
- package/dist/components/smooth-accordion.d.ts.map +1 -0
- package/dist/components/steps.d.ts +17 -0
- package/dist/components/steps.d.ts.map +1 -0
- package/dist/components/sun-icon.d.ts +9 -0
- package/dist/components/sun-icon.d.ts.map +1 -0
- package/dist/components/switch.d.ts +5 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/textarea.d.ts +6 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/tickets/index.cjs +9 -9
- package/dist/components/tickets/index.js +8 -8
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +15 -15
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +5 -5
- package/dist/components/ui/index.js +4 -4
- package/dist/components/ui/pagination-stub.d.ts +6 -0
- package/dist/components/ui/pagination-stub.d.ts.map +1 -0
- package/dist/components/ui/responsive-icons-block-stub.d.ts +7 -0
- package/dist/components/ui/responsive-icons-block-stub.d.ts.map +1 -0
- package/dist/components/user-icon.d.ts +9 -0
- package/dist/components/user-icon.d.ts.map +1 -0
- package/dist/components/vendor-directory-icon.d.ts +9 -0
- package/dist/components/vendor-directory-icon.d.ts.map +1 -0
- package/dist/components/vendors-icon.d.ts +9 -0
- package/dist/components/vendors-icon.d.ts.map +1 -0
- package/dist/components/why-it-matters.d.ts +1 -1
- package/dist/components/why-it-matters.d.ts.map +1 -1
- package/dist/components/x-icon.d.ts +9 -0
- package/dist/components/x-icon.d.ts.map +1 -0
- package/dist/components/x-logo.d.ts +7 -0
- package/dist/components/x-logo.d.ts.map +1 -0
- package/dist/hooks/index.cjs +3 -3
- package/dist/hooks/index.js +2 -2
- package/dist/index.cjs +7 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -4
- package/package.json +1 -1
- package/src/components/about-icon.tsx +29 -0
- package/src/components/aspect-ratio.tsx +7 -0
- package/src/components/avatar.tsx +40 -0
- package/src/components/chart.tsx +364 -0
- package/src/components/chat/chat-container.tsx +1 -1
- package/src/components/check-circle-icon.tsx +29 -0
- package/src/components/checkbox.tsx +30 -0
- package/src/components/claude-icon.tsx +24 -0
- package/src/components/coins-icon.tsx +29 -0
- package/src/components/command.tsx +153 -0
- package/src/components/community-hub-icon.tsx +27 -0
- package/src/components/community-icon.tsx +27 -0
- package/src/components/compare-icon.tsx +27 -0
- package/src/components/context-menu.tsx +200 -0
- package/src/components/custom-external-link-icon.tsx +33 -0
- package/src/components/custom-fork-icon.tsx +33 -0
- package/src/components/custom-icons.tsx +47 -0
- package/src/components/custom-license-icon.tsx +33 -0
- package/src/components/custom-star-icon.tsx +29 -0
- package/src/components/custom-time-icon.tsx +33 -0
- package/src/components/donut-icon.tsx +21 -0
- package/src/components/edit-profile-icon.tsx +23 -0
- package/src/components/elestio-logo.tsx +67 -0
- package/src/components/empty-vendor-icon.tsx +44 -0
- package/src/components/features/auth-providers-list.tsx +1 -1
- package/src/components/features/platform-badge.tsx +2 -2
- package/src/components/features/provider-button.tsx +6 -2
- package/src/components/flamingo-logo.tsx +27 -0
- package/src/components/form.tsx +138 -0
- package/src/components/github-icon.tsx +26 -0
- package/src/components/google-logo.tsx +32 -0
- package/src/components/hamburger-icon.tsx +29 -0
- package/src/components/hubspot-icon.tsx +20 -0
- package/src/components/icon-utils.tsx +36 -0
- package/src/components/icons/apple-icon.tsx +30 -0
- package/src/components/icons/index.ts +1 -0
- package/src/components/interactive-wrapper.tsx +336 -0
- package/src/components/join-waitlist-button-stub.tsx +30 -0
- package/src/components/loading/openmsp-heartbeat.tsx +1 -1
- package/src/components/made-with-love.tsx +3 -4
- package/src/components/menu-icon.tsx +22 -0
- package/src/components/minus-circle-icon.tsx +28 -0
- package/src/components/moon-icon.tsx +26 -0
- package/src/components/ms-icon.tsx +31 -0
- package/src/components/open-source-features.tsx +1 -1
- package/src/components/open-source-icon.tsx +27 -0
- package/src/components/openframe-logo.tsx +46 -0
- package/src/components/openmsp-logo.tsx +36 -0
- package/src/components/plus-circle-icon.tsx +30 -0
- package/src/components/progress.tsx +27 -0
- package/src/components/provider-button.tsx +40 -0
- package/src/components/reddit-icon.tsx +50 -0
- package/src/components/resizable.tsx +45 -0
- package/src/components/scroll-area.tsx +49 -0
- package/src/components/send-icon.tsx +26 -0
- package/src/components/separator.tsx +22 -0
- package/src/components/skeleton.tsx +8 -0
- package/src/components/slack-icon.tsx +43 -0
- package/src/components/slider.tsx +28 -0
- package/src/components/smooth-accordion.tsx +124 -0
- package/src/components/steps.tsx +98 -0
- package/src/components/sun-icon.tsx +27 -0
- package/src/components/switch.tsx +29 -0
- package/src/components/textarea.tsx +22 -0
- package/src/components/ui/button/button.tsx +9 -0
- package/src/components/ui/pagination-stub.tsx +38 -0
- package/src/components/ui/responsive-icons-block-stub.tsx +14 -0
- package/src/components/user-icon.tsx +33 -0
- package/src/components/vendor-directory-icon.tsx +27 -0
- package/src/components/vendor-tag.tsx +1 -1
- package/src/components/vendors-icon.tsx +27 -0
- package/src/components/why-it-matters.tsx +1 -1
- package/src/components/x-icon.tsx +29 -0
- package/src/components/x-logo.tsx +22 -0
- package/dist/chunk-BXRB4MQI.cjs.map +0 -1
- package/dist/chunk-JLO2O5R4.js.map +0 -1
- package/dist/chunk-NJADHL2G.cjs.map +0 -1
- package/dist/chunk-UBTOOE55.js.map +0 -1
- package/dist/chunk-XURRAFIB.js.map +0 -1
- /package/dist/{chunk-MIFJLUZK.js.map → chunk-2ZHVOTSA.js.map} +0 -0
- /package/dist/{chunk-5KBQECAY.js.map → chunk-6EAACE7G.js.map} +0 -0
- /package/dist/{chunk-IVTENGMF.js.map → chunk-7J4DGFHZ.js.map} +0 -0
- /package/dist/{chunk-FXT2OZ5Q.js.map → chunk-BBI7GD2Q.js.map} +0 -0
- /package/dist/{chunk-MEXZZOBO.js.map → chunk-CV624KM6.js.map} +0 -0
- /package/dist/{chunk-P63LOLTB.js.map → chunk-FISSR67K.js.map} +0 -0
- /package/dist/{chunk-FS3YSNSU.js.map → chunk-GS4HJA2G.js.map} +0 -0
- /package/dist/{chunk-NBJ7L65H.js.map → chunk-J2JLAW2J.js.map} +0 -0
- /package/dist/{chunk-ZKVARGSO.js.map → chunk-MY7663CW.js.map} +0 -0
- /package/dist/{chunk-WI4XHZ2B.js.map → chunk-QOUKB6OJ.js.map} +0 -0
- /package/dist/{chunk-AI7WIW4E.js.map → chunk-QPCPYCU2.js.map} +0 -0
- /package/dist/{chunk-Z3ADCYC5.js.map → chunk-RCBRCZUF.js.map} +0 -0
- /package/dist/{chunk-KP4JRPUE.js.map → chunk-V3K5H4I2.js.map} +0 -0
- /package/dist/{chunk-43ZZYJ3M.js.map → chunk-V76TAQ3O.js.map} +0 -0
- /package/dist/{chunk-XZ6WTSVQ.js.map → chunk-VCA3HNJ2.js.map} +0 -0
- /package/dist/{chunk-56OUH3UF.js.map → chunk-YHAYMOXR.js.map} +0 -0
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
MiamiCyberGangLogoFaceOnly,
|
|
10
10
|
OpenFrameLogo,
|
|
11
11
|
OpenmspLogo
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-GJAHN7LH.js";
|
|
13
13
|
import {
|
|
14
14
|
AuthentikLogoGreyIcon,
|
|
15
15
|
Chevron02DownIcon,
|
|
@@ -4116,4 +4116,4 @@ export {
|
|
|
4116
4116
|
splitCsvEnv,
|
|
4117
4117
|
useHumanitySignals
|
|
4118
4118
|
};
|
|
4119
|
-
//# sourceMappingURL=chunk-
|
|
4119
|
+
//# sourceMappingURL=chunk-GS4HJA2G.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkSXLEPNY2cjs = require('./chunk-SXLEPNY2.cjs');
|
|
5
5
|
|
|
6
6
|
// src/hooks/use-self-fetch.ts
|
|
7
7
|
var _react = require('react');
|
|
@@ -29,7 +29,7 @@ function useSelfFetch(url, options) {
|
|
|
29
29
|
try {
|
|
30
30
|
setIsLoading(true);
|
|
31
31
|
setError(false);
|
|
32
|
-
const res = await
|
|
32
|
+
const res = await _chunkSXLEPNY2cjs.contentFetch.call(void 0, url, { signal: ctrl.signal });
|
|
33
33
|
if (!res.ok) throw new Error(`Request failed (${res.status})`);
|
|
34
34
|
const json = await res.json();
|
|
35
35
|
if (!cancelled) {
|
|
@@ -78,4 +78,4 @@ function useSelfFetch(url, options) {
|
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
exports.useSelfFetch = useSelfFetch;
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
81
|
+
//# sourceMappingURL=chunk-GYONSC3U.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-GYONSC3U.cjs","../src/hooks/use-self-fetch.ts"],"names":[],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-GYONSC3U.cjs","sourcesContent":[null,"'use client'\n\nimport { useEffect, useRef, useState, type Dispatch, type SetStateAction } from 'react'\nimport { contentFetch } from '../utils/embed-content-fetch'\n\nexport interface UseSelfFetchResult<T> {\n data: T | null\n /** Imperatively patch the fetched data (e.g. optimistic vote updates). */\n setData: Dispatch<SetStateAction<T | null>>\n isLoading: boolean\n error: boolean\n /** Re-run the fetch (error-retry affordance). */\n reload: () => void\n}\n\n/**\n * The single source for the 4 self-fetching content views\n * (`ProductReleasesView`, `RoadmapView`, the onboarding catalog/detail). GETs a\n * configured `url` into component state with **plain `fetch` + `useEffect`** —\n * deliberately NO react-query, so embedders don't need a QueryClient. This is\n * the same technology choice the shipped `DeliveryLists` makes; that component\n * predates this hook and still hand-rolls the loop (a future pass can migrate\n * it onto a two-url variant of this hook).\n *\n * Behaviour:\n * - `url = null` → fetching is DISABLED (controlled / SSR mode, or missing\n * config); returns `initialData ?? null` and never fetches.\n * - `initialData` provided → hydrates immediately and SKIPS the first fetch\n * (so the hub's server-rendered data isn't re-fetched on mount); later\n * `url` changes still re-fetch.\n * - a `cancelled` guard ensures an in-flight response from a STALE `url`\n * (e.g. a fast pagination / section toggle) can't overwrite a newer one.\n * - `reload()` bumps an internal key to retry after an error.\n * - `revalidateOnVisibleAfterMs` (opt-in) → re-fetch when the tab becomes\n * visible AND the held data is older than the threshold. Event-driven\n * freshness with ZERO background requests — the replacement for\n * setInterval polling. Data age counts from the last completed fetch, or\n * from mount when `initialData` seeded it (an SSR seed is milliseconds\n * old — without that, the first refocus would always refire).\n *\n * Re-fetches whenever `url` changes, so callers fold all query params INTO the\n * url string (the url IS the cache key).\n */\nexport function useSelfFetch<T>(\n url: string | null,\n options?: { initialData?: T; revalidateOnVisibleAfterMs?: number },\n): UseSelfFetchResult<T> {\n const initialData = options?.initialData\n const revalidateOnVisibleAfterMs = options?.revalidateOnVisibleAfterMs\n const [data, setData] = useState<T | null>(initialData ?? null)\n const [isLoading, setIsLoading] = useState(initialData === undefined && url !== null)\n const [error, setError] = useState(false)\n const [reloadKey, setReloadKey] = useState(0)\n // When the held data was obtained: seeded at mount for SSR-hydrated data,\n // stamped after each completed fetch. Drives the visibility revalidation age\n // check. 0 = nothing held yet (first visible event may fetch).\n const dataAtRef = useRef<number>(initialData !== undefined ? Date.now() : 0)\n // The url whose data we currently hold — seeded from SSR `initialData`, then set after\n // each completed fetch. The effect skips the fetch when this equals `url` (so server-\n // rendered data isn't re-fetched on mount). A VALUE compare (not a one-shot flag) so the\n // SSR-hydration skip survives React 18 StrictMode's mount→unmount→remount in dev;\n // `reload()` nulls it to force a re-fetch of the same url.\n const dataUrlRef = useRef<string | null>(initialData !== undefined ? url : null)\n\n // Re-sync when a CONTROLLED `initialData` changes (e.g. the host navigates\n // between detail slugs without remounting). No-op in self-fetch mode, where\n // `initialData` is `undefined`.\n useEffect(() => {\n if (initialData !== undefined) setData(initialData)\n }, [initialData])\n\n useEffect(() => {\n if (url === null) {\n setIsLoading(false)\n return\n }\n // Already hold data for this exact url (SSR-hydrated, or a prior completed fetch) →\n // skip. `reload()` clears `dataUrlRef` so a retry of the same url still fetches.\n if (dataUrlRef.current === url) return\n const ctrl = new AbortController()\n let cancelled = false\n async function load() {\n try {\n setIsLoading(true)\n setError(false)\n const res = await contentFetch(url as string, { signal: ctrl.signal })\n if (!res.ok) throw new Error(`Request failed (${res.status})`)\n const json = (await res.json()) as T\n if (!cancelled) {\n setData(json)\n dataUrlRef.current = url // remember the url we now hold data for\n dataAtRef.current = Date.now()\n }\n } catch (err) {\n // AbortError on cleanup (unmount / stale-url change / React StrictMode's dev\n // double-invoke) is EXPECTED — the request was intentionally aborted. Aborting\n // also means the orphaned StrictMode fetch shows as \"cancelled\" instead of\n // completing as a wasted duplicate (parity with useChatIdentity). Only real\n // failures fall through to the error state + console.\n if (cancelled || (err as Error)?.name === 'AbortError') return\n setError(true)\n console.error('useSelfFetch:', url, err)\n } finally {\n if (!cancelled) setIsLoading(false)\n }\n }\n load()\n return () => {\n cancelled = true\n ctrl.abort()\n }\n // `url` folds in every query param; `reloadKey` drives retry.\n }, [url, reloadKey])\n\n // ONE force-refetch mechanic shared by reload() and the visibility\n // revalidation: clear the held-url skip, bump the effect key.\n const forceReload = () => {\n dataUrlRef.current = null\n setReloadKey((k) => k + 1)\n }\n\n // Opt-in visibility-driven revalidation. Registered only when the option is\n // set and fetching is enabled; SSR-safe (effects don't run on the server)\n // and StrictMode-safe (idempotent listener, cleaned up per mount cycle).\n useEffect(() => {\n if (!revalidateOnVisibleAfterMs || url === null) return\n const onVisible = () => {\n if (document.visibilityState !== 'visible') return\n if (Date.now() - dataAtRef.current < revalidateOnVisibleAfterMs) return\n forceReload()\n }\n document.addEventListener('visibilitychange', onVisible)\n return () => document.removeEventListener('visibilitychange', onVisible)\n }, [url, revalidateOnVisibleAfterMs])\n\n return {\n data,\n setData,\n isLoading,\n error,\n // Force a re-fetch of the current url (error-retry affordance).\n reload: forceReload,\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkPJ4WHNJHcjs = require('./chunk-PJ4WHNJH.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -112,7 +112,7 @@ function PersistentPaginationWrapper({
|
|
|
112
112
|
const displayCurrentPage = hasResults ? currentPage : 1;
|
|
113
113
|
const isPaginationDisabled = isLoading;
|
|
114
114
|
const hasNoResults = !hasResults && !isLoading;
|
|
115
|
-
const PaginationComponent = (
|
|
115
|
+
const PaginationComponent = (_chunkPJ4WHNJHcjs.init_unified_pagination.call(void 0, ), _chunkVRHGVLSLcjs.__toCommonJS.call(void 0, _chunkPJ4WHNJHcjs.unified_pagination_exports)).UnifiedPagination;
|
|
116
116
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
117
117
|
"div",
|
|
118
118
|
{
|
|
@@ -172,4 +172,4 @@ function PersistentPaginationWrapper({
|
|
|
172
172
|
|
|
173
173
|
|
|
174
174
|
exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper;
|
|
175
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
//# sourceMappingURL=chunk-IPHH3GKC.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-IPHH3GKC.cjs","../src/components/persistent-pagination.tsx"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,uCAAA,CAAA;AA6FQ,+CAAA;AAhCD,SAAS,oBAAA,CAAqB;AAAA,EACnC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA,EAAkB,GAAA;AAAA,EAClB,mBAAA,EAAqB,GAAA;AAAA,EACrB,iBAAA,EAAmB;AACrB,CAAA,EAA8B;AAI5B,EAAA,uBACE,8BAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,kCAAA;AAAA,QACT,qCAAA;AAAA,QACA,kCAAA;AAAA,QACA,UAAA,GAAa,qBAAA;AAAA,QACb;AAAA,MACF,CAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,UAAA,EAAY,gBAAA,EAAkB,CAAA;AAAA,QACvC,kBAAA,EAAoB,CAAA,EAAA;AACtB,MAAA;AACK,MAAA;AACM,MAAA;AACA,MAAA;AACG,MAAA;AAGb,MAAA;AACC,QAAA;AAAC,UAAA;AAAA,UAAA;AACW,YAAA;AACL,YAAA;AACK,YAAA;AACX,YAAA;AAAA,cAAA;AACqD,cAAA;AAAY,cAAA;AAAK,cAAA;AAAA,YAAA;AAAA,UAAA;AACvE,QAAA;AAIF,wBAAA;AAAC,UAAA;AAAA,UAAA;AACY,YAAA;AACT,cAAA;AACa,cAAA;AACf,YAAA;AACO,YAAA;AACL,cAAA;AACF,YAAA;AACa,YAAA;AAEZ,YAAA;AAAA,UAAA;AACH,QAAA;AAAA,MAAA;AAAA,IAAA;AAGF,EAAA;AAEJ;AAKgB;AAKR,EAAA;AAEkB,EAAA;AACT,IAAA;AACG,IAAA;AACK,IAAA;AACD,IAAA;AACtB,EAAA;AAE0B,EAAA;AACT,IAAA;AACU,MAAA;AACzB,IAAA;AACe,IAAA;AACjB,EAAA;AAEO,EAAA;AACL,IAAA;AACA,IAAA;AACA,IAAA;AACF,EAAA;AACF;AAcgB;AACd,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACU,EAAA;AACyB;AACT,EAAA;AACxB,IAAA;AACA,IAAA;AACA,IAAA;AACF,EAAA;AAImB,EAAA;AACO,EAAA;AACC,EAAA;AAErB,EAAA;AACgB,EAAA;AAIhB,EAAA;AAGJ,EAAA;AAAC,IAAA;AAAA,IAAA;AACY,MAAA;AACT,QAAA;AACC,QAAA;AACD,QAAA;AACF,MAAA;AACO,MAAA;AACI,QAAA;AACW,QAAA;AACtB,MAAA;AACK,MAAA;AACM,MAAA;AACA,MAAA;AACG,MAAA;AACI,MAAA;AAGhB,MAAA;AAAc,QAAA;AACb,UAAA;AAAA,UAAA;AACW,YAAA;AACL,YAAA;AACK,YAAA;AAET,YAAA;AAEG,UAAA;AAEN,QAAA;AAIF,wBAAA;AAAC,UAAA;AAAA,UAAA;AACY,YAAA;AACT,cAAA;AACA,cAAA;AACF,YAAA;AACO,YAAA;AACL,cAAA;AACF,YAAA;AACa,YAAA;AAEb,YAAA;AAAC,cAAA;AAAA,cAAA;AACc,gBAAA;AACD,gBAAA;AACZ,gBAAA;AAAiD,gBAAA;AAAA,cAAA;AACnD,YAAA;AAAA,UAAA;AACF,QAAA;AAAA,MAAA;AAAA,IAAA;AAGF,EAAA;AAEJ;AD9E6B;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-IPHH3GKC.cjs","sourcesContent":[null,"\"use client\"\n\nimport { ReactNode } from \"react\"\nimport { cn } from \"../utils/cn\"\n\ninterface PersistentPaginationProps {\n /**\n * Whether pagination is currently in a loading state\n */\n isLoading: boolean\n /**\n * The pagination component\n */\n children: ReactNode\n /**\n * Current page number\n */\n currentPage: number\n /**\n * Total number of pages\n */\n totalPages: number\n /**\n * Additional CSS classes\n */\n className?: string\n /**\n * Disabled opacity (0-1)\n */\n disabledOpacity?: number\n /**\n * Transition duration in milliseconds\n */\n transitionDuration?: number\n /**\n * Whether to show loading state in pagination\n */\n showLoadingState?: boolean\n}\n\n/**\n * PersistentPagination\n * \n * A wrapper component that keeps pagination visible during loading states\n * but provides visual feedback that it's temporarily disabled.\n * \n * Features:\n * - Maintains pagination visibility during content loading\n * - Disables interaction but preserves layout\n * - Shows current page context even when loading\n * - Provides accessibility support for loading states\n * - Smooth transitions between enabled/disabled states\n * \n * Usage:\n * ```tsx\n * <PersistentPagination\n * isLoading={isLoadingVendors}\n * currentPage={currentPage}\n * totalPages={totalPages}\n * >\n * <Pagination currentPage={currentPage} totalPages={totalPages} />\n * </PersistentPagination>\n * ```\n */\nexport function PersistentPagination({\n isLoading,\n children,\n currentPage,\n totalPages,\n className,\n disabledOpacity = 0.5,\n transitionDuration = 300,\n showLoadingState = true,\n}: PersistentPaginationProps) {\n // ALWAYS show pagination for predictable layout - just gray it out when not needed\n // Removed condition that hides pagination completely\n\n return (\n <div \n className={cn(\n \"relative transition-all ease-in-out\",\n \"flex justify-center items-center\",\n isLoading && \"pointer-events-none\",\n className\n )}\n style={{\n opacity: isLoading ? disabledOpacity : 1,\n transitionDuration: `${transitionDuration}ms`\n }}\n role=\"navigation\"\n aria-label=\"Pagination\"\n aria-busy={isLoading}\n data-loading={isLoading}\n >\n {/* Loading state announcement for screen readers */}\n {isLoading && (\n <div \n className=\"sr-only\" \n role=\"status\" \n aria-live=\"polite\"\n >\n Pagination temporarily disabled while loading page {currentPage} of {totalPages}\n </div>\n )}\n\n {/* Pagination controls with disabled state */}\n <div \n className={cn(\n \"relative transition-all ease-in-out\",\n isLoading && \"cursor-not-allowed\"\n )}\n style={{\n transitionDuration: `${transitionDuration}ms`\n }}\n aria-hidden={isLoading}\n >\n {children}\n </div>\n\n {/* REMOVED: Loading overlay - only card skeletons should show during loading */}\n </div>\n )\n}\n\n/**\n * Hook for managing pagination loading states\n */\nexport function usePaginationLoading(\n isLoading: boolean,\n currentPage: number,\n totalPages: number\n) {\n const shouldShowPagination = totalPages > 1 || isLoading\n \n const paginationProps = {\n 'aria-busy': isLoading,\n 'data-loading': isLoading,\n 'data-current-page': currentPage,\n 'data-total-pages': totalPages,\n }\n\n const getLoadingMessage = () => {\n if (isLoading) {\n return `Loading page ${currentPage} of ${totalPages}`\n }\n return `Page ${currentPage} of ${totalPages}`\n }\n\n return {\n shouldShowPagination,\n paginationProps,\n getLoadingMessage,\n }\n}\n\n/**\n * Enhanced pagination component that includes loading states\n */\ninterface PersistentPaginationWrapperProps {\n isLoading: boolean\n currentPage: number\n totalPages: number\n onPageChange?: (page: number) => void\n className?: string\n variant?: 'vendor' | 'blog'\n}\n\nexport function PersistentPaginationWrapper({\n isLoading,\n currentPage,\n totalPages,\n onPageChange,\n className,\n variant = 'vendor'\n}: PersistentPaginationWrapperProps) {\n const { getLoadingMessage } = usePaginationLoading(\n isLoading,\n currentPage,\n totalPages\n )\n\n // ALWAYS show pagination for predictable layout\n // For no results (totalPages = 0), show grayed out pagination\n const hasResults = totalPages > 0\n const displayTotalPages = hasResults ? totalPages : 1\n const displayCurrentPage = hasResults ? currentPage : 1\n // Only disable during loading, but still show when no results (just grayed out)\n const isPaginationDisabled = isLoading\n const hasNoResults = !hasResults && !isLoading\n\n // Use UnifiedPagination directly from ui-kit instead of importing from consuming apps\n // Both Pagination and BlogPagination in multi-platform-hub are just wrappers around UnifiedPagination\n const PaginationComponent = require('./unified-pagination').UnifiedPagination\n\n return (\n <div \n className={cn(\n \"relative transition-all ease-in-out flex justify-center items-center\",\n (isPaginationDisabled || hasNoResults) && \"pointer-events-none\",\n className\n )}\n style={{\n opacity: isPaginationDisabled ? 0.3 : hasNoResults ? 0.5 : 1,\n transitionDuration: \"300ms\"\n }}\n role=\"navigation\"\n aria-label=\"Pagination\"\n aria-busy={isLoading}\n data-loading={isLoading}\n data-has-results={hasResults}\n >\n {/* Loading/no results state announcement for screen readers */}\n {(isLoading || !hasResults) && (\n <div \n className=\"sr-only\" \n role=\"status\" \n aria-live=\"polite\"\n >\n {isLoading \n ? `Pagination temporarily disabled while loading page ${displayCurrentPage} of ${displayTotalPages}`\n : `No results available - pagination disabled`\n }\n </div>\n )}\n\n {/* Pagination controls with disabled state */}\n <div \n className={cn(\n \"relative transition-all ease-in-out\",\n isPaginationDisabled && \"cursor-not-allowed\"\n )}\n style={{\n transitionDuration: \"300ms\"\n }}\n aria-hidden={isPaginationDisabled}\n >\n <PaginationComponent\n currentPage={displayCurrentPage}\n totalPages={displayTotalPages}\n onPageChange={hasResults ? onPageChange : () => {}} // Provide empty function instead of undefined\n />\n </div>\n\n {/* REMOVED: Loading overlays - only card skeletons should show during loading */}\n </div>\n )\n} "]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Pagination,
|
|
4
4
|
init_pagination
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7SPVAAWE.js";
|
|
6
6
|
import {
|
|
7
7
|
init_next_navigation,
|
|
8
8
|
usePathname,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
Button,
|
|
14
14
|
init_button2 as init_button
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5OGHZNY5.js";
|
|
16
16
|
import {
|
|
17
17
|
__esm,
|
|
18
18
|
__export
|
|
@@ -210,4 +210,4 @@ export {
|
|
|
210
210
|
unified_pagination_exports,
|
|
211
211
|
init_unified_pagination
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-J2JLAW2J.js.map
|