@fluid-app/portal-sdk 0.1.50 → 0.1.52
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/{ContactsScreen-CtQEXVJV.cjs → ContactsScreen-BvCjA72q.cjs} +3 -3
- package/dist/{ContactsScreen-CCX0O5gO.mjs → ContactsScreen-BxN-eEX8.mjs} +3 -3
- package/dist/{ContactsScreen-CkTLY2JR.cjs → ContactsScreen-DCHonZs2.cjs} +2 -2
- package/dist/{ContactsScreen-CkTLY2JR.cjs.map → ContactsScreen-DCHonZs2.cjs.map} +1 -1
- package/dist/{ContactsScreen-Cw2oDUbk.mjs → ContactsScreen-p2WN2k0l.mjs} +2 -2
- package/dist/{ContactsScreen-Cw2oDUbk.mjs.map → ContactsScreen-p2WN2k0l.mjs.map} +1 -1
- package/dist/{FluidProvider-Bm9_Q-Vq.cjs → FluidProvider-CfnQ1hQi.cjs} +3 -3
- package/dist/{FluidProvider-Bm9_Q-Vq.cjs.map → FluidProvider-CfnQ1hQi.cjs.map} +1 -1
- package/dist/{FluidProvider-DhhJ_tOB.mjs → FluidProvider-DxTCeF37.mjs} +3 -3
- package/dist/{FluidProvider-DhhJ_tOB.mjs.map → FluidProvider-DxTCeF37.mjs.map} +1 -1
- package/dist/{LinkWidget-CPneatEQ.cjs → LinkWidget-Bk6h0IOA.cjs} +141 -4
- package/dist/LinkWidget-Bk6h0IOA.cjs.map +1 -0
- package/dist/{LinkWidget-AxSj0c6j.cjs → LinkWidget-BnFbK1BC.cjs} +2 -1
- package/dist/{LinkWidget-BIGRdkyq.mjs → LinkWidget-CfgPs5G8.mjs} +141 -4
- package/dist/LinkWidget-CfgPs5G8.mjs.map +1 -0
- package/dist/{MessagingScreen-C52nvMiv.cjs → MessagingScreen-AwU6FVrk.cjs} +3 -3
- package/dist/{MessagingScreen-C52nvMiv.cjs.map → MessagingScreen-AwU6FVrk.cjs.map} +1 -1
- package/dist/{MessagingScreen-CeFtShuJ.mjs → MessagingScreen-Ct13M7D3.mjs} +3 -4
- package/dist/{MessagingScreen-CiAh61n3.cjs → MessagingScreen-DXT-R8PN.cjs} +3 -3
- package/dist/{MessagingScreen-D0usZTLT.mjs → MessagingScreen-G0z-kpur.mjs} +3 -3
- package/dist/{MessagingScreen-D0usZTLT.mjs.map → MessagingScreen-G0z-kpur.mjs.map} +1 -1
- package/dist/{MySiteScreen-Q9JMin6k.cjs → MySiteScreen-CK5ytiiM.cjs} +3 -3
- package/dist/{MySiteScreen-DDCmExRU.mjs → MySiteScreen-CtpBEE-w.mjs} +3 -4
- package/dist/{MySiteScreen-B4D3PBiR.mjs → MySiteScreen-CxFT0dYI.mjs} +2 -2
- package/dist/{MySiteScreen-B4D3PBiR.mjs.map → MySiteScreen-CxFT0dYI.mjs.map} +1 -1
- package/dist/{MySiteScreen-CNp1UcGZ.cjs → MySiteScreen-mKw6Ha6i.cjs} +2 -2
- package/dist/{MySiteScreen-CNp1UcGZ.cjs.map → MySiteScreen-mKw6Ha6i.cjs.map} +1 -1
- package/dist/{OrdersScreen-W2H36ANi.mjs → OrdersScreen-4xcHV4wN.mjs} +3 -5
- package/dist/{OrdersScreen-VMpNhQw9.cjs → OrdersScreen-Btxlpmyb.cjs} +3 -3
- package/dist/{OrdersScreen-VMpNhQw9.cjs.map → OrdersScreen-Btxlpmyb.cjs.map} +1 -1
- package/dist/{OrdersScreen-DsBMev3D.cjs → OrdersScreen-COJthd7g.cjs} +3 -3
- package/dist/{OrdersScreen-hpGhyOSh.mjs → OrdersScreen-DST1uQIZ.mjs} +3 -3
- package/dist/{OrdersScreen-hpGhyOSh.mjs.map → OrdersScreen-DST1uQIZ.mjs.map} +1 -1
- package/dist/{ProductsScreen-zpzMTDoA.mjs → ProductsScreen-BUIAM6Oj.mjs} +4 -4
- package/dist/{ProductsScreen-zpzMTDoA.mjs.map → ProductsScreen-BUIAM6Oj.mjs.map} +1 -1
- package/dist/{ProductsScreen-BnSGiylr.cjs → ProductsScreen-BrnS2fZj.cjs} +4 -4
- package/dist/{ProductsScreen-BnSGiylr.cjs.map → ProductsScreen-BrnS2fZj.cjs.map} +1 -1
- package/dist/{ProductsScreen-DnHGKEgL.mjs → ProductsScreen-DbD-M3_E.mjs} +4 -8
- package/dist/{ProductsScreen-BMZxJgei.cjs → ProductsScreen-nMIeRMz7.cjs} +4 -4
- package/dist/{ProfileScreen-DtK2t6V6.mjs → ProfileScreen-C6WaqIOa.mjs} +3 -3
- package/dist/{ProfileScreen-DtK2t6V6.mjs.map → ProfileScreen-C6WaqIOa.mjs.map} +1 -1
- package/dist/{ProfileScreen-BtLOlbKg.cjs → ProfileScreen-CNqGhQIS.cjs} +3 -3
- package/dist/{ProfileScreen-BtLOlbKg.cjs.map → ProfileScreen-CNqGhQIS.cjs.map} +1 -1
- package/dist/{ProfileScreen-oZ-aRHZd.cjs → ProfileScreen-COxPODra.cjs} +3 -3
- package/dist/{ProfileScreen-DTFiJh4l.mjs → ProfileScreen-CsjqnDHC.mjs} +3 -4
- package/dist/{ShareablesScreen-Bmgjw9sI.cjs → ShareablesScreen-6WYSwoae.cjs} +4 -4
- package/dist/{ShareablesScreen-BeUqK8Rt.mjs → ShareablesScreen-BKGi-Fxq.mjs} +4 -8
- package/dist/{ShareablesScreen-B603m_Vm.mjs → ShareablesScreen-DEG0RgHd.mjs} +4 -4
- package/dist/{ShareablesScreen-B603m_Vm.mjs.map → ShareablesScreen-DEG0RgHd.mjs.map} +1 -1
- package/dist/{ShareablesScreen-B7bILrTZ.cjs → ShareablesScreen-Dr54X4O1.cjs} +4 -4
- package/dist/{ShareablesScreen-B7bILrTZ.cjs.map → ShareablesScreen-Dr54X4O1.cjs.map} +1 -1
- package/dist/{ShopScreen-tank-h0f.cjs → ShopScreen-B-jG6Rem.cjs} +4 -4
- package/dist/{ShopScreen-tank-h0f.cjs.map → ShopScreen-B-jG6Rem.cjs.map} +1 -1
- package/dist/{ShopScreen-CZl3JCcH.cjs → ShopScreen-Bh3_9XNc.cjs} +3 -3
- package/dist/{ShopScreen-CoLFSZEV.mjs → ShopScreen-CFSFBeZn.mjs} +4 -4
- package/dist/{ShopScreen-CoLFSZEV.mjs.map → ShopScreen-CFSFBeZn.mjs.map} +1 -1
- package/dist/{ShopScreen-DnMTRfDV.mjs → ShopScreen-Dwi5A1Mh.mjs} +3 -7
- package/dist/{SubscriptionsScreen-B7vVZdeU.cjs → SubscriptionsScreen-BHoPRbxY.cjs} +3 -3
- package/dist/{SubscriptionsScreen-VY3atpwV.mjs → SubscriptionsScreen-BbHLRNOS.mjs} +3 -5
- package/dist/{SubscriptionsScreen-Q_sourEi.mjs → SubscriptionsScreen-DDuDQzog.mjs} +3 -3
- package/dist/{SubscriptionsScreen-Q_sourEi.mjs.map → SubscriptionsScreen-DDuDQzog.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-DqgNoNgv.cjs → SubscriptionsScreen-OR9rLA8Q.cjs} +3 -3
- package/dist/{SubscriptionsScreen-DqgNoNgv.cjs.map → SubscriptionsScreen-OR9rLA8Q.cjs.map} +1 -1
- package/dist/WidgetInteractionContext-DAN31Alw.mjs.map +1 -1
- package/dist/WidgetInteractionContext-ywxCBIMm.cjs.map +1 -1
- package/dist/index.cjs +33 -33
- package/dist/index.d.cts +12 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +12 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +33 -33
- package/dist/{products-Csja6Mz3.mjs → products-BVduBT2A.mjs} +3 -3
- package/dist/{products-Csja6Mz3.mjs.map → products-BVduBT2A.mjs.map} +1 -1
- package/dist/{products-DcoIAZKk.cjs → products-IQvKyCYT.cjs} +3 -3
- package/dist/{products-DcoIAZKk.cjs.map → products-IQvKyCYT.cjs.map} +1 -1
- package/dist/{src-BeeIRRwy.cjs → src-CqBhbo1S.cjs} +2 -2
- package/dist/{src-BeeIRRwy.cjs.map → src-CqBhbo1S.cjs.map} +1 -1
- package/dist/{src-C8lPWi5Q.mjs → src-SdohifRY.mjs} +2 -2
- package/dist/{src-C8lPWi5Q.mjs.map → src-SdohifRY.mjs.map} +1 -1
- package/dist/{use-account-clients-DInHTX3i.cjs → use-account-clients-D3Eawm5e.cjs} +2 -2
- package/dist/{use-account-clients-DInHTX3i.cjs.map → use-account-clients-D3Eawm5e.cjs.map} +1 -1
- package/dist/{use-account-clients-Do2v1HKy.mjs → use-account-clients-zeybRls8.mjs} +2 -2
- package/dist/{use-account-clients-Do2v1HKy.mjs.map → use-account-clients-zeybRls8.mjs.map} +1 -1
- package/dist/{use-customer-account-DXKadeJo.cjs → use-customer-account-BFRo6FiF.cjs} +3 -3
- package/dist/{use-customer-account-DXKadeJo.cjs.map → use-customer-account-BFRo6FiF.cjs.map} +1 -1
- package/dist/{use-customer-account-DGbCAfxl.mjs → use-customer-account-CZYDqBtL.mjs} +3 -3
- package/dist/{use-customer-account-DGbCAfxl.mjs.map → use-customer-account-CZYDqBtL.mjs.map} +1 -1
- package/dist/{use-fluid-api-BB3QhQT8.mjs → use-fluid-api-BpRkXNaT.mjs} +2 -2
- package/dist/{use-fluid-api-BB3QhQT8.mjs.map → use-fluid-api-BpRkXNaT.mjs.map} +1 -1
- package/dist/{use-fluid-api-BzIeHDnF.cjs → use-fluid-api-Df5mIIBE.cjs} +2 -2
- package/dist/{use-fluid-api-BzIeHDnF.cjs.map → use-fluid-api-Df5mIIBE.cjs.map} +1 -1
- package/package.json +8 -8
- package/styles/globals.css +164 -166
- package/dist/LinkWidget-BIGRdkyq.mjs.map +0 -1
- package/dist/LinkWidget-CPneatEQ.cjs.map +0 -1
- package/styles/theme.css +0 -169
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./FluidProvider-
|
|
1
|
+
import "./FluidProvider-DxTCeF37.mjs";
|
|
2
2
|
import "./error-state-BGEvTYIh.mjs";
|
|
3
3
|
import "./ScreenRenderer-Dt-Qrx9w.mjs";
|
|
4
4
|
import "./WidgetInteractionContext-DAN31Alw.mjs";
|
|
@@ -19,7 +19,7 @@ import "./ChartWidget-CMtSwkPY.mjs";
|
|
|
19
19
|
import "./LayoutWidget-pS3AMhD7.mjs";
|
|
20
20
|
import "./ContainerWidget-PNfcrIfV.mjs";
|
|
21
21
|
import "./ImageWidget-CvRlDtEa.mjs";
|
|
22
|
-
import "./LinkWidget-
|
|
22
|
+
import "./LinkWidget-CfgPs5G8.mjs";
|
|
23
23
|
import "./ListWidget-Dl2vSYmI.mjs";
|
|
24
24
|
import "./MySiteWidget-CD1fK3lT.mjs";
|
|
25
25
|
import "./NestedWidget-DjZumiak.mjs";
|
|
@@ -30,8 +30,6 @@ import "./SpacerWidget-CilIbCTV.mjs";
|
|
|
30
30
|
import "./TableWidget-2eaCsUwD.mjs";
|
|
31
31
|
import "./ToDoWidget-iiVItJrO.mjs";
|
|
32
32
|
import "./VideoWidget-BAxtPtq5.mjs";
|
|
33
|
-
import "./use-account-clients-Do2v1HKy.mjs";
|
|
34
|
-
import "./AppNavigationContext-CcRZ_LqM.mjs";
|
|
35
33
|
import "./src-RdDH-CO9.mjs";
|
|
36
|
-
import { n as ordersScreenPropertySchema, t as OrdersScreen } from "./OrdersScreen-
|
|
34
|
+
import { n as ordersScreenPropertySchema, t as OrdersScreen } from "./OrdersScreen-DST1uQIZ.mjs";
|
|
37
35
|
export { OrdersScreen, ordersScreenPropertySchema };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
|
-
const require_use_account_clients = require("./use-account-clients-
|
|
2
|
+
const require_use_account_clients = require("./use-account-clients-D3Eawm5e.cjs");
|
|
3
3
|
const require_AppNavigationContext = require("./AppNavigationContext-CbWjJMoI.cjs");
|
|
4
4
|
const require_src = require("./src-BdG_oJV8.cjs");
|
|
5
|
-
const require_use_customer_account = require("./use-customer-account-
|
|
5
|
+
const require_use_customer_account = require("./use-customer-account-BFRo6FiF.cjs");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
//#region src/screens/OrdersListScreen.tsx
|
|
8
8
|
const translations = {
|
|
@@ -131,4 +131,4 @@ Object.defineProperty(exports, "ordersScreenPropertySchema", {
|
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
133
|
|
|
134
|
-
//# sourceMappingURL=OrdersScreen-
|
|
134
|
+
//# sourceMappingURL=OrdersScreen-Btxlpmyb.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrdersScreen-
|
|
1
|
+
{"version":3,"file":"OrdersScreen-Btxlpmyb.cjs","names":["useOrdersClient","useAppNavigation","OrdersCoreProvider","OrdersList","useOrdersClient","useAppNavigation","OrdersCoreProvider","OrderDetail","useAppNavigation","useCustomerAccount"],"sources":["../src/screens/OrdersListScreen.tsx","../src/screens/OrderDetailScreen.tsx","../src/screens/OrdersScreen.tsx"],"sourcesContent":["import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrdersList } from \"@fluid-app/orders-ui\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\ninterface OrdersListScreenProps {\n customerId: number | undefined;\n isLoadingCustomer: boolean;\n}\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\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 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 <OrdersCoreProvider client={ordersClient}>\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={handleOrderClick}\n onSubscriptionClick={handleSubscriptionClick}\n t={(key) => translations[key] ?? key}\n />\n </div>\n </OrdersCoreProvider>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrderDetail } from \"@fluid-app/orders-ui\";\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 <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\n token={token}\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 </div>\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,5 +1,5 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
|
-
require("./FluidProvider-
|
|
2
|
+
require("./FluidProvider-CfnQ1hQi.cjs");
|
|
3
3
|
require("./error-state-CGCSDJIJ.cjs");
|
|
4
4
|
require("./ScreenRenderer-C-H-ju1C.cjs");
|
|
5
5
|
require("./WidgetInteractionContext-ywxCBIMm.cjs");
|
|
@@ -20,7 +20,7 @@ require("./ChartWidget-Ggi8bsVz.cjs");
|
|
|
20
20
|
require("./LayoutWidget-CsdItxHF.cjs");
|
|
21
21
|
require("./ContainerWidget-DZXzmDZl.cjs");
|
|
22
22
|
require("./ImageWidget-DwM4H6SC.cjs");
|
|
23
|
-
require("./LinkWidget-
|
|
23
|
+
require("./LinkWidget-Bk6h0IOA.cjs");
|
|
24
24
|
require("./ListWidget-D8yMrpa5.cjs");
|
|
25
25
|
require("./MySiteWidget-DeAwyK5y.cjs");
|
|
26
26
|
require("./NestedWidget-CZuN2QY2.cjs");
|
|
@@ -32,6 +32,6 @@ require("./TableWidget-CZ29o2Z4.cjs");
|
|
|
32
32
|
require("./ToDoWidget-GmeRwP_0.cjs");
|
|
33
33
|
require("./VideoWidget-CN8nMeGP.cjs");
|
|
34
34
|
require("./src-BdG_oJV8.cjs");
|
|
35
|
-
const require_OrdersScreen = require("./OrdersScreen-
|
|
35
|
+
const require_OrdersScreen = require("./OrdersScreen-Btxlpmyb.cjs");
|
|
36
36
|
exports.OrdersScreen = require_OrdersScreen.OrdersScreen;
|
|
37
37
|
exports.ordersScreenPropertySchema = require_OrdersScreen.ordersScreenPropertySchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as useOrdersClient } from "./use-account-clients-
|
|
1
|
+
import { r as useOrdersClient } from "./use-account-clients-zeybRls8.mjs";
|
|
2
2
|
import { n as useAppNavigation } from "./AppNavigationContext-CcRZ_LqM.mjs";
|
|
3
3
|
import { a as OrdersCoreProvider, n as OrdersList, t as OrderDetail } from "./src-RdDH-CO9.mjs";
|
|
4
|
-
import { t as useCustomerAccount } from "./use-customer-account-
|
|
4
|
+
import { t as useCustomerAccount } from "./use-customer-account-CZYDqBtL.mjs";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/screens/OrdersListScreen.tsx
|
|
7
7
|
const translations = {
|
|
@@ -119,4 +119,4 @@ const ordersScreenPropertySchema = {
|
|
|
119
119
|
//#endregion
|
|
120
120
|
export { ordersScreenPropertySchema as n, OrdersScreen as t };
|
|
121
121
|
|
|
122
|
-
//# sourceMappingURL=OrdersScreen-
|
|
122
|
+
//# sourceMappingURL=OrdersScreen-DST1uQIZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrdersScreen-
|
|
1
|
+
{"version":3,"file":"OrdersScreen-DST1uQIZ.mjs","names":[],"sources":["../src/screens/OrdersListScreen.tsx","../src/screens/OrderDetailScreen.tsx","../src/screens/OrdersScreen.tsx"],"sourcesContent":["import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrdersList } from \"@fluid-app/orders-ui\";\nimport type { orders } from \"@fluid-app/orders-api-client\";\nimport { useOrdersClient } from \"../account/use-account-clients\";\nimport { useAppNavigation } from \"../shell/AppNavigationContext\";\n\ninterface OrdersListScreenProps {\n customerId: number | undefined;\n isLoadingCustomer: boolean;\n}\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\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 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 <OrdersCoreProvider client={ordersClient}>\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={handleOrderClick}\n onSubscriptionClick={handleSubscriptionClick}\n t={(key) => translations[key] ?? key}\n />\n </div>\n </OrdersCoreProvider>\n );\n}\n","import { OrdersCoreProvider } from \"@fluid-app/orders-core\";\nimport { OrderDetail } from \"@fluid-app/orders-ui\";\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 <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\n token={token}\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 </div>\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":";;;;;;AAWA,MAAM,eAAuC;CAC3C,eAAe;CACf,cAAc;CACd,MAAM;CACN,QAAQ;CACR,SAAS;CACT,iBAAiB;CACjB,oBAAoB;CACpB,oBAAoB;CACpB,+BAA+B;CAC/B,cAAc;CACd,mBAAmB;CACnB,OAAO;CACP,SAAS;CACT,UAAU;CACV,MAAM;CACN,YAAY;CACb;AAED,SAAgB,iBAAiB,EAC/B,YACA,qBAC2C;CAC3C,MAAM,eAAe,iBAAiB;CACtC,MAAM,EAAE,aAAa,kBAAkB;CAEvC,MAAM,oBAAoB,UAA4B;AACpD,WAAS,UAAU,MAAM,QAAQ;;CAGnC,MAAM,2BAA2B,sBAA8B;AAC7D,WAAS,iBAAiB,oBAAoB;;AAGhD,KAAI,kBACF,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,qBAAC,OAAD;GAAK,WAAU;aAAf,CACE,oBAAC,OAAD,EAAK,WAAU,uCAAwC,CAAA,EACvD,oBAAC,OAAD,EAAK,WAAU,uCAAwC,CAAA,CACnD;;EACF,CAAA;AAIV,QACE,oBAAC,oBAAD;EAAoB,QAAQ;YAC1B,oBAAC,OAAD;GAAK,WAAU;aACb,oBAAC,YAAD;IACc;IACZ,cAAc;IACd,qBAAqB;IACrB,IAAI,QAAQ,aAAa,QAAQ;IACjC,CAAA;GACE,CAAA;EACa,CAAA;;;;ACxDzB,SAAgB,kBAAkB,EAChC,OACA,WAC4C;CAC5C,MAAM,SAAS,iBAAiB;CAChC,MAAM,EAAE,aAAa,kBAAkB;AAEvC,QACE,oBAAC,oBAAD;EAA4B;YAC1B,oBAAC,OAAD;GAAK,WAAU;aACb,oBAAC,aAAD;IACS;IACP,kBAAkB;AAChB,aAAQ,mBAAmB,UAAU;AACrC,cAAS,SAAS;;IAEpB,UAAU,QAAQ;AAGhB,aAAQ,yBADN,eAAe,QAAQ,IAAI,UAAU,uBACK,QAAQ;;IAEtD,CAAA;GACE,CAAA;EACa,CAAA;;;;ACXzB,SAAS,aAAa,SAAiB,MAAuC;AAC5E,KAAI,SAAS,WAAW,SAAS,UAC/B,SAAQ,KAAK,YAAY,QAAQ;KAEjC,SAAQ,KAAK,YAAY,QAAQ;;AAIrC,SAAgB,aAAa,EAC3B,SAEA,YACA,WACA,aACA,SACA,cAEA,GAAG,YACoC;CACvC,MAAM,EAAE,gBAAgB,kBAAkB;CAC1C,MAAM,iBAAiB,WAAW;CAGlC,MAAM,cAAc,YAAY,MAAM,IAAI,CAAC;CAC3C,MAAM,eAAe,gBAAgB,KAAA;CAErC,MAAM,EAAE,YAAY,mBAAmB,oBAAoB,mBACzD,EAAE,SAAS,CAAC,cAAc,CAC3B;AAED,KAAI,aACF,QACE,oBAAC,OAAD;EAAK,GAAI;YACP,oBAAC,mBAAD;GAAmB,OAAO;GAAa,SAAS;GAAkB,CAAA;EAC9D,CAAA;AAIV,KAAI,mBAAmB,CAAC,kBACtB,QACE,oBAAC,OAAD;EAAK,GAAI;YACP,oBAAC,OAAD;GAAK,WAAU;aAAsD;GAE/D,CAAA;EACF,CAAA;AAIV,QACE,oBAAC,OAAD;EAAK,GAAI;YACP,oBAAC,kBAAD;GACc;GACO;GACnB,CAAA;EACE,CAAA;;AAIV,MAAa,6BAAmD;CAC9D,YAAY;CACZ,aAAa;CACb,YAAY,CAAC;EAAE,IAAI;EAAW,OAAO;EAAW,CAAC;CACjD,QAAQ,EAAE;CACX"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as useSdkClient } from "./use-account-clients-
|
|
2
|
-
import { i as ShareablesCoreProvider, r as ShareablesUIProvider, t as ProductsApp } from "./src-
|
|
3
|
-
import { i as useCurrentUser } from "./products-
|
|
1
|
+
import { i as useSdkClient } from "./use-account-clients-zeybRls8.mjs";
|
|
2
|
+
import { i as ShareablesCoreProvider, r as ShareablesUIProvider, t as ProductsApp } from "./src-SdohifRY.mjs";
|
|
3
|
+
import { i as useCurrentUser } from "./products-BVduBT2A.mjs";
|
|
4
4
|
import { n as useAppNavigation } from "./AppNavigationContext-CcRZ_LqM.mjs";
|
|
5
5
|
import { useCallback, useMemo } from "react";
|
|
6
6
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -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-BUIAM6Oj.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-BUIAM6Oj.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,7 +1,7 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
|
-
const require_use_account_clients = require("./use-account-clients-
|
|
3
|
-
const require_src = require("./src-
|
|
4
|
-
const require_products = require("./products-
|
|
2
|
+
const require_use_account_clients = require("./use-account-clients-D3Eawm5e.cjs");
|
|
3
|
+
const require_src = require("./src-CqBhbo1S.cjs");
|
|
4
|
+
const require_products = require("./products-IQvKyCYT.cjs");
|
|
5
5
|
const require_AppNavigationContext = require("./AppNavigationContext-CbWjJMoI.cjs");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -77,4 +77,4 @@ Object.defineProperty(exports, "productsScreenPropertySchema", {
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=ProductsScreen-
|
|
80
|
+
//# sourceMappingURL=ProductsScreen-BrnS2fZj.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductsScreen-
|
|
1
|
+
{"version":3,"file":"ProductsScreen-BrnS2fZj.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,iBAAAA,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,4 +1,4 @@
|
|
|
1
|
-
import "./FluidProvider-
|
|
1
|
+
import "./FluidProvider-DxTCeF37.mjs";
|
|
2
2
|
import "./error-state-BGEvTYIh.mjs";
|
|
3
3
|
import "./ScreenRenderer-Dt-Qrx9w.mjs";
|
|
4
4
|
import "./WidgetInteractionContext-DAN31Alw.mjs";
|
|
@@ -19,7 +19,7 @@ import "./ChartWidget-CMtSwkPY.mjs";
|
|
|
19
19
|
import "./LayoutWidget-pS3AMhD7.mjs";
|
|
20
20
|
import "./ContainerWidget-PNfcrIfV.mjs";
|
|
21
21
|
import "./ImageWidget-CvRlDtEa.mjs";
|
|
22
|
-
import "./LinkWidget-
|
|
22
|
+
import "./LinkWidget-CfgPs5G8.mjs";
|
|
23
23
|
import "./ListWidget-Dl2vSYmI.mjs";
|
|
24
24
|
import "./MySiteWidget-CD1fK3lT.mjs";
|
|
25
25
|
import "./NestedWidget-DjZumiak.mjs";
|
|
@@ -30,14 +30,10 @@ import "./SpacerWidget-CilIbCTV.mjs";
|
|
|
30
30
|
import "./TableWidget-2eaCsUwD.mjs";
|
|
31
31
|
import "./ToDoWidget-iiVItJrO.mjs";
|
|
32
32
|
import "./VideoWidget-BAxtPtq5.mjs";
|
|
33
|
-
import "./
|
|
34
|
-
import "./src-C8lPWi5Q.mjs";
|
|
35
|
-
import "./use-fluid-api-BB3QhQT8.mjs";
|
|
36
|
-
import "./products-Csja6Mz3.mjs";
|
|
37
|
-
import "./AppNavigationContext-CcRZ_LqM.mjs";
|
|
33
|
+
import "./src-SdohifRY.mjs";
|
|
38
34
|
import "./dist-NMbUD0qE.mjs";
|
|
39
35
|
import "./es-CZy_BSTC.mjs";
|
|
40
36
|
import "./dist-_HuMD-TB.mjs";
|
|
41
37
|
import "./sortable.esm-Cz-CP2N8.mjs";
|
|
42
|
-
import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-
|
|
38
|
+
import { n as productsScreenPropertySchema, t as ProductsScreen } from "./ProductsScreen-BUIAM6Oj.mjs";
|
|
43
39
|
export { ProductsScreen, productsScreenPropertySchema };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require("./chunk-DAgNkxik.cjs");
|
|
2
|
-
require("./FluidProvider-
|
|
2
|
+
require("./FluidProvider-CfnQ1hQi.cjs");
|
|
3
3
|
require("./error-state-CGCSDJIJ.cjs");
|
|
4
4
|
require("./ScreenRenderer-C-H-ju1C.cjs");
|
|
5
5
|
require("./WidgetInteractionContext-ywxCBIMm.cjs");
|
|
@@ -20,7 +20,7 @@ require("./ChartWidget-Ggi8bsVz.cjs");
|
|
|
20
20
|
require("./LayoutWidget-CsdItxHF.cjs");
|
|
21
21
|
require("./ContainerWidget-DZXzmDZl.cjs");
|
|
22
22
|
require("./ImageWidget-DwM4H6SC.cjs");
|
|
23
|
-
require("./LinkWidget-
|
|
23
|
+
require("./LinkWidget-Bk6h0IOA.cjs");
|
|
24
24
|
require("./ListWidget-D8yMrpa5.cjs");
|
|
25
25
|
require("./MySiteWidget-DeAwyK5y.cjs");
|
|
26
26
|
require("./NestedWidget-CZuN2QY2.cjs");
|
|
@@ -31,11 +31,11 @@ require("./SpacerWidget-DW_7QXrs.cjs");
|
|
|
31
31
|
require("./TableWidget-CZ29o2Z4.cjs");
|
|
32
32
|
require("./ToDoWidget-GmeRwP_0.cjs");
|
|
33
33
|
require("./VideoWidget-CN8nMeGP.cjs");
|
|
34
|
-
require("./src-
|
|
34
|
+
require("./src-CqBhbo1S.cjs");
|
|
35
35
|
require("./dist-CtcLRHrv.cjs");
|
|
36
36
|
require("./es-BZa0y3qY.cjs");
|
|
37
37
|
require("./dist-BUWkpuUk.cjs");
|
|
38
38
|
require("./dist-DqYiTOfX.cjs");
|
|
39
|
-
const require_ProductsScreen = require("./ProductsScreen-
|
|
39
|
+
const require_ProductsScreen = require("./ProductsScreen-BrnS2fZj.cjs");
|
|
40
40
|
exports.ProductsScreen = require_ProductsScreen.ProductsScreen;
|
|
41
41
|
exports.productsScreenPropertySchema = require_ProductsScreen.productsScreenPropertySchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as fetchCustomerAccount, K as updateCustomer, n as useFluidContext } from "./FluidProvider-
|
|
1
|
+
import { G as fetchCustomerAccount, K as updateCustomer, n as useFluidContext } from "./FluidProvider-DxTCeF37.mjs";
|
|
2
2
|
import { t as parseApiErrors } from "./parse-api-errors-Dy2gL1eC.mjs";
|
|
3
3
|
import { $t as AvatarFallback, A as SelectContent, G as Label, I as Input, J as DropdownMenuItem, K as DropdownMenu, M as SelectTrigger, N as SelectValue, Qt as Avatar, X as DropdownMenuSeparator, at as DialogFooter, et as DropdownMenuTrigger, gn as AccordionTrigger, hn as AccordionItem, j as SelectItem, k as Select, lt as DialogTitle, mn as AccordionContent, nt as DialogClose, ot as DialogHeader, pn as Accordion, q as DropdownMenuContent, rt as DialogContent, tt as Dialog, un as Button, vn as cn, x as Skeleton, y as fluidToast } from "./src-xz1CzLl_.mjs";
|
|
4
|
-
import { i as useSdkClient, n as useFluidPayClient, o as useFluidAuth, t as API_VERSION } from "./use-account-clients-
|
|
4
|
+
import { i as useSdkClient, n as useFluidPayClient, o as useFluidAuth, t as API_VERSION } from "./use-account-clients-zeybRls8.mjs";
|
|
5
5
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
6
6
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
7
7
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -2757,4 +2757,4 @@ const profileScreenPropertySchema = {
|
|
|
2757
2757
|
//#endregion
|
|
2758
2758
|
export { profileScreenPropertySchema as n, ProfileScreen as t };
|
|
2759
2759
|
|
|
2760
|
-
//# sourceMappingURL=ProfileScreen-
|
|
2760
|
+
//# sourceMappingURL=ProfileScreen-C6WaqIOa.mjs.map
|