@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,231 @@
|
|
|
1
|
+
const captureLeadsConfig = {
|
|
2
|
+
key: "capture-leads",
|
|
3
|
+
label: "Enquiries",
|
|
4
|
+
description: "Take enquiries and qualify them \u2014 viewings, quotes, admissions, consultations",
|
|
5
|
+
icon: "MessageSquare",
|
|
6
|
+
entities: {
|
|
7
|
+
// What is listed is what the enquiry is *about* — a property, a policy, a
|
|
8
|
+
// course — not something with a price and a buy button.
|
|
9
|
+
item: { singular: "Listing", plural: "Listings" },
|
|
10
|
+
order: { singular: "Enquiry", plural: "Enquiries" },
|
|
11
|
+
/**
|
|
12
|
+
* This does NOT name the Bookings row, and cannot.
|
|
13
|
+
*
|
|
14
|
+
* A pure `capture-leads` shell has no `bookable` behaviour, so there is no
|
|
15
|
+
* bookings surface for the word to land on. Add `take-bookings` and the row
|
|
16
|
+
* arrives as its own "Appointments" — because an estate agent doing
|
|
17
|
+
* viewings and a clinic doing consultations are the same archetype pair,
|
|
18
|
+
* and nothing here can tell them apart.
|
|
19
|
+
*
|
|
20
|
+
* Making `primary` win would be worse: it is whichever intent was ticked
|
|
21
|
+
* first, so the sidebar's wording would depend on the order somebody
|
|
22
|
+
* checked boxes at onboarding. `archetypeLabel` already refuses to do that,
|
|
23
|
+
* falling back to the neutral noun wherever archetypes disagree.
|
|
24
|
+
*
|
|
25
|
+
* The merchant's own word is the resolution — typed once in Settings ›
|
|
26
|
+
* Navigation, honoured by `moduleLabelFor`, and covered by "an estate agent
|
|
27
|
+
* can call the bookings row Viewings" in build-nav-groups.test.ts. This
|
|
28
|
+
* entry stays because it is the right noun for this archetype's vocabulary
|
|
29
|
+
* on the surfaces that do ask it, not because it names a screen.
|
|
30
|
+
*/
|
|
31
|
+
booking: { singular: "Viewing", plural: "Viewings" },
|
|
32
|
+
resource: { singular: "Listing", plural: "Listings" }
|
|
33
|
+
},
|
|
34
|
+
navigation: {
|
|
35
|
+
groups: [
|
|
36
|
+
{
|
|
37
|
+
key: "catalog",
|
|
38
|
+
label: "Catalog",
|
|
39
|
+
items: [
|
|
40
|
+
{
|
|
41
|
+
id: "catalog",
|
|
42
|
+
label: "Listings",
|
|
43
|
+
href: "/dashboard/catalog",
|
|
44
|
+
icon: "FileText"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "collections",
|
|
48
|
+
label: "Collections",
|
|
49
|
+
href: "/dashboard/collections",
|
|
50
|
+
icon: "FolderOpen",
|
|
51
|
+
generic: true
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "pipeline",
|
|
57
|
+
label: "Pipeline",
|
|
58
|
+
items: [
|
|
59
|
+
{
|
|
60
|
+
// The primary work surface, so not `generic`: hiding it would
|
|
61
|
+
// leave the merchant with nowhere to do the only job they have.
|
|
62
|
+
id: "inquiries",
|
|
63
|
+
label: "Enquiries",
|
|
64
|
+
href: "/dashboard/inbox",
|
|
65
|
+
icon: "MessageSquare"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
pages: [],
|
|
72
|
+
pageSections: {
|
|
73
|
+
orderDetail: [],
|
|
74
|
+
orderList: {
|
|
75
|
+
columns: [
|
|
76
|
+
{ key: "customer", label: "Enquirer" },
|
|
77
|
+
{ key: "status", label: "Stage" },
|
|
78
|
+
{ key: "createdAt", label: "Received" }
|
|
79
|
+
],
|
|
80
|
+
filters: [
|
|
81
|
+
{ key: "status", label: "Stage", type: "select" },
|
|
82
|
+
{ key: "dateRange", label: "Received", type: "dateRange" }
|
|
83
|
+
],
|
|
84
|
+
actions: [
|
|
85
|
+
{ key: "view", label: "Open", icon: "Eye", variant: "secondary" }
|
|
86
|
+
],
|
|
87
|
+
bulkActions: [
|
|
88
|
+
{
|
|
89
|
+
key: "export-csv",
|
|
90
|
+
label: "Export CSV",
|
|
91
|
+
icon: "Download",
|
|
92
|
+
variant: "secondary"
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
itemDetail: [
|
|
97
|
+
"item-header",
|
|
98
|
+
"pricing-info",
|
|
99
|
+
"media-gallery",
|
|
100
|
+
"seo-settings"
|
|
101
|
+
],
|
|
102
|
+
itemList: {
|
|
103
|
+
columns: [
|
|
104
|
+
{ key: "product", label: "Listing" },
|
|
105
|
+
{ key: "status", label: "Status" }
|
|
106
|
+
],
|
|
107
|
+
filters: [{ key: "status", label: "Status", type: "select" }],
|
|
108
|
+
stats: [
|
|
109
|
+
{
|
|
110
|
+
key: "total",
|
|
111
|
+
label: "Total listings",
|
|
112
|
+
dataKey: "total",
|
|
113
|
+
format: "number",
|
|
114
|
+
icon: "FileText"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
key: "active",
|
|
118
|
+
label: "Live",
|
|
119
|
+
dataKey: "active",
|
|
120
|
+
format: "number",
|
|
121
|
+
icon: "CheckCircle"
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
// Nothing is stocked — a listing is information, not units on a shelf.
|
|
125
|
+
trackInventory: false,
|
|
126
|
+
searchPlaceholder: "Search listings..."
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
dashboard: {
|
|
130
|
+
quickActions: [
|
|
131
|
+
{
|
|
132
|
+
key: "view-inquiries",
|
|
133
|
+
label: "Open enquiries",
|
|
134
|
+
icon: "MessageSquare",
|
|
135
|
+
href: "/dashboard/inbox",
|
|
136
|
+
variant: "primary"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
key: "add-listing",
|
|
140
|
+
label: "Add listing",
|
|
141
|
+
icon: "Plus",
|
|
142
|
+
href: "/dashboard/catalog/new",
|
|
143
|
+
variant: "secondary"
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
emptyStates: {
|
|
148
|
+
orders: {
|
|
149
|
+
title: "No enquiries yet",
|
|
150
|
+
description: "Your contact form feeds this inbox. The first enquiry lands here.",
|
|
151
|
+
actionLabel: "Open enquiries",
|
|
152
|
+
actionHref: "/dashboard/inbox"
|
|
153
|
+
},
|
|
154
|
+
items: {
|
|
155
|
+
title: "No listings yet",
|
|
156
|
+
description: "Add what people will be enquiring about.",
|
|
157
|
+
actionLabel: "Add listing",
|
|
158
|
+
actionHref: "/dashboard/catalog/new"
|
|
159
|
+
},
|
|
160
|
+
customers: {
|
|
161
|
+
title: "No contacts yet",
|
|
162
|
+
description: "People appear here once they enquire.",
|
|
163
|
+
actionLabel: "Open enquiries",
|
|
164
|
+
actionHref: "/dashboard/inbox"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
orderDisplay: {
|
|
168
|
+
// Mirrors InquiryStatus in the API's inquiry.entity.ts, so a stage shown
|
|
169
|
+
// here is a stage the backend can actually be in.
|
|
170
|
+
/**
|
|
171
|
+
* The eight states an enquiry can be in, matching `InquiryStatus` exactly.
|
|
172
|
+
*
|
|
173
|
+
* `viewed` reads **Seen**, which is the word the inbox itself uses. It said
|
|
174
|
+
* "Viewed" here and "Seen" on the screen — one state, two words, in two
|
|
175
|
+
* files describing the same list.
|
|
176
|
+
*
|
|
177
|
+
* Worth knowing what this copy is for: `orderDisplay` means "this
|
|
178
|
+
* archetype's order-ish thing", and for `capture-leads` that thing is an
|
|
179
|
+
* enquiry. So these are inquiry statuses living in an order field, and the
|
|
180
|
+
* inbox reads its own list rather than this one — which is why the two
|
|
181
|
+
* could drift without anything failing.
|
|
182
|
+
*/
|
|
183
|
+
statusLabels: {
|
|
184
|
+
new: "New",
|
|
185
|
+
viewed: "Seen",
|
|
186
|
+
in_progress: "In progress",
|
|
187
|
+
waiting_response: "Waiting on them",
|
|
188
|
+
converted: "Converted",
|
|
189
|
+
resolved: "Resolved",
|
|
190
|
+
closed: "Closed",
|
|
191
|
+
spam: "Spam"
|
|
192
|
+
},
|
|
193
|
+
statusColors: {
|
|
194
|
+
new: "blue",
|
|
195
|
+
viewed: "purple",
|
|
196
|
+
in_progress: "yellow",
|
|
197
|
+
waiting_response: "orange",
|
|
198
|
+
converted: "green",
|
|
199
|
+
resolved: "green",
|
|
200
|
+
closed: "gray",
|
|
201
|
+
spam: "gray"
|
|
202
|
+
},
|
|
203
|
+
statusIcons: {
|
|
204
|
+
new: "MessageSquare",
|
|
205
|
+
viewed: "Eye",
|
|
206
|
+
in_progress: "Clock",
|
|
207
|
+
waiting_response: "Hourglass",
|
|
208
|
+
converted: "CircleCheckBig",
|
|
209
|
+
resolved: "CheckCircle",
|
|
210
|
+
closed: "XCircle",
|
|
211
|
+
spam: "Ban"
|
|
212
|
+
},
|
|
213
|
+
pageSubtitle: "Answer people, and follow up until they are business",
|
|
214
|
+
hideFulfillment: true,
|
|
215
|
+
hideShipping: true
|
|
216
|
+
},
|
|
217
|
+
behaviorFilter: {
|
|
218
|
+
include: "leadCapture"
|
|
219
|
+
},
|
|
220
|
+
editor: {
|
|
221
|
+
intrinsicBehaviors: [],
|
|
222
|
+
hiddenBehaviors: ["ticketed", "shippable", "rentable", "downloadable"],
|
|
223
|
+
labels: {
|
|
224
|
+
titlePlaceholder: "e.g. 3-bed flat, Lekki Phase 1"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
export {
|
|
229
|
+
captureLeadsConfig
|
|
230
|
+
};
|
|
231
|
+
//# sourceMappingURL=capture-leads.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/capture-leads.config.ts"],"sourcesContent":["import type { IntentConfig } from './types';\n\n/**\n * Enquire & Qualify — businesses whose whole model is the enquiry: estate\n * agents, insurance brokers, schools taking admissions, B2B services.\n *\n * Nothing is sold from a catalogue and nothing is checked out. The thing that\n * arrives is a person asking a question, and the work is answering, qualifying\n * and following up until it becomes business elsewhere — a viewing, a policy,\n * a place, a contract.\n *\n * The loop exists end to end and nothing here builds it: the API has inquiries\n * with quote, follow-ups, stats and respond, and the Inquiries inbox is already\n * in the sidebar for everyone, deliberately ungated, because leads arrive\n * whether or not a merchant declared they wanted them.\n *\n * This comment used to claim that *every* storefront template ships a contact\n * form that feeds it. Counted rather than assumed, it was ten of the sixteen\n * built templates, and the misses included the portfolio — whose entire\n * conversion is a commission. Written from intent rather than from a grep,\n * which is the kind of claim worth checking before repeating.\n *\n * What was missing was a way to *say so* at onboarding. Without an intent,\n * these businesses landed on the generic commerce shell and were handed a\n * catalogue to fill and an Orders list that would never have a row in it.\n *\n * So: Orders is deliberately absent, exactly as it is for send-invoices. An\n * always-empty Orders list reads as broken software, not as an empty state.\n * The order entity labels still resolve for shared surfaces that ask for them\n * (analytics, exports).\n */\nexport const captureLeadsConfig: IntentConfig = {\n key: 'capture-leads',\n label: 'Enquiries',\n description:\n 'Take enquiries and qualify them — viewings, quotes, admissions, consultations',\n icon: 'MessageSquare',\n\n entities: {\n // What is listed is what the enquiry is *about* — a property, a policy, a\n // course — not something with a price and a buy button.\n item: { singular: 'Listing', plural: 'Listings' },\n order: { singular: 'Enquiry', plural: 'Enquiries' },\n /**\n * This does NOT name the Bookings row, and cannot.\n *\n * A pure `capture-leads` shell has no `bookable` behaviour, so there is no\n * bookings surface for the word to land on. Add `take-bookings` and the row\n * arrives as its own \"Appointments\" — because an estate agent doing\n * viewings and a clinic doing consultations are the same archetype pair,\n * and nothing here can tell them apart.\n *\n * Making `primary` win would be worse: it is whichever intent was ticked\n * first, so the sidebar's wording would depend on the order somebody\n * checked boxes at onboarding. `archetypeLabel` already refuses to do that,\n * falling back to the neutral noun wherever archetypes disagree.\n *\n * The merchant's own word is the resolution — typed once in Settings ›\n * Navigation, honoured by `moduleLabelFor`, and covered by \"an estate agent\n * can call the bookings row Viewings\" in build-nav-groups.test.ts. This\n * entry stays because it is the right noun for this archetype's vocabulary\n * on the surfaces that do ask it, not because it names a screen.\n */\n booking: { singular: 'Viewing', plural: 'Viewings' },\n resource: { singular: 'Listing', plural: 'Listings' },\n },\n\n navigation: {\n groups: [\n {\n key: 'catalog',\n label: 'Catalog',\n items: [\n {\n id: 'catalog',\n label: 'Listings',\n href: '/dashboard/catalog',\n icon: 'FileText',\n },\n {\n id: 'collections',\n label: 'Collections',\n href: '/dashboard/collections',\n icon: 'FolderOpen',\n generic: true,\n },\n ],\n },\n {\n key: 'pipeline',\n label: 'Pipeline',\n items: [\n {\n // The primary work surface, so not `generic`: hiding it would\n // leave the merchant with nowhere to do the only job they have.\n id: 'inquiries',\n label: 'Enquiries',\n href: '/dashboard/inbox',\n icon: 'MessageSquare',\n },\n ],\n },\n ],\n },\n\n pages: [],\n\n pageSections: {\n orderDetail: [],\n orderList: {\n columns: [\n { key: 'customer', label: 'Enquirer' },\n { key: 'status', label: 'Stage' },\n { key: 'createdAt', label: 'Received' },\n ],\n filters: [\n { key: 'status', label: 'Stage', type: 'select' },\n { key: 'dateRange', label: 'Received', type: 'dateRange' },\n ],\n actions: [\n { key: 'view', label: 'Open', icon: 'Eye', variant: 'secondary' },\n ],\n bulkActions: [\n {\n key: 'export-csv',\n label: 'Export CSV',\n icon: 'Download',\n variant: 'secondary',\n },\n ],\n },\n itemDetail: [\n 'item-header',\n 'pricing-info',\n 'media-gallery',\n 'seo-settings',\n ],\n itemList: {\n columns: [\n { key: 'product', label: 'Listing' },\n { key: 'status', label: 'Status' },\n ],\n filters: [{ key: 'status', label: 'Status', type: 'select' }],\n stats: [\n {\n key: 'total',\n label: 'Total listings',\n dataKey: 'total',\n format: 'number',\n icon: 'FileText',\n },\n {\n key: 'active',\n label: 'Live',\n dataKey: 'active',\n format: 'number',\n icon: 'CheckCircle',\n },\n ],\n // Nothing is stocked — a listing is information, not units on a shelf.\n trackInventory: false,\n searchPlaceholder: 'Search listings...',\n },\n },\n\n dashboard: {\n quickActions: [\n {\n key: 'view-inquiries',\n label: 'Open enquiries',\n icon: 'MessageSquare',\n href: '/dashboard/inbox',\n variant: 'primary',\n },\n {\n key: 'add-listing',\n label: 'Add listing',\n icon: 'Plus',\n href: '/dashboard/catalog/new',\n variant: 'secondary',\n },\n ],\n },\n\n emptyStates: {\n orders: {\n title: 'No enquiries yet',\n description:\n 'Your contact form feeds this inbox. The first enquiry lands here.',\n actionLabel: 'Open enquiries',\n actionHref: '/dashboard/inbox',\n },\n items: {\n title: 'No listings yet',\n description: 'Add what people will be enquiring about.',\n actionLabel: 'Add listing',\n actionHref: '/dashboard/catalog/new',\n },\n customers: {\n title: 'No contacts yet',\n description: 'People appear here once they enquire.',\n actionLabel: 'Open enquiries',\n actionHref: '/dashboard/inbox',\n },\n },\n\n orderDisplay: {\n // Mirrors InquiryStatus in the API's inquiry.entity.ts, so a stage shown\n // here is a stage the backend can actually be in.\n /**\n * The eight states an enquiry can be in, matching `InquiryStatus` exactly.\n *\n * `viewed` reads **Seen**, which is the word the inbox itself uses. It said\n * \"Viewed\" here and \"Seen\" on the screen — one state, two words, in two\n * files describing the same list.\n *\n * Worth knowing what this copy is for: `orderDisplay` means \"this\n * archetype's order-ish thing\", and for `capture-leads` that thing is an\n * enquiry. So these are inquiry statuses living in an order field, and the\n * inbox reads its own list rather than this one — which is why the two\n * could drift without anything failing.\n */\n statusLabels: {\n new: 'New',\n viewed: 'Seen',\n in_progress: 'In progress',\n waiting_response: 'Waiting on them',\n converted: 'Converted',\n resolved: 'Resolved',\n closed: 'Closed',\n spam: 'Spam',\n },\n statusColors: {\n new: 'blue',\n viewed: 'purple',\n in_progress: 'yellow',\n waiting_response: 'orange',\n converted: 'green',\n resolved: 'green',\n closed: 'gray',\n spam: 'gray',\n },\n statusIcons: {\n new: 'MessageSquare',\n viewed: 'Eye',\n in_progress: 'Clock',\n waiting_response: 'Hourglass',\n converted: 'CircleCheckBig',\n resolved: 'CheckCircle',\n closed: 'XCircle',\n spam: 'Ban',\n },\n pageSubtitle: 'Answer people, and follow up until they are business',\n hideFulfillment: true,\n hideShipping: true,\n },\n\n behaviorFilter: {\n include: 'leadCapture',\n },\n\n editor: {\n intrinsicBehaviors: [],\n hiddenBehaviors: ['ticketed', 'shippable', 'rentable', 'downloadable'],\n labels: {\n titlePlaceholder: 'e.g. 3-bed flat, Lekki Phase 1',\n },\n },\n};\n"],"mappings":"AA+BO,MAAM,qBAAmC;AAAA,EAC9C,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,MAAM;AAAA,EAEN,UAAU;AAAA;AAAA;AAAA,IAGR,MAAM,EAAE,UAAU,WAAW,QAAQ,WAAW;AAAA,IAChD,OAAO,EAAE,UAAU,WAAW,QAAQ,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBlD,SAAS,EAAE,UAAU,WAAW,QAAQ,WAAW;AAAA,IACnD,UAAU,EAAE,UAAU,WAAW,QAAQ,WAAW;AAAA,EACtD;AAAA,EAEA,YAAY;AAAA,IACV,QAAQ;AAAA,MACN;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,YACN,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,OAAO;AAAA,UACL;AAAA;AAAA;AAAA,YAGE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,CAAC;AAAA,EAER,cAAc;AAAA,IACZ,aAAa,CAAC;AAAA,IACd,WAAW;AAAA,MACT,SAAS;AAAA,QACP,EAAE,KAAK,YAAY,OAAO,WAAW;AAAA,QACrC,EAAE,KAAK,UAAU,OAAO,QAAQ;AAAA,QAChC,EAAE,KAAK,aAAa,OAAO,WAAW;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,QACP,EAAE,KAAK,UAAU,OAAO,SAAS,MAAM,SAAS;AAAA,QAChD,EAAE,KAAK,aAAa,OAAO,YAAY,MAAM,YAAY;AAAA,MAC3D;AAAA,MACA,SAAS;AAAA,QACP,EAAE,KAAK,QAAQ,OAAO,QAAQ,MAAM,OAAO,SAAS,YAAY;AAAA,MAClE;AAAA,MACA,aAAa;AAAA,QACX;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,MAAM;AAAA,UACN,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,QACP,EAAE,KAAK,WAAW,OAAO,UAAU;AAAA,QACnC,EAAE,KAAK,UAAU,OAAO,SAAS;AAAA,MACnC;AAAA,MACA,SAAS,CAAC,EAAE,KAAK,UAAU,OAAO,UAAU,MAAM,SAAS,CAAC;AAAA,MAC5D,OAAO;AAAA,QACL;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,MAAM;AAAA,QACR;AAAA,QACA;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,MAAM;AAAA,QACR;AAAA,MACF;AAAA;AAAA,MAEA,gBAAgB;AAAA,MAChB,mBAAmB;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,WAAW;AAAA,IACT,cAAc;AAAA,MACZ;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,aAAa;AAAA,IACX,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,MACF,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,aAAa;AAAA,MACb,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EAEA,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBZ,cAAc;AAAA,MACZ,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,MACZ,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,IACA,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,cAAc;AAAA,EAChB;AAAA,EAEA,gBAAgB;AAAA,IACd,SAAS;AAAA,EACX;AAAA,EAEA,QAAQ;AAAA,IACN,oBAAoB,CAAC;AAAA,IACrB,iBAAiB,CAAC,YAAY,aAAa,YAAY,cAAc;AAAA,IACrE,QAAQ;AAAA,MACN,kBAAkB;AAAA,IACpB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ColumnDef, IntentConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Whether this business tracks stock at all, and the column that shows it.
|
|
4
|
+
*
|
|
5
|
+
* The catalogue read `primary.pageSections.itemList` — the archetype the
|
|
6
|
+
* merchant listed first. Only `sell-products` sets `trackInventory`, so every
|
|
7
|
+
* business that sells physical goods **alongside** something it named first
|
|
8
|
+
* lost stock entirely: no "3 left", no out-of-stock badge, and the stock filter
|
|
9
|
+
* silently dropped from the query.
|
|
10
|
+
*
|
|
11
|
+
* That is seven of the sixteen multi-archetype shapes in the walkthrough. A
|
|
12
|
+
* salon with a retail shelf, a gym selling kit, a photographer selling prints,
|
|
13
|
+
* a musician selling records — each with one catalogue holding stocked and
|
|
14
|
+
* unstocked things, and the stocked half unable to say it was running out.
|
|
15
|
+
*
|
|
16
|
+
* The page-level flag asks "does this business hold stock anywhere". The
|
|
17
|
+
* per-product `trackInventory` still decides each row: a download sitting next to
|
|
18
|
+
* a print shows "Always on" as it always did, because the badge is gated on
|
|
19
|
+
* both.
|
|
20
|
+
*/
|
|
21
|
+
export declare function tracksInventory(configs: IntentConfig[]): boolean;
|
|
22
|
+
export declare function resolveCatalogColumns(configs: IntentConfig[], primary: IntentConfig): ColumnDef[];
|
|
23
|
+
/**
|
|
24
|
+
* What the catalogue's search box says it will search.
|
|
25
|
+
*
|
|
26
|
+
* `primary.pageSections.itemList.searchPlaceholder` — so a clinic with
|
|
27
|
+
* appointments, care plans and a dispensary read **"Search services…"** over a
|
|
28
|
+
* list holding services and dispensary stock. A photographer read it over
|
|
29
|
+
* services, downloads and prints.
|
|
30
|
+
*
|
|
31
|
+
* The archetype's own words are right the moment the shelf is actually showing
|
|
32
|
+
* one archetype, which is what the filter chips are for. Narrowed to one, the
|
|
33
|
+
* box says what that chip holds. Showing everything, it names the screen —
|
|
34
|
+
* because that is what it will search.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveCatalogSearchPlaceholder(configs: {
|
|
37
|
+
key: string;
|
|
38
|
+
pageSections: {
|
|
39
|
+
itemList: {
|
|
40
|
+
searchPlaceholder?: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
}[], activeKeys: string[], screenTitle: string): string | undefined;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
function tracksInventory(configs) {
|
|
2
|
+
return configs.some(
|
|
3
|
+
(config) => config.pageSections.itemList.trackInventory ?? false
|
|
4
|
+
);
|
|
5
|
+
}
|
|
6
|
+
function catalogContributors(configs) {
|
|
7
|
+
return configs.filter(
|
|
8
|
+
(config) => config.key === "event-tickets" || config.navigation.groups.some(
|
|
9
|
+
(group) => group.items.some(
|
|
10
|
+
(item) => item.id === "catalog" && item.href.split("?")[0] === "/dashboard/catalog"
|
|
11
|
+
)
|
|
12
|
+
)
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
function resolveCatalogColumns(configs, primary) {
|
|
16
|
+
const contributors = catalogContributors(configs);
|
|
17
|
+
const source = contributors.includes(primary) ? primary : contributors[0] ?? primary;
|
|
18
|
+
const columns = source.pageSections.itemList.columns;
|
|
19
|
+
if (!tracksInventory(configs)) return columns;
|
|
20
|
+
if (columns.some((column) => column.key === "available")) return columns;
|
|
21
|
+
const tracking = configs.find(
|
|
22
|
+
(config) => config.pageSections.itemList.trackInventory
|
|
23
|
+
);
|
|
24
|
+
const available = tracking?.pageSections.itemList.columns.find(
|
|
25
|
+
(column) => column.key === "available"
|
|
26
|
+
);
|
|
27
|
+
if (!available) return columns;
|
|
28
|
+
const at = columns.findIndex((column) => column.key === "status");
|
|
29
|
+
if (at === -1) return [...columns, available];
|
|
30
|
+
return [...columns.slice(0, at), available, ...columns.slice(at)];
|
|
31
|
+
}
|
|
32
|
+
function resolveCatalogSearchPlaceholder(configs, activeKeys, screenTitle) {
|
|
33
|
+
const narrowed = activeKeys.length === 1 ? configs.find((config) => config.key === activeKeys[0]) : void 0;
|
|
34
|
+
if (narrowed) return narrowed.pageSections.itemList.searchPlaceholder;
|
|
35
|
+
if (configs.length > 1) return `Search ${screenTitle.toLowerCase()}`;
|
|
36
|
+
return configs[0]?.pageSections.itemList.searchPlaceholder;
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
resolveCatalogColumns,
|
|
40
|
+
resolveCatalogSearchPlaceholder,
|
|
41
|
+
tracksInventory
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=catalog-stock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/intents/catalog-stock.ts"],"sourcesContent":["import type { ColumnDef, IntentConfig } from './types';\n\n/**\n * Whether this business tracks stock at all, and the column that shows it.\n *\n * The catalogue read `primary.pageSections.itemList` — the archetype the\n * merchant listed first. Only `sell-products` sets `trackInventory`, so every\n * business that sells physical goods **alongside** something it named first\n * lost stock entirely: no \"3 left\", no out-of-stock badge, and the stock filter\n * silently dropped from the query.\n *\n * That is seven of the sixteen multi-archetype shapes in the walkthrough. A\n * salon with a retail shelf, a gym selling kit, a photographer selling prints,\n * a musician selling records — each with one catalogue holding stocked and\n * unstocked things, and the stocked half unable to say it was running out.\n *\n * The page-level flag asks \"does this business hold stock anywhere\". The\n * per-product `trackInventory` still decides each row: a download sitting next to\n * a print shows \"Always on\" as it always did, because the badge is gated on\n * both.\n */\nexport function tracksInventory(configs: IntentConfig[]): boolean {\n return configs.some(\n (config) => config.pageSections.itemList.trackInventory ?? false,\n );\n}\n\n/**\n * The primary archetype's columns, plus what is left is one number.\n *\n * Not the union: `sell-products` carries five stock columns (sku, quantity,\n * reserved, available, lowThreshold) and `take-bookings` carries duration, so\n * unioning gives a photographer a nine-column table where most cells are empty\n * for most rows.\n *\n * `available` is the one a merchant acts on — it is what \"3 left\" means — so\n * it joins the primary's columns when any archetype tracks stock, and the rest\n * stay where they belong, behind the chip that narrows to them.\n */\n/**\n * The archetypes whose catalogue IS this screen.\n *\n * Not every archetype that names a catalogue puts rows in `/dashboard/catalog`.\n * `subscriptions` calls its own `Plans` and points it at\n * `/dashboard/subscriptions`, and a plan is a `merchant_plans` row — a\n * different table from `content`, so it can never appear on the inventory\n * list.\n *\n * That matters because `primary` is whichever archetype last rode an\n * `?intent=` into sessionStorage, and every Back button out of a product\n * detail pushes a bare `/dashboard/catalog`. So a gym that had just looked at\n * its memberships came back to a shelf of services and kit whose columns were\n * chosen by an archetype with nothing on the shelf — and the services lost\n * their **duration** column, because `subscriptions` does not declare one.\n */\nfunction catalogContributors(configs: IntentConfig[]): IntentConfig[] {\n return configs.filter(\n (config) =>\n config.key === 'event-tickets' ||\n config.navigation.groups.some((group) =>\n group.items.some(\n (item) =>\n item.id === 'catalog' &&\n item.href.split('?')[0] === '/dashboard/catalog',\n ),\n ),\n );\n}\n\nexport function resolveCatalogColumns(\n configs: IntentConfig[],\n primary: IntentConfig,\n): ColumnDef[] {\n /*\n * `primary` only when it is actually on this shelf; otherwise the first\n * archetype that is. Falling back to `primary` when nothing contributes\n * keeps a single-archetype business and the default shop exactly as they\n * were — there is no better answer than the one they had.\n */\n const contributors = catalogContributors(configs);\n const source = contributors.includes(primary)\n ? primary\n : (contributors[0] ?? primary);\n const columns = source.pageSections.itemList.columns;\n if (!tracksInventory(configs)) return columns;\n if (columns.some((column) => column.key === 'available')) return columns;\n\n const tracking = configs.find(\n (config) => config.pageSections.itemList.trackInventory,\n );\n const available = tracking?.pageSections.itemList.columns.find(\n (column) => column.key === 'available',\n );\n if (!available) return columns;\n\n // Before status, which reads as the end of a row.\n const at = columns.findIndex((column) => column.key === 'status');\n if (at === -1) return [...columns, available];\n return [...columns.slice(0, at), available, ...columns.slice(at)];\n}\n\n/**\n * What the catalogue's search box says it will search.\n *\n * `primary.pageSections.itemList.searchPlaceholder` — so a clinic with\n * appointments, care plans and a dispensary read **\"Search services…\"** over a\n * list holding services and dispensary stock. A photographer read it over\n * services, downloads and prints.\n *\n * The archetype's own words are right the moment the shelf is actually showing\n * one archetype, which is what the filter chips are for. Narrowed to one, the\n * box says what that chip holds. Showing everything, it names the screen —\n * because that is what it will search.\n */\nexport function resolveCatalogSearchPlaceholder(\n configs: {\n key: string;\n pageSections: { itemList: { searchPlaceholder?: string } };\n }[],\n activeKeys: string[],\n screenTitle: string,\n): string | undefined {\n const narrowed =\n activeKeys.length === 1\n ? configs.find((config) => config.key === activeKeys[0])\n : undefined;\n\n if (narrowed) return narrowed.pageSections.itemList.searchPlaceholder;\n if (configs.length > 1) return `Search ${screenTitle.toLowerCase()}`;\n return configs[0]?.pageSections.itemList.searchPlaceholder;\n}\n"],"mappings":"AAqBO,SAAS,gBAAgB,SAAkC;AAChE,SAAO,QAAQ;AAAA,IACb,CAAC,WAAW,OAAO,aAAa,SAAS,kBAAkB;AAAA,EAC7D;AACF;AA8BA,SAAS,oBAAoB,SAAyC;AACpE,SAAO,QAAQ;AAAA,IACb,CAAC,WACC,OAAO,QAAQ,mBACf,OAAO,WAAW,OAAO;AAAA,MAAK,CAAC,UAC7B,MAAM,MAAM;AAAA,QACV,CAAC,SACC,KAAK,OAAO,aACZ,KAAK,KAAK,MAAM,GAAG,EAAE,CAAC,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,EACJ;AACF;AAEO,SAAS,sBACd,SACA,SACa;AAOb,QAAM,eAAe,oBAAoB,OAAO;AAChD,QAAM,SAAS,aAAa,SAAS,OAAO,IACxC,UACC,aAAa,CAAC,KAAK;AACxB,QAAM,UAAU,OAAO,aAAa,SAAS;AAC7C,MAAI,CAAC,gBAAgB,OAAO,EAAG,QAAO;AACtC,MAAI,QAAQ,KAAK,CAAC,WAAW,OAAO,QAAQ,WAAW,EAAG,QAAO;AAEjE,QAAM,WAAW,QAAQ;AAAA,IACvB,CAAC,WAAW,OAAO,aAAa,SAAS;AAAA,EAC3C;AACA,QAAM,YAAY,UAAU,aAAa,SAAS,QAAQ;AAAA,IACxD,CAAC,WAAW,OAAO,QAAQ;AAAA,EAC7B;AACA,MAAI,CAAC,UAAW,QAAO;AAGvB,QAAM,KAAK,QAAQ,UAAU,CAAC,WAAW,OAAO,QAAQ,QAAQ;AAChE,MAAI,OAAO,GAAI,QAAO,CAAC,GAAG,SAAS,SAAS;AAC5C,SAAO,CAAC,GAAG,QAAQ,MAAM,GAAG,EAAE,GAAG,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC;AAClE;AAeO,SAAS,gCACd,SAIA,YACA,aACoB;AACpB,QAAM,WACJ,WAAW,WAAW,IAClB,QAAQ,KAAK,CAAC,WAAW,OAAO,QAAQ,WAAW,CAAC,CAAC,IACrD;AAEN,MAAI,SAAU,QAAO,SAAS,aAAa,SAAS;AACpD,MAAI,QAAQ,SAAS,EAAG,QAAO,UAAU,YAAY,YAAY,CAAC;AAClE,SAAO,QAAQ,CAAC,GAAG,aAAa,SAAS;AAC3C;","names":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A multi-archetype business is one business, not several sharing a login.
|
|
3
|
+
*
|
|
4
|
+
* The sidebar builds one group per archetype. That is right for the work only
|
|
5
|
+
* one archetype does — Reservations, Tables, Tabs, Waitlist — and wrong for
|
|
6
|
+
* everything they have in common. A place that seats guests, does takeaway and
|
|
7
|
+
* sells its sauce got two items both called "Menu" and three called some
|
|
8
|
+
* variant of "Orders", each pointing at the same screen with a different
|
|
9
|
+
* `?intent=`.
|
|
10
|
+
*
|
|
11
|
+
* Items declare what they manage via `shares`. Anything several archetypes
|
|
12
|
+
* contribute is emitted once, unscoped — which reads as "all of it". Narrowing
|
|
13
|
+
* still exists on the screen itself: Catalog and Orders already render an
|
|
14
|
+
* intent switcher, so the repeated nav entries were duplicating a control the
|
|
15
|
+
* merchant already had in front of them.
|
|
16
|
+
*/
|
|
17
|
+
export interface ShareableNavItem {
|
|
18
|
+
id: string;
|
|
19
|
+
label: string;
|
|
20
|
+
/** What this manages, in the merchant's words. Absent = archetype-only. */
|
|
21
|
+
shares?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* What to call a destination once several archetypes share it.
|
|
25
|
+
*
|
|
26
|
+
* Picking one archetype's wording would be arbitrary — a combined restaurant
|
|
27
|
+
* would read "Kitchen Orders" for its dine-in covers, or "Product Orders" for
|
|
28
|
+
* its food. These are the plain nouns that stay true whichever mix is on.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SHARED_LABELS: Record<string, string>;
|
|
31
|
+
export interface CollapsedNavItem {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
/** The archetype this item is scoped to, or null when it covers them all. */
|
|
35
|
+
intentKey: string | null;
|
|
36
|
+
/** Every archetype feeding this entry — one unless it was collapsed. */
|
|
37
|
+
contributedBy: string[];
|
|
38
|
+
}
|
|
39
|
+
/** What the sidebar needs to know about one archetype's one nav item. */
|
|
40
|
+
export interface NavDecision {
|
|
41
|
+
/** False when an earlier archetype already emitted this shared entry. */
|
|
42
|
+
emit: boolean;
|
|
43
|
+
/** The wording to show: the shared noun when collapsed, the item's own otherwise. */
|
|
44
|
+
label: string;
|
|
45
|
+
/** True when this entry stands for more than one archetype, so it must not be scoped. */
|
|
46
|
+
unscoped: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* True when the label is the generic noun rather than any archetype's own —
|
|
49
|
+
* the archetypes behind this row disagreed about what to call it. The row's
|
|
50
|
+
* glyph has to be generic too, or a row named "Catalog" wears the spanner
|
|
51
|
+
* that belongs to Services.
|
|
52
|
+
*/
|
|
53
|
+
neutral: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** Stable key for one item within one archetype. */
|
|
56
|
+
export declare function navDecisionKey(definitionKey: string, itemId: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Decide, for every item of every archetype, whether it survives collapsing and
|
|
59
|
+
* what it should be called.
|
|
60
|
+
*
|
|
61
|
+
* This is the single implementation. The sidebar renders from it and
|
|
62
|
+
* `collapseSharedNav` below reports it as a flat list for the tests that
|
|
63
|
+
* describe real businesses. It used to be written twice: once here, tested and
|
|
64
|
+
* called by nobody, and once inline in the sidebar, live and untested. Forty
|
|
65
|
+
* green tests were describing code that never ran.
|
|
66
|
+
*
|
|
67
|
+
* `single` mode decides nothing: with one archetype there is nothing to
|
|
68
|
+
* collapse, and its own wording ("Kitchen Orders" for a takeaway kitchen) is
|
|
69
|
+
* better than the generic noun.
|
|
70
|
+
*/
|
|
71
|
+
export declare function decideSharedNav(definitions: Array<{
|
|
72
|
+
key: string;
|
|
73
|
+
items: ShareableNavItem[];
|
|
74
|
+
}>, mode: 'single' | 'multi'): Map<string, NavDecision>;
|
|
75
|
+
/**
|
|
76
|
+
* Which archetypes feed the unscoped row for `itemId`.
|
|
77
|
+
*
|
|
78
|
+
* A collapsed row means "all of the ones behind it", and the screen it opens
|
|
79
|
+
* has to be able to say WHICH — asking for no intent at all is how a combined
|
|
80
|
+
* restaurant's Menu ended up listing its subscription plans, because "don't
|
|
81
|
+
* narrow to one" was implemented as "don't narrow at all".
|
|
82
|
+
*
|
|
83
|
+
* Empty when no unscoped row exists for the id.
|
|
84
|
+
*/
|
|
85
|
+
export declare function unscopedContributors(definitions: Array<{
|
|
86
|
+
key: string;
|
|
87
|
+
items: ShareableNavItem[];
|
|
88
|
+
}>, itemId: string): string[];
|
|
89
|
+
/**
|
|
90
|
+
* The same decisions as a flat list of what the merchant ends up seeing.
|
|
91
|
+
*/
|
|
92
|
+
export declare function collapseSharedNav(definitions: Array<{
|
|
93
|
+
key: string;
|
|
94
|
+
items: ShareableNavItem[];
|
|
95
|
+
}>, mode: 'single' | 'multi'): CollapsedNavItem[];
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
const SHARED_LABELS = {
|
|
2
|
+
orders: "Orders",
|
|
3
|
+
// Separate from `orders` because it is a separate screen. Appointments and
|
|
4
|
+
// reservations both open /dashboard/bookings while every other archetype's
|
|
5
|
+
// sales item opens /dashboard/orders, so sharing one key made the two
|
|
6
|
+
// destinations compete and whichever archetype was registered first silently
|
|
7
|
+
// deleted the other from the sidebar. A golf club lost its tee sheet; a spa
|
|
8
|
+
// with a kitchen lost its kitchen queue. Which one vanished depended on the
|
|
9
|
+
// order of INTENT_NAV_DEFINITIONS, which is nobody's idea of a rule.
|
|
10
|
+
bookings: "Bookings",
|
|
11
|
+
// Menu, Services, Inventory, Digital Catalog, Event Listings, Properties and
|
|
12
|
+
// Listings are ONE key because they are one screen: every one of them
|
|
13
|
+
// resolves to /dashboard/catalog and differs only by `?intent=`. Seven rows
|
|
14
|
+
// for one destination is a filter wearing the clothes of navigation, and the
|
|
15
|
+
// filter now lives on the screen (`useIntentFilter`) where it belongs.
|
|
16
|
+
//
|
|
17
|
+
// The generic word only appears when the archetypes DISAGREE — a restaurant
|
|
18
|
+
// that seats guests and does takeaway still reads "Menu", because both of its
|
|
19
|
+
// archetypes say Menu and there is no dispute to settle.
|
|
20
|
+
catalogue: "Catalog",
|
|
21
|
+
// Separate because it is a separate SCREEN: subscriptions' catalog opens
|
|
22
|
+
// /dashboard/subscriptions, not /dashboard/catalog. Path, not noun, is what
|
|
23
|
+
// makes two rows two rows.
|
|
24
|
+
plans: "Plans",
|
|
25
|
+
invoices: "Invoices",
|
|
26
|
+
waitlist: "Waitlist",
|
|
27
|
+
// One entry per share key, including the ones where every archetype already
|
|
28
|
+
// agrees on the word: a share key with no entry here is indistinguishable
|
|
29
|
+
// from a typo'd one, and this map is where the reader looks to find out what
|
|
30
|
+
// keys exist. `abandoned` is gone from it because the row is gone from the
|
|
31
|
+
// archetypes — it is Marketing's now (2026-09-03), and a spine row shares
|
|
32
|
+
// nothing.
|
|
33
|
+
"calendar-sync": "Scheduling",
|
|
34
|
+
// Tables, courts, rooms and studios are all rows in the same resource pool.
|
|
35
|
+
// A golf club running dine-in and tee-times books both from one screen.
|
|
36
|
+
resources: "Resources",
|
|
37
|
+
inquiries: "Enquiries",
|
|
38
|
+
// One day board serves the whole business. A golf club running tee-times and
|
|
39
|
+
// a dining room has one floor to run at 7pm, not two.
|
|
40
|
+
today: "Today"
|
|
41
|
+
};
|
|
42
|
+
function navDecisionKey(definitionKey, itemId) {
|
|
43
|
+
return `${definitionKey}:${itemId}`;
|
|
44
|
+
}
|
|
45
|
+
function decideSharedNav(definitions, mode) {
|
|
46
|
+
const decisions = /* @__PURE__ */ new Map();
|
|
47
|
+
const claimedBy = /* @__PURE__ */ new Map();
|
|
48
|
+
for (const definition of definitions) {
|
|
49
|
+
for (const item of definition.items) {
|
|
50
|
+
const key = navDecisionKey(definition.key, item.id);
|
|
51
|
+
if (mode === "single" || !item.shares) {
|
|
52
|
+
decisions.set(key, {
|
|
53
|
+
emit: true,
|
|
54
|
+
label: item.label,
|
|
55
|
+
unscoped: mode === "single",
|
|
56
|
+
neutral: false
|
|
57
|
+
});
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const claimant = claimedBy.get(item.shares);
|
|
61
|
+
if (claimant) {
|
|
62
|
+
decisions.set(key, {
|
|
63
|
+
emit: false,
|
|
64
|
+
label: item.label,
|
|
65
|
+
unscoped: true,
|
|
66
|
+
neutral: false
|
|
67
|
+
});
|
|
68
|
+
const claimantKey = navDecisionKey(claimant, item.id);
|
|
69
|
+
const claimed = decisions.get(claimantKey);
|
|
70
|
+
if (claimed) claimed.unscoped = true;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
claimedBy.set(item.shares, definition.key);
|
|
74
|
+
decisions.set(key, {
|
|
75
|
+
emit: true,
|
|
76
|
+
label: SHARED_LABELS[item.shares] ?? item.label,
|
|
77
|
+
unscoped: false,
|
|
78
|
+
neutral: !!SHARED_LABELS[item.shares]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const emitted = [...claimedBy].flatMap(([shareKey, claimant]) => {
|
|
83
|
+
const decision = decisions.get(
|
|
84
|
+
navDecisionKey(
|
|
85
|
+
claimant,
|
|
86
|
+
definitions.find((d) => d.key === claimant).items.find((i) => i.shares === shareKey).id
|
|
87
|
+
)
|
|
88
|
+
);
|
|
89
|
+
return decision ? [{ shareKey, decision }] : [];
|
|
90
|
+
});
|
|
91
|
+
for (const { shareKey, decision } of emitted) {
|
|
92
|
+
const contributed = definitions.flatMap(
|
|
93
|
+
(d) => d.items.filter((i) => i.shares === shareKey).map((i) => i.label)
|
|
94
|
+
);
|
|
95
|
+
const counted = /* @__PURE__ */ new Map();
|
|
96
|
+
for (const label of contributed)
|
|
97
|
+
counted.set(label, (counted.get(label) ?? 0) + 1);
|
|
98
|
+
const [leader, votes] = [...counted].reduce(
|
|
99
|
+
(best, entry) => entry[1] > best[1] ? entry : best
|
|
100
|
+
);
|
|
101
|
+
if (votes * 2 > contributed.length) {
|
|
102
|
+
decision.label = leader;
|
|
103
|
+
decision.neutral = false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const counts = /* @__PURE__ */ new Map();
|
|
107
|
+
for (const decision of decisions.values())
|
|
108
|
+
if (decision.emit)
|
|
109
|
+
counts.set(decision.label, (counts.get(decision.label) ?? 0) + 1);
|
|
110
|
+
for (const { shareKey, decision } of emitted) {
|
|
111
|
+
if ((counts.get(decision.label) ?? 0) < 2) continue;
|
|
112
|
+
const generic = SHARED_LABELS[shareKey];
|
|
113
|
+
if (!generic || generic === decision.label) continue;
|
|
114
|
+
counts.set(decision.label, (counts.get(decision.label) ?? 1) - 1);
|
|
115
|
+
decision.label = generic;
|
|
116
|
+
decision.neutral = true;
|
|
117
|
+
}
|
|
118
|
+
return decisions;
|
|
119
|
+
}
|
|
120
|
+
function unscopedContributors(definitions, itemId) {
|
|
121
|
+
const decisions = decideSharedNav(definitions, "multi");
|
|
122
|
+
let shareKey;
|
|
123
|
+
for (const definition of definitions) {
|
|
124
|
+
for (const item of definition.items) {
|
|
125
|
+
if (item.id !== itemId) continue;
|
|
126
|
+
const decision = decisions.get(navDecisionKey(definition.key, item.id));
|
|
127
|
+
if (decision?.emit && decision.unscoped) shareKey = item.shares;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!shareKey) return [];
|
|
131
|
+
return definitions.filter(
|
|
132
|
+
(d) => d.items.some((i) => i.id === itemId && i.shares === shareKey)
|
|
133
|
+
).map((d) => d.key);
|
|
134
|
+
}
|
|
135
|
+
function collapseSharedNav(definitions, mode) {
|
|
136
|
+
const decisions = decideSharedNav(definitions, mode);
|
|
137
|
+
const out = [];
|
|
138
|
+
const bySharedKey = /* @__PURE__ */ new Map();
|
|
139
|
+
for (const definition of definitions) {
|
|
140
|
+
for (const item of definition.items) {
|
|
141
|
+
const decision = decisions.get(navDecisionKey(definition.key, item.id));
|
|
142
|
+
if (!decision) continue;
|
|
143
|
+
if (!decision.emit) {
|
|
144
|
+
const owner = item.shares ? bySharedKey.get(item.shares) : void 0;
|
|
145
|
+
if (owner) {
|
|
146
|
+
owner.contributedBy.push(definition.key);
|
|
147
|
+
owner.intentKey = null;
|
|
148
|
+
}
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const collapsed = {
|
|
152
|
+
id: item.id,
|
|
153
|
+
label: decision.label,
|
|
154
|
+
intentKey: mode === "multi" && !decision.unscoped ? definition.key : null,
|
|
155
|
+
contributedBy: [definition.key]
|
|
156
|
+
};
|
|
157
|
+
if (mode === "multi" && item.shares)
|
|
158
|
+
bySharedKey.set(item.shares, collapsed);
|
|
159
|
+
out.push(collapsed);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return out;
|
|
163
|
+
}
|
|
164
|
+
export {
|
|
165
|
+
SHARED_LABELS,
|
|
166
|
+
collapseSharedNav,
|
|
167
|
+
decideSharedNav,
|
|
168
|
+
navDecisionKey,
|
|
169
|
+
unscopedContributors
|
|
170
|
+
};
|
|
171
|
+
//# sourceMappingURL=collapse-shared-nav.js.map
|