@fluid-app/portal-sdk 0.1.198 → 0.1.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/{CardWidget-HgYL7cEj.cjs → CardWidget-BVYjwdua.cjs} +2 -2
  2. package/dist/{CardWidget-BDIscQev.mjs → CardWidget-BjvrudYQ.mjs} +2 -2
  3. package/dist/{CardWidget-BDIscQev.mjs.map → CardWidget-BjvrudYQ.mjs.map} +1 -1
  4. package/dist/{CardWidget-DSq_Q8kv.cjs → CardWidget-DVi0NVhb.cjs} +2 -2
  5. package/dist/{CardWidget-DSq_Q8kv.cjs.map → CardWidget-DVi0NVhb.cjs.map} +1 -1
  6. package/dist/{ContactsScreen-Cheiwaxn.cjs → ContactsScreen-BOMxeTG8.cjs} +2 -2
  7. package/dist/{ContactsScreen-BtBNMZzG.mjs → ContactsScreen-Bm9SlMY3.mjs} +17 -7
  8. package/dist/ContactsScreen-Bm9SlMY3.mjs.map +1 -0
  9. package/dist/{ContactsScreen-DvohvoOE.cjs → ContactsScreen-DflUjayA.cjs} +291 -281
  10. package/dist/ContactsScreen-DflUjayA.cjs.map +1 -0
  11. package/dist/{ContainerWidget-PjWuvAlm.mjs → ContainerWidget-B51UF7DK.mjs} +2 -2
  12. package/dist/{ContainerWidget-PjWuvAlm.mjs.map → ContainerWidget-B51UF7DK.mjs.map} +1 -1
  13. package/dist/{ContainerWidget-Blb9A9i6.cjs → ContainerWidget-DNo8CkQ7.cjs} +2 -2
  14. package/dist/{ContainerWidget-Blb9A9i6.cjs.map → ContainerWidget-DNo8CkQ7.cjs.map} +1 -1
  15. package/dist/{ContainerWidget-CTP4UZXI.cjs → ContainerWidget-gtjlMITv.cjs} +3 -3
  16. package/dist/{FluidProvider-j5QX1XRm.cjs → FluidProvider-ByBDIQeW.cjs} +61 -999
  17. package/dist/FluidProvider-ByBDIQeW.cjs.map +1 -0
  18. package/dist/{FluidProvider-CGqVqcHP.mjs → FluidProvider-DFZiXiqm.mjs} +58 -827
  19. package/dist/FluidProvider-DFZiXiqm.mjs.map +1 -0
  20. package/dist/{LayoutWidget-oVmk8nm9.mjs → LayoutWidget-CtqIb8_Z.mjs} +2 -2
  21. package/dist/{LayoutWidget-oVmk8nm9.mjs.map → LayoutWidget-CtqIb8_Z.mjs.map} +1 -1
  22. package/dist/{LayoutWidget-D05U-Fai.cjs → LayoutWidget-D5gh0ejr.cjs} +2 -2
  23. package/dist/{LayoutWidget-BUxgiC_H.cjs → LayoutWidget-DHlXzqUk.cjs} +2 -2
  24. package/dist/{LayoutWidget-BUxgiC_H.cjs.map → LayoutWidget-DHlXzqUk.cjs.map} +1 -1
  25. package/dist/{MessagingScreen-CpUfQIFf.mjs → MessagingScreen-D6d83q2n.mjs} +2 -2
  26. package/dist/{MessagingScreen-CpUfQIFf.mjs.map → MessagingScreen-D6d83q2n.mjs.map} +1 -1
  27. package/dist/{MessagingScreen-Beyb0TUm.cjs → MessagingScreen-HT_HSiNW.cjs} +7 -7
  28. package/dist/{MessagingScreen-BaGLql5n.cjs → MessagingScreen-shEWzTmQ.cjs} +2 -2
  29. package/dist/{MessagingScreen-BaGLql5n.cjs.map → MessagingScreen-shEWzTmQ.cjs.map} +1 -1
  30. package/dist/{OrdersScreen-BgyMsZpn.mjs → OrdersScreen-BioiulGx.mjs} +2 -2
  31. package/dist/{OrdersScreen-BgyMsZpn.mjs.map → OrdersScreen-BioiulGx.mjs.map} +1 -1
  32. package/dist/{OrdersScreen-CCVPgVWa.cjs → OrdersScreen-DzCvZ6AW.cjs} +2 -2
  33. package/dist/{OrdersScreen-CCVPgVWa.cjs.map → OrdersScreen-DzCvZ6AW.cjs.map} +1 -1
  34. package/dist/{OrdersScreen-DWNylH_i.cjs → OrdersScreen-NIJGMwfQ.cjs} +1 -1
  35. package/dist/{PortalContentApiProvider-tSZDt_f2.mjs → PortalContentApiProvider-CNYq1_OD.mjs} +195 -91
  36. package/dist/PortalContentApiProvider-CNYq1_OD.mjs.map +1 -0
  37. package/dist/{PortalContentApiProvider-Bn44plrY.cjs → PortalContentApiProvider-ChmcXmbv.cjs} +194 -90
  38. package/dist/PortalContentApiProvider-ChmcXmbv.cjs.map +1 -0
  39. package/dist/{PortalProductsApiProvider-D0jul2Fh.mjs → PortalProductsApiProvider-B1IjNhl8.mjs} +22 -2
  40. package/dist/PortalProductsApiProvider-B1IjNhl8.mjs.map +1 -0
  41. package/dist/{PortalProductsApiProvider-CRN-i8Rh.cjs → PortalProductsApiProvider-o1axGadc.cjs} +22 -2
  42. package/dist/{PortalProductsApiProvider-CRN-i8Rh.cjs.map → PortalProductsApiProvider-o1axGadc.cjs.map} +1 -1
  43. package/dist/{ProductsScreen-o7LU64rN.mjs → ProductsScreen-CDjpHF49.mjs} +3 -3
  44. package/dist/{ProductsScreen-o7LU64rN.mjs.map → ProductsScreen-CDjpHF49.mjs.map} +1 -1
  45. package/dist/{ProductsScreen-uTXJCUPs.cjs → ProductsScreen-CzfDX0xx.cjs} +3 -3
  46. package/dist/{ProductsScreen-uTXJCUPs.cjs.map → ProductsScreen-CzfDX0xx.cjs.map} +1 -1
  47. package/dist/{ProductsScreen-nryGJv7S.mjs → ProductsScreen-D6-ehQjh.mjs} +3 -3
  48. package/dist/{ProductsScreen-Cvzwt-X-.cjs → ProductsScreen-fN3fh3PB.cjs} +3 -3
  49. package/dist/{ProfileScreen-CtMB7I96.cjs → ProfileScreen-B0EU-TLa.cjs} +101 -101
  50. package/dist/{ProfileScreen-CtMB7I96.cjs.map → ProfileScreen-B0EU-TLa.cjs.map} +1 -1
  51. package/dist/{ProfileScreen-th1mmEn0.mjs → ProfileScreen-BIs70k9W.mjs} +3 -3
  52. package/dist/{ProfileScreen-th1mmEn0.mjs.map → ProfileScreen-BIs70k9W.mjs.map} +1 -1
  53. package/dist/{ProfileScreen-BoFYel4G.cjs → ProfileScreen-Dqu2nK_2.cjs} +7 -7
  54. package/dist/{ScreenRenderer-CgSF9HEd.mjs → ScreenRenderer-Cv2rxvtF.mjs} +1 -9
  55. package/dist/ScreenRenderer-Cv2rxvtF.mjs.map +1 -0
  56. package/dist/{ScreenRenderer-Cx2KWPVu.cjs → ScreenRenderer-DfeRRgBO.cjs} +1 -9
  57. package/dist/ScreenRenderer-DfeRRgBO.cjs.map +1 -0
  58. package/dist/{ShareablesScreen-DPAjypds.mjs → ShareablesScreen-B8rPq-_7.mjs} +3 -3
  59. package/dist/{ShareablesScreen-DPAjypds.mjs.map → ShareablesScreen-B8rPq-_7.mjs.map} +1 -1
  60. package/dist/{ShareablesScreen-iUMt1ep3.cjs → ShareablesScreen-DFLAJxjs.cjs} +3 -3
  61. package/dist/{ShareablesScreen-Dw818mdV.cjs → ShareablesScreen-DLXK1PAg.cjs} +3 -3
  62. package/dist/{ShareablesScreen-Dw818mdV.cjs.map → ShareablesScreen-DLXK1PAg.cjs.map} +1 -1
  63. package/dist/{ShareablesScreen-DrMFfqJl.mjs → ShareablesScreen-Dc57L9m8.mjs} +3 -3
  64. package/dist/{ShopScreen-BBFsy04y.mjs → ShopScreen-2yMsyFwk.mjs} +3 -3
  65. package/dist/{ShopScreen-BBFsy04y.mjs.map → ShopScreen-2yMsyFwk.mjs.map} +1 -1
  66. package/dist/{ShopScreen-BCZ_tsd3.cjs → ShopScreen-BmHSLZ7H.cjs} +3 -3
  67. package/dist/{ShopScreen-BCZ_tsd3.cjs.map → ShopScreen-BmHSLZ7H.cjs.map} +1 -1
  68. package/dist/{ShopScreen-tjFoj6_r.cjs → ShopScreen-kk4yLzrW.cjs} +8 -8
  69. package/dist/{SubscriptionsScreen-BwRoXYF8.mjs → SubscriptionsScreen-1G9oa46y.mjs} +2 -2
  70. package/dist/{SubscriptionsScreen-BwRoXYF8.mjs.map → SubscriptionsScreen-1G9oa46y.mjs.map} +1 -1
  71. package/dist/{SubscriptionsScreen-mhTl7OIp.cjs → SubscriptionsScreen-Bt_YtoA3.cjs} +1 -1
  72. package/dist/{SubscriptionsScreen-DbcnEDD0.cjs → SubscriptionsScreen-Dn6LldL3.cjs} +2 -2
  73. package/dist/{SubscriptionsScreen-DbcnEDD0.cjs.map → SubscriptionsScreen-Dn6LldL3.cjs.map} +1 -1
  74. package/dist/index.cjs +78 -78
  75. package/dist/index.cjs.map +1 -1
  76. package/dist/index.d.cts +132 -128
  77. package/dist/index.d.cts.map +1 -1
  78. package/dist/index.d.mts +132 -128
  79. package/dist/index.d.mts.map +1 -1
  80. package/dist/index.mjs +32 -32
  81. package/dist/{portal_tenant-CWKHVgID.mjs → portal_tenant-8RPVJCll.mjs} +42 -2
  82. package/dist/{portal_tenant-CWKHVgID.mjs.map → portal_tenant-8RPVJCll.mjs.map} +1 -1
  83. package/dist/{portal_tenant-pozf8Ht6.cjs → portal_tenant-BdKp073-.cjs} +65 -1
  84. package/dist/{portal_tenant-pozf8Ht6.cjs.map → portal_tenant-BdKp073-.cjs.map} +1 -1
  85. package/dist/{portal_tenant_content-Dwmo8XZ-.cjs → portal_tenant_content-0zpnjBot.cjs} +97 -1
  86. package/dist/{portal_tenant_content-Dwmo8XZ-.cjs.map → portal_tenant_content-0zpnjBot.cjs.map} +1 -1
  87. package/dist/{portal_tenant_content-DgM42X08.mjs → portal_tenant_content-DzIQtSLE.mjs} +62 -2
  88. package/dist/{portal_tenant_content-DgM42X08.mjs.map → portal_tenant_content-DzIQtSLE.mjs.map} +1 -1
  89. package/dist/src-BRTXunU1.mjs +851 -0
  90. package/dist/src-BRTXunU1.mjs.map +1 -0
  91. package/dist/src-DvVPCD01.cjs +1038 -0
  92. package/dist/src-DvVPCD01.cjs.map +1 -0
  93. package/package.json +19 -19
  94. package/dist/ContactsScreen-BtBNMZzG.mjs.map +0 -1
  95. package/dist/ContactsScreen-DvohvoOE.cjs.map +0 -1
  96. package/dist/FluidProvider-CGqVqcHP.mjs.map +0 -1
  97. package/dist/FluidProvider-j5QX1XRm.cjs.map +0 -1
  98. package/dist/PortalContentApiProvider-Bn44plrY.cjs.map +0 -1
  99. package/dist/PortalContentApiProvider-tSZDt_f2.mjs.map +0 -1
  100. package/dist/PortalProductsApiProvider-D0jul2Fh.mjs.map +0 -1
  101. package/dist/ScreenRenderer-CgSF9HEd.mjs.map +0 -1
  102. package/dist/ScreenRenderer-Cx2KWPVu.cjs.map +0 -1
  103. package/dist/countries-api-context-Dob_AzPO.mjs +0 -13
  104. package/dist/countries-api-context-Dob_AzPO.mjs.map +0 -1
  105. package/dist/countries-api-context-G-NW4BoH.cjs +0 -25
  106. package/dist/countries-api-context-G-NW4BoH.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsScreen-o7LU64rN.mjs","names":[],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\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, ProductsApp } from \"@fluid-app/shareables-ui\";\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\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\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}: ProductsScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ProductsScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ProductsScreenContent(): React.JSX.Element {\n const { productsApi: portalProductsApi } = usePortalContentContext();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\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 // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\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 basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n fluidToast(opts);\n },\n }),\n [account, store, navigate],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={undefined}\n companyLogoUrl={store?.logo_url ?? undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;AA4BA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;AACzC,QACE,oBAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,oBAAC,2BAAD,EAAA,UACE,oBAAC,0BAAD,EAAA,UACE,oBAAC,uBAAD,EAAyB,CAAA,EACA,CAAA,EACD,CAAA;EACxB,CAAA;;;AAKV,SAAS,wBAA2C;CAClD,MAAM,EAAE,aAAa,sBAAsB,yBAAyB;CACpE,MAAM,EAAE,MAAM,YAAY,YAAY;CACtC,MAAM,EAAE,MAAM,UAAU,UAAU;CAClC,MAAM,EAAE,aAAa,aAAa,kBAAkB;CAEpD,MAAM,gBAAgB,YACpB,OAAO,QAAgB,QAAiB,OAAgB,SAAkB;AACxE,MAAI,OACF,QAAO,kBAAkB,eAAe,QAAQ;GAAE;GAAQ;GAAO,CAAC;AAEpE,SAAO,kBAAkB,aAAa;GAAE;GAAQ;GAAO;GAAM,CAAC;IAEhE,CAAC,kBAAkB,CACpB;CAED,MAAM,eAAe,YACnB,OAAO,OAAwB,kBAAkB,WAAW,GAAG,EAC/D,CAAC,kBAAkB,CACpB;CAGD,MAAM,YAAY,cAAc;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,sBAAsB,aACzB,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,aAAa,kBAAkB;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;AAgCd,QACE,oBAAC,wBAAD;EAAwB,QA/BP,eACV;GACL,MAAM,UAAU,EAAE,IAAI,QAAQ,IAAI,GAAG;GACrC,YAAY;GACb,GACD,CAAC,QAAQ,CACV;YA0BG,oBAAC,sBAAD;GAAsB,QAxBT,eACR;IACL,MAAM,UACF;KACE,IAAI,QAAQ;KACZ,SAAS,EAAE,UAAU,OAAO,YAAY,MAAM;KAC/C,GACD,KAAA;IACJ,UAAU;IACV,WAAW,SAAiB;AAC1B,cAAS,KAAK;;IAEhB,YAAY,SAGN;AACJ,gBAAW,KAAK;;IAEnB,GACD;IAAC;IAAS;IAAO;IAAS,CAC3B;aAKK,oBAAC,aAAD;IACE,aAAa,KAAA;IACb,gBAAgB,OAAO,YAAY,KAAA;IACpB;IACD;IACH;IACX,iBAAiB;IACjB,QAAQ;IACR,CAAA;GACmB,CAAA;EACA,CAAA;;AAI7B,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
