@happyvertical/smrt-planner 0.60.17 → 0.60.18
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/app/404.html +18 -18
- package/app/_app/immutable/chunks/{Zm8jWo31.js → 3c7zdxlm.js} +1 -1
- package/app/_app/immutable/chunks/{CPgghECn.js → B6DsY7L2.js} +1 -1
- package/app/_app/immutable/chunks/{Ob17yfFB.js → BhS1_4BT.js} +1 -1
- package/app/_app/immutable/chunks/{CYfPEoW5.js → C1FFmDEU.js} +1 -1
- package/app/_app/immutable/chunks/{u9MeOxuL.js → C1jdM9su.js} +1 -1
- package/app/_app/immutable/chunks/{DWnS2BZI.js → CRgIoLqN.js} +1 -1
- package/app/_app/immutable/chunks/{4XEX-7DU.js → CdeZt_xq.js} +1 -1
- package/app/_app/immutable/chunks/{CwBD1iuJ.js → CelwNL3D.js} +1 -1
- package/app/_app/immutable/chunks/{CuWyv2sb.js → Cz-x65f4.js} +1 -1
- package/app/_app/immutable/chunks/D-AOq3WE.js +1 -0
- package/app/_app/immutable/chunks/{CVXYz4Ry.js → D0EVKkVy.js} +1 -1
- package/app/_app/immutable/chunks/{BAYsEv-e.js → D4yZevrq.js} +1 -1
- package/app/_app/immutable/chunks/D6XwweMX.js +1 -0
- package/app/_app/immutable/chunks/{CG5Km48X.js → DDbG0o5O.js} +1 -1
- package/app/_app/immutable/chunks/{CR3ke2sm.js → DFnV6D0T.js} +1 -1
- package/app/_app/immutable/chunks/{Bdr_byVM.js → DMvs-IhD.js} +1 -1
- package/app/_app/immutable/chunks/{BVDViJbe.js → DQ-K2lSl.js} +3 -3
- package/app/_app/immutable/chunks/{BXyzeJCG.js → DVyF9lxW.js} +1 -1
- package/app/_app/immutable/chunks/{2Z-piv9i.js → DY0FIR5r.js} +33 -33
- package/app/_app/immutable/chunks/{BkTWOWqH.js → DlqRGYvy.js} +1 -1
- package/app/_app/immutable/chunks/{pJ31zgvd.js → DrgPwc-O.js} +1 -1
- package/app/_app/immutable/chunks/{Baf_h1Ow.js → Dz3-5cbN.js} +1 -1
- package/app/_app/immutable/chunks/{e5pcO37r.js → Dz95xKWY.js} +1 -1
- package/app/_app/immutable/chunks/{BAAq6omT.js → Z4DMOMGY.js} +2 -2
- package/app/_app/immutable/chunks/{xMDUKAH0.js → cbnWgPfR.js} +1 -1
- package/app/_app/immutable/chunks/{CG-CrQ8f.js → jnYVlW4c.js} +1 -1
- package/app/_app/immutable/chunks/{CU54XeJJ.js → sg0UgZNf.js} +1 -1
- package/app/_app/immutable/chunks/{DEyQzFeZ.js → v7_Bq65j.js} +1 -1
- package/app/_app/immutable/chunks/{DscPino8.js → xntLALHK.js} +1 -1
- package/app/_app/immutable/entry/{app.1LuMRq7N.js → app.Dbf1H1Jw.js} +2 -2
- package/app/_app/immutable/entry/start.Jh81ZnHD.js +1 -0
- package/app/_app/immutable/nodes/{0.B62eX_Ng.js → 0.D8fJXn5V.js} +1 -1
- package/app/_app/immutable/nodes/{1.DM-MgeLn.js → 1.BzIvAWoW.js} +1 -1
- package/app/_app/immutable/nodes/{10.FujinZ3m.js → 10.BE9_2hQT.js} +1 -1
- package/app/_app/immutable/nodes/{11.CaYTqiu9.js → 11.BmIAUg0b.js} +1 -1
- package/app/_app/immutable/nodes/{12.C5Ljn6ui.js → 12.yZpMon13.js} +1 -1
- package/app/_app/immutable/nodes/{13.Cq1uk9vV.js → 13.1cLdmfo2.js} +1 -1
- package/app/_app/immutable/nodes/{14.BAd1o_cp.js → 14.DA_uSIKo.js} +1 -1
- package/app/_app/immutable/nodes/{2.BGO2IlfR.js → 2.BtW6vCA1.js} +3 -3
- package/app/_app/immutable/nodes/{3.mJ5u2ha6.js → 3.CGWUxSi6.js} +1 -1
- package/app/_app/immutable/nodes/{4.CLtOQaMN.js → 4.CpGqCTPV.js} +1 -1
- package/app/_app/immutable/nodes/{5.BvIghc-6.js → 5.D-S6x-VJ.js} +1 -1
- package/app/_app/immutable/nodes/{6.DXtIoUOY.js → 6.CEPkB5pz.js} +1 -1
- package/app/_app/immutable/nodes/{7.C-KDJz56.js → 7.CaAHCXx9.js} +1 -1
- package/app/_app/immutable/nodes/{8.Zg6debn8.js → 8.DwWPSyS-.js} +1 -1
- package/app/_app/immutable/nodes/{9.DfG-Pd7e.js → 9.BY1FHzN0.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +21 -21
- package/app/ai/index.html +24 -24
- package/app/blueprint/index.html +19 -19
- package/app/cookbook/index.html +19 -19
- package/app/index.html +28 -28
- package/app/m/ads/AdDeliveryTier/index.html +23 -23
- package/app/m/ads/AdEvent/index.html +23 -23
- package/app/m/ads/AdFormat/index.html +23 -23
- package/app/m/ads/AdGroup/index.html +23 -23
- package/app/m/ads/AdVariation/index.html +23 -23
- package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
- package/app/m/analytics/AnalyticsEvent/index.html +23 -23
- package/app/m/analytics/AnalyticsProperty/index.html +23 -23
- package/app/m/analytics/AnalyticsReport/index.html +23 -23
- package/app/m/approvals/ApprovalEvent/index.html +23 -23
- package/app/m/approvals/ApprovalPolicy/index.html +23 -23
- package/app/m/approvals/ApprovalRequest/index.html +23 -23
- package/app/m/assets/Asset/attachments/index.html +24 -24
- package/app/m/assets/Asset/index.html +23 -23
- package/app/m/assets/AssetAssociation/index.html +23 -23
- package/app/m/assets/AssetMetafield/index.html +23 -23
- package/app/m/assets/AssetStatus/index.html +23 -23
- package/app/m/assets/AssetType/index.html +23 -23
- package/app/m/assets/Folder/index.html +23 -23
- package/app/m/chat/AgentSession/index.html +23 -23
- package/app/m/chat/ChatMessage/index.html +23 -23
- package/app/m/chat/ChatParticipant/index.html +23 -23
- package/app/m/chat/ChatReaction/index.html +23 -23
- package/app/m/chat/ChatRoom/index.html +23 -23
- package/app/m/chat/ChatThread/index.html +23 -23
- package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
- package/app/m/chat/VoiceSession/index.html +23 -23
- package/app/m/commerce/Agreement/index.html +23 -23
- package/app/m/commerce/Cart/index.html +23 -23
- package/app/m/commerce/Contract/index.html +23 -23
- package/app/m/commerce/ContractLineItem/index.html +23 -23
- package/app/m/commerce/Customer/index.html +23 -23
- package/app/m/commerce/DocumentTax/index.html +23 -23
- package/app/m/commerce/Estimate/index.html +23 -23
- package/app/m/commerce/Fulfillment/index.html +23 -23
- package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
- package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
- package/app/m/commerce/Invoice/index.html +23 -23
- package/app/m/commerce/InvoiceLineItem/index.html +23 -23
- package/app/m/commerce/Lease/index.html +23 -23
- package/app/m/commerce/LicenseSale/index.html +23 -23
- package/app/m/commerce/Order/index.html +23 -23
- package/app/m/commerce/Payment/index.html +23 -23
- package/app/m/commerce/PaymentAllocation/index.html +23 -23
- package/app/m/commerce/PaymentInstrument/index.html +23 -23
- package/app/m/commerce/PaymentIntent/index.html +23 -23
- package/app/m/commerce/Payout/index.html +23 -23
- package/app/m/commerce/ProductionOrder/index.html +23 -23
- package/app/m/commerce/PurchaseContract/index.html +23 -23
- package/app/m/commerce/PurchaseOrder/index.html +23 -23
- package/app/m/commerce/SalesContract/index.html +23 -23
- package/app/m/commerce/SupplierQuote/index.html +23 -23
- package/app/m/commerce/TaxCode/index.html +23 -23
- package/app/m/commerce/TaxComponent/index.html +23 -23
- package/app/m/commerce/TaxSettings/index.html +23 -23
- package/app/m/commerce/TaxSummaryReport/index.html +23 -23
- package/app/m/commerce/TenantPaymentAccount/index.html +23 -23
- package/app/m/commerce/Vendor/index.html +23 -23
- package/app/m/commerce/WholesaleOrder/index.html +23 -23
- package/app/m/content/Content/articles/index.html +24 -24
- package/app/m/content/Content/index.html +23 -23
- package/app/m/content/ContentContribution/index.html +23 -23
- package/app/m/content/ContentContributionAttachment/index.html +23 -23
- package/app/m/content/ContentContributionRevision/index.html +23 -23
- package/app/m/content/ContentContributionType/index.html +23 -23
- package/app/m/content/ContentContributor/index.html +23 -23
- package/app/m/content/ContentCorrection/index.html +23 -23
- package/app/m/content/ContentFeedSource/index.html +23 -23
- package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
- package/app/m/content/ContentGovernancePolicy/index.html +23 -23
- package/app/m/content/ContentGovernanceProfile/index.html +23 -23
- package/app/m/content/ContentReference/index.html +23 -23
- package/app/m/content/ContentReview/index.html +23 -23
- package/app/m/content/ContentVersion/index.html +23 -23
- package/app/m/events/Event/index.html +23 -23
- package/app/m/events/EventParticipant/index.html +23 -23
- package/app/m/events/EventSeries/index.html +23 -23
- package/app/m/events/EventType/index.html +23 -23
- package/app/m/expenses/Expense/index.html +23 -23
- package/app/m/facts/Fact/index.html +23 -23
- package/app/m/facts/FactContent/index.html +23 -23
- package/app/m/facts/FactEvidence/index.html +23 -23
- package/app/m/facts/FactSource/index.html +23 -23
- package/app/m/facts/FactSubject/index.html +23 -23
- package/app/m/facts/FactTag/index.html +23 -23
- package/app/m/fields/FieldPolicy/index.html +23 -23
- package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
- package/app/m/fields/FieldUsageCounter/index.html +23 -23
- package/app/m/human-resources/Employment/index.html +23 -23
- package/app/m/human-resources/EmploymentTerm/index.html +23 -23
- package/app/m/human-resources/HeldQualification/index.html +23 -23
- package/app/m/human-resources/Qualification/index.html +23 -23
- package/app/m/images/Image/index.html +23 -23
- package/app/m/inventory/InventoryLocation/index.html +23 -23
- package/app/m/inventory/Lot/index.html +23 -23
- package/app/m/inventory/LotCorrection/index.html +23 -23
- package/app/m/inventory/LotDocument/index.html +23 -23
- package/app/m/inventory/LotStockLevel/index.html +23 -23
- package/app/m/inventory/LotUsage/index.html +23 -23
- package/app/m/inventory/StockLevel/index.html +23 -23
- package/app/m/inventory/StockMovement/index.html +23 -23
- package/app/m/ledgers/Account/index.html +23 -23
- package/app/m/ledgers/Journal/index.html +23 -23
- package/app/m/ledgers/JournalEntry/index.html +23 -23
- package/app/m/ledgers/Ledger/index.html +23 -23
- package/app/m/manufacturing/Assembly/index.html +23 -23
- package/app/m/manufacturing/BillOfMaterials/index.html +23 -23
- package/app/m/manufacturing/BomLine/index.html +23 -23
- package/app/m/manufacturing/Operation/index.html +23 -23
- package/app/m/manufacturing/ProductionRun/index.html +23 -23
- package/app/m/manufacturing/ProductionRunCompletion/index.html +23 -23
- package/app/m/manufacturing/RoutingStep/index.html +23 -23
- package/app/m/marketing/Campaign/index.html +23 -23
- package/app/m/marketing/CampaignChannel/index.html +23 -23
- package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
- package/app/m/messages/Account/index.html +23 -23
- package/app/m/messages/Attachment/index.html +23 -23
- package/app/m/messages/Blacklist/index.html +23 -23
- package/app/m/messages/Email/failed-sends/index.html +24 -24
- package/app/m/messages/Email/index.html +23 -23
- package/app/m/messages/Email/mailbox/index.html +24 -24
- package/app/m/messages/EmailAccount/index.html +23 -23
- package/app/m/messages/EmailAttachment/index.html +23 -23
- package/app/m/messages/EmailFolder/index.html +23 -23
- package/app/m/messages/Message/index.html +23 -23
- package/app/m/messages/MessagingEndpoint/index.html +23 -23
- package/app/m/messages/PersonaMessageRoute/index.html +23 -23
- package/app/m/messages/SlackAccount/index.html +23 -23
- package/app/m/messages/SlackMessage/index.html +23 -23
- package/app/m/messages/SlackMessage/slack-messages/index.html +24 -24
- package/app/m/messages/TelegramAccount/index.html +23 -23
- package/app/m/messages/Tweet/index.html +23 -23
- package/app/m/messages/TwitterAccount/index.html +23 -23
- package/app/m/messages/Whitelist/index.html +23 -23
- package/app/m/messages/ZulipAccount/index.html +23 -23
- package/app/m/places/Place/index.html +23 -23
- package/app/m/places/PlaceType/index.html +23 -23
- package/app/m/products/Category/index.html +23 -23
- package/app/m/products/Material/index.html +23 -23
- package/app/m/products/Product/index.html +23 -23
- package/app/m/products/Product/ingredients/index.html +24 -24
- package/app/m/products/ProductVariant/index.html +23 -23
- package/app/m/products/Sku/index.html +23 -23
- package/app/m/profiles/ApiKey/index.html +23 -23
- package/app/m/profiles/Bot/index.html +23 -23
- package/app/m/profiles/MagicLinkToken/index.html +23 -23
- package/app/m/profiles/NostrIdentity/index.html +23 -23
- package/app/m/profiles/OidcIdentity/index.html +23 -23
- package/app/m/profiles/Organization/index.html +23 -23
- package/app/m/profiles/Person/index.html +23 -23
- package/app/m/profiles/Profile/index.html +23 -23
- package/app/m/profiles/ProfileMetadata/index.html +23 -23
- package/app/m/profiles/ProfileMetafield/index.html +23 -23
- package/app/m/profiles/ProfileRelationship/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
- package/app/m/profiles/ProfileType/index.html +23 -23
- package/app/m/projects/Comment/index.html +23 -23
- package/app/m/projects/Issue/index.html +23 -23
- package/app/m/projects/Label/index.html +23 -23
- package/app/m/projects/Project/index.html +23 -23
- package/app/m/projects/ProjectIntegration/index.html +23 -23
- package/app/m/projects/PullRequest/index.html +23 -23
- package/app/m/projects/Repository/index.html +23 -23
- package/app/m/properties/Property/index.html +23 -23
- package/app/m/properties/Zone/index.html +23 -23
- package/app/m/reports/RuntimeReport/index.html +23 -23
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportLock/index.html +23 -23
- package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportRun/index.html +23 -23
- package/app/m/reports/SmrtReportSchedule/index.html +23 -23
- package/app/m/reports/SmrtReportWatermark/index.html +23 -23
- package/app/m/sales/Agreement/index.html +23 -23
- package/app/m/sales/AttributionException/index.html +23 -23
- package/app/m/sales/AttributionPolicy/index.html +23 -23
- package/app/m/sales/Commission/index.html +23 -23
- package/app/m/sales/CommissionAdjustment/index.html +23 -23
- package/app/m/sales/CommissionPayout/index.html +23 -23
- package/app/m/sales/CommissionPlan/index.html +23 -23
- package/app/m/sales/Earner/index.html +23 -23
- package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
- package/app/m/sales/EarningEvent/index.html +23 -23
- package/app/m/sales/ExecutedAgreement/index.html +23 -23
- package/app/m/sales/Lead/index.html +23 -23
- package/app/m/sales/Opportunity/index.html +23 -23
- package/app/m/sales/OpportunityConversion/index.html +23 -23
- package/app/m/sales/PipelineDefinition/index.html +23 -23
- package/app/m/sales/PipelineStage/index.html +23 -23
- package/app/m/sales/Referral/index.html +23 -23
- package/app/m/sales/ReferralAgreement/index.html +23 -23
- package/app/m/sales/ReferralLink/index.html +23 -23
- package/app/m/sales/ReferralProgram/index.html +23 -23
- package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
- package/app/m/sales/ReferralTouch/index.html +23 -23
- package/app/m/sales/Referrer/index.html +23 -23
- package/app/m/sales/ReferrerIdentifier/index.html +23 -23
- package/app/m/sales/SalesActivity/index.html +23 -23
- package/app/m/sales/SalesRepresentative/index.html +23 -23
- package/app/m/sites/Site/index.html +23 -23
- package/app/m/sites/SiteAgentBinding/index.html +23 -23
- package/app/m/social/OAuthState/index.html +23 -23
- package/app/m/social/SocialAccount/index.html +23 -23
- package/app/m/social/SocialPost/index.html +23 -23
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
- package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
- package/app/m/subscriptions/ClientCharge/index.html +23 -23
- package/app/m/subscriptions/CreditGrant/index.html +23 -23
- package/app/m/subscriptions/PricingRule/index.html +23 -23
- package/app/m/subscriptions/RetailCharge/index.html +23 -23
- package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
- package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
- package/app/m/subscriptions/SubscriptionPlanVersion/index.html +23 -23
- package/app/m/subscriptions/TenantSubscription/index.html +23 -23
- package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
- package/app/m/support/ServiceTimeEntry/index.html +23 -23
- package/app/m/support/SupportAiRun/index.html +23 -23
- package/app/m/support/SupportAvailability/index.html +23 -23
- package/app/m/support/SupportCase/index.html +23 -23
- package/app/m/support/SupportCaseEvent/index.html +23 -23
- package/app/m/support/SupportChannelBinding/index.html +23 -23
- package/app/m/support/SupportCharge/index.html +23 -23
- package/app/m/support/SupportCompensation/index.html +23 -23
- package/app/m/support/SupportCompensationPlan/index.html +23 -23
- package/app/m/support/SupportEscalation/index.html +23 -23
- package/app/m/support/SupportInteraction/index.html +23 -23
- package/app/m/support/SupportPlan/index.html +23 -23
- package/app/m/support/SupportPolicy/index.html +23 -23
- package/app/m/support/SupportQualification/index.html +23 -23
- package/app/m/support/SupportServiceTarget/index.html +23 -23
- package/app/m/support/SupportSpecialist/index.html +23 -23
- package/app/m/support/SupportWorkLink/index.html +23 -23
- package/app/m/tags/Tag/index.html +23 -23
- package/app/m/tags/TagAlias/index.html +23 -23
- package/app/m/timesheets/AttendanceBreak/index.html +23 -23
- package/app/m/timesheets/AttendancePunch/index.html +23 -23
- package/app/m/timesheets/AttendanceSegment/index.html +23 -23
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
- package/app/m/users/Group/index.html +23 -23
- package/app/m/users/GroupMember/index.html +23 -23
- package/app/m/users/GroupRole/index.html +23 -23
- package/app/m/users/Membership/index.html +23 -23
- package/app/m/users/MembershipOverride/index.html +23 -23
- package/app/m/users/Permission/index.html +23 -23
- package/app/m/users/Role/index.html +23 -23
- package/app/m/users/RolePermission/index.html +23 -23
- package/app/m/users/Session/index.html +23 -23
- package/app/m/users/Tenant/index.html +23 -23
- package/app/m/users/TenantIntegration/index.html +23 -23
- package/app/m/users/TenantPermissionOverride/index.html +23 -23
- package/app/m/users/User/index.html +23 -23
- package/app/m/video/Character/index.html +23 -23
- package/app/m/video/CharacterAsset/index.html +23 -23
- package/app/m/video/CompositeJob/index.html +23 -23
- package/app/m/video/Performer/index.html +23 -23
- package/app/m/video/PerformerAsset/index.html +23 -23
- package/app/m/video/Scene/index.html +23 -23
- package/app/m/video/SceneAsset/index.html +23 -23
- package/app/m/video/VideoComposition/index.html +23 -23
- package/app/m/video/VideoCompositionAsset/index.html +23 -23
- package/app/m/video/VideoSequence/index.html +23 -23
- package/app/m/video/VideoSequenceAsset/index.html +23 -23
- package/app/m/video/VideoShot/index.html +23 -23
- package/app/m/video/VideoShotAsset/index.html +23 -23
- package/app/m/video/VideoShotCharacter/index.html +23 -23
- package/app/m/video/VideoWorkflow/index.html +23 -23
- package/app/m/voice/VoiceOutput/index.html +23 -23
- package/app/m/voice/VoiceProfile/index.html +23 -23
- package/app/m/voice/VoiceSample/index.html +23 -23
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +21 -21
- package/app/packages/analytics/index.html +21 -21
- package/app/packages/approvals/index.html +21 -21
- package/app/packages/assets/index.html +21 -21
- package/app/packages/chat/index.html +21 -21
- package/app/packages/comments/index.html +21 -21
- package/app/packages/commerce/index.html +21 -21
- package/app/packages/content/index.html +21 -21
- package/app/packages/events/index.html +21 -21
- package/app/packages/expenses/index.html +21 -21
- package/app/packages/facts/index.html +21 -21
- package/app/packages/fields/index.html +21 -21
- package/app/packages/human-resources/index.html +21 -21
- package/app/packages/images/index.html +21 -21
- package/app/packages/index.html +20 -20
- package/app/packages/inference/index.html +21 -21
- package/app/packages/ingestion/index.html +21 -21
- package/app/packages/inventory/index.html +21 -21
- package/app/packages/ledgers/index.html +21 -21
- package/app/packages/manufacturing/index.html +21 -21
- package/app/packages/marketing/index.html +21 -21
- package/app/packages/messages/index.html +21 -21
- package/app/packages/places/index.html +21 -21
- package/app/packages/preferences/index.html +21 -21
- package/app/packages/products/index.html +21 -21
- package/app/packages/profiles/index.html +21 -21
- package/app/packages/projects/index.html +21 -21
- package/app/packages/properties/index.html +21 -21
- package/app/packages/reactions/index.html +21 -21
- package/app/packages/reports/index.html +21 -21
- package/app/packages/sales/index.html +21 -21
- package/app/packages/sites/index.html +21 -21
- package/app/packages/social/index.html +21 -21
- package/app/packages/subscriptions/index.html +21 -21
- package/app/packages/support/index.html +21 -21
- package/app/packages/tags/index.html +21 -21
- package/app/packages/timesheets/index.html +21 -21
- package/app/packages/users/index.html +21 -21
- package/app/packages/video/index.html +21 -21
- package/app/packages/voice/index.html +21 -21
- package/app/packages/webhooks/index.html +21 -21
- package/app/recipes/account-access/help/index.html +21 -21
- package/app/recipes/account-access/index.html +23 -23
- package/app/recipes/activity/help/index.html +21 -21
- package/app/recipes/activity/index.html +23 -23
- package/app/recipes/ads.campaigns/help/index.html +21 -21
- package/app/recipes/ads.campaigns/index.html +23 -23
- package/app/recipes/affiliates.referrals/help/index.html +21 -21
- package/app/recipes/affiliates.referrals/index.html +23 -23
- package/app/recipes/agreements/help/index.html +21 -21
- package/app/recipes/agreements/index.html +23 -23
- package/app/recipes/analytics.reports/help/index.html +21 -21
- package/app/recipes/analytics.reports/index.html +23 -23
- package/app/recipes/approvals.requests/help/index.html +21 -21
- package/app/recipes/approvals.requests/index.html +23 -23
- package/app/recipes/assets/help/index.html +21 -21
- package/app/recipes/assets/index.html +23 -23
- package/app/recipes/billing/help/index.html +21 -21
- package/app/recipes/billing/index.html +23 -23
- package/app/recipes/chat.assistant/help/index.html +21 -21
- package/app/recipes/chat.assistant/index.html +23 -23
- package/app/recipes/comments/help/index.html +21 -21
- package/app/recipes/comments/index.html +23 -23
- package/app/recipes/commerce.customers/help/index.html +21 -21
- package/app/recipes/commerce.customers/index.html +23 -23
- package/app/recipes/commerce.estimates/help/index.html +21 -21
- package/app/recipes/commerce.estimates/index.html +23 -23
- package/app/recipes/commerce.purchases/help/index.html +21 -21
- package/app/recipes/commerce.purchases/index.html +23 -23
- package/app/recipes/commerce.sales/help/index.html +21 -21
- package/app/recipes/commerce.sales/index.html +23 -23
- package/app/recipes/commerce.vendors/help/index.html +21 -21
- package/app/recipes/commerce.vendors/index.html +23 -23
- package/app/recipes/commerce.wholesale/help/index.html +21 -21
- package/app/recipes/commerce.wholesale/index.html +23 -23
- package/app/recipes/content.articles/help/index.html +21 -21
- package/app/recipes/content.articles/index.html +23 -23
- package/app/recipes/events.calendar/help/index.html +21 -21
- package/app/recipes/events.calendar/index.html +23 -23
- package/app/recipes/expenses.tracking/help/index.html +21 -21
- package/app/recipes/expenses.tracking/index.html +23 -23
- package/app/recipes/fields.form-customization/help/index.html +21 -21
- package/app/recipes/fields.form-customization/index.html +23 -23
- package/app/recipes/human-resources.people/help/index.html +21 -21
- package/app/recipes/human-resources.people/index.html +23 -23
- package/app/recipes/human-resources.qualifications/help/index.html +21 -21
- package/app/recipes/human-resources.qualifications/index.html +23 -23
- package/app/recipes/ingestion/help/index.html +21 -21
- package/app/recipes/ingestion/index.html +23 -23
- package/app/recipes/integrations/help/index.html +21 -21
- package/app/recipes/integrations/index.html +23 -23
- package/app/recipes/inventory.stock/help/index.html +21 -21
- package/app/recipes/inventory.stock/index.html +23 -23
- package/app/recipes/ledgers.bookkeeping/help/index.html +21 -21
- package/app/recipes/ledgers.bookkeeping/index.html +23 -23
- package/app/recipes/manufacturing.assemblies/help/index.html +21 -21
- package/app/recipes/manufacturing.assemblies/index.html +23 -23
- package/app/recipes/manufacturing.production/help/index.html +21 -21
- package/app/recipes/manufacturing.production/index.html +23 -23
- package/app/recipes/marketing.campaigns/help/index.html +21 -21
- package/app/recipes/marketing.campaigns/index.html +23 -23
- package/app/recipes/messages/help/index.html +21 -21
- package/app/recipes/messages/index.html +23 -23
- package/app/recipes/places.locations/help/index.html +21 -21
- package/app/recipes/places.locations/index.html +23 -23
- package/app/recipes/products/help/index.html +21 -21
- package/app/recipes/products/index.html +23 -23
- package/app/recipes/projects.tracker/help/index.html +21 -21
- package/app/recipes/projects.tracker/index.html +23 -23
- package/app/recipes/reports.materialized/help/index.html +21 -21
- package/app/recipes/reports.materialized/index.html +23 -23
- package/app/recipes/reports.runtime/help/index.html +21 -21
- package/app/recipes/reports.runtime/index.html +23 -23
- package/app/recipes/sales.pipeline/help/index.html +21 -21
- package/app/recipes/sales.pipeline/index.html +23 -23
- package/app/recipes/social.posts/help/index.html +21 -21
- package/app/recipes/social.posts/index.html +23 -23
- package/app/recipes/subscriptions.plans/help/index.html +21 -21
- package/app/recipes/subscriptions.plans/index.html +23 -23
- package/app/recipes/support.tickets/help/index.html +21 -21
- package/app/recipes/support.tickets/index.html +23 -23
- package/app/recipes/tags.taxonomy/help/index.html +21 -21
- package/app/recipes/tags.taxonomy/index.html +23 -23
- package/app/recipes/team-collaboration/help/index.html +21 -21
- package/app/recipes/team-collaboration/index.html +23 -23
- package/app/recipes/timesheets.time-entries/help/index.html +21 -21
- package/app/recipes/timesheets.time-entries/index.html +23 -23
- package/app/recipes/video.library/help/index.html +21 -21
- package/app/recipes/video.library/index.html +23 -23
- package/app/recipes/voice.profiles/help/index.html +21 -21
- package/app/recipes/voice.profiles/index.html +23 -23
- package/app/s/custom-accounts/index.html +19 -19
- package/app/s/custom-appointments/index.html +19 -19
- package/app/s/custom-billing/index.html +19 -19
- package/app/s/custom-bookings/index.html +19 -19
- package/app/s/custom-buying/index.html +19 -19
- package/app/s/custom-checkout/index.html +19 -19
- package/app/s/custom-classes/index.html +19 -19
- package/app/s/custom-clients/index.html +19 -19
- package/app/s/custom-events/index.html +19 -19
- package/app/s/custom-fleet/index.html +19 -19
- package/app/s/custom-gigs/index.html +19 -19
- package/app/s/custom-giving/index.html +19 -19
- package/app/s/custom-instruments/index.html +19 -19
- package/app/s/custom-jobs/index.html +19 -19
- package/app/s/custom-kitchen/index.html +19 -19
- package/app/s/custom-lessons/index.html +19 -19
- package/app/s/custom-material/index.html +19 -19
- package/app/s/custom-meetings/index.html +19 -19
- package/app/s/custom-members/index.html +19 -19
- package/app/s/custom-merch/index.html +19 -19
- package/app/s/custom-money/index.html +19 -19
- package/app/s/custom-paint/index.html +19 -19
- package/app/s/custom-parts/index.html +19 -19
- package/app/s/custom-rentals/index.html +19 -19
- package/app/s/custom-roastery/index.html +19 -19
- package/app/s/custom-schedule/index.html +19 -19
- package/app/s/custom-shelf/index.html +19 -19
- package/app/s/custom-shop/index.html +19 -19
- package/app/s/custom-students/index.html +19 -19
- package/app/s/custom-wholesale/index.html +19 -19
- package/app/s/custom-work/index.html +19 -19
- package/app/s/custom-yard/index.html +19 -19
- package/app/s/section-access-control/index.html +19 -19
- package/app/s/section-account-security/index.html +19 -19
- package/app/s/section-accounting/index.html +19 -19
- package/app/s/section-activity/index.html +19 -19
- package/app/s/section-agreements/index.html +19 -19
- package/app/s/section-analytics/index.html +19 -19
- package/app/s/section-approvals/index.html +19 -19
- package/app/s/section-assets/index.html +19 -19
- package/app/s/section-billing/index.html +19 -19
- package/app/s/section-calendar/index.html +19 -19
- package/app/s/section-catalog/index.html +19 -19
- package/app/s/section-chat.assistant/index.html +19 -19
- package/app/s/section-comments/index.html +19 -19
- package/app/s/section-fields.form-customization/index.html +19 -19
- package/app/s/section-grow/index.html +19 -19
- package/app/s/section-ingestion/index.html +19 -19
- package/app/s/section-integrations/index.html +19 -19
- package/app/s/section-make/index.html +19 -19
- package/app/s/section-messages/index.html +19 -19
- package/app/s/section-more/index.html +19 -19
- package/app/s/section-operations/index.html +19 -19
- package/app/s/section-places/index.html +19 -19
- package/app/s/section-projects/index.html +19 -19
- package/app/s/section-publish/index.html +19 -19
- package/app/s/section-purchasing/index.html +19 -19
- package/app/s/section-reports.materialized/index.html +19 -19
- package/app/s/section-reports.runtime/index.html +19 -19
- package/app/s/section-sales/index.html +19 -19
- package/app/s/section-staff/index.html +19 -19
- package/app/s/section-support/index.html +19 -19
- package/app/s/section-taxonomy/index.html +19 -19
- package/app/s/section-team/index.html +19 -19
- package/app/s/section-work/index.html +19 -19
- package/dist/catalog/catalog.json +167 -57
- package/dist/core/index.js +166 -65
- package/dist/smrt-version.d.ts +1 -1
- package/dist/smrt-version.js +1 -1
- package/package.json +56 -56
- package/app/_app/immutable/chunks/B7udwM8h.js +0 -1
- package/app/_app/immutable/chunks/DOh7DUxO.js +0 -1
- package/app/_app/immutable/entry/start.BS6dMYjp.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,B as t,Ct as n,D as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,M as m,Ot as h,P as g,Pt as _,R as v,Rt as y,T as b,U as x,W as S,X as C,Y as w,Z as T,a as E,bt as D,ct as ee,d as O,ft as k,g as A,gt as j,ht as M,j as N,mt as P,n as F,nt as I,pt as L,q as R,st as z,v as B,vt as V,z as te}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{i as ne,o as H,r as re,t as ie}from"./Cekjnrta.js";import{a as U,t as ae}from"./Bq8E3AWP.js";import{At as oe,Dt as se,Nt as ce,O as W,Tt as le,bt as G,d as K,h as q,m as J}from"./2Z-piv9i.js";import{n as ue,t as de}from"./DK8Blf1Y.js";import{n as Y,r as fe}from"./D3syEjNq.js";import{a as pe,d as me,l as he,m as ge,o as _e,s as X}from"./DNEWjgYb.js";import{t as ve}from"./u9MeOxuL.js";import{b as ye,d as be,l as xe,n as Se,u as Ce}from"./4HO85oKR.js";import{$ as we,et as Te}from"./CG-CrQ8f.js";var Ee=/^[A-Za-z][A-Za-z0-9]{0,31}$/,De=/^[A-Za-z_][A-Za-z0-9_.-]{0,63}$/,Oe=/^(?:(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*:)?[A-Za-z][A-Za-z0-9_]{0,63}$/,ke=160,Ae=200,je=1e4;function Me(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ne(e,t){let n=new Set;for(let r of t){if(!Ee.test(r.key))throw Error(`widget "${e}": invalid option key "${r.key}"`);if(n.has(r.key))throw Error(`widget "${e}": duplicate option key "${r.key}"`);if(n.add(r.key),r.type===`enum`&&!r.choices?.length)throw Error(`widget "${e}": enum option "${r.key}" needs choices`);if(r.default!==void 0&&r.default!==null&&Fe(r,r.default,void 0).issue)throw Error(`widget "${e}": default of option "${r.key}" is invalid`)}}function Pe(e,t){return{issue:{key:e,code:t}}}function Fe(e,t,n){let{key:r}=e;switch(e.type){case`text`:case`markdown`:{if(typeof t!=`string`)return Pe(r,`invalid_type`);let n=e.maxLength??(e.type===`markdown`?je:Ae);return t.length>n?Pe(r,`too_long`):{value:t}}case`identifier`:return typeof t==`string`?De.test(t)?{value:t}:Pe(r,`invalid_format`):Pe(r,`invalid_type`);case`model`:return typeof t==`string`?t.length>ke||!Oe.test(t)?Pe(r,`invalid_format`):n?.models&&!n.models.includes(t)?Pe(r,`not_allowed`):{value:t}:Pe(r,`invalid_type`);case`enum`:return typeof t==`string`?e.choices?.some(e=>e.value===t)?{value:t}:Pe(r,`not_in_choices`):Pe(r,`invalid_type`);case`boolean`:return typeof t==`boolean`?{value:t}:Pe(r,`invalid_type`);case`integer`:case`number`:return typeof t!=`number`||!Number.isFinite(t)||e.type===`integer`&&!Number.isSafeInteger(t)?Pe(r,`invalid_type`):e.min!==void 0&&t<e.min||e.max!==void 0&&t>e.max?Pe(r,`out_of_range`):{value:t}}}function Ie(e){let t={};for(let n of e)n.default!==void 0&&n.default!==null&&(t[n.key]=n.default);return t}function Le(e,t,n,r){if(e.default!==void 0&&e.default!==null){let i=Fe(e,e.default,t);i.issue?r.push(i.issue):i.value!==void 0&&(n[e.key]=i.value)}else e.required&&r.push({key:e.key,code:`required`})}function Re(e,t,n){let r=[],i=t==null?{}:Me(t)?t:{};if(t!=null&&!Me(t))return r.push({key:``,code:`invalid_type`}),{ok:!1,issues:r};let a=new Set(e.map(e=>e.key));for(let e of Object.keys(i))a.has(e)||r.push({key:e,code:`unknown_option`});let o={};for(let t of e){let e=Object.hasOwn(i,t.key)?i[t.key]:void 0;if(e==null||e===``&&t.type!==`text`&&t.type!==`markdown`){Le(t,n,o,r);continue}let a=Fe(t,e,n);a.issue?r.push(a.issue):a.value!==void 0&&(o[t.key]=a.value)}return r.length>0?{ok:!1,issues:r}:{ok:!0,options:o}}function ze(e,t){let n=e??{},r=t??{},i=new Set([...Object.keys(n),...Object.keys(r)]);for(let e of i)if((n[e]??null)!==(r[e]??null))return!1;return!0}var Be=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/,Ve=/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,95}$/,He=/^[a-z][a-z0-9-]{0,31}$/;function Ue(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function We(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=4}function Ge(e){if(e===void 0)return{};if(!Ue(e))return null;let t={};for(let[n,r]of Object.entries(e))if(r===null||typeof r==`string`||typeof r==`boolean`||typeof r==`number`&&Number.isFinite(r))t[n]=r;else return null;return t}function Ke(e,t){let n=Ue(e)&&typeof e.id==`string`?e.id:null,r=Ue(e)&&typeof e.type==`string`?e.type:null,i=e=>(t.push({widgetId:n,type:r,code:`malformed`,message:e}),null);if(!Ue(e))return i(`widget is not an object`);if(n===null||!Be.test(n))return i(`widget id is missing or invalid`);if(r===null)return i(`widget type is missing`);if(!We(e.span))return t.push({widgetId:n,type:r,code:`invalid_span`,message:`span must be an integer from 1 to 4`}),null;let a=Ge(e.options);if(a===null)return t.push({widgetId:n,type:r,code:`invalid_options`,message:`options must be an object of primitive values`}),null;let o={id:n,type:r,span:e.span,options:a};if(e.version!==void 0){if(typeof e.version!=`number`||!Number.isSafeInteger(e.version)||e.version<1)return i(`version must be a positive integer`);o.version=e.version}return o}function qe(e){let t=[],n=[],r=Ue(e)&&Array.isArray(e.widgets)?e.widgets:null;if(r===null)return e!=null&&t.push({widgetId:null,type:null,code:`malformed`,message:`overview must be an object with a widgets array`}),{document:{widgets:n},issues:t};let i=new Set;for(let e of r){let r=Ke(e,t);r&&(i.has(r.id)?t.push({widgetId:r.id,type:r.type,code:`duplicate_id`,message:`widget id appears more than once`}):(i.add(r.id),n.push(r)))}return{document:{widgets:n},issues:t}}function Je(e){let t=[];if(e==null)return{override:null,issues:t};if(!Ue(e)||e.version!==1)return t.push({widgetId:null,type:null,code:`malformed`,message:`override must be an object with version 1`}),{override:null,issues:t};let n={version:1},r=e=>{if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`&&Be.test(e));return[...new Set(t)]},i=r(e.order);i?.length&&(n.order=i);let a=r(e.removed);if(a?.length&&(n.removed=a),Array.isArray(e.added)){let{document:r}=qe({widgets:e.added});r.widgets.length&&(n.added=r.widgets);let i=e.added.length-r.widgets.length;i>0&&t.push({widgetId:null,type:null,code:`malformed`,message:`${i} added widget(s) were malformed and dropped`})}if(Ue(e.changed)){let t={};for(let[n,r]of Object.entries(e.changed)){if(!Be.test(n)||!Ue(r))continue;let e={};We(r.span)&&(e.span=r.span);let i=r.options===void 0?void 0:Ge(r.options);i&&(e.options=i),typeof r.version==`number`&&Number.isSafeInteger(r.version)&&r.version>=1&&(e.version=r.version),Object.keys(e).length&&(t[n]=e)}Object.keys(t).length&&(n.changed=t)}return{override:Ye(n)?null:n,issues:t}}function Ye(e){return e===null||!e.order?.length&&!e.removed?.length&&!e.added?.length&&!Object.keys(e.changed??{}).length}function Xe(e){let t={id:e.id,type:e.type,span:e.span,options:{...e.options}};return e.version!==void 0&&(t.version=e.version),t}function Ze(e,t){if(Ye(t)||t===null)return{widgets:e.widgets.map(Xe)};let n=new Set(t.removed??[]),r=new Set(e.widgets.map(e=>e.id)),i=[];for(let r of e.widgets){if(n.has(r.id))continue;let e=Xe(r),a=t.changed?.[r.id];a&&(a.span!==void 0&&(e.span=a.span),a.options!==void 0&&(e.options={...a.options}),a.version!==void 0&&(e.version=a.version)),i.push(e)}for(let e of t.added??[])r.has(e.id)||i.push(Xe(e));let a=t.order;if(a?.length){let e=new Map(i.map(e=>[e.id,e])),t=a.filter((t,n)=>e.has(t)&&a.indexOf(t)===n),n=new Set(t),r=t.map(t=>e.get(t)),o=0;return{widgets:i.map(e=>n.has(e.id)?r[o++]:e)}}return{widgets:i}}function Qe(e,t){let n=new Map(e.widgets.map(e=>[e.id,e])),r=new Set(t.widgets.map(e=>e.id)),i={version:1},a=e.widgets.filter(e=>!r.has(e.id)).map(e=>e.id);a.length&&(i.removed=a);let o=t.widgets.filter(e=>!n.has(e.id)).map(Xe);o.length&&(i.added=o);let s={};for(let e of t.widgets){let t=n.get(e.id);if(!t)continue;let r={};e.span!==t.span&&(r.span=e.span);let i=(e.version??1)!==(t.version??1);(!ze(e.options,t.options)||i)&&(r.options={...e.options},e.version!==void 0&&(r.version=e.version)),Object.keys(r).length&&(s[e.id]=r)}Object.keys(s).length&&(i.changed=s);let c=Ze(e,i).widgets.map(e=>e.id),l=t.widgets.map(e=>e.id);return c.some((e,t)=>e!==l[t])&&(i.order=l),Ye(i)?null:i}function $e(e){let t=new Set(e),n=1;for(let e of t){let t=/^w(\d+)$/.exec(e);if(!t)continue;let r=Number(t[1]);Number.isSafeInteger(r)&&r<2**53-1&&(n=Math.max(n,r+1))}for(;n<2**53-1&&t.has(`w${n}`);)n+=1;if(!t.has(`w${n}`))return`w${n}`;for(n=1;t.has(`w${n}`);n+=1);return`w${n}`}function et(e,{registry:t,definition:n}){let r=[],i=[],a=new Set,o=n.maxWidgets??24,s=(e,t,n,i={})=>{r.push({widgetId:e.id,type:e.type,code:t,message:n,...i})};for(let r of e.widgets){if(a.has(r.id)){s(r,`duplicate_id`,`widget id appears more than once`);continue}a.add(r.id);let e=t.get(r.type);if(!e){s(r,`unknown_type`,`widget type is not registered`);continue}if(n.allowed&&!n.allowed.includes(r.type)||e.allowedIn&&!e.allowedIn.includes(n.id)){s(r,`type_not_allowed`,`widget type is not allowed in this overview`);continue}if(i.length>=o){s(r,`too_many`,`an overview holds at most ${o} widgets`);continue}let c=r.version??1,l=r.options;if(c>e.version){s(r,`future_version`,`options were written by a newer widget version`);continue}if(c<e.version){let t=null;try{t=e.migrate?e.migrate({...r.options},c):null}catch{t=null}if(!t||!Ue(t)){s(r,`migration_failed`,`no migration from version ${c}`);continue}l=t}let u=Re(e.options,l,{models:n.models});u.ok?i.push({id:r.id,type:r.type,span:Math.min(e.maxSpan,Math.max(e.minSpan,r.span)),options:u.options,version:e.version}):s(r,`invalid_options`,`options do not match the widget schema`,{options:u.issues})}return{document:{widgets:i},issues:r}}function tt(e,t,n){let r=et({widgets:[...e.defaults]},{registry:n,definition:e}),i=Je(t),a=et(Ze(r.document,i.override),{registry:n,definition:e});return{base:r.document,document:a.document,override:i.override,issues:[...r.issues,...i.issues,...a.issues],overrideIssues:[...i.issues,...a.issues]}}function nt(e,t,n){let r=tt(e,t,n);return r.overrideIssues.length>0?{ok:!1,issues:r.overrideIssues}:{ok:!0,override:Qe(r.base,r.document)}}function rt(e){if(!Ve.test(e.id))throw Error(`defineOverview: invalid overview id "${e.id}"`);let t=new Set;for(let n of e.defaults){if(!Be.test(n.id)||t.has(n.id))throw Error(`defineOverview: invalid or duplicate widget id "${n.id}"`);t.add(n.id)}return Object.freeze({...e,defaults:Object.freeze([...e.defaults])})}function it(e){if(!He.test(e.type))throw Error(`registerWidget: invalid widget type "${e.type}"`);let t=e.version??1;if(!Number.isSafeInteger(t)||t<1)throw Error(`widget "${e.type}": version must be a positive integer`);let n=e.minSpan??1,r=e.maxSpan??4;if(!Number.isInteger(n)||!Number.isInteger(r)||n<1||r>4||n>r)throw Error(`widget "${e.type}": invalid span range`);let i=Math.min(r,Math.max(n,e.defaultSpan??n));for(let t of e.allowedIn??[])if(!Ve.test(t))throw Error(`widget "${e.type}": invalid allowedIn id "${t}"`);return Ne(e.type,e.options),Object.freeze({...e,options:Object.freeze([...e.options]),version:t,defaultSpan:i,minSpan:n,maxSpan:r})}var at=class{#e=new Map;register(e,t={}){let n=it(e);if(this.#e.has(e.type)&&!t.replace)throw Error(`registerWidget: "${e.type}" is already registered`);return this.#e.set(e.type,n),()=>{this.#e.get(e.type)===n&&this.#e.delete(e.type)}}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}types(){return[...this.#e.keys()]}list(){return[...this.#e.values()]}};function ot(){return new at}var st=ot();function ct(e){return typeof e==`object`&&!!e&&`default`in e}async function lt(e,t=st){let n=new Map;return await Promise.all([...new Set(e)].map(async e=>{let r=t.get(e);if(r){if(r.component)n.set(e,r.component);else if(r.loadComponent)try{let t=await r.loadComponent();n.set(e,ct(t)?t.default:t)}catch{}}})),n}function ut(e){return JSON.stringify([e.type,e.version??1,e.options])}var dt=class{#e;#t;#n=D(null);#r=D({});#i=new Map;#a=null;#o=n(()=>{let t=tt(this.#e.definition,this.#e.override?this.#e.override():e(this.#n),this.#t);return this.#c(Qe(t.base,t.document)),t});constructor(e){this.#e=e,this.#t=e.registry??st;let t=typeof e.loaded==`function`?e.loaded():e.loaded;t&&this.#s(t)}#s(e){let t={};for(let n of e.widgets)t[n.id]={key:ut(n),status:n.status,data:n.data,error:n.error?.code};V(this.#r,t)}get definition(){return this.#e.definition}get registry(){return this.#t}get document(){return e(this.#o).document}get base(){return e(this.#o).base}get override(){return Qe(e(this.#o).base,e(this.#o).document)}get committedOverride(){let e=this.override;this.#c(e);let t=this.#a;return t?t.values.at(-1):e}#c(e){let t=this.#a;if(!t||ft(e,t.prior))return;let n=t.values.findIndex(t=>ft(t,e));this.#a=n<0||n===t.values.length-1?null:{prior:e,values:t.values.slice(n+1)}}#l(e){if(this.#e.override){let t=this.override;this.#c(t);let n=this.#a;this.#a=n?{prior:n.prior,values:[...n.values,e]}:{prior:t,values:[e]}}else V(this.#n,e);this.#e.onchange?.(e)}get issues(){return e(this.#o).issues}get customized(){return!Ye(this.override)}get canCustomize(){return!this.#e.canCustomize||this.#e.canCustomize()}get full(){let e=this.#e.definition.maxWidgets??24;return this.document.widgets.length>=e}get addable(){let{allowed:e,id:t}=this.#e.definition;return this.#t.list().filter(n=>(!e||e.includes(n.type))&&(!n.allowedIn||n.allowedIn.includes(t)))}entry(t){let n=e(this.#r)[t.id];return n&&n.key===ut(t)?n:{status:this.#e.loadWidget?`loading`:`ready`}}#u(){return this.#e.definition.models}#d(){return this.canCustomize?null:{ok:!1,reason:`not_allowed`}}#f(t,n){let r=et(t,{registry:this.#t,definition:this.#e.definition}),i=Qe(e(this.#o).base,r.document);return ft(i,this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(i),this.#h(r.document.widgets),{ok:!0,id:n})}#p(){let t=this.override;return[...e(this.#o).base.widgets.map(e=>e.id),...this.document.widgets.map(e=>e.id),...t?.removed??[],...(t?.added??[]).map(e=>e.id)]}add(e,t={}){let n=this.#d();if(n)return n;let r=this.addable.find(t=>t.type===e);if(!r)return{ok:!1,reason:`unknown_type`};if(this.full)return{ok:!1,reason:`limit`};let i=Re(r.options,{...Ie(r.options),...t},{models:this.#u()});if(!i.ok)return{ok:!1,reason:`invalid_options`,issues:i.issues};let a=$e(this.#p());return this.#f({widgets:[...this.document.widgets,{id:a,type:e,span:r.defaultSpan,options:i.options,version:r.version}]},a)}#m(e){return this.document.widgets.find(t=>t.id===e)}remove(e){return this.#d()||(this.#m(e)?this.#f({widgets:this.document.widgets.filter(t=>t.id!==e)},e):{ok:!1,reason:`unknown_widget`})}move(e,t){let n=this.#d();if(n)return n;let r=this.#m(e);if(!r)return{ok:!1,reason:`unknown_widget`};let i=this.document.widgets.filter(t=>t.id!==e),a=Math.max(0,Math.min(t,i.length));return i.splice(a,0,r),this.#f({widgets:i},e)}resize(e,t){return this.#d()||(this.#m(e)?this.#f({widgets:this.document.widgets.map(n=>n.id===e?{...n,span:Math.round(t)}:n)},e):{ok:!1,reason:`unknown_widget`})}setOptions(e,t){let n=this.#d();if(n)return n;let r=this.#m(e),i=r?this.#t.get(r.type):void 0;if(!r||!i)return{ok:!1,reason:`unknown_widget`};let a=Re(i.options,t,{models:this.#u()});return a.ok?this.#f({widgets:this.document.widgets.map(t=>t.id===e?{...t,options:a.options,version:i.version}:t)},e):{ok:!1,reason:`invalid_options`,issues:a.issues}}resetWidget(t){let n=this.#d();if(n)return n;let r=e(this.#o).base.widgets.find(e=>e.id===t);return r?this.#f({widgets:this.document.widgets.some(e=>e.id===t)?this.document.widgets.map(e=>e.id===t?{...r}:e):[...this.document.widgets,{...r}]},t):this.remove(t)}reset(){return this.#d()||(Ye(this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(null),this.#h(e(this.#o).base.widgets),{ok:!0,id:``}))}restore(e){let t=this.#d();if(t)return t;let{override:n}=Je(e),r=tt(this.#e.definition,n,this.#t),i=Qe(r.base,r.document);return ft(i,this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(i),this.#h(r.document.widgets),{ok:!0,id:``})}reload(e){let t=this.#m(e);t&&this.#g(t)}sync(){this.#h(this.document.widgets)}#h(t){I(()=>{let n=new Set(t.map(e=>e.id)),r={};for(let[t,i]of Object.entries(e(this.#r)))n.has(t)&&(r[t]=i);for(let[e,t]of this.#i)n.has(e)||(t.abort(),this.#i.delete(e));if(V(this.#r,r),this.#e.loadWidget)for(let n of t){let t=e(this.#r)[n.id];(!t||t.key!==ut(n))&&this.#g(n)}})}#g(t){let n=this.#e.loadWidget;if(!n)return;let r=ut(t);this.#i.get(t.id)?.abort();let i=new AbortController;this.#i.set(t.id,i),V(this.#r,{...e(this.#r),[t.id]:{key:r,status:`loading`}});let a=n=>{i.signal.aborted||(this.#i.get(t.id)===i&&this.#i.delete(t.id),e(this.#r)[t.id]?.key===r&&V(this.#r,{...e(this.#r),[t.id]:{key:r,...n}}))};Promise.resolve().then(()=>i.signal.aborted?void 0:n(t,i.signal)).then(e=>a({status:`ready`,data:e}),()=>a({status:`error`,error:`load_failed`}))}destroy(){for(let e of this.#i.values())e.abort();this.#i.clear()}};function ft(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}function pt(e){return new dt(e)}function mt(e){return de.get(e.trim().toUpperCase())??2}var ht=`–`;function gt(e){try{return Intl.getCanonicalLocales(e)[0]??`en`}catch{return`en`}}function _t(e,{format:t=`integer`,currency:n=`USD`,locale:r,compact:i=!1}){if(typeof e!=`number`||!Number.isFinite(e))return ht;let a=gt(r),o=i?{notation:`compact`,maximumFractionDigits:1}:{};switch(t){case`money`:{let t=/^[A-Za-z]{3}$/.test(n)?n.toUpperCase():`USD`,r=mt(t);return new Intl.NumberFormat(a,{style:`currency`,currency:t,...o}).format(e/10**r)}case`percent`:return new Intl.NumberFormat(a,{style:`percent`,maximumFractionDigits:1}).format(e);case`decimal`:return new Intl.NumberFormat(a,{maximumFractionDigits:2,...o}).format(e);default:return new Intl.NumberFormat(a,{maximumFractionDigits:0,...o}).format(e)}}function vt(e,t,n){let r=new Date(/^\d{4}-\d{2}-\d{2} \d/.test(e)?`${e.replace(` `,`T`)}Z`:e);if(Number.isNaN(r.getTime()))return e;let i=gt(n),a=e=>new Intl.DateTimeFormat(i,{timeZone:`UTC`,...e}).format(r);switch(t){case`year`:return a({year:`numeric`});case`quarter`:return`Q${Math.floor(r.getUTCMonth()/3)+1} ${r.getUTCFullYear()}`;case`month`:return a({month:`short`,year:`numeric`});case`week`:case`day`:return a({month:`short`,day:`numeric`});default:return a({month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`})}}var yt=200,bt=4,xt=2e4;function St(e){let t=e.trim();if(!t||t.length>2048||/[\u0000-\u001f\u007f\s<>"'`\\]/.test(t))return null;if(/^https?:\/\//i.test(t))try{return new URL(t),t}catch{return null}return/^mailto:[^\s?]+(\?.*)?$/i.test(t)||t.startsWith(`#`)||t.startsWith(`/`)&&!t.startsWith(`//`)?t:null}var Ct=e=>e!==void 0&&/[A-Za-z0-9]/.test(e);function wt(e,t){let n=[],r=``,i=()=>{r&&n.push({type:`text`,text:r}),r=``},a=0;for(;a<e.length;){let o=e[a];if(o===`\\`&&a+1<e.length&&/[\\`*_[\]()#>-]/.test(e[a+1]))r+=e[a+1],a+=2;else{if(o==="`"){let t=e.indexOf("`",a+1);if(t>a+1){i(),n.push({type:`code`,text:e.slice(a+1,t)}),a=t+1;continue}}if(t<bt&&e.startsWith(`**`,a)){let r=e.indexOf(`**`,a+2);if(r>a+2){i(),n.push({type:`strong`,children:wt(e.slice(a+2,r),t+1)}),a=r+2;continue}}if(t<bt&&(o===`*`||o===`_`)&&e[a+1]!==` `&&!(o===`_`&&Ct(e[a-1]))){let r=e.indexOf(o,a+1);if(r>a+1&&e[r-1]!==` `&&!(o===`_`&&Ct(e[r+1]))){i(),n.push({type:`em`,children:wt(e.slice(a+1,r),t+1)}),a=r+1;continue}}if(o===`[`&&t<bt){let r=e.indexOf(`](`,a+1),o=r>0?e.indexOf(`)`,r+2):-1;if(r>0&&o>0){let s=e.slice(a+1,r),c=St(e.slice(r+2,o));i(),c?n.push({type:`link`,href:c,children:wt(s,t+1)}):n.push(...wt(s,t+1)),a=o+1;continue}}r+=o,a+=1}}return i(),n}function Tt(e){let t=e.slice(0,xt).replace(/\r\n?/g,`
|
|
1
|
+
import{$ as e,B as t,Ct as n,D as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,M as m,Ot as h,P as g,Pt as _,R as v,Rt as y,T as b,U as x,W as S,X as C,Y as w,Z as T,a as E,bt as D,ct as ee,d as O,ft as k,g as A,gt as j,ht as M,j as N,mt as P,n as F,nt as I,pt as L,q as R,st as z,v as B,vt as V,z as te}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{i as ne,o as H,r as re,t as ie}from"./Cekjnrta.js";import{a as U,t as ae}from"./Bq8E3AWP.js";import{At as oe,Dt as se,Nt as ce,O as W,Tt as le,bt as G,d as K,h as q,m as J}from"./DY0FIR5r.js";import{n as ue,t as de}from"./DK8Blf1Y.js";import{n as Y,r as fe}from"./D3syEjNq.js";import{a as pe,d as me,l as he,m as ge,o as _e,s as X}from"./DNEWjgYb.js";import{t as ve}from"./C1jdM9su.js";import{b as ye,d as be,l as xe,n as Se,u as Ce}from"./4HO85oKR.js";import{$ as we,et as Te}from"./jnYVlW4c.js";var Ee=/^[A-Za-z][A-Za-z0-9]{0,31}$/,De=/^[A-Za-z_][A-Za-z0-9_.-]{0,63}$/,Oe=/^(?:(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*:)?[A-Za-z][A-Za-z0-9_]{0,63}$/,ke=160,Ae=200,je=1e4;function Me(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ne(e,t){let n=new Set;for(let r of t){if(!Ee.test(r.key))throw Error(`widget "${e}": invalid option key "${r.key}"`);if(n.has(r.key))throw Error(`widget "${e}": duplicate option key "${r.key}"`);if(n.add(r.key),r.type===`enum`&&!r.choices?.length)throw Error(`widget "${e}": enum option "${r.key}" needs choices`);if(r.default!==void 0&&r.default!==null&&Fe(r,r.default,void 0).issue)throw Error(`widget "${e}": default of option "${r.key}" is invalid`)}}function Pe(e,t){return{issue:{key:e,code:t}}}function Fe(e,t,n){let{key:r}=e;switch(e.type){case`text`:case`markdown`:{if(typeof t!=`string`)return Pe(r,`invalid_type`);let n=e.maxLength??(e.type===`markdown`?je:Ae);return t.length>n?Pe(r,`too_long`):{value:t}}case`identifier`:return typeof t==`string`?De.test(t)?{value:t}:Pe(r,`invalid_format`):Pe(r,`invalid_type`);case`model`:return typeof t==`string`?t.length>ke||!Oe.test(t)?Pe(r,`invalid_format`):n?.models&&!n.models.includes(t)?Pe(r,`not_allowed`):{value:t}:Pe(r,`invalid_type`);case`enum`:return typeof t==`string`?e.choices?.some(e=>e.value===t)?{value:t}:Pe(r,`not_in_choices`):Pe(r,`invalid_type`);case`boolean`:return typeof t==`boolean`?{value:t}:Pe(r,`invalid_type`);case`integer`:case`number`:return typeof t!=`number`||!Number.isFinite(t)||e.type===`integer`&&!Number.isSafeInteger(t)?Pe(r,`invalid_type`):e.min!==void 0&&t<e.min||e.max!==void 0&&t>e.max?Pe(r,`out_of_range`):{value:t}}}function Ie(e){let t={};for(let n of e)n.default!==void 0&&n.default!==null&&(t[n.key]=n.default);return t}function Le(e,t,n,r){if(e.default!==void 0&&e.default!==null){let i=Fe(e,e.default,t);i.issue?r.push(i.issue):i.value!==void 0&&(n[e.key]=i.value)}else e.required&&r.push({key:e.key,code:`required`})}function Re(e,t,n){let r=[],i=t==null?{}:Me(t)?t:{};if(t!=null&&!Me(t))return r.push({key:``,code:`invalid_type`}),{ok:!1,issues:r};let a=new Set(e.map(e=>e.key));for(let e of Object.keys(i))a.has(e)||r.push({key:e,code:`unknown_option`});let o={};for(let t of e){let e=Object.hasOwn(i,t.key)?i[t.key]:void 0;if(e==null||e===``&&t.type!==`text`&&t.type!==`markdown`){Le(t,n,o,r);continue}let a=Fe(t,e,n);a.issue?r.push(a.issue):a.value!==void 0&&(o[t.key]=a.value)}return r.length>0?{ok:!1,issues:r}:{ok:!0,options:o}}function ze(e,t){let n=e??{},r=t??{},i=new Set([...Object.keys(n),...Object.keys(r)]);for(let e of i)if((n[e]??null)!==(r[e]??null))return!1;return!0}var Be=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/,Ve=/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,95}$/,He=/^[a-z][a-z0-9-]{0,31}$/;function Ue(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function We(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=4}function Ge(e){if(e===void 0)return{};if(!Ue(e))return null;let t={};for(let[n,r]of Object.entries(e))if(r===null||typeof r==`string`||typeof r==`boolean`||typeof r==`number`&&Number.isFinite(r))t[n]=r;else return null;return t}function Ke(e,t){let n=Ue(e)&&typeof e.id==`string`?e.id:null,r=Ue(e)&&typeof e.type==`string`?e.type:null,i=e=>(t.push({widgetId:n,type:r,code:`malformed`,message:e}),null);if(!Ue(e))return i(`widget is not an object`);if(n===null||!Be.test(n))return i(`widget id is missing or invalid`);if(r===null)return i(`widget type is missing`);if(!We(e.span))return t.push({widgetId:n,type:r,code:`invalid_span`,message:`span must be an integer from 1 to 4`}),null;let a=Ge(e.options);if(a===null)return t.push({widgetId:n,type:r,code:`invalid_options`,message:`options must be an object of primitive values`}),null;let o={id:n,type:r,span:e.span,options:a};if(e.version!==void 0){if(typeof e.version!=`number`||!Number.isSafeInteger(e.version)||e.version<1)return i(`version must be a positive integer`);o.version=e.version}return o}function qe(e){let t=[],n=[],r=Ue(e)&&Array.isArray(e.widgets)?e.widgets:null;if(r===null)return e!=null&&t.push({widgetId:null,type:null,code:`malformed`,message:`overview must be an object with a widgets array`}),{document:{widgets:n},issues:t};let i=new Set;for(let e of r){let r=Ke(e,t);r&&(i.has(r.id)?t.push({widgetId:r.id,type:r.type,code:`duplicate_id`,message:`widget id appears more than once`}):(i.add(r.id),n.push(r)))}return{document:{widgets:n},issues:t}}function Je(e){let t=[];if(e==null)return{override:null,issues:t};if(!Ue(e)||e.version!==1)return t.push({widgetId:null,type:null,code:`malformed`,message:`override must be an object with version 1`}),{override:null,issues:t};let n={version:1},r=e=>{if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`&&Be.test(e));return[...new Set(t)]},i=r(e.order);i?.length&&(n.order=i);let a=r(e.removed);if(a?.length&&(n.removed=a),Array.isArray(e.added)){let{document:r}=qe({widgets:e.added});r.widgets.length&&(n.added=r.widgets);let i=e.added.length-r.widgets.length;i>0&&t.push({widgetId:null,type:null,code:`malformed`,message:`${i} added widget(s) were malformed and dropped`})}if(Ue(e.changed)){let t={};for(let[n,r]of Object.entries(e.changed)){if(!Be.test(n)||!Ue(r))continue;let e={};We(r.span)&&(e.span=r.span);let i=r.options===void 0?void 0:Ge(r.options);i&&(e.options=i),typeof r.version==`number`&&Number.isSafeInteger(r.version)&&r.version>=1&&(e.version=r.version),Object.keys(e).length&&(t[n]=e)}Object.keys(t).length&&(n.changed=t)}return{override:Ye(n)?null:n,issues:t}}function Ye(e){return e===null||!e.order?.length&&!e.removed?.length&&!e.added?.length&&!Object.keys(e.changed??{}).length}function Xe(e){let t={id:e.id,type:e.type,span:e.span,options:{...e.options}};return e.version!==void 0&&(t.version=e.version),t}function Ze(e,t){if(Ye(t)||t===null)return{widgets:e.widgets.map(Xe)};let n=new Set(t.removed??[]),r=new Set(e.widgets.map(e=>e.id)),i=[];for(let r of e.widgets){if(n.has(r.id))continue;let e=Xe(r),a=t.changed?.[r.id];a&&(a.span!==void 0&&(e.span=a.span),a.options!==void 0&&(e.options={...a.options}),a.version!==void 0&&(e.version=a.version)),i.push(e)}for(let e of t.added??[])r.has(e.id)||i.push(Xe(e));let a=t.order;if(a?.length){let e=new Map(i.map(e=>[e.id,e])),t=a.filter((t,n)=>e.has(t)&&a.indexOf(t)===n),n=new Set(t),r=t.map(t=>e.get(t)),o=0;return{widgets:i.map(e=>n.has(e.id)?r[o++]:e)}}return{widgets:i}}function Qe(e,t){let n=new Map(e.widgets.map(e=>[e.id,e])),r=new Set(t.widgets.map(e=>e.id)),i={version:1},a=e.widgets.filter(e=>!r.has(e.id)).map(e=>e.id);a.length&&(i.removed=a);let o=t.widgets.filter(e=>!n.has(e.id)).map(Xe);o.length&&(i.added=o);let s={};for(let e of t.widgets){let t=n.get(e.id);if(!t)continue;let r={};e.span!==t.span&&(r.span=e.span);let i=(e.version??1)!==(t.version??1);(!ze(e.options,t.options)||i)&&(r.options={...e.options},e.version!==void 0&&(r.version=e.version)),Object.keys(r).length&&(s[e.id]=r)}Object.keys(s).length&&(i.changed=s);let c=Ze(e,i).widgets.map(e=>e.id),l=t.widgets.map(e=>e.id);return c.some((e,t)=>e!==l[t])&&(i.order=l),Ye(i)?null:i}function $e(e){let t=new Set(e),n=1;for(let e of t){let t=/^w(\d+)$/.exec(e);if(!t)continue;let r=Number(t[1]);Number.isSafeInteger(r)&&r<2**53-1&&(n=Math.max(n,r+1))}for(;n<2**53-1&&t.has(`w${n}`);)n+=1;if(!t.has(`w${n}`))return`w${n}`;for(n=1;t.has(`w${n}`);n+=1);return`w${n}`}function et(e,{registry:t,definition:n}){let r=[],i=[],a=new Set,o=n.maxWidgets??24,s=(e,t,n,i={})=>{r.push({widgetId:e.id,type:e.type,code:t,message:n,...i})};for(let r of e.widgets){if(a.has(r.id)){s(r,`duplicate_id`,`widget id appears more than once`);continue}a.add(r.id);let e=t.get(r.type);if(!e){s(r,`unknown_type`,`widget type is not registered`);continue}if(n.allowed&&!n.allowed.includes(r.type)||e.allowedIn&&!e.allowedIn.includes(n.id)){s(r,`type_not_allowed`,`widget type is not allowed in this overview`);continue}if(i.length>=o){s(r,`too_many`,`an overview holds at most ${o} widgets`);continue}let c=r.version??1,l=r.options;if(c>e.version){s(r,`future_version`,`options were written by a newer widget version`);continue}if(c<e.version){let t=null;try{t=e.migrate?e.migrate({...r.options},c):null}catch{t=null}if(!t||!Ue(t)){s(r,`migration_failed`,`no migration from version ${c}`);continue}l=t}let u=Re(e.options,l,{models:n.models});u.ok?i.push({id:r.id,type:r.type,span:Math.min(e.maxSpan,Math.max(e.minSpan,r.span)),options:u.options,version:e.version}):s(r,`invalid_options`,`options do not match the widget schema`,{options:u.issues})}return{document:{widgets:i},issues:r}}function tt(e,t,n){let r=et({widgets:[...e.defaults]},{registry:n,definition:e}),i=Je(t),a=et(Ze(r.document,i.override),{registry:n,definition:e});return{base:r.document,document:a.document,override:i.override,issues:[...r.issues,...i.issues,...a.issues],overrideIssues:[...i.issues,...a.issues]}}function nt(e,t,n){let r=tt(e,t,n);return r.overrideIssues.length>0?{ok:!1,issues:r.overrideIssues}:{ok:!0,override:Qe(r.base,r.document)}}function rt(e){if(!Ve.test(e.id))throw Error(`defineOverview: invalid overview id "${e.id}"`);let t=new Set;for(let n of e.defaults){if(!Be.test(n.id)||t.has(n.id))throw Error(`defineOverview: invalid or duplicate widget id "${n.id}"`);t.add(n.id)}return Object.freeze({...e,defaults:Object.freeze([...e.defaults])})}function it(e){if(!He.test(e.type))throw Error(`registerWidget: invalid widget type "${e.type}"`);let t=e.version??1;if(!Number.isSafeInteger(t)||t<1)throw Error(`widget "${e.type}": version must be a positive integer`);let n=e.minSpan??1,r=e.maxSpan??4;if(!Number.isInteger(n)||!Number.isInteger(r)||n<1||r>4||n>r)throw Error(`widget "${e.type}": invalid span range`);let i=Math.min(r,Math.max(n,e.defaultSpan??n));for(let t of e.allowedIn??[])if(!Ve.test(t))throw Error(`widget "${e.type}": invalid allowedIn id "${t}"`);return Ne(e.type,e.options),Object.freeze({...e,options:Object.freeze([...e.options]),version:t,defaultSpan:i,minSpan:n,maxSpan:r})}var at=class{#e=new Map;register(e,t={}){let n=it(e);if(this.#e.has(e.type)&&!t.replace)throw Error(`registerWidget: "${e.type}" is already registered`);return this.#e.set(e.type,n),()=>{this.#e.get(e.type)===n&&this.#e.delete(e.type)}}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}types(){return[...this.#e.keys()]}list(){return[...this.#e.values()]}};function ot(){return new at}var st=ot();function ct(e){return typeof e==`object`&&!!e&&`default`in e}async function lt(e,t=st){let n=new Map;return await Promise.all([...new Set(e)].map(async e=>{let r=t.get(e);if(r){if(r.component)n.set(e,r.component);else if(r.loadComponent)try{let t=await r.loadComponent();n.set(e,ct(t)?t.default:t)}catch{}}})),n}function ut(e){return JSON.stringify([e.type,e.version??1,e.options])}var dt=class{#e;#t;#n=D(null);#r=D({});#i=new Map;#a=null;#o=n(()=>{let t=tt(this.#e.definition,this.#e.override?this.#e.override():e(this.#n),this.#t);return this.#c(Qe(t.base,t.document)),t});constructor(e){this.#e=e,this.#t=e.registry??st;let t=typeof e.loaded==`function`?e.loaded():e.loaded;t&&this.#s(t)}#s(e){let t={};for(let n of e.widgets)t[n.id]={key:ut(n),status:n.status,data:n.data,error:n.error?.code};V(this.#r,t)}get definition(){return this.#e.definition}get registry(){return this.#t}get document(){return e(this.#o).document}get base(){return e(this.#o).base}get override(){return Qe(e(this.#o).base,e(this.#o).document)}get committedOverride(){let e=this.override;this.#c(e);let t=this.#a;return t?t.values.at(-1):e}#c(e){let t=this.#a;if(!t||ft(e,t.prior))return;let n=t.values.findIndex(t=>ft(t,e));this.#a=n<0||n===t.values.length-1?null:{prior:e,values:t.values.slice(n+1)}}#l(e){if(this.#e.override){let t=this.override;this.#c(t);let n=this.#a;this.#a=n?{prior:n.prior,values:[...n.values,e]}:{prior:t,values:[e]}}else V(this.#n,e);this.#e.onchange?.(e)}get issues(){return e(this.#o).issues}get customized(){return!Ye(this.override)}get canCustomize(){return!this.#e.canCustomize||this.#e.canCustomize()}get full(){let e=this.#e.definition.maxWidgets??24;return this.document.widgets.length>=e}get addable(){let{allowed:e,id:t}=this.#e.definition;return this.#t.list().filter(n=>(!e||e.includes(n.type))&&(!n.allowedIn||n.allowedIn.includes(t)))}entry(t){let n=e(this.#r)[t.id];return n&&n.key===ut(t)?n:{status:this.#e.loadWidget?`loading`:`ready`}}#u(){return this.#e.definition.models}#d(){return this.canCustomize?null:{ok:!1,reason:`not_allowed`}}#f(t,n){let r=et(t,{registry:this.#t,definition:this.#e.definition}),i=Qe(e(this.#o).base,r.document);return ft(i,this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(i),this.#h(r.document.widgets),{ok:!0,id:n})}#p(){let t=this.override;return[...e(this.#o).base.widgets.map(e=>e.id),...this.document.widgets.map(e=>e.id),...t?.removed??[],...(t?.added??[]).map(e=>e.id)]}add(e,t={}){let n=this.#d();if(n)return n;let r=this.addable.find(t=>t.type===e);if(!r)return{ok:!1,reason:`unknown_type`};if(this.full)return{ok:!1,reason:`limit`};let i=Re(r.options,{...Ie(r.options),...t},{models:this.#u()});if(!i.ok)return{ok:!1,reason:`invalid_options`,issues:i.issues};let a=$e(this.#p());return this.#f({widgets:[...this.document.widgets,{id:a,type:e,span:r.defaultSpan,options:i.options,version:r.version}]},a)}#m(e){return this.document.widgets.find(t=>t.id===e)}remove(e){return this.#d()||(this.#m(e)?this.#f({widgets:this.document.widgets.filter(t=>t.id!==e)},e):{ok:!1,reason:`unknown_widget`})}move(e,t){let n=this.#d();if(n)return n;let r=this.#m(e);if(!r)return{ok:!1,reason:`unknown_widget`};let i=this.document.widgets.filter(t=>t.id!==e),a=Math.max(0,Math.min(t,i.length));return i.splice(a,0,r),this.#f({widgets:i},e)}resize(e,t){return this.#d()||(this.#m(e)?this.#f({widgets:this.document.widgets.map(n=>n.id===e?{...n,span:Math.round(t)}:n)},e):{ok:!1,reason:`unknown_widget`})}setOptions(e,t){let n=this.#d();if(n)return n;let r=this.#m(e),i=r?this.#t.get(r.type):void 0;if(!r||!i)return{ok:!1,reason:`unknown_widget`};let a=Re(i.options,t,{models:this.#u()});return a.ok?this.#f({widgets:this.document.widgets.map(t=>t.id===e?{...t,options:a.options,version:i.version}:t)},e):{ok:!1,reason:`invalid_options`,issues:a.issues}}resetWidget(t){let n=this.#d();if(n)return n;let r=e(this.#o).base.widgets.find(e=>e.id===t);return r?this.#f({widgets:this.document.widgets.some(e=>e.id===t)?this.document.widgets.map(e=>e.id===t?{...r}:e):[...this.document.widgets,{...r}]},t):this.remove(t)}reset(){return this.#d()||(Ye(this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(null),this.#h(e(this.#o).base.widgets),{ok:!0,id:``}))}restore(e){let t=this.#d();if(t)return t;let{override:n}=Je(e),r=tt(this.#e.definition,n,this.#t),i=Qe(r.base,r.document);return ft(i,this.committedOverride)?{ok:!1,reason:`unchanged`}:(this.#l(i),this.#h(r.document.widgets),{ok:!0,id:``})}reload(e){let t=this.#m(e);t&&this.#g(t)}sync(){this.#h(this.document.widgets)}#h(t){I(()=>{let n=new Set(t.map(e=>e.id)),r={};for(let[t,i]of Object.entries(e(this.#r)))n.has(t)&&(r[t]=i);for(let[e,t]of this.#i)n.has(e)||(t.abort(),this.#i.delete(e));if(V(this.#r,r),this.#e.loadWidget)for(let n of t){let t=e(this.#r)[n.id];(!t||t.key!==ut(n))&&this.#g(n)}})}#g(t){let n=this.#e.loadWidget;if(!n)return;let r=ut(t);this.#i.get(t.id)?.abort();let i=new AbortController;this.#i.set(t.id,i),V(this.#r,{...e(this.#r),[t.id]:{key:r,status:`loading`}});let a=n=>{i.signal.aborted||(this.#i.get(t.id)===i&&this.#i.delete(t.id),e(this.#r)[t.id]?.key===r&&V(this.#r,{...e(this.#r),[t.id]:{key:r,...n}}))};Promise.resolve().then(()=>i.signal.aborted?void 0:n(t,i.signal)).then(e=>a({status:`ready`,data:e}),()=>a({status:`error`,error:`load_failed`}))}destroy(){for(let e of this.#i.values())e.abort();this.#i.clear()}};function ft(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}function pt(e){return new dt(e)}function mt(e){return de.get(e.trim().toUpperCase())??2}var ht=`–`;function gt(e){try{return Intl.getCanonicalLocales(e)[0]??`en`}catch{return`en`}}function _t(e,{format:t=`integer`,currency:n=`USD`,locale:r,compact:i=!1}){if(typeof e!=`number`||!Number.isFinite(e))return ht;let a=gt(r),o=i?{notation:`compact`,maximumFractionDigits:1}:{};switch(t){case`money`:{let t=/^[A-Za-z]{3}$/.test(n)?n.toUpperCase():`USD`,r=mt(t);return new Intl.NumberFormat(a,{style:`currency`,currency:t,...o}).format(e/10**r)}case`percent`:return new Intl.NumberFormat(a,{style:`percent`,maximumFractionDigits:1}).format(e);case`decimal`:return new Intl.NumberFormat(a,{maximumFractionDigits:2,...o}).format(e);default:return new Intl.NumberFormat(a,{maximumFractionDigits:0,...o}).format(e)}}function vt(e,t,n){let r=new Date(/^\d{4}-\d{2}-\d{2} \d/.test(e)?`${e.replace(` `,`T`)}Z`:e);if(Number.isNaN(r.getTime()))return e;let i=gt(n),a=e=>new Intl.DateTimeFormat(i,{timeZone:`UTC`,...e}).format(r);switch(t){case`year`:return a({year:`numeric`});case`quarter`:return`Q${Math.floor(r.getUTCMonth()/3)+1} ${r.getUTCFullYear()}`;case`month`:return a({month:`short`,year:`numeric`});case`week`:case`day`:return a({month:`short`,day:`numeric`});default:return a({month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`})}}var yt=200,bt=4,xt=2e4;function St(e){let t=e.trim();if(!t||t.length>2048||/[\u0000-\u001f\u007f\s<>"'`\\]/.test(t))return null;if(/^https?:\/\//i.test(t))try{return new URL(t),t}catch{return null}return/^mailto:[^\s?]+(\?.*)?$/i.test(t)||t.startsWith(`#`)||t.startsWith(`/`)&&!t.startsWith(`//`)?t:null}var Ct=e=>e!==void 0&&/[A-Za-z0-9]/.test(e);function wt(e,t){let n=[],r=``,i=()=>{r&&n.push({type:`text`,text:r}),r=``},a=0;for(;a<e.length;){let o=e[a];if(o===`\\`&&a+1<e.length&&/[\\`*_[\]()#>-]/.test(e[a+1]))r+=e[a+1],a+=2;else{if(o==="`"){let t=e.indexOf("`",a+1);if(t>a+1){i(),n.push({type:`code`,text:e.slice(a+1,t)}),a=t+1;continue}}if(t<bt&&e.startsWith(`**`,a)){let r=e.indexOf(`**`,a+2);if(r>a+2){i(),n.push({type:`strong`,children:wt(e.slice(a+2,r),t+1)}),a=r+2;continue}}if(t<bt&&(o===`*`||o===`_`)&&e[a+1]!==` `&&!(o===`_`&&Ct(e[a-1]))){let r=e.indexOf(o,a+1);if(r>a+1&&e[r-1]!==` `&&!(o===`_`&&Ct(e[r+1]))){i(),n.push({type:`em`,children:wt(e.slice(a+1,r),t+1)}),a=r+1;continue}}if(o===`[`&&t<bt){let r=e.indexOf(`](`,a+1),o=r>0?e.indexOf(`)`,r+2):-1;if(r>0&&o>0){let s=e.slice(a+1,r),c=St(e.slice(r+2,o));i(),c?n.push({type:`link`,href:c,children:wt(s,t+1)}):n.push(...wt(s,t+1)),a=o+1;continue}}r+=o,a+=1}}return i(),n}function Tt(e){let t=e.slice(0,xt).replace(/\r\n?/g,`
|
|
2
2
|
`).split(`
|
|
3
3
|
`),n=[],r=[],i=null,a=()=>{r.length&&n.push({type:`paragraph`,children:wt(r.join(` `),0)}),r=[]},o=()=>{i&&n.push({type:`list`,...i}),i=null};for(let e=0;e<t.length&&n.length<yt;e+=1){let s=t[e];if(/^\s*```/.test(s)){a(),o();let r=[];for(e+=1;e<t.length&&!/^\s*```/.test(t[e]);)r.push(t[e]),e+=1;n.push({type:`code`,text:r.join(`
|
|
4
4
|
`)});continue}if(s.trim()===``){a(),o();continue}let c=/^(#{1,3})\s+(.*\S)\s*$/.exec(s);if(c){a(),o(),n.push({type:`heading`,level:c[1].length,children:wt(c[2],0)});continue}let l=/^\s*[-*]\s+(.*\S)\s*$/.exec(s),u=/^\s*\d+[.)]\s+(.*\S)\s*$/.exec(s);if(l||u){a();let e=u!==null;i&&i.ordered!==e&&o(),i??={ordered:e,items:[]},i.items.push(wt((l??u)?.[1]??``,0));continue}let d=/^\s*>\s?(.*)$/.exec(s);d?(a(),o(),n.push({type:`quote`,children:wt(d[1],0)})):(o(),r.push(s.trim()))}return a(),o(),n.slice(0,yt)}var Z=U({"ui.overview.label":`Overview widgets`,"ui.overview.empty":`There are no widgets on this overview yet.`,"ui.overview.toolbar":`Customize overview`,"ui.overview.add":`Add widget`,"ui.overview.add_title":`Add a widget`,"ui.overview.add_none":`No more widgets can be added to this overview.`,"ui.overview.reset":`Reset overview to default`,"ui.overview.move":`Move {widget}`,"ui.overview.resize":`Resize {widget}`,"ui.overview.resize_value":`{span} of {max} columns`,"ui.overview.configure":`Configure {widget}`,"ui.overview.remove":`Remove {widget}`,"ui.overview.item":`{widget}, position {position} of {count}`,"ui.overview.announce_pickup":`Picked up {widget}. Use the arrow keys to choose a position, then Space or Enter to drop. Escape cancels.`,"ui.overview.announce_position":`{widget}, position {position} of {count}.`,"ui.overview.announce_drop":`Moved {widget} to position {position} of {count}.`,"ui.overview.announce_cancel":`Cancelled moving {widget}.`,"ui.overview.announce_failed":`Could not move {widget}. The order was restored.`,"ui.overview.announce_resized":`{widget} is now {span} of {max} columns wide.`,"ui.overview.announce_removed":`Removed {widget}.`,"ui.overview.announce_added":`Added {widget}.`,"ui.overview.announce_configured":`Updated {widget}.`,"ui.overview.announce_reset":`Overview reset to its default.`,"ui.overview.announce_denied":`You cannot change this overview.`,"ui.overview.assistant_applied":`The assistant updated this overview.`,"ui.overview.assistant_undo":`Undo`,"ui.overview.assistant_dismiss":`Dismiss`,"ui.overview.assistant_undone":`The assistant change was undone.`,"ui.overview.assistant_changed_since":`The overview changed after the assistant edit, so it was not undone.`,"ui.overview.assistant_undo_failed":`The assistant change could not be undone.`,"ui.overview.loading":`Loading`,"ui.overview.error":`This widget could not be loaded.`,"ui.overview.retry":`Try again`,"ui.overview.unavailable":`This widget is not available.`,"ui.overview.no_data":`Nothing to show yet.`,"ui.overview.options_title":`Configure {widget}`,"ui.overview.options_new_title":`Add {widget}`,"ui.overview.options_save":`Save`,"ui.overview.options_cancel":`Cancel`,"ui.overview.options_none":`This widget has no options.`,"ui.overview.options_choose":`Choose`,"ui.overview.options_failed":`Some options need attention.`,"ui.overview.issue_required":`This field is required.`,"ui.overview.issue_invalid_type":`This value is not valid.`,"ui.overview.issue_too_long":`This value is too long.`,"ui.overview.issue_out_of_range":`This value is out of range.`,"ui.overview.issue_not_in_choices":`Choose one of the listed values.`,"ui.overview.issue_invalid_format":`Use letters, digits and the simple separators only.`,"ui.overview.issue_not_allowed":`This is not available on this overview.`,"ui.overview.issue_unknown_option":`This option is not recognised.`,"ui.overview.widget.metric.title":`Metric`,"ui.overview.widget.metric.description":`One number, such as a count or a total.`,"ui.overview.widget.chart.title":`Chart`,"ui.overview.widget.chart.description":`Values grouped over a period, as bars or a line.`,"ui.overview.widget.records.title":`Record list`,"ui.overview.widget.records.description":`The latest or top records of a model.`,"ui.overview.widget.line_items.title":`Line items`,"ui.overview.widget.line_items.description":`A document's lines with their totals.`,"ui.overview.widget.related.title":`Related records`,"ui.overview.widget.related.description":`Records linked to this one, a tab per kind, with totals.`,"ui.overview.widget.shortcuts.title":`Shortcuts`,"ui.overview.widget.shortcuts.description":`Cards that link to a section’s pages.`,"ui.overview.widget.note.title":`Note`,"ui.overview.widget.note.description":`Text with simple formatting.`,"ui.overview.opt.title":`Title`,"ui.overview.opt.title_help":`Shown above the widget. Leave empty for the default.`,"ui.overview.opt.model":`Model`,"ui.overview.opt.model_help":`Which records the widget reads.`,"ui.overview.opt.measure":`Measure`,"ui.overview.opt.measure_count":`Count`,"ui.overview.opt.measure_sum":`Sum`,"ui.overview.opt.measure_avg":`Average`,"ui.overview.opt.measure_min":`Smallest`,"ui.overview.opt.measure_max":`Largest`,"ui.overview.opt.field":`Field`,"ui.overview.opt.field_help":`The field to sum or average.`,"ui.overview.opt.filter":`Filter`,"ui.overview.opt.filter_help":`A named filter the data source offers.`,"ui.overview.opt.group_by":`Group by`,"ui.overview.opt.period":`Period`,"ui.overview.opt.period_7d":`Last 7 days`,"ui.overview.opt.period_30d":`Last 30 days`,"ui.overview.opt.period_90d":`Last 90 days`,"ui.overview.opt.period_12m":`Last 12 months`,"ui.overview.opt.period_all":`All time`,"ui.overview.opt.style":`Style`,"ui.overview.opt.style_bar":`Bars`,"ui.overview.opt.style_line":`Line`,"ui.overview.opt.style_table":`Table`,"ui.overview.opt.style_pie":`Donut`,"ui.overview.opt.style_stat":`Headline number`,"ui.overview.opt.sort":`Sort by`,"ui.overview.opt.direction":`Direction`,"ui.overview.opt.direction_desc":`Newest or largest first`,"ui.overview.opt.direction_asc":`Oldest or smallest first`,"ui.overview.opt.limit":`Rows`,"ui.overview.opt.parent_field":`Link to this record`,"ui.overview.opt.parent_field_help":`With the parent filter: the field that points at this record, when Field is the one to measure.`,"ui.overview.opt.relation":`Relation`,"ui.overview.opt.relation_help":`The line-item relation to show, as its key (OrderLine-orderId). Leave empty for the first one.`,"ui.overview.opt.relations":`Relations`,"ui.overview.opt.relations_help":`Which related records get a tab, as relation keys separated by commas (Order-customerId). Leave empty for all of them.`,"ui.overview.opt.columns":`Columns`,"ui.overview.opt.columns_help":`Field names to show as columns, separated by commas. Leave empty for a plain list.`,"ui.overview.opt.summaries":`Totals row`,"ui.overview.opt.summaries_help":`Count the rows and add up money and quantity columns. On by default when there are such columns.`,"ui.overview.opt.section":`Section`,"ui.overview.opt.section_help":`The navigation section whose pages are shown.`,"ui.overview.opt.body":`Text`,"ui.overview.opt.body_help":`Supports headings, lists, bold, italic, code and links.`,"ui.overview.metric.change_up":`Up {value} from the previous period`,"ui.overview.metric.change_down":`Down {value} from the previous period`,"ui.overview.chart.summary":`Chart with {count} values`,"ui.overview.chart.table":`Chart data`,"ui.overview.chart.label_column":`Label`,"ui.overview.chart.value_column":`Value`,"ui.overview.records.empty":`No records to show.`,"ui.overview.records.view_all":`View all`,"ui.overview.records.total":`{count} in total`,"ui.overview.table.total":`Total`,"ui.overview.related.empty":`No related records yet.`,"ui.overview.line_items.empty":`No line items.`,"ui.overview.line_items.subtotal":`Subtotal`,"ui.overview.line_items.discount":`Discount`,"ui.overview.line_items.tax":`Tax`,"ui.overview.line_items.total":`Total`,"ui.overview.line_items.subtotal_excluding_tax":`Subtotal (excl. tax)`,"ui.overview.line_items.discount_included":`Includes discounts of`,"ui.overview.line_items.tax_on":`{label} on`,"ui.overview.line_items.tax_included":`Includes {label} of`,"ui.overview.line_items.rounded_document":`Rounded per document`,"ui.overview.line_items.computed":`(from the lines)`,"ui.overview.line_items.mismatch":`Lines add up to {amount}.`,"ui.overview.line_items.mismatch_subtotal":`The recorded subtotal is {amount}.`,"ui.overview.line_items.mismatch_total":`The recorded total is {amount}.`,"ui.overview.shortcuts.empty":`No pages to show.`,"ui.overview.shortcuts.records_one":`{count} record`,"ui.overview.shortcuts.records_other":`{count} records`,"ui.cookbook.menu_entries":`Menu entries`,"ui.cookbook.section_not_found":`Section not found`,"ui.cookbook.section_not_found_hint":`This section is not in your app.`});function Et(e){let{pointer:t,start:n,rtl:r,gridWidth:i,gap:a,min:o,max:s}=e,c=Math.max(1,Math.floor(e.columns)),l=r?n-t:t-n,u=(i-a*(c-1))/c,d=u+a>0?Math.round((l+a)/(u+a)):o;return Math.max(o,Math.min(s,c,d))}function Dt(e,t,n,r,i){let a;switch(e){case`ArrowRight`:a=t+(i?-1:1);break;case`ArrowLeft`:a=t+(i?1:-1);break;case`ArrowUp`:a=t+1;break;case`ArrowDown`:a=t-1;break;case`Home`:a=n;break;case`End`:a=r;break;default:return null}return Math.max(n,Math.min(r,a))}var Ot=c(`<p class="smrt-widget-form__none svelte-1jw9hhr" data-smrt-part="empty"> </p>`),kt=c(`<small class="smrt-widget-form__hint svelte-1jw9hhr" data-smrt-part="description"> </small>`),At=c(`<small class="smrt-widget-form__error svelte-1jw9hhr" data-smrt-part="error" role="alert"> </small>`),jt=c(`<div class="smrt-widget-form__check svelte-1jw9hhr" data-smrt-part="field"><!> <!> <!></div>`),Mt=c(`<option> </option>`),Nt=c(`<!> <!>`,1),Pt=c(`<option> </option> <!> <!>`,1),Ft=c(`<!> <!> <!> <!>`,1);function It(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>a.definition.options);function d(){let e={},t={};for(let n of a.definition.options){let r=a.initial[n.key];n.type===`boolean`?t[n.key]=r===!0:e[n.key]=r==null?``:String(r)}return{text:e,flags:t}}let p=I(d),m=j(p.text),v=j(p.flags),y=D(j({})),b=D(!1);function C(){let t={};for(let n of e(c)){if(n.type===`boolean`){t[n.key]=v[n.key]===!0;continue}let e=m[n.key]??``;n.type===`markdown`?t[n.key]=e:e.trim()===``||(n.type===`integer`||n.type===`number`?t[n.key]=Number(e):t[n.key]=e.trim())}return t}let w={required:Z[`ui.overview.issue_required`],invalid_type:Z[`ui.overview.issue_invalid_type`],too_long:Z[`ui.overview.issue_too_long`],out_of_range:Z[`ui.overview.issue_out_of_range`],not_in_choices:Z[`ui.overview.issue_not_in_choices`],invalid_format:Z[`ui.overview.issue_invalid_format`],not_allowed:Z[`ui.overview.issue_not_allowed`],unknown_option:Z[`ui.overview.issue_unknown_option`]};function T(e){return o(w[e]??Z[`ui.overview.issue_invalid_type`])}function E(){let e=C(),t=a.onsave(e);if(t===null)return;let n={};for(let e of t)n[e.key]??=T(e.code);V(y,n,!0),V(b,!0)}let ee=e=>o(e.label),O=e=>e.help?o(e.help):void 0,A=e=>!e.required&&(e.default===void 0||e.default===null),N=n(()=>new Set((a.models??[]).map(e=>e.value))),F=n(()=>a.optionsEditor??a.definition.optionsEditor);var R=S(),B=L(R),te=t=>{var n=S(),r=L(n);g(r,()=>e(F),(e,t)=>{t(e,{get definition(){return a.definition},get initial(){return a.initial},get models(){return a.models},get onsave(){return a.onsave},get oncancel(){return a.oncancel}})}),x(t,n)},ne=r=>{be(r,{onsubmit:E,novalidate:!0,children:(r,i)=>{var d=Ft(),p=L(d),h=e=>{H(e,{variant:`error`,children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>o(Z[`ui.overview.options_failed`])]),x(e,n)},$$slots:{default:!0}})};t(p,t=>{e(b)&&t(h)});var g=M(p,2),C=e=>{var t=Ot(),n=P(t,!0);z(e=>l(n,e),[()=>o(Z[`ui.overview.options_none`])]),x(e,t)};t(g,t=>{e(c).length===0&&t(C)});var w=M(g,2);f(w,17,()=>e(c),e=>e.key,(r,i)=>{var c=S(),u=L(c),d=r=>{var a=jt(),o=k(a),c=()=>v[e(i).key]===!0,u=t=>v[e(i).key]=t;{let t=n(()=>ee(e(i)));fe(o,{get name(){return e(i).key},get label(){return e(t)},get checked(){return c()},set checked(e){u(e)}})}var d=M(o,2),f=t=>{var n=kt(),r=P(n,!0);z(e=>l(r,e),[()=>O(e(i))]),x(t,n)},p=n(()=>O(e(i)));t(d,t=>{e(p)&&t(f)});var m=M(d,2),h=t=>{var n=At(),r=P(n,!0);z(()=>l(r,e(y)[e(i).key])),x(t,n)};t(m,t=>{e(y)[e(i).key]&&t(h)}),s(a),x(r,a)},p=r=>{{let s=n(()=>ee(e(i))),c=n(()=>O(e(i)));xe(r,{get label(){return e(s)},get hint(){return e(c)},get error(){return e(y)[e(i).key]},get required(){return e(i).required},children:(r,s)=>{var c=S(),u=L(c),d=t=>{var n=()=>m[e(i).key]??``,r=t=>m[e(i).key]=t;Se(t,{get name(){return e(i).key},rows:6,get value(){return n()},set value(e){r(e)}})},p=r=>{var a=()=>m[e(i).key]??``,s=t=>m[e(i).key]=t;ye(r,{get name(){return e(i).key},get value(){return a()},set value(e){s(e)},children:(r,a)=>{var s=Nt(),c=L(s),u=e=>{var t=Mt(),n=P(t,!0);t.value=t.__value=``,z(e=>l(n,e),[()=>o(Z[`ui.overview.options_choose`])]),x(e,t)},d=n(()=>A(e(i)));t(c,t=>{e(d)&&t(u)});var p=M(c,2);f(p,17,()=>e(i).choices??[],e=>e.value,(t,n)=>{var r=Mt(),i=P(r,!0),a={};z(t=>{l(i,t),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)},[()=>o(e(n).label)]),x(t,r)}),x(r,s)},$$slots:{default:!0}})},h=r=>{var s=()=>m[e(i).key]??``,c=t=>m[e(i).key]=t;ye(r,{get name(){return e(i).key},get value(){return s()},set value(e){c(e)},children:(r,s)=>{var c=Pt(),u=L(c),d=P(u,!0);u.value=u.__value=``;var p=M(u,2),h=t=>{var n=Mt(),r=P(n,!0),a={};z(()=>{l(r,m[e(i).key]),a!==(a=m[e(i).key])&&(n.value=(n.__value=a)??``)}),x(t,n)},g=n(()=>m[e(i).key]&&!e(N).has(m[e(i).key]));t(p,t=>{e(g)&&t(h)});var _=M(p,2);f(_,17,()=>a.models,e=>e.value,(t,n)=>{var r=Mt(),i=P(r,!0),a={};z(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),x(t,r)}),z(e=>l(d,e),[()=>o(Z[`ui.overview.options_choose`])]),x(r,c)},$$slots:{default:!0}})},g=t=>{var r=()=>m[e(i).key]??``,a=t=>m[e(i).key]=String(t);{let o=n(()=>e(i).type===`integer`||e(i).type===`number`?`number`:`text`),s=n(()=>e(i).type===`integer`?`1`:e(i).type===`number`?`any`:void 0),c=n(()=>e(i).type===`text`?e(i).maxLength??200:void 0);Y(t,{get name(){return e(i).key},get type(){return e(o)},get step(){return e(s)},get min(){return e(i).min},get max(){return e(i).max},get maxlength(){return e(c)},get value(){return r()},set value(e){a(e)}})}};t(u,t=>{e(i).type===`markdown`?t(d):e(i).type===`enum`?t(p,1):e(i).type===`model`&&a.models&&a.models.length>0?t(h,2):t(g,-1)}),x(r,c)},$$slots:{default:!0}})}};t(u,t=>{e(i).type===`boolean`?t(d):t(p,-1)}),x(r,c)});var T=M(w,2);Ce(T,{children:(e,t)=>{var n=Nt(),r=L(n);ue(r,{type:`button`,variant:`ghost`,get onclick(){return a.oncancel},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>o(Z[`ui.overview.options_cancel`])]),x(e,n)},$$slots:{default:!0}});var i=M(r,2);ue(i,{type:`submit`,variant:`primary`,children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>o(Z[`ui.overview.options_save`])]),x(e,n)},$$slots:{default:!0}}),x(e,n)},$$slots:{default:!0}}),x(r,d)},$$slots:{default:!0}})};t(B,t=>{e(F)?t(te):t(ne,-1)}),x(r,R),i()}var Lt=c(`<p class="smrt-overview__state svelte-1liasmg" data-smrt-part="status"> </p>`),Rt=c(`<p class="smrt-overview__state svelte-1liasmg" data-smrt-part="status" role="status"> </p> <!>`,1),zt=c(`<article class="smrt-overview__widget svelte-1liasmg" data-smrt-part="group"><!> <div class="smrt-overview__content" data-smrt-part="body"><!></div></article>`),Bt=c(`<div class="smrt-overview__toolbar svelte-1liasmg" data-smrt-part="actions" role="toolbar"><!> <!></div>`),Vt=c(`<p class="smrt-overview__empty svelte-1liasmg" data-smrt-part="empty"> </p>`),Ht=c(`<div class="smrt-overview__resize svelte-1liasmg" role="slider" tabindex="0" aria-orientation="horizontal" data-smrt-part="resize"></div>`),Ut=c(`<div class="smrt-overview__chrome svelte-1liasmg" data-smrt-part="actions"><button type="button" class="smrt-overview__handle svelte-1liasmg" data-smrt-overview-handle="" data-smrt-part="grabber"><span aria-hidden="true">⠿</span></button> <span class="smrt-overview__chrome-title svelte-1liasmg" data-smrt-part="label" aria-hidden="true"> </span> <!> <!></div> <div class="smrt-overview__inert" inert="" data-smrt-part="group"><!></div> <!>`,1),Wt=c(`<div role="listitem" class="smrt-overview__item svelte-1liasmg" data-smrt-part="row"><div class="smrt-overview__tile svelte-1liasmg" data-smrt-part="panel"><!></div></div>`),Gt=c(`<p> </p>`),Kt=c(`<small class="svelte-1liasmg"> </small>`),qt=c(`<span class="smrt-overview__choice svelte-1liasmg" data-smrt-part="trigger"><!> <span class="smrt-overview__choice-text svelte-1liasmg" data-smrt-part="label"><strong> </strong> <!></span></span>`),Jt=c(`<li data-smrt-part="row"><!></li>`),Yt=c(`<ul class="smrt-overview__choices svelte-1liasmg" data-smrt-part="list"></ul>`),Xt=c(`<!> <!>`,1),Zt=c(`<div class="smrt-overview__root svelte-1liasmg" data-smrt-component="OverviewGrid"><!> <!> <div class="smrt-overview__list svelte-1liasmg" data-smrt-part="list" role="list"></div> <div class="smrt-overview__live svelte-1liasmg" data-smrt-part="status" role="status" aria-live="polite" aria-atomic="true"> </div></div> <!>`,1);function Qt(r,a){let c=R();h(a,!0);let d=(r,i=p)=>{let d=n(()=>a.components?.get(i().widget.type)??i().def?.component);var f=zt(),m=k(f);N(m,()=>e(Fe),!1,(e,n)=>{A(e,()=>({class:`smrt-overview__title`,"data-smrt-part":`title`,id:`${c}-title-${i().widget.id??``}`}),void 0,void 0,void 0,`svelte-1liasmg`);var r=S(),s=L(r),d=e=>{var t=S(),n=L(t);o(n,()=>a.heading,()=>i().widget,()=>i().title),x(e,t)},f=e=>{var t=u();z(()=>l(t,i().title)),x(e,t)};t(s,e=>{a.heading?e(d):e(f,-1)}),x(n,r)});var h=M(m,2),v=k(h),b=e=>{var t=Lt(),n=P(t,!0);z(e=>l(n,e),[()=>w(Z[`ui.overview.unavailable`])]),x(e,t)},C=e=>{var t=Lt(),n=P(t,!0);z(e=>l(n,e),[()=>w(Z[`ui.overview.loading`])]),x(e,t)},T=e=>{var t=Rt(),n=L(t),r=P(n,!0),o=M(n,2);ue(o,{type:`button`,variant:`ghost`,size:`sm`,onclick:()=>a.controller.reload(i().widget.id),children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>w(Z[`ui.overview.retry`])]),x(e,n)},$$slots:{default:!0}}),z(e=>l(r,e),[()=>w(Z[`ui.overview.error`])]),x(e,t)},E=t=>{var r=S(),o=L(r);{let t=n(()=>be(i())),r=n(()=>e(H)?`card`:y());g(o,()=>e(d),(n,o)=>{o(n,{get id(){return i().widget.id},get options(){return i().widget.options},get data(){return i().data},get span(){return e(t)},get title(){return i().title},get locale(){return j},get iconComponent(){return a.iconComponent},get presentation(){return e(r)}})})}x(t,r)},D=e=>{var t=Lt(),n=P(t,!0);z(e=>l(n,e),[()=>w(Z[`ui.overview.unavailable`])]),x(e,t)};t(v,t=>{i().def?i().status===`loading`?t(C,1):i().status===`error`?t(T,2):e(d)?t(E,3):t(D,-1):t(b)}),s(h),s(f),z(()=>{B(f,`aria-labelledby`,`${c}-title-${i().widget.id??``}`),B(h,`aria-busy`,i().status===`loading`)}),x(r,f)},v=E(a,`headingLevel`,3,2),y=E(a,`presentation`,3,`card`),{t:w,locale:j}=ae(),F=`__smrt-overview__`,ne=he(),H=n(()=>a.controller.canCustomize&&(a.editing??ne?.editing??!1)),ie=n(()=>a.label??w(Z[`ui.overview.label`])),U=n(()=>a.controller.registry),oe=n(()=>a.controller.document.widgets.map(t=>{let n=e(U).get(t.type),r=typeof t.options.title==`string`?t.options.title.trim():``,i=a.controller.entry(t);return{widget:t,def:n,title:r||(n?w(n.title):t.type),status:i.status,data:i.data}})),se=n(()=>new Map(e(oe).map(e=>[e.widget.id,e])));ee(()=>{a.controller.document,I(()=>a.controller.sync())});let ce=D(void 0),W=D(void 0),le=D(``),G=D(null),K=D(!1),q=D(null);function J(e){V(le,e,!0)}function de(e){switch(e.type){case`pickup`:return w(Z[`ui.overview.announce_pickup`],{widget:e.item});case`position`:return w(Z[`ui.overview.announce_position`],{widget:e.item,position:e.position,count:e.count});case`drop`:return w(Z[`ui.overview.announce_drop`],{widget:e.item,position:e.position,count:e.count});case`cancel`:return w(Z[`ui.overview.announce_cancel`],{widget:e.item});case`failed`:return w(Z[`ui.overview.announce_failed`],{widget:e.item});default:return``}}let Y=pe({root:()=>e(ce),selectors:{container:`[data-smrt-overview-list]`,containerKey:`smrtOverviewList`,item:`[data-smrt-overview-item]`,itemKey:`smrtOverviewItem`},containers:()=>[{id:F,label:e(ie)}],itemIds:()=>e(oe).map(e=>e.widget.id),itemLabel:t=>e(se).get(t)?.title,allowSameContainerReorder:()=>!0,enabled:()=>e(H),orientation:()=>`vertical`,flow:()=>!0,announce:de,focusTarget:e=>e.querySelector(`[data-smrt-overview-handle]`),commit(e){let t=a.controller.move(e.itemId,e.target.index);if(!t.ok&&t.reason!==`unchanged`)throw Error(t.reason)}}),fe=n(()=>Y.drag?.itemId),ge=n(()=>Y.drag?.target.index),ve=n(()=>e(oe).filter(t=>t.widget.id!==e(fe)).length);function ye(t){if(e(ge)===void 0||e(fe)===void 0||e(oe)[t].widget.id===e(fe))return;let n=0;for(let r=0;r<t;r+=1)e(oe)[r].widget.id!==e(fe)&&(n+=1);if(n===e(ge))return`before`;if(e(ge)>=e(ve)&&n===e(ve)-1)return`after`}function be(t){return e(G)?.id===t.widget.id?e(G).span:t.widget.span}function xe(){return e(ce)!==void 0&&getComputedStyle(e(ce)).direction===`rtl`}function Se(e,t){let n=a.controller.resize(e.widget.id,t);n.ok?J(w(Z[`ui.overview.announce_resized`],{widget:e.title,span:t,max:e.def?.maxSpan??4})):n.reason===`not_allowed`&&J(w(Z[`ui.overview.announce_denied`]))}function Ce(e,t){if(!t.def)return;let n=Dt(e.key,t.widget.span,t.def.minSpan,t.def.maxSpan,xe());n!==null&&(e.preventDefault(),n!==t.widget.span&&Se(t,n))}function we(e,t){e.button===0&&t.def&&(e.preventDefault(),e.currentTarget.setPointerCapture?.(e.pointerId),V(G,{id:t.widget.id,span:t.widget.span},!0))}function Te(t,n){if(e(G)?.id!==n.widget.id||!n.def||!e(W))return;let r=t.currentTarget.closest(`[data-smrt-overview-item]`);if(!r)return;let i=e(W).getBoundingClientRect(),a=r.getBoundingClientRect(),o=xe(),s=getComputedStyle(e(W)).gridTemplateColumns.split(` `).filter(Boolean).length,c=Et({pointer:t.clientX,start:o?a.right:a.left,rtl:o,gridWidth:i.width,columns:s||1,gap:0,min:n.def.minSpan,max:n.def.maxSpan});c!==e(G).span&&V(G,{id:n.widget.id,span:c},!0)}function Ee(t,n){if(e(G)?.id!==n.widget.id)return;let r=e(G).span;V(G,null);let i=t.currentTarget;i.hasPointerCapture?.(t.pointerId)&&i.releasePointerCapture(t.pointerId),r!==n.widget.span&&Se(n,r)}function De(e){a.controller.remove(e.widget.id).ok&&J(w(Z[`ui.overview.announce_removed`],{widget:e.title}))}function Oe(){a.controller.reset().ok&&J(w(Z[`ui.overview.announce_reset`]))}function ke(e){V(q,{id:e.widget.id,type:e.widget.type,initial:e.widget.options},!0)}function Ae(t){let n=e(U).get(t);return n?w(n.title):t}function je(t){let n=a.controller.add(t);if(V(K,!1),n.ok)J(w(Z[`ui.overview.announce_added`],{widget:Ae(t)}));else if(n.reason===`invalid_options`){let n=e(U).get(t);V(q,{id:null,type:t,initial:n?Ie(n.options):{}},!0)}}function Me(t){let n=e(q);if(!n)return null;let r=n.id===null?a.controller.add(n.type,t):a.controller.setOptions(n.id,t);return r.ok?(J(w(Z[n.id===null?`ui.overview.announce_added`:`ui.overview.announce_configured`],{widget:Ae(n.type)})),V(q,null),null):r.reason===`invalid_options`?r.issues??[]:(r.reason===`not_allowed`&&J(w(Z[`ui.overview.announce_denied`])),V(q,null),null)}let Ne=n(()=>e(q)?e(U).get(e(q).type):void 0),Pe=n(()=>e(q)?w(Z[e(q).id===null?`ui.overview.options_new_title`:`ui.overview.options_title`],{widget:Ae(e(q).type)}):``),Fe=n(()=>`h${v()}`);var Le=Zt(),Re=L(Le),ze=k(Re),Be=t=>{var r=Bt(),i=k(r);{let t=n(()=>w(Z[`ui.overview.add`])),r=n(()=>a.controller.full||a.controller.addable.length===0);_e(i,{icon:`add`,get label(){return e(t)},get disabled(){return e(r)},onclick:()=>V(K,!0)})}var o=M(i,2);{let t=n(()=>w(Z[`ui.overview.reset`])),r=n(()=>!a.controller.customized);_e(o,{icon:`undo`,get label(){return e(t)},get disabled(){return e(r)},onclick:Oe})}s(r),z(e=>B(r,`aria-label`,e),[()=>w(Z[`ui.overview.toolbar`])]),x(t,r)};t(ze,t=>{e(H)&&t(Be)});var Ve=M(ze,2),He=e=>{var t=Vt(),n=P(t,!0);z(e=>l(n,e),[()=>w(Z[`ui.overview.empty`])]),x(e,t)};t(Ve,t=>{e(H)&&e(oe).length===0&&t(He)});var Ue=M(Ve,2);B(Ue,`data-smrt-overview-list`,F),f(Ue,31,()=>e(oe),e=>e.widget.id,(r,i,a)=>{let o=n(()=>ye(e(a)));var c=Wt();let u;var f=k(c),p=k(f),h=r=>{var a=Ut(),o=L(a),c=k(o),u=M(c,2),f=P(u,!0),p=M(u,2),m=t=>{{let r=n(()=>w(Z[`ui.overview.configure`],{widget:e(i).title}));_e(t,{icon:`settings`,get label(){return e(r)},onclick:()=>ke(e(i))})}};t(p,t=>{e(i).def&&e(i).def.options.length>0&&t(m)});var h=M(p,2);{let t=n(()=>w(Z[`ui.overview.remove`],{widget:e(i).title}));_e(h,{icon:`trash`,get label(){return e(t)},onclick:()=>De(e(i))})}s(o);var g=M(o,2),_=k(g);d(_,()=>e(i)),s(g);var v=M(g,2),y=t=>{var n=Ht();z((t,r,a)=>{B(n,`aria-label`,t),B(n,`aria-valuemin`,e(i).def.minSpan),B(n,`aria-valuemax`,e(i).def.maxSpan),B(n,`aria-valuenow`,r),B(n,`aria-valuetext`,a)},[()=>w(Z[`ui.overview.resize`],{widget:e(i).title}),()=>be(e(i)),()=>w(Z[`ui.overview.resize_value`],{span:be(e(i)),max:e(i).def.maxSpan})]),C(`keydown`,n,t=>Ce(t,e(i))),C(`pointerdown`,n,t=>we(t,e(i))),C(`pointermove`,n,t=>Te(t,e(i))),C(`pointerup`,n,t=>Ee(t,e(i))),T(`pointercancel`,n,t=>Ee(t,e(i))),x(t,n)};t(v,t=>{e(i).def&&t(y)}),z(t=>{B(c,`draggable`,Y.nativeDraggable),B(c,`aria-label`,t),B(c,`aria-pressed`,e(fe)===e(i).widget.id),B(u,`title`,e(i).title),l(f,e(i).title)},[()=>w(Z[`ui.overview.move`],{widget:e(i).title})]),C(`click`,c,()=>Y.consumeClick(e(i).widget.id)),C(`keydown`,c,t=>Y.keydown(t,e(i).widget.id)),T(`blur`,c,t=>Y.blur(t,e(i).widget.id)),C(`pointerdown`,c,t=>Y.pointerDown(t,e(i).widget.id)),C(`pointermove`,c,e=>Y.pointerMove(e)),C(`pointerup`,c,e=>Y.pointerUp(e)),T(`pointercancel`,c,e=>Y.pointerCancel(e)),T(`dragstart`,c,t=>Y.dragStart(t,e(i).widget.id)),T(`dragend`,c,()=>Y.dragEnd()),x(r,a)},g=t=>{d(t,()=>e(i))};t(p,t=>{e(H)?t(h):t(g,-1)}),s(f),s(c),z((t,n)=>{B(c,`data-span`,t),B(c,`data-smrt-overview-item`,e(i).widget.id),B(c,`data-dragging`,e(fe)===e(i).widget.id?``:void 0),B(c,`data-drop`,e(o)),u=b(c,``,u,{"--smrt-overview-grid-span":n})},[()=>be(e(i)),()=>be(e(i))]),T(`dragover`,c,e=>e.preventDefault()),T(`drop`,c,t=>{Y.drag&&(t.stopPropagation(),Y.dropOnItem(t,F,e(a)))}),m(c,()=>me,null),x(r,c)}),s(Ue),O(Ue,e=>V(W,e),()=>e(W));var We=M(Ue,2),Ge=P(We);s(Re),O(Re,e=>V(ce,e),()=>e(ce));var Ke=M(Re,2),qe=r=>{var i=Xt(),o=L(i),c=()=>e(K),u=e=>V(K,e,!0);{let r=n(()=>w(Z[`ui.overview.add_title`]));re(o,{get open(){return c()},set open(e){u(e)},get title(){return e(r)},size:`sm`,children:(n,r)=>{var i=S(),o=L(i),c=e=>{var t=Gt(),n=P(t,!0);z(e=>l(n,e),[()=>w(Z[`ui.overview.add_none`])]),x(e,t)},u=n=>{var r=Yt();f(r,21,()=>a.controller.addable,e=>e.type,(n,r)=>{var i=Jt(),o=k(i);ue(o,{type:`button`,variant:`ghost`,fullWidth:!0,onclick:()=>je(e(r).type),children:(n,i)=>{var o=qt(),c=k(o),u=t=>{X(t,{get name(){return e(r).icon},get iconComponent(){return a.iconComponent}})};t(c,t=>{e(r).icon&&t(u)});var d=M(c,2),f=k(d),p=P(f,!0),m=M(f,2),h=t=>{var n=Kt(),i=P(n,!0);z(e=>l(i,e),[()=>w(e(r).description)]),x(t,n)};t(m,t=>{e(r).description&&t(h)}),s(d),s(o),z(e=>l(p,e),[()=>w(e(r).title)]),x(n,o)},$$slots:{default:!0}}),s(i),x(n,i)}),s(r),x(n,r)};t(o,e=>{a.controller.addable.length===0||a.controller.full?e(c):e(u,-1)}),x(n,i)},$$slots:{default:!0}})}var d=M(o,2),p=()=>e(q)!==null,m=e=>{e||V(q,null)};re(d,{get open(){return p()},set open(e){m(e)},get title(){return e(Pe)},size:`md`,children:(r,i)=>{var o=S(),s=L(o),c=t=>{var r=S(),i=L(r);te(i,()=>`${e(q).id??`new`}:${e(q).type}`,t=>{{let r=n(()=>a.optionEditors?.get(e(q).type)??e(Ne).optionsEditor);It(t,{get definition(){return e(Ne)},get initial(){return e(q).initial},get models(){return a.models},get optionsEditor(){return e(r)},onsave:Me,oncancel:()=>V(q,null)})}}),x(t,r)};t(s,t=>{e(q)&&e(Ne)&&t(c)}),x(r,o)},$$slots:{default:!0}}),x(r,i)};t(Ke,t=>{e(H)&&t(qe)}),z(()=>{B(Re,`data-editing`,e(H)?``:void 0),B(Re,`data-presentation`,y()),B(Ue,`aria-label`,e(ie)),l(Ge,`${e(le)??``}${Y.announcement?` ${Y.announcement}`:``}`)}),T(`dragover`,Ue,e=>e.preventDefault()),T(`drop`,Ue,e=>{Y.drag&&Y.dropOnContainer(e,F)}),x(r,Le),i()}w([`click`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var $t=[`title`,`identifier`,`status`,`money`,`quantity`,`date`,`party`,`subtotal`,`tax`,`discount`,`total`],en=new Set([`integer`,`decimal`]),tn=new Set([`foreignKey`,`crossPackageRef`]),nn=/(?:^|[a-z])(?:amount|total|price|cost)$|^(?:subtotal|tax|discount)$/i,rn=/^subtotal(?:Amount)?$|[a-z]Subtotal(?:Amount)?$/,an=/^tax(?:Amount|Total)?$|[a-z]Tax(?:Amount|Total)?$/,on=/^discount(?:Amount|Total)?$|[a-z]Discount(?:Amount|Total)?$/,sn=/^(?:total|grandTotal)(?:Amount)?$|^amountTotal$/,cn=/(?:rate|percent|percentage|pct|ratio)$/i,ln=/^(?:status|state)$|[a-z](?:Status|State)$/,un=/^(?:number|reference|code|ref)$|[a-z](?:Number|Reference|Code)$/,dn=/^(?:phone|mobile|fax|postal|zip|country|currency|language|locale|tax|vat|account|routing|card|area|promo|coupon|discount|sort|tracking|billing|shipping|iban|swift|bank|unit|line|street|house|building)/i,fn=/^date$|[a-z](?:At|Date|On|Until)$/,pn=/^(?:quantity|qty)|(?:Quantity|Qty)$/,mn=[`name`,`title`,`label`,`displayName`],hn=/customer|vendor|supplier|client|party|profile|contact|person|people|member|company|organi[sz]ation|payer|payee|buyer|seller|licensee|lessee/i;function gn(e){let t=e.role;return t===void 0?null:(Array.isArray(t)?t:[t]).filter(e=>$t.includes(e))}function _n(e){return e.format??e.ui?.format}function vn(e){return _n(e)===`money`||e.type===`integer`&&e.ui?.widget===`currency`}function yn(e){return Array.isArray(e.enum)&&e.enum.length>0}function bn(e,t){return e?.find(e=>e.field===t)}function xn(e,t,n){let r=[],{type:i}=t,a=en.has(i),o=cn.test(e);if(i===`text`&&(yn(t)&&ln.test(e)&&r.push(`status`),un.test(e)&&!dn.test(e)&&t.ui?.widget!==`phone`&&r.push(`identifier`)),i===`integer`&&!o&&nn.test(e)&&r.push(`money`),a&&pn.test(e)&&r.push(`quantity`),i===`datetime`&&fn.test(e)&&r.push(`date`),tn.has(i)){let t=n?.relatedCollection??``,i=e.replace(/Id$/,``);i!==`tenant`&&(hn.test(i)||hn.test(t))&&r.push(`party`)}return a&&!o&&(rn.test(e)?r.push(`subtotal`):an.test(e)?r.push(`tax`):on.test(e)?r.push(`discount`):sn.test(e)&&r.push(`total`)),r}function Sn(e){let t=new Set(e);return $t.filter(e=>t.has(e))}function Cn(e){let t={},n=Object.entries(e.fields).filter(([e])=>!e.startsWith(`_`)&&!e.startsWith(`$`)),r=n.some(([,e])=>e.display===!0);for(let[r,i]of n){let n=new Set,a=gn(i);if(a)for(let e of a)n.add(e);else for(let t of xn(r,i,bn(e.relationships,r)))n.add(t);vn(i)&&n.add(`money`);let o=_n(i);(o===`date`||o===`datetime`)&&i.type===`datetime`&&n.add(`date`),i.display===!0&&n.add(`title`),t[r]=Sn(n)}if(!r&&!Object.values(t).some(e=>e.includes(`title`)))for(let n of mn){let r=e.fields[n];if(r?.type===`text`&&gn(r)===null){t[n]=Sn([...t[n]??[],`title`]);break}}return t}function wn(e,t){return Object.keys(e).find(n=>e[n]?.includes(t))}function Tn(e){let t=Object.entries(e.fields);return t.find(([,e])=>e.type===`text`&&e.ui?.widget===`currency`)?.[0]??t.find(([e,t])=>t.type===`text`&&/^currency(?:Code)?$/.test(e))?.[0]}function En(e){return wn(e,`identifier`)!==void 0&&(wn(e,`party`)!==void 0||wn(e,`total`)!==void 0)}var Dn=new Set([`id`,`tenantId`,`createdAt`,`updatedAt`,`createdBy`,`updatedBy`]),On=[`createdAt`,`updatedAt`];function kn(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/([A-Z]+)([A-Z][a-z])/g,`$1 $2`).replace(/[_-]+/g,` `).trim();if(t===``)return e;let n=t.toLowerCase();return n.charAt(0).toUpperCase()+n.slice(1)}function An(e,t){return(t.type===`foreignKey`||t.type===`crossPackageRef`)&&/.[a-z]Id$/.test(e)?kn(e.slice(0,-2)):kn(e)}function jn(e){let t=kn(e.className),n=t.slice(-1);return{singular:t,plural:/(s|x|z|ch|sh)$/i.test(t)?`${t}es`:/[^aeiou]y$/i.test(t)?`${t.slice(0,-1)}ies`:n===``?t:`${t}s`}}function Mn(e,t){let n=e.ui?.widget;if(e.type===`text`)return Array.isArray(e.enum)&&e.enum.length>0?`select`:n===`textarea`?`textarea`:n===`email`?`email`:n===`url`?`url`:n===`phone`?`tel`:`text`;if(e.type===`integer`)return t?.includes(`money`)??(n===`currency`||(e.format??e.ui?.format)===`money`)?`money`:`integer`;switch(e.type){case`decimal`:return`decimal`;case`boolean`:return`boolean`;case`datetime`:return`datetime`;case`json`:return`json`;default:return`reference`}}function Nn(e,t){return t===void 0?e.required===!0&&e.nullable!==!0:t}function Pn(e,t){return t&&t.objectRef!==e.objectRef?`Field policy is for '${t.objectRef}', not '${e.objectRef}'.`:null}function Fn(e){return!e.startsWith(`_`)&&!e.startsWith(`$`)}function In(e){let t=e.some(e=>e.definition.ui?.basic===!0),n=new Set;for(let r of e)(r.definition.ui?.basic===!0||r.definition.ui?.basic!==!1&&!t)&&n.add(r.name);return n}function Ln(e,t){return(e.order??2**53-1)-(t.order??2**53-1)||e.index-t.index}function Rn(e,t,n){let{mode:r,include:i,exclude:a}=n,o=new Set(a??[]),s=Object.entries(e.fields).map(([e,t],n)=>({name:e,definition:t,index:n})).filter(t=>Fn(t.name)&&!Dn.has(t.name)&&t.name!==e.idField),c=t?null:In(s),l=Cn(e),u=e=>{let n=t?.fields[e.name];if(t&&!n)return null;let r=n?n.visibility:c?.has(e.name)?`basic`:`advanced`;if(r===`hidden`)return null;let i=n?.label?.trim(),a=n?.help??e.definition.description??null,o=l[e.name]??[],s=Mn(e.definition,o);return{name:e.name,label:i||An(e.name,e.definition),help:a&&a.trim()!==``?a:null,type:e.definition.type,kind:s,required:Nn(e.definition,n?.required),tier:r,group:n?.group??e.definition.ui?.group??null,order:n?.order??e.definition.ui?.order??null,definition:e.definition,roles:o,...s===`select`?{options:[...e.definition.enum??[]]}:{}}},d=s.map(e=>({c:e,field:u(e)})).filter(e=>e.field!==null).filter(e=>!o.has(e.c.name)),f=t=>{let n=e.fields[t];return!n||o.has(t)?null:{name:t,label:kn(t),help:null,type:n.type,kind:`datetime`,required:!1,tier:`advanced`,group:null,order:null,definition:n,roles:l[t]??[]}};if(i){let e=new Map(d.map(e=>[e.c.name,e.field])),t=[];for(let n of i){if(o.has(n))continue;if(r!==`edit`&&On.includes(n)){let e=f(n);e&&t.push(e);continue}let i=e.get(n);i&&t.push(i)}return t}let p=d.map(e=>e.field).map((e,t)=>({field:e,order:e.order,index:t})).sort(Ln).map(e=>e.field);if(r===`list`){let e=n.maxListColumns??6;return p.filter(e=>e.tier===`basic`&&e.kind!==`json`&&e.kind!==`textarea`&&e.kind!==`reference`).slice(0,Math.max(0,e))}if(r===`view`){let e=On.map(f).filter(e=>e!==null);return[...p,...e]}return p}function zn(e){let t=new Map;for(let n of e){let e=t.get(n.group)??[];e.push(n),t.set(n.group,e)}return[...t.entries()]}function Bn(e){return`${e.model.split(/[:/]/).pop()??e.model}-${e.field}`.replace(/[^A-Za-z0-9_.-]+/g,`-`).slice(0,64)}function Vn(e){return de.get(e.trim().toUpperCase())??2}function Hn(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e))return null;let n=e<0,r=String(Math.abs(e)),i;if(t<=0)i=r;else{let e=r.padStart(t+1,`0`);i=`${e.slice(0,-t)}.${e.slice(-t)}`}return n?`-${i}`:i}function Un(e,t){let n=e.trim().replace(/[,\s]/g,``),r=(t>0?/^(-?)(\d+)(?:\.(\d*))?$/:/^(-?)(\d+)$/).exec(n);if(!r)return null;let[,i,a,o=``]=r;if(o.length>Math.max(0,t))return null;let s=Number(`${a}${o.padEnd(Math.max(0,t),`0`)}`);return Number.isSafeInteger(s)?i===`-`&&s!==0?-s:s:null}function Wn(e){return String(e).padStart(2,`0`)}function Gn(e){if(e==null||e===``)return``;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${Wn(t.getMonth()+1)}-${Wn(t.getDate())}T${Wn(t.getHours())}:${Wn(t.getMinutes())}`}function Kn(e,t,n={}){if(e.kind===`boolean`)return t===!0||t===`true`;if(t==null)return``;switch(e.kind){case`money`:return Hn(t,Vn(n.currency??`USD`))??``;case`datetime`:return Gn(t);case`json`:return typeof t==`string`?t:JSON.stringify(t,null,2);default:return String(t)}}function qn(e,t,n={}){let r={};for(let i of e)r[i.name]=Kn(i,t[i.name],n);return r}function Jn(e,t,n={}){let r={};for(let i of e){let e=t?.fields[i.name],a=e?.hasDefault===!0?e.defaultValue:i.definition.default;r[i.name]=Kn(i,a,n)}return r}function Yn(e,t,n={}){let r={},i={},a=Vn(n.currency??`USD`);for(let o of e){let e=t[o.name];if(o.kind===`boolean`){r[o.name]=e===!0||e===`true`;continue}let s=typeof e==`string`?e:``,c=s.trim();if(c===``)o.required?i[o.name]=`required`:(o.kind===`text`||o.kind===`textarea`||o.kind===`email`||o.kind===`url`||o.kind===`tel`||o.kind===`select`)&&o.definition.nullable!==!0?r[o.name]=``:r[o.name]=null;else switch(o.kind){case`integer`:{let e=/^-?\d+$/.test(c)?Number(c):NaN;Number.isSafeInteger(e)?r[o.name]=e:i[o.name]=`invalid_integer`;break}case`decimal`:{let e=Number(c);Number.isFinite(e)?r[o.name]=e:i[o.name]=`invalid_decimal`;break}case`money`:{let e=Un(c,a);e===null?i[o.name]=`invalid_money`:r[o.name]=e;break}case`datetime`:{let e=n.record?.[o.name],t=e==null||e===``?null:e instanceof Date?e:new Date(e);if(t&&!Number.isNaN(t.getTime())&&c===Gn(t)){r[o.name]=t.toISOString();break}let a=new Date(c);Number.isNaN(a.getTime())?i[o.name]=`invalid_datetime`:r[o.name]=a.toISOString();break}case`json`:try{r[o.name]=JSON.parse(c)}catch{i[o.name]=`invalid_json`}break;case`reference`:r[o.name]=c;break;default:r[o.name]=s}}return{values:r,errors:i}}function Xn(e,t,n={}){let r=e.definition?.format??e.definition?.ui?.format;if(e.kind===`boolean`)return t==null?``:t===!0||t===`true`?n.yes??`Yes`:n.no??`No`;if(t==null||t===``)return``;try{switch(e.kind){case`integer`:return typeof t==`number`?new Intl.NumberFormat(n.locale,{maximumFractionDigits:0}).format(t):String(t);case`decimal`:return r===`percent`&&typeof t==`number`?new Intl.NumberFormat(n.locale,{style:`percent`,maximumFractionDigits:4}).format(t):typeof t==`number`?new Intl.NumberFormat(n.locale,{maximumFractionDigits:6}).format(t):String(t);case`money`:{let e=(n.currency??`USD`).trim().toUpperCase(),r=Vn(e);return typeof t!=`number`||!Number.isSafeInteger(t)?String(t):new Intl.NumberFormat(n.locale,{style:`currency`,currency:e}).format(t/10**r)}case`datetime`:{let e=t instanceof Date?t:new Date(t);return Number.isNaN(e.getTime())?String(t):new Intl.DateTimeFormat(n.locale,{dateStyle:`medium`,...r===`date`?{}:{timeStyle:`short`},...n.timeZone?{timeZone:n.timeZone}:{}}).format(e)}case`json`:{let e=Zn(t);return er(e)?``:typeof e==`string`?e:JSON.stringify(e)}default:return String(t)}}catch{return String(t)}}function Zn(e){if(typeof e!=`string`)return e;let t=e.trim();if(!t.startsWith(`{`)&&!t.startsWith(`[`))return e;try{return JSON.parse(t)}catch{return e}}function Qn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function $n(e){return e==null||e===``}function er(e){return $n(e)?!0:Array.isArray(e)?e.length===0:Qn(e)?Object.values(e).every($n):!1}function tr(e){let t=Zn(e);if(!Qn(t))return null;let n=[];for(let[e,r]of Object.entries(t))$n(r)||n.push({key:e,value:typeof r==`object`&&r?JSON.stringify(r):String(r)});return n.length>0?n:null}function nr(e){return e.length>12?`${e.slice(0,8)}…`:e}function rr(e,t){let n=[];for(let r of e)if(!(t&&r.id!==t))for(let e of r.items){if(e.hidden)continue;let t=St(e.item.href);t&&n.push({id:e.id,label:e.label,href:t,...e.item.icon?{icon:e.item.icon}:{},...e.item.description?{description:e.item.description}:{}})}return{items:n}}function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ir=/^[A-Za-z_][A-Za-z0-9_.-]{0,63}$/;function ar(e,t=6){if(typeof e!=`string`)return[];let n=[];for(let r of e.split(`,`)){let e=r.trim();if(ir.test(e)&&!n.includes(e)&&(n.push(e),n.length===t))break}return n}function or(e){return e.join(`,`)}var sr={active:`success`,accepted:`success`,approved:`success`,completed:`success`,confirmed:`success`,delivered:`success`,fulfilled:`success`,paid:`success`,settled:`success`,shipped:`success`,open:`info`,pending:`info`,processing:`info`,sent:`info`,viewed:`info`,partial:`warning`,overdue:`warning`,on_hold:`warning`,suspended:`warning`,declined:`error`,failed:`error`,rejected:`error`,refunded:`default`,cancelled:`default`,canceled:`default`,draft:`default`,inactive:`default`,void:`default`,written_off:`default`};function cr(e,t){if(typeof e!=`string`)return`default`;let n=e.trim().toLowerCase().replace(/[\s-]+/g,`_`);return t?.[e]??t?.[n]??sr[n]??`default`}function lr(e){return typeof e!=`string`||e.trim()===``?``:kn(e.trim())}function ur(e,t,n={}){if(t==null||t===``)return``;switch(e.role){case`money`:return Xn({kind:`money`},t,{currency:n.currency,locale:n.locale});case`date`:return typeof t==`string`&&!/^\d{4}-\d{2}-\d{2}/.test(t)?t:Xn({kind:`datetime`,definition:{format:`date`}},t,{locale:n.locale,timeZone:n.timeZone??`UTC`});case`quantity`:return Xn({kind:`decimal`},t,{locale:n.locale});case`status`:return lr(t);default:return typeof t==`number`?Xn({kind:`decimal`},t,{locale:n.locale}):typeof t==`boolean`?t?`✓`:``:typeof t==`string`?t:JSON.stringify(t)}}function dr(e){return e===`money`||e===`quantity`}function fr(e){return e.summarize??dr(e.role)}function pr(e){if(!Q(e)||!Array.isArray(e.rows))return[];let t=[];for(let n of e.rows.slice(0,50)){if(!Q(n))continue;let e=Q(n.cells)?n.cells:void 0;(typeof n.title==`string`||e)&&t.push({id:typeof n.id==`string`?n.id:String(t.length),title:typeof n.title==`string`?n.title:``,...typeof n.subtitle==`string`?{subtitle:n.subtitle}:{},...typeof n.meta==`string`?{meta:n.meta}:{},...typeof n.href==`string`?{href:n.href}:{},...e?{cells:e}:{}})}return t}var mr=new Set([`title`,`identifier`,`status`,`money`,`quantity`,`date`,`party`,`subtotal`,`tax`,`discount`,`total`]);function hr(e,t){let n=[];if(Array.isArray(t))for(let e of t)Q(e)&&typeof e.key==`string`&&ir.test(e.key)&&n.push({key:e.key,label:typeof e.label==`string`&&e.label!==``?e.label:kn(e.key),...typeof e.role==`string`&&mr.has(e.role)?{role:e.role}:{},...typeof e.summarize==`boolean`?{summarize:e.summarize}:{}});return(e.length>0?e:n.map(e=>e.key)).slice(0,6).map(e=>n.find(t=>t.key===e)??{key:e,label:kn(e)})}var gr=[`related`,`line-items`,`records`,`metric`,`chart`,`note`];function _r(e){return`detail:${e.replace(/^@/,``).replace(/[/:]+/g,`.`).replace(/[^A-Za-z0-9_.-]/g,`-`).replace(/^[^A-Za-z0-9]+/,``)||`record`}`}function vr(e,t,n){let r=`${e}-${Bn(t)}`.replace(/[^A-Za-z0-9_-]+/g,`-`).slice(0,60),i=r;for(let e=2;n.has(i);e+=1)i=`${r}-${e}`;return n.add(i),i}function yr(e,t,n={}){let r=t.filter(e=>e.kind===`children`),i=t.filter(e=>e.kind===`items`),a=[],o=[],s=new Set;for(let e of[...i,...r])o.includes(e.model)||o.push(e.model);if(n.metrics!==!1){let e=n.maxMetrics??4,t=[];for(let n of r){if(t.length>=e)break;t.push({id:vr(`count`,n,s),type:`metric`,span:1,options:{title:n.label,model:n.model,measure:`count`,field:n.field,filter:`parent`}});let r=(n.columns??[]).find(e=>e.role===`money`);!r||t.length>=e||t.push({id:vr(`sum`,n,s),type:`metric`,span:1,options:{title:`${n.label} · ${r.label}`,model:n.model,measure:`sum`,field:r.key,filter:`parent`,parentField:n.field}})}a.push(...t)}let c=i[0];if(c&&a.push({id:vr(`items`,c,s),type:`line-items`,span:4,options:{title:c.label,relation:Bn(c)}}),n.related===`panels`)for(let e of r)a.push({id:vr(`records`,e,s),type:`records`,span:2,options:{title:e.label,model:e.model,field:e.field,filter:`parent`,sort:`createdAt`,direction:`desc`,limit:5,...(e.columns??[]).length>0?{columns:or((e.columns??[]).map(e=>e.key))}:{}}});else r.length>0&&(s.add(`related`),a.push({id:`related`,type:`related`,span:4,options:{limit:5}}));return rt({id:n.id??_r(e.objectRef),allowed:gr,models:o.length>0?o:void 0,defaults:a})}function br(e){return e===`exclusive`||e===`inclusive`||e===`none`}function xr(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return br(t.lineAmountType)&&(t.roundingScope===`line`||t.roundingScope===`document`)&&Number.isSafeInteger(t.subtotal)&&Number.isSafeInteger(t.discount)&&Number.isSafeInteger(t.tax)&&Number.isSafeInteger(t.total)&&Array.isArray(t.taxes)}function Sr(e){let t=new Map;for(let n of e){if(!n||typeof n.taxComponentId!=`string`||typeof n.name!=`string`||typeof n.percent!=`string`||!Number.isSafeInteger(n.taxable)||!Number.isSafeInteger(n.tax))continue;let e=`${n.taxComponentId}\u0000${n.name}\u0000${n.percent}`,r=t.get(e);if(!r){t.set(e,{...n});continue}let i=r.taxable+n.taxable,a=r.tax+n.tax;Number.isSafeInteger(i)&&Number.isSafeInteger(a)&&(r.taxable=i,r.tax=a)}return[...t.values()]}function Cr(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|[^\\d.])${n}\\s?%`).test(e)?e:`${e} ${t}%`}function wr(e){return typeof e==`number`&&Number.isSafeInteger(e)?e:null}function Tr(e){let t=0;for(let n of e){if(n==null||n===``)continue;let e=wr(n);if(e===null||(t+=e,!Number.isSafeInteger(t)))return null}return t}function Er(e,t){let n=e?.lineAmountType===`inclusive`,r=wr(e?.subtotal),i=wr(e?.discount),a=wr(e?.tax),o=wr(e?.total),s=[],c=t===null?null:n?a===null?null:t-a:t,l=r??c;l!==null&&s.push({key:`subtotal`,value:l,computed:r===null}),i!==null&&i!==0&&s.push({key:`discount`,value:i,computed:!1,included:!0}),a!==null&&a!==0&&s.push({key:`tax`,value:a,computed:!1});let u=o??(l===null||a===null?null:l+a);u!==null&&s.push({key:`total`,value:u,computed:o===null});let d=null;if(c!==null){if(r!==null&&r!==c)d={field:`subtotal`,recorded:r,lines:c};else if(r===null&&o!==null&&a!==null){let e=c+a;e!==o&&(d={field:`total`,recorded:o,lines:e})}}return{lines:s,lineSum:t,mismatch:d}}function Dr(e,t){let n=e.filter(e=>e.kind===`children`);return t.length===0?n.slice(0,20):t.map(e=>n.find(t=>Bn(t)===e)).filter(e=>e!==void 0)}function Or(e,t){return{title:e.label,model:e.model,field:e.field,filter:`parent`,sort:`createdAt`,direction:`desc`,limit:t,columns:or((e.columns??[]).map(e=>e.key))}}function kr(e,t,n){let r=Q(t)?t:{},i=pr(r),a=(e.columns??[]).map(e=>e.key),o=[...Array.isArray(r.columns)?r.columns:[],...e.columns??[]],s={};if(Q(r.summaries))for(let[e,t]of Object.entries(r.summaries))typeof t==`number`&&Number.isFinite(t)&&(s[e]=t);let c=typeof r.total==`number`&&Number.isFinite(r.total)?r.total:i.length,l=typeof r.href==`string`?r.href:void 0;return{key:Bn(e),label:e.label,rows:i,total:c,columns:hr(a,o),...n??l?{href:n??l}:{},...typeof r.currency==`string`?{currency:r.currency}:{},...typeof r.timeZone==`string`?{timeZone:r.timeZone}:{},...Object.keys(s).length>0?{summaries:s}:{}}}function Ar(e){return async(t,n)=>{let r=ar(t.relations,20),i=typeof t.limit==`number`?t.limit:5,a=Dr(e.relations,r),o=await Promise.allSettled(a.map(t=>new Promise(r=>r(e.records(Or(t,i),n))))),s=[],c;if(o.forEach((t,n)=>{let r=a[n];r&&(t.status===`rejected`?c??=t.reason:s.push(kr(r,t.value,e.viewAllHref?.(r))))}),s.length===0&&c!==void 0)throw c;return{tabs:s}}}function jr(e,t){let n=e.filter(e=>e.kind===`items`);return typeof t==`string`&&t!==``?n.find(e=>Bn(e)===t):n[0]}function Mr(e,t){return{title:e.label,model:e.model,field:e.field,filter:`parent`,sort:e.sort??`createdAt`,direction:`asc`,limit:t,columns:or((e.columns??[]).map(e=>e.key))}}function Nr(e){return async(t,n)=>{let r=jr(e.relations,t.relation),i=e.totals?.(),a=e.storedTotals?.(),o=e.currency?.();if(!r)return{rows:[],columns:[],...i?{totals:i}:{},...a?{storedTotals:a}:{}};let s=typeof t.limit==`number`?t.limit:50,c=kr(r,await e.records(Mr(r,s),n),void 0);return{rows:c.rows,columns:c.columns,...c.total===void 0?{}:{total:c.total},...i?{totals:i}:{},...a?{storedTotals:a}:{},...c.currency??o?{currency:c.currency??o}:{},...c.summaries?{summaries:c.summaries}:{},...c.href?{href:c.href}:{}}}}var Pr=U({"ui.overview.no_data":`Nothing to show yet.`,"ui.overview.metric.change_up":`Up {value} from the previous period`,"ui.overview.metric.change_down":`Down {value} from the previous period`,"ui.overview.chart.summary":`Chart with {count} values`,"ui.overview.chart.table":`Chart data`,"ui.overview.chart.label_column":`Label`,"ui.overview.chart.value_column":`Value`,"ui.overview.chart.peak":`Peak {value} · {label}`,"ui.overview.chart.latest":`Latest {value} · {label}`,"ui.overview.chart.explore":`Use the arrow keys to read each value; Home and End jump to the first and last.`,"ui.overview.chart.point":`{label}: {value}`}),Fr=c(`<tr><th scope="row" class="svelte-75pkr"> </th><td class="svelte-75pkr"> </td></tr>`),Ir=c(`<table data-smrt-part="table"><caption class="svelte-75pkr"> </caption><thead class="svelte-75pkr"><tr><th scope="col" class="svelte-75pkr"> </th><th scope="col" class="svelte-75pkr"> </th></tr></thead><tbody class="svelte-75pkr"></tbody></table>`),Lr=d(`<line class="smrt-chart__grid svelte-75pkr" data-smrt-part="grid" x1="0" x2="100" vector-effect="non-scaling-stroke"></line>`),Rr=d(`<line class="smrt-chart__guide svelte-75pkr" data-smrt-part="guide" y1="0" y2="40" vector-effect="non-scaling-stroke"></line>`),zr=c(`<span class="smrt-chart__dot svelte-75pkr" data-smrt-part="marker" aria-hidden="true"></span> <span class="smrt-chart__tip svelte-75pkr" data-smrt-part="panel" aria-hidden="true"><span> </span><strong> </strong></span>`,1),Br=c(`<svg class="smrt-chart__line svelte-75pkr" data-smrt-part="graph" viewBox="0 0 100 40" preserveAspectRatio="none"><!><polyline fill="none" stroke="currentColor" stroke-width="2" vector-effect="non-scaling-stroke"></polyline><!></svg> <!>`,1),Vr=c(`<p class="smrt-chart__empty svelte-75pkr" data-smrt-component="Chart"> </p>`),Hr=c(`<div class="smrt-chart__root smrt-chart__type-table svelte-75pkr" data-smrt-component="Chart"><!></div>`),Ur=c(`<p class="smrt-chart__delta svelte-75pkr" data-smrt-part="status"><span aria-hidden="true"> </span> </p>`),Wr=c(`<div class="smrt-chart__root smrt-chart__type-stat svelte-75pkr" data-smrt-component="Chart"><p class="smrt-chart__headline svelte-75pkr" data-smrt-part="value"> </p> <p class="smrt-chart__caption svelte-75pkr" data-smrt-part="label"> </p> <!></div>`),Gr=d(`<circle class="smrt-chart__slice svelte-75pkr" data-smrt-part="slice" cx="21" cy="21" r="15.9155" fill="none" stroke-width="6" pathLength="100" transform="rotate(-90 21 21)"></circle>`),Kr=c(`<li class="smrt-chart__legend-item svelte-75pkr" data-smrt-part="item"><span class="smrt-chart__swatch svelte-75pkr" data-smrt-part="swatch"></span> <span class="smrt-chart__label svelte-75pkr" data-smrt-part="label"> </span> <span class="smrt-chart__value svelte-75pkr" data-smrt-part="value"> </span></li>`),qr=c(`<div class="smrt-chart__root smrt-chart__type-pie svelte-75pkr" data-smrt-component="Chart"><svg class="smrt-chart__donut svelte-75pkr" data-smrt-part="graph" viewBox="0 0 42 42" role="img"></svg> <ul class="smrt-chart__legend svelte-75pkr" data-smrt-part="legend" aria-hidden="true"></ul> <!></div>`),Jr=c(`<span> </span>`),Yr=c(`<p class="smrt-chart__values svelte-75pkr" data-smrt-part="scale" aria-hidden="true"></p>`),Xr=c(`<div class="smrt-chart__plot svelte-75pkr" data-smrt-part="plot" role="slider" tabindex="0" aria-orientation="horizontal"><!></div>`),Zr=c(`<div class="smrt-chart__plot svelte-75pkr" data-smrt-part="plot"><!></div>`),Qr=c(`<span class="svelte-75pkr"> </span>`),$r=c(`<p class="smrt-chart__axis svelte-75pkr" data-smrt-part="axis" aria-hidden="true"></p>`),ei=c(`<span class="smrt-chart__table svelte-75pkr" data-smrt-part="description"> </span>`),ti=c(`<p class="smrt-chart__readout svelte-75pkr" data-smrt-part="readout"><span> </span> <span> </span></p>`),ni=c(`<div class="smrt-chart__root smrt-chart__type-line svelte-75pkr" data-smrt-component="Chart"><div data-smrt-part="frame"><!> <div class="smrt-chart__body svelte-75pkr" data-smrt-part="body"><!> <!></div></div> <!> <!> <!></div>`),ri=c(`<li class="smrt-chart__row svelte-75pkr" data-smrt-part="row"><span class="smrt-chart__label svelte-75pkr" data-smrt-part="label"> </span> <span class="smrt-chart__track svelte-75pkr" data-smrt-part="track" aria-hidden="true"><span class="smrt-chart__bar svelte-75pkr" data-smrt-part="bar"></span></span> <span class="smrt-chart__value svelte-75pkr" data-smrt-part="value"> </span></li>`),ii=c(`<ul class="smrt-chart__bars svelte-75pkr" data-smrt-component="Chart"></ul>`);function ai(o,c){let u=R();h(c,!0);let d=(t,n=p)=>{var i=Ir(),o=k(i),c=P(o,!0),u=M(o),d=k(u),m=k(d),h=P(m,!0),g=M(m),_=P(g,!0);s(d),s(u);var y=M(u);f(y,21,()=>e(N),v,(t,n)=>{var r=Fr(),i=k(r),a=P(i,!0),o=M(i),c=P(o,!0);s(r),z(t=>{l(a,e(n).label),l(c,t)},[()=>ne(e(n).value)]),x(t,r)}),s(y),s(i),z((e,t,o)=>{a(i,1,r(n()?`smrt-chart__table`:`smrt-chart__data`),`svelte-75pkr`),l(c,e),l(h,t),l(_,o)},[()=>A(Pr[`ui.overview.chart.table`]),()=>A(Pr[`ui.overview.chart.label_column`]),()=>A(Pr[`ui.overview.chart.value_column`])]),x(t,i)},m=(n,r=p)=>{var i=Br(),a=L(i),o=k(a),c=e=>{var t=S(),n=L(t);f(n,16,()=>[4,20,36],e=>e,(e,t)=>{var n=Lr();z(()=>{B(n,`y1`,t),B(n,`y2`,t)}),x(e,n)}),x(e,t)};t(o,t=>{e(fe)&&t(c)});var u=M(o),d=M(u),m=t=>{var n=Rr();z(()=>{B(n,`x1`,e(X).x),B(n,`x2`,e(X).x)}),x(t,n)};t(d,t=>{e(X)&&t(m)}),s(a);var h=M(a,2),g=t=>{var n=zr(),r=L(n);let i;var a=M(r,2);let o;var c=k(a),u=P(c,!0),d=M(c),f=P(d,!0);s(a),z(t=>{i=b(r,``,i,{"inset-inline-start":`${e(X).x??``}%`,"inset-block-start":`${e(X).y/40*100}%`}),B(a,`data-edge`,e(X).x<15?`start`:e(X).x>85?`end`:void 0),o=b(a,``,o,{"inset-inline-start":`${e(X).x??``}%`}),l(u,e(X).label),l(f,t)},[()=>ne(e(X).value)]),x(t,n)};t(h,t=>{e(X)&&t(g)}),z(()=>{B(a,`role`,r()?void 0:`img`),B(a,`aria-label`,r()?void 0:e(de)),B(a,`aria-hidden`,r()?`true`:void 0),B(u,`points`,e(se))}),x(n,i)},g=E(c,`style`,3,`bar`),_=E(c,`title`,3,``),y=E(c,`locale`,3,`en`),w=E(c,`size`,3,`regular`),ee=E(c,`readout`,3,!0);function O(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}let{t:A}=ae(),j=n(()=>O(c.data)?c.data:null),N=n(()=>{if(!e(j)||!Array.isArray(e(j).points))return[];let t=[];for(let n of e(j).points.slice(0,60))O(n)&&typeof n.label==`string`&&typeof n.value==`number`&&Number.isFinite(n.value)&&t.push({label:n.label,value:n.value});return t}),F=[`bar`,`line`,`table`,`pie`,`stat`],I=n(()=>F.find(e=>e===g())??`bar`);function te(){return w()!==`compact`&&(c.valueAxis??w()===`tall`)}let ne=t=>_t(t,{format:e(j)?.format??`integer`,currency:e(j)?.currency,locale:y()}),H=n(()=>Math.max(0,...e(N).map(e=>e.value))),re=n(()=>Math.min(0,...e(N).map(e=>e.value)));function ie(e){if(e<=0)return 0;let t=10**Math.floor(Math.log10(e));return([1,2,2.5,5,10].find(n=>e/t<=n)??10)*t}let U=n(()=>te()&&e(H)>0?ie(e(H)/2)*2:e(H)),oe=n(()=>e(U)-e(re)||1),se=n(()=>e(N).map((t,n)=>{let r=e(N).length===1?50:n/(e(N).length-1)*100,i=36-(t.value-e(re))/e(oe)*32;return`${r.toFixed(2)},${i.toFixed(2)}`}).join(` `)),ce=n(()=>e(N).reduce((e,t)=>e+Math.max(0,t.value),0)),W=n(()=>{let t=0;return e(N).map((n,r)=>{let i=e(ce)>0?Math.max(0,n.value)/e(ce)*100:0,a={...n,index:r,share:i,offset:t};return t+=i,a})}),le=e=>_t(e/100,{format:`percent`,locale:y()}),G=n(()=>e(N).at(-1)),K=n(()=>{if(e(j)&&typeof e(j).delta==`number`&&Number.isFinite(e(j).delta))return e(j).delta;let t=e(N).at(-2);return!e(G)||!t||t.value===0?null:(e(G).value-t.value)/Math.abs(t.value)*100}),q=n(()=>e(K)===null||e(K)===0?``:A(Pr[e(K)>0?`ui.overview.metric.change_up`:`ui.overview.metric.change_down`],{value:_t(Math.abs(e(K))/100,{format:`percent`,locale:y()})})),J=n(()=>{if(e(N).length<=2)return e(N).map(e=>e.label);let t=e(N)[Math.floor((e(N).length-1)/2)];return[e(N)[0].label,t.label,e(N)[e(N).length-1].label]}),ue=n(()=>e(N).reduce((e,t)=>!e||t.value>e.value?t:e,null)),de=n(()=>`${_()}. ${A(Pr[`ui.overview.chart.summary`],{count:e(N).length})}`),Y=n(()=>w()===`compact`),fe=n(te),pe=n(()=>!e(Y)&&(c.explore??w()===`tall`)),me=t=>_t(t,{format:e(j)?.format??`integer`,currency:e(j)?.currency,locale:y(),compact:!0}),he=n(()=>[e(U),(e(U)+e(re))/2,e(re)]);function ge(t){let n=e(N)[t];return{x:e(N).length===1?50:t/(e(N).length-1)*100,y:36-((n?.value??0)-e(re))/e(oe)*32}}let _e=D(null),X=n(()=>e(_e)!==null&&e(N)[e(_e)]?{...e(N)[e(_e)],...ge(e(_e))}:null),ve=n(()=>e(X)?A(Pr[`ui.overview.chart.point`],{label:e(X).label,value:ne(e(X).value)}):``);function ye(t){let n=t.currentTarget.getBoundingClientRect();if(n.width<=0||e(N).length===0)return;let r=Math.min(1,Math.max(0,(t.clientX-n.left)/n.width));V(_e,Math.round(r*(e(N).length-1)),!0)}function be(t){let n=e(N).length-1;if(n<0)return;let r=e(_e)??-1,i=t.key===`ArrowRight`||t.key===`ArrowUp`?Math.min(n,r+1):t.key===`ArrowLeft`||t.key===`ArrowDown`?Math.max(0,r<0?n:r-1):t.key===`Home`?0:t.key===`End`?n:null;i!==null&&(t.preventDefault(),V(_e,i,!0))}var xe=S(),Se=L(xe),Ce=e=>{var t=Vr(),n=P(t,!0);z(e=>l(n,e),[()=>A(Pr[`ui.overview.no_data`])]),x(e,t)},we=e=>{var t=Hr(),n=k(t);d(n,()=>!1),s(t),x(e,t)},Te=n=>{var r=S(),i=L(r),a=n=>{var r=Wr(),i=k(r),a=P(i,!0),o=M(i,2),c=P(o,!0),u=M(o,2),d=t=>{var n=Ur(),r=k(n),i=P(r,!0),a=M(r);s(n),z(()=>{B(n,`data-direction`,(e(K)??0)>0?`up`:`down`),l(i,(e(K)??0)>0?`▲`:`▼`),l(a,` ${e(q)??``}`)}),x(t,n)};t(u,t=>{e(q)&&t(d)}),s(r),z(t=>{l(a,t),l(c,e(G).label)},[()=>ne(e(G).value)]),x(n,r)};t(i,t=>{e(G)&&t(a)}),x(n,r)},Ee=n=>{var r=S(),i=L(r),a=n=>{var r=qr(),i=k(r);f(i,21,()=>e(W),e=>e.index,(n,r)=>{var i=S(),a=L(i),o=t=>{var n=Gr();z(()=>{B(n,`data-slot`,e(r).index%8),B(n,`stroke-dasharray`,`${e(r).share??``} ${100-e(r).share}`),B(n,`stroke-dashoffset`,-e(r).offset)}),x(t,n)};t(a,t=>{e(r).share>0&&t(o)}),x(n,i)}),s(i);var a=M(i,2);f(a,21,()=>e(W),e=>e.index,(t,n)=>{var r=Kr(),i=k(r),a=M(i,2),o=P(a,!0),c=M(a,2),u=P(c);s(r),z((t,r)=>{B(i,`data-slot`,e(n).index%8),l(o,e(n).label),l(u,`${t??``} · ${r??``}`)},[()=>ne(e(n).value),()=>le(e(n).share)]),x(t,r)}),s(a);var o=M(a,2);d(o,()=>!0),s(r),z(()=>B(i,`aria-label`,e(de))),x(n,r)},o=e=>{var t=Vr(),n=P(t,!0);z(e=>l(n,e),[()=>A(Pr[`ui.overview.no_data`])]),x(e,t)};t(i,t=>{e(ce)>0?t(a):t(o,-1)}),x(n,r)},De=n=>{var r=ni(),i=k(r);let o;var c=k(i),p=t=>{var n=Yr();f(n,21,()=>e(he),v,(t,n)=>{var r=Jr(),i=P(r,!0);z(e=>l(i,e),[()=>me(e(n))]),x(t,r)}),s(n),x(t,n)};t(c,t=>{e(fe)&&t(p)});var h=M(c,2),g=k(h),_=t=>{var n=Xr();B(n,`aria-valuemin`,0);var r=k(n);m(r,()=>!0),s(n),z((t,r)=>{B(n,`aria-label`,e(de)),B(n,`aria-describedby`,`${u}-explore`),B(n,`aria-valuemax`,t),B(n,`aria-valuenow`,e(_e)??e(N).length-1),B(n,`aria-valuetext`,r)},[()=>Math.max(0,e(N).length-1),()=>e(ve)||(e(G)?A(Pr[`ui.overview.chart.point`],{label:e(G).label,value:ne(e(G).value)}):``)]),C(`pointermove`,n,ye),T(`pointerleave`,n,()=>V(_e,null)),C(`keydown`,n,be),T(`blur`,n,()=>V(_e,null)),x(t,n)},y=e=>{var t=Zr(),n=k(t);m(n,()=>!1),s(t),x(e,t)};t(g,t=>{e(pe)?t(_):t(y,-1)});var b=M(g,2),S=t=>{var n=$r();f(n,21,()=>e(J),v,(t,n)=>{var r=Qr(),i=P(r,!0);z(()=>l(i,e(n))),x(t,r)}),s(n),x(t,n)};t(b,t=>{e(Y)||t(S)}),s(h),s(i);var E=M(i,2),D=e=>{var t=ei(),n=P(t,!0);z(e=>{B(t,`id`,`${u}-explore`),l(n,e)},[()=>A(Pr[`ui.overview.chart.explore`])]),x(e,t)};t(E,t=>{e(pe)&&t(D)});var O=M(E,2),j=t=>{var n=ti(),r=k(n),i=P(r,!0),a=M(r,2),o=P(a,!0);s(n),z((e,t)=>{l(i,e),l(o,t)},[()=>A(Pr[`ui.overview.chart.peak`],{value:ne(e(ue).value),label:e(ue).label}),()=>A(Pr[`ui.overview.chart.latest`],{value:ne(e(G).value),label:e(G).label})]),x(t,n)};t(O,t=>{ee()&&!e(Y)&&e(ue)&&e(G)&&t(j)});var F=M(O,2);d(F,()=>!0),s(r),z(()=>{B(r,`data-size`,w()),o=a(i,1,`smrt-chart__frame svelte-75pkr`,null,o,{"smrt-chart__frame-axis":e(fe)})}),x(n,r)},Oe=t=>{var n=ii();f(n,21,()=>e(N),v,(t,n)=>{var r=ri(),i=k(r),a=P(i,!0),o=M(i,2),c=k(o);let u;s(o);var d=M(o,2),f=P(d,!0);s(r),z((t,r)=>{l(a,e(n).label),u=b(c,``,u,{"inline-size":t}),l(f,r)},[()=>`${e(H)>0?Math.max(0,e(n).value)/e(H)*100:0}%`,()=>ne(e(n).value)]),x(t,r)}),s(n),z(()=>B(n,`aria-label`,e(de))),x(t,n)};t(Se,t=>{e(N).length===0?t(Ce):e(I)===`table`?t(we,1):e(I)===`stat`?t(Te,2):e(I)===`pie`?t(Ee,3):e(I)===`line`?t(De,4):t(Oe,-1)}),x(o,xe),i()}w([`pointermove`,`keydown`]);var oi=c(`<div data-smrt-component="ChartWidget"><!></div>`);function si(t,r){h(r,!0);var a=oi(),o=k(a);{let t=n(()=>r.data??null),i=n(()=>String(r.options.style??`bar`));ai(o,{get data(){return e(t)},get style(){return e(i)},get title(){return r.title},get locale(){return r.locale}})}s(a),x(t,a),i()}var ci=c(`<a class="smrt-metric__value svelte-16na9c5" data-smrt-part="body"> </a>`),li=c(`<p class="smrt-metric__value svelte-16na9c5" data-smrt-part="body"> </p>`),ui=c(`<p class="smrt-metric__label svelte-16na9c5" data-smrt-part="label"> </p>`),di=c(`<p class="smrt-metric__change svelte-16na9c5" data-smrt-part="meta"><span aria-hidden="true"> </span> </p>`),fi=c(`<div class="smrt-metric__root svelte-16na9c5" data-smrt-component="MetricWidget"><!> <!> <!></div>`),pi=c(`<p class="smrt-metric__label svelte-16na9c5" data-smrt-component="MetricWidget"> </p>`);function mi(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>Q(a.data)?a.data:null),u=n(()=>e(c)!==null&&typeof e(c).value==`number`&&Number.isFinite(e(c).value)),d=n(()=>e(u)&&e(c)?_t(e(c).value,{format:e(c).format,currency:e(c).currency,locale:a.locale}):``),f=n(()=>e(c)&&typeof e(c).change==`number`&&Number.isFinite(e(c).change)?e(c).change:null),p=n(()=>e(f)===null||e(f)===0?``:o(Z[e(f)>0?`ui.overview.metric.change_up`:`ui.overview.metric.change_down`],{value:_t(Math.abs(e(f))/100,{format:`percent`,locale:a.locale})})),m=n(()=>e(c)&&typeof e(c).href==`string`?St(e(c).href):null);var g=S(),_=L(g),v=n=>{var r=fi(),i=k(r),a=t=>{var n=ci(),r=P(n,!0);z(()=>{B(n,`href`,e(m)),l(r,e(d))}),x(t,n)},o=t=>{var n=li(),r=P(n,!0);z(()=>l(r,e(d))),x(t,n)};t(i,t=>{e(m)?t(a):t(o,-1)});var u=M(i,2),h=t=>{var n=ui(),r=P(n,!0);z(()=>l(r,e(c).label)),x(t,n)};t(u,t=>{typeof e(c).label==`string`&&e(c).label&&t(h)});var g=M(u,2),_=t=>{var n=di(),r=k(n),i=P(r,!0),a=M(r);s(n),z(()=>{B(n,`data-direction`,(e(f)??0)>0?`up`:`down`),l(i,(e(f)??0)>0?`▲`:`▼`),l(a,` ${e(p)??``}`)}),x(t,n)};t(g,t=>{e(p)&&t(_)}),s(r),x(n,r)},y=e=>{var t=pi(),n=P(t,!0);z(e=>l(n,e),[()=>o(Z[`ui.overview.no_data`])]),x(e,t)};t(_,t=>{e(u)&&e(c)?t(v):t(y,-1)}),x(r,g),i()}var hi=(n,r=p)=>{var i=S(),a=L(i);f(a,17,r,v,(n,r)=>{var i=S(),a=L(i),o=t=>{var n=u();z(()=>l(n,e(r).text)),x(t,n)},c=t=>{var n=gi(),i=P(n,!0);z(()=>l(i,e(r).text)),x(t,n)},d=t=>{var n=_i();hi(k(n),()=>e(r).children),s(n),x(t,n)},f=t=>{var n=vi();hi(k(n),()=>e(r).children),s(n),x(t,n)},p=t=>{var n=yi();hi(k(n),()=>e(r).children),s(n),z(()=>B(n,`href`,e(r).href)),x(t,n)};t(a,t=>{e(r).type===`text`?t(o):e(r).type===`code`?t(c,1):e(r).type===`strong`?t(d,2):e(r).type===`em`?t(f,3):e(r).type===`link`&&t(p,4)}),x(n,i)}),x(n,i)},gi=c(`<code class="svelte-h4l6y5"> </code>`),_i=c(`<strong><!></strong>`),vi=c(`<em><!></em>`),yi=c(`<a rel="noopener noreferrer" class="svelte-h4l6y5"><!></a>`),bi=c(`<p class="smrt-note__empty svelte-h4l6y5" data-smrt-component="NoteWidget"> </p>`),xi=c(`<p class="smrt-note__heading svelte-h4l6y5" data-smrt-part="title"><strong><!></strong></p>`),Si=c(`<p data-smrt-part="body" class="svelte-h4l6y5"><!></p>`),Ci=c(`<blockquote class="svelte-h4l6y5"><!></blockquote>`),wi=c(`<li><!></li>`),Ti=c(`<ol data-smrt-part="list" class="svelte-h4l6y5"></ol>`),Ei=c(`<ul data-smrt-part="list" class="svelte-h4l6y5"></ul>`),Di=c(`<pre class="svelte-h4l6y5"><code class="svelte-h4l6y5"> </code></pre>`),Oi=c(`<div class="smrt-note__root svelte-h4l6y5" data-smrt-component="NoteWidget"></div>`);function ki(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>Tt(typeof a.options.body==`string`?a.options.body:``));var u=S(),d=L(u),p=e=>{var t=bi(),n=P(t,!0);z(e=>l(n,e),[()=>o(Z[`ui.overview.no_data`])]),x(e,t)},m=n=>{var r=Oi();f(r,21,()=>e(c),v,(n,r)=>{var i=S(),a=L(i),o=t=>{var n=xi(),i=k(n);hi(k(i),()=>e(r).children),s(i),s(n),z(()=>B(n,`data-level`,e(r).level)),x(t,n)},c=t=>{var n=Si();hi(k(n),()=>e(r).children),s(n),x(t,n)},u=t=>{var n=Ci();hi(k(n),()=>e(r).children),s(n),x(t,n)},d=n=>{var i=S(),a=L(i),o=t=>{var n=Ti();f(n,21,()=>e(r).items,v,(t,n)=>{var r=wi();hi(k(r),()=>e(n)),s(r),x(t,r)}),s(n),x(t,n)},c=t=>{var n=Ei();f(n,21,()=>e(r).items,v,(t,n)=>{var r=wi();hi(k(r),()=>e(n)),s(r),x(t,r)}),s(n),x(t,n)};t(a,t=>{e(r).ordered?t(o):t(c,-1)}),x(n,i)},p=t=>{var n=Di(),i=k(n),a=P(i,!0);s(n),z(()=>l(a,e(r).text)),x(t,n)};t(a,t=>{e(r).type===`heading`?t(o):e(r).type===`paragraph`?t(c,1):e(r).type===`quote`?t(u,2):e(r).type===`list`?t(d,3):e(r).type===`code`&&t(p,4)}),x(n,i)}),s(r),x(n,r)};t(d,t=>{e(c).length===0?t(p):t(m,-1)}),x(r,u),i()}var Ai=c(`<code class="svelte-13uvxec"> </code>`),ji=c(`<a class="smrt-record-table__link svelte-13uvxec" data-smrt-part="title"><!></a>`),Mi=c(`<div class="smrt-record-table__root svelte-13uvxec" data-smrt-component="RecordTable" role="group"><!></div>`);function Ni(r,a){h(a,!0);let o=(r,i)=>{let o=()=>(i?.()).column,c=()=>(i?.()).row,d=()=>(i?.()).value,f=n(()=>e(m).get(o().id)),p=n(()=>e(f)?ur(e(f),d(),e(y)):String(d()??``)),h=n(()=>e(p)===``&&o().id===e(g)?c().title:e(p));var v=S(),b=L(v),C=n=>{var r=ji(),i=k(r),a=t=>{var n=Ai(),r=P(n,!0);z(()=>l(r,e(h))),x(t,n)},o=t=>{var n=u();z(()=>l(n,e(h))),x(t,n)};t(i,t=>{e(f)?.role===`identifier`?t(a):t(o,-1)}),s(r),z(()=>B(r,`href`,c().href)),x(n,r)},w=t=>{{let r=n(()=>cr(d(),a.statusTones));ce(t,{size:`sm`,get variant(){return e(r)},children:(t,n)=>{_();var r=u();z(()=>l(r,e(h))),x(t,r)},$$slots:{default:!0}})}},T=t=>{var n=Ai(),r=P(n,!0);z(()=>l(r,e(h))),x(t,n)},E=t=>{var n=u();z(()=>l(n,e(h))),x(t,n)};t(b,t=>{o().id===e(g)&&c().href&&e(h)!==``?t(C):e(f)?.role===`status`&&e(h)!==``?t(w,1):e(f)?.role===`identifier`&&e(h)!==``?t(T,2):t(E,-1)}),x(r,v)},c=E(a,`summaries`,3,!1),d=E(a,`total`,3,null),{t:f}=ae(),p=n(()=>a.rows.map(e=>({id:e.id,title:e.title,href:typeof e.href==`string`?St(e.href):null,cells:e.cells??{}}))),m=n(()=>new Map(a.columns.map(e=>[e.key,e]))),g=n(()=>a.columns[0]?.key),v=n(()=>d()===null||d()<=a.rows.length),y=n(()=>({currency:a.currency,locale:a.locale,timeZone:a.timeZone})),b=n(()=>a.columns.map(t=>({id:t.key,label:t.label,accessor:`cells.${t.key}`,...dr(t.role)?{align:`right`}:{},summaryFormat:n=>ur(t,n,e(y))}))),C=n(()=>{if(!c()||a.columns.length===0)return;let t={},n=d()??a.rows.length;e(g)&&!dr(e(m).get(e(g))?.role)&&(t[e(g)]=()=>f(Z[`ui.overview.records.total`],{count:new Intl.NumberFormat(a.locale).format(n)}));for(let n of a.columns){if(!fr(n))continue;let r=a.summaryValues?.[n.key];typeof r==`number`&&Number.isFinite(r)?t[n.key]=()=>ur(n,r,e(y)):e(v)?t[n.key]=`sum`:t[n.key]=()=>``}return t});var w=Mi(),T=k(w);{let t=n(()=>f(Z[`ui.overview.table.total`]));ve(T,{get data(){return e(p)},get columns(){return e(b)},rowKey:`id`,get cell(){return o},dense:!0,size:`sm`,hoverable:!1,phoneLayout:`cards`,get summaries(){return e(C)},get summaryLabel(){return e(t)}})}s(w),z(()=>B(w,`aria-label`,a.label)),x(r,w),i()}var Pi=c(`<p class="smrt-records__foot smrt-records__foot--end svelte-1ouw4wc" data-smrt-component="RecordListWidget"><a class="svelte-1ouw4wc"> </a></p>`),Fi=c(`<!> <!>`,1),Ii=c(`<p class="smrt-records__empty svelte-1ouw4wc" data-smrt-component="RecordListWidget"> </p>`),Li=c(`<a class="smrt-records__title svelte-1ouw4wc" data-smrt-part="title"> </a>`),Ri=c(`<span class="smrt-records__title svelte-1ouw4wc" data-smrt-part="title"> </span>`),zi=c(`<span class="smrt-records__sub svelte-1ouw4wc" data-smrt-part="meta"> </span>`),Bi=c(`<span class="smrt-records__meta svelte-1ouw4wc" data-smrt-part="meta"> </span>`),Vi=c(`<li class="smrt-records__row svelte-1ouw4wc" data-smrt-part="row"><span class="smrt-records__main svelte-1ouw4wc" data-smrt-part="body"><!> <!></span> <!></li>`),Hi=c(`<ul class="smrt-records__root svelte-1ouw4wc" data-smrt-component="RecordListWidget"></ul>`),Ui=c(`<span> </span>`),Wi=c(`<a class="svelte-1ouw4wc"> </a>`),Gi=c(`<p class="smrt-records__foot svelte-1ouw4wc" data-smrt-component="RecordListWidget"><!> <!></p>`);function Ki(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>{if(!Q(a.data)||!Array.isArray(a.data.rows))return[];let e=[];for(let t of a.data.rows.slice(0,50))Q(t)&&typeof t.title==`string`&&e.push({id:typeof t.id==`string`?t.id:String(e.length),title:t.title,subtitle:typeof t.subtitle==`string`?t.subtitle:void 0,meta:typeof t.meta==`string`?t.meta:void 0,href:typeof t.href==`string`?St(t.href):null});return e}),u=n(()=>Q(a.data)&&typeof a.data.total==`number`&&a.data.total>e(c).length?a.data.total:null),d=n(()=>Q(a.data)&&typeof a.data.href==`string`?St(a.data.href):null),p=n(()=>hr(ar(a.options?.columns),Q(a.data)?a.data.columns:void 0)),m=n(()=>pr(a.data)),g=n(()=>typeof a.options?.summaries==`boolean`?a.options.summaries:e(p).some(e=>fr(e))),_=n(()=>Q(a.data)&&typeof a.data.total==`number`&&Number.isFinite(a.data.total)?a.data.total:null),v=n(()=>{if(!Q(a.data)||!Q(a.data.summaries))return;let e={};for(let[t,n]of Object.entries(a.data.summaries))typeof n==`number`&&Number.isFinite(n)&&(e[t]=n);return e});var y=Fi(),b=L(y),S=r=>{var i=Fi(),c=L(i);{let t=n(()=>Q(a.data)&&typeof a.data.currency==`string`?a.data.currency:void 0),r=n(()=>Q(a.data)&&typeof a.data.timeZone==`string`?a.data.timeZone:void 0);Ni(c,{get rows(){return e(m)},get columns(){return e(p)},get locale(){return a.locale},get label(){return a.title},get currency(){return e(t)},get timeZone(){return e(r)},get summaries(){return e(g)},get summaryValues(){return e(v)},get total(){return e(_)}})}var u=M(c,2),f=t=>{var n=Pi(),r=k(n),i=P(r,!0);s(n),z(t=>{B(r,`href`,e(d)),l(i,t)},[()=>o(Z[`ui.overview.records.view_all`])]),x(t,n)};t(u,t=>{e(d)&&t(f)}),x(r,i)},C=e=>{var t=Ii(),n=P(t,!0);z(e=>l(n,e),[()=>o(Z[`ui.overview.records.empty`])]),x(e,t)},w=n=>{var r=Hi();f(r,21,()=>e(c),e=>e.id,(n,r)=>{var i=Vi(),a=k(i),o=k(a),c=t=>{var n=Li(),i=P(n,!0);z(()=>{B(n,`href`,e(r).href),l(i,e(r).title)}),x(t,n)},u=t=>{var n=Ri(),i=P(n,!0);z(()=>l(i,e(r).title)),x(t,n)};t(o,t=>{e(r).href?t(c):t(u,-1)});var d=M(o,2),f=t=>{var n=zi(),i=P(n,!0);z(()=>l(i,e(r).subtitle)),x(t,n)};t(d,t=>{e(r).subtitle&&t(f)}),s(a);var p=M(a,2),m=t=>{var n=Bi(),i=P(n,!0);z(()=>l(i,e(r).meta)),x(t,n)};t(p,t=>{e(r).meta&&t(m)}),s(i),x(n,i)}),s(r),x(n,r)};t(b,t=>{e(p).length>0&&e(m).length>0?t(S):e(c).length===0?t(C,1):t(w,-1)});var T=M(b,2),E=n=>{var r=Gi(),i=k(r),c=t=>{var n=Ui(),r=P(n,!0);z(e=>l(r,e),[()=>o(Z[`ui.overview.records.total`],{count:new Intl.NumberFormat(a.locale).format(e(u))})]),x(t,n)};t(i,t=>{e(u)!==null&&t(c)});var f=M(i,2),p=t=>{var n=Wi(),r=P(n,!0);z(t=>{B(n,`href`,e(d)),l(r,t)},[()=>o(Z[`ui.overview.records.view_all`])]),x(t,n)};t(f,t=>{e(d)&&t(p)}),s(r),x(n,r)};t(T,t=>{e(p).length===0&&(e(u)!==null||e(d))&&t(E)}),x(r,y),i()}var qi=c(`<p class="smrt-shortcuts__empty svelte-1nfxkds" data-smrt-component="ShortcutsWidget"> </p>`),Ji=c(`<span class="smrt-shortcuts__desc svelte-1nfxkds" data-smrt-part="body"> </span>`),Yi=c(`<span class="smrt-shortcuts__foot svelte-1nfxkds" data-smrt-part="footer"><span class="smrt-shortcuts__count svelte-1nfxkds" data-smrt-part="meta"> </span></span>`),Xi=c(`<li class="smrt-shortcuts__card svelte-1nfxkds" data-smrt-part="panel"><a class="smrt-shortcuts__link svelte-1nfxkds" data-smrt-part="action"><span class="smrt-shortcuts__heading svelte-1nfxkds" data-smrt-part="header"><span class="smrt-shortcuts__icon svelte-1nfxkds" data-smrt-part="icon"><!></span> <span class="smrt-shortcuts__title svelte-1nfxkds" data-smrt-part="title"> </span></span> <!> <!></a></li>`),Zi=c(`<ul class="smrt-shortcuts__root svelte-1nfxkds" data-smrt-component="ShortcutsWidget"></ul>`);function Qi(r,a){h(a,!0);let o=E(a,`presentation`,3,`card`),{t:c}=ae(),u=n(()=>new Intl.NumberFormat(a.locale)),d=n(()=>new Intl.PluralRules(a.locale)),p=t=>c(Z[e(d).select(t)===`one`?`ui.overview.shortcuts.records_one`:`ui.overview.shortcuts.records_other`],{count:e(u).format(t)}),m=n(()=>{if(!Q(a.data)||!Array.isArray(a.data.items))return[];let e=[];for(let t of a.data.items.slice(0,48)){if(!Q(t)||typeof t.label!=`string`)continue;let n=typeof t.href==`string`?St(t.href):null;n&&e.push({id:typeof t.id==`string`?t.id:n,label:t.label,href:n,icon:typeof t.icon==`string`?t.icon:ge,description:typeof t.description==`string`?t.description:void 0,count:typeof t.count==`number`&&Number.isFinite(t.count)&&t.count>=0?t.count:void 0})}return e});var g=S(),_=L(g),v=e=>{var t=qi(),n=P(t,!0);z(e=>l(n,e),[()=>c(Z[`ui.overview.shortcuts.empty`])]),x(e,t)},y=n=>{var r=Zi();f(r,21,()=>e(m),e=>e.id,(n,r)=>{var i=Xi(),o=k(i),c=k(o),u=k(c),d=k(u);X(d,{get name(){return e(r).icon},size:28,get iconComponent(){return a.iconComponent}}),s(u);var f=M(u,2),m=P(f,!0);s(c);var h=M(c,2),g=t=>{var n=Ji(),i=P(n,!0);z(()=>{B(n,`title`,e(r).description),l(i,e(r).description)}),x(t,n)};t(h,t=>{e(r).description&&t(g)});var _=M(h,2),v=t=>{var n=Yi(),i=k(n),a=P(i,!0);s(n),z(e=>l(a,e),[()=>p(e(r).count)]),x(t,n)};t(_,t=>{e(r).count!==void 0&&t(v)}),s(o),s(i),z(()=>{B(o,`href`,e(r).href),l(m,e(r).label)}),x(n,i)}),s(r),z(()=>B(r,`data-presentation`,o())),x(n,r)};t(_,t=>{e(m).length===0?t(v):t(y,-1)}),x(r,g),i()}var $i={key:`title`,type:`text`,label:`ui.overview.opt.title`,help:`ui.overview.opt.title_help`,maxLength:80},ea={key:`model`,type:`model`,label:`ui.overview.opt.model`,help:`ui.overview.opt.model_help`,required:!0},ta={key:`filter`,type:`identifier`,label:`ui.overview.opt.filter`,help:`ui.overview.opt.filter_help`},na={key:`field`,type:`identifier`,label:`ui.overview.opt.field`,help:`ui.overview.opt.field_help`},ra={key:`parentField`,type:`identifier`,label:`ui.overview.opt.parent_field`,help:`ui.overview.opt.parent_field_help`},ia={key:`columns`,type:`text`,label:`ui.overview.opt.columns`,help:`ui.overview.opt.columns_help`,maxLength:400},aa={key:`summaries`,type:`boolean`,label:`ui.overview.opt.summaries`,help:`ui.overview.opt.summaries_help`},oa=e=>({key:`measure`,type:`enum`,label:`ui.overview.opt.measure`,default:`count`,choices:e.map(e=>({value:e,label:`ui.overview.opt.measure_${e}`}))});function sa(e){return{type:`metric`,title:`ui.overview.widget.metric.title`,description:`ui.overview.widget.metric.description`,icon:`layers`,options:[$i,ea,oa([`count`,`sum`,`avg`,`min`,`max`]),na,ta,ra],component:mi,load:e}}function ca(e,t){return t>=1&&t<2?{...e}:null}function la(e){return{type:`chart`,title:`ui.overview.widget.chart.title`,description:`ui.overview.widget.chart.description`,icon:`repeat`,options:[$i,ea,{key:`groupBy`,type:`identifier`,label:`ui.overview.opt.group_by`},oa([`count`,`sum`,`avg`]),na,{key:`period`,type:`enum`,label:`ui.overview.opt.period`,default:`30d`,choices:[`7d`,`30d`,`90d`,`12m`,`all`].map(e=>({value:e,label:`ui.overview.opt.period_${e}`}))},{key:`style`,type:`enum`,label:`ui.overview.opt.style`,default:`bar`,choices:[{value:`bar`,label:`ui.overview.opt.style_bar`},{value:`line`,label:`ui.overview.opt.style_line`},{value:`table`,label:`ui.overview.opt.style_table`},{value:`pie`,label:`ui.overview.opt.style_pie`},{value:`stat`,label:`ui.overview.opt.style_stat`}]},ta],component:si,load:e,version:2,migrate:ca,defaultSpan:2}}function ua(e){return{type:`records`,title:`ui.overview.widget.records.title`,description:`ui.overview.widget.records.description`,icon:`fileText`,options:[$i,ea,{key:`sort`,type:`identifier`,label:`ui.overview.opt.sort`},na,{key:`direction`,type:`enum`,label:`ui.overview.opt.direction`,default:`desc`,choices:[{value:`desc`,label:`ui.overview.opt.direction_desc`},{value:`asc`,label:`ui.overview.opt.direction_asc`}]},{key:`limit`,type:`integer`,label:`ui.overview.opt.limit`,default:5,min:1,max:20},ta,ia,aa],component:Ki,load:e,defaultSpan:2}}function da(e){return{type:`shortcuts`,title:`ui.overview.widget.shortcuts.title`,description:`ui.overview.widget.shortcuts.description`,icon:`home`,options:[$i,{key:`section`,type:`identifier`,label:`ui.overview.opt.section`,help:`ui.overview.opt.section_help`}],component:Qi,load:e,defaultSpan:4}}function fa(){return{type:`note`,title:`ui.overview.widget.note.title`,description:`ui.overview.widget.note.description`,icon:`fileText`,options:[$i,{key:`body`,type:`markdown`,label:`ui.overview.opt.body`,help:`ui.overview.opt.body_help`,default:``,maxLength:4e3}],component:ki,defaultSpan:2}}function pa(e=st,t={},n={}){let r=[e.register(fa(),n)];return t.metric&&r.push(e.register(sa(t.metric),n)),t.chart&&r.push(e.register(la(t.chart),n)),t.records&&r.push(e.register(ua(t.records),n)),t.shortcuts&&r.push(e.register(da(t.shortcuts),n)),()=>{for(let e of r)e()}}var ma=c(`<p class="smrt-line-items__empty svelte-1q5no7f" data-smrt-part="empty"> </p>`),ha=c(`<div class="smrt-line-items__total svelte-1q5no7f" data-smrt-part="row"><dt class="svelte-1q5no7f"> </dt><dd class="svelte-1q5no7f"> </dd></div>`),ga=c(`<div class="smrt-line-items__total smrt-line-items__total--muted svelte-1q5no7f" data-smrt-part="row"><dt class="svelte-1q5no7f"> </dt></div>`),_a=c(`<dd class="svelte-1q5no7f"> </dd>`),va=c(`<div class="smrt-line-items__total smrt-line-items__total--muted svelte-1q5no7f" data-smrt-part="row"><dt class="svelte-1q5no7f"> </dt> <!></div>`),ya=c(`<dl class="smrt-line-items__totals svelte-1q5no7f" data-smrt-part="list" data-money-snapshot="stored"><!> <!> <!> <!> <div class="smrt-line-items__total smrt-line-items__total--grand svelte-1q5no7f" data-smrt-part="row"><dt class="svelte-1q5no7f"> </dt><dd class="svelte-1q5no7f"> </dd></div> <!></dl>`),ba=c(`<span class="smrt-line-items__computed svelte-1q5no7f" data-smrt-part="meta"> </span>`),xa=c(`<div data-smrt-part="row"><dt class="svelte-1q5no7f"> <!></dt> <dd class="svelte-1q5no7f"> </dd></div>`),Sa=c(`<dl class="smrt-line-items__totals svelte-1q5no7f" data-smrt-part="list"></dl>`),Ca=c(`<p class="smrt-line-items__flag svelte-1q5no7f" data-smrt-part="status"><strong> </strong> </p>`),wa=c(`<p class="smrt-line-items__foot svelte-1q5no7f" data-smrt-part="footer"><a class="svelte-1q5no7f"> </a></p>`),Ta=c(`<div class="smrt-line-items__root svelte-1q5no7f" data-smrt-component="LineItemsWidget"><!> <!> <!> <!></div>`);function Ea(r,o){h(o,!0);let{t:c}=ae(),u=n(()=>pr(o.data)),d=n(()=>hr([],Q(o.data)?o.data.columns:void 0)),p=n(()=>Q(o.data)&&typeof o.data.total==`number`&&Number.isFinite(o.data.total)?o.data.total:e(u).length),m=n(()=>Q(o.data)&&typeof o.data.currency==`string`?o.data.currency:void 0),g=n(()=>{if(!Q(o.data)||!Q(o.data.summaries))return;let e={};for(let[t,n]of Object.entries(o.data.summaries))typeof n==`number`&&Number.isFinite(n)&&(e[t]=n);return e}),_=n(()=>[...e(d)].reverse().find(e=>e.role===`money`&&e.summarize!==!1)?.key),v=n(()=>{if(!e(_))return null;let t=e(g)?.[e(_)];return typeof t==`number`?t:e(p)>e(u).length?null:Tr(e(u).map(t=>t.cells?.[e(_)]))}),y=n(()=>Er(Q(o.data)&&Q(o.data.totals)?o.data.totals:void 0,e(v))),b=n(()=>Q(o.data)&&xr(o.data.storedTotals)?o.data.storedTotals:void 0),C=n(()=>e(b)?Sr(e(b).taxes).filter(e=>e.tax!==0):[]),w=n(()=>e(C).length>0),T=n(()=>Q(o.data)&&typeof o.data.href==`string`?St(o.data.href):null);function E(t){return ur({role:`money`},t,{currency:e(m),locale:o.locale})}let D={subtotal:Z[`ui.overview.line_items.subtotal`],discount:Z[`ui.overview.line_items.discount`],tax:Z[`ui.overview.line_items.tax`],total:Z[`ui.overview.line_items.total`]};var ee=Ta(),O=k(ee),A=t=>{Ni(t,{get rows(){return e(u)},get columns(){return e(d)},get locale(){return o.locale},get label(){return o.title},get currency(){return e(m)},summaries:!0,get summaryValues(){return e(g)},get total(){return e(p)}})},j=e=>{var t=ma(),n=P(t,!0);z(e=>l(n,e),[()=>c(Z[`ui.overview.line_items.empty`])]),x(e,t)};t(O,t=>{e(u).length>0&&e(d).length>0?t(A):t(j,-1)});var N=M(O,2),F=n=>{var r=ya(),i=k(r),a=t=>{var n=ha(),r=k(n),i=P(r,!0),a=M(r),o=P(a,!0);s(n),z((e,t)=>{l(i,e),l(o,t)},[()=>c(Z[`ui.overview.line_items.subtotal`]),()=>E(e(b).subtotal)]),x(t,n)};t(i,t=>{(e(b).lineAmountType!==`inclusive`||!e(w))&&t(a)});var o=M(i,2),u=t=>{var n=ga(),r=k(n),i=P(r);s(n),z((e,t)=>l(i,`${e??``} ${t??``}`),[()=>c(Z[`ui.overview.line_items.discount_included`]),()=>E(Math.abs(e(b).discount))]),x(t,n)};t(o,t=>{e(b).discount!==0&&t(u)});var d=M(o,2);f(d,17,()=>e(C),e=>`${e.taxComponentId}-${e.name}-${e.percent}`,(n,r)=>{var i=va(),a=k(i),o=P(a),u=M(a,2),d=t=>{var n=_a(),i=P(n,!0);z(e=>l(i,e),[()=>E(e(r).tax)]),x(t,n)};t(u,t=>{e(b).lineAmountType!==`inclusive`&&t(d)}),s(i),z((e,t)=>l(o,`${e??``} ${t??``}`),[()=>c(Z[e(b).lineAmountType===`inclusive`?`ui.overview.line_items.tax_included`:`ui.overview.line_items.tax_on`],{label:Cr(e(r).name,e(r).percent)}),()=>E(e(b).lineAmountType===`inclusive`?e(r).tax:e(r).taxable)]),x(n,i)});var p=M(d,2),m=e=>{var t=ga(),n=k(t),r=P(n,!0);s(t),z(e=>l(r,e),[()=>c(Z[`ui.overview.line_items.rounded_document`])]),x(e,t)};t(p,t=>{e(b).roundingScope===`document`&&t(m)});var h=M(p,2),g=k(h),_=P(g,!0),v=M(g),y=P(v,!0);s(h);var S=M(h,2),T=t=>{var n=ha(),r=k(n),i=P(r,!0),a=M(r),o=P(a,!0);s(n),z((e,t)=>{l(i,e),l(o,t)},[()=>c(Z[`ui.overview.line_items.subtotal_excluding_tax`]),()=>E(e(b).subtotal)]),x(t,n)};t(S,t=>{e(b).lineAmountType===`inclusive`&&e(w)&&e(b).showNetSubtotal&&t(T)}),s(r),z((e,t)=>{l(_,e),l(y,t)},[()=>c(Z[`ui.overview.line_items.total`]),()=>E(e(b).total)]),x(n,r)},I=n=>{var r=Sa();f(r,21,()=>e(y).lines,e=>e.key,(n,r)=>{var i=S(),o=L(i),u=t=>{var n=ga(),i=k(n),a=P(i);s(n),z((e,t)=>l(a,`${e??``} ${t??``}`),[()=>c(Z[`ui.overview.line_items.discount_included`]),()=>E(Math.abs(e(r).value))]),x(t,n)},d=n=>{var i=xa();let o;var u=k(i),d=k(u),f=M(d),p=e=>{var t=ba(),n=P(t,!0);z(e=>l(n,e),[()=>c(Z[`ui.overview.line_items.computed`])]),x(e,t)};t(f,t=>{e(r).computed&&t(p)}),s(u);var m=M(u,2),h=P(m,!0);s(i),z((t,n)=>{o=a(i,1,`smrt-line-items__total svelte-1q5no7f`,null,o,{"smrt-line-items__total--grand":e(r).key===`total`}),l(d,`${t??``} `),l(h,n)},[()=>c(D[e(r).key]),()=>e(r).key===`discount`?`−${E(e(r).value)}`:E(e(r).value)]),x(n,i)};t(o,t=>{e(r).included?t(u):t(d,-1)}),x(n,i)}),s(r),x(n,r)};t(N,t=>{e(b)?t(F):e(y).lines.length>0&&t(I,1)});var R=M(N,2),V=t=>{var n=Ca(),r=k(n),i=P(r,!0),a=M(r);s(n),z((e,t)=>{l(i,e),l(a,` ${t??``}`)},[()=>c(Z[`ui.overview.line_items.mismatch`],{amount:E(e(y).mismatch.lines)}),()=>c(Z[e(y).mismatch.field===`subtotal`?`ui.overview.line_items.mismatch_subtotal`:`ui.overview.line_items.mismatch_total`],{amount:E(e(y).mismatch.recorded)})]),x(t,n)};t(R,t=>{!e(b)&&e(y).mismatch&&t(V)});var te=M(R,2),ne=t=>{var n=wa(),r=k(n),i=P(r,!0);s(n),z(t=>{B(r,`href`,e(T)),l(i,t)},[()=>c(Z[`ui.overview.records.view_all`])]),x(t,n)};t(te,t=>{e(T)&&t(ne)}),s(ee),x(r,ee),i()}var Da=c(`<p class="smrt-related__empty svelte-ka1ryg" data-smrt-component="RelatedWidget"> </p>`),Oa=c(`<a> </a>`),ka=c(`<li data-smrt-part="row"><!></li>`),Aa=c(`<ul class="smrt-related__list svelte-ka1ryg" data-smrt-part="list"></ul>`),ja=c(`<p class="smrt-related__foot svelte-ka1ryg" data-smrt-part="footer"><a class="svelte-ka1ryg"> </a></p>`),Ma=c(`<!> <!>`,1),Na=c(`<div class="smrt-related__root svelte-ka1ryg" data-smrt-component="RelatedWidget"><!></div>`);function Pa(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>{if(!Q(a.data)||!Array.isArray(a.data.tabs))return[];let e=[];for(let t of a.data.tabs){if(!Q(t)||typeof t.key!=`string`)continue;let n=pr(t),r=typeof t.total==`number`&&Number.isFinite(t.total)?t.total:n.length;if(n.length===0||r===0)continue;let i=hr([],t.columns),a={};if(Q(t.summaries))for(let[e,n]of Object.entries(t.summaries))typeof n==`number`&&Number.isFinite(n)&&(a[e]=n);e.push({key:t.key,label:typeof t.label==`string`?t.label:t.key,rows:n,total:r,columns:i,href:typeof t.href==`string`?St(t.href):null,currency:typeof t.currency==`string`?t.currency:void 0,timeZone:typeof t.timeZone==`string`?t.timeZone:void 0,summaries:a})}return e}),d=D(null),p=n(()=>e(c).find(t=>t.key===e(d))??e(c)[0]);var m=S(),g=L(m),_=e=>{var t=Da(),n=P(t,!0);z(e=>l(n,e),[()=>o(Z[`ui.overview.related.empty`])]),x(e,t)},v=r=>{var i=Na(),m=k(i);{let r=n(()=>e(c).map(e=>({id:e.key,label:e.label,count:e.total})));we(m,{get tabs(){return e(r)},get active(){return e(p).key},onchange:e=>V(d,e,!0),size:`sm`,variant:`secondary`,get"aria-label"(){return a.title},children:(r,i)=>{var c=S(),d=L(c);te(d,()=>e(p).key,r=>{var i=Ma(),c=L(i),d=t=>{Ni(t,{get rows(){return e(p).rows},get columns(){return e(p).columns},get locale(){return a.locale},get label(){return e(p).label},get currency(){return e(p).currency},get timeZone(){return e(p).timeZone},summaries:!0,get summaryValues(){return e(p).summaries},get total(){return e(p).total}})},m=r=>{var i=Aa();f(i,21,()=>e(p).rows,e=>e.id,(r,i)=>{var a=ka(),o=k(a),c=t=>{var n=Oa(),r=P(n,!0);z(t=>{B(n,`href`,t),l(r,e(i).title)},[()=>St(e(i).href)]),x(t,n)},d=n(()=>e(i).href&&St(e(i).href)),f=t=>{var n=u();z(()=>l(n,e(i).title)),x(t,n)};t(o,t=>{e(d)?t(c):t(f,-1)}),s(a),x(r,a)}),s(i),x(r,i)};t(c,t=>{e(p).columns.length>0?t(d):t(m,-1)});var h=M(c,2),g=t=>{var n=ja(),r=k(n),i=P(r,!0);s(n),z(t=>{B(r,`href`,e(p).href),l(i,t)},[()=>o(Z[`ui.overview.records.view_all`])]),x(t,n)};t(h,t=>{e(p).href&&t(g)}),x(r,i)}),x(r,c)},$$slots:{default:!0}})}s(i),x(r,i)};t(g,t=>{e(p)?t(v,-1):t(_)}),x(r,m),i()}function Fa(e){return{type:`related`,title:`ui.overview.widget.related.title`,description:`ui.overview.widget.related.description`,icon:`layers`,options:[{key:`title`,type:`text`,label:`ui.overview.opt.title`,help:`ui.overview.opt.title_help`,maxLength:80},{key:`relations`,type:`text`,label:`ui.overview.opt.relations`,help:`ui.overview.opt.relations_help`,maxLength:1e3},{key:`limit`,type:`integer`,label:`ui.overview.opt.limit`,default:5,min:1,max:20}],component:Pa,load:e,defaultSpan:4}}function Ia(e){return{type:`line-items`,title:`ui.overview.widget.line_items.title`,description:`ui.overview.widget.line_items.description`,icon:`fileText`,options:[{key:`title`,type:`text`,label:`ui.overview.opt.title`,help:`ui.overview.opt.title_help`,maxLength:80},{key:`relation`,type:`identifier`,label:`ui.overview.opt.relation`,help:`ui.overview.opt.relation_help`},{key:`limit`,type:`integer`,label:`ui.overview.opt.limit`,default:50,min:1,max:50}],component:Ea,load:e,defaultSpan:4}}function La(e=st,t,n={}){let r=[e.register(Fa(Ar(t)),n),e.register(Ia(Nr(t)),n)];return()=>{for(let e of r)e()}}var $=U({"ui.screens.create_title":`New {name}`,"ui.screens.edit_title":`Edit {name}`,"ui.screens.create_action":`New {name}`,"ui.screens.edit":`Edit`,"ui.screens.delete":`Delete`,"ui.screens.delete_title":`Delete this {name}?`,"ui.screens.delete_message":`This cannot be undone.`,"ui.screens.back":`Back to {name}`,"ui.screens.save":`Save`,"ui.screens.cancel":`Cancel`,"ui.screens.search":`Search {name}`,"ui.screens.empty_title":`No {name} yet`,"ui.screens.empty_search":`Nothing matches this search.`,"ui.screens.more_details":`More details`,"ui.screens.more_actions":`More actions`,"ui.screens.derived_hint":`Worked out from the line items.`,"ui.screens.select_none":`Not set`,"ui.screens.items":`Line items`,"ui.screens.details":`Details`,"ui.screens.show_empty":`Show empty fields ({count})`,"ui.screens.advanced_fields":`Advanced fields`,"ui.screens.not_set":`Not set`,"ui.screens.yes":`Yes`,"ui.screens.no":`No`,"ui.screens.load_failed":`Could not load this data.`,"ui.screens.save_failed":`Could not save your changes.`,"ui.screens.delete_failed":`Could not delete this record.`,"ui.screens.not_found":`This record no longer exists.`,"ui.screens.view_all":`View all`,"ui.screens.related":`Related records`,"ui.screens.error.required":`This field is required.`,"ui.screens.error.invalid_integer":`Enter a whole number.`,"ui.screens.error.invalid_decimal":`Enter a number.`,"ui.screens.error.invalid_money":`Enter an amount such as 12.50.`,"ui.screens.error.invalid_datetime":`Enter a valid date and time.`,"ui.screens.error.invalid_json":`Enter valid JSON.`}),Ra=(e,t=p)=>{var n=za(),r=P(n,!0);z(e=>{B(n,`title`,t()),l(r,e)},[()=>nr(t())]),x(e,n)},za=c(`<code> </code>`),Ba=c(`<h2 class="smrt-detail-screen__group-title svelte-c1e3gm" data-smrt-part="title"> </h2>`),Va=c(`<span class="smrt-detail-screen__empty svelte-c1e3gm" data-smrt-part="empty"> </span>`),Ha=c(`<div class="svelte-c1e3gm"><dt class="svelte-c1e3gm"> </dt> <dd class="svelte-c1e3gm"> </dd></div>`),Ua=c(`<dl class="smrt-detail-screen__pairs svelte-c1e3gm" data-smrt-part="field"></dl>`),Wa=c(`<pre class="smrt-detail-screen__block svelte-c1e3gm" data-smrt-part="body"> </pre>`),Ga=c(`<a> </a>`),Ka=c(`<a class="smrt-detail-screen__reference svelte-c1e3gm" data-smrt-part="action"><!></a>`),qa=c(`<span class="smrt-detail-screen__reference svelte-c1e3gm" data-smrt-part="label"> </span>`),Ja=c(`<div class="smrt-detail-screen__field svelte-c1e3gm" data-smrt-part="field"><dt data-smrt-part="label" class="svelte-c1e3gm"> </dt> <dd class="svelte-c1e3gm"><!></dd></div>`),Ya=c(`<section class="smrt-detail-screen__group" data-smrt-part="group"><!> <dl class="smrt-detail-screen__fields svelte-c1e3gm" data-smrt-part="field"></dl></section>`),Xa=c(`<!> <!> <!> <!>`,1),Za=c(`<!> <!> <!> <!> <!>`,1),Qa=c(`<!> <article data-smrt-component="DetailScreen"><!></article> <!>`,1);function $a(r,c){h(c,!0);let d=(r,i=p)=>{var a=S(),o=L(a);f(o,17,()=>zn(i()),([e,t])=>e??``,(r,i)=>{var a=n(()=>y(e(i),2));let o=()=>e(a)[0],d=()=>e(a)[1];var p=Ya(),m=k(p),h=e=>{var t=Ba(),n=P(t,!0);z(()=>l(n,o())),x(e,t)};t(m,e=>{o()&&e(h)});var g=M(m,2);f(g,21,d,e=>e.name,(r,i)=>{let a=n(()=>ie(e(i)));var o=Ja(),d=k(o),p=P(d,!0),m=M(d,2),h=k(m),g=e=>{var t=Va(),n=P(t,!0);z(e=>l(n,e),[()=>T($[`ui.screens.not_set`])]),x(e,t)},_=r=>{let o=n(()=>tr(c.record[e(i).name]));var u=S(),d=L(u),p=t=>{var n=Ua();f(n,21,()=>e(o),e=>e.key,(t,n)=>{var r=Ha(),i=k(r),a=P(i,!0),o=M(i,2),c=P(o,!0);s(r),z(t=>{l(a,t),l(c,e(n).value)},[()=>kn(e(n).key)]),x(t,r)}),s(n),x(t,n)},m=t=>{var n=Wa(),r=P(n,!0);z(()=>l(r,e(a))),x(t,n)};t(d,t=>{e(o)?t(p):t(m,-1)}),x(r,u)},v=t=>{var n=Wa(),r=P(n,!0);z(()=>l(r,e(a))),x(t,n)},y=t=>{var n=Ga(),r=P(n,!0);z(t=>{B(n,`href`,t),l(r,e(a))},[()=>U(e(i),e(a))]),x(t,n)},b=n(()=>U(e(i),e(a))),C=r=>{let o=n(()=>c.hrefFor?.(e(i),e(a))),d=n(()=>ce(e(i),e(a)));var f=S(),p=L(f),m=n=>{var r=Ka(),i=k(r),c=t=>{var n=u();z(()=>l(n,e(d))),x(t,n)},f=t=>{Ra(t,()=>e(a))};t(i,t=>{e(d)?t(c):t(f,-1)}),s(r),z(()=>B(r,`href`,e(o))),x(n,r)},h=t=>{var n=qa(),r=P(n,!0);z(()=>l(r,e(d))),x(t,n)},g=t=>{Ra(t,()=>e(a))};t(p,t=>{e(o)?t(m):e(d)?t(h,1):t(g,-1)}),x(r,f)},w=t=>{var n=u();z(()=>l(n,e(a))),x(t,n)};t(h,t=>{e(a)===``?t(g):e(i).kind===`json`?t(_,1):e(i).kind===`textarea`?t(v,2):e(b)?t(y,3):e(i).kind===`reference`?t(C,4):t(w,-1)}),s(m),s(o),z(()=>l(p,e(i).label)),x(r,o)}),s(g),s(p),x(r,p)}),x(r,a)},m=E(c,`policy`,3,null),g=E(c,`showHeader`,3,!0),v=E(c,`deleting`,3,!1),b=E(c,`relations`,19,()=>[]),C=E(c,`hideEmpty`,3,!1),w=E(c,`variant`,3,`plain`),{t:T}=ae(),ee=n(()=>jn(c.definition)),O=n(()=>Pn(c.definition,m())),A=n(()=>e(O)?[]:Rn(c.definition,m(),{mode:`view`,include:c.fields})),j=n(()=>c.exclude?e(A).filter(e=>!c.exclude.includes(e.name)):e(A)),N=n(()=>C()?e(j).filter(e=>ie(e)!==``):e(j)),F=n(()=>C()?e(j).filter(e=>ie(e)===``):[]),I=n(()=>e(N).filter(e=>e.tier===`basic`)),R=n(()=>e(N).filter(e=>e.tier===`advanced`)),te=n(()=>{if(c.title)return c.title;let t=e(A).find(e=>e.kind===`text`&&e.tier===`basic`),n=t?c.record[t.name]:void 0;return typeof n==`string`&&n.trim()!==``?n:e(ee).singular}),re=n(()=>({currency:c.currency,locale:c.locale,yes:T($[`ui.screens.yes`]),no:T($[`ui.screens.no`])}));function ie(t){return Xn(t,c.record[t.name],e(re))}function U(e,t){return e.kind===`email`?`mailto:${t}`:e.kind===`url`&&/^https?:\/\//i.test(t)?t:null}function se(e){return b().find(t=>t.kind===`reference`&&t.field===e.name)?.model}function ce(e,t){let n=se(e),r=n?c.labels?.[n]?.(t):void 0;return r&&r.trim()!==``?r:void 0}let W=D(!1),le=D(!1);async function G(){V(le,!1);try{await c.ondelete?.(),V(W,!1)}catch{V(le,!0),V(W,!1)}}var K=Qa(),q=L(K),J=n=>{Te(n,{get title(){return e(te)},actions:n=>{var r=Xa(),i=L(r),a=t=>{ue(t,{variant:`ghost`,get onclick(){return c.onback},children:(t,n)=>{_();var r=u();z(e=>l(r,e),[()=>c.backLabel??T($[`ui.screens.back`],{name:e(ee).plural.toLowerCase()})]),x(t,r)},$$slots:{default:!0}})};t(i,e=>{c.onback&&e(a)});var s=M(i,2),d=e=>{var t=S(),n=L(t);o(n,()=>c.extraActions),x(e,t)};t(s,e=>{c.extraActions&&e(d)});var f=M(s,2),p=e=>{ue(e,{variant:`secondary`,get onclick(){return c.onedit},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>T($[`ui.screens.edit`])]),x(e,n)},$$slots:{default:!0}})};t(f,e=>{c.onedit&&e(p)});var m=M(f,2),h=e=>{ue(e,{variant:`danger`,onclick:()=>V(W,!0),children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>T($[`ui.screens.delete`])]),x(e,n)},$$slots:{default:!0}})};t(m,e=>{c.ondelete&&e(h)}),x(n,r)},$$slots:{actions:!0}})};t(q,e=>{g()&&e(J)});var de=M(q,2);let Y;var fe=k(de),pe=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();z(()=>l(r,e(O))),x(t,r)},$$slots:{default:!0}})},me=r=>{var i=Za(),a=L(i),s=e=>{H(e,{variant:`error`,dismissible:!0,ondismiss:()=>V(le,!1),children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>T($[`ui.screens.delete_failed`])]),x(e,n)},$$slots:{default:!0}})};t(a,t=>{e(le)&&t(s)});var f=M(a,2);d(f,()=>e(I));var m=M(f,2),h=t=>{{let r=n(()=>T($[`ui.screens.more_details`]));oe(t,{get title(){return e(r)},children:(t,n)=>{d(t,()=>e(R))},$$slots:{default:!0}})}};t(m,t=>{e(R).length>0&&t(h)});var g=M(m,2),v=t=>{{let r=n(()=>T($[`ui.screens.show_empty`],{count:e(F).length}));oe(t,{get title(){return e(r)},children:(t,n)=>{d(t,()=>e(F))},$$slots:{default:!0}})}};t(g,t=>{e(F).length>0&&t(v)});var y=M(g,2);o(y,()=>c.children??p),x(r,i)};t(fe,t=>{e(O)?t(pe):t(me,-1)}),s(de);var he=M(de,2),ge=t=>{{let r=n(()=>T($[`ui.screens.delete_title`],{name:e(ee).singular.toLowerCase()})),i=n(()=>T($[`ui.screens.delete_message`])),a=n(()=>T($[`ui.screens.delete`])),o=n(()=>T($[`ui.screens.cancel`]));ne(t,{get open(){return e(W)},get title(){return e(r)},get message(){return e(i)},get confirmLabel(){return e(a)},get cancelLabel(){return e(o)},destructive:!0,get loading(){return v()},onconfirm:G,oncancel:()=>V(W,!1)})}};t(he,e=>{c.ondelete&&e(ge)}),z(e=>{Y=a(de,1,`smrt-detail-screen__root svelte-c1e3gm`,null,Y,{"smrt-detail-screen__card":w()===`card`}),B(de,`aria-label`,e)},[()=>w()===`card`?T($[`ui.screens.details`]):e(te)]),x(r,K),i()}var eo=c(`<small class="smrt-edit-form__hint svelte-6ki7lf" data-smrt-part="description"> </small>`),to=c(`<small class="smrt-edit-form__error svelte-6ki7lf" data-smrt-part="error" role="alert"> </small>`),no=c(`<div class="smrt-edit-form__check svelte-6ki7lf" data-smrt-part="field"><!> <!> <!></div>`),ro=c(`<option> </option>`),io=c(`<!> <!> <!>`,1),ao=c(`<legend class="svelte-6ki7lf"> </legend>`),oo=c(`<fieldset class="smrt-edit-form__group svelte-6ki7lf" data-smrt-part="group"><!> <!></fieldset>`),so=c(`<!> <!>`,1),co=c(`<!> <!> <!> <!>`,1),lo=c(`<!> <section class="smrt-edit-form__root svelte-6ki7lf" data-smrt-component="EditForm"><!></section>`,1);function uo(r,a){h(a,!0);let o=(r,i=p)=>{var o=S(),c=L(o),u=t=>{{let r=n(()=>ge(i())),o=n(()=>T($[`ui.screens.derived_hint`]));xe(t,{get label(){return e(r)},get hint(){return e(o)},children:(t,r)=>{{let r=n(()=>Xn(i(),a.record?.[i().name],{currency:m()}));Y(t,{get name(){return i().name},readonly:!0,get value(){return e(r)}})}},$$slots:{default:!0}})}},d=n(()=>te(i())),h=r=>{var a=no(),o=k(a),c=()=>e(U)[i().name]===!0,u=t=>e(U)[i().name]=t;fe(o,{get name(){return i().name},get label(){return i().label},get disabled(){return e(X)},get checked(){return c()},set checked(e){u(e)}});var d=M(o,2),f=e=>{var t=eo(),n=P(t,!0);z(()=>l(n,i().help)),x(e,t)};t(d,e=>{i().help&&e(f)});var p=M(d,2),m=e=>{var t=to(),n=P(t,!0);z(e=>l(n,e),[()=>pe(i())]),x(e,t)},h=n(()=>pe(i()));t(p,t=>{e(h)&&t(m)}),s(a),x(r,a)},g=r=>{{let a=n(()=>ge(i())),o=n(()=>he(i())),s=n(()=>pe(i()));xe(r,{get label(){return e(a)},get hint(){return e(o)},get error(){return e(s)},get required(){return i().required},children:(r,a)=>{var o=S(),s=L(o),c=r=>{var a=()=>J(i().name),o=e=>de(i().name,e);ye(r,{get name(){return i().name},get disabled(){return e(X)},get required(){return i().required},get value(){return a()},set value(e){o(e)},children:(r,a)=>{var o=io(),s=L(o),c=e=>{var t=ro(),n=P(t,!0);t.value=t.__value=``,z(e=>l(n,e),[()=>T($[`ui.screens.select_none`])]),x(e,t)},u=n(()=>!i().required||J(i().name)===``);t(s,t=>{e(u)&&t(c)});var d=M(s,2);f(d,16,()=>i().options??[],e=>e,(e,t)=>{var n=ro(),r=P(n,!0),i={};z(e=>{l(r,e),i!==(i=t)&&(n.value=(n.__value=i)??``)},[()=>lr(t)]),x(e,n)});var p=M(d,2),m=e=>{var t=ro(),n=P(t,!0),r={};z((e,i)=>{l(n,e),r!==(r=i)&&(t.value=(t.__value=r)??``)},[()=>J(i().name),()=>J(i().name)]),x(e,t)},h=n(()=>J(i().name)!==``&&!(i().options??[]).includes(J(i().name)));t(p,t=>{e(h)&&t(m)}),x(r,o)},$$slots:{default:!0}})},u=t=>{var r=()=>J(i().name),a=e=>de(i().name,e);{let o=n(()=>i().kind===`json`?8:4);Se(t,{get name(){return i().name},get rows(){return e(o)},get disabled(){return e(X)},get required(){return i().required},get value(){return r()},set value(e){a(e)}})}},d=t=>{var r=()=>J(i().name),a=e=>de(i().name,e);{let o=n(()=>i().kind===`email`?`email`:i().kind===`url`?`url`:i().kind===`tel`?`tel`:i().kind===`integer`||i().kind===`decimal`?`number`:i().kind===`datetime`?`datetime-local`:`text`),s=n(()=>i().kind===`integer`?`1`:i().kind===`decimal`?`any`:void 0),c=n(()=>i().kind===`money`?`decimal`:void 0);Y(t,{get name(){return i().name},get type(){return e(o)},get step(){return e(s)},get inputmode(){return e(c)},get disabled(){return e(X)},get required(){return i().required},get value(){return r()},set value(e){a(e)}})}};t(s,e=>{i().kind===`select`?e(c):i().kind===`textarea`||i().kind===`json`?e(u,1):e(d,-1)}),x(r,o)},$$slots:{default:!0}})}};t(c,t=>{e(d)?t(u):i().kind===`boolean`?t(h,1):t(g,-1)}),x(r,o)},c=(r,i=p)=>{var a=S(),c=L(a);f(c,17,()=>zn(i()),([e,t])=>e??``,(r,i)=>{var a=n(()=>y(e(i),2));let c=()=>e(a)[0],u=()=>e(a)[1];var d=oo(),p=k(d),m=e=>{var t=ao(),n=P(t,!0);z(()=>l(n,c())),x(e,t)};t(p,e=>{c()&&e(m)});var h=M(p,2);f(h,17,u,e=>e.name,(t,n)=>{o(t,()=>e(n))}),s(d),x(r,d)}),x(r,a)},d=E(a,`policy`,3,null),m=E(a,`currency`,3,`USD`),g=E(a,`showHeader`,3,!0),v=E(a,`submitting`,3,!1),b=E(a,`fieldErrors`,19,()=>({})),C=E(a,`error`,3,null),w=E(a,`derivedFields`,19,()=>[]),{t:T}=ae(),O=n(()=>a.record===void 0),A=n(()=>jn(a.definition)),N=n(()=>Pn(a.definition,d())),F=n(()=>a.title??T($[e(O)?`ui.screens.create_title`:`ui.screens.edit_title`],{name:e(A).singular.toLowerCase()})),R=n(()=>e(N)?[]:Rn(a.definition,d(),{mode:`edit`,include:a.fields})),te=e=>w().includes(e.name),ne=n(()=>e(R).filter(e=>e.tier===`basic`)),re=n(()=>e(R).filter(e=>e.tier===`advanced`));function ie(){return a.record?qn(e(R),a.record,{currency:m()}):Jn(e(R),d(),{currency:m()})}let U=D(j(ie())),se=D(j({})),ce=D(j({})),W=D(!1),le=D(!1),G=D(!1),K=n(()=>`${a.definition.objectRef}:${a.record?String(a.record[a.definition.idField??`id`]):`new`}:${e(R).map(e=>e.name).join(`,`)}`),q=I(()=>e(K));ee(()=>{let t=e(K);t!==q&&(q=t,I(()=>{V(U,ie(),!0),V(se,{},!0),V(ce,{},!0),V(W,!1)}))});function J(t){let n=e(U)[t];return typeof n==`string`?n:``}function de(t,n){e(U)[t]=String(n??``)}function pe(t){let n=e(se)[t.name];return n?T($[`ui.screens.error.${n}`]):b()[t.name]??e(ce)[t.name]}let me=n(()=>e(re).some(t=>e(se)[t.name]||b()[t.name]||e(ce)[t.name]));function he(e){return e.help??void 0}function ge(e){return e.kind===`money`?`${e.label} (${m()})`:e.label}async function _e(){if(e(le)||v())return;V(W,!1),V(ce,{},!0);let t=Yn(e(R).filter(e=>!te(e)),e(U),{currency:m(),record:a.record});if(V(se,t.errors,!0),Object.keys(t.errors).length>0)e(re).some(e=>t.errors[e.name])&&V(G,!0);else{V(le,!0);try{let n=await a.onsubmit(t.values,{isNew:e(O)});n?.fieldErrors&&(V(ce,{...n.fieldErrors},!0),e(re).some(e=>n.fieldErrors?.[e.name])&&V(G,!0))}catch{V(W,!0)}finally{V(le,!1)}}}let X=n(()=>e(le)||v()),ve=n(()=>C()??(e(W)?T($[`ui.screens.save_failed`]):null));var we=lo(),Ee=L(we),De=t=>{Te(t,{get title(){return e(F)}})};t(Ee,e=>{g()&&e(De)});var Oe=M(Ee,2),ke=k(Oe),Ae=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();z(()=>l(r,e(N))),x(t,r)},$$slots:{default:!0}})},je=r=>{be(r,{onsubmit:_e,novalidate:!0,children:(r,i)=>{var o=co(),s=L(o),d=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();z(()=>l(r,e(ve))),x(t,r)},$$slots:{default:!0}})};t(s,t=>{e(ve)&&t(d)});var f=M(s,2);c(f,()=>e(ne));var p=M(f,2),m=t=>{var r=()=>e(G)||e(me),i=e=>V(G,e,!0);{let a=n(()=>T($[`ui.screens.advanced_fields`]));oe(t,{get title(){return e(a)},get open(){return r()},set open(e){i(e)},children:(t,n)=>{c(t,()=>e(re))},$$slots:{default:!0}})}};t(p,t=>{e(re).length>0&&t(m)});var h=M(p,2);Ce(h,{children:(n,r)=>{var i=so(),o=L(i),s=t=>{ue(t,{type:`button`,variant:`ghost`,get disabled(){return e(X)},get onclick(){return a.oncancel},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>T($[`ui.screens.cancel`])]),x(e,n)},$$slots:{default:!0}})};t(o,e=>{a.oncancel&&e(s)});var c=M(o,2);ue(c,{type:`submit`,variant:`primary`,get loading(){return e(X)},get disabled(){return e(X)},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>T($[`ui.screens.save`])]),x(e,n)},$$slots:{default:!0}}),x(n,i)},$$slots:{default:!0}}),x(r,o)},$$slots:{default:!0}})};t(ke,t=>{e(N)?t(Ae):t(je,-1)}),s(Oe),z(()=>B(Oe,`aria-label`,e(F))),x(r,we),i()}var fo=c(` <code class="smrt-record-header__id svelte-uiz8xl" data-smrt-part="label"> </code>`,1),po=c(`<code class="smrt-record-header__id smrt-record-header__id--chip svelte-uiz8xl" data-smrt-part="label"> </code>`),mo=c(`<span class="smrt-record-header__sr svelte-uiz8xl" data-smrt-part="label"> </span> `,1),ho=c(`<span aria-hidden="true">⋯</span>`),go=c(`<div class="smrt-record-header__menu svelte-uiz8xl" data-smrt-part="panel"><!> <!></div>`),_o=c(`<code> </code>`),vo=c(`<a><!></a>`),yo=c(`<a> </a>`),bo=c(`<div class="smrt-record-header__fact svelte-uiz8xl" data-smrt-part="row"><dt data-smrt-part="label" class="svelte-uiz8xl"> </dt> <dd class="svelte-uiz8xl"><!></dd></div>`),xo=c(`<dl class="smrt-record-header__facts svelte-uiz8xl" data-smrt-part="list"></dl>`),So=c(`<header class="smrt-record-header__root svelte-uiz8xl" data-smrt-component="RecordHeader"><!> <div class="smrt-record-header__row svelte-uiz8xl" data-smrt-part="row"><div class="smrt-record-header__identity svelte-uiz8xl" data-smrt-part="label"><h1 class="smrt-record-header__title svelte-uiz8xl" data-smrt-part="title"><!></h1> <!> <!></div> <div class="smrt-record-header__actions svelte-uiz8xl" data-smrt-part="actions"><!> <!></div></div> <!> <!></header> <!>`,1);function Co(r,a){h(a,!0);let c=E(a,`relations`,19,()=>[]),d=E(a,`deleting`,3,!1),{t:p}=ae(),m=n(()=>jn(a.definition)),g=n(()=>!!(a.extraActions||a.ondelete)),v=D(!1),y=D(!1),b=D(!1);async function C(){V(b,!1);try{await a.ondelete?.(),V(y,!1)}catch{V(b,!0),V(y,!1)}}function w(e,t){let n=c().find(t=>t.kind===`reference`&&t.field===e.name)?.model,r=n?a.labels?.[n]?.(t):void 0;return r&&r.trim()!==``?r:void 0}function T(e){let t=a.record[e.field.name];return e.kind===`date`?Xn({kind:`datetime`,definition:{format:`date`}},t,{locale:a.locale}):Xn(e.field,t,{currency:a.currency,locale:a.locale})}function ee(e,t){if(e.field.kind===`email`)return`mailto:${t}`;if(e.field.kind===`tel`)return`tel:${t.replace(/[^\d+]/g,``)}`}var O=So(),A=L(O),j=k(A),N=t=>{ue(t,{variant:`ghost`,size:`sm`,get onclick(){return a.onback},children:(t,n)=>{_();var r=u();z(e=>l(r,e),[()=>a.backLabel??p($[`ui.screens.back`],{name:e(m).plural.toLowerCase()})]),x(t,r)},$$slots:{default:!0}})};t(j,e=>{a.onback&&e(N)});var F=M(j,2),I=k(F),R=k(I),te=k(R),re=e=>{var t=fo(),n=L(t,!0),r=M(n),i=P(r,!0);z(e=>{l(n,e),l(i,a.model.identifier.value)},[()=>a.model.heading.slice(0,a.model.heading.length-a.model.identifier.value.length)]),x(e,t)},ie=e=>{var t=u();z(()=>l(t,a.model.heading)),x(e,t)};t(te,e=>{a.model.headingIdentifier&&a.model.identifier?e(re):e(ie,-1)}),s(R);var U=M(R,2),oe=e=>{var t=po(),n=P(t,!0);z(()=>{B(t,`title`,a.model.identifier.field.label),l(n,a.model.identifier.value)}),x(e,t)};t(U,e=>{a.model.identifier&&!a.model.headingIdentifier&&e(oe)});var W=M(U,2),le=t=>{{let r=n(()=>cr(a.model.status.value,a.statusTones));ce(t,{get variant(){return e(r)},children:(e,t)=>{var n=mo(),r=L(n),i=P(r),o=M(r,1,!0);z(e=>{l(i,`${a.model.status.field.label??``}:`),l(o,e)},[()=>lr(a.model.status.value)]),x(e,n)},$$slots:{default:!0}})}};t(W,e=>{a.model.status&&e(le)}),s(I);var G=M(I,2),K=k(G),q=e=>{ue(e,{variant:`primary`,get onclick(){return a.onedit},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>p($[`ui.screens.edit`])]),x(e,n)},$$slots:{default:!0}})};t(K,e=>{a.onedit&&e(q)});var J=M(K,2),de=r=>{{let i=e=>{var t=ho();x(e,t)},c=n(()=>p($[`ui.screens.more_actions`])),d=n(()=>p($[`ui.screens.more_actions`]));se(r,{get label(){return e(c)},get triggerLabel(){return e(d)},variant:`icon`,placement:`bottom-end`,get open(){return e(v)},set open(e){V(v,e,!0)},trigger:i,children:(e,n)=>{var r=go(),i=k(r),c=e=>{var t=S(),n=L(t);o(n,()=>a.extraActions),x(e,t)};t(i,e=>{a.extraActions&&e(c)});var d=M(i,2),f=e=>{ue(e,{variant:`danger`,onclick:()=>{V(v,!1),V(y,!0)},children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>p($[`ui.screens.delete`])]),x(e,n)},$$slots:{default:!0}})};t(d,e=>{a.ondelete&&e(f)}),s(r),x(e,r)},$$slots:{trigger:!0,default:!0}})}};t(J,t=>{e(g)&&t(de)}),s(G),s(F);var Y=M(F,2),fe=r=>{var i=xo();f(i,21,()=>a.model.facts,e=>e.field.name,(r,i)=>{let o=n(()=>T(e(i)));var c=bo(),d=k(c),f=P(d,!0),p=M(d,2),m=k(p),h=r=>{let c=n(()=>a.hrefFor?.(e(i).field,e(o))),d=n(()=>w(e(i).field,e(o)));var f=S(),p=L(f),m=n=>{var r=vo(),i=k(r),a=t=>{var n=u();z(()=>l(n,e(d))),x(t,n)},f=t=>{var n=_o(),r=P(n,!0);z(t=>{B(n,`title`,e(o)),l(r,t)},[()=>nr(e(o))]),x(t,n)};t(i,t=>{e(d)?t(a):t(f,-1)}),s(r),z(()=>B(r,`href`,e(c))),x(n,r)},h=t=>{var n=u();z(()=>l(n,e(d))),x(t,n)},g=t=>{var n=_o(),r=P(n,!0);z(t=>{B(n,`title`,e(o)),l(r,t)},[()=>nr(e(o))]),x(t,n)};t(p,t=>{e(c)?t(m):e(d)?t(h,1):t(g,-1)}),x(r,f)},g=t=>{var n=yo(),r=P(n,!0);z(t=>{B(n,`href`,t),l(r,e(o))},[()=>ee(e(i),e(o))]),x(t,n)},_=n(()=>e(i).kind===`contact`&&ee(e(i),e(o))),v=t=>{var n=u();z(()=>l(n,e(o))),x(t,n)};t(m,t=>{e(i).kind===`party`?t(h):e(_)?t(g,1):t(v,-1)}),s(p),s(c),z(()=>l(f,e(i).field.label)),x(r,c)}),s(i),x(r,i)};t(Y,e=>{a.model.facts.length>0&&e(fe)});var pe=M(Y,2),me=e=>{H(e,{variant:`error`,dismissible:!0,ondismiss:()=>V(b,!1),children:(e,t)=>{_();var n=u();z(e=>l(n,e),[()=>p($[`ui.screens.delete_failed`])]),x(e,n)},$$slots:{default:!0}})};t(pe,t=>{e(b)&&t(me)}),s(A);var he=M(A,2),ge=t=>{{let r=n(()=>p($[`ui.screens.delete_title`],{name:e(m).singular.toLowerCase()})),i=n(()=>p($[`ui.screens.delete_message`])),a=n(()=>p($[`ui.screens.delete`])),o=n(()=>p($[`ui.screens.cancel`]));ne(t,{get open(){return e(y)},get title(){return e(r)},get message(){return e(i)},get confirmLabel(){return e(a)},get cancelLabel(){return e(o)},destructive:!0,get loading(){return d()},onconfirm:C,oncancel:()=>V(y,!1)})}};t(he,e=>{a.ondelete&&e(ge)}),x(r,O),i()}function wo(e){return e==null?!1:typeof e!=`string`||e.trim()!==``}function To(e,t){return(e.roles??[]).includes(t)}function Eo(e,t,n,r,i={}){let{singular:a}=jn(e),o=t.filter(e=>wo(n[e.name])),s=e=>o.find(t=>To(t,e)),c=[],l=s(`title`),u=s(`identifier`),d=s(`status`),f=u?String(n[u.name]):void 0,p,m=!1;i.title?p=i.title:f&&En(r)?(p=`${a} ${f}`,m=!0):l?p=String(n[l.name]):f?(p=f,m=!0):p=a,l&&!m&&!i.title&&c.push(l.name);let h={heading:p,headingIdentifier:m,facts:[],shown:c};u&&f&&(h.identifier={field:u,value:f},c.push(u.name)),d&&(h.status={field:d,value:String(n[d.name])},c.push(d.name));let g=i.maxFacts??4,_=(e,t)=>{!t||c.includes(t.name)||h.facts.length>=g||(h.facts.push({kind:e,field:t}),c.push(t.name))};return _(`party`,s(`party`)),_(`date`,o.find(e=>To(e,`date`)&&e.name!==`createdAt`&&e.name!==`updatedAt`)),_(`money`,s(`total`)??s(`money`)),_(`contact`,o.find(e=>e.kind===`email`)),_(`contact`,o.find(e=>e.kind===`tel`)),h}function Do(e,t,n){let r={};for(let i of[`subtotal`,`discount`,`tax`,`total`]){let a=Object.keys(t).find(e=>t[e]?.includes(i)&&(!n||n.some(t=>t.name===e)));if(!a)continue;let o=e[a];r[i]=typeof o==`number`&&Number.isSafeInteger(o)?o:null}return br(e.lineAmountType)&&(!n||n.some(e=>e.name===`lineAmountType`))&&(r.lineAmountType=e.lineAmountType),r}function Oo(e){return Object.keys(e).filter(t=>[`subtotal`,`discount`,`tax`,`total`].some(n=>e[t]?.includes(n)))}var ko=c(`<span class="smrt-record-screen__count svelte-1ijjiku" data-smrt-part="count"> </span>`),Ao=c(`<a class="smrt-record-screen__view-all svelte-1ijjiku" data-smrt-part="actions"> </a>`),jo=c(`<span class="smrt-record-screen__widget-heading svelte-1ijjiku" data-smrt-part="header"><span class="smrt-record-screen__widget-title" data-smrt-part="title"> <!></span> <!></span>`),Mo=c(`<section class="smrt-record-screen__items svelte-1ijjiku" data-smrt-part="body"><!></section>`),No=c(`<!> <!>`,1),Po=c(`<aside class="smrt-record-screen__aside svelte-1ijjiku" data-smrt-part="panel"><h2 class="smrt-record-screen__aside-title svelte-1ijjiku" data-smrt-part="title"> </h2> <!></aside>`),Fo=c(`<div class="smrt-record-screen__sheet-body svelte-1ijjiku" data-smrt-part="body"><!></div>`),Io=c(`<section class="smrt-record-screen__sheet svelte-1ijjiku" data-smrt-component="RecordScreen"><!></section>`),Lo=c(`<div data-smrt-component="RecordScreen"><div class="smrt-record-screen__main svelte-1ijjiku" data-smrt-part="body"><!> <!> <section class="smrt-record-screen__related svelte-1ijjiku" data-smrt-part="body"><!></section></div> <!></div> <!>`,1);function Ro(r,c){h(c,!0);let u=(r,i=p,a=p)=>{let o=n(()=>i().type===`records`&&fe(i())&&q.entry(i()).status===`ready`?e(G)[i().id]:void 0);var u=jo(),d=k(u),f=k(d,!0),m=M(f),h=t=>{var n=ko(),r=P(n);z(e=>l(r,` · ${e??``}`),[()=>new Intl.NumberFormat(c.locale).format(e(o).count)]),x(t,n)};t(m,t=>{e(o)&&e(o).count!==null&&t(h)}),s(d);var g=M(d,2),_=t=>{var n=Ao(),r=P(n,!0);z(t=>{B(n,`href`,e(o).href),l(r,t)},[()=>b($[`ui.screens.view_all`])]),x(t,n)};t(g,t=>{e(o)?.href&&t(_)}),s(u),z(()=>l(f,a())),x(r,u)},d=r=>{var i=No(),a=L(i),l=t=>{var r=S(),i=L(r);te(i,()=>e(T),t=>{{let r=n(()=>c.fieldErrors??{});uo(t,{get definition(){return c.definition},get policy(){return f()},get currency(){return e(U)},get fields(){return c.fields},get record(){return c.record},showHeader:!1,get submitting(){return v()},get fieldErrors(){return e(r)},get error(){return y()},get onsubmit(){return c.onsave},oncancel:me,get derivedFields(){return e(oe)}})}}),x(t,r)};t(a,e=>{c.onsave&&e(l)});var u=M(a,2),d=e=>{var t=Mo(),n=k(t);o(n,()=>c.items),s(t),z(e=>B(t,`aria-label`,e),[()=>b($[`ui.screens.items`])]),x(e,t)};t(u,e=>{c.items&&e(d)}),x(r,i)},f=E(c,`policy`,3,null),m=E(c,`relations`,19,()=>[]),g=E(c,`canCustomize`,3,!0),_=E(c,`deleting`,3,!1),v=E(c,`submitting`,3,!1),y=E(c,`error`,3,null),{t:b}=ae(),C=n(()=>jn(c.definition)),w=n(()=>c.definition.idField??`id`),T=n(()=>c.record[e(w)]===void 0||c.record[e(w)]===null?``:String(c.record[e(w)])),O=n(()=>c.mode===`edit`),A=n(()=>b($[`ui.screens.edit_title`],{name:e(C).singular.toLowerCase()})),N=n(()=>Cn(c.definition)),R=n(()=>Pn(c.definition,f())?[]:Rn(c.definition,f(),{mode:`view`,include:c.fields})),ne=n(()=>Eo(c.definition,e(R),c.record,e(N),{title:c.title})),H=n(()=>m().some(e=>e.kind===`items`)),re=n(()=>Tn(c.definition)),U=n(()=>{if(c.currency)return c.currency;let t=e(re)?c.record[e(re)]:void 0;return typeof t==`string`&&/^[A-Za-z]{3}$/.test(t.trim())?t.trim().toUpperCase():void 0}),oe=n(()=>c.derivedFields??(e(H)?Oo(e(N)):[])),se=I(()=>{let t=c.loaders?.records;if(c.registry&&!t)return c.registry;let n=ot();if(c.registry)for(let e of c.registry.list())n.register(e);else pa(n,c.loaders??{});if(t){let r=ot();La(r,{relations:m(),records:t,viewAllHref:e=>c.viewAllHref?.(e),totals:()=>Do(c.record,e(N),e(R)),storedTotals:()=>c.lineItemStoredTotals?.(),currency:()=>e(U)});for(let e of r.list())n.has(e.type)||n.register(e)}return n}),ce=I(()=>c.overview??yr(c.definition,m())),W=I(()=>c.override!==void 0),le=n(()=>m().filter(e=>e.kind!==`reference`)),G=D(j({}));function K(t,n){if(t.type!==`records`)return n;let r=fe(t);if(!r||!Q(n))return n;let{total:i,href:a,...o}=n,s=Array.isArray(o.rows)?o.rows.length:null,l=typeof i==`number`&&i>(s??0)&&Array.isArray(o.columns)&&o.columns.length>0;return V(G,{...e(G),[t.id]:{count:typeof i==`number`&&Number.isFinite(i)?i:s,href:c.viewAllHref?.(r)??(typeof a==`string`?St(a):null)}},!0),l?{...o,total:i}:o}let q=pt({definition:ce,registry:se,override:W?()=>c.override??null:void 0,onchange:e=>c.onoverviewchange?.(e),canCustomize:()=>g(),loadWidget:(t,n)=>{let r=se.get(t.type)?.load;if(!r)return Promise.resolve(void 0);let i={...c.widgetContext,overviewId:ce.id,signal:n,locale:typeof c.widgetContext?.locale==`string`?c.widgetContext.locale:c.locale,record:{model:c.definition.objectRef,id:e(T)}};return Promise.resolve(r(t.options,i)).then(e=>K(t,e))}});F(()=>q.destroy());let J=n(()=>e(H)&&q.document.widgets.some(e=>e.type===`line-items`)),ue=n(()=>[...e(ne).shown,...e(re)?[e(re)]:[],...e(J)?Oo(e(N)):[]]),de=I(()=>e(T));ee(()=>{let t=e(T);t!==de&&(de=t,I(()=>{for(let e of q.document.widgets)q.reload(e.id)}))}),ee(()=>{W&&(c.override,I(()=>q.sync()))});let Y=n(()=>{let t=[];for(let n of e(le))t.some(e=>e.value===n.model)||t.push({value:n.model,label:n.label});return t});function fe(t){let{filter:n,model:r,field:i}=t.options;if(n===`parent`)return e(le).find(e=>e.model===r&&e.field===i)}let pe=D(!0);ee(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(min-width: 48rem)`),t=()=>{V(pe,e.matches,!0)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});function me(){c.oncancel?.()}var he=Lo(),ge=L(he);let _e;var X=k(ge),ve=k(X);{let t=n(()=>e(O)?void 0:c.onedit);Co(ve,{get definition(){return c.definition},get model(){return e(ne)},get record(){return c.record},get relations(){return m()},get hrefFor(){return c.hrefFor},get labels(){return c.labels},get currency(){return e(U)},get locale(){return c.locale},get backLabel(){return c.backLabel},get deleting(){return _()},get statusTones(){return c.statusTones},get onback(){return c.onback},get onedit(){return e(t)},get ondelete(){return c.ondelete},get extraActions(){return c.extraActions}})}var ye=M(ve,2);$a(ye,{get definition(){return c.definition},get policy(){return f()},get record(){return c.record},get relations(){return m()},get fields(){return c.fields},get currency(){return e(U)},get locale(){return c.locale},get hrefFor(){return c.hrefFor},get labels(){return c.labels},showHeader:!1,get exclude(){return e(ue)},hideEmpty:!0,variant:`card`,children:(e,t)=>{var n=S(),r=L(n);o(r,()=>c.children??p),x(e,n)},$$slots:{default:!0}});var be=M(ye,2),xe=k(be);{let t=n(()=>b($[`ui.screens.related`]));Qt(xe,{get controller(){return q},get editing(){return c.layoutEditing},presentation:`plain`,headingLevel:2,get heading(){return u},get label(){return e(t)},get models(){return e(Y)}})}s(be),s(X);var Se=M(X,2),Ce=t=>{var n=Po(),r=k(n),i=P(r,!0),a=M(r,2);d(a),s(n),z(()=>{B(n,`aria-label`,e(A)),l(i,e(A))}),x(t,n)};t(Se,t=>{e(O)&&e(pe)&&t(Ce)}),s(ge);var we=M(ge,2),Te=n=>{var r=Io(),i=k(r);ie(i,{get open(){return e(O)},get title(){return e(A)},onclose:me,variant:`page`,children:(n,r)=>{var i=S(),a=L(i),o=e=>{var t=Fo(),n=k(t);d(n),s(t),x(e,t)};t(a,t=>{e(O)&&t(o)}),x(n,i)},$$slots:{default:!0}}),s(r),x(n,r)};t(we,t=>{e(pe)||t(Te)}),z(t=>{_e=a(ge,1,`smrt-record-screen__root svelte-1ijjiku`,null,_e,{"smrt-record-screen__edit":e(O)}),B(ge,`data-mode`,c.mode),B(be,`aria-label`,t)},[()=>b($[`ui.screens.related`])]),x(r,he),i()}var zo=[`name`,`title`,`label`,`code`];function Bo(e){let t=e.display?.label,n=new Set(e.fields.map(e=>e.name));return[...t?[t]:[],...zo].filter((e,t,r)=>n.has(e)&&r.indexOf(e)===t)}function Vo(e,t){for(let n of Bo(e)){let e=t[n];if(typeof e==`string`&&e.trim()!==``)return e}}var Ho=e=>e.type===`foreignKey`||e.type===`crossPackageRef`,Uo=[/^customer/i,/^vendor/i,/^profile/i,/^product/i,/^invoice/i,/^order/i,/^payment/i,/^contract/i];function Wo(e){if(Bo(e).some(e=>e!==`code`))return;let t=e.fields.filter(e=>!e.system),n=wn(Cn({objectRef:e.id,className:e.name,fields:Object.fromEntries(t.map(e=>[e.name,{type:Go.has(e.type)?e.type:`text`,...e.enum?.length?{enum:e.enum}:{},...e.ui?{ui:{...e.ui}}:{}}]))}),`identifier`);return n?t.find(e=>e.name===n):void 0}var Go=new Set([`text`,`integer`,`decimal`,`boolean`,`datetime`,`json`,`foreignKey`,`crossPackageRef`]);function Ko(e,t){let n=Wo(e),r=n?t[n.name]:void 0;return typeof r==`string`&&r.trim()!==``?r:void 0}function qo(e,t){let n=e.filter(e=>Ho(e)&&typeof t[e.name]==`string`&&t[e.name]!==``);for(let e of Uo){let t=n.find(t=>e.test(t.name));if(t)return t}}var Jo=/(paid|allocated|issue|^date$|createdat)/i;function Yo(e,t,n,r=e.fields){let i=Vo(e,t);if(i)return i;let a=Ko(e,t);if(a)return a;let o=qo(r,t),s=o?.related?n(o,String(t[o.name])):void 0;if(e.fields.find(e=>e.name===`amount`&&e.type===`integer`)&&typeof t.amount==`number`){let n=e.fields.find(e=>e.type===`datetime`&&Jo.test(e.name)&&t[e.name]);return Zo([s,K(t.amount),n?String(t[n.name]).slice(0,10):void 0])}return Zo([s,typeof t.description==`string`&&t.description.trim()!==``?t.description:void 0])}function Xo(e,t,n,r){if(Vo(e,t))return n;let i=Ko(e,t);return i&&i===n?`${r} ${i}`:n}function Zo(e){let t=e.filter(e=>!!e);return t.filter((e,n)=>t.indexOf(e)===n).join(` · `)||void 0}function Qo(e){return(e.type===`foreignKey`||e.type===`crossPackageRef`)&&typeof e.related==`string`}function $o(e,t){if(e.type===`boolean`)return`boolean`;if(Qo(e))return`relation`;if(e.enum&&e.enum.length>0)return`enum`;if(e.ui?.widget)return e.ui.widget;if(e.type===`json`&&t!==void 0&&(le[t]??[]).includes(e.name))return`address`;if(W(e))return`money`;if(J(e))return`percent`;switch(e.type){case`datetime`:return`datetime`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`json`:return`json`;default:return`text`}}var es=e=>typeof e==`number`&&Number.isFinite(e)?e:0;function ts(e){let t=e.name;if(e.type===`json`)return 99;if(/^(name|title|label|code)$|Number$|^number$/.test(t))return 0;if(t===`reference`&&e.type===`text`)return .5;if(t===`description`&&e.type===`text`)return 5.9;if(Qo(e))return/^(customer|vendor|profile)/i.test(t)?1:/^(contract|.*(journal|account))/i.test(t)?7:2;if((e.enum?.length??0)>0&&/(status|state|stage)$/i.test(t))return 3;if(/^(totalAmount|amount|total)$/.test(t))return 4;if(e.type===`datetime`){if(/^start(date|at)?$/i.test(t))return 1.2;if(/^due/i.test(t))return 5;if(/(issue|paid|allocated|^date$)/i.test(t))return 5.2}return 6}function ns(e,t=6){let n=e.filter(e=>e.type!==`json`),r=new Set(n.slice(0,3)),i=n.filter(e=>r.has(e)||ts(e)<6||[`integer`,`decimal`,`boolean`,`datetime`].includes(e.type)||(e.enum?.length??0)>0||Qo(e)).map((e,t)=>({f:e,i:t,rank:ts(e)})).sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.f),a=n.find(e=>e.name===`totalAmount`);if(a&&n.some(e=>e.name===`amountPaid`)){let e={...a,name:`amountDue`,label:`Amount due`,required:!1,derive:e=>es(e.totalAmount)-es(e.amountPaid)},t=i.findIndex(e=>e.name===`totalAmount`);i.splice(t<0?i.length:t+1,0,e)}let o=n.some(e=>e.name===`allDay`);return i.slice(0,t).map(e=>o&&e.type===`datetime`&&/^(start|end)(date|at)$/i.test(e.name)?{...e,showTime:!0}:e)}function rs(e,t){return e.derive?e.derive(t):t[e.name]}function is(e,t,n){return e.filter(e=>e[t]===n)}function as(e){if(e.default!==void 0&&e.default!==null)return e.default;let t=e.enum??[];return t.length>0&&(e.required||/(status|state|stage)$/i.test(e.name))?t.includes(`draft`)?`draft`:t[0]:e.type===`boolean`?!1:e.type===`text`?``:null}function os(e){let t={};for(let n of e)t[n.name]=as(n);return t}function ss(e,t,n){return{...os(e),[t]:n}}var cs=e=>e==null||typeof e==`string`&&e.trim()===``;function ls(e,t,n=new Set){let r={};for(let i of e)i.required&&i.type!==`boolean`&&!n.has(i.name)&&cs(t[i.name])&&(r[i.name]=`${i.label} is required.`);return r}function us(e,t){let n=e.filter(e=>t[e.name]).map(e=>e.label);return n.length===0?``:`Cannot save yet: ${n.join(`, `)} ${n.length===1?`is`:`are`} required.`}function ds(e,t,n,r){return Yo(e,n,(e,t)=>e.related?r.get(q(e.related,t)):void 0,t)??``}var fs=`@happyvertical/smrt-profiles:Profile`,ps=`@happyvertical/smrt-commerce:Customer`,ms=`@happyvertical/smrt-commerce:Vendor`,hs=20;function gs(e){let t=G(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model}function _s(e){return String(e??``).slice(0,8)}function vs(e){return e.fields.some(e=>e.name===`profileId`&&e.related===`@happyvertical/smrt-profiles:Profile`)}async function ys(e,t){return typeof t.profileId==`string`&&t.profileId?e.get(gs(fs),t.profileId):void 0}var bs=3;async function xs(e,t,n,r=0,i){if(vs(t)){let t=await ys(e,n),r=t&&Vo(gs(`@happyvertical/smrt-profiles:Profile`),t);if(r)return r}let a=qo(t.fields,n);if(a&&a.name===i){let e=Yo(t,n,()=>void 0);if(e)return e}let o=a?.related?G(a.related)?.model:void 0,s;if(a&&o&&r<bs){let t=await e.get(o,String(n[a.name]));t&&(s=await xs(e,o,t,r+1))}return Yo(t,n,()=>s)??_s(n.id)}async function Ss(e,t,n){let r=new Map;for(let i of t){let t=i.related;if(!t)continue;let a=G(t)?.model;if(!a)continue;let o=new Set(n.map(e=>e[i.name]).filter(e=>typeof e==`string`&&e!==``));for(let n of o){if(r.has(q(t,n)))continue;let i=await e.get(a,n);i&&r.set(q(t,n),await xs(e,a,i))}}return r}var Cs=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase());async function ws(e,t,n){let r=[];for(let i of await e.list(t)){let a=await xs(e,t,i);if(Cs(a,n)&&r.push({id:i.id,label:a}),r.length>=hs)break}return r}async function Ts(e,t,n){let r=await e.get(t,n);return r?{id:r.id,label:await xs(e,t,r)}:null}var Es=e=>typeof e==`string`&&e!==``?e:void 0;async function Ds(e,t){let n=await ys(e,t);return{...n?{id:n.id}:{},name:(n&&Vo(gs(`@happyvertical/smrt-profiles:Profile`),n))??_s(t.id),...Es(n?.email)?{email:Es(n?.email)}:{}}}async function Os(e,t){return{id:t.id,...Es(t.profileId)?{profileId:Es(t.profileId)}:{},profile:await Ds(e,t),status:Es(t.status)??``,...Es(t.customerType)?{customerType:Es(t.customerType)}:{},...typeof t.creditLimit==`number`?{creditLimitMinor:t.creditLimit}:{},...Es(t.paymentTerms)?{paymentTerms:Es(t.paymentTerms)}:{}}}async function ks(e,t){return{id:t.id,...Es(t.profileId)?{profileId:Es(t.profileId)}:{},profile:await Ds(e,t),status:Es(t.status)??``,...typeof t.leadTimeDays==`number`?{leadTimeDays:t.leadTimeDays}:{},...Es(t.currency)?{currency:Es(t.currency)}:{}}}async function As(e,t){let n=[];for(let r of await e.list(gs(ps))){let i=await Os(e,r);if(Cs(i.profile.name,t)&&n.push(i),n.length>=hs)break}return n}async function js(e,t){let n=await e.get(gs(ps),t);return n?Os(e,n):null}async function Ms(e,t){let n=[];for(let r of await e.list(gs(ms))){let i=await ks(e,r);if(Cs(i.profile.name,t)&&n.push(i),n.length>=hs)break}return n}async function Ns(e,t){let n=await e.get(gs(ms),t);return n?ks(e,n):null}export{yr as A,pt as B,Do as C,ai as D,pa as E,Tn as F,Je as G,lt as H,Cn as I,et as K,Qt as L,ar as M,rr as N,Nr as O,kn as P,vt as R,Ro as S,Fa as T,nt as U,ot as V,rt as W,ds as _,Ts as a,Bo as b,ws as c,ss as d,os as f,ls as g,ns as h,js as i,_r as j,Ar as k,Ms as l,us as m,xs as n,Ns as o,rs as p,Ve as q,Ss as r,As as s,vs as t,_s as u,is as v,Ia as w,Xo as x,$o as y,_t as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,Ct as t,Dt as n,Ot as r}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as i}from"./
|
|
1
|
+
import{$ as e,Ct as t,Dt as n,Ot as r}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as i}from"./DY0FIR5r.js";import{n as a}from"./Z4DMOMGY.js";import{a as o,i as s,n as c,o as l}from"./sg0UgZNf.js";import{r as u}from"./D_U_DYjx.js";function d(d,f){r(f,!0);let p=c(u()),m=t(()=>a.settings().currency);{let n=t(()=>i(s)),r=t(()=>p.sourceInfo());l(d,{get options(){return f.options},get title(){return f.title},get locale(){return f.locale},get client(){return p.client},reportHref:e=>i(o(e)),get listHref(){return e(n)},get sources(){return e(r)},authorLabel:e=>e===`planner`?`you`:void 0,get currency(){return e(m)}})}n()}export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,U as f,W as p,Y as m,a as h,bt as ee,d as g,ft as _,ht as v,mt as y,n as b,nt as te,o as x,pt as S,q as C,r as w,st as T,tt as ne,v as E,vt as re}from"./DG3qFFTE.js";import"./xihTtKlq.js";import"./Cekjnrta.js";import{t as ie}from"./Bq8E3AWP.js";import"./
|
|
1
|
+
import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,U as f,W as p,Y as m,a as h,bt as ee,d as g,ft as _,ht as v,mt as y,n as b,nt as te,o as x,pt as S,q as C,r as w,st as T,tt as ne,v as E,vt as re}from"./DG3qFFTE.js";import"./xihTtKlq.js";import"./Cekjnrta.js";import{t as ie}from"./Bq8E3AWP.js";import"./DY0FIR5r.js";import{n as D}from"./DK8Blf1Y.js";import{D as O,T as k,f as ae,h as oe}from"./DQ-K2lSl.js";import{n as se}from"./D3syEjNq.js";import{o as A,u as j}from"./DNEWjgYb.js";import{i as M}from"./4HO85oKR.js";var N=new Set([`$$slots`,`$$events`,`$$legacy`]);function P(e,t){u(t,!0);let n=O(),i=x(t,N),a=null;w(()=>{a=n.registerFocusTool(i)}),b(()=>{a?.()}),r()}var ce=o(`<!> <!>`,1),le=o(`<span class="smrt-shell-layout-editor__muted svelte-xzk327" data-smrt-part="description"> </span>`),ue=o(`<div class="smrt-shell-layout-editor__row svelte-xzk327" data-smrt-part="row"><!></div>`),de=o(`<strong> </strong>`),fe=o(`<!> <!> <!> <!>`,1),F=o(`<span data-smrt-part="label"> </span> <!>`,1),I=o(`<div class="smrt-shell-layout-editor__preview" data-smrt-part="preview"><h3 class="svelte-xzk327"> </h3> <div class="smrt-shell-layout-editor__preview-frame svelte-xzk327" role="group" inert="" data-smrt-part="panel"><!></div></div>`),L=o(`<section class="smrt-shell-layout-editor svelte-xzk327" data-smrt-component="ShellLayoutEditor"><header class="svelte-xzk327"><div><h2 class="svelte-xzk327"> </h2> <p class="svelte-xzk327"> </p></div> <!></header> <fieldset class="smrt-shell-layout-editor__panels svelte-xzk327" data-smrt-part="list"><legend class="svelte-xzk327"> </legend> <!></fieldset> <div class="smrt-shell-layout-editor__body svelte-xzk327" data-smrt-part="body"><div class="smrt-shell-layout-editor__nav" data-smrt-part="list"><div class="smrt-shell-layout-editor__nav-head svelte-xzk327" data-smrt-part="header"><h3 class="svelte-xzk327"> </h3> <!></div> <!></div> <!></div></section>`);function R(o,m){let b=C();u(m,!0);let x=h(m,`preview`,3,!0),{t:w}=ie(),O=te(()=>m.controller??j()),N=`${b}-heading`,P=n(()=>O.sections),R=n(()=>O.panels),z=n(()=>O.applied),B=n(()=>e(P).map(e=>({id:e.id,label:e.heading??w(k[`ui.shell_layout_editor.top_level`]),fixed:e.group===null,root:e.group===null,hidden:e.hidden,custom:e.custom,titleVisible:e.titleVisible,count:e.items.length}))),V=n(()=>e(P).flatMap(e=>e.items.map(t=>({id:t.id,containerId:e.id,label:t.label}))));function H(e,t){t?O.show(e):O.hide(e)}let U=ee(void 0);function pe(t,n){let r=n.currentTarget;O.renameSection(t,r.value),r.value=e(B).find(e=>e.id===t)?.label??``}async function me(){let t=O.createSection(w(k[`ui.shell_layout_editor.new_section_label`]));if(!t)return;await ne();let n=e(U)?.querySelector(`input[data-section-name="${CSS.escape(t)}"]`);n?.focus(),n?.select()}function he(e,t,n){n>0&&!globalThis.confirm?.(w(k[`ui.shell_layout_editor.delete_confirm`],{label:t}))||O.deleteSection(e)}function ge(e){O.moveItem(e.item.id,e.target.containerId,e.target.index)}function _e(e){O.moveSection(e.container.id,e.target)}var W=L(),G=_(W),K=_(G),q=_(K),ve=y(q,!0),ye=v(q,2),be=y(ye,!0);a(K);var xe=v(K,2);{let t=n(()=>!O.customized);D(xe,{variant:`secondary`,size:`sm`,get disabled(){return e(t)},onclick:()=>O.reset(),children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.reset`])]),f(e,n)},$$slots:{default:!0}})}a(G);var J=v(G,2),Y=_(J),Se=y(Y,!0),Ce=v(Y,2);l(Ce,17,()=>e(R),e=>e.edge,(r,i)=>{var o=ue(),c=_(o),l=t=>{var r=ce(),a=S(r);{let t=n(()=>w(k[`ui.shell_layout_editor.show_panel`],{panel:e(i).label}));M(a,{interaction:!1,get checked(){return e(i).visible},get label(){return e(t)},onchange:t=>O.setPanel(e(i).edge,{visible:t.currentTarget.checked})})}var o=v(a,2);{let t=n(()=>e(i).initial===`expanded`),r=n(()=>!e(i).visible),a=n(()=>w(k[`ui.shell_layout_editor.start_expanded`],{panel:e(i).label}));M(o,{interaction:!1,get checked(){return e(t)},get disabled(){return e(r)},get label(){return e(a)},onchange:t=>O.setPanel(e(i).edge,{initial:t.currentTarget.checked?`expanded`:`collapsed`})})}f(t,r)},u=t=>{var n=le(),r=y(n,!0);T(e=>s(r,e),[()=>w(k[`ui.shell_layout_editor.panel_unavailable`],{panel:e(i).label})]),f(t,n)};t(c,t=>{e(i).available?t(l):t(u,-1)}),a(o),T(()=>E(o,`data-edge`,e(i).edge)),f(r,o)}),a(J);var X=v(J,2),Z=_(X),Q=_(Z),$=_(Q),we=y($,!0),Te=v($,2);D(Te,{variant:`secondary`,size:`sm`,onclick:me,children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.new_section`])]),f(e,n)},$$slots:{default:!0}}),a(Q);var Ee=v(Q,2);{let r=(r,i)=>{let a=()=>(i?.()).container,o=n(()=>e(B).find(e=>e.id===a().id));var c=p(),l=S(c),u=e=>{var t=de(),n=y(t,!0);T(()=>s(n,a().label)),f(e,t)},d=r=>{var i=fe(),s=S(i);{let t=n(()=>w(k[`ui.shell_layout_editor.section_name`],{label:a().label}));se(s,{class:`smrt-shell-layout-editor__name`,interaction:!1,get"data-section-name"(){return a().id},get"aria-label"(){return e(t)},get value(){return a().label},onchange:e=>pe(a().id,e)})}var c=v(s,2);{let t=n(()=>e(o)?.hidden?`eyeOff`:`eye`),r=n(()=>!e(o)?.hidden),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(c,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,!!e(o)?.hidden)})}var l=v(c,2);{let t=n(()=>e(o)?.titleVisible===!1?`headingOff`:`heading`),r=n(()=>e(o)?.titleVisible??!0),i=n(()=>w(k[`ui.shell_layout_editor.show_title_for`],{label:a().label}));A(l,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>O.setSectionTitleVisible(a().id,!(e(o)?.titleVisible??!0))})}var u=v(l,2),d=t=>{{let r=n(()=>w(k[`ui.shell_layout_editor.delete_section`],{label:a().label}));A(t,{icon:`trash`,get label(){return e(r)},onclick:()=>he(a().id,a().label,e(o).count)})}};t(u,t=>{e(o)?.custom&&t(d)}),f(r,i)};t(l,t=>{e(o)?.root?t(u):t(d,-1)}),f(r,c)},a=(t,r)=>{let a=()=>(r?.()).item,o=()=>(r?.()).container,c=n(()=>O.isHidden(a().id));var l=F(),u=S(l);let d;var p=y(u,!0),m=v(u,2);{let t=n(()=>e(c)?`eyeOff`:`eye`),r=n(()=>!e(c)),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(m,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,e(c))})}T(e=>{d=i(u,1,`smrt-shell-layout-editor__label svelte-xzk327`,null,d,{"smrt-shell-layout-editor__muted":e}),s(p,a().label)},[()=>e(c)||O.isHidden(o().id)]),f(t,l)},o=n(()=>w(k[`ui.shell_layout_editor.sortable_label`]));oe(Ee,{get containers(){return e(B)},get items(){return e(V)},get label(){return e(o)},reorderContainers:!0,onmove:ge,oncontainermove:_e,containerHeader:r,item:a,$$slots:{containerHeader:!0,item:!0}})}a(Z);var De=v(Z,2),Oe=t=>{var r=I(),i=_(r),o=y(i,!0),c=v(i,2),l=_(c);{let t=n(()=>w(k[`ui.shell_layout_editor.preview_label`]));ae(l,{get items(){return e(z).nav},get groups(){return e(z).groups},get iconComponent(){return m.iconComponent},get"aria-label"(){return e(t)}})}a(c),a(r),T((e,t)=>{s(o,e),E(c,`aria-label`,t)},[()=>w(k[`ui.shell_layout_editor.preview`]),()=>w(k[`ui.shell_layout_editor.preview_label`])]),f(t,r)};t(De,e=>{x()&&e(Oe)}),a(X),a(W),g(W,e=>re(U,e),()=>e(U)),T((e,t,n,r)=>{E(W,`aria-labelledby`,N),E(q,`id`,N),s(ve,e),s(be,t),s(Se,n),s(we,r)},[()=>w(k[`ui.shell_layout_editor.heading`]),()=>w(k[`ui.shell_layout_editor.description`]),()=>w(k[`ui.shell_layout_editor.panels`]),()=>w(k[`ui.shell_layout_editor.navigation`])]),f(o,W),r()}m([`click`]);export{P as n,R as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./
|
|
1
|
+
import{t as e}from"./D6XwweMX.js";var t=new Map;function n(n,r){if(e())return 0;if(typeof document>`u`)return r;let i=t.get(n);if(i!==void 0)return i;let a=getComputedStyle(document.documentElement).getPropertyValue(`--smrt-duration-${n}`).trim(),o=/^([\d.]+)(ms|s)$/.exec(a),s=o?Number(o[1])*(o[2]===`s`?1e3:1):r;return t.set(n,s),s}export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DMvs-IhD.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,E as r,J as i,M as a,N as o,P as s,Q as c,S as l,T as u,Y as d,Z as f,at as p,bt as m,ct as h,dt as g,et as _,ft as ee,gt as v,it as y,j as te,k as b,lt as x,mt as ne,rt as re,st as S,ut as C,w,x as T,y as E,z as ie}from"./2Z-piv9i.js";var D=e=>{let t=m(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model};function O(e){return String(e??``).toUpperCase().replace(/[^A-Z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}var k=/\{([A-Za-z_][\w]*\.[A-Za-z_][\w]*)(?:\|(slug))?\}/g;function A(e,t){return e.replace(k,(e,n,r)=>{let i=t[n],a=i==null?``:String(i);return r===`slug`?O(a):a})}function j(e,t,n=e=>e){return typeof e==`string`?A(e,t):typeof e==`object`&&e?{ref:n(e.ref),...e.field?{field:e.field}:{}}:e}function M(e,t,n){return Object.fromEntries(Object.entries(e??{}).map(([e,r])=>[e,j(r,t,n)]))}function N(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`object`&&e&&!Array.isArray(e)?e:null}function P(e,t,n){return Object.fromEntries(e.flatMap(e=>{let r=F(e.to);return r.alias===t?[[r.field,N(n[e.id])]]:[]}))}function F(e){let t=e.indexOf(`.`);if(t<1||t===e.length-1)throw Error(`A form field maps to "alias.field", got "${e}"`);return{alias:e.slice(0,t),field:e.slice(t+1)}}function I(e,t,n){let{alias:r,field:i}=F(e.to),a=t.find(e=>e.as===r);if(!a)throw Error(`Form field ${e.id} maps to unknown ${r}`);let o=n(a.model).fields.find(e=>e.name===i);if(!o)throw Error(`${a.model} has no field ${i} (form field ${e.id})`);return o}function L(e,t){let{alias:n}=F(e.to),r=t.find(e=>e.as===n);if(!r)throw Error(`Form field ${e.id} maps to unknown ${n}`);return r.model}function R(e,t){return e.default===void 0?t.default===void 0?t.type===`text`?``:null:t.default:e.default}function z(e,t){return Object.fromEntries(e.map(e=>[e.to,t[e.id]]))}var B=(e,t)=>e===t;async function V(e,t,n,r){let i={...n};for(let n of t){if(n.as in i)continue;if(!n.match){i[n.as]=void 0;continue}let t={},a=!0;for(let[e,r]of Object.entries(n.match))if(typeof r==`object`&&r){let n=i[r.ref];n||(a=!1),t[e]=r.field?n?.[r.field]:n?.id}else t[e]=r;i[n.as]=a?(await e.list(r(n.model))).find(e=>Object.entries(t).every(([t,n])=>B(e[t],n))):void 0}return i}var H=4,U=(e,t)=>e.fields.some(e=>e.name===t);function W(e,r,i,o,s){let c=l(n(`${o}:${e.id}:${i.id}`)),d=U(e,`debit`)&&U(e,`credit`),f=d?2*(1+Math.floor(c()*2)):1+Math.floor(c()*H),p=_(e),m=1e3*(1+Math.floor(c()*90));return Array.from({length:f},(l,f)=>{let h=n(`${i.id}:${f}`)%997,g={...u(e,h,o,s),id:w(`${e.id}:${i.id}:${f}`),[r]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=f),p){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=a(),{products:o}=r,l=n?o[t(n,{modelId:e.id,index:h,rows:s})%o.length]:o[h%o.length],u=b(h);u?(U(e,`description`)&&(g.description=u.description),g.unitPrice=u.price,n&&(g[n.name]=``)):n&&l&&(U(e,`description`)&&(g.description=l.name),g.unitPrice=l.price);let[d,p]=u?.quantity??l?.quantity??r.lineQuantity??[1,5],m=d+Math.floor(c()*(p-d+1));U(e,`quantity`)&&(g.quantity=m),Object.assign(g,ae(e,i,f,m,Number(g.unitPrice??0))),g.amount=C(g)}if(d){let e=f%2==0;g.debit=e?m/100:0,g.credit=e?0:m/100}return g})}function G(e){return n(`discount:${e.id}`)%3==0}function K(e,t){return Math.round(e*t/1e3)*100}function q(e,t){return t>0&&n(`tax-override:${e.id}:${t}`)%7==0}function J(e,t,r=o().currency){let i=n(`tax-override-kind:${e.id}:${t}`)%4,a=x(r);if(a&&i<2)return a;let s=i%2==0?`exempt`:`zero-rated`;return S.find(e=>e.kind===s)}function ae(e,t,r,i,a){let o={},s=r===0&&G(t),c=n(`discount-kind:${t.id}`)%2==0;U(e,`discountType`)&&(o.discountType=s?c?`percent`:`amount`:`none`),U(e,`discountRate`)&&(o.discountRate=s&&c?`10`:null),U(e,`discount`)&&(o.discount=s&&!(c&&U(e,`discountType`))?K(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=q(t,r)?J(t,r):void 0;return U(e,`taxMode`)&&(o.taxMode=l?`override`:`inherit`),U(e,`taxCodeId`)&&(o.taxCodeId=l?.id??null),o}function oe(e,t){let n={...e,...t};return`discount`in t&&!(`discountType`in t)&&n.discountType===`amount`&&(n.discountType=`percent`,n.discountRate=`10`,n.discount=0),`discountRate`in t&&n.discountType===`percent`&&(n.discountType=`none`,n.discountRate=null,n.discount=0),n}var se=[`@happyvertical/smrt-commerce:Order`,`@happyvertical/smrt-commerce:Invoice`],Y=2500;function ce(e,t,n){n===2&&se.includes(t.id)&&typeof e.subtotal==`number`&&typeof e.totalAmount==`number`&&(t.fields.some(e=>e.name===`status`&&e.enum?.includes(`draft`))&&(e.status=`draft`),e.subtotal+=Y,e.totalAmount+=Y)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=y(t,e,n,r);return Object.assign(e,i.row),i.lines}var X=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&X(e.totalAmount)>0;function de(e,t,r,i){let a=new Map(r.map(e=>[e.id,X(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=l(n(`${i}:alloc:${s.id}`)),c=r.filter(e=>ue(e)&&e.customerId===s.customerId&&(a.get(e.id)??0)>0).slice(0,t()<.3?2:1);if(c.length===0)continue;let d=c.map((e,n)=>{let r=a.get(e.id)??0,i=n>0||t()<.6?r:Math.min(r,Math.max(100,Math.round(r*(.3+t()*.4)/100)*100));return a.set(e.id,r-i),{inv:e,part:i}}),f=Math.max(...d.map(({inv:e})=>Date.parse(String(e.issueDate)))),p=new Date(Math.max(f,Math.min(f+(1+Math.floor(t()*20))*E,T))).toISOString();s.amount=d.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&d[0]?.inv.contractId&&(s.contractId=d[0].inv.contractId);for(let{inv:t,part:n}of d)o.push({...u(e.model,o.length,i),id:w(`${e.model.id}:${s.id}:${t.id}`),[e.paymentFk]:s.id,[e.invoiceFk]:t.id,amount:n,allocatedAt:p})}return o}function Z(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Q=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,pe=`@happyvertical/smrt-commerce:TaxComponent`,me=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function he(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Q}_created`;function ge(e){if(e)try{let t=[];for(let n=0;n<e.length;n++){let r=e.key(n);r?.startsWith(`smrt-planner:data:v6:`)&&t.push(r)}for(let n of t)e.removeItem(n)}catch{}}function _e(t={}){let n=t.seed??1,a=t.rowsPerModel??8,l=new Set(t.empty??[]),u=new Map,m=new Set,b=t.storage??null,x=e=>`${Q}${e.id}`,S=e=>{if(b)try{let t=b.getItem(x(e));if(t===null)return;let n=JSON.parse(t);if(Array.isArray(n)&&n.every(e=>typeof e==`object`&&!!e&&typeof e.id==`string`))return n}catch{}},C=0;if(b)try{C=Number(b.getItem($))||0}catch{C=0}let E=new Map,D=e=>{let n=E.get(e);return n||(n=t.children?.links(e)??[],E.set(e,n)),n},O,k,A=e=>{if(!O){O=new Map;for(let e of t.children?.models??[])for(let t of D(e.id)){let n=O.get(t.model.id)??[];n.push({parent:e,fk:t.fk}),O.set(t.model.id,n)}k=new Map(O);for(let[e,t]of O){let n=e.slice(e.lastIndexOf(`:`)+1).toLowerCase(),r=t.find(e=>n.startsWith(e.fk.replace(/Id$/,``).toLowerCase()))?.fk??t[0]?.fk;O.set(e,t.filter(e=>e.fk===r))}}return O.get(e)??[]},j=t=>{if(!e(t))return;A(t.id);let n=k?.get(t.id)??[],r=d(t)?.name,a=i(t)?.name,o=n.find(e=>e.fk===r)?.parent,s=n.find(e=>e.fk===a)?.parent;return o&&s&&r&&a?{model:t,paymentFk:r,invoiceFk:a,payment:o,invoice:s}:void 0},M=(n,r)=>{if(!p(n))return r;let i=D(n.id).find(t=>e(t.model)),a=i&&j(i.model);if(!i||!a)return r;let o=new Map(P(a.payment).map(e=>[e.id,e])),s=P(i.model).filter(e=>e[i.fk]===r.id&&o.get(String(e[a.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=re(r,s,(t.now??(()=>T))()),l={...r,amountPaid:c.amountPaid,status:c.status};return n.fields.some(e=>e.name===`paidDate`)&&(l.paidDate=c.paidDate),l},N=(e,t)=>{let n=P(e),r=n.findIndex(e=>e.id===t);r>=0&&(n[r]=M(e,n[r]))},P=e=>{let i=u.get(e.id);if(i)return i;let o=S(e);if(o){u.set(e.id,o);for(let t of D(e.id))P(t.model);return o}let s=l.has(e.id)?void 0:t.samples?.[e.id];if(s){let t=[];return u.set(e.id,t),t.push(...s.make(s.from.map(P),n)),t}let c=j(e),d=c?[]:A(e.id),f=l.has(e.id)||d.length||c?[]:r(e,te(e.id,a),n,a);u.set(e.id,f);for(let t of D(e.id))P(t.model);if(c&&!l.has(e.id)){for(let e of D(c.invoice.id))_(e.model)&&P(e.model);let e=P(c.invoice);f.push(...de(c,P(c.payment),e,n)),e.forEach((t,n)=>{e[n]=M(c.invoice,t)})}if(!l.has(e.id))for(let{parent:r,fk:i}of d){let o=t.defaults?.(e)??{};P(r).forEach((t,s)=>{let c=W(e,i,t,n,a).map(e=>oe(e,o));_(e)?(f.push(...le(t,r,c,L(r,t))),ce(t,r,s)):f.push(...c)})}return f},F=new Map((t.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=ee(e),n=F.get(fe),r=F.get(pe),i=n?P(n):[];if(!i.length)return t;let a=new Map(t.flatMap(e=>e.components.map(e=>[e.id,e])));for(let e of r?P(r):[])a.set(e.id,{id:e.id,key:e.id,name:String(e.name??``),percent:String(e.percent??`0`),recoverable:e.recoverable===!0});let o=i.map(e=>{let t=[];try{t=JSON.parse(String(e.componentsJson??`[]`))}catch{t=[]}let n=(Array.isArray(t)?t:[]).flatMap(e=>{let t=e&&typeof e==`object`?a.get(String(e.taxComponentId)):void 0;return t?[t]:[]}),r=me.includes(String(e.kind))?e.kind:`taxable`,i=[`sales`,`purchases`,`both`].includes(String(e.appliesTo))?e.appliesTo:`both`;return{id:e.id,code:String(e.code??``),name:String(e.name??``),kind:r,appliesTo:i,active:e.active!==!1,components:n}}),s=new Map(o.map(e=>[e.id,e]));if(t.some(e=>s.has(e.id))){let n=h(e);return[...t.filter(e=>s.has(e.id)||e.id===n.id).map(e=>s.get(e.id)??e),...o.filter(e=>!t.some(t=>t.id===e.id))]}return[...t,...o]},L=(e,t)=>{let n=o(),r=s()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),l=a?.related?F.get(a.related):void 0,d=l?P(l).find(e=>e.id===t.customerId):void 0,p=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},m=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:c(t,n.taxRounding),currency:g(t.currency,g(n.currency)),codes:i,appDefaultCodeId:h(r).id,customerTaxExempt:d?.taxExempt===!0,partyCodeId:m(d?.defaultTaxCodeId),productCodeOf:e=>m(p(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!b)return;let t=e=>{let t=j(e);return t?[t.payment,t.invoice]:[]},n=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent),...t(e),...D(e.id).flatMap(e=>t(e.model))];try{for(let e of n){let t=u.get(e.id);t&&b.setItem(x(e),JSON.stringify(t))}b.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>_(t.model)&&A(t.model.id).some(n=>n.parent.id===e.id&&n.fk===t.fk)),B=(e,t,n=!1)=>{let r=z(e);if(!r)return!1;let i=P(e),a=i.findIndex(e=>e.id===t);if(a<0)return!1;let o=P(r.model),s=o.filter(e=>e[r.fk]===t),c=i[a];if(he(e,c)){if(n)throw new v(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=y(e,c,s,L(e,c));i[a]=l.row;for(let e of l.lines){let t=o.findIndex(t=>t.id===e.id);t>=0&&(o[t]=e)}return!0},V=(e,t)=>{let n=t;if(z(e)&&(B(e,t.id),n=P(e).find(e=>e.id===t.id)??n),_(e)){let r=A(e.id).some(({parent:e,fk:n})=>B(e,t[n],!0)),i=P(e),a=i.findIndex(e=>e.id===t.id);if(!r&&a>=0){let e=o(),n=s()??.05;i[a]=ne([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:g(e.currency),codes:I(n),appDefaultCodeId:h(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}p(e)&&(N(e,t.id),n=P(e).find(e=>e.id===t.id)??n);let r=j(e);r&&N(r.invoice,t[r.invoiceFk]);for(let n of D(e.id)){let r=j(n.model);if(r&&r.payment.id===e.id)for(let e of P(n.model))e[r.paymentFk]===t.id&&N(r.invoice,e[r.invoiceFk])}return n},H=e=>{let t=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent)];return new Map(t.map(e=>[e.id,P(e).map(e=>({...e}))]))},U=e=>{for(let[t,n]of e){let e=u.get(t);e&&e.splice(0,e.length,...n)}},G=(e,n)=>({...n,...t.defaults?.(e)??{}}),K=e=>w(`${e.id}:new:${n}:${C++}`),q=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>G(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>G(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?G(e,n):void 0},async create(e,n){let r={...t.defaults?.(e)??{},...n,id:K(e)},i=H(e);P(e).push(r);let a;try{a=V(e,r)}catch(e){throw U(i),C--,e}return R(e),{...a}},async update(e,t,n){let r=P(e),i=r.findIndex(e=>e.id===t);if(i<0)return;let a=H(e),o=r[i],s={...o,...n,id:t};r[i]=s;let c;try{if(c=V(e,s),_(e))for(let{parent:t,fk:n}of A(e.id))o[n]!==s[n]&&B(t,o[n],!0)}catch(e){throw U(a),e}return R(e),{...c}},async delete(e,t){let n=P(e),r=n.findIndex(e=>e.id===t);if(r<0)return!1;let i=H(e),[a]=n.splice(r,1);try{let t=j(e);t&&a&&N(t.invoice,a[t.invoiceFk]);for(let{parent:t,fk:n}of A(e.id))_(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){ie(),u.clear(),C=0,ge(b);for(let e of[...m])e()},onReset(e){return m.add(e),()=>{m.delete(e)}},async apply(e){let n=new Map,r=C,i=new Map,a=e=>{i.set(e.id,e);let t=P(e);return n.has(e.id)||n.set(e.id,t.map(e=>({...e}))),t},o={},s=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>{if(!Z(t))return[e,t];let n=o[t.ref];if(!n)throw Error(`Unknown record reference ${t.ref}`);return[e,t.field?n[t.field]:n.id]}));try{for(let n of e){let e=a(n.model),r=s(n.match);if(n.op===`delete`){let t=e.filter(e=>n.id===void 0?q(e,r):e.id===n.id);if(n.id===void 0&&Object.keys(r).length===0)throw Error(`A delete needs an id or a match`);for(let n of t)e.splice(e.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=e.findIndex(e=>e.id===n.id),c<0)throw Error(`No ${n.model.name} with id ${n.id}`)}else Object.keys(r).length>0&&(c=e.findIndex(e=>q(e,r)));let l;if(c>=0){let t=e[c];l={...t,...i,id:t.id},e[c]=l}else l={...t.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:K(n.model)},e.push(l);n.as&&(o[n.as]={...l})}}catch(e){for(let[e,t]of n)u.set(e,t);throw C=r,e}for(let e of i.values())R(e);return o}}}export{V as a,N as c,I as d,L as f,z as i,O as l,Z as n,P as o,M as p,D as r,F as s,_e as t,R as u};
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,J as i,M as a,N as o,P as s,Q as c,S as l,T as u,Y as d,Z as f,at as p,bt as m,ct as h,dt as g,et as _,ft as ee,gt as v,it as y,j as te,k as b,lt as x,mt as ne,rt as re,st as S,ut as C,w,x as T,y as E,z as ie}from"./DY0FIR5r.js";var D=e=>{let t=m(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model};function O(e){return String(e??``).toUpperCase().replace(/[^A-Z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}var k=/\{([A-Za-z_][\w]*\.[A-Za-z_][\w]*)(?:\|(slug))?\}/g;function A(e,t){return e.replace(k,(e,n,r)=>{let i=t[n],a=i==null?``:String(i);return r===`slug`?O(a):a})}function j(e,t,n=e=>e){return typeof e==`string`?A(e,t):typeof e==`object`&&e?{ref:n(e.ref),...e.field?{field:e.field}:{}}:e}function M(e,t,n){return Object.fromEntries(Object.entries(e??{}).map(([e,r])=>[e,j(r,t,n)]))}function N(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`object`&&e&&!Array.isArray(e)?e:null}function P(e,t,n){return Object.fromEntries(e.flatMap(e=>{let r=F(e.to);return r.alias===t?[[r.field,N(n[e.id])]]:[]}))}function F(e){let t=e.indexOf(`.`);if(t<1||t===e.length-1)throw Error(`A form field maps to "alias.field", got "${e}"`);return{alias:e.slice(0,t),field:e.slice(t+1)}}function I(e,t,n){let{alias:r,field:i}=F(e.to),a=t.find(e=>e.as===r);if(!a)throw Error(`Form field ${e.id} maps to unknown ${r}`);let o=n(a.model).fields.find(e=>e.name===i);if(!o)throw Error(`${a.model} has no field ${i} (form field ${e.id})`);return o}function L(e,t){let{alias:n}=F(e.to),r=t.find(e=>e.as===n);if(!r)throw Error(`Form field ${e.id} maps to unknown ${n}`);return r.model}function R(e,t){return e.default===void 0?t.default===void 0?t.type===`text`?``:null:t.default:e.default}function z(e,t){return Object.fromEntries(e.map(e=>[e.to,t[e.id]]))}var B=(e,t)=>e===t;async function V(e,t,n,r){let i={...n};for(let n of t){if(n.as in i)continue;if(!n.match){i[n.as]=void 0;continue}let t={},a=!0;for(let[e,r]of Object.entries(n.match))if(typeof r==`object`&&r){let n=i[r.ref];n||(a=!1),t[e]=r.field?n?.[r.field]:n?.id}else t[e]=r;i[n.as]=a?(await e.list(r(n.model))).find(e=>Object.entries(t).every(([t,n])=>B(e[t],n))):void 0}return i}var H=4,U=(e,t)=>e.fields.some(e=>e.name===t);function W(e,r,i,o,s){let c=l(n(`${o}:${e.id}:${i.id}`)),d=U(e,`debit`)&&U(e,`credit`),f=d?2*(1+Math.floor(c()*2)):1+Math.floor(c()*H),p=_(e),m=1e3*(1+Math.floor(c()*90));return Array.from({length:f},(l,f)=>{let h=n(`${i.id}:${f}`)%997,g={...u(e,h,o,s),id:w(`${e.id}:${i.id}:${f}`),[r]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=f),p){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=a(),{products:o}=r,l=n?o[t(n,{modelId:e.id,index:h,rows:s})%o.length]:o[h%o.length],u=b(h);u?(U(e,`description`)&&(g.description=u.description),g.unitPrice=u.price,n&&(g[n.name]=``)):n&&l&&(U(e,`description`)&&(g.description=l.name),g.unitPrice=l.price);let[d,p]=u?.quantity??l?.quantity??r.lineQuantity??[1,5],m=d+Math.floor(c()*(p-d+1));U(e,`quantity`)&&(g.quantity=m),Object.assign(g,ae(e,i,f,m,Number(g.unitPrice??0))),g.amount=C(g)}if(d){let e=f%2==0;g.debit=e?m/100:0,g.credit=e?0:m/100}return g})}function G(e){return n(`discount:${e.id}`)%3==0}function K(e,t){return Math.round(e*t/1e3)*100}function q(e,t){return t>0&&n(`tax-override:${e.id}:${t}`)%7==0}function J(e,t,r=o().currency){let i=n(`tax-override-kind:${e.id}:${t}`)%4,a=x(r);if(a&&i<2)return a;let s=i%2==0?`exempt`:`zero-rated`;return S.find(e=>e.kind===s)}function ae(e,t,r,i,a){let o={},s=r===0&&G(t),c=n(`discount-kind:${t.id}`)%2==0;U(e,`discountType`)&&(o.discountType=s?c?`percent`:`amount`:`none`),U(e,`discountRate`)&&(o.discountRate=s&&c?`10`:null),U(e,`discount`)&&(o.discount=s&&!(c&&U(e,`discountType`))?K(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=q(t,r)?J(t,r):void 0;return U(e,`taxMode`)&&(o.taxMode=l?`override`:`inherit`),U(e,`taxCodeId`)&&(o.taxCodeId=l?.id??null),o}function oe(e,t){let n={...e,...t};return`discount`in t&&!(`discountType`in t)&&n.discountType===`amount`&&(n.discountType=`percent`,n.discountRate=`10`,n.discount=0),`discountRate`in t&&n.discountType===`percent`&&(n.discountType=`none`,n.discountRate=null,n.discount=0),n}var se=[`@happyvertical/smrt-commerce:Order`,`@happyvertical/smrt-commerce:Invoice`],Y=2500;function ce(e,t,n){n===2&&se.includes(t.id)&&typeof e.subtotal==`number`&&typeof e.totalAmount==`number`&&(t.fields.some(e=>e.name===`status`&&e.enum?.includes(`draft`))&&(e.status=`draft`),e.subtotal+=Y,e.totalAmount+=Y)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=y(t,e,n,r);return Object.assign(e,i.row),i.lines}var X=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&X(e.totalAmount)>0;function de(e,t,r,i){let a=new Map(r.map(e=>[e.id,X(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=l(n(`${i}:alloc:${s.id}`)),c=r.filter(e=>ue(e)&&e.customerId===s.customerId&&(a.get(e.id)??0)>0).slice(0,t()<.3?2:1);if(c.length===0)continue;let d=c.map((e,n)=>{let r=a.get(e.id)??0,i=n>0||t()<.6?r:Math.min(r,Math.max(100,Math.round(r*(.3+t()*.4)/100)*100));return a.set(e.id,r-i),{inv:e,part:i}}),f=Math.max(...d.map(({inv:e})=>Date.parse(String(e.issueDate)))),p=new Date(Math.max(f,Math.min(f+(1+Math.floor(t()*20))*E,T))).toISOString();s.amount=d.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&d[0]?.inv.contractId&&(s.contractId=d[0].inv.contractId);for(let{inv:t,part:n}of d)o.push({...u(e.model,o.length,i),id:w(`${e.model.id}:${s.id}:${t.id}`),[e.paymentFk]:s.id,[e.invoiceFk]:t.id,amount:n,allocatedAt:p})}return o}function Z(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Q=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,pe=`@happyvertical/smrt-commerce:TaxComponent`,me=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function he(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Q}_created`;function ge(e){if(e)try{let t=[];for(let n=0;n<e.length;n++){let r=e.key(n);r?.startsWith(`smrt-planner:data:v6:`)&&t.push(r)}for(let n of t)e.removeItem(n)}catch{}}function _e(t={}){let n=t.seed??1,a=t.rowsPerModel??8,l=new Set(t.empty??[]),u=new Map,m=new Set,b=t.storage??null,x=e=>`${Q}${e.id}`,S=e=>{if(b)try{let t=b.getItem(x(e));if(t===null)return;let n=JSON.parse(t);if(Array.isArray(n)&&n.every(e=>typeof e==`object`&&!!e&&typeof e.id==`string`))return n}catch{}},C=0;if(b)try{C=Number(b.getItem($))||0}catch{C=0}let E=new Map,D=e=>{let n=E.get(e);return n||(n=t.children?.links(e)??[],E.set(e,n)),n},O,k,A=e=>{if(!O){O=new Map;for(let e of t.children?.models??[])for(let t of D(e.id)){let n=O.get(t.model.id)??[];n.push({parent:e,fk:t.fk}),O.set(t.model.id,n)}k=new Map(O);for(let[e,t]of O){let n=e.slice(e.lastIndexOf(`:`)+1).toLowerCase(),r=t.find(e=>n.startsWith(e.fk.replace(/Id$/,``).toLowerCase()))?.fk??t[0]?.fk;O.set(e,t.filter(e=>e.fk===r))}}return O.get(e)??[]},j=t=>{if(!e(t))return;A(t.id);let n=k?.get(t.id)??[],r=d(t)?.name,a=i(t)?.name,o=n.find(e=>e.fk===r)?.parent,s=n.find(e=>e.fk===a)?.parent;return o&&s&&r&&a?{model:t,paymentFk:r,invoiceFk:a,payment:o,invoice:s}:void 0},M=(n,r)=>{if(!p(n))return r;let i=D(n.id).find(t=>e(t.model)),a=i&&j(i.model);if(!i||!a)return r;let o=new Map(P(a.payment).map(e=>[e.id,e])),s=P(i.model).filter(e=>e[i.fk]===r.id&&o.get(String(e[a.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=re(r,s,(t.now??(()=>T))()),l={...r,amountPaid:c.amountPaid,status:c.status};return n.fields.some(e=>e.name===`paidDate`)&&(l.paidDate=c.paidDate),l},N=(e,t)=>{let n=P(e),r=n.findIndex(e=>e.id===t);r>=0&&(n[r]=M(e,n[r]))},P=e=>{let i=u.get(e.id);if(i)return i;let o=S(e);if(o){u.set(e.id,o);for(let t of D(e.id))P(t.model);return o}let s=l.has(e.id)?void 0:t.samples?.[e.id];if(s){let t=[];return u.set(e.id,t),t.push(...s.make(s.from.map(P),n)),t}let c=j(e),d=c?[]:A(e.id),f=l.has(e.id)||d.length||c?[]:r(e,te(e.id,a),n,a);u.set(e.id,f);for(let t of D(e.id))P(t.model);if(c&&!l.has(e.id)){for(let e of D(c.invoice.id))_(e.model)&&P(e.model);let e=P(c.invoice);f.push(...de(c,P(c.payment),e,n)),e.forEach((t,n)=>{e[n]=M(c.invoice,t)})}if(!l.has(e.id))for(let{parent:r,fk:i}of d){let o=t.defaults?.(e)??{};P(r).forEach((t,s)=>{let c=W(e,i,t,n,a).map(e=>oe(e,o));_(e)?(f.push(...le(t,r,c,L(r,t))),ce(t,r,s)):f.push(...c)})}return f},F=new Map((t.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=ee(e),n=F.get(fe),r=F.get(pe),i=n?P(n):[];if(!i.length)return t;let a=new Map(t.flatMap(e=>e.components.map(e=>[e.id,e])));for(let e of r?P(r):[])a.set(e.id,{id:e.id,key:e.id,name:String(e.name??``),percent:String(e.percent??`0`),recoverable:e.recoverable===!0});let o=i.map(e=>{let t=[];try{t=JSON.parse(String(e.componentsJson??`[]`))}catch{t=[]}let n=(Array.isArray(t)?t:[]).flatMap(e=>{let t=e&&typeof e==`object`?a.get(String(e.taxComponentId)):void 0;return t?[t]:[]}),r=me.includes(String(e.kind))?e.kind:`taxable`,i=[`sales`,`purchases`,`both`].includes(String(e.appliesTo))?e.appliesTo:`both`;return{id:e.id,code:String(e.code??``),name:String(e.name??``),kind:r,appliesTo:i,active:e.active!==!1,components:n}}),s=new Map(o.map(e=>[e.id,e]));if(t.some(e=>s.has(e.id))){let n=h(e);return[...t.filter(e=>s.has(e.id)||e.id===n.id).map(e=>s.get(e.id)??e),...o.filter(e=>!t.some(t=>t.id===e.id))]}return[...t,...o]},L=(e,t)=>{let n=o(),r=s()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),l=a?.related?F.get(a.related):void 0,d=l?P(l).find(e=>e.id===t.customerId):void 0,p=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},m=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:c(t,n.taxRounding),currency:g(t.currency,g(n.currency)),codes:i,appDefaultCodeId:h(r).id,customerTaxExempt:d?.taxExempt===!0,partyCodeId:m(d?.defaultTaxCodeId),productCodeOf:e=>m(p(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!b)return;let t=e=>{let t=j(e);return t?[t.payment,t.invoice]:[]},n=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent),...t(e),...D(e.id).flatMap(e=>t(e.model))];try{for(let e of n){let t=u.get(e.id);t&&b.setItem(x(e),JSON.stringify(t))}b.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>_(t.model)&&A(t.model.id).some(n=>n.parent.id===e.id&&n.fk===t.fk)),B=(e,t,n=!1)=>{let r=z(e);if(!r)return!1;let i=P(e),a=i.findIndex(e=>e.id===t);if(a<0)return!1;let o=P(r.model),s=o.filter(e=>e[r.fk]===t),c=i[a];if(he(e,c)){if(n)throw new v(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=y(e,c,s,L(e,c));i[a]=l.row;for(let e of l.lines){let t=o.findIndex(t=>t.id===e.id);t>=0&&(o[t]=e)}return!0},V=(e,t)=>{let n=t;if(z(e)&&(B(e,t.id),n=P(e).find(e=>e.id===t.id)??n),_(e)){let r=A(e.id).some(({parent:e,fk:n})=>B(e,t[n],!0)),i=P(e),a=i.findIndex(e=>e.id===t.id);if(!r&&a>=0){let e=o(),n=s()??.05;i[a]=ne([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:g(e.currency),codes:I(n),appDefaultCodeId:h(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}p(e)&&(N(e,t.id),n=P(e).find(e=>e.id===t.id)??n);let r=j(e);r&&N(r.invoice,t[r.invoiceFk]);for(let n of D(e.id)){let r=j(n.model);if(r&&r.payment.id===e.id)for(let e of P(n.model))e[r.paymentFk]===t.id&&N(r.invoice,e[r.invoiceFk])}return n},H=e=>{let t=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent)];return new Map(t.map(e=>[e.id,P(e).map(e=>({...e}))]))},U=e=>{for(let[t,n]of e){let e=u.get(t);e&&e.splice(0,e.length,...n)}},G=(e,n)=>({...n,...t.defaults?.(e)??{}}),K=e=>w(`${e.id}:new:${n}:${C++}`),q=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>G(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>G(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?G(e,n):void 0},async create(e,n){let r={...t.defaults?.(e)??{},...n,id:K(e)},i=H(e);P(e).push(r);let a;try{a=V(e,r)}catch(e){throw U(i),C--,e}return R(e),{...a}},async update(e,t,n){let r=P(e),i=r.findIndex(e=>e.id===t);if(i<0)return;let a=H(e),o=r[i],s={...o,...n,id:t};r[i]=s;let c;try{if(c=V(e,s),_(e))for(let{parent:t,fk:n}of A(e.id))o[n]!==s[n]&&B(t,o[n],!0)}catch(e){throw U(a),e}return R(e),{...c}},async delete(e,t){let n=P(e),r=n.findIndex(e=>e.id===t);if(r<0)return!1;let i=H(e),[a]=n.splice(r,1);try{let t=j(e);t&&a&&N(t.invoice,a[t.invoiceFk]);for(let{parent:t,fk:n}of A(e.id))_(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){ie(),u.clear(),C=0,ge(b);for(let e of[...m])e()},onReset(e){return m.add(e),()=>{m.delete(e)}},async apply(e){let n=new Map,r=C,i=new Map,a=e=>{i.set(e.id,e);let t=P(e);return n.has(e.id)||n.set(e.id,t.map(e=>({...e}))),t},o={},s=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>{if(!Z(t))return[e,t];let n=o[t.ref];if(!n)throw Error(`Unknown record reference ${t.ref}`);return[e,t.field?n[t.field]:n.id]}));try{for(let n of e){let e=a(n.model),r=s(n.match);if(n.op===`delete`){let t=e.filter(e=>n.id===void 0?q(e,r):e.id===n.id);if(n.id===void 0&&Object.keys(r).length===0)throw Error(`A delete needs an id or a match`);for(let n of t)e.splice(e.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=e.findIndex(e=>e.id===n.id),c<0)throw Error(`No ${n.model.name} with id ${n.id}`)}else Object.keys(r).length>0&&(c=e.findIndex(e=>q(e,r)));let l;if(c>=0){let t=e[c];l={...t,...i,id:t.id},e[c]=l}else l={...t.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:K(n.model)},e.push(l);n.as&&(o[n.as]={...l})}}catch(e){for(let[e,t]of n)u.set(e,t);throw C=r,e}for(let e of i.values())R(e);return o}}}export{V as a,N as c,I as d,L as f,z as i,O as l,Z as n,P as o,M as p,D as r,F as s,_e as t,R as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{O as e,u as t}from"./
|
|
1
|
+
import{O as e,u as t}from"./DY0FIR5r.js";import{v as n}from"./jnYVlW4c.js";import{c as r}from"./cbnWgPfR.js";var i=`@happyvertical/smrt-reports:RuntimeReport`;function a(e){switch(e.type){case`text`:return`string`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`boolean`:return`boolean`;case`datetime`:return`datetime`;case`foreignKey`:case`crossPackageRef`:return`id`;default:return null}}function o(e){let t=e.replace(/([a-z\d])([A-Z])/g,`$1_$2`).toLowerCase();return/(series|species)$/.test(t)?t:/[^aeiou]y$/.test(t)?`${t.slice(0,-1)}ies`:/(s|x|z|ch|sh)$/.test(t)?`${t}es`:`${t}s`}var s=[`totalAmount`,`total`,`amount`];function c(n,i,c=o(n.name)){let l=[{name:`id`,type:`string`}];for(let r of n.fields){let n=a(r);if(!n||r.system||l.some(e=>e.name===r.name))continue;let i=e(r)?`money`:n===`datetime`&&r.ui?.format===`date`?`date`:void 0;l.push({name:r.name,type:n,label:t(r),...i?{format:i}:{},...n===`string`&&r.enum?.length?{enum:r.enum}:{}})}let u=l.filter(e=>e.format===`money`),d=s.map(e=>u.find(t=>t.name===e)).find(Boolean),f={id:c,label:i,...n.description?{description:n.description}:{},schema:l,model:n,...d?{amountField:d.name}:{}},p=r([f],c).defaultTimeField;return p?{...f,dateField:p}:f}function l(e,t){let r=new Set(e),i=new Map;for(let e of t)if(r.has(e.id))for(let t of n(e))t.model.id!==`@happyvertical/smrt-reports:RuntimeReport`&&i.set(t.model.id,[...i.get(t.model.id)??[],t]);let a=new Map,s=new Set;for(let[e,t]of i){let n=t.find(e=>!e.filter)??t[0],r=o(n.model.name);s.has(r)&&(r=`${n.packageId}.${r}`),s.add(r),a.set(e,c(n.model,n.label,r))}return[...a.values()]}export{l as n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./DG3qFFTE.js";import"./xihTtKlq.js";import"./DY0FIR5r.js";import"./DQ-K2lSl.js";import"./D3syEjNq.js";import"./CelwNL3D.js";import"./4HO85oKR.js";function e(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}export{e as t};
|