@fluid-app/portal-sdk 0.1.214 → 0.1.216
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/{AppDownloadScreen-rZkhl4Q9.cjs → AppDownloadScreen-CBoC31wL.cjs} +2 -2
- package/dist/{AppDownloadScreen-rZkhl4Q9.cjs.map → AppDownloadScreen-CBoC31wL.cjs.map} +1 -1
- package/dist/{AppDownloadScreen-CTqsyx3n.mjs → AppDownloadScreen-CZ0EOIZ5.mjs} +2 -2
- package/dist/{AppDownloadScreen-CTqsyx3n.mjs.map → AppDownloadScreen-CZ0EOIZ5.mjs.map} +1 -1
- package/dist/{AppNavigationContext-N5oUbgNL.cjs → AppNavigationContext-CbK8uCjS.cjs} +1 -1
- package/dist/{AppNavigationContext-N5oUbgNL.cjs.map → AppNavigationContext-CbK8uCjS.cjs.map} +1 -1
- package/dist/{AppNavigationContext-BW3lSpfT.mjs → AppNavigationContext-Cq3BDKSf.mjs} +1 -1
- package/dist/{AppNavigationContext-BW3lSpfT.mjs.map → AppNavigationContext-Cq3BDKSf.mjs.map} +1 -1
- package/dist/{CardWidget-Scr2BDrZ.mjs → CardWidget-B1-STzEY.mjs} +2 -2
- package/dist/{CardWidget-Scr2BDrZ.mjs.map → CardWidget-B1-STzEY.mjs.map} +1 -1
- package/dist/{CardWidget-BAl-3dJF.cjs → CardWidget-CdrGXdUr.cjs} +2 -2
- package/dist/{CardWidget-BAl-3dJF.cjs.map → CardWidget-CdrGXdUr.cjs.map} +1 -1
- package/dist/{CardWidget-CFtUC9RB.cjs → CardWidget-Cze0MIZ4.cjs} +2 -2
- package/dist/{ContactsScreen-UnYKZlkb.cjs → ContactsScreen-CSY7Of6x.cjs} +6 -6
- package/dist/{ContactsScreen-UnYKZlkb.cjs.map → ContactsScreen-CSY7Of6x.cjs.map} +1 -1
- package/dist/{ContactsScreen-DscaUwNM.mjs → ContactsScreen-CbV-r1fn.mjs} +6 -6
- package/dist/{ContactsScreen-DscaUwNM.mjs.map → ContactsScreen-CbV-r1fn.mjs.map} +1 -1
- package/dist/{ContactsScreen-Cs9bKvMr.cjs → ContactsScreen-D-g7XEB-.cjs} +6 -6
- package/dist/{ContainerWidget-DXgM6Mxa.cjs → ContainerWidget-D89LdXUJ.cjs} +2 -2
- package/dist/{ContainerWidget-DXgM6Mxa.cjs.map → ContainerWidget-D89LdXUJ.cjs.map} +1 -1
- package/dist/{ContainerWidget-CxAu29Rz.mjs → ContainerWidget-DQwZ-weo.mjs} +2 -2
- package/dist/{ContainerWidget-CxAu29Rz.mjs.map → ContainerWidget-DQwZ-weo.mjs.map} +1 -1
- package/dist/{ContainerWidget-DV-Ng6tH.cjs → ContainerWidget-oF_cuYkn.cjs} +3 -3
- package/dist/{CustomersScreen-BgbvmBoF.mjs → CustomersScreen-DSNokGQu.mjs} +1 -1
- package/dist/{CustomersScreen-BgbvmBoF.mjs.map → CustomersScreen-DSNokGQu.mjs.map} +1 -1
- package/dist/{CustomersScreen-CKMopTNU.cjs → CustomersScreen-Rf5uucRx.cjs} +1 -1
- package/dist/{CustomersScreen-CKMopTNU.cjs.map → CustomersScreen-Rf5uucRx.cjs.map} +1 -1
- package/dist/{FluidProvider-DQOzjCBn.mjs → FluidProvider-D0ZapBR-.mjs} +27 -24
- package/dist/{FluidProvider-DQOzjCBn.mjs.map → FluidProvider-D0ZapBR-.mjs.map} +1 -1
- package/dist/{FluidProvider-ClbTYuUc.cjs → FluidProvider-ZbTGc_uY.cjs} +27 -24
- package/dist/{FluidProvider-ClbTYuUc.cjs.map → FluidProvider-ZbTGc_uY.cjs.map} +1 -1
- package/dist/{InfiniteScrollSentinel-CUU5C88p.mjs → InfiniteScrollSentinel-DCxWTHrA.mjs} +1 -1
- package/dist/{InfiniteScrollSentinel-CUU5C88p.mjs.map → InfiniteScrollSentinel-DCxWTHrA.mjs.map} +1 -1
- package/dist/{InfiniteScrollSentinel-BGXp134B.cjs → InfiniteScrollSentinel-DPyNdLiU.cjs} +1 -1
- package/dist/{InfiniteScrollSentinel-BGXp134B.cjs.map → InfiniteScrollSentinel-DPyNdLiU.cjs.map} +1 -1
- package/dist/{LayoutWidget-MTchacII.mjs → LayoutWidget-BqzP7L10.mjs} +2 -2
- package/dist/{LayoutWidget-MTchacII.mjs.map → LayoutWidget-BqzP7L10.mjs.map} +1 -1
- package/dist/{LayoutWidget-CSouwqRJ.cjs → LayoutWidget-CTxbrzsY.cjs} +2 -2
- package/dist/{LayoutWidget-BbABNLAR.cjs → LayoutWidget-Dh8JWX2-.cjs} +2 -2
- package/dist/{LayoutWidget-BbABNLAR.cjs.map → LayoutWidget-Dh8JWX2-.cjs.map} +1 -1
- package/dist/{MessagingScreen-BXoAwP06.mjs → MessagingScreen-B8azvEc0.mjs} +3 -3
- package/dist/{MessagingScreen-BXoAwP06.mjs.map → MessagingScreen-B8azvEc0.mjs.map} +1 -1
- package/dist/{MessagingScreen-CmazDZiT.cjs → MessagingScreen-C5QOgB1w.cjs} +17 -16
- package/dist/{MessagingScreen-DTNnUT4J.cjs → MessagingScreen-CkwCSMou.cjs} +5 -5
- package/dist/{MessagingScreen-DTNnUT4J.cjs.map → MessagingScreen-CkwCSMou.cjs.map} +1 -1
- package/dist/{MySiteScreen-CiQcyMSg.cjs → MySiteScreen-B0aOIzU4.cjs} +4 -4
- package/dist/{MySiteScreen-Cjkw8dKY.cjs → MySiteScreen-B1L8coGs.cjs} +4 -4
- package/dist/{MySiteScreen-Cjkw8dKY.cjs.map → MySiteScreen-B1L8coGs.cjs.map} +1 -1
- package/dist/{MySiteScreen-Bg0gFxf0.mjs → MySiteScreen-DUN5TTvU.mjs} +4 -4
- package/dist/{MySiteScreen-Bg0gFxf0.mjs.map → MySiteScreen-DUN5TTvU.mjs.map} +1 -1
- package/dist/MySiteWidget-BlUbduit.mjs +567 -0
- package/dist/MySiteWidget-BlUbduit.mjs.map +1 -0
- package/dist/MySiteWidget-CDQjyrRA.cjs +584 -0
- package/dist/MySiteWidget-CDQjyrRA.cjs.map +1 -0
- package/dist/OrdersScreen-BmwiVbLV.cjs +9 -0
- package/dist/{OrdersScreen-BklAH7FW.mjs → OrdersScreen-D-SgUl2a.mjs} +4 -4
- package/dist/{OrdersScreen-BklAH7FW.mjs.map → OrdersScreen-D-SgUl2a.mjs.map} +1 -1
- package/dist/{OrdersScreen-DPSqqmhe.cjs → OrdersScreen-Dp7SzXVv.cjs} +4 -4
- package/dist/{OrdersScreen-DPSqqmhe.cjs.map → OrdersScreen-Dp7SzXVv.cjs.map} +1 -1
- package/dist/{PortalContentApiProvider-CB32GRS5.mjs → PortalContentApiProvider-C9FeVwRb.mjs} +7 -7
- package/dist/{PortalContentApiProvider-CB32GRS5.mjs.map → PortalContentApiProvider-C9FeVwRb.mjs.map} +1 -1
- package/dist/{PortalContentApiProvider-BU3UTVjk.cjs → PortalContentApiProvider-RXBp8FNj.cjs} +8 -8
- package/dist/{PortalContentApiProvider-BU3UTVjk.cjs.map → PortalContentApiProvider-RXBp8FNj.cjs.map} +1 -1
- package/dist/{PortalProductsApiProvider-DHni3Y1V.mjs → PortalProductsApiProvider-CE71zDj9.mjs} +1 -1
- package/dist/{PortalProductsApiProvider-DHni3Y1V.mjs.map → PortalProductsApiProvider-CE71zDj9.mjs.map} +1 -1
- package/dist/{PortalProductsApiProvider-DnhHoraV.cjs → PortalProductsApiProvider-Ca1oeTtJ.cjs} +1 -1
- package/dist/{PortalProductsApiProvider-DnhHoraV.cjs.map → PortalProductsApiProvider-Ca1oeTtJ.cjs.map} +1 -1
- package/dist/{ProductsScreen-DNMT2I69.cjs → ProductsScreen-BD53vh6Y.cjs} +6 -6
- package/dist/{ProductsScreen-DNMT2I69.cjs.map → ProductsScreen-BD53vh6Y.cjs.map} +1 -1
- package/dist/{ProductsScreen-C8GO63G2.mjs → ProductsScreen-BtUZxJCt.mjs} +6 -6
- package/dist/{ProductsScreen-C8GO63G2.mjs.map → ProductsScreen-BtUZxJCt.mjs.map} +1 -1
- package/dist/ProductsScreen-DNpzJ6lh.cjs +15 -0
- package/dist/ProductsScreen-pkOeOW8M.mjs +13 -0
- package/dist/{ProfileScreen-BDtNhjWQ.mjs → ProfileScreen-BhmbCKGd.mjs} +4 -4
- package/dist/{ProfileScreen-BDtNhjWQ.mjs.map → ProfileScreen-BhmbCKGd.mjs.map} +1 -1
- package/dist/{ProfileScreen-CdU2jVBe.cjs → ProfileScreen-DMmfRQp8.cjs} +16 -15
- package/dist/{ProfileScreen-CTLnU4hc.cjs → ProfileScreen-DsEH0aZU.cjs} +4 -4
- package/dist/{ProfileScreen-CTLnU4hc.cjs.map → ProfileScreen-DsEH0aZU.cjs.map} +1 -1
- package/dist/QuickLinksWidget-BwEGtrV0.cjs +563 -0
- package/dist/QuickLinksWidget-BwEGtrV0.cjs.map +1 -0
- package/dist/QuickLinksWidget-D8RlDvkB.mjs +546 -0
- package/dist/QuickLinksWidget-D8RlDvkB.mjs.map +1 -0
- package/dist/{QuickShareWidget-CkPsax9Z.mjs → QuickShareWidget-BURtESV2.mjs} +1 -1
- package/dist/{QuickShareWidget-CkPsax9Z.mjs.map → QuickShareWidget-BURtESV2.mjs.map} +1 -1
- package/dist/{QuickShareWidget-BwOhBs6H.cjs → QuickShareWidget-D171Z9mX.cjs} +1 -1
- package/dist/{QuickShareWidget-BwOhBs6H.cjs.map → QuickShareWidget-D171Z9mX.cjs.map} +1 -1
- package/dist/{RecentActivityWidget-Bg7N2Lpp.cjs → RecentActivityWidget-BmE7_-iJ.cjs} +1 -1
- package/dist/{RecentActivityWidget-Bg7N2Lpp.cjs.map → RecentActivityWidget-BmE7_-iJ.cjs.map} +1 -1
- package/dist/{RecentActivityWidget-8LkuMmbc.mjs → RecentActivityWidget-Dy5SAx61.mjs} +1 -1
- package/dist/{RecentActivityWidget-8LkuMmbc.mjs.map → RecentActivityWidget-Dy5SAx61.mjs.map} +1 -1
- package/dist/{ScreenHeaderContext-FYyYk97y.mjs → ScreenHeaderContext-BDjNSUfr.mjs} +1 -1
- package/dist/{ScreenHeaderContext-FYyYk97y.mjs.map → ScreenHeaderContext-BDjNSUfr.mjs.map} +1 -1
- package/dist/{ScreenHeaderContext-DA8cEfP-.cjs → ScreenHeaderContext-BXgWydjB.cjs} +1 -1
- package/dist/{ScreenHeaderContext-DA8cEfP-.cjs.map → ScreenHeaderContext-BXgWydjB.cjs.map} +1 -1
- package/dist/{ScreenRenderer-Cv2rxvtF.mjs → ScreenRenderer-BqDTKZEZ.mjs} +2 -1
- package/dist/ScreenRenderer-BqDTKZEZ.mjs.map +1 -0
- package/dist/{ScreenRenderer-DfeRRgBO.cjs → ScreenRenderer-Cg85jtXq.cjs} +2 -1
- package/dist/ScreenRenderer-Cg85jtXq.cjs.map +1 -0
- package/dist/{SearchSort-CPkF1EaA.cjs → SearchSort-DHDDqero.cjs} +1 -1
- package/dist/{SearchSort-CPkF1EaA.cjs.map → SearchSort-DHDDqero.cjs.map} +1 -1
- package/dist/{SearchSort-YYd9-Hdf.mjs → SearchSort-DXBt-uj0.mjs} +1 -1
- package/dist/{SearchSort-YYd9-Hdf.mjs.map → SearchSort-DXBt-uj0.mjs.map} +1 -1
- package/dist/{SeparatorWidget-DeCY23G9.mjs → SeparatorWidget-CheNBJwz.mjs} +1 -1
- package/dist/{SeparatorWidget-DeCY23G9.mjs.map → SeparatorWidget-CheNBJwz.mjs.map} +1 -1
- package/dist/{SeparatorWidget-R9PjLUJh.cjs → SeparatorWidget-CjVHbHzQ.cjs} +1 -1
- package/dist/{SeparatorWidget-R9PjLUJh.cjs.map → SeparatorWidget-CjVHbHzQ.cjs.map} +1 -1
- package/dist/{ShareablesScreen-DRpf5u05.mjs → ShareablesScreen-CW1e9x4K.mjs} +7 -7
- package/dist/{ShareablesScreen-DRpf5u05.mjs.map → ShareablesScreen-CW1e9x4K.mjs.map} +1 -1
- package/dist/ShareablesScreen-D1J2Kljk.mjs +15 -0
- package/dist/{ShareablesScreen-D9Q0dQhz.cjs → ShareablesScreen-DC8xXUo4.cjs} +7 -7
- package/dist/{ShareablesScreen-D9Q0dQhz.cjs.map → ShareablesScreen-DC8xXUo4.cjs.map} +1 -1
- package/dist/ShareablesScreen-smU5pGyH.cjs +17 -0
- package/dist/{ShopScreen-B6U1MKM8.cjs → ShopScreen-BBPH0l23.cjs} +18 -17
- package/dist/{ShopScreen-r0nkMVtJ.cjs → ShopScreen-C6UUeGA9.cjs} +7 -7
- package/dist/{ShopScreen-r0nkMVtJ.cjs.map → ShopScreen-C6UUeGA9.cjs.map} +1 -1
- package/dist/{ShopScreen-BC1eEfH1.mjs → ShopScreen-CWCPGEbn.mjs} +7 -7
- package/dist/{ShopScreen-BC1eEfH1.mjs.map → ShopScreen-CWCPGEbn.mjs.map} +1 -1
- package/dist/{SpacerWidget-CvuJeeAj.mjs → SpacerWidget-D-WjN1xb.mjs} +1 -1
- package/dist/{SpacerWidget-CvuJeeAj.mjs.map → SpacerWidget-D-WjN1xb.mjs.map} +1 -1
- package/dist/{SpacerWidget-CYHjTF38.cjs → SpacerWidget-D9lOLPr5.cjs} +1 -1
- package/dist/{SpacerWidget-CYHjTF38.cjs.map → SpacerWidget-D9lOLPr5.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-oMAid0AM.cjs → SubscriptionsScreen-8zup9pEX.cjs} +5 -5
- package/dist/{SubscriptionsScreen-rYK8dckl.mjs → SubscriptionsScreen-CwUdB9rW.mjs} +7 -7
- package/dist/{SubscriptionsScreen-rYK8dckl.mjs.map → SubscriptionsScreen-CwUdB9rW.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-C1GXipTn.cjs → SubscriptionsScreen-DKyatNoJ.cjs} +8 -8
- package/dist/{SubscriptionsScreen-C1GXipTn.cjs.map → SubscriptionsScreen-DKyatNoJ.cjs.map} +1 -1
- package/dist/{TableWidget-CT7Ydlw8.cjs → TableWidget-C2BG7wMg.cjs} +1 -1
- package/dist/{TableWidget-BAwpJ-Vb.mjs → TableWidget-CDVOq4aN.mjs} +1 -1
- package/dist/{TableWidget-BAwpJ-Vb.mjs.map → TableWidget-CDVOq4aN.mjs.map} +1 -1
- package/dist/{TableWidget-QlLGELmp.cjs → TableWidget-D5gAsgv6.cjs} +1 -1
- package/dist/{TableWidget-QlLGELmp.cjs.map → TableWidget-D5gAsgv6.cjs.map} +1 -1
- package/dist/{ToDoWidget-DT30Nnjt.mjs → ToDoWidget-BRNDE3MH.mjs} +1 -1
- package/dist/{ToDoWidget-DT30Nnjt.mjs.map → ToDoWidget-BRNDE3MH.mjs.map} +1 -1
- package/dist/{ToDoWidget-Tcy4VK1v.cjs → ToDoWidget-x86UGKLQ.cjs} +1 -1
- package/dist/{ToDoWidget-Tcy4VK1v.cjs.map → ToDoWidget-x86UGKLQ.cjs.map} +1 -1
- package/dist/{UpgradeScreen-BZ92a6w9.cjs → UpgradeScreen-BdY0rCoF.cjs} +1 -1
- package/dist/{UpgradeScreen-CNieK9ud.mjs → UpgradeScreen-Dau5Elx4.mjs} +1 -1
- package/dist/{UpgradeScreen-CNieK9ud.mjs.map → UpgradeScreen-Dau5Elx4.mjs.map} +1 -1
- package/dist/{UpgradeScreen-BEHFQRlO.cjs → UpgradeScreen-DrBa2uzD.cjs} +1 -1
- package/dist/{UpgradeScreen-BEHFQRlO.cjs.map → UpgradeScreen-DrBa2uzD.cjs.map} +1 -1
- package/dist/{VideoWidget-CK4I8Xmv.cjs → VideoWidget-BIokMYTX.cjs} +1 -1
- package/dist/{VideoWidget-CK4I8Xmv.cjs.map → VideoWidget-BIokMYTX.cjs.map} +1 -1
- package/dist/{VideoWidget-BE_cv0Fm.mjs → VideoWidget-BMIt-eiQ.mjs} +1 -1
- package/dist/{VideoWidget-BE_cv0Fm.mjs.map → VideoWidget-BMIt-eiQ.mjs.map} +1 -1
- package/dist/{dist-BRT-FAUb.cjs → dist-CGuUUVNt.cjs} +1 -1
- package/dist/{dist-BRT-FAUb.cjs.map → dist-CGuUUVNt.cjs.map} +1 -1
- package/dist/{dist-DBPpJ567.mjs → dist-Cis8L6HV.mjs} +2 -2
- package/dist/{dist-DBPpJ567.mjs.map → dist-Cis8L6HV.mjs.map} +1 -1
- package/dist/{dist-BETEuYfn.mjs → dist-D39Yezrv.mjs} +1 -1
- package/dist/{dist-BETEuYfn.mjs.map → dist-D39Yezrv.mjs.map} +1 -1
- package/dist/{dist-Y1iryX8H.cjs → dist-DDZMFlal.cjs} +2 -2
- package/dist/{dist-Y1iryX8H.cjs.map → dist-DDZMFlal.cjs.map} +1 -1
- package/dist/{dist-Ck1Xpuzh.cjs → dist-DWs3-WOI.cjs} +1 -1
- package/dist/{dist-Ck1Xpuzh.cjs.map → dist-DWs3-WOI.cjs.map} +1 -1
- package/dist/{es-Dr47illR.cjs → es-DHLLltoR.cjs} +1 -1
- package/dist/{es-Dr47illR.cjs.map → es-DHLLltoR.cjs.map} +1 -1
- package/dist/{format-C3sl4r8U.cjs → format-B8vxOIbt.cjs} +1 -1
- package/dist/{format-C3sl4r8U.cjs.map → format-B8vxOIbt.cjs.map} +1 -1
- package/dist/index.cjs +66 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +124 -15
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +124 -15
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +64 -63
- package/dist/index.mjs.map +1 -1
- package/dist/{order-status-badge-CPPesrcx.cjs → order-status-badge-CAu3UIzD.cjs} +3 -3
- package/dist/{order-status-badge-CPPesrcx.cjs.map → order-status-badge-CAu3UIzD.cjs.map} +1 -1
- package/dist/{order-status-badge-B2_tZYhG.mjs → order-status-badge-b0F_B7mu.mjs} +3 -3
- package/dist/{order-status-badge-B2_tZYhG.mjs.map → order-status-badge-b0F_B7mu.mjs.map} +1 -1
- package/dist/{sortable.esm-DFTEWOHN.mjs → sortable.esm-CJLSD-Ce.mjs} +1 -1
- package/dist/{sortable.esm-DFTEWOHN.mjs.map → sortable.esm-CJLSD-Ce.mjs.map} +1 -1
- package/dist/{use-account-8Bv6INGF.cjs → use-account-C5QI6NSe.cjs} +1 -1
- package/dist/{use-account-8Bv6INGF.cjs.map → use-account-C5QI6NSe.cjs.map} +1 -1
- package/dist/{use-account-B16Tor2Q.mjs → use-account-Cvig0exB.mjs} +1 -1
- package/dist/{use-account-B16Tor2Q.mjs.map → use-account-Cvig0exB.mjs.map} +1 -1
- package/dist/{use-mysite-portal-axe_PFzR.mjs → use-mysite-portal-BV-BP3CE.mjs} +1 -1
- package/dist/{use-mysite-portal-axe_PFzR.mjs.map → use-mysite-portal-BV-BP3CE.mjs.map} +1 -1
- package/dist/{use-mysite-portal-CJBowMpK.cjs → use-mysite-portal-DzDYRU0u.cjs} +1 -1
- package/dist/{use-mysite-portal-CJBowMpK.cjs.map → use-mysite-portal-DzDYRU0u.cjs.map} +1 -1
- package/dist/{use-store-CdYGxnIk.cjs → use-store-BLcehk1A.cjs} +1 -1
- package/dist/{use-store-CdYGxnIk.cjs.map → use-store-BLcehk1A.cjs.map} +1 -1
- package/dist/{use-store-BnHhQDYo.mjs → use-store-efmQhKpB.mjs} +1 -1
- package/dist/{use-store-BnHhQDYo.mjs.map → use-store-efmQhKpB.mjs.map} +1 -1
- package/package.json +12 -12
- package/dist/MySiteWidget-CEkSJtYk.cjs +0 -299
- package/dist/MySiteWidget-CEkSJtYk.cjs.map +0 -1
- package/dist/MySiteWidget-DePO8vUK.mjs +0 -282
- package/dist/MySiteWidget-DePO8vUK.mjs.map +0 -1
- package/dist/OrdersScreen-CH4wrbZJ.cjs +0 -9
- package/dist/ProductsScreen-A9LG5Pk7.mjs +0 -13
- package/dist/ProductsScreen-DFFOXSgX.cjs +0 -15
- package/dist/ScreenRenderer-Cv2rxvtF.mjs.map +0 -1
- package/dist/ScreenRenderer-DfeRRgBO.cjs.map +0 -1
- package/dist/ShareablesScreen-CoOLXqJ6.cjs +0 -17
- package/dist/ShareablesScreen-ysqC_x6z.mjs +0 -15
|
@@ -0,0 +1,584 @@
|
|
|
1
|
+
const require_chunk = require("./chunk-9hOWP6kD.cjs");
|
|
2
|
+
const require_registry_context = require("./registry-context-RWj2xJlC.cjs");
|
|
3
|
+
const require_error_state = require("./error-state-C-AalLnz.cjs");
|
|
4
|
+
const require_registries = require("./registries-CpUM406S.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let _tanstack_react_query = require("@tanstack/react-query");
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let lucide_react = require("lucide-react");
|
|
9
|
+
let qrcode_react = require("qrcode.react");
|
|
10
|
+
//#region ../widgets/src/hooks/use-mysite.preview.ts
|
|
11
|
+
const PREVIEW_DATA = {
|
|
12
|
+
url: "https://mysite.example.com",
|
|
13
|
+
views: 1248,
|
|
14
|
+
leads: 43,
|
|
15
|
+
userName: "Jane"
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region ../widgets/src/hooks/use-mysite.ts
|
|
19
|
+
function useMySite() {
|
|
20
|
+
const widgetsApi = require_error_state.useWidgetsApi();
|
|
21
|
+
const { isPreview } = require_error_state.useWidgetPreviewContext();
|
|
22
|
+
const { baseUrl } = require_registry_context.useDataSourceRegistryConfig();
|
|
23
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
24
|
+
queryKey: [
|
|
25
|
+
"portal-widget-use",
|
|
26
|
+
"mysite",
|
|
27
|
+
isPreview ? "preview" : baseUrl
|
|
28
|
+
],
|
|
29
|
+
queryFn: ({ signal }) => widgetsApi.fetchMySite(signal),
|
|
30
|
+
enabled: !isPreview,
|
|
31
|
+
...isPreview && { placeholderData: PREVIEW_DATA }
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region ../widgets/src/widgets/MySiteWidget.tsx
|
|
36
|
+
var MySiteWidget_exports = /* @__PURE__ */ require_chunk.__exportAll({
|
|
37
|
+
MySiteWidget: () => MySiteWidget,
|
|
38
|
+
mySiteWidgetPropertySchema: () => mySiteWidgetPropertySchema
|
|
39
|
+
});
|
|
40
|
+
const formatCompactNumber = (n) => {
|
|
41
|
+
const value = n ?? 0;
|
|
42
|
+
if (value < 1e3) return value.toLocaleString();
|
|
43
|
+
if (value < 1e4) return `${(value / 1e3).toFixed(1)}k`;
|
|
44
|
+
if (value < 1e6) return `${Math.round(value / 1e3)}k`;
|
|
45
|
+
return `${(value / 1e6).toFixed(1)}m`;
|
|
46
|
+
};
|
|
47
|
+
const splitUrl = (url) => {
|
|
48
|
+
try {
|
|
49
|
+
const parsed = new URL(url);
|
|
50
|
+
return {
|
|
51
|
+
prefix: `${parsed.protocol}//${parsed.host}`,
|
|
52
|
+
path: `${parsed.pathname}${parsed.search}${parsed.hash}`.replace(/^\/$/, "") || ""
|
|
53
|
+
};
|
|
54
|
+
} catch {
|
|
55
|
+
return {
|
|
56
|
+
prefix: "",
|
|
57
|
+
path: url
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
function MySiteWidget({ background = {
|
|
62
|
+
type: "solid",
|
|
63
|
+
color: "background"
|
|
64
|
+
}, textColor = "foreground", accentColor = "primary", borderRadius = "xl", showPreview = true, showAnalytics = true, showLiveBadge = true, showQR = true, className, ...props }) {
|
|
65
|
+
const { copyState, markCopied } = useTimedCopyState(1600);
|
|
66
|
+
const { rootRef: widgetRootRef, isWide } = useIsContainerWide(720);
|
|
67
|
+
const { frameRef: previewFrameRef, scale, iframeHeight } = useScaledIframePreview({
|
|
68
|
+
viewportWidth: 1280,
|
|
69
|
+
minIframeHeight: 500,
|
|
70
|
+
resetKey: isWide
|
|
71
|
+
});
|
|
72
|
+
const backgroundColor = background.color || "background";
|
|
73
|
+
const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
|
|
74
|
+
const { data: mySite, isLoading, isError } = useMySite();
|
|
75
|
+
const { isPreview } = require_error_state.useWidgetPreviewContext();
|
|
76
|
+
const { hasRealSite, url, views, leads } = useRealMySiteData(mySite, isPreview);
|
|
77
|
+
const { previewUrl, hostLabel, urlPrefix, urlPath } = useMySiteDisplayUrls(url);
|
|
78
|
+
const showDashboardLayout = isWide && hasRealSite;
|
|
79
|
+
const showStats = showAnalytics && hasRealSite;
|
|
80
|
+
const showFooter = hasRealSite;
|
|
81
|
+
const handleCopy = async () => {
|
|
82
|
+
if (!url) return;
|
|
83
|
+
try {
|
|
84
|
+
await navigator.clipboard.writeText(url);
|
|
85
|
+
markCopied();
|
|
86
|
+
} catch (error) {
|
|
87
|
+
console.error("Failed to copy MySite URL:", error);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
if (!isLoading && !isError && !isPreview && !hasRealSite) return null;
|
|
91
|
+
const divider = { borderTop: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` };
|
|
92
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
93
|
+
ref: widgetRootRef,
|
|
94
|
+
className: `@container relative overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} ${className ?? ""}`,
|
|
95
|
+
style: {
|
|
96
|
+
backgroundImage,
|
|
97
|
+
boxShadow: `0 1px 2px rgba(15,23,42,0.04), 0 20px 40px -24px rgba(15,23,42,0.16), inset 0 0 0 1px color-mix(in oklch, var(--color-${textColor}) 7%, transparent)`
|
|
98
|
+
},
|
|
99
|
+
...props,
|
|
100
|
+
children: isLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MySiteSkeleton, {
|
|
101
|
+
textColor,
|
|
102
|
+
accentColor,
|
|
103
|
+
borderRadius
|
|
104
|
+
}) : isError ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
105
|
+
className: "p-6",
|
|
106
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_error_state.ErrorState, {})
|
|
107
|
+
}) : showDashboardLayout ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
108
|
+
className: "flex items-stretch",
|
|
109
|
+
children: [showPreview && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
110
|
+
className: "relative isolate shrink-0 bg-white",
|
|
111
|
+
style: {
|
|
112
|
+
width: "45%",
|
|
113
|
+
borderRight: `1px solid color-mix(in oklch, var(--color-${textColor}) 10%, transparent)`
|
|
114
|
+
},
|
|
115
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
116
|
+
ref: previewFrameRef,
|
|
117
|
+
className: "relative h-full w-full overflow-hidden bg-white",
|
|
118
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("iframe", {
|
|
119
|
+
className: "pointer-events-none absolute top-0 left-0 origin-top-left bg-white",
|
|
120
|
+
src: previewUrl,
|
|
121
|
+
title: `${hostLabel} preview`,
|
|
122
|
+
loading: "lazy",
|
|
123
|
+
style: {
|
|
124
|
+
width: "1280px",
|
|
125
|
+
height: `${iframeHeight}px`,
|
|
126
|
+
transform: `scale(${scale})`
|
|
127
|
+
}
|
|
128
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
129
|
+
"aria-hidden": "true",
|
|
130
|
+
className: "pointer-events-none absolute inset-x-0 top-0 h-px",
|
|
131
|
+
style: { background: "linear-gradient(to right, transparent, rgba(255,255,255,0.7), transparent)" }
|
|
132
|
+
})]
|
|
133
|
+
}), showLiveBadge && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
134
|
+
className: "absolute top-4 left-4",
|
|
135
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
136
|
+
className: `inline-flex items-center gap-1.5 rounded-${borderRadius} bg-white px-2.5 py-1 text-[10px] font-bold tracking-[0.18em] text-slate-700 uppercase`,
|
|
137
|
+
style: { boxShadow: "0 2px 8px rgba(15,23,42,0.08), inset 0 0 0 1px rgba(15,23,42,0.06)" },
|
|
138
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
139
|
+
"aria-hidden": "true",
|
|
140
|
+
className: `bg-${accentColor} size-1.5 rounded-full`
|
|
141
|
+
}), "Live"]
|
|
142
|
+
})
|
|
143
|
+
})]
|
|
144
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
145
|
+
className: "flex min-w-0 flex-1 flex-col gap-3.5 p-5 sm:p-6",
|
|
146
|
+
children: [
|
|
147
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
148
|
+
className: `text-[10px] font-bold tracking-[0.2em] uppercase text-${textColor}/55`,
|
|
149
|
+
children: "Your Storefront"
|
|
150
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
|
|
151
|
+
className: `mt-1 text-[22px] leading-[1.1] font-bold tracking-[-0.02em] text-${textColor}`,
|
|
152
|
+
children: "You’re live"
|
|
153
|
+
})] }),
|
|
154
|
+
hasRealSite && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
155
|
+
type: "button",
|
|
156
|
+
onClick: handleCopy,
|
|
157
|
+
"aria-label": copyState === "copied" ? "Copied to clipboard" : "Copy site link",
|
|
158
|
+
className: `group/copy flex items-center gap-2.5 rounded-${borderRadius} px-3 py-2 text-[13px] transition-all duration-300 focus:outline-none focus-visible:ring-2 focus-visible:ring-${accentColor}/40 ${copyState === "copied" ? `bg-${accentColor}/10` : `bg-${textColor}/5 hover:bg-${textColor}/10`}`,
|
|
159
|
+
style: { boxShadow: `inset 0 0 0 1px color-mix(in oklch, var(--color-${textColor}) 10%, transparent)` },
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Globe, { className: `size-3.5 shrink-0 text-${textColor}/55` }),
|
|
162
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
163
|
+
className: `min-w-0 flex-1 truncate text-left font-semibold tabular-nums text-${textColor}`,
|
|
164
|
+
children: [hostLabel, urlPath]
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
167
|
+
className: `flex size-7 shrink-0 items-center justify-center rounded-full transition-all duration-300 ${copyState === "copied" ? `bg-${accentColor} text-${accentColor}-foreground` : `bg-${textColor} text-${backgroundColor}`}`,
|
|
168
|
+
children: copyState === "copied" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "size-3" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Copy, { className: "size-3" })
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
}),
|
|
172
|
+
showStats && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { style: { borderTop: `1px solid color-mix(in oklch, var(--color-${textColor}) 10%, transparent)` } }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
173
|
+
className: "grid grid-cols-2 gap-4",
|
|
174
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
175
|
+
className: `text-[10px] font-bold tracking-[0.18em] uppercase text-${textColor}/55`,
|
|
176
|
+
children: "Visitors"
|
|
177
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
178
|
+
className: `mt-1 text-[32px] leading-none font-bold tracking-[-0.02em] tabular-nums text-${textColor}`,
|
|
179
|
+
children: formatCompactNumber(views)
|
|
180
|
+
})] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
181
|
+
className: `text-[10px] font-bold tracking-[0.18em] uppercase text-${textColor}/55`,
|
|
182
|
+
children: "Leads"
|
|
183
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
184
|
+
className: `mt-1 text-[32px] leading-none font-bold tracking-[-0.02em] tabular-nums text-${textColor}`,
|
|
185
|
+
children: formatCompactNumber(leads)
|
|
186
|
+
})] })]
|
|
187
|
+
})] }),
|
|
188
|
+
hasRealSite && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
189
|
+
href: url,
|
|
190
|
+
target: "_blank",
|
|
191
|
+
rel: "noopener noreferrer",
|
|
192
|
+
className: `group/visit mt-auto inline-flex items-center justify-between gap-2 rounded-${borderRadius} bg-${accentColor} px-4 py-3 text-[13px] font-bold text-${accentColor}-foreground transition-all duration-300 hover:shadow-[0_12px_28px_-8px_color-mix(in_oklch,var(--color-${accentColor})_60%,transparent)]`,
|
|
193
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "Open the live site" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "size-3.5 transition-transform duration-300 group-hover/visit:translate-x-0.5 group-hover/visit:-translate-y-0.5" })]
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
})]
|
|
197
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
198
|
+
className: "flex flex-col",
|
|
199
|
+
children: [showPreview && (hasRealSite || isPreview) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
200
|
+
className: "relative isolate bg-white",
|
|
201
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
202
|
+
ref: previewFrameRef,
|
|
203
|
+
className: "relative aspect-[16/10] w-full overflow-hidden bg-white",
|
|
204
|
+
children: [isPreview || !hasRealSite ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MySitePreviewPlaceholder, { hostLabel }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("iframe", {
|
|
205
|
+
className: "pointer-events-none absolute top-0 left-0 origin-top-left bg-white",
|
|
206
|
+
src: previewUrl,
|
|
207
|
+
title: `${hostLabel} preview`,
|
|
208
|
+
loading: "lazy",
|
|
209
|
+
style: {
|
|
210
|
+
width: "1280px",
|
|
211
|
+
height: `${iframeHeight}px`,
|
|
212
|
+
transform: `scale(${scale})`
|
|
213
|
+
}
|
|
214
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
215
|
+
"aria-hidden": "true",
|
|
216
|
+
className: "pointer-events-none absolute inset-x-0 top-0 h-px",
|
|
217
|
+
style: { background: "linear-gradient(to right, transparent, rgba(255,255,255,0.7), transparent)" }
|
|
218
|
+
})]
|
|
219
|
+
}), showLiveBadge && hasRealSite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
220
|
+
className: "absolute top-3 right-3",
|
|
221
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
222
|
+
className: `inline-flex items-center gap-1.5 rounded-${borderRadius} bg-white px-2 py-1 text-[9px] font-bold tracking-[0.18em] text-slate-700 uppercase`,
|
|
223
|
+
style: { boxShadow: "0 2px 8px rgba(15,23,42,0.08), inset 0 0 0 1px rgba(15,23,42,0.06)" },
|
|
224
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
225
|
+
"aria-hidden": "true",
|
|
226
|
+
className: `bg-${accentColor} size-1.5 rounded-full`
|
|
227
|
+
}), "Live"]
|
|
228
|
+
})
|
|
229
|
+
})]
|
|
230
|
+
}), showFooter && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
231
|
+
className: "flex items-stretch",
|
|
232
|
+
style: {
|
|
233
|
+
borderTop: `1px solid color-mix(in oklch, var(--color-${textColor}) 10%, transparent)`,
|
|
234
|
+
background: `color-mix(in oklch, var(--color-${textColor}) 3%, transparent)`
|
|
235
|
+
},
|
|
236
|
+
children: [showQR && hasRealSite && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
237
|
+
className: "flex shrink-0 items-center justify-center p-4",
|
|
238
|
+
style: { borderRight: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` },
|
|
239
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
240
|
+
className: `flex flex-col items-center gap-1.5 rounded-${borderRadius} bg-white p-2.5`,
|
|
241
|
+
style: { boxShadow: "0 2px 8px rgba(15,23,42,0.05), inset 0 0 0 1px rgba(15,23,42,0.06)" },
|
|
242
|
+
role: "img",
|
|
243
|
+
"aria-label": "QR code for your site",
|
|
244
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(qrcode_react.QRCodeSVG, {
|
|
245
|
+
value: url,
|
|
246
|
+
size: 64,
|
|
247
|
+
level: "H",
|
|
248
|
+
bgColor: "#ffffff",
|
|
249
|
+
fgColor: "#0f172a"
|
|
250
|
+
})
|
|
251
|
+
})
|
|
252
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
253
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
254
|
+
children: [showStats && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
255
|
+
className: "grid grid-cols-2",
|
|
256
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(StatCell, {
|
|
257
|
+
label: "Visitors",
|
|
258
|
+
value: formatCompactNumber(views),
|
|
259
|
+
textColor
|
|
260
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StatCell, {
|
|
261
|
+
label: "Leads",
|
|
262
|
+
value: formatCompactNumber(leads),
|
|
263
|
+
textColor,
|
|
264
|
+
leftDivider: true
|
|
265
|
+
})]
|
|
266
|
+
}), hasRealSite && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
267
|
+
className: "flex items-center gap-2 px-4 py-3",
|
|
268
|
+
style: showStats ? divider : void 0,
|
|
269
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
270
|
+
type: "button",
|
|
271
|
+
onClick: handleCopy,
|
|
272
|
+
"aria-label": copyState === "copied" ? "Copied to clipboard" : "Copy site link",
|
|
273
|
+
className: `group/copy flex min-w-0 flex-1 items-center justify-between gap-2 rounded-${borderRadius} px-3 py-2 text-left text-[12px] transition-all duration-300 focus:outline-none focus-visible:ring-2 focus-visible:ring-${accentColor}/40 ${copyState === "copied" ? `bg-${accentColor}/10` : `bg-${textColor}/5 hover:bg-${textColor}/10`}`,
|
|
274
|
+
style: { boxShadow: `inset 0 0 0 1px color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` },
|
|
275
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
276
|
+
className: `min-w-0 flex-1 truncate font-medium text-${textColor}`,
|
|
277
|
+
children: [urlPrefix && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
278
|
+
className: `text-${textColor}/45`,
|
|
279
|
+
children: urlPrefix
|
|
280
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
281
|
+
className: "font-semibold",
|
|
282
|
+
children: urlPath || "/"
|
|
283
|
+
})]
|
|
284
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
285
|
+
className: `flex size-6 shrink-0 items-center justify-center rounded-full transition-all duration-300 ${copyState === "copied" ? `scale-105 bg-${accentColor} text-${accentColor}-foreground` : `bg-${textColor}/10 text-${textColor} group-hover/copy:bg-${textColor}/20`}`,
|
|
286
|
+
children: copyState === "copied" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, { className: "size-3" }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Copy, { className: "size-3" })
|
|
287
|
+
})]
|
|
288
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
289
|
+
href: url,
|
|
290
|
+
target: "_blank",
|
|
291
|
+
rel: "noopener noreferrer",
|
|
292
|
+
"aria-label": "Visit site",
|
|
293
|
+
className: `group/visit inline-flex size-9 shrink-0 items-center justify-center rounded-${borderRadius} bg-${accentColor} text-${accentColor}-foreground transition-all duration-300 hover:shadow-[0_10px_24px_-8px_color-mix(in_oklch,var(--color-${accentColor})_60%,transparent)]`,
|
|
294
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpRight, { className: "size-3.5 transition-transform duration-300 group-hover/visit:translate-x-0.5 group-hover/visit:-translate-y-0.5" })
|
|
295
|
+
})]
|
|
296
|
+
})]
|
|
297
|
+
})]
|
|
298
|
+
})]
|
|
299
|
+
})
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
function MySitePreviewPlaceholder({ hostLabel }) {
|
|
303
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
304
|
+
className: "bg-muted/30 absolute inset-0 flex flex-col items-center justify-center gap-3 p-4 text-center",
|
|
305
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
306
|
+
className: "bg-muted flex h-10 w-10 items-center justify-center rounded-full",
|
|
307
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Globe, { className: "text-muted-foreground h-5 w-5" })
|
|
308
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
309
|
+
className: "text-foreground text-sm font-medium",
|
|
310
|
+
children: "My Site"
|
|
311
|
+
}), hostLabel && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
312
|
+
className: "text-muted-foreground mt-0.5 text-xs",
|
|
313
|
+
children: hostLabel
|
|
314
|
+
})] })]
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
function StatCell({ label, value, textColor, leftDivider }) {
|
|
318
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
319
|
+
className: "flex flex-col gap-1.5 px-5 py-4",
|
|
320
|
+
style: leftDivider ? { borderLeft: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` } : void 0,
|
|
321
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
322
|
+
className: `text-[10px] font-bold tracking-[0.16em] uppercase text-${textColor}/55`,
|
|
323
|
+
children: label
|
|
324
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
325
|
+
className: `text-[22px] leading-none font-bold tracking-[-0.02em] tabular-nums text-${textColor}`,
|
|
326
|
+
children: value
|
|
327
|
+
})]
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
function MySiteSkeleton({ textColor, accentColor, borderRadius }) {
|
|
331
|
+
const divider = { borderTop: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` };
|
|
332
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
333
|
+
className: "flex animate-pulse flex-col",
|
|
334
|
+
"aria-busy": "true",
|
|
335
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `relative aspect-[16/10] w-full overflow-hidden bg-${textColor}/5` }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
336
|
+
className: "flex items-stretch",
|
|
337
|
+
style: {
|
|
338
|
+
borderTop: `1px solid color-mix(in oklch, var(--color-${textColor}) 10%, transparent)`,
|
|
339
|
+
background: `color-mix(in oklch, var(--color-${textColor}) 3%, transparent)`
|
|
340
|
+
},
|
|
341
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
342
|
+
className: "flex shrink-0 items-center justify-center p-4",
|
|
343
|
+
style: { borderRight: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` },
|
|
344
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `size-[84px] rounded-${borderRadius} bg-${textColor}/10` })
|
|
345
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
346
|
+
className: "flex min-w-0 flex-1 flex-col",
|
|
347
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
348
|
+
className: "grid grid-cols-2",
|
|
349
|
+
children: [0, 1].map((i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
350
|
+
className: "flex flex-col gap-2 px-5 py-4",
|
|
351
|
+
style: i > 0 ? { borderLeft: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` } : void 0,
|
|
352
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `h-2 w-14 rounded-full bg-${textColor}/10` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `h-5 w-16 rounded-full bg-${textColor}/15` })]
|
|
353
|
+
}, i))
|
|
354
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
355
|
+
className: "flex items-center gap-2 px-4 py-3",
|
|
356
|
+
style: divider,
|
|
357
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `h-8 flex-1 rounded-${borderRadius} bg-${textColor}/10` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: `size-9 shrink-0 rounded-${borderRadius} bg-${accentColor}/30` })]
|
|
358
|
+
})]
|
|
359
|
+
})]
|
|
360
|
+
})]
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
function useRealMySiteData(mySite, isPreview) {
|
|
364
|
+
return (0, react.useMemo)(() => {
|
|
365
|
+
if (isPreview || !mySite?.url) return {
|
|
366
|
+
hasRealSite: false,
|
|
367
|
+
url: "",
|
|
368
|
+
views: 0,
|
|
369
|
+
leads: 0,
|
|
370
|
+
userName: ""
|
|
371
|
+
};
|
|
372
|
+
return {
|
|
373
|
+
hasRealSite: true,
|
|
374
|
+
url: mySite.url,
|
|
375
|
+
views: mySite.views,
|
|
376
|
+
leads: mySite.leads,
|
|
377
|
+
userName: mySite.userName
|
|
378
|
+
};
|
|
379
|
+
}, [isPreview, mySite]);
|
|
380
|
+
}
|
|
381
|
+
function useMySiteDisplayUrls(url) {
|
|
382
|
+
const previewUrl = (0, react.useMemo)(() => {
|
|
383
|
+
if (!url) return "";
|
|
384
|
+
try {
|
|
385
|
+
const urlObj = new URL(url);
|
|
386
|
+
urlObj.searchParams.set("preview", "true");
|
|
387
|
+
return urlObj.toString();
|
|
388
|
+
} catch {
|
|
389
|
+
return url;
|
|
390
|
+
}
|
|
391
|
+
}, [url]);
|
|
392
|
+
const hostLabel = (0, react.useMemo)(() => {
|
|
393
|
+
if (!url) return "";
|
|
394
|
+
try {
|
|
395
|
+
return new URL(url).host;
|
|
396
|
+
} catch {
|
|
397
|
+
return url.replace(/^https?:\/\//, "");
|
|
398
|
+
}
|
|
399
|
+
}, [url]);
|
|
400
|
+
const { prefix: urlPrefix, path: urlPath } = (0, react.useMemo)(() => url ? splitUrl(url) : {
|
|
401
|
+
prefix: "",
|
|
402
|
+
path: ""
|
|
403
|
+
}, [url]);
|
|
404
|
+
return {
|
|
405
|
+
previewUrl,
|
|
406
|
+
hostLabel,
|
|
407
|
+
urlPrefix,
|
|
408
|
+
urlPath
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
function useTimedCopyState(timeoutMs) {
|
|
412
|
+
const [copyState, setCopyState] = (0, react.useState)("idle");
|
|
413
|
+
(0, react.useEffect)(() => {
|
|
414
|
+
if (copyState !== "copied") return;
|
|
415
|
+
const id = window.setTimeout(() => setCopyState("idle"), timeoutMs);
|
|
416
|
+
return () => window.clearTimeout(id);
|
|
417
|
+
}, [copyState, timeoutMs]);
|
|
418
|
+
return {
|
|
419
|
+
copyState,
|
|
420
|
+
markCopied: (0, react.useCallback)(() => {
|
|
421
|
+
setCopyState("copied");
|
|
422
|
+
}, [])
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
const useIsoLayoutEffect = typeof window !== "undefined" ? react.useLayoutEffect : react.useEffect;
|
|
426
|
+
function useIsContainerWide(threshold) {
|
|
427
|
+
const rootRef = (0, react.useRef)(null);
|
|
428
|
+
const [isWide, setIsWide] = (0, react.useState)(false);
|
|
429
|
+
useIsoLayoutEffect(() => {
|
|
430
|
+
const el = rootRef.current;
|
|
431
|
+
if (!el) return;
|
|
432
|
+
const update = () => setIsWide(el.clientWidth >= threshold);
|
|
433
|
+
update();
|
|
434
|
+
const ro = new ResizeObserver(update);
|
|
435
|
+
ro.observe(el);
|
|
436
|
+
return () => ro.disconnect();
|
|
437
|
+
}, [threshold]);
|
|
438
|
+
return {
|
|
439
|
+
rootRef,
|
|
440
|
+
isWide
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
function useScaledIframePreview({ viewportWidth, minIframeHeight, resetKey }) {
|
|
444
|
+
const frameRef = (0, react.useRef)(null);
|
|
445
|
+
const [metrics, setMetrics] = (0, react.useState)({
|
|
446
|
+
scale: .5,
|
|
447
|
+
iframeHeight: minIframeHeight
|
|
448
|
+
});
|
|
449
|
+
(0, react.useEffect)(() => {
|
|
450
|
+
const el = frameRef.current;
|
|
451
|
+
if (!el) return;
|
|
452
|
+
const update = () => {
|
|
453
|
+
const w = el.clientWidth;
|
|
454
|
+
const h = el.clientHeight;
|
|
455
|
+
if (w > 0 && h > 0) {
|
|
456
|
+
const scale = w / viewportWidth;
|
|
457
|
+
setMetrics({
|
|
458
|
+
scale,
|
|
459
|
+
iframeHeight: Math.max(minIframeHeight, h / scale)
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
};
|
|
463
|
+
update();
|
|
464
|
+
const ro = new ResizeObserver(update);
|
|
465
|
+
ro.observe(el);
|
|
466
|
+
return () => ro.disconnect();
|
|
467
|
+
}, [
|
|
468
|
+
viewportWidth,
|
|
469
|
+
minIframeHeight,
|
|
470
|
+
resetKey
|
|
471
|
+
]);
|
|
472
|
+
return {
|
|
473
|
+
frameRef,
|
|
474
|
+
scale: metrics.scale,
|
|
475
|
+
iframeHeight: metrics.iframeHeight
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
const mySiteWidgetPropertySchema = {
|
|
479
|
+
widgetType: "MySiteWidget",
|
|
480
|
+
displayName: "MySite Widget",
|
|
481
|
+
tabsConfig: [{
|
|
482
|
+
id: "styling",
|
|
483
|
+
label: "Styling"
|
|
484
|
+
}],
|
|
485
|
+
fields: [
|
|
486
|
+
{
|
|
487
|
+
key: "showPreview",
|
|
488
|
+
label: "Show Site Preview",
|
|
489
|
+
type: "boolean",
|
|
490
|
+
description: "Show the live iframe preview of the storefront",
|
|
491
|
+
defaultValue: true,
|
|
492
|
+
tab: "styling",
|
|
493
|
+
group: "Display"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
key: "showAnalytics",
|
|
497
|
+
label: "Show Stats",
|
|
498
|
+
type: "boolean",
|
|
499
|
+
description: "Visitors and Leads grid in the footer",
|
|
500
|
+
defaultValue: true,
|
|
501
|
+
tab: "styling",
|
|
502
|
+
group: "Display"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
key: "showLiveBadge",
|
|
506
|
+
label: "Show LIVE Badge",
|
|
507
|
+
type: "boolean",
|
|
508
|
+
description: "Small 'Live' chip in the preview corner",
|
|
509
|
+
defaultValue: true,
|
|
510
|
+
tab: "styling",
|
|
511
|
+
group: "Display"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
key: "showQR",
|
|
515
|
+
label: "Show QR Code",
|
|
516
|
+
type: "boolean",
|
|
517
|
+
description: "Show a scannable QR code in the card footer",
|
|
518
|
+
defaultValue: true,
|
|
519
|
+
tab: "styling",
|
|
520
|
+
group: "Display"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
type: "background",
|
|
524
|
+
key: "background",
|
|
525
|
+
label: "Background",
|
|
526
|
+
description: "Background for the widget container",
|
|
527
|
+
defaultValue: "background",
|
|
528
|
+
tab: "styling",
|
|
529
|
+
group: "Design"
|
|
530
|
+
},
|
|
531
|
+
require_registries.getColorField({
|
|
532
|
+
key: "textColor",
|
|
533
|
+
label: "Text Color",
|
|
534
|
+
description: "Primary text, hairline, and neutral chip color",
|
|
535
|
+
defaultValue: "foreground",
|
|
536
|
+
tab: "styling",
|
|
537
|
+
group: "Design"
|
|
538
|
+
}),
|
|
539
|
+
require_registries.getColorField({
|
|
540
|
+
key: "accentColor",
|
|
541
|
+
label: "Accent Color",
|
|
542
|
+
description: "Drives the Live dot, conversion ring, and Visit CTA",
|
|
543
|
+
defaultValue: "primary",
|
|
544
|
+
tab: "styling",
|
|
545
|
+
group: "Design"
|
|
546
|
+
}),
|
|
547
|
+
{
|
|
548
|
+
key: "separator",
|
|
549
|
+
type: "separator",
|
|
550
|
+
label: "Separator",
|
|
551
|
+
tab: "styling",
|
|
552
|
+
group: "Design"
|
|
553
|
+
},
|
|
554
|
+
require_registries.getBorderRadiusField({
|
|
555
|
+
key: "borderRadius",
|
|
556
|
+
label: "Border Radius",
|
|
557
|
+
description: "Corner radius for the widget and inner chips",
|
|
558
|
+
defaultValue: "xl",
|
|
559
|
+
tab: "styling",
|
|
560
|
+
group: "Design"
|
|
561
|
+
})
|
|
562
|
+
]
|
|
563
|
+
};
|
|
564
|
+
//#endregion
|
|
565
|
+
Object.defineProperty(exports, "MySiteWidget", {
|
|
566
|
+
enumerable: true,
|
|
567
|
+
get: function() {
|
|
568
|
+
return MySiteWidget;
|
|
569
|
+
}
|
|
570
|
+
});
|
|
571
|
+
Object.defineProperty(exports, "MySiteWidget_exports", {
|
|
572
|
+
enumerable: true,
|
|
573
|
+
get: function() {
|
|
574
|
+
return MySiteWidget_exports;
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
Object.defineProperty(exports, "mySiteWidgetPropertySchema", {
|
|
578
|
+
enumerable: true,
|
|
579
|
+
get: function() {
|
|
580
|
+
return mySiteWidgetPropertySchema;
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
|
|
584
|
+
//# sourceMappingURL=MySiteWidget-CDQjyrRA.cjs.map
|