1
+ {"version":3,"file":"ProductsScreen-CDjpHF49.mjs","names":[],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\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, ProductsApp } from \"@fluid-app/shareables-ui\";\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\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\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}: ProductsScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ProductsScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ProductsScreenContent(): React.JSX.Element {\n const { productsApi: portalProductsApi } = usePortalContentContext();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\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 // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\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 basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n fluidToast(opts);\n },\n }),\n [account, store, navigate],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={undefined}\n companyLogoUrl={store?.logo_url ?? undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;AA4BA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;AACzC,QACE,oBAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,oBAAC,2BAAD,EAAA,UACE,oBAAC,0BAAD,EAAA,UACE,oBAAC,uBAAD,EAAyB,CAAA,EACA,CAAA,EACD,CAAA;EACxB,CAAA;;;AAKV,SAAS,wBAA2C;CAClD,MAAM,EAAE,aAAa,sBAAsB,yBAAyB;CACpE,MAAM,EAAE,MAAM,YAAY,YAAY;CACtC,MAAM,EAAE,MAAM,UAAU,UAAU;CAClC,MAAM,EAAE,aAAa,aAAa,kBAAkB;CAEpD,MAAM,gBAAgB,YACpB,OAAO,QAAgB,QAAiB,OAAgB,SAAkB;AACxE,MAAI,OACF,QAAO,kBAAkB,eAAe,QAAQ;GAAE;GAAQ;GAAO,CAAC;AAEpE,SAAO,kBAAkB,aAAa;GAAE;GAAQ;GAAO;GAAM,CAAC;IAEhE,CAAC,kBAAkB,CACpB;CAED,MAAM,eAAe,YACnB,OAAO,OAAwB,kBAAkB,WAAW,GAAG,EAC/D,CAAC,kBAAkB,CACpB;CAGD,MAAM,YAAY,cAAc;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,sBAAsB,aACzB,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,aAAa,kBAAkB;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;AAgCd,QACE,oBAAC,wBAAD;EAAwB,QA/BP,eACV;GACL,MAAM,UAAU,EAAE,IAAI,QAAQ,IAAI,GAAG;GACrC,YAAY;GACb,GACD,CAAC,QAAQ,CACV;YA0BG,oBAAC,sBAAD;GAAsB,QAxBT,eACR;IACL,MAAM,UACF;KACE,IAAI,QAAQ;KACZ,SAAS,EAAE,UAAU,OAAO,YAAY,MAAM;KAC/C,GACD,KAAA;IACJ,UAAU;IACV,WAAW,SAAiB;AAC1B,cAAS,KAAK;;IAEhB,YAAY,SAGN;AACJ,gBAAW,KAAK;;IAEnB,GACD;IAAC;IAAS;IAAO;IAAS,CAC3B;aAKK,oBAAC,aAAD;IACE,aAAa,KAAA;IACb,gBAAgB,OAAO,YAAY,KAAA;IACpB;IACD;IACH;IACX,iBAAiB;IACjB,QAAQ;IACR,CAAA;GACmB,CAAA;EACA,CAAA;;AAI7B,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
@@ -3,8 +3,8 @@ const require_src = require("./src-D57IFKXU.cjs");
3
3
  const require_use_account = require("./use-account-C5QI6NSe.cjs");
