@fluid-app/portal-sdk 0.1.87 → 0.1.88
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-xQF5B-_c.cjs → AppDownloadScreen--gGSPUDm.cjs} +2 -2
- package/dist/{AppDownloadScreen-xQF5B-_c.cjs.map → AppDownloadScreen--gGSPUDm.cjs.map} +1 -1
- package/dist/{AppDownloadScreen-CTi1-S_q.mjs → AppDownloadScreen-Bt--8jSo.mjs} +2 -2
- package/dist/{AppDownloadScreen-CTi1-S_q.mjs.map → AppDownloadScreen-Bt--8jSo.mjs.map} +1 -1
- package/dist/{AppDownloadScreen-CLBW-1oX.cjs → AppDownloadScreen-CDMvuvsQ.cjs} +4 -4
- package/dist/{ContactsScreen-CrveIKvx.mjs → ContactsScreen-21VYWIsO.mjs} +2 -2
- package/dist/{ContactsScreen-CrveIKvx.mjs.map → ContactsScreen-21VYWIsO.mjs.map} +1 -1
- package/dist/{ContactsScreen-BalYRKzH.cjs → ContactsScreen-BZOjocjS.cjs} +4 -4
- package/dist/{ContactsScreen-BRQdW8Fm.cjs → ContactsScreen-DH3K85c6.cjs} +2 -2
- package/dist/{ContactsScreen-BRQdW8Fm.cjs.map → ContactsScreen-DH3K85c6.cjs.map} +1 -1
- package/dist/{FluidProvider-NE-CrEas.mjs → FluidProvider-CRiIzR8g.mjs} +5 -5
- package/dist/{FluidProvider-NE-CrEas.mjs.map → FluidProvider-CRiIzR8g.mjs.map} +1 -1
- package/dist/{FluidProvider-4QIgluqy.cjs → FluidProvider-Cwh9D2D_.cjs} +5 -5
- package/dist/{FluidProvider-4QIgluqy.cjs.map → FluidProvider-Cwh9D2D_.cjs.map} +1 -1
- package/dist/{ListWidget-CSG4bzuN.cjs → ListWidget-BTSayXgu.cjs} +1 -1
- package/dist/{ListWidget-AVskBIjc.mjs → ListWidget-DFJpOO3R.mjs} +6 -6
- package/dist/ListWidget-DFJpOO3R.mjs.map +1 -0
- package/dist/{ListWidget-C6stWkv7.cjs → ListWidget-Da-1KGwc.cjs} +6 -6
- package/dist/ListWidget-Da-1KGwc.cjs.map +1 -0
- package/dist/{MessagingScreen-CqBNBIJF.mjs → MessagingScreen-68mp7aIc.mjs} +3 -3
- package/dist/{MessagingScreen-CqBNBIJF.mjs.map → MessagingScreen-68mp7aIc.mjs.map} +1 -1
- package/dist/{MessagingScreen-D8sthnzd.cjs → MessagingScreen-BIFFfpwv.cjs} +4 -4
- package/dist/{MessagingScreen-MjvYXOJQ.cjs → MessagingScreen-Cljq2xIQ.cjs} +3 -3
- package/dist/{MessagingScreen-MjvYXOJQ.cjs.map → MessagingScreen-Cljq2xIQ.cjs.map} +1 -1
- package/dist/{MessagingScreen-DLZb3_4I.mjs → MessagingScreen-Cni4eaOi.mjs} +5 -4
- package/dist/{MySiteScreen-vYuDMCLE.cjs → MySiteScreen-C4Ut8wxE.cjs} +2 -2
- package/dist/{MySiteScreen-vYuDMCLE.cjs.map → MySiteScreen-C4Ut8wxE.cjs.map} +1 -1
- package/dist/{MySiteScreen-DJtPyUjN.cjs → MySiteScreen-D5yvFmK3.cjs} +4 -4
- package/dist/{MySiteScreen-DRCMT1kD.mjs → MySiteScreen-YujACNSf.mjs} +2 -2
- package/dist/{MySiteScreen-DRCMT1kD.mjs.map → MySiteScreen-YujACNSf.mjs.map} +1 -1
- package/dist/{NestedWidget-CG4GIVK0.cjs → NestedWidget-BGY4LSQq.cjs} +45 -60
- package/dist/NestedWidget-BGY4LSQq.cjs.map +1 -0
- package/dist/{NestedWidget-BiWgXhdq.mjs → NestedWidget-L8ppxJib.mjs} +46 -61
- package/dist/NestedWidget-L8ppxJib.mjs.map +1 -0
- package/dist/{NestedWidget-BLnDfSTr.cjs → NestedWidget-zn_USrld.cjs} +1 -1
- package/dist/{OrdersScreen-5_YH57td.cjs → OrdersScreen-BiuWTsM3.cjs} +4 -4
- package/dist/{OrdersScreen-DLMSGSDn.mjs → OrdersScreen-BkxKQpwS.mjs} +3 -3
- package/dist/{OrdersScreen-DLMSGSDn.mjs.map → OrdersScreen-BkxKQpwS.mjs.map} +1 -1
- package/dist/{OrdersScreen-D184CHFC.cjs → OrdersScreen-CPJX2XiN.cjs} +3 -3
- package/dist/{OrdersScreen-D184CHFC.cjs.map → OrdersScreen-CPJX2XiN.cjs.map} +1 -1
- package/dist/{ProductsScreen-D6VPu76N.cjs → ProductsScreen-B2BS6FY_.cjs} +3 -3
- package/dist/{ProductsScreen-D6VPu76N.cjs.map → ProductsScreen-B2BS6FY_.cjs.map} +1 -1
- package/dist/{ProductsScreen-J-R7HB67.mjs → ProductsScreen-BPgkn9BH.mjs} +3 -3
- package/dist/{ProductsScreen-J-R7HB67.mjs.map → ProductsScreen-BPgkn9BH.mjs.map} +1 -1
- package/dist/{ProductsScreen-7Ry2DOmk.mjs → ProductsScreen-C5RMR8Mp.mjs} +8 -4
- package/dist/{ProductsScreen-FSkMtZNo.cjs → ProductsScreen-DiaGPT_Q.cjs} +4 -4
- package/dist/{ProfileScreen-Dl9rdbSj.cjs → ProfileScreen-CMIJfD3w.cjs} +4 -4
- package/dist/{ProfileScreen-CehgL9Ax.mjs → ProfileScreen-COoE756I.mjs} +3 -3
- package/dist/{ProfileScreen-CehgL9Ax.mjs.map → ProfileScreen-COoE756I.mjs.map} +1 -1
- package/dist/{ProfileScreen-B9_u_DCa.cjs → ProfileScreen-CUBNMPCL.cjs} +3 -3
- package/dist/{ProfileScreen-B9_u_DCa.cjs.map → ProfileScreen-CUBNMPCL.cjs.map} +1 -1
- package/dist/{ShareablesScreen-DF5NZbFF.mjs → ShareablesScreen-4hhIcSYA.mjs} +4 -4
- package/dist/{ShareablesScreen-DF5NZbFF.mjs.map → ShareablesScreen-4hhIcSYA.mjs.map} +1 -1
- package/dist/{ShareablesScreen-O5EeuPjh.mjs → ShareablesScreen-BxiqE8OR.mjs} +8 -4
- package/dist/{ShareablesScreen-DQ5rOZba.cjs → ShareablesScreen-CR3YKwZC.cjs} +4 -4
- package/dist/{ShareablesScreen-9tApBujV.cjs → ShareablesScreen-o1VYr_1K.cjs} +4 -4
- package/dist/{ShareablesScreen-9tApBujV.cjs.map → ShareablesScreen-o1VYr_1K.cjs.map} +1 -1
- package/dist/{ShopScreen-CdT6tDFy.cjs → ShopScreen-BVABhBmJ.cjs} +4 -4
- package/dist/{ShopScreen-BFP_mkBr.mjs → ShopScreen-CfxPQVZD.mjs} +4 -4
- package/dist/{ShopScreen-BFP_mkBr.mjs.map → ShopScreen-CfxPQVZD.mjs.map} +1 -1
- package/dist/{ShopScreen-BYT9k0B4.cjs → ShopScreen-D8z0KYfh.cjs} +4 -4
- package/dist/{ShopScreen-BYT9k0B4.cjs.map → ShopScreen-D8z0KYfh.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-CAZQPewd.cjs → SubscriptionsScreen-BF4NqbpU.cjs} +3 -3
- package/dist/{SubscriptionsScreen-CAZQPewd.cjs.map → SubscriptionsScreen-BF4NqbpU.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-DRzvnjgc.cjs → SubscriptionsScreen-BRx_ocC3.cjs} +4 -4
- package/dist/{SubscriptionsScreen-paGCQ6dS.mjs → SubscriptionsScreen-BSDYjJvj.mjs} +3 -3
- package/dist/{SubscriptionsScreen-paGCQ6dS.mjs.map → SubscriptionsScreen-BSDYjJvj.mjs.map} +1 -1
- package/dist/index.cjs +36 -36
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +36 -36
- package/dist/{use-account-clients-CnA6MyYd.cjs → use-account-clients-BVb_nhg7.cjs} +2 -2
- package/dist/{use-account-clients-CnA6MyYd.cjs.map → use-account-clients-BVb_nhg7.cjs.map} +1 -1
- package/dist/{use-account-clients-C2_jlb1b.mjs → use-account-clients-Bg1xqjMk.mjs} +2 -2
- package/dist/{use-account-clients-C2_jlb1b.mjs.map → use-account-clients-Bg1xqjMk.mjs.map} +1 -1
- package/dist/{use-current-user-BAZjsw2o.cjs → use-current-user-DFQ8gYkR.cjs} +3 -3
- package/dist/{use-current-user-BAZjsw2o.cjs.map → use-current-user-DFQ8gYkR.cjs.map} +1 -1
- package/dist/{use-current-user-C2PdUj5p.mjs → use-current-user-DqLNoj-3.mjs} +3 -3
- package/dist/{use-current-user-C2PdUj5p.mjs.map → use-current-user-DqLNoj-3.mjs.map} +1 -1
- package/dist/{use-customer-account-HHObeMKC.mjs → use-customer-account-CY9HqWvJ.mjs} +3 -3
- package/dist/{use-customer-account-HHObeMKC.mjs.map → use-customer-account-CY9HqWvJ.mjs.map} +1 -1
- package/dist/{use-customer-account-DTjtFWVp.cjs → use-customer-account-D599KeSp.cjs} +3 -3
- package/dist/{use-customer-account-DTjtFWVp.cjs.map → use-customer-account-D599KeSp.cjs.map} +1 -1
- package/dist/{use-fluid-api-CY0Nsyhd.mjs → use-fluid-api-CyK8Yoj-.mjs} +2 -2
- package/dist/{use-fluid-api-CY0Nsyhd.mjs.map → use-fluid-api-CyK8Yoj-.mjs.map} +1 -1
- package/dist/{use-fluid-api-PzDQ-y02.cjs → use-fluid-api-DHF7svon.cjs} +2 -2
- package/dist/{use-fluid-api-PzDQ-y02.cjs.map → use-fluid-api-DHF7svon.cjs.map} +1 -1
- package/package.json +10 -10
- package/dist/ListWidget-AVskBIjc.mjs.map +0 -1
- package/dist/ListWidget-C6stWkv7.cjs.map +0 -1
- package/dist/NestedWidget-BiWgXhdq.mjs.map +0 -1
- package/dist/NestedWidget-CG4GIVK0.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrdersScreen-D184CHFC.cjs","names":["OrdersListScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbPage","OrdersList","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrdersListScreenContent","OrderDetailScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","BreadcrumbPage","OrderDetail","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrderDetailScreenContent","useAppNavigation","useCustomerAccount"],"sources":["../../../orders/ui/src/screens/OrdersListScreen.tsx","../src/screens/OrdersListScreen.tsx","../../../orders/ui/src/screens/OrderDetailScreen.tsx","../src/screens/OrderDetailScreen.tsx","../src/screens/OrdersScreen.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbPage,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrdersList } from \"../components/orders-list\";\n\nexport interface OrdersListScreenProps {\n customerId: number | undefined;\n onOrderClick: (order: orders.ListOrder) => void;\n onSubscriptionClick?: (subscriptionToken: string) => void;\n t: (key: string) => string;\n isLoadingCustomer?: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n onOrderClick,\n onSubscriptionClick,\n t,\n isLoadingCustomer,\n}: OrdersListScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">Orders</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n if (isLoadingCustomer) {\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <div className=\"space-y-3\">\n <div className=\"bg-muted h-10 animate-pulse rounded\" />\n <div className=\"bg-muted h-64 animate-pulse rounded\" />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrdersList\n customerId={customerId}\n onOrderClick={onOrderClick}\n onSubscriptionClick={onSubscriptionClick}\n t={t}\n />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrdersListScreen as OrdersListScreenContent } from \"@fluid-app/orders-ui/screens/OrdersListScreen\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\nconst translations: Record<string, string> = {\n search_orders: \"Search orders...\",\n order_number: \"Order #\",\n date: \"Date\",\n status: \"Status\",\n product: \"Product\",\n no_orders_found: \"No orders found\",\n no_matching_orders: \"No matching orders\",\n no_image_available: \"No image available\",\n this_product_no_longer_exists: \"This product no longer exists\",\n subscription: \"Subscription\",\n view_subscription: \"View Subscription\",\n total: \"Total\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n};\n\ninterface OrdersListScreenProps {\n customerId: number | undefined;\n isLoadingCustomer: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n isLoadingCustomer,\n}: OrdersListScreenProps): React.JSX.Element {\n const ordersClient = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n const handleOrderClick = (order: orders.ListOrder) => {\n navigate(`orders/${order.token}`);\n };\n\n const handleSubscriptionClick = (subscriptionToken: string) => {\n navigate(`subscriptions/${subscriptionToken}`);\n };\n\n return (\n <OrdersCoreProvider client={ordersClient}>\n <OrdersListScreenContent\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n onOrderClick={handleOrderClick}\n onSubscriptionClick={handleSubscriptionClick}\n t={(key) => translations[key] ?? key}\n />\n </OrdersCoreProvider>\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrderDetail } from \"../components/order-detail\";\n\nexport interface OrderDetailScreenProps {\n token: string;\n onNavigateToList: () => void;\n onNotFound?: () => void;\n onError?: (error: Error) => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onNavigateToList,\n onNotFound,\n onError,\n}: OrderDetailScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbLink\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n onNavigateToList();\n }}\n >\n Orders\n </BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">\n Order #{token}\n </BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [token, onNavigateToList],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrderDetail token={token} onNotFound={onNotFound} onError={onError} />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrderDetailScreen as OrderDetailScreenContent } from \"@fluid-app/orders-ui/screens/OrderDetailScreen\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\ninterface OrderDetailScreenProps {\n token: string;\n onToast: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onToast,\n}: OrderDetailScreenProps): React.JSX.Element {\n const client = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n return (\n <OrdersCoreProvider client={client}>\n <OrderDetailScreenContent\n token={token}\n onNavigateToList={() => navigate(\"orders\")}\n onNotFound={() => {\n onToast(\"Order not found\", \"warning\");\n navigate(\"orders\");\n }}\n onError={(err) => {\n const message =\n err instanceof Error ? err.message : \"An error occurred\";\n onToast(`Failed to load order: ${message}`, \"error\");\n }}\n />\n </OrdersCoreProvider>\n );\n}\n","import type { ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useCustomerAccount } from \"../account/use-customer-account\";\nimport { OrdersListScreen } from \"./OrdersListScreen\";\nimport { OrderDetailScreen } from \"./OrderDetailScreen\";\n\ntype OrdersScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n onToast?: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n};\n\nfunction defaultToast(message: string, type: \"success\" | \"error\" | \"warning\") {\n if (type === \"error\" || type === \"warning\") {\n console.warn(\"[Orders]\", message);\n } else {\n console.info(\"[Orders]\", message);\n }\n}\n\nexport function OrdersScreen({\n onToast,\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}: OrdersScreenProps): React.JSX.Element {\n const { currentSlug } = useAppNavigation();\n const effectiveToast = onToast ?? defaultToast;\n\n // Parse slug: \"orders\" → list, \"orders/{token}\" → detail\n const detailToken = currentSlug.split(\"/\")[1];\n const isDetailView = detailToken !== undefined;\n\n const { customerId, isLoadingCustomer, isCustomerError } = useCustomerAccount(\n { enabled: !isDetailView },\n );\n\n if (isDetailView) {\n return (\n <div {...divProps}>\n <OrderDetailScreen token={detailToken} onToast={effectiveToast} />\n </div>\n );\n }\n\n if (isCustomerError && !isLoadingCustomer) {\n return (\n <div {...divProps}>\n <div className=\"text-muted-foreground px-4 py-8 text-center text-sm\">\n Unable to load account data. Please try again later.\n </div>\n </div>\n );\n }\n\n return (\n <div {...divProps}>\n <OrdersListScreen\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n />\n </div>\n );\n}\n\nexport const ordersScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"OrdersScreen\",\n displayName: \"Orders Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrdersScreen-CPJX2XiN.cjs","names":["OrdersListScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbPage","OrdersList","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrdersListScreenContent","OrderDetailScreen","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","BreadcrumbPage","OrderDetail","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrderDetailScreenContent","useAppNavigation","useCustomerAccount"],"sources":["../../../orders/ui/src/screens/OrdersListScreen.tsx","../src/screens/OrdersListScreen.tsx","../../../orders/ui/src/screens/OrderDetailScreen.tsx","../src/screens/OrderDetailScreen.tsx","../src/screens/OrdersScreen.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbPage,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrdersList } from \"../components/orders-list\";\n\nexport interface OrdersListScreenProps {\n customerId: number | undefined;\n onOrderClick: (order: orders.ListOrder) => void;\n onSubscriptionClick?: (subscriptionToken: string) => void;\n t: (key: string) => string;\n isLoadingCustomer?: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n onOrderClick,\n onSubscriptionClick,\n t,\n isLoadingCustomer,\n}: OrdersListScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">Orders</BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n if (isLoadingCustomer) {\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <div className=\"space-y-3\">\n <div className=\"bg-muted h-10 animate-pulse rounded\" />\n <div className=\"bg-muted h-64 animate-pulse rounded\" />\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrdersList\n customerId={customerId}\n onOrderClick={onOrderClick}\n onSubscriptionClick={onSubscriptionClick}\n t={t}\n />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrdersListScreen as OrdersListScreenContent } from \"@fluid-app/orders-ui/screens/OrdersListScreen\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\nconst translations: Record<string, string> = {\n search_orders: \"Search orders...\",\n order_number: \"Order #\",\n date: \"Date\",\n status: \"Status\",\n product: \"Product\",\n no_orders_found: \"No orders found\",\n no_matching_orders: \"No matching orders\",\n no_image_available: \"No image available\",\n this_product_no_longer_exists: \"This product no longer exists\",\n subscription: \"Subscription\",\n view_subscription: \"View Subscription\",\n total: \"Total\",\n results: \"results\",\n previous: \"Previous\",\n next: \"Next\",\n pagination: \"Pagination\",\n};\n\ninterface OrdersListScreenProps {\n customerId: number | undefined;\n isLoadingCustomer: boolean;\n}\n\nexport function OrdersListScreen({\n customerId,\n isLoadingCustomer,\n}: OrdersListScreenProps): React.JSX.Element {\n const ordersClient = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n const handleOrderClick = (order: orders.ListOrder) => {\n navigate(`orders/${order.token}`);\n };\n\n const handleSubscriptionClick = (subscriptionToken: string) => {\n navigate(`subscriptions/${subscriptionToken}`);\n };\n\n return (\n <OrdersCoreProvider client={ordersClient}>\n <OrdersListScreenContent\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n onOrderClick={handleOrderClick}\n onSubscriptionClick={handleSubscriptionClick}\n t={(key) => translations[key] ?? key}\n />\n </OrdersCoreProvider>\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from \"@fluid-app/ui-primitives\";\nimport { useScreenHeaderBreadcrumbs } from \"@fluid-app/portal-react/shell/ScreenHeaderContext\";\nimport { OrderDetail } from \"../components/order-detail\";\n\nexport interface OrderDetailScreenProps {\n token: string;\n onNavigateToList: () => void;\n onNotFound?: () => void;\n onError?: (error: Error) => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onNavigateToList,\n onNotFound,\n onError,\n}: OrderDetailScreenProps) {\n const headerBreadcrumbs = useMemo(\n () => (\n <Breadcrumb>\n <BreadcrumbList className=\"text-lg\">\n <BreadcrumbItem>\n <BreadcrumbLink\n href=\"#\"\n onClick={(e) => {\n e.preventDefault();\n onNavigateToList();\n }}\n >\n Orders\n </BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <BreadcrumbPage className=\"font-semibold\">\n Order #{token}\n </BreadcrumbPage>\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n ),\n [token, onNavigateToList],\n );\n useScreenHeaderBreadcrumbs(headerBreadcrumbs);\n\n return (\n <div className=\"mx-auto max-w-7xl px-4 py-4 sm:px-6 sm:py-6 lg:px-10 lg:py-8\">\n <OrderDetail token={token} onNotFound={onNotFound} onError={onError} />\n </div>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrderDetailScreen as OrderDetailScreenContent } from \"@fluid-app/orders-ui/screens/OrderDetailScreen\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\ninterface OrderDetailScreenProps {\n token: string;\n onToast: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n}\n\nexport function OrderDetailScreen({\n token,\n onToast,\n}: OrderDetailScreenProps): React.JSX.Element {\n const client = useOrdersClient();\n const { navigate } = useAppNavigation();\n\n return (\n <OrdersCoreProvider client={client}>\n <OrderDetailScreenContent\n token={token}\n onNavigateToList={() => navigate(\"orders\")}\n onNotFound={() => {\n onToast(\"Order not found\", \"warning\");\n navigate(\"orders\");\n }}\n onError={(err) => {\n const message =\n err instanceof Error ? err.message : \"An error occurred\";\n onToast(`Failed to load order: ${message}`, \"error\");\n }}\n />\n </OrdersCoreProvider>\n );\n}\n","import type { ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n PaddingOptions,\n} from \"../types\";\nimport type { WidgetPropertySchema } from \"../registries/property-schema-types\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useCustomerAccount } from \"../account/use-customer-account\";\nimport { OrdersListScreen } from \"./OrdersListScreen\";\nimport { OrderDetailScreen } from \"./OrderDetailScreen\";\n\ntype OrdersScreenProps = ComponentProps<\"div\"> & {\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n onToast?: (message: string, type: \"success\" | \"error\" | \"warning\") => void;\n};\n\nfunction defaultToast(message: string, type: \"success\" | \"error\" | \"warning\") {\n if (type === \"error\" || type === \"warning\") {\n console.warn(\"[Orders]\", message);\n } else {\n console.info(\"[Orders]\", message);\n }\n}\n\nexport function OrdersScreen({\n onToast,\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}: OrdersScreenProps): React.JSX.Element {\n const { currentSlug } = useAppNavigation();\n const effectiveToast = onToast ?? defaultToast;\n\n // Parse slug: \"orders\" → list, \"orders/{token}\" → detail\n const detailToken = currentSlug.split(\"/\")[1];\n const isDetailView = detailToken !== undefined;\n\n const { customerId, isLoadingCustomer, isCustomerError } = useCustomerAccount(\n { enabled: !isDetailView },\n );\n\n if (isDetailView) {\n return (\n <div {...divProps}>\n <OrderDetailScreen token={detailToken} onToast={effectiveToast} />\n </div>\n );\n }\n\n if (isCustomerError && !isLoadingCustomer) {\n return (\n <div {...divProps}>\n <div className=\"text-muted-foreground px-4 py-8 text-center text-sm\">\n Unable to load account data. Please try again later.\n </div>\n </div>\n );\n }\n\n return (\n <div {...divProps}>\n <OrdersListScreen\n customerId={customerId}\n isLoadingCustomer={isLoadingCustomer}\n />\n </div>\n );\n}\n\nexport const ordersScreenPropertySchema: WidgetPropertySchema = {\n widgetType: \"OrdersScreen\",\n displayName: \"Orders Screen\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
const require_use_account_clients = require("./use-account-clients-
|
|
3
|
-
const require_use_current_user = require("./use-current-user-
|
|
2
|
+
const require_use_account_clients = require("./use-account-clients-BVb_nhg7.cjs");
|
|
3
|
+
const require_use_current_user = require("./use-current-user-DFQ8gYkR.cjs");
|
|
4
4
|
const require_AppNavigationContext = require("./AppNavigationContext-DnwdUAjn.cjs");
|
|
5
5
|
const require_src = require("./src-bzRRiTN4.cjs");
|
|
6
6
|
let react = require("react");
|
|
@@ -77,4 +77,4 @@ Object.defineProperty(exports, "productsScreenPropertySchema", {
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=ProductsScreen-
|
|
80
|
+
//# sourceMappingURL=ProductsScreen-B2BS6FY_.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-B2BS6FY_.cjs","names":["useSdkClient","useCurrentUser","useAppNavigation","ShareablesCoreProvider","ShareablesUIProvider","ProductsApp"],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\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 { useCurrentUser } from \"../hooks/use-current-user\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useSdkClient } from \"../account/use-account-clients\";\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 const domainClient = useSdkClient();\n const { data: userData } = useCurrentUser();\n const { currentSlug, navigate } = useAppNavigation();\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 client: domainClient,\n user: userData ? { id: userData.id } : null,\n }),\n [domainClient, userData],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: userData\n ? {\n id: userData.id,\n company: userData.company\n ? { logo_url: userData.company.logo_url }\n : 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 console.log(`[Products] ${opts.type}: ${opts.title}`);\n },\n }),\n [userData, navigate],\n );\n\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={userData?.country?.iso}\n companyLogoUrl={userData?.company?.logo_url}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n </div>\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":";;;;;;;;AAsBA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;CACzC,MAAM,eAAeA,4BAAAA,cAAc;CACnC,MAAM,EAAE,MAAM,aAAaC,yBAAAA,gBAAgB;CAC3C,MAAM,EAAE,aAAa,aAAaC,6BAAAA,kBAAkB;CAGpD,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;CAEd,MAAM,cAAA,GAAA,MAAA,gBACG;EACL,QAAQ;EACR,MAAM,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG;EACxC,GACD,CAAC,cAAc,SAAS,CACzB;CAED,MAAM,YAAA,GAAA,MAAA,gBACG;EACL,MAAM,WACF;GACE,IAAI,SAAS;GACb,SAAS,SAAS,UACd,EAAE,UAAU,SAAS,QAAQ,UAAU,GACvC;GACL,GACD,KAAA;EACJ,UAAU;EACV,WAAW,SAAiB;AAC1B,YAAS,KAAK;;EAEhB,YAAY,SAGN;AACJ,WAAQ,IAAI,cAAc,KAAK,KAAK,IAAI,KAAK,QAAQ;;EAExD,GACD,CAAC,UAAU,SAAS,CACrB;AAED,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,iBAAA,GAAA,kBAAA,KAACC,YAAAA,wBAAD;GAAwB,QAAQ;aAC9B,iBAAA,GAAA,kBAAA,KAACC,YAAAA,sBAAD;IAAsB,QAAQ;cAC5B,iBAAA,GAAA,kBAAA,KAACC,YAAAA,aAAD;KACE,aAAa,UAAU,SAAS;KAChC,gBAAgB,UAAU,SAAS;KACxB;KACX,iBAAiB;KACjB,QAAQ;KACR,CAAA;IACmB,CAAA;GACA,CAAA;EACrB,CAAA;;AAIV,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as useSdkClient } from "./use-account-clients-
|
|
2
|
-
import { n as useCurrentUser } from "./use-current-user-
|
|
1
|
+
import { i as useSdkClient } from "./use-account-clients-Bg1xqjMk.mjs";
|
|
2
|
+
import { n as useCurrentUser } from "./use-current-user-DqLNoj-3.mjs";
|
|
3
3
|
import { n as useAppNavigation } from "./AppNavigationContext-BSnbFILQ.mjs";
|
|
4
4
|
import { i as ShareablesCoreProvider, r as ShareablesUIProvider, t as ProductsApp } from "./src-BjmyVJoe.mjs";
|
|
5
5
|
import { useCallback, useMemo } from "react";
|
|
@@ -65,4 +65,4 @@ const productsScreenPropertySchema = {
|
|
|
65
65
|
//#endregion
|
|
66
66
|
export { productsScreenPropertySchema as n, ProductsScreen as t };
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=ProductsScreen-
|
|
68
|
+
//# sourceMappingURL=ProductsScreen-BPgkn9BH.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-BPgkn9BH.mjs","names":[],"sources":["../src/screens/ProductsScreen.tsx"],"sourcesContent":["import { useCallback, useMemo, type ComponentProps } from \"react\";\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 { useCurrentUser } from \"../hooks/use-current-user\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\nimport { useSdkClient } from \"../account/use-account-clients\";\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 const domainClient = useSdkClient();\n const { data: userData } = useCurrentUser();\n const { currentSlug, navigate } = useAppNavigation();\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 client: domainClient,\n user: userData ? { id: userData.id } : null,\n }),\n [domainClient, userData],\n );\n\n const uiConfig = useMemo(\n () => ({\n user: userData\n ? {\n id: userData.id,\n company: userData.company\n ? { logo_url: userData.company.logo_url }\n : 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 console.log(`[Products] ${opts.type}: ${opts.title}`);\n },\n }),\n [userData, navigate],\n );\n\n return (\n <div {...divProps} className={`h-full ${divProps.className ?? \"\"}`}>\n <ShareablesCoreProvider config={coreConfig}>\n <ShareablesUIProvider config={uiConfig}>\n <ProductsApp\n countryCode={userData?.country?.iso}\n companyLogoUrl={userData?.company?.logo_url}\n productId={productId}\n onSelectProduct={handleSelectProduct}\n onBack={handleBack}\n />\n </ShareablesUIProvider>\n </ShareablesCoreProvider>\n </div>\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":";;;;;;;AAsBA,SAAgB,eAAe,EAE7B,YACA,WACA,aACA,SACA,cAEA,GAAG,YACsC;CACzC,MAAM,eAAe,cAAc;CACnC,MAAM,EAAE,MAAM,aAAa,gBAAgB;CAC3C,MAAM,EAAE,aAAa,aAAa,kBAAkB;CAGpD,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;CAEd,MAAM,aAAa,eACV;EACL,QAAQ;EACR,MAAM,WAAW,EAAE,IAAI,SAAS,IAAI,GAAG;EACxC,GACD,CAAC,cAAc,SAAS,CACzB;CAED,MAAM,WAAW,eACR;EACL,MAAM,WACF;GACE,IAAI,SAAS;GACb,SAAS,SAAS,UACd,EAAE,UAAU,SAAS,QAAQ,UAAU,GACvC;GACL,GACD,KAAA;EACJ,UAAU;EACV,WAAW,SAAiB;AAC1B,YAAS,KAAK;;EAEhB,YAAY,SAGN;AACJ,WAAQ,IAAI,cAAc,KAAK,KAAK,IAAI,KAAK,QAAQ;;EAExD,GACD,CAAC,UAAU,SAAS,CACrB;AAED,QACE,oBAAC,OAAD;EAAK,GAAI;EAAU,WAAW,UAAU,SAAS,aAAa;YAC5D,oBAAC,wBAAD;GAAwB,QAAQ;aAC9B,oBAAC,sBAAD;IAAsB,QAAQ;cAC5B,oBAAC,aAAD;KACE,aAAa,UAAU,SAAS;KAChC,gBAAgB,UAAU,SAAS;KACxB;KACX,iBAAiB;KACjB,QAAQ;KACR,CAAA;IACmB,CAAA;GACA,CAAA;EACrB,CAAA;;AAIV,MAAa,+BAAqD;CAChE,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./FluidProvider-
|
|
1
|
+
import "./FluidProvider-CRiIzR8g.mjs";
|
|
2
2
|
import "./PointsWidget-C05iCMne.mjs";
|
|
3
3
|
import "./error-state-C9MqwdW7.mjs";
|
|
4
4
|
import "./ScreenRenderer-DoVfmxCl.mjs";
|
|
@@ -22,9 +22,9 @@ import "./ChartWidget-DZYGhLye.mjs";
|
|
|
22
22
|
import "./ContainerWidget-BIMMO6W4.mjs";
|
|
23
23
|
import "./ImageWidget-C3cBN9zQ.mjs";
|
|
24
24
|
import "./LinkWidget-e0aFNkZJ.mjs";
|
|
25
|
-
import "./ListWidget-
|
|
25
|
+
import "./ListWidget-DFJpOO3R.mjs";
|
|
26
26
|
import "./MySiteWidget-DLBW4V7P.mjs";
|
|
27
|
-
import "./NestedWidget-
|
|
27
|
+
import "./NestedWidget-L8ppxJib.mjs";
|
|
28
28
|
import "./QuickShareWidget-D_0t-H69.mjs";
|
|
29
29
|
import "./RecentActivityWidget-DQClbYyM.mjs";
|
|
30
30
|
import "./SeparatorWidget-CWpmx3dZ.mjs";
|
|
@@ -32,11 +32,15 @@ import "./SpacerWidget-CX7bjjNF.mjs";
|
|
|
32
32
|
import "./TableWidget-Nkzz38xS.mjs";
|
|
33
33
|
import "./ToDoWidget-D52-GT7f.mjs";
|
|
34
34
|
import "./VideoWidget-4DRASBWA.mjs";
|
|
35
|
+
import "./use-account-clients-Bg1xqjMk.mjs";
|
|
35
36
|
import "./ScreenHeaderContext-NdrJ58Mg.mjs";
|
|
37
|
+
import "./use-fluid-api-CyK8Yoj-.mjs";
|
|
38
|
+
import "./use-current-user-DqLNoj-3.mjs";
|
|
39
|
+
import "./AppNavigationContext-BSnbFILQ.mjs";
|
|
36
40
|
import "./dist-CkIGP8my.mjs";
|
|
37
41
|
import "./es-Dlib2eNY.mjs";
|
|
38
42
|
import "./dist-C9vpl_rR.mjs";
|
|
39
43
|
import "./src-BjmyVJoe.mjs";
|
|
40
44
|
import "./sortable.esm-CzzU6kIR.mjs";
|
|
41
|
-
import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-
|
|
45
|
+
import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-BPgkn9BH.mjs";
|
|
42
46
|
export { ProductsScreen, productsScreenPropertySchema };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
require("./FluidProvider-
|
|
2
|
+
require("./FluidProvider-Cwh9D2D_.cjs");
|
|
3
3
|
require("./PointsWidget-Bgl95R-6.cjs");
|
|
4
4
|
require("./error-state-BDBF2JrB.cjs");
|
|
5
5
|
require("./ScreenRenderer-D65AsKjr.cjs");
|
|
@@ -23,9 +23,9 @@ require("./ChartWidget-CsgeXvTk.cjs");
|
|
|
23
23
|
require("./ContainerWidget-CcKBkPRM.cjs");
|
|
24
24
|
require("./ImageWidget-fuuBu9Mv.cjs");
|
|
25
25
|
require("./LinkWidget-JKkMn6Pt.cjs");
|
|
26
|
-
require("./ListWidget-
|
|
26
|
+
require("./ListWidget-Da-1KGwc.cjs");
|
|
27
27
|
require("./MySiteWidget-DUS5TAjk.cjs");
|
|
28
|
-
require("./NestedWidget-
|
|
28
|
+
require("./NestedWidget-BGY4LSQq.cjs");
|
|
29
29
|
require("./QuickShareWidget-vnGkM3LR.cjs");
|
|
30
30
|
require("./RecentActivityWidget-BcVQ0Q4C.cjs");
|
|
31
31
|
require("./SeparatorWidget-TEaxlnae.cjs");
|
|
@@ -39,6 +39,6 @@ require("./es-xQF-WIMq.cjs");
|
|
|
39
39
|
require("./dist-BK4mvUPm.cjs");
|
|
40
40
|
require("./src-bzRRiTN4.cjs");
|
|
41
41
|
require("./dist-lO2OG0T5.cjs");
|
|
42
|
-
const require_ProductsScreen = require("./ProductsScreen-
|
|
42
|
+
const require_ProductsScreen = require("./ProductsScreen-B2BS6FY_.cjs");
|
|
43
43
|
exports.ProductsScreen = require_ProductsScreen.ProductsScreen;
|
|
44
44
|
exports.productsScreenPropertySchema = require_ProductsScreen.productsScreenPropertySchema;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
require("./FluidProvider-
|
|
3
|
-
const require_ProfileScreen = require("./ProfileScreen-
|
|
2
|
+
require("./FluidProvider-Cwh9D2D_.cjs");
|
|
3
|
+
const require_ProfileScreen = require("./ProfileScreen-CUBNMPCL.cjs");
|
|
4
4
|
require("./PointsWidget-Bgl95R-6.cjs");
|
|
5
5
|
require("./error-state-BDBF2JrB.cjs");
|
|
6
6
|
require("./ScreenRenderer-D65AsKjr.cjs");
|
|
@@ -24,9 +24,9 @@ require("./ChartWidget-CsgeXvTk.cjs");
|
|
|
24
24
|
require("./ContainerWidget-CcKBkPRM.cjs");
|
|
25
25
|
require("./ImageWidget-fuuBu9Mv.cjs");
|
|
26
26
|
require("./LinkWidget-JKkMn6Pt.cjs");
|
|
27
|
-
require("./ListWidget-
|
|
27
|
+
require("./ListWidget-Da-1KGwc.cjs");
|
|
28
28
|
require("./MySiteWidget-DUS5TAjk.cjs");
|
|
29
|
-
require("./NestedWidget-
|
|
29
|
+
require("./NestedWidget-BGY4LSQq.cjs");
|
|
30
30
|
require("./QuickShareWidget-vnGkM3LR.cjs");
|
|
31
31
|
require("./RecentActivityWidget-BcVQ0Q4C.cjs");
|
|
32
32
|
require("./SeparatorWidget-TEaxlnae.cjs");
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __exportAll } from "./chunk-ByhMGyNw.mjs";
|
|
2
|
-
import { _t as fetchCustomerAccount, n as useFluidContext, vt as updateCustomer } from "./FluidProvider-
|
|
2
|
+
import { _t as fetchCustomerAccount, n as useFluidContext, vt as updateCustomer } from "./FluidProvider-CRiIzR8g.mjs";
|
|
3
3
|
import { t as parseApiErrors } from "./parse-api-errors-Dy2gL1eC.mjs";
|
|
4
4
|
import { $t as Avatar, A as SelectContent, G as Label, I as Input, J as DropdownMenuItem, K as DropdownMenu, Kt as Breadcrumb, M as SelectTrigger, N as SelectValue, X as DropdownMenuSeparator, Xt as BreadcrumbPage, Yt as BreadcrumbList, _n as AccordionTrigger, at as DialogFooter, dn as Button, en as AvatarFallback, et as DropdownMenuTrigger, gn as AccordionItem, hn as AccordionContent, j as SelectItem, k as Select, lt as DialogTitle, mn as Accordion, nt as DialogClose, ot as DialogHeader, q as DropdownMenuContent, qt as BreadcrumbItem, rt as DialogContent, tt as Dialog, vn as useZodForm, x as Skeleton, y as fluidToast, yn as cn } from "./src-77nf0QPD.mjs";
|
|
5
|
-
import { i as useSdkClient, n as useFluidPayClient, o as useFluidAuth, t as API_VERSION } from "./use-account-clients-
|
|
5
|
+
import { i as useSdkClient, n as useFluidPayClient, o as useFluidAuth, t as API_VERSION } from "./use-account-clients-Bg1xqjMk.mjs";
|
|
6
6
|
import { r as useScreenHeaderBreadcrumbs } from "./ScreenHeaderContext-NdrJ58Mg.mjs";
|
|
7
7
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
@@ -2757,4 +2757,4 @@ const profileScreenPropertySchema = {
|
|
|
2757
2757
|
//#endregion
|
|
2758
2758
|
export { ProfileScreen_exports as n, profileScreenPropertySchema as r, ProfileScreen as t };
|
|
2759
2759
|
|
|
2760
|
-
//# sourceMappingURL=ProfileScreen-
|
|
2760
|
+
//# sourceMappingURL=ProfileScreen-COoE756I.mjs.map
|