@happyvertical/smrt-planner 0.57.3 → 0.57.5
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/agents/assistant.md +8 -1
- package/agents/cookbook.md +8 -2
- package/app/404.html +21 -21
- package/app/_app/immutable/assets/2.CdEXvRg0.css +1 -0
- package/app/_app/immutable/assets/{feedback.DePeap37.css → feedback.qFktqYFY.css} +1 -1
- package/app/_app/immutable/chunks/{DveAWx7t.js → 5ukUzDcw.js} +1 -1
- package/app/_app/immutable/chunks/{DR_9YSDq.js → BDbFl7UA.js} +1 -1
- package/app/_app/immutable/chunks/{rkUL-DlL.js → BG9Gz_25.js} +25 -25
- package/app/_app/immutable/chunks/{BfPYbnRI.js → Bal1oPZu.js} +1 -1
- package/app/_app/immutable/chunks/BhU_yBI_.js +1 -0
- package/app/_app/immutable/chunks/{CZwkvsZI.js → BiEOJeYb.js} +1 -1
- package/app/_app/immutable/chunks/{DsY7g8iJ.js → Bsn3IIve.js} +3 -3
- package/app/_app/immutable/chunks/{PJY04JNF.js → BybfWt-B.js} +1 -1
- package/app/_app/immutable/chunks/{CF503c7E.js → C1VofLtR.js} +1 -1
- package/app/_app/immutable/chunks/{2l76O8yg.js → C3sRGrYK.js} +1 -1
- package/app/_app/immutable/chunks/{Bz0ybtg3.js → CTlMHIE6.js} +1 -1
- package/app/_app/immutable/chunks/C_3CJO_1.js +1 -0
- package/app/_app/immutable/chunks/Cga8zF3r.js +1 -0
- package/app/_app/immutable/chunks/Cr4byQts.js +24 -0
- package/app/_app/immutable/chunks/{U6_OBRq_.js → CtjBwCj8.js} +1 -1
- package/app/_app/immutable/chunks/CyUSxz1P.js +4 -0
- package/app/_app/immutable/chunks/{BAeyjCL_.js → DTWraE40.js} +1 -1
- package/app/_app/immutable/chunks/{Cfd9dmBM.js → DjJovMrk.js} +1 -1
- package/app/_app/immutable/chunks/{BJKoxDbG.js → DuZeZzOA.js} +1 -1
- package/app/_app/immutable/chunks/{C-DLpfU4.js → J9kOiFLO.js} +1 -1
- package/app/_app/immutable/chunks/NppCG--v.js +1 -0
- package/app/_app/immutable/chunks/{EZsakmZX.js → O8DAZ_le.js} +1 -1
- package/app/_app/immutable/chunks/{Dq8aYheE.js → YGONf0jr.js} +1 -1
- package/app/_app/immutable/chunks/d_dqmeIr.js +1 -0
- package/app/_app/immutable/chunks/{Bb0f-PWY.js → gCpxN2IC.js} +1 -1
- package/app/_app/immutable/chunks/nphy1MQF.js +1 -0
- package/app/_app/immutable/entry/{app.BOdcGXnx.js → app.B4gMiHwR.js} +2 -2
- package/app/_app/immutable/entry/start.BXkBl20Z.js +1 -0
- package/app/_app/immutable/nodes/0.2MYMg80l.js +9 -0
- package/app/_app/immutable/nodes/{1.CULLAAlp.js → 1.DKP901Gn.js} +1 -1
- package/app/_app/immutable/nodes/{10.D3aS_KZl.js → 10.DNN0cVai.js} +1 -1
- package/app/_app/immutable/nodes/{11.C92xaiTE.js → 11.DgbmegX3.js} +1 -1
- package/app/_app/immutable/nodes/{12.D1Lzt56L.js → 12.D5MtnJoE.js} +1 -1
- package/app/_app/immutable/nodes/{13.Bx4rov-F.js → 13._rY66Xa_.js} +1 -1
- package/app/_app/immutable/nodes/{14.CEBy0En2.js → 14.B6TD25VU.js} +1 -1
- package/app/_app/immutable/nodes/2.x9WyxQ1S.js +24 -0
- package/app/_app/immutable/nodes/{3.C8f09BsJ.js → 3.V5uGCpGb.js} +1 -1
- package/app/_app/immutable/nodes/{4.Z1MwZ_rU.js → 4.CCwzLrgu.js} +1 -1
- package/app/_app/immutable/nodes/{5.BnknP-NB.js → 5.CgHzwpns.js} +1 -1
- package/app/_app/immutable/nodes/{6.B0InO4bR.js → 6.CvQHLh_u.js} +1 -1
- package/app/_app/immutable/nodes/{7.CLnj1BGB.js → 7.7EIrly34.js} +1 -1
- package/app/_app/immutable/nodes/{8.BmZYIUmz.js → 8.DyyRBuTw.js} +1 -1
- package/app/_app/immutable/nodes/{9.BKWSHjz-.js → 9.DcURs0gN.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +24 -24
- package/app/ai/index.html +28 -33
- package/app/blueprint/index.html +22 -22
- package/app/cookbook/index.html +22 -22
- package/app/index.html +38 -38
- package/app/m/ads/AdDeliveryTier/index.html +25 -25
- package/app/m/ads/AdEvent/index.html +25 -25
- package/app/m/ads/AdFormat/index.html +25 -25
- package/app/m/ads/AdGroup/index.html +25 -25
- package/app/m/ads/AdVariation/index.html +25 -25
- package/app/m/analytics/AnalyticsDataStream/index.html +25 -25
- package/app/m/analytics/AnalyticsEvent/index.html +25 -25
- package/app/m/analytics/AnalyticsProperty/index.html +25 -25
- package/app/m/analytics/AnalyticsReport/index.html +25 -25
- package/app/m/approvals/ApprovalEvent/index.html +25 -25
- package/app/m/approvals/ApprovalPolicy/index.html +25 -25
- package/app/m/approvals/ApprovalRequest/index.html +25 -25
- package/app/m/assets/Asset/attachments/index.html +26 -26
- package/app/m/assets/Asset/index.html +25 -25
- package/app/m/assets/AssetAssociation/index.html +25 -25
- package/app/m/assets/AssetMetafield/index.html +25 -25
- package/app/m/assets/AssetStatus/index.html +25 -25
- package/app/m/assets/AssetType/index.html +25 -25
- package/app/m/assets/Folder/index.html +25 -25
- package/app/m/chat/AgentSession/index.html +25 -25
- package/app/m/chat/ChatMessage/index.html +25 -25
- package/app/m/chat/ChatParticipant/index.html +25 -25
- package/app/m/chat/ChatReaction/index.html +25 -25
- package/app/m/chat/ChatRoom/index.html +25 -25
- package/app/m/chat/ChatThread/index.html +25 -25
- package/app/m/chat/VoiceGatewayTurn/index.html +25 -25
- package/app/m/chat/VoiceSession/index.html +25 -25
- package/app/m/commerce/Agreement/index.html +25 -25
- package/app/m/commerce/Cart/index.html +25 -25
- package/app/m/commerce/Contract/index.html +25 -25
- package/app/m/commerce/ContractLineItem/index.html +26 -26
- package/app/m/commerce/Customer/index.html +25 -25
- package/app/m/commerce/DocumentTax/index.html +25 -25
- package/app/m/commerce/Estimate/index.html +25 -25
- package/app/m/commerce/Fulfillment/index.html +25 -25
- package/app/m/commerce/FulfillmentLineItem/index.html +25 -25
- package/app/m/commerce/HistoricalCustomerFunds/index.html +89 -0
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +89 -0
- package/app/m/commerce/HistoricalSalesLine/index.html +89 -0
- package/app/m/commerce/Invoice/index.html +25 -25
- package/app/m/commerce/InvoiceLineItem/index.html +25 -25
- package/app/m/commerce/Lease/index.html +25 -25
- package/app/m/commerce/LicenseSale/index.html +25 -25
- package/app/m/commerce/Order/index.html +25 -25
- package/app/m/commerce/Payment/index.html +25 -25
- package/app/m/commerce/PaymentAllocation/index.html +25 -25
- package/app/m/commerce/PaymentInstrument/index.html +25 -25
- package/app/m/commerce/PaymentIntent/index.html +25 -25
- package/app/m/commerce/Payout/index.html +25 -25
- package/app/m/commerce/ProductionOrder/index.html +25 -25
- package/app/m/commerce/PurchaseContract/index.html +25 -25
- package/app/m/commerce/PurchaseOrder/index.html +25 -25
- package/app/m/commerce/SalesContract/index.html +25 -25
- package/app/m/commerce/SupplierQuote/index.html +25 -25
- package/app/m/commerce/TaxCode/index.html +25 -25
- package/app/m/commerce/TaxComponent/index.html +25 -25
- package/app/m/commerce/TaxSettings/index.html +25 -25
- package/app/m/commerce/TaxSummaryReport/index.html +25 -25
- package/app/m/commerce/Vendor/index.html +25 -25
- package/app/m/commerce/WholesaleOrder/index.html +25 -25
- package/app/m/content/Content/index.html +25 -25
- package/app/m/content/ContentContribution/index.html +25 -25
- package/app/m/content/ContentContributionAttachment/index.html +25 -25
- package/app/m/content/ContentContributionRevision/index.html +25 -25
- package/app/m/content/ContentContributionType/index.html +25 -25
- package/app/m/content/ContentContributor/index.html +25 -25
- package/app/m/content/ContentCorrection/index.html +25 -25
- package/app/m/content/ContentFeedSource/index.html +25 -25
- package/app/m/content/ContentGovernanceAssignment/index.html +25 -25
- package/app/m/content/ContentGovernancePolicy/index.html +25 -25
- package/app/m/content/ContentGovernanceProfile/index.html +25 -25
- package/app/m/content/ContentReference/index.html +25 -25
- package/app/m/content/ContentReview/index.html +25 -25
- package/app/m/content/ContentVersion/index.html +25 -25
- package/app/m/events/Event/index.html +25 -25
- package/app/m/events/EventParticipant/index.html +25 -25
- package/app/m/events/EventSeries/index.html +26 -26
- package/app/m/events/EventType/index.html +25 -25
- package/app/m/expenses/Expense/index.html +25 -25
- package/app/m/facts/Fact/index.html +25 -25
- package/app/m/facts/FactContent/index.html +25 -25
- package/app/m/facts/FactEvidence/index.html +25 -25
- package/app/m/facts/FactSource/index.html +25 -25
- package/app/m/facts/FactSubject/index.html +25 -25
- package/app/m/facts/FactTag/index.html +25 -25
- package/app/m/fields/FieldPolicy/index.html +25 -25
- package/app/m/fields/FieldPolicySuggestion/index.html +25 -25
- package/app/m/fields/FieldUsageCounter/index.html +25 -25
- package/app/m/images/Image/index.html +25 -25
- package/app/m/inventory/InventoryLocation/index.html +25 -25
- package/app/m/inventory/StockLevel/index.html +25 -25
- package/app/m/inventory/StockMovement/index.html +25 -25
- package/app/m/ledgers/Account/index.html +25 -25
- package/app/m/ledgers/Journal/index.html +25 -25
- package/app/m/ledgers/JournalEntry/index.html +25 -25
- package/app/m/ledgers/Ledger/index.html +25 -25
- package/app/m/manufacturing/Assembly/index.html +25 -25
- package/app/m/manufacturing/BillOfMaterials/index.html +25 -25
- package/app/m/manufacturing/BomLine/index.html +25 -25
- package/app/m/manufacturing/Operation/index.html +25 -25
- package/app/m/manufacturing/ProductionRun/index.html +25 -25
- package/app/m/manufacturing/ProductionRunCompletion/index.html +25 -25
- package/app/m/manufacturing/RoutingStep/index.html +25 -25
- package/app/m/marketing/Campaign/index.html +25 -25
- package/app/m/marketing/CampaignChannel/index.html +25 -25
- package/app/m/marketing/CampaignMetricSnapshot/index.html +25 -25
- package/app/m/messages/Account/index.html +25 -25
- package/app/m/messages/Attachment/index.html +25 -25
- package/app/m/messages/Blacklist/index.html +25 -25
- package/app/m/messages/Email/failed-sends/index.html +26 -26
- package/app/m/messages/Email/index.html +25 -25
- package/app/m/messages/Email/mailbox/index.html +26 -26
- package/app/m/messages/EmailAccount/index.html +25 -25
- package/app/m/messages/EmailAttachment/index.html +25 -25
- package/app/m/messages/EmailFolder/index.html +25 -25
- package/app/m/messages/Message/index.html +25 -25
- package/app/m/messages/MessagingEndpoint/index.html +25 -25
- package/app/m/messages/PersonaMessageRoute/index.html +25 -25
- package/app/m/messages/SlackAccount/index.html +25 -25
- package/app/m/messages/SlackMessage/index.html +25 -25
- package/app/m/messages/TelegramAccount/index.html +25 -25
- package/app/m/messages/Tweet/index.html +25 -25
- package/app/m/messages/TwitterAccount/index.html +25 -25
- package/app/m/messages/Whitelist/index.html +25 -25
- package/app/m/messages/ZulipAccount/index.html +25 -25
- package/app/m/places/Place/index.html +25 -25
- package/app/m/places/PlaceType/index.html +25 -25
- package/app/m/products/Category/index.html +25 -25
- package/app/m/products/Material/index.html +25 -25
- package/app/m/products/Product/index.html +25 -25
- package/app/m/products/Product/ingredients/index.html +26 -26
- package/app/m/products/ProductVariant/index.html +25 -25
- package/app/m/products/Sku/index.html +25 -25
- package/app/m/profiles/ApiKey/index.html +25 -25
- package/app/m/profiles/Bot/index.html +25 -25
- package/app/m/profiles/MagicLinkToken/index.html +25 -25
- package/app/m/profiles/NostrIdentity/index.html +25 -25
- package/app/m/profiles/OidcIdentity/index.html +25 -25
- package/app/m/profiles/Organization/index.html +25 -25
- package/app/m/profiles/Person/index.html +25 -25
- package/app/m/profiles/Profile/index.html +25 -25
- package/app/m/profiles/ProfileMetadata/index.html +25 -25
- package/app/m/profiles/ProfileMetafield/index.html +25 -25
- package/app/m/profiles/ProfileRelationship/index.html +25 -25
- package/app/m/profiles/ProfileRelationshipTerm/index.html +25 -25
- package/app/m/profiles/ProfileRelationshipType/index.html +25 -25
- package/app/m/profiles/ProfileType/index.html +25 -25
- package/app/m/projects/Comment/index.html +25 -25
- package/app/m/projects/Issue/index.html +25 -25
- package/app/m/projects/Label/index.html +25 -25
- package/app/m/projects/Project/index.html +25 -25
- package/app/m/projects/ProjectIntegration/index.html +25 -25
- package/app/m/projects/PullRequest/index.html +25 -25
- package/app/m/projects/Repository/index.html +25 -25
- package/app/m/properties/Property/index.html +25 -25
- package/app/m/properties/Zone/index.html +25 -25
- package/app/m/reports/RuntimeReport/index.html +25 -25
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +26 -26
- package/app/m/reports/SmrtReportLock/index.html +26 -26
- package/app/m/reports/SmrtReportRefreshTask/index.html +26 -26
- package/app/m/reports/SmrtReportRun/index.html +26 -26
- package/app/m/reports/SmrtReportSchedule/index.html +26 -26
- package/app/m/reports/SmrtReportWatermark/index.html +26 -26
- package/app/m/sales/Agreement/index.html +25 -25
- package/app/m/sales/AttributionException/index.html +25 -25
- package/app/m/sales/AttributionPolicy/index.html +25 -25
- package/app/m/sales/Commission/index.html +25 -25
- package/app/m/sales/CommissionAdjustment/index.html +25 -25
- package/app/m/sales/CommissionPayout/index.html +25 -25
- package/app/m/sales/CommissionPlan/index.html +25 -25
- package/app/m/sales/Earner/index.html +25 -25
- package/app/m/sales/EarnerSourceAttribution/index.html +25 -25
- package/app/m/sales/EarningEvent/index.html +25 -25
- package/app/m/sales/ExecutedAgreement/index.html +25 -25
- package/app/m/sales/Lead/index.html +25 -25
- package/app/m/sales/Opportunity/index.html +25 -25
- package/app/m/sales/OpportunityConversion/index.html +25 -25
- package/app/m/sales/PipelineDefinition/index.html +25 -25
- package/app/m/sales/PipelineStage/index.html +25 -25
- package/app/m/sales/Referral/index.html +25 -25
- package/app/m/sales/ReferralAgreement/index.html +25 -25
- package/app/m/sales/ReferralLink/index.html +25 -25
- package/app/m/sales/ReferralProgram/index.html +25 -25
- package/app/m/sales/ReferralTermSnapshot/index.html +25 -25
- package/app/m/sales/ReferralTouch/index.html +25 -25
- package/app/m/sales/Referrer/index.html +25 -25
- package/app/m/sales/SalesActivity/index.html +25 -25
- package/app/m/sales/SalesRepresentative/index.html +25 -25
- package/app/m/sites/Site/index.html +25 -25
- package/app/m/sites/SiteAgentBinding/index.html +25 -25
- package/app/m/social/OAuthState/index.html +25 -25
- package/app/m/social/SocialAccount/index.html +25 -25
- package/app/m/social/SocialPost/index.html +25 -25
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +25 -25
- package/app/m/subscriptions/BillingAdjustment/index.html +25 -25
- package/app/m/subscriptions/ClientCharge/index.html +25 -25
- package/app/m/subscriptions/CreditGrant/index.html +25 -25
- package/app/m/subscriptions/PricingRule/index.html +25 -25
- package/app/m/subscriptions/RetailCharge/index.html +25 -25
- package/app/m/subscriptions/SpendingPolicy/index.html +25 -25
- package/app/m/subscriptions/SubscriptionPlan/index.html +25 -25
- package/app/m/subscriptions/TenantSubscription/index.html +25 -25
- package/app/m/subscriptions/TenantUsageMetric/index.html +25 -25
- package/app/m/support/ServiceTimeEntry/index.html +25 -25
- package/app/m/support/SupportAiRun/index.html +25 -25
- package/app/m/support/SupportAvailability/index.html +25 -25
- package/app/m/support/SupportCase/index.html +25 -25
- package/app/m/support/SupportCaseEvent/index.html +25 -25
- package/app/m/support/SupportChannelBinding/index.html +25 -25
- package/app/m/support/SupportCharge/index.html +25 -25
- package/app/m/support/SupportCompensation/index.html +25 -25
- package/app/m/support/SupportCompensationPlan/index.html +25 -25
- package/app/m/support/SupportEscalation/index.html +25 -25
- package/app/m/support/SupportInteraction/index.html +25 -25
- package/app/m/support/SupportPlan/index.html +25 -25
- package/app/m/support/SupportPolicy/index.html +25 -25
- package/app/m/support/SupportQualification/index.html +25 -25
- package/app/m/support/SupportServiceTarget/index.html +25 -25
- package/app/m/support/SupportSpecialist/index.html +25 -25
- package/app/m/support/SupportWorkLink/index.html +25 -25
- package/app/m/tags/Tag/index.html +25 -25
- package/app/m/tags/TagAlias/index.html +25 -25
- package/app/m/timesheets/AttendanceBreak/index.html +25 -25
- package/app/m/timesheets/AttendancePunch/index.html +25 -25
- package/app/m/timesheets/AttendanceSegment/index.html +25 -25
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +25 -25
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +25 -25
- package/app/m/timesheets/ServiceTimeEntry/index.html +25 -25
- package/app/m/users/Group/index.html +25 -25
- package/app/m/users/GroupMember/index.html +25 -25
- package/app/m/users/GroupRole/index.html +25 -25
- package/app/m/users/Membership/index.html +25 -25
- package/app/m/users/MembershipOverride/index.html +25 -25
- package/app/m/users/Permission/index.html +25 -25
- package/app/m/users/Role/index.html +25 -25
- package/app/m/users/RolePermission/index.html +25 -25
- package/app/m/users/Session/index.html +25 -25
- package/app/m/users/Tenant/index.html +25 -25
- package/app/m/users/TenantIntegration/index.html +25 -25
- package/app/m/users/TenantPermissionOverride/index.html +25 -25
- package/app/m/users/User/index.html +25 -25
- package/app/m/video/Character/index.html +25 -25
- package/app/m/video/CharacterAsset/index.html +25 -25
- package/app/m/video/CompositeJob/index.html +25 -25
- package/app/m/video/Performer/index.html +25 -25
- package/app/m/video/PerformerAsset/index.html +25 -25
- package/app/m/video/Scene/index.html +25 -25
- package/app/m/video/SceneAsset/index.html +25 -25
- package/app/m/video/VideoComposition/index.html +25 -25
- package/app/m/video/VideoCompositionAsset/index.html +25 -25
- package/app/m/video/VideoSequence/index.html +25 -25
- package/app/m/video/VideoSequenceAsset/index.html +25 -25
- package/app/m/video/VideoShot/index.html +25 -25
- package/app/m/video/VideoShotAsset/index.html +25 -25
- package/app/m/video/VideoShotCharacter/index.html +25 -25
- package/app/m/video/VideoWorkflow/index.html +25 -25
- package/app/m/voice/VoiceOutput/index.html +25 -25
- package/app/m/voice/VoiceProfile/index.html +25 -25
- package/app/m/voice/VoiceSample/index.html +25 -25
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +24 -24
- package/app/packages/analytics/index.html +24 -24
- package/app/packages/approvals/index.html +24 -24
- package/app/packages/assets/index.html +24 -24
- package/app/packages/chat/index.html +24 -24
- package/app/packages/comments/index.html +24 -24
- package/app/packages/commerce/index.html +25 -25
- package/app/packages/content/index.html +24 -24
- package/app/packages/events/index.html +24 -24
- package/app/packages/expenses/index.html +25 -25
- package/app/packages/facts/index.html +24 -24
- package/app/packages/fields/index.html +24 -24
- package/app/packages/human-resources/index.html +24 -24
- package/app/packages/images/index.html +24 -24
- package/app/packages/index.html +24 -24
- package/app/packages/ingestion/index.html +24 -24
- package/app/packages/inventory/index.html +24 -24
- package/app/packages/ledgers/index.html +24 -24
- package/app/packages/manufacturing/index.html +24 -24
- package/app/packages/marketing/index.html +24 -24
- package/app/packages/messages/index.html +24 -24
- package/app/packages/places/index.html +24 -24
- package/app/packages/preferences/index.html +24 -24
- package/app/packages/products/index.html +24 -24
- package/app/packages/profiles/index.html +24 -24
- package/app/packages/projects/index.html +24 -24
- package/app/packages/properties/index.html +24 -24
- package/app/packages/reports/index.html +24 -24
- package/app/packages/sales/index.html +24 -24
- package/app/packages/sites/index.html +24 -24
- package/app/packages/social/index.html +24 -24
- package/app/packages/subscriptions/index.html +24 -24
- package/app/packages/support/index.html +24 -24
- package/app/packages/tags/index.html +24 -24
- package/app/packages/timesheets/index.html +24 -24
- package/app/packages/users/index.html +24 -24
- package/app/packages/video/index.html +24 -24
- package/app/packages/voice/index.html +24 -24
- package/app/packages/webhooks/index.html +24 -24
- package/app/recipes/account-access/help/index.html +24 -24
- package/app/recipes/account-access/index.html +26 -26
- package/app/recipes/activity/help/index.html +24 -24
- package/app/recipes/activity/index.html +26 -26
- package/app/recipes/agreements/help/index.html +26 -26
- package/app/recipes/agreements/index.html +27 -27
- package/app/recipes/analytics.reports/help/index.html +24 -24
- package/app/recipes/analytics.reports/index.html +26 -26
- package/app/recipes/assets/help/index.html +24 -24
- package/app/recipes/assets/index.html +27 -27
- package/app/recipes/billing/help/index.html +26 -26
- package/app/recipes/billing/index.html +26 -26
- package/app/recipes/chat.assistant/help/index.html +24 -24
- package/app/recipes/chat.assistant/index.html +26 -26
- package/app/recipes/comments/help/index.html +24 -24
- package/app/recipes/comments/index.html +26 -26
- package/app/recipes/commerce.customers/help/index.html +24 -24
- package/app/recipes/commerce.customers/index.html +26 -26
- package/app/recipes/commerce.estimates/help/index.html +26 -26
- package/app/recipes/commerce.estimates/index.html +26 -26
- package/app/recipes/commerce.purchases/help/index.html +26 -26
- package/app/recipes/commerce.purchases/index.html +26 -26
- package/app/recipes/commerce.sales/help/index.html +26 -26
- package/app/recipes/commerce.sales/index.html +26 -26
- package/app/recipes/commerce.vendors/help/index.html +24 -24
- package/app/recipes/commerce.vendors/index.html +26 -26
- package/app/recipes/commerce.wholesale/help/index.html +26 -26
- package/app/recipes/commerce.wholesale/index.html +26 -26
- package/app/recipes/events.calendar/help/index.html +24 -24
- package/app/recipes/events.calendar/index.html +26 -26
- package/app/recipes/expenses.tracking/help/index.html +26 -26
- package/app/recipes/expenses.tracking/index.html +26 -26
- package/app/recipes/fields.form-customization/help/index.html +24 -24
- package/app/recipes/fields.form-customization/index.html +26 -26
- package/app/recipes/ingestion/help/index.html +24 -24
- package/app/recipes/ingestion/index.html +26 -26
- package/app/recipes/integrations/help/index.html +24 -24
- package/app/recipes/integrations/index.html +26 -26
- package/app/recipes/inventory.stock/help/index.html +24 -24
- package/app/recipes/inventory.stock/index.html +26 -26
- package/app/recipes/ledgers.bookkeeping/help/index.html +24 -24
- package/app/recipes/ledgers.bookkeeping/index.html +26 -26
- package/app/recipes/messages/help/index.html +24 -24
- package/app/recipes/messages/index.html +26 -26
- package/app/recipes/products/help/index.html +24 -24
- package/app/recipes/products/index.html +26 -26
- package/app/recipes/projects.tracker/help/index.html +24 -24
- package/app/recipes/projects.tracker/index.html +27 -27
- package/app/recipes/reports.materialized/help/index.html +26 -26
- package/app/recipes/reports.materialized/index.html +29 -29
- package/app/recipes/reports.runtime/help/index.html +24 -24
- package/app/recipes/reports.runtime/index.html +27 -27
- package/app/recipes/sales.pipeline/help/index.html +24 -24
- package/app/recipes/sales.pipeline/index.html +26 -26
- package/app/recipes/tags.taxonomy/help/index.html +24 -24
- package/app/recipes/tags.taxonomy/index.html +26 -26
- package/app/recipes/team-collaboration/help/index.html +24 -24
- package/app/recipes/team-collaboration/index.html +26 -26
- package/app/recipes/timesheets.time-entries/help/index.html +24 -24
- package/app/recipes/timesheets.time-entries/index.html +26 -26
- package/app/s/custom-accounts/index.html +22 -22
- package/app/s/custom-appointments/index.html +22 -22
- package/app/s/custom-billing/index.html +22 -22
- package/app/s/custom-buying/index.html +22 -22
- package/app/s/custom-checkout/index.html +22 -22
- package/app/s/custom-classes/index.html +22 -22
- package/app/s/custom-clients/index.html +22 -22
- package/app/s/custom-events/index.html +22 -22
- package/app/s/custom-fleet/index.html +22 -22
- package/app/s/custom-giving/index.html +22 -22
- package/app/s/custom-jobs/index.html +22 -22
- package/app/s/custom-kitchen/index.html +22 -22
- package/app/s/custom-material/index.html +22 -22
- package/app/s/custom-meetings/index.html +22 -22
- package/app/s/custom-members/index.html +22 -22
- package/app/s/custom-paint/index.html +82 -0
- package/app/s/custom-parts/index.html +22 -22
- package/app/s/custom-rentals/index.html +22 -22
- package/app/s/custom-roastery/index.html +22 -22
- package/app/s/custom-schedule/index.html +22 -22
- package/app/s/custom-shelf/index.html +22 -22
- package/app/s/custom-shop/index.html +22 -22
- package/app/s/custom-wholesale/index.html +22 -22
- package/app/s/custom-work/index.html +22 -22
- package/app/s/custom-yard/index.html +22 -22
- package/app/s/section-access-control/index.html +22 -22
- package/app/s/section-account-security/index.html +22 -22
- package/app/s/section-accounting/index.html +22 -22
- package/app/s/section-activity/index.html +22 -22
- package/app/s/section-agreements/index.html +22 -22
- package/app/s/section-analytics/index.html +22 -22
- package/app/s/section-assets/index.html +22 -22
- package/app/s/section-billing/index.html +22 -22
- package/app/s/section-calendar/index.html +22 -22
- package/app/s/section-catalog/index.html +22 -22
- package/app/s/section-chat.assistant/index.html +22 -22
- package/app/s/section-comments/index.html +22 -22
- package/app/s/section-fields.form-customization/index.html +22 -22
- package/app/s/section-ingestion/index.html +22 -22
- package/app/s/section-integrations/index.html +22 -22
- package/app/s/section-messages/index.html +22 -22
- package/app/s/section-more/index.html +22 -22
- package/app/s/section-operations/index.html +22 -22
- package/app/s/section-projects/index.html +22 -22
- package/app/s/section-purchasing/index.html +22 -22
- package/app/s/section-reports.materialized/index.html +22 -22
- package/app/s/section-reports.runtime/index.html +22 -22
- package/app/s/section-sales/index.html +22 -22
- package/app/s/section-taxonomy/index.html +22 -22
- package/app/s/section-team/index.html +22 -22
- package/app/s/section-work/index.html +22 -22
- package/dist/ai/instance.d.ts.map +1 -1
- package/dist/ai/instance.js +9 -1
- package/dist/assistant/change.d.ts +13 -3
- package/dist/assistant/change.d.ts.map +1 -1
- package/dist/assistant/change.js +18 -3
- package/dist/assistant/prompt.d.ts +6 -1
- package/dist/assistant/prompt.d.ts.map +1 -1
- package/dist/assistant/prompt.js +13 -1
- package/dist/assistant/session.svelte.d.ts +5 -0
- package/dist/assistant/session.svelte.d.ts.map +1 -1
- package/dist/assistant/session.svelte.js +1 -0
- package/dist/assistant/transport.d.ts +24 -1
- package/dist/assistant/transport.d.ts.map +1 -1
- package/dist/assistant/transport.js +57 -8
- package/dist/catalog/catalog.json +1366 -51
- package/dist/components/BrowserAssistant.svelte +0 -2
- package/dist/components/BrowserAssistant.svelte.d.ts.map +1 -1
- package/dist/components/CookbooksPanel.svelte +101 -21
- package/dist/components/CookbooksPanel.svelte.d.ts.map +1 -1
- package/dist/data/format.d.ts.map +1 -1
- package/dist/data/format.js +3 -0
- package/dist/data/money.d.ts +1 -1
- package/dist/data/money.js +2 -2
- package/dist/data/packs.d.ts +0 -1
- package/dist/data/packs.d.ts.map +1 -1
- package/dist/data/packs.js +835 -1
- package/dist/library/apply.d.ts +7 -3
- package/dist/library/apply.d.ts.map +1 -1
- package/dist/library/apply.js +19 -6
- package/dist/library/document.d.ts +9 -0
- package/dist/library/document.d.ts.map +1 -1
- package/dist/library/document.js +29 -0
- package/dist/library/icons.d.ts.map +1 -1
- package/dist/library/icons.js +15 -0
- package/dist/library/index.d.ts +4 -1
- package/dist/library/index.d.ts.map +1 -1
- package/dist/library/index.js +9 -2
- package/dist/library/library.json +919 -14
- package/dist/library/state.svelte.d.ts +5 -1
- package/dist/library/state.svelte.d.ts.map +1 -1
- package/dist/library/state.svelte.js +12 -1
- package/dist/library/view.svelte.d.ts +41 -0
- package/dist/library/view.svelte.d.ts.map +1 -0
- package/dist/library/view.svelte.js +67 -0
- package/dist/planner/Planner.svelte +79 -2
- package/dist/planner/Planner.svelte.d.ts.map +1 -1
- package/dist/planner/PlannerControls.svelte +21 -2
- package/dist/planner/PlannerControls.svelte.d.ts.map +1 -1
- package/dist/planner/assistant.d.ts.map +1 -1
- package/dist/planner/assistant.js +9 -0
- package/dist/planner/commands/adapter.d.ts.map +1 -1
- package/dist/planner/commands/adapter.js +10 -3
- package/dist/planner/commands/controller.svelte.d.ts.map +1 -1
- package/dist/planner/commands/controller.svelte.js +2 -1
- package/dist/recipes/scope.d.ts +23 -0
- package/dist/recipes/scope.d.ts.map +1 -1
- package/dist/recipes/scope.js +20 -0
- package/dist/smrt-version.d.ts +1 -1
- package/dist/smrt-version.js +1 -1
- package/package.json +56 -56
- package/app/_app/immutable/assets/2.Djk1H2wk.css +0 -1
- package/app/_app/immutable/chunks/BV_A2GBw.js +0 -24
- package/app/_app/immutable/chunks/CbCYY1ps.js +0 -1
- package/app/_app/immutable/chunks/DD4mX3od.js +0 -1
- package/app/_app/immutable/chunks/DgkBKeKW.js +0 -4
- package/app/_app/immutable/chunks/DvUWb_GS.js +0 -1
- package/app/_app/immutable/chunks/M81UeXT1.js +0 -1
- package/app/_app/immutable/chunks/g7M7feZg.js +0 -1
- package/app/_app/immutable/chunks/r7IFcw-O.js +0 -1
- package/app/_app/immutable/entry/start.BixveMT0.js +0 -1
- package/app/_app/immutable/nodes/0._WFh95JB.js +0 -9
- package/app/_app/immutable/nodes/2.D3Lg90Nn.js +0 -24
- /package/app/_app/immutable/chunks/{DVQPWAnI.js → Bv5jGtB8.js} +0 -0
|
@@ -1,4 +0,0 @@
|
|
|
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 O,d as k,ft as A,g as j,gt as ee,ht as M,j as te,mt as N,n as P,nt as F,pt as I,q as L,st as R,v as z,vt as B,z as V}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{i as ne,o as H,r as re,t as ie}from"./DVQPWAnI.js";import{a as U,t as ae}from"./YUSKx8_q.js";import{_t as W,d as oe,ft as G,h as K,xt as se,yt as q}from"./rkUL-DlL.js";import{n as ce,t as J}from"./DK8Blf1Y.js";import{n as Y,t as le}from"./M-CuJzQN.js";import{a as ue,d as de,l as fe,m as pe,o as me,s as he}from"./9pRTae44.js";import{t as X}from"./DD4mX3od.js";import{c as ge,l as _e,n as ve,s as ye,v as be}from"./gMSmS-_y.js";import{$ as xe,Q as Se}from"./U6_OBRq_.js";var Ce=/^[A-Za-z][A-Za-z0-9]{0,31}$/,we=/^[A-Za-z_][A-Za-z0-9_.-]{0,63}$/,Te=/^(?:(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*:)?[A-Za-z][A-Za-z0-9_]{0,63}$/,Ee=160,De=200,Oe=1e4;function ke(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Ae(e,t){let n=new Set;for(let r of t){if(!Ce.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&&Me(r,r.default,void 0).issue)throw Error(`widget "${e}": default of option "${r.key}" is invalid`)}}function je(e,t){return{issue:{key:e,code:t}}}function Me(e,t,n){let{key:r}=e;switch(e.type){case`text`:case`markdown`:{if(typeof t!=`string`)return je(r,`invalid_type`);let n=e.maxLength??(e.type===`markdown`?Oe:De);return t.length>n?je(r,`too_long`):{value:t}}case`identifier`:return typeof t==`string`?we.test(t)?{value:t}:je(r,`invalid_format`):je(r,`invalid_type`);case`model`:return typeof t==`string`?t.length>Ee||!Te.test(t)?je(r,`invalid_format`):n?.models&&!n.models.includes(t)?je(r,`not_allowed`):{value:t}:je(r,`invalid_type`);case`enum`:return typeof t==`string`?e.choices?.some(e=>e.value===t)?{value:t}:je(r,`not_in_choices`):je(r,`invalid_type`);case`boolean`:return typeof t==`boolean`?{value:t}:je(r,`invalid_type`);case`integer`:case`number`:return typeof t!=`number`||!Number.isFinite(t)||e.type===`integer`&&!Number.isSafeInteger(t)?je(r,`invalid_type`):e.min!==void 0&&t<e.min||e.max!==void 0&&t>e.max?je(r,`out_of_range`):{value:t}}}function Ne(e){let t={};for(let n of e)n.default!==void 0&&n.default!==null&&(t[n.key]=n.default);return t}function Pe(e,t,n,r){if(e.default!==void 0&&e.default!==null){let i=Me(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 Fe(e,t,n){let r=[],i=t==null?{}:ke(t)?t:{};if(t!=null&&!ke(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`){Pe(t,n,o,r);continue}let a=Me(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 Ie(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 Le=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/,Re=/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,95}$/,ze=/^[a-z][a-z0-9-]{0,31}$/;function Be(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ve(e){return typeof e==`number`&&Number.isInteger(e)&&e>=1&&e<=4}function He(e){if(e===void 0)return{};if(!Be(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 Ue(e,t){let n=Be(e)&&typeof e.id==`string`?e.id:null,r=Be(e)&&typeof e.type==`string`?e.type:null,i=e=>(t.push({widgetId:n,type:r,code:`malformed`,message:e}),null);if(!Be(e))return i(`widget is not an object`);if(n===null||!Le.test(n))return i(`widget id is missing or invalid`);if(r===null)return i(`widget type is missing`);if(!Ve(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=He(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 We(e){let t=[],n=[],r=Be(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=Ue(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 Ge(e){let t=[];if(e==null)return{override:null,issues:t};if(!Be(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`&&Le.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}=We({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(Be(e.changed)){let t={};for(let[n,r]of Object.entries(e.changed)){if(!Le.test(n)||!Be(r))continue;let e={};Ve(r.span)&&(e.span=r.span);let i=r.options===void 0?void 0:He(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:Ke(n)?null:n,issues:t}}function Ke(e){return e===null||!e.order?.length&&!e.removed?.length&&!e.added?.length&&!Object.keys(e.changed??{}).length}function qe(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 Je(e,t){if(Ke(t)||t===null)return{widgets:e.widgets.map(qe)};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=qe(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(qe(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 Ye(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(qe);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);(!Ie(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=Je(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),Ke(i)?null:i}function Xe(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 Ze(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||!Be(t)){s(r,`migration_failed`,`no migration from version ${c}`);continue}l=t}let u=Fe(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 Qe(e,t,n){let r=Ze({widgets:[...e.defaults]},{registry:n,definition:e}),i=Ge(t),a=Ze(Je(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 $e(e,t,n){let r=Qe(e,t,n);return r.overrideIssues.length>0?{ok:!1,issues:r.overrideIssues}:{ok:!0,override:Ye(r.base,r.document)}}function et(e){if(!Re.test(e.id))throw Error(`defineOverview: invalid overview id "${e.id}"`);let t=new Set;for(let n of e.defaults){if(!Le.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 tt(e){if(!ze.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(!Re.test(t))throw Error(`widget "${e.type}": invalid allowedIn id "${t}"`);return Ae(e.type,e.options),Object.freeze({...e,options:Object.freeze([...e.options]),version:t,defaultSpan:i,minSpan:n,maxSpan:r})}var nt=class{#e=new Map;register(e,t={}){let n=tt(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 rt(){return new nt}var it=rt();function at(e){return JSON.stringify([e.type,e.version??1,e.options])}var ot=class{#e;#t;#n=D(null);#r=D({});#i=new Map;#a=null;#o=n(()=>{let t=Qe(this.#e.definition,this.#e.override?this.#e.override():e(this.#n),this.#t);return this.#c(Ye(t.base,t.document)),t});constructor(e){this.#e=e,this.#t=e.registry??it;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:at(n),status:n.status,data:n.data,error:n.error?.code};B(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 Ye(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||st(e,t.prior))return;let n=t.values.findIndex(t=>st(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 B(this.#n,e);this.#e.onchange?.(e)}get issues(){return e(this.#o).issues}get customized(){return!Ke(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===at(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=Ze(t,{registry:this.#t,definition:this.#e.definition}),i=Ye(e(this.#o).base,r.document);return st(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=Fe(r.options,{...Ne(r.options),...t},{models:this.#u()});if(!i.ok)return{ok:!1,reason:`invalid_options`,issues:i.issues};let a=Xe(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=Fe(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()||(Ke(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}=Ge(e),r=Qe(this.#e.definition,n,this.#t),i=Ye(r.base,r.document);return st(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){F(()=>{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(B(this.#r,r),this.#e.loadWidget)for(let n of t){let t=e(this.#r)[n.id];(!t||t.key!==at(n))&&this.#g(n)}})}#g(t){let n=this.#e.loadWidget;if(!n)return;let r=at(t);this.#i.get(t.id)?.abort();let i=new AbortController;this.#i.set(t.id,i),B(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&&B(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 st(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}function ct(e){return new ot(e)}function lt(e){return J.get(e.trim().toUpperCase())??2}var ut=`–`;function dt(e){try{return Intl.getCanonicalLocales(e)[0]??`en`}catch{return`en`}}function ft(e,{format:t=`integer`,currency:n=`USD`,locale:r}){if(typeof e!=`number`||!Number.isFinite(e))return ut;let i=dt(r);switch(t){case`money`:{let t=/^[A-Za-z]{3}$/.test(n)?n.toUpperCase():`USD`,r=lt(t);return new Intl.NumberFormat(i,{style:`currency`,currency:t}).format(e/10**r)}case`percent`:return new Intl.NumberFormat(i,{style:`percent`,maximumFractionDigits:1}).format(e);case`decimal`:return new Intl.NumberFormat(i,{maximumFractionDigits:2}).format(e);default:return new Intl.NumberFormat(i,{maximumFractionDigits:0}).format(e)}}var pt=200,mt=4,ht=2e4;function gt(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 _t=e=>e!==void 0&&/[A-Za-z0-9]/.test(e);function vt(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<mt&&e.startsWith(`**`,a)){let r=e.indexOf(`**`,a+2);if(r>a+2){i(),n.push({type:`strong`,children:vt(e.slice(a+2,r),t+1)}),a=r+2;continue}}if(t<mt&&(o===`*`||o===`_`)&&e[a+1]!==` `&&!(o===`_`&&_t(e[a-1]))){let r=e.indexOf(o,a+1);if(r>a+1&&e[r-1]!==` `&&!(o===`_`&&_t(e[r+1]))){i(),n.push({type:`em`,children:vt(e.slice(a+1,r),t+1)}),a=r+1;continue}}if(o===`[`&&t<mt){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=gt(e.slice(r+2,o));i(),c?n.push({type:`link`,href:c,children:vt(s,t+1)}):n.push(...vt(s,t+1)),a=o+1;continue}}r+=o,a+=1}}return i(),n}function yt(e){let t=e.slice(0,ht).replace(/\r\n?/g,`
|
|
2
|
-
`).split(`
|
|
3
|
-
`),n=[],r=[],i=null,a=()=>{r.length&&n.push({type:`paragraph`,children:vt(r.join(` `),0)}),r=[]},o=()=>{i&&n.push({type:`list`,...i}),i=null};for(let e=0;e<t.length&&n.length<pt;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
|
-
`)});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:vt(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(vt((l??u)?.[1]??``,0));continue}let d=/^\s*>\s?(.*)$/.exec(s);d?(a(),o(),n.push({type:`quote`,children:vt(d[1],0)})):(o(),r.push(s.trim()))}return a(),o(),n.slice(0,pt)}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":`{name} {percent}% on`,"ui.overview.line_items.tax_included":`Includes {name} {percent}% 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 bt(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 xt(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 St=c(`<p class="smrt-widget-form__none svelte-1jw9hhr"> </p>`),Ct=c(`<small class="smrt-widget-form__hint svelte-1jw9hhr"> </small>`),wt=c(`<small class="smrt-widget-form__error svelte-1jw9hhr" role="alert"> </small>`),Tt=c(`<div class="smrt-widget-form__check svelte-1jw9hhr"><!> <!> <!></div>`),Et=c(`<option> </option>`),Dt=c(`<!> <!>`,1),Ot=c(`<option> </option> <!> <!>`,1),kt=c(`<!> <!> <!> <!>`,1);function At(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=F(d),m=ee(p.text),v=ee(p.flags),y=D(ee({})),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);B(y,n,!0),B(b,!0)}let O=e=>o(e.label),k=e=>e.help?o(e.help):void 0,j=e=>!e.required&&(e.default===void 0||e.default===null),te=n(()=>new Set((a.models??[]).map(e=>e.value))),P=n(()=>a.optionsEditor??a.definition.optionsEditor);var L=S(),z=I(L),V=t=>{var n=S(),r=I(n);g(r,()=>e(P),(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=>{_e(r,{onsubmit:E,novalidate:!0,children:(r,i)=>{var d=kt(),p=I(d),h=e=>{H(e,{variant:`error`,children:(e,t)=>{_();var n=u();R(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=St(),n=N(t,!0);R(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=I(c),d=r=>{var a=Tt(),o=A(a),c=()=>v[e(i).key]===!0,u=t=>v[e(i).key]=t;{let t=n(()=>O(e(i)));Y(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=Ct(),r=N(n,!0);R(e=>l(r,e),[()=>k(e(i))]),x(t,n)},p=n(()=>k(e(i)));t(d,t=>{e(p)&&t(f)});var m=M(d,2),h=t=>{var n=wt(),r=N(n,!0);R(()=>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(()=>O(e(i))),c=n(()=>k(e(i)));ye(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=I(c),d=t=>{var n=()=>m[e(i).key]??``,r=t=>m[e(i).key]=t;ve(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;be(r,{get name(){return e(i).key},get value(){return a()},set value(e){s(e)},children:(r,a)=>{var s=Dt(),c=I(s),u=e=>{var t=Et(),n=N(t,!0);t.value=t.__value=``,R(e=>l(n,e),[()=>o(Z[`ui.overview.options_choose`])]),x(e,t)},d=n(()=>j(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=Et(),i=N(r,!0),a={};R(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;be(r,{get name(){return e(i).key},get value(){return s()},set value(e){c(e)},children:(r,s)=>{var c=Ot(),u=I(c),d=N(u,!0);u.value=u.__value=``;var p=M(u,2),h=t=>{var n=Et(),r=N(n,!0),a={};R(()=>{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(te).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=Et(),i=N(r,!0),a={};R(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),x(t,r)}),R(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);le(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);ge(T,{children:(e,t)=>{var n=Dt(),r=I(n);ce(r,{type:`button`,variant:`ghost`,get onclick(){return a.oncancel},children:(e,t)=>{_();var n=u();R(e=>l(n,e),[()=>o(Z[`ui.overview.options_cancel`])]),x(e,n)},$$slots:{default:!0}});var i=M(r,2);ce(i,{type:`submit`,variant:`primary`,children:(e,t)=>{_();var n=u();R(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(z,t=>{e(P)?t(V):t(ne,-1)}),x(r,L),i()}var jt=c(`<p class="smrt-overview__state svelte-1liasmg"> </p>`),Mt=c(`<p class="smrt-overview__state svelte-1liasmg" role="status"> </p> <!>`,1),Nt=c(`<article class="smrt-overview__widget svelte-1liasmg"><!> <div class="smrt-overview__content"><!></div></article>`),Pt=c(`<div class="smrt-overview__toolbar svelte-1liasmg" role="toolbar"><!> <!></div>`),Ft=c(`<p class="smrt-overview__empty svelte-1liasmg"> </p>`),It=c(`<div class="smrt-overview__resize svelte-1liasmg" role="slider" tabindex="0" aria-orientation="horizontal"></div>`),Lt=c(`<div class="smrt-overview__chrome svelte-1liasmg"><button type="button" class="smrt-overview__handle svelte-1liasmg" data-smrt-overview-handle=""><span aria-hidden="true">⠿</span></button> <span class="smrt-overview__chrome-title svelte-1liasmg" aria-hidden="true"> </span> <!> <!></div> <div class="smrt-overview__inert" inert=""><!></div> <!>`,1),Rt=c(`<div role="listitem" class="smrt-overview__item svelte-1liasmg"><div class="smrt-overview__tile svelte-1liasmg"><!></div></div>`),zt=c(`<p> </p>`),Bt=c(`<small class="svelte-1liasmg"> </small>`),Vt=c(`<span class="smrt-overview__choice svelte-1liasmg"><!> <span class="smrt-overview__choice-text svelte-1liasmg"><strong> </strong> <!></span></span>`),Ht=c(`<li><!></li>`),Ut=c(`<ul class="smrt-overview__choices svelte-1liasmg"></ul>`),Wt=c(`<!> <!>`,1),Gt=c(`<div class="smrt-overview svelte-1liasmg" data-smrt-component="OverviewGrid"><!> <!> <div class="smrt-overview__list svelte-1liasmg" role="list"></div> <div class="smrt-overview__live svelte-1liasmg" role="status" aria-live="polite" aria-atomic="true"> </div></div> <!>`,1);function Kt(r,a){let c=L();h(a,!0);let d=(r,i=p)=>{let d=n(()=>a.components?.get(i().widget.type)??i().def?.component);var f=Nt(),m=A(f);te(m,()=>e(Ie),!1,(e,n)=>{j(e,()=>({class:`smrt-overview__title`,id:`${c}-title-${i().widget.id??``}`}),void 0,void 0,void 0,`svelte-1liasmg`);var r=S(),s=I(r),d=e=>{var t=S(),n=I(t);o(n,()=>a.heading,()=>i().widget,()=>i().title),x(e,t)},f=e=>{var t=u();R(()=>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=A(h),b=e=>{var t=jt(),n=N(t,!0);R(e=>l(n,e),[()=>w(Z[`ui.overview.unavailable`])]),x(e,t)},C=e=>{var t=jt(),n=N(t,!0);R(e=>l(n,e),[()=>w(Z[`ui.overview.loading`])]),x(e,t)},T=e=>{var t=Mt(),n=I(t),r=N(n,!0),o=M(n,2);ce(o,{type:`button`,variant:`ghost`,size:`sm`,onclick:()=>a.controller.reload(i().widget.id),children:(e,t)=>{_();var n=u();R(e=>l(n,e),[()=>w(Z[`ui.overview.retry`])]),x(e,n)},$$slots:{default:!0}}),R(e=>l(r,e),[()=>w(Z[`ui.overview.error`])]),x(e,t)},E=t=>{var r=S(),o=I(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 ee},get iconComponent(){return a.iconComponent},get presentation(){return e(r)}})})}x(t,r)},D=e=>{var t=jt(),n=N(t,!0);R(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),R(()=>{z(f,`aria-labelledby`,`${c}-title-${i().widget.id??``}`),z(h,`aria-busy`,i().status===`loading`)}),x(r,f)},v=E(a,`headingLevel`,3,2),y=E(a,`presentation`,3,`card`),{t:w,locale:ee}=ae(),P=`__smrt-overview__`,ne=fe(),H=n(()=>a.controller.canCustomize&&(a.editing??ne?.editing??!1)),ie=n(()=>a.label??w(Z[`ui.overview.label`])),U=n(()=>a.controller.registry),W=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}})),oe=n(()=>new Map(e(W).map(e=>[e.widget.id,e])));O(()=>{a.controller.document,F(()=>a.controller.sync())});let G=D(void 0),K=D(void 0),se=D(``),q=D(null),J=D(!1),Y=D(null);function le(e){B(se,e,!0)}function pe(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 X=ue({root:()=>e(G),selectors:{container:`[data-smrt-overview-list]`,containerKey:`smrtOverviewList`,item:`[data-smrt-overview-item]`,itemKey:`smrtOverviewItem`},containers:()=>[{id:P,label:e(ie)}],itemIds:()=>e(W).map(e=>e.widget.id),itemLabel:t=>e(oe).get(t)?.title,allowSameContainerReorder:()=>!0,enabled:()=>e(H),orientation:()=>`vertical`,flow:()=>!0,announce:pe,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)}}),ge=n(()=>X.drag?.itemId),_e=n(()=>X.drag?.target.index),ve=n(()=>e(W).filter(t=>t.widget.id!==e(ge)).length);function ye(t){if(e(_e)===void 0||e(ge)===void 0||e(W)[t].widget.id===e(ge))return;let n=0;for(let r=0;r<t;r+=1)e(W)[r].widget.id!==e(ge)&&(n+=1);if(n===e(_e))return`before`;if(e(_e)>=e(ve)&&n===e(ve)-1)return`after`}function be(t){return e(q)?.id===t.widget.id?e(q).span:t.widget.span}function xe(){return e(G)!==void 0&&getComputedStyle(e(G)).direction===`rtl`}function Se(e,t){let n=a.controller.resize(e.widget.id,t);n.ok?le(w(Z[`ui.overview.announce_resized`],{widget:e.title,span:t,max:e.def?.maxSpan??4})):n.reason===`not_allowed`&&le(w(Z[`ui.overview.announce_denied`]))}function Ce(e,t){if(!t.def)return;let n=xt(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),B(q,{id:t.widget.id,span:t.widget.span},!0))}function Te(t,n){if(e(q)?.id!==n.widget.id||!n.def||!e(K))return;let r=t.currentTarget.closest(`[data-smrt-overview-item]`);if(!r)return;let i=e(K).getBoundingClientRect(),a=r.getBoundingClientRect(),o=xe(),s=getComputedStyle(e(K)).gridTemplateColumns.split(` `).filter(Boolean).length,c=bt({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(q).span&&B(q,{id:n.widget.id,span:c},!0)}function Ee(t,n){if(e(q)?.id!==n.widget.id)return;let r=e(q).span;B(q,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&&le(w(Z[`ui.overview.announce_removed`],{widget:e.title}))}function Oe(){a.controller.reset().ok&&le(w(Z[`ui.overview.announce_reset`]))}function ke(e){B(Y,{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(B(J,!1),n.ok)le(w(Z[`ui.overview.announce_added`],{widget:Ae(t)}));else if(n.reason===`invalid_options`){let n=e(U).get(t);B(Y,{id:null,type:t,initial:n?Ne(n.options):{}},!0)}}function Me(t){let n=e(Y);if(!n)return null;let r=n.id===null?a.controller.add(n.type,t):a.controller.setOptions(n.id,t);return r.ok?(le(w(Z[n.id===null?`ui.overview.announce_added`:`ui.overview.announce_configured`],{widget:Ae(n.type)})),B(Y,null),null):r.reason===`invalid_options`?r.issues??[]:(r.reason===`not_allowed`&&le(w(Z[`ui.overview.announce_denied`])),B(Y,null),null)}let Pe=n(()=>e(Y)?e(U).get(e(Y).type):void 0),Fe=n(()=>e(Y)?w(Z[e(Y).id===null?`ui.overview.options_new_title`:`ui.overview.options_title`],{widget:Ae(e(Y).type)}):``),Ie=n(()=>`h${v()}`);var Le=Gt(),Re=I(Le),ze=A(Re),Be=t=>{var r=Pt(),i=A(r);{let t=n(()=>w(Z[`ui.overview.add`])),r=n(()=>a.controller.full||a.controller.addable.length===0);me(i,{icon:`add`,get label(){return e(t)},get disabled(){return e(r)},onclick:()=>B(J,!0)})}var o=M(i,2);{let t=n(()=>w(Z[`ui.overview.reset`])),r=n(()=>!a.controller.customized);me(o,{icon:`undo`,get label(){return e(t)},get disabled(){return e(r)},onclick:Oe})}s(r),R(e=>z(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=Ft(),n=N(t,!0);R(e=>l(n,e),[()=>w(Z[`ui.overview.empty`])]),x(e,t)};t(Ve,t=>{e(W).length===0&&t(He)});var Ue=M(Ve,2);z(Ue,`data-smrt-overview-list`,P),f(Ue,31,()=>e(W),e=>e.widget.id,(r,i,a)=>{let o=n(()=>ye(e(a)));var c=Rt();let u;var f=A(c),p=A(f),h=r=>{var a=Lt(),o=I(a),c=A(o),u=M(c,2),f=N(u,!0),p=M(u,2),m=t=>{{let r=n(()=>w(Z[`ui.overview.configure`],{widget:e(i).title}));me(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}));me(h,{icon:`trash`,get label(){return e(t)},onclick:()=>De(e(i))})}s(o);var g=M(o,2),_=A(g);d(_,()=>e(i)),s(g);var v=M(g,2),y=t=>{var n=It();R((t,r,a)=>{z(n,`aria-label`,t),z(n,`aria-valuemin`,e(i).def.minSpan),z(n,`aria-valuemax`,e(i).def.maxSpan),z(n,`aria-valuenow`,r),z(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)}),R(t=>{z(c,`draggable`,X.nativeDraggable),z(c,`aria-label`,t),z(c,`aria-pressed`,e(ge)===e(i).widget.id),l(f,e(i).title)},[()=>w(Z[`ui.overview.move`],{widget:e(i).title})]),C(`click`,c,()=>X.consumeClick(e(i).widget.id)),C(`keydown`,c,t=>X.keydown(t,e(i).widget.id)),T(`blur`,c,t=>X.blur(t,e(i).widget.id)),C(`pointerdown`,c,t=>X.pointerDown(t,e(i).widget.id)),C(`pointermove`,c,e=>X.pointerMove(e)),C(`pointerup`,c,e=>X.pointerUp(e)),T(`pointercancel`,c,e=>X.pointerCancel(e)),T(`dragstart`,c,t=>X.dragStart(t,e(i).widget.id)),T(`dragend`,c,()=>X.dragEnd()),x(r,a)},g=t=>{d(t,()=>e(i))};t(p,t=>{e(H)?t(h):t(g,-1)}),s(f),s(c),R((t,n)=>{z(c,`data-span`,t),z(c,`data-smrt-overview-item`,e(i).widget.id),z(c,`data-dragging`,e(ge)===e(i).widget.id?``:void 0),z(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=>{X.drag&&(t.stopPropagation(),X.dropOnItem(t,P,e(a)))}),m(c,()=>de,null),x(r,c)}),s(Ue),k(Ue,e=>B(K,e),()=>e(K));var We=M(Ue,2),Ge=N(We);s(Re),k(Re,e=>B(G,e),()=>e(G));var Ke=M(Re,2),qe=r=>{var i=Wt(),o=I(i),c=()=>e(J),u=e=>B(J,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=I(i),c=e=>{var t=zt(),n=N(t,!0);R(e=>l(n,e),[()=>w(Z[`ui.overview.add_none`])]),x(e,t)},u=n=>{var r=Ut();f(r,21,()=>a.controller.addable,e=>e.type,(n,r)=>{var i=Ht(),o=A(i);ce(o,{type:`button`,variant:`ghost`,fullWidth:!0,onclick:()=>je(e(r).type),children:(n,i)=>{var o=Vt(),c=A(o),u=t=>{he(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=A(d),p=N(f,!0),m=M(f,2),h=t=>{var n=Bt(),i=N(n,!0);R(e=>l(i,e),[()=>w(e(r).description)]),x(t,n)};t(m,t=>{e(r).description&&t(h)}),s(d),s(o),R(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(Y)!==null,m=e=>{e||B(Y,null)};re(d,{get open(){return p()},set open(e){m(e)},get title(){return e(Fe)},size:`md`,children:(r,i)=>{var o=S(),s=I(o),c=t=>{var r=S(),i=I(r);V(i,()=>`${e(Y).id??`new`}:${e(Y).type}`,t=>{{let r=n(()=>a.optionEditors?.get(e(Y).type)??e(Pe).optionsEditor);At(t,{get definition(){return e(Pe)},get initial(){return e(Y).initial},get models(){return a.models},get optionsEditor(){return e(r)},onsave:Me,oncancel:()=>B(Y,null)})}}),x(t,r)};t(s,t=>{e(Y)&&e(Pe)&&t(c)}),x(r,o)},$$slots:{default:!0}}),x(r,i)};t(Ke,t=>{e(H)&&t(qe)}),R(()=>{z(Re,`data-editing`,e(H)?``:void 0),z(Re,`data-presentation`,y()),z(Ue,`aria-label`,e(ie)),l(Ge,`${e(se)??``}${X.announcement?` ${X.announcement}`:``}`)}),T(`dragover`,Ue,e=>e.preventDefault()),T(`drop`,Ue,e=>{X.drag&&X.dropOnContainer(e,P)}),x(r,Le),i()}w([`click`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var qt=[`title`,`identifier`,`status`,`money`,`quantity`,`date`,`party`,`subtotal`,`tax`,`discount`,`total`],Jt=new Set([`integer`,`decimal`]),Yt=new Set([`foreignKey`,`crossPackageRef`]),Xt=/(?:^|[a-z])(?:amount|total|price|cost)$|^(?:subtotal|tax|discount)$/i,Zt=/^subtotal(?:Amount)?$|[a-z]Subtotal(?:Amount)?$/,Qt=/^tax(?:Amount|Total)?$|[a-z]Tax(?:Amount|Total)?$/,$t=/^discount(?:Amount|Total)?$|[a-z]Discount(?:Amount|Total)?$/,en=/^(?:total|grandTotal)(?:Amount)?$|^amountTotal$/,tn=/(?:rate|percent|percentage|pct|ratio)$/i,nn=/^(?:status|state)$|[a-z](?:Status|State)$/,rn=/^(?:number|reference|code|ref)$|[a-z](?:Number|Reference|Code)$/,an=/^(?: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,on=/^date$|[a-z](?:At|Date|On|Until)$/,sn=/^(?:quantity|qty)|(?:Quantity|Qty)$/,cn=[`name`,`title`,`label`,`displayName`],ln=/customer|vendor|supplier|client|party|profile|contact|person|people|member|company|organi[sz]ation|payer|payee|buyer|seller|licensee|lessee/i;function un(e){let t=e.role;return t===void 0?null:(Array.isArray(t)?t:[t]).filter(e=>qt.includes(e))}function dn(e){return e.format??e.ui?.format}function fn(e){return dn(e)===`money`||e.type===`integer`&&e.ui?.widget===`currency`}function pn(e){return Array.isArray(e.enum)&&e.enum.length>0}function mn(e,t){return e?.find(e=>e.field===t)}function hn(e,t,n){let r=[],{type:i}=t,a=Jt.has(i),o=tn.test(e);if(i===`text`&&(pn(t)&&nn.test(e)&&r.push(`status`),rn.test(e)&&!an.test(e)&&t.ui?.widget!==`phone`&&r.push(`identifier`)),i===`integer`&&!o&&Xt.test(e)&&r.push(`money`),a&&sn.test(e)&&r.push(`quantity`),i===`datetime`&&on.test(e)&&r.push(`date`),Yt.has(i)){let t=n?.relatedCollection??``,i=e.replace(/Id$/,``);i!==`tenant`&&(ln.test(i)||ln.test(t))&&r.push(`party`)}return a&&!o&&(Zt.test(e)?r.push(`subtotal`):Qt.test(e)?r.push(`tax`):$t.test(e)?r.push(`discount`):en.test(e)&&r.push(`total`)),r}function gn(e){let t=new Set(e);return qt.filter(e=>t.has(e))}function _n(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=un(i);if(a)for(let e of a)n.add(e);else for(let t of hn(r,i,mn(e.relationships,r)))n.add(t);fn(i)&&n.add(`money`);let o=dn(i);(o===`date`||o===`datetime`)&&i.type===`datetime`&&n.add(`date`),i.display===!0&&n.add(`title`),t[r]=gn(n)}if(!r&&!Object.values(t).some(e=>e.includes(`title`)))for(let n of cn){let r=e.fields[n];if(r?.type===`text`&&un(r)===null){t[n]=gn([...t[n]??[],`title`]);break}}return t}function vn(e,t){return Object.keys(e).find(n=>e[n]?.includes(t))}function yn(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 bn(e){return vn(e,`identifier`)!==void 0&&(vn(e,`party`)!==void 0||vn(e,`total`)!==void 0)}var xn=new Set([`id`,`tenantId`,`createdAt`,`updatedAt`,`createdBy`,`updatedBy`]),Sn=[`createdAt`,`updatedAt`];function Cn(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 wn(e,t){return(t.type===`foreignKey`||t.type===`crossPackageRef`)&&/.[a-z]Id$/.test(e)?Cn(e.slice(0,-2)):Cn(e)}function Tn(e){let t=Cn(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 En(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 Dn(e,t){return t===void 0?e.required===!0&&e.nullable!==!0:t}function On(e,t){return t&&t.objectRef!==e.objectRef?`Field policy is for '${t.objectRef}', not '${e.objectRef}'.`:null}function kn(e){return!e.startsWith(`_`)&&!e.startsWith(`$`)}function An(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 jn(e,t){return(e.order??2**53-1)-(t.order??2**53-1)||e.index-t.index}function Mn(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=>kn(t.name)&&!xn.has(t.name)&&t.name!==e.idField),c=t?null:An(s),l=_n(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=En(e.definition,o);return{name:e.name,label:i||wn(e.name,e.definition),help:a&&a.trim()!==``?a:null,type:e.definition.type,kind:s,required:Dn(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:Cn(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`&&Sn.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(jn).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=Sn.map(f).filter(e=>e!==null);return[...p,...e]}return p}function Nn(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 Pn(e){return`${e.model.split(/[:/]/).pop()??e.model}-${e.field}`.replace(/[^A-Za-z0-9_.-]+/g,`-`).slice(0,64)}function Fn(e){return J.get(e.trim().toUpperCase())??2}function In(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 Ln(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 Rn(e){return String(e).padStart(2,`0`)}function zn(e){if(e==null||e===``)return``;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?``:`${t.getFullYear()}-${Rn(t.getMonth()+1)}-${Rn(t.getDate())}T${Rn(t.getHours())}:${Rn(t.getMinutes())}`}function Bn(e,t,n={}){if(e.kind===`boolean`)return t===!0||t===`true`;if(t==null)return``;switch(e.kind){case`money`:return In(t,Fn(n.currency??`USD`))??``;case`datetime`:return zn(t);case`json`:return typeof t==`string`?t:JSON.stringify(t,null,2);default:return String(t)}}function Vn(e,t,n={}){let r={};for(let i of e)r[i.name]=Bn(i,t[i.name],n);return r}function Hn(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]=Bn(i,a,n)}return r}function Un(e,t,n={}){let r={},i={},a=Fn(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=Ln(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===zn(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 Wn(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=Fn(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=Gn(t);return Jn(e)?``:typeof e==`string`?e:JSON.stringify(e)}default:return String(t)}}catch{return String(t)}}function Gn(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 Kn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qn(e){return e==null||e===``}function Jn(e){return qn(e)?!0:Array.isArray(e)?e.length===0:Kn(e)?Object.values(e).every(qn):!1}function Yn(e){let t=Gn(e);if(!Kn(t))return null;let n=[];for(let[e,r]of Object.entries(t))qn(r)||n.push({key:e,value:typeof r==`object`&&r?JSON.stringify(r):String(r)});return n.length>0?n:null}function Xn(e){return e.length>12?`${e.slice(0,8)}…`:e}function Zn(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=gt(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 Qn=/^[A-Za-z_][A-Za-z0-9_.-]{0,63}$/;function $n(e,t=6){if(typeof e!=`string`)return[];let n=[];for(let r of e.split(`,`)){let e=r.trim();if(Qn.test(e)&&!n.includes(e)&&(n.push(e),n.length===t))break}return n}function er(e){return e.join(`,`)}var tr={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 nr(e,t){if(typeof e!=`string`)return`default`;let n=e.trim().toLowerCase().replace(/[\s-]+/g,`_`);return t?.[e]??t?.[n]??tr[n]??`default`}function rr(e){return typeof e!=`string`||e.trim()===``?``:Cn(e.trim())}function ir(e,t,n={}){if(t==null||t===``)return``;switch(e.role){case`money`:return Wn({kind:`money`},t,{currency:n.currency,locale:n.locale});case`date`:return typeof t==`string`&&!/^\d{4}-\d{2}-\d{2}/.test(t)?t:Wn({kind:`datetime`,definition:{format:`date`}},t,{locale:n.locale,timeZone:n.timeZone??`UTC`});case`quantity`:return Wn({kind:`decimal`},t,{locale:n.locale});case`status`:return rr(t);default:return typeof t==`number`?Wn({kind:`decimal`},t,{locale:n.locale}):typeof t==`boolean`?t?`✓`:``:typeof t==`string`?t:JSON.stringify(t)}}function ar(e){return e===`money`||e===`quantity`}function or(e){return e.summarize??ar(e.role)}function sr(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 cr=new Set([`title`,`identifier`,`status`,`money`,`quantity`,`date`,`party`,`subtotal`,`tax`,`discount`,`total`]);function lr(e,t){let n=[];if(Array.isArray(t))for(let e of t)Q(e)&&typeof e.key==`string`&&Qn.test(e.key)&&n.push({key:e.key,label:typeof e.label==`string`&&e.label!==``?e.label:Cn(e.key),...typeof e.role==`string`&&cr.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:Cn(e)})}var ur=[`related`,`line-items`,`records`,`metric`,`chart`,`note`];function dr(e){return`detail:${e.replace(/^@/,``).replace(/[/:]+/g,`.`).replace(/[^A-Za-z0-9_.-]/g,`-`).replace(/^[^A-Za-z0-9]+/,``)||`record`}`}function fr(e,t,n){let r=`${e}-${Pn(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 pr(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:fr(`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:fr(`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:fr(`items`,c,s),type:`line-items`,span:4,options:{title:c.label,relation:Pn(c)}}),n.related===`panels`)for(let e of r)a.push({id:fr(`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:er((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 et({id:n.id??dr(e.objectRef),allowed:ur,models:o.length>0?o:void 0,defaults:a})}function mr(e){return e===`exclusive`||e===`inclusive`||e===`none`}function hr(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return mr(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 gr(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 _r(e){return typeof e==`number`&&Number.isSafeInteger(e)?e:null}function vr(e){let t=0;for(let n of e){if(n==null||n===``)continue;let e=_r(n);if(e===null||(t+=e,!Number.isSafeInteger(t)))return null}return t}function yr(e,t){let n=e?.lineAmountType===`inclusive`,r=_r(e?.subtotal),i=_r(e?.discount),a=_r(e?.tax),o=_r(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 br(e,t){let n=e.filter(e=>e.kind===`children`);return t.length===0?n.slice(0,20):t.map(e=>n.find(t=>Pn(t)===e)).filter(e=>e!==void 0)}function xr(e,t){return{title:e.label,model:e.model,field:e.field,filter:`parent`,sort:`createdAt`,direction:`desc`,limit:t,columns:er((e.columns??[]).map(e=>e.key))}}function Sr(e,t,n){let r=Q(t)?t:{},i=sr(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:Pn(e),label:e.label,rows:i,total:c,columns:lr(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 Cr(e){return async(t,n)=>{let r=$n(t.relations,20),i=typeof t.limit==`number`?t.limit:5,a=br(e.relations,r),o=await Promise.allSettled(a.map(t=>new Promise(r=>r(e.records(xr(t,i),n))))),s=[],c;if(o.forEach((t,n)=>{let r=a[n];r&&(t.status===`rejected`?c??=t.reason:s.push(Sr(r,t.value,e.viewAllHref?.(r))))}),s.length===0&&c!==void 0)throw c;return{tabs:s}}}function wr(e,t){let n=e.filter(e=>e.kind===`items`);return typeof t==`string`&&t!==``?n.find(e=>Pn(e)===t):n[0]}function Tr(e,t){return{title:e.label,model:e.model,field:e.field,filter:`parent`,sort:e.sort??`createdAt`,direction:`asc`,limit:t,columns:er((e.columns??[]).map(e=>e.key))}}function Er(e){return async(t,n)=>{let r=wr(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=Sr(r,await e.records(Tr(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 Dr=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`}),Or=c(`<tr><th scope="row" class="svelte-75pkr"> </th><td class="svelte-75pkr"> </td></tr>`),kr=c(`<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>`),Ar=c(`<p class="smrt-chart__empty svelte-75pkr" data-smrt-component="Chart"> </p>`),jr=c(`<div class="smrt-chart smrt-chart--table svelte-75pkr" data-smrt-component="Chart"><!></div>`),Mr=c(`<p class="smrt-chart__delta svelte-75pkr"><span aria-hidden="true"> </span> </p>`),Nr=c(`<div class="smrt-chart smrt-chart--stat svelte-75pkr" data-smrt-component="Chart"><p class="smrt-chart__headline svelte-75pkr"> </p> <p class="smrt-chart__caption svelte-75pkr"> </p> <!></div>`),Pr=d(`<circle class="smrt-chart__slice svelte-75pkr" cx="21" cy="21" r="15.9155" fill="none" stroke-width="6" pathLength="100" transform="rotate(-90 21 21)"></circle>`),Fr=c(`<li class="smrt-chart__legend-item svelte-75pkr"><span class="smrt-chart__swatch svelte-75pkr"></span> <span class="smrt-chart__label svelte-75pkr"> </span> <span class="smrt-chart__value svelte-75pkr"> </span></li>`),Ir=c(`<div class="smrt-chart smrt-chart--pie svelte-75pkr" data-smrt-component="Chart"><svg class="smrt-chart__donut svelte-75pkr" viewBox="0 0 42 42" role="img"></svg> <ul class="smrt-chart__legend svelte-75pkr" aria-hidden="true"></ul> <!></div>`),Lr=c(`<div class="smrt-chart svelte-75pkr" data-smrt-component="Chart"><svg class="smrt-chart__line svelte-75pkr" viewBox="0 0 100 40" preserveAspectRatio="none" role="img"><polyline fill="none" stroke="currentColor" stroke-width="2" vector-effect="non-scaling-stroke"></polyline></svg> <p class="smrt-chart__axis svelte-75pkr" aria-hidden="true"><span> </span> <span> </span></p> <!></div>`),Rr=c(`<li class="smrt-chart__row svelte-75pkr"><span class="smrt-chart__label svelte-75pkr"> </span> <span class="smrt-chart__track svelte-75pkr" aria-hidden="true"><span class="smrt-chart__bar svelte-75pkr"></span></span> <span class="smrt-chart__value svelte-75pkr"> </span></li>`),zr=c(`<ul class="smrt-chart__bars svelte-75pkr" data-smrt-component="Chart"></ul>`);function Br(o,c){h(c,!0);let u=(t,n=p)=>{var i=kr(),o=A(i),c=N(o,!0),u=M(o),d=A(u),m=A(d),h=N(m,!0),g=M(m),_=N(g,!0);s(d),s(u);var b=M(u);f(b,21,()=>e(w),v,(t,n)=>{var r=Or(),i=A(r),a=N(i,!0),o=M(i),c=N(o,!0);s(r),R(t=>{l(a,e(n).label),l(c,t)},[()=>O(e(n).value)]),x(t,r)}),s(b),s(i),R((e,t,o)=>{a(i,1,r(n()?`smrt-chart__table`:`smrt-chart__data`),`svelte-75pkr`),l(c,e),l(h,t),l(_,o)},[()=>y(Dr[`ui.overview.chart.table`]),()=>y(Dr[`ui.overview.chart.label_column`]),()=>y(Dr[`ui.overview.chart.value_column`])]),x(t,i)},d=E(c,`style`,3,`bar`),m=E(c,`title`,3,``),g=E(c,`locale`,3,`en`);function _(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}let{t:y}=ae(),C=n(()=>_(c.data)?c.data:null),w=n(()=>{if(!e(C)||!Array.isArray(e(C).points))return[];let t=[];for(let n of e(C).points.slice(0,60))_(n)&&typeof n.label==`string`&&typeof n.value==`number`&&Number.isFinite(n.value)&&t.push({label:n.label,value:n.value});return t}),T=[`bar`,`line`,`table`,`pie`,`stat`],D=n(()=>T.find(e=>e===d())??`bar`),O=t=>ft(t,{format:e(C)?.format??`integer`,currency:e(C)?.currency,locale:g()}),k=n(()=>Math.max(0,...e(w).map(e=>e.value))),j=n(()=>Math.min(0,...e(w).map(e=>e.value))),ee=n(()=>e(k)-e(j)||1),te=n(()=>e(w).map((t,n)=>{let r=e(w).length===1?50:n/(e(w).length-1)*100,i=36-(t.value-e(j))/e(ee)*32;return`${r.toFixed(2)},${i.toFixed(2)}`}).join(` `)),P=n(()=>e(w).reduce((e,t)=>e+Math.max(0,t.value),0)),F=n(()=>{let t=0;return e(w).map((n,r)=>{let i=e(P)>0?Math.max(0,n.value)/e(P)*100:0,a={...n,index:r,share:i,offset:t};return t+=i,a})}),L=e=>ft(e/100,{format:`percent`,locale:g()}),B=n(()=>e(w).at(-1)),V=n(()=>{if(e(C)&&typeof e(C).delta==`number`&&Number.isFinite(e(C).delta))return e(C).delta;let t=e(w).at(-2);return!e(B)||!t||t.value===0?null:(e(B).value-t.value)/Math.abs(t.value)*100}),ne=n(()=>e(V)===null||e(V)===0?``:y(Dr[e(V)>0?`ui.overview.metric.change_up`:`ui.overview.metric.change_down`],{value:ft(Math.abs(e(V))/100,{format:`percent`,locale:g()})})),H=n(()=>`${m()}. ${y(Dr[`ui.overview.chart.summary`],{count:e(w).length})}`);var re=S(),ie=I(re),U=e=>{var t=Ar(),n=N(t,!0);R(e=>l(n,e),[()=>y(Dr[`ui.overview.no_data`])]),x(e,t)},W=e=>{var t=jr(),n=A(t);u(n,()=>!1),s(t),x(e,t)},oe=n=>{var r=S(),i=I(r),a=n=>{var r=Nr(),i=A(r),a=N(i,!0),o=M(i,2),c=N(o,!0),u=M(o,2),d=t=>{var n=Mr(),r=A(n),i=N(r,!0),a=M(r);s(n),R(()=>{z(n,`data-direction`,(e(V)??0)>0?`up`:`down`),l(i,(e(V)??0)>0?`▲`:`▼`),l(a,` ${e(ne)??``}`)}),x(t,n)};t(u,t=>{e(ne)&&t(d)}),s(r),R(t=>{l(a,t),l(c,e(B).label)},[()=>O(e(B).value)]),x(n,r)};t(i,t=>{e(B)&&t(a)}),x(n,r)},G=n=>{var r=S(),i=I(r),a=n=>{var r=Ir(),i=A(r);f(i,21,()=>e(F),e=>e.index,(n,r)=>{var i=S(),a=I(i),o=t=>{var n=Pr();R(()=>{z(n,`data-slot`,e(r).index%8),z(n,`stroke-dasharray`,`${e(r).share??``} ${100-e(r).share}`),z(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(F),e=>e.index,(t,n)=>{var r=Fr(),i=A(r),a=M(i,2),o=N(a,!0),c=M(a,2),u=N(c);s(r),R((t,r)=>{z(i,`data-slot`,e(n).index%8),l(o,e(n).label),l(u,`${t??``} · ${r??``}`)},[()=>O(e(n).value),()=>L(e(n).share)]),x(t,r)}),s(a);var o=M(a,2);u(o,()=>!0),s(r),R(()=>z(i,`aria-label`,e(H))),x(n,r)},o=e=>{var t=Ar(),n=N(t,!0);R(e=>l(n,e),[()=>y(Dr[`ui.overview.no_data`])]),x(e,t)};t(i,t=>{e(P)>0?t(a):t(o,-1)}),x(n,r)},K=t=>{var n=Lr(),r=A(n),i=N(r),a=M(r,2),o=A(a),c=N(o,!0),d=M(o,2),f=N(d,!0);s(a);var p=M(a,2);u(p,()=>!0),s(n),R(()=>{z(r,`aria-label`,e(H)),z(i,`points`,e(te)),l(c,e(w)[0].label),l(f,e(w)[e(w).length-1].label)}),x(t,n)},se=t=>{var n=zr();f(n,21,()=>e(w),v,(t,n)=>{var r=Rr(),i=A(r),a=N(i,!0),o=M(i,2),c=A(o);let u;s(o);var d=M(o,2),f=N(d,!0);s(r),R((t,r)=>{l(a,e(n).label),u=b(c,``,u,{"inline-size":t}),l(f,r)},[()=>`${e(k)>0?Math.max(0,e(n).value)/e(k)*100:0}%`,()=>O(e(n).value)]),x(t,r)}),s(n),R(()=>z(n,`aria-label`,e(H))),x(t,n)};t(ie,t=>{e(w).length===0?t(U):e(D)===`table`?t(W,1):e(D)===`stat`?t(oe,2):e(D)===`pie`?t(G,3):e(D)===`line`?t(K,4):t(se,-1)}),x(o,re),i()}var Vr=c(`<div data-smrt-component="ChartWidget"><!></div>`);function Hr(t,r){h(r,!0);var a=Vr(),o=A(a);{let t=n(()=>r.data??null),i=n(()=>String(r.options.style??`bar`));Br(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 Ur=c(`<a class="smrt-metric__value svelte-16na9c5"> </a>`),Wr=c(`<p class="smrt-metric__value svelte-16na9c5"> </p>`),Gr=c(`<p class="smrt-metric__label svelte-16na9c5"> </p>`),Kr=c(`<p class="smrt-metric__change svelte-16na9c5"><span aria-hidden="true"> </span> </p>`),qr=c(`<div class="smrt-metric svelte-16na9c5" data-smrt-component="MetricWidget"><!> <!> <!></div>`),Jr=c(`<p class="smrt-metric__label svelte-16na9c5" data-smrt-component="MetricWidget"> </p>`);function Yr(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)?ft(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:ft(Math.abs(e(f))/100,{format:`percent`,locale:a.locale})})),m=n(()=>e(c)&&typeof e(c).href==`string`?gt(e(c).href):null);var g=S(),_=I(g),v=n=>{var r=qr(),i=A(r),a=t=>{var n=Ur(),r=N(n,!0);R(()=>{z(n,`href`,e(m)),l(r,e(d))}),x(t,n)},o=t=>{var n=Wr(),r=N(n,!0);R(()=>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=Gr(),r=N(n,!0);R(()=>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=Kr(),r=A(n),i=N(r,!0),a=M(r);s(n),R(()=>{z(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=Jr(),n=N(t,!0);R(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 Xr=(n,r=p)=>{var i=S(),a=I(i);f(a,17,r,v,(n,r)=>{var i=S(),a=I(i),o=t=>{var n=u();R(()=>l(n,e(r).text)),x(t,n)},c=t=>{var n=Zr(),i=N(n,!0);R(()=>l(i,e(r).text)),x(t,n)},d=t=>{var n=Qr();Xr(A(n),()=>e(r).children),s(n),x(t,n)},f=t=>{var n=$r();Xr(A(n),()=>e(r).children),s(n),x(t,n)},p=t=>{var n=ei();Xr(A(n),()=>e(r).children),s(n),R(()=>z(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)},Zr=c(`<code class="svelte-h4l6y5"> </code>`),Qr=c(`<strong><!></strong>`),$r=c(`<em><!></em>`),ei=c(`<a rel="noopener noreferrer" class="svelte-h4l6y5"><!></a>`),ti=c(`<p class="smrt-note__empty svelte-h4l6y5" data-smrt-component="NoteWidget"> </p>`),ni=c(`<p class="smrt-note__heading svelte-h4l6y5"><strong><!></strong></p>`),ri=c(`<p class="svelte-h4l6y5"><!></p>`),ii=c(`<blockquote class="svelte-h4l6y5"><!></blockquote>`),ai=c(`<li><!></li>`),oi=c(`<ol class="svelte-h4l6y5"></ol>`),si=c(`<ul class="svelte-h4l6y5"></ul>`),ci=c(`<pre class="svelte-h4l6y5"><code class="svelte-h4l6y5"> </code></pre>`),li=c(`<div class="smrt-note svelte-h4l6y5" data-smrt-component="NoteWidget"></div>`);function ui(r,a){h(a,!0);let{t:o}=ae(),c=n(()=>yt(typeof a.options.body==`string`?a.options.body:``));var u=S(),d=I(u),p=e=>{var t=ti(),n=N(t,!0);R(e=>l(n,e),[()=>o(Z[`ui.overview.no_data`])]),x(e,t)},m=n=>{var r=li();f(r,21,()=>e(c),v,(n,r)=>{var i=S(),a=I(i),o=t=>{var n=ni(),i=A(n);Xr(A(i),()=>e(r).children),s(i),s(n),R(()=>z(n,`data-level`,e(r).level)),x(t,n)},c=t=>{var n=ri();Xr(A(n),()=>e(r).children),s(n),x(t,n)},u=t=>{var n=ii();Xr(A(n),()=>e(r).children),s(n),x(t,n)},d=n=>{var i=S(),a=I(i),o=t=>{var n=oi();f(n,21,()=>e(r).items,v,(t,n)=>{var r=ai();Xr(A(r),()=>e(n)),s(r),x(t,r)}),s(n),x(t,n)},c=t=>{var n=si();f(n,21,()=>e(r).items,v,(t,n)=>{var r=ai();Xr(A(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=ci(),i=A(n),a=N(i,!0);s(n),R(()=>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 di=c(`<code class="svelte-13uvxec"> </code>`),fi=c(`<a class="smrt-record-table__link svelte-13uvxec"><!></a>`),pi=c(`<div class="smrt-record-table svelte-13uvxec" data-smrt-component="RecordTable" role="group"><!></div>`);function mi(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)?ir(e(f),d(),e(y)):String(d()??``)),h=n(()=>e(p)===``&&o().id===e(g)?c().title:e(p));var v=S(),b=I(v),C=n=>{var r=fi(),i=A(r),a=t=>{var n=di(),r=N(n,!0);R(()=>l(r,e(h))),x(t,n)},o=t=>{var n=u();R(()=>l(n,e(h))),x(t,n)};t(i,t=>{e(f)?.role===`identifier`?t(a):t(o,-1)}),s(r),R(()=>z(r,`href`,c().href)),x(n,r)},w=t=>{{let r=n(()=>nr(d(),a.statusTones));se(t,{size:`sm`,get variant(){return e(r)},children:(t,n)=>{_();var r=u();R(()=>l(r,e(h))),x(t,r)},$$slots:{default:!0}})}},T=t=>{var n=di(),r=N(n,!0);R(()=>l(r,e(h))),x(t,n)},E=t=>{var n=u();R(()=>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`?gt(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}`,...ar(t.role)?{align:`right`}:{},summaryFormat:n=>ir(t,n,e(y))}))),C=n(()=>{if(!c()||a.columns.length===0)return;let t={},n=d()??a.rows.length;e(g)&&!ar(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(!or(n))continue;let r=a.summaryValues?.[n.key];typeof r==`number`&&Number.isFinite(r)?t[n.key]=()=>ir(n,r,e(y)):e(v)?t[n.key]=`sum`:t[n.key]=()=>``}return t});var w=pi(),T=A(w);{let t=n(()=>f(Z[`ui.overview.table.total`]));X(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),R(()=>z(w,`aria-label`,a.label)),x(r,w),i()}var hi=c(`<p class="smrt-records__foot smrt-records__foot--end svelte-1ouw4wc" data-smrt-component="RecordListWidget"><a class="svelte-1ouw4wc"> </a></p>`),gi=c(`<!> <!>`,1),_i=c(`<p class="smrt-records__empty svelte-1ouw4wc" data-smrt-component="RecordListWidget"> </p>`),vi=c(`<a class="smrt-records__title svelte-1ouw4wc"> </a>`),yi=c(`<span class="smrt-records__title svelte-1ouw4wc"> </span>`),bi=c(`<span class="smrt-records__sub svelte-1ouw4wc"> </span>`),xi=c(`<span class="smrt-records__meta svelte-1ouw4wc"> </span>`),Si=c(`<li class="smrt-records__row svelte-1ouw4wc"><span class="smrt-records__main svelte-1ouw4wc"><!> <!></span> <!></li>`),Ci=c(`<ul class="smrt-records svelte-1ouw4wc" data-smrt-component="RecordListWidget"></ul>`),wi=c(`<span> </span>`),Ti=c(`<a class="svelte-1ouw4wc"> </a>`),Ei=c(`<p class="smrt-records__foot svelte-1ouw4wc" data-smrt-component="RecordListWidget"><!> <!></p>`);function Di(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`?gt(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`?gt(a.data.href):null),p=n(()=>lr($n(a.options?.columns),Q(a.data)?a.data.columns:void 0)),m=n(()=>sr(a.data)),g=n(()=>typeof a.options?.summaries==`boolean`?a.options.summaries:e(p).some(e=>or(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=gi(),b=I(y),S=r=>{var i=gi(),c=I(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);mi(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=hi(),r=A(n),i=N(r,!0);s(n),R(t=>{z(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=_i(),n=N(t,!0);R(e=>l(n,e),[()=>o(Z[`ui.overview.records.empty`])]),x(e,t)},w=n=>{var r=Ci();f(r,21,()=>e(c),e=>e.id,(n,r)=>{var i=Si(),a=A(i),o=A(a),c=t=>{var n=vi(),i=N(n,!0);R(()=>{z(n,`href`,e(r).href),l(i,e(r).title)}),x(t,n)},u=t=>{var n=yi(),i=N(n,!0);R(()=>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=bi(),i=N(n,!0);R(()=>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=xi(),i=N(n,!0);R(()=>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=Ei(),i=A(r),c=t=>{var n=wi(),r=N(n,!0);R(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=Ti(),r=N(n,!0);R(t=>{z(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 Oi=c(`<p class="smrt-shortcuts__empty svelte-1nfxkds" data-smrt-component="ShortcutsWidget"> </p>`),ki=c(`<span class="smrt-shortcuts__count svelte-1nfxkds"> </span>`),Ai=c(`<span class="smrt-shortcuts__desc svelte-1nfxkds"> </span>`),ji=c(`<li class="smrt-shortcuts__card svelte-1nfxkds"><a class="smrt-shortcuts__link svelte-1nfxkds"><span class="smrt-shortcuts__heading svelte-1nfxkds"><span class="smrt-shortcuts__icon svelte-1nfxkds"><!></span> <span class="smrt-shortcuts__title svelte-1nfxkds"> </span> <!></span> <!></a></li>`),Mi=c(`<ul class="smrt-shortcuts svelte-1nfxkds" data-smrt-component="ShortcutsWidget"></ul>`);function Ni(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`?gt(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:pe,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(),_=I(g),v=e=>{var t=Oi(),n=N(t,!0);R(e=>l(n,e),[()=>c(Z[`ui.overview.shortcuts.empty`])]),x(e,t)},y=n=>{var r=Mi();f(r,21,()=>e(m),e=>e.id,(n,r)=>{var i=ji(),o=A(i),c=A(o),u=A(c),d=A(u);he(d,{get name(){return e(r).icon},size:28,get iconComponent(){return a.iconComponent}}),s(u);var f=M(u,2),m=N(f,!0),h=M(f,2),g=t=>{var n=ki(),i=N(n,!0);R(e=>l(i,e),[()=>p(e(r).count)]),x(t,n)};t(h,t=>{e(r).count!==void 0&&t(g)}),s(c);var _=M(c,2),v=t=>{var n=Ai(),i=N(n,!0);R(()=>l(i,e(r).description)),x(t,n)};t(_,t=>{e(r).description&&t(v)}),s(o),s(i),R(()=>{z(o,`href`,e(r).href),l(m,e(r).label)}),x(n,i)}),s(r),R(()=>z(r,`data-presentation`,o())),x(n,r)};t(_,t=>{e(m).length===0?t(v):t(y,-1)}),x(r,g),i()}var Pi={key:`title`,type:`text`,label:`ui.overview.opt.title`,help:`ui.overview.opt.title_help`,maxLength:80},Fi={key:`model`,type:`model`,label:`ui.overview.opt.model`,help:`ui.overview.opt.model_help`,required:!0},Ii={key:`filter`,type:`identifier`,label:`ui.overview.opt.filter`,help:`ui.overview.opt.filter_help`},Li={key:`field`,type:`identifier`,label:`ui.overview.opt.field`,help:`ui.overview.opt.field_help`},Ri={key:`parentField`,type:`identifier`,label:`ui.overview.opt.parent_field`,help:`ui.overview.opt.parent_field_help`},zi={key:`columns`,type:`text`,label:`ui.overview.opt.columns`,help:`ui.overview.opt.columns_help`,maxLength:400},Bi={key:`summaries`,type:`boolean`,label:`ui.overview.opt.summaries`,help:`ui.overview.opt.summaries_help`},Vi=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 Hi(e){return{type:`metric`,title:`ui.overview.widget.metric.title`,description:`ui.overview.widget.metric.description`,icon:`layers`,options:[Pi,Fi,Vi([`count`,`sum`,`avg`,`min`,`max`]),Li,Ii,Ri],component:Yr,load:e}}function Ui(e,t){return t>=1&&t<2?{...e}:null}function Wi(e){return{type:`chart`,title:`ui.overview.widget.chart.title`,description:`ui.overview.widget.chart.description`,icon:`repeat`,options:[Pi,Fi,{key:`groupBy`,type:`identifier`,label:`ui.overview.opt.group_by`},Vi([`count`,`sum`,`avg`]),Li,{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`}]},Ii],component:Hr,load:e,version:2,migrate:Ui,defaultSpan:2}}function Gi(e){return{type:`records`,title:`ui.overview.widget.records.title`,description:`ui.overview.widget.records.description`,icon:`fileText`,options:[Pi,Fi,{key:`sort`,type:`identifier`,label:`ui.overview.opt.sort`},Li,{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},Ii,zi,Bi],component:Di,load:e,defaultSpan:2}}function Ki(e){return{type:`shortcuts`,title:`ui.overview.widget.shortcuts.title`,description:`ui.overview.widget.shortcuts.description`,icon:`home`,options:[Pi,{key:`section`,type:`identifier`,label:`ui.overview.opt.section`,help:`ui.overview.opt.section_help`}],component:Ni,load:e,defaultSpan:4}}function qi(){return{type:`note`,title:`ui.overview.widget.note.title`,description:`ui.overview.widget.note.description`,icon:`fileText`,options:[Pi,{key:`body`,type:`markdown`,label:`ui.overview.opt.body`,help:`ui.overview.opt.body_help`,default:``,maxLength:4e3}],component:ui,defaultSpan:2}}function Ji(e=it,t={},n={}){let r=[e.register(qi(),n)];return t.metric&&r.push(e.register(Hi(t.metric),n)),t.chart&&r.push(e.register(Wi(t.chart),n)),t.records&&r.push(e.register(Gi(t.records),n)),t.shortcuts&&r.push(e.register(Ki(t.shortcuts),n)),()=>{for(let e of r)e()}}var Yi=c(`<p class="smrt-line-items__empty svelte-1q5no7f"> </p>`),Xi=c(`<div class="smrt-line-items__total svelte-1q5no7f"><dt class="svelte-1q5no7f"> </dt><dd class="svelte-1q5no7f"> </dd></div>`),Zi=c(`<div class="smrt-line-items__total smrt-line-items__total--muted svelte-1q5no7f"><dt class="svelte-1q5no7f"> </dt></div>`),Qi=c(`<dd class="svelte-1q5no7f"> </dd>`),$i=c(`<div class="smrt-line-items__total smrt-line-items__total--muted svelte-1q5no7f"><dt class="svelte-1q5no7f"> </dt> <!></div>`),ea=c(`<dl class="smrt-line-items__totals svelte-1q5no7f" data-money-snapshot="stored"><!> <!> <!> <!> <div class="smrt-line-items__total smrt-line-items__total--grand svelte-1q5no7f"><dt class="svelte-1q5no7f"> </dt><dd class="svelte-1q5no7f"> </dd></div> <!></dl>`),ta=c(`<span class="smrt-line-items__computed svelte-1q5no7f"> </span>`),na=c(`<div><dt class="svelte-1q5no7f"> <!></dt> <dd class="svelte-1q5no7f"> </dd></div>`),ra=c(`<dl class="smrt-line-items__totals svelte-1q5no7f"></dl>`),ia=c(`<p class="smrt-line-items__flag svelte-1q5no7f"><strong> </strong> </p>`),aa=c(`<p class="smrt-line-items__foot svelte-1q5no7f"><a class="svelte-1q5no7f"> </a></p>`),oa=c(`<div class="smrt-line-items svelte-1q5no7f" data-smrt-component="LineItemsWidget"><!> <!> <!> <!></div>`);function sa(r,o){h(o,!0);let{t:c}=ae(),u=n(()=>sr(o.data)),d=n(()=>lr([],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:vr(e(u).map(t=>t.cells?.[e(_)]))}),y=n(()=>yr(Q(o.data)&&Q(o.data.totals)?o.data.totals:void 0,e(v))),b=n(()=>Q(o.data)&&hr(o.data.storedTotals)?o.data.storedTotals:void 0),C=n(()=>e(b)?gr(e(b).taxes).filter(e=>e.tax!==0):[]),w=n(()=>e(C).length>0),T=n(()=>Q(o.data)&&typeof o.data.href==`string`?gt(o.data.href):null);function E(t){return ir({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 O=oa(),k=A(O),j=t=>{mi(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)}})},ee=e=>{var t=Yi(),n=N(t,!0);R(e=>l(n,e),[()=>c(Z[`ui.overview.line_items.empty`])]),x(e,t)};t(k,t=>{e(u).length>0&&e(d).length>0?t(j):t(ee,-1)});var te=M(k,2),P=n=>{var r=ea(),i=A(r),a=t=>{var n=Xi(),r=A(n),i=N(r,!0),a=M(r),o=N(a,!0);s(n),R((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=Zi(),r=A(n),i=N(r);s(n),R((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=$i(),a=A(i),o=N(a),u=M(a,2),d=t=>{var n=Qi(),i=N(n,!0);R(e=>l(i,e),[()=>E(e(r).tax)]),x(t,n)};t(u,t=>{e(b).lineAmountType!==`inclusive`&&t(d)}),s(i),R((e,t)=>l(o,`${e??``} ${t??``}`),[()=>c(Z[e(b).lineAmountType===`inclusive`?`ui.overview.line_items.tax_included`:`ui.overview.line_items.tax_on`],{name:e(r).name,percent: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=Zi(),n=A(t),r=N(n,!0);s(t),R(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=A(h),_=N(g,!0),v=M(g),y=N(v,!0);s(h);var S=M(h,2),T=t=>{var n=Xi(),r=A(n),i=N(r,!0),a=M(r),o=N(a,!0);s(n),R((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),R((e,t)=>{l(_,e),l(y,t)},[()=>c(Z[`ui.overview.line_items.total`]),()=>E(e(b).total)]),x(n,r)},F=n=>{var r=ra();f(r,21,()=>e(y).lines,e=>e.key,(n,r)=>{var i=S(),o=I(i),u=t=>{var n=Zi(),i=A(n),a=N(i);s(n),R((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=na();let o;var u=A(i),d=A(u),f=M(d),p=e=>{var t=ta(),n=N(t,!0);R(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=N(m,!0);s(i),R((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(te,t=>{e(b)?t(P):e(y).lines.length>0&&t(F,1)});var L=M(te,2),B=t=>{var n=ia(),r=A(n),i=N(r,!0),a=M(r);s(n),R((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(L,t=>{!e(b)&&e(y).mismatch&&t(B)});var V=M(L,2),ne=t=>{var n=aa(),r=A(n),i=N(r,!0);s(n),R(t=>{z(r,`href`,e(T)),l(i,t)},[()=>c(Z[`ui.overview.records.view_all`])]),x(t,n)};t(V,t=>{e(T)&&t(ne)}),s(O),x(r,O),i()}var ca=c(`<p class="smrt-related__empty svelte-ka1ryg" data-smrt-component="RelatedWidget"> </p>`),la=c(`<a> </a>`),ua=c(`<li><!></li>`),da=c(`<ul class="smrt-related__list svelte-ka1ryg"></ul>`),fa=c(`<p class="smrt-related__foot svelte-ka1ryg"><a class="svelte-ka1ryg"> </a></p>`),pa=c(`<!> <!>`,1),ma=c(`<div class="smrt-related svelte-ka1ryg" data-smrt-component="RelatedWidget"><!></div>`);function ha(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=sr(t),r=typeof t.total==`number`&&Number.isFinite(t.total)?t.total:n.length;if(n.length===0||r===0)continue;let i=lr([],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`?gt(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=I(m),_=e=>{var t=ca(),n=N(t,!0);R(e=>l(n,e),[()=>o(Z[`ui.overview.related.empty`])]),x(e,t)},v=r=>{var i=ma(),m=A(i);{let r=n(()=>e(c).map(e=>({id:e.key,label:e.label,count:e.total})));Se(m,{get tabs(){return e(r)},get active(){return e(p).key},onchange:e=>B(d,e,!0),size:`sm`,variant:`secondary`,get"aria-label"(){return a.title},children:(r,i)=>{var c=S(),d=I(c);V(d,()=>e(p).key,r=>{var i=pa(),c=I(i),d=t=>{mi(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=da();f(i,21,()=>e(p).rows,e=>e.id,(r,i)=>{var a=ua(),o=A(a),c=t=>{var n=la(),r=N(n,!0);R(t=>{z(n,`href`,t),l(r,e(i).title)},[()=>gt(e(i).href)]),x(t,n)},d=n(()=>e(i).href&>(e(i).href)),f=t=>{var n=u();R(()=>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=fa(),r=A(n),i=N(r,!0);s(n),R(t=>{z(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 ga(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:ha,load:e,defaultSpan:4}}function _a(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:sa,load:e,defaultSpan:4}}function va(e=it,t,n={}){let r=[e.register(ga(Cr(t)),n),e.register(_a(Er(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.`}),ya=(e,t=p)=>{var n=ba(),r=N(n,!0);R(e=>{z(n,`title`,t()),l(r,e)},[()=>Xn(t())]),x(e,n)},ba=c(`<code> </code>`),xa=c(`<h2 class="smrt-detail-screen__group-title svelte-c1e3gm"> </h2>`),Sa=c(`<span class="smrt-detail-screen__empty svelte-c1e3gm"> </span>`),Ca=c(`<div class="svelte-c1e3gm"><dt class="svelte-c1e3gm"> </dt> <dd class="svelte-c1e3gm"> </dd></div>`),wa=c(`<dl class="smrt-detail-screen__pairs svelte-c1e3gm"></dl>`),Ta=c(`<pre class="smrt-detail-screen__block svelte-c1e3gm"> </pre>`),Ea=c(`<a> </a>`),Da=c(`<a class="smrt-detail-screen__reference"><!></a>`),Oa=c(`<span class="smrt-detail-screen__reference"> </span>`),ka=c(`<div class="smrt-detail-screen__field svelte-c1e3gm"><dt class="svelte-c1e3gm"> </dt> <dd class="svelte-c1e3gm"><!></dd></div>`),Aa=c(`<section class="smrt-detail-screen__group"><!> <dl class="smrt-detail-screen__fields svelte-c1e3gm"></dl></section>`),ja=c(`<!> <!> <!> <!>`,1),Ma=c(`<!> <!> <!> <!> <!>`,1),Na=c(`<!> <article data-smrt-component="DetailScreen"><!></article> <!>`,1);function Pa(r,c){h(c,!0);let d=(r,i=p)=>{var a=S(),o=I(a);f(o,17,()=>Nn(i()),([e,t])=>e??``,(r,i)=>{var a=n(()=>y(e(i),2));let o=()=>e(a)[0],d=()=>e(a)[1];var p=Aa(),m=A(p),h=e=>{var t=xa(),n=N(t,!0);R(()=>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=ka(),d=A(o),p=N(d,!0),m=M(d,2),h=A(m),g=e=>{var t=Sa(),n=N(t,!0);R(e=>l(n,e),[()=>T($[`ui.screens.not_set`])]),x(e,t)},_=r=>{let o=n(()=>Yn(c.record[e(i).name]));var u=S(),d=I(u),p=t=>{var n=wa();f(n,21,()=>e(o),e=>e.key,(t,n)=>{var r=Ca(),i=A(r),a=N(i,!0),o=M(i,2),c=N(o,!0);s(r),R(t=>{l(a,t),l(c,e(n).value)},[()=>Cn(e(n).key)]),x(t,r)}),s(n),x(t,n)},m=t=>{var n=Ta(),r=N(n,!0);R(()=>l(r,e(a))),x(t,n)};t(d,t=>{e(o)?t(p):t(m,-1)}),x(r,u)},v=t=>{var n=Ta(),r=N(n,!0);R(()=>l(r,e(a))),x(t,n)},y=t=>{var n=Ea(),r=N(n,!0);R(t=>{z(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(()=>oe(e(i),e(a)));var f=S(),p=I(f),m=n=>{var r=Da(),i=A(r),c=t=>{var n=u();R(()=>l(n,e(d))),x(t,n)},f=t=>{ya(t,()=>e(a))};t(i,t=>{e(d)?t(c):t(f,-1)}),s(r),R(()=>z(r,`href`,e(o))),x(n,r)},h=t=>{var n=Oa(),r=N(n,!0);R(()=>l(r,e(d))),x(t,n)},g=t=>{ya(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();R(()=>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),R(()=>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(),O=n(()=>Tn(c.definition)),k=n(()=>On(c.definition,m())),j=n(()=>e(k)?[]:Mn(c.definition,m(),{mode:`view`,include:c.fields})),ee=n(()=>c.exclude?e(j).filter(e=>!c.exclude.includes(e.name)):e(j)),te=n(()=>C()?e(ee).filter(e=>ie(e)!==``):e(ee)),P=n(()=>C()?e(ee).filter(e=>ie(e)===``):[]),F=n(()=>e(te).filter(e=>e.tier===`basic`)),L=n(()=>e(te).filter(e=>e.tier===`advanced`)),V=n(()=>{if(c.title)return c.title;let t=e(j).find(e=>e.kind===`text`&&e.tier===`basic`),n=t?c.record[t.name]:void 0;return typeof n==`string`&&n.trim()!==``?n:e(O).singular}),re=n(()=>({currency:c.currency,locale:c.locale,yes:T($[`ui.screens.yes`]),no:T($[`ui.screens.no`])}));function ie(t){return Wn(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 W(e){return b().find(t=>t.kind===`reference`&&t.field===e.name)?.model}function oe(e,t){let n=W(e),r=n?c.labels?.[n]?.(t):void 0;return r&&r.trim()!==``?r:void 0}let G=D(!1),K=D(!1);async function se(){B(K,!1);try{await c.ondelete?.(),B(G,!1)}catch{B(K,!0),B(G,!1)}}var J=Na(),Y=I(J),le=n=>{xe(n,{get title(){return e(V)},actions:n=>{var r=ja(),i=I(r),a=t=>{ce(t,{variant:`ghost`,get onclick(){return c.onback},children:(t,n)=>{_();var r=u();R(e=>l(r,e),[()=>c.backLabel??T($[`ui.screens.back`],{name:e(O).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=I(t);o(n,()=>c.extraActions),x(e,t)};t(s,e=>{c.extraActions&&e(d)});var f=M(s,2),p=e=>{ce(e,{variant:`secondary`,get onclick(){return c.onedit},children:(e,t)=>{_();var n=u();R(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=>{ce(e,{variant:`danger`,onclick:()=>B(G,!0),children:(e,t)=>{_();var n=u();R(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(Y,e=>{g()&&e(le)});var ue=M(Y,2);let de;var fe=A(ue),pe=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();R(()=>l(r,e(k))),x(t,r)},$$slots:{default:!0}})},me=r=>{var i=Ma(),a=I(i),s=e=>{H(e,{variant:`error`,dismissible:!0,ondismiss:()=>B(K,!1),children:(e,t)=>{_();var n=u();R(e=>l(n,e),[()=>T($[`ui.screens.delete_failed`])]),x(e,n)},$$slots:{default:!0}})};t(a,t=>{e(K)&&t(s)});var f=M(a,2);d(f,()=>e(F));var m=M(f,2),h=t=>{{let r=n(()=>T($[`ui.screens.more_details`]));q(t,{get title(){return e(r)},children:(t,n)=>{d(t,()=>e(L))},$$slots:{default:!0}})}};t(m,t=>{e(L).length>0&&t(h)});var g=M(m,2),v=t=>{{let r=n(()=>T($[`ui.screens.show_empty`],{count:e(P).length}));q(t,{get title(){return e(r)},children:(t,n)=>{d(t,()=>e(P))},$$slots:{default:!0}})}};t(g,t=>{e(P).length>0&&t(v)});var y=M(g,2);o(y,()=>c.children??p),x(r,i)};t(fe,t=>{e(k)?t(pe):t(me,-1)}),s(ue);var he=M(ue,2),X=t=>{{let r=n(()=>T($[`ui.screens.delete_title`],{name:e(O).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(G)},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:se,oncancel:()=>B(G,!1)})}};t(he,e=>{c.ondelete&&e(X)}),R(e=>{de=a(ue,1,`smrt-detail-screen svelte-c1e3gm`,null,de,{"smrt-detail-screen--card":w()===`card`}),z(ue,`aria-label`,e)},[()=>w()===`card`?T($[`ui.screens.details`]):e(V)]),x(r,J),i()}var Fa=c(`<small class="smrt-edit-form__hint svelte-6ki7lf"> </small>`),Ia=c(`<small class="smrt-edit-form__error svelte-6ki7lf" role="alert"> </small>`),La=c(`<div class="smrt-edit-form__check svelte-6ki7lf"><!> <!> <!></div>`),Ra=c(`<option> </option>`),za=c(`<!> <!> <!>`,1),Ba=c(`<legend class="svelte-6ki7lf"> </legend>`),Va=c(`<fieldset class="smrt-edit-form__group svelte-6ki7lf"><!> <!></fieldset>`),Ha=c(`<!> <!>`,1),Ua=c(`<!> <!> <!> <!>`,1),Wa=c(`<!> <section class="smrt-edit-form svelte-6ki7lf" data-smrt-component="EditForm"><!></section>`,1);function Ga(r,a){h(a,!0);let o=(r,i=p)=>{var o=S(),c=I(o),u=t=>{{let r=n(()=>X(i())),o=n(()=>T($[`ui.screens.derived_hint`]));ye(t,{get label(){return e(r)},get hint(){return e(o)},children:(t,r)=>{{let r=n(()=>Wn(i(),a.record?.[i().name],{currency:m()}));le(t,{get name(){return i().name},readonly:!0,get value(){return e(r)}})}},$$slots:{default:!0}})}},d=n(()=>V(i())),h=r=>{var a=La(),o=A(a),c=()=>e(U)[i().name]===!0,u=t=>e(U)[i().name]=t;Y(o,{get name(){return i().name},get label(){return i().label},get disabled(){return e(Ce)},get checked(){return c()},set checked(e){u(e)}});var d=M(o,2),f=e=>{var t=Fa(),n=N(t,!0);R(()=>l(n,i().help)),x(e,t)};t(d,e=>{i().help&&e(f)});var p=M(d,2),m=e=>{var t=Ia(),n=N(t,!0);R(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(()=>X(i())),o=n(()=>he(i())),s=n(()=>pe(i()));ye(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=I(o),c=r=>{var a=()=>de(i().name),o=e=>fe(i().name,e);be(r,{get name(){return i().name},get disabled(){return e(Ce)},get required(){return i().required},get value(){return a()},set value(e){o(e)},children:(r,a)=>{var o=za(),s=I(o),c=e=>{var t=Ra(),n=N(t,!0);t.value=t.__value=``,R(e=>l(n,e),[()=>T($[`ui.screens.select_none`])]),x(e,t)},u=n(()=>!i().required||de(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=Ra(),r=N(n,!0),i={};R(e=>{l(r,e),i!==(i=t)&&(n.value=(n.__value=i)??``)},[()=>rr(t)]),x(e,n)});var p=M(d,2),m=e=>{var t=Ra(),n=N(t,!0),r={};R((e,i)=>{l(n,e),r!==(r=i)&&(t.value=(t.__value=r)??``)},[()=>de(i().name),()=>de(i().name)]),x(e,t)},h=n(()=>de(i().name)!==``&&!(i().options??[]).includes(de(i().name)));t(p,t=>{e(h)&&t(m)}),x(r,o)},$$slots:{default:!0}})},u=t=>{var r=()=>de(i().name),a=e=>fe(i().name,e);{let o=n(()=>i().kind===`json`?8:4);ve(t,{get name(){return i().name},get rows(){return e(o)},get disabled(){return e(Ce)},get required(){return i().required},get value(){return r()},set value(e){a(e)}})}},d=t=>{var r=()=>de(i().name),a=e=>fe(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);le(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(Ce)},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=I(a);f(c,17,()=>Nn(i()),([e,t])=>e??``,(r,i)=>{var a=n(()=>y(e(i),2));let c=()=>e(a)[0],u=()=>e(a)[1];var d=Va(),p=A(d),m=e=>{var t=Ba(),n=N(t,!0);R(()=>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(),k=n(()=>a.record===void 0),j=n(()=>Tn(a.definition)),te=n(()=>On(a.definition,d())),P=n(()=>a.title??T($[e(k)?`ui.screens.create_title`:`ui.screens.edit_title`],{name:e(j).singular.toLowerCase()})),L=n(()=>e(te)?[]:Mn(a.definition,d(),{mode:`edit`,include:a.fields})),V=e=>w().includes(e.name),ne=n(()=>e(L).filter(e=>e.tier===`basic`)),re=n(()=>e(L).filter(e=>e.tier===`advanced`));function ie(){return a.record?Vn(e(L),a.record,{currency:m()}):Hn(e(L),d(),{currency:m()})}let U=D(ee(ie())),W=D(ee({})),oe=D(ee({})),G=D(!1),K=D(!1),se=D(!1),J=n(()=>`${a.definition.objectRef}:${a.record?String(a.record[a.definition.idField??`id`]):`new`}:${e(L).map(e=>e.name).join(`,`)}`),ue=F(()=>e(J));O(()=>{let t=e(J);t!==ue&&(ue=t,F(()=>{B(U,ie(),!0),B(W,{},!0),B(oe,{},!0),B(G,!1)}))});function de(t){let n=e(U)[t];return typeof n==`string`?n:``}function fe(t,n){e(U)[t]=String(n??``)}function pe(t){let n=e(W)[t.name];return n?T($[`ui.screens.error.${n}`]):b()[t.name]??e(oe)[t.name]}let me=n(()=>e(re).some(t=>e(W)[t.name]||b()[t.name]||e(oe)[t.name]));function he(e){return e.help??void 0}function X(e){return e.kind===`money`?`${e.label} (${m()})`:e.label}async function Se(){if(e(K)||v())return;B(G,!1),B(oe,{},!0);let t=Un(e(L).filter(e=>!V(e)),e(U),{currency:m(),record:a.record});if(B(W,t.errors,!0),Object.keys(t.errors).length>0)e(re).some(e=>t.errors[e.name])&&B(se,!0);else{B(K,!0);try{let n=await a.onsubmit(t.values,{isNew:e(k)});n?.fieldErrors&&(B(oe,{...n.fieldErrors},!0),e(re).some(e=>n.fieldErrors?.[e.name])&&B(se,!0))}catch{B(G,!0)}finally{B(K,!1)}}}let Ce=n(()=>e(K)||v()),we=n(()=>C()??(e(G)?T($[`ui.screens.save_failed`]):null));var Te=Wa(),Ee=I(Te),De=t=>{xe(t,{get title(){return e(P)}})};t(Ee,e=>{g()&&e(De)});var Oe=M(Ee,2),ke=A(Oe),Ae=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();R(()=>l(r,e(te))),x(t,r)},$$slots:{default:!0}})},je=r=>{_e(r,{onsubmit:Se,novalidate:!0,children:(r,i)=>{var o=Ua(),s=I(o),d=t=>{H(t,{variant:`error`,children:(t,n)=>{_();var r=u();R(()=>l(r,e(we))),x(t,r)},$$slots:{default:!0}})};t(s,t=>{e(we)&&t(d)});var f=M(s,2);c(f,()=>e(ne));var p=M(f,2),m=t=>{var r=()=>e(se)||e(me),i=e=>B(se,e,!0);{let a=n(()=>T($[`ui.screens.advanced_fields`]));q(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);ge(h,{children:(n,r)=>{var i=Ha(),o=I(i),s=t=>{ce(t,{type:`button`,variant:`ghost`,get disabled(){return e(Ce)},get onclick(){return a.oncancel},children:(e,t)=>{_();var n=u();R(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);ce(c,{type:`submit`,variant:`primary`,get loading(){return e(Ce)},get disabled(){return e(Ce)},children:(e,t)=>{_();var n=u();R(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(te)?t(Ae):t(je,-1)}),s(Oe),R(()=>z(Oe,`aria-label`,e(P))),x(r,Te),i()}var Ka=c(` <code class="smrt-record-header__id svelte-uiz8xl"> </code>`,1),qa=c(`<code class="smrt-record-header__id smrt-record-header__id--chip svelte-uiz8xl"> </code>`),Ja=c(`<span class="smrt-record-header__sr svelte-uiz8xl"> </span> `,1),Ya=c(`<span aria-hidden="true">⋯</span>`),Xa=c(`<div class="smrt-record-header__menu svelte-uiz8xl"><!> <!></div>`),Za=c(`<code> </code>`),Qa=c(`<a><!></a>`),$a=c(`<a> </a>`),eo=c(`<div class="smrt-record-header__fact svelte-uiz8xl"><dt class="svelte-uiz8xl"> </dt> <dd class="svelte-uiz8xl"><!></dd></div>`),to=c(`<dl class="smrt-record-header__facts svelte-uiz8xl"></dl>`),no=c(`<header class="smrt-record-header svelte-uiz8xl" data-smrt-component="RecordHeader"><!> <div class="smrt-record-header__row svelte-uiz8xl"><div class="smrt-record-header__identity svelte-uiz8xl"><h1 class="smrt-record-header__title svelte-uiz8xl"><!></h1> <!> <!></div> <div class="smrt-record-header__actions svelte-uiz8xl"><!> <!></div></div> <!> <!></header> <!>`,1);function ro(r,a){h(a,!0);let c=E(a,`relations`,19,()=>[]),d=E(a,`deleting`,3,!1),{t:p}=ae(),m=n(()=>Tn(a.definition)),g=n(()=>!!(a.extraActions||a.ondelete)),v=D(!1),y=D(!1),b=D(!1);async function C(){B(b,!1);try{await a.ondelete?.(),B(y,!1)}catch{B(b,!0),B(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`?Wn({kind:`datetime`,definition:{format:`date`}},t,{locale:a.locale}):Wn(e.field,t,{currency:a.currency,locale:a.locale})}function O(e,t){if(e.field.kind===`email`)return`mailto:${t}`;if(e.field.kind===`tel`)return`tel:${t.replace(/[^\d+]/g,``)}`}var k=no(),j=I(k),ee=A(j),te=t=>{ce(t,{variant:`ghost`,size:`sm`,get onclick(){return a.onback},children:(t,n)=>{_();var r=u();R(e=>l(r,e),[()=>a.backLabel??p($[`ui.screens.back`],{name:e(m).plural.toLowerCase()})]),x(t,r)},$$slots:{default:!0}})};t(ee,e=>{a.onback&&e(te)});var P=M(ee,2),F=A(P),L=A(F),V=A(L),re=e=>{var t=Ka(),n=I(t,!0),r=M(n),i=N(r,!0);R(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();R(()=>l(t,a.model.heading)),x(e,t)};t(V,e=>{a.model.headingIdentifier&&a.model.identifier?e(re):e(ie,-1)}),s(L);var U=M(L,2),oe=e=>{var t=qa(),n=N(t,!0);R(()=>{z(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 G=M(U,2),K=t=>{{let r=n(()=>nr(a.model.status.value,a.statusTones));se(t,{get variant(){return e(r)},children:(e,t)=>{var n=Ja(),r=I(n),i=N(r),o=M(r,1,!0);R(e=>{l(i,`${a.model.status.field.label??``}:`),l(o,e)},[()=>rr(a.model.status.value)]),x(e,n)},$$slots:{default:!0}})}};t(G,e=>{a.model.status&&e(K)}),s(F);var q=M(F,2),J=A(q),Y=e=>{ce(e,{variant:`primary`,get onclick(){return a.onedit},children:(e,t)=>{_();var n=u();R(e=>l(n,e),[()=>p($[`ui.screens.edit`])]),x(e,n)},$$slots:{default:!0}})};t(J,e=>{a.onedit&&e(Y)});var le=M(J,2),ue=r=>{{let i=e=>{var t=Ya();x(e,t)},c=n(()=>p($[`ui.screens.more_actions`])),d=n(()=>p($[`ui.screens.more_actions`]));W(r,{get label(){return e(c)},get triggerLabel(){return e(d)},variant:`icon`,placement:`bottom-end`,get open(){return e(v)},set open(e){B(v,e,!0)},trigger:i,children:(e,n)=>{var r=Xa(),i=A(r),c=e=>{var t=S(),n=I(t);o(n,()=>a.extraActions),x(e,t)};t(i,e=>{a.extraActions&&e(c)});var d=M(i,2),f=e=>{ce(e,{variant:`danger`,onclick:()=>{B(v,!1),B(y,!0)},children:(e,t)=>{_();var n=u();R(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(le,t=>{e(g)&&t(ue)}),s(q),s(P);var de=M(P,2),fe=r=>{var i=to();f(i,21,()=>a.model.facts,e=>e.field.name,(r,i)=>{let o=n(()=>T(e(i)));var c=eo(),d=A(c),f=N(d,!0),p=M(d,2),m=A(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=I(f),m=n=>{var r=Qa(),i=A(r),a=t=>{var n=u();R(()=>l(n,e(d))),x(t,n)},f=t=>{var n=Za(),r=N(n,!0);R(t=>{z(n,`title`,e(o)),l(r,t)},[()=>Xn(e(o))]),x(t,n)};t(i,t=>{e(d)?t(a):t(f,-1)}),s(r),R(()=>z(r,`href`,e(c))),x(n,r)},h=t=>{var n=u();R(()=>l(n,e(d))),x(t,n)},g=t=>{var n=Za(),r=N(n,!0);R(t=>{z(n,`title`,e(o)),l(r,t)},[()=>Xn(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=$a(),r=N(n,!0);R(t=>{z(n,`href`,t),l(r,e(o))},[()=>O(e(i),e(o))]),x(t,n)},_=n(()=>e(i).kind===`contact`&&O(e(i),e(o))),v=t=>{var n=u();R(()=>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),R(()=>l(f,e(i).field.label)),x(r,c)}),s(i),x(r,i)};t(de,e=>{a.model.facts.length>0&&e(fe)});var pe=M(de,2),me=e=>{H(e,{variant:`error`,dismissible:!0,ondismiss:()=>B(b,!1),children:(e,t)=>{_();var n=u();R(e=>l(n,e),[()=>p($[`ui.screens.delete_failed`])]),x(e,n)},$$slots:{default:!0}})};t(pe,t=>{e(b)&&t(me)}),s(j);var he=M(j,2),X=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:()=>B(y,!1)})}};t(he,e=>{a.ondelete&&e(X)}),x(r,k),i()}function io(e){return e==null?!1:typeof e!=`string`||e.trim()!==``}function ao(e,t){return(e.roles??[]).includes(t)}function oo(e,t,n,r,i={}){let{singular:a}=Tn(e),o=t.filter(e=>io(n[e.name])),s=e=>o.find(t=>ao(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&&bn(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=>ao(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 so(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 mr(e.lineAmountType)&&(!n||n.some(e=>e.name===`lineAmountType`))&&(r.lineAmountType=e.lineAmountType),r}function co(e){return Object.keys(e).filter(t=>[`subtotal`,`discount`,`tax`,`total`].some(n=>e[t]?.includes(n)))}var lo=c(`<span class="smrt-record-screen__count svelte-1ijjiku"> </span>`),uo=c(`<a class="smrt-record-screen__view-all svelte-1ijjiku"> </a>`),fo=c(`<span class="smrt-record-screen__widget-heading svelte-1ijjiku"><span class="smrt-record-screen__widget-title"> <!></span> <!></span>`),po=c(`<section class="smrt-record-screen__items svelte-1ijjiku"><!></section>`),mo=c(`<!> <!>`,1),ho=c(`<aside class="smrt-record-screen__aside svelte-1ijjiku"><h2 class="smrt-record-screen__aside-title svelte-1ijjiku"> </h2> <!></aside>`),go=c(`<div class="smrt-record-screen__sheet-body svelte-1ijjiku"><!></div>`),_o=c(`<section class="smrt-record-screen__sheet svelte-1ijjiku" data-smrt-component="RecordScreen"><!></section>`),vo=c(`<div data-smrt-component="RecordScreen"><div class="smrt-record-screen__main svelte-1ijjiku"><!> <!> <section class="smrt-record-screen__related svelte-1ijjiku"><!></section></div> <!></div> <!>`,1);function yo(r,c){h(c,!0);let u=(r,i=p,a=p)=>{let o=n(()=>i().type===`records`&&fe(i())&&J.entry(i()).status===`ready`?e(q)[i().id]:void 0);var u=fo(),d=A(u),f=A(d,!0),m=M(f),h=t=>{var n=lo(),r=N(n);R(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=uo(),r=N(n,!0);R(t=>{z(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),R(()=>l(f,a())),x(r,u)},d=r=>{var i=mo(),a=I(i),l=t=>{var r=S(),i=I(r);V(i,()=>e(T),t=>{{let r=n(()=>c.fieldErrors??{});Ga(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(W)}})}}),x(t,r)};t(a,e=>{c.onsave&&e(l)});var u=M(a,2),d=e=>{var t=po(),n=A(t);o(n,()=>c.items),s(t),R(e=>z(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(()=>Tn(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)])),k=n(()=>c.mode===`edit`),j=n(()=>b($[`ui.screens.edit_title`],{name:e(C).singular.toLowerCase()})),te=n(()=>_n(c.definition)),L=n(()=>On(c.definition,f())?[]:Mn(c.definition,f(),{mode:`view`,include:c.fields})),ne=n(()=>oo(c.definition,e(L),c.record,e(te),{title:c.title})),H=n(()=>m().some(e=>e.kind===`items`)),re=n(()=>yn(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}),W=n(()=>c.derivedFields??(e(H)?co(e(te)):[])),oe=F(()=>{let t=c.loaders?.records;if(c.registry&&!t)return c.registry;let n=rt();if(c.registry)for(let e of c.registry.list())n.register(e);else Ji(n,c.loaders??{});if(t){let r=rt();va(r,{relations:m(),records:t,viewAllHref:e=>c.viewAllHref?.(e),totals:()=>so(c.record,e(te),e(L)),storedTotals:()=>c.lineItemStoredTotals?.(),currency:()=>e(U)});for(let e of r.list())n.has(e.type)||n.register(e)}return n}),G=F(()=>c.overview??pr(c.definition,m())),K=F(()=>c.override!==void 0),se=n(()=>m().filter(e=>e.kind!==`reference`)),q=D(ee({}));function ce(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 B(q,{...e(q),[t.id]:{count:typeof i==`number`&&Number.isFinite(i)?i:s,href:c.viewAllHref?.(r)??(typeof a==`string`?gt(a):null)}},!0),l?{...o,total:i}:o}let J=ct({definition:G,registry:oe,override:K?()=>c.override??null:void 0,onchange:e=>c.onoverviewchange?.(e),canCustomize:()=>g(),loadWidget:(t,n)=>{let r=oe.get(t.type)?.load;if(!r)return Promise.resolve(void 0);let i={...c.widgetContext,overviewId:G.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=>ce(t,e))}});P(()=>J.destroy());let Y=n(()=>e(H)&&J.document.widgets.some(e=>e.type===`line-items`)),le=n(()=>[...e(ne).shown,...e(re)?[e(re)]:[],...e(Y)?co(e(te)):[]]),ue=F(()=>e(T));O(()=>{let t=e(T);t!==ue&&(ue=t,F(()=>{for(let e of J.document.widgets)J.reload(e.id)}))}),O(()=>{K&&(c.override,F(()=>J.sync()))});let de=n(()=>{let t=[];for(let n of e(se))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(se).find(e=>e.model===r&&e.field===i)}let pe=D(!0);O(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(min-width: 48rem)`),t=()=>{B(pe,e.matches,!0)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});function me(){c.oncancel?.()}var he=vo(),X=I(he);let ge;var _e=A(X),ve=A(_e);{let t=n(()=>e(k)?void 0:c.onedit);ro(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);Pa(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(le)},hideEmpty:!0,variant:`card`,children:(e,t)=>{var n=S(),r=I(n);o(r,()=>c.children??p),x(e,n)},$$slots:{default:!0}});var be=M(ye,2),xe=A(be);{let t=n(()=>b($[`ui.screens.related`]));Kt(xe,{get controller(){return J},get editing(){return c.layoutEditing},presentation:`plain`,headingLevel:2,get heading(){return u},get label(){return e(t)},get models(){return e(de)}})}s(be),s(_e);var Se=M(_e,2),Ce=t=>{var n=ho(),r=A(n),i=N(r,!0),a=M(r,2);d(a),s(n),R(()=>{z(n,`aria-label`,e(j)),l(i,e(j))}),x(t,n)};t(Se,t=>{e(k)&&e(pe)&&t(Ce)}),s(X);var we=M(X,2),Te=n=>{var r=_o(),i=A(r);ie(i,{get open(){return e(k)},get title(){return e(j)},onclose:me,variant:`page`,children:(n,r)=>{var i=S(),a=I(i),o=e=>{var t=go(),n=A(t);d(n),s(t),x(e,t)};t(a,t=>{e(k)&&t(o)}),x(n,i)},$$slots:{default:!0}}),s(r),x(n,r)};t(we,t=>{e(pe)||t(Te)}),R(t=>{ge=a(X,1,`smrt-record-screen svelte-1ijjiku`,null,ge,{"smrt-record-screen--edit":e(k)}),z(X,`data-mode`,c.mode),z(be,`aria-label`,t)},[()=>b($[`ui.screens.related`])]),x(r,he),i()}var bo=[`name`,`title`,`label`,`code`];function xo(e){let t=e.display?.label,n=new Set(e.fields.map(e=>e.name));return[...t?[t]:[],...bo].filter((e,t,r)=>n.has(e)&&r.indexOf(e)===t)}function So(e,t){for(let n of xo(e)){let e=t[n];if(typeof e==`string`&&e.trim()!==``)return e}}var Co=e=>e.type===`foreignKey`||e.type===`crossPackageRef`,wo=[/^customer/i,/^vendor/i,/^profile/i,/^product/i,/^invoice/i,/^order/i,/^payment/i,/^contract/i];function To(e){if(xo(e).some(e=>e!==`code`))return;let t=e.fields.filter(e=>!e.system),n=vn(_n({objectRef:e.id,className:e.name,fields:Object.fromEntries(t.map(e=>[e.name,{type:Eo.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 Eo=new Set([`text`,`integer`,`decimal`,`boolean`,`datetime`,`json`,`foreignKey`,`crossPackageRef`]);function Do(e,t){let n=To(e),r=n?t[n.name]:void 0;return typeof r==`string`&&r.trim()!==``?r:void 0}function Oo(e,t){let n=e.filter(e=>Co(e)&&typeof t[e.name]==`string`&&t[e.name]!==``);for(let e of wo){let t=n.find(t=>e.test(t.name));if(t)return t}}var ko=/(paid|allocated|issue|^date$|createdat)/i;function Ao(e,t,n,r=e.fields){let i=So(e,t);if(i)return i;let a=Do(e,t);if(a)return a;let o=Oo(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`&&ko.test(e.name)&&t[e.name]);return Mo([s,oe(t.amount),n?String(t[n.name]).slice(0,10):void 0])}return Mo([s,typeof t.description==`string`&&t.description.trim()!==``?t.description:void 0])}function jo(e,t,n,r){if(So(e,t))return n;let i=Do(e,t);return i&&i===n?`${r} ${i}`:n}function Mo(e){let t=e.filter(e=>!!e);return t.filter((e,n)=>t.indexOf(e)===n).join(` · `)||void 0}var No=`@happyvertical/smrt-profiles:Profile`,Po=`@happyvertical/smrt-commerce:Customer`,Fo=`@happyvertical/smrt-commerce:Vendor`,Io=20;function Lo(e){let t=G(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model}function Ro(e){return String(e??``).slice(0,8)}function zo(e){return e.fields.some(e=>e.name===`profileId`&&e.related===`@happyvertical/smrt-profiles:Profile`)}async function Bo(e,t){return typeof t.profileId==`string`&&t.profileId?e.get(Lo(No),t.profileId):void 0}var Vo=3;async function Ho(e,t,n,r=0,i){if(zo(t)){let t=await Bo(e,n),r=t&&So(Lo(`@happyvertical/smrt-profiles:Profile`),t);if(r)return r}let a=Oo(t.fields,n);if(a&&a.name===i){let e=Ao(t,n,()=>void 0);if(e)return e}let o=a?.related?G(a.related)?.model:void 0,s;if(a&&o&&r<Vo){let t=await e.get(o,String(n[a.name]));t&&(s=await Ho(e,o,t,r+1))}return Ao(t,n,()=>s)??Ro(n.id)}async function Uo(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(K(t,n)))continue;let i=await e.get(a,n);i&&r.set(K(t,n),await Ho(e,a,i))}}return r}var Wo=(e,t)=>e.toLowerCase().includes(t.trim().toLowerCase());async function Go(e,t,n){let r=[];for(let i of await e.list(t)){let a=await Ho(e,t,i);if(Wo(a,n)&&r.push({id:i.id,label:a}),r.length>=Io)break}return r}async function Ko(e,t,n){let r=await e.get(t,n);return r?{id:r.id,label:await Ho(e,t,r)}:null}var qo=e=>typeof e==`string`&&e!==``?e:void 0;async function Jo(e,t){let n=await Bo(e,t);return{...n?{id:n.id}:{},name:(n&&So(Lo(`@happyvertical/smrt-profiles:Profile`),n))??Ro(t.id),...qo(n?.email)?{email:qo(n?.email)}:{}}}async function Yo(e,t){return{id:t.id,...qo(t.profileId)?{profileId:qo(t.profileId)}:{},profile:await Jo(e,t),status:qo(t.status)??``,...qo(t.customerType)?{customerType:qo(t.customerType)}:{},...typeof t.creditLimit==`number`?{creditLimitMinor:t.creditLimit}:{},...qo(t.paymentTerms)?{paymentTerms:qo(t.paymentTerms)}:{}}}async function Xo(e,t){return{id:t.id,...qo(t.profileId)?{profileId:qo(t.profileId)}:{},profile:await Jo(e,t),status:qo(t.status)??``,...typeof t.leadTimeDays==`number`?{leadTimeDays:t.leadTimeDays}:{},...qo(t.currency)?{currency:qo(t.currency)}:{}}}async function Zo(e,t){let n=[];for(let r of await e.list(Lo(Po))){let i=await Yo(e,r);if(Wo(i.profile.name,t)&&n.push(i),n.length>=Io)break}return n}async function Qo(e,t){let n=await e.get(Lo(Po),t);return n?Yo(e,n):null}async function $o(e,t){let n=[];for(let r of await e.list(Lo(Fo))){let i=await Xo(e,r);if(Wo(i.profile.name,t)&&n.push(i),n.length>=Io)break}return n}async function es(e,t){let n=await e.get(Lo(Fo),t);return n?Xo(e,n):null}export{rt as A,$n as C,_n as D,yn as E,Re as F,et as M,Ge as N,Kt as O,Ze as P,dr as S,Cn as T,ga as _,Ko as a,Cr as b,Go as c,xo as d,jo as f,_a as g,so as h,Qo as i,$e as j,ct as k,$o as l,yo as m,Ho as n,es as o,Ao as p,Uo as r,Zo as s,zo as t,Ro as u,Ji as v,Zn as w,pr as x,Er as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./DG3qFFTE.js";import"./xihTtKlq.js";import"./rkUL-DlL.js";import"./DsY7g8iJ.js";import"./M-CuJzQN.js";import"./BJKoxDbG.js";import"./gMSmS-_y.js";function e(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}export{e as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{x as e}from"./U6_OBRq_.js";var t={cookbooks:[{id:`bakery`,name:`Bakery`,icon:`bread`,summary:`Retail and cafe wholesale orders, ingredient stock, batches and suppliers.`,keywords:[`bake`,`baker`,`bakery`,`baking`,`bread`,`pastry`,`cake`,`cookies`,`cafe wholesale`,`coffee shop`,`patisserie`,`sourdough`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:0},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#b45309`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:kitchen`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:kitchen":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:kitchen`,"item:inventory:StockLevel":`custom:kitchen`,"item:commerce:ProductionOrder":`custom:kitchen`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`,"item:products:Product:ingredients":`custom:kitchen`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:kitchen`,label:`Kitchen`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Orders`,description:`Orders from your shop and website customers.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes and shops.`},"item:inventory:StockLevel":{label:`Stock`,description:`Baked goods and supplies on hand today.`},"item:commerce:ProductionOrder":{label:`Batches`,description:`What you plan to bake, with the amounts and the day.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The mills, dairies and suppliers you buy from.`},"item:products:Product:ingredients":{label:`Ingredients`,description:`Flour, butter, sugar and the rest, with costs and units.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:kitchen":{icon:`package`},"custom:buying":{icon:`truck`}}}},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:kitchen":`Products, ingredients, stock and what you are making.`,"custom:buying":`Suppliers and what you order from them.`}},{id:`mechanic`,name:`Mechanic`,icon:`car`,summary:`Quotes, work orders, parts, appointments and billing for a repair shop.`,keywords:[`mechanic`,`garage`,`auto repair`,`car repair`,`fix cars`,`car`,`vehicle`,`brakes`,`oil change`,`tyres`,`tires`,`servicing`,`repair shop`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.0825,taxRounding:`document`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`smrt`},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:parts`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for repairs, ready to become work orders once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job in the shop, from drop-off to pick-up.`},"item:products:Product":{label:`Parts`,description:`The parts you sell and fit, with prices.`},"item:inventory:StockLevel":{label:`Parts on hand`,description:`Parts on the shelf, so you know what to reorder.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The parts suppliers you buy from, with terms and contacts.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they arrive.`},"item:events:Event":{label:`Appointments`,description:`Bookings on the shop calendar, by day and bay.`},"item:events:EventType":{label:`Appointment types`,description:`The kinds of service you book, like an oil change or inspection.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`welder`,name:`Welder`,icon:`flame`,summary:`Quotes, jobs, agreements, material and site visits for a welding business.`,keywords:[`weld`,`welder`,`welding`,`fabrication`,`fabricate`,`metal`,`steel`,`gates`,`railings`,`metalwork`,`boilermaker`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`studio`},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:material`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Customer":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Order":`custom:jobs`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for jobs, ready to turn into orders when accepted.`},"item:products:Product":{label:`Materials`,description:`Steel, rod, gas and other materials you stock and charge for.`},"item:inventory:StockLevel":{label:`Material on hand`,description:`Material on hand, so you know what to buy before the next job.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The suppliers you buy metal and gas from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`},"item:events:Event":{label:`Site visits`,description:`Visits to measure, quote or install on site, by day.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a quote visit or install.`},"item:commerce:Order":{label:`Jobs`,description:`Every job you have won, from start to final invoice.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`yoga-studio`,name:`Yoga studio`,icon:`yoga`,summary:`Classes, class series, members, memberships and a small retail shop.`,keywords:[`yoga`,`yoga studio`,`pilates`,`studio`,`classes`,`class series`,`meditation`,`members`,`memberships`,`instructor`],settings:{currency:`USD`,paymentTerms:`Due on receipt`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0f766e`,fontFamily:`ui-rounded`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`}],layout:{version:1,sectionOrder:[`custom:classes`,`custom:members`,`custom:shop`,`custom:billing`,`section:accounting`],itemOrder:{"custom:classes":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:shop":[`item:products:Product`,`item:inventory:StockLevel`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:classes`,"item:events:EventSeries":`custom:classes`,"item:events:EventType":`custom:classes`,"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:products:Product":`custom:shop`,"item:inventory:StockLevel":`custom:shop`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:classes`,label:`Classes`},{id:`custom:members`,label:`Members`},{id:`custom:shop`,label:`Shop`},{id:`custom:billing`,label:`Billing`}],items:{"item:events:Event":{label:`Classes`,description:`Every class on your timetable, with who's teaching and where.`},"item:events:EventSeries":{label:`Class series`,description:`Weekly classes that repeat, so you set them up once.`},"item:events:EventType":{label:`Class types`,description:`Your styles, like Vinyasa or Yin, with length and price.`},"item:commerce:Customer":{label:`Members`,description:`Your students, with how to reach them and what they have booked.`},"item:commerce:Agreement":{label:`Memberships`,description:`Memberships and class packs, with who holds them and when they renew.`},"item:inventory:StockLevel":{label:`Stock`,description:`Mats, props and retail items on hand.`}},sections:{"custom:classes":{icon:`school`},"custom:members":{icon:`users`},"custom:shop":{icon:`shoppingBag`},"custom:billing":{icon:`receipt`}}}},sectionDescriptions:{"custom:classes":`Classes, sessions and bookings.`,"custom:members":`Members and their memberships.`,"custom:shop":`Sell to customers and keep their details.`,"custom:billing":`Invoices and the payments against them.`}},{id:`landscaping`,name:`Landscaping`,icon:`leaf`,summary:`Quotes, jobs, maintenance contracts, materials and the crew schedule for a lawn and landscape business.`,keywords:[`landscaping`,`landscaper`,`lawn care`,`lawn`,`mowing`,`garden`,`gardener`,`yard work`,`hardscape`,`irrigation`,`tree service`,`snow removal`,`grounds`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:yard":`Materials, stock and the suppliers you buy from.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#15803d`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:yard`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:yard":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventSeries":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:yard`,"item:inventory:StockLevel":`custom:yard`,"item:commerce:Vendor":`custom:yard`,"item:commerce:PurchaseOrder":`custom:yard`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:yard`,label:`Yard`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for new work, ready to become jobs once approved.`},"item:commerce:Order":{label:`Jobs`,description:`Every job you have won, from the first visit to the final invoice.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Weekly mowing and seasonal programs, with who holds them and when they renew.`},"item:events:Event":{label:`Crew schedule`,description:`Visits on the calendar, by day and crew.`},"item:events:EventSeries":{label:`Recurring visits`,description:`Routes that repeat, like a Tuesday mowing round, set up once.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a mow, a clean-up or an install.`},"item:products:Product":{label:`Materials`,description:`Mulch, soil, sod, plants and the other things you sell and install.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`What is in the yard and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The nurseries and stone yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:yard":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`salon`,name:`Hair salon`,icon:`scissors`,summary:`Appointments, clients, services, retail stock and payments at the desk for a salon or barbershop.`,keywords:[`salon`,`hair salon`,`barber`,`barbershop`,`hairdresser`,`stylist`,`haircut`,`hair colour`,`hair color`,`highlights`,`blow-dry`,`nails`,`beauty`,`spa`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.07,pricesIncludeTax:!0},sectionDescriptions:{"custom:appointments":`Bookings and the services behind them.`,"custom:clients":`Clients and what they usually have.`,"custom:checkout":`Sales at the desk and the payments against them.`,"custom:shelf":`Retail, backbar stock and who you buy from.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#9d174d`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:appointments`,`custom:clients`,`custom:checkout`,`custom:shelf`,`section:accounting`],itemOrder:{"custom:appointments":[`item:events:Event`,`item:events:EventType`,`item:events:EventSeries`],"custom:clients":[`item:commerce:Customer`],"custom:checkout":[`item:commerce:Order`,`item:commerce:Payment`,`item:commerce:Invoice`],"custom:shelf":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:appointments`,"item:events:EventType":`custom:appointments`,"item:events:EventSeries":`custom:appointments`,"item:commerce:Customer":`custom:clients`,"item:commerce:Order":`custom:checkout`,"item:commerce:Payment":`custom:checkout`,"item:commerce:Invoice":`custom:checkout`,"item:products:Product":`custom:shelf`,"item:inventory:StockLevel":`custom:shelf`,"item:commerce:Vendor":`custom:shelf`,"item:commerce:PurchaseOrder":`custom:shelf`},customSections:[{id:`custom:appointments`,label:`Appointments`},{id:`custom:clients`,label:`Clients`},{id:`custom:checkout`,label:`Checkout`},{id:`custom:shelf`,label:`Shelf`}],items:{"item:events:Event":{label:`Appointments`,description:`Every booking in the book, by stylist and chair.`},"item:events:EventType":{label:`Appointment types`,description:`The services you book, like a cut, a colour or a beard trim, with their length.`},"item:events:EventSeries":{label:`Standing appointments`,description:`Regulars who come back every few weeks, set up once.`},"item:commerce:Customer":{label:`Clients`,description:`Your clients, with how to reach them and what they usually have.`},"item:commerce:Order":{label:`Sales`,description:`Each visit’s ticket: the services done and anything bought at the desk.`},"item:commerce:Payment":{label:`Payments`,description:`Money taken at the desk, by card or cash.`},"item:commerce:Invoice":{label:`Invoices`,description:`Bills for bridal parties, packages and accounts that pay later.`},"item:products:Product":{label:`Services & products`,description:`Your services and the retail you sell, with prices.`},"item:inventory:StockLevel":{label:`Retail stock`,description:`Product on the shelf and at the backbar.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The distributors you buy colour, product and towels from.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Product you have ordered and when it arrives.`}},sections:{"custom:appointments":{icon:`calendar`},"custom:clients":{icon:`users`},"custom:checkout":{icon:`creditCard`},"custom:shelf":{icon:`shoppingBag`}}}}},{id:`roaster`,name:`Coffee roaster`,icon:`coffee`,summary:`Cafe accounts, online orders, green coffee, roast batches and importers for a small roastery or brewery.`,keywords:[`coffee roaster`,`roaster`,`roastery`,`coffee`,`beans`,`green coffee`,`espresso`,`cafe accounts`,`brewery`,`microbrewery`,`taproom`,`kegs`,`small batch`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:roastery":`Coffees, green coffee, stock and what you are roasting.`,"custom:buying":`Suppliers and what you order from them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#7c2d12`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:roastery`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:roastery":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:roastery`,"item:products:Product:ingredients":`custom:roastery`,"item:inventory:StockLevel":`custom:roastery`,"item:commerce:ProductionOrder":`custom:roastery`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:roastery`,label:`Roastery`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Online & retail orders`,description:`Orders from the website and the roastery door.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes, bars and grocers.`},"item:products:Product":{label:`Coffees`,description:`Roasted coffees and shop items, with prices.`},"item:products:Product:ingredients":{label:`Green coffee`,description:`Green coffee and packaging, by the bag, with costs.`},"item:inventory:StockLevel":{label:`Stock`,description:`Roasted and green coffee on hand today.`},"item:commerce:ProductionOrder":{label:`Roast batches`,description:`What you plan to roast, with the amounts and the day.`},"item:commerce:Vendor":{label:`Importers & suppliers`,description:`The importers and packaging suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Green coffee orders`,description:`Green coffee you have bought and when the container lands.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:roastery":{icon:`package`},"custom:buying":{icon:`truck`}}}}},{id:`equipment-rental`,name:`Equipment rental`,icon:`forklift`,summary:`Rentals, quotes, the fleet and its availability, pickups and returns, and billing for a hire yard.`,keywords:[`equipment rental`,`rental`,`rentals`,`hire`,`tool hire`,`plant hire`,`party rental`,`excavator`,`scaffolding`,`generators`,`bike rental`,`kayak rental`,`fleet`],settings:{currency:`USD`,paymentTerms:`Deposit on pickup, balance on return`,taxRate:.08,taxRounding:`document`},sectionDescriptions:{"custom:rentals":`Rentals, quotes and the customers they belong to.`,"custom:fleet":`Equipment, availability and who you buy from.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#a16207`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.leases`,`commerce.purchases`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`}],layout:{version:1,sectionOrder:[`custom:rentals`,`custom:fleet`,`custom:schedule`,`custom:billing`,`section:accounting`],itemOrder:{"custom:rentals":[`item:commerce:Lease`,`item:commerce:Estimate`,`item:commerce:Customer`],"custom:fleet":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Lease":`custom:rentals`,"item:commerce:Estimate":`custom:rentals`,"item:commerce:Customer":`custom:rentals`,"item:products:Product":`custom:fleet`,"item:inventory:StockLevel":`custom:fleet`,"item:commerce:Vendor":`custom:fleet`,"item:commerce:PurchaseOrder":`custom:fleet`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:rentals`,label:`Rentals`},{id:`custom:fleet`,label:`Fleet`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Lease":{label:`Rentals`,description:`Every rental out the gate, with the dates and what is due.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for a hire, ready to become a rental when accepted.`},"item:products:Product":{label:`Equipment`,description:`The machines and tools you hire out, with the daily rate.`},"item:inventory:StockLevel":{label:`Availability`,description:`What is in the yard, out on hire or in for service.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The dealers and parts suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Equipment & parts orders`,description:`Machines and parts you have ordered and when they arrive.`},"item:events:Event":{label:`Pickups & returns`,description:`Pickups, returns and deliveries on the calendar, by day.`},"item:events:EventType":{label:`Booking types`,description:`The kinds of booking you make, like a pickup, a return or a delivery.`}},sections:{"custom:rentals":{icon:`fileText`},"custom:fleet":{icon:`truck`},"custom:schedule":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`nonprofit`,name:`Non-profit`,icon:`heart`,summary:`Members, memberships, dues and donations, events and the books for a club, society or charity.`,keywords:[`non-profit`,`nonprofit`,`charity`,`club`,`society`,`association`,`members`,`membership dues`,`donations`,`donors`,`fundraiser`,`volunteers`,`community group`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:0},sectionDescriptions:{"custom:members":`Members and their memberships.`,"custom:events":`Meetings, fundraisers and volunteer days.`,"custom:giving":`Dues, pledges and the money that comes in.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#1d4ed8`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`ledgers.bookkeeping`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:members`,`custom:events`,`custom:giving`,`section:accounting`],itemOrder:{"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:events":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:giving":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`],moved:{"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:events:Event":`custom:events`,"item:events:EventSeries":`custom:events`,"item:events:EventType":`custom:events`,"item:commerce:Invoice":`custom:giving`,"item:commerce:Payment":`custom:giving`},customSections:[{id:`custom:members`,label:`Members`},{id:`custom:events`,label:`Events`},{id:`custom:giving`,label:`Giving`}],items:{"item:commerce:Customer":{label:`Members`,description:`Your members and donors, with how to reach them.`},"item:commerce:Agreement":{label:`Memberships`,description:`Annual, family and student memberships, with who holds them and when they renew.`},"item:events:Event":{label:`Events`,description:`Meetings, fundraisers and volunteer days, with who is coming.`},"item:events:EventSeries":{label:`Regular meetings`,description:`Meetings that repeat, like the monthly meetup, set up once.`},"item:events:EventType":{label:`Event types`,description:`The kinds of event you run, like a fundraiser or a clean-up.`},"item:commerce:Invoice":{label:`Dues & pledges`,description:`Dues and pledges you have asked for and which are still owed.`},"item:commerce:Payment":{label:`Donations & payments`,description:`Money that has come in, from dues, gifts and tickets.`}},sections:{"custom:members":{icon:`users`},"custom:events":{icon:`calendar`},"custom:giving":{icon:`creditCard`}}}}},{id:`agency`,name:`Agency`,icon:`pencil`,summary:`Clients, proposals, retainers, projects, time, expenses and invoices for a consulting or design studio.`,keywords:[`agency`,`design agency`,`consulting`,`consultant`,`consultancy`,`studio`,`design studio`,`freelance`,`retainer`,`proposals`,`billable hours`,`timesheets`,`creative`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:accounts":`Clients, proposals and the contracts you hold with them.`,"custom:work":`Projects, tasks, time and costs.`,"custom:meetings":`Meetings with clients and the studio.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#4338ca`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.vendors`,`events.calendar`,`expenses.tracking`,`ledgers.bookkeeping`,`projects.tracker`,`timesheets.time-entries`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:accounts`,`custom:work`,`custom:meetings`,`custom:billing`,`section:accounting`],itemOrder:{"custom:accounts":[`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:work":[`item:projects:Project`,`item:projects:Issue`,`item:timesheets:ServiceTimeEntry`,`item:expenses:Expense`],"custom:meetings":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`,`item:commerce:Vendor`]},hidden:[`item:commerce:Contract`,`item:projects:Label`,`item:events:EventSeries`],moved:{"item:commerce:Customer":`custom:accounts`,"item:commerce:Estimate":`custom:accounts`,"item:commerce:Agreement":`custom:accounts`,"item:projects:Project":`custom:work`,"item:projects:Issue":`custom:work`,"item:timesheets:ServiceTimeEntry":`custom:work`,"item:expenses:Expense":`custom:work`,"item:events:Event":`custom:meetings`,"item:events:EventType":`custom:meetings`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:commerce:Vendor":`custom:billing`},customSections:[{id:`custom:accounts`,label:`Clients`},{id:`custom:work`,label:`Work`},{id:`custom:meetings`,label:`Meetings`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Customer":{label:`Clients`,description:`The companies you work for, with how to reach them.`},"item:commerce:Estimate":{label:`Proposals`,description:`Proposals you have sent, ready to become a contract when accepted.`},"item:commerce:Agreement":{label:`Contracts`,description:`Retainers and statements of work, with the terms and the dates.`},"item:projects:Project":{label:`Projects`,description:`Each engagement, with what it covers and where it stands.`},"item:projects:Issue":{label:`Tasks`,description:`The work inside each project, from to-do to done.`},"item:timesheets:ServiceTimeEntry":{label:`Time entries`,description:`Hours logged by person and project, from draft to approved.`},"item:expenses:Expense":{label:`Expenses`,description:`Costs on a project, with the receipt and whether to bill them on.`},"item:events:Event":{label:`Meetings`,description:`Kickoffs, reviews and check-ins with clients, by day.`},"item:events:EventType":{label:`Meeting types`,description:`The kinds of meeting you hold, like a kickoff or a review.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The printers, photographers and freelancers you buy from.`}},sections:{"custom:accounts":{icon:`users`},"custom:work":{icon:`briefcase`},"custom:meetings":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}}]}.cookbooks;function n(e){return t.find(t=>t.id===e)}function r(t){return t.document.recipes.map(t=>e.get(t)?.label??t)}export{t as n,r,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,bt as t,c as n,et as r,nt as i,r as a,t as o,tt as s,vt as c}from"./DG3qFFTE.js";import{i as l,n as u,r as d,t as f}from"./Dt-HX3Vu.js";new URL(`sveltekit-internal://`);function p(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function ee(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function te(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function ne(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var re=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&_.delete(v(e)),re(e,t));var _=new Map;function ie(e,t){let n=v(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=f(e));let i=r.getAttribute(`data-ttl`);return i&&_.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ae(e,t,n){if(_.size>0){let t=v(e,n),r=_.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);_.delete(t)}}return window.fetch(t,n)}function v(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ne(...e)}"]`}return n}var y=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,oe=/^\/\((?:[^)]+)\)$/;function se(e){let t=[];return{pattern:e===`/`||oe.test(e)?/^\/$/:RegExp(`^${le(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return de(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return de(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=y.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return de(e)}).join(``)}).join(``)}/?$`),params:t}}function ce(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function le(e){return e.slice(1).split(`/`).filter(ce)}function ue(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0)}else if(s.optional&&s.chained)o++;else return}if(!o)return r}function de(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function fe({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=se(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ue(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function pe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function me(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var b=globalThis.__sveltekit_1rqc3rz?.base??``,he=globalThis.__sveltekit_1rqc3rz?.assets??b??``,ge=`1792179801919`,_e=`sveltekit:snapshot`,ve=`sveltekit:scroll`,ye=`sveltekit:states`,be=`sveltekit:pageurl`,x=`sveltekit:history`,S=`sveltekit:navigation`,C={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},w=location.origin;function T(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var xe={...C,"":C.hover};function Se(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ce(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Se(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Oe(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===w&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function O(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=Se(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:xe[r??`off`],preload_data:xe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Te(e){let t=n(e),r=!0;function i(){r=!0,t.update(e=>e)}function a(e){r=!1,t.set(e)}function o(e){let n;return t.subscribe(t=>{(n===void 0||r&&t!==n)&&e(n=t)})}return{notify:i,set:a,subscribe:o}}var Ee={v:g};function De(){let{set:e,subscribe:t}=n(!1),r;async function i(){clearTimeout(r);try{let t=await fetch(`${he}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==ge;return n&&(e(!0),Ee.v(),clearTimeout(r)),n}catch{return!1}}return{subscribe:t,check:i}}function Oe(e,t,n){return e.origin!==w||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function ke(e){}Uint8Array.fromBase64,typeof process==`object`&&process.versions?.node,Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`).get,typeof SharedArrayBuffer>`u`||Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`).get;var Ae=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...Ae],[...new Set([...Ae])];function je(e){return e.filter(e=>e!=null)}function Me(e,t){return e+`/`+t}function Ne(e){return e instanceof u||e instanceof l?e.status:500}function Pe(e){return e instanceof l?e.text:`Internal Error`}var k,A,Fe,Ie=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Le=`a:`;Ie?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Le)},A={current:null},Fe={current:!1}):(k=new class{#e=t({});get data(){return e(this.#e)}set data(e){c(this.#e,e)}#t=t(null);get form(){return e(this.#t)}set form(e){c(this.#t,e)}#n=t(null);get error(){return e(this.#n)}set error(e){c(this.#n,e)}#r=t({});get params(){return e(this.#r)}set params(e){c(this.#r,e)}#i=t({id:null});get route(){return e(this.#i)}set route(e){c(this.#i,e)}#a=t({});get state(){return e(this.#a)}set state(e){c(this.#a,e)}#o=t(-1);get status(){return e(this.#o)}set status(e){c(this.#o,e)}#s=t(new URL(Le));get url(){return e(this.#s)}set url(e){c(this.#s,e)}},A=new class{#e=t(null);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Fe=new class{#e=t(!1);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Ee.v=()=>Fe.current=!0);function Re(e){Object.assign(k,e)}var ze={spanContext(){return Be},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Be={traceId:``,spanId:``,traceFlags:0},{onMount:Ve,tick:He}=o,Ue=i??(e=>e()),We=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),j=null,M=pe(`sveltekit:scroll`)??{},N=pe(`sveltekit:snapshot`)??{},P={url:Te({}),page:Te({}),navigating:n(null),updated:De()};function Ge(e){M[e]=E()}function Ke(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function qe(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(b||`/`);e&&await e.update()}}var Je,Ye,I,L,Xe,R,Ze={},Qe={},z=[],B=[],V=null;function H(){V?.fork?.then(e=>e?.discard()),V=null,Q={element:void 0,href:void 0}}var U=new Map,$e=new Set,et=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},tt=!1,nt=!1,rt=!0,K=!1,q=!1,it=!1,at=!1,ot,J,Y,X,st=new Set,ct=new Map,lt=new Map;async function ut(e,t,n){if(globalThis.__sveltekit_1rqc3rz.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1rqc3rz.data;for(let t in e)Ze[t]=e[t];for(let e in n)Ze[e]=n[e];for(let e in r)Ze[e]=r[e];for(let e in t)Qe[e]=t[e]}document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),Je=fe(e),L=document.documentElement,Xe=t,Ye=e.nodes[0],I=e.nodes[1],Ye(),I(),J=history.state?.[x],Y=history.state?.[S],J||(J=Y=Date.now(),history.replaceState({...history.state,[x]:J,[S]:Y},``));let r=M[J];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Ut(Xe,n)):(await Z({type:`enter`,url:T(R.hash?Yt(new URL(location.href)):location.href),replace_state:!0}),i()),Ht()}function dt(){z.length=0,at=!1}function ft(e){B.some(e=>e?.snapshot)&&(N[e]=B.map(e=>e?.snapshot?.capture()))}function pt(e){N[e]?.forEach((e,t)=>{B[t]?.snapshot?.restore(e)})}function mt(){Ge(J),me(ve,M),ft(Y),me(_e,N)}async function ht(e,t,n,r){let i,a;t.invalidateAll&&H(),await Z({type:`goto`,url:T(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{if(t.invalidateAll){at=!0,i=new Set;for(let[e,t]of ct)for(let[n,r]of t)r.resource?.reset(),i.add(Me(e,n));a=new Set;for(let[e,t]of lt)for(let n of t.keys())a.add(Me(e,n))}t.invalidate&&t.invalidate.forEach(Bt)}}),t.invalidateAll&&s().then(s).then(()=>{for(let[e,t]of ct)for(let[n,{resource:r}]of t)i?.has(Me(e,n))&&r.start();for(let[e,t]of lt)for(let[n,{resource:r}]of t)a?.has(Me(e,n))&&r.reconnect()})}async function gt(e){if(e.id!==V?.id){H();let t={};st.add(t),V={id:e.id,token:t,promise:Et({...e,preload:t}).then(e=>(st.delete(t),e.type===`loaded`&&e.state.error&&H(),e)),fork:null}}return V.promise}async function _t(e){let t=(await At(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function vt(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};if(G={...e.state,nav:r},Re(e.props.page),ot=new R.root({target:t,props:{...e.props,stores:P,components:B},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:M[J]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}pt(Y),nt=!0}async function yt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(b&&(e.pathname===b||e.pathname===b+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=p(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:je(n).map(e=>e.node.component),page:Jt(k)}};s!==void 0&&(l.props.form=s);let u={},d=!k,f=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${f}`]=u),f+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:k.data}),l}async function bt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:ze,current:ze},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},R.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=xt(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function xt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:nt?ae(r,i.href,t):ie(r,t)}}function St(e,t,n,r,i,a){if(at)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(z.some(t=>t(new URL(e))))return!0;return!1}function Ct(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function wt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Tt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Jt(k),constructors:[]}}}async function Et({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return st.delete(V.token),V.promise;let{errors:o,layouts:s,leaf:c}=i,l=[...s,c];o.forEach(e=>e?.().catch(g)),l.forEach(e=>e?.[1]().catch(g));let f=G.url?e!==Mt(G.url):!1,p=G.route?i.id!==G.route.id:!1,ee=wt(G.url,n),te=!1,m=l.map(async(e,t)=>{if(!e)return;let a=G.branch[t];return e[1]===a?.loader&&!St(te,p,f,ee,a.universal?.uses,r)?a:(te=!0,bt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await m[n])?.data);return e},server_data_node:Ct(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of m)e.catch(g);let h=[];for(let e=0;e<l.length;e+=1)if(l[e])try{h.push(await m[e])}catch(t){if(t instanceof d)return{type:`redirect`,location:t.location};if(a&&st.has(a))return Tt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Ne(t),c;if(t instanceof u)c=t.body;else{if(await P.updated.check())return await qe(),await F(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let l=await Dt(e,h,o);return l?yt({url:n,params:r,branch:h.slice(0,l.idx).concat(l.node),errors:o,status:s,error:c,route:i}):await Pt(n,{id:i.id},c,s)}else h.push(void 0);return yt({url:n,params:r,branch:h,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Dt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ot({status:e,error:t,url:n,route:r}){let i={};try{return yt({url:n,params:i,branch:[await bt({loader:Ye,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Ct(null)}),{node:await I(),loader:I,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof d){await ht(new URL(t.location,location.href),{},0);return}let a=await R.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function kt(e){let t=e.href;if(U.has(t))return U.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>xt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();U.set(t,r),n=await r}catch{U.delete(t);return}return n}async function At(e,t){if(e&&!Oe(e,b,R.hash)){let n=await kt(e);if(!n)return;let r=jt(n);for(let n of Je){let i=n.exec(r);if(i)return{id:Mt(e),invalidating:t,route:n,params:te(i),url:e}}}}function jt(e){return ee(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(b.length))||`/`}function Mt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Nt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=qt(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return K||$e.forEach(e=>e(c)),o?null:s}async function Z({type:e,url:t,popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c={},redirect_count:u=0,nav_token:d={},accept:f=g,block:p=g,event:ee}){let te=X;X=d;let m=await At(t,!1),h=e===`enter`?qt(G,m,t,e):Nt({url:t,type:e,delta:n?.delta,intent:m,scroll:n?.scroll,event:ee});if(!h){p(),X===d&&(X=te);return}let ne=J,re=Y;f(),K=!0,nt&&h.navigation.type!==`enter`&&P.navigating.set(A.current=h.navigation);let _=m&&await Et(m);if(!_){if(Oe(t,b,R.hash))return await F(t,o);_=await Pt(t,{id:null},await $(new l(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=m?.url||t,X!==d){h.reject(Error(`navigation aborted`));return}if(!_)return;if(_.type===`redirect`){if(u<20){await Z({type:e,url:new URL(_.location,t),popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c,redirect_count:u+1,nav_token:d}),h.fulfil(void 0);return}if(_=await Ot({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await P.updated.check())return await qe(),await F(t,o);if(dt(),Ge(ne),ft(re),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),c=n?n.state:c,!n){let e=+!o,n={[x]:J+=e,[S]:Y+=e,[ye]:c};(o?history.replaceState:history.pushState).call(history,n,``,t),o||Ke(J,Y)}let ie=m&&V?.id===m.id?V.fork:null;V?.fork&&!ie?H():(V=null,Q={element:void 0,href:void 0}),_.props.page.state=c;let ae;if(nt){let e=(await Promise.all(Array.from(et,e=>e(h.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let n=h.navigation.to;G={..._.state,nav:{params:n.params,route:n.route,url:n.url}},_.props.page&&(_.props.page.url=t),!i&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let a=ie&&await ie;a?ae=a.commit():(j=null,ot.$set(_.props),j&&Object.assign(_.props.page,j),Re(_.props.page),ae=r?.()),it=!0}else await vt(_,Xe,!1);let{activeElement:v}=document;if(await ae,await s(),await s(),X!==d){h.reject(Error(`navigation aborted`));return}_.props.page&&j&&Object.assign(_.props.page,j);let y=null;if(rt){let e=n?n.scroll:a?E():null;e?scrollTo(e.x,e.y):(y=t.hash&&document.getElementById(Xt(t)))?y.scrollIntoView():scrollTo(0,0)}let oe=document.activeElement!==v&&document.activeElement!==document.body;!i&&!oe&&Kt(t,!y),rt=!0,K=!1,h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=E()),W.forEach(e=>e(h.navigation)),e===`popstate`&&pt(Y),P.navigating.set(A.current=null)}async function Pt(e,t,n,r,i){return e.origin===w&&e.pathname===location.pathname&&!tt?await Ot({status:r,error:n,url:e,route:t}):await F(e,i)}var Q={element:void 0,href:void 0};function Ft(){let e,t;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,C.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],C.tap)}L.addEventListener(`mousedown`,n),L.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(_t(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ce(e,L),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=we(r,b,R.hash);if(o||s)return;let c=O(r),l=a&&Mt(G.url)===Mt(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=C.tap;let e=await At(a,!1);if(!e)return;gt(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,_t(a))}}function a(){r.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:i}=we(e,b,R.hash);if(n||i)continue;let a=O(e);a.reload||(a.preload_code===C.viewport&&r.observe(e),a.preload_code===C.eager&&_t(t))}}W.add(a),a()}function $(e,t){if(e instanceof u)return e.body;let n=Ne(e),r=Pe(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function It(e,t){Ve(()=>(e.add(t),()=>{e.delete(t)}))}function Lt(e){It(W,e)}function Rt(e){It(et,e)}function zt(e,t={}){return e=new URL(T(e)),e.origin===w?ht(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Bt(e){if(typeof e==`function`)z.push(e);else{let{href:t}=new URL(e,location.href);z.push(e=>e.href===t)}}function Vt(e,t){let n={[x]:J,[S]:Y,[be]:k.url.href,[ye]:t};history.replaceState(n,``,T(e)),k.state=t,ot.$set({page:Ue(()=>Jt(k))})}function Ht(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(mt(),!K){let e=qt(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};$e.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&mt()}),navigator.connection?.saveData||Ft(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ce(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=we(n,b,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=O(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l))Nt({url:r,type:`link`,event:t})?K=!0:t.preventDefault();else{if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(q=!0,Ge(J),e(r),!s.replace_state)return;q=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Oe(r,b,!1))return;let i=e.target,a=O(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Gt){if(t.state?.[`sveltekit:history`]){let n=t.state[x];if(X={},n===J)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[S],s=G.url?m(location)===m(G.url):!1;if(o===Y&&(it||s)){i!==k.state&&(k.state=i),e(a),M[J]=E(),r&&scrollTo(r.x,r.y),J=n;return}let c=n-J;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{J=n,Y=o},block:()=>{history.go(-c)},nav_token:X,event:t})}else q||(e(new URL(location.href)),R.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{q&&(q=!1,history.replaceState({...history.state,[x]:++J,[S]:Y},``,location.href))});for(let e of document.querySelectorAll(`link`))We.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(A.current=null)});function e(e){G.url=k.url=e,P.page.set(Jt(k)),P.page.notify()}}async function Ut(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){tt=!0;let l=new URL(location.href),u;({params:i={},route:a={id:null}}=await At(l,!1)||{}),u=Je.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Wt(r.uses)),bt({loader:R.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Ct(r)})}),o=await Promise.all(e);if(u){let e=u.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await yt({url:l,params:i,branch:o,status:t,error:n,errors:u?.errors,form:c,route:u??null})}catch(t){if(t instanceof d)return await F(new URL(t.location,location.href));f=await Ot({status:Ne(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await vt(f,e,p))}function Wt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Gt=!1;function Kt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Xt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Gt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Gt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function qt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Jt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Yt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Xt(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{ut as a,ke as c,Vt as i,b as l,zt as n,A as o,Rt as r,k as s,Lt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./g7M7feZg.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{c as load_css,a as start}from"../chunks/g7M7feZg.js";
|