4
4
  const require_use_store = require("./use-store-BLcehk1A.cjs");
5
5
  const require_AppNavigationContext = require("./AppNavigationContext-CbK8uCjS.cjs");
6
- const require_PortalContentApiProvider = require("./PortalContentApiProvider-Bn44plrY.cjs");
7
- const require_PortalProductsApiProvider = require("./PortalProductsApiProvider-CRN-i8Rh.cjs");
6
+ const require_PortalContentApiProvider = require("./PortalContentApiProvider-ChmcXmbv.cjs");
7
+ const require_PortalProductsApiProvider = require("./PortalProductsApiProvider-o1axGadc.cjs");
8
8
  let react = require("react");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
10
  //#region src/screens/ProductsScreen.tsx
@@ -100,4 +100,4 @@ Object.defineProperty(exports, "productsScreenPropertySchema", {
100
100
  }
101
101
  });
102
102
 
103
- //# sourceMappingURL=ProductsScreen-uTXJCUPs.cjs.map
103
+ //# sourceMappingURL=ProductsScreen-CzfDX0xx.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductsScreen-uTXJCUPs.cjs","names":["PortalProductsApiProvider","PortalContentApiProvider","usePortalContentContext","useAccount","useStore","useAppNavigation","ShareablesCoreProvider","ShareablesUIProvider","ProductsApp"],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\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, ProductsApp } from \"@fluid-app/shareables-ui\";\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\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\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}: ProductsScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ProductsScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ProductsScreenContent(): React.JSX.Element {\n const { productsApi: portalProductsApi } = usePortalContentContext();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\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 // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\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 basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n fluidToast(opts);\n },\n }),\n [account, store, navigate],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={undefined}\n companyLogoUrl={store?.logo_url ?? undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;;AA4BA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;AACzC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,iBAAA,GAAA,kBAAA,KAACA,kCAAAA,2BAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,0BAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,uBAAD,EAAyB,CAAA,EACA,CAAA,EACD,CAAA;EACxB,CAAA;;;AAKV,SAAS,wBAA2C;CAClD,MAAM,EAAE,aAAa,sBAAsBC,iCAAAA,yBAAyB;CACpE,MAAM,EAAE,MAAM,YAAYC,oBAAAA,YAAY;CACtC,MAAM,EAAE,MAAM,UAAUC,kBAAAA,UAAU;CAClC,MAAM,EAAE,aAAa,aAAaC,6BAAAA,kBAAkB;CAEpD,MAAM,iBAAA,GAAA,MAAA,aACJ,OAAO,QAAgB,QAAiB,OAAgB,SAAkB;AACxE,MAAI,OACF,QAAO,kBAAkB,eAAe,QAAQ;GAAE;GAAQ;GAAO,CAAC;AAEpE,SAAO,kBAAkB,aAAa;GAAE;GAAQ;GAAO;GAAM,CAAC;IAEhE,CAAC,kBAAkB,CACpB;CAED,MAAM,gBAAA,GAAA,MAAA,aACJ,OAAO,OAAwB,kBAAkB,WAAW,GAAG,EAC/D,CAAC,kBAAkB,CACpB;CAGD,MAAM,aAAA,GAAA,MAAA,eAA0B;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,uBAAA,GAAA,MAAA,cACH,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,cAAA,GAAA,MAAA,mBAA+B;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;AAgCd,QACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,wBAAD;EAAwB,SAAA,GAAA,MAAA,gBA9BjB;GACL,MAAM,UAAU,EAAE,IAAI,QAAQ,IAAI,GAAG;GACrC,YAAY;GACb,GACD,CAAC,QAAQ,CACV;YA0BG,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,sBAAD;GAAsB,SAAA,GAAA,MAAA,gBAvBjB;IACL,MAAM,UACF;KACE,IAAI,QAAQ;KACZ,SAAS,EAAE,UAAU,OAAO,YAAY,MAAM;KAC/C,GACD,KAAA;IACJ,UAAU;IACV,WAAW,SAAiB;AAC1B,cAAS,KAAK;;IAEhB,YAAY,SAGN;AACJ,iBAAA,WAAW,KAAK;;IAEnB,GACD;IAAC;IAAS;IAAO;IAAS,CAC3B;aAKK,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,aAAD;IACE,aAAa,KAAA;IACb,gBAAgB,OAAO,YAAY,KAAA;IACpB;IACD;IACH;IACX,iBAAiB;IACjB,QAAQ;IACR,CAAA;GACmB,CAAA;EACA,CAAA;;AAI7B,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
1
+ {"version":3,"file":"ProductsScreen-CzfDX0xx.cjs","names":["PortalProductsApiProvider","PortalContentApiProvider","usePortalContentContext","useAccount","useStore","useAppNavigation","ShareablesCoreProvider","ShareablesUIProvider","ProductsApp"],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\nimport { fluidToast } from \"@fluid-app/ui-primitives\";\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, ProductsApp } from \"@fluid-app/shareables-ui\";\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\";\n\ntype ProductsScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function ProductsScreen({\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}: ProductsScreenProps): React.JSX.Element {\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <PortalProductsApiProvider>\n <PortalContentApiProvider>\n <ProductsScreenContent />\n </PortalContentApiProvider>\n </PortalProductsApiProvider>\n </div>\n );\n}\n\n/** Inner component rendered inside providers so hooks can access context. */\nfunction ProductsScreenContent(): React.JSX.Element {\n const { productsApi: portalProductsApi } = usePortalContentContext();\n const { data: account } = useAccount();\n const { data: store } = useStore();\n const { currentSlug, navigate } = useAppNavigation();\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 // Extract product ID from slug: \"products/123\" → \"123\"\n const productId = useMemo(() => {\n const match = currentSlug.match(/^products\\/(.+)/);\n return match?.[1] ?? null;\n }, [currentSlug]);\n\n const handleSelectProduct = useCallback(\n (id: string) => {\n navigate(`products/${id}`);\n },\n [navigate],\n );\n\n const handleBack = useCallback(() => {\n navigate(\"products\");\n }, [navigate]);\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 basePath: \"\",\n navigate: (path: string) => {\n navigate(path);\n },\n showToast: (opts: {\n title: string;\n type: \"success\" | \"error\" | \"warning\";\n }) => {\n fluidToast(opts);\n },\n }),\n [account, store, navigate],\n );\n\n return (\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={undefined}\n companyLogoUrl={store?.logo_url ?? undefined}\n fetchProducts={fetchProducts}\n fetchProduct={fetchProduct}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n );\n}\n\nexport const productsScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"ProductsScreen\",\n displayName: \"Products Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":";;;;;;;;;;AA4BA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;AACzC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,iBAAA,GAAA,kBAAA,KAACA,kCAAAA,2BAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,0BAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,uBAAD,EAAyB,CAAA,EACA,CAAA,EACD,CAAA;EACxB,CAAA;;;AAKV,SAAS,wBAA2C;CAClD,MAAM,EAAE,aAAa,sBAAsBC,iCAAAA,yBAAyB;CACpE,MAAM,EAAE,MAAM,YAAYC,oBAAAA,YAAY;CACtC,MAAM,EAAE,MAAM,UAAUC,kBAAAA,UAAU;CAClC,MAAM,EAAE,aAAa,aAAaC,6BAAAA,kBAAkB;CAEpD,MAAM,iBAAA,GAAA,MAAA,aACJ,OAAO,QAAgB,QAAiB,OAAgB,SAAkB;AACxE,MAAI,OACF,QAAO,kBAAkB,eAAe,QAAQ;GAAE;GAAQ;GAAO,CAAC;AAEpE,SAAO,kBAAkB,aAAa;GAAE;GAAQ;GAAO;GAAM,CAAC;IAEhE,CAAC,kBAAkB,CACpB;CAED,MAAM,gBAAA,GAAA,MAAA,aACJ,OAAO,OAAwB,kBAAkB,WAAW,GAAG,EAC/D,CAAC,kBAAkB,CACpB;CAGD,MAAM,aAAA,GAAA,MAAA,eAA0B;AAE9B,SADc,YAAY,MAAM,kBAAkB,GACnC,MAAM;IACpB,CAAC,YAAY,CAAC;CAEjB,MAAM,uBAAA,GAAA,MAAA,cACH,OAAe;AACd,WAAS,YAAY,KAAK;IAE5B,CAAC,SAAS,CACX;CAED,MAAM,cAAA,GAAA,MAAA,mBAA+B;AACnC,WAAS,WAAW;IACnB,CAAC,SAAS,CAAC;AAgCd,QACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,wBAAD;EAAwB,SAAA,GAAA,MAAA,gBA9BjB;GACL,MAAM,UAAU,EAAE,IAAI,QAAQ,IAAI,GAAG;GACrC,YAAY;GACb,GACD,CAAC,QAAQ,CACV;YA0BG,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,sBAAD;GAAsB,SAAA,GAAA,MAAA,gBAvBjB;IACL,MAAM,UACF;KACE,IAAI,QAAQ;KACZ,SAAS,EAAE,UAAU,OAAO,YAAY,MAAM;KAC/C,GACD,KAAA;IACJ,UAAU;IACV,WAAW,SAAiB;AAC1B,cAAS,KAAK;;IAEhB,YAAY,SAGN;AACJ,iBAAA,WAAW,KAAK;;IAEnB,GACD;IAAC;IAAS;IAAO;IAAS,CAC3B;aAKK,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,aAAD;IACE,aAAa,KAAA;IACb,gBAAgB,OAAO,YAAY,KAAA;IACpB;IACD;IACH;IACX,iBAAiB;IACjB,QAAQ;IACR,CAAA;GACmB,CAAA;EACA,CAAA;;AAI7B,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
@@ -6,8 +6,8 @@ import "./ScreenHeaderContext-BD6Zo-ep.mjs";
6
6
  import "./dist-tv6N_HgZ.mjs";
7
7
  import "./SearchSort-TmRTxK16.mjs";
8
8
  import "./dist-wzcShuuv.mjs";
9
- import "./PortalContentApiProvider-tSZDt_f2.mjs";
9
+ import "./PortalContentApiProvider-CNYq1_OD.mjs";
10
10
  import "./sortable.esm-DFTEWOHN.mjs";
11
- import "./PortalProductsApiProvider-D0jul2Fh.mjs";
12
- import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-o7LU64rN.mjs";
11
+ import "./PortalProductsApiProvider-B1IjNhl8.mjs";
12
+ import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-CDjpHF49.mjs";
13
13
  export { ProductsScreen, productsScreenPropertySchema };
@@ -7,9 +7,9 @@ require("./dist-CN_rfvBt.cjs");
7
7
  require("./es-C37CagK2.cjs");
8
8
  require("./SearchSort-CUDMZIkf.cjs");
9
9
  require("./dist-bL3uiYn3.cjs");
10
- require("./PortalContentApiProvider-Bn44plrY.cjs");
10
+ require("./PortalContentApiProvider-ChmcXmbv.cjs");
11
11
  require("./dist-Ck1Xpuzh.cjs");
12
- require("./PortalProductsApiProvider-CRN-i8Rh.cjs");
13
- const require_ProductsScreen = require("./ProductsScreen-uTXJCUPs.cjs");
12
+ require("./PortalProductsApiProvider-o1axGadc.cjs");
13
+ const require_ProductsScreen = require("./ProductsScreen-CzfDX0xx.cjs");
14
14
  exports.ProductsScreen = require_ProductsScreen.ProductsScreen;
15
15
  exports.productsScreenPropertySchema = require_ProductsScreen.productsScreenPropertySchema;