@withpotter/lib 0.13.0-next.101
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/__fixtures__/demo-content-server.json +484 -0
- package/dist/accessibility-context.d.ts +27 -0
- package/dist/accessibility-context.js +107 -0
- package/dist/accessibility-context.js.map +1 -0
- package/dist/active-workspace.d.ts +45 -0
- package/dist/active-workspace.js +34 -0
- package/dist/active-workspace.js.map +1 -0
- package/dist/admin-account-officer-api.d.ts +13 -0
- package/dist/admin-account-officer-api.js +12 -0
- package/dist/admin-account-officer-api.js.map +1 -0
- package/dist/admin-account-types.d.ts +122 -0
- package/dist/admin-account-types.js +1 -0
- package/dist/admin-account-types.js.map +1 -0
- package/dist/admin-adoption-api.d.ts +35 -0
- package/dist/admin-adoption-api.js +16 -0
- package/dist/admin-adoption-api.js.map +1 -0
- package/dist/admin-api.d.ts +1219 -0
- package/dist/admin-api.js +325 -0
- package/dist/admin-api.js.map +1 -0
- package/dist/admin-case-api.d.ts +32 -0
- package/dist/admin-case-api.js +63 -0
- package/dist/admin-case-api.js.map +1 -0
- package/dist/admin-case-types.d.ts +166 -0
- package/dist/admin-case-types.js +1 -0
- package/dist/admin-case-types.js.map +1 -0
- package/dist/admin-compliance-api.d.ts +31 -0
- package/dist/admin-compliance-api.js +20 -0
- package/dist/admin-compliance-api.js.map +1 -0
- package/dist/admin-country-api.d.ts +28 -0
- package/dist/admin-country-api.js +9 -0
- package/dist/admin-country-api.js.map +1 -0
- package/dist/admin-currency-types.d.ts +138 -0
- package/dist/admin-currency-types.js +1 -0
- package/dist/admin-currency-types.js.map +1 -0
- package/dist/admin-feedback-api.d.ts +215 -0
- package/dist/admin-feedback-api.js +63 -0
- package/dist/admin-feedback-api.js.map +1 -0
- package/dist/admin-inbox-seen.d.ts +22 -0
- package/dist/admin-inbox-seen.js +47 -0
- package/dist/admin-inbox-seen.js.map +1 -0
- package/dist/admin-ledger-api.d.ts +85 -0
- package/dist/admin-ledger-api.js +30 -0
- package/dist/admin-ledger-api.js.map +1 -0
- package/dist/admin-money-api.d.ts +127 -0
- package/dist/admin-money-api.js +125 -0
- package/dist/admin-money-api.js.map +1 -0
- package/dist/admin-newsletter-contacts-api.d.ts +70 -0
- package/dist/admin-newsletter-contacts-api.js +20 -0
- package/dist/admin-newsletter-contacts-api.js.map +1 -0
- package/dist/admin-newsletter-deliveries-api.d.ts +47 -0
- package/dist/admin-newsletter-deliveries-api.js +16 -0
- package/dist/admin-newsletter-deliveries-api.js.map +1 -0
- package/dist/admin-newsletters-api.d.ts +118 -0
- package/dist/admin-newsletters-api.js +47 -0
- package/dist/admin-newsletters-api.js.map +1 -0
- package/dist/admin-pos-api.d.ts +16 -0
- package/dist/admin-pos-api.js +35 -0
- package/dist/admin-pos-api.js.map +1 -0
- package/dist/admin-pos-query.d.ts +43 -0
- package/dist/admin-pos-query.js +55 -0
- package/dist/admin-pos-query.js.map +1 -0
- package/dist/admin-pos-types.d.ts +122 -0
- package/dist/admin-pos-types.js +1 -0
- package/dist/admin-pos-types.js.map +1 -0
- package/dist/admin-pricing-api.d.ts +88 -0
- package/dist/admin-pricing-api.js +66 -0
- package/dist/admin-pricing-api.js.map +1 -0
- package/dist/admin-readiness-api.d.ts +25 -0
- package/dist/admin-readiness-api.js +39 -0
- package/dist/admin-readiness-api.js.map +1 -0
- package/dist/admin-sales-api.d.ts +124 -0
- package/dist/admin-sales-api.js +41 -0
- package/dist/admin-sales-api.js.map +1 -0
- package/dist/admin-saved-replies-api.d.ts +35 -0
- package/dist/admin-saved-replies-api.js +70 -0
- package/dist/admin-saved-replies-api.js.map +1 -0
- package/dist/admin-service-operations-api.d.ts +142 -0
- package/dist/admin-service-operations-api.js +52 -0
- package/dist/admin-service-operations-api.js.map +1 -0
- package/dist/admin-signatures-api.d.ts +57 -0
- package/dist/admin-signatures-api.js +15 -0
- package/dist/admin-signatures-api.js.map +1 -0
- package/dist/admin-support-analytics-api.d.ts +36 -0
- package/dist/admin-support-analytics-api.js +71 -0
- package/dist/admin-support-analytics-api.js.map +1 -0
- package/dist/admin-tenant-setup-types.d.ts +85 -0
- package/dist/admin-tenant-setup-types.js +1 -0
- package/dist/admin-tenant-setup-types.js.map +1 -0
- package/dist/admin-tenants-query.d.ts +14 -0
- package/dist/admin-tenants-query.js +17 -0
- package/dist/admin-tenants-query.js.map +1 -0
- package/dist/analytics/PostHogProvider.d.ts +25 -0
- package/dist/analytics/PostHogProvider.js +44 -0
- package/dist/analytics/PostHogProvider.js.map +1 -0
- package/dist/analytics/index.d.ts +1 -0
- package/dist/analytics/index.js +11 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics.d.ts +1 -0
- package/dist/analytics.js +1 -0
- package/dist/api/abandoned-cart.d.ts +18 -0
- package/dist/api/abandoned-cart.js +68 -0
- package/dist/api/abandoned-cart.js.map +1 -0
- package/dist/api/accounts.d.ts +176 -0
- package/dist/api/accounts.js +194 -0
- package/dist/api/accounts.js.map +1 -0
- package/dist/api/analytics-patterns.d.ts +18 -0
- package/dist/api/analytics-patterns.js +52 -0
- package/dist/api/analytics-patterns.js.map +1 -0
- package/dist/api/analytics.d.ts +143 -0
- package/dist/api/analytics.js +379 -0
- package/dist/api/analytics.js.map +1 -0
- package/dist/api/assignee-prefs.d.ts +7 -0
- package/dist/api/assignee-prefs.js +17 -0
- package/dist/api/assignee-prefs.js.map +1 -0
- package/dist/api/automations.d.ts +73 -0
- package/dist/api/automations.js +102 -0
- package/dist/api/automations.js.map +1 -0
- package/dist/api/behaviors.d.ts +15 -0
- package/dist/api/behaviors.js +15 -0
- package/dist/api/behaviors.js.map +1 -0
- package/dist/api/bio.d.ts +7 -0
- package/dist/api/bio.js +17 -0
- package/dist/api/bio.js.map +1 -0
- package/dist/api/booking-calendar.d.ts +14 -0
- package/dist/api/booking-calendar.js +33 -0
- package/dist/api/booking-calendar.js.map +1 -0
- package/dist/api/bookings.d.ts +199 -0
- package/dist/api/bookings.js +284 -0
- package/dist/api/bookings.js.map +1 -0
- package/dist/api/business-devices.d.ts +108 -0
- package/dist/api/business-devices.js +139 -0
- package/dist/api/business-devices.js.map +1 -0
- package/dist/api/business-locations.d.ts +26 -0
- package/dist/api/business-locations.js +39 -0
- package/dist/api/business-locations.js.map +1 -0
- package/dist/api/cache-bus.d.ts +56 -0
- package/dist/api/cache-bus.js +18 -0
- package/dist/api/cache-bus.js.map +1 -0
- package/dist/api/calendar-sync.d.ts +49 -0
- package/dist/api/calendar-sync.js +50 -0
- package/dist/api/calendar-sync.js.map +1 -0
- package/dist/api/campaign-initiatives.d.ts +115 -0
- package/dist/api/campaign-initiatives.js +42 -0
- package/dist/api/campaign-initiatives.js.map +1 -0
- package/dist/api/campaigns.d.ts +89 -0
- package/dist/api/campaigns.js +100 -0
- package/dist/api/campaigns.js.map +1 -0
- package/dist/api/capabilities.d.ts +12 -0
- package/dist/api/capabilities.js +16 -0
- package/dist/api/capabilities.js.map +1 -0
- package/dist/api/commerce.d.ts +19 -0
- package/dist/api/commerce.js +31 -0
- package/dist/api/commerce.js.map +1 -0
- package/dist/api/communications.d.ts +166 -0
- package/dist/api/communications.js +141 -0
- package/dist/api/communications.js.map +1 -0
- package/dist/api/connect.d.ts +72 -0
- package/dist/api/connect.js +50 -0
- package/dist/api/connect.js.map +1 -0
- package/dist/api/content.d.ts +146 -0
- package/dist/api/content.js +187 -0
- package/dist/api/content.js.map +1 -0
- package/dist/api/conversations.d.ts +79 -0
- package/dist/api/conversations.js +41 -0
- package/dist/api/conversations.js.map +1 -0
- package/dist/api/core.d.ts +62 -0
- package/dist/api/core.js +223 -0
- package/dist/api/core.js.map +1 -0
- package/dist/api/credentials.d.ts +65 -0
- package/dist/api/credentials.js +48 -0
- package/dist/api/credentials.js.map +1 -0
- package/dist/api/credits.d.ts +96 -0
- package/dist/api/credits.js +24 -0
- package/dist/api/credits.js.map +1 -0
- package/dist/api/crm-analytics.d.ts +10 -0
- package/dist/api/crm-analytics.js +22 -0
- package/dist/api/crm-analytics.js.map +1 -0
- package/dist/api/crm-segments.d.ts +14 -0
- package/dist/api/crm-segments.js +42 -0
- package/dist/api/crm-segments.js.map +1 -0
- package/dist/api/deliveries.d.ts +99 -0
- package/dist/api/deliveries.js +37 -0
- package/dist/api/deliveries.js.map +1 -0
- package/dist/api/demo-content.d.ts +104 -0
- package/dist/api/demo-content.js +36 -0
- package/dist/api/demo-content.js.map +1 -0
- package/dist/api/device-shifts.d.ts +56 -0
- package/dist/api/device-shifts.js +50 -0
- package/dist/api/device-shifts.js.map +1 -0
- package/dist/api/devices.d.ts +6 -0
- package/dist/api/devices.js +10 -0
- package/dist/api/devices.js.map +1 -0
- package/dist/api/digital-files.d.ts +22 -0
- package/dist/api/digital-files.js +55 -0
- package/dist/api/digital-files.js.map +1 -0
- package/dist/api/discounts.d.ts +29 -0
- package/dist/api/discounts.js +46 -0
- package/dist/api/discounts.js.map +1 -0
- package/dist/api/disputes.d.ts +47 -0
- package/dist/api/disputes.js +42 -0
- package/dist/api/disputes.js.map +1 -0
- package/dist/api/feature-locked.d.ts +11 -0
- package/dist/api/feature-locked.js +18 -0
- package/dist/api/feature-locked.js.map +1 -0
- package/dist/api/feedback-prompts.d.ts +45 -0
- package/dist/api/feedback-prompts.js +85 -0
- package/dist/api/feedback-prompts.js.map +1 -0
- package/dist/api/feedback.d.ts +254 -0
- package/dist/api/feedback.js +108 -0
- package/dist/api/feedback.js.map +1 -0
- package/dist/api/finance.d.ts +199 -0
- package/dist/api/finance.js +203 -0
- package/dist/api/finance.js.map +1 -0
- package/dist/api/gallery.d.ts +30 -0
- package/dist/api/gallery.js +48 -0
- package/dist/api/gallery.js.map +1 -0
- package/dist/api/geo.d.ts +18 -0
- package/dist/api/geo.js +19 -0
- package/dist/api/geo.js.map +1 -0
- package/dist/api/giftcards.d.ts +63 -0
- package/dist/api/giftcards.js +63 -0
- package/dist/api/giftcards.js.map +1 -0
- package/dist/api/hardware-orders.d.ts +40 -0
- package/dist/api/hardware-orders.js +37 -0
- package/dist/api/hardware-orders.js.map +1 -0
- package/dist/api/index.d.ts +71 -0
- package/dist/api/index.js +78 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/inquiries.d.ts +92 -0
- package/dist/api/inquiries.js +129 -0
- package/dist/api/inquiries.js.map +1 -0
- package/dist/api/inventory.d.ts +133 -0
- package/dist/api/inventory.js +203 -0
- package/dist/api/inventory.js.map +1 -0
- package/dist/api/invite-body.d.ts +19 -0
- package/dist/api/invite-body.js +8 -0
- package/dist/api/invite-body.js.map +1 -0
- package/dist/api/invoices.d.ts +19 -0
- package/dist/api/invoices.js +80 -0
- package/dist/api/invoices.js.map +1 -0
- package/dist/api/locations.d.ts +15 -0
- package/dist/api/locations.js +30 -0
- package/dist/api/locations.js.map +1 -0
- package/dist/api/loyalty.d.ts +68 -0
- package/dist/api/loyalty.js +112 -0
- package/dist/api/loyalty.js.map +1 -0
- package/dist/api/marketing-consent.d.ts +36 -0
- package/dist/api/marketing-consent.js +11 -0
- package/dist/api/marketing-consent.js.map +1 -0
- package/dist/api/marketing-suppressions.d.ts +81 -0
- package/dist/api/marketing-suppressions.js +65 -0
- package/dist/api/marketing-suppressions.js.map +1 -0
- package/dist/api/members.d.ts +79 -0
- package/dist/api/members.js +148 -0
- package/dist/api/members.js.map +1 -0
- package/dist/api/merchant-notifications.d.ts +27 -0
- package/dist/api/merchant-notifications.js +41 -0
- package/dist/api/merchant-notifications.js.map +1 -0
- package/dist/api/merchant-referrals.d.ts +23 -0
- package/dist/api/merchant-referrals.js +10 -0
- package/dist/api/merchant-referrals.js.map +1 -0
- package/dist/api/merchant-subscriptions.d.ts +117 -0
- package/dist/api/merchant-subscriptions.js +113 -0
- package/dist/api/merchant-subscriptions.js.map +1 -0
- package/dist/api/misc.d.ts +4 -0
- package/dist/api/misc.js +24 -0
- package/dist/api/misc.js.map +1 -0
- package/dist/api/odoo.d.ts +102 -0
- package/dist/api/odoo.js +36 -0
- package/dist/api/odoo.js.map +1 -0
- package/dist/api/onboarding.d.ts +48 -0
- package/dist/api/onboarding.js +78 -0
- package/dist/api/onboarding.js.map +1 -0
- package/dist/api/orders.d.ts +153 -0
- package/dist/api/orders.js +303 -0
- package/dist/api/orders.js.map +1 -0
- package/dist/api/organizations.d.ts +14 -0
- package/dist/api/organizations.js +19 -0
- package/dist/api/organizations.js.map +1 -0
- package/dist/api/packages.d.ts +16 -0
- package/dist/api/packages.js +25 -0
- package/dist/api/packages.js.map +1 -0
- package/dist/api/pages.d.ts +79 -0
- package/dist/api/pages.js +125 -0
- package/dist/api/pages.js.map +1 -0
- package/dist/api/payables.d.ts +34 -0
- package/dist/api/payables.js +70 -0
- package/dist/api/payables.js.map +1 -0
- package/dist/api/plan-refusal.d.ts +21 -0
- package/dist/api/plan-refusal.js +28 -0
- package/dist/api/plan-refusal.js.map +1 -0
- package/dist/api/pos.d.ts +66 -0
- package/dist/api/pos.js +115 -0
- package/dist/api/pos.js.map +1 -0
- package/dist/api/potter.d.ts +114 -0
- package/dist/api/potter.js +88 -0
- package/dist/api/potter.js.map +1 -0
- package/dist/api/push.d.ts +25 -0
- package/dist/api/push.js +23 -0
- package/dist/api/push.js.map +1 -0
- package/dist/api/referrals.d.ts +10 -0
- package/dist/api/referrals.js +16 -0
- package/dist/api/referrals.js.map +1 -0
- package/dist/api/resource-categories.d.ts +35 -0
- package/dist/api/resource-categories.js +76 -0
- package/dist/api/resource-categories.js.map +1 -0
- package/dist/api/resources.d.ts +54 -0
- package/dist/api/resources.js +92 -0
- package/dist/api/resources.js.map +1 -0
- package/dist/api/reviews.d.ts +18 -0
- package/dist/api/reviews.js +46 -0
- package/dist/api/reviews.js.map +1 -0
- package/dist/api/riders.d.ts +70 -0
- package/dist/api/riders.js +24 -0
- package/dist/api/riders.js.map +1 -0
- package/dist/api/role-permissions.d.ts +25 -0
- package/dist/api/role-permissions.js +47 -0
- package/dist/api/role-permissions.js.map +1 -0
- package/dist/api/sales-channels.d.ts +234 -0
- package/dist/api/sales-channels.js +119 -0
- package/dist/api/sales-channels.js.map +1 -0
- package/dist/api/service-missing.d.ts +10 -0
- package/dist/api/service-missing.js +19 -0
- package/dist/api/service-missing.js.map +1 -0
- package/dist/api/session-refresh.d.ts +18 -0
- package/dist/api/session-refresh.js +37 -0
- package/dist/api/session-refresh.js.map +1 -0
- package/dist/api/session-scope.d.ts +35 -0
- package/dist/api/session-scope.js +53 -0
- package/dist/api/session-scope.js.map +1 -0
- package/dist/api/settlements.d.ts +106 -0
- package/dist/api/settlements.js +114 -0
- package/dist/api/settlements.js.map +1 -0
- package/dist/api/share-links.d.ts +46 -0
- package/dist/api/share-links.js +25 -0
- package/dist/api/share-links.js.map +1 -0
- package/dist/api/shift-notes.d.ts +19 -0
- package/dist/api/shift-notes.js +13 -0
- package/dist/api/shift-notes.js.map +1 -0
- package/dist/api/shipping.d.ts +42 -0
- package/dist/api/shipping.js +53 -0
- package/dist/api/shipping.js.map +1 -0
- package/dist/api/social-sources.d.ts +58 -0
- package/dist/api/social-sources.js +23 -0
- package/dist/api/social-sources.js.map +1 -0
- package/dist/api/tabs.d.ts +14 -0
- package/dist/api/tabs.js +39 -0
- package/dist/api/tabs.js.map +1 -0
- package/dist/api/team.d.ts +112 -0
- package/dist/api/team.js +144 -0
- package/dist/api/team.js.map +1 -0
- package/dist/api/template-settings.d.ts +26 -0
- package/dist/api/template-settings.js +36 -0
- package/dist/api/template-settings.js.map +1 -0
- package/dist/api/templates.d.ts +21 -0
- package/dist/api/templates.js +25 -0
- package/dist/api/templates.js.map +1 -0
- package/dist/api/tenant-slug.d.ts +13 -0
- package/dist/api/tenant-slug.js +18 -0
- package/dist/api/tenant-slug.js.map +1 -0
- package/dist/api/tenant.d.ts +33 -0
- package/dist/api/tenant.js +51 -0
- package/dist/api/tenant.js.map +1 -0
- package/dist/api/types/analytics-attribution.d.ts +43 -0
- package/dist/api/types/analytics-attribution.js +1 -0
- package/dist/api/types/analytics-attribution.js.map +1 -0
- package/dist/api/types/analytics.d.ts +465 -0
- package/dist/api/types/analytics.js +1 -0
- package/dist/api/types/analytics.js.map +1 -0
- package/dist/api/types/auth.d.ts +206 -0
- package/dist/api/types/auth.js +7 -0
- package/dist/api/types/auth.js.map +1 -0
- package/dist/api/types/automation-flow.d.ts +199 -0
- package/dist/api/types/automation-flow.js +1 -0
- package/dist/api/types/automation-flow.js.map +1 -0
- package/dist/api/types/bookings.d.ts +226 -0
- package/dist/api/types/bookings.js +1 -0
- package/dist/api/types/bookings.js.map +1 -0
- package/dist/api/types/campaigns.d.ts +262 -0
- package/dist/api/types/campaigns.js +1 -0
- package/dist/api/types/campaigns.js.map +1 -0
- package/dist/api/types/catalog.d.ts +273 -0
- package/dist/api/types/catalog.js +1 -0
- package/dist/api/types/catalog.js.map +1 -0
- package/dist/api/types/collections.d.ts +189 -0
- package/dist/api/types/collections.js +1 -0
- package/dist/api/types/collections.js.map +1 -0
- package/dist/api/types/crm.d.ts +264 -0
- package/dist/api/types/crm.js +1 -0
- package/dist/api/types/crm.js.map +1 -0
- package/dist/api/types/customers.d.ts +269 -0
- package/dist/api/types/customers.js +1 -0
- package/dist/api/types/customers.js.map +1 -0
- package/dist/api/types/devices.d.ts +390 -0
- package/dist/api/types/devices.js +1 -0
- package/dist/api/types/devices.js.map +1 -0
- package/dist/api/types/discounts.d.ts +237 -0
- package/dist/api/types/discounts.js +1 -0
- package/dist/api/types/discounts.js.map +1 -0
- package/dist/api/types/filters.d.ts +258 -0
- package/dist/api/types/filters.js +1 -0
- package/dist/api/types/filters.js.map +1 -0
- package/dist/api/types/index.d.ts +31 -0
- package/dist/api/types/index.js +25 -0
- package/dist/api/types/index.js.map +1 -0
- package/dist/api/types/inquiries.d.ts +266 -0
- package/dist/api/types/inquiries.js +1 -0
- package/dist/api/types/inquiries.js.map +1 -0
- package/dist/api/types/locations.d.ts +208 -0
- package/dist/api/types/locations.js +1 -0
- package/dist/api/types/locations.js.map +1 -0
- package/dist/api/types/onboarding.d.ts +311 -0
- package/dist/api/types/onboarding.js +1 -0
- package/dist/api/types/onboarding.js.map +1 -0
- package/dist/api/types/operations.d.ts +136 -0
- package/dist/api/types/operations.js +1 -0
- package/dist/api/types/operations.js.map +1 -0
- package/dist/api/types/orders.d.ts +242 -0
- package/dist/api/types/orders.js +1 -0
- package/dist/api/types/orders.js.map +1 -0
- package/dist/api/types/payables.d.ts +140 -0
- package/dist/api/types/payables.js +1 -0
- package/dist/api/types/payables.js.map +1 -0
- package/dist/api/types/pos.d.ts +121 -0
- package/dist/api/types/pos.js +5 -0
- package/dist/api/types/pos.js.map +1 -0
- package/dist/api/types/record-analytics.d.ts +95 -0
- package/dist/api/types/record-analytics.js +1 -0
- package/dist/api/types/record-analytics.js.map +1 -0
- package/dist/api/types/sales-patterns.d.ts +58 -0
- package/dist/api/types/sales-patterns.js +1 -0
- package/dist/api/types/sales-patterns.js.map +1 -0
- package/dist/api/types/tabs.d.ts +210 -0
- package/dist/api/types/tabs.js +1 -0
- package/dist/api/types/tabs.js.map +1 -0
- package/dist/api/types/templates.d.ts +398 -0
- package/dist/api/types/templates.js +1 -0
- package/dist/api/types/templates.js.map +1 -0
- package/dist/api/types/waitlist.d.ts +324 -0
- package/dist/api/types/waitlist.js +1 -0
- package/dist/api/types/waitlist.js.map +1 -0
- package/dist/api/types.d.ts +1 -0
- package/dist/api/types.js +1 -0
- package/dist/api/unserved-routes.d.ts +4 -0
- package/dist/api/unserved-routes.js +15 -0
- package/dist/api/unserved-routes.js.map +1 -0
- package/dist/api/waitlist.d.ts +80 -0
- package/dist/api/waitlist.js +85 -0
- package/dist/api/waitlist.js.map +1 -0
- package/dist/api.d.ts +1 -0
- package/dist/api.js +1 -0
- package/dist/app-name.d.ts +29 -0
- package/dist/app-name.js +11 -0
- package/dist/app-name.js.map +1 -0
- package/dist/arrival.d.ts +48 -0
- package/dist/arrival.js +34 -0
- package/dist/arrival.js.map +1 -0
- package/dist/auth-context.d.ts +90 -0
- package/dist/auth-context.js +732 -0
- package/dist/auth-context.js.map +1 -0
- package/dist/auth-session.d.ts +1 -0
- package/dist/auth-session.js +25 -0
- package/dist/auth-session.js.map +1 -0
- package/dist/bank-phone.d.ts +2 -0
- package/dist/bank-phone.js +12 -0
- package/dist/bank-phone.js.map +1 -0
- package/dist/behavior-config-types.d.ts +49 -0
- package/dist/behavior-config-types.js +1 -0
- package/dist/behavior-config-types.js.map +1 -0
- package/dist/behavior-context.d.ts +15 -0
- package/dist/behavior-context.js +38 -0
- package/dist/behavior-context.js.map +1 -0
- package/dist/behavior-fields.d.ts +41 -0
- package/dist/behavior-fields.js +20 -0
- package/dist/behavior-fields.js.map +1 -0
- package/dist/blog/__fixtures__/paste-hygiene.d.ts +7 -0
- package/dist/blog/__fixtures__/paste-hygiene.js +36 -0
- package/dist/blog/__fixtures__/paste-hygiene.js.map +1 -0
- package/dist/blog/density.d.ts +65 -0
- package/dist/blog/density.js +126 -0
- package/dist/blog/density.js.map +1 -0
- package/dist/blog/paste-hygiene.d.ts +3 -0
- package/dist/blog/paste-hygiene.js +168 -0
- package/dist/blog/paste-hygiene.js.map +1 -0
- package/dist/booking-location-label.d.ts +10 -0
- package/dist/booking-location-label.js +24 -0
- package/dist/booking-location-label.js.map +1 -0
- package/dist/booking-meeting-link.d.ts +48 -0
- package/dist/booking-meeting-link.js +40 -0
- package/dist/booking-meeting-link.js.map +1 -0
- package/dist/box-channels.d.ts +22 -0
- package/dist/box-channels.js +16 -0
- package/dist/box-channels.js.map +1 -0
- package/dist/box-delivery.d.ts +10 -0
- package/dist/box-delivery.js +5 -0
- package/dist/box-delivery.js.map +1 -0
- package/dist/box-inbox.d.ts +11 -0
- package/dist/box-inbox.js +5 -0
- package/dist/box-inbox.js.map +1 -0
- package/dist/box-letting.d.ts +14 -0
- package/dist/box-letting.js +7 -0
- package/dist/box-letting.js.map +1 -0
- package/dist/box-mark-paths.d.ts +28 -0
- package/dist/box-mark-paths.js +23 -0
- package/dist/box-mark-paths.js.map +1 -0
- package/dist/box-media.d.ts +9 -0
- package/dist/box-media.js +5 -0
- package/dist/box-media.js.map +1 -0
- package/dist/box-products.d.ts +16 -0
- package/dist/box-products.js +9 -0
- package/dist/box-products.js.map +1 -0
- package/dist/box-splits.d.ts +12 -0
- package/dist/box-splits.js +5 -0
- package/dist/box-splits.js.map +1 -0
- package/dist/brand.d.ts +26 -0
- package/dist/brand.js +22 -0
- package/dist/brand.js.map +1 -0
- package/dist/business-categories.d.ts +50 -0
- package/dist/business-categories.js +378 -0
- package/dist/business-categories.js.map +1 -0
- package/dist/business-intents.d.ts +31 -0
- package/dist/business-intents.js +142 -0
- package/dist/business-intents.js.map +1 -0
- package/dist/capability-context.d.ts +63 -0
- package/dist/capability-context.js +84 -0
- package/dist/capability-context.js.map +1 -0
- package/dist/carriers.d.ts +83 -0
- package/dist/carriers.js +124 -0
- package/dist/carriers.js.map +1 -0
- package/dist/commerce-build/api.d.ts +29 -0
- package/dist/commerce-build/api.js +152 -0
- package/dist/commerce-build/api.js.map +1 -0
- package/dist/commerce-build/contracts-profile.d.ts +83 -0
- package/dist/commerce-build/contracts-profile.js +1 -0
- package/dist/commerce-build/contracts-profile.js.map +1 -0
- package/dist/commerce-build/contracts-spec.d.ts +217 -0
- package/dist/commerce-build/contracts-spec.js +1 -0
- package/dist/commerce-build/contracts-spec.js.map +1 -0
- package/dist/commerce-build/contracts.d.ts +2 -0
- package/dist/commerce-build/contracts.js +1 -0
- package/dist/commerce-build/contracts.js.map +1 -0
- package/dist/commerce-build/launch-state.d.ts +20 -0
- package/dist/commerce-build/launch-state.js +72 -0
- package/dist/commerce-build/launch-state.js.map +1 -0
- package/dist/commerce-build/profile-utils.d.ts +5 -0
- package/dist/commerce-build/profile-utils.js +14 -0
- package/dist/commerce-build/profile-utils.js.map +1 -0
- package/dist/commerce-build/setup-flow.d.ts +10 -0
- package/dist/commerce-build/setup-flow.js +24 -0
- package/dist/commerce-build/setup-flow.js.map +1 -0
- package/dist/commerce-build/setup-session.d.ts +26 -0
- package/dist/commerce-build/setup-session.js +70 -0
- package/dist/commerce-build/setup-session.js.map +1 -0
- package/dist/commerce-build/turn-streaming.d.ts +21 -0
- package/dist/commerce-build/turn-streaming.js +113 -0
- package/dist/commerce-build/turn-streaming.js.map +1 -0
- package/dist/commerce-build/workspace-components.d.ts +23 -0
- package/dist/commerce-build/workspace-components.js +66 -0
- package/dist/commerce-build/workspace-components.js.map +1 -0
- package/dist/commerce-build/workspace-config.d.ts +7 -0
- package/dist/commerce-build/workspace-config.js +74 -0
- package/dist/commerce-build/workspace-config.js.map +1 -0
- package/dist/companion/config.d.ts +31 -0
- package/dist/companion/config.js +59 -0
- package/dist/companion/config.js.map +1 -0
- package/dist/connect/catalog.d.ts +32 -0
- package/dist/connect/catalog.js +268 -0
- package/dist/connect/catalog.js.map +1 -0
- package/dist/connect/fixtures/commands.d.ts +8 -0
- package/dist/connect/fixtures/commands.js +146 -0
- package/dist/connect/fixtures/commands.js.map +1 -0
- package/dist/connect/fixtures/connections.d.ts +21 -0
- package/dist/connect/fixtures/connections.js +370 -0
- package/dist/connect/fixtures/connections.js.map +1 -0
- package/dist/connect/fixtures/identities.d.ts +10 -0
- package/dist/connect/fixtures/identities.js +61 -0
- package/dist/connect/fixtures/identities.js.map +1 -0
- package/dist/connect/fixtures/index.d.ts +11 -0
- package/dist/connect/fixtures/index.js +11 -0
- package/dist/connect/fixtures/index.js.map +1 -0
- package/dist/connect/fixtures/usage.d.ts +2 -0
- package/dist/connect/fixtures/usage.js +21 -0
- package/dist/connect/fixtures/usage.js.map +1 -0
- package/dist/connect/fixtures.d.ts +1 -0
- package/dist/connect/fixtures.js +1 -0
- package/dist/connect/from-notifications.d.ts +3 -0
- package/dist/connect/from-notifications.js +78 -0
- package/dist/connect/from-notifications.js.map +1 -0
- package/dist/connect/identity.d.ts +67 -0
- package/dist/connect/identity.js +24 -0
- package/dist/connect/identity.js.map +1 -0
- package/dist/connect/index.d.ts +13 -0
- package/dist/connect/index.js +22 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connect/next-up.d.ts +18 -0
- package/dist/connect/next-up.js +45 -0
- package/dist/connect/next-up.js.map +1 -0
- package/dist/connect/types.d.ts +354 -0
- package/dist/connect/types.js +68 -0
- package/dist/connect/types.js.map +1 -0
- package/dist/connect/use-connect.d.ts +51 -0
- package/dist/connect/use-connect.js +85 -0
- package/dist/connect/use-connect.js.map +1 -0
- package/dist/connect.d.ts +1 -0
- package/dist/connect.js +1 -0
- package/dist/converted-tag.d.ts +7 -0
- package/dist/converted-tag.js +9 -0
- package/dist/converted-tag.js.map +1 -0
- package/dist/countries.d.ts +65 -0
- package/dist/countries.js +374 -0
- package/dist/countries.js.map +1 -0
- package/dist/country-regions.d.ts +12 -0
- package/dist/country-regions.js +36 -0
- package/dist/country-regions.js.map +1 -0
- package/dist/csv.d.ts +28 -0
- package/dist/csv.js +91 -0
- package/dist/csv.js.map +1 -0
- package/dist/currency.d.ts +5 -0
- package/dist/currency.js +25 -0
- package/dist/currency.js.map +1 -0
- package/dist/customer-helpers.d.ts +30 -0
- package/dist/customer-helpers.js +66 -0
- package/dist/customer-helpers.js.map +1 -0
- package/dist/customer-stage.d.ts +125 -0
- package/dist/customer-stage.js +113 -0
- package/dist/customer-stage.js.map +1 -0
- package/dist/dashboard-destinations.d.ts +5 -0
- package/dist/dashboard-destinations.js +29 -0
- package/dist/dashboard-destinations.js.map +1 -0
- package/dist/demo-content-mock.d.ts +22 -0
- package/dist/demo-content-mock.js +70 -0
- package/dist/demo-content-mock.js.map +1 -0
- package/dist/demo-content-poller.d.ts +33 -0
- package/dist/demo-content-poller.js +80 -0
- package/dist/demo-content-poller.js.map +1 -0
- package/dist/demo-content.d.ts +43 -0
- package/dist/demo-content.js +78 -0
- package/dist/demo-content.js.map +1 -0
- package/dist/describe-activity.d.ts +44 -0
- package/dist/describe-activity.js +16 -0
- package/dist/describe-activity.js.map +1 -0
- package/dist/describe-invite.d.ts +19 -0
- package/dist/describe-invite.js +46 -0
- package/dist/describe-invite.js.map +1 -0
- package/dist/design-schema.d.ts +76 -0
- package/dist/design-schema.js +47 -0
- package/dist/design-schema.js.map +1 -0
- package/dist/destination-alias.d.ts +43 -0
- package/dist/destination-alias.js +146 -0
- package/dist/destination-alias.js.map +1 -0
- package/dist/document-numbering.d.ts +40 -0
- package/dist/document-numbering.js +48 -0
- package/dist/document-numbering.js.map +1 -0
- package/dist/document-title.d.ts +22 -0
- package/dist/document-title.js +85 -0
- package/dist/document-title.js.map +1 -0
- package/dist/editor/row-ops.d.ts +39 -0
- package/dist/editor/row-ops.js +25 -0
- package/dist/editor/row-ops.js.map +1 -0
- package/dist/editor-agent/apply-proposal.d.ts +12 -0
- package/dist/editor-agent/apply-proposal.js +44 -0
- package/dist/editor-agent/apply-proposal.js.map +1 -0
- package/dist/editor-agent/contracts.d.ts +174 -0
- package/dist/editor-agent/contracts.js +1 -0
- package/dist/editor-agent/contracts.js.map +1 -0
- package/dist/editor-agent/converse.d.ts +34 -0
- package/dist/editor-agent/converse.js +141 -0
- package/dist/editor-agent/converse.js.map +1 -0
- package/dist/editor-agent/flag.d.ts +12 -0
- package/dist/editor-agent/flag.js +19 -0
- package/dist/editor-agent/flag.js.map +1 -0
- package/dist/editor-agent/template-document.d.ts +52 -0
- package/dist/editor-agent/template-document.js +50 -0
- package/dist/editor-agent/template-document.js.map +1 -0
- package/dist/editor-agent/use-converse.d.ts +30 -0
- package/dist/editor-agent/use-converse.js +130 -0
- package/dist/editor-agent/use-converse.js.map +1 -0
- package/dist/effective-module-labels.d.ts +17 -0
- package/dist/effective-module-labels.js +14 -0
- package/dist/effective-module-labels.js.map +1 -0
- package/dist/embedded-frame.d.ts +30 -0
- package/dist/embedded-frame.js +23 -0
- package/dist/embedded-frame.js.map +1 -0
- package/dist/empty-state-copy.d.ts +27 -0
- package/dist/empty-state-copy.js +167 -0
- package/dist/empty-state-copy.js.map +1 -0
- package/dist/end-session.d.ts +23 -0
- package/dist/end-session.js +30 -0
- package/dist/end-session.js.map +1 -0
- package/dist/file-intake.d.ts +65 -0
- package/dist/file-intake.js +162 -0
- package/dist/file-intake.js.map +1 -0
- package/dist/first-run.d.ts +5 -0
- package/dist/first-run.js +13 -0
- package/dist/first-run.js.map +1 -0
- package/dist/form-answers.d.ts +57 -0
- package/dist/form-answers.js +79 -0
- package/dist/form-answers.js.map +1 -0
- package/dist/form-draft.d.ts +30 -0
- package/dist/form-draft.js +73 -0
- package/dist/form-draft.js.map +1 -0
- package/dist/format.d.ts +29 -0
- package/dist/format.js +21 -0
- package/dist/format.js.map +1 -0
- package/dist/fulfilment-nav.d.ts +79 -0
- package/dist/fulfilment-nav.js +18 -0
- package/dist/fulfilment-nav.js.map +1 -0
- package/dist/go-live-gate.d.ts +55 -0
- package/dist/go-live-gate.js +17 -0
- package/dist/go-live-gate.js.map +1 -0
- package/dist/group-activity.d.ts +37 -0
- package/dist/group-activity.js +43 -0
- package/dist/group-activity.js.map +1 -0
- package/dist/haptic.d.ts +5 -0
- package/dist/haptic.js +16 -0
- package/dist/haptic.js.map +1 -0
- package/dist/help-topics.d.ts +77 -0
- package/dist/help-topics.js +308 -0
- package/dist/help-topics.js.map +1 -0
- package/dist/icon-resolver.d.ts +45 -0
- package/dist/icon-resolver.js +40 -0
- package/dist/icon-resolver.js.map +1 -0
- package/dist/icons/commerce.d.ts +9 -0
- package/dist/icons/commerce.js +168 -0
- package/dist/icons/commerce.js.map +1 -0
- package/dist/icons/core.d.ts +9 -0
- package/dist/icons/core.js +173 -0
- package/dist/icons/core.js.map +1 -0
- package/dist/icons/making.d.ts +9 -0
- package/dist/icons/making.js +209 -0
- package/dist/icons/making.js.map +1 -0
- package/dist/icons/places.d.ts +9 -0
- package/dist/icons/places.js +232 -0
- package/dist/icons/places.js.map +1 -0
- package/dist/icons/world.d.ts +9 -0
- package/dist/icons/world.js +87 -0
- package/dist/icons/world.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/industry-configs/beauty.d.ts +2 -0
- package/dist/industry-configs/beauty.js +152 -0
- package/dist/industry-configs/beauty.js.map +1 -0
- package/dist/industry-configs/creative.d.ts +2 -0
- package/dist/industry-configs/creative.js +131 -0
- package/dist/industry-configs/creative.js.map +1 -0
- package/dist/industry-configs/default.d.ts +2 -0
- package/dist/industry-configs/default.js +77 -0
- package/dist/industry-configs/default.js.map +1 -0
- package/dist/industry-configs/education.d.ts +2 -0
- package/dist/industry-configs/education.js +137 -0
- package/dist/industry-configs/education.js.map +1 -0
- package/dist/industry-configs/events.d.ts +2 -0
- package/dist/industry-configs/events.js +118 -0
- package/dist/industry-configs/events.js.map +1 -0
- package/dist/industry-configs/fashion.d.ts +2 -0
- package/dist/industry-configs/fashion.js +128 -0
- package/dist/industry-configs/fashion.js.map +1 -0
- package/dist/industry-configs/fitness.d.ts +2 -0
- package/dist/industry-configs/fitness.js +128 -0
- package/dist/industry-configs/fitness.js.map +1 -0
- package/dist/industry-configs/food.d.ts +2 -0
- package/dist/industry-configs/food.js +138 -0
- package/dist/industry-configs/food.js.map +1 -0
- package/dist/industry-configs/hospitality.d.ts +2 -0
- package/dist/industry-configs/hospitality.js +157 -0
- package/dist/industry-configs/hospitality.js.map +1 -0
- package/dist/industry-configs/index.d.ts +25 -0
- package/dist/industry-configs/index.js +77 -0
- package/dist/industry-configs/index.js.map +1 -0
- package/dist/industry-configs/professional.d.ts +2 -0
- package/dist/industry-configs/professional.js +129 -0
- package/dist/industry-configs/professional.js.map +1 -0
- package/dist/industry-configs/realestate.d.ts +2 -0
- package/dist/industry-configs/realestate.js +146 -0
- package/dist/industry-configs/realestate.js.map +1 -0
- package/dist/industry-configs/retail.d.ts +2 -0
- package/dist/industry-configs/retail.js +108 -0
- package/dist/industry-configs/retail.js.map +1 -0
- package/dist/industry-configs/services.d.ts +2 -0
- package/dist/industry-configs/services.js +120 -0
- package/dist/industry-configs/services.js.map +1 -0
- package/dist/industry-configs/technology.d.ts +2 -0
- package/dist/industry-configs/technology.js +120 -0
- package/dist/industry-configs/technology.js.map +1 -0
- package/dist/industry-configs/types.d.ts +99 -0
- package/dist/industry-configs/types.js +1 -0
- package/dist/industry-configs/types.js.map +1 -0
- package/dist/industry-configs/wellness.d.ts +2 -0
- package/dist/industry-configs/wellness.js +112 -0
- package/dist/industry-configs/wellness.js.map +1 -0
- package/dist/industry-configs.d.ts +1 -0
- package/dist/industry-configs.js +1 -0
- package/dist/intents/analytics-labels.d.ts +70 -0
- package/dist/intents/analytics-labels.js +39 -0
- package/dist/intents/analytics-labels.js.map +1 -0
- package/dist/intents/archetype-flow.d.ts +146 -0
- package/dist/intents/archetype-flow.js +185 -0
- package/dist/intents/archetype-flow.js.map +1 -0
- package/dist/intents/booking-query-style.d.ts +32 -0
- package/dist/intents/booking-query-style.js +22 -0
- package/dist/intents/booking-query-style.js.map +1 -0
- package/dist/intents/capture-leads.config.d.ts +31 -0
- package/dist/intents/capture-leads.config.js +231 -0
- package/dist/intents/capture-leads.config.js.map +1 -0
- package/dist/intents/catalog-stock.d.ts +43 -0
- package/dist/intents/catalog-stock.js +43 -0
- package/dist/intents/catalog-stock.js.map +1 -0
- package/dist/intents/collapse-shared-nav.d.ts +95 -0
- package/dist/intents/collapse-shared-nav.js +171 -0
- package/dist/intents/collapse-shared-nav.js.map +1 -0
- package/dist/intents/default-commerce.config.d.ts +6 -0
- package/dist/intents/default-commerce.config.js +281 -0
- package/dist/intents/default-commerce.config.js.map +1 -0
- package/dist/intents/digital-products.config.d.ts +2 -0
- package/dist/intents/digital-products.config.js +239 -0
- package/dist/intents/digital-products.config.js.map +1 -0
- package/dist/intents/dine-in.config.d.ts +15 -0
- package/dist/intents/dine-in.config.js +331 -0
- package/dist/intents/dine-in.config.js.map +1 -0
- package/dist/intents/event-tickets.config.d.ts +2 -0
- package/dist/intents/event-tickets.config.js +368 -0
- package/dist/intents/event-tickets.config.js.map +1 -0
- package/dist/intents/food-orders.config.d.ts +2 -0
- package/dist/intents/food-orders.config.js +299 -0
- package/dist/intents/food-orders.config.js.map +1 -0
- package/dist/intents/icon-map.d.ts +15 -0
- package/dist/intents/icon-map.js +104 -0
- package/dist/intents/icon-map.js.map +1 -0
- package/dist/intents/index.d.ts +12 -0
- package/dist/intents/index.js +50 -0
- package/dist/intents/index.js.map +1 -0
- package/dist/intents/infer-intents.d.ts +10 -0
- package/dist/intents/infer-intents.js +23 -0
- package/dist/intents/infer-intents.js.map +1 -0
- package/dist/intents/intent-chips.d.ts +47 -0
- package/dist/intents/intent-chips.js +38 -0
- package/dist/intents/intent-chips.js.map +1 -0
- package/dist/intents/intent-nav.d.ts +95 -0
- package/dist/intents/intent-nav.js +423 -0
- package/dist/intents/intent-nav.js.map +1 -0
- package/dist/intents/intent-scope.d.ts +52 -0
- package/dist/intents/intent-scope.js +19 -0
- package/dist/intents/intent-scope.js.map +1 -0
- package/dist/intents/nav-coverage.d.ts +71 -0
- package/dist/intents/nav-coverage.js +132 -0
- package/dist/intents/nav-coverage.js.map +1 -0
- package/dist/intents/operating-shell.d.ts +45 -0
- package/dist/intents/operating-shell.js +142 -0
- package/dist/intents/operating-shell.js.map +1 -0
- package/dist/intents/order-display.d.ts +21 -0
- package/dist/intents/order-display.js +110 -0
- package/dist/intents/order-display.js.map +1 -0
- package/dist/intents/order-intent.d.ts +18 -0
- package/dist/intents/order-intent.js +14 -0
- package/dist/intents/order-intent.js.map +1 -0
- package/dist/intents/order-progress.d.ts +81 -0
- package/dist/intents/order-progress.js +91 -0
- package/dist/intents/order-progress.js.map +1 -0
- package/dist/intents/order-sections.d.ts +173 -0
- package/dist/intents/order-sections.js +188 -0
- package/dist/intents/order-sections.js.map +1 -0
- package/dist/intents/order-stats.d.ts +24 -0
- package/dist/intents/order-stats.js +16 -0
- package/dist/intents/order-stats.js.map +1 -0
- package/dist/intents/order-transitions.d.ts +19 -0
- package/dist/intents/order-transitions.js +66 -0
- package/dist/intents/order-transitions.js.map +1 -0
- package/dist/intents/product-editor-config.d.ts +23 -0
- package/dist/intents/product-editor-config.js +13 -0
- package/dist/intents/product-editor-config.js.map +1 -0
- package/dist/intents/product-intent.d.ts +38 -0
- package/dist/intents/product-intent.js +19 -0
- package/dist/intents/product-intent.js.map +1 -0
- package/dist/intents/registry.d.ts +32 -0
- package/dist/intents/registry.js +41 -0
- package/dist/intents/registry.js.map +1 -0
- package/dist/intents/rent-property.config.d.ts +2 -0
- package/dist/intents/rent-property.config.js +284 -0
- package/dist/intents/rent-property.config.js.map +1 -0
- package/dist/intents/resolve-stats.d.ts +7 -0
- package/dist/intents/resolve-stats.js +29 -0
- package/dist/intents/resolve-stats.js.map +1 -0
- package/dist/intents/resolve-tenant-intents.d.ts +11 -0
- package/dist/intents/resolve-tenant-intents.js +61 -0
- package/dist/intents/resolve-tenant-intents.js.map +1 -0
- package/dist/intents/resolvers.d.ts +52 -0
- package/dist/intents/resolvers.js +177 -0
- package/dist/intents/resolvers.js.map +1 -0
- package/dist/intents/row-identity.d.ts +62 -0
- package/dist/intents/row-identity.js +25 -0
- package/dist/intents/row-identity.js.map +1 -0
- package/dist/intents/sales-verb.d.ts +8 -0
- package/dist/intents/sales-verb.js +12 -0
- package/dist/intents/sales-verb.js.map +1 -0
- package/dist/intents/scoped-config.d.ts +12 -0
- package/dist/intents/scoped-config.js +17 -0
- package/dist/intents/scoped-config.js.map +1 -0
- package/dist/intents/screen-title.d.ts +27 -0
- package/dist/intents/screen-title.js +59 -0
- package/dist/intents/screen-title.js.map +1 -0
- package/dist/intents/section-registry.d.ts +48 -0
- package/dist/intents/section-registry.js +33 -0
- package/dist/intents/section-registry.js.map +1 -0
- package/dist/intents/sell-products.config.d.ts +2 -0
- package/dist/intents/sell-products.config.js +275 -0
- package/dist/intents/sell-products.config.js.map +1 -0
- package/dist/intents/send-invoices.config.d.ts +16 -0
- package/dist/intents/send-invoices.config.js +223 -0
- package/dist/intents/send-invoices.config.js.map +1 -0
- package/dist/intents/subscriptions.config.d.ts +2 -0
- package/dist/intents/subscriptions.config.js +260 -0
- package/dist/intents/subscriptions.config.js.map +1 -0
- package/dist/intents/take-bookings.config.d.ts +2 -0
- package/dist/intents/take-bookings.config.js +298 -0
- package/dist/intents/take-bookings.config.js.map +1 -0
- package/dist/intents/types.d.ts +246 -0
- package/dist/intents/types.js +1 -0
- package/dist/intents/types.js.map +1 -0
- package/dist/intents/use-active-intent.d.ts +27 -0
- package/dist/intents/use-active-intent.js +74 -0
- package/dist/intents/use-active-intent.js.map +1 -0
- package/dist/intents/use-destination-label.d.ts +18 -0
- package/dist/intents/use-destination-label.js +45 -0
- package/dist/intents/use-destination-label.js.map +1 -0
- package/dist/intents/use-entity-label.d.ts +32 -0
- package/dist/intents/use-entity-label.js +75 -0
- package/dist/intents/use-entity-label.js.map +1 -0
- package/dist/intents/use-intent-config.d.ts +20 -0
- package/dist/intents/use-intent-config.js +91 -0
- package/dist/intents/use-intent-config.js.map +1 -0
- package/dist/intents/use-intent-nav-rows.d.ts +26 -0
- package/dist/intents/use-intent-nav-rows.js +49 -0
- package/dist/intents/use-intent-nav-rows.js.map +1 -0
- package/dist/intents/use-resource-label.d.ts +10 -0
- package/dist/intents/use-resource-label.js +9 -0
- package/dist/intents/use-resource-label.js.map +1 -0
- package/dist/intents/use-row-noun.d.ts +19 -0
- package/dist/intents/use-row-noun.js +13 -0
- package/dist/intents/use-row-noun.js.map +1 -0
- package/dist/intents/use-screen-title.d.ts +9 -0
- package/dist/intents/use-screen-title.js +25 -0
- package/dist/intents/use-screen-title.js.map +1 -0
- package/dist/intents/what-it-adds.d.ts +70 -0
- package/dist/intents/what-it-adds.js +29 -0
- package/dist/intents/what-it-adds.js.map +1 -0
- package/dist/intents/workflow-shape.d.ts +66 -0
- package/dist/intents/workflow-shape.js +151 -0
- package/dist/intents/workflow-shape.js.map +1 -0
- package/dist/intents.d.ts +1 -0
- package/dist/intents.js +1 -0
- package/dist/invite-refusal.d.ts +37 -0
- package/dist/invite-refusal.js +26 -0
- package/dist/invite-refusal.js.map +1 -0
- package/dist/invoice-brand.d.ts +28 -0
- package/dist/invoice-brand.js +33 -0
- package/dist/invoice-brand.js.map +1 -0
- package/dist/ios-navigation-context.d.ts +11 -0
- package/dist/ios-navigation-context.js +52 -0
- package/dist/ios-navigation-context.js.map +1 -0
- package/dist/legal-links.d.ts +10 -0
- package/dist/legal-links.js +7 -0
- package/dist/legal-links.js.map +1 -0
- package/dist/letting-policy.d.ts +85 -0
- package/dist/letting-policy.js +47 -0
- package/dist/letting-policy.js.map +1 -0
- package/dist/list-page-size.d.ts +24 -0
- package/dist/list-page-size.js +5 -0
- package/dist/list-page-size.js.map +1 -0
- package/dist/live-events/sse-frames.d.ts +15 -0
- package/dist/live-events/sse-frames.js +37 -0
- package/dist/live-events/sse-frames.js.map +1 -0
- package/dist/location-options.d.ts +16 -0
- package/dist/location-options.js +94 -0
- package/dist/location-options.js.map +1 -0
- package/dist/location-scope-context.d.ts +47 -0
- package/dist/location-scope-context.js +85 -0
- package/dist/location-scope-context.js.map +1 -0
- package/dist/media-service.d.ts +97 -0
- package/dist/media-service.js +282 -0
- package/dist/media-service.js.map +1 -0
- package/dist/media-utils.d.ts +51 -0
- package/dist/media-utils.js +85 -0
- package/dist/media-utils.js.map +1 -0
- package/dist/member-presence.d.ts +40 -0
- package/dist/member-presence.js +77 -0
- package/dist/member-presence.js.map +1 -0
- package/dist/member-subscription-enrollment.d.ts +16 -0
- package/dist/member-subscription-enrollment.js +32 -0
- package/dist/member-subscription-enrollment.js.map +1 -0
- package/dist/membership-freshness.d.ts +31 -0
- package/dist/membership-freshness.js +21 -0
- package/dist/membership-freshness.js.map +1 -0
- package/dist/mobile-header-context.d.ts +32 -0
- package/dist/mobile-header-context.js +59 -0
- package/dist/mobile-header-context.js.map +1 -0
- package/dist/mobile-routes.d.ts +81 -0
- package/dist/mobile-routes.js +406 -0
- package/dist/mobile-routes.js.map +1 -0
- package/dist/mobile-tab-config.d.ts +18 -0
- package/dist/mobile-tab-config.js +43 -0
- package/dist/mobile-tab-config.js.map +1 -0
- package/dist/money-coming-soon.d.ts +16 -0
- package/dist/money-coming-soon.js +22 -0
- package/dist/money-coming-soon.js.map +1 -0
- package/dist/money-minor.d.ts +17 -0
- package/dist/money-minor.js +53 -0
- package/dist/money-minor.js.map +1 -0
- package/dist/money-visibility.d.ts +38 -0
- package/dist/money-visibility.js +13 -0
- package/dist/money-visibility.js.map +1 -0
- package/dist/motion.d.ts +160 -0
- package/dist/motion.js +130 -0
- package/dist/motion.js.map +1 -0
- package/dist/nav-pending.d.ts +42 -0
- package/dist/nav-pending.js +84 -0
- package/dist/nav-pending.js.map +1 -0
- package/dist/navigation-groups.d.ts +52 -0
- package/dist/navigation-groups.js +64 -0
- package/dist/navigation-groups.js.map +1 -0
- package/dist/onboarding-draft.d.ts +23 -0
- package/dist/onboarding-draft.js +35 -0
- package/dist/onboarding-draft.js.map +1 -0
- package/dist/operating-model/index.d.ts +4 -0
- package/dist/operating-model/index.js +13 -0
- package/dist/operating-model/index.js.map +1 -0
- package/dist/operating-model/order-display.d.ts +10 -0
- package/dist/operating-model/order-display.js +24 -0
- package/dist/operating-model/order-display.js.map +1 -0
- package/dist/operating-model/resolver.d.ts +9 -0
- package/dist/operating-model/resolver.js +110 -0
- package/dist/operating-model/resolver.js.map +1 -0
- package/dist/operating-model/types.d.ts +36 -0
- package/dist/operating-model/types.js +1 -0
- package/dist/operating-model/types.js.map +1 -0
- package/dist/operating-model/use-operating-model.d.ts +7 -0
- package/dist/operating-model/use-operating-model.js +65 -0
- package/dist/operating-model/use-operating-model.js.map +1 -0
- package/dist/operating-model.d.ts +1 -0
- package/dist/operating-model.js +1 -0
- package/dist/order-config.d.ts +30 -0
- package/dist/order-config.js +56 -0
- package/dist/order-config.js.map +1 -0
- package/dist/order-discounts.d.ts +25 -0
- package/dist/order-discounts.js +27 -0
- package/dist/order-discounts.js.map +1 -0
- package/dist/order-shipping.d.ts +33 -0
- package/dist/order-shipping.js +49 -0
- package/dist/order-shipping.js.map +1 -0
- package/dist/order-tax.d.ts +28 -0
- package/dist/order-tax.js +21 -0
- package/dist/order-tax.js.map +1 -0
- package/dist/page-intros.d.ts +78 -0
- package/dist/page-intros.js +164 -0
- package/dist/page-intros.js.map +1 -0
- package/dist/page-transition.d.ts +20 -0
- package/dist/page-transition.js +19 -0
- package/dist/page-transition.js.map +1 -0
- package/dist/pages-api-response.d.ts +8 -0
- package/dist/pages-api-response.js +18 -0
- package/dist/pages-api-response.js.map +1 -0
- package/dist/payment-method-label.d.ts +6 -0
- package/dist/payment-method-label.js +14 -0
- package/dist/payment-method-label.js.map +1 -0
- package/dist/permission-aliases.d.ts +18 -0
- package/dist/permission-aliases.js +20 -0
- package/dist/permission-aliases.js.map +1 -0
- package/dist/permission-catalog-fallback.d.ts +17 -0
- package/dist/permission-catalog-fallback.js +147 -0
- package/dist/permission-catalog-fallback.js.map +1 -0
- package/dist/permission-change.d.ts +42 -0
- package/dist/permission-change.js +33 -0
- package/dist/permission-change.js.map +1 -0
- package/dist/phone.d.ts +16 -0
- package/dist/phone.js +20 -0
- package/dist/phone.js.map +1 -0
- package/dist/plan-access.d.ts +39 -0
- package/dist/plan-access.js +57 -0
- package/dist/plan-access.js.map +1 -0
- package/dist/plan-card-api.d.ts +34 -0
- package/dist/plan-card-api.js +30 -0
- package/dist/plan-card-api.js.map +1 -0
- package/dist/plan-price.d.ts +34 -0
- package/dist/plan-price.js +57 -0
- package/dist/plan-price.js.map +1 -0
- package/dist/post-login-target.d.ts +24 -0
- package/dist/post-login-target.js +12 -0
- package/dist/post-login-target.js.map +1 -0
- package/dist/potter-mark-paths.d.ts +21 -0
- package/dist/potter-mark-paths.js +9 -0
- package/dist/potter-mark-paths.js.map +1 -0
- package/dist/pricing-plans-types.d.ts +143 -0
- package/dist/pricing-plans-types.js +1 -0
- package/dist/pricing-plans-types.js.map +1 -0
- package/dist/product-assignees.d.ts +1 -0
- package/dist/product-assignees.js +18 -0
- package/dist/product-assignees.js.map +1 -0
- package/dist/product-collection-sync.d.ts +12 -0
- package/dist/product-collection-sync.js +97 -0
- package/dist/product-collection-sync.js.map +1 -0
- package/dist/product-cost.d.ts +12 -0
- package/dist/product-cost.js +24 -0
- package/dist/product-cost.js.map +1 -0
- package/dist/product-insights-api.d.ts +38 -0
- package/dist/product-insights-api.js +51 -0
- package/dist/product-insights-api.js.map +1 -0
- package/dist/product-types.d.ts +311 -0
- package/dist/product-types.js +38 -0
- package/dist/product-types.js.map +1 -0
- package/dist/promised-day.d.ts +33 -0
- package/dist/promised-day.js +38 -0
- package/dist/promised-day.js.map +1 -0
- package/dist/proposals-api.d.ts +96 -0
- package/dist/proposals-api.js +41 -0
- package/dist/proposals-api.js.map +1 -0
- package/dist/proxy-allowlist.d.ts +15 -0
- package/dist/proxy-allowlist.js +153 -0
- package/dist/proxy-allowlist.js.map +1 -0
- package/dist/public-config-loader.d.ts +27 -0
- package/dist/public-config-loader.js +12 -0
- package/dist/public-config-loader.js.map +1 -0
- package/dist/public-config-provider.d.ts +16 -0
- package/dist/public-config-provider.js +14 -0
- package/dist/public-config-provider.js.map +1 -0
- package/dist/resolve-enabled-behaviors.d.ts +55 -0
- package/dist/resolve-enabled-behaviors.js +134 -0
- package/dist/resolve-enabled-behaviors.js.map +1 -0
- package/dist/resource-types.d.ts +198 -0
- package/dist/resource-types.js +96 -0
- package/dist/resource-types.js.map +1 -0
- package/dist/resume-screen.d.ts +31 -0
- package/dist/resume-screen.js +25 -0
- package/dist/resume-screen.js.map +1 -0
- package/dist/rider-display.d.ts +37 -0
- package/dist/rider-display.js +110 -0
- package/dist/rider-display.js.map +1 -0
- package/dist/rider-view.d.ts +37 -0
- package/dist/rider-view.js +47 -0
- package/dist/rider-view.js.map +1 -0
- package/dist/roster-label.d.ts +27 -0
- package/dist/roster-label.js +8 -0
- package/dist/roster-label.js.map +1 -0
- package/dist/route-pattern.d.ts +11 -0
- package/dist/route-pattern.js +20 -0
- package/dist/route-pattern.js.map +1 -0
- package/dist/route-permission.d.ts +60 -0
- package/dist/route-permission.js +48 -0
- package/dist/route-permission.js.map +1 -0
- package/dist/runtime-config.d.ts +33 -0
- package/dist/runtime-config.js +23 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/schema-validation.d.ts +172 -0
- package/dist/schema-validation.js +252 -0
- package/dist/schema-validation.js.map +1 -0
- package/dist/service-areas.d.ts +30 -0
- package/dist/service-areas.js +24 -0
- package/dist/service-areas.js.map +1 -0
- package/dist/service-operations-api.d.ts +78 -0
- package/dist/service-operations-api.js +37 -0
- package/dist/service-operations-api.js.map +1 -0
- package/dist/settings-relevance.d.ts +64 -0
- package/dist/settings-relevance.js +25 -0
- package/dist/settings-relevance.js.map +1 -0
- package/dist/singularise.d.ts +16 -0
- package/dist/singularise.js +37 -0
- package/dist/singularise.js.map +1 -0
- package/dist/site-address.d.ts +14 -0
- package/dist/site-address.js +28 -0
- package/dist/site-address.js.map +1 -0
- package/dist/slug.d.ts +26 -0
- package/dist/slug.js +15 -0
- package/dist/slug.js.map +1 -0
- package/dist/sound.d.ts +14 -0
- package/dist/sound.js +166 -0
- package/dist/sound.js.map +1 -0
- package/dist/staff-arrival.d.ts +3 -0
- package/dist/staff-arrival.js +11 -0
- package/dist/staff-arrival.js.map +1 -0
- package/dist/staff-home.d.ts +58 -0
- package/dist/staff-home.js +90 -0
- package/dist/staff-home.js.map +1 -0
- package/dist/staff-landing.d.ts +1 -0
- package/dist/staff-landing.js +15 -0
- package/dist/staff-landing.js.map +1 -0
- package/dist/stat-card-types.d.ts +19 -0
- package/dist/stat-card-types.js +1 -0
- package/dist/stat-card-types.js.map +1 -0
- package/dist/stock-levels.d.ts +32 -0
- package/dist/stock-levels.js +17 -0
- package/dist/stock-levels.js.map +1 -0
- package/dist/stored-token.d.ts +1 -0
- package/dist/stored-token.js +11 -0
- package/dist/stored-token.js.map +1 -0
- package/dist/storefront-url.d.ts +31 -0
- package/dist/storefront-url.js +40 -0
- package/dist/storefront-url.js.map +1 -0
- package/dist/storefront.d.ts +64 -0
- package/dist/storefront.js +51 -0
- package/dist/storefront.js.map +1 -0
- package/dist/subscription-billing-api.d.ts +115 -0
- package/dist/subscription-billing-api.js +27 -0
- package/dist/subscription-billing-api.js.map +1 -0
- package/dist/subscription-billing-model.d.ts +26 -0
- package/dist/subscription-billing-model.js +58 -0
- package/dist/subscription-billing-model.js.map +1 -0
- package/dist/support-case-subject.d.ts +10 -0
- package/dist/support-case-subject.js +13 -0
- package/dist/support-case-subject.js.map +1 -0
- package/dist/support-inbox.d.ts +6 -0
- package/dist/support-inbox.js +5 -0
- package/dist/support-inbox.js.map +1 -0
- package/dist/support.d.ts +7 -0
- package/dist/support.js +16 -0
- package/dist/support.js.map +1 -0
- package/dist/team-page.d.ts +9 -0
- package/dist/team-page.js +5 -0
- package/dist/team-page.js.map +1 -0
- package/dist/team-roles.d.ts +140 -0
- package/dist/team-roles.js +247 -0
- package/dist/team-roles.js.map +1 -0
- package/dist/team-successors.d.ts +20 -0
- package/dist/team-successors.js +13 -0
- package/dist/team-successors.js.map +1 -0
- package/dist/template-asset-url.d.ts +11 -0
- package/dist/template-asset-url.js +8 -0
- package/dist/template-asset-url.js.map +1 -0
- package/dist/template-capabilities.d.ts +2 -0
- package/dist/template-capabilities.js +71 -0
- package/dist/template-capabilities.js.map +1 -0
- package/dist/template-context.d.ts +111 -0
- package/dist/template-context.js +1278 -0
- package/dist/template-context.js.map +1 -0
- package/dist/template-filter.d.ts +29 -0
- package/dist/template-filter.js +41 -0
- package/dist/template-filter.js.map +1 -0
- package/dist/template-preview/preview-author-patch.d.ts +24 -0
- package/dist/template-preview/preview-author-patch.js +78 -0
- package/dist/template-preview/preview-author-patch.js.map +1 -0
- package/dist/template-preview/use-template-document.d.ts +38 -0
- package/dist/template-preview/use-template-document.js +45 -0
- package/dist/template-preview/use-template-document.js.map +1 -0
- package/dist/template-requirements.d.ts +38 -0
- package/dist/template-requirements.js +13 -0
- package/dist/template-requirements.js.map +1 -0
- package/dist/template-types.d.ts +317 -0
- package/dist/template-types.js +1 -0
- package/dist/template-types.js.map +1 -0
- package/dist/templates.d.ts +22 -0
- package/dist/templates.js +1 -0
- package/dist/templates.js.map +1 -0
- package/dist/theme-context.d.ts +58 -0
- package/dist/theme-context.js +283 -0
- package/dist/theme-context.js.map +1 -0
- package/dist/theme-policy.d.ts +41 -0
- package/dist/theme-policy.js +32 -0
- package/dist/theme-policy.js.map +1 -0
- package/dist/ticket-access.d.ts +20 -0
- package/dist/ticket-access.js +39 -0
- package/dist/ticket-access.js.map +1 -0
- package/dist/timeline-copy.d.ts +65 -0
- package/dist/timeline-copy.js +150 -0
- package/dist/timeline-copy.js.map +1 -0
- package/dist/url-params.d.ts +23 -0
- package/dist/url-params.js +43 -0
- package/dist/url-params.js.map +1 -0
- package/dist/use-behaviors.d.ts +13 -0
- package/dist/use-behaviors.js +41 -0
- package/dist/use-behaviors.js.map +1 -0
- package/dist/use-business-locations.d.ts +35 -0
- package/dist/use-business-locations.js +71 -0
- package/dist/use-business-locations.js.map +1 -0
- package/dist/use-currency.d.ts +12 -0
- package/dist/use-currency.js +16 -0
- package/dist/use-currency.js.map +1 -0
- package/dist/use-empty-state-copy.d.ts +12 -0
- package/dist/use-empty-state-copy.js +13 -0
- package/dist/use-empty-state-copy.js.map +1 -0
- package/dist/use-geo-cities.d.ts +1 -0
- package/dist/use-geo-cities.js +42 -0
- package/dist/use-geo-cities.js.map +1 -0
- package/dist/use-has-hardware.d.ts +13 -0
- package/dist/use-has-hardware.js +14 -0
- package/dist/use-has-hardware.js.map +1 -0
- package/dist/use-industry-key.d.ts +10 -0
- package/dist/use-industry-key.js +16 -0
- package/dist/use-industry-key.js.map +1 -0
- package/dist/use-item-links.d.ts +20 -0
- package/dist/use-item-links.js +30 -0
- package/dist/use-item-links.js.map +1 -0
- package/dist/use-job-roles.d.ts +21 -0
- package/dist/use-job-roles.js +76 -0
- package/dist/use-job-roles.js.map +1 -0
- package/dist/use-merchant-plan.d.ts +36 -0
- package/dist/use-merchant-plan.js +78 -0
- package/dist/use-merchant-plan.js.map +1 -0
- package/dist/use-module-label.d.ts +12 -0
- package/dist/use-module-label.js +13 -0
- package/dist/use-module-label.js.map +1 -0
- package/dist/use-money-visibility.d.ts +14 -0
- package/dist/use-money-visibility.js +13 -0
- package/dist/use-money-visibility.js.map +1 -0
- package/dist/use-nav-groups.d.ts +27 -0
- package/dist/use-nav-groups.js +141 -0
- package/dist/use-nav-groups.js.map +1 -0
- package/dist/use-pathname.d.ts +15 -0
- package/dist/use-pathname.js +29 -0
- package/dist/use-pathname.js.map +1 -0
- package/dist/use-permissions.d.ts +43 -0
- package/dist/use-permissions.js +158 -0
- package/dist/use-permissions.js.map +1 -0
- package/dist/use-platform-modules.d.ts +49 -0
- package/dist/use-platform-modules.js +416 -0
- package/dist/use-platform-modules.js.map +1 -0
- package/dist/use-staff-home.d.ts +9 -0
- package/dist/use-staff-home.js +24 -0
- package/dist/use-staff-home.js.map +1 -0
- package/dist/use-workspace-invite.d.ts +37 -0
- package/dist/use-workspace-invite.js +69 -0
- package/dist/use-workspace-invite.js.map +1 -0
- package/dist/utils.d.ts +53 -0
- package/dist/utils.js +161 -0
- package/dist/utils.js.map +1 -0
- package/dist/wallet-format.d.ts +8 -0
- package/dist/wallet-format.js +36 -0
- package/dist/wallet-format.js.map +1 -0
- package/dist/wallet-settlement.d.ts +14 -0
- package/dist/wallet-settlement.js +5 -0
- package/dist/wallet-settlement.js.map +1 -0
- package/dist/web-url.d.ts +1 -0
- package/dist/web-url.js +50 -0
- package/dist/web-url.js.map +1 -0
- package/dist/whats-new.d.ts +59 -0
- package/dist/whats-new.js +77 -0
- package/dist/whats-new.js.map +1 -0
- package/dist/workspace-recents.d.ts +30 -0
- package/dist/workspace-recents.js +37 -0
- package/dist/workspace-recents.js.map +1 -0
- package/dist/workspace-slug.d.ts +1 -0
- package/dist/workspace-slug.js +15 -0
- package/dist/workspace-slug.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useSearchParams } from "next/navigation";
|
|
4
|
+
import { useAuth } from "../auth-context";
|
|
5
|
+
import { defaultCommerceConfig, getIntentConfig } from "./registry";
|
|
6
|
+
import { useIntentScope } from "./intent-scope";
|
|
7
|
+
import { resolveScopedConfig } from "./scoped-config";
|
|
8
|
+
import { resolveTenantIntentConfigs } from "./resolve-tenant-intents";
|
|
9
|
+
import {
|
|
10
|
+
applyOrderShellOverrides,
|
|
11
|
+
getOrderShellOverrides
|
|
12
|
+
} from "./operating-shell";
|
|
13
|
+
const INTENT_STORAGE_KEY = "potter:activeIntent";
|
|
14
|
+
function useIntentConfig() {
|
|
15
|
+
const { tenant } = useAuth();
|
|
16
|
+
const searchParams = useSearchParams();
|
|
17
|
+
const scope = useIntentScope();
|
|
18
|
+
return useMemo(() => {
|
|
19
|
+
const settings = tenant?.settings;
|
|
20
|
+
const overrides = getOrderShellOverrides(settings);
|
|
21
|
+
const configs = resolveTenantIntentConfigs(settings).map(
|
|
22
|
+
(c) => applyOrderShellOverrides(c, overrides)
|
|
23
|
+
);
|
|
24
|
+
if (scope) {
|
|
25
|
+
const registry = getIntentConfig(scope);
|
|
26
|
+
const scoped2 = resolveScopedConfig(
|
|
27
|
+
configs,
|
|
28
|
+
scope,
|
|
29
|
+
registry && applyOrderShellOverrides(registry, overrides)
|
|
30
|
+
);
|
|
31
|
+
if (scoped2) return scoped2;
|
|
32
|
+
}
|
|
33
|
+
if (configs.length === 0) {
|
|
34
|
+
return {
|
|
35
|
+
mode: "single",
|
|
36
|
+
primary: applyOrderShellOverrides(defaultCommerceConfig, overrides),
|
|
37
|
+
all: [applyOrderShellOverrides(defaultCommerceConfig, overrides)],
|
|
38
|
+
activeKeys: [defaultCommerceConfig.key],
|
|
39
|
+
active: [applyOrderShellOverrides(defaultCommerceConfig, overrides)],
|
|
40
|
+
hasArchetype: false,
|
|
41
|
+
isAllIntents: false
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (configs.length === 1) {
|
|
45
|
+
return {
|
|
46
|
+
mode: "single",
|
|
47
|
+
primary: configs[0],
|
|
48
|
+
all: configs,
|
|
49
|
+
// A single-archetype business is always "scoped" to its one archetype.
|
|
50
|
+
// Saying otherwise would strip the intent filter from its queries and
|
|
51
|
+
// pull in content it never assigned an intent to.
|
|
52
|
+
activeKeys: [configs[0].key],
|
|
53
|
+
active: configs,
|
|
54
|
+
hasArchetype: configs[0].key !== defaultCommerceConfig.key,
|
|
55
|
+
isAllIntents: false
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
const intentParam = searchParams.get("intent");
|
|
59
|
+
const requested = (intentParam ?? "").split(",").map((key) => key.trim()).filter(Boolean);
|
|
60
|
+
const scoped = requested.map((key) => configs.find((c) => c.key === key)).filter((c) => !!c);
|
|
61
|
+
let overrideConfig = scoped[0];
|
|
62
|
+
if (scoped.length) {
|
|
63
|
+
if (typeof sessionStorage !== "undefined")
|
|
64
|
+
sessionStorage.setItem(
|
|
65
|
+
INTENT_STORAGE_KEY,
|
|
66
|
+
scoped.map((c) => c.key).join(",")
|
|
67
|
+
);
|
|
68
|
+
} else if (typeof sessionStorage !== "undefined") {
|
|
69
|
+
const stored = sessionStorage.getItem(INTENT_STORAGE_KEY);
|
|
70
|
+
if (stored) {
|
|
71
|
+
const first = stored.split(",")[0];
|
|
72
|
+
overrideConfig = configs.find((c) => c.key === first);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
mode: "multi",
|
|
77
|
+
primary: overrideConfig ?? configs[0],
|
|
78
|
+
all: configs,
|
|
79
|
+
activeKeys: scoped.length ? scoped.map((c) => c.key) : configs.map((c) => c.key),
|
|
80
|
+
active: scoped.length ? scoped : configs,
|
|
81
|
+
// Several configs only ever come from real archetypes; the fallback is a
|
|
82
|
+
// set of one.
|
|
83
|
+
hasArchetype: true,
|
|
84
|
+
isAllIntents: scoped.length === 0
|
|
85
|
+
};
|
|
86
|
+
}, [tenant, searchParams, scope]);
|
|
87
|
+
}
|
|
88
|
+
export {
|
|
89
|
+
useIntentConfig
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=use-intent-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/use-intent-config.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { useSearchParams } from 'next/navigation';\nimport { useAuth } from '../auth-context';\nimport type { IntentConfig, ResolvedIntentConfig } from './types';\nimport { defaultCommerceConfig, getIntentConfig } from './registry';\nimport { useIntentScope } from './intent-scope';\nimport { resolveScopedConfig } from './scoped-config';\nimport { resolveTenantIntentConfigs } from './resolve-tenant-intents';\nimport {\n applyOrderShellOverrides,\n getOrderShellOverrides,\n} from './operating-shell';\n\nconst INTENT_STORAGE_KEY = 'potter:activeIntent';\n\n/**\n * Resolves the active intent configuration for the current tenant.\n *\n * Resolution order:\n * 1. tenant.settings.operatingModel profiles → derive active intents\n * 2. tenant.settings.selectedIntents → backward compatibility when no operating model exists\n * 3. If no intents, infer from tenant.settings.enabledBehaviors\n * 4. If still nothing, return defaultCommerceConfig\n *\n * The tenant's operating shell (fulfillment/shipping visibility) is folded\n * onto each config's orderDisplay here, so every consumer reads a single\n * pre-merged config — no separate useOperatingModel hook or per-page merge.\n *\n * In multi-intent mode, the primary config is determined by:\n * 1. ?intent= query param (if present, also persisted to sessionStorage)\n * 2. sessionStorage (set by previous navigation)\n * 3. First config (default)\n */\nexport function useIntentConfig(): ResolvedIntentConfig {\n const { tenant } = useAuth();\n const searchParams = useSearchParams();\n const scope = useIntentScope();\n\n return useMemo(() => {\n const settings = tenant?.settings as Record<string, unknown> | undefined;\n const overrides = getOrderShellOverrides(settings);\n const configs = resolveTenantIntentConfigs(settings).map((c) =>\n applyOrderShellOverrides(c, overrides),\n );\n\n // A composed route is one intent's screen, whatever the URL or the\n // business's other archetypes say.\n if (scope) {\n const registry = getIntentConfig(scope);\n const scoped = resolveScopedConfig(\n configs,\n scope,\n registry && applyOrderShellOverrides(registry, overrides),\n );\n if (scoped) return scoped;\n }\n\n if (configs.length === 0) {\n return {\n mode: 'single' as const,\n primary: applyOrderShellOverrides(defaultCommerceConfig, overrides),\n all: [applyOrderShellOverrides(defaultCommerceConfig, overrides)],\n activeKeys: [defaultCommerceConfig.key],\n active: [applyOrderShellOverrides(defaultCommerceConfig, overrides)],\n hasArchetype: false,\n isAllIntents: false,\n };\n }\n\n // Single intent — return directly\n if (configs.length === 1) {\n return {\n mode: 'single' as const,\n primary: configs[0],\n all: configs,\n // A single-archetype business is always \"scoped\" to its one archetype.\n // Saying otherwise would strip the intent filter from its queries and\n // pull in content it never assigned an intent to.\n activeKeys: [configs[0].key],\n active: configs,\n hasArchetype: configs[0].key !== defaultCommerceConfig.key,\n isAllIntents: false,\n };\n }\n\n /**\n * `?intent=` narrows to a LIST, not to one archetype.\n *\n * A row several archetypes share — a restaurant's Menu, fed by dine-in and\n * takeaway — means \"these two\", which is neither one archetype nor all of\n * them. It used to be written as no param at all, so the screen had to\n * reconstruct what the merchant meant from an absence: `/dashboard/catalog`\n * had to stand for the Menu row AND for the Catalog hub above it that\n * genuinely means everything. They are different views and the URL could\n * not tell them apart, so clicking the hub filtered to the menu.\n *\n * One key still works and is the common case. Unknown keys are dropped\n * rather than trusted, so a stale link narrows to what still exists instead\n * of to nothing.\n */\n const intentParam = searchParams.get('intent');\n const requested = (intentParam ?? '')\n .split(',')\n .map((key) => key.trim())\n .filter(Boolean);\n const scoped = requested\n .map((key) => configs.find((c) => c.key === key))\n .filter((c): c is IntentConfig => !!c);\n\n let overrideConfig: IntentConfig | undefined = scoped[0];\n\n if (scoped.length) {\n // Persist so child pages inherit without needing the param.\n if (typeof sessionStorage !== 'undefined')\n sessionStorage.setItem(\n INTENT_STORAGE_KEY,\n scoped.map((c) => c.key).join(','),\n );\n } else if (typeof sessionStorage !== 'undefined') {\n const stored = sessionStorage.getItem(INTENT_STORAGE_KEY);\n if (stored) {\n // Only the first key steers wording; the rest were the filter, and a\n // filter must not survive into a page the merchant navigated to fresh.\n const first = stored.split(',')[0];\n overrideConfig = configs.find((c) => c.key === first);\n }\n }\n\n // Only an explicit ?intent= narrows the view. sessionStorage still steers\n // `primary` so a detail page inherits its parent's wording, but it must not\n // silently filter a list — that reads as data having gone missing.\n return {\n mode: 'multi' as const,\n primary: overrideConfig ?? configs[0],\n all: configs,\n activeKeys: scoped.length\n ? scoped.map((c) => c.key)\n : configs.map((c) => c.key),\n active: scoped.length ? scoped : configs,\n // Several configs only ever come from real archetypes; the fallback is a\n // set of one.\n hasArchetype: true,\n isAllIntents: scoped.length === 0,\n };\n }, [tenant, searchParams, scope]);\n}\n"],"mappings":";AAEA,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,eAAe;AAExB,SAAS,uBAAuB,uBAAuB;AACvD,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,kCAAkC;AAC3C;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,MAAM,qBAAqB;AAoBpB,SAAS,kBAAwC;AACtD,QAAM,EAAE,OAAO,IAAI,QAAQ;AAC3B,QAAM,eAAe,gBAAgB;AACrC,QAAM,QAAQ,eAAe;AAE7B,SAAO,QAAQ,MAAM;AACnB,UAAM,WAAW,QAAQ;AACzB,UAAM,YAAY,uBAAuB,QAAQ;AACjD,UAAM,UAAU,2BAA2B,QAAQ,EAAE;AAAA,MAAI,CAAC,MACxD,yBAAyB,GAAG,SAAS;AAAA,IACvC;AAIA,QAAI,OAAO;AACT,YAAM,WAAW,gBAAgB,KAAK;AACtC,YAAMA,UAAS;AAAA,QACb;AAAA,QACA;AAAA,QACA,YAAY,yBAAyB,UAAU,SAAS;AAAA,MAC1D;AACA,UAAIA,QAAQ,QAAOA;AAAA,IACrB;AAEA,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,yBAAyB,uBAAuB,SAAS;AAAA,QAClE,KAAK,CAAC,yBAAyB,uBAAuB,SAAS,CAAC;AAAA,QAChE,YAAY,CAAC,sBAAsB,GAAG;AAAA,QACtC,QAAQ,CAAC,yBAAyB,uBAAuB,SAAS,CAAC;AAAA,QACnE,cAAc;AAAA,QACd,cAAc;AAAA,MAChB;AAAA,IACF;AAGA,QAAI,QAAQ,WAAW,GAAG;AACxB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,QAAQ,CAAC;AAAA,QAClB,KAAK;AAAA;AAAA;AAAA;AAAA,QAIL,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG;AAAA,QAC3B,QAAQ;AAAA,QACR,cAAc,QAAQ,CAAC,EAAE,QAAQ,sBAAsB;AAAA,QACvD,cAAc;AAAA,MAChB;AAAA,IACF;AAiBA,UAAM,cAAc,aAAa,IAAI,QAAQ;AAC7C,UAAM,aAAa,eAAe,IAC/B,MAAM,GAAG,EACT,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EACvB,OAAO,OAAO;AACjB,UAAM,SAAS,UACZ,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,EAC/C,OAAO,CAAC,MAAyB,CAAC,CAAC,CAAC;AAEvC,QAAI,iBAA2C,OAAO,CAAC;AAEvD,QAAI,OAAO,QAAQ;AAEjB,UAAI,OAAO,mBAAmB;AAC5B,uBAAe;AAAA,UACb;AAAA,UACA,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG;AAAA,QACnC;AAAA,IACJ,WAAW,OAAO,mBAAmB,aAAa;AAChD,YAAM,SAAS,eAAe,QAAQ,kBAAkB;AACxD,UAAI,QAAQ;AAGV,cAAM,QAAQ,OAAO,MAAM,GAAG,EAAE,CAAC;AACjC,yBAAiB,QAAQ,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK;AAAA,MACtD;AAAA,IACF;AAKA,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,kBAAkB,QAAQ,CAAC;AAAA,MACpC,KAAK;AAAA,MACL,YAAY,OAAO,SACf,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IACvB,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG;AAAA,MAC5B,QAAQ,OAAO,SAAS,SAAS;AAAA;AAAA;AAAA,MAGjC,cAAc;AAAA,MACd,cAAc,OAAO,WAAW;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,KAAK,CAAC;AAClC;","names":["scoped"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LucideIcon } from 'lucide-react';
|
|
2
|
+
export interface IntentNavRow {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon: LucideIcon;
|
|
6
|
+
href: string;
|
|
7
|
+
/** The archetype this row is scoped to, or null when it covers them all. */
|
|
8
|
+
intentKey: string | null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The rows this business's sidebar shows for its archetypes, collapsed.
|
|
12
|
+
*
|
|
13
|
+
* The sidebar is not the only surface that lists them — the mobile Operations
|
|
14
|
+
* hub does too, and it was walking each config's `navigation.groups` itself:
|
|
15
|
+
* deduping on item id so the first archetype's wording won a screen they all
|
|
16
|
+
* share ("Kitchen Orders" for a restaurant's dine-in covers), skipping each
|
|
17
|
+
* config's first group by index, and resolving icons through a map that
|
|
18
|
+
* silently returns a box for any name missing from it. The sidebar stopped
|
|
19
|
+
* doing all of that when collapsing landed. This is how another surface
|
|
20
|
+
* inherits it rather than growing a second opinion.
|
|
21
|
+
*
|
|
22
|
+
* Permission and behavior gating is deliberately NOT here: it needs the team
|
|
23
|
+
* membership request, and the sidebar's builder already owns it. Callers that
|
|
24
|
+
* need gated rows should use the sidebar's groups.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useIntentNavRows(): IntentNavRow[];
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useIntentConfig } from "./use-intent-config";
|
|
4
|
+
import { INTENT_NAV_DEFINITIONS } from "./intent-nav";
|
|
5
|
+
import { decideSharedNav, navDecisionKey } from "./collapse-shared-nav";
|
|
6
|
+
function hrefOf(config, itemId) {
|
|
7
|
+
for (const group of config.navigation?.groups ?? []) {
|
|
8
|
+
const found = group.items.find((item) => item.id === itemId);
|
|
9
|
+
if (found) return found.href;
|
|
10
|
+
}
|
|
11
|
+
return void 0;
|
|
12
|
+
}
|
|
13
|
+
function useIntentNavRows() {
|
|
14
|
+
const config = useIntentConfig();
|
|
15
|
+
return useMemo(() => {
|
|
16
|
+
const isMulti = config.mode === "multi";
|
|
17
|
+
const configs = isMulti ? config.all : [config.primary];
|
|
18
|
+
const byKey = new Map(configs.map((c) => [c.key, c]));
|
|
19
|
+
const definitions = INTENT_NAV_DEFINITIONS.filter((d) => byKey.has(d.key));
|
|
20
|
+
const decisions = decideSharedNav(
|
|
21
|
+
definitions,
|
|
22
|
+
isMulti ? "multi" : "single"
|
|
23
|
+
);
|
|
24
|
+
const rows = [];
|
|
25
|
+
for (const definition of definitions) {
|
|
26
|
+
const intentConfig = byKey.get(definition.key);
|
|
27
|
+
if (!intentConfig) continue;
|
|
28
|
+
for (const item of definition.items) {
|
|
29
|
+
const decision = decisions.get(navDecisionKey(definition.key, item.id));
|
|
30
|
+
if (!decision?.emit) continue;
|
|
31
|
+
const href = hrefOf(intentConfig, item.id);
|
|
32
|
+
if (!href) continue;
|
|
33
|
+
const scoped = isMulti && !decision.unscoped;
|
|
34
|
+
rows.push({
|
|
35
|
+
id: item.id,
|
|
36
|
+
label: decision.label,
|
|
37
|
+
icon: item.icon,
|
|
38
|
+
href: scoped ? `${href}?intent=${definition.key}` : href.split("?")[0],
|
|
39
|
+
intentKey: scoped ? definition.key : null
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return rows;
|
|
44
|
+
}, [config]);
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
useIntentNavRows
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=use-intent-nav-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/use-intent-nav-rows.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport type { LucideIcon } from 'lucide-react';\nimport { useIntentConfig } from './use-intent-config';\nimport { INTENT_NAV_DEFINITIONS } from './intent-nav';\nimport { decideSharedNav, navDecisionKey } from './collapse-shared-nav';\nimport type { IntentConfig } from './types';\n\nexport interface IntentNavRow {\n id: string;\n label: string;\n icon: LucideIcon;\n href: string;\n /** The archetype this row is scoped to, or null when it covers them all. */\n intentKey: string | null;\n}\n\nfunction hrefOf(config: IntentConfig, itemId: string): string | undefined {\n for (const group of config.navigation?.groups ?? []) {\n const found = group.items.find((item) => item.id === itemId);\n if (found) return found.href;\n }\n return undefined;\n}\n\n/**\n * The rows this business's sidebar shows for its archetypes, collapsed.\n *\n * The sidebar is not the only surface that lists them — the mobile Operations\n * hub does too, and it was walking each config's `navigation.groups` itself:\n * deduping on item id so the first archetype's wording won a screen they all\n * share (\"Kitchen Orders\" for a restaurant's dine-in covers), skipping each\n * config's first group by index, and resolving icons through a map that\n * silently returns a box for any name missing from it. The sidebar stopped\n * doing all of that when collapsing landed. This is how another surface\n * inherits it rather than growing a second opinion.\n *\n * Permission and behavior gating is deliberately NOT here: it needs the team\n * membership request, and the sidebar's builder already owns it. Callers that\n * need gated rows should use the sidebar's groups.\n */\nexport function useIntentNavRows(): IntentNavRow[] {\n const config = useIntentConfig();\n\n return useMemo(() => {\n const isMulti = config.mode === 'multi';\n const configs = isMulti ? config.all : [config.primary];\n const byKey = new Map(configs.map((c) => [c.key, c]));\n const definitions = INTENT_NAV_DEFINITIONS.filter((d) => byKey.has(d.key));\n const decisions = decideSharedNav(\n definitions,\n isMulti ? 'multi' : 'single',\n );\n\n const rows: IntentNavRow[] = [];\n for (const definition of definitions) {\n const intentConfig = byKey.get(definition.key);\n if (!intentConfig) continue;\n\n for (const item of definition.items) {\n const decision = decisions.get(navDecisionKey(definition.key, item.id));\n if (!decision?.emit) continue;\n\n const href = hrefOf(intentConfig, item.id);\n if (!href) continue;\n // Unscoped means \"all of them\", so it must not carry one archetype's\n // ?intent= — that is what makes the screen it opens narrow itself.\n const scoped = isMulti && !decision.unscoped;\n rows.push({\n id: item.id,\n label: decision.label,\n icon: item.icon,\n href: scoped\n ? `${href}?intent=${definition.key}`\n : href.split('?')[0],\n intentKey: scoped ? definition.key : null,\n });\n }\n }\n\n return rows;\n }, [config]);\n}\n"],"mappings":";AAEA,SAAS,eAAe;AAExB,SAAS,uBAAuB;AAChC,SAAS,8BAA8B;AACvC,SAAS,iBAAiB,sBAAsB;AAYhD,SAAS,OAAO,QAAsB,QAAoC;AACxE,aAAW,SAAS,OAAO,YAAY,UAAU,CAAC,GAAG;AACnD,UAAM,QAAQ,MAAM,MAAM,KAAK,CAAC,SAAS,KAAK,OAAO,MAAM;AAC3D,QAAI,MAAO,QAAO,MAAM;AAAA,EAC1B;AACA,SAAO;AACT;AAkBO,SAAS,mBAAmC;AACjD,QAAM,SAAS,gBAAgB;AAE/B,SAAO,QAAQ,MAAM;AACnB,UAAM,UAAU,OAAO,SAAS;AAChC,UAAM,UAAU,UAAU,OAAO,MAAM,CAAC,OAAO,OAAO;AACtD,UAAM,QAAQ,IAAI,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACpD,UAAM,cAAc,uBAAuB,OAAO,CAAC,MAAM,MAAM,IAAI,EAAE,GAAG,CAAC;AACzE,UAAM,YAAY;AAAA,MAChB;AAAA,MACA,UAAU,UAAU;AAAA,IACtB;AAEA,UAAM,OAAuB,CAAC;AAC9B,eAAW,cAAc,aAAa;AACpC,YAAM,eAAe,MAAM,IAAI,WAAW,GAAG;AAC7C,UAAI,CAAC,aAAc;AAEnB,iBAAW,QAAQ,WAAW,OAAO;AACnC,cAAM,WAAW,UAAU,IAAI,eAAe,WAAW,KAAK,KAAK,EAAE,CAAC;AACtE,YAAI,CAAC,UAAU,KAAM;AAErB,cAAM,OAAO,OAAO,cAAc,KAAK,EAAE;AACzC,YAAI,CAAC,KAAM;AAGX,cAAM,SAAS,WAAW,CAAC,SAAS;AACpC,aAAK,KAAK;AAAA,UACR,IAAI,KAAK;AAAA,UACT,OAAO,SAAS;AAAA,UAChB,MAAM,KAAK;AAAA,UACX,MAAM,SACF,GAAG,IAAI,WAAW,WAAW,GAAG,KAChC,KAAK,MAAM,GAAG,EAAE,CAAC;AAAA,UACrB,WAAW,SAAS,WAAW,MAAM;AAAA,QACvC,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,CAAC;AACb;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EntityLabel } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* What this business calls the thing a booking occupies: a court, a table, a
|
|
4
|
+
* room, a stylist, a property.
|
|
5
|
+
*
|
|
6
|
+
* The resolution lives in `useEntityLabel` now, which does the same job for all
|
|
7
|
+
* four renameable nouns. This stays because "resource" is the slot most surfaces
|
|
8
|
+
* name, and reading `useResourceLabel()` at the call site says what it means.
|
|
9
|
+
*/
|
|
10
|
+
export declare function useResourceLabel(): EntityLabel;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/use-resource-label.ts"],"sourcesContent":["'use client';\n\nimport { useEntityLabel } from './use-entity-label';\nimport type { EntityLabel } from './types';\n\n/**\n * What this business calls the thing a booking occupies: a court, a table, a\n * room, a stylist, a property.\n *\n * The resolution lives in `useEntityLabel` now, which does the same job for all\n * four renameable nouns. This stays because \"resource\" is the slot most surfaces\n * name, and reading `useResourceLabel()` at the call site says what it means.\n */\nexport function useResourceLabel(): EntityLabel {\n return useEntityLabel('resource');\n}\n"],"mappings":";AAEA,SAAS,sBAAsB;AAWxB,SAAS,mBAAgC;AAC9C,SAAO,eAAe,UAAU;AAClC;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useIntentConfig } from './use-intent-config';
|
|
2
|
+
/**
|
|
3
|
+
* The two facts every caller of `resolveRowNoun` needs, read once.
|
|
4
|
+
*
|
|
5
|
+
* The resolvers stay pure so the combinations can be asserted without
|
|
6
|
+
* rendering, and they take `renamed` as an argument rather than reaching for
|
|
7
|
+
* it. That is right for testing and wrong for call sites: three screens each
|
|
8
|
+
* reading `tenant.settings.moduleLabels.inventory` is three chances to forget,
|
|
9
|
+
* and forgetting means the merchant's own word loses to the archetype's on
|
|
10
|
+
* exactly the screens this feature touches.
|
|
11
|
+
*
|
|
12
|
+
* `inventory` is the key an item rename is stored under — see `MODULE_KEY` in
|
|
13
|
+
* `use-entity-label.ts`, and the long note there on why a rename is keyed to
|
|
14
|
+
* the SCREEN rather than the nav item id.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useRowNounContext(): {
|
|
17
|
+
configs: ReturnType<typeof useIntentConfig>['all'];
|
|
18
|
+
renamed: boolean;
|
|
19
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useAuth } from "../auth-context";
|
|
3
|
+
import { useIntentConfig } from "./use-intent-config";
|
|
4
|
+
function useRowNounContext() {
|
|
5
|
+
const { tenant } = useAuth();
|
|
6
|
+
const { all } = useIntentConfig();
|
|
7
|
+
const moduleLabels = tenant?.settings?.moduleLabels;
|
|
8
|
+
return { configs: all, renamed: !!moduleLabels?.inventory };
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useRowNounContext
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=use-row-noun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/use-row-noun.ts"],"sourcesContent":["'use client';\n\nimport { useAuth } from '../auth-context';\nimport { useIntentConfig } from './use-intent-config';\n\n/**\n * The two facts every caller of `resolveRowNoun` needs, read once.\n *\n * The resolvers stay pure so the combinations can be asserted without\n * rendering, and they take `renamed` as an argument rather than reaching for\n * it. That is right for testing and wrong for call sites: three screens each\n * reading `tenant.settings.moduleLabels.inventory` is three chances to forget,\n * and forgetting means the merchant's own word loses to the archetype's on\n * exactly the screens this feature touches.\n *\n * `inventory` is the key an item rename is stored under — see `MODULE_KEY` in\n * `use-entity-label.ts`, and the long note there on why a rename is keyed to\n * the SCREEN rather than the nav item id.\n */\nexport function useRowNounContext(): {\n configs: ReturnType<typeof useIntentConfig>['all'];\n renamed: boolean;\n} {\n const { tenant } = useAuth();\n const { all } = useIntentConfig();\n\n const moduleLabels = tenant?.settings?.moduleLabels as\n | Record<string, string>\n | undefined;\n\n return { configs: all, renamed: !!moduleLabels?.inventory };\n}\n"],"mappings":";AAEA,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAgBzB,SAAS,oBAGd;AACA,QAAM,EAAE,OAAO,IAAI,QAAQ;AAC3B,QAAM,EAAE,IAAI,IAAI,gBAAgB;AAEhC,QAAM,eAAe,QAAQ,UAAU;AAIvC,SAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,cAAc,UAAU;AAC5D;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of the screen you are on, taken from the row that opened it.
|
|
3
|
+
*
|
|
4
|
+
* Pages should not pass a title to `ListPage` when the nav already names the
|
|
5
|
+
* destination — omitting it is what makes the two impossible to drift apart.
|
|
6
|
+
* Pass one only for screens the intent nav never points at (Blog, Discounts,
|
|
7
|
+
* Settings pages), where there is no row to inherit from.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useScreenTitle(): string | undefined;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { usePathname } from "@withpotter/lib/use-pathname";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { useAuth } from "@withpotter/lib/auth-context";
|
|
5
|
+
import { useIntentConfig } from "./use-intent-config";
|
|
6
|
+
import { resolveScreenTitle } from "./screen-title";
|
|
7
|
+
function useScreenTitle() {
|
|
8
|
+
const pathname = usePathname();
|
|
9
|
+
const { tenant } = useAuth();
|
|
10
|
+
const config = useIntentConfig();
|
|
11
|
+
const moduleLabels = tenant?.settings?.moduleLabels;
|
|
12
|
+
return useMemo(
|
|
13
|
+
() => resolveScreenTitle({
|
|
14
|
+
configs: config.all,
|
|
15
|
+
mode: config.mode,
|
|
16
|
+
pathname: pathname ?? "",
|
|
17
|
+
moduleLabels
|
|
18
|
+
}),
|
|
19
|
+
[config.all, config.mode, pathname, moduleLabels]
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
useScreenTitle
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=use-screen-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/use-screen-title.ts"],"sourcesContent":["'use client';\n\nimport { usePathname } from '@withpotter/lib/use-pathname';\nimport { useMemo } from 'react';\nimport { useAuth } from '@withpotter/lib/auth-context';\nimport { useIntentConfig } from './use-intent-config';\nimport { resolveScreenTitle } from './screen-title';\n\n/**\n * The name of the screen you are on, taken from the row that opened it.\n *\n * Pages should not pass a title to `ListPage` when the nav already names the\n * destination — omitting it is what makes the two impossible to drift apart.\n * Pass one only for screens the intent nav never points at (Blog, Discounts,\n * Settings pages), where there is no row to inherit from.\n */\nexport function useScreenTitle(): string | undefined {\n const pathname = usePathname();\n const { tenant } = useAuth();\n const config = useIntentConfig();\n\n const moduleLabels = tenant?.settings?.moduleLabels as\n Record<string, string> | undefined;\n\n return useMemo(\n () =>\n resolveScreenTitle({\n configs: config.all,\n mode: config.mode,\n pathname: pathname ?? '',\n moduleLabels,\n }),\n [config.all, config.mode, pathname, moduleLabels],\n );\n}\n"],"mappings":";AAEA,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAU5B,SAAS,iBAAqC;AACnD,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,OAAO,IAAI,QAAQ;AAC3B,QAAM,SAAS,gBAAgB;AAE/B,QAAM,eAAe,QAAQ,UAAU;AAGvC,SAAO;AAAA,IACL,MACE,mBAAmB;AAAA,MACjB,SAAS,OAAO;AAAA,MAChB,MAAM,OAAO;AAAA,MACb,UAAU,YAAY;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,IACH,CAAC,OAAO,KAAK,OAAO,MAAM,UAAU,YAAY;AAAA,EAClD;AACF;","names":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a business model puts in the sidebar — asked before it is switched on,
|
|
3
|
+
* not after.
|
|
4
|
+
*
|
|
5
|
+
* Adding was the one direction on this page with nothing between the press and
|
|
6
|
+
* the consequence. Removing has carried a confirm naming the cost since the
|
|
7
|
+
* settings screen this page replaced, on the argument that dropping a model
|
|
8
|
+
* takes modules out of the sidebar. That argument is symmetric and only half
|
|
9
|
+
* of it was written down: adding PUTS modules in, and a merchant curious
|
|
10
|
+
* enough to press a card is entitled to know what their nav will look like
|
|
11
|
+
* afterwards.
|
|
12
|
+
*
|
|
13
|
+
* A LINE ON THE CARD, NOT A SECOND CONFIRM. A dialog between "I want this" and
|
|
14
|
+
* having it is the shape that makes an app store feel like a procurement
|
|
15
|
+
* system, and the panel that fires afterwards already exists to say what you
|
|
16
|
+
* can now do. This is the same information a beat earlier, where it can change
|
|
17
|
+
* a decision rather than explain one.
|
|
18
|
+
*
|
|
19
|
+
* ── WHAT IT COUNTS ──
|
|
20
|
+
*
|
|
21
|
+
* The rows an archetype declares, which is the honest answer to "what appears":
|
|
22
|
+
* `build-nav-groups` reads exactly these labels. Minus whatever the business
|
|
23
|
+
* already has from the models it is running, because "Adds Orders" is a lie to
|
|
24
|
+
* a shop that has had an Orders row since the day it signed up — and it is the
|
|
25
|
+
* shared rows (Orders, Collections, Invoices, Loyalty) that repeat across
|
|
26
|
+
* archetypes, so without the subtraction most cards would list the same four
|
|
27
|
+
* things and none of them would be news.
|
|
28
|
+
*
|
|
29
|
+
* That makes the line a function of the merchant's current selection, which is
|
|
30
|
+
* why it is computed here rather than baked into `business-intents` beside the
|
|
31
|
+
* descriptions.
|
|
32
|
+
*
|
|
33
|
+
* IN `lib/intents` RATHER THAN BESIDE THE PAGE, because the search panel asks
|
|
34
|
+
* the same question from `components/` — a route folder importing into a
|
|
35
|
+
* shared component is a layering inversion, and this is registry logic either
|
|
36
|
+
* way: it reads the archetype configs and nothing about a screen.
|
|
37
|
+
*/
|
|
38
|
+
export declare function navRowsFor(intentKey: string,
|
|
39
|
+
/**
|
|
40
|
+
* Drop the rows every archetype declares — Collections, Invoices, Loyalty,
|
|
41
|
+
* Hours. `generic` is the configs' own word for "shared platform capability
|
|
42
|
+
* rather than something this model brings", and it is the difference
|
|
43
|
+
* between a row that identifies a business model and one that cannot.
|
|
44
|
+
*
|
|
45
|
+
* It matters wherever the rows are used to MATCH rather than to describe:
|
|
46
|
+
* searching "invoice" offered a shop Take bookings and Rent out a property,
|
|
47
|
+
* because both configs list an Invoices row, as does everything else. A
|
|
48
|
+
* suggestion that fires on a word shared by every archetype is noise with a
|
|
49
|
+
* heading on it.
|
|
50
|
+
*/
|
|
51
|
+
{ includeGeneric }?: {
|
|
52
|
+
includeGeneric?: boolean;
|
|
53
|
+
}): string[];
|
|
54
|
+
/** The rows this model would add that the current selection does not already carry. */
|
|
55
|
+
export declare function rowsAddedBy(intentKey: string, current: string[]): string[];
|
|
56
|
+
/**
|
|
57
|
+
* Everything about a model a search should be able to find it by.
|
|
58
|
+
*
|
|
59
|
+
* "table" has to find Run a dine-in service. It did not, and could not: the
|
|
60
|
+
* cards were matched on their own three strings — name, description, verb
|
|
61
|
+
* phrase — none of which say table, while the archetype has carried a nav row
|
|
62
|
+
* called Tables the whole time. A merchant searching a library of capabilities
|
|
63
|
+
* types the noun they have in their head, and that noun is far more often the
|
|
64
|
+
* screen they want than our name for the business model that owns it.
|
|
65
|
+
*
|
|
66
|
+
* The group heading goes in for the same reason: somebody typing "book" should
|
|
67
|
+
* land on the three cards filed under "Let people book your time or your
|
|
68
|
+
* space", including the two whose own names never say book.
|
|
69
|
+
*/
|
|
70
|
+
export declare function searchTextFor(intentKey: string, groupLabel: string): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { intentRegistry } from "./registry";
|
|
2
|
+
function navRowsFor(intentKey, { includeGeneric = true } = {}) {
|
|
3
|
+
const config = intentRegistry[intentKey];
|
|
4
|
+
if (!config) return [];
|
|
5
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6
|
+
const out = [];
|
|
7
|
+
for (const group of config.navigation.groups) {
|
|
8
|
+
for (const item of group.items) {
|
|
9
|
+
if (!includeGeneric && item.generic) continue;
|
|
10
|
+
if (seen.has(item.label)) continue;
|
|
11
|
+
seen.add(item.label);
|
|
12
|
+
out.push(item.label);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return out;
|
|
16
|
+
}
|
|
17
|
+
function rowsAddedBy(intentKey, current) {
|
|
18
|
+
const have = new Set(current.flatMap((key) => navRowsFor(key)));
|
|
19
|
+
return navRowsFor(intentKey).filter((label) => !have.has(label));
|
|
20
|
+
}
|
|
21
|
+
function searchTextFor(intentKey, groupLabel) {
|
|
22
|
+
return [groupLabel, ...navRowsFor(intentKey, { includeGeneric: false })].join(" ").toLowerCase();
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
navRowsFor,
|
|
26
|
+
rowsAddedBy,
|
|
27
|
+
searchTextFor
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=what-it-adds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/what-it-adds.ts"],"sourcesContent":["import { intentRegistry } from './registry';\n\n/**\n * What a business model puts in the sidebar — asked before it is switched on,\n * not after.\n *\n * Adding was the one direction on this page with nothing between the press and\n * the consequence. Removing has carried a confirm naming the cost since the\n * settings screen this page replaced, on the argument that dropping a model\n * takes modules out of the sidebar. That argument is symmetric and only half\n * of it was written down: adding PUTS modules in, and a merchant curious\n * enough to press a card is entitled to know what their nav will look like\n * afterwards.\n *\n * A LINE ON THE CARD, NOT A SECOND CONFIRM. A dialog between \"I want this\" and\n * having it is the shape that makes an app store feel like a procurement\n * system, and the panel that fires afterwards already exists to say what you\n * can now do. This is the same information a beat earlier, where it can change\n * a decision rather than explain one.\n *\n * ── WHAT IT COUNTS ──\n *\n * The rows an archetype declares, which is the honest answer to \"what appears\":\n * `build-nav-groups` reads exactly these labels. Minus whatever the business\n * already has from the models it is running, because \"Adds Orders\" is a lie to\n * a shop that has had an Orders row since the day it signed up — and it is the\n * shared rows (Orders, Collections, Invoices, Loyalty) that repeat across\n * archetypes, so without the subtraction most cards would list the same four\n * things and none of them would be news.\n *\n * That makes the line a function of the merchant's current selection, which is\n * why it is computed here rather than baked into `business-intents` beside the\n * descriptions.\n *\n * IN `lib/intents` RATHER THAN BESIDE THE PAGE, because the search panel asks\n * the same question from `components/` — a route folder importing into a\n * shared component is a layering inversion, and this is registry logic either\n * way: it reads the archetype configs and nothing about a screen.\n */\nexport function navRowsFor(\n intentKey: string,\n /**\n * Drop the rows every archetype declares — Collections, Invoices, Loyalty,\n * Hours. `generic` is the configs' own word for \"shared platform capability\n * rather than something this model brings\", and it is the difference\n * between a row that identifies a business model and one that cannot.\n *\n * It matters wherever the rows are used to MATCH rather than to describe:\n * searching \"invoice\" offered a shop Take bookings and Rent out a property,\n * because both configs list an Invoices row, as does everything else. A\n * suggestion that fires on a word shared by every archetype is noise with a\n * heading on it.\n */\n { includeGeneric = true }: { includeGeneric?: boolean } = {},\n): string[] {\n const config = intentRegistry[intentKey];\n if (!config) return [];\n const seen = new Set<string>();\n const out: string[] = [];\n for (const group of config.navigation.groups) {\n for (const item of group.items) {\n if (!includeGeneric && item.generic) continue;\n if (seen.has(item.label)) continue;\n seen.add(item.label);\n out.push(item.label);\n }\n }\n return out;\n}\n\n/** The rows this model would add that the current selection does not already carry. */\nexport function rowsAddedBy(intentKey: string, current: string[]): string[] {\n const have = new Set(current.flatMap((key) => navRowsFor(key)));\n return navRowsFor(intentKey).filter((label) => !have.has(label));\n}\n\n/**\n * Everything about a model a search should be able to find it by.\n *\n * \"table\" has to find Run a dine-in service. It did not, and could not: the\n * cards were matched on their own three strings — name, description, verb\n * phrase — none of which say table, while the archetype has carried a nav row\n * called Tables the whole time. A merchant searching a library of capabilities\n * types the noun they have in their head, and that noun is far more often the\n * screen they want than our name for the business model that owns it.\n *\n * The group heading goes in for the same reason: somebody typing \"book\" should\n * land on the three cards filed under \"Let people book your time or your\n * space\", including the two whose own names never say book.\n */\nexport function searchTextFor(intentKey: string, groupLabel: string): string {\n return [groupLabel, ...navRowsFor(intentKey, { includeGeneric: false })]\n .join(' ')\n .toLowerCase();\n}\n"],"mappings":"AAAA,SAAS,sBAAsB;AAuCxB,SAAS,WACd,WAaA,EAAE,iBAAiB,KAAK,IAAkC,CAAC,GACjD;AACV,QAAM,SAAS,eAAe,SAAS;AACvC,MAAI,CAAC,OAAQ,QAAO,CAAC;AACrB,QAAM,OAAO,oBAAI,IAAY;AAC7B,QAAM,MAAgB,CAAC;AACvB,aAAW,SAAS,OAAO,WAAW,QAAQ;AAC5C,eAAW,QAAQ,MAAM,OAAO;AAC9B,UAAI,CAAC,kBAAkB,KAAK,QAAS;AACrC,UAAI,KAAK,IAAI,KAAK,KAAK,EAAG;AAC1B,WAAK,IAAI,KAAK,KAAK;AACnB,UAAI,KAAK,KAAK,KAAK;AAAA,IACrB;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,YAAY,WAAmB,SAA6B;AAC1E,QAAM,OAAO,IAAI,IAAI,QAAQ,QAAQ,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC;AAC9D,SAAO,WAAW,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC;AACjE;AAgBO,SAAS,cAAc,WAAmB,YAA4B;AAC3E,SAAO,CAAC,YAAY,GAAG,WAAW,WAAW,EAAE,gBAAgB,MAAM,CAAC,CAAC,EACpE,KAAK,GAAG,EACR,YAAY;AACjB;","names":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The whole path an archetype runs, with nothing marked current.
|
|
3
|
+
*
|
|
4
|
+
* THE ONE PIECE OF NEW LOGIC. `order-progress.ts` answers "where is THIS
|
|
5
|
+
* order" — it walks a path and marks one step `current`, which is the right
|
|
6
|
+
* question on an order detail screen and the wrong one here. A workflow view
|
|
7
|
+
* has no order in hand; it needs the same paths with no state on them.
|
|
8
|
+
*
|
|
9
|
+
* So this is a SPECIMEN, and everything about it is borrowed. The money lane
|
|
10
|
+
* comes from `resolveMoneyAxis`, the fulfilment lane from `resolveDeliveryAxis`
|
|
11
|
+
* — both handed the first state on their path purely so they will emit the
|
|
12
|
+
* whole walk. The status graph comes from `getAllowedOrderTransitions`, the
|
|
13
|
+
* words on the arrows from `resolveNextAction`, and every label from the
|
|
14
|
+
* archetype's own `orderDisplay`. Nothing here decides anything a live order
|
|
15
|
+
* does not already decide the same way, which is the point: if the drawing and
|
|
16
|
+
* the order ever disagree, the drawing is lying.
|
|
17
|
+
*
|
|
18
|
+
* IT REPORTS WHAT IT COULD NOT DRAW rather than drawing it wrong. Three
|
|
19
|
+
* archetypes carry status vocabularies that are not `OrderStatus` at all —
|
|
20
|
+
* `send-invoices` (draft/sent/overdue/void), `capture-leads`
|
|
21
|
+
* (new/converted/spam) and `subscriptions` (active/non_renewing/attention).
|
|
22
|
+
* `getAllowedOrderTransitions` has no entry for any of them, so they fall to
|
|
23
|
+
* `DEFAULT_TRANSITIONS`, which shares ZERO keys with what they actually use.
|
|
24
|
+
* Walking it anyway would produce a confident graph of five stages none of
|
|
25
|
+
* which that archetype has ever been in. `notes` carries the reason instead and
|
|
26
|
+
* the lane is simply absent — the same argument as the tile that told every
|
|
27
|
+
* storefront it had no page for products.
|
|
28
|
+
*/
|
|
29
|
+
export type StageTone = 'start' | 'live' | 'good' | 'end' | 'exit';
|
|
30
|
+
export interface WorkflowStage {
|
|
31
|
+
/** The status key, which is also the node id within its lane. */
|
|
32
|
+
key: string;
|
|
33
|
+
/** The archetype's own word for it. */
|
|
34
|
+
label: string;
|
|
35
|
+
tone: StageTone;
|
|
36
|
+
}
|
|
37
|
+
export interface WorkflowEdge {
|
|
38
|
+
from: string;
|
|
39
|
+
to: string;
|
|
40
|
+
/** The button a merchant actually presses to make this move, when there is
|
|
41
|
+
* one. Absent where the move is the customer's or the clock's. */
|
|
42
|
+
verb?: string;
|
|
43
|
+
/** An escape hatch — cancelled, refunded. Drawn quieter and downward. */
|
|
44
|
+
exit?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface WorkflowLane {
|
|
47
|
+
key: 'status' | 'money' | 'fulfilment';
|
|
48
|
+
/** The lane's own heading, in the archetype's words where it has one. */
|
|
49
|
+
label: string;
|
|
50
|
+
stages: WorkflowStage[];
|
|
51
|
+
edges: WorkflowEdge[];
|
|
52
|
+
}
|
|
53
|
+
export interface WorkflowShape {
|
|
54
|
+
intentKey: string;
|
|
55
|
+
lanes: WorkflowLane[];
|
|
56
|
+
/** The first real object, so the drawing can say where it starts. */
|
|
57
|
+
start: {
|
|
58
|
+
noun: string;
|
|
59
|
+
cta: string;
|
|
60
|
+
blurb: string;
|
|
61
|
+
href: string;
|
|
62
|
+
};
|
|
63
|
+
/** What could not be drawn, and why. Rendered, never swallowed. */
|
|
64
|
+
notes: string[];
|
|
65
|
+
}
|
|
66
|
+
export declare function resolveWorkflowShape(intentKey: string): WorkflowShape | null;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { getIntentConfig } from "./registry";
|
|
2
|
+
import { getAllowedOrderTransitions } from "./order-transitions";
|
|
3
|
+
import {
|
|
4
|
+
resolveDeliveryAxis,
|
|
5
|
+
resolveMoneyAxis,
|
|
6
|
+
resolveNextAction
|
|
7
|
+
} from "./order-progress";
|
|
8
|
+
import { resolveOrderStatusLabel } from "./order-display";
|
|
9
|
+
import { firstObjectFor } from "./archetype-flow";
|
|
10
|
+
const EXITS = ["cancelled", "refunded"];
|
|
11
|
+
const NOT_ORDER_SHAPED = /* @__PURE__ */ new Set([
|
|
12
|
+
"send-invoices",
|
|
13
|
+
"capture-leads",
|
|
14
|
+
"subscriptions"
|
|
15
|
+
]);
|
|
16
|
+
function toneFor(key, index, lastIndex) {
|
|
17
|
+
if (EXITS.includes(key)) return "exit";
|
|
18
|
+
if (index === 0) return "start";
|
|
19
|
+
if (index === lastIndex) return "end";
|
|
20
|
+
return "live";
|
|
21
|
+
}
|
|
22
|
+
function statusLane(intentKey, orderDisplay, canFulfill) {
|
|
23
|
+
const seen = /* @__PURE__ */ new Set();
|
|
24
|
+
const order = [];
|
|
25
|
+
const exitsSeen = /* @__PURE__ */ new Set();
|
|
26
|
+
const edges = [];
|
|
27
|
+
const queue = ["pending"];
|
|
28
|
+
while (queue.length > 0) {
|
|
29
|
+
const current = queue.shift();
|
|
30
|
+
if (seen.has(current)) continue;
|
|
31
|
+
seen.add(current);
|
|
32
|
+
order.push(current);
|
|
33
|
+
for (const next of getAllowedOrderTransitions(current, intentKey)) {
|
|
34
|
+
if (seen.has(next) && !EXITS.includes(next)) continue;
|
|
35
|
+
const exit = EXITS.includes(next);
|
|
36
|
+
const action = resolveNextAction({
|
|
37
|
+
status: current,
|
|
38
|
+
paymentStatus: "paid",
|
|
39
|
+
fulfillmentStatus: "fulfilled",
|
|
40
|
+
orderDisplay,
|
|
41
|
+
intentKey,
|
|
42
|
+
canFulfill
|
|
43
|
+
});
|
|
44
|
+
edges.push({
|
|
45
|
+
from: current,
|
|
46
|
+
to: next,
|
|
47
|
+
exit,
|
|
48
|
+
// Only when the suggested next action IS this transition; otherwise the
|
|
49
|
+
// arrow would wear a verb belonging to a different move.
|
|
50
|
+
verb: !exit && action.key === "advance-status" && action.status === next ? action.label : void 0
|
|
51
|
+
});
|
|
52
|
+
if (exit) exitsSeen.add(next);
|
|
53
|
+
else queue.push(next);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const forward = order.filter((s) => !EXITS.includes(s));
|
|
57
|
+
const exits = [...exitsSeen];
|
|
58
|
+
const stages = [...forward, ...exits].map((key) => ({
|
|
59
|
+
key,
|
|
60
|
+
label: resolveOrderStatusLabel(orderDisplay, key),
|
|
61
|
+
tone: toneFor(key, forward.indexOf(key), forward.length - 1)
|
|
62
|
+
}));
|
|
63
|
+
return {
|
|
64
|
+
key: "status",
|
|
65
|
+
label: orderDisplay?.statusLabels ? "Order" : "Status",
|
|
66
|
+
stages,
|
|
67
|
+
edges
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function resolveWorkflowShape(intentKey) {
|
|
71
|
+
const config = getIntentConfig(intentKey);
|
|
72
|
+
if (!config) return null;
|
|
73
|
+
const orderDisplay = config.orderDisplay;
|
|
74
|
+
const notes = [];
|
|
75
|
+
const lanes = [];
|
|
76
|
+
if (NOT_ORDER_SHAPED.has(intentKey)) {
|
|
77
|
+
notes.push(
|
|
78
|
+
`This one runs on its own states \u2014 ${Object.keys(
|
|
79
|
+
orderDisplay?.statusLabels ?? {}
|
|
80
|
+
).slice(0, 3).join(
|
|
81
|
+
", "
|
|
82
|
+
)} \u2014 which the shared transition map does not describe yet, so its stages are not drawn.`
|
|
83
|
+
);
|
|
84
|
+
} else {
|
|
85
|
+
const canFulfill = !orderDisplay?.hideFulfillment;
|
|
86
|
+
lanes.push(statusLane(intentKey, orderDisplay, canFulfill));
|
|
87
|
+
}
|
|
88
|
+
const money = resolveMoneyAxis("unpaid");
|
|
89
|
+
lanes.push({
|
|
90
|
+
key: "money",
|
|
91
|
+
label: money.label,
|
|
92
|
+
stages: money.steps.map((s, i) => ({
|
|
93
|
+
key: s.key,
|
|
94
|
+
label: s.label,
|
|
95
|
+
tone: i === 0 ? "start" : i === money.steps.length - 1 ? "good" : "live"
|
|
96
|
+
})),
|
|
97
|
+
edges: money.steps.slice(0, -1).map((s, i) => ({
|
|
98
|
+
from: s.key,
|
|
99
|
+
to: money.steps[i + 1].key,
|
|
100
|
+
// The only move on this lane a merchant makes. The first is the
|
|
101
|
+
// customer's; nothing on our side advances it.
|
|
102
|
+
verb: money.steps[i + 1].key === "paid" ? "Confirm payment" : void 0
|
|
103
|
+
}))
|
|
104
|
+
});
|
|
105
|
+
if (!orderDisplay?.hideFulfillment) {
|
|
106
|
+
const delivery = resolveDeliveryAxis(orderDisplay, "unfulfilled");
|
|
107
|
+
if (delivery.steps.length > 1) {
|
|
108
|
+
lanes.push({
|
|
109
|
+
key: "fulfilment",
|
|
110
|
+
label: delivery.label,
|
|
111
|
+
stages: delivery.steps.map((s, i) => ({
|
|
112
|
+
key: s.key,
|
|
113
|
+
label: s.label,
|
|
114
|
+
tone: i === 0 ? "start" : i === delivery.steps.length - 1 ? "good" : "live"
|
|
115
|
+
})),
|
|
116
|
+
edges: delivery.steps.slice(0, -1).map((s, i) => {
|
|
117
|
+
const next = delivery.steps[i + 1];
|
|
118
|
+
const action = resolveNextAction({
|
|
119
|
+
status: "confirmed",
|
|
120
|
+
paymentStatus: "paid",
|
|
121
|
+
fulfillmentStatus: s.key,
|
|
122
|
+
orderDisplay,
|
|
123
|
+
intentKey,
|
|
124
|
+
canFulfill: true
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
from: s.key,
|
|
128
|
+
to: next.key,
|
|
129
|
+
verb: action.key === "fulfill" && action.fulfillmentStatus === next.key ? action.label : void 0
|
|
130
|
+
};
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const first = firstObjectFor(intentKey);
|
|
136
|
+
return {
|
|
137
|
+
intentKey,
|
|
138
|
+
lanes,
|
|
139
|
+
start: {
|
|
140
|
+
noun: first.noun,
|
|
141
|
+
cta: first.cta,
|
|
142
|
+
blurb: first.blurb,
|
|
143
|
+
href: first.href
|
|
144
|
+
},
|
|
145
|
+
notes
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export {
|
|
149
|
+
resolveWorkflowShape
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=workflow-shape.js.map
|