@cellarnode/ui 0.206.0 → 0.208.0
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/agent/composer.d.ts.map +1 -1
- package/dist/agent/composer.js +63 -52
- package/dist/agent/composer.js.map +1 -1
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +4 -3
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/conversation.d.ts.map +1 -1
- package/dist/agent/conversation.js +12 -12
- package/dist/agent/conversation.js.map +1 -1
- package/dist/agent/dropzone.d.ts.map +1 -1
- package/dist/agent/dropzone.js +31 -32
- package/dist/agent/dropzone.js.map +1 -1
- package/dist/agent/markdown.js +4 -4
- package/dist/agent/markdown.js.map +1 -1
- package/dist/agent/mentions.d.ts.map +1 -1
- package/dist/agent/mentions.js +4 -2
- package/dist/agent/mentions.js.map +1 -1
- package/dist/agent/message.d.ts.map +1 -1
- package/dist/agent/message.js +2 -1
- package/dist/agent/message.js.map +1 -1
- package/dist/agent/quote-reply.d.ts.map +1 -1
- package/dist/agent/quote-reply.js +13 -7
- package/dist/agent/quote-reply.js.map +1 -1
- package/dist/agent/suggestions.d.ts.map +1 -1
- package/dist/agent/suggestions.js +12 -10
- package/dist/agent/suggestions.js.map +1 -1
- package/dist/brand/brand-assets-section.js +3 -3
- package/dist/brand/brand-assets-section.js.map +1 -1
- package/dist/brand/public-brand-profile.d.ts.map +1 -1
- package/dist/brand/public-brand-profile.js +3 -2
- package/dist/brand/public-brand-profile.js.map +1 -1
- package/dist/brand/use-brand-generation.d.ts.map +1 -1
- package/dist/brand/use-brand-generation.js +12 -7
- package/dist/brand/use-brand-generation.js.map +1 -1
- package/dist/brand/use-brand-image-operation-result.d.ts.map +1 -1
- package/dist/brand/use-brand-image-operation-result.js +26 -13
- package/dist/brand/use-brand-image-operation-result.js.map +1 -1
- package/dist/brand/use-brand-profile-acceptance.d.ts.map +1 -1
- package/dist/brand/use-brand-profile-acceptance.js +4 -2
- package/dist/brand/use-brand-profile-acceptance.js.map +1 -1
- package/dist/brand/use-brand-public-visibility.d.ts.map +1 -1
- package/dist/brand/use-brand-public-visibility.js +4 -2
- package/dist/brand/use-brand-public-visibility.js.map +1 -1
- package/dist/brand/use-org-scoped-state.d.ts.map +1 -1
- package/dist/brand/use-org-scoped-state.js +3 -6
- package/dist/brand/use-org-scoped-state.js.map +1 -1
- package/dist/chat/chat-composer.d.ts.map +1 -1
- package/dist/chat/chat-composer.js +92 -57
- package/dist/chat/chat-composer.js.map +1 -1
- package/dist/chat/chat-surface.d.ts.map +1 -1
- package/dist/chat/chat-surface.js +3 -3
- package/dist/chat/chat-surface.js.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
- package/dist/chat/messenger-screen/messenger-screen.js +12 -9
- package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
- package/dist/chat/messenger-screen/room-panel.js +3 -1
- package/dist/chat/messenger-screen/room-panel.js.map +1 -1
- package/dist/chat/use-stick-to-bottom.d.ts.map +1 -1
- package/dist/chat/use-stick-to-bottom.js +42 -19
- package/dist/chat/use-stick-to-bottom.js.map +1 -1
- package/dist/commercial-price/commercial-price-format.d.ts +2 -0
- package/dist/commercial-price/commercial-price-format.d.ts.map +1 -1
- package/dist/commercial-price/commercial-price-format.js +4 -0
- package/dist/commercial-price/commercial-price-format.js.map +1 -1
- package/dist/commercial-price/commercial-terms.d.ts.map +1 -1
- package/dist/commercial-price/commercial-terms.js +9 -1
- package/dist/commercial-price/commercial-terms.js.map +1 -1
- package/dist/components/animated-shadcn-select.d.ts +2 -1
- package/dist/components/animated-shadcn-select.d.ts.map +1 -1
- package/dist/components/animated-shadcn-select.js +1 -1
- package/dist/components/animated-shadcn-select.js.map +1 -1
- package/dist/components/api-error-message.d.ts +17 -0
- package/dist/components/api-error-message.d.ts.map +1 -0
- package/dist/components/api-error-message.js +13 -0
- package/dist/components/api-error-message.js.map +1 -0
- package/dist/components/attachment-row.d.ts.map +1 -1
- package/dist/components/attachment-row.js +9 -1
- package/dist/components/attachment-row.js.map +1 -1
- package/dist/components/branch-resolution-modal.d.ts +9 -1
- package/dist/components/branch-resolution-modal.d.ts.map +1 -1
- package/dist/components/branch-resolution-modal.js +11 -5
- package/dist/components/branch-resolution-modal.js.map +1 -1
- package/dist/components/certification-upload-card.d.ts +19 -1
- package/dist/components/certification-upload-card.d.ts.map +1 -1
- package/dist/components/certification-upload-card.js +35 -7
- package/dist/components/certification-upload-card.js.map +1 -1
- package/dist/components/composition-editor.d.ts +24 -1
- package/dist/components/composition-editor.d.ts.map +1 -1
- package/dist/components/composition-editor.js +65 -13
- package/dist/components/composition-editor.js.map +1 -1
- package/dist/components/copy-button.js +4 -4
- package/dist/components/copy-button.js.map +1 -1
- package/dist/components/currency-select.d.ts +11 -1
- package/dist/components/currency-select.d.ts.map +1 -1
- package/dist/components/currency-select.js +2 -2
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/file-dropzone.d.ts.map +1 -1
- package/dist/components/file-dropzone.js +4 -1
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/components/sortable-card-shell.js +3 -3
- package/dist/components/sortable-card-shell.js.map +1 -1
- package/dist/components/supporting-pane-layout.d.ts.map +1 -1
- package/dist/components/supporting-pane-layout.js +18 -14
- package/dist/components/supporting-pane-layout.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/invite-confirm/invite-confirm-page.js +3 -3
- package/dist/invite-confirm/invite-confirm-page.js.map +1 -1
- package/dist/invite-confirm/use-invite-confirm.d.ts.map +1 -1
- package/dist/invite-confirm/use-invite-confirm.js +5 -5
- package/dist/invite-confirm/use-invite-confirm.js.map +1 -1
- package/dist/lib/describe-api-error.d.ts +19 -0
- package/dist/lib/describe-api-error.d.ts.map +1 -0
- package/dist/lib/describe-api-error.js +228 -0
- package/dist/lib/describe-api-error.js.map +1 -0
- package/dist/lib/occurrence-keys.d.ts +5 -0
- package/dist/lib/occurrence-keys.d.ts.map +1 -0
- package/dist/lib/occurrence-keys.js +10 -0
- package/dist/lib/occurrence-keys.js.map +1 -0
- package/dist/markets/market-opportunities-table.d.ts.map +1 -1
- package/dist/markets/market-opportunities-table.js +14 -12
- package/dist/markets/market-opportunities-table.js.map +1 -1
- package/dist/mcp-connect/mcp-connect-panel.d.ts.map +1 -1
- package/dist/mcp-connect/mcp-connect-panel.js +9 -8
- package/dist/mcp-connect/mcp-connect-panel.js.map +1 -1
- package/dist/moderation/moderation-scope.js +4 -4
- package/dist/moderation/moderation-scope.js.map +1 -1
- package/dist/offer/counter-slide-over.d.ts +38 -12
- package/dist/offer/counter-slide-over.d.ts.map +1 -1
- package/dist/offer/counter-slide-over.js +130 -36
- package/dist/offer/counter-slide-over.js.map +1 -1
- package/dist/offer/facts-card.d.ts +3 -1
- package/dist/offer/facts-card.d.ts.map +1 -1
- package/dist/offer/facts-card.js +19 -10
- package/dist/offer/facts-card.js.map +1 -1
- package/dist/offer/index.d.ts +1 -1
- package/dist/offer/index.d.ts.map +1 -1
- package/dist/offer/index.js.map +1 -1
- package/dist/offer/negotiation-flow-timeline.d.ts.map +1 -1
- package/dist/offer/negotiation-flow-timeline.js +7 -4
- package/dist/offer/negotiation-flow-timeline.js.map +1 -1
- package/dist/offer/offer-document.d.ts.map +1 -1
- package/dist/offer/offer-document.js +8 -30
- package/dist/offer/offer-document.js.map +1 -1
- package/dist/offer/offer-product-record.d.ts.map +1 -1
- package/dist/offer/offer-product-record.js +7 -2
- package/dist/offer/offer-product-record.js.map +1 -1
- package/dist/offer/offered-product-props.d.ts +20 -0
- package/dist/offer/offered-product-props.d.ts.map +1 -0
- package/dist/offer/offered-product-props.js +42 -0
- package/dist/offer/offered-product-props.js.map +1 -0
- package/dist/offer/round-diff-banner.d.ts.map +1 -1
- package/dist/offer/round-diff-banner.js +6 -1
- package/dist/offer/round-diff-banner.js.map +1 -1
- package/dist/offer/terms-card.d.ts.map +1 -1
- package/dist/offer/terms-card.js +2 -0
- package/dist/offer/terms-card.js.map +1 -1
- package/dist/offer/timeline-event.d.ts.map +1 -1
- package/dist/offer/timeline-event.js +7 -4
- package/dist/offer/timeline-event.js.map +1 -1
- package/dist/offer/types.d.ts +4 -0
- package/dist/offer/types.d.ts.map +1 -1
- package/dist/opportunities/heading-level-context.d.ts.map +1 -1
- package/dist/opportunities/heading-level-context.js +1 -1
- package/dist/opportunities/heading-level-context.js.map +1 -1
- package/dist/opportunities/index.d.ts +5 -1
- package/dist/opportunities/index.d.ts.map +1 -1
- package/dist/opportunities/index.js +2 -0
- package/dist/opportunities/index.js.map +1 -1
- package/dist/opportunities/opportunity-add-to-journey-button.js +6 -6
- package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts +14 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts.map +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js +84 -4
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
- package/dist/opportunities/wizard/mixed-delivery-terms.d.ts +25 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.d.ts.map +1 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.js +33 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.js.map +1 -0
- package/dist/opportunities/wizard/opportunity-wizard.d.ts +18 -0
- package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -1
- package/dist/opportunities/wizard/opportunity-wizard.js +30 -63
- package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
- package/dist/opportunities/wizard/package-sizes-field.d.ts +13 -0
- package/dist/opportunities/wizard/package-sizes-field.d.ts.map +1 -0
- package/dist/opportunities/wizard/package-sizes-field.js +66 -0
- package/dist/opportunities/wizard/package-sizes-field.js.map +1 -0
- package/dist/opportunities/wizard/price-ranges-editor.d.ts +17 -0
- package/dist/opportunities/wizard/price-ranges-editor.d.ts.map +1 -0
- package/dist/opportunities/wizard/price-ranges-editor.js +84 -0
- package/dist/opportunities/wizard/price-ranges-editor.js.map +1 -0
- package/dist/opportunities/wizard/price-ranges.d.ts +54 -0
- package/dist/opportunities/wizard/price-ranges.d.ts.map +1 -0
- package/dist/opportunities/wizard/price-ranges.js +104 -0
- package/dist/opportunities/wizard/price-ranges.js.map +1 -0
- package/dist/opportunities/wizard/publish-issues.d.ts +32 -0
- package/dist/opportunities/wizard/publish-issues.d.ts.map +1 -0
- package/dist/opportunities/wizard/publish-issues.js +124 -0
- package/dist/opportunities/wizard/publish-issues.js.map +1 -0
- package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-opportunities.js +12 -7
- package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.d.ts +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.js +7 -9
- package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -1
- package/dist/opportunities/wizard/step-review.d.ts +19 -3
- package/dist/opportunities/wizard/step-review.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-review.js +58 -13
- package/dist/opportunities/wizard/step-review.js.map +1 -1
- package/dist/opportunities/wizard/wizard.types.d.ts +4 -4
- package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -1
- package/dist/opportunities/wizard/wizard.types.js +13 -6
- package/dist/opportunities/wizard/wizard.types.js.map +1 -1
- package/dist/opportunity-facts/build-opportunity-facts.d.ts.map +1 -1
- package/dist/opportunity-facts/build-opportunity-facts.js +11 -1
- package/dist/opportunity-facts/build-opportunity-facts.js.map +1 -1
- package/dist/opportunity-facts/glossary.en.d.ts +34 -0
- package/dist/opportunity-facts/glossary.en.d.ts.map +1 -1
- package/dist/opportunity-facts/glossary.en.js +34 -0
- package/dist/opportunity-facts/glossary.en.js.map +1 -1
- package/dist/opportunity-facts/index.d.ts +3 -1
- package/dist/opportunity-facts/index.d.ts.map +1 -1
- package/dist/opportunity-facts/index.js +2 -0
- package/dist/opportunity-facts/index.js.map +1 -1
- package/dist/opportunity-facts/labels.d.ts +38 -0
- package/dist/opportunity-facts/labels.d.ts.map +1 -1
- package/dist/opportunity-facts/labels.js +34 -0
- package/dist/opportunity-facts/labels.js.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts +9 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.js +21 -2
- package/dist/opportunity-facts/opportunity-fact-sheet.js.map +1 -1
- package/dist/opportunity-facts/price-cases-section.d.ts +18 -0
- package/dist/opportunity-facts/price-cases-section.d.ts.map +1 -0
- package/dist/opportunity-facts/price-cases-section.js +36 -0
- package/dist/opportunity-facts/price-cases-section.js.map +1 -0
- package/dist/opportunity-facts/price-cases.d.ts +5 -0
- package/dist/opportunity-facts/price-cases.d.ts.map +1 -0
- package/dist/opportunity-facts/price-cases.js +127 -0
- package/dist/opportunity-facts/price-cases.js.map +1 -0
- package/dist/opportunity-facts/source-document-download.d.ts +34 -0
- package/dist/opportunity-facts/source-document-download.d.ts.map +1 -0
- package/dist/opportunity-facts/source-document-download.js +91 -0
- package/dist/opportunity-facts/source-document-download.js.map +1 -0
- package/dist/opportunity-facts/types.d.ts +69 -0
- package/dist/opportunity-facts/types.d.ts.map +1 -1
- package/dist/org/invite-member-dialog.js +7 -7
- package/dist/org/invite-member-dialog.js.map +1 -1
- package/dist/org/team-management.js +5 -5
- package/dist/org/team-management.js.map +1 -1
- package/dist/portfolio/include-in-matching-toggle.js +4 -4
- package/dist/portfolio/include-in-matching-toggle.js.map +1 -1
- package/dist/portfolio-import/_internal/review-hydration.d.ts +29 -0
- package/dist/portfolio-import/_internal/review-hydration.d.ts.map +1 -0
- package/dist/portfolio-import/_internal/review-hydration.js +224 -0
- package/dist/portfolio-import/_internal/review-hydration.js.map +1 -0
- package/dist/portfolio-import/import-job-detail-view.d.ts +6 -0
- package/dist/portfolio-import/import-job-detail-view.d.ts.map +1 -1
- package/dist/portfolio-import/import-job-detail-view.js +27 -21
- package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
- package/dist/portfolio-import/import-job-panels.d.ts +1 -0
- package/dist/portfolio-import/import-job-panels.d.ts.map +1 -1
- package/dist/portfolio-import/import-job-panels.js +15 -13
- package/dist/portfolio-import/import-job-panels.js.map +1 -1
- package/dist/portfolio-import/index.d.ts +1 -1
- package/dist/portfolio-import/index.d.ts.map +1 -1
- package/dist/portfolio-import/review-queue-panel.d.ts +12 -1
- package/dist/portfolio-import/review-queue-panel.d.ts.map +1 -1
- package/dist/portfolio-import/review-queue-panel.js +137 -36
- package/dist/portfolio-import/review-queue-panel.js.map +1 -1
- package/dist/portfolio-import/session/import-job.d.ts.map +1 -1
- package/dist/portfolio-import/session/import-job.js +94 -22
- package/dist/portfolio-import/session/import-job.js.map +1 -1
- package/dist/portfolio-import/session/index.d.ts +2 -2
- package/dist/portfolio-import/session/index.d.ts.map +1 -1
- package/dist/portfolio-import/session/index.js +1 -1
- package/dist/portfolio-import/session/index.js.map +1 -1
- package/dist/portfolio-import/session/save-review-field.d.ts +29 -4
- package/dist/portfolio-import/session/save-review-field.d.ts.map +1 -1
- package/dist/portfolio-import/session/save-review-field.js +115 -30
- package/dist/portfolio-import/session/save-review-field.js.map +1 -1
- package/dist/portfolio-import/session/types.d.ts +49 -2
- package/dist/portfolio-import/session/types.d.ts.map +1 -1
- package/dist/portfolio-import/types.d.ts +13 -0
- package/dist/portfolio-import/types.d.ts.map +1 -1
- package/dist/portfolio-import/types.js.map +1 -1
- package/dist/portfolio-import/use-flagged-variants.d.ts +4 -0
- package/dist/portfolio-import/use-flagged-variants.d.ts.map +1 -1
- package/dist/portfolio-import/use-flagged-variants.js +46 -8
- package/dist/portfolio-import/use-flagged-variants.js.map +1 -1
- package/dist/product-editor/field-routing.d.ts +2 -1
- package/dist/product-editor/field-routing.d.ts.map +1 -1
- package/dist/product-editor/field-routing.js +9 -1
- package/dist/product-editor/field-routing.js.map +1 -1
- package/dist/product-editor/index.d.ts +1 -1
- package/dist/product-editor/index.d.ts.map +1 -1
- package/dist/product-editor/index.js.map +1 -1
- package/dist/product-editor/product-editor-form.d.ts +37 -2
- package/dist/product-editor/product-editor-form.d.ts.map +1 -1
- package/dist/product-editor/product-editor-form.js +96 -3
- package/dist/product-editor/product-editor-form.js.map +1 -1
- package/dist/product-editor/product-editor-surface.d.ts.map +1 -1
- package/dist/product-editor/product-editor-surface.js +2 -4
- package/dist/product-editor/product-editor-surface.js.map +1 -1
- package/dist/product-editor/product-editor.d.ts.map +1 -1
- package/dist/product-editor/product-editor.js +17 -6
- package/dist/product-editor/product-editor.js.map +1 -1
- package/dist/product-editor/schema.d.ts +20 -0
- package/dist/product-editor/schema.d.ts.map +1 -1
- package/dist/product-editor/schema.js +70 -0
- package/dist/product-editor/schema.js.map +1 -1
- package/dist/product-editor/tabs/product-composition-section.d.ts +26 -0
- package/dist/product-editor/tabs/product-composition-section.d.ts.map +1 -0
- package/dist/product-editor/tabs/product-composition-section.js +47 -0
- package/dist/product-editor/tabs/product-composition-section.js.map +1 -0
- package/dist/product-editor/tabs/product-essentials-details-sections.d.ts +4 -2
- package/dist/product-editor/tabs/product-essentials-details-sections.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-essentials-details-sections.js +4 -2
- package/dist/product-editor/tabs/product-essentials-details-sections.js.map +1 -1
- package/dist/product-editor/tabs/product-essentials-tab.d.ts +4 -2
- package/dist/product-editor/tabs/product-essentials-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-essentials-tab.js +2 -2
- package/dist/product-editor/tabs/product-essentials-tab.js.map +1 -1
- package/dist/product-editor/tabs/product-production-capacity-field.d.ts +23 -0
- package/dist/product-editor/tabs/product-production-capacity-field.d.ts.map +1 -0
- package/dist/product-editor/tabs/product-production-capacity-field.js +57 -0
- package/dist/product-editor/tabs/product-production-capacity-field.js.map +1 -0
- package/dist/product-editor/tabs/product-resources-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-resources-tab.js +1 -1
- package/dist/product-editor/tabs/product-resources-tab.js.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.js +70 -63
- package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
- package/dist/product-editor/types.d.ts +61 -4
- package/dist/product-editor/types.d.ts.map +1 -1
- package/dist/profile/account-edit-form.d.ts.map +1 -1
- package/dist/profile/account-edit-form.js +45 -33
- package/dist/profile/account-edit-form.js.map +1 -1
- package/dist/profile/account-preferences-card.js +3 -3
- package/dist/profile/account-preferences-card.js.map +1 -1
- package/dist/profile/api-keys/api-key-secret-reveal.js +4 -4
- package/dist/profile/api-keys/api-key-secret-reveal.js.map +1 -1
- package/dist/profile/api-keys/create-api-key-dialog.js +3 -3
- package/dist/profile/api-keys/create-api-key-dialog.js.map +1 -1
- package/dist/profile/api-keys/profile-keys-section.js +7 -7
- package/dist/profile/api-keys/profile-keys-section.js.map +1 -1
- package/dist/profile/importer-profile-view.d.ts.map +1 -1
- package/dist/profile/importer-profile-view.js +6 -1
- package/dist/profile/importer-profile-view.js.map +1 -1
- package/dist/profile/subscription-card.d.ts.map +1 -1
- package/dist/profile/subscription-card.js +2 -1
- package/dist/profile/subscription-card.js.map +1 -1
- package/dist/upload-link/upload-link-page.js +3 -3
- package/dist/upload-link/upload-link-page.js.map +1 -1
- package/package.json +1 -1
|
@@ -46,6 +46,24 @@ export interface OpportunityWizardProps {
|
|
|
46
46
|
* same autosave path as other tender fields.
|
|
47
47
|
*/
|
|
48
48
|
priceTypesContext?: OpportunityWizardPriceTypesContext;
|
|
49
|
+
/**
|
|
50
|
+
* CEL-2634 (opt-in, default OFF): when the opportunities carry different allowed terms, replace
|
|
51
|
+
* the pricing step's tender-level picker with a read-only per-opportunity list and an explicit
|
|
52
|
+
* "Replace on all opportunities" confirm. With it off the pricing step behaves exactly as before.
|
|
53
|
+
* The Review step shows the per-opportunity terms either way, because "no constraint" would be
|
|
54
|
+
* wrong there.
|
|
55
|
+
*/
|
|
56
|
+
mixedTermsPicker?: boolean;
|
|
57
|
+
/** Fires once the importer confirms "Replace on all opportunities" (only with `mixedTermsPicker`). */
|
|
58
|
+
onReplaceAllConfirmed?: () => void;
|
|
59
|
+
/**
|
|
60
|
+
* For a consumer that HOLDS BACK a tender-level terms change (the importer's CEL-2622 flow) and so does not
|
|
61
|
+
* use `mixedTermsPicker`: set true once the replacement has actually been saved. Until then, when the picker is
|
|
62
|
+
* EMPTY (nothing picked, or ticked and unticked again) Review keeps listing each opportunity's own saved terms,
|
|
63
|
+
* because those are what will be saved. A terms list that is currently picked still shows as picked. With
|
|
64
|
+
* `mixedTermsPicker` the wizard tracks the replacement itself.
|
|
65
|
+
*/
|
|
66
|
+
mixedTermsReplaced?: boolean;
|
|
49
67
|
/** Fired when user cancels / closes the wizard. */
|
|
50
68
|
onClose: () => void;
|
|
51
69
|
/** Fired after a successful publish (caller navigates to the new tender). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opportunity-wizard.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opportunity-wizard.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EAGhB,KAAK,yBAAyB,EAG/B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAAC;AA0BrD;;;;;;;;GAQG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9E,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,EAAE,CACT,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,kCAAkC,CAAC;IAEvD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sGAAsG;IACtG,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAk7B9D"}
|
|
@@ -5,7 +5,9 @@ import { WizardStepper } from "./wizard-stepper.js";
|
|
|
5
5
|
import { StepTenderBasics } from "./step-tender-basics.js";
|
|
6
6
|
import { StepOpportunities } from "./step-opportunities.js";
|
|
7
7
|
import { StepPricingTimeline } from "./step-pricing-timeline.js";
|
|
8
|
+
import { mixedOpportunityTerms } from "./mixed-delivery-terms.js";
|
|
8
9
|
import { StepReview } from "./step-review.js";
|
|
10
|
+
import { issueFocusTarget, publishIssuesMessage } from "./publish-issues.js";
|
|
9
11
|
import { sanitizeOutboundStagedFields, useWizardDraft } from "./use-wizard-draft.js";
|
|
10
12
|
import { tenderPublishSchema, wizardStepIds, } from "./wizard.types.js";
|
|
11
13
|
import { cn } from "../../lib/utils.js";
|
|
@@ -40,62 +42,6 @@ const stepLabels = {
|
|
|
40
42
|
pricing: "Pricing",
|
|
41
43
|
review: "Review",
|
|
42
44
|
};
|
|
43
|
-
const pricingFieldNames = new Set([
|
|
44
|
-
"priceMin",
|
|
45
|
-
"priceMax",
|
|
46
|
-
"currency",
|
|
47
|
-
"targetMargin",
|
|
48
|
-
"distributionRequirements",
|
|
49
|
-
"submissionDeadline",
|
|
50
|
-
"sampleDeadline",
|
|
51
|
-
"launchDate",
|
|
52
|
-
]);
|
|
53
|
-
function issueFocusTarget(issue) {
|
|
54
|
-
const [root, index, field] = issue.path;
|
|
55
|
-
if (root !== "opportunities") {
|
|
56
|
-
const selector = root === "targetCountry"
|
|
57
|
-
? "#tender-country"
|
|
58
|
-
: root === "instructions"
|
|
59
|
-
? "#tender-instructions"
|
|
60
|
-
: "#tender-name";
|
|
61
|
-
return { step: "tender", selector };
|
|
62
|
-
}
|
|
63
|
-
if (typeof index !== "number") {
|
|
64
|
-
return { step: "opportunities", selector: '[data-wizard-step="opportunities"] button' };
|
|
65
|
-
}
|
|
66
|
-
if (typeof field === "string" && pricingFieldNames.has(field)) {
|
|
67
|
-
const accessibleName = {
|
|
68
|
-
priceMin: "Price min",
|
|
69
|
-
priceMax: "Price max",
|
|
70
|
-
targetMargin: "Target margin",
|
|
71
|
-
distributionRequirements: "Distribution requirements",
|
|
72
|
-
submissionDeadline: "Submission deadline",
|
|
73
|
-
sampleDeadline: "Sample deadline",
|
|
74
|
-
launchDate: "Launch date",
|
|
75
|
-
};
|
|
76
|
-
const name = accessibleName[field];
|
|
77
|
-
return {
|
|
78
|
-
step: "pricing",
|
|
79
|
-
selector: name
|
|
80
|
-
? `[data-pricing-index="${index}"] [aria-label="${name}"]`
|
|
81
|
-
: `[data-pricing-index="${index}"] [role="combobox"]`,
|
|
82
|
-
opportunityIndex: index,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
if (typeof field === "string") {
|
|
86
|
-
const fieldRoot = `[data-opportunity-index="${index}"] [data-wizard-field="${field}"]`;
|
|
87
|
-
return {
|
|
88
|
-
step: "opportunities",
|
|
89
|
-
selector: `${fieldRoot} input, ${fieldRoot} textarea, ${fieldRoot} button, ${fieldRoot} [role="combobox"]`,
|
|
90
|
-
opportunityIndex: index,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
step: "opportunities",
|
|
95
|
-
selector: `[data-opportunity-index="${index}"] button`,
|
|
96
|
-
opportunityIndex: index,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
45
|
function clampWizardStep(value) {
|
|
100
46
|
if (typeof value !== "number" || !Number.isFinite(value))
|
|
101
47
|
return 0;
|
|
@@ -105,7 +51,7 @@ function completedBefore(step) {
|
|
|
105
51
|
return Array.from({ length: step }, (_, index) => index);
|
|
106
52
|
}
|
|
107
53
|
export function OpportunityWizard(props) {
|
|
108
|
-
const { mode, initialDraft, initialVersion, createDraft, patchDraft, loadDraftOnConflict, autosaveDebounceMs, publishDraft, saveEdit, priceTypesContext, onClose, onPublished, className, } = props;
|
|
54
|
+
const { mode, initialDraft, initialVersion, createDraft, patchDraft, loadDraftOnConflict, autosaveDebounceMs, publishDraft, saveEdit, priceTypesContext, mixedTermsPicker = false, onReplaceAllConfirmed, mixedTermsReplaced = false, onClose, onPublished, className, } = props;
|
|
109
55
|
const draftHook = useWizardDraft({
|
|
110
56
|
create: createDraft,
|
|
111
57
|
patch: patchDraft,
|
|
@@ -185,9 +131,22 @@ export function OpportunityWizard(props) {
|
|
|
185
131
|
const onApplyOpportunities = React.useCallback((next) => {
|
|
186
132
|
applyChangeRef.current({ opportunities: next });
|
|
187
133
|
}, []);
|
|
134
|
+
// Once the importer has set the tender-level terms for this draft, the old per-opportunity
|
|
135
|
+
// terms are being replaced, so neither the picker nor Review may offer them back (a pick then
|
|
136
|
+
// a clear is "no constraint on any opportunity", not the stale hydrated terms). The draft ID
|
|
137
|
+
// is the same identity boundary used by useWizardDraft and the wizard's hydration reset. Reset
|
|
138
|
+
// during that identity-changing render so the first committed frame of another draft still
|
|
139
|
+
// shows its own terms; one record also prevents consent from returning after A -> B -> A.
|
|
140
|
+
const termsDraftIdentity = initialDraft?.id;
|
|
141
|
+
const [termsEditConsent, setTermsEditConsent] = React.useState(() => ({ draftId: termsDraftIdentity, edited: false }));
|
|
142
|
+
if (termsEditConsent.draftId !== termsDraftIdentity) {
|
|
143
|
+
setTermsEditConsent({ draftId: termsDraftIdentity, edited: false });
|
|
144
|
+
}
|
|
145
|
+
const termsEdited = termsEditConsent.draftId === termsDraftIdentity && termsEditConsent.edited;
|
|
188
146
|
const onApplyAllowedDeliveryTerms = React.useCallback((next) => {
|
|
147
|
+
setTermsEditConsent({ draftId: termsDraftIdentity, edited: true });
|
|
189
148
|
applyChangeRef.current({ allowedDeliveryTerms: next });
|
|
190
|
-
}, []);
|
|
149
|
+
}, [termsDraftIdentity]);
|
|
191
150
|
// CEL-332 fixup-2 (Cubic P2): explicit-default-unconstrained persistence.
|
|
192
151
|
//
|
|
193
152
|
// Zod's `.default([])` on `tenderDraftSchema.allowedDeliveryTerms` ONLY
|
|
@@ -393,9 +352,9 @@ export function OpportunityWizard(props) {
|
|
|
393
352
|
const firstIssue = parsed.error.issues[0];
|
|
394
353
|
setPublishError({
|
|
395
354
|
code: "VALIDATION",
|
|
396
|
-
message:
|
|
355
|
+
message: publishIssuesMessage(effectiveDraft),
|
|
397
356
|
});
|
|
398
|
-
const target = issueFocusTarget(firstIssue);
|
|
357
|
+
const target = issueFocusTarget(firstIssue, effectiveDraft);
|
|
399
358
|
setStep(wizardStepIds.indexOf(target.step), target.selector, target.opportunityIndex);
|
|
400
359
|
setPublishing(false);
|
|
401
360
|
return;
|
|
@@ -465,9 +424,9 @@ export function OpportunityWizard(props) {
|
|
|
465
424
|
const firstIssue = parsed.error.issues[0];
|
|
466
425
|
setPublishError({
|
|
467
426
|
code: "VALIDATION",
|
|
468
|
-
message:
|
|
427
|
+
message: publishIssuesMessage(effectiveDraft),
|
|
469
428
|
});
|
|
470
|
-
const target = issueFocusTarget(firstIssue);
|
|
429
|
+
const target = issueFocusTarget(firstIssue, effectiveDraft);
|
|
471
430
|
setStep(wizardStepIds.indexOf(target.step), target.selector, target.opportunityIndex);
|
|
472
431
|
setPublishing(false);
|
|
473
432
|
return;
|
|
@@ -500,6 +459,12 @@ export function OpportunityWizard(props) {
|
|
|
500
459
|
setPublishing(false);
|
|
501
460
|
}
|
|
502
461
|
};
|
|
462
|
+
// What will actually be saved decides what Review shows. With the opt-in picker the wizard knows when the
|
|
463
|
+
// importer replaced the terms; a consumer that holds the change back says so with `mixedTermsReplaced`.
|
|
464
|
+
const termsReplaced = mixedTermsReplaced || (mixedTermsPicker && termsEdited);
|
|
465
|
+
const perOpportunityTerms = termsReplaced
|
|
466
|
+
? undefined
|
|
467
|
+
: mixedOpportunityTerms(effectiveDraft.opportunities);
|
|
503
468
|
const stepContent = () => {
|
|
504
469
|
switch (wizardStepIds[currentStep]) {
|
|
505
470
|
case "tender":
|
|
@@ -519,10 +484,12 @@ export function OpportunityWizard(props) {
|
|
|
519
484
|
isLoading: priceTypesContext.isLoading,
|
|
520
485
|
isError: priceTypesContext.isError,
|
|
521
486
|
onRetry: priceTypesContext.onRetry,
|
|
487
|
+
perOpportunityTerms: mixedTermsPicker ? perOpportunityTerms : undefined,
|
|
488
|
+
onReplaceAllConfirmed,
|
|
522
489
|
}
|
|
523
490
|
: undefined }) }, formHydrationKey));
|
|
524
491
|
case "review":
|
|
525
|
-
return (_jsx("div", { "data-wizard-step": "review", children: _jsx(StepReview, { tender: effectiveDraft, priceTypes: priceTypesContext?.priceTypes, onEditStep: (step) => setStep(wizardStepIds.indexOf(step)) }) }, formHydrationKey));
|
|
492
|
+
return (_jsx("div", { "data-wizard-step": "review", children: _jsx(StepReview, { tender: effectiveDraft, priceTypes: priceTypesContext?.priceTypes, perOpportunityTerms: perOpportunityTerms, onEditStep: (step, target) => setStep(wizardStepIds.indexOf(step), target?.selector, target?.opportunityIndex) }) }, formHydrationKey));
|
|
526
493
|
}
|
|
527
494
|
};
|
|
528
495
|
const isLastStep = currentStep === wizardStepIds.length - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opportunity-wizard.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EACL,mBAAmB,EAKnB,aAAa,GAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EACL,yBAAyB,EACzB,eAAe,GAEhB,MAAM,qBAAqB,CAAC;AAI7B;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAsB;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,mCAAmC,CAAC;QAC7C,KAAK,UAAU;YACb,qEAAqE;YACrE,mEAAmE;YACnE,6DAA6D;YAC7D,kEAAkE;YAClE,gEAAgE;YAChE,OAAO,8BAA8B,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,oCAAoC,CAAC;QAC9C;YACE,OAAO,oCAAoC,CAAC;IAChD,CAAC;AACH,CAAC;AA2DD,MAAM,UAAU,GAAiC;IAC/C,MAAM,EAAE,gBAAgB;IACxB,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,UAAU;IACV,UAAU;IACV,UAAU;IACV,cAAc;IACd,0BAA0B;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,YAAY;CACb,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAe;IAKvC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;IACxC,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,MAAM,QAAQ,GACZ,IAAI,KAAK,eAAe;YACtB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,KAAK,cAAc;gBACvB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,cAAc,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,cAAc,GAA2B;YAC7C,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,eAAe;YAC7B,wBAAwB,EAAE,2BAA2B;YACrD,kBAAkB,EAAE,qBAAqB;YACzC,cAAc,EAAE,iBAAiB;YACjC,UAAU,EAAE,aAAa;SAC1B,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;gBACZ,CAAC,CAAC,wBAAwB,KAAK,mBAAmB,IAAI,IAAI;gBAC1D,CAAC,CAAC,wBAAwB,KAAK,sBAAsB;YACvD,gBAAgB,EAAE,KAAK;SACxB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,4BAA4B,KAAK,0BAA0B,KAAK,IAAI,CAAC;QACvF,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,GAAG,SAAS,WAAW,SAAS,cAAc,SAAS,YAAY,SAAS,oBAAoB;YAC1G,gBAAgB,EAAE,KAAK;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,4BAA4B,KAAK,WAAW;QACtD,gBAAgB,EAAE,KAAK;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,EACJ,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,UAAU;QACjB,cAAc,EAAE,YAAY,EAAE,EAAE;QAChC,YAAY,EAAE,YAAY,IAAI,EAAE;QAChC,cAAc,EAAE,cAAc,IAAI,CAAC;QACnC,eAAe,EAAE,IAAI,KAAK,MAAM;QAChC,kBAAkB,EAAE,mBAAmB;QACvC,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,WAAW,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,GAAG,EAAE,CACxE,eAAe,CAAC,WAAW,CAAC,CAC7B,CAAC;IACF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgC;QACpF,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAG5C,IAAI,CAAC,CAAC;IAChB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,kEAAkE;IAClE,2BAA2B;IAC3B,oOAAoO;IACpO,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,YAAY,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACrE,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/C,qDAAqD;IACrD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9F,4EAA4E;IAC5E,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAC3E,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEnF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,MAAM,cAAc,GAClB,YAAY,EAAE,EAAE,IAAI,WAAW,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IACvF,MAAM,gBAAgB,GAAG,GAAG,YAAY,EAAE,EAAE,IAAI,KAAK,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAEvF,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACxD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,gBAAgB,CAAC,OAAO,KAAK,YAAY,EAAE,EAAE;YAAE,OAAO;QAC1D,gBAAgB,CAAC,OAAO,GAAG,YAAY,EAAE,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QACrE,uIAAuI;QACvI,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7B,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvC,qDAAqD;IACvD,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvD,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACvE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,oBAAoB,CAAC,OAAO,KAAK,SAAS,CAAC,iBAAiB;YAAE,OAAO;QACzE,oBAAoB,CAAC,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvE,kJAAkJ;QAClJ,cAAc,CAAC,YAAY,CAAC,CAAC;QAC7B,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,qDAAqD;IACvD,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEpE,6EAA6E;IAC7E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC;IACjD,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5B,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,MAA4B,EAAE,EAAE;QAC3E,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAwB,EAAE,EAAE;QAC1E,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,2BAA2B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAc,EAAE,EAAE;QACvE,cAAc,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,0EAA0E;IAC1E,EAAE;IACF,wEAAwE;IACxE,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,qEAAqE;IACrE,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,yDAAyD;IACzD,EAAE;IACF,iEAAiE;IACjE,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,kEAAkE;IAClE,qEAAqE;IACrE,QAAQ;IACR,EAAE;IACF,sEAAsE;IACtE,yEAAyE;IACzE,mEAAmE;IACnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,cAAc,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE7D,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAU,EAAE,EAAE;QACxD,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,uBAAuB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAU,EAAE,EAAE;QAC/D,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAU,EAAE,EAAE;QACzD,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACvD,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAuC,IAAI,CAAC,CAAC;IACpF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,kBAAkB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACxC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE/C,4FAA4F;IAC5F,4BAA4B;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAqB,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,YAAY,CAAC,OAAO,GAAI,QAAQ,CAAC,aAA6B,IAAI,IAAI,CAAC;QACvE,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAClC,sBAAsB,aAAa,gCAAgC,aAAa,mCAAmC,aAAa,iCAAiC,aAAa,sBAAsB,CACrM,CAAC;QACF,KAAK,EAAE,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,MAAM,UAAU,GACd,SAAS,CAAC,wBAAwB;YAClC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;YACpC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,SAAS,CAAC,wBAAwB,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnE,8EAA8E;IAC9E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO;YAC/B,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,IAAI,CAAC,CAAC,gBAAgB;gBAAE,OAAO;YAC/B,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,YAAY,EAAE,CAAC;QACjB,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,uEAAuE;IACvE,4EAA4E;IAC5E,wBAAwB;IACxB,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;QACtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7C,gBAAgB,CAAC,kEAAkE,CAAC,CAAC;gBACrF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,CACZ,OAAO,CAAC,OAAO,EACf,4BAA4B,CAAC;oBAC3B,GAAG,cAAc;oBACjB,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,IAAI,EAAE;iBAChE,CAAC,EACF,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GACf,KAA6B,EAAE,MAAM,KAAK,GAAG;oBAC7C,KAA2B,EAAE,IAAI,KAAK,UAAU,CAAC;gBACpD,gBAAgB,CACd,YAAY;oBACV,CAAC,CAAC,iEAAiE;oBACnE,CAAC,CAAC,4EAA4E,CACjF,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,gBAAgB,CACd,OAAO,CAAC,MAAM,KAAK,UAAU;YAC3B,CAAC,CAAC,yEAAyE;YAC3E,CAAC,CAAC,4DAA4D,CACjE,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1C,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,aAAsB,EAAE,gBAAyB,EAAE,EAAE;QACjF,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1E,wBAAwB,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,OAAO;gBAAE,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;YAChF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,OAAO,CAAC,WAAW,GAAG,QAAQ,WAAW,GAAG,CAAC,UAAU,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC9G,CAAC;QACH,CAAC;QACD,sEAAsE;QACtE,2EAA2E;QAC3E,0EAA0E;QAC1E,gBAAgB,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,CAAC,iBAAyB,EAAE,EAAE;YACnD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAClC,aAAa;gBACX,sBAAsB,MAAM,gCAAgC,MAAM,mCAAmC,MAAM,iCAAiC,MAAM,sBAAsB,CAC3K,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YACD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBAC1B,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CAAC;QACF,kBAAkB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,sEAAsE;IACtE,8EAA8E;IAC9E,4EAA4E;IAC5E,8DAA8D;IAC9D,6EAA6E;IAC7E,0EAA0E;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,0BAA0B;IAC1B,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAAE,OAAO;QACrC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1C,eAAe,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC5C,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACtF,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1B,eAAe,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,yDAAyD;iBACnE,CAAC,CAAC;gBACH,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,yEAAyE;YACzE,qEAAqE;YACrE,oEAAoE;YACpE,kEAAkE;YAClE,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,qBAAqB;YACrB,8DAA8D;YAC9D,sEAAsE;YACtE,sEAAsE;YACtE,iEAAiE;YACjE,oEAAoE;YACpE,gEAAgE;YAChE,sEAAsE;YACtE,gDAAgD;YAChD,iEAAiE;YACjE,qEAAqE;YACrE,kEAAkE;YAClE,gEAAgE;YAChE,oEAAoE;YACpE,yCAAyC;YACzC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACpC,eAAe,CAAC;oBACd,IAAI,EAAE,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;oBAChE,OAAO,EACL,YAAY,CAAC,MAAM,KAAK,UAAU;wBAChC,CAAC,CAAC,iDAAiD;wBACnD,CAAC,CAAC,sEAAsE;iBAC7E,CAAC,CAAC;gBACH,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACnE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAkD,CAAC;YAC/D,eAAe,CAAC;gBACd,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,QAAQ;gBAC3B,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,wBAAwB;aAClD,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1C,eAAe,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC9D,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC5C,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACtF,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvC,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACrE,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,0DAA0D;YAC1D,+DAA+D;YAC/D,gEAAgE;YAChE,0DAA0D;YAC1D,+DAA+D;YAC/D,kEAAkE;YAClE,qCAAqC;YACrC,MAAM,gBAAgB,GAAG,4BAA4B,CAAC;gBACpD,GAAG,cAAc;gBACjB,oBAAoB,EAAE,cAAc,CAAC,oBAAoB,IAAI,EAAE;aAChE,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAkD,CAAC;YAC/D,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,cAAc,EAAE,CAAC,CAAC;QAC5F,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,QAAQ,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,CACL,kCAA6C,QAAQ,YACnD,KAAC,gBAAgB,IACf,aAAa,EAAE;4BACb,IAAI,EAAE,cAAc,CAAC,IAAI;4BACzB,aAAa,EAAE,cAAc,CAAC,aAAa;4BAC3C,YAAY,EAAE,cAAc,CAAC,YAAY;yBAC1C,EACD,QAAQ,EAAE,iBAAiB,EAC3B,gBAAgB,EAAE,gBAAgB,GAClC,IATM,gBAAgB,CAUpB,CACP,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,CACL,kCAA6C,eAAe,YAC1D,KAAC,iBAAiB,IAChB,KAAK,EAAE,cAAc,CAAC,aAAa,IAAI,EAAE,EACzC,QAAQ,EAAE,oBAAoB,EAC9B,gBAAgB,EAAE,uBAAuB,EACzC,cAAc,EAAE,qBAAqB,GACrC,IANM,gBAAgB,CAOpB,CACP,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO,CACL,kCAA6C,SAAS,YACpD,KAAC,mBAAmB,IAClB,KAAK,EAAE,cAAc,CAAC,aAAa,IAAI,EAAE,EACzC,sBAAsB,EAAE,iBAAiB,EACzC,QAAQ,EAAE,oBAAoB,EAC9B,gBAAgB,EAAE,iBAAiB,EACnC,oBAAoB,EAClB,iBAAiB;4BACf,CAAC,CAAC;gCACE,KAAK,EAAE,cAAc,CAAC,oBAAoB,IAAI,EAAE;gCAChD,QAAQ,EAAE,2BAA2B;gCACrC,UAAU,EAAE,iBAAiB,CAAC,UAAU;gCACxC,SAAS,EAAE,iBAAiB,CAAC,SAAS;gCACtC,OAAO,EAAE,iBAAiB,CAAC,OAAO;gCAClC,OAAO,EAAE,iBAAiB,CAAC,OAAO;6BACnC;4BACH,CAAC,CAAC,SAAS,GAEf,IAlBM,gBAAgB,CAmBpB,CACP,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO,CACL,kCAA6C,QAAQ,YACnD,KAAC,UAAU,IACT,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,iBAAiB,EAAE,UAAU,EACzC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAC1D,IALM,gBAAgB,CAMpB,CACP,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACvC,MAAM,mBAAmB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,0EAA0E;IAC1E,+DAA+D;IAC/D,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACvC,MAAM,UAAU,GACd,IAAI,KAAK,MAAM;QACb,CAAC,CAAC,6DAA6D;YAC7D,4DAA4D;YAC5D,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,iEAAiE;YACjE,4DAA4D;YAC5D,kEAAkE;YAClE,kEAAkE;YAClE,kEAAkE;YAClE,iEAAiE;YACjE,qEAAqE;YACrE,oEAAoE;YACpE,iDAAiD;YACjD,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc,IAAI,SAAS,CAAC,SAAS;gBAC/D,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE;gBAC9E,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE;QAC1D,CAAC,CAAC,SAAS,CAAC,gBAAgB;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE;YAC9C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;gBACpC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC9C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc;oBACxC,CAAC,CAAC,yDAAyD;wBACzD,2DAA2D;wBAC3D,oEAAoE;wBACpE,+DAA+D;wBAC/D,4DAA4D;wBAC5D,wDAAwD;wBACxD,yDAAyD;wBACzD,4DAA4D;wBAC5D,aAAa;wBACb,SAAS,CAAC,SAAS;4BACnB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,yCAAyC,EAAE;4BACrE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kCAAkC,EAAE;oBAClE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;wBACnC,CAAC,CAAC,SAAS,CAAC,SAAS;4BACnB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE;4BAClD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ;gCACxC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE;gCAC9C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,KAAK,OAAO;oCACvC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE;oCAC/C,CAAC,CAAC,SAAS,CAAC,wBAAwB;wCAClC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE;wCACvD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE;wBACvD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;IAEzE,MAAM,oBAAoB,GACxB,8WAA8W,CAAC;IACjX,MAAM,kBAAkB,GACtB,2dAA2d,CAAC;IAE9d,yEAAyE;IACzE,+EAA+E;IAC/E,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QACrC,QAAQ,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,OAAO;gBACV,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,sBAAsB,EAAE,EACtD,SAAS,EAAE,oBAAoB,6BAGxB,CACV,CAAC;YACJ,KAAK,aAAa;gBAChB,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,EACrC,SAAS,EAAE,kBAAkB,2BAGtB,CACV,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO,CACL,8BACE,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAC/C,SAAS,EAAE,oBAAoB,mCAGxB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EACL,SAAS,CAAC,QAAQ,CAAC,YAAY;gCAC7B,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,iBAAiB,EAAE;gCAC1C,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAEjC,SAAS,EAAE,kBAAkB,YAE5B,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,GAC5D,IACR,CACJ,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,eAAe,IACd,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,EAClE,WAAW,EAAE,WAAW,GAAG,CAAC,EAC5B,SAAS,EAAE,aAAa,CAAC,MAAM,EAC/B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,SAAS,EACpB,MAAM,EACJ,eAAK,SAAS,EAAC,oEAAoE,aACjF,KAAC,yBAAyB,IAAC,MAAM,EAAE,UAAU,GAAI,EACjD,eAAK,SAAS,EAAC,+CAA+C,aAC5D,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EACvD,SAAS,EAAE,oBAAoB,YAE9B,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,GACxC,EACR,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,EACvC,SAAS,EAAE,oBAAoB,aAE/B,KAAC,SAAS,yBAAa,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,IAAI,GAAI,gBAExD,CACV,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,8BACG,CAAC,UAAU,CAAC,CAAC,CAAC,CACb,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,mBACA,CAAC,WAAW,IAAI,SAAS,sBACtB,mBAAmB,EACrC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,SAAS,EACxE,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,CAAC,WAAW;wCACV,8DAA8D,CACjE,qBAGD,KAAC,UAAU,yBAAa,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,IAAI,GAAI,IACzD,CACV,CAAC,CAAC,CAAC,IAAI,EACR,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,kBAAkB,YAE5B,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,GAChC,IACR,CACJ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAChB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,mBACA,CAAC,WAAW,IAAI,SAAS,sBACtB,mBAAmB,EACrC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,SAAS,EACxE,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,CAAC,WAAW;gCACV,oFAAoF,CACvF,qBAGD,KAAC,UAAU,yBAAa,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,IAAI,GAAI,IACzD,CACV,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS;4BAClB,2DAA2D;4BAC3D,2DAA2D;4BAC3D,4DAA4D;4BAC5D,EAAE;4BACF,uDAAuD;4BACvD,sDAAsD;4BACtD,6DAA6D;4BAC7D,4DAA4D;4BAC5D,2DAA2D;4BAC3D,4DAA4D;4BAC5D,6DAA6D;4BAC7D,2DAA2D;4BAC3D,6BAA6B;4BAC7B,QAAQ,EAAE,UAAU,IAAI,SAAS,CAAC,wBAAwB,sBAIxC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACnF,KAAK,EACH,SAAS,CAAC,wBAAwB;gCAChC,CAAC,CAAC,oDAAoD;gCACtD,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,kBAAkB,YAE5B,UAAU;gCACT,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,SAAS,CAAC,wBAAwB;oCAClC,CAAC,CAAC,6BAA6B;oCAC/B,CAAC,CAAC,SAAS,GACR,CACV,IACG,IACF,aAGR,cAAK,SAAS,EAAC,sDAAsD,YACnE,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,aAAa,IACZ,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjE,YAAY,EAAE,WAAW,EACzB,gBAAgB,EAAE,cAAc,EAChC,UAAU,EAAE,MAAM,GAClB,GACE,GACF,EAIN,6BAAiB,aAAa,YAC5B,eAAK,SAAS,EAAC,iEAAiE,aAC7E,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,eAAK,SAAS,EAAC,mHAAmH,aAChI,KAAC,IAAI,yBAAa,SAAS,EAAC,wBAAwB,EAAC,WAAW,EAAE,IAAI,GAAI,EAC1E,qGAAiF,IAC7E,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;wBACpF,mEAAmE;wBACnE,+DAA+D;wBAC/D,gEAAgE;wBAChE,gEAAgE;wBAChE,+DAA+D;wBAC/D,0DAA0D;wBAC1D,+DAA+D;wBAC/D,4DAA4D;wBAC5D,EAAE;wBACF,8DAA8D;wBAC9D,gEAAgE;wBAChE,iEAAiE;wBACjE,8DAA8D;wBAC9D,iEAAiE;wBACjE,6DAA6D;wBAC7D,yDAAyD;wBACzD,eACE,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAC,iHAAiH,aAE3H,KAAC,IAAI,yBAAa,SAAS,EAAC,wBAAwB,EAAC,WAAW,EAAE,IAAI,GAAI,EAC1E,eAAK,SAAS,EAAC,oCAAoC,aACjD,kKAGI,EACJ,cAAK,SAAS,EAAC,sBAAsB,YACnC,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,SAAS,CAAC,KAAK,EAAE,EACrC,SAAS,EAAE,kBAAkB,0BAGtB,GACL,IACF,IACF,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC5B,eACE,EAAE,EAAE,gBAAgB,EACpB,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAC,iHAAiH,aAE3H,KAAC,IAAI,yBAAa,SAAS,EAAC,wBAAwB,EAAC,WAAW,EAAE,IAAI,GAAI,EAC1E,eAAK,SAAS,EAAC,oCAAoC,aACjD,sBACG,SAAS,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS;gDACvC,CAAC,CAAC,mEAAmE;gDACrE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;oDACtC,CAAC,CAAC,+EAA+E;oDACjF,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa;wDAC5C,CAAC,CAAC,gHAAgH;wDAClH,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY;4DACzE,CAAC,CAAC,oFAAoF;4DACtF,CAAC,CAAC,8FAA8F,GACtG,EACJ,cAAK,SAAS,EAAC,sBAAsB,YAAE,qBAAqB,EAAE,GAAO,IACjE,IACF,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,SAAS,CAAC,gBAAgB,KAAK,OAAO,CAAC,CAAC,CAAC,CACxC,eACE,IAAI,EAAC,QAAQ,eACH,QAAQ,EAClB,SAAS,EAAC,wHAAwH,aAElI,KAAC,IAAI,yBAAa,SAAS,EAAC,iBAAiB,EAAC,WAAW,EAAE,IAAI,GAAI,EACnE,YAAG,SAAS,EAAC,iBAAiB,4DAAgD,EAC9E,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,iBAAiB,EACpC,SAAS,EAAE,kBAAkB,2BAGtB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,kBAAkB,EACrC,SAAS,EAAE,oBAAoB,2BAGxB,IACL,CACP,CAAC,CAAC,CAAC,IAAI,EAER,iCAAqB,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,aACjD,WAAW,EAAE,EACd,eAAM,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAC,SAAS,qDAExC,IACC,EAET,YAAY,CAAC,CAAC,CAAC,CACd,eACE,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAC,0FAA0F,aAEpG,6BAAS,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAW,OAAE,YAAY,CAAC,OAAO,IAC7E,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,aAAa,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAChC,cACE,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAC,0FAA0F,YAEnG,aAAa,GACV,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,EAEN,cAAK,GAAG,EAAE,WAAW,EAAE,IAAI,EAAC,QAAQ,eAAW,QAAQ,EAAC,SAAS,EAAC,SAAS,GAAG,EAC9E,KAAC,kBAAkB,IACjB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,GAAG,EAAE;oBACZ,eAAe,CAAC,KAAK,CAAC,CAAC;oBACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,EACD,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,gBAAgB,EACtB,WAAW,EACT,IAAI,KAAK,MAAM;oBACb,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,uCAAuC,EAE7C,YAAY,EAAC,eAAe,EAC5B,WAAW,EAAC,cAAc,YAEzB,aAAa,CAAC,CAAC,CAAC,CACf,cACE,IAAI,EAAC,OAAO,eACF,WAAW,EACrB,SAAS,EAAC,sHAAsH,YAE/H,aAAa,GACV,CACP,CAAC,CAAC,CAAC,IAAI,GACW,IACL,CACnB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"opportunity-wizard.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PackageSizesFieldProps {
|
|
2
|
+
id: string;
|
|
3
|
+
/** Sizes in millilitres, in the order the importer entered them. */
|
|
4
|
+
value: number[];
|
|
5
|
+
onChange: (next: number[]) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* CEL-2624: every package size an opportunity accepts, not only the first. Type a size
|
|
9
|
+
* in ml and press Enter (or "Add size"); each size is a removable chip. The caller
|
|
10
|
+
* stores the list as `volumeOptions` and keeps `volume` equal to the first entry.
|
|
11
|
+
*/
|
|
12
|
+
export declare function PackageSizesField({ id, value, onChange }: PackageSizesFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=package-sizes-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-sizes-field.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/package-sizes-field.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2HhF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { X } from "lucide-react";
|
|
4
|
+
import { MAX_PACKAGE_SIZES } from "./price-ranges.js";
|
|
5
|
+
/**
|
|
6
|
+
* CEL-2624: every package size an opportunity accepts, not only the first. Type a size
|
|
7
|
+
* in ml and press Enter (or "Add size"); each size is a removable chip. The caller
|
|
8
|
+
* stores the list as `volumeOptions` and keeps `volume` equal to the first entry.
|
|
9
|
+
*/
|
|
10
|
+
export function PackageSizesField({ id, value, onChange }) {
|
|
11
|
+
const [draft, setDraft] = React.useState("");
|
|
12
|
+
const [error, setError] = React.useState(null);
|
|
13
|
+
const [announcement, setAnnouncement] = React.useState("");
|
|
14
|
+
const inputRef = React.useRef(null);
|
|
15
|
+
const listRef = React.useRef(null);
|
|
16
|
+
// A ref, not state: it is set in the click handler and read in the effect, so no state is set in an effect.
|
|
17
|
+
const focusAfterRemovalRef = React.useRef(null);
|
|
18
|
+
// After a chip is removed its button unmounts: move focus to the next chip's remove button,
|
|
19
|
+
// or back to the input when it was the last one.
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
const at = focusAfterRemovalRef.current;
|
|
22
|
+
if (at === null)
|
|
23
|
+
return;
|
|
24
|
+
focusAfterRemovalRef.current = null;
|
|
25
|
+
const buttons = listRef.current?.querySelectorAll("button");
|
|
26
|
+
(buttons?.[Math.min(at, (buttons?.length ?? 1) - 1)] ?? inputRef.current)?.focus();
|
|
27
|
+
}, [value.length]);
|
|
28
|
+
const add = () => {
|
|
29
|
+
const raw = draft.trim();
|
|
30
|
+
if (raw === "")
|
|
31
|
+
return;
|
|
32
|
+
const size = Number(raw);
|
|
33
|
+
if (!Number.isInteger(size) || size <= 0) {
|
|
34
|
+
setError("Enter a whole number of millilitres, for example 750.");
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (value.includes(size)) {
|
|
38
|
+
setError(`${size} ml is already in the list.`);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (value.length >= MAX_PACKAGE_SIZES) {
|
|
42
|
+
setError(`Add up to ${MAX_PACKAGE_SIZES} sizes.`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
setError(null);
|
|
46
|
+
setDraft("");
|
|
47
|
+
onChange([...value, size]);
|
|
48
|
+
};
|
|
49
|
+
return (_jsxs("div", { "data-wizard-field": "volume", className: "flex flex-col gap-1.5", children: [_jsx("label", { htmlFor: id, className: "text-sm/5 font-medium text-foreground", children: "Package sizes (ml)" }), _jsxs("div", { className: "flex gap-2", children: [_jsxs("div", { className: "relative w-full", children: [_jsx("input", { id: id, ref: inputRef, type: "number", inputMode: "numeric", min: 1, step: 1, value: draft, "aria-describedby": `${id}-help${error ? ` ${id}-error` : ""}`, "aria-invalid": error ? true : undefined,
|
|
50
|
+
// A typed size is committed when the field loses focus, so it is never silently dropped.
|
|
51
|
+
onBlur: () => add(), onChange: (e) => {
|
|
52
|
+
setDraft(e.target.value);
|
|
53
|
+
if (error)
|
|
54
|
+
setError(null);
|
|
55
|
+
}, onKeyDown: (e) => {
|
|
56
|
+
if (e.key === "Enter") {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
add();
|
|
59
|
+
}
|
|
60
|
+
}, className: "h-11 w-full rounded-md border border-input bg-transparent py-2 pl-3 pr-10 text-sm shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5" }), _jsx("span", { "aria-hidden": true, className: "pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm/5 text-muted-foreground", children: "ml" })] }), _jsx("button", { type: "button", onClick: add, className: "min-h-11 shrink-0 rounded-md border border-border bg-background px-3 text-sm/5 font-medium transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: "Add size" })] }), _jsx("p", { id: `${id}-help`, className: "text-xs/4 text-muted-foreground", children: "Every bottle size producers may offer. Press Enter to add each one." }), error ? (_jsx("p", { id: `${id}-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: error })) : null, _jsx("div", { "aria-live": "polite", className: "sr-only", children: announcement }), value.length > 0 ? (_jsx("ul", { ref: listRef, className: "flex flex-wrap gap-2", "aria-label": "Package sizes added", children: value.map((size, position) => (_jsxs("li", { className: "inline-flex min-h-11 items-center gap-1 rounded-full bg-muted pl-3 pr-1 text-sm/5 font-medium tabular-nums text-foreground", children: [size, " ml", _jsxs("button", { type: "button", onClick: () => {
|
|
61
|
+
setAnnouncement(`${size} ml removed.`);
|
|
62
|
+
focusAfterRemovalRef.current = position;
|
|
63
|
+
onChange(value.filter((v) => v !== size));
|
|
64
|
+
}, className: "inline-flex size-11 items-center justify-center rounded-full text-muted-foreground hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(X, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), _jsx("span", { className: "sr-only", children: `Remove ${size} ml` })] })] }, size))) })) : null] }));
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=package-sizes-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-sizes-field.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/package-sizes-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OpportunityDraft } from "./wizard.types.js";
|
|
2
|
+
export interface PriceRangesEditorProps {
|
|
3
|
+
/** Index of the opportunity in the step (stable ids for labels). */
|
|
4
|
+
itemIndex: number;
|
|
5
|
+
opp: OpportunityDraft;
|
|
6
|
+
onUpdate: (patch: Partial<OpportunityDraft>) => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* CEL-2624: one or more price rows per opportunity, each with min, max, currency and
|
|
10
|
+
* the basis the price is quoted on (per unit or per litre). Row 0 min and max are mirrored into
|
|
11
|
+
* the legacy `priceMin`/`priceMax` by `priceRowsPatch`. Currency is per row and is never
|
|
12
|
+
* mirrored into the scalar (CEL-662).
|
|
13
|
+
*
|
|
14
|
+
* A quoted delivery term per row is deliberately not offered here (gated, D16).
|
|
15
|
+
*/
|
|
16
|
+
export declare function PriceRangesEditor({ itemIndex, opp, onUpdate }: PriceRangesEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=price-ranges-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-ranges-editor.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges-editor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAiBvD,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,gBAAgB,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAuNrF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Plus, Trash2 } from "lucide-react";
|
|
4
|
+
import { CurrencySelect } from "../../components/currency-select.js";
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
6
|
+
import { MAX_PRICE_ROWS, basisLabel, getPackageSizes, getPriceRows, priceRowProblems, priceRowsPatch, } from "./price-ranges.js";
|
|
7
|
+
const inputClass = "h-11 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5";
|
|
8
|
+
const buttonClass = "inline-flex min-h-11 items-center gap-2 rounded-md border border-border bg-background px-3 text-sm/5 font-medium transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70";
|
|
9
|
+
/**
|
|
10
|
+
* CEL-2624: one or more price rows per opportunity, each with min, max, currency and
|
|
11
|
+
* the basis the price is quoted on (per unit or per litre). Row 0 min and max are mirrored into
|
|
12
|
+
* the legacy `priceMin`/`priceMax` by `priceRowsPatch`. Currency is per row and is never
|
|
13
|
+
* mirrored into the scalar (CEL-662).
|
|
14
|
+
*
|
|
15
|
+
* A quoted delivery term per row is deliberately not offered here (gated, D16).
|
|
16
|
+
*/
|
|
17
|
+
export function PriceRangesEditor({ itemIndex, opp, onUpdate }) {
|
|
18
|
+
const rows = getPriceRows(opp);
|
|
19
|
+
const sizes = getPackageSizes(opp);
|
|
20
|
+
const [touched, setTouched] = React.useState(() => new Set());
|
|
21
|
+
// The reversed-range error waits for the importer to leave the field: a min of 9 while
|
|
22
|
+
// typing "12" must not alert on "1".
|
|
23
|
+
const [orderChecked, setOrderChecked] = React.useState(() => new Set());
|
|
24
|
+
const markOrderChecked = (index) => setOrderChecked((prev) => (prev.has(index) ? prev : new Set(prev).add(index)));
|
|
25
|
+
// Polite live region: removing a row is otherwise silent for screen-reader users.
|
|
26
|
+
const [announcement, setAnnouncement] = React.useState("");
|
|
27
|
+
const rootRef = React.useRef(null);
|
|
28
|
+
// After a removal the focused button unmounts; move focus to the row that took its place
|
|
29
|
+
// (its minimum price), or to "Add price range" when it was the last one.
|
|
30
|
+
// A ref, not state: set in the click handler, read in the effect (no state is set in an effect).
|
|
31
|
+
const focusAfterRemovalRef = React.useRef(null);
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
const at = focusAfterRemovalRef.current;
|
|
34
|
+
if (at === null)
|
|
35
|
+
return;
|
|
36
|
+
focusAfterRemovalRef.current = null;
|
|
37
|
+
const target = rootRef.current?.querySelector(`[data-price-row="${at}"] [aria-label^="Minimum price"]`) ?? rootRef.current?.querySelector("[data-add-price-range]");
|
|
38
|
+
target?.focus();
|
|
39
|
+
}, [rows.length]);
|
|
40
|
+
const setRows = (next) => onUpdate(priceRowsPatch(next));
|
|
41
|
+
const patchRow = (index, patch) => setRows(rows.map((row, i) => (i === index ? { ...row, ...patch } : row)));
|
|
42
|
+
const markTouched = (index) => setTouched((prev) => (prev.has(index) ? prev : new Set(prev).add(index)));
|
|
43
|
+
const num = (raw) => (raw === "" ? null : Number(raw));
|
|
44
|
+
return (_jsxs("div", { ref: rootRef, className: "flex flex-col gap-4", "data-testid": "price-ranges-editor", children: [_jsx("div", { "aria-live": "polite", className: "sr-only", children: announcement }), rows.map((row, index) => {
|
|
45
|
+
const problems = priceRowProblems(row);
|
|
46
|
+
const showOrder = problems.includes("order") && orderChecked.has(index);
|
|
47
|
+
// Show the basis error once the importer touched it, or once the rest of the row is
|
|
48
|
+
// filled in and only the basis is missing.
|
|
49
|
+
const showBasis = problems.includes("basis") &&
|
|
50
|
+
(touched.has(index) || problems.every((p) => p === "basis"));
|
|
51
|
+
const idBase = `pricing-${itemIndex}-row-${index}`;
|
|
52
|
+
const groupLabel = rows.length > 1 ? `Price range ${index + 1}` : "Price range";
|
|
53
|
+
return (_jsxs("fieldset", { "data-price-row": index, className: "grid grid-cols-1 items-start gap-4 rounded-lg border border-border/70 p-4 md:grid-cols-2", children: [_jsx("legend", { className: "px-1 text-sm/5 font-semibold text-foreground", children: groupLabel }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Minimum price" }), _jsx("input", { "aria-label": rows.length > 1 ? `Minimum price, ${groupLabel}` : "Minimum price", type: "number", min: "0", step: "0.01", value: row.min ?? "", onChange: (e) => patchRow(index, { min: num(e.target.value) }), onBlur: () => markOrderChecked(index), className: inputClass })] }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Maximum price" }), _jsx("input", { "aria-label": rows.length > 1 ? `Maximum price, ${groupLabel}` : "Maximum price", type: "number", min: "0", step: "0.01", value: row.max ?? "", "aria-invalid": showOrder ? true : undefined, "aria-describedby": showOrder ? `${idBase}-order-error` : undefined, onChange: (e) => patchRow(index, { max: num(e.target.value) }), onBlur: () => markOrderChecked(index), className: inputClass })] }), showOrder ? (_jsx("p", { id: `${idBase}-order-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)] md:col-start-2 md:-mt-2", children: "Maximum price must be at least the minimum." })) : null, _jsx(CurrencySelect, { id: `${idBase}-currency`, label: "Currency", labelClassName: "text-sm/5 font-medium text-foreground", triggerSize: "lg", value: row.currency ?? null, onChange: (next) => patchRow(index, { currency: next ?? null }) }), _jsxs("div", { role: "radiogroup", "aria-labelledby": `${idBase}-basis-label`, "aria-invalid": showBasis ? true : undefined, "aria-describedby": `${idBase}-basis-help${showBasis ? ` ${idBase}-basis-error` : ""}`, className: "flex flex-col gap-1.5", children: [_jsx("span", { id: `${idBase}-basis-label`, className: "text-sm/5 font-medium text-foreground", children: "Price is quoted" }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [["per_unit", "per_litre"].map((value) => (_jsxs("label", { className: cn("inline-flex min-h-11 cursor-pointer items-center gap-2 rounded-md border px-3 text-sm/5 font-medium transition-colors duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] has-focus-visible:ring-3 has-focus-visible:ring-ring/70", row.basis === value
|
|
54
|
+
? "border-foreground bg-muted text-foreground"
|
|
55
|
+
: showBasis
|
|
56
|
+
? "border-[var(--tone-danger-border)] bg-background text-foreground"
|
|
57
|
+
: "border-input bg-background text-muted-foreground hover:text-foreground"), children: [_jsx("input", { type: "radio", name: `${idBase}-basis`, value: value, checked: row.basis === value, onChange: () => {
|
|
58
|
+
markTouched(index);
|
|
59
|
+
// A note only belongs to the `other` basis; drop it when leaving it.
|
|
60
|
+
patchRow(index, {
|
|
61
|
+
basis: value,
|
|
62
|
+
...(row.basis === "other" ? { basisNote: null } : {}),
|
|
63
|
+
});
|
|
64
|
+
}, className: "sr-only" }), basisLabel(value)] }, value))), row.basis === "other" ? (_jsx("span", { className: "inline-flex min-h-11 items-center rounded-md border border-foreground bg-muted px-3 text-sm/5 font-medium text-foreground", children: typeof row.basisNote === "string" && row.basisNote
|
|
65
|
+
? `Other: ${row.basisNote}`
|
|
66
|
+
: "Other basis" })) : null] }), _jsxs("p", { id: `${idBase}-basis-help`, className: "text-xs/4 text-muted-foreground", children: ["What the price is quoted per. Producers answer on the same basis.", sizes.length > 1 ? " Per unit applies to every package size listed." : ""] }), showBasis ? (_jsx("p", { id: `${idBase}-basis-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: "Choose per unit or per litre." })) : null] }), rows.length > 1 ? (_jsx("div", { className: "md:col-span-2", children: _jsxs("button", { type: "button", onClick: () => {
|
|
67
|
+
// These validation sets are index-keyed: reset them so they cannot attach to another row.
|
|
68
|
+
setTouched(new Set());
|
|
69
|
+
setOrderChecked(new Set());
|
|
70
|
+
setRows(rows.filter((_, i) => i !== index));
|
|
71
|
+
setAnnouncement(`${groupLabel} removed.`);
|
|
72
|
+
focusAfterRemovalRef.current = Math.min(index, rows.length - 2);
|
|
73
|
+
}, className: buttonClass, children: [_jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), `Remove ${groupLabel.toLowerCase()}`] }) })) : null] }, index));
|
|
74
|
+
}), rows.length < MAX_PRICE_ROWS ? (_jsx("div", { children: _jsxs("button", { type: "button", "data-add-price-range": true, onClick: () => setRows([
|
|
75
|
+
...rows,
|
|
76
|
+
{
|
|
77
|
+
min: null,
|
|
78
|
+
max: null,
|
|
79
|
+
currency: rows[rows.length - 1]?.currency ?? null,
|
|
80
|
+
basis: null,
|
|
81
|
+
},
|
|
82
|
+
]), className: buttonClass, children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), "Add price range"] }) })) : null] }));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=price-ranges-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-ranges-editor.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CEL-2624: price rows and package sizes for an opportunity draft.
|
|
3
|
+
*
|
|
4
|
+
* The wire already carries `priceRanges[]` (min, max, currency, basis) and
|
|
5
|
+
* `volumeOptions[]` (ml). The wizard draft kept one `priceMin`/`priceMax`/`currency`
|
|
6
|
+
* triple and one `volume`. These helpers read the arrays when present and fall back
|
|
7
|
+
* to the scalars. Writes keep `priceMin`/`priceMax` equal to row 0 and `volume` equal to
|
|
8
|
+
* the first size so scalar-only consumers keep working. Currency is NOT mirrored into the
|
|
9
|
+
* scalar: per-range currency is canonical (CEL-662), extraction leaves the scalar to the
|
|
10
|
+
* ranges, and every row carries its own explicit currency. A legacy opportunity that only
|
|
11
|
+
* has the scalar currency has it copied onto its rows on hydrate, so no row is ever sent
|
|
12
|
+
* with `currency: null` when the opportunity has one.
|
|
13
|
+
*
|
|
14
|
+
* `priceRanges` and `volumeOptions` are read off the passthrough draft (not added to
|
|
15
|
+
* the zod schema) so consumer types that model them as `unknown[] | null` stay valid.
|
|
16
|
+
*/
|
|
17
|
+
import type { Basis } from "@cellarnode/finance";
|
|
18
|
+
import type { OpportunityDraft } from "./wizard.types.js";
|
|
19
|
+
export declare const MAX_PRICE_ROWS = 10;
|
|
20
|
+
export declare const MAX_PACKAGE_SIZES = 12;
|
|
21
|
+
/** The canonical basis enum (`@cellarnode/finance` `BASIS`): per unit (bottle, can, keg), per litre, other. */
|
|
22
|
+
export type WizardPriceBasis = Basis;
|
|
23
|
+
export interface WizardPriceRow {
|
|
24
|
+
min?: number | null;
|
|
25
|
+
max?: number | null;
|
|
26
|
+
currency?: string | null;
|
|
27
|
+
basis?: WizardPriceBasis | string | null;
|
|
28
|
+
/** Round-tripped untouched (registry term, free-text term, basis note). */
|
|
29
|
+
[extra: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
/** At least one row, always: a legacy draft shows its scalar price as row 0. */
|
|
32
|
+
export declare function getPriceRows(opp: OpportunityDraft): WizardPriceRow[];
|
|
33
|
+
/** The patch that stores `rows` and keeps the legacy scalars in step with row 0. */
|
|
34
|
+
export declare function priceRowsPatch(rows: WizardPriceRow[]): Partial<OpportunityDraft>;
|
|
35
|
+
export declare function getPackageSizes(opp: OpportunityDraft): number[];
|
|
36
|
+
/** The patch that stores `sizes` and keeps `volume` equal to the first one. */
|
|
37
|
+
export declare function packageSizesPatch(sizes: number[]): Partial<OpportunityDraft>;
|
|
38
|
+
export type PriceRowProblem = "min" | "max" | "negative" | "order" | "currency" | "basis";
|
|
39
|
+
export declare function priceRowProblems(row: WizardPriceRow): PriceRowProblem[];
|
|
40
|
+
export interface PriceIssue {
|
|
41
|
+
/** 0-based index of the price row. */
|
|
42
|
+
row: number;
|
|
43
|
+
problems: PriceRowProblem[];
|
|
44
|
+
/** "Price range 2": names the row. */
|
|
45
|
+
rowLabel: string;
|
|
46
|
+
/** What to do, e.g. "choose per unit or per litre". */
|
|
47
|
+
fix: string;
|
|
48
|
+
/** Plain sentence naming the row and what is missing. */
|
|
49
|
+
message: string;
|
|
50
|
+
}
|
|
51
|
+
/** One issue per incomplete row; empty when every row is publishable. */
|
|
52
|
+
export declare function priceIssues(opp: OpportunityDraft): PriceIssue[];
|
|
53
|
+
export declare function basisLabel(basis: unknown, _packageSizes?: number[]): string;
|
|
54
|
+
//# sourceMappingURL=price-ranges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-ranges.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,+GAA+G;AAC/G,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,2EAA2E;IAC3E,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAMD,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAkBpE;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAOhF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAM/D;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5E;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,EAAE,CAgBvE;AAWD,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAW/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,MAAM,CAM/E"}
|