@happyvertical/smrt-planner 0.57.7 → 0.57.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/404.html +18 -18
- package/app/_app/immutable/chunks/{D3lXu_rt.js → B45qMR8U.js} +21 -21
- package/app/_app/immutable/chunks/{Bhd-3niN.js → BU0vd8nA.js} +1 -1
- package/app/_app/immutable/chunks/{JqlEoPqZ.js → BWd9iJf7.js} +1 -1
- package/app/_app/immutable/chunks/BeJxxDXZ.js +1 -0
- package/app/_app/immutable/chunks/{BeL8dJx9.js → BfeotTF9.js} +3 -3
- package/app/_app/immutable/chunks/{BdOPgmQ_.js → BlJ-05MM.js} +1 -1
- package/app/_app/immutable/chunks/{Vt9hDpHd.js → C6HSENij.js} +1 -1
- package/app/_app/immutable/chunks/{DmHVTNcC.js → C7boms_S.js} +1 -1
- package/app/_app/immutable/chunks/{C8FX0hli.js → C8kJ-wTn.js} +1 -1
- package/app/_app/immutable/chunks/CKd9O-eU.js +1 -0
- package/app/_app/immutable/chunks/{CYhwv6d2.js → COQVmnKJ.js} +1 -1
- package/app/_app/immutable/chunks/{DIgo5ngo.js → CTlovRev.js} +1 -1
- package/app/_app/immutable/chunks/{DmdvNG82.js → CaiMTXlW.js} +1 -1
- package/app/_app/immutable/chunks/{BqEBz5Vq.js → CiNYyHrL.js} +1 -1
- package/app/_app/immutable/chunks/{B2uXaQfZ.js → Cmh0yR4f.js} +1 -1
- package/app/_app/immutable/chunks/{BQLQsso4.js → Ct5r3XV1.js} +1 -1
- package/app/_app/immutable/chunks/{CdKHckEF.js → D0m3WNVh.js} +1 -1
- package/app/_app/immutable/chunks/{ICDFUCZL.js → DKi2uwTq.js} +1 -1
- package/app/_app/immutable/chunks/{D8MqcCKq.js → DWeCJh9N.js} +1 -1
- package/app/_app/immutable/chunks/{TcjpRcdI.js → D_xoWitl.js} +1 -1
- package/app/_app/immutable/chunks/Dg4KRWOz.js +1 -0
- package/app/_app/immutable/chunks/{Db12RzZi.js → DmvHEN1v.js} +1 -1
- package/app/_app/immutable/chunks/{DfN2k_EX.js → DoGeTgSe.js} +1 -1
- package/app/_app/immutable/chunks/{C6AANt9H.js → DqrQeG8L.js} +1 -1
- package/app/_app/immutable/chunks/{C2OYATC6.js → DziaAoFY.js} +1 -1
- package/app/_app/immutable/chunks/{FeyhlLIZ.js → QJX7BlhI.js} +1 -1
- package/app/_app/immutable/chunks/{Cwz7QFS4.js → Ywu-998J.js} +2 -2
- package/app/_app/immutable/chunks/{lUJaueNM.js → nB-x9BEp.js} +1 -1
- package/app/_app/immutable/chunks/{DwIRC3h5.js → ptmcJq5j.js} +1 -1
- package/app/_app/immutable/entry/{app.C5bxPKCP.js → app.g4Bu04a3.js} +2 -2
- package/app/_app/immutable/entry/start.C4bzxGdW.js +1 -0
- package/app/_app/immutable/nodes/{0.DFJFBCCB.js → 0.C6N6B83E.js} +1 -1
- package/app/_app/immutable/nodes/{1.D_79m87b.js → 1.9pTjyJp5.js} +1 -1
- package/app/_app/immutable/nodes/{10.20u2-jxn.js → 10.BkbBDSaP.js} +1 -1
- package/app/_app/immutable/nodes/{11.CvMq32jC.js → 11.BcVi4XqZ.js} +1 -1
- package/app/_app/immutable/nodes/{12.Cd0cy1AC.js → 12.j9PkVob2.js} +1 -1
- package/app/_app/immutable/nodes/{13.DYYS3YVQ.js → 13.BOUYEx8n.js} +1 -1
- package/app/_app/immutable/nodes/{14.BEf5BJDn.js → 14.CuMuuCU7.js} +1 -1
- package/app/_app/immutable/nodes/{2.C_kLkHNl.js → 2.BHCkcrHF.js} +3 -3
- package/app/_app/immutable/nodes/{3.CZw3hv8O.js → 3.D6l9gEJu.js} +1 -1
- package/app/_app/immutable/nodes/{4.WMU9NDex.js → 4.BUHWJvB3.js} +1 -1
- package/app/_app/immutable/nodes/{5.CuqxSfl4.js → 5.C1jfy8Yg.js} +1 -1
- package/app/_app/immutable/nodes/{6.BXLQB7tR.js → 6.LSyNtBLJ.js} +1 -1
- package/app/_app/immutable/nodes/{7.BZvxNeL2.js → 7.CC7rRIn7.js} +1 -1
- package/app/_app/immutable/nodes/{8.Bj2O4pyx.js → 8.S9H6LDRX.js} +1 -1
- package/app/_app/immutable/nodes/{9.yeFzeUHj.js → 9.BPt57fDH.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +21 -21
- package/app/ai/index.html +24 -24
- package/app/blueprint/index.html +19 -19
- package/app/cookbook/index.html +19 -19
- package/app/index.html +27 -27
- package/app/m/ads/AdDeliveryTier/index.html +23 -23
- package/app/m/ads/AdEvent/index.html +23 -23
- package/app/m/ads/AdFormat/index.html +23 -23
- package/app/m/ads/AdGroup/index.html +23 -23
- package/app/m/ads/AdVariation/index.html +23 -23
- package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
- package/app/m/analytics/AnalyticsEvent/index.html +23 -23
- package/app/m/analytics/AnalyticsProperty/index.html +23 -23
- package/app/m/analytics/AnalyticsReport/index.html +23 -23
- package/app/m/approvals/ApprovalEvent/index.html +23 -23
- package/app/m/approvals/ApprovalPolicy/index.html +23 -23
- package/app/m/approvals/ApprovalRequest/index.html +23 -23
- package/app/m/assets/Asset/attachments/index.html +24 -24
- package/app/m/assets/Asset/index.html +23 -23
- package/app/m/assets/AssetAssociation/index.html +23 -23
- package/app/m/assets/AssetMetafield/index.html +23 -23
- package/app/m/assets/AssetStatus/index.html +23 -23
- package/app/m/assets/AssetType/index.html +23 -23
- package/app/m/assets/Folder/index.html +23 -23
- package/app/m/chat/AgentSession/index.html +23 -23
- package/app/m/chat/ChatMessage/index.html +23 -23
- package/app/m/chat/ChatParticipant/index.html +23 -23
- package/app/m/chat/ChatReaction/index.html +23 -23
- package/app/m/chat/ChatRoom/index.html +23 -23
- package/app/m/chat/ChatThread/index.html +23 -23
- package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
- package/app/m/chat/VoiceSession/index.html +23 -23
- package/app/m/commerce/Agreement/index.html +23 -23
- package/app/m/commerce/Cart/index.html +23 -23
- package/app/m/commerce/Contract/index.html +23 -23
- package/app/m/commerce/ContractLineItem/index.html +23 -23
- package/app/m/commerce/Customer/index.html +23 -23
- package/app/m/commerce/DocumentTax/index.html +23 -23
- package/app/m/commerce/Estimate/index.html +23 -23
- package/app/m/commerce/Fulfillment/index.html +23 -23
- package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
- package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
- package/app/m/commerce/Invoice/index.html +23 -23
- package/app/m/commerce/InvoiceLineItem/index.html +23 -23
- package/app/m/commerce/Lease/index.html +23 -23
- package/app/m/commerce/LicenseSale/index.html +23 -23
- package/app/m/commerce/Order/index.html +23 -23
- package/app/m/commerce/Payment/index.html +23 -23
- package/app/m/commerce/PaymentAllocation/index.html +23 -23
- package/app/m/commerce/PaymentInstrument/index.html +23 -23
- package/app/m/commerce/PaymentIntent/index.html +23 -23
- package/app/m/commerce/Payout/index.html +23 -23
- package/app/m/commerce/ProductionOrder/index.html +23 -23
- package/app/m/commerce/PurchaseContract/index.html +23 -23
- package/app/m/commerce/PurchaseOrder/index.html +23 -23
- package/app/m/commerce/SalesContract/index.html +23 -23
- package/app/m/commerce/SupplierQuote/index.html +23 -23
- package/app/m/commerce/TaxCode/index.html +23 -23
- package/app/m/commerce/TaxComponent/index.html +23 -23
- package/app/m/commerce/TaxSettings/index.html +23 -23
- package/app/m/commerce/TaxSummaryReport/index.html +23 -23
- package/app/m/commerce/Vendor/index.html +23 -23
- package/app/m/commerce/WholesaleOrder/index.html +23 -23
- package/app/m/content/Content/index.html +23 -23
- package/app/m/content/ContentContribution/index.html +23 -23
- package/app/m/content/ContentContributionAttachment/index.html +23 -23
- package/app/m/content/ContentContributionRevision/index.html +23 -23
- package/app/m/content/ContentContributionType/index.html +23 -23
- package/app/m/content/ContentContributor/index.html +23 -23
- package/app/m/content/ContentCorrection/index.html +23 -23
- package/app/m/content/ContentFeedSource/index.html +23 -23
- package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
- package/app/m/content/ContentGovernancePolicy/index.html +23 -23
- package/app/m/content/ContentGovernanceProfile/index.html +23 -23
- package/app/m/content/ContentReference/index.html +23 -23
- package/app/m/content/ContentReview/index.html +23 -23
- package/app/m/content/ContentVersion/index.html +23 -23
- package/app/m/events/Event/index.html +23 -23
- package/app/m/events/EventParticipant/index.html +23 -23
- package/app/m/events/EventSeries/index.html +23 -23
- package/app/m/events/EventType/index.html +23 -23
- package/app/m/expenses/Expense/index.html +23 -23
- package/app/m/facts/Fact/index.html +23 -23
- package/app/m/facts/FactContent/index.html +23 -23
- package/app/m/facts/FactEvidence/index.html +23 -23
- package/app/m/facts/FactSource/index.html +23 -23
- package/app/m/facts/FactSubject/index.html +23 -23
- package/app/m/facts/FactTag/index.html +23 -23
- package/app/m/fields/FieldPolicy/index.html +23 -23
- package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
- package/app/m/fields/FieldUsageCounter/index.html +23 -23
- package/app/m/images/Image/index.html +23 -23
- package/app/m/inventory/InventoryLocation/index.html +23 -23
- package/app/m/inventory/StockLevel/index.html +23 -23
- package/app/m/inventory/StockMovement/index.html +23 -23
- package/app/m/ledgers/Account/index.html +23 -23
- package/app/m/ledgers/Journal/index.html +23 -23
- package/app/m/ledgers/JournalEntry/index.html +23 -23
- package/app/m/ledgers/Ledger/index.html +23 -23
- package/app/m/manufacturing/Assembly/index.html +23 -23
- package/app/m/manufacturing/BillOfMaterials/index.html +23 -23
- package/app/m/manufacturing/BomLine/index.html +23 -23
- package/app/m/manufacturing/Operation/index.html +23 -23
- package/app/m/manufacturing/ProductionRun/index.html +23 -23
- package/app/m/manufacturing/ProductionRunCompletion/index.html +23 -23
- package/app/m/manufacturing/RoutingStep/index.html +23 -23
- package/app/m/marketing/Campaign/index.html +23 -23
- package/app/m/marketing/CampaignChannel/index.html +23 -23
- package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
- package/app/m/messages/Account/index.html +23 -23
- package/app/m/messages/Attachment/index.html +23 -23
- package/app/m/messages/Blacklist/index.html +23 -23
- package/app/m/messages/Email/failed-sends/index.html +24 -24
- package/app/m/messages/Email/index.html +23 -23
- package/app/m/messages/Email/mailbox/index.html +24 -24
- package/app/m/messages/EmailAccount/index.html +23 -23
- package/app/m/messages/EmailAttachment/index.html +23 -23
- package/app/m/messages/EmailFolder/index.html +23 -23
- package/app/m/messages/Message/index.html +23 -23
- package/app/m/messages/MessagingEndpoint/index.html +23 -23
- package/app/m/messages/PersonaMessageRoute/index.html +23 -23
- package/app/m/messages/SlackAccount/index.html +23 -23
- package/app/m/messages/SlackMessage/index.html +23 -23
- package/app/m/messages/TelegramAccount/index.html +23 -23
- package/app/m/messages/Tweet/index.html +23 -23
- package/app/m/messages/TwitterAccount/index.html +23 -23
- package/app/m/messages/Whitelist/index.html +23 -23
- package/app/m/messages/ZulipAccount/index.html +23 -23
- package/app/m/places/Place/index.html +23 -23
- package/app/m/places/PlaceType/index.html +23 -23
- package/app/m/products/Category/index.html +23 -23
- package/app/m/products/Material/index.html +23 -23
- package/app/m/products/Product/index.html +23 -23
- package/app/m/products/Product/ingredients/index.html +24 -24
- package/app/m/products/ProductVariant/index.html +23 -23
- package/app/m/products/Sku/index.html +23 -23
- package/app/m/profiles/ApiKey/index.html +23 -23
- package/app/m/profiles/Bot/index.html +23 -23
- package/app/m/profiles/MagicLinkToken/index.html +23 -23
- package/app/m/profiles/NostrIdentity/index.html +23 -23
- package/app/m/profiles/OidcIdentity/index.html +23 -23
- package/app/m/profiles/Organization/index.html +23 -23
- package/app/m/profiles/Person/index.html +23 -23
- package/app/m/profiles/Profile/index.html +23 -23
- package/app/m/profiles/ProfileMetadata/index.html +23 -23
- package/app/m/profiles/ProfileMetafield/index.html +23 -23
- package/app/m/profiles/ProfileRelationship/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
- package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
- package/app/m/profiles/ProfileType/index.html +23 -23
- package/app/m/projects/Comment/index.html +23 -23
- package/app/m/projects/Issue/index.html +23 -23
- package/app/m/projects/Label/index.html +23 -23
- package/app/m/projects/Project/index.html +23 -23
- package/app/m/projects/ProjectIntegration/index.html +23 -23
- package/app/m/projects/PullRequest/index.html +23 -23
- package/app/m/projects/Repository/index.html +23 -23
- package/app/m/properties/Property/index.html +23 -23
- package/app/m/properties/Zone/index.html +23 -23
- package/app/m/reports/RuntimeReport/index.html +23 -23
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportLock/index.html +23 -23
- package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
- package/app/m/reports/SmrtReportRun/index.html +23 -23
- package/app/m/reports/SmrtReportSchedule/index.html +23 -23
- package/app/m/reports/SmrtReportWatermark/index.html +23 -23
- package/app/m/sales/Agreement/index.html +23 -23
- package/app/m/sales/AttributionException/index.html +23 -23
- package/app/m/sales/AttributionPolicy/index.html +23 -23
- package/app/m/sales/Commission/index.html +23 -23
- package/app/m/sales/CommissionAdjustment/index.html +23 -23
- package/app/m/sales/CommissionPayout/index.html +23 -23
- package/app/m/sales/CommissionPlan/index.html +23 -23
- package/app/m/sales/Earner/index.html +23 -23
- package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
- package/app/m/sales/EarningEvent/index.html +23 -23
- package/app/m/sales/ExecutedAgreement/index.html +23 -23
- package/app/m/sales/Lead/index.html +23 -23
- package/app/m/sales/Opportunity/index.html +23 -23
- package/app/m/sales/OpportunityConversion/index.html +23 -23
- package/app/m/sales/PipelineDefinition/index.html +23 -23
- package/app/m/sales/PipelineStage/index.html +23 -23
- package/app/m/sales/Referral/index.html +23 -23
- package/app/m/sales/ReferralAgreement/index.html +23 -23
- package/app/m/sales/ReferralLink/index.html +23 -23
- package/app/m/sales/ReferralProgram/index.html +23 -23
- package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
- package/app/m/sales/ReferralTouch/index.html +23 -23
- package/app/m/sales/Referrer/index.html +23 -23
- package/app/m/sales/SalesActivity/index.html +23 -23
- package/app/m/sales/SalesRepresentative/index.html +23 -23
- package/app/m/sites/Site/index.html +23 -23
- package/app/m/sites/SiteAgentBinding/index.html +23 -23
- package/app/m/social/OAuthState/index.html +23 -23
- package/app/m/social/SocialAccount/index.html +23 -23
- package/app/m/social/SocialPost/index.html +23 -23
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
- package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
- package/app/m/subscriptions/ClientCharge/index.html +23 -23
- package/app/m/subscriptions/CreditGrant/index.html +23 -23
- package/app/m/subscriptions/PricingRule/index.html +23 -23
- package/app/m/subscriptions/RetailCharge/index.html +23 -23
- package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
- package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
- package/app/m/subscriptions/TenantSubscription/index.html +23 -23
- package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
- package/app/m/support/ServiceTimeEntry/index.html +23 -23
- package/app/m/support/SupportAiRun/index.html +23 -23
- package/app/m/support/SupportAvailability/index.html +23 -23
- package/app/m/support/SupportCase/index.html +23 -23
- package/app/m/support/SupportCaseEvent/index.html +23 -23
- package/app/m/support/SupportChannelBinding/index.html +23 -23
- package/app/m/support/SupportCharge/index.html +23 -23
- package/app/m/support/SupportCompensation/index.html +23 -23
- package/app/m/support/SupportCompensationPlan/index.html +23 -23
- package/app/m/support/SupportEscalation/index.html +23 -23
- package/app/m/support/SupportInteraction/index.html +23 -23
- package/app/m/support/SupportPlan/index.html +23 -23
- package/app/m/support/SupportPolicy/index.html +23 -23
- package/app/m/support/SupportQualification/index.html +23 -23
- package/app/m/support/SupportServiceTarget/index.html +23 -23
- package/app/m/support/SupportSpecialist/index.html +23 -23
- package/app/m/support/SupportWorkLink/index.html +23 -23
- package/app/m/tags/Tag/index.html +23 -23
- package/app/m/tags/TagAlias/index.html +23 -23
- package/app/m/timesheets/AttendanceBreak/index.html +23 -23
- package/app/m/timesheets/AttendancePunch/index.html +23 -23
- package/app/m/timesheets/AttendanceSegment/index.html +23 -23
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
- package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
- package/app/m/users/Group/index.html +23 -23
- package/app/m/users/GroupMember/index.html +23 -23
- package/app/m/users/GroupRole/index.html +23 -23
- package/app/m/users/Membership/index.html +23 -23
- package/app/m/users/MembershipOverride/index.html +23 -23
- package/app/m/users/Permission/index.html +23 -23
- package/app/m/users/Role/index.html +23 -23
- package/app/m/users/RolePermission/index.html +23 -23
- package/app/m/users/Session/index.html +23 -23
- package/app/m/users/Tenant/index.html +23 -23
- package/app/m/users/TenantIntegration/index.html +23 -23
- package/app/m/users/TenantPermissionOverride/index.html +23 -23
- package/app/m/users/User/index.html +23 -23
- package/app/m/video/Character/index.html +23 -23
- package/app/m/video/CharacterAsset/index.html +23 -23
- package/app/m/video/CompositeJob/index.html +23 -23
- package/app/m/video/Performer/index.html +23 -23
- package/app/m/video/PerformerAsset/index.html +23 -23
- package/app/m/video/Scene/index.html +23 -23
- package/app/m/video/SceneAsset/index.html +23 -23
- package/app/m/video/VideoComposition/index.html +23 -23
- package/app/m/video/VideoCompositionAsset/index.html +23 -23
- package/app/m/video/VideoSequence/index.html +23 -23
- package/app/m/video/VideoSequenceAsset/index.html +23 -23
- package/app/m/video/VideoShot/index.html +23 -23
- package/app/m/video/VideoShotAsset/index.html +23 -23
- package/app/m/video/VideoShotCharacter/index.html +23 -23
- package/app/m/video/VideoWorkflow/index.html +23 -23
- package/app/m/voice/VoiceOutput/index.html +23 -23
- package/app/m/voice/VoiceProfile/index.html +23 -23
- package/app/m/voice/VoiceSample/index.html +23 -23
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +21 -21
- package/app/packages/analytics/index.html +21 -21
- package/app/packages/approvals/index.html +21 -21
- package/app/packages/assets/index.html +21 -21
- package/app/packages/chat/index.html +21 -21
- package/app/packages/comments/index.html +21 -21
- package/app/packages/commerce/index.html +21 -21
- package/app/packages/content/index.html +21 -21
- package/app/packages/events/index.html +21 -21
- package/app/packages/expenses/index.html +21 -21
- package/app/packages/facts/index.html +21 -21
- package/app/packages/fields/index.html +21 -21
- package/app/packages/human-resources/index.html +21 -21
- package/app/packages/images/index.html +21 -21
- package/app/packages/index.html +20 -20
- package/app/packages/ingestion/index.html +21 -21
- package/app/packages/inventory/index.html +21 -21
- package/app/packages/ledgers/index.html +21 -21
- package/app/packages/manufacturing/index.html +21 -21
- package/app/packages/marketing/index.html +21 -21
- package/app/packages/messages/index.html +21 -21
- package/app/packages/places/index.html +21 -21
- package/app/packages/preferences/index.html +21 -21
- package/app/packages/products/index.html +21 -21
- package/app/packages/profiles/index.html +21 -21
- package/app/packages/projects/index.html +21 -21
- package/app/packages/properties/index.html +21 -21
- package/app/packages/reports/index.html +21 -21
- package/app/packages/sales/index.html +21 -21
- package/app/packages/sites/index.html +21 -21
- package/app/packages/social/index.html +21 -21
- package/app/packages/subscriptions/index.html +21 -21
- package/app/packages/support/index.html +21 -21
- package/app/packages/tags/index.html +21 -21
- package/app/packages/timesheets/index.html +21 -21
- package/app/packages/users/index.html +21 -21
- package/app/packages/video/index.html +21 -21
- package/app/packages/voice/index.html +21 -21
- package/app/packages/webhooks/index.html +21 -21
- package/app/recipes/account-access/help/index.html +22 -22
- package/app/recipes/account-access/index.html +23 -23
- package/app/recipes/activity/help/index.html +21 -21
- package/app/recipes/activity/index.html +23 -23
- package/app/recipes/agreements/help/index.html +21 -21
- package/app/recipes/agreements/index.html +23 -23
- package/app/recipes/analytics.reports/help/index.html +21 -21
- package/app/recipes/analytics.reports/index.html +23 -23
- package/app/recipes/assets/help/index.html +21 -21
- package/app/recipes/assets/index.html +23 -23
- package/app/recipes/billing/help/index.html +21 -21
- package/app/recipes/billing/index.html +23 -23
- package/app/recipes/chat.assistant/help/index.html +21 -21
- package/app/recipes/chat.assistant/index.html +23 -23
- package/app/recipes/comments/help/index.html +21 -21
- package/app/recipes/comments/index.html +23 -23
- package/app/recipes/commerce.customers/help/index.html +21 -21
- package/app/recipes/commerce.customers/index.html +23 -23
- package/app/recipes/commerce.estimates/help/index.html +21 -21
- package/app/recipes/commerce.estimates/index.html +23 -23
- package/app/recipes/commerce.purchases/help/index.html +21 -21
- package/app/recipes/commerce.purchases/index.html +23 -23
- package/app/recipes/commerce.sales/help/index.html +21 -21
- package/app/recipes/commerce.sales/index.html +23 -23
- package/app/recipes/commerce.vendors/help/index.html +21 -21
- package/app/recipes/commerce.vendors/index.html +23 -23
- package/app/recipes/commerce.wholesale/help/index.html +21 -21
- package/app/recipes/commerce.wholesale/index.html +23 -23
- package/app/recipes/events.calendar/help/index.html +21 -21
- package/app/recipes/events.calendar/index.html +23 -23
- package/app/recipes/expenses.tracking/help/index.html +21 -21
- package/app/recipes/expenses.tracking/index.html +23 -23
- package/app/recipes/fields.form-customization/help/index.html +21 -21
- package/app/recipes/fields.form-customization/index.html +23 -23
- package/app/recipes/ingestion/help/index.html +21 -21
- package/app/recipes/ingestion/index.html +23 -23
- package/app/recipes/integrations/help/index.html +21 -21
- package/app/recipes/integrations/index.html +23 -23
- package/app/recipes/inventory.stock/help/index.html +21 -21
- package/app/recipes/inventory.stock/index.html +23 -23
- package/app/recipes/ledgers.bookkeeping/help/index.html +21 -21
- package/app/recipes/ledgers.bookkeeping/index.html +23 -23
- package/app/recipes/messages/help/index.html +21 -21
- package/app/recipes/messages/index.html +23 -23
- package/app/recipes/products/help/index.html +21 -21
- package/app/recipes/products/index.html +23 -23
- package/app/recipes/projects.tracker/help/index.html +21 -21
- package/app/recipes/projects.tracker/index.html +23 -23
- package/app/recipes/reports.materialized/help/index.html +21 -21
- package/app/recipes/reports.materialized/index.html +23 -23
- package/app/recipes/reports.runtime/help/index.html +21 -21
- package/app/recipes/reports.runtime/index.html +23 -23
- package/app/recipes/sales.pipeline/help/index.html +21 -21
- package/app/recipes/sales.pipeline/index.html +23 -23
- package/app/recipes/tags.taxonomy/help/index.html +21 -21
- package/app/recipes/tags.taxonomy/index.html +23 -23
- package/app/recipes/team-collaboration/help/index.html +21 -21
- package/app/recipes/team-collaboration/index.html +23 -23
- package/app/recipes/timesheets.time-entries/help/index.html +21 -21
- package/app/recipes/timesheets.time-entries/index.html +23 -23
- package/app/s/custom-accounts/index.html +19 -19
- package/app/s/custom-appointments/index.html +19 -19
- package/app/s/custom-billing/index.html +19 -19
- package/app/s/custom-bookings/index.html +19 -19
- package/app/s/custom-buying/index.html +19 -19
- package/app/s/custom-checkout/index.html +19 -19
- package/app/s/custom-classes/index.html +19 -19
- package/app/s/custom-clients/index.html +19 -19
- package/app/s/custom-events/index.html +19 -19
- package/app/s/custom-fleet/index.html +19 -19
- package/app/s/custom-gigs/index.html +19 -19
- package/app/s/custom-giving/index.html +19 -19
- package/app/s/custom-instruments/index.html +19 -19
- package/app/s/custom-jobs/index.html +19 -19
- package/app/s/custom-kitchen/index.html +19 -19
- package/app/s/custom-lessons/index.html +19 -19
- package/app/s/custom-material/index.html +19 -19
- package/app/s/custom-meetings/index.html +19 -19
- package/app/s/custom-members/index.html +19 -19
- package/app/s/custom-merch/index.html +19 -19
- package/app/s/custom-money/index.html +19 -19
- package/app/s/custom-paint/index.html +19 -19
- package/app/s/custom-parts/index.html +19 -19
- package/app/s/custom-rentals/index.html +19 -19
- package/app/s/custom-roastery/index.html +19 -19
- package/app/s/custom-schedule/index.html +19 -19
- package/app/s/custom-shelf/index.html +19 -19
- package/app/s/custom-shop/index.html +19 -19
- package/app/s/custom-students/index.html +19 -19
- package/app/s/custom-wholesale/index.html +19 -19
- package/app/s/custom-work/index.html +19 -19
- package/app/s/custom-yard/index.html +19 -19
- package/app/s/section-access-control/index.html +19 -19
- package/app/s/section-account-security/index.html +19 -19
- package/app/s/section-accounting/index.html +19 -19
- package/app/s/section-activity/index.html +19 -19
- package/app/s/section-agreements/index.html +19 -19
- package/app/s/section-analytics/index.html +19 -19
- package/app/s/section-assets/index.html +19 -19
- package/app/s/section-billing/index.html +19 -19
- package/app/s/section-calendar/index.html +19 -19
- package/app/s/section-catalog/index.html +19 -19
- package/app/s/section-chat.assistant/index.html +19 -19
- package/app/s/section-comments/index.html +19 -19
- package/app/s/section-fields.form-customization/index.html +19 -19
- package/app/s/section-ingestion/index.html +19 -19
- package/app/s/section-integrations/index.html +19 -19
- package/app/s/section-messages/index.html +19 -19
- package/app/s/section-more/index.html +19 -19
- package/app/s/section-operations/index.html +19 -19
- package/app/s/section-projects/index.html +19 -19
- package/app/s/section-purchasing/index.html +19 -19
- package/app/s/section-reports.materialized/index.html +19 -19
- package/app/s/section-reports.runtime/index.html +19 -19
- package/app/s/section-sales/index.html +19 -19
- package/app/s/section-taxonomy/index.html +19 -19
- package/app/s/section-team/index.html +19 -19
- package/app/s/section-work/index.html +19 -19
- package/dist/catalog/catalog.json +50 -38
- package/dist/smrt-version.d.ts +1 -1
- package/dist/smrt-version.js +1 -1
- package/package.json +54 -54
- package/app/_app/immutable/chunks/DGaFQflg.js +0 -1
- package/app/_app/immutable/chunks/IDZmjRDr.js +0 -1
- package/app/_app/immutable/chunks/ezs6CGyc.js +0 -1
- package/app/_app/immutable/entry/start.CZvO61qD.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,R as f,U as p,W as m,a as h,bt as g,ct as _,d as v,ft as y,gt as b,ht as x,j as S,mt as C,nt as w,pt as T,r as E,st as D,v as O,vt as k,xt as A}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{i as j}from"./Bv5jGtB8.js";import{a as M,t as ee}from"./YUSKx8_q.js";import{Ct as N,_t as P,bt as te,ft as F,x as I}from"./D3lXu_rt.js";import{n as L}from"./DK8Blf1Y.js";import{S as ne,_ as R}from"./BeL8dJx9.js";import{t as z}from"./DF-0MxNw.js";import"./BQLQsso4.js";import"./DfN2k_EX.js";import{b as B,i as V}from"./CsaWd8kG.js";import{A as re,j as H,y as ie}from"./DmHVTNcC.js";import{b as U,et as W,t as G}from"./lUJaueNM.js";import{a as K,c as q,d as J,f as Y,h as ae,l as oe,n as se,p as X,s as Z}from"./CdKHckEF.js";import{n as ce,t as le}from"./DIgo5ngo.js";var ue=/^[A-Za-z][A-Za-z0-9_]*$/,de=/^[a-z][a-z0-9_]*$/,fe=/^[A-Za-z@][A-Za-z0-9_@./:-]*$/,pe=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/,me=new Set([`minute`,`hour`,`day`,`week`,`month`,`quarter`,`year`]),he=new Set([`count`,`countDistinct`,`sum`,`avg`,`min`,`max`]),ge=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`,`notIn`,`contains`,`isNull`,`isNotNull`]),_e=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),ve=new Set([`table`,`bar`,`line`,`pie`,`stat`]),ye=new Set(`all.and.as.asc.between.by.case.cast.check.column.constraint.create.cross.default.delete.desc.distinct.drop.else.end.except.exists.false.for.foreign.from.full.group.having.in.inner.insert.intersect.into.is.join.left.like.limit.natural.not.null.offset.on.or.order.outer.primary.references.right.select.set.table.then.to.true.union.unique.update.user.using.values.when.where.with`.split(`.`));function be(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null?e:null}function xe(e,t){return Object.keys(e).every(e=>t.includes(e))}function Se(e,t,n=!1){if(e===void 0)return n;if(typeof e!=`string`)return!1;let r=e.trim();return r.length>0&&r.length<=t&&r===e&&!pe.test(r)}function Ce(e){return typeof e==`string`&&e.length<=64&&ue.test(e)}function we(e){return typeof e==`string`&&e.length<=40&&de.test(e)&&!ye.has(e)}function Te(e){return typeof e==`string`&&e.length<=256&&!e.includes(`\0`)||typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`}function Ee(e){let t=be(e);if(!t||!xe(t,[`version`,`title`,`description`,`source`,`dimensions`,`measures`,`filters`,`having`,`sort`,`limit`,`chart`])||t.version!==1||!Se(t.title,120)||!Se(t.description,500,!0)||typeof t.source!=`string`||t.source.length===0||t.source.length>120||!fe.test(t.source)||!Array.isArray(t.dimensions)||t.dimensions.length>4||!Array.isArray(t.measures)||t.measures.length<1||t.measures.length>6||!Array.isArray(t.filters)||t.filters.length>12||!Array.isArray(t.having)||t.having.length>4||!Array.isArray(t.sort)||t.sort.length>3||!Number.isSafeInteger(t.limit)||t.limit<1||t.limit>1e3)return!1;let n=new Set,r=new Set,i=new Set;for(let e of t.dimensions){let t=be(e);if(!t||!xe(t,[`field`,`as`,`bucket`])||!Ce(t.field)||!we(t.as)||t.bucket!==void 0&&(typeof t.bucket!=`string`||!me.has(t.bucket))||i.has(t.as))return!1;i.add(t.as),n.add(t.as)}for(let e of t.measures){let t=be(e);if(!t||!xe(t,[`fn`,`field`,`as`])||typeof t.fn!=`string`||!he.has(t.fn)||!we(t.as)||i.has(t.as)||t.field!==void 0&&!Ce(t.field)||t.fn!==`count`&&t.field===void 0)return!1;i.add(t.as),r.add(t.as)}for(let e of t.filters){let t=be(e);if(!t||!xe(t,[`field`,`op`,`value`])||!Ce(t.field)||typeof t.op!=`string`||!ge.has(t.op))return!1;if(t.op===`isNull`||t.op===`isNotNull`){if(t.value!==void 0)return!1}else if(t.op===`in`||t.op===`notIn`){if(!Array.isArray(t.value)||t.value.length<1||t.value.length>100||!t.value.every(Te))return!1}else if(!Te(t.value)||t.op===`contains`&&typeof t.value!=`string`)return!1}for(let e of t.having){let t=be(e);if(!t||!xe(t,[`measure`,`op`,`value`])||!we(t.measure)||!r.has(t.measure)||typeof t.op!=`string`||!_e.has(t.op)||typeof t.value!=`number`||!Number.isFinite(t.value))return!1}for(let e of t.sort){let t=be(e);if(!t||!xe(t,[`by`,`direction`])||!we(t.by)||!i.has(t.by)||t.direction!==`asc`&&t.direction!==`desc`)return!1}let a=be(t.chart);return!(!a||!xe(a,[`type`,`x`,`y`])||typeof a.type!=`string`||!ve.has(a.type)||a.x!==void 0&&(!we(a.x)||!n.has(a.x))||a.y!==void 0&&(!Array.isArray(a.y)||a.y.length>6||!a.y.every(e=>we(e)&&r.has(e))))}function De(e){let t=e;if(typeof e==`string`){if(e.length>65536)return null;try{t=JSON.parse(e)}catch{return null}}return Ee(t)?t:null}function Oe(e){if(e&&typeof e==`object`){let t=e;if(t.status===401||t.status===403||t.code===`unknown_field`)return`reports.denied`;if(t.code===`invalid_result`)return`reports.invalid`}return`reports.error`}function ke(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.version===1&&typeof t.title==`string`&&typeof t.specHash==`string`&&typeof t.ranAt==`string`&&typeof t.truncated==`boolean`&&Array.isArray(t.columns)&&t.columns.length>0&&t.columns.length<=10&&new Set(t.columns.map(e=>e?.id)).size===t.columns.length&&t.columns.every(e=>e&&typeof e.id==`string`&&typeof e.label==`string`&&[`dimension`,`measure`].includes(e.role)&&[`string`,`integer`,`decimal`,`boolean`,`datetime`,`id`].includes(e.type))&&Array.isArray(t.rows)&&t.rows.length<=1e3&&t.rowCount===t.rows.length&&t.rows.every(e=>e&&typeof e==`object`&&t.columns.every(t=>{let n=e[t.id];return n===null?!0:t.type===`integer`?typeof n==`number`&&Number.isSafeInteger(n):t.type===`decimal`?typeof n==`number`&&Number.isFinite(n):t.type===`boolean`?typeof n==`boolean`:typeof n==`string`}))&&!!t.chart&&[`bar`,`line`,`table`,`pie`,`stat`].includes(t.chart.type)&&(t.chart.y===void 0||Array.isArray(t.chart.y)&&t.chart.y.every(e=>t.columns.some(t=>t.id===e&&t.role===`measure`)))&&(t.chart.x===void 0||t.columns.some(e=>e.id===t.chart.x))}function Ae(e,t,n,r){return e==null?`–`:typeof e==`number`?H(e,{format:t.format===`money`?`money`:t.type===`integer`?`integer`:`decimal`,locale:n,currency:r}):String(e)}function je(e){if(!e||typeof e!=`object`)return!1;let t=e;if(t.status!==`awaiting_confirmation`||typeof t.specHash!=`string`||!/^[a-f0-9]{64}$/.test(t.specHash)||typeof t.sourceLabel!=`string`||t.sourceLabel.length<1||t.sourceLabel.length>120||typeof t.confirmPath!=`string`||t.confirmPath.length>2048||!t.confirmPath.startsWith(`/`)||t.confirmPath.startsWith(`//`)||!ke(t.preview)||t.preview.specHash!==t.specHash||!t.spec||!Ee(t.spec)||t.preview.title!==t.spec.title)return!1;let n=new Map([...t.spec.dimensions.map(e=>[e.as,`dimension`]),...t.spec.measures.map(e=>[e.as,`measure`])]);return t.preview.columns.length===n.size&&t.preview.columns.every(e=>n.get(e.id)===e.role)&&JSON.stringify(t.preview.chart)===JSON.stringify(t.spec.chart)}var Q=class extends Error{status;code;constructor(e,t){super(`Runtime report request failed`),this.status=e,this.code=t,this.name=`RuntimeReportsHttpError`}},Me=1e3,Ne=1e3;function Pe(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}async function Fe(e){let t;try{t=await e.json()}catch{throw new Q(e.status)}if(!e.ok){let n=Pe(t);throw new Q(e.status,typeof n?.code==`string`?n.code:void 0)}return t}function Ie(e){return encodeURIComponent(e)}function Le(e){if(!e.startsWith(`/`)||e.startsWith(`//`))throw new Q(400,`invalid_confirm_path`);if(typeof location>`u`)return e;let t=new URL(e,location.href);if(t.origin!==location.origin)throw new Q(400,`invalid_confirm_path`);return`${t.pathname}${t.search}`}function Re(e={}){let t=e.fetch??globalThis.fetch;if(typeof t!=`function`)throw Error(`Runtime reports require a fetch implementation`);let n=(e.basePath??`/api/runtimereports`).replace(/\/$/,``),r=new Map,i=t=>{let n=Pe(t);if(!n)throw new Q(502,`invalid_result`);let i=De(n.spec);if(!i||typeof n.id!=`string`||typeof n.title!=`string`||typeof n.sourceId!=`string`||typeof n.createdByUserId!=`string`||n.status!==`active`&&n.status!==`archived`)throw new Q(502,`invalid_result`);let a={id:n.id,title:n.title,...typeof n.description==`string`&&n.description?{description:n.description}:{},sourceId:n.sourceId,createdByUserId:n.createdByUserId,status:n.status,spec:i,...typeof n.createdAt==`string`&&n.createdAt?{savedAt:n.createdAt}:{},...r.has(n.id)?{lastRunAt:r.get(n.id)}:{}},o=typeof e.canArchive==`function`?e.canArchive(a):e.canArchive===!0;return{...a,canArchive:o}},a=async e=>i(await Fe(await t(`${n}/${Ie(e)}`,{headers:{accept:`application/json`}})));return{async list({onlyMine:r,includeArchived:a}){let o=new URLSearchParams;if(a||o.set(`status`,`active`),r){if(!e.currentUserId)throw new Q(400,`missing_current_user`);o.set(`createdByUserId`,e.currentUserId)}let s=[],c=new Set,l=0;for(let e=0;e<Ne;e++){let e=new URLSearchParams(o);e.set(`limit`,String(Me)),e.set(`offset`,String(l));let r=Pe(await Fe(await t(`${n}?${e}`,{headers:{accept:`application/json`}})));if(!r||!Array.isArray(r.items)||typeof r.count!=`number`||!Number.isSafeInteger(r.count)||r.count<0||typeof r.limit!=`number`||!Number.isSafeInteger(r.limit)||r.limit<1||r.limit>Me||typeof r.offset!=`number`||!Number.isSafeInteger(r.offset)||r.offset!==l||r.items.length>r.limit)throw new Q(502,`invalid_result`);let a=r.items.map(i);for(let e of a){if(c.has(e.id))throw new Q(502,`invalid_result`);c.add(e.id)}if(s.push(...a),l+=r.items.length,l>=r.count)return s;if(r.items.length===0)throw new Q(502,`invalid_result`)}throw new Q(502,`invalid_result`)},get:a,async run(e){let i=Pe(await Fe(await t(`${n}/${Ie(e)}/run`,{method:`POST`,headers:{accept:`application/json`}})));if(i?.action!==`run`||!ke(i.result))throw new Q(502,`invalid_result`);return r.set(e,i.result.ranAt),i.result},async archive(e,r){let i=Pe(await Fe(await t(`${n}/${Ie(e)}/archive`,{method:`POST`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({archived:r})}))),a=Pe(i?.result);if(i?.action!==`archive`||a?.id!==e||a.status!==(r?`archived`:`active`))throw new Q(502,`invalid_result`)},async confirm(e){let n=Pe(await Fe(await t(Le(e.confirmPath),{method:`POST`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({spec:e.spec,specHash:e.specHash})})));if(typeof n?.id!=`string`||n.specHash!==e.specHash)throw new Q(502,`invalid_result`);return a(n.id)}}}var ze,Be=``;function Ve(e={}){if(typeof window>`u`)throw Error(`The runtime reports browser client is unavailable during SSR`);let t=`${e.scopeKey??``}:${e.currentUserId??``}:${e.canArchive===!0}`;return(!ze||Be!==t)&&(ze=Re(e),Be=t),ze}function He(e){return e.replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).trim().toLowerCase().replace(/^./,e=>e.toUpperCase())}var Ue=/^\d{4}-\d{2}-\d{2}(?:[T ][\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/;function We(e){if(typeof e!=`string`||!Ue.test(e))return null;let t=new Date(/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:e);return Number.isNaN(t.getTime())?null:t}function Ge(e,t){let n=new Map;e.filters.forEach((e,t)=>{let r=We(e.value);if(!r)return;let i=n.get(e.field)??{filters:[]};if(e.op===`gte`||e.op===`gt`)i.from=r;else if(e.op===`lt`||e.op===`lte`){let t=new Date(r),n=t.getUTCHours()===0&&t.getUTCMinutes()===0&&t.getUTCSeconds()===0;e.op===`lt`&&n&&t.setUTCDate(t.getUTCDate()-1),i.to=t}else return;i.filters.push(t),n.set(e.field,i)});let[r,i]=[...n.entries()][0]??[];if(!r||!i)return null;let a=`en`;try{a=Intl.getCanonicalLocales(t.locale)[0]??`en`}catch{}let o=new Intl.DateTimeFormat(a,{timeZone:`UTC`,day:`numeric`,month:`short`,year:`numeric`}),s=i.from&&i.to?o.formatRange(i.from,i.to):i.from?t.t(`reports.period.since`,{date:o.format(i.from)}):i.to?t.t(`reports.period.until`,{date:o.format(i.to)}):``;return{field:t.label(r),range:s,filters:i.filters}}function Ke(e,t){let{t:n,locale:r,currency:i,source:a,columns:o}=t,s=e=>a?.fields?.find(t=>t.name===e),c=e=>s(e)?.label??He(e),l=a?.label??He(e.source),u=e.dimensions.map(e=>e.bucket?n(`reports.dimension_bucket`,{field:c(e.field),bucket:n(`reports.bucket_unit.${e.bucket}`)}):c(e.field)).join(`, `),d=Ge(e,{locale:r,label:c,t:n}),f=e.measures.map(e=>o?.find(t=>t.id===e.as)?.label??(e.field?n(`reports.aggregate.${e.fn}`,{field:c(e.field)}):n(`reports.aggregate.rows`,{source:l}))),p=(e,t)=>{let n=t=>s(e)?.format===`money`&&typeof t==`number`?H(t,{format:`money`,currency:i,locale:r}):String(t??``);return Array.isArray(t)?t.map(n).join(`, `):n(t)},m=e.filters.filter((e,t)=>!d?.filters.includes(t)).map(e=>`${c(e.field)} ${n(`reports.operator.${e.op}`)} ${p(e.field,e.value)}`.trim()),h=e=>o?.find(t=>t.id===e)?.label??He(e);return{source:l,groupings:u,period:d,measures:f,filters:m,having:e.having.map(e=>`${h(e.measure)} ${n(`reports.operator.${e.op}`)} ${e.value}`),line:[l,u,d?.range].filter(e=>!!e).join(` · `)}}var qe=new Set([`minute`,`hour`,`day`,`week`,`month`,`quarter`,`year`]);function Je(e){let t=e.chart.x?e.columns.find(t=>t.id===e.chart.x):e.columns.find(e=>e.role===`dimension`);return t?.bucket&&qe.has(t.bucket)?t:void 0}function Ye(e){let t=e.columns.filter(e=>e.role===`measure`),n=e.chart.y??[];return[...t.filter(e=>n.includes(e.id)),...t.filter(e=>!n.includes(e.id))]}function Xe(e){return e.format===`money`?`money`:e.type===`integer`?`integer`:`decimal`}function Ze(e,t,n){let{t:r,locale:i,currency:a}=n,o=e.rows.map(e=>({row:e,value:e[t.id]})).filter(e=>typeof e.value==`number`&&Number.isFinite(e.value));if(o.length===0)return[];let s=e=>Ae(t.type===`integer`&&!Number.isInteger(e)?Math.round(e*100)/100:e,t.type===`integer`&&!Number.isInteger(e)?{...t,type:`decimal`}:t,i,a);if(!e.columns.some(e=>e.role===`dimension`)||o.length===1)return[{label:t.label,value:s(o[0].value)}];let c=o.reduce((e,t)=>e+t.value,0),l=o.reduce((e,t)=>t.value>e.value?t:e),u=Je(e),d=[];return(n.fn===`sum`||n.fn===`count`)&&d.push({label:r(`reports.figure.total`),value:s(c)}),d.push({label:u?.bucket?r(`reports.figure.average_per`,{bucket:r(`reports.bucket_unit.${u.bucket}`)}):r(`reports.figure.average`),value:s(c/o.length)}),d.push({label:r(`reports.figure.peak`),value:s(l.value),detail:n.groupLabel(l.row)}),d}function Qe(e,t,n=new Date,r){let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a=`en`;try{a=Intl.getCanonicalLocales(t)[0]??`en`}catch{}let o=Math.round((i.getTime()-n.getTime())/1e3),s=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],c=new Intl.RelativeTimeFormat(a,{numeric:`auto`});for(let[e,t]of s)if(Math.abs(o)>=t)return c.format(Math.round(o/t),e);return r??c.format(0,`second`)}function $e(e,t=!1){let n=!t&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return/[",\n\r]/.test(n)?`"${n.replaceAll(`"`,`""`)}"`:n}function et(e,t){return`${[e.columns.map(e=>$e(e.label)).join(`,`),...e.rows.map(n=>e.columns.map(e=>$e(t(n[e.id],e),(e.type===`integer`||e.type===`decimal`)&&typeof n[e.id]==`number`)).join(`,`))].join(`\r
|
|
1
|
+
import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,R as f,U as p,W as m,a as h,bt as g,ct as _,d as v,ft as y,gt as b,ht as x,j as S,mt as C,nt as w,pt as T,r as E,st as D,v as O,vt as k,xt as A}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{i as j}from"./Bv5jGtB8.js";import{a as M,t as ee}from"./YUSKx8_q.js";import{Ct as N,_t as P,bt as te,ft as F,x as I}from"./B45qMR8U.js";import{n as L}from"./DK8Blf1Y.js";import{S as ne,_ as R}from"./BfeotTF9.js";import{t as z}from"./DF-0MxNw.js";import"./Ct5r3XV1.js";import"./DoGeTgSe.js";import{b as B,i as V}from"./CsaWd8kG.js";import{A as re,j as H,y as ie}from"./C7boms_S.js";import{b as U,et as W,t as G}from"./nB-x9BEp.js";import{a as K,c as q,d as J,f as Y,h as ae,l as oe,n as se,p as X,s as Z}from"./D0m3WNVh.js";import{n as ce,t as le}from"./CTlovRev.js";var ue=/^[A-Za-z][A-Za-z0-9_]*$/,de=/^[a-z][a-z0-9_]*$/,fe=/^[A-Za-z@][A-Za-z0-9_@./:-]*$/,pe=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/,me=new Set([`minute`,`hour`,`day`,`week`,`month`,`quarter`,`year`]),he=new Set([`count`,`countDistinct`,`sum`,`avg`,`min`,`max`]),ge=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`,`in`,`notIn`,`contains`,`isNull`,`isNotNull`]),_e=new Set([`eq`,`ne`,`gt`,`gte`,`lt`,`lte`]),ve=new Set([`table`,`bar`,`line`,`pie`,`stat`]),ye=new Set(`all.and.as.asc.between.by.case.cast.check.column.constraint.create.cross.default.delete.desc.distinct.drop.else.end.except.exists.false.for.foreign.from.full.group.having.in.inner.insert.intersect.into.is.join.left.like.limit.natural.not.null.offset.on.or.order.outer.primary.references.right.select.set.table.then.to.true.union.unique.update.user.using.values.when.where.with`.split(`.`));function be(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null?e:null}function xe(e,t){return Object.keys(e).every(e=>t.includes(e))}function Se(e,t,n=!1){if(e===void 0)return n;if(typeof e!=`string`)return!1;let r=e.trim();return r.length>0&&r.length<=t&&r===e&&!pe.test(r)}function Ce(e){return typeof e==`string`&&e.length<=64&&ue.test(e)}function we(e){return typeof e==`string`&&e.length<=40&&de.test(e)&&!ye.has(e)}function Te(e){return typeof e==`string`&&e.length<=256&&!e.includes(`\0`)||typeof e==`number`&&Number.isFinite(e)||typeof e==`boolean`}function Ee(e){let t=be(e);if(!t||!xe(t,[`version`,`title`,`description`,`source`,`dimensions`,`measures`,`filters`,`having`,`sort`,`limit`,`chart`])||t.version!==1||!Se(t.title,120)||!Se(t.description,500,!0)||typeof t.source!=`string`||t.source.length===0||t.source.length>120||!fe.test(t.source)||!Array.isArray(t.dimensions)||t.dimensions.length>4||!Array.isArray(t.measures)||t.measures.length<1||t.measures.length>6||!Array.isArray(t.filters)||t.filters.length>12||!Array.isArray(t.having)||t.having.length>4||!Array.isArray(t.sort)||t.sort.length>3||!Number.isSafeInteger(t.limit)||t.limit<1||t.limit>1e3)return!1;let n=new Set,r=new Set,i=new Set;for(let e of t.dimensions){let t=be(e);if(!t||!xe(t,[`field`,`as`,`bucket`])||!Ce(t.field)||!we(t.as)||t.bucket!==void 0&&(typeof t.bucket!=`string`||!me.has(t.bucket))||i.has(t.as))return!1;i.add(t.as),n.add(t.as)}for(let e of t.measures){let t=be(e);if(!t||!xe(t,[`fn`,`field`,`as`])||typeof t.fn!=`string`||!he.has(t.fn)||!we(t.as)||i.has(t.as)||t.field!==void 0&&!Ce(t.field)||t.fn!==`count`&&t.field===void 0)return!1;i.add(t.as),r.add(t.as)}for(let e of t.filters){let t=be(e);if(!t||!xe(t,[`field`,`op`,`value`])||!Ce(t.field)||typeof t.op!=`string`||!ge.has(t.op))return!1;if(t.op===`isNull`||t.op===`isNotNull`){if(t.value!==void 0)return!1}else if(t.op===`in`||t.op===`notIn`){if(!Array.isArray(t.value)||t.value.length<1||t.value.length>100||!t.value.every(Te))return!1}else if(!Te(t.value)||t.op===`contains`&&typeof t.value!=`string`)return!1}for(let e of t.having){let t=be(e);if(!t||!xe(t,[`measure`,`op`,`value`])||!we(t.measure)||!r.has(t.measure)||typeof t.op!=`string`||!_e.has(t.op)||typeof t.value!=`number`||!Number.isFinite(t.value))return!1}for(let e of t.sort){let t=be(e);if(!t||!xe(t,[`by`,`direction`])||!we(t.by)||!i.has(t.by)||t.direction!==`asc`&&t.direction!==`desc`)return!1}let a=be(t.chart);return!(!a||!xe(a,[`type`,`x`,`y`])||typeof a.type!=`string`||!ve.has(a.type)||a.x!==void 0&&(!we(a.x)||!n.has(a.x))||a.y!==void 0&&(!Array.isArray(a.y)||a.y.length>6||!a.y.every(e=>we(e)&&r.has(e))))}function De(e){let t=e;if(typeof e==`string`){if(e.length>65536)return null;try{t=JSON.parse(e)}catch{return null}}return Ee(t)?t:null}function Oe(e){if(e&&typeof e==`object`){let t=e;if(t.status===401||t.status===403||t.code===`unknown_field`)return`reports.denied`;if(t.code===`invalid_result`)return`reports.invalid`}return`reports.error`}function ke(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.version===1&&typeof t.title==`string`&&typeof t.specHash==`string`&&typeof t.ranAt==`string`&&typeof t.truncated==`boolean`&&Array.isArray(t.columns)&&t.columns.length>0&&t.columns.length<=10&&new Set(t.columns.map(e=>e?.id)).size===t.columns.length&&t.columns.every(e=>e&&typeof e.id==`string`&&typeof e.label==`string`&&[`dimension`,`measure`].includes(e.role)&&[`string`,`integer`,`decimal`,`boolean`,`datetime`,`id`].includes(e.type))&&Array.isArray(t.rows)&&t.rows.length<=1e3&&t.rowCount===t.rows.length&&t.rows.every(e=>e&&typeof e==`object`&&t.columns.every(t=>{let n=e[t.id];return n===null?!0:t.type===`integer`?typeof n==`number`&&Number.isSafeInteger(n):t.type===`decimal`?typeof n==`number`&&Number.isFinite(n):t.type===`boolean`?typeof n==`boolean`:typeof n==`string`}))&&!!t.chart&&[`bar`,`line`,`table`,`pie`,`stat`].includes(t.chart.type)&&(t.chart.y===void 0||Array.isArray(t.chart.y)&&t.chart.y.every(e=>t.columns.some(t=>t.id===e&&t.role===`measure`)))&&(t.chart.x===void 0||t.columns.some(e=>e.id===t.chart.x))}function Ae(e,t,n,r){return e==null?`–`:typeof e==`number`?H(e,{format:t.format===`money`?`money`:t.type===`integer`?`integer`:`decimal`,locale:n,currency:r}):String(e)}function je(e){if(!e||typeof e!=`object`)return!1;let t=e;if(t.status!==`awaiting_confirmation`||typeof t.specHash!=`string`||!/^[a-f0-9]{64}$/.test(t.specHash)||typeof t.sourceLabel!=`string`||t.sourceLabel.length<1||t.sourceLabel.length>120||typeof t.confirmPath!=`string`||t.confirmPath.length>2048||!t.confirmPath.startsWith(`/`)||t.confirmPath.startsWith(`//`)||!ke(t.preview)||t.preview.specHash!==t.specHash||!t.spec||!Ee(t.spec)||t.preview.title!==t.spec.title)return!1;let n=new Map([...t.spec.dimensions.map(e=>[e.as,`dimension`]),...t.spec.measures.map(e=>[e.as,`measure`])]);return t.preview.columns.length===n.size&&t.preview.columns.every(e=>n.get(e.id)===e.role)&&JSON.stringify(t.preview.chart)===JSON.stringify(t.spec.chart)}var Q=class extends Error{status;code;constructor(e,t){super(`Runtime report request failed`),this.status=e,this.code=t,this.name=`RuntimeReportsHttpError`}},Me=1e3,Ne=1e3;function Pe(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}async function Fe(e){let t;try{t=await e.json()}catch{throw new Q(e.status)}if(!e.ok){let n=Pe(t);throw new Q(e.status,typeof n?.code==`string`?n.code:void 0)}return t}function Ie(e){return encodeURIComponent(e)}function Le(e){if(!e.startsWith(`/`)||e.startsWith(`//`))throw new Q(400,`invalid_confirm_path`);if(typeof location>`u`)return e;let t=new URL(e,location.href);if(t.origin!==location.origin)throw new Q(400,`invalid_confirm_path`);return`${t.pathname}${t.search}`}function Re(e={}){let t=e.fetch??globalThis.fetch;if(typeof t!=`function`)throw Error(`Runtime reports require a fetch implementation`);let n=(e.basePath??`/api/runtimereports`).replace(/\/$/,``),r=new Map,i=t=>{let n=Pe(t);if(!n)throw new Q(502,`invalid_result`);let i=De(n.spec);if(!i||typeof n.id!=`string`||typeof n.title!=`string`||typeof n.sourceId!=`string`||typeof n.createdByUserId!=`string`||n.status!==`active`&&n.status!==`archived`)throw new Q(502,`invalid_result`);let a={id:n.id,title:n.title,...typeof n.description==`string`&&n.description?{description:n.description}:{},sourceId:n.sourceId,createdByUserId:n.createdByUserId,status:n.status,spec:i,...typeof n.createdAt==`string`&&n.createdAt?{savedAt:n.createdAt}:{},...r.has(n.id)?{lastRunAt:r.get(n.id)}:{}},o=typeof e.canArchive==`function`?e.canArchive(a):e.canArchive===!0;return{...a,canArchive:o}},a=async e=>i(await Fe(await t(`${n}/${Ie(e)}`,{headers:{accept:`application/json`}})));return{async list({onlyMine:r,includeArchived:a}){let o=new URLSearchParams;if(a||o.set(`status`,`active`),r){if(!e.currentUserId)throw new Q(400,`missing_current_user`);o.set(`createdByUserId`,e.currentUserId)}let s=[],c=new Set,l=0;for(let e=0;e<Ne;e++){let e=new URLSearchParams(o);e.set(`limit`,String(Me)),e.set(`offset`,String(l));let r=Pe(await Fe(await t(`${n}?${e}`,{headers:{accept:`application/json`}})));if(!r||!Array.isArray(r.items)||typeof r.count!=`number`||!Number.isSafeInteger(r.count)||r.count<0||typeof r.limit!=`number`||!Number.isSafeInteger(r.limit)||r.limit<1||r.limit>Me||typeof r.offset!=`number`||!Number.isSafeInteger(r.offset)||r.offset!==l||r.items.length>r.limit)throw new Q(502,`invalid_result`);let a=r.items.map(i);for(let e of a){if(c.has(e.id))throw new Q(502,`invalid_result`);c.add(e.id)}if(s.push(...a),l+=r.items.length,l>=r.count)return s;if(r.items.length===0)throw new Q(502,`invalid_result`)}throw new Q(502,`invalid_result`)},get:a,async run(e){let i=Pe(await Fe(await t(`${n}/${Ie(e)}/run`,{method:`POST`,headers:{accept:`application/json`}})));if(i?.action!==`run`||!ke(i.result))throw new Q(502,`invalid_result`);return r.set(e,i.result.ranAt),i.result},async archive(e,r){let i=Pe(await Fe(await t(`${n}/${Ie(e)}/archive`,{method:`POST`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({archived:r})}))),a=Pe(i?.result);if(i?.action!==`archive`||a?.id!==e||a.status!==(r?`archived`:`active`))throw new Q(502,`invalid_result`)},async confirm(e){let n=Pe(await Fe(await t(Le(e.confirmPath),{method:`POST`,headers:{"content-type":`application/json`,accept:`application/json`},body:JSON.stringify({spec:e.spec,specHash:e.specHash})})));if(typeof n?.id!=`string`||n.specHash!==e.specHash)throw new Q(502,`invalid_result`);return a(n.id)}}}var ze,Be=``;function Ve(e={}){if(typeof window>`u`)throw Error(`The runtime reports browser client is unavailable during SSR`);let t=`${e.scopeKey??``}:${e.currentUserId??``}:${e.canArchive===!0}`;return(!ze||Be!==t)&&(ze=Re(e),Be=t),ze}function He(e){return e.replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/[_-]+/g,` `).trim().toLowerCase().replace(/^./,e=>e.toUpperCase())}var Ue=/^\d{4}-\d{2}-\d{2}(?:[T ][\d:.]+(?:Z|[+-]\d{2}:?\d{2})?)?$/;function We(e){if(typeof e!=`string`||!Ue.test(e))return null;let t=new Date(/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:e);return Number.isNaN(t.getTime())?null:t}function Ge(e,t){let n=new Map;e.filters.forEach((e,t)=>{let r=We(e.value);if(!r)return;let i=n.get(e.field)??{filters:[]};if(e.op===`gte`||e.op===`gt`)i.from=r;else if(e.op===`lt`||e.op===`lte`){let t=new Date(r),n=t.getUTCHours()===0&&t.getUTCMinutes()===0&&t.getUTCSeconds()===0;e.op===`lt`&&n&&t.setUTCDate(t.getUTCDate()-1),i.to=t}else return;i.filters.push(t),n.set(e.field,i)});let[r,i]=[...n.entries()][0]??[];if(!r||!i)return null;let a=`en`;try{a=Intl.getCanonicalLocales(t.locale)[0]??`en`}catch{}let o=new Intl.DateTimeFormat(a,{timeZone:`UTC`,day:`numeric`,month:`short`,year:`numeric`}),s=i.from&&i.to?o.formatRange(i.from,i.to):i.from?t.t(`reports.period.since`,{date:o.format(i.from)}):i.to?t.t(`reports.period.until`,{date:o.format(i.to)}):``;return{field:t.label(r),range:s,filters:i.filters}}function Ke(e,t){let{t:n,locale:r,currency:i,source:a,columns:o}=t,s=e=>a?.fields?.find(t=>t.name===e),c=e=>s(e)?.label??He(e),l=a?.label??He(e.source),u=e.dimensions.map(e=>e.bucket?n(`reports.dimension_bucket`,{field:c(e.field),bucket:n(`reports.bucket_unit.${e.bucket}`)}):c(e.field)).join(`, `),d=Ge(e,{locale:r,label:c,t:n}),f=e.measures.map(e=>o?.find(t=>t.id===e.as)?.label??(e.field?n(`reports.aggregate.${e.fn}`,{field:c(e.field)}):n(`reports.aggregate.rows`,{source:l}))),p=(e,t)=>{let n=t=>s(e)?.format===`money`&&typeof t==`number`?H(t,{format:`money`,currency:i,locale:r}):String(t??``);return Array.isArray(t)?t.map(n).join(`, `):n(t)},m=e.filters.filter((e,t)=>!d?.filters.includes(t)).map(e=>`${c(e.field)} ${n(`reports.operator.${e.op}`)} ${p(e.field,e.value)}`.trim()),h=e=>o?.find(t=>t.id===e)?.label??He(e);return{source:l,groupings:u,period:d,measures:f,filters:m,having:e.having.map(e=>`${h(e.measure)} ${n(`reports.operator.${e.op}`)} ${e.value}`),line:[l,u,d?.range].filter(e=>!!e).join(` · `)}}var qe=new Set([`minute`,`hour`,`day`,`week`,`month`,`quarter`,`year`]);function Je(e){let t=e.chart.x?e.columns.find(t=>t.id===e.chart.x):e.columns.find(e=>e.role===`dimension`);return t?.bucket&&qe.has(t.bucket)?t:void 0}function Ye(e){let t=e.columns.filter(e=>e.role===`measure`),n=e.chart.y??[];return[...t.filter(e=>n.includes(e.id)),...t.filter(e=>!n.includes(e.id))]}function Xe(e){return e.format===`money`?`money`:e.type===`integer`?`integer`:`decimal`}function Ze(e,t,n){let{t:r,locale:i,currency:a}=n,o=e.rows.map(e=>({row:e,value:e[t.id]})).filter(e=>typeof e.value==`number`&&Number.isFinite(e.value));if(o.length===0)return[];let s=e=>Ae(t.type===`integer`&&!Number.isInteger(e)?Math.round(e*100)/100:e,t.type===`integer`&&!Number.isInteger(e)?{...t,type:`decimal`}:t,i,a);if(!e.columns.some(e=>e.role===`dimension`)||o.length===1)return[{label:t.label,value:s(o[0].value)}];let c=o.reduce((e,t)=>e+t.value,0),l=o.reduce((e,t)=>t.value>e.value?t:e),u=Je(e),d=[];return(n.fn===`sum`||n.fn===`count`)&&d.push({label:r(`reports.figure.total`),value:s(c)}),d.push({label:u?.bucket?r(`reports.figure.average_per`,{bucket:r(`reports.bucket_unit.${u.bucket}`)}):r(`reports.figure.average`),value:s(c/o.length)}),d.push({label:r(`reports.figure.peak`),value:s(l.value),detail:n.groupLabel(l.row)}),d}function Qe(e,t,n=new Date,r){let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a=`en`;try{a=Intl.getCanonicalLocales(t)[0]??`en`}catch{}let o=Math.round((i.getTime()-n.getTime())/1e3),s=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]],c=new Intl.RelativeTimeFormat(a,{numeric:`auto`});for(let[e,t]of s)if(Math.abs(o)>=t)return c.format(Math.round(o/t),e);return r??c.format(0,`second`)}function $e(e,t=!1){let n=!t&&/^[=+\-@\t\r]/.test(e)?`'${e}`:e;return/[",\n\r]/.test(n)?`"${n.replaceAll(`"`,`""`)}"`:n}function et(e,t){return`${[e.columns.map(e=>$e(e.label)).join(`,`),...e.rows.map(n=>e.columns.map(e=>$e(t(n[e.id],e),(e.type===`integer`||e.type===`decimal`)&&typeof n[e.id]==`number`)).join(`,`))].join(`\r
|
|
2
2
|
`)}\r\n`}var $=M({"reports.title":`Saved reports`,"reports.new":`New report`,"reports.new_prompt":`Make a report of `,"reports.hint":`Ask the assistant for a new one, for example “sales by month”.`,"reports.ask_where":`Open the assistant and ask for a report, for example “sales by month”.`,"reports.empty_title":`No saved reports yet`,"reports.filter_label":`Whose reports`,"reports.filter_all":`Everyone’s`,"reports.filter_mine":`Mine`,"reports.archived_badge":`Archived`,"reports.more":`More actions for {title}`,"reports.archive_confirm_title":`Archive “{title}”?`,"reports.archive_confirm":`It leaves Saved reports for everyone on your team. You can restore it under Show archived.`,"reports.restore":`Restore`,"reports.saved_at":`Saved {time}`,"reports.saved_by":`Saved by {author}`,"reports.saved_by_at":`Saved by {author} {time}`,"reports.ran_at":`Last run {time}`,"reports.just_now":`just now`,"reports.period":`Period`,"reports.period.since":`Since {date}`,"reports.period.until":`Until {date}`,"reports.aggregate.rows":`Number of records`,"reports.figure.total":`Total`,"reports.figure.average":`Average`,"reports.figure.average_per":`Average per {bucket}`,"reports.figure.peak":`Peak`,"reports.figures":`Headline figures`,"reports.edit":`Edit`,"reports.edit_prompt":`Change the report “{title}”: `,"reports.export_csv":`Export CSV`,"reports.view":`Show as`,"reports.view_chart":`Chart`,"reports.view_table":`Table`,"reports.measure_pick":`Measure`,"reports.view_all":`View all saved reports`,"reports.open_report":`Open report`,"reports.groups_count":`Across {count} groups`,"reports.run_failed":`This report could not run.`,"reports.details":`Report details`,"reports.only_mine":`Only mine`,"reports.archived":`Show archived`,"reports.archive":`Archive`,"reports.unarchive":`Restore`,"reports.loading":`Loading reports…`,"reports.running":`Running report…`,"reports.empty":`Ask the assistant for a report, check its preview, and approve it. It is kept here for your team, with its numbers up to date each time you open it.`,"reports.no_rows":`No matching records.`,"reports.unavailable":`Reports are unavailable because this host has no server.`,"reports.error":`The report request failed. Please try again.`,"reports.denied":`You do not have permission to read this report or one of its fields.`,"reports.invalid":`The report returned an invalid result.`,"reports.retry":`Try again`,"reports.rerun":`Re-run`,"reports.table":`Table`,"reports.chart":`Chart`,"reports.source":`Source`,"reports.author":`Author`,"reports.last_run":`Last run: {time}`,"reports.never_run":`No recent run`,"reports.truncated":`Showing a bounded sample; more rows are available.`,"reports.yes":`Yes`,"reports.no":`No`,"reports.select_report":`Report`,"reports.select_measure":`Measure`,"reports.choose_report":`Choose a saved report`,"reports.choose_measure":`Choose a measure`,"reports.select_dimension":`Group by`,"reports.choose_dimension":`The report’s first grouping`,"reports.options_invalid":`Choose a report and measure before saving.`,"reports.cancel":`Cancel`,"reports.save":`Save`,"reports.confirm_title":`Review report proposal`,"reports.saved":`Report saved`,"reports.open":`Open report`,"reports.declined":`Declined — nothing saved`,"reports.dimension_bucket":`{field} by {bucket}`,"reports.bucket_unit.minute":`minute`,"reports.bucket_unit.hour":`hour`,"reports.bucket_unit.day":`day`,"reports.bucket_unit.week":`week`,"reports.bucket_unit.month":`month`,"reports.bucket_unit.quarter":`quarter`,"reports.bucket_unit.year":`year`,"reports.groupings":`Group by`,"reports.measures":`Measures`,"reports.filters":`Filters`,"reports.having":`Measure filters`,"reports.none":`None`,"reports.rows":`rows`,"reports.saving":`Saving…`,"reports.approve":`Approve`,"reports.decline":`Decline`,"reports.aggregate.count":`Count of {field}`,"reports.aggregate.countDistinct":`Distinct count of {field}`,"reports.aggregate.sum":`Sum of {field}`,"reports.aggregate.avg":`Average of {field}`,"reports.aggregate.min":`Minimum of {field}`,"reports.aggregate.max":`Maximum of {field}`,"reports.operator.eq":`equals`,"reports.operator.ne":`does not equal`,"reports.operator.gt":`is greater than`,"reports.operator.gte":`is at least`,"reports.operator.lt":`is less than`,"reports.operator.lte":`is at most`,"reports.operator.in":`is one of`,"reports.operator.notIn":`is not one of`,"reports.operator.contains":`contains`,"reports.operator.isNull":`is empty`,"reports.operator.isNotNull":`is not empty`,"reports.bucket.minute":`Minute`,"reports.bucket.hour":`Hour`,"reports.bucket.day":`Day`,"reports.bucket.week":`Week`,"reports.bucket.month":`Month`,"reports.bucket.quarter":`Quarter`,"reports.bucket.year":`Year`}),tt=o(`<p role="alert"> </p>`),nt=o(`<p class="report-result__empty svelte-13bgg2g"> </p>`),rt=o(`<option> </option>`),it=o(`<span class="report-result__figure-detail svelte-13bgg2g"> </span>`),at=o(`<div class="report-result__figure svelte-13bgg2g"><dt class="svelte-13bgg2g"> <!></dt> <dd class="svelte-13bgg2g"><span class="report-result__figure-value svelte-13bgg2g"> </span></dd></div>`),ot=o(`<dl class="report-result__figures svelte-13bgg2g"></dl>`),st=o(`<div class="report-result__controls svelte-13bgg2g"><!> <!></div> <!>`,1),ct=o(`<div class="report-result__toggle svelte-13bgg2g"><!></div>`),lt=o(`<th scope="col"> </th>`),ut=o(`<td> </td>`),dt=o(`<tr class="svelte-13bgg2g"></tr>`),ft=o(`<div class="report-result__table svelte-13bgg2g"><table class="svelte-13bgg2g"><caption class="svelte-13bgg2g"> </caption><thead class="svelte-13bgg2g"><tr></tr></thead><tbody class="svelte-13bgg2g"></tbody></table></div>`),pt=o(`<p class="report-result__series svelte-13bgg2g"> </p>`),mt=o(`<p class="report-result__more svelte-13bgg2g"> </p>`),ht=o(`<!> <!> <!>`,1),gt=o(`<div class="report-result svelte-13bgg2g" data-smrt-component="ReportResult"><!></div>`);function _t(o,_){u(_,!0);let v=h(_,`variant`,3,`compact`),b=h(_,`view`,15,`chart`),S=h(_,`locale`,3,`en`),w=h(_,`currency`,3,`USD`),{t:E}=ee(),A=n(()=>ke(_.result)),j=n(()=>e(A)?Ye(_.result):[]),M=g(null),N=n(()=>e(j).find(t=>t.id===e(M))??e(j)[0]),P=n(()=>e(A)?_.result.chart.x?_.result.columns.find(e=>e.id===_.result.chart.x):_.result.columns.find(e=>e.role===`dimension`):void 0),te=n(()=>e(A)?Je(_.result):void 0),F=n(()=>e(A)&&_.result.chart.type===`table`),I=n(()=>e(F)||b()===`table`);function ne(e,t){if(typeof e==`string`&&t?.bucket)return re(e,t.bucket,S())}function R(e,t){return typeof e==`boolean`?E($[e?`reports.yes`:`reports.no`]):ne(e,t)??Ae(e,t,S(),w())}let V=t=>e(P)?R(t[e(P).id],e(P)):e(N)?.label??``,H=n(()=>v()===`full`&&e(A)&&e(N)?Ze(_.result,e(N),{t:E,locale:S(),currency:w(),groupLabel:V,fn:_.spec?.measures.find(t=>t.as===e(N).id)?.fn}):[]),U=n(()=>e(A)&&e(N)?{points:_.result.rows.filter(t=>typeof t[e(N).id]==`number`).map(t=>({label:V(t),value:t[e(N).id]})),format:Xe(e(N)),currency:w()}:null),W=n(()=>e(N)?e(te)?.bucket?E($[`reports.dimension_bucket`],{field:e(N).label,bucket:E(`reports.bucket_unit.${e(te).bucket}`)}):e(P)?E($[`reports.dimension_bucket`],{field:e(N).label,bucket:e(P).label.toLowerCase()}):e(N).label:``),G=e=>e.type===`integer`||e.type===`decimal`,K=n(()=>e(j).map(e=>({value:e.id,label:e.label})));var q=gt(),J=y(q),Y=e=>{var t=tt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.invalid`])]),p(e,t)},ae=e=>{var t=nt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.no_rows`])]),p(e,t)},oe=r=>{var o=ht(),u=T(o),h=r=>{var i=st(),o=T(i),c=y(o),u=t=>{{let r=n(()=>E($[`reports.view`])),i=n(()=>[{value:`chart`,label:E($[`reports.view_chart`])},{value:`table`,label:E($[`reports.view_table`])}]);z(t,{get label(){return e(r)},get options(){return e(i)},get value(){return b()},onvaluechange:e=>b(e===`table`?`table`:`chart`)})}};t(c,t=>{e(F)||t(u)});var d=x(c,2),f=r=>{var i=m(),a=T(i),o=t=>{{let r=n(()=>E($[`reports.measure_pick`])),i=n(()=>e(N)?.id);z(t,{get label(){return e(r)},get options(){return e(K)},get value(){return e(i)},onvaluechange:e=>k(M,String(e),!0)})}},c=t=>{{let r=n(()=>E($[`reports.measure_pick`])),i=n(()=>e(N)?.id);B(t,{get"aria-label"(){return e(r)},get value(){return e(i)},onchange:e=>k(M,e.currentTarget.value,!0),children:(t,n)=>{var r=m(),i=T(r);l(i,17,()=>e(K),e=>e.value,(t,n)=>{var r=rt(),i=C(r,!0),a={};D(()=>{s(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),p(t,r)}),p(t,r)},$$slots:{default:!0}})}};t(a,t=>{e(j).length<=3?t(o):t(c,-1)}),p(r,i)};t(d,t=>{e(j).length>1&&!e(I)&&t(f)}),a(o);var h=x(o,2),g=n=>{var r=ot();l(r,21,()=>e(H),e=>e.label,(n,r)=>{var i=at(),o=y(i),c=y(o,!0),l=x(c),u=t=>{var n=it(),i=C(n);D(()=>s(i,` · ${e(r).detail??``}`)),p(t,n)};t(l,t=>{e(r).detail&&t(u)}),a(o);var d=x(o,2),f=y(d),m=C(f,!0);a(d),a(i),D(()=>{s(c,e(r).label),s(m,e(r).value)}),p(n,i)}),a(r),D(e=>O(r,`aria-label`,e),[()=>E($[`reports.figures`])]),p(n,r)};t(h,t=>{e(H).length>0&&!e(I)&&t(g)}),p(r,i)},g=t=>{var r=ct(),i=y(r);{let t=n(()=>b()===`table`);L(i,{type:`button`,variant:`ghost`,size:`sm`,get"aria-pressed"(){return e(t)},onclick:()=>b(b()===`table`?`chart`:`table`),children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[b()===`table`?`reports.chart`:`reports.table`])]),p(e,n)},$$slots:{default:!0}})}a(r),p(t,r)};t(u,t=>{v()===`full`?t(h):e(F)||t(g,1)});var w=x(u,2),A=t=>{var n=ft(),r=y(n),o=y(r),c=C(o,!0),u=x(o),d=y(u);l(d,21,()=>_.result.columns,e=>e.id,(t,n)=>{var r=lt();let a;var o=C(r,!0);D(t=>{a=i(r,1,`svelte-13bgg2g`,null,a,{"report-result__num":t}),s(o,e(n).label)},[()=>G(e(n))]),p(t,r)}),a(d),a(u);var m=x(u);l(m,21,()=>_.result.rows,f,(t,n)=>{var r=dt();l(r,21,()=>_.result.columns,e=>e.id,(t,r)=>{var a=ut();let o;var c=C(a,!0);D((e,t)=>{o=i(a,1,`svelte-13bgg2g`,null,o,{"report-result__num":e}),s(c,t)},[()=>G(e(r)),()=>R(e(n)[e(r).id],e(r))]),p(t,a)}),a(r),p(t,r)}),a(m),a(r),a(n),D(()=>s(c,_.result.title)),p(t,n)},ee=r=>{var i=ht(),a=T(i),o=t=>{var n=pt(),r=C(n,!0);D(()=>s(r,e(W))),p(t,n)};t(a,t=>{(v()===`full`||e(j).length>1)&&t(o)});var c=x(a,2);{let t=n(()=>v()===`full`?`tall`:`regular`),r=n(()=>v()===`full`),i=n(()=>v()!==`full`);ie(c,{get title(){return e(N).label},get style(){return _.result.chart.type},get size(){return e(t)},get valueAxis(){return e(r)},get readout(){return e(i)},get locale(){return S()},get data(){return e(U)}})}var l=x(c,2),u=t=>{var n=mt(),r=C(n);D((e,t)=>s(r,`${e??``} · ${t??``}`),[()=>e(j).slice(1).map(e=>e.label).join(`, `),()=>E($[`reports.table`]).toLowerCase()]),p(t,n)};t(l,t=>{v()===`compact`&&e(j).length>1&&t(u)}),p(r,i)};t(w,t=>{e(I)?t(A):e(N)&&e(U)&&t(ee,1)});var P=x(w,2),te=e=>{var t=nt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.truncated`])]),p(e,t)};t(P,e=>{_.result.truncated&&e(te)}),p(r,o)};t(J,t=>{e(A)?_.result.rows.length===0?t(ae,1):t(oe,-1):t(Y)}),a(q),D(()=>O(q,`data-variant`,v())),p(o,q),r()}var vt=o(`<p role="alert"> </p>`),yt=o(`<p class="report-confirmation-description svelte-dnrtr8"> </p>`),bt=o(`<div class="svelte-dnrtr8"><dt class="svelte-dnrtr8"> </dt><dd class="svelte-dnrtr8"> </dd></div>`),xt=o(`<dl class="report-confirmation-facts svelte-dnrtr8"><div class="svelte-dnrtr8"><dt class="svelte-dnrtr8"> </dt><dd class="svelte-dnrtr8"> </dd></div> <div class="svelte-dnrtr8"><dt class="svelte-dnrtr8"> </dt><dd class="svelte-dnrtr8"> </dd></div> <!> <div class="svelte-dnrtr8"><dt class="svelte-dnrtr8"> </dt><dd class="svelte-dnrtr8"> </dd></div> <!> <!></dl>`),St=o(`<p class="report-confirmation-outcome svelte-dnrtr8" role="status"> <a> </a></p>`),Ct=o(`<p class="report-confirmation-outcome svelte-dnrtr8" role="status"> </p>`),wt=o(`<!> <div class="report-confirmation-actions svelte-dnrtr8"><!> <!></div>`,1),Tt=o(`<!> <!> <!> <!>`,1),Et=o(`<section data-smrt-component="ReportConfirmation" class="svelte-dnrtr8"><h3 class="report-confirmation-title svelte-dnrtr8"> </h3> <!></section>`);function Dt(i,o){u(o,!0);let l=h(o,`reportHref`,3,e=>`/reports/${encodeURIComponent(e)}`),f=h(o,`outcome`,3,null),m=h(o,`fields`,19,()=>[]),v=h(o,`locale`,3,`en`),b=h(o,`currency`,3,`USD`),{t:S}=ee(),w=g(`idle`),E=g(null),A=g(null),j=0;_(()=>(o.proposal,o.confirm,++j,k(w,`idle`),k(E,null),k(A,null),()=>{++j}));let M=n(()=>je(o.proposal)),N=n(()=>f()??(e(w)===`saved`&&e(E)?{status:`saved`,report:e(E)}:e(w)===`declined`?{status:`declined`}:null)),P=n(()=>e(M)?Ke(o.proposal.spec,{t:S,locale:v(),currency:b(),source:{id:o.proposal.spec.source,label:o.proposal.sourceLabel,fields:m()},columns:o.proposal.preview.columns}):null);async function te(t){if(!t.isTrusted||e(w)!==`idle`||!e(M)||e(N))return;let n=j,r=o.proposal.specHash;k(w,`saving`),k(A,null);try{let e=await o.confirm({...o.proposal,specHash:r});if(n!==j)return;k(E,e,!0),k(w,`saved`),o.onsaved?.(e)}catch(e){n===j&&(k(w,`idle`),k(A,Oe(e),!0))}}function F(){e(w)!==`idle`||e(N)||(k(w,`declined`),o.ondecline?.())}var I=Et(),ne=y(I),R=C(ne,!0),z=x(ne,2),B=e=>{var t=vt(),n=C(t,!0);D(e=>s(n,e),[()=>S($[`reports.invalid`])]),p(e,t)},V=r=>{var i=Tt(),u=T(i),f=e=>{var t=yt(),n=C(t,!0);D(()=>s(n,o.proposal.spec.description)),p(e,t)};t(u,e=>{o.proposal.spec.description&&e(f)});var m=x(u,2),h=n=>{var r=xt(),i=y(r),o=y(i),c=C(o,!0),l=x(o),u=C(l,!0);a(i);var d=x(i,2),f=y(d),m=C(f,!0),h=x(f),g=C(h,!0);a(d);var _=x(d,2),v=t=>{var n=bt(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D(t=>{s(i,t),s(c,e(P).period.range)},[()=>S($[`reports.period`])]),p(t,n)};t(_,t=>{e(P).period&&t(v)});var b=x(_,2),w=y(b),T=C(w,!0),E=x(w),O=C(E,!0);a(b);var k=x(b,2),A=t=>{var n=bt(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D((e,t)=>{s(i,e),s(c,t)},[()=>S($[`reports.filters`]),()=>e(P).filters.join(`; `)]),p(t,n)};t(k,t=>{e(P).filters.length&&t(A)});var j=x(k,2),M=t=>{var n=bt(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D((e,t)=>{s(i,e),s(c,t)},[()=>S($[`reports.having`]),()=>e(P).having.join(`; `)]),p(t,n)};t(j,t=>{e(P).having.length&&t(M)}),a(r),D((t,n,r,i,a)=>{s(c,t),s(u,e(P).source),s(m,n),s(g,r),s(T,i),s(O,a)},[()=>S($[`reports.source`]),()=>S($[`reports.groupings`]),()=>e(P).groupings||S($[`reports.none`]),()=>S($[`reports.measures`]),()=>e(P).measures.join(`, `)]),p(n,r)};t(m,t=>{e(P)&&t(h)});var g=x(m,2);_t(g,{get result(){return o.proposal.preview},get locale(){return v()},get currency(){return b()}});var _=x(g,2),E=t=>{var n=St(),r=y(n),i=x(r),o=C(i,!0);a(n),D((e,t,n)=>{s(r,`${e??``} · `),O(i,`href`,t),s(o,n)},[()=>S($[`reports.saved`]),()=>l()(e(N).report.id),()=>S($[`reports.open`])]),p(t,n)},k=e=>{var t=Ct(),n=C(t,!0);D(e=>s(n,e),[()=>S($[`reports.declined`])]),p(e,t)},j=r=>{var i=wt(),o=T(i),l=t=>{var n=vt(),r=C(n,!0);D(e=>s(r,e),[()=>S($[e(A)])]),p(t,n)};t(o,t=>{e(A)&&t(l)});var u=x(o,2),f=y(u);{let t=n(()=>e(w)===`saving`);L(f,{variant:`secondary`,get disabled(){return e(t)},onclick:F,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>S($[`reports.decline`])]),p(e,n)},$$slots:{default:!0}})}var m=x(f,2);{let t=n(()=>e(w)===`saving`),r=n(()=>e(w)===`saving`);L(m,{get disabled(){return e(t)},get"aria-busy"(){return e(r)},onclick:te,children:(t,n)=>{d();var r=c();D(e=>s(r,e),[()=>S($[e(w)===`saving`?`reports.saving`:`reports.approve`])]),p(t,r)},$$slots:{default:!0}})}a(u),p(r,i)};t(_,t=>{e(N)?.status===`saved`?t(E):e(N)?.status===`declined`?t(k,1):t(j,-1)}),p(r,i)};t(z,t=>{e(M)?t(V,-1):t(B)}),a(I),D((e,t)=>{O(I,`aria-label`,e),s(R,t)},[()=>S($[`reports.confirm_title`]),()=>e(M)?o.proposal.spec.title:S($[`reports.confirm_title`])]),p(i,I),r()}var Ot=o(`<p class="report-detail__line svelte-ckjxb4"> </p>`),kt=o(`<p class="report-detail__description svelte-ckjxb4"> </p>`),At=o(`<!> <!>`,1),jt=o(`<span aria-hidden="true">⋯</span>`),Mt=o(`<div class="report-detail__actions svelte-ckjxb4"><!> <!></div>`),Nt=o(`<p class="report-detail__note svelte-ckjxb4"> </p>`),Pt=o(`<div class="svelte-ckjxb4"><dt class="svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> <span class="report-detail__aside svelte-ckjxb4"> </span></dd></div>`),Ft=o(`<div class="svelte-ckjxb4"><dt class="svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> </dd></div>`),It=o(`<div class="report-detail__meta svelte-ckjxb4"><dt class="report-detail__sr svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> </dd></div>`),Lt=o(`<dl class="report-detail__facts svelte-ckjxb4"><div class="svelte-ckjxb4"><dt class="svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> </dd></div> <div class="svelte-ckjxb4"><dt class="svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> </dd></div> <!> <div class="svelte-ckjxb4"><dt class="svelte-ckjxb4"> </dt><dd class="svelte-ckjxb4"> </dd></div> <!> <!> <!></dl>`),Rt=o(`<p class="report-detail__note svelte-ckjxb4" role="status"> </p>`),zt=o(`<p class="report-detail__error svelte-ckjxb4" role="alert"> </p>`),Bt=o(`<div class="report-detail__result svelte-ckjxb4"><!></div>`),Vt=o(`<!> <!> <!> <!> <!>`,1),Ht=o(`<section class="report-detail svelte-ckjxb4" data-smrt-component="ReportDetail"><header class="report-detail__head svelte-ckjxb4"><div class="report-detail__heading svelte-ckjxb4"><div class="report-detail__title-row svelte-ckjxb4"><h1 class="report-detail__title svelte-ckjxb4"> </h1> <!></div> <!> <!></div> <!></header> <!> <!></section>`);function Ut(i,o){u(o,!0);let l=h(o,`sources`,19,()=>[]),f=h(o,`authorLabel`,3,()=>void 0),b=h(o,`locale`,3,`en`),S=h(o,`currency`,3,`USD`),{t:E}=ee(),M=g(null),P=g(null),F=g(null),I=g(!1),R=g(0),z=g(`chart`),B=g(!1),V=g(!1),re=g(!1),H=g(null),ie=null;_(()=>{let t=o.client,n=o.id;e(R);let r=!0;return ie!==n&&k(M,null),ie=n,k(P,null),k(F,null),k(I,!!t),t&&(async()=>{try{let e=await t.get(n);if(!r||(k(M,e,!0),w(()=>o.onreport)?.(e),e.status===`archived`))return;let i=await t.run(n);if(!r)return;ke(i)?k(P,i,!0):k(F,`reports.invalid`)}catch(e){r&&k(F,Oe(e),!0)}finally{r&&k(I,!1)}})(),()=>{r=!1}});let U=n(()=>e(M)?l().find(t=>t.id===e(M)?.sourceId):void 0),W=n(()=>e(M)?Ke(e(M).spec,{t:E,locale:b(),currency:S(),source:e(U),columns:e(P)?.columns}):null),G=n(()=>e(M)?f()(e(M).createdByUserId):void 0),K=n(()=>{if(!e(M))return``;let t=e(M).savedAt?Qe(e(M).savedAt,b()):``;return e(G)&&t?E($[`reports.saved_by_at`],{author:e(G),time:t}):e(G)?E($[`reports.saved_by`],{author:e(G)}):t?E($[`reports.saved_at`],{time:t}):``}),q=n(()=>e(P)?.ranAt?E($[`reports.ran_at`],{time:Qe(e(P).ranAt,b(),void 0,E($[`reports.just_now`]))}):``),J=n(()=>e(M)?.status===`archived`);function Y(){e(M)&&(o.onedit?o.onedit(e(M)):k(re,!(e(H)&&ne(e(H),{prompt:E($[`reports.edit_prompt`],{title:e(M).title})}))))}function ae(){if(!e(P)||!e(M)||typeof document>`u`)return;let t=et(e(P),(e,t)=>typeof e==`boolean`?E($[e?`reports.yes`:`reports.no`]):Ae(e,t,b(),S())),n=URL.createObjectURL(new Blob([t],{type:`text/csv;charset=utf-8`})),r=document.createElement(`a`);r.href=n,r.download=`${e(M).title.replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-|-$/g,``).toLowerCase()||`report`}.csv`,r.click(),setTimeout(()=>URL.revokeObjectURL(n),0)}async function oe(t){if(o.client&&e(M)&&!e(V)){k(V,!0),k(F,null);try{await o.client.archive(e(M).id,t),A(R)}catch(e){k(F,Oe(e),!0)}finally{k(V,!1),k(B,!1)}}}let se=n(()=>[...e(M)&&!e(J)&&!e(F)?[{id:`rerun`,label:E($[`reports.rerun`]),disabled:e(I),onselect:()=>{A(R)}}]:[],...e(M)?.canArchive&&!e(J)?[{id:`archive`,label:E($[`reports.archive`]),disabled:e(V),onselect:()=>{k(B,!0)}}]:[]]);var X=Ht(),Z=y(X),ce=y(Z),le=y(ce),ue=y(le),de=C(ue,!0),fe=x(ue,2),pe=e=>{N(e,{children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[`reports.archived_badge`])]),p(e,n)},$$slots:{default:!0}})};t(fe,t=>{e(J)&&t(pe)}),a(le);var me=x(le,2),he=t=>{var n=Ot(),r=C(n,!0);D(()=>s(r,e(W).line)),p(t,n)};t(me,t=>{e(W)&&t(he)});var ge=x(me,2),_e=t=>{var n=kt(),r=C(n,!0);D(()=>s(r,e(M).description)),p(t,n)};t(ge,t=>{e(M)?.description&&t(_e)}),a(ce);var ve=x(ce,2),ye=r=>{var i=Mt(),o=y(i),l=n=>{var r=m(),i=T(r),a=t=>{L(t,{variant:`primary`,get disabled(){return e(V)},onclick:()=>oe(!1),children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[`reports.restore`])]),p(e,n)},$$slots:{default:!0}})};t(i,t=>{e(M).canArchive&&t(a)}),p(n,r)},u=t=>{L(t,{variant:`primary`,get disabled(){return e(I)},onclick:()=>A(R),children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[`reports.retry`])]),p(e,n)},$$slots:{default:!0}})},f=t=>{var r=At(),i=T(r);{let t=n(()=>!e(P));L(i,{variant:`secondary`,get disabled(){return e(t)},onclick:ae,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[`reports.export_csv`])]),p(e,n)},$$slots:{default:!0}})}var a=x(i,2);L(a,{variant:`primary`,onclick:Y,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>E($[`reports.edit`])]),p(e,n)},$$slots:{default:!0}}),p(t,r)};t(o,t=>{e(J)?t(l):e(F)?t(u,1):t(f,-1)});var h=x(o,2),g=t=>{{let r=e=>{var t=jt();p(e,t)},i=n(()=>E($[`reports.more`],{title:e(M).title}));te(t,{variant:`icon`,placement:`bottom-end`,get triggerLabel(){return e(i)},get items(){return e(se)},trigger:r,$$slots:{trigger:!0}})}};t(h,t=>{e(se).length&&t(g)}),a(i),p(r,i)};t(ve,t=>{o.client&&e(M)&&t(ye)}),a(Z);var be=x(Z,2),xe=e=>{var t=Nt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.unavailable`])]),p(e,t)},Se=n=>{var r=Vt(),i=T(r),o=n=>{var r=Lt(),i=y(r),o=y(i),c=C(o,!0),l=x(o),u=C(l,!0);a(i);var d=x(i,2),f=y(d),m=C(f,!0),h=x(f),g=C(h,!0);a(d);var _=x(d,2),v=t=>{var n=Pt(),r=y(n),i=C(r,!0),o=x(r),c=y(o,!0),l=x(c),u=C(l);a(o),a(n),D(t=>{s(i,t),s(c,e(W).period.range),s(u,` · ${e(W).period.field??``}`)},[()=>E($[`reports.period`])]),p(t,n)};t(_,t=>{e(W).period&&t(v)});var b=x(_,2),S=y(b),w=C(S,!0),T=x(S),k=C(T,!0);a(b);var A=x(b,2),j=t=>{var n=Ft(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D((e,t)=>{s(i,e),s(c,t)},[()=>E($[`reports.filters`]),()=>e(W).filters.join(`; `)]),p(t,n)};t(A,t=>{e(W).filters.length&&t(j)});var M=x(A,2),ee=t=>{var n=Ft(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D((e,t)=>{s(i,e),s(c,t)},[()=>E($[`reports.having`]),()=>e(W).having.join(`; `)]),p(t,n)};t(M,t=>{e(W).having.length&&t(ee)});var N=x(M,2),P=t=>{var n=It(),r=y(n),i=C(r,!0),o=x(r),c=C(o,!0);a(n),D((e,t)=>{s(i,e),s(c,t)},[()=>E($[`reports.author`]),()=>[e(K),e(q)].filter(Boolean).join(` · `)]),p(t,n)};t(N,t=>{(e(K)||e(q))&&t(P)}),a(r),D((t,n,i,a,o,l)=>{O(r,`aria-label`,t),s(c,n),s(u,e(W).source),s(m,i),s(g,a),s(w,o),s(k,l)},[()=>E($[`reports.details`]),()=>E($[`reports.source`]),()=>E($[`reports.groupings`]),()=>e(W).groupings||E($[`reports.none`]),()=>E($[`reports.measures`]),()=>e(W).measures.join(`, `)]),p(n,r)};t(i,t=>{e(W)&&t(o)});var c=x(i,2),l=e=>{var t=Rt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.ask_where`])]),p(e,t)};t(c,t=>{e(re)&&t(l)});var u=x(c,2),d=e=>{var t=Rt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.running`])]),p(e,t)};t(u,t=>{e(I)&&!e(P)&&t(d)});var f=x(u,2),m=t=>{var n=zt(),r=C(n,!0);D(e=>s(r,e),[()=>E($[e(F)])]),p(t,n)};t(f,t=>{e(F)&&t(m)});var h=x(f,2),g=t=>{var n=Bt();_t(y(n),{get result(){return e(P)},get spec(){return e(M).spec},variant:`full`,get locale(){return b()},get currency(){return S()},get view(){return e(z)},set view(e){k(z,e,!0)}}),a(n),p(t,n)};t(h,t=>{e(P)&&e(M)&&t(g)}),p(n,r)};t(be,e=>{o.client?e(Se,-1):e(xe)});var Ce=x(be,2);{let t=n(()=>E($[`reports.archive_confirm_title`],{title:e(M)?.title??``})),r=n(()=>E($[`reports.archive_confirm`])),i=n(()=>E($[`reports.archive`])),a=n(()=>E($[`reports.cancel`]));j(Ce,{get open(){return e(B)},get title(){return e(t)},get message(){return e(r)},get confirmLabel(){return e(i)},get cancelLabel(){return e(a)},get loading(){return e(V)},onconfirm:()=>void oe(!0),oncancel:()=>k(B,!1)})}a(X),v(X,e=>k(H,e),()=>e(H)),D((e,t)=>{O(X,`data-report-id`,o.id),O(X,`aria-label`,e),s(de,t)},[()=>e(M)?.title??E($[`reports.title`]),()=>e(M)?.title??E($[`reports.title`])]),p(i,X),r()}var Wt=o(`<a class="svelte-2yrjmy"> </a>`),Gt=o(`<span aria-hidden="true">⋯</span>`),Kt=o(`<div class="saved-report-card__menu svelte-2yrjmy"><!></div>`),qt=o(`<p class="saved-report-card__muted svelte-2yrjmy"> </p>`),Jt=o(`<span class="saved-report-card__detail svelte-2yrjmy"> </span>`),Yt=o(`<div class="saved-report-card__spark svelte-2yrjmy"><!></div>`),Xt=o(`<div class="svelte-2yrjmy"><dt class="svelte-2yrjmy"> </dt><dd class="svelte-2yrjmy"> </dd></div>`),Zt=o(`<dl class="saved-report-card__extra svelte-2yrjmy"></dl>`),Qt=o(`<p class="saved-report-card__label svelte-2yrjmy"> </p> <p class="saved-report-card__value svelte-2yrjmy"> <!></p> <!>`,1),$t=o(`<p class="saved-report-card__meta svelte-2yrjmy"> </p>`),en=o(`<article class="saved-report-card svelte-2yrjmy" data-smrt-component="SavedReportCard"><div class="saved-report-card__head svelte-2yrjmy"><!> <!> <!></div> <p class="saved-report-card__line svelte-2yrjmy"> </p> <div class="saved-report-card__figure svelte-2yrjmy"><!></div> <!></article>`);function tn(o,f){u(f,!0);let m=h(f,`actions`,19,()=>[]),g=h(f,`headingLevel`,3,2),_=h(f,`locale`,3,`en`),v=h(f,`currency`,3,`USD`),{t:b}=ee(),w=n(()=>Ke(f.report.spec,{t:b,locale:_(),currency:v(),source:f.source,columns:f.result?.columns})),E=n(()=>f.result?Ye(f.result)[0]:void 0),k=n(()=>f.result?Je(f.result):void 0),A=t=>{let n=e(k)??f.result?.columns.find(e=>e.role===`dimension`),r=n?t[n.id]:void 0;return typeof r==`string`&&e(k)?.bucket?re(r,e(k).bucket,_()):n?Ae(r,n,_(),v()):``},j=n(()=>e(E)?f.report.spec.measures.find(t=>t.as===e(E).id)?.fn:void 0),M=n(()=>{if(!f.result||!e(E))return null;let t=Ze(f.result,e(E),{t:b,locale:_(),currency:v(),groupLabel:A,fn:e(j)}),n=t.find(e=>e.label===b($[`reports.figure.total`]));if(t.length===1)return{label:e(E).label,value:t[0].value};if(n)return{label:e(E).label,value:n.value};let r=t.at(-1);return r?{label:`${e(E).label} · ${b($[`reports.figure.peak`]).toLowerCase()}`,value:r.value,detail:r.detail}:null}),F=n(()=>{if(!f.result||e(k)||f.result.columns.some(e=>e.role===`dimension`))return[];let t=f.result.rows[0];return t?Ye(f.result).slice(1,3).map(e=>({label:e.label,value:Ae(t[e.id],e,_(),v())})):[]}),I=n(()=>{if(!f.result||!e(E)||!e(k))return null;let t=f.result.rows.filter(t=>typeof t[e(E).id]==`number`).map(t=>({label:A(t),value:t[e(E).id]}));return t.length>1?{points:t,format:Xe(e(E)),currency:v()}:null}),L=n(()=>f.result&&!e(k)&&f.result.columns.some(e=>e.role===`dimension`)?f.result.rows.length:0),ne=n(()=>f.report.savedAt?f.author?b($[`reports.saved_by_at`],{author:f.author,time:Qe(f.report.savedAt,_())}):b($[`reports.saved_at`],{time:Qe(f.report.savedAt,_())}):f.author?b($[`reports.saved_by`],{author:f.author}):``);var R=en(),z=y(R),B=y(z);S(B,()=>`h${g()}`,!1,(e,t)=>{i(e,0,`saved-report-card__title svelte-2yrjmy`);var n=Wt(),r=C(n,!0);D(()=>{O(n,`href`,f.href),s(r,f.report.title)}),p(t,n)});var V=x(B,2),H=e=>{N(e,{size:`sm`,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>b($[`reports.archived_badge`])]),p(e,n)},$$slots:{default:!0}})};t(V,e=>{f.report.status===`archived`&&e(H)});var U=x(V,2),W=t=>{var r=Kt(),i=y(r);{let t=e=>{var t=Gt();p(e,t)},r=n(()=>b($[`reports.more`],{title:f.report.title}));te(i,{variant:`icon`,placement:`bottom-end`,get triggerLabel(){return e(r)},get items(){return m()},trigger:t,$$slots:{trigger:!0}})}a(r),p(t,r)};t(U,e=>{m().length&&e(W)}),a(z);var G=x(z,2),K=C(G,!0),q=x(G,2),J=y(q),Y=t=>{{let r=n(()=>b($[`reports.running`]));P(t,{variant:`text`,lines:2,get label(){return e(r)}})}},ae=e=>{var t=qt(),n=C(t,!0);D(e=>s(n,e),[()=>b($[`reports.run_failed`])]),p(e,t)},oe=e=>{var t=qt(),n=C(t,!0);D(e=>s(n,e),[()=>b($[`reports.no_rows`])]),p(e,t)},se=n=>{var r=Qt(),i=T(r),o=C(i,!0),c=x(i,2),u=y(c,!0),d=x(u),f=t=>{var n=Jt(),r=C(n);D(()=>s(r,`· ${e(M).detail??``}`)),p(t,n)};t(d,t=>{e(M).detail&&t(f)}),a(c);var m=x(c,2),h=t=>{var n=Yt(),r=y(n);ie(r,{get data(){return e(I)},style:`line`,size:`compact`,get title(){return e(E).label},get locale(){return _()}}),a(n),p(t,n)},g=t=>{var n=Zt();l(n,21,()=>e(F),e=>e.label,(t,n)=>{var r=Xt(),i=y(r),o=C(i,!0),c=x(i),l=C(c,!0);a(r),D(()=>{s(o,e(n).label),s(l,e(n).value)}),p(t,r)}),a(n),p(t,n)},v=t=>{var n=qt(),r=C(n,!0);D(e=>s(r,e),[()=>b($[`reports.groups_count`],{count:e(L)})]),p(t,n)};t(m,t=>{e(I)&&e(E)?t(h):e(F).length?t(g,1):e(L)>1&&t(v,2)}),D(()=>{s(o,e(M).label),s(u,e(M).value)}),p(n,r)};t(J,t=>{f.result===void 0?t(Y):f.result===null?t(ae,1):f.result.rows.length===0?t(oe,2):e(M)&&t(se,3)}),a(q);var X=x(q,2),Z=t=>{var n=$t(),r=C(n,!0);D(()=>s(r,e(ne))),p(t,n)};t(X,t=>{e(ne)&&t(Z)}),a(R),D(()=>{O(R,`data-report-id`,f.report.id),O(R,`data-archived`,f.report.status===`archived`?``:void 0),s(K,e(w).line)}),p(o,R),r()}var nn=o(`<header class="saved-reports__head svelte-1jp87tr"><h1 class="saved-reports__title svelte-1jp87tr"> </h1> <!></header>`),rn=o(`<p class="saved-reports__note svelte-1jp87tr"> </p>`),an=o(`<div class="saved-reports__toolbar svelte-1jp87tr"><!> <!></div>`),on=o(`<div class="saved-reports__toolbar svelte-1jp87tr"><p class="saved-reports__hint svelte-1jp87tr"> </p> <div class="saved-reports__actions svelte-1jp87tr"><!> <!></div></div>`),sn=o(`<p class="saved-reports__note svelte-1jp87tr" role="status"> </p>`),cn=o(`<div class="saved-reports__error svelte-1jp87tr"><p role="alert" class="svelte-1jp87tr"> </p> <!></div>`),ln=o(`<li class="saved-reports__placeholder svelte-1jp87tr"><!></li>`),un=o(`<ul class="saved-reports__grid svelte-1jp87tr" aria-busy="true"></ul>`),dn=o(`<li class="svelte-1jp87tr"><!></li>`),fn=o(`<ul class="saved-reports__grid svelte-1jp87tr"></ul>`),pn=o(`<!> <!> <!> <!>`,1),mn=o(`<section class="saved-reports svelte-1jp87tr" data-smrt-component="SavedReports"><!> <!> <!></section>`);function hn(i,o){u(o,!0);let f=h(o,`reportHref`,3,e=>`/reports/${encodeURIComponent(e)}`),m=h(o,`authorLabel`,3,()=>void 0),S=h(o,`sources`,19,()=>[]),E=h(o,`variant`,3,`page`),M=h(o,`limit`,19,()=>E()===`section`?6:48),N=h(o,`locale`,3,`en`),te=h(o,`currency`,3,`USD`),{t:F}=ee(),I=g(`all`),R=g(!1),B=g(b([])),re=g(0),H=g(b({})),ie=g(!1),U=g(null),G=g(0),K=g(null),q=g(null),J=g(!1),Y=0;async function ae(t,n,r){let i=n.filter(e=>e.status===`active`),a=async()=>{for(let n=i.shift();n;n=i.shift()){let i=n.id,a=null;try{let e=await t.run(i);a=ke(e)?e:null}catch{a=null}if(r!==Y)return;k(H,{...e(H),[i]:a},!0)}};await Promise.all([a(),a(),a()])}_(()=>{let t=o.client,n={onlyMine:e(I)===`mine`,includeArchived:e(R)},r=M();e(G);let i=++Y;return k(B,[],!0),k(H,{},!0),k(U,null),k(K,null),k(ie,!!t),t&&t.list(n).then(n=>{i===Y&&(k(re,n.length,!0),k(B,n.slice(0,r),!0),ae(t,e(B),i))}).catch(e=>{i===Y&&k(U,Oe(e),!0)}).finally(()=>{i===Y&&k(ie,!1)}),()=>{++Y}});async function oe(t,n){if(!o.client||e(K)||!t.canArchive)return;let r=Y;k(K,t.id,!0),k(U,null);try{await o.client.archive(t.id,n),r===Y&&k(G,w(()=>e(G))+1)}catch(e){r===Y&&k(U,Oe(e),!0)}finally{r===Y&&k(K,null),k(q,null)}}function se(t){return t.canArchive?t.status===`archived`?[{id:`restore`,label:F($[`reports.restore`]),disabled:e(K)!==null,onselect:()=>void oe(t,!1)}]:[{id:`archive`,label:F($[`reports.archive`]),disabled:e(K)!==null,onselect:()=>{k(q,t,!0)}}]:[]}let X=g(null);function Z(){o.onnewreport?o.onnewreport():k(J,!(e(X)&&ne(e(X),{prompt:F($[`reports.new_prompt`])})))}let ce=e=>S().find(t=>t.id===e),le=n(()=>E()===`page`?2:3);var ue=mn(),de=y(ue),fe=e=>{var n=nn(),r=y(n),i=C(r,!0),l=x(r,2),u=e=>{L(e,{variant:`primary`,onclick:Z,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>F($[`reports.new`])]),p(e,n)},$$slots:{default:!0}})};t(l,e=>{o.client&&e(u)}),a(n),D(e=>s(i,e),[()=>F($[`reports.title`])]),p(e,n)};t(de,e=>{E()===`page`&&e(fe)});var pe=x(de,2),me=e=>{var t=rn(),n=C(t,!0);D(e=>s(n,e),[()=>F($[`reports.unavailable`])]),p(e,t)},he=r=>{var i=pn(),u=T(i),h=t=>{var r=an(),i=y(r);{let t=n(()=>F($[`reports.filter_label`])),r=n(()=>[{value:`all`,label:F($[`reports.filter_all`])},{value:`mine`,label:F($[`reports.filter_mine`])}]);z(i,{get label(){return e(t)},get options(){return e(r)},get value(){return e(I)},onvaluechange:e=>k(I,e===`mine`?`mine`:`all`,!0)})}var o=x(i,2);{let t=n(()=>F($[`reports.archived`]));V(o,{get label(){return e(t)},size:`sm`,get checked(){return e(R)},set checked(e){k(R,e,!0)}})}a(r),p(t,r)},g=n=>{var r=on(),i=y(r),l=C(i,!0),u=x(i,2),f=y(u),m=e=>{L(e,{variant:`ghost`,size:`sm`,get href(){return o.listHref},children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>F($[`reports.view_all`])]),p(e,n)},$$slots:{default:!0}})};t(f,t=>{o.listHref&&e(re)>e(B).length&&t(m)});var h=x(f,2);L(h,{variant:`primary`,size:`sm`,onclick:Z,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>F($[`reports.new`])]),p(e,n)},$$slots:{default:!0}}),a(u),a(r),D(e=>s(l,e),[()=>F($[`reports.hint`])]),p(n,r)};t(u,t=>{E()===`page`?t(h):e(B).length>0&&t(g,1)});var _=x(u,2),v=e=>{var t=sn(),n=C(t,!0);D(e=>s(n,e),[()=>F($[`reports.ask_where`])]),p(e,t)};t(_,t=>{e(J)&&t(v)});var b=x(_,2),S=t=>{var n=cn(),r=y(n),i=C(r,!0),o=x(r,2);L(o,{variant:`secondary`,size:`sm`,onclick:()=>A(G),children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>F($[`reports.retry`])]),p(e,n)},$$slots:{default:!0}}),a(n),D(e=>s(i,e),[()=>F($[e(U)])]),p(t,n)};t(b,t=>{e(U)&&t(S)});var w=x(b,2),j=e=>{var t=un();l(t,20,()=>[0,1,2],e=>e,(e,t)=>{var n=ln(),r=y(n);P(r,{variant:`text`,lines:4}),a(n),p(e,n)}),a(t),D(e=>O(t,`aria-label`,e),[()=>F($[`reports.loading`])]),p(e,t)},M=t=>{{let r=n(()=>F($[`reports.empty_title`])),i=n(()=>F($[`reports.empty`])),a=n(()=>F($[`reports.new`])),o=n(()=>E()===`page`?`md`:`sm`);W(t,{get title(){return e(r)},get description(){return e(i)},icon:`document`,get actionLabel(){return e(a)},onaction:Z,get size(){return e(o)}})}},ee=t=>{var r=fn();l(r,21,()=>e(B),e=>e.id,(t,r)=>{var i=dn(),o=y(i);{let t=n(()=>f()(e(r).id)),i=n(()=>e(r).status===`archived`?null:e(H)[e(r).id]),a=n(()=>ce(e(r).sourceId)),s=n(()=>se(e(r))),c=n(()=>m()(e(r).createdByUserId));tn(o,{get report(){return e(r)},get href(){return e(t)},get result(){return e(i)},get source(){return e(a)},get actions(){return e(s)},get author(){return e(c)},get headingLevel(){return e(le)},get locale(){return N()},get currency(){return te()}})}a(i),p(t,i)}),a(r),p(t,r)};t(w,t=>{e(ie)?t(j):e(B).length===0&&!e(U)?t(M,1):e(B).length>0&&t(ee,2)}),p(r,i)};t(pe,e=>{o.client?e(he,-1):e(me)});var ge=x(pe,2);{let t=n(()=>e(q)!==null),r=n(()=>F($[`reports.archive_confirm_title`],{title:e(q)?.title??``})),i=n(()=>F($[`reports.archive_confirm`])),a=n(()=>F($[`reports.archive`])),o=n(()=>F($[`reports.cancel`])),s=n(()=>e(K)!==null);j(ge,{get open(){return e(t)},get title(){return e(r)},get message(){return e(i)},get confirmLabel(){return e(a)},get cancelLabel(){return e(o)},get loading(){return e(s)},onconfirm:()=>e(q)&&void oe(e(q),!0),oncancel:()=>k(q,null)})}a(ue),v(ue,e=>k(X,e),()=>e(X)),D(e=>{O(ue,`data-variant`,E()),O(ue,`aria-label`,e)},[()=>F($[`reports.title`])]),p(i,ue),r()}function gn(e){let t=e.toolCallData;if(!t||typeof t!=`object`)return null;let n=t;return(n.name??n.tool??n.toolName)===`reports.runtime.define`&&je(n.result)?n.result:null}var _n=o(`<div data-smrt-component="SavedReportsWidget"><!></div>`);function vn(t,i){u(i,!0);let o=h(i,`options`,19,()=>({})),s=h(i,`locale`,3,`en`),c=h(i,`listHref`,3,`/reports`),l=g(void 0);E(()=>{i.client||k(l,Ve(),!0)});let d=n(()=>typeof o().limit==`number`&&o().limit>0?o().limit:6);var f=_n(),m=y(f);{let t=n(()=>i.client??e(l));hn(m,{variant:`section`,get client(){return e(t)},get limit(){return e(d)},get reportHref(){return i.reportHref},get listHref(){return c()},get sources(){return i.sources},get authorLabel(){return i.authorLabel},get locale(){return s()},get currency(){return i.currency}})}a(f),p(t,f),r()}var yn=`planner`,bn=`/api/_reports/runtime/confirm`,xn=`/m/reports/RuntimeReport/`;function Sn(e){return`${xn}${encodeURIComponent(e)}/`}var Cn=class extends Error{status;code;constructor(e,t){super(`Report request failed (${t})`),this.status=e,this.code=t,this.name=`PlannerReportError`}};function wn(){let e=F(le);if(!e)throw Error(`${le} is not in the catalog`);return e.model}function Tn(e){if(typeof e.spec!=`string`)return null;let t;try{t=oe(e.spec)}catch{return null}return{id:e.id,title:t.title,...t.description?{description:t.description}:{},sourceId:t.source,createdByUserId:typeof e.createdByUserId==`string`?e.createdByUserId:``,status:e.status===`archived`?`archived`:`active`,spec:t,...typeof e.createdAt==`string`&&e.createdAt?{savedAt:e.createdAt}:{},canArchive:!0}}function En(e){let t=()=>ce(e.recipeIds(),e.recipes);async function n(n){let r=t(),i=r.find(e=>e.id===n.source),a=i?await e.data.list(i.model):[];return J(n,a,{sources:r})}async function r(r,i=``){let a=K(r,t(),e.now(),i);if(!a.ok)return a;try{let e=await n(a.spec);return{ok:!0,source:a.source,proposal:{status:`awaiting_confirmation`,specHash:e.specHash,spec:a.spec,sourceLabel:a.source.label,confirmPath:bn,preview:e}}}catch(e){if(e instanceof Z)return{ok:!1,question:se(e,a.source)};throw e}}async function i(){return(await e.data.list(wn())).flatMap(e=>Tn(e)??[]).reverse()}async function a(t){let n=await e.data.get(wn(),t),r=n?Tn(n):null;if(!r)throw new Cn(404,`not_found`);return r}async function o(t){let r;try{r=oe(t.spec)}catch{throw new Cn(422,`invalid_spec`)}let a=await Y(r);if(a!==t.specHash)throw new Cn(422,`spec_hash_mismatch`);try{await n(r)}catch(e){throw e instanceof Z?new Cn(422,e.code):e}let o=(await i()).find(e=>e.status===`active`&&e.createdByUserId===`planner`&&X(e.spec)===X(r));if(o)return o;let s=Tn(await e.data.create(wn(),{title:r.title,description:r.description??``,sourceId:r.source,spec:X(r),specHash:a,status:`active`,createdByUserId:yn,createdAt:new Date().toISOString()}));if(!s)throw new Cn(500,`invalid_result`);return s}let s={async list({onlyMine:e,includeArchived:t}){return(await i()).filter(n=>(t||n.status===`active`)&&(!e||n.createdByUserId===`planner`))},get:a,async run(e){let t=await a(e);if(t.status===`archived`)throw new Cn(409,`report_archived`);return n(t.spec)},async archive(t,n){await a(t),await e.data.update(wn(),t,{status:n?`archived`:`active`})},confirm:o},c=e=>e.map(({name:e,label:t,type:n,format:r})=>({name:e,label:t,type:n,...r?{format:r}:{}}));function l(e){let n=t();return n.some(t=>t.id===e)?c(q(n,e).fields):[]}function u(){let e=t();return e.map(t=>{let n=q(e,t.id);return{id:n.id,label:n.label,fields:c(n.fields)}})}return{sources:t,define:r,run:n,save:o,client:s,fieldsFor:l,sourceInfo:u}}var Dn=new WeakMap;function On(e){let t=Dn.get(e);return t||(t=En({data:e,recipeIds:()=>G.ids,recipes:U,now:()=>new Date(I)}),Dn.set(e,t)),t}async function kn(e){await ae.openPath?.(Sn(e.id))}async function An(e,t){try{await kn(t)}catch{}e?.isConnected&&R(e,{focus:`[data-smrt-component="ReportDetail"][data-report-id="${CSS.escape(t.id)}"] h1`})}export{Sn as a,hn as c,xn as i,Ut as l,On as n,vn as o,yn as r,gn as s,An as t,Dt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,L as s,O as c,Ot as l,P as u,Pt as d,U as f,W as p,X as m,Y as h,Z as g,_,a as v,b as y,bt as b,ct as x,ft as S,gt as C,ht as w,mt as T,pt as E,st as D,tt as O,v as k,vt as A,wt as j,xt as M,z as N}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{O as P,c as F,ft as I,gt as L,h as R,l as z,m as B,p as ee}from"./D3lXu_rt.js";import{i as V,o as H,x as U,y as W}from"./CsaWd8kG.js";import{a as te,c as ne,i as re,l as ie,o as ae,p as G,s as oe}from"./DmHVTNcC.js";import{b as K,t as q}from"./lUJaueNM.js";import{r as J}from"./D_U_DYjx.js";import{a as Y,c as se,d as ce,f as le,i as ue,n as de,o as fe,p as pe,r as X,s as me,u as he}from"./C2OYATC6.js";import{a as ge,c as _e,i as ve,l as ye,n as be,o as xe,r as Se,s as Ce,t as we,u as Te}from"./Db12RzZi.js";function Ee(e){return e.form.kind===`field-map`}function De(e){return e.form.kind===`variant-grid`}function Oe(e,t,n){let r=t.filter(t=>e.includes(t.id));return r.flatMap(e=>(e.forms??[]).filter(e=>e.model===n).map(t=>({recipeId:e.id,form:t,extensions:r.flatMap(e=>(e.extends??[]).filter(e=>e.form===t.id))})))}function ke(e,t){return e.extensions.some(e=>(e.records??[]).some(e=>e.model===t))}function Z(e){return(e.type===`foreignKey`||e.type===`crossPackageRef`)&&typeof e.related==`string`}function Ae(e,t){if(e.type===`boolean`)return`boolean`;if(Z(e))return`relation`;if(e.enum&&e.enum.length>0)return`enum`;if(e.ui?.widget)return e.ui.widget;if(e.type===`json`&&t!==void 0&&(L[t]??[]).includes(e.name))return`address`;if(P(e))return`money`;if(B(e))return`percent`;switch(e.type){case`datetime`:return`datetime`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`json`:return`json`;default:return`text`}}var je=e=>typeof e==`number`&&Number.isFinite(e)?e:0;function Me(e){let t=e.name;if(e.type===`json`)return 99;if(/^(name|title|label|code)$|Number$|^number$/.test(t))return 0;if(t===`reference`&&e.type===`text`)return .5;if(t===`description`&&e.type===`text`)return 5.9;if(Z(e))return/^(customer|vendor|profile)/i.test(t)?1:/^(contract|.*(journal|account))/i.test(t)?7:2;if((e.enum?.length??0)>0&&/(status|state|stage)$/i.test(t))return 3;if(/^(totalAmount|amount|total)$/.test(t))return 4;if(e.type===`datetime`){if(/^start(date|at)?$/i.test(t))return 1.2;if(/^due/i.test(t))return 5;if(/(issue|paid|allocated|^date$)/i.test(t))return 5.2}return 6}function Ne(e,t=6){let n=e.filter(e=>e.type!==`json`),r=new Set(n.slice(0,3)),i=n.filter(e=>r.has(e)||Me(e)<6||[`integer`,`decimal`,`boolean`,`datetime`].includes(e.type)||(e.enum?.length??0)>0||Z(e)).map((e,t)=>({f:e,i:t,rank:Me(e)})).sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.f),a=n.find(e=>e.name===`totalAmount`);if(a&&n.some(e=>e.name===`amountPaid`)){let e={...a,name:`amountDue`,label:`Amount due`,required:!1,derive:e=>je(e.totalAmount)-je(e.amountPaid)},t=i.findIndex(e=>e.name===`totalAmount`);i.splice(t<0?i.length:t+1,0,e)}let o=n.some(e=>e.name===`allDay`);return i.slice(0,t).map(e=>o&&e.type===`datetime`&&/^(start|end)(date|at)$/i.test(e.name)?{...e,showTime:!0}:e)}function Pe(e,t){return e.derive?e.derive(t):t[e.name]}function Fe(e,t,n){return e.filter(e=>e[t]===n)}function Ie(e){if(e.default!==void 0&&e.default!==null)return e.default;let t=e.enum??[];return t.length>0&&(e.required||/(status|state|stage)$/i.test(e.name))?t.includes(`draft`)?`draft`:t[0]:e.type===`boolean`?!1:e.type===`text`?``:null}function Le(e){let t={};for(let n of e)t[n.name]=Ie(n);return t}function Re(e,t,n){return{...Le(e),[t]:n}}var ze=e=>e==null||typeof e==`string`&&e.trim()===``;function Be(e,t,n=new Set){let r={};for(let i of e)i.required&&i.type!==`boolean`&&!n.has(i.name)&&ze(t[i.name])&&(r[i.name]=`${i.label} is required.`);return r}function Ve(e,t){let n=e.filter(e=>t[e.name]).map(e=>e.label);return n.length===0?``:`Cannot save yet: ${n.join(`, `)} ${n.length===1?`is`:`are`} required.`}function He(e,t,n,r){return G(e,n,(e,t)=>e.related?r.get(R(e.related,t)):void 0,t)??``}function Ue(e){e instanceof HTMLElement&&e.querySelector(`[data-invalid] :is(input, select, textarea, button):not([type="hidden"])`)?.focus()}function Q(e){return{records:[...e.form.records,...e.extensions.flatMap(e=>e.records??[])],fields:[...e.form.fields,...e.extensions.flatMap(e=>e.fields??[])]}}function We(e,t){let{records:n,fields:r}=Q(e);return r.map(e=>({field:e,catalogField:ce(e,n,t),modelId:le(e,n)}))}function Ge(e,t){return Object.fromEntries(We(e,t).map(({field:e,catalogField:t})=>[e.id,he(e,t)]))}function Ke(e){let{records:t}=Q(e),n=t.findIndex(t=>t.model===e.form.model);return n<0?0:n}async function qe(e,t,n,r){let{records:i}=Q(t),a=i[Ke(t)];if(!a)return{};let o=await e.get(n(a.model),r);return Y(e,i,{[a.as]:o},n)}async function Je(e,t,n,r){let{fields:i}=Q(t),a=await qe(e,t,n,r),o=Ge(t,n);return{values:Object.fromEntries(i.map(e=>{let{alias:t,field:n}=me(e.to),r=a[t]?.[n];return[e.id,r===void 0?o[e.id]:r]})),rows:a}}function Ye(e,t,n,r,i={},a={}){let{records:o,fields:s}=Q(e),c=ue(s,n),l=Ke(e),u=new Set;return o.map((e,o)=>{let d=fe(s,e.as,n),f={...pe(e.values,c),...o===l?Object.fromEntries(Object.entries(a).map(([e,t])=>[e,se(t)])):{}},p=t(e.model),m=r===void 0?void 0:i[e.as];try{if(o===l&&r!==void 0){let t=Object.fromEntries(Object.entries(f).filter(([,e])=>de(e)));return{op:`save`,as:e.as,model:p,id:r,values:{...d,...t}}}if(m)return{op:`save`,as:e.as,model:p,id:m.id,values:d};let t=e.match?pe(e.match,c):{},n=Object.values(t).some(e=>de(e)&&!u.has(e.ref))?{}:t,i=Object.keys(n).length>0;return{op:`save`,as:e.as,model:p,...i?{match:n}:{},onCreate:f,values:d}}finally{u.add(e.as)}})}var $=e=>typeof e==`string`&&e!==``?e:void 0;function Xe(e){let t=typeof e==`object`&&e&&!Array.isArray(e)?e:{},n=$(t.country),r=$(t.state);return{...$(t.street1)?{street:t.street1}:{},...$(t.city)?{city:t.city}:{},...r?{province:n===`US`?`US-${r}`:r}:{},...$(t.postalCode)?{postalCode:t.postalCode}:{},...n?{country:n}:{}}}function Ze(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?{...t}:{};for(let e of[`street1`,`city`,`state`,`postalCode`,`country`])delete n[e];let r=$(e.province);return{...n,...$(e.street)?{street1:e.street}:{},...$(e.city)?{city:e.city}:{},...r?{state:r.replace(/^US-/,``)}:{},...$(e.postalCode)?{postalCode:e.postalCode}:{},...$(e.country)?{country:e.country}:{}}}function Qe(e){return document.body.appendChild(e),e.showModal(),()=>{e.close(),e.remove()}}function $e(e){let t=[e.status,e.customerType].filter(Boolean).join(` · `);return{id:e.id,label:e.profile.name,...t?{detail:t}:{}}}function et(e){return{id:e.id,label:e.profile.name,...e.status?{detail:e.status}:{}}}function tt(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Customer`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New customer`);H(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map($e),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}function nt(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Vendor`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New vendor`);H(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(et),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}var rt=[{name:`CustomerSelect`,selects:`@happyvertical/smrt-commerce:Customer`,kind:`customer`,component:tt},{name:`VendorSelect`,selects:`@happyvertical/smrt-commerce:Vendor`,kind:`vendor`,component:nt}];function it(e,t=rt){return t.find(t=>t.selects===e)}var at=a(`<label class="plain svelte-1t0u16g"> <input type="text"/></label>`),ot=a(`<dialog class="create svelte-1t0u16g"><!></dialog>`),st=a(`<!> <!>`,1);function ct(a,s){l(s,!0);let d=v(s,`creatable`,3,!0),h=J(),T=n(()=>s.field.related??``),O=n(()=>I(e(T))?.model),j=n(()=>it(e(T))),P=n(()=>d()?Oe(q.ids,K,e(T)).find(Ee):void 0),F=n(()=>e(O)?.name.toLowerCase()??`record`),L=b(C(typeof s.value==`string`?s.value:``));x(()=>{let t=typeof s.value==`string`?s.value:``;t!==e(L)&&A(L,t,!0)});let R=b(!1),z=b(0);function B(){M(z),A(R,!0)}function ee(e){A(R,!1),A(L,e.id,!0),s.onchange(e.id)}function V(e){A(L,e,!0),s.onchange(e===``?null:e)}var U=st(),W=E(U),G=t=>{var n=at(),r=S(n),a=w(r);_(a),i(n),D(()=>{o(r,`${s.label??``} `),k(a,`name`,s.name),a.required=s.required,y(a,e(L))}),m(`input`,a,e=>V(e.currentTarget.value)),f(t,n)},Y=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>oe(h,e),resolve:e=>re(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},se=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>ie(h,e),resolve:e=>ae(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},ce=t=>{{let r=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);H(t,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:t=>ne(h,e(O),t),resolve:t=>te(h,e(O),t),get onCreate(){return e(r)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})}};t(W,t=>{e(O)?e(j)?.kind===`customer`?t(Y,1):e(j)?.kind===`vendor`?t(se,2):t(ce,-1):t(G)});var le=w(W,2),ue=t=>{var n=ot(),r=S(n);N(r,()=>e(z),t=>{wt(t,{get active(){return e(P)},onsaved:ee,oncancel:()=>A(R,!1)})}),i(n),c(n,()=>Qe),D(()=>k(n,`aria-label`,`New ${e(F)}`)),g(`close`,n,()=>A(R,!1)),f(t,n)};t(le,t=>{e(P)&&e(R)&&t(ue)}),f(a,U),r()}h([`input`]);var lt=a(`<div class="percent svelte-n1ol00"><!> <span class="percent-sign svelte-n1ol00" aria-hidden="true">%</span></div>`),ut=a(`<input type="url" class="svelte-n1ol00"/>`),dt=a(`<input type="number" step="1" class="svelte-n1ol00"/>`),ft=a(`<input type="number" step="any" class="svelte-n1ol00"/>`),pt=a(`<textarea rows="3" class="svelte-n1ol00"></textarea>`),mt=a(`<input type="text" class="svelte-n1ol00"/>`),ht=a(`<!> <!>`,1),gt=a(`<p class="field-error svelte-n1ol00" role="alert"> </p>`),_t=a(`<small class="svelte-n1ol00"> </small>`),vt=a(`<div class="field svelte-n1ol00"><!> <!> <!></div>`);function yt(a,s){l(s,!0);let c=v(s,`idPrefix`,3,`field`),u=v(s,`hideRequired`,3,!1),p=v(s,`creatable`,3,!0),h=n(()=>Ae(s.field,s.modelId)),b=n(()=>s.label??ee(s.field.name)),x=n(()=>`${c()}-${s.field.name}`),C=n(()=>s.field.required&&!u()),O=n(()=>s.value===null||s.value===void 0?``:typeof s.value==`object`?JSON.stringify(s.value):String(s.value)),A=n(()=>[...e(C)||(s.field.enum??[]).includes(``)?[]:[{value:``,label:`(none)`}],...(s.field.enum??[]).map(e=>({value:e,label:e===``?`(none)`:z(e)}))]);function M(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function N(e){try{return JSON.parse(e)}catch{return e}}let P=e=>e.slice(0,10);var F=vt(),I=S(F),L=t=>{{let r=n(()=>s.value===!0);V(t,{get checked(){return e(r)},onchange:e=>s.onchange(e.currentTarget.checked),get label(){return e(b)}})}},R=t=>{ct(t,{get field(){return s.field},get value(){return s.value},get onchange(){return s.onchange},get label(){return e(b)},get name(){return e(x)},get required(){return e(C)},get creatable(){return p()}})},B=t=>{ge(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get options(){return e(A)},get value(){return e(O)},onchange:e=>s.onchange(e)})},H=t=>{ve(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},rows:4,get value(){return e(O)},onchange:e=>s.onchange(e)})},te=t=>{Se(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},type:`email`,get value(){return e(O)},onchange:e=>s.onchange(e)})},ne=t=>{xe(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e)})},re=t=>{{let r=n(()=>typeof s.value==`number`?s.value:null);_e(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},currency:`USD`,min:0,get value(){return e(r)},onchange:e=>s.onchange(e)})}},ie=t=>{var r=lt(),a=S(r);{let t=n(()=>we(s.value));Ce(a,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},min:0,step:.01,get value(){return e(t)},onchange:e=>s.onchange(be(e))})}d(2),i(r),f(t,r)},ae=t=>{{let r=n(()=>P(e(O)));ye(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},includeTime:!1,get value(){return e(r)},onchange:e=>s.onchange(e?new Date(`${e}T00:00:00Z`).toISOString():``)})}},G=t=>{{let r=n(()=>Xe(s.value));Te(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(r)},onchange:e=>s.onchange(Ze(e,s.value))})}},oe=n=>{var r=ht(),i=E(r);U(i,{get for(){return e(x)},get label(){return e(b)},get required(){return e(C)}});var a=w(i,2),o=t=>{W(t,{get id(){return e(x)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e.currentTarget.value)})},c=t=>{var n=ut();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)},l=t=>{var n=dt();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>{let t=M(e.currentTarget.value);s.onchange(t===null?null:Math.trunc(t))}),f(t,n)},u=t=>{var n=ft();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>s.onchange(M(e.currentTarget.value))),f(t,n)},d=t=>{var n=pt();j(n),D(()=>{k(n,`id`,e(x)),y(n,e(O))}),m(`input`,n,e=>s.onchange(N(e.currentTarget.value))),f(t,n)},p=t=>{var n=mt();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)};t(a,t=>{e(h)===`currency`?t(o):e(h)===`url`?t(c,1):e(h)===`integer`?t(l,2):e(h)===`decimal`?t(u,3):e(h)===`json`?t(d,4):t(p,-1)}),f(n,r)};t(I,t=>{e(h)===`boolean`?t(L):e(h)===`relation`?t(R,1):e(h)===`enum`?t(B,2):e(h)===`textarea`?t(H,3):e(h)===`email`?t(te,4):e(h)===`phone`?t(ne,5):e(h)===`money`?t(re,6):e(h)===`percent`?t(ie,7):e(h)===`datetime`?t(ae,8):e(h)===`address`?t(G,9):t(oe,-1)});var K=w(I,2),q=t=>{var n=gt(),r=T(n,!0);D(()=>{k(n,`id`,`${e(x)}-error`),o(r,s.error)}),f(t,n)};t(K,e=>{s.error&&e(q)});var J=w(K,2),Y=e=>{var t=_t(),n=T(t,!0);D(()=>o(n,s.help)),f(e,t)};t(J,e=>{s.help&&e(Y)}),i(F),D(()=>{k(F,`data-renderer`,e(h)),k(F,`data-invalid`,s.error?``:void 0)}),f(a,F),r()}h([`input`]);var bt=a(`<p>Loading...</p>`),xt=a(`<p class="error svelte-1rp3j7g" role="alert" data-error-summary=""> </p>`),St=a(`<p class="error svelte-1rp3j7g" role="alert"> </p>`),Ct=a(`<form class="planner-form" novalidate=""><h3 class="svelte-1rp3j7g"> </h3> <!> <!> <!> <div class="actions svelte-1rp3j7g"><button type="submit" class="svelte-1rp3j7g">Save</button> <button type="button" class="secondary svelte-1rp3j7g">Cancel</button></div></form>`);function wt(a,c){l(c,!0);let u=J(),d=n(()=>We(c.active,X).filter(({catalogField:e,modelId:t})=>!q.rows.some(n=>n.objectRef===t&&n.fieldName===e.name&&n.visibility===`hidden`))),h=b(C(Ge(c.active,X))),_=b(c.id===void 0),v=b(``),y=b(C({})),x=n(()=>e(d).map(({field:e,catalogField:t})=>({...t,name:e.id,label:e.label,required:e.required??t.required}))),k=n(()=>Ve(e(x),e(y))),j={};async function M(e){let t=await Je(u,c.active,X,e);A(h,t.values,!0),j=t.rows,A(_,!0)}c.id!==void 0&&M(c.id);async function N(t){t.preventDefault();let n=t.currentTarget;if(A(v,``),A(y,Be(e(x),e(h)),!0),Object.keys(e(y)).length>0)await O(),Ue(n);else try{let t=await u.apply(Ye(c.active,X,e(h),c.id,j,c.preset)),n=Q(c.active).records[Ke(c.active)],r=n?t[n.as]:void 0;if(!r)throw Error(`Nothing was saved.`);c.onsaved(r)}catch(e){A(v,e instanceof Error?e.message:`Could not save.`,!0)}}var P=p(),I=E(P),L=e=>{var t=bt();f(e,t)},R=r=>{var a=Ct(),l=S(a),u=T(l),p=w(l,2);s(p,17,()=>e(d),({field:e,catalogField:t,modelId:n})=>e.id,(t,r)=>{let i=()=>e(r).field,a=()=>e(r).catalogField,o=()=>e(r).modelId;{let r=n(()=>({...a(),required:i().required??a().required}));yt(t,{get modelId(){return o()},get field(){return e(r)},get label(){return i().label},get help(){return i().help},get idPrefix(){return c.active.form.id},get error(){return e(y)[i().id]},get value(){return e(h)[i().id]},onchange:t=>{e(h)[i().id]=t,delete e(y)[i().id]}})}});var _=w(p,2),b=t=>{var n=xt(),r=T(n,!0);D(()=>o(r,e(k))),f(t,n)};t(_,t=>{e(k)&&t(b)});var x=w(_,2),C=t=>{var n=St(),r=T(n,!0);D(()=>o(r,e(v))),f(t,n)};t(x,t=>{e(v)&&t(C)});var E=w(x,2),O=w(S(E),2);i(E),i(a),D(e=>o(u,`${c.id===void 0?`New`:`Edit`} ${e??``}`),[()=>F(c.active.form.label,c.noun,c.noun!==void 0)]),g(`submit`,a,N),m(`click`,O,function(...e){c.oncancel?.apply(this,e)}),f(r,a)};t(I,t=>{e(_)?t(R,-1):t(L)}),f(a,P),r()}h([`click`]);export{Le as a,Ne as c,Fe as d,Oe as f,De as h,Re as i,Be as l,Ee as m,yt as n,Pe as o,ke as p,Ue as r,Ve as s,wt as t,He as u};
|
|
1
|
+
import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,L as s,O as c,Ot as l,P as u,Pt as d,U as f,W as p,X as m,Y as h,Z as g,_,a as v,b as y,bt as b,ct as x,ft as S,gt as C,ht as w,mt as T,pt as E,st as D,tt as O,v as k,vt as A,wt as j,xt as M,z as N}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{O as P,c as F,ft as I,gt as L,h as R,l as z,m as B,p as ee}from"./B45qMR8U.js";import{i as V,o as H,x as U,y as W}from"./CsaWd8kG.js";import{a as te,c as ne,i as re,l as ie,o as ae,p as G,s as oe}from"./C7boms_S.js";import{b as K,t as q}from"./nB-x9BEp.js";import{r as J}from"./D_U_DYjx.js";import{a as Y,c as se,d as ce,f as le,i as ue,n as de,o as fe,p as pe,r as X,s as me,u as he}from"./DziaAoFY.js";import{a as ge,c as _e,i as ve,l as ye,n as be,o as xe,r as Se,s as Ce,t as we,u as Te}from"./DmvHEN1v.js";function Ee(e){return e.form.kind===`field-map`}function De(e){return e.form.kind===`variant-grid`}function Oe(e,t,n){let r=t.filter(t=>e.includes(t.id));return r.flatMap(e=>(e.forms??[]).filter(e=>e.model===n).map(t=>({recipeId:e.id,form:t,extensions:r.flatMap(e=>(e.extends??[]).filter(e=>e.form===t.id))})))}function ke(e,t){return e.extensions.some(e=>(e.records??[]).some(e=>e.model===t))}function Z(e){return(e.type===`foreignKey`||e.type===`crossPackageRef`)&&typeof e.related==`string`}function Ae(e,t){if(e.type===`boolean`)return`boolean`;if(Z(e))return`relation`;if(e.enum&&e.enum.length>0)return`enum`;if(e.ui?.widget)return e.ui.widget;if(e.type===`json`&&t!==void 0&&(L[t]??[]).includes(e.name))return`address`;if(P(e))return`money`;if(B(e))return`percent`;switch(e.type){case`datetime`:return`datetime`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`json`:return`json`;default:return`text`}}var je=e=>typeof e==`number`&&Number.isFinite(e)?e:0;function Me(e){let t=e.name;if(e.type===`json`)return 99;if(/^(name|title|label|code)$|Number$|^number$/.test(t))return 0;if(t===`reference`&&e.type===`text`)return .5;if(t===`description`&&e.type===`text`)return 5.9;if(Z(e))return/^(customer|vendor|profile)/i.test(t)?1:/^(contract|.*(journal|account))/i.test(t)?7:2;if((e.enum?.length??0)>0&&/(status|state|stage)$/i.test(t))return 3;if(/^(totalAmount|amount|total)$/.test(t))return 4;if(e.type===`datetime`){if(/^start(date|at)?$/i.test(t))return 1.2;if(/^due/i.test(t))return 5;if(/(issue|paid|allocated|^date$)/i.test(t))return 5.2}return 6}function Ne(e,t=6){let n=e.filter(e=>e.type!==`json`),r=new Set(n.slice(0,3)),i=n.filter(e=>r.has(e)||Me(e)<6||[`integer`,`decimal`,`boolean`,`datetime`].includes(e.type)||(e.enum?.length??0)>0||Z(e)).map((e,t)=>({f:e,i:t,rank:Me(e)})).sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.f),a=n.find(e=>e.name===`totalAmount`);if(a&&n.some(e=>e.name===`amountPaid`)){let e={...a,name:`amountDue`,label:`Amount due`,required:!1,derive:e=>je(e.totalAmount)-je(e.amountPaid)},t=i.findIndex(e=>e.name===`totalAmount`);i.splice(t<0?i.length:t+1,0,e)}let o=n.some(e=>e.name===`allDay`);return i.slice(0,t).map(e=>o&&e.type===`datetime`&&/^(start|end)(date|at)$/i.test(e.name)?{...e,showTime:!0}:e)}function Pe(e,t){return e.derive?e.derive(t):t[e.name]}function Fe(e,t,n){return e.filter(e=>e[t]===n)}function Ie(e){if(e.default!==void 0&&e.default!==null)return e.default;let t=e.enum??[];return t.length>0&&(e.required||/(status|state|stage)$/i.test(e.name))?t.includes(`draft`)?`draft`:t[0]:e.type===`boolean`?!1:e.type===`text`?``:null}function Le(e){let t={};for(let n of e)t[n.name]=Ie(n);return t}function Re(e,t,n){return{...Le(e),[t]:n}}var ze=e=>e==null||typeof e==`string`&&e.trim()===``;function Be(e,t,n=new Set){let r={};for(let i of e)i.required&&i.type!==`boolean`&&!n.has(i.name)&&ze(t[i.name])&&(r[i.name]=`${i.label} is required.`);return r}function Ve(e,t){let n=e.filter(e=>t[e.name]).map(e=>e.label);return n.length===0?``:`Cannot save yet: ${n.join(`, `)} ${n.length===1?`is`:`are`} required.`}function He(e,t,n,r){return G(e,n,(e,t)=>e.related?r.get(R(e.related,t)):void 0,t)??``}function Ue(e){e instanceof HTMLElement&&e.querySelector(`[data-invalid] :is(input, select, textarea, button):not([type="hidden"])`)?.focus()}function Q(e){return{records:[...e.form.records,...e.extensions.flatMap(e=>e.records??[])],fields:[...e.form.fields,...e.extensions.flatMap(e=>e.fields??[])]}}function We(e,t){let{records:n,fields:r}=Q(e);return r.map(e=>({field:e,catalogField:ce(e,n,t),modelId:le(e,n)}))}function Ge(e,t){return Object.fromEntries(We(e,t).map(({field:e,catalogField:t})=>[e.id,he(e,t)]))}function Ke(e){let{records:t}=Q(e),n=t.findIndex(t=>t.model===e.form.model);return n<0?0:n}async function qe(e,t,n,r){let{records:i}=Q(t),a=i[Ke(t)];if(!a)return{};let o=await e.get(n(a.model),r);return Y(e,i,{[a.as]:o},n)}async function Je(e,t,n,r){let{fields:i}=Q(t),a=await qe(e,t,n,r),o=Ge(t,n);return{values:Object.fromEntries(i.map(e=>{let{alias:t,field:n}=me(e.to),r=a[t]?.[n];return[e.id,r===void 0?o[e.id]:r]})),rows:a}}function Ye(e,t,n,r,i={},a={}){let{records:o,fields:s}=Q(e),c=ue(s,n),l=Ke(e),u=new Set;return o.map((e,o)=>{let d=fe(s,e.as,n),f={...pe(e.values,c),...o===l?Object.fromEntries(Object.entries(a).map(([e,t])=>[e,se(t)])):{}},p=t(e.model),m=r===void 0?void 0:i[e.as];try{if(o===l&&r!==void 0){let t=Object.fromEntries(Object.entries(f).filter(([,e])=>de(e)));return{op:`save`,as:e.as,model:p,id:r,values:{...d,...t}}}if(m)return{op:`save`,as:e.as,model:p,id:m.id,values:d};let t=e.match?pe(e.match,c):{},n=Object.values(t).some(e=>de(e)&&!u.has(e.ref))?{}:t,i=Object.keys(n).length>0;return{op:`save`,as:e.as,model:p,...i?{match:n}:{},onCreate:f,values:d}}finally{u.add(e.as)}})}var $=e=>typeof e==`string`&&e!==``?e:void 0;function Xe(e){let t=typeof e==`object`&&e&&!Array.isArray(e)?e:{},n=$(t.country),r=$(t.state);return{...$(t.street1)?{street:t.street1}:{},...$(t.city)?{city:t.city}:{},...r?{province:n===`US`?`US-${r}`:r}:{},...$(t.postalCode)?{postalCode:t.postalCode}:{},...n?{country:n}:{}}}function Ze(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?{...t}:{};for(let e of[`street1`,`city`,`state`,`postalCode`,`country`])delete n[e];let r=$(e.province);return{...n,...$(e.street)?{street1:e.street}:{},...$(e.city)?{city:e.city}:{},...r?{state:r.replace(/^US-/,``)}:{},...$(e.postalCode)?{postalCode:e.postalCode}:{},...$(e.country)?{country:e.country}:{}}}function Qe(e){return document.body.appendChild(e),e.showModal(),()=>{e.close(),e.remove()}}function $e(e){let t=[e.status,e.customerType].filter(Boolean).join(` · `);return{id:e.id,label:e.profile.name,...t?{detail:t}:{}}}function et(e){return{id:e.id,label:e.profile.name,...e.status?{detail:e.status}:{}}}function tt(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Customer`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New customer`);H(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map($e),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}function nt(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Vendor`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New vendor`);H(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(et),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}var rt=[{name:`CustomerSelect`,selects:`@happyvertical/smrt-commerce:Customer`,kind:`customer`,component:tt},{name:`VendorSelect`,selects:`@happyvertical/smrt-commerce:Vendor`,kind:`vendor`,component:nt}];function it(e,t=rt){return t.find(t=>t.selects===e)}var at=a(`<label class="plain svelte-1t0u16g"> <input type="text"/></label>`),ot=a(`<dialog class="create svelte-1t0u16g"><!></dialog>`),st=a(`<!> <!>`,1);function ct(a,s){l(s,!0);let d=v(s,`creatable`,3,!0),h=J(),T=n(()=>s.field.related??``),O=n(()=>I(e(T))?.model),j=n(()=>it(e(T))),P=n(()=>d()?Oe(q.ids,K,e(T)).find(Ee):void 0),F=n(()=>e(O)?.name.toLowerCase()??`record`),L=b(C(typeof s.value==`string`?s.value:``));x(()=>{let t=typeof s.value==`string`?s.value:``;t!==e(L)&&A(L,t,!0)});let R=b(!1),z=b(0);function B(){M(z),A(R,!0)}function ee(e){A(R,!1),A(L,e.id,!0),s.onchange(e.id)}function V(e){A(L,e,!0),s.onchange(e===``?null:e)}var U=st(),W=E(U),G=t=>{var n=at(),r=S(n),a=w(r);_(a),i(n),D(()=>{o(r,`${s.label??``} `),k(a,`name`,s.name),a.required=s.required,y(a,e(L))}),m(`input`,a,e=>V(e.currentTarget.value)),f(t,n)},Y=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>oe(h,e),resolve:e=>re(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},se=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>ie(h,e),resolve:e=>ae(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},ce=t=>{{let r=n(()=>e(P)?B:void 0),i=n(()=>`New ${e(F)}`);H(t,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:t=>ne(h,e(O),t),resolve:t=>te(h,e(O),t),get onCreate(){return e(r)},get createLabel(){return e(i)},onchange:V,get value(){return e(L)},set value(e){A(L,e,!0)}})}};t(W,t=>{e(O)?e(j)?.kind===`customer`?t(Y,1):e(j)?.kind===`vendor`?t(se,2):t(ce,-1):t(G)});var le=w(W,2),ue=t=>{var n=ot(),r=S(n);N(r,()=>e(z),t=>{wt(t,{get active(){return e(P)},onsaved:ee,oncancel:()=>A(R,!1)})}),i(n),c(n,()=>Qe),D(()=>k(n,`aria-label`,`New ${e(F)}`)),g(`close`,n,()=>A(R,!1)),f(t,n)};t(le,t=>{e(P)&&e(R)&&t(ue)}),f(a,U),r()}h([`input`]);var lt=a(`<div class="percent svelte-n1ol00"><!> <span class="percent-sign svelte-n1ol00" aria-hidden="true">%</span></div>`),ut=a(`<input type="url" class="svelte-n1ol00"/>`),dt=a(`<input type="number" step="1" class="svelte-n1ol00"/>`),ft=a(`<input type="number" step="any" class="svelte-n1ol00"/>`),pt=a(`<textarea rows="3" class="svelte-n1ol00"></textarea>`),mt=a(`<input type="text" class="svelte-n1ol00"/>`),ht=a(`<!> <!>`,1),gt=a(`<p class="field-error svelte-n1ol00" role="alert"> </p>`),_t=a(`<small class="svelte-n1ol00"> </small>`),vt=a(`<div class="field svelte-n1ol00"><!> <!> <!></div>`);function yt(a,s){l(s,!0);let c=v(s,`idPrefix`,3,`field`),u=v(s,`hideRequired`,3,!1),p=v(s,`creatable`,3,!0),h=n(()=>Ae(s.field,s.modelId)),b=n(()=>s.label??ee(s.field.name)),x=n(()=>`${c()}-${s.field.name}`),C=n(()=>s.field.required&&!u()),O=n(()=>s.value===null||s.value===void 0?``:typeof s.value==`object`?JSON.stringify(s.value):String(s.value)),A=n(()=>[...e(C)||(s.field.enum??[]).includes(``)?[]:[{value:``,label:`(none)`}],...(s.field.enum??[]).map(e=>({value:e,label:e===``?`(none)`:z(e)}))]);function M(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function N(e){try{return JSON.parse(e)}catch{return e}}let P=e=>e.slice(0,10);var F=vt(),I=S(F),L=t=>{{let r=n(()=>s.value===!0);V(t,{get checked(){return e(r)},onchange:e=>s.onchange(e.currentTarget.checked),get label(){return e(b)}})}},R=t=>{ct(t,{get field(){return s.field},get value(){return s.value},get onchange(){return s.onchange},get label(){return e(b)},get name(){return e(x)},get required(){return e(C)},get creatable(){return p()}})},B=t=>{ge(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get options(){return e(A)},get value(){return e(O)},onchange:e=>s.onchange(e)})},H=t=>{ve(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},rows:4,get value(){return e(O)},onchange:e=>s.onchange(e)})},te=t=>{Se(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},type:`email`,get value(){return e(O)},onchange:e=>s.onchange(e)})},ne=t=>{xe(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e)})},re=t=>{{let r=n(()=>typeof s.value==`number`?s.value:null);_e(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},currency:`USD`,min:0,get value(){return e(r)},onchange:e=>s.onchange(e)})}},ie=t=>{var r=lt(),a=S(r);{let t=n(()=>we(s.value));Ce(a,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},min:0,step:.01,get value(){return e(t)},onchange:e=>s.onchange(be(e))})}d(2),i(r),f(t,r)},ae=t=>{{let r=n(()=>P(e(O)));ye(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},includeTime:!1,get value(){return e(r)},onchange:e=>s.onchange(e?new Date(`${e}T00:00:00Z`).toISOString():``)})}},G=t=>{{let r=n(()=>Xe(s.value));Te(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(r)},onchange:e=>s.onchange(Ze(e,s.value))})}},oe=n=>{var r=ht(),i=E(r);U(i,{get for(){return e(x)},get label(){return e(b)},get required(){return e(C)}});var a=w(i,2),o=t=>{W(t,{get id(){return e(x)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e.currentTarget.value)})},c=t=>{var n=ut();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)},l=t=>{var n=dt();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>{let t=M(e.currentTarget.value);s.onchange(t===null?null:Math.trunc(t))}),f(t,n)},u=t=>{var n=ft();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>s.onchange(M(e.currentTarget.value))),f(t,n)},d=t=>{var n=pt();j(n),D(()=>{k(n,`id`,e(x)),y(n,e(O))}),m(`input`,n,e=>s.onchange(N(e.currentTarget.value))),f(t,n)},p=t=>{var n=mt();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)};t(a,t=>{e(h)===`currency`?t(o):e(h)===`url`?t(c,1):e(h)===`integer`?t(l,2):e(h)===`decimal`?t(u,3):e(h)===`json`?t(d,4):t(p,-1)}),f(n,r)};t(I,t=>{e(h)===`boolean`?t(L):e(h)===`relation`?t(R,1):e(h)===`enum`?t(B,2):e(h)===`textarea`?t(H,3):e(h)===`email`?t(te,4):e(h)===`phone`?t(ne,5):e(h)===`money`?t(re,6):e(h)===`percent`?t(ie,7):e(h)===`datetime`?t(ae,8):e(h)===`address`?t(G,9):t(oe,-1)});var K=w(I,2),q=t=>{var n=gt(),r=T(n,!0);D(()=>{k(n,`id`,`${e(x)}-error`),o(r,s.error)}),f(t,n)};t(K,e=>{s.error&&e(q)});var J=w(K,2),Y=e=>{var t=_t(),n=T(t,!0);D(()=>o(n,s.help)),f(e,t)};t(J,e=>{s.help&&e(Y)}),i(F),D(()=>{k(F,`data-renderer`,e(h)),k(F,`data-invalid`,s.error?``:void 0)}),f(a,F),r()}h([`input`]);var bt=a(`<p>Loading...</p>`),xt=a(`<p class="error svelte-1rp3j7g" role="alert" data-error-summary=""> </p>`),St=a(`<p class="error svelte-1rp3j7g" role="alert"> </p>`),Ct=a(`<form class="planner-form" novalidate=""><h3 class="svelte-1rp3j7g"> </h3> <!> <!> <!> <div class="actions svelte-1rp3j7g"><button type="submit" class="svelte-1rp3j7g">Save</button> <button type="button" class="secondary svelte-1rp3j7g">Cancel</button></div></form>`);function wt(a,c){l(c,!0);let u=J(),d=n(()=>We(c.active,X).filter(({catalogField:e,modelId:t})=>!q.rows.some(n=>n.objectRef===t&&n.fieldName===e.name&&n.visibility===`hidden`))),h=b(C(Ge(c.active,X))),_=b(c.id===void 0),v=b(``),y=b(C({})),x=n(()=>e(d).map(({field:e,catalogField:t})=>({...t,name:e.id,label:e.label,required:e.required??t.required}))),k=n(()=>Ve(e(x),e(y))),j={};async function M(e){let t=await Je(u,c.active,X,e);A(h,t.values,!0),j=t.rows,A(_,!0)}c.id!==void 0&&M(c.id);async function N(t){t.preventDefault();let n=t.currentTarget;if(A(v,``),A(y,Be(e(x),e(h)),!0),Object.keys(e(y)).length>0)await O(),Ue(n);else try{let t=await u.apply(Ye(c.active,X,e(h),c.id,j,c.preset)),n=Q(c.active).records[Ke(c.active)],r=n?t[n.as]:void 0;if(!r)throw Error(`Nothing was saved.`);c.onsaved(r)}catch(e){A(v,e instanceof Error?e.message:`Could not save.`,!0)}}var P=p(),I=E(P),L=e=>{var t=bt();f(e,t)},R=r=>{var a=Ct(),l=S(a),u=T(l),p=w(l,2);s(p,17,()=>e(d),({field:e,catalogField:t,modelId:n})=>e.id,(t,r)=>{let i=()=>e(r).field,a=()=>e(r).catalogField,o=()=>e(r).modelId;{let r=n(()=>({...a(),required:i().required??a().required}));yt(t,{get modelId(){return o()},get field(){return e(r)},get label(){return i().label},get help(){return i().help},get idPrefix(){return c.active.form.id},get error(){return e(y)[i().id]},get value(){return e(h)[i().id]},onchange:t=>{e(h)[i().id]=t,delete e(y)[i().id]}})}});var _=w(p,2),b=t=>{var n=xt(),r=T(n,!0);D(()=>o(r,e(k))),f(t,n)};t(_,t=>{e(k)&&t(b)});var x=w(_,2),C=t=>{var n=St(),r=T(n,!0);D(()=>o(r,e(v))),f(t,n)};t(x,t=>{e(v)&&t(C)});var E=w(x,2),O=w(S(E),2);i(E),i(a),D(e=>o(u,`${c.id===void 0?`New`:`Edit`} ${e??``}`),[()=>F(c.active.form.label,c.noun,c.noun!==void 0)]),g(`submit`,a,N),m(`click`,O,function(...e){c.oncancel?.apply(this,e)}),f(r,a)};t(I,t=>{e(_)?t(R,-1):t(L)}),f(a,P),r()}h([`click`]);export{Le as a,Ne as c,Fe as d,Oe as f,De as h,Re as i,Be as l,Ee as m,yt as n,Pe as o,ke as p,Ue as r,Ve as s,wt as t,He as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./DG3qFFTE.js";import{c as e}from"./
|
|
1
|
+
import"./DG3qFFTE.js";import{c as e}from"./CKd9O-eU.js";var t={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./CKd9O-eU.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,B as t,C as n,Ct as r,Dt as i,E as a,Et as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Ot as ee,Pt as p,S as m,Tt as h,U as g,X as _,Y as v,Z as y,_ as b,a as x,b as te,bt as S,ct as ne,d as C,ft as w,gt as T,ht as E,k as D,kt as O,mt as k,n as A,nt as j,pt as M,q as re,st as N,v as P,vt as F,w as I,wt as L}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{a as R}from"./Bv5jGtB8.js";import{a as z,t as ie}from"./YUSKx8_q.js";import"./DF-0MxNw.js";import{i as B}from"./DIE02RSm.js";import{t as V}from"./CUyVrfsu.js";import{x as ae}from"./CsaWd8kG.js";import{t as oe}from"./CA-A9Ngs.js";import"./DmHVTNcC.js";import{tt as se}from"./lUJaueNM.js";function ce(){return V()}var H=z({"ui.address_input.street_placeholder":`123 Main Street`,"ui.address_input.city_placeholder":`City`,"ui.address_input.postal_code_placeholder":`A1A 1A1`,"ui.date_range_input.mic_aria_label":`Hold to speak date range`,"ui.date_range_input.parsing":`Parsing dates...`,"ui.date_range_input.end_after_start":`End date must be after start date`,"ui.date_time_input.mic_aria_label":`Hold to speak`,"ui.date_time_input.parsing":`Parsing date...`,"ui.file_upload.remove_file":`Remove {name}`,"ui.file_upload.required":`Select a file to upload`,"ui.file_upload.rejected_type":`{count} file(s) rejected: type not allowed`,"ui.file_upload.exceeds_max_size":`{count} file(s) exceed the maximum size of {size}`,"ui.form.extracting":`Extracting form fields…`,"ui.form.listening_status":`Listening. Say "done" to finish.`,"ui.form.listening_button":`Listening... (say "done" to finish)`,"ui.form.speak_all_fields":`Speak all fields`,"ui.form.you_said":`You said:`,"ui.form_mic_button.tooltip":`Speak to fill all fields. Click again to stop.`,"ui.measurement_input.value_at_least":`Value must be at least {min} {unit}`,"ui.measurement_input.value_at_most":`Value must be at most {max} {unit}`,"ui.money_input.value_at_least":`Value must be at least {min}`,"ui.money_input.value_at_most":`Value must be at most {max}`,"ui.number_input.value_at_least":`Value must be at least {min}`,"ui.number_input.value_at_most":`Value must be at most {max}`,"ui.phone_input.mic_aria_label":`Hold to speak`,"ui.phone_input.downloading_model":`Downloading Whisper model... {progress}%`,"ui.phone_input.invalid":`Invalid phone number`,"ui.search_input.clear_aria_label":`Clear search`,"ui.text_input.mic_aria_label":`Hold to speak`,"ui.text_input.downloading_model":`Downloading Whisper model... {progress}%`,"ui.text_input.invalid_email":`Invalid email address`,"ui.textarea_input.mic_aria_label":`Hold to speak`,"ui.textarea_input.downloading_model":`Downloading Whisper model... {progress}%`}),U=Symbol(`smrt-form`),W=new WeakMap;function G(e){let t=new Map;return{get mode(){return e.mode},registerField(n){let r=n.name,i=e.registerField(n),a=typeof i==`function`?i:()=>e.unregisterField(r),o=!0,s=()=>{if(!o)return;o=!1;let e=t.get(r);e?.delete(s),e?.size===0&&t.delete(r),a()},c=t.get(r)??new Set;return c.add(s),t.set(r,c),s},unregisterField(e){let n=t.get(e)?.values().next().value;n?.()},getFieldSchema:()=>e.getFieldSchema(),get isFormListening(){return e.isFormListening},get isExtracting(){return e.isExtracting},toggleListening:()=>e.toggleListening(),get interactionRegistry(){return e.interactionRegistry},get formId(){return e.formId}}}function K(e){let t=h(),n=W.get(t);if(n)return n;let r=o(U);if(!r){if(!e)return null;throw Error(`Form context not found. Make sure to wrap your inputs with <SMRTForm>`)}let i=G(r);return W.set(t,i),O(U,i),i}function le(){return K(!1)}function ue(e){if(e==null)return``;if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return String(e);throw Error(`staged_value_invalid`)}function de(){throw Error(`staged_value_invalid`)}var fe=c(`<div class="field-row full-width svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),q=c(`<div class="field-row flex-2 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),J=c(`<option> </option>`),pe=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <select><option>Select...</option><!></select></div>`),me=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),he=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <select></select></div>`),ge=c(`<div class="validation-error svelte-5rbjmj" role="alert"> </div>`),_e=c(`<div class="smrt-address svelte-5rbjmj" data-smrt-component="AddressInput"><!> <div><!> <div class="field-row-group svelte-5rbjmj"><!> <!></div> <div class="field-row-group svelte-5rbjmj"><!> <!></div></div> <!></div>`);function Y(o,c){let u=re();ee(c,!0);let{t:d}=ie(),p=[{value:`CA`,label:`Canada`},{value:`US`,label:`United States`}],h=[{value:`AB`,label:`Alberta`},{value:`BC`,label:`British Columbia`},{value:`MB`,label:`Manitoba`},{value:`NB`,label:`New Brunswick`},{value:`NL`,label:`Newfoundland and Labrador`},{value:`NS`,label:`Nova Scotia`},{value:`NT`,label:`Northwest Territories`},{value:`NU`,label:`Nunavut`},{value:`ON`,label:`Ontario`},{value:`PE`,label:`Prince Edward Island`},{value:`QC`,label:`Quebec`},{value:`SK`,label:`Saskatchewan`},{value:`YT`,label:`Yukon`},{value:`US-CA`,label:`California`},{value:`US-NY`,label:`New York`},{value:`US-TX`,label:`Texas`},{value:`US-FL`,label:`Florida`},{value:`US-WA`,label:`Washington`}],v=x(c,`value`,31,()=>T({})),y=x(c,`fields`,19,()=>[`street`,`city`,`province`,`postalCode`,`country`]),C=x(c,`disabled`,3,!1),D=x(c,`required`,3,!1),O=x(c,`countries`,3,p),A=x(c,`provinces`,3,h);function M(){return[...new Set(O().map(e=>e.value))]}function I(){return[...new Set([...D()?[]:[``],...A().map(e=>e.value)])]}function L(e){return e===`country`?{type:`string`,enum:M()}:e===`province`?{type:`string`,enum:I()}:{type:`string`}}function R(e){if(typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(![Object.prototype,null].includes(Object.getPrototypeOf(t))||!Object.keys(t).every(e=>y().includes(e))||!y().every(e=>!Object.hasOwn(t,e)||typeof t[e]==`string`)||Object.hasOwn(t,`country`)&&!M().includes(t.country)||Object.hasOwn(t,`province`)&&!I().includes(t.province))}function z(e){if(e==null)return!D();if(!R(e))return!1;if(!D())return!0;let t=e;return y().every(e=>typeof t[e]==`string`&&t[e].trim().length>0)}let B=ce(),V=le(),oe=`smrt-rich-field-${u}`,se=r(()=>B.state.mode===`smrt`),U=S(T(v().street??``)),W=S(T(v().city??``)),G=S(T(v().province??``)),K=S(T(v().postalCode??``)),Y=S(T(v().country??j(()=>O()[0]?.value??``)));ne(()=>{v().street!==void 0&&v().street!==e(U)&&F(U,v().street,!0),v().city!==void 0&&v().city!==e(W)&&F(W,v().city,!0),v().province!==void 0&&v().province!==e(G)&&F(G,v().province,!0),v().postalCode!==void 0&&v().postalCode!==e(K)&&F(K,v().postalCode,!0),v().country!==void 0&&v().country!==e(Y)&&F(Y,v().country,!0)});function ve(){let t={};return y().includes(`street`)&&(t.street=e(U)),y().includes(`city`)&&(t.city=e(W)),y().includes(`province`)&&(t.province=e(G)),y().includes(`postalCode`)&&(t.postalCode=e(K)),y().includes(`country`)&&(t.country=e(Y)),t}function X(){let e=ve();v(e),c.onchange?.(e)}function ye(e){let t={},n=e.toLowerCase().trim(),r=n.match(/([a-z]\d[a-z]\s?\d[a-z]\d)|(\d{5}(-\d{4})?)/i);r&&(t.postalCode=r[0].toUpperCase().replace(/\s+/g,` `));for(let e of A())if(RegExp(`\\b${e.label.toLowerCase()}\\b|\\b${e.value.toLowerCase()}\\b`,`i`).test(n)){t.province=e.value;break}for(let e of O())if([e.label,e.value].some(e=>{let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|\\W)${t}(?=$|\\W)`,`i`).test(n)})){t.country=e.value;break}for(let e of[/(?:city\s+(?:of\s+)?|in\s+)([a-z\s]+?)(?:\s*,|\s+(?:ab|bc|mb|on|qc|sk|alberta|british columbia|ontario|quebec)|\s*$)/i]){let r=n.match(e);if(r){t.city=r[1].trim().replace(/\b\w/g,e=>e.toUpperCase());break}}let i=n.match(/(\d+\s+[a-z\s]+(?:street|st|avenue|ave|road|rd|drive|dr|boulevard|blvd|way|lane|ln|crescent|cres|place|pl|court|ct))/i);return i&&(t.street=i[1].replace(/\b\w/g,e=>e.toUpperCase())),t}let be={street:`Street Address`,city:`City`,province:`Province/State`,postalCode:`Postal/ZIP Code`,country:`Country`},xe=r(()=>{let e=y()[0]??`street`;switch(e){case`postalCode`:return`${c.name}_postal`;default:return`${c.name}_${e}`}});ne(()=>{if(V){let e={name:c.name,ownerToken:oe,type:`address`,get label(){return c.label},get description(){return c.description||`A mailing address with street, city, province, postal code, and country`},setValue:e=>{if(e==null){F(U,``),F(W,``),F(G,``),F(K,``),F(Y,O()[0]?.value??``,!0),X();return}if(R(e)){let t=e;t.street!==void 0&&F(U,t.street,!0),t.city!==void 0&&F(W,t.city,!0),t.province!==void 0&&F(G,t.province,!0),t.postalCode!==void 0&&F(K,t.postalCode,!0),t.country!==void 0&&F(Y,t.country,!0),X();return}let t=Object.fromEntries(Object.entries(ye(String(e))).filter(([e])=>y().includes(e)));Object.keys(t).length>0&&R(t)&&(t.street!==void 0&&F(U,t.street,!0),t.city!==void 0&&F(W,t.city,!0),t.province!==void 0&&F(G,t.province,!0),t.postalCode!==void 0&&F(K,t.postalCode,!0),t.country!==void 0&&F(Y,t.country,!0),X())},getValue:ve,prepareValue:e=>{if(e==null)return Object.fromEntries(y().map(e=>[e,e===`country`?O()[0]?.value??``:``]));if(typeof e==`object`&&!Array.isArray(e))return e;let t=ye(ue(e)),n=Object.fromEntries(Object.entries(t).filter(([e])=>y().includes(e)));return Object.keys(n).length>0?{...ve(),...n}:de()},clear:()=>(F(U,``),F(W,``),F(G,``),F(K,``),F(Y,O()[0]?.value??``,!0),X(),!0),getState:()=>({disabled:C()}),get constraints(){return{required:D()}},get webMcpSchema(){return{type:`object`,additionalProperties:!1,properties:Object.fromEntries(y().map(e=>[e,L(e)])),...D()?{required:[...y()]}:{}}},validateValue:z,validate:()=>z(ve())};return V.registerField(e)}});function Se(e){F(U,e.target.value,!0),X()}function Z(e){F(W,e.target.value,!0),X()}function Ce(e){F(G,e.target.value,!0),X()}function we(e){F(K,e.target.value,!0),X()}function Q(e){F(Y,e.target.value,!0),X()}var Te=_e(),Ee=w(Te),De=t=>{ae(t,{get for(){return e(xe)},get label(){return c.label},get required(){return D()}})};t(Ee,e=>{c.label&&e(De)});var Oe=E(Ee,2);let $;var ke=w(Oe),Ae=t=>{var n=fe(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_street`),l(i,be.street),P(o,`id`,`${c.name??``}_street`),P(o,`name`,`${c.name??``}[street]`),P(o,`placeholder`,t),te(o,e(U)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.street_placeholder`]),()=>D()&&y().includes(`street`)]),_(`input`,o,Se),g(t,n)},je=r(()=>y().includes(`street`));t(ke,t=>{e(je)&&t(Ae)});var Me=E(ke,2),Ne=w(Me),Pe=t=>{var n=q(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_city`),l(i,be.city),P(o,`id`,`${c.name??``}_city`),P(o,`name`,`${c.name??``}[city]`),P(o,`placeholder`,t),te(o,e(W)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.city_placeholder`]),()=>D()&&y().includes(`city`)]),_(`input`,o,Z),g(t,n)},Fe=r(()=>y().includes(`city`));t(Ne,t=>{e(Fe)&&t(Pe)});var Ie=E(Ne,2),Le=t=>{var r=pe(),i=w(r),o=k(i,!0),u=E(i,2);let d;var ee=w(u);ee.value=ee.__value=``;var p=E(ee);f(p,17,A,e=>e.value,(t,n)=>{var r=J(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(u);var h;m(u),s(r),N(t=>{P(i,`for`,`${c.name??``}_province`),l(o,be.province),P(u,`id`,`${c.name??``}_province`),P(u,`name`,`${c.name??``}[province]`),u.disabled=C(),u.required=t,d=a(u,1,`smrt-input smrt-select svelte-5rbjmj`,null,d,{invalid:!!c.error}),P(u,`aria-invalid`,c.error?`true`:void 0),P(u,`aria-describedby`,c.error?`${c.name}-error`:void 0),h!==(h=e(G))&&(u.value=(u.__value=h)??``,n(u,h))},[()=>D()&&y().includes(`province`)]),_(`change`,u,Ce),g(t,r)},Re=r(()=>y().includes(`province`));t(Ie,t=>{e(Re)&&t(Le)}),s(Me);var ze=E(Me,2),Be=w(ze),Ve=t=>{var n=me(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_postal`),l(i,be.postalCode),P(o,`id`,`${c.name??``}_postal`),P(o,`name`,`${c.name??``}[postalCode]`),P(o,`placeholder`,t),te(o,e(K)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.postal_code_placeholder`]),()=>D()&&y().includes(`postalCode`)]),_(`input`,o,we),g(t,n)},He=r(()=>y().includes(`postalCode`));t(Be,t=>{e(He)&&t(Ve)});var Ue=E(Be,2),We=t=>{var r=he(),i=w(r),o=k(i,!0),u=E(i,2);let d;f(u,21,O,e=>e.value,(t,n)=>{var r=J(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(u);var ee;m(u),s(r),N(t=>{P(i,`for`,`${c.name??``}_country`),l(o,be.country),P(u,`id`,`${c.name??``}_country`),P(u,`name`,`${c.name??``}[country]`),u.disabled=C(),u.required=t,d=a(u,1,`smrt-input smrt-select svelte-5rbjmj`,null,d,{invalid:!!c.error}),P(u,`aria-invalid`,c.error?`true`:void 0),P(u,`aria-describedby`,c.error?`${c.name}-error`:void 0),ee!==(ee=e(Y))&&(u.value=(u.__value=ee)??``,n(u,ee))},[()=>D()&&y().includes(`country`)]),_(`change`,u,Q),g(t,r)},Ge=r(()=>y().includes(`country`));t(Ue,t=>{e(Ge)&&t(We)}),s(ze),s(Oe);var Ke=E(Oe,2),qe=e=>{var t=ge(),n=k(t,!0);N(()=>{P(t,`id`,`${c.name}-error`),l(n,c.error)}),g(e,t)};t(Ke,e=>{c.error&&e(qe)}),s(Te),N(()=>{P(Te,`data-smrt-field-owner`,oe),$=a(Oe,1,`address-fields svelte-5rbjmj`,null,$,{"smrt-mode":e(se)})}),g(o,Te),i()}v([`input`,`change`]);function ve(e){return e.toLowerCase().replace(/\s+at\s+/gi,`@`).replace(/\bat\b/gi,`@`).replace(/\s+dot\s+/gi,`.`).replace(/\bdot\b/gi,`.`).replace(/\s+/g,``).trim()}function X(e){return e.replace(/^(my name is|i am|i'm|it's|this is|the name is)\s*/i,``).replace(/\b(um|uh|like|so|well)\b\s*/gi,``).trim()}function ye(e,t){let n=e.toLowerCase().trim();for(let e of t)if(e.value.toLowerCase()===n||e.label.toLowerCase()===n)return e.value;for(let e of t)if(e.label.toLowerCase().includes(n)||n.includes(e.label.toLowerCase()))return e.value;return null}v([`change`]);function be(e={}){let t=V(),n=!1;return e.autoInit&&t.initializeSTT().catch(()=>{}),A(()=>{n&&t.state.ai.stt.isListening&&t.stopListening().catch(()=>{}),n=!1}),{start:async r=>{n=!0;try{await t.startListening({...e.defaultOptions,...r})}catch(e){throw n=!1,e}},stop:async()=>{n=!1,await t.stopListening()},initialize:async e=>{await t.initializeSTT(e)},get isListening(){return t.state.ai.stt.isListening},get isReady(){return t.state.ai.stt.initState===`ready`},get isInitializing(){return t.state.ai.stt.initState===`initializing`},get lastResult(){return t.state.ai.stt.lastResult},get interimResult(){return t.state.ai.stt.interimResult},get currentResult(){let{isListening:e,interimResult:n,lastResult:r}=t.state.ai.stt;return e&&n?n:r},get error(){return t.state.ai.stt.error},get downloadProgress(){return t.state.ai.stt.downloadProgress?.percent??0},get adapterType(){return t.state.ai.stt.adapter?.type??null}}}v([`keydown`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`change`]);var xe=d(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="spinner svelte-rsri1g"><circle cx="12" cy="12" r="10" stroke-dasharray="32" stroke-dashoffset="12" class="svelte-rsri1g"></circle></svg>`),Se=d(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-rsri1g"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" class="svelte-rsri1g"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" class="svelte-rsri1g"></path><line x1="12" x2="12" y1="19" y2="22" class="svelte-rsri1g"></line></svg>`),Z=c(`<input type="text" class="smrt-input smrt-mode svelte-rsri1g" readonly=""/> <button type="button"><!></button>`,1),Ce=c(`<input class="smrt-input svelte-rsri1g"/>`),we=c(`<div class="listening-indicator svelte-rsri1g">Recording...</div>`),Q=c(`<div class="parsing-indicator svelte-rsri1g"> </div>`),Te=c(`<div class="error-indicator svelte-rsri1g" role="alert"> </div>`),Ee=c(`<div data-smrt-component="DateTimeInput"><!> <div class="input-wrapper svelte-rsri1g"><!></div> <!></div>`);function De(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`includeTime`,3,!0),f=x(o,`placeholder`,19,()=>d()?`e.g., next Tuesday at 3pm`:`e.g., March 15, 1990`),p=x(o,`value`,15,``),m=x(o,`disabled`,3,!1),h=x(o,`required`,3,!1),v=`${c}-label`,T=ce(),D=be(),O=le(),A=S(null),j=S(``),I=S(!1),L=S(!1),R=S(null),z=0,V=r(()=>T.state.mode===`smrt`);function se(e){p(e),o.onchange?.(p())}function U(e){if(!e)return``;try{if(!d()&&/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r).toLocaleDateString(void 0,{dateStyle:`medium`})}let t=new Date(e);return Number.isNaN(t.getTime())?e:d()?t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):t.toLocaleDateString(void 0,{dateStyle:`medium`})}catch{return e}}function W(e){if(typeof e!=`string`)return!1;if(e===``)return!h();let t=d()?/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,3})?)?$/.exec(e):/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[,n,r,i,a=`0`,o=`0`,s=`0`]=t,c=new Date(Date.UTC(Number(n),Number(r)-1,Number(i),Number(a),Number(o),Number(s)));return c.getUTCFullYear()===Number(n)&&c.getUTCMonth()===Number(r)-1&&c.getUTCDate()===Number(i)&&c.getUTCHours()===Number(a)&&c.getUTCMinutes()===Number(o)&&c.getUTCSeconds()===Number(s)}ne(()=>{F(j,U(p()),!0)}),ne(()=>{if(O){let e={name:o.name,type:`datetime`,get label(){return o.label},get description(){return o.description??(d()?`Date and time`:`Date`)},setValue:e=>{se(String(e??``))},getValue:()=>p(),prepareValue:ue,getState:()=>({disabled:m()}),get constraints(){return{required:h()}},validateValue:W,validate:()=>W(p())};return O.registerField(e)}});async function G(e){let t;try{t=await oe(`chrono-node`)}catch{throw Error(`Natural-language date parsing requires the optional dependency "chrono-node". Install it with: pnpm add chrono-node`)}let n=t.parse(e);if(n.length===0)throw Error(`Could not parse date from speech`);let r=n[0].start.date();if(Number.isNaN(r.getTime()))throw Error(`Invalid date`);let i=r.getFullYear(),a=String(r.getMonth()+1).padStart(2,`0`),o=String(r.getDate()).padStart(2,`0`);return d()?`${i}-${a}-${o}T${String(r.getHours()).padStart(2,`0`)}:${String(r.getMinutes()).padStart(2,`0`)}`:`${i}-${a}-${o}`}async function K(){if(!(!e(V)||m()||e(L))){F(R,null),z=Date.now(),F(I,!0);try{(!D.isReady||D.adapterType!==`whisper-wasm`)&&await D.initialize({type:`whisper-wasm`}),await D.start({continuous:!0,interimResults:!1})}catch(e){F(I,!1),F(R,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`DateTimeInput: failed to start voice recording`,{field:o.name,error:e})}}}async function de(){if(!e(I))return;let t=Date.now()-z;if(F(I,!1),await D.stop(),t<500)return;let n=Date.now();for(;D.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=D.lastResult?.trim()||``;if(!r||r.length<2)F(R,`No speech detected. Hold longer and speak clearly.`);else{F(L,!0),F(R,null);try{se(await G(r))}catch(e){F(R,e instanceof Error?e.message:`Failed to parse date`,!0)}finally{F(L,!1)}}}function fe(e){e.button===0&&K()}function q(){de()}function J(){de()}function pe(e){e.preventDefault(),K()}function me(){de()}function he(e){e.preventDefault(),e.stopPropagation()}function ge(e){e.stopPropagation(),e.button===0&&K()}function _e(e){e.stopPropagation(),e.preventDefault(),K()}function Y(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),e(I)?de():K())}function ve(e){let t=e.target;se(t.value)}var X=Ee();let ye;var De=w(X),Oe=e=>{ae(e,{get id(){return v},get for(){return o.name},get label(){return o.label},get required(){return h()}})};t(De,e=>{o.label&&e(Oe)});var $=E(De,2),ke=w($),Ae=n=>{var r=Z(),i=M(r);b(i),C(i,e=>F(A,e),()=>e(A));var c=E(i,2);let l;var d=w(c),ee=e=>{var t=xe();g(e,t)},p=e=>{var t=Se();g(e,t)};t(d,t=>{e(L)?t(ee):t(p,-1)}),s(c),N(t=>{P(i,`id`,o.name),P(i,`aria-labelledby`,o.label?v:void 0),P(i,`name`,o.name),P(i,`placeholder`,f()),te(i,e(j)),i.disabled=m()||e(L),i.required=h(),P(i,`aria-invalid`,e(R)?`true`:void 0),P(i,`aria-describedby`,e(R)?`${o.name}-error`:void 0),l=a(c,1,`mic-btn svelte-rsri1g`,null,l,{active:e(I)}),c.disabled=m()||e(L),P(c,`aria-label`,t)},[()=>u(H[`ui.date_time_input.mic_aria_label`])]),_(`mousedown`,i,fe),_(`mouseup`,i,q),y(`mouseleave`,i,J),_(`touchstart`,i,pe,void 0,!0),_(`touchend`,i,me),_(`click`,c,he),_(`keydown`,c,Y),_(`mousedown`,c,ge),_(`mouseup`,c,q),y(`mouseleave`,c,J),_(`touchstart`,c,_e,void 0,!0),_(`touchend`,c,me),g(n,r)},je=t=>{var n=Ce();b(n),C(n,e=>F(A,e),()=>e(A)),N(()=>{P(n,`id`,o.name),P(n,`aria-labelledby`,o.label?v:void 0),P(n,`name`,o.name),P(n,`type`,d()?`datetime-local`:`date`),te(n,p()),n.disabled=m(),n.required=h(),P(n,`aria-invalid`,e(R)?`true`:void 0),P(n,`aria-describedby`,e(R)?`${o.name}-error`:void 0)}),_(`change`,n,ve),g(t,n)};t(ke,t=>{e(V)?t(Ae):t(je,-1)}),s($);var Me=E($,2),Ne=e=>{var t=we();g(e,t)},Pe=e=>{var t=Q(),n=k(t,!0);N(e=>l(n,e),[()=>u(H[`ui.date_time_input.parsing`])]),g(e,t)},Fe=t=>{var n=Te(),r=k(n,!0);N(()=>{P(n,`id`,`${o.name}-error`),l(r,e(R))}),g(t,n)};t(Me,t=>{e(I)?t(Ne):e(L)?t(Pe,1):e(R)&&t(Fe,2)}),s(X),N(()=>ye=a(X,1,`smrt-datetime svelte-rsri1g`,null,ye,{listening:e(I),parsing:e(L)})),g(n,X),i()}v([`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`,`keydown`,`change`]),v([`click`,`keydown`,`change`]),v([`click`]),v([`click`,`keydown`]),v([`input`,`change`]);var Oe=c(`<div class="validation-error svelte-e6jjj7" role="alert"> </div>`),$=c(`<div class="validation-error svelte-e6jjj7" role="alert"><!></div>`),ke=c(`<div class="smrt-money svelte-e6jjj7" data-smrt-component="MoneyInput"><!> <div class="input-wrapper svelte-e6jjj7"><input type="text" inputmode="decimal"/> <span class="currency-code svelte-e6jjj7"> </span></div> <input type="hidden"/> <!></div>`);function Ae(n,o){let c=re();ee(o,!0);let{t:d}=ie(),f=x(o,`placeholder`,3,`0.00`),p=x(o,`value`,15,null),m=x(o,`currency`,3,`CAD`),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),C=`${c}-label`,D=ce(),O=le(),A=r(()=>D.state.mode===`smrt`);function j(e){return e===null?``:(e/100).toFixed(2)}function M(e){let t=e.replace(/[$,\s]/g,``);if(t===``)return null;let n=parseFloat(t);return Number.isNaN(n)?null:Math.round(n*100)}let I=S(T(j(p())));ne(()=>{let t=j(p());e(I)!==t&&!e(L)&&F(I,t,!0)});let L=S(!1),R=r(()=>m()===`USD`?`US$`:`CA$`),z=r(()=>p()===null||!(o.min!==void 0&&p()<o.min||o.max!==void 0&&p()>o.max)),B=r(()=>p()!==null&&!e(z)||!!o.error);function V(e){p(e),o.onchange?.(p())}function oe(e){let t=e.toLowerCase().trim(),n={zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90,hundred:100,thousand:1e3,million:1e6},r=/dollar|buck|cad|usd/i.test(t),i=/cent/i.test(t),a=t.replace(/\$|dollar[s]?|buck[s]?|cad|usd|cent[s]?/gi,``).trim(),o=a.match(/[\d,.]+/);if(o){let e=parseFloat(o[0].replace(/,/g,``));if(!Number.isNaN(e))return Math.round(i&&!r?e:e*100)}let s=a.split(/[\s-]+/).filter(Boolean),c=0,l=0,u=0,d=!1;for(let e=0;e<s.length;e++){let t=s[e],r=n[t];t===`and`||t===`point`?(d=!0,c+=u,u=0):r!==void 0&&(r>=100?(u=u===0?r:u*r,r>=1e3&&(d?l+=u:c+=u,u=0)):u+=r)}d?(l+=u,l>99&&(c+=Math.floor(l/100),l%=100)):c+=u;let f=c*100+l;return f>0?f:null}ne(()=>{if(O){let t={name:o.name,type:`money`,get label(){return o.label},get description(){let e=``;return o.min!==void 0&&o.max!==void 0?e=` (between $${(o.min/100).toFixed(2)} and $${(o.max/100).toFixed(2)})`:o.min===void 0?o.max!==void 0&&(e=` (maximum $${(o.max/100).toFixed(2)})`):e=` (minimum $${(o.min/100).toFixed(2)})`,(o.description||`A monetary amount in dollars`)+e},setValue:e=>{if(e==null||e===``){V(null),F(I,``);return}if(typeof e==`number`){V(e),F(I,j(e),!0);return}let t=oe(String(e));t!==null&&(V(t),F(I,j(t),!0))},getValue:()=>p(),prepareValue:e=>e==null||e===``?null:typeof e==`number`?e:typeof e==`string`?oe(e)??de():de(),getState:()=>({disabled:h()}),get constraints(){return{required:v(),min:o.min,max:o.max}},validateValue:e=>e===null&&!v()||typeof e==`number`&&Number.isSafeInteger(e)&&(o.min===void 0||e>=o.min)&&(o.max===void 0||e<=o.max),validate:()=>p()===null?!v():Number.isSafeInteger(p())&&e(z)};return O.registerField(t)}});function se(e){let t=e.target;F(I,t.value,!0),V(M(t.value))}function U(){F(L,!0)}function W(){F(L,!1),F(I,j(p()),!0)}var G=ke(),K=w(G),ue=e=>{ae(e,{get id(){return C},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(K,e=>{o.label&&e(ue)});var fe=E(K,2),q=w(fe);b(q);let J;var pe=E(q,2),me=k(pe,!0);s(fe);var he=E(fe,2);b(he);var ge=E(he,2),_e=e=>{var t=Oe(),n=k(t,!0);N(()=>{P(t,`id`,`${o.name}-error`),l(n,o.error)}),g(e,t)},Y=n=>{var r=$(),i=w(r),a=t=>{var n=u();N(e=>l(n,e),[()=>d(H[`ui.money_input.value_at_least`],{min:`${e(R)}${(o.min/100).toFixed(2)}`})]),g(t,n)},c=t=>{var n=u();N(e=>l(n,e),[()=>d(H[`ui.money_input.value_at_most`],{max:`${e(R)}${(o.max/100).toFixed(2)}`})]),g(t,n)};t(i,e=>{o.min!==void 0&&p()!==null&&p()<o.min?e(a):o.max!==void 0&&p()!==null&&p()>o.max&&e(c,1)}),s(r),N(()=>P(r,`id`,`${o.name}-error`)),g(n,r)};t(ge,t=>{o.error?t(_e):e(B)&&!e(z)&&t(Y,1)}),s(G),N(()=>{P(q,`id`,o.name),P(q,`aria-labelledby`,o.label?C:void 0),P(q,`name`,o.name),P(q,`placeholder`,f()),te(q,e(I)),q.disabled=h(),q.required=v(),J=a(q,1,`smrt-input svelte-e6jjj7`,null,J,{"smrt-mode":e(A),invalid:e(B)}),P(q,`aria-invalid`,e(B)?`true`:void 0),P(q,`aria-describedby`,e(B)?`${o.name}-error`:void 0),l(me,m()),P(he,`name`,`${o.name??``}_cents`),te(he,p()??``)}),_(`input`,q,se),y(`focus`,q,U),y(`blur`,q,W),g(n,G),i()}v([`input`]);var je=c(`<div class="validation-error svelte-1pebtso" role="alert"><!></div>`),Me=c(`<div class="smrt-number svelte-1pebtso" data-smrt-component="NumberInput"><!> <div class="input-wrapper svelte-1pebtso"><input type="number"/></div> <!></div>`);function Ne(n,o){let c=re();ee(o,!0);let{t:d}=ie(),f=x(o,`placeholder`,3,``),p=x(o,`value`,15,null),m=x(o,`step`,3,1),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),y=`${c}-label`,S=ce(),C=le(),T=r(()=>S.state.mode===`smrt`);function D(e){return e===null||!(o.min!==void 0&&e<o.min||o.max!==void 0&&e>o.max)}function O(e){if(!Number.isFinite(m())||m()<=0)return!0;let t=(e-(o.min??0))/m();return Math.abs(t-Math.round(t))<=1e-9}let k=r(()=>D(p())),A=r(()=>p()!==null&&!e(k));function j(e){p(e),o.onchange?.(p())}function M(e){let t=e.toLowerCase().trim(),n={zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90,hundred:100,thousand:1e3,million:1e6},r=parseFloat(t.replace(/[,$]/g,``));if(!Number.isNaN(r))return r;if(n[t]!==void 0)return n[t];let i=t.split(/[\s-]+/),a=0,o=0;for(let e of i){let t=n[e];t!==void 0&&(t>=100?(o=o===0?t:o*t,t>=1e3&&(a+=o,o=0)):o+=t)}return a+=o,a>0?a:null}ne(()=>{if(C){let t={name:o.name,type:`number`,get label(){return o.label},get description(){let e=``;return o.min!==void 0&&o.max!==void 0?e=` (between ${o.min} and ${o.max})`:o.min===void 0?o.max!==void 0&&(e=` (maximum ${o.max})`):e=` (minimum ${o.min})`,(o.description||`A number`)+e},setValue:e=>{if(e==null||e===``){j(null);return}if(typeof e==`number`){j(e);return}let t=M(String(e));t!==null&&j(t)},getValue:()=>p(),prepareValue:e=>e==null||e===``?null:typeof e==`number`?e:typeof e==`string`?M(e)??de():de(),getState:()=>({disabled:h()}),get constraints(){return{required:v(),min:o.min,max:o.max,step:m()}},validateValue:e=>{if(e==null||e===``)return!v();let t=typeof e==`number`?e:M(String(e));return t!==null&&Number.isFinite(t)&&D(t)&&O(t)},validate:()=>p()===null?!v():Number.isFinite(p())&&e(k)};return C.registerField(t)}});function F(e){let t=e.target;j(t.value===``?null:parseFloat(t.value))}var I=Me(),L=w(I),R=e=>{ae(e,{get id(){return y},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(L,e=>{o.label&&e(R)});var z=E(L,2),B=w(z);b(B);let V;s(z);var oe=E(z,2),se=e=>{var n=je(),r=w(n),i=e=>{var t=u();N(e=>l(t,e),[()=>d(H[`ui.number_input.value_at_least`],{min:o.min})]),g(e,t)},a=e=>{var t=u();N(e=>l(t,e),[()=>d(H[`ui.number_input.value_at_most`],{max:o.max})]),g(e,t)};t(r,e=>{o.min!==void 0&&p()!==null&&p()<o.min?e(i):o.max!==void 0&&p()!==null&&p()>o.max&&e(a,1)}),s(n),N(()=>P(n,`id`,`${o.name}-error`)),g(e,n)};t(oe,t=>{e(A)&&t(se)}),s(I),N(()=>{P(B,`id`,o.name),P(B,`aria-labelledby`,o.label?y:void 0),P(B,`name`,o.name),P(B,`placeholder`,f()),te(B,p()??``),P(B,`min`,o.min),P(B,`max`,o.max),P(B,`step`,m()),B.disabled=h(),B.required=v(),V=a(B,1,`smrt-input svelte-1pebtso`,null,V,{"smrt-mode":e(T),invalid:e(A)}),P(B,`aria-invalid`,e(A)?`true`:void 0),P(B,`aria-describedby`,e(A)?`${o.name}-error`:void 0)}),_(`input`,B,F),g(n,I),i()}v([`input`]);var Pe=c(`<button type="button"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1vixtb7"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" class="svelte-1vixtb7"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" class="svelte-1vixtb7"></path><line x1="12" x2="12" y1="19" y2="22" class="svelte-1vixtb7"></line></svg></button>`),Fe=c(`<div class="downloading-indicator svelte-1vixtb7"><span class="processing-spinner svelte-1vixtb7"></span> <span class="svelte-1vixtb7"> </span></div>`),Ie=c(`<div class="listening-indicator svelte-1vixtb7"><span class="listening-dot svelte-1vixtb7"></span> <span class="svelte-1vixtb7">Recording...</span></div>`),Le=c(`<div class="processing-indicator svelte-1vixtb7"><span class="processing-spinner svelte-1vixtb7"></span> <span class="svelte-1vixtb7">Processing...</span></div>`),Re=c(`<div class="error-message svelte-1vixtb7" role="alert"> </div>`),ze=c(`<div class="validation-error svelte-1vixtb7" role="alert"> </div>`),Be=c(`<div data-smrt-component="PhoneInput"><!> <div class="input-wrapper svelte-1vixtb7"><input type="tel"/> <!></div> <!> <!> <!></div>`);function Ve(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`placeholder`,3,`(555) 555-5555`),f=x(o,`value`,15,``),p=x(o,`disabled`,3,!1),m=x(o,`required`,3,!1),h=`${c}-label`,v=ce(),T=be(),D=le(),O=S(null),A=S(!1),j=S(!1),M=S(null),I=0,L=r(()=>v.state.mode===`smrt`),R=r(()=>T.isInitializing),z=r(()=>T.downloadProgress);function V(e){if(typeof e!=`string`)return!1;if(!e)return!m();let t=e.replace(/\D/g,``);return t.length===10||t.length===11&&t[0]===`1`}let oe=r(()=>V(f())),se=r(()=>f()&&!e(oe));function U(e){f(e),o.onchange?.(f())}function W(e){let t=e.replace(/\D/g,``);return t.length===0?``:t.length<=3?`(${t}`:t.length<=6?`(${t.slice(0,3)}) ${t.slice(3)}`:t.length<=10?`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6)}`:t.length===11&&t[0]===`1`?`+1 (${t.slice(1,4)}) ${t.slice(4,7)}-${t.slice(7)}`:`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6,10)}`}function G(e){let t={zero:`0`,oh:`0`,one:`1`,two:`2`,to:`2`,too:`2`,three:`3`,four:`4`,for:`4`,five:`5`,six:`6`,seven:`7`,eight:`8`,nine:`9`,niner:`9`},n=e.toLowerCase().replace(/^(my phone number is|my number is|phone number|number is|call me at)\s*/i,``).replace(/\b(area code|extension|ext)\b/gi,``).trim();for(let[e,r]of Object.entries(t))n=n.replace(RegExp(`\\b${e}\\b`,`gi`),r);return n=n.replace(/\bdouble\s*(\d)/gi,`$1$1`),n=n.replace(/\btriple\s*(\d)/gi,`$1$1$1`),n.replace(/\D/g,``)}function K(e){return W(G(e))}ne(()=>{if(D){let e={name:o.name,type:`phone`,get label(){return o.label},get description(){return o.description||`Phone number`},setValue:e=>{U(K(String(e??``)))},getValue:()=>f(),prepareValue:e=>{let t=ue(e);if(t===``)return``;let n=G(t);return n.length!==10&&(n.length!==11||n[0]!==`1`)?t:W(n)||de()},getState:()=>({disabled:p()}),get constraints(){return{required:m()}},validateValue:e=>{if(typeof e!=`string`)return!1;if(e===``)return!m();let t=G(e);return t.length===10||t.length===11&&t[0]===`1`},validate:()=>V(f())};return D.registerField(e)}});async function fe(){if(!(!e(L)||p()||e(j))){F(M,null),I=Date.now(),F(A,!0);try{(!T.isReady||T.adapterType!==`whisper-wasm`)&&await T.initialize({type:`whisper-wasm`}),await T.start({continuous:!0,interimResults:!1})}catch(e){F(A,!1),F(M,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`PhoneInput: failed to start voice recording`,{field:o.name,error:e})}}}async function q(){if(!e(A))return;let t=Date.now()-I;if(F(A,!1),await T.stop(),t<500)return;let n=Date.now();for(;T.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=T.lastResult?.trim()||``;if(!r||r.length<2)F(M,`No speech detected. Hold longer and speak clearly.`);else{F(j,!0),F(M,null);try{U(K(r))}catch(e){F(M,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(j,!1)}}}function J(e){e.button===0&&fe()}function pe(){q()}function me(){q()}function he(e){e.preventDefault(),fe()}function ge(){q()}function _e(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(A)?q():fe())}function Y(e){let t=e.target;U(W(t.value))}var ve=Be();let X;var ye=w(ve),xe=e=>{ae(e,{get id(){return h},get for(){return o.name},get label(){return o.label},get required(){return m()}})};t(ye,e=>{o.label&&e(xe)});var Se=E(ye,2),Z=w(Se);b(Z);let Ce;C(Z,e=>F(O,e),()=>e(O));var we=E(Z,2),Q=t=>{var n=Pe();let r;N(t=>{r=a(n,1,`mic-btn svelte-1vixtb7`,null,r,{active:e(A)}),n.disabled=p(),P(n,`aria-label`,t)},[()=>u(H[`ui.phone_input.mic_aria_label`])]),_(`keydown`,n,_e),_(`mousedown`,n,J),_(`mouseup`,n,pe),y(`mouseleave`,n,me),_(`touchstart`,n,he,void 0,!0),_(`touchend`,n,ge),g(t,n)};t(we,t=>{e(L)&&t(Q)}),s(Se);var Te=E(Se,2),Ee=t=>{var n=Fe(),r=E(w(n),2),i=k(r,!0);s(n),N(e=>l(i,e),[()=>u(H[`ui.phone_input.downloading_model`],{progress:e(z)})]),g(t,n)},De=e=>{var t=Ie();g(e,t)},Oe=e=>{var t=Le();g(e,t)};t(Te,t=>{e(R)?t(Ee):e(A)?t(De,1):e(j)&&t(Oe,2)});var $=E(Te,2),ke=t=>{var n=Re(),r=k(n,!0);N(()=>{P(n,`id`,`${o.name}-stt-error`),l(r,e(M))}),g(t,n)};t($,t=>{e(M)&&t(ke)});var Ae=E($,2),je=e=>{var t=ze(),n=k(t,!0);N(e=>{P(t,`id`,`${o.name}-error`),l(n,e)},[()=>u(H[`ui.phone_input.invalid`])]),g(e,t)};t(Ae,t=>{e(se)&&t(je)}),s(ve),N(()=>{X=a(ve,1,`smrt-phone svelte-1vixtb7`,null,X,{listening:e(A)}),P(Z,`id`,o.name),P(Z,`aria-labelledby`,o.label?h:void 0),P(Z,`name`,o.name),P(Z,`placeholder`,d()),te(Z,f()),Z.disabled=p()||e(j),Z.required=m(),Ce=a(Z,1,`smrt-input svelte-1vixtb7`,null,Ce,{"smrt-mode":e(L),invalid:e(se),processing:e(j)}),P(Z,`aria-invalid`,e(se)?`true`:void 0),P(Z,`aria-describedby`,e(se)?`${o.name}-error`:e(M)?`${o.name}-stt-error`:void 0)}),_(`input`,Z,Y),_(`mousedown`,Z,function(...t){(e(L)?J:void 0)?.apply(this,t)}),_(`mouseup`,Z,function(...t){(e(L)?pe:void 0)?.apply(this,t)}),y(`mouseleave`,Z,function(...t){(e(L)?me:void 0)?.apply(this,t)}),_(`touchstart`,Z,function(...t){(e(L)?he:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,Z,function(...t){(e(L)?ge:void 0)?.apply(this,t)}),g(n,ve),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`keydown`]),v([`input`,`keydown`,`click`]);var He=c(`<option disabled=""> </option>`),Ue=c(`<option> </option>`),We=c(`<span class="info svelte-17ub3c7"> </span>`),Ge=c(`<div data-smrt-component="SelectInput"><!> <div class="container svelte-17ub3c7"><div class="content svelte-17ub3c7"><select class="input svelte-17ub3c7"><!><!></select></div> <div class="trailing-icon svelte-17ub3c7"><!></div> <div class="active-indicator svelte-17ub3c7"></div></div> <div class="supporting-text svelte-17ub3c7" aria-live="polite"><!></div></div>`);function Ke(o,c){let u=re();ee(c,!0);let d=x(c,`placeholder`,3,`Select an option...`),h=x(c,`value`,15,``),v=x(c,`disabled`,3,!1),b=x(c,`required`,3,!1),te=`${u}-label`,C=ce(),T=le(),D=S(!1),O=r(()=>c.options.some(e=>e.value===``)),A=r(()=>c.options.filter((e,t)=>c.options.findIndex(t=>t.value===e.value)===t)),j=r(()=>C.state.mode===`smrt`);function M(e){h(e),c.onchange?.(h())}ne(()=>{if(T){let e={name:c.name,type:`select`,get label(){return c.label},get description(){let e=c.options.map(e=>e.label).join(`, `);return c.description?`${c.description}. Options: ${e}`:`Options: ${e}`},setValue:e=>{let t=String(e??``),n=ye(t,c.options);n?M(n):c.options.some(e=>e.value===t)&&M(t)},getValue:()=>h(),prepareValue:e=>{let t=ue(e);return t.trim()===``?t:ye(t,c.options)??t},clear:()=>(M(``),!0),getState:()=>({disabled:v()}),get constraints(){return{required:b()}},get options(){return c.options.map(e=>({value:e.value,label:e.label}))},validateValue:e=>{let t=String(e??``);return t===``?!b():c.options.some(e=>e.value===t)},validate:()=>!b()||h().trim().length>0};return T.registerField(e)}});function L(e){let t=e.target;M(t.value)}var R=Ge();let z;var ie=w(R),B=e=>{ae(e,{get id(){return te},get for(){return c.name},get label(){return c.label},get required(){return b()}})};t(ie,e=>{c.label&&e(B)});var V=E(ie,2),oe=w(V),H=w(oe),U=w(H),W=e=>{var t=He(),n=k(t,!0);t.value=t.__value=``,N(()=>{I(t,!h()),l(n,d())}),g(e,t)};t(U,t=>{e(O)||t(W)});var G=E(U);f(G,17,()=>e(A),e=>e.value,(t,n)=>{var r=Ue(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(H);var K;m(H),s(oe);var de=E(oe,2),fe=w(de);se(fe,{name:`chevron-down`,size:24}),s(de),p(2),s(V);var q=E(V,2),J=w(q),pe=e=>{var t=We(),n=k(t,!0);N(()=>l(n,c.description)),g(e,t)};t(J,t=>{c.description&&e(D)&&t(pe)}),s(q),s(R),N(()=>{z=a(R,1,`smrt-select-field svelte-17ub3c7`,null,z,{"smrt-mode":e(j),focused:e(D),disabled:v(),"has-value":!!h()}),P(H,`id`,c.name),P(H,`aria-labelledby`,c.label?te:void 0),P(H,`name`,c.name),H.disabled=v(),H.required=b(),P(H,`aria-describedby`,`${c.name}-supporting`),K!==(K=h())&&(H.value=(H.__value=K)??``,n(H,K)),P(q,`id`,`${c.name}-supporting`)}),_(`change`,H,L),y(`focus`,H,()=>F(D,!0)),y(`blur`,H,()=>F(D,!1)),g(o,R),i()}v([`change`]);var qe=c(`<button type="button"><!></button>`),Je=c(`<span class="info svelte-1wen309"> </span>`),Ye=c(`<span class="success svelte-1wen309">Recording...</span>`),Xe=c(`<span class="info svelte-1wen309">Processing...</span>`),Ze=c(`<span class="error svelte-1wen309"> </span>`),Qe=c(`<div data-smrt-component="TextareaInput"><!> <div class="container svelte-1wen309"><div class="content svelte-1wen309"><textarea class="input svelte-1wen309"></textarea></div> <!> <div class="active-indicator svelte-1wen309"></div></div> <div class="supporting-text svelte-1wen309" aria-live="polite"><!></div></div>`);function $e(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`placeholder`,3,``),f=x(o,`value`,15,``),m=x(o,`rows`,3,4),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),b=x(o,`appendMode`,3,!1),T=`${c}-label`,O=ce(),A=be(),j=le(),M=S(null),I=S(!1),z=S(!1),V=S(!1),oe=``,U=S(null),W=0,G=r(()=>O.state.mode===`smrt`),K=r(()=>A.isInitializing),de=r(()=>A.downloadProgress);function fe(e){f(e),o.onchange?.(f())}ne(()=>{if(j){let e={name:o.name,type:`textarea`,get label(){return o.label},get description(){return o.description},setValue:e=>{fe(String(e??``))},getValue:()=>f(),prepareValue:e=>{let t=ue(e);return b()&&f()?`${f()}\n${t}`:t},prepareReviewedValue:ue,getState:()=>({disabled:h()}),get constraints(){return{required:v()}},validateValue:e=>!v()||String(e??``).trim().length>0,validate:()=>!v()||f().trim().length>0};return j.registerField(e)}});async function q(){if(!(!e(G)||h()||e(z))){oe=f(),F(U,null),W=Date.now(),F(I,!0);try{(!A.isReady||A.adapterType!==`whisper-wasm`)&&await A.initialize({type:`whisper-wasm`}),await A.start({continuous:!0,interimResults:!1})}catch(e){F(I,!1),F(U,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`TextareaInput: failed to start voice recording`,{field:o.name,error:e})}}}async function J(){if(!e(I))return;let t=Date.now()-W;if(F(I,!1),await A.stop(),t<500)return;let n=Date.now();for(;A.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=A.lastResult?.trim()||``;if(!r||r.length<2)F(U,`No speech detected. Hold longer and speak clearly.`);else{F(z,!0),F(U,null);try{let e=X(r);b()&&oe?fe(`${oe}\n${e}`):fe(e)}catch(e){F(U,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(z,!1)}}}function pe(e){e.button===0&&q()}function me(){J()}function he(){J()}function ge(e){e.preventDefault(),q()}function _e(){J()}function Y(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(I)?J():q())}function ve(e){let t=e.target;fe(t.value)}var ye=Qe();let xe;var Se=w(ye),Z=e=>{ae(e,{get id(){return T},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(Se,e=>{o.label&&e(Z)});var Ce=E(Se,2),we=w(Ce),Q=w(we);L(Q),C(Q,e=>F(M,e),()=>e(M)),s(we);var Te=E(we,2),Ee=t=>{var n=qe();let r;var i=w(n);se(i,{name:`mic`,size:20}),s(n),D(n,e=>R?.(e)),N(t=>{r=a(n,1,`mic-btn svelte-1wen309`,null,r,{active:e(I)}),n.disabled=h(),P(n,`aria-label`,t)},[()=>u(H[`ui.textarea_input.mic_aria_label`])]),_(`keydown`,n,Y),_(`mousedown`,n,e=>{e.stopPropagation(),e.button===0&&q()}),_(`mouseup`,n,me),y(`mouseleave`,n,he),_(`touchstart`,n,e=>{e.stopPropagation(),e.preventDefault(),q()},void 0,!0),_(`touchend`,n,_e),g(t,n)};t(Te,t=>{e(G)&&t(Ee)}),p(2),s(Ce);var De=E(Ce,2),Oe=w(De),$=t=>{var n=Je(),r=k(n,!0);N(e=>l(r,e),[()=>u(H[`ui.textarea_input.downloading_model`],{progress:e(de)})]),g(t,n)},ke=e=>{var t=Ye();g(e,t)},Ae=e=>{var t=Xe();g(e,t)},je=t=>{var n=Ze(),r=k(n,!0);N(()=>l(r,e(U))),g(t,n)},Me=e=>{var t=Je(),n=k(t,!0);N(()=>l(n,o.description)),g(e,t)};t(Oe,t=>{e(K)?t($):e(I)?t(ke,1):e(z)?t(Ae,2):e(U)?t(je,3):o.description&&e(V)&&t(Me,4)}),s(De),s(ye),N(()=>{xe=a(ye,1,`smrt-text-field multiline svelte-1wen309`,null,xe,{"smrt-mode":e(G),focused:e(V),disabled:h(),"has-value":!!f(),listening:e(I)}),P(Q,`id`,o.name),P(Q,`aria-labelledby`,o.label?T:void 0),P(Q,`name`,o.name),P(Q,`placeholder`,e(V)?d():``),te(Q,f()),P(Q,`rows`,m()),Q.disabled=h()||e(z),Q.required=v(),P(Q,`aria-invalid`,e(U)?`true`:void 0),P(Q,`aria-describedby`,`${o.name}-supporting`),P(De,`id`,`${o.name}-supporting`)}),_(`input`,Q,ve),y(`focus`,Q,()=>F(V,!0)),y(`blur`,Q,()=>F(V,!1)),_(`mousedown`,Q,function(...t){(e(G)?pe:void 0)?.apply(this,t)}),_(`mouseup`,Q,function(...t){(e(G)?me:void 0)?.apply(this,t)}),y(`mouseleave`,Q,function(...t){(e(G)?he:void 0)?.apply(this,t)}),_(`touchstart`,Q,function(...t){(e(G)?ge:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,Q,function(...t){(e(G)?_e:void 0)?.apply(this,t)}),g(n,ye),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`keydown`]);var et=c(`<button type="button"><!></button>`),tt=c(`<span class="info svelte-q632gy"> </span>`),nt=c(`<span class="success svelte-q632gy">Recording...</span>`),rt=c(`<span class="info svelte-q632gy">Processing...</span>`),it=c(`<span class="error svelte-q632gy"> </span>`),at=c(`<div data-smrt-component="TextInput"><!> <div class="container svelte-q632gy"><div class="content svelte-q632gy"><input class="input svelte-q632gy"/></div> <!> <div class="active-indicator svelte-q632gy"></div></div> <div class="supporting-text svelte-q632gy" aria-live="polite"><!></div></div>`);function ot(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`type`,3,`text`),f=x(o,`placeholder`,3,``),m=x(o,`value`,15,``),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),T=x(o,`appendMode`,3,!1),O=`${c}-label`,A=ce(),j=be(),M=le(),I=S(null),L=S(!1),z=S(!1),V=S(!1),oe=``,U=S(null),W=0,G=r(()=>A.state.mode===`smrt`),K=r(()=>j.isInitializing),de=r(()=>j.downloadProgress);function fe(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}let q=r(()=>d()!==`email`||!m()||fe(m())),J=r(()=>d()===`email`&&m()&&!e(q));function pe(e){m(e),o.onchange?.(m())}ne(()=>{if(M){let t={name:o.name,get type(){return d()===`email`?`email`:`text`},get label(){return o.label},get description(){return o.description},setValue:e=>{pe(String(e??``))},getValue:()=>m(),prepareValue:ue,getState:()=>({disabled:h()}),get constraints(){return{required:v()}},validateValue:e=>{let t=String(e??``);return(!v()||t.trim().length>0)&&(d()!==`email`||t.length===0||fe(t))},validate:()=>(!v()||m().trim().length>0)&&(d()!==`email`||m().length===0||e(q))};return M.registerField(t)}});async function me(){if(!(!e(G)||h()||e(z))){oe=m(),F(U,null),W=Date.now(),F(L,!0);try{(!j.isReady||j.adapterType!==`whisper-wasm`)&&await j.initialize({type:`whisper-wasm`}),await j.start({continuous:!0,interimResults:!1})}catch(e){F(L,!1),F(U,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`TextInput: failed to start voice recording`,{field:o.name,error:e})}}}async function he(){if(!e(L))return;let t=Date.now()-W;if(F(L,!1),await j.stop(),t<500)return;let n=Date.now();for(;j.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=j.lastResult?.trim()||``;if(!r||r.length<2)F(U,`No speech detected. Hold longer and speak clearly.`);else{F(z,!0),F(U,null);try{let e=d()===`email`?ve(r):X(r);T()&&oe?pe(`${oe} ${e}`):pe(e)}catch(e){F(U,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(z,!1)}}}function ge(e){e.button===0&&me()}function _e(){he()}function Y(){he()}function ye(e){e.preventDefault(),me()}function xe(){he()}function Se(e){e.preventDefault(),e.stopPropagation()}function Z(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(L)?he():me())}function Ce(e){let t=e.target;pe(t.value)}var we=at();let Q;var Te=w(we),Ee=e=>{ae(e,{get id(){return O},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(Te,e=>{o.label&&e(Ee)});var De=E(Te,2),Oe=w(De),$=w(Oe);b($),C($,e=>F(I,e),()=>e(I)),s(Oe);var ke=E(Oe,2),Ae=t=>{var n=et();let r;var i=w(n);se(i,{name:`mic`,size:20}),s(n),D(n,e=>R?.(e)),N(t=>{r=a(n,1,`mic-btn svelte-q632gy`,null,r,{active:e(L)}),n.disabled=h(),P(n,`aria-label`,t)},[()=>u(H[`ui.text_input.mic_aria_label`])]),_(`click`,n,Se),_(`keydown`,n,Z),_(`mousedown`,n,e=>{e.stopPropagation(),e.button===0&&me()}),_(`mouseup`,n,_e),y(`mouseleave`,n,Y),_(`touchstart`,n,e=>{e.stopPropagation(),e.preventDefault(),me()},void 0,!0),_(`touchend`,n,xe),g(t,n)};t(ke,t=>{e(G)&&t(Ae)}),p(2),s(De);var je=E(De,2),Me=w(je),Ne=t=>{var n=tt(),r=k(n,!0);N(e=>l(r,e),[()=>u(H[`ui.text_input.downloading_model`],{progress:e(de)})]),g(t,n)},Pe=e=>{var t=nt();g(e,t)},Fe=e=>{var t=rt();g(e,t)},Ie=t=>{var n=it(),r=k(n,!0);N(()=>l(r,e(U))),g(t,n)},Le=e=>{var t=it(),n=k(t,!0);N(e=>l(n,e),[()=>u(H[`ui.text_input.invalid_email`])]),g(e,t)},Re=e=>{var t=tt(),n=k(t,!0);N(()=>l(n,o.description)),g(e,t)};t(Me,t=>{e(K)?t(Ne):e(L)?t(Pe,1):e(z)?t(Fe,2):e(U)?t(Ie,3):e(J)?t(Le,4):o.description&&e(V)&&t(Re,5)}),s(je),s(we),N(()=>{Q=a(we,1,`smrt-text-field svelte-q632gy`,null,Q,{"smrt-mode":e(G),focused:e(V),invalid:e(J),disabled:h(),"has-value":!!m(),listening:e(L)}),P($,`id`,o.name),P($,`aria-labelledby`,o.label?O:void 0),P($,`name`,o.name),P($,`type`,d()),P($,`placeholder`,e(V)?f():``),te($,m()),$.disabled=h()||e(z),$.required=v(),P($,`aria-invalid`,e(J)?`true`:void 0),P($,`aria-describedby`,`${o.name}-supporting`),P(je,`id`,`${o.name}-supporting`)}),_(`input`,$,Ce),y(`focus`,$,()=>F(V,!0)),y(`blur`,$,()=>F(V,!1)),_(`mousedown`,$,function(...t){(e(G)?ge:void 0)?.apply(this,t)}),_(`mouseup`,$,function(...t){(e(G)?_e:void 0)?.apply(this,t)}),y(`mouseleave`,$,function(...t){(e(G)?Y:void 0)?.apply(this,t)}),_(`touchstart`,$,function(...t){(e(G)?ye:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,$,function(...t){(e(G)?xe:void 0)?.apply(this,t)}),g(n,we),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`,`keydown`]);function st(e){return typeof e!=`number`||!Number.isFinite(e)?null:Number((e*100).toFixed(4))}function ct(e){return e===null||!Number.isFinite(e)?null:Number((e/100).toFixed(6))}export{Ke as a,Ae as c,$e as i,De as l,ct as n,Ve as o,ot as r,Ne as s,st as t,Y as u};
|
|
1
|
+
import{$ as e,B as t,C as n,Ct as r,Dt as i,E as a,Et as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Ot as ee,Pt as p,S as m,Tt as h,U as g,X as _,Y as v,Z as y,_ as b,a as x,b as te,bt as S,ct as ne,d as C,ft as w,gt as T,ht as E,k as D,kt as O,mt as k,n as A,nt as j,pt as M,q as re,st as N,v as P,vt as F,w as I,wt as L}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{a as R}from"./Bv5jGtB8.js";import{a as z,t as ie}from"./YUSKx8_q.js";import"./DF-0MxNw.js";import{i as B}from"./DIE02RSm.js";import{t as V}from"./CUyVrfsu.js";import{x as ae}from"./CsaWd8kG.js";import{t as oe}from"./CA-A9Ngs.js";import"./C7boms_S.js";import{tt as se}from"./nB-x9BEp.js";function ce(){return V()}var H=z({"ui.address_input.street_placeholder":`123 Main Street`,"ui.address_input.city_placeholder":`City`,"ui.address_input.postal_code_placeholder":`A1A 1A1`,"ui.date_range_input.mic_aria_label":`Hold to speak date range`,"ui.date_range_input.parsing":`Parsing dates...`,"ui.date_range_input.end_after_start":`End date must be after start date`,"ui.date_time_input.mic_aria_label":`Hold to speak`,"ui.date_time_input.parsing":`Parsing date...`,"ui.file_upload.remove_file":`Remove {name}`,"ui.file_upload.required":`Select a file to upload`,"ui.file_upload.rejected_type":`{count} file(s) rejected: type not allowed`,"ui.file_upload.exceeds_max_size":`{count} file(s) exceed the maximum size of {size}`,"ui.form.extracting":`Extracting form fields…`,"ui.form.listening_status":`Listening. Say "done" to finish.`,"ui.form.listening_button":`Listening... (say "done" to finish)`,"ui.form.speak_all_fields":`Speak all fields`,"ui.form.you_said":`You said:`,"ui.form_mic_button.tooltip":`Speak to fill all fields. Click again to stop.`,"ui.measurement_input.value_at_least":`Value must be at least {min} {unit}`,"ui.measurement_input.value_at_most":`Value must be at most {max} {unit}`,"ui.money_input.value_at_least":`Value must be at least {min}`,"ui.money_input.value_at_most":`Value must be at most {max}`,"ui.number_input.value_at_least":`Value must be at least {min}`,"ui.number_input.value_at_most":`Value must be at most {max}`,"ui.phone_input.mic_aria_label":`Hold to speak`,"ui.phone_input.downloading_model":`Downloading Whisper model... {progress}%`,"ui.phone_input.invalid":`Invalid phone number`,"ui.search_input.clear_aria_label":`Clear search`,"ui.text_input.mic_aria_label":`Hold to speak`,"ui.text_input.downloading_model":`Downloading Whisper model... {progress}%`,"ui.text_input.invalid_email":`Invalid email address`,"ui.textarea_input.mic_aria_label":`Hold to speak`,"ui.textarea_input.downloading_model":`Downloading Whisper model... {progress}%`}),U=Symbol(`smrt-form`),W=new WeakMap;function G(e){let t=new Map;return{get mode(){return e.mode},registerField(n){let r=n.name,i=e.registerField(n),a=typeof i==`function`?i:()=>e.unregisterField(r),o=!0,s=()=>{if(!o)return;o=!1;let e=t.get(r);e?.delete(s),e?.size===0&&t.delete(r),a()},c=t.get(r)??new Set;return c.add(s),t.set(r,c),s},unregisterField(e){let n=t.get(e)?.values().next().value;n?.()},getFieldSchema:()=>e.getFieldSchema(),get isFormListening(){return e.isFormListening},get isExtracting(){return e.isExtracting},toggleListening:()=>e.toggleListening(),get interactionRegistry(){return e.interactionRegistry},get formId(){return e.formId}}}function K(e){let t=h(),n=W.get(t);if(n)return n;let r=o(U);if(!r){if(!e)return null;throw Error(`Form context not found. Make sure to wrap your inputs with <SMRTForm>`)}let i=G(r);return W.set(t,i),O(U,i),i}function le(){return K(!1)}function ue(e){if(e==null)return``;if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return String(e);throw Error(`staged_value_invalid`)}function de(){throw Error(`staged_value_invalid`)}var fe=c(`<div class="field-row full-width svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),q=c(`<div class="field-row flex-2 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),J=c(`<option> </option>`),pe=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <select><option>Select...</option><!></select></div>`),me=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <input type="text"/></div>`),he=c(`<div class="field-row flex-1 svelte-5rbjmj"><label class="field-label svelte-5rbjmj"> </label> <select></select></div>`),ge=c(`<div class="validation-error svelte-5rbjmj" role="alert"> </div>`),_e=c(`<div class="smrt-address svelte-5rbjmj" data-smrt-component="AddressInput"><!> <div><!> <div class="field-row-group svelte-5rbjmj"><!> <!></div> <div class="field-row-group svelte-5rbjmj"><!> <!></div></div> <!></div>`);function Y(o,c){let u=re();ee(c,!0);let{t:d}=ie(),p=[{value:`CA`,label:`Canada`},{value:`US`,label:`United States`}],h=[{value:`AB`,label:`Alberta`},{value:`BC`,label:`British Columbia`},{value:`MB`,label:`Manitoba`},{value:`NB`,label:`New Brunswick`},{value:`NL`,label:`Newfoundland and Labrador`},{value:`NS`,label:`Nova Scotia`},{value:`NT`,label:`Northwest Territories`},{value:`NU`,label:`Nunavut`},{value:`ON`,label:`Ontario`},{value:`PE`,label:`Prince Edward Island`},{value:`QC`,label:`Quebec`},{value:`SK`,label:`Saskatchewan`},{value:`YT`,label:`Yukon`},{value:`US-CA`,label:`California`},{value:`US-NY`,label:`New York`},{value:`US-TX`,label:`Texas`},{value:`US-FL`,label:`Florida`},{value:`US-WA`,label:`Washington`}],v=x(c,`value`,31,()=>T({})),y=x(c,`fields`,19,()=>[`street`,`city`,`province`,`postalCode`,`country`]),C=x(c,`disabled`,3,!1),D=x(c,`required`,3,!1),O=x(c,`countries`,3,p),A=x(c,`provinces`,3,h);function M(){return[...new Set(O().map(e=>e.value))]}function I(){return[...new Set([...D()?[]:[``],...A().map(e=>e.value)])]}function L(e){return e===`country`?{type:`string`,enum:M()}:e===`province`?{type:`string`,enum:I()}:{type:`string`}}function R(e){if(typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(![Object.prototype,null].includes(Object.getPrototypeOf(t))||!Object.keys(t).every(e=>y().includes(e))||!y().every(e=>!Object.hasOwn(t,e)||typeof t[e]==`string`)||Object.hasOwn(t,`country`)&&!M().includes(t.country)||Object.hasOwn(t,`province`)&&!I().includes(t.province))}function z(e){if(e==null)return!D();if(!R(e))return!1;if(!D())return!0;let t=e;return y().every(e=>typeof t[e]==`string`&&t[e].trim().length>0)}let B=ce(),V=le(),oe=`smrt-rich-field-${u}`,se=r(()=>B.state.mode===`smrt`),U=S(T(v().street??``)),W=S(T(v().city??``)),G=S(T(v().province??``)),K=S(T(v().postalCode??``)),Y=S(T(v().country??j(()=>O()[0]?.value??``)));ne(()=>{v().street!==void 0&&v().street!==e(U)&&F(U,v().street,!0),v().city!==void 0&&v().city!==e(W)&&F(W,v().city,!0),v().province!==void 0&&v().province!==e(G)&&F(G,v().province,!0),v().postalCode!==void 0&&v().postalCode!==e(K)&&F(K,v().postalCode,!0),v().country!==void 0&&v().country!==e(Y)&&F(Y,v().country,!0)});function ve(){let t={};return y().includes(`street`)&&(t.street=e(U)),y().includes(`city`)&&(t.city=e(W)),y().includes(`province`)&&(t.province=e(G)),y().includes(`postalCode`)&&(t.postalCode=e(K)),y().includes(`country`)&&(t.country=e(Y)),t}function X(){let e=ve();v(e),c.onchange?.(e)}function ye(e){let t={},n=e.toLowerCase().trim(),r=n.match(/([a-z]\d[a-z]\s?\d[a-z]\d)|(\d{5}(-\d{4})?)/i);r&&(t.postalCode=r[0].toUpperCase().replace(/\s+/g,` `));for(let e of A())if(RegExp(`\\b${e.label.toLowerCase()}\\b|\\b${e.value.toLowerCase()}\\b`,`i`).test(n)){t.province=e.value;break}for(let e of O())if([e.label,e.value].some(e=>{let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|\\W)${t}(?=$|\\W)`,`i`).test(n)})){t.country=e.value;break}for(let e of[/(?:city\s+(?:of\s+)?|in\s+)([a-z\s]+?)(?:\s*,|\s+(?:ab|bc|mb|on|qc|sk|alberta|british columbia|ontario|quebec)|\s*$)/i]){let r=n.match(e);if(r){t.city=r[1].trim().replace(/\b\w/g,e=>e.toUpperCase());break}}let i=n.match(/(\d+\s+[a-z\s]+(?:street|st|avenue|ave|road|rd|drive|dr|boulevard|blvd|way|lane|ln|crescent|cres|place|pl|court|ct))/i);return i&&(t.street=i[1].replace(/\b\w/g,e=>e.toUpperCase())),t}let be={street:`Street Address`,city:`City`,province:`Province/State`,postalCode:`Postal/ZIP Code`,country:`Country`},xe=r(()=>{let e=y()[0]??`street`;switch(e){case`postalCode`:return`${c.name}_postal`;default:return`${c.name}_${e}`}});ne(()=>{if(V){let e={name:c.name,ownerToken:oe,type:`address`,get label(){return c.label},get description(){return c.description||`A mailing address with street, city, province, postal code, and country`},setValue:e=>{if(e==null){F(U,``),F(W,``),F(G,``),F(K,``),F(Y,O()[0]?.value??``,!0),X();return}if(R(e)){let t=e;t.street!==void 0&&F(U,t.street,!0),t.city!==void 0&&F(W,t.city,!0),t.province!==void 0&&F(G,t.province,!0),t.postalCode!==void 0&&F(K,t.postalCode,!0),t.country!==void 0&&F(Y,t.country,!0),X();return}let t=Object.fromEntries(Object.entries(ye(String(e))).filter(([e])=>y().includes(e)));Object.keys(t).length>0&&R(t)&&(t.street!==void 0&&F(U,t.street,!0),t.city!==void 0&&F(W,t.city,!0),t.province!==void 0&&F(G,t.province,!0),t.postalCode!==void 0&&F(K,t.postalCode,!0),t.country!==void 0&&F(Y,t.country,!0),X())},getValue:ve,prepareValue:e=>{if(e==null)return Object.fromEntries(y().map(e=>[e,e===`country`?O()[0]?.value??``:``]));if(typeof e==`object`&&!Array.isArray(e))return e;let t=ye(ue(e)),n=Object.fromEntries(Object.entries(t).filter(([e])=>y().includes(e)));return Object.keys(n).length>0?{...ve(),...n}:de()},clear:()=>(F(U,``),F(W,``),F(G,``),F(K,``),F(Y,O()[0]?.value??``,!0),X(),!0),getState:()=>({disabled:C()}),get constraints(){return{required:D()}},get webMcpSchema(){return{type:`object`,additionalProperties:!1,properties:Object.fromEntries(y().map(e=>[e,L(e)])),...D()?{required:[...y()]}:{}}},validateValue:z,validate:()=>z(ve())};return V.registerField(e)}});function Se(e){F(U,e.target.value,!0),X()}function Z(e){F(W,e.target.value,!0),X()}function Ce(e){F(G,e.target.value,!0),X()}function we(e){F(K,e.target.value,!0),X()}function Q(e){F(Y,e.target.value,!0),X()}var Te=_e(),Ee=w(Te),De=t=>{ae(t,{get for(){return e(xe)},get label(){return c.label},get required(){return D()}})};t(Ee,e=>{c.label&&e(De)});var Oe=E(Ee,2);let $;var ke=w(Oe),Ae=t=>{var n=fe(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_street`),l(i,be.street),P(o,`id`,`${c.name??``}_street`),P(o,`name`,`${c.name??``}[street]`),P(o,`placeholder`,t),te(o,e(U)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.street_placeholder`]),()=>D()&&y().includes(`street`)]),_(`input`,o,Se),g(t,n)},je=r(()=>y().includes(`street`));t(ke,t=>{e(je)&&t(Ae)});var Me=E(ke,2),Ne=w(Me),Pe=t=>{var n=q(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_city`),l(i,be.city),P(o,`id`,`${c.name??``}_city`),P(o,`name`,`${c.name??``}[city]`),P(o,`placeholder`,t),te(o,e(W)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.city_placeholder`]),()=>D()&&y().includes(`city`)]),_(`input`,o,Z),g(t,n)},Fe=r(()=>y().includes(`city`));t(Ne,t=>{e(Fe)&&t(Pe)});var Ie=E(Ne,2),Le=t=>{var r=pe(),i=w(r),o=k(i,!0),u=E(i,2);let d;var ee=w(u);ee.value=ee.__value=``;var p=E(ee);f(p,17,A,e=>e.value,(t,n)=>{var r=J(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(u);var h;m(u),s(r),N(t=>{P(i,`for`,`${c.name??``}_province`),l(o,be.province),P(u,`id`,`${c.name??``}_province`),P(u,`name`,`${c.name??``}[province]`),u.disabled=C(),u.required=t,d=a(u,1,`smrt-input smrt-select svelte-5rbjmj`,null,d,{invalid:!!c.error}),P(u,`aria-invalid`,c.error?`true`:void 0),P(u,`aria-describedby`,c.error?`${c.name}-error`:void 0),h!==(h=e(G))&&(u.value=(u.__value=h)??``,n(u,h))},[()=>D()&&y().includes(`province`)]),_(`change`,u,Ce),g(t,r)},Re=r(()=>y().includes(`province`));t(Ie,t=>{e(Re)&&t(Le)}),s(Me);var ze=E(Me,2),Be=w(ze),Ve=t=>{var n=me(),r=w(n),i=k(r,!0),o=E(r,2);b(o);let u;s(n),N((t,n)=>{P(r,`for`,`${c.name??``}_postal`),l(i,be.postalCode),P(o,`id`,`${c.name??``}_postal`),P(o,`name`,`${c.name??``}[postalCode]`),P(o,`placeholder`,t),te(o,e(K)),o.disabled=C(),o.required=n,u=a(o,1,`smrt-input svelte-5rbjmj`,null,u,{invalid:!!c.error}),P(o,`aria-invalid`,c.error?`true`:void 0),P(o,`aria-describedby`,c.error?`${c.name}-error`:void 0)},[()=>d(H[`ui.address_input.postal_code_placeholder`]),()=>D()&&y().includes(`postalCode`)]),_(`input`,o,we),g(t,n)},He=r(()=>y().includes(`postalCode`));t(Be,t=>{e(He)&&t(Ve)});var Ue=E(Be,2),We=t=>{var r=he(),i=w(r),o=k(i,!0),u=E(i,2);let d;f(u,21,O,e=>e.value,(t,n)=>{var r=J(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(u);var ee;m(u),s(r),N(t=>{P(i,`for`,`${c.name??``}_country`),l(o,be.country),P(u,`id`,`${c.name??``}_country`),P(u,`name`,`${c.name??``}[country]`),u.disabled=C(),u.required=t,d=a(u,1,`smrt-input smrt-select svelte-5rbjmj`,null,d,{invalid:!!c.error}),P(u,`aria-invalid`,c.error?`true`:void 0),P(u,`aria-describedby`,c.error?`${c.name}-error`:void 0),ee!==(ee=e(Y))&&(u.value=(u.__value=ee)??``,n(u,ee))},[()=>D()&&y().includes(`country`)]),_(`change`,u,Q),g(t,r)},Ge=r(()=>y().includes(`country`));t(Ue,t=>{e(Ge)&&t(We)}),s(ze),s(Oe);var Ke=E(Oe,2),qe=e=>{var t=ge(),n=k(t,!0);N(()=>{P(t,`id`,`${c.name}-error`),l(n,c.error)}),g(e,t)};t(Ke,e=>{c.error&&e(qe)}),s(Te),N(()=>{P(Te,`data-smrt-field-owner`,oe),$=a(Oe,1,`address-fields svelte-5rbjmj`,null,$,{"smrt-mode":e(se)})}),g(o,Te),i()}v([`input`,`change`]);function ve(e){return e.toLowerCase().replace(/\s+at\s+/gi,`@`).replace(/\bat\b/gi,`@`).replace(/\s+dot\s+/gi,`.`).replace(/\bdot\b/gi,`.`).replace(/\s+/g,``).trim()}function X(e){return e.replace(/^(my name is|i am|i'm|it's|this is|the name is)\s*/i,``).replace(/\b(um|uh|like|so|well)\b\s*/gi,``).trim()}function ye(e,t){let n=e.toLowerCase().trim();for(let e of t)if(e.value.toLowerCase()===n||e.label.toLowerCase()===n)return e.value;for(let e of t)if(e.label.toLowerCase().includes(n)||n.includes(e.label.toLowerCase()))return e.value;return null}v([`change`]);function be(e={}){let t=V(),n=!1;return e.autoInit&&t.initializeSTT().catch(()=>{}),A(()=>{n&&t.state.ai.stt.isListening&&t.stopListening().catch(()=>{}),n=!1}),{start:async r=>{n=!0;try{await t.startListening({...e.defaultOptions,...r})}catch(e){throw n=!1,e}},stop:async()=>{n=!1,await t.stopListening()},initialize:async e=>{await t.initializeSTT(e)},get isListening(){return t.state.ai.stt.isListening},get isReady(){return t.state.ai.stt.initState===`ready`},get isInitializing(){return t.state.ai.stt.initState===`initializing`},get lastResult(){return t.state.ai.stt.lastResult},get interimResult(){return t.state.ai.stt.interimResult},get currentResult(){let{isListening:e,interimResult:n,lastResult:r}=t.state.ai.stt;return e&&n?n:r},get error(){return t.state.ai.stt.error},get downloadProgress(){return t.state.ai.stt.downloadProgress?.percent??0},get adapterType(){return t.state.ai.stt.adapter?.type??null}}}v([`keydown`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`change`]);var xe=d(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="spinner svelte-rsri1g"><circle cx="12" cy="12" r="10" stroke-dasharray="32" stroke-dashoffset="12" class="svelte-rsri1g"></circle></svg>`),Se=d(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-rsri1g"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" class="svelte-rsri1g"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" class="svelte-rsri1g"></path><line x1="12" x2="12" y1="19" y2="22" class="svelte-rsri1g"></line></svg>`),Z=c(`<input type="text" class="smrt-input smrt-mode svelte-rsri1g" readonly=""/> <button type="button"><!></button>`,1),Ce=c(`<input class="smrt-input svelte-rsri1g"/>`),we=c(`<div class="listening-indicator svelte-rsri1g">Recording...</div>`),Q=c(`<div class="parsing-indicator svelte-rsri1g"> </div>`),Te=c(`<div class="error-indicator svelte-rsri1g" role="alert"> </div>`),Ee=c(`<div data-smrt-component="DateTimeInput"><!> <div class="input-wrapper svelte-rsri1g"><!></div> <!></div>`);function De(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`includeTime`,3,!0),f=x(o,`placeholder`,19,()=>d()?`e.g., next Tuesday at 3pm`:`e.g., March 15, 1990`),p=x(o,`value`,15,``),m=x(o,`disabled`,3,!1),h=x(o,`required`,3,!1),v=`${c}-label`,T=ce(),D=be(),O=le(),A=S(null),j=S(``),I=S(!1),L=S(!1),R=S(null),z=0,V=r(()=>T.state.mode===`smrt`);function se(e){p(e),o.onchange?.(p())}function U(e){if(!e)return``;try{if(!d()&&/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r).toLocaleDateString(void 0,{dateStyle:`medium`})}let t=new Date(e);return Number.isNaN(t.getTime())?e:d()?t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):t.toLocaleDateString(void 0,{dateStyle:`medium`})}catch{return e}}function W(e){if(typeof e!=`string`)return!1;if(e===``)return!h();let t=d()?/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,3})?)?$/.exec(e):/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let[,n,r,i,a=`0`,o=`0`,s=`0`]=t,c=new Date(Date.UTC(Number(n),Number(r)-1,Number(i),Number(a),Number(o),Number(s)));return c.getUTCFullYear()===Number(n)&&c.getUTCMonth()===Number(r)-1&&c.getUTCDate()===Number(i)&&c.getUTCHours()===Number(a)&&c.getUTCMinutes()===Number(o)&&c.getUTCSeconds()===Number(s)}ne(()=>{F(j,U(p()),!0)}),ne(()=>{if(O){let e={name:o.name,type:`datetime`,get label(){return o.label},get description(){return o.description??(d()?`Date and time`:`Date`)},setValue:e=>{se(String(e??``))},getValue:()=>p(),prepareValue:ue,getState:()=>({disabled:m()}),get constraints(){return{required:h()}},validateValue:W,validate:()=>W(p())};return O.registerField(e)}});async function G(e){let t;try{t=await oe(`chrono-node`)}catch{throw Error(`Natural-language date parsing requires the optional dependency "chrono-node". Install it with: pnpm add chrono-node`)}let n=t.parse(e);if(n.length===0)throw Error(`Could not parse date from speech`);let r=n[0].start.date();if(Number.isNaN(r.getTime()))throw Error(`Invalid date`);let i=r.getFullYear(),a=String(r.getMonth()+1).padStart(2,`0`),o=String(r.getDate()).padStart(2,`0`);return d()?`${i}-${a}-${o}T${String(r.getHours()).padStart(2,`0`)}:${String(r.getMinutes()).padStart(2,`0`)}`:`${i}-${a}-${o}`}async function K(){if(!(!e(V)||m()||e(L))){F(R,null),z=Date.now(),F(I,!0);try{(!D.isReady||D.adapterType!==`whisper-wasm`)&&await D.initialize({type:`whisper-wasm`}),await D.start({continuous:!0,interimResults:!1})}catch(e){F(I,!1),F(R,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`DateTimeInput: failed to start voice recording`,{field:o.name,error:e})}}}async function de(){if(!e(I))return;let t=Date.now()-z;if(F(I,!1),await D.stop(),t<500)return;let n=Date.now();for(;D.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=D.lastResult?.trim()||``;if(!r||r.length<2)F(R,`No speech detected. Hold longer and speak clearly.`);else{F(L,!0),F(R,null);try{se(await G(r))}catch(e){F(R,e instanceof Error?e.message:`Failed to parse date`,!0)}finally{F(L,!1)}}}function fe(e){e.button===0&&K()}function q(){de()}function J(){de()}function pe(e){e.preventDefault(),K()}function me(){de()}function he(e){e.preventDefault(),e.stopPropagation()}function ge(e){e.stopPropagation(),e.button===0&&K()}function _e(e){e.stopPropagation(),e.preventDefault(),K()}function Y(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),e(I)?de():K())}function ve(e){let t=e.target;se(t.value)}var X=Ee();let ye;var De=w(X),Oe=e=>{ae(e,{get id(){return v},get for(){return o.name},get label(){return o.label},get required(){return h()}})};t(De,e=>{o.label&&e(Oe)});var $=E(De,2),ke=w($),Ae=n=>{var r=Z(),i=M(r);b(i),C(i,e=>F(A,e),()=>e(A));var c=E(i,2);let l;var d=w(c),ee=e=>{var t=xe();g(e,t)},p=e=>{var t=Se();g(e,t)};t(d,t=>{e(L)?t(ee):t(p,-1)}),s(c),N(t=>{P(i,`id`,o.name),P(i,`aria-labelledby`,o.label?v:void 0),P(i,`name`,o.name),P(i,`placeholder`,f()),te(i,e(j)),i.disabled=m()||e(L),i.required=h(),P(i,`aria-invalid`,e(R)?`true`:void 0),P(i,`aria-describedby`,e(R)?`${o.name}-error`:void 0),l=a(c,1,`mic-btn svelte-rsri1g`,null,l,{active:e(I)}),c.disabled=m()||e(L),P(c,`aria-label`,t)},[()=>u(H[`ui.date_time_input.mic_aria_label`])]),_(`mousedown`,i,fe),_(`mouseup`,i,q),y(`mouseleave`,i,J),_(`touchstart`,i,pe,void 0,!0),_(`touchend`,i,me),_(`click`,c,he),_(`keydown`,c,Y),_(`mousedown`,c,ge),_(`mouseup`,c,q),y(`mouseleave`,c,J),_(`touchstart`,c,_e,void 0,!0),_(`touchend`,c,me),g(n,r)},je=t=>{var n=Ce();b(n),C(n,e=>F(A,e),()=>e(A)),N(()=>{P(n,`id`,o.name),P(n,`aria-labelledby`,o.label?v:void 0),P(n,`name`,o.name),P(n,`type`,d()?`datetime-local`:`date`),te(n,p()),n.disabled=m(),n.required=h(),P(n,`aria-invalid`,e(R)?`true`:void 0),P(n,`aria-describedby`,e(R)?`${o.name}-error`:void 0)}),_(`change`,n,ve),g(t,n)};t(ke,t=>{e(V)?t(Ae):t(je,-1)}),s($);var Me=E($,2),Ne=e=>{var t=we();g(e,t)},Pe=e=>{var t=Q(),n=k(t,!0);N(e=>l(n,e),[()=>u(H[`ui.date_time_input.parsing`])]),g(e,t)},Fe=t=>{var n=Te(),r=k(n,!0);N(()=>{P(n,`id`,`${o.name}-error`),l(r,e(R))}),g(t,n)};t(Me,t=>{e(I)?t(Ne):e(L)?t(Pe,1):e(R)&&t(Fe,2)}),s(X),N(()=>ye=a(X,1,`smrt-datetime svelte-rsri1g`,null,ye,{listening:e(I),parsing:e(L)})),g(n,X),i()}v([`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`,`keydown`,`change`]),v([`click`,`keydown`,`change`]),v([`click`]),v([`click`,`keydown`]),v([`input`,`change`]);var Oe=c(`<div class="validation-error svelte-e6jjj7" role="alert"> </div>`),$=c(`<div class="validation-error svelte-e6jjj7" role="alert"><!></div>`),ke=c(`<div class="smrt-money svelte-e6jjj7" data-smrt-component="MoneyInput"><!> <div class="input-wrapper svelte-e6jjj7"><input type="text" inputmode="decimal"/> <span class="currency-code svelte-e6jjj7"> </span></div> <input type="hidden"/> <!></div>`);function Ae(n,o){let c=re();ee(o,!0);let{t:d}=ie(),f=x(o,`placeholder`,3,`0.00`),p=x(o,`value`,15,null),m=x(o,`currency`,3,`CAD`),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),C=`${c}-label`,D=ce(),O=le(),A=r(()=>D.state.mode===`smrt`);function j(e){return e===null?``:(e/100).toFixed(2)}function M(e){let t=e.replace(/[$,\s]/g,``);if(t===``)return null;let n=parseFloat(t);return Number.isNaN(n)?null:Math.round(n*100)}let I=S(T(j(p())));ne(()=>{let t=j(p());e(I)!==t&&!e(L)&&F(I,t,!0)});let L=S(!1),R=r(()=>m()===`USD`?`US$`:`CA$`),z=r(()=>p()===null||!(o.min!==void 0&&p()<o.min||o.max!==void 0&&p()>o.max)),B=r(()=>p()!==null&&!e(z)||!!o.error);function V(e){p(e),o.onchange?.(p())}function oe(e){let t=e.toLowerCase().trim(),n={zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90,hundred:100,thousand:1e3,million:1e6},r=/dollar|buck|cad|usd/i.test(t),i=/cent/i.test(t),a=t.replace(/\$|dollar[s]?|buck[s]?|cad|usd|cent[s]?/gi,``).trim(),o=a.match(/[\d,.]+/);if(o){let e=parseFloat(o[0].replace(/,/g,``));if(!Number.isNaN(e))return Math.round(i&&!r?e:e*100)}let s=a.split(/[\s-]+/).filter(Boolean),c=0,l=0,u=0,d=!1;for(let e=0;e<s.length;e++){let t=s[e],r=n[t];t===`and`||t===`point`?(d=!0,c+=u,u=0):r!==void 0&&(r>=100?(u=u===0?r:u*r,r>=1e3&&(d?l+=u:c+=u,u=0)):u+=r)}d?(l+=u,l>99&&(c+=Math.floor(l/100),l%=100)):c+=u;let f=c*100+l;return f>0?f:null}ne(()=>{if(O){let t={name:o.name,type:`money`,get label(){return o.label},get description(){let e=``;return o.min!==void 0&&o.max!==void 0?e=` (between $${(o.min/100).toFixed(2)} and $${(o.max/100).toFixed(2)})`:o.min===void 0?o.max!==void 0&&(e=` (maximum $${(o.max/100).toFixed(2)})`):e=` (minimum $${(o.min/100).toFixed(2)})`,(o.description||`A monetary amount in dollars`)+e},setValue:e=>{if(e==null||e===``){V(null),F(I,``);return}if(typeof e==`number`){V(e),F(I,j(e),!0);return}let t=oe(String(e));t!==null&&(V(t),F(I,j(t),!0))},getValue:()=>p(),prepareValue:e=>e==null||e===``?null:typeof e==`number`?e:typeof e==`string`?oe(e)??de():de(),getState:()=>({disabled:h()}),get constraints(){return{required:v(),min:o.min,max:o.max}},validateValue:e=>e===null&&!v()||typeof e==`number`&&Number.isSafeInteger(e)&&(o.min===void 0||e>=o.min)&&(o.max===void 0||e<=o.max),validate:()=>p()===null?!v():Number.isSafeInteger(p())&&e(z)};return O.registerField(t)}});function se(e){let t=e.target;F(I,t.value,!0),V(M(t.value))}function U(){F(L,!0)}function W(){F(L,!1),F(I,j(p()),!0)}var G=ke(),K=w(G),ue=e=>{ae(e,{get id(){return C},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(K,e=>{o.label&&e(ue)});var fe=E(K,2),q=w(fe);b(q);let J;var pe=E(q,2),me=k(pe,!0);s(fe);var he=E(fe,2);b(he);var ge=E(he,2),_e=e=>{var t=Oe(),n=k(t,!0);N(()=>{P(t,`id`,`${o.name}-error`),l(n,o.error)}),g(e,t)},Y=n=>{var r=$(),i=w(r),a=t=>{var n=u();N(e=>l(n,e),[()=>d(H[`ui.money_input.value_at_least`],{min:`${e(R)}${(o.min/100).toFixed(2)}`})]),g(t,n)},c=t=>{var n=u();N(e=>l(n,e),[()=>d(H[`ui.money_input.value_at_most`],{max:`${e(R)}${(o.max/100).toFixed(2)}`})]),g(t,n)};t(i,e=>{o.min!==void 0&&p()!==null&&p()<o.min?e(a):o.max!==void 0&&p()!==null&&p()>o.max&&e(c,1)}),s(r),N(()=>P(r,`id`,`${o.name}-error`)),g(n,r)};t(ge,t=>{o.error?t(_e):e(B)&&!e(z)&&t(Y,1)}),s(G),N(()=>{P(q,`id`,o.name),P(q,`aria-labelledby`,o.label?C:void 0),P(q,`name`,o.name),P(q,`placeholder`,f()),te(q,e(I)),q.disabled=h(),q.required=v(),J=a(q,1,`smrt-input svelte-e6jjj7`,null,J,{"smrt-mode":e(A),invalid:e(B)}),P(q,`aria-invalid`,e(B)?`true`:void 0),P(q,`aria-describedby`,e(B)?`${o.name}-error`:void 0),l(me,m()),P(he,`name`,`${o.name??``}_cents`),te(he,p()??``)}),_(`input`,q,se),y(`focus`,q,U),y(`blur`,q,W),g(n,G),i()}v([`input`]);var je=c(`<div class="validation-error svelte-1pebtso" role="alert"><!></div>`),Me=c(`<div class="smrt-number svelte-1pebtso" data-smrt-component="NumberInput"><!> <div class="input-wrapper svelte-1pebtso"><input type="number"/></div> <!></div>`);function Ne(n,o){let c=re();ee(o,!0);let{t:d}=ie(),f=x(o,`placeholder`,3,``),p=x(o,`value`,15,null),m=x(o,`step`,3,1),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),y=`${c}-label`,S=ce(),C=le(),T=r(()=>S.state.mode===`smrt`);function D(e){return e===null||!(o.min!==void 0&&e<o.min||o.max!==void 0&&e>o.max)}function O(e){if(!Number.isFinite(m())||m()<=0)return!0;let t=(e-(o.min??0))/m();return Math.abs(t-Math.round(t))<=1e-9}let k=r(()=>D(p())),A=r(()=>p()!==null&&!e(k));function j(e){p(e),o.onchange?.(p())}function M(e){let t=e.toLowerCase().trim(),n={zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90,hundred:100,thousand:1e3,million:1e6},r=parseFloat(t.replace(/[,$]/g,``));if(!Number.isNaN(r))return r;if(n[t]!==void 0)return n[t];let i=t.split(/[\s-]+/),a=0,o=0;for(let e of i){let t=n[e];t!==void 0&&(t>=100?(o=o===0?t:o*t,t>=1e3&&(a+=o,o=0)):o+=t)}return a+=o,a>0?a:null}ne(()=>{if(C){let t={name:o.name,type:`number`,get label(){return o.label},get description(){let e=``;return o.min!==void 0&&o.max!==void 0?e=` (between ${o.min} and ${o.max})`:o.min===void 0?o.max!==void 0&&(e=` (maximum ${o.max})`):e=` (minimum ${o.min})`,(o.description||`A number`)+e},setValue:e=>{if(e==null||e===``){j(null);return}if(typeof e==`number`){j(e);return}let t=M(String(e));t!==null&&j(t)},getValue:()=>p(),prepareValue:e=>e==null||e===``?null:typeof e==`number`?e:typeof e==`string`?M(e)??de():de(),getState:()=>({disabled:h()}),get constraints(){return{required:v(),min:o.min,max:o.max,step:m()}},validateValue:e=>{if(e==null||e===``)return!v();let t=typeof e==`number`?e:M(String(e));return t!==null&&Number.isFinite(t)&&D(t)&&O(t)},validate:()=>p()===null?!v():Number.isFinite(p())&&e(k)};return C.registerField(t)}});function F(e){let t=e.target;j(t.value===``?null:parseFloat(t.value))}var I=Me(),L=w(I),R=e=>{ae(e,{get id(){return y},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(L,e=>{o.label&&e(R)});var z=E(L,2),B=w(z);b(B);let V;s(z);var oe=E(z,2),se=e=>{var n=je(),r=w(n),i=e=>{var t=u();N(e=>l(t,e),[()=>d(H[`ui.number_input.value_at_least`],{min:o.min})]),g(e,t)},a=e=>{var t=u();N(e=>l(t,e),[()=>d(H[`ui.number_input.value_at_most`],{max:o.max})]),g(e,t)};t(r,e=>{o.min!==void 0&&p()!==null&&p()<o.min?e(i):o.max!==void 0&&p()!==null&&p()>o.max&&e(a,1)}),s(n),N(()=>P(n,`id`,`${o.name}-error`)),g(e,n)};t(oe,t=>{e(A)&&t(se)}),s(I),N(()=>{P(B,`id`,o.name),P(B,`aria-labelledby`,o.label?y:void 0),P(B,`name`,o.name),P(B,`placeholder`,f()),te(B,p()??``),P(B,`min`,o.min),P(B,`max`,o.max),P(B,`step`,m()),B.disabled=h(),B.required=v(),V=a(B,1,`smrt-input svelte-1pebtso`,null,V,{"smrt-mode":e(T),invalid:e(A)}),P(B,`aria-invalid`,e(A)?`true`:void 0),P(B,`aria-describedby`,e(A)?`${o.name}-error`:void 0)}),_(`input`,B,F),g(n,I),i()}v([`input`]);var Pe=c(`<button type="button"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1vixtb7"><path d="M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z" class="svelte-1vixtb7"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" class="svelte-1vixtb7"></path><line x1="12" x2="12" y1="19" y2="22" class="svelte-1vixtb7"></line></svg></button>`),Fe=c(`<div class="downloading-indicator svelte-1vixtb7"><span class="processing-spinner svelte-1vixtb7"></span> <span class="svelte-1vixtb7"> </span></div>`),Ie=c(`<div class="listening-indicator svelte-1vixtb7"><span class="listening-dot svelte-1vixtb7"></span> <span class="svelte-1vixtb7">Recording...</span></div>`),Le=c(`<div class="processing-indicator svelte-1vixtb7"><span class="processing-spinner svelte-1vixtb7"></span> <span class="svelte-1vixtb7">Processing...</span></div>`),Re=c(`<div class="error-message svelte-1vixtb7" role="alert"> </div>`),ze=c(`<div class="validation-error svelte-1vixtb7" role="alert"> </div>`),Be=c(`<div data-smrt-component="PhoneInput"><!> <div class="input-wrapper svelte-1vixtb7"><input type="tel"/> <!></div> <!> <!> <!></div>`);function Ve(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`placeholder`,3,`(555) 555-5555`),f=x(o,`value`,15,``),p=x(o,`disabled`,3,!1),m=x(o,`required`,3,!1),h=`${c}-label`,v=ce(),T=be(),D=le(),O=S(null),A=S(!1),j=S(!1),M=S(null),I=0,L=r(()=>v.state.mode===`smrt`),R=r(()=>T.isInitializing),z=r(()=>T.downloadProgress);function V(e){if(typeof e!=`string`)return!1;if(!e)return!m();let t=e.replace(/\D/g,``);return t.length===10||t.length===11&&t[0]===`1`}let oe=r(()=>V(f())),se=r(()=>f()&&!e(oe));function U(e){f(e),o.onchange?.(f())}function W(e){let t=e.replace(/\D/g,``);return t.length===0?``:t.length<=3?`(${t}`:t.length<=6?`(${t.slice(0,3)}) ${t.slice(3)}`:t.length<=10?`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6)}`:t.length===11&&t[0]===`1`?`+1 (${t.slice(1,4)}) ${t.slice(4,7)}-${t.slice(7)}`:`(${t.slice(0,3)}) ${t.slice(3,6)}-${t.slice(6,10)}`}function G(e){let t={zero:`0`,oh:`0`,one:`1`,two:`2`,to:`2`,too:`2`,three:`3`,four:`4`,for:`4`,five:`5`,six:`6`,seven:`7`,eight:`8`,nine:`9`,niner:`9`},n=e.toLowerCase().replace(/^(my phone number is|my number is|phone number|number is|call me at)\s*/i,``).replace(/\b(area code|extension|ext)\b/gi,``).trim();for(let[e,r]of Object.entries(t))n=n.replace(RegExp(`\\b${e}\\b`,`gi`),r);return n=n.replace(/\bdouble\s*(\d)/gi,`$1$1`),n=n.replace(/\btriple\s*(\d)/gi,`$1$1$1`),n.replace(/\D/g,``)}function K(e){return W(G(e))}ne(()=>{if(D){let e={name:o.name,type:`phone`,get label(){return o.label},get description(){return o.description||`Phone number`},setValue:e=>{U(K(String(e??``)))},getValue:()=>f(),prepareValue:e=>{let t=ue(e);if(t===``)return``;let n=G(t);return n.length!==10&&(n.length!==11||n[0]!==`1`)?t:W(n)||de()},getState:()=>({disabled:p()}),get constraints(){return{required:m()}},validateValue:e=>{if(typeof e!=`string`)return!1;if(e===``)return!m();let t=G(e);return t.length===10||t.length===11&&t[0]===`1`},validate:()=>V(f())};return D.registerField(e)}});async function fe(){if(!(!e(L)||p()||e(j))){F(M,null),I=Date.now(),F(A,!0);try{(!T.isReady||T.adapterType!==`whisper-wasm`)&&await T.initialize({type:`whisper-wasm`}),await T.start({continuous:!0,interimResults:!1})}catch(e){F(A,!1),F(M,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`PhoneInput: failed to start voice recording`,{field:o.name,error:e})}}}async function q(){if(!e(A))return;let t=Date.now()-I;if(F(A,!1),await T.stop(),t<500)return;let n=Date.now();for(;T.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=T.lastResult?.trim()||``;if(!r||r.length<2)F(M,`No speech detected. Hold longer and speak clearly.`);else{F(j,!0),F(M,null);try{U(K(r))}catch(e){F(M,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(j,!1)}}}function J(e){e.button===0&&fe()}function pe(){q()}function me(){q()}function he(e){e.preventDefault(),fe()}function ge(){q()}function _e(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(A)?q():fe())}function Y(e){let t=e.target;U(W(t.value))}var ve=Be();let X;var ye=w(ve),xe=e=>{ae(e,{get id(){return h},get for(){return o.name},get label(){return o.label},get required(){return m()}})};t(ye,e=>{o.label&&e(xe)});var Se=E(ye,2),Z=w(Se);b(Z);let Ce;C(Z,e=>F(O,e),()=>e(O));var we=E(Z,2),Q=t=>{var n=Pe();let r;N(t=>{r=a(n,1,`mic-btn svelte-1vixtb7`,null,r,{active:e(A)}),n.disabled=p(),P(n,`aria-label`,t)},[()=>u(H[`ui.phone_input.mic_aria_label`])]),_(`keydown`,n,_e),_(`mousedown`,n,J),_(`mouseup`,n,pe),y(`mouseleave`,n,me),_(`touchstart`,n,he,void 0,!0),_(`touchend`,n,ge),g(t,n)};t(we,t=>{e(L)&&t(Q)}),s(Se);var Te=E(Se,2),Ee=t=>{var n=Fe(),r=E(w(n),2),i=k(r,!0);s(n),N(e=>l(i,e),[()=>u(H[`ui.phone_input.downloading_model`],{progress:e(z)})]),g(t,n)},De=e=>{var t=Ie();g(e,t)},Oe=e=>{var t=Le();g(e,t)};t(Te,t=>{e(R)?t(Ee):e(A)?t(De,1):e(j)&&t(Oe,2)});var $=E(Te,2),ke=t=>{var n=Re(),r=k(n,!0);N(()=>{P(n,`id`,`${o.name}-stt-error`),l(r,e(M))}),g(t,n)};t($,t=>{e(M)&&t(ke)});var Ae=E($,2),je=e=>{var t=ze(),n=k(t,!0);N(e=>{P(t,`id`,`${o.name}-error`),l(n,e)},[()=>u(H[`ui.phone_input.invalid`])]),g(e,t)};t(Ae,t=>{e(se)&&t(je)}),s(ve),N(()=>{X=a(ve,1,`smrt-phone svelte-1vixtb7`,null,X,{listening:e(A)}),P(Z,`id`,o.name),P(Z,`aria-labelledby`,o.label?h:void 0),P(Z,`name`,o.name),P(Z,`placeholder`,d()),te(Z,f()),Z.disabled=p()||e(j),Z.required=m(),Ce=a(Z,1,`smrt-input svelte-1vixtb7`,null,Ce,{"smrt-mode":e(L),invalid:e(se),processing:e(j)}),P(Z,`aria-invalid`,e(se)?`true`:void 0),P(Z,`aria-describedby`,e(se)?`${o.name}-error`:e(M)?`${o.name}-stt-error`:void 0)}),_(`input`,Z,Y),_(`mousedown`,Z,function(...t){(e(L)?J:void 0)?.apply(this,t)}),_(`mouseup`,Z,function(...t){(e(L)?pe:void 0)?.apply(this,t)}),y(`mouseleave`,Z,function(...t){(e(L)?me:void 0)?.apply(this,t)}),_(`touchstart`,Z,function(...t){(e(L)?he:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,Z,function(...t){(e(L)?ge:void 0)?.apply(this,t)}),g(n,ve),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`keydown`]),v([`input`,`keydown`,`click`]);var He=c(`<option disabled=""> </option>`),Ue=c(`<option> </option>`),We=c(`<span class="info svelte-17ub3c7"> </span>`),Ge=c(`<div data-smrt-component="SelectInput"><!> <div class="container svelte-17ub3c7"><div class="content svelte-17ub3c7"><select class="input svelte-17ub3c7"><!><!></select></div> <div class="trailing-icon svelte-17ub3c7"><!></div> <div class="active-indicator svelte-17ub3c7"></div></div> <div class="supporting-text svelte-17ub3c7" aria-live="polite"><!></div></div>`);function Ke(o,c){let u=re();ee(c,!0);let d=x(c,`placeholder`,3,`Select an option...`),h=x(c,`value`,15,``),v=x(c,`disabled`,3,!1),b=x(c,`required`,3,!1),te=`${u}-label`,C=ce(),T=le(),D=S(!1),O=r(()=>c.options.some(e=>e.value===``)),A=r(()=>c.options.filter((e,t)=>c.options.findIndex(t=>t.value===e.value)===t)),j=r(()=>C.state.mode===`smrt`);function M(e){h(e),c.onchange?.(h())}ne(()=>{if(T){let e={name:c.name,type:`select`,get label(){return c.label},get description(){let e=c.options.map(e=>e.label).join(`, `);return c.description?`${c.description}. Options: ${e}`:`Options: ${e}`},setValue:e=>{let t=String(e??``),n=ye(t,c.options);n?M(n):c.options.some(e=>e.value===t)&&M(t)},getValue:()=>h(),prepareValue:e=>{let t=ue(e);return t.trim()===``?t:ye(t,c.options)??t},clear:()=>(M(``),!0),getState:()=>({disabled:v()}),get constraints(){return{required:b()}},get options(){return c.options.map(e=>({value:e.value,label:e.label}))},validateValue:e=>{let t=String(e??``);return t===``?!b():c.options.some(e=>e.value===t)},validate:()=>!b()||h().trim().length>0};return T.registerField(e)}});function L(e){let t=e.target;M(t.value)}var R=Ge();let z;var ie=w(R),B=e=>{ae(e,{get id(){return te},get for(){return c.name},get label(){return c.label},get required(){return b()}})};t(ie,e=>{c.label&&e(B)});var V=E(ie,2),oe=w(V),H=w(oe),U=w(H),W=e=>{var t=He(),n=k(t,!0);t.value=t.__value=``,N(()=>{I(t,!h()),l(n,d())}),g(e,t)};t(U,t=>{e(O)||t(W)});var G=E(U);f(G,17,()=>e(A),e=>e.value,(t,n)=>{var r=Ue(),i=k(r,!0),a={};N(()=>{l(i,e(n).label),a!==(a=e(n).value)&&(r.value=(r.__value=a)??``)}),g(t,r)}),s(H);var K;m(H),s(oe);var de=E(oe,2),fe=w(de);se(fe,{name:`chevron-down`,size:24}),s(de),p(2),s(V);var q=E(V,2),J=w(q),pe=e=>{var t=We(),n=k(t,!0);N(()=>l(n,c.description)),g(e,t)};t(J,t=>{c.description&&e(D)&&t(pe)}),s(q),s(R),N(()=>{z=a(R,1,`smrt-select-field svelte-17ub3c7`,null,z,{"smrt-mode":e(j),focused:e(D),disabled:v(),"has-value":!!h()}),P(H,`id`,c.name),P(H,`aria-labelledby`,c.label?te:void 0),P(H,`name`,c.name),H.disabled=v(),H.required=b(),P(H,`aria-describedby`,`${c.name}-supporting`),K!==(K=h())&&(H.value=(H.__value=K)??``,n(H,K)),P(q,`id`,`${c.name}-supporting`)}),_(`change`,H,L),y(`focus`,H,()=>F(D,!0)),y(`blur`,H,()=>F(D,!1)),g(o,R),i()}v([`change`]);var qe=c(`<button type="button"><!></button>`),Je=c(`<span class="info svelte-1wen309"> </span>`),Ye=c(`<span class="success svelte-1wen309">Recording...</span>`),Xe=c(`<span class="info svelte-1wen309">Processing...</span>`),Ze=c(`<span class="error svelte-1wen309"> </span>`),Qe=c(`<div data-smrt-component="TextareaInput"><!> <div class="container svelte-1wen309"><div class="content svelte-1wen309"><textarea class="input svelte-1wen309"></textarea></div> <!> <div class="active-indicator svelte-1wen309"></div></div> <div class="supporting-text svelte-1wen309" aria-live="polite"><!></div></div>`);function $e(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`placeholder`,3,``),f=x(o,`value`,15,``),m=x(o,`rows`,3,4),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),b=x(o,`appendMode`,3,!1),T=`${c}-label`,O=ce(),A=be(),j=le(),M=S(null),I=S(!1),z=S(!1),V=S(!1),oe=``,U=S(null),W=0,G=r(()=>O.state.mode===`smrt`),K=r(()=>A.isInitializing),de=r(()=>A.downloadProgress);function fe(e){f(e),o.onchange?.(f())}ne(()=>{if(j){let e={name:o.name,type:`textarea`,get label(){return o.label},get description(){return o.description},setValue:e=>{fe(String(e??``))},getValue:()=>f(),prepareValue:e=>{let t=ue(e);return b()&&f()?`${f()}\n${t}`:t},prepareReviewedValue:ue,getState:()=>({disabled:h()}),get constraints(){return{required:v()}},validateValue:e=>!v()||String(e??``).trim().length>0,validate:()=>!v()||f().trim().length>0};return j.registerField(e)}});async function q(){if(!(!e(G)||h()||e(z))){oe=f(),F(U,null),W=Date.now(),F(I,!0);try{(!A.isReady||A.adapterType!==`whisper-wasm`)&&await A.initialize({type:`whisper-wasm`}),await A.start({continuous:!0,interimResults:!1})}catch(e){F(I,!1),F(U,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`TextareaInput: failed to start voice recording`,{field:o.name,error:e})}}}async function J(){if(!e(I))return;let t=Date.now()-W;if(F(I,!1),await A.stop(),t<500)return;let n=Date.now();for(;A.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=A.lastResult?.trim()||``;if(!r||r.length<2)F(U,`No speech detected. Hold longer and speak clearly.`);else{F(z,!0),F(U,null);try{let e=X(r);b()&&oe?fe(`${oe}\n${e}`):fe(e)}catch(e){F(U,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(z,!1)}}}function pe(e){e.button===0&&q()}function me(){J()}function he(){J()}function ge(e){e.preventDefault(),q()}function _e(){J()}function Y(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(I)?J():q())}function ve(e){let t=e.target;fe(t.value)}var ye=Qe();let xe;var Se=w(ye),Z=e=>{ae(e,{get id(){return T},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(Se,e=>{o.label&&e(Z)});var Ce=E(Se,2),we=w(Ce),Q=w(we);L(Q),C(Q,e=>F(M,e),()=>e(M)),s(we);var Te=E(we,2),Ee=t=>{var n=qe();let r;var i=w(n);se(i,{name:`mic`,size:20}),s(n),D(n,e=>R?.(e)),N(t=>{r=a(n,1,`mic-btn svelte-1wen309`,null,r,{active:e(I)}),n.disabled=h(),P(n,`aria-label`,t)},[()=>u(H[`ui.textarea_input.mic_aria_label`])]),_(`keydown`,n,Y),_(`mousedown`,n,e=>{e.stopPropagation(),e.button===0&&q()}),_(`mouseup`,n,me),y(`mouseleave`,n,he),_(`touchstart`,n,e=>{e.stopPropagation(),e.preventDefault(),q()},void 0,!0),_(`touchend`,n,_e),g(t,n)};t(Te,t=>{e(G)&&t(Ee)}),p(2),s(Ce);var De=E(Ce,2),Oe=w(De),$=t=>{var n=Je(),r=k(n,!0);N(e=>l(r,e),[()=>u(H[`ui.textarea_input.downloading_model`],{progress:e(de)})]),g(t,n)},ke=e=>{var t=Ye();g(e,t)},Ae=e=>{var t=Xe();g(e,t)},je=t=>{var n=Ze(),r=k(n,!0);N(()=>l(r,e(U))),g(t,n)},Me=e=>{var t=Je(),n=k(t,!0);N(()=>l(n,o.description)),g(e,t)};t(Oe,t=>{e(K)?t($):e(I)?t(ke,1):e(z)?t(Ae,2):e(U)?t(je,3):o.description&&e(V)&&t(Me,4)}),s(De),s(ye),N(()=>{xe=a(ye,1,`smrt-text-field multiline svelte-1wen309`,null,xe,{"smrt-mode":e(G),focused:e(V),disabled:h(),"has-value":!!f(),listening:e(I)}),P(Q,`id`,o.name),P(Q,`aria-labelledby`,o.label?T:void 0),P(Q,`name`,o.name),P(Q,`placeholder`,e(V)?d():``),te(Q,f()),P(Q,`rows`,m()),Q.disabled=h()||e(z),Q.required=v(),P(Q,`aria-invalid`,e(U)?`true`:void 0),P(Q,`aria-describedby`,`${o.name}-supporting`),P(De,`id`,`${o.name}-supporting`)}),_(`input`,Q,ve),y(`focus`,Q,()=>F(V,!0)),y(`blur`,Q,()=>F(V,!1)),_(`mousedown`,Q,function(...t){(e(G)?pe:void 0)?.apply(this,t)}),_(`mouseup`,Q,function(...t){(e(G)?me:void 0)?.apply(this,t)}),y(`mouseleave`,Q,function(...t){(e(G)?he:void 0)?.apply(this,t)}),_(`touchstart`,Q,function(...t){(e(G)?ge:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,Q,function(...t){(e(G)?_e:void 0)?.apply(this,t)}),g(n,ye),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`keydown`]);var et=c(`<button type="button"><!></button>`),tt=c(`<span class="info svelte-q632gy"> </span>`),nt=c(`<span class="success svelte-q632gy">Recording...</span>`),rt=c(`<span class="info svelte-q632gy">Processing...</span>`),it=c(`<span class="error svelte-q632gy"> </span>`),at=c(`<div data-smrt-component="TextInput"><!> <div class="container svelte-q632gy"><div class="content svelte-q632gy"><input class="input svelte-q632gy"/></div> <!> <div class="active-indicator svelte-q632gy"></div></div> <div class="supporting-text svelte-q632gy" aria-live="polite"><!></div></div>`);function ot(n,o){let c=re();ee(o,!0);let{t:u}=ie(),d=x(o,`type`,3,`text`),f=x(o,`placeholder`,3,``),m=x(o,`value`,15,``),h=x(o,`disabled`,3,!1),v=x(o,`required`,3,!1),T=x(o,`appendMode`,3,!1),O=`${c}-label`,A=ce(),j=be(),M=le(),I=S(null),L=S(!1),z=S(!1),V=S(!1),oe=``,U=S(null),W=0,G=r(()=>A.state.mode===`smrt`),K=r(()=>j.isInitializing),de=r(()=>j.downloadProgress);function fe(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}let q=r(()=>d()!==`email`||!m()||fe(m())),J=r(()=>d()===`email`&&m()&&!e(q));function pe(e){m(e),o.onchange?.(m())}ne(()=>{if(M){let t={name:o.name,get type(){return d()===`email`?`email`:`text`},get label(){return o.label},get description(){return o.description},setValue:e=>{pe(String(e??``))},getValue:()=>m(),prepareValue:ue,getState:()=>({disabled:h()}),get constraints(){return{required:v()}},validateValue:e=>{let t=String(e??``);return(!v()||t.trim().length>0)&&(d()!==`email`||t.length===0||fe(t))},validate:()=>(!v()||m().trim().length>0)&&(d()!==`email`||m().length===0||e(q))};return M.registerField(t)}});async function me(){if(!(!e(G)||h()||e(z))){oe=m(),F(U,null),W=Date.now(),F(L,!0);try{(!j.isReady||j.adapterType!==`whisper-wasm`)&&await j.initialize({type:`whisper-wasm`}),await j.start({continuous:!0,interimResults:!1})}catch(e){F(L,!1),F(U,e instanceof Error?e.message:`Could not start voice input`,!0),B.error(`TextInput: failed to start voice recording`,{field:o.name,error:e})}}}async function he(){if(!e(L))return;let t=Date.now()-W;if(F(L,!1),await j.stop(),t<500)return;let n=Date.now();for(;j.isListening&&Date.now()-n<3e3;)await new Promise(e=>setTimeout(e,100));await new Promise(e=>setTimeout(e,100));let r=j.lastResult?.trim()||``;if(!r||r.length<2)F(U,`No speech detected. Hold longer and speak clearly.`);else{F(z,!0),F(U,null);try{let e=d()===`email`?ve(r):X(r);T()&&oe?pe(`${oe} ${e}`):pe(e)}catch(e){F(U,e instanceof Error?e.message:`Failed to process speech`,!0)}finally{F(z,!1)}}}function ge(e){e.button===0&&me()}function _e(){he()}function Y(){he()}function ye(e){e.preventDefault(),me()}function xe(){he()}function Se(e){e.preventDefault(),e.stopPropagation()}function Z(t){(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e(L)?he():me())}function Ce(e){let t=e.target;pe(t.value)}var we=at();let Q;var Te=w(we),Ee=e=>{ae(e,{get id(){return O},get for(){return o.name},get label(){return o.label},get required(){return v()}})};t(Te,e=>{o.label&&e(Ee)});var De=E(Te,2),Oe=w(De),$=w(Oe);b($),C($,e=>F(I,e),()=>e(I)),s(Oe);var ke=E(Oe,2),Ae=t=>{var n=et();let r;var i=w(n);se(i,{name:`mic`,size:20}),s(n),D(n,e=>R?.(e)),N(t=>{r=a(n,1,`mic-btn svelte-q632gy`,null,r,{active:e(L)}),n.disabled=h(),P(n,`aria-label`,t)},[()=>u(H[`ui.text_input.mic_aria_label`])]),_(`click`,n,Se),_(`keydown`,n,Z),_(`mousedown`,n,e=>{e.stopPropagation(),e.button===0&&me()}),_(`mouseup`,n,_e),y(`mouseleave`,n,Y),_(`touchstart`,n,e=>{e.stopPropagation(),e.preventDefault(),me()},void 0,!0),_(`touchend`,n,xe),g(t,n)};t(ke,t=>{e(G)&&t(Ae)}),p(2),s(De);var je=E(De,2),Me=w(je),Ne=t=>{var n=tt(),r=k(n,!0);N(e=>l(r,e),[()=>u(H[`ui.text_input.downloading_model`],{progress:e(de)})]),g(t,n)},Pe=e=>{var t=nt();g(e,t)},Fe=e=>{var t=rt();g(e,t)},Ie=t=>{var n=it(),r=k(n,!0);N(()=>l(r,e(U))),g(t,n)},Le=e=>{var t=it(),n=k(t,!0);N(e=>l(n,e),[()=>u(H[`ui.text_input.invalid_email`])]),g(e,t)},Re=e=>{var t=tt(),n=k(t,!0);N(()=>l(n,o.description)),g(e,t)};t(Me,t=>{e(K)?t(Ne):e(L)?t(Pe,1):e(z)?t(Fe,2):e(U)?t(Ie,3):e(J)?t(Le,4):o.description&&e(V)&&t(Re,5)}),s(je),s(we),N(()=>{Q=a(we,1,`smrt-text-field svelte-q632gy`,null,Q,{"smrt-mode":e(G),focused:e(V),invalid:e(J),disabled:h(),"has-value":!!m(),listening:e(L)}),P($,`id`,o.name),P($,`aria-labelledby`,o.label?O:void 0),P($,`name`,o.name),P($,`type`,d()),P($,`placeholder`,e(V)?f():``),te($,m()),$.disabled=h()||e(z),$.required=v(),P($,`aria-invalid`,e(J)?`true`:void 0),P($,`aria-describedby`,`${o.name}-supporting`),P(je,`id`,`${o.name}-supporting`)}),_(`input`,$,Ce),y(`focus`,$,()=>F(V,!0)),y(`blur`,$,()=>F(V,!1)),_(`mousedown`,$,function(...t){(e(G)?ge:void 0)?.apply(this,t)}),_(`mouseup`,$,function(...t){(e(G)?_e:void 0)?.apply(this,t)}),y(`mouseleave`,$,function(...t){(e(G)?Y:void 0)?.apply(this,t)}),_(`touchstart`,$,function(...t){(e(G)?ye:void 0)?.apply(this,t)},void 0,!0),_(`touchend`,$,function(...t){(e(G)?xe:void 0)?.apply(this,t)}),g(n,we),i()}v([`input`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`,`keydown`]);function st(e){return typeof e!=`number`||!Number.isFinite(e)?null:Number((e*100).toFixed(4))}function ct(e){return e===null||!Number.isFinite(e)?null:Number((e/100).toFixed(6))}export{Ke as a,Ae as c,$e as i,De as l,ct as n,Ve as o,ot as r,Ne as s,st as t,Y as u};
|