@fluid-app/portal-sdk 0.1.215 → 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-_xK5H6F3.mjs → FluidProvider-D0ZapBR-.mjs} +25 -22
- package/dist/{FluidProvider-_xK5H6F3.mjs.map → FluidProvider-D0ZapBR-.mjs.map} +1 -1
- package/dist/{FluidProvider-CG8EpvkS.cjs → FluidProvider-ZbTGc_uY.cjs} +25 -22
- package/dist/{FluidProvider-CG8EpvkS.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-C58vXVET.mjs → MessagingScreen-B8azvEc0.mjs} +3 -3
- package/dist/{MessagingScreen-C58vXVET.mjs.map → MessagingScreen-B8azvEc0.mjs.map} +1 -1
- package/dist/{MessagingScreen-DgmMx15d.cjs → MessagingScreen-C5QOgB1w.cjs} +16 -15
- package/dist/{MessagingScreen-p-ZeCwpa.cjs → MessagingScreen-CkwCSMou.cjs} +5 -5
- package/dist/{MessagingScreen-p-ZeCwpa.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/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-TLKSlv4_.mjs → ProfileScreen-BhmbCKGd.mjs} +4 -4
- package/dist/{ProfileScreen-TLKSlv4_.mjs.map → ProfileScreen-BhmbCKGd.mjs.map} +1 -1
- package/dist/{ProfileScreen-CfCewCM7.cjs → ProfileScreen-DMmfRQp8.cjs} +15 -14
- package/dist/{ProfileScreen-T7HQoFiw.cjs → ProfileScreen-DsEH0aZU.cjs} +4 -4
- package/dist/{ProfileScreen-T7HQoFiw.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-DLcv_4Iu.cjs → ShopScreen-BBPH0l23.cjs} +17 -16
- package/dist/{ShopScreen-C7aJIMGh.cjs → ShopScreen-C6UUeGA9.cjs} +7 -7
- package/dist/{ShopScreen-C7aJIMGh.cjs.map → ShopScreen-C6UUeGA9.cjs.map} +1 -1
- package/dist/{ShopScreen-u8i7hVdL.mjs → ShopScreen-CWCPGEbn.mjs} +7 -7
- package/dist/{ShopScreen-u8i7hVdL.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 +65 -62
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +120 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +120 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +63 -62
- 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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareablesScreen-D9Q0dQhz.cjs","names":["PortalProductsApiProvider","PortalContentApiProvider","usePortalContentContext","useFilePickerApi","useAccount","useStore","useAppNavigation","usePortalTenantClient","ShareablesCoreProvider","ShareablesUIProvider","toggleFavorite","PORTAL_MYSITE_KEYS","ShareablesApp"],"sources":["../src/screens/ShareablesScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\nimport { PORTAL_MYSITE_KEYS } from \"@fluid-app/mysite-ui/portal/hooks/use-mysite-portal\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { ShareablesCoreProvider } from \"@fluid-app/shareables-core\";\nimport { ShareablesUIProvider, ShareablesApp } from \"@fluid-app/shareables-ui\";\nimport { useFilePickerApi } from \"@fluid-app/file-picker-core\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useAccount } from \"../hooks/use-account\";\nimport { useStore } from \"../hooks/use-store\";\nimport { PortalProductsApiProvider } from \"../products/PortalProductsApiProvider\";\nimport {\n PortalContentApiProvider,\n usePortalContentContext,\n} from \"../content/PortalContentApiProvider\";\nimport { toggleFavorite } from \"../adapters/content-api-adapter\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\n\ntype ShareablesScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\n/**\n * Parse the current shareables sub-route from the full slug.\n *\n * System nav slugs are \"share/products\", \"share/media\", \"share/playlists\".\n * Detail pages append an ID: \"share/products/123\", \"share/media/456\".\n *\n * \"share/products\" → screen=\"products\", detailId=null\n * \"share/products/123\" → screen=\"products\", detailId=\"123\"\n * \"share/media/456\" → screen=\"media\", detailId=\"456\"\n * \"share/playlists\" → screen=\"playlists\", detailId=null\n * \"share/playlists/789\" → screen=\"playlists\", detailId=\"789\"\n * \"share/files\" → screen=\"files\", detailId=null\n * \"share\" → screen=null (default to products)\n */\nfunction parseShareablesRoute(currentSlug: string): {\n screen: string | null;\n detailId: string | null;\n action: string | null;\n} {\n // Strip the \"share\" prefix\n const slugWithoutPrefix = currentSlug.replace(/^share\\/?/, \"\");\n if (!slugWithoutPrefix) {\n return { screen: null, detailId: null, action: null };\n }\n\n const parts = slugWithoutPrefix.split(\"/\");\n const screen = parts[0] || null;\n const detailId = parts[1] || null;\n const action = parts[2] || null;\n return { screen, detailId, action };\n}\n\nexport function ShareablesScreen({\n /* eslint-disable @typescript-eslint/no-unused-vars -- destructured to exclude from divProps spread */\n background,\n textColor,\n accentColor,\n padding,\n borderRadius,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...divProps\n}: ShareablesScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ShareablesScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ShareablesScreenContent(): React.JSX.Element {\n const shareablesCtx = usePortalContentContext();\n const { productsApi: portalProductsApi } = shareablesCtx;\n const filePickerApi = useFilePickerApi();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\n const isCustomer = account?.member_type === \"customer\";\n const client = usePortalTenantClient();\n const queryClient = useQueryClient();\n\n const fetchProducts = useCallback(\n async (search: string, cursor?: string, limit?: number, sort?: string) => {\n if (search) {\n return portalProductsApi.searchProducts(search, { cursor, limit });\n }\n return portalProductsApi.listProducts({ cursor, limit, sort });\n },\n [portalProductsApi],\n );\n\n const fetchProduct = useCallback(\n async (id: string | number) => portalProductsApi.getProduct(id),\n [portalProductsApi],\n );\n\n const { screen, detailId, action } = parseShareablesRoute(currentSlug);\n\n const handleNavigate = useCallback(\n (subScreen: string, id?: string) => {\n const path = id ? `share/${subScreen}/${id}` : `share/${subScreen}`;\n navigate(path);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n if (detailId && screen) {\n navigate(`share/${screen}`);\n } else {\n navigate(\"share/products\");\n }\n }, [navigate, detailId, screen]);\n\n const coreConfig = useMemo(\n () => ({\n user: account ? { id: account.id } : null,\n repContext: true,\n }),\n [account],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: account\n ? {\n id: account.id,\n company: { logo_url: store?.logo_url ?? null },\n }\n : undefined,\n // TODO(portal-tenant): affiliate_id not available from /api/account\n affiliateId: null,\n basePath: \"\",\n navigate: (path: string) => {\n const cleanPath = path.replace(/^\\//, \"\");\n const prefixed = cleanPath.startsWith(\"share/\")\n ? cleanPath\n : `share/${cleanPath}`;\n navigate(prefixed);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n error?: unknown;\n }) => {\n fluidToast({ title: opts.title, type: opts.type });\n if (opts.error) console.error(\"[Shareables]\", opts.error);\n },\n filePickerApi,\n onToggleFavorite: async (params: {\n favoriteableId: number;\n favoriteableType: string;\n }) => {\n const result = await toggleFavorite(\n client,\n params.favoriteableId,\n params.favoriteableType,\n );\n void queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n return result;\n },\n onMySiteShare: async (params: {\n shareLink: string;\n relateable_id: number;\n relateable_type: string;\n }) => {\n await toggleFavorite(\n client,\n params.relateable_id,\n params.relateable_type,\n );\n void queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n onDeletePlaylist: isCustomer\n ? undefined\n : async (playlistId: number) => {\n await shareablesCtx.playlistsAdapter.deletePlaylist(playlistId);\n },\n mediaProductsApi: isCustomer\n ? undefined\n : shareablesCtx.mediaProductsAdapter,\n searchProducts: isCustomer\n ? undefined\n : async (\n query: string,\n options?: { cursor?: string | null; limit?: number },\n ) => {\n // Empty query → listProducts so the tag modal opens with\n // suggestions instead of a blank state. Non-empty → real search.\n // Both APIs forward cursor/limit so the tag modal can paginate.\n const limit = options?.limit ?? 25;\n const cursor = options?.cursor ?? undefined;\n const result =\n query.trim().length > 0\n ? await portalProductsApi.searchProducts(query, {\n cursor,\n limit,\n })\n : await portalProductsApi.listProducts({ cursor, limit });\n // Filter out products without an id — mapping an id-less record\n // to `id: 0` would let a subsequent add/remove tag operation\n // silently run on id=0 (confusing 404/422 at best, incorrect\n // mutation at worst).\n const mapped = (result.products ?? [])\n .map(\n (p: {\n id?: number;\n title?: string;\n name?: string;\n image_url?: string | null;\n price?: string | null;\n }) =>\n p.id != null\n ? {\n id: p.id,\n name: p.name ?? p.title ?? \"Untitled\",\n image_url: p.image_url ?? null,\n price: p.price ?? null,\n }\n : null,\n )\n .filter((p): p is NonNullable<typeof p> => p !== null);\n return {\n products: mapped,\n nextCursor: result.meta?.pagination?.next_cursor ?? null,\n };\n },\n readOnly: isCustomer,\n uploadThumbnail: isCustomer\n ? undefined\n : async (blob: Blob, filename: string) => {\n const formData = new FormData();\n formData.append(\"asset[name]\", filename);\n formData.append(\"asset[file]\", blob, filename);\n const response = await client.requestWithFormData<{\n asset?: { default_variant_url?: string | null };\n }>(\"/api/content/dam/assets\", formData);\n const url = response.asset?.default_variant_url;\n if (!url) {\n // DAM accepted the upload but didn't return a playable URL.\n // Throwing here lets the caller (MediaEditScreen catch handler)\n // surface a toast and keeps the pending thumbnail state clean —\n // returning \"\" silently would corrupt the save payload with an\n // empty thumbnail URL.\n throw new Error(\"Thumbnail upload succeeded but no URL returned\");\n }\n return url;\n },\n }),\n [\n account,\n store,\n navigate,\n filePickerApi,\n isCustomer,\n shareablesCtx.playlistsAdapter,\n shareablesCtx.mediaProductsAdapter,\n portalProductsApi,\n client,\n queryClient,\n ],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ShareablesApp\n screen={screen}\n detailId={detailId}\n action={action}\n companyLogoUrl={undefined}\n countryCode={undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n onNavigate={handleNavigate}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const shareablesScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ShareablesScreen\",\n displayName: \"Shareables Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShareablesScreen-DC8xXUo4.cjs","names":["PortalProductsApiProvider","PortalContentApiProvider","usePortalContentContext","useFilePickerApi","useAccount","useStore","useAppNavigation","usePortalTenantClient","ShareablesCoreProvider","ShareablesUIProvider","toggleFavorite","PORTAL_MYSITE_KEYS","ShareablesApp"],"sources":["../src/screens/ShareablesScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\nimport { PORTAL_MYSITE_KEYS } from \"@fluid-app/mysite-ui/portal/hooks/use-mysite-portal\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { ShareablesCoreProvider } from \"@fluid-app/shareables-core\";\nimport { ShareablesUIProvider, ShareablesApp } from \"@fluid-app/shareables-ui\";\nimport { useFilePickerApi } from \"@fluid-app/file-picker-core\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useAccount } from \"../hooks/use-account\";\nimport { useStore } from \"../hooks/use-store\";\nimport { PortalProductsApiProvider } from \"../products/PortalProductsApiProvider\";\nimport {\n PortalContentApiProvider,\n usePortalContentContext,\n} from \"../content/PortalContentApiProvider\";\nimport { toggleFavorite } from \"../adapters/content-api-adapter\";\nimport { usePortalTenantClient } from \"../providers/PortalTenantClientProvider\";\n\ntype ShareablesScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\n/**\n * Parse the current shareables sub-route from the full slug.\n *\n * System nav slugs are \"share/products\", \"share/media\", \"share/playlists\".\n * Detail pages append an ID: \"share/products/123\", \"share/media/456\".\n *\n * \"share/products\" → screen=\"products\", detailId=null\n * \"share/products/123\" → screen=\"products\", detailId=\"123\"\n * \"share/media/456\" → screen=\"media\", detailId=\"456\"\n * \"share/playlists\" → screen=\"playlists\", detailId=null\n * \"share/playlists/789\" → screen=\"playlists\", detailId=\"789\"\n * \"share/files\" → screen=\"files\", detailId=null\n * \"share\" → screen=null (default to products)\n */\nfunction parseShareablesRoute(currentSlug: string): {\n screen: string | null;\n detailId: string | null;\n action: string | null;\n} {\n // Strip the \"share\" prefix\n const slugWithoutPrefix = currentSlug.replace(/^share\\/?/, \"\");\n if (!slugWithoutPrefix) {\n return { screen: null, detailId: null, action: null };\n }\n\n const parts = slugWithoutPrefix.split(\"/\");\n const screen = parts[0] || null;\n const detailId = parts[1] || null;\n const action = parts[2] || null;\n return { screen, detailId, action };\n}\n\nexport function ShareablesScreen({\n /* eslint-disable @typescript-eslint/no-unused-vars -- destructured to exclude from divProps spread */\n background,\n textColor,\n accentColor,\n padding,\n borderRadius,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...divProps\n}: ShareablesScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ShareablesScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ShareablesScreenContent(): React.JSX.Element {\n const shareablesCtx = usePortalContentContext();\n const { productsApi: portalProductsApi } = shareablesCtx;\n const filePickerApi = useFilePickerApi();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\n const isCustomer = account?.member_type === \"customer\";\n const client = usePortalTenantClient();\n const queryClient = useQueryClient();\n\n const fetchProducts = useCallback(\n async (search: string, cursor?: string, limit?: number, sort?: string) => {\n if (search) {\n return portalProductsApi.searchProducts(search, { cursor, limit });\n }\n return portalProductsApi.listProducts({ cursor, limit, sort });\n },\n [portalProductsApi],\n );\n\n const fetchProduct = useCallback(\n async (id: string | number) => portalProductsApi.getProduct(id),\n [portalProductsApi],\n );\n\n const { screen, detailId, action } = parseShareablesRoute(currentSlug);\n\n const handleNavigate = useCallback(\n (subScreen: string, id?: string) => {\n const path = id ? `share/${subScreen}/${id}` : `share/${subScreen}`;\n navigate(path);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n if (detailId && screen) {\n navigate(`share/${screen}`);\n } else {\n navigate(\"share/products\");\n }\n }, [navigate, detailId, screen]);\n\n const coreConfig = useMemo(\n () => ({\n user: account ? { id: account.id } : null,\n repContext: true,\n }),\n [account],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: account\n ? {\n id: account.id,\n company: { logo_url: store?.logo_url ?? null },\n }\n : undefined,\n // TODO(portal-tenant): affiliate_id not available from /api/account\n affiliateId: null,\n basePath: \"\",\n navigate: (path: string) => {\n const cleanPath = path.replace(/^\\//, \"\");\n const prefixed = cleanPath.startsWith(\"share/\")\n ? cleanPath\n : `share/${cleanPath}`;\n navigate(prefixed);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n error?: unknown;\n }) => {\n fluidToast({ title: opts.title, type: opts.type });\n if (opts.error) console.error(\"[Shareables]\", opts.error);\n },\n filePickerApi,\n onToggleFavorite: async (params: {\n favoriteableId: number;\n favoriteableType: string;\n }) => {\n const result = await toggleFavorite(\n client,\n params.favoriteableId,\n params.favoriteableType,\n );\n void queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n return result;\n },\n onMySiteShare: async (params: {\n shareLink: string;\n relateable_id: number;\n relateable_type: string;\n }) => {\n await toggleFavorite(\n client,\n params.relateable_id,\n params.relateable_type,\n );\n void queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n onDeletePlaylist: isCustomer\n ? undefined\n : async (playlistId: number) => {\n await shareablesCtx.playlistsAdapter.deletePlaylist(playlistId);\n },\n mediaProductsApi: isCustomer\n ? undefined\n : shareablesCtx.mediaProductsAdapter,\n searchProducts: isCustomer\n ? undefined\n : async (\n query: string,\n options?: { cursor?: string | null; limit?: number },\n ) => {\n // Empty query → listProducts so the tag modal opens with\n // suggestions instead of a blank state. Non-empty → real search.\n // Both APIs forward cursor/limit so the tag modal can paginate.\n const limit = options?.limit ?? 25;\n const cursor = options?.cursor ?? undefined;\n const result =\n query.trim().length > 0\n ? await portalProductsApi.searchProducts(query, {\n cursor,\n limit,\n })\n : await portalProductsApi.listProducts({ cursor, limit });\n // Filter out products without an id — mapping an id-less record\n // to `id: 0` would let a subsequent add/remove tag operation\n // silently run on id=0 (confusing 404/422 at best, incorrect\n // mutation at worst).\n const mapped = (result.products ?? [])\n .map(\n (p: {\n id?: number;\n title?: string;\n name?: string;\n image_url?: string | null;\n price?: string | null;\n }) =>\n p.id != null\n ? {\n id: p.id,\n name: p.name ?? p.title ?? \"Untitled\",\n image_url: p.image_url ?? null,\n price: p.price ?? null,\n }\n : null,\n )\n .filter((p): p is NonNullable<typeof p> => p !== null);\n return {\n products: mapped,\n nextCursor: result.meta?.pagination?.next_cursor ?? null,\n };\n },\n readOnly: isCustomer,\n uploadThumbnail: isCustomer\n ? undefined\n : async (blob: Blob, filename: string) => {\n const formData = new FormData();\n formData.append(\"asset[name]\", filename);\n formData.append(\"asset[file]\", blob, filename);\n const response = await client.requestWithFormData<{\n asset?: { default_variant_url?: string | null };\n }>(\"/api/content/dam/assets\", formData);\n const url = response.asset?.default_variant_url;\n if (!url) {\n // DAM accepted the upload but didn't return a playable URL.\n // Throwing here lets the caller (MediaEditScreen catch handler)\n // surface a toast and keeps the pending thumbnail state clean —\n // returning \"\" silently would corrupt the save payload with an\n // empty thumbnail URL.\n throw new Error(\"Thumbnail upload succeeded but no URL returned\");\n }\n return url;\n },\n }),\n [\n account,\n store,\n navigate,\n filePickerApi,\n isCustomer,\n shareablesCtx.playlistsAdapter,\n shareablesCtx.mediaProductsAdapter,\n portalProductsApi,\n client,\n queryClient,\n ],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ShareablesApp\n screen={screen}\n detailId={detailId}\n action={action}\n companyLogoUrl={undefined}\n countryCode={undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n onNavigate={handleNavigate}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const shareablesScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ShareablesScreen\",\n displayName: \"Shareables Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
+
require("./account-api-context-DZP9IiGg.cjs");
|
|
3
|
+
require("./store-api-context-D1gZn22Z.cjs");
|
|
4
|
+
require("./mysite-api-context-CilZcDS4.cjs");
|
|
5
|
+
require("./src-aItPhUAR.cjs");
|
|
6
|
+
require("./ScreenHeaderContext-BXgWydjB.cjs");
|
|
7
|
+
require("./dist-CGuUUVNt.cjs");
|
|
8
|
+
require("./es-DHLLltoR.cjs");
|
|
9
|
+
require("./SearchSort-DHDDqero.cjs");
|
|
10
|
+
require("./dist-DDZMFlal.cjs");
|
|
11
|
+
require("./PortalContentApiProvider-RXBp8FNj.cjs");
|
|
12
|
+
require("./dist-DWs3-WOI.cjs");
|
|
13
|
+
require("./PortalProductsApiProvider-Ca1oeTtJ.cjs");
|
|
14
|
+
require("./use-mysite-portal-DzDYRU0u.cjs");
|
|
15
|
+
const require_ShareablesScreen = require("./ShareablesScreen-DC8xXUo4.cjs");
|
|
16
|
+
exports.ShareablesScreen = require_ShareablesScreen.ShareablesScreen;
|
|
17
|
+
exports.shareablesScreenPropertySchema = require_ShareablesScreen.shareablesScreenPropertySchema;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
require("./FluidProvider-
|
|
3
|
-
require("./ScreenRenderer-
|
|
2
|
+
require("./FluidProvider-ZbTGc_uY.cjs");
|
|
3
|
+
require("./ScreenRenderer-Cg85jtXq.cjs");
|
|
4
4
|
require("./account-api-context-DZP9IiGg.cjs");
|
|
5
5
|
require("./store-api-context-D1gZn22Z.cjs");
|
|
6
6
|
require("./mysite-api-context-CilZcDS4.cjs");
|
|
@@ -9,21 +9,21 @@ require("./registry-context-RWj2xJlC.cjs");
|
|
|
9
9
|
require("./WidgetInteractionContext-Bd1hEEV2.cjs");
|
|
10
10
|
require("./EmbedWidget-PIWoA9sU.cjs");
|
|
11
11
|
require("./error-state-C-AalLnz.cjs");
|
|
12
|
-
require("./LayoutWidget-
|
|
12
|
+
require("./LayoutWidget-Dh8JWX2-.cjs");
|
|
13
13
|
require("./registries-CpUM406S.cjs");
|
|
14
14
|
require("./fields-C8gY9GlT.cjs");
|
|
15
15
|
require("./TextWidget-D9H9WUPH.cjs");
|
|
16
16
|
require("./AlertWidget-Bli5ni5t.cjs");
|
|
17
17
|
require("./BulletListWidget-BHkly6-D.cjs");
|
|
18
18
|
require("./CalendarWidget-ClnpjFQd.cjs");
|
|
19
|
-
require("./CardWidget-
|
|
19
|
+
require("./CardWidget-CdrGXdUr.cjs");
|
|
20
20
|
require("./purify.es-BQcWWtgQ.cjs");
|
|
21
21
|
require("./MediaRenderer-D4HnIAbN.cjs");
|
|
22
22
|
require("./CarouselWidget-DGAhLGtk.cjs");
|
|
23
23
|
require("./CatchUpWidget-DBZAopgX.cjs");
|
|
24
24
|
require("./src-aItPhUAR.cjs");
|
|
25
25
|
require("./ChartWidget-DlCn1riY.cjs");
|
|
26
|
-
require("./ContainerWidget-
|
|
26
|
+
require("./ContainerWidget-D89LdXUJ.cjs");
|
|
27
27
|
require("./ImageWidget-CDjA-4DB.cjs");
|
|
28
28
|
require("./LinkWidget-B7oZhAp_.cjs");
|
|
29
29
|
require("./ListWidget-C7ouNpEo.cjs");
|
|
@@ -31,16 +31,17 @@ require("./scroll-arrows-DVwMDTt3.cjs");
|
|
|
31
31
|
require("./MySiteWidget-CDQjyrRA.cjs");
|
|
32
32
|
require("./NestedWidget-ChAWwsRP.cjs");
|
|
33
33
|
require("./PointsWidget-pqK8QHoJ.cjs");
|
|
34
|
-
require("./
|
|
35
|
-
require("./
|
|
36
|
-
require("./
|
|
37
|
-
require("./
|
|
38
|
-
require("./
|
|
39
|
-
require("./
|
|
40
|
-
require("./
|
|
41
|
-
require("./
|
|
42
|
-
require("./
|
|
43
|
-
require("./
|
|
44
|
-
|
|
34
|
+
require("./QuickLinksWidget-BwEGtrV0.cjs");
|
|
35
|
+
require("./QuickShareWidget-D171Z9mX.cjs");
|
|
36
|
+
require("./RecentActivityWidget-BmE7_-iJ.cjs");
|
|
37
|
+
require("./SeparatorWidget-CjVHbHzQ.cjs");
|
|
38
|
+
require("./SpacerWidget-D9lOLPr5.cjs");
|
|
39
|
+
require("./TableWidget-D5gAsgv6.cjs");
|
|
40
|
+
require("./ToDoWidget-x86UGKLQ.cjs");
|
|
41
|
+
require("./VideoWidget-BIokMYTX.cjs");
|
|
42
|
+
require("./ScreenHeaderContext-BXgWydjB.cjs");
|
|
43
|
+
require("./SearchSort-DHDDqero.cjs");
|
|
44
|
+
require("./PortalProductsApiProvider-Ca1oeTtJ.cjs");
|
|
45
|
+
const require_ShopScreen = require("./ShopScreen-C6UUeGA9.cjs");
|
|
45
46
|
exports.ShopScreen = require_ShopScreen.ShopScreen;
|
|
46
47
|
exports.shopScreenPropertySchema = require_ShopScreen.shopScreenPropertySchema;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
const require_FluidProvider = require("./FluidProvider-
|
|
2
|
+
const require_FluidProvider = require("./FluidProvider-ZbTGc_uY.cjs");
|
|
3
3
|
const require_src = require("./src-aItPhUAR.cjs");
|
|
4
|
-
const require_ScreenHeaderContext = require("./ScreenHeaderContext-
|
|
5
|
-
const require_use_store = require("./use-store-
|
|
6
|
-
const require_AppNavigationContext = require("./AppNavigationContext-
|
|
7
|
-
const require_SearchSort = require("./SearchSort-
|
|
8
|
-
const require_PortalProductsApiProvider = require("./PortalProductsApiProvider-
|
|
4
|
+
const require_ScreenHeaderContext = require("./ScreenHeaderContext-BXgWydjB.cjs");
|
|
5
|
+
const require_use_store = require("./use-store-BLcehk1A.cjs");
|
|
6
|
+
const require_AppNavigationContext = require("./AppNavigationContext-CbK8uCjS.cjs");
|
|
7
|
+
const require_SearchSort = require("./SearchSort-DHDDqero.cjs");
|
|
8
|
+
const require_PortalProductsApiProvider = require("./PortalProductsApiProvider-Ca1oeTtJ.cjs");
|
|
9
9
|
let react = require("react");
|
|
10
10
|
react = require_chunk.__toESM(react);
|
|
11
11
|
let _tanstack_react_query = require("@tanstack/react-query");
|
|
@@ -1152,4 +1152,4 @@ Object.defineProperty(exports, "shopScreenPropertySchema", {
|
|
|
1152
1152
|
}
|
|
1153
1153
|
});
|
|
1154
1154
|
|
|
1155
|
-
//# sourceMappingURL=ShopScreen-
|
|
1155
|
+
//# sourceMappingURL=ShopScreen-C6UUeGA9.cjs.map
|