@happyvertical/smrt-planner 0.57.17 → 0.57.19
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/README.md +25 -0
- package/agents/commands.md +3 -0
- package/agents/cookbook.md +4 -1
- package/app/404.html +21 -21
- package/app/_app/immutable/assets/0.BwSv64V0.css +1 -0
- package/app/_app/immutable/assets/{2.D3Ee82Nk.css → 2.BSQtjEJf.css} +1 -1
- package/app/_app/immutable/chunks/{DiDXEaeE.js → 0GttNSaG.js} +2 -2
- package/app/_app/immutable/chunks/{BEfnNZ_r.js → 1Uq1awDD.js} +1 -1
- package/app/_app/immutable/chunks/{BF1b-PyI.js → 3nInxoCv.js} +1 -1
- package/app/_app/immutable/chunks/B2aomX_k.js +1 -0
- package/app/_app/immutable/chunks/{eI3Mmq4z.js → B3xHH6q-.js} +1 -1
- package/app/_app/immutable/chunks/{xfjCb9hA.js → B58ycq6u.js} +1 -1
- package/app/_app/immutable/chunks/{DtyQVtuI.js → B81CeftJ.js} +21 -21
- package/app/_app/immutable/chunks/BBYjYdwL.js +1 -0
- package/app/_app/immutable/chunks/{CMr90D2v.js → BL-j01wI.js} +1 -1
- package/app/_app/immutable/chunks/{BEQ1toJ7.js → BQbkHzk8.js} +1 -1
- package/app/_app/immutable/chunks/{DkYxX008.js → BgDByODt.js} +1 -1
- package/app/_app/immutable/chunks/BoTniyTY.js +1 -0
- package/app/_app/immutable/chunks/{BXYF4p6C.js → CF-iy4N9.js} +1 -1
- package/app/_app/immutable/chunks/{jGR6M6GD.js → CGILVblc.js} +1 -1
- package/app/_app/immutable/chunks/{BPtTI21R.js → CSvhNT33.js} +1 -1
- package/app/_app/immutable/chunks/{cGI232sj.js → CTz6b8sX.js} +1 -1
- package/app/_app/immutable/chunks/{Dbk0PTBM.js → Cn8IkTI5.js} +1 -1
- package/app/_app/immutable/chunks/{CWmRZDhs.js → Cne67d4c.js} +1 -1
- package/app/_app/immutable/chunks/{BkEeNbLN.js → Cptq9dTD.js} +1 -1
- package/app/_app/immutable/chunks/{H-AOqvBm.js → Cv3FXeyB.js} +2 -2
- package/app/_app/immutable/chunks/D95Ltrhv.js +1 -0
- package/app/_app/immutable/chunks/{Dij7Mzy3.js → DBfU27Yr.js} +1 -1
- package/app/_app/immutable/chunks/{LqlI_3J_.js → DV8QsFnv.js} +3 -3
- package/app/_app/immutable/chunks/{47rG5f1n.js → D_tBQk4S.js} +1 -1
- package/app/_app/immutable/chunks/{JHAQM1Si.js → DbPr-Y_R.js} +1 -1
- package/app/_app/immutable/chunks/DjWoxxBo.js +1 -0
- package/app/_app/immutable/chunks/{DdiQBZrC.js → DmWCr2ul.js} +1 -1
- package/app/_app/immutable/chunks/{BRb3XNWx.js → G8JeRda5.js} +1 -1
- package/app/_app/immutable/chunks/{Cp6EyiHL.js → K9O-e-XY.js} +1 -1
- package/app/_app/immutable/chunks/{CHp1-Djt.js → OH7CqE-U.js} +1 -1
- package/app/_app/immutable/chunks/{Bs5WxZDd.js → Qxx7HWld.js} +1 -1
- package/app/_app/immutable/chunks/{ca0lfv12.js → glUGUrBl.js} +1 -1
- package/app/_app/immutable/entry/{app.DBMyUqvv.js → app.CtiuMMEF.js} +2 -2
- package/app/_app/immutable/entry/start.DZqoRv5o.js +1 -0
- package/app/_app/immutable/nodes/0.CoxJIO4G.js +7 -0
- package/app/_app/immutable/nodes/{1.D-mIIzUL.js → 1.BvqpKwaf.js} +1 -1
- package/app/_app/immutable/nodes/{10.BFt6ON7M.js → 10.CEltwRBa.js} +1 -1
- package/app/_app/immutable/nodes/{11.Cxs1R6fC.js → 11.DJ3womq-.js} +1 -1
- package/app/_app/immutable/nodes/{12.BCudMLPz.js → 12.1DKCRq9W.js} +1 -1
- package/app/_app/immutable/nodes/{13.DAt_b1gK.js → 13.Bm9LIH2r.js} +1 -1
- package/app/_app/immutable/nodes/{14.CQQuhb60.js → 14.B0zmE2Ph.js} +1 -1
- package/app/_app/immutable/nodes/2.BlDb4AmE.js +26 -0
- package/app/_app/immutable/nodes/{3.BNTsN4bw.js → 3.ct99VOlW.js} +1 -1
- package/app/_app/immutable/nodes/{4.eKv786mR.js → 4.C-cw-lFZ.js} +1 -1
- package/app/_app/immutable/nodes/{5.k0okSbWb.js → 5.DY71Ssxa.js} +1 -1
- package/app/_app/immutable/nodes/{6.RSsmFdBk.js → 6.Dy6iU6zE.js} +1 -1
- package/app/_app/immutable/nodes/{7.BZAahN28.js → 7.69phJC5H.js} +1 -1
- package/app/_app/immutable/nodes/{8.B9PW4VE1.js → 8.CjTHnpj3.js} +1 -1
- package/app/_app/immutable/nodes/{9.DYbPqDvx.js → 9.uRTCr8p2.js} +1 -1
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +25 -25
- package/app/ai/index.html +28 -28
- package/app/blueprint/index.html +23 -23
- package/app/cookbook/index.html +23 -23
- package/app/index.html +40 -36
- package/app/m/ads/AdDeliveryTier/index.html +27 -27
- package/app/m/ads/AdEvent/index.html +27 -27
- package/app/m/ads/AdFormat/index.html +27 -27
- package/app/m/ads/AdGroup/index.html +27 -27
- package/app/m/ads/AdVariation/index.html +27 -27
- package/app/m/analytics/AnalyticsDataStream/index.html +27 -27
- package/app/m/analytics/AnalyticsEvent/index.html +27 -27
- package/app/m/analytics/AnalyticsProperty/index.html +27 -27
- package/app/m/analytics/AnalyticsReport/index.html +27 -27
- package/app/m/approvals/ApprovalEvent/index.html +27 -27
- package/app/m/approvals/ApprovalPolicy/index.html +27 -27
- package/app/m/approvals/ApprovalRequest/index.html +27 -27
- package/app/m/assets/Asset/attachments/index.html +28 -28
- package/app/m/assets/Asset/index.html +27 -27
- package/app/m/assets/AssetAssociation/index.html +27 -27
- package/app/m/assets/AssetMetafield/index.html +27 -27
- package/app/m/assets/AssetStatus/index.html +27 -27
- package/app/m/assets/AssetType/index.html +27 -27
- package/app/m/assets/Folder/index.html +27 -27
- package/app/m/chat/AgentSession/index.html +27 -27
- package/app/m/chat/ChatMessage/index.html +27 -27
- package/app/m/chat/ChatParticipant/index.html +27 -27
- package/app/m/chat/ChatReaction/index.html +27 -27
- package/app/m/chat/ChatRoom/index.html +27 -27
- package/app/m/chat/ChatThread/index.html +27 -27
- package/app/m/chat/VoiceGatewayTurn/index.html +27 -27
- package/app/m/chat/VoiceSession/index.html +27 -27
- package/app/m/commerce/Agreement/index.html +27 -27
- package/app/m/commerce/Cart/index.html +27 -27
- package/app/m/commerce/Contract/index.html +27 -27
- package/app/m/commerce/ContractLineItem/index.html +27 -27
- package/app/m/commerce/Customer/index.html +27 -27
- package/app/m/commerce/DocumentTax/index.html +27 -27
- package/app/m/commerce/Estimate/index.html +27 -27
- package/app/m/commerce/Fulfillment/index.html +27 -27
- package/app/m/commerce/FulfillmentLineItem/index.html +27 -27
- package/app/m/commerce/HistoricalCustomerFunds/index.html +27 -27
- package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +27 -27
- package/app/m/commerce/HistoricalSalesLine/index.html +27 -27
- package/app/m/commerce/Invoice/index.html +27 -27
- package/app/m/commerce/InvoiceLineItem/index.html +27 -27
- package/app/m/commerce/Lease/index.html +27 -27
- package/app/m/commerce/LicenseSale/index.html +27 -27
- package/app/m/commerce/Order/index.html +27 -27
- package/app/m/commerce/Payment/index.html +27 -27
- package/app/m/commerce/PaymentAllocation/index.html +27 -27
- package/app/m/commerce/PaymentInstrument/index.html +27 -27
- package/app/m/commerce/PaymentIntent/index.html +27 -27
- package/app/m/commerce/Payout/index.html +27 -27
- package/app/m/commerce/ProductionOrder/index.html +27 -27
- package/app/m/commerce/PurchaseContract/index.html +27 -27
- package/app/m/commerce/PurchaseOrder/index.html +27 -27
- package/app/m/commerce/SalesContract/index.html +27 -27
- package/app/m/commerce/SupplierQuote/index.html +27 -27
- package/app/m/commerce/TaxCode/index.html +27 -27
- package/app/m/commerce/TaxComponent/index.html +27 -27
- package/app/m/commerce/TaxSettings/index.html +27 -27
- package/app/m/commerce/TaxSummaryReport/index.html +27 -27
- package/app/m/commerce/TenantPaymentAccount/index.html +27 -27
- package/app/m/commerce/Vendor/index.html +27 -27
- package/app/m/commerce/WholesaleOrder/index.html +27 -27
- package/app/m/content/Content/index.html +27 -27
- package/app/m/content/ContentContribution/index.html +27 -27
- package/app/m/content/ContentContributionAttachment/index.html +27 -27
- package/app/m/content/ContentContributionRevision/index.html +27 -27
- package/app/m/content/ContentContributionType/index.html +27 -27
- package/app/m/content/ContentContributor/index.html +27 -27
- package/app/m/content/ContentCorrection/index.html +27 -27
- package/app/m/content/ContentFeedSource/index.html +27 -27
- package/app/m/content/ContentGovernanceAssignment/index.html +27 -27
- package/app/m/content/ContentGovernancePolicy/index.html +27 -27
- package/app/m/content/ContentGovernanceProfile/index.html +27 -27
- package/app/m/content/ContentReference/index.html +27 -27
- package/app/m/content/ContentReview/index.html +27 -27
- package/app/m/content/ContentVersion/index.html +27 -27
- package/app/m/events/Event/index.html +27 -27
- package/app/m/events/EventParticipant/index.html +27 -27
- package/app/m/events/EventSeries/index.html +27 -27
- package/app/m/events/EventType/index.html +27 -27
- package/app/m/expenses/Expense/index.html +27 -27
- package/app/m/facts/Fact/index.html +27 -27
- package/app/m/facts/FactContent/index.html +27 -27
- package/app/m/facts/FactEvidence/index.html +27 -27
- package/app/m/facts/FactSource/index.html +27 -27
- package/app/m/facts/FactSubject/index.html +27 -27
- package/app/m/facts/FactTag/index.html +27 -27
- package/app/m/fields/FieldPolicy/index.html +27 -27
- package/app/m/fields/FieldPolicySuggestion/index.html +27 -27
- package/app/m/fields/FieldUsageCounter/index.html +27 -27
- package/app/m/images/Image/index.html +27 -27
- package/app/m/inventory/InventoryLocation/index.html +27 -27
- package/app/m/inventory/Lot/index.html +88 -0
- package/app/m/inventory/LotCorrection/index.html +88 -0
- package/app/m/inventory/LotDocument/index.html +88 -0
- package/app/m/inventory/LotStockLevel/index.html +88 -0
- package/app/m/inventory/LotUsage/index.html +88 -0
- package/app/m/inventory/StockLevel/index.html +27 -27
- package/app/m/inventory/StockMovement/index.html +27 -27
- package/app/m/ledgers/Account/index.html +27 -27
- package/app/m/ledgers/Journal/index.html +27 -27
- package/app/m/ledgers/JournalEntry/index.html +27 -27
- package/app/m/ledgers/Ledger/index.html +27 -27
- package/app/m/manufacturing/Assembly/index.html +27 -27
- package/app/m/manufacturing/BillOfMaterials/index.html +27 -27
- package/app/m/manufacturing/BomLine/index.html +27 -27
- package/app/m/manufacturing/Operation/index.html +27 -27
- package/app/m/manufacturing/ProductionRun/index.html +27 -27
- package/app/m/manufacturing/ProductionRunCompletion/index.html +27 -27
- package/app/m/manufacturing/RoutingStep/index.html +27 -27
- package/app/m/marketing/Campaign/index.html +27 -27
- package/app/m/marketing/CampaignChannel/index.html +27 -27
- package/app/m/marketing/CampaignMetricSnapshot/index.html +27 -27
- package/app/m/messages/Account/index.html +27 -27
- package/app/m/messages/Attachment/index.html +27 -27
- package/app/m/messages/Blacklist/index.html +27 -27
- package/app/m/messages/Email/failed-sends/index.html +28 -28
- package/app/m/messages/Email/index.html +27 -27
- package/app/m/messages/Email/mailbox/index.html +28 -28
- package/app/m/messages/EmailAccount/index.html +27 -27
- package/app/m/messages/EmailAttachment/index.html +27 -27
- package/app/m/messages/EmailFolder/index.html +27 -27
- package/app/m/messages/Message/index.html +27 -27
- package/app/m/messages/MessagingEndpoint/index.html +27 -27
- package/app/m/messages/PersonaMessageRoute/index.html +27 -27
- package/app/m/messages/SlackAccount/index.html +27 -27
- package/app/m/messages/SlackMessage/index.html +27 -27
- package/app/m/messages/TelegramAccount/index.html +27 -27
- package/app/m/messages/Tweet/index.html +27 -27
- package/app/m/messages/TwitterAccount/index.html +27 -27
- package/app/m/messages/Whitelist/index.html +27 -27
- package/app/m/messages/ZulipAccount/index.html +27 -27
- package/app/m/places/Place/index.html +27 -27
- package/app/m/places/PlaceType/index.html +27 -27
- package/app/m/products/Category/index.html +27 -27
- package/app/m/products/Material/index.html +27 -27
- package/app/m/products/Product/index.html +27 -27
- package/app/m/products/Product/ingredients/index.html +28 -28
- package/app/m/products/ProductVariant/index.html +27 -27
- package/app/m/products/Sku/index.html +27 -27
- package/app/m/profiles/ApiKey/index.html +27 -27
- package/app/m/profiles/Bot/index.html +27 -27
- package/app/m/profiles/MagicLinkToken/index.html +27 -27
- package/app/m/profiles/NostrIdentity/index.html +27 -27
- package/app/m/profiles/OidcIdentity/index.html +27 -27
- package/app/m/profiles/Organization/index.html +27 -27
- package/app/m/profiles/Person/index.html +27 -27
- package/app/m/profiles/Profile/index.html +27 -27
- package/app/m/profiles/ProfileMetadata/index.html +27 -27
- package/app/m/profiles/ProfileMetafield/index.html +27 -27
- package/app/m/profiles/ProfileRelationship/index.html +27 -27
- package/app/m/profiles/ProfileRelationshipTerm/index.html +27 -27
- package/app/m/profiles/ProfileRelationshipType/index.html +27 -27
- package/app/m/profiles/ProfileType/index.html +27 -27
- package/app/m/projects/Comment/index.html +27 -27
- package/app/m/projects/Issue/index.html +27 -27
- package/app/m/projects/Label/index.html +27 -27
- package/app/m/projects/Project/index.html +27 -27
- package/app/m/projects/ProjectIntegration/index.html +27 -27
- package/app/m/projects/PullRequest/index.html +27 -27
- package/app/m/projects/Repository/index.html +27 -27
- package/app/m/properties/Property/index.html +27 -27
- package/app/m/properties/Zone/index.html +27 -27
- package/app/m/reports/RuntimeReport/index.html +27 -27
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +27 -27
- package/app/m/reports/SmrtReportLock/index.html +27 -27
- package/app/m/reports/SmrtReportRefreshTask/index.html +27 -27
- package/app/m/reports/SmrtReportRun/index.html +27 -27
- package/app/m/reports/SmrtReportSchedule/index.html +27 -27
- package/app/m/reports/SmrtReportWatermark/index.html +27 -27
- package/app/m/sales/Agreement/index.html +27 -27
- package/app/m/sales/AttributionException/index.html +27 -27
- package/app/m/sales/AttributionPolicy/index.html +27 -27
- package/app/m/sales/Commission/index.html +27 -27
- package/app/m/sales/CommissionAdjustment/index.html +27 -27
- package/app/m/sales/CommissionPayout/index.html +27 -27
- package/app/m/sales/CommissionPlan/index.html +27 -27
- package/app/m/sales/Earner/index.html +27 -27
- package/app/m/sales/EarnerSourceAttribution/index.html +27 -27
- package/app/m/sales/EarningEvent/index.html +27 -27
- package/app/m/sales/ExecutedAgreement/index.html +27 -27
- package/app/m/sales/Lead/index.html +27 -27
- package/app/m/sales/Opportunity/index.html +27 -27
- package/app/m/sales/OpportunityConversion/index.html +27 -27
- package/app/m/sales/PipelineDefinition/index.html +27 -27
- package/app/m/sales/PipelineStage/index.html +27 -27
- package/app/m/sales/Referral/index.html +27 -27
- package/app/m/sales/ReferralAgreement/index.html +27 -27
- package/app/m/sales/ReferralLink/index.html +27 -27
- package/app/m/sales/ReferralProgram/index.html +27 -27
- package/app/m/sales/ReferralTermSnapshot/index.html +27 -27
- package/app/m/sales/ReferralTouch/index.html +27 -27
- package/app/m/sales/Referrer/index.html +27 -27
- package/app/m/sales/SalesActivity/index.html +27 -27
- package/app/m/sales/SalesRepresentative/index.html +27 -27
- package/app/m/sites/Site/index.html +27 -27
- package/app/m/sites/SiteAgentBinding/index.html +27 -27
- package/app/m/social/OAuthState/index.html +27 -27
- package/app/m/social/SocialAccount/index.html +27 -27
- package/app/m/social/SocialPost/index.html +27 -27
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +27 -27
- package/app/m/subscriptions/BillingAdjustment/index.html +27 -27
- package/app/m/subscriptions/ClientCharge/index.html +27 -27
- package/app/m/subscriptions/CreditGrant/index.html +27 -27
- package/app/m/subscriptions/PricingRule/index.html +27 -27
- package/app/m/subscriptions/RetailCharge/index.html +27 -27
- package/app/m/subscriptions/SpendingPolicy/index.html +27 -27
- package/app/m/subscriptions/SubscriptionPlan/index.html +27 -27
- package/app/m/subscriptions/SubscriptionPlanVersion/index.html +27 -27
- package/app/m/subscriptions/TenantSubscription/index.html +27 -27
- package/app/m/subscriptions/TenantUsageMetric/index.html +27 -27
- package/app/m/support/ServiceTimeEntry/index.html +27 -27
- package/app/m/support/SupportAiRun/index.html +27 -27
- package/app/m/support/SupportAvailability/index.html +27 -27
- package/app/m/support/SupportCase/index.html +27 -27
- package/app/m/support/SupportCaseEvent/index.html +27 -27
- package/app/m/support/SupportChannelBinding/index.html +27 -27
- package/app/m/support/SupportCharge/index.html +27 -27
- package/app/m/support/SupportCompensation/index.html +27 -27
- package/app/m/support/SupportCompensationPlan/index.html +27 -27
- package/app/m/support/SupportEscalation/index.html +27 -27
- package/app/m/support/SupportInteraction/index.html +27 -27
- package/app/m/support/SupportPlan/index.html +27 -27
- package/app/m/support/SupportPolicy/index.html +27 -27
- package/app/m/support/SupportQualification/index.html +27 -27
- package/app/m/support/SupportServiceTarget/index.html +27 -27
- package/app/m/support/SupportSpecialist/index.html +27 -27
- package/app/m/support/SupportWorkLink/index.html +27 -27
- package/app/m/tags/Tag/index.html +27 -27
- package/app/m/tags/TagAlias/index.html +27 -27
- package/app/m/timesheets/AttendanceBreak/index.html +27 -27
- package/app/m/timesheets/AttendancePunch/index.html +27 -27
- package/app/m/timesheets/AttendanceSegment/index.html +27 -27
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +27 -27
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +27 -27
- package/app/m/timesheets/ServiceTimeEntry/index.html +27 -27
- package/app/m/users/Group/index.html +27 -27
- package/app/m/users/GroupMember/index.html +27 -27
- package/app/m/users/GroupRole/index.html +27 -27
- package/app/m/users/Membership/index.html +27 -27
- package/app/m/users/MembershipOverride/index.html +27 -27
- package/app/m/users/Permission/index.html +27 -27
- package/app/m/users/Role/index.html +27 -27
- package/app/m/users/RolePermission/index.html +27 -27
- package/app/m/users/Session/index.html +27 -27
- package/app/m/users/Tenant/index.html +27 -27
- package/app/m/users/TenantIntegration/index.html +27 -27
- package/app/m/users/TenantPermissionOverride/index.html +27 -27
- package/app/m/users/User/index.html +27 -27
- package/app/m/video/Character/index.html +27 -27
- package/app/m/video/CharacterAsset/index.html +27 -27
- package/app/m/video/CompositeJob/index.html +27 -27
- package/app/m/video/Performer/index.html +27 -27
- package/app/m/video/PerformerAsset/index.html +27 -27
- package/app/m/video/Scene/index.html +27 -27
- package/app/m/video/SceneAsset/index.html +27 -27
- package/app/m/video/VideoComposition/index.html +27 -27
- package/app/m/video/VideoCompositionAsset/index.html +27 -27
- package/app/m/video/VideoSequence/index.html +27 -27
- package/app/m/video/VideoSequenceAsset/index.html +27 -27
- package/app/m/video/VideoShot/index.html +27 -27
- package/app/m/video/VideoShotAsset/index.html +27 -27
- package/app/m/video/VideoShotCharacter/index.html +27 -27
- package/app/m/video/VideoWorkflow/index.html +27 -27
- package/app/m/voice/VoiceOutput/index.html +27 -27
- package/app/m/voice/VoiceProfile/index.html +27 -27
- package/app/m/voice/VoiceSample/index.html +27 -27
- package/app/mcp.html +2 -2
- package/app/packages/ads/index.html +24 -24
- package/app/packages/analytics/index.html +24 -24
- package/app/packages/approvals/index.html +24 -24
- package/app/packages/assets/index.html +24 -24
- package/app/packages/chat/index.html +24 -24
- package/app/packages/comments/index.html +24 -24
- package/app/packages/commerce/index.html +24 -24
- package/app/packages/content/index.html +24 -24
- package/app/packages/events/index.html +24 -24
- package/app/packages/expenses/index.html +24 -24
- package/app/packages/facts/index.html +24 -24
- package/app/packages/fields/index.html +24 -24
- package/app/packages/human-resources/index.html +24 -24
- package/app/packages/images/index.html +24 -24
- package/app/packages/index.html +25 -25
- package/app/packages/ingestion/index.html +24 -24
- package/app/packages/inventory/index.html +25 -25
- package/app/packages/ledgers/index.html +24 -24
- package/app/packages/manufacturing/index.html +24 -24
- package/app/packages/marketing/index.html +24 -24
- package/app/packages/messages/index.html +24 -24
- package/app/packages/places/index.html +24 -24
- package/app/packages/preferences/index.html +24 -24
- package/app/packages/products/index.html +24 -24
- package/app/packages/profiles/index.html +24 -24
- package/app/packages/projects/index.html +24 -24
- package/app/packages/properties/index.html +24 -24
- package/app/packages/reports/index.html +24 -24
- package/app/packages/sales/index.html +24 -24
- package/app/packages/sites/index.html +24 -24
- package/app/packages/social/index.html +24 -24
- package/app/packages/subscriptions/index.html +24 -24
- package/app/packages/support/index.html +24 -24
- package/app/packages/tags/index.html +24 -24
- package/app/packages/timesheets/index.html +24 -24
- package/app/packages/users/index.html +25 -25
- package/app/packages/video/index.html +24 -24
- package/app/packages/voice/index.html +24 -24
- package/app/packages/webhooks/index.html +24 -24
- package/app/recipes/account-access/help/index.html +26 -26
- package/app/recipes/account-access/index.html +27 -27
- package/app/recipes/activity/help/index.html +25 -25
- package/app/recipes/activity/index.html +27 -27
- package/app/recipes/agreements/help/index.html +25 -25
- package/app/recipes/agreements/index.html +27 -27
- package/app/recipes/analytics.reports/help/index.html +25 -25
- package/app/recipes/analytics.reports/index.html +27 -27
- package/app/recipes/assets/help/index.html +25 -25
- package/app/recipes/assets/index.html +27 -27
- package/app/recipes/billing/help/index.html +25 -25
- package/app/recipes/billing/index.html +27 -27
- package/app/recipes/chat.assistant/help/index.html +25 -25
- package/app/recipes/chat.assistant/index.html +27 -27
- package/app/recipes/comments/help/index.html +25 -25
- package/app/recipes/comments/index.html +27 -27
- package/app/recipes/commerce.customers/help/index.html +25 -25
- package/app/recipes/commerce.customers/index.html +27 -27
- package/app/recipes/commerce.estimates/help/index.html +25 -25
- package/app/recipes/commerce.estimates/index.html +27 -27
- package/app/recipes/commerce.purchases/help/index.html +25 -25
- package/app/recipes/commerce.purchases/index.html +27 -27
- package/app/recipes/commerce.sales/help/index.html +25 -25
- package/app/recipes/commerce.sales/index.html +27 -27
- package/app/recipes/commerce.vendors/help/index.html +25 -25
- package/app/recipes/commerce.vendors/index.html +27 -27
- package/app/recipes/commerce.wholesale/help/index.html +25 -25
- package/app/recipes/commerce.wholesale/index.html +27 -27
- package/app/recipes/events.calendar/help/index.html +25 -25
- package/app/recipes/events.calendar/index.html +27 -27
- package/app/recipes/expenses.tracking/help/index.html +25 -25
- package/app/recipes/expenses.tracking/index.html +27 -27
- package/app/recipes/fields.form-customization/help/index.html +25 -25
- package/app/recipes/fields.form-customization/index.html +27 -27
- package/app/recipes/ingestion/help/index.html +25 -25
- package/app/recipes/ingestion/index.html +27 -27
- package/app/recipes/integrations/help/index.html +25 -25
- package/app/recipes/integrations/index.html +27 -27
- package/app/recipes/inventory.stock/help/index.html +25 -25
- package/app/recipes/inventory.stock/index.html +27 -27
- package/app/recipes/ledgers.bookkeeping/help/index.html +25 -25
- package/app/recipes/ledgers.bookkeeping/index.html +27 -27
- package/app/recipes/messages/help/index.html +25 -25
- package/app/recipes/messages/index.html +27 -27
- package/app/recipes/products/help/index.html +25 -25
- package/app/recipes/products/index.html +27 -27
- package/app/recipes/projects.tracker/help/index.html +25 -25
- package/app/recipes/projects.tracker/index.html +27 -27
- package/app/recipes/reports.materialized/help/index.html +25 -25
- package/app/recipes/reports.materialized/index.html +27 -27
- package/app/recipes/reports.runtime/help/index.html +25 -25
- package/app/recipes/reports.runtime/index.html +27 -27
- package/app/recipes/sales.pipeline/help/index.html +25 -25
- package/app/recipes/sales.pipeline/index.html +27 -27
- package/app/recipes/tags.taxonomy/help/index.html +25 -25
- package/app/recipes/tags.taxonomy/index.html +27 -27
- package/app/recipes/team-collaboration/help/index.html +25 -25
- package/app/recipes/team-collaboration/index.html +27 -27
- package/app/recipes/timesheets.time-entries/help/index.html +25 -25
- package/app/recipes/timesheets.time-entries/index.html +27 -27
- package/app/s/custom-accounts/index.html +23 -23
- package/app/s/custom-appointments/index.html +23 -23
- package/app/s/custom-billing/index.html +23 -23
- package/app/s/custom-bookings/index.html +23 -23
- package/app/s/custom-buying/index.html +23 -23
- package/app/s/custom-checkout/index.html +23 -23
- package/app/s/custom-classes/index.html +23 -23
- package/app/s/custom-clients/index.html +23 -23
- package/app/s/custom-events/index.html +23 -23
- package/app/s/custom-fleet/index.html +23 -23
- package/app/s/custom-gigs/index.html +23 -23
- package/app/s/custom-giving/index.html +23 -23
- package/app/s/custom-instruments/index.html +23 -23
- package/app/s/custom-jobs/index.html +23 -23
- package/app/s/custom-kitchen/index.html +23 -23
- package/app/s/custom-lessons/index.html +23 -23
- package/app/s/custom-material/index.html +23 -23
- package/app/s/custom-meetings/index.html +23 -23
- package/app/s/custom-members/index.html +23 -23
- package/app/s/custom-merch/index.html +23 -23
- package/app/s/custom-money/index.html +23 -23
- package/app/s/custom-paint/index.html +23 -23
- package/app/s/custom-parts/index.html +23 -23
- package/app/s/custom-rentals/index.html +23 -23
- package/app/s/custom-roastery/index.html +23 -23
- package/app/s/custom-schedule/index.html +23 -23
- package/app/s/custom-shelf/index.html +23 -23
- package/app/s/custom-shop/index.html +23 -23
- package/app/s/custom-students/index.html +23 -23
- package/app/s/custom-wholesale/index.html +23 -23
- package/app/s/custom-work/index.html +23 -23
- package/app/s/custom-yard/index.html +23 -23
- package/app/s/section-access-control/index.html +23 -23
- package/app/s/section-account-security/index.html +23 -23
- package/app/s/section-accounting/index.html +23 -23
- package/app/s/section-activity/index.html +23 -23
- package/app/s/section-agreements/index.html +23 -23
- package/app/s/section-analytics/index.html +23 -23
- package/app/s/section-assets/index.html +23 -23
- package/app/s/section-billing/index.html +23 -23
- package/app/s/section-calendar/index.html +23 -23
- package/app/s/section-catalog/index.html +23 -23
- package/app/s/section-chat.assistant/index.html +23 -23
- package/app/s/section-comments/index.html +23 -23
- package/app/s/section-fields.form-customization/index.html +23 -23
- package/app/s/section-ingestion/index.html +23 -23
- package/app/s/section-integrations/index.html +23 -23
- package/app/s/section-messages/index.html +23 -23
- package/app/s/section-more/index.html +23 -23
- package/app/s/section-operations/index.html +23 -23
- package/app/s/section-projects/index.html +23 -23
- package/app/s/section-purchasing/index.html +23 -23
- package/app/s/section-reports.materialized/index.html +23 -23
- package/app/s/section-reports.runtime/index.html +23 -23
- package/app/s/section-sales/index.html +23 -23
- package/app/s/section-taxonomy/index.html +23 -23
- package/app/s/section-team/index.html +23 -23
- package/app/s/section-work/index.html +23 -23
- package/dist/catalog/catalog.json +937 -39
- package/dist/components/HeaderIconLink.svelte +106 -2
- package/dist/components/HeaderIconLink.svelte.d.ts +4 -0
- package/dist/components/HeaderIconLink.svelte.d.ts.map +1 -1
- package/dist/components/SpecsPanel.svelte +54 -0
- package/dist/components/SpecsPanel.svelte.d.ts +4 -0
- package/dist/components/SpecsPanel.svelte.d.ts.map +1 -0
- package/dist/cookbook/assemble.d.ts +1 -0
- package/dist/cookbook/assemble.d.ts.map +1 -1
- package/dist/cookbook/assemble.js +2 -0
- package/dist/cookbook/parse.d.ts.map +1 -1
- package/dist/cookbook/parse.js +8 -0
- package/dist/cookbook/prompt.d.ts.map +1 -1
- package/dist/cookbook/prompt.js +6 -0
- package/dist/cookbook/store.svelte.d.ts +4 -1
- package/dist/cookbook/store.svelte.d.ts.map +1 -1
- package/dist/cookbook/store.svelte.js +10 -1
- package/dist/cookbook/types.d.ts +2 -0
- package/dist/cookbook/types.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/planner/Planner.svelte +87 -16
- package/dist/planner/Planner.svelte.d.ts.map +1 -1
- package/dist/planner/PlannerControls.svelte +35 -3
- package/dist/planner/PlannerControls.svelte.d.ts.map +1 -1
- package/dist/planner/PlannerLifecycle.svelte +10 -0
- package/dist/planner/PlannerLifecycle.svelte.d.ts +1 -1
- package/dist/planner/PlannerLifecycle.svelte.d.ts.map +1 -1
- package/dist/planner/bridge.d.ts +2 -0
- package/dist/planner/bridge.d.ts.map +1 -1
- package/dist/planner/bridge.js +17 -3
- package/dist/planner/commands/types.d.ts +1 -1
- package/dist/planner/commands/types.d.ts.map +1 -1
- package/dist/planner/commands/types.js +1 -0
- package/dist/planner/guide.d.ts +21 -1
- package/dist/planner/guide.d.ts.map +1 -1
- package/dist/planner/guide.js +21 -2
- package/dist/planner/header-icons.d.ts +6 -0
- package/dist/planner/header-icons.d.ts.map +1 -1
- package/dist/planner/header-icons.js +6 -0
- package/dist/planner/header-nav.d.ts +17 -0
- package/dist/planner/header-nav.d.ts.map +1 -0
- package/dist/planner/header-nav.js +41 -0
- package/dist/planner/tab.svelte.d.ts +2 -2
- package/dist/planner/tab.svelte.d.ts.map +1 -1
- package/dist/planner/tab.svelte.js +1 -0
- package/dist/planner/types.d.ts +21 -0
- package/dist/planner/types.d.ts.map +1 -1
- package/dist/smrt-version.d.ts +1 -1
- package/dist/smrt-version.js +1 -1
- package/package.json +56 -56
- package/app/_app/immutable/assets/0.BaRFeYGU.css +0 -1
- package/app/_app/immutable/chunks/BDBI1GHG.js +0 -1
- package/app/_app/immutable/chunks/BRphH2sp.js +0 -1
- package/app/_app/immutable/chunks/By9nPosf.js +0 -1
- package/app/_app/immutable/chunks/Die26Dpp.js +0 -1
- package/app/_app/immutable/chunks/pwK8zqRY.js +0 -1
- package/app/_app/immutable/entry/start.wMO3ZYuE.js +0 -1
- package/app/_app/immutable/nodes/0.DiMcia2m.js +0 -7
- package/app/_app/immutable/nodes/2.U2UZdfCQ.js +0 -22
|
@@ -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{Ot as N,Tt as P,bt as F,jt as I,x as L}from"./DtyQVtuI.js";import{n as R}from"./DK8Blf1Y.js";import{w as te,y as z}from"./LqlI_3J_.js";import{t as B}from"./By9nPosf.js";import"./CHp1-Djt.js";import"./Dij7Mzy3.js";import{b as V,i as H}from"./Bs5WxZDd.js";import{D as ne,R as U,z as W}from"./cGI232sj.js";import{b as G,t as K,tt as q}from"./jGR6M6GD.js";import{a as J,c as Y,d as re,f as X,h as ie,l as ae,n as oe,p as Z,s as se}from"./pwK8zqRY.js";import{n as ce,t as le}from"./ca0lfv12.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`?W(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`?W(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{Ot as N,Tt as P,bt as F,jt as I,x as L}from"./B81CeftJ.js";import{n as R}from"./DK8Blf1Y.js";import{w as te,y as z}from"./DV8QsFnv.js";import{t as B}from"./B2aomX_k.js";import"./OH7CqE-U.js";import"./DBfU27Yr.js";import{b as V,i as H}from"./Qxx7HWld.js";import{D as ne,R as U,z as W}from"./CTz6b8sX.js";import{b as G,t as K,tt as q}from"./CGILVblc.js";import{a as J,c as Y,d as re,f as X,h as ie,l as ae,n as oe,p as Z,s as se}from"./D95Ltrhv.js";import{n as ce,t as le}from"./glUGUrBl.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`?W(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`?W(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),F=n(()=>e(A)?Je(_.result):void 0),I=n(()=>e(A)&&_.result.chart.type===`table`),L=n(()=>e(I)||b()===`table`);function te(e,t){if(typeof e==`string`&&t?.bucket)return U(e,t.bucket,S())}function z(e,t){return typeof e==`boolean`?E($[e?`reports.yes`:`reports.no`]):te(e,t)??Ae(e,t,S(),w())}let H=t=>e(P)?z(t[e(P).id],e(P)):e(N)?.label??``,W=n(()=>v()===`full`&&e(A)&&e(N)?Ze(_.result,e(N),{t:E,locale:S(),currency:w(),groupLabel:H,fn:_.spec?.measures.find(t=>t.as===e(N).id)?.fn}):[]),G=n(()=>e(A)&&e(N)?{points:_.result.rows.filter(t=>typeof t[e(N).id]==`number`).map(t=>({label:H(t),value:t[e(N).id]})),format:Xe(e(N)),currency:w()}:null),K=n(()=>e(N)?e(F)?.bucket?E($[`reports.dimension_bucket`],{field:e(N).label,bucket:E(`reports.bucket_unit.${e(F).bucket}`)}):e(P)?E($[`reports.dimension_bucket`],{field:e(N).label,bucket:e(P).label.toLowerCase()}):e(N).label:``),q=e=>e.type===`integer`||e.type===`decimal`,J=n(()=>e(j).map(e=>({value:e.id,label:e.label})));var Y=gt(),re=y(Y),X=e=>{var t=tt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.invalid`])]),p(e,t)},ie=e=>{var t=nt(),n=C(t,!0);D(e=>s(n,e),[()=>E($[`reports.no_rows`])]),p(e,t)},ae=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`])}]);B(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(I)||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);B(t,{get label(){return e(r)},get options(){return e(J)},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);V(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(J),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(L)&&t(f)}),a(o);var h=x(o,2),g=n=>{var r=ot();l(r,21,()=>e(W),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(W).length>0&&!e(L)&&t(g)}),p(r,i)},g=t=>{var r=ct(),i=y(r);{let t=n(()=>b()===`table`);R(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(I)||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)},[()=>q(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)},[()=>q(e(r)),()=>z(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(K))),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`);ne(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(G)}})}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(L)?t(A):e(N)&&e(G)&&t(ee,1)});var P=x(w,2),F=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(F)}),p(r,o)};t(re,t=>{e(A)?_.result.rows.length===0?t(ie,1):t(ae,-1):t(X)}),a(Y),D(()=>O(Y,`data-variant`,v())),p(o,Y),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 F(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 I(){e(w)!==`idle`||e(N)||(k(w,`declined`),o.ondecline?.())}var L=Et(),te=y(L),z=C(te,!0),B=x(te,2),V=e=>{var t=vt(),n=C(t,!0);D(e=>s(n,e),[()=>S($[`reports.invalid`])]),p(e,t)},H=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`);R(f,{variant:`secondary`,get disabled(){return e(t)},onclick:I,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`);R(m,{get disabled(){return e(t)},get"aria-busy"(){return e(r)},onclick:F,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(B,t=>{e(M)?t(H,-1):t(V)}),a(L),D((e,t)=>{O(L,`aria-label`,e),s(z,t)},[()=>S($[`reports.confirm_title`]),()=>e(M)?o.proposal.spec.title:S($[`reports.confirm_title`])]),p(i,L),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),L=g(!1),z=g(0),B=g(`chart`),V=g(!1),H=g(!1),ne=g(!1),U=g(null),W=null;_(()=>{let t=o.client,n=o.id;e(z);let r=!0;return W!==n&&k(M,null),W=n,k(P,null),k(F,null),k(L,!!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(L,!1)}})(),()=>{r=!1}});let G=n(()=>e(M)?l().find(t=>t.id===e(M)?.sourceId):void 0),K=n(()=>e(M)?Ke(e(M).spec,{t:E,locale:b(),currency:S(),source:e(G),columns:e(P)?.columns}):null),q=n(()=>e(M)?f()(e(M).createdByUserId):void 0),J=n(()=>{if(!e(M))return``;let t=e(M).savedAt?Qe(e(M).savedAt,b()):``;return e(q)&&t?E($[`reports.saved_by_at`],{author:e(q),time:t}):e(q)?E($[`reports.saved_by`],{author:e(q)}):t?E($[`reports.saved_at`],{time:t}):``}),Y=n(()=>e(P)?.ranAt?E($[`reports.ran_at`],{time:Qe(e(P).ranAt,b(),void 0,E($[`reports.just_now`]))}):``),re=n(()=>e(M)?.status===`archived`);function X(){e(M)&&(o.onedit?o.onedit(e(M)):k(ne,!(e(U)&&te(e(U),{prompt:E($[`reports.edit_prompt`],{title:e(M).title})}))))}function ie(){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 ae(t){if(o.client&&e(M)&&!e(H)){k(H,!0),k(F,null);try{await o.client.archive(e(M).id,t),A(z)}catch(e){k(F,Oe(e),!0)}finally{k(H,!1),k(V,!1)}}}let oe=n(()=>[...e(M)&&!e(re)&&!e(F)?[{id:`rerun`,label:E($[`reports.rerun`]),disabled:e(L),onselect:()=>{A(z)}}]:[],...e(M)?.canArchive&&!e(re)?[{id:`archive`,label:E($[`reports.archive`]),disabled:e(H),onselect:()=>{k(V,!0)}}]:[]]);var Z=Ht(),se=y(Z),ce=y(se),le=y(ce),ue=y(le),de=C(ue,!0),fe=x(ue,2),pe=e=>{I(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(re)&&t(pe)}),a(le);var me=x(le,2),he=t=>{var n=Ot(),r=C(n,!0);D(()=>s(r,e(K).line)),p(t,n)};t(me,t=>{e(K)&&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=>{R(t,{variant:`primary`,get disabled(){return e(H)},onclick:()=>ae(!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=>{R(t,{variant:`primary`,get disabled(){return e(L)},onclick:()=>A(z),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));R(i,{variant:`secondary`,get disabled(){return e(t)},onclick:ie,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);R(a,{variant:`primary`,onclick:X,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(re)?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}));N(t,{variant:`icon`,placement:`bottom-end`,get triggerLabel(){return e(i)},get items(){return e(oe)},trigger:r,$$slots:{trigger:!0}})}};t(h,t=>{e(oe).length&&t(g)}),a(i),p(r,i)};t(ve,t=>{o.client&&e(M)&&t(ye)}),a(se);var be=x(se,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(K).period.range),s(u,` · ${e(K).period.field??``}`)},[()=>E($[`reports.period`])]),p(t,n)};t(_,t=>{e(K).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(K).filters.join(`; `)]),p(t,n)};t(A,t=>{e(K).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(K).having.join(`; `)]),p(t,n)};t(M,t=>{e(K).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(J),e(Y)].filter(Boolean).join(` · `)]),p(t,n)};t(N,t=>{(e(J)||e(Y))&&t(P)}),a(r),D((t,n,i,a,o,l)=>{O(r,`aria-label`,t),s(c,n),s(u,e(K).source),s(m,i),s(g,a),s(w,o),s(k,l)},[()=>E($[`reports.details`]),()=>E($[`reports.source`]),()=>E($[`reports.groupings`]),()=>e(K).groupings||E($[`reports.none`]),()=>E($[`reports.measures`]),()=>e(K).measures.join(`, `)]),p(n,r)};t(i,t=>{e(K)&&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(ne)&&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(L)&&!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(B)},set view(e){k(B,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(V)},get title(){return e(t)},get message(){return e(r)},get confirmLabel(){return e(i)},get cancelLabel(){return e(a)},get loading(){return e(H)},onconfirm:()=>void ae(!0),oncancel:()=>k(V,!1)})}a(Z),v(Z,e=>k(U,e),()=>e(U)),D((e,t)=>{O(Z,`data-report-id`,o.id),O(Z,`aria-label`,e),s(de,t)},[()=>e(M)?.title??E($[`reports.title`]),()=>e(M)?.title??E($[`reports.title`])]),p(i,Z),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?U(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())})):[]}),L=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}),R=n(()=>f.result&&!e(k)&&f.result.columns.some(e=>e.role===`dimension`)?f.result.rows.length:0),te=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 z=en(),B=y(z),V=y(B);S(V,()=>`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 H=x(V,2),W=e=>{I(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(H,e=>{f.report.status===`archived`&&e(W)});var G=x(H,2),K=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}));N(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(G,e=>{m().length&&e(K)}),a(B);var q=x(B,2),J=C(q,!0),Y=x(q,2),re=y(Y),X=t=>{{let r=n(()=>b($[`reports.running`]));P(t,{variant:`text`,lines:2,get label(){return e(r)}})}},ie=e=>{var t=qt(),n=C(t,!0);D(e=>s(n,e),[()=>b($[`reports.run_failed`])]),p(e,t)},ae=e=>{var t=qt(),n=C(t,!0);D(e=>s(n,e),[()=>b($[`reports.no_rows`])]),p(e,t)},oe=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);ne(r,{get data(){return e(L)},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(R)})]),p(t,n)};t(m,t=>{e(L)&&e(E)?t(h):e(F).length?t(g,1):e(R)>1&&t(v,2)}),D(()=>{s(o,e(M).label),s(u,e(M).value)}),p(n,r)};t(re,t=>{f.result===void 0?t(X):f.result===null?t(ie,1):f.result.rows.length===0?t(ae,2):e(M)&&t(oe,3)}),a(Y);var Z=x(Y,2),se=t=>{var n=$t(),r=C(n,!0);D(()=>s(r,e(te))),p(t,n)};t(Z,t=>{e(te)&&t(se)}),a(z),D(()=>{O(z,`data-report-id`,f.report.id),O(z,`data-archived`,f.report.status===`archived`?``:void 0),s(J,e(w).line)}),p(o,z),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`),F=h(o,`currency`,3,`USD`),{t:I}=ee(),L=g(`all`),z=g(!1),V=g(b([])),ne=g(0),U=g(b({})),W=g(!1),G=g(null),K=g(0),J=g(null),Y=g(null),re=g(!1),X=0;async function ie(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!==X)return;k(U,{...e(U),[i]:a},!0)}};await Promise.all([a(),a(),a()])}_(()=>{let t=o.client,n={onlyMine:e(L)===`mine`,includeArchived:e(z)},r=M();e(K);let i=++X;return k(V,[],!0),k(U,{},!0),k(G,null),k(J,null),k(W,!!t),t&&t.list(n).then(n=>{i===X&&(k(ne,n.length,!0),k(V,n.slice(0,r),!0),ie(t,e(V),i))}).catch(e=>{i===X&&k(G,Oe(e),!0)}).finally(()=>{i===X&&k(W,!1)}),()=>{++X}});async function ae(t,n){if(!o.client||e(J)||!t.canArchive)return;let r=X;k(J,t.id,!0),k(G,null);try{await o.client.archive(t.id,n),r===X&&k(K,w(()=>e(K))+1)}catch(e){r===X&&k(G,Oe(e),!0)}finally{r===X&&k(J,null),k(Y,null)}}function oe(t){return t.canArchive?t.status===`archived`?[{id:`restore`,label:I($[`reports.restore`]),disabled:e(J)!==null,onselect:()=>void ae(t,!1)}]:[{id:`archive`,label:I($[`reports.archive`]),disabled:e(J)!==null,onselect:()=>{k(Y,t,!0)}}]:[]}let Z=g(null);function se(){o.onnewreport?o.onnewreport():k(re,!(e(Z)&&te(e(Z),{prompt:I($[`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=>{R(e,{variant:`primary`,onclick:se,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>I($[`reports.new`])]),p(e,n)},$$slots:{default:!0}})};t(l,e=>{o.client&&e(u)}),a(n),D(e=>s(i,e),[()=>I($[`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),[()=>I($[`reports.unavailable`])]),p(e,t)},he=r=>{var i=pn(),u=T(i),h=t=>{var r=an(),i=y(r);{let t=n(()=>I($[`reports.filter_label`])),r=n(()=>[{value:`all`,label:I($[`reports.filter_all`])},{value:`mine`,label:I($[`reports.filter_mine`])}]);B(i,{get label(){return e(t)},get options(){return e(r)},get value(){return e(L)},onvaluechange:e=>k(L,e===`mine`?`mine`:`all`,!0)})}var o=x(i,2);{let t=n(()=>I($[`reports.archived`]));H(o,{get label(){return e(t)},size:`sm`,get checked(){return e(z)},set checked(e){k(z,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=>{R(e,{variant:`ghost`,size:`sm`,get href(){return o.listHref},children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>I($[`reports.view_all`])]),p(e,n)},$$slots:{default:!0}})};t(f,t=>{o.listHref&&e(ne)>e(V).length&&t(m)});var h=x(f,2);R(h,{variant:`primary`,size:`sm`,onclick:se,children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>I($[`reports.new`])]),p(e,n)},$$slots:{default:!0}}),a(u),a(r),D(e=>s(l,e),[()=>I($[`reports.hint`])]),p(n,r)};t(u,t=>{E()===`page`?t(h):e(V).length>0&&t(g,1)});var _=x(u,2),v=e=>{var t=sn(),n=C(t,!0);D(e=>s(n,e),[()=>I($[`reports.ask_where`])]),p(e,t)};t(_,t=>{e(re)&&t(v)});var b=x(_,2),S=t=>{var n=cn(),r=y(n),i=C(r,!0),o=x(r,2);R(o,{variant:`secondary`,size:`sm`,onclick:()=>A(K),children:(e,t)=>{d();var n=c();D(e=>s(n,e),[()=>I($[`reports.retry`])]),p(e,n)},$$slots:{default:!0}}),a(n),D(e=>s(i,e),[()=>I($[e(G)])]),p(t,n)};t(b,t=>{e(G)&&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),[()=>I($[`reports.loading`])]),p(e,t)},M=t=>{{let r=n(()=>I($[`reports.empty_title`])),i=n(()=>I($[`reports.empty`])),a=n(()=>I($[`reports.new`])),o=n(()=>E()===`page`?`md`:`sm`);q(t,{get title(){return e(r)},get description(){return e(i)},icon:`document`,get actionLabel(){return e(a)},onaction:se,get size(){return e(o)}})}},ee=t=>{var r=fn();l(r,21,()=>e(V),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(U)[e(r).id]),a=n(()=>ce(e(r).sourceId)),s=n(()=>oe(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 F()}})}a(i),p(t,i)}),a(r),p(t,r)};t(w,t=>{e(W)?t(j):e(V).length===0&&!e(G)?t(M,1):e(V).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(Y)!==null),r=n(()=>I($[`reports.archive_confirm_title`],{title:e(Y)?.title??``})),i=n(()=>I($[`reports.archive_confirm`])),a=n(()=>I($[`reports.archive`])),o=n(()=>I($[`reports.cancel`])),s=n(()=>e(J)!==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(Y)&&void ae(e(Y),!0),oncancel:()=>k(Y,null)})}a(ue),v(ue,e=>k(Z,e),()=>e(Z)),D(e=>{O(ue,`data-variant`,E()),O(ue,`aria-label`,e)},[()=>I($[`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=ae(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 re(n,a,{sources:r})}async function r(r,i=``){let a=J(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 se)return{ok:!1,question:oe(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=ae(t.spec)}catch{throw new Cn(422,`invalid_spec`)}let a=await X(r);if(a!==t.specHash)throw new Cn(422,`spec_hash_mismatch`);try{await n(r)}catch(e){throw e instanceof se?new Cn(422,e.code):e}let o=(await i()).find(e=>e.status===`active`&&e.createdByUserId===`planner`&&Z(e.spec)===Z(r));if(o)return o;let s=Tn(await e.data.create(wn(),{title:r.title,description:r.description??``,sourceId:r.source,spec:Z(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(Y(n,e).fields):[]}function u(){let e=t();return e.map(t=>{let n=Y(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:()=>K.ids,recipes:G,now:()=>new Date(L)}),Dn.set(e,t)),t}async function kn(e){await ie.openPath?.(Sn(e.id))}async function An(e,t){try{await kn(t)}catch{}e?.isConnected&&z(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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,B as t,Ct as n,Dt as r,E as i,Et as a,Ft as o,G as s,H as c,J as l,L as u,Ot as d,Pt as f,U as p,X as m,Y as h,_ as g,a as _,b as v,bt as y,ct as b,d as x,ft as S,g as C,ht as w,k as T,kt as E,mt as D,n as O,nt as k,o as A,p as j,q as M,st as N,tt as P,v as F,vt as I,y as L}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{a as R,t as z}from"./YUSKx8_q.js";function B(e,t){d(t,!0);let n=z();f();var i=l();N(e=>c(i,e),[()=>n.t(t.key,t.vars)]),p(e,i),r()}var V=R({"ui.currency_display.invalid_code":`Invalid currency code: {code}`,"ui.currency_display.invalid_minor_unit_amount":`Invalid minor-unit amount`,"ui.currency_display.no_minor_unit":`Currency code has no minor unit: {code}`,"ui.data_table.select_all":`Select all rows`,"ui.data_table.select_current_page":`Select all rows on this page`,"ui.data_table.select_row":`Select {row}`,"ui.data_table.deselect_row":`Deselect {row}`,"ui.data_table.row_number":`row {number}`,"ui.data_table.expand":`Expand`,"ui.data_table.expand_row":`Expand {row}`,"ui.data_table.collapse_row":`Collapse {row}`,"ui.data_table.sort_ascending":`Sort {column} ascending`,"ui.data_table.sort_descending":`Sort {column} descending`,"ui.data_table.clear_sort":`Clear sorting for {column}`,"ui.data_table.loading":`Loading table data`,"ui.data_table.refreshing":`Refreshing table data`,"ui.data_table.stale":`Showing stale results`,"ui.data_table.partial_results":`Showing partial results`,"ui.data_table.load_error":`Unable to load table data`,"ui.data_table.retry":`Retry`,"ui.data_table.empty":`No data available`,"ui.data_table.virtual_region":`{caption} rows`,"ui.data_table.default_virtual_region":`Data table rows`,"ui.data_table.pagination":`Table pages`,"ui.data_table.overflow_region":`{caption} table, scroll horizontally to view more columns`,"ui.data_table.default_overflow_region":`Data table, scroll horizontally to view more columns`,"ui.data_table.more_columns":`More columns`,"ui.data_table.resize_column":`Resize {column}`,"ui.data_table.structural_row":`{kind}: {label}`,"ui.data_table.summary":`Summary`,"ui.data_table.subtotal":`Subtotal`,"ui.data_table.aggregate":`Aggregate`,"ui.data_table.footer_row":`Footer`,"ui.data_table.total":`Total`});function H(e,t){let n=e.ownerDocument,r=n.defaultView;if(!r||!e.isConnected)return()=>{};let i=n.createElement(`div`);i.dataset.smrtComponent=`ControlSpotlight`;let a=r.getComputedStyle(e);Object.assign(i.style,{position:`fixed`,inset:`0`,pointerEvents:`none`,zIndex:a.getPropertyValue(`--smrt-z-index-overlay`).trim()||`1200`});let o=n.createElement(`div`);o.dataset.smrtSpotlightVeil=``,o.setAttribute(`aria-hidden`,`true`),Object.assign(o.style,{position:`absolute`,inset:`0`,pointerEvents:`none`,background:`rgba(3, 5, 9, 0.72)`});let s=n.createElement(`button`);s.type=`button`,s.textContent=t.dismissLabel,s.setAttribute(`aria-label`,t.dismissLabel),Object.assign(s.style,{position:`absolute`,insetInlineEnd:`1rem`,pointerEvents:`auto`,cursor:`pointer`,padding:`0.5rem 1rem`,borderRadius:a.getPropertyValue(`--smrt-radius-medium`).trim()||`0.5rem`,background:a.getPropertyValue(`--smrt-color-surface`).trim()||`#fff`,color:a.getPropertyValue(`--smrt-color-on-surface`).trim()||`#111`,border:a.getPropertyValue(`--smrt-hairline`).trim()||`1px solid currentColor`,font:`inherit`});let c=n.createElement(`div`);c.dataset.smrtSpotlightArrow=``,c.setAttribute(`aria-hidden`,`true`),Object.assign(c.style,{position:`absolute`,inlineSize:`40px`,blockSize:`40px`,pointerEvents:`none`,color:a.getPropertyValue(`--smrt-color-warning`).trim()||`#fbbf24`,filter:`drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6))`}),c.innerHTML=`<svg viewBox="0 0 24 24" width="100%" height="100%" fill="currentColor" stroke="rgba(3, 5, 9, 0.85)" stroke-width="1.5" stroke-linejoin="round"><path d="M12 2 21 12h-5v10H8V12H3z"/></svg>`;let l=r.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,u,d=``;i.append(o,c,s);let f=!1,p=0,m=()=>{f||(f=!0,r.cancelAnimationFrame(p),u?.cancel(),i.remove(),s.removeEventListener(`click`,h))},h=()=>{m(),t.onDismiss?.()},g=()=>{if(f)return;let t=r.getComputedStyle(e).getPropertyValue(`--smrt-admin-shell-phone-bar-track`).trim();s.style.insetBlockEnd=`calc(1rem + ${t||`env(safe-area-inset-bottom, 0px)`})`;let n=e.getBoundingClientRect();if(!e.isConnected||e.closest(`[hidden],[inert],[aria-hidden="true"]`)||typeof e.checkVisibility==`function`&&!e.checkVisibility()||n.width<=0||n.height<=0||n.right<=0||n.bottom<=0||n.left>=r.innerWidth||n.top>=r.innerHeight){h();return}let i=Math.max(0,Math.round(n.left-8)),a=Math.max(0,Math.round(n.top-8)),m=Math.min(r.innerWidth,Math.round(n.right+8)),_=Math.min(r.innerHeight,Math.round(n.bottom+8));o.style.clipPath=`polygon(evenodd, 0 0, 100% 0, 100% 100%, 0 100%, 0 0, ${i}px ${a}px, ${i}px ${_}px, ${m}px ${_}px, ${m}px ${a}px, ${i}px ${a}px)`;let v=(n.top+n.bottom)/2<r.innerHeight/2?`up`:`down`,y=Math.min(Math.max(0,Math.round((n.left+n.right)/2-20)),Math.max(0,r.innerWidth-40));if(c.style.left=`${y}px`,c.style.top=`${v===`up`?_+6:Math.max(0,a-40-6)}px`,v!==d){d=v,c.dataset.direction=v,c.style.transform=v===`up`?``:`rotate(180deg)`,u?.cancel();let e=v===`up`?`6px`:`-6px`,t=v===`up`?``:` rotate(180deg)`;u=!l&&typeof c.animate==`function`?c.animate([{transform:`translateY(0)${t}`},{transform:`translateY(${e})${t}`}],{duration:600,iterations:1/0,direction:`alternate`,easing:`ease-in-out`}):void 0}p=r.requestAnimationFrame(g)};return s.addEventListener(`click`,h),g(),f||n.body.append(i),m}[`input:not([type="hidden"]):not(:disabled)`,`select:not(:disabled)`,`textarea:not(:disabled)`,`button:not(:disabled)`,`a[href]`,`[tabindex]:not([tabindex="-1"]):not([type="hidden"])`,`[contenteditable="true"]`].join(`,`);function U(e){e.scrollIntoView({block:`center`,inline:`nearest`,behavior:`smooth`})}function W(e,t=1600,n){let r=!1,i=n?.presentation===`spotlight`?H(e,n):(e.dataset.smrtHighlighted=`true`,()=>{delete e.dataset.smrtHighlighted}),a=globalThis.setTimeout(()=>o(),t),o=()=>{r||(r=!0,globalThis.clearTimeout(a),i())};return o}function G(e){queueMicrotask(()=>{e.isConnected&&(e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0})))})}var K=Symbol(`smrt-control-interaction`);function q(e){E(K,e)}function J(){return a(K)}function Y(e,t,n){e&&t&&e.registry.recordUserEdit?.({formId:e.formId,controlId:t,subject:n})}function X(e){let t=J(),n;O(()=>{n?.(),n=void 0}),b(()=>{let r=e();if(!t||r===!1||!r.controlId){n?.(),n=void 0;return}let{controlId:i,subject:a,...o}=r,s=t.registry,c=t.formId,l=a?{type:a.type,id:a.id,label:a.label}:void 0,u=n;n=k(()=>s.register({...o,identity:{formId:c,controlId:i,subject:l}})),u?.()})}function Z(e){return typeof e==`string`?[`true`,`1`,`yes`,`on`].includes(e.toLowerCase()):!!e}function Q(e){if(typeof e==`boolean`)return e;if(typeof e==`object`&&e)throw Error(`staged_value_invalid`);return e}function $(e){if(e==null)return e;if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return String(e);throw Error(`staged_value_invalid`)}function ee(e){if(e===``||e==null)return``;if(typeof e!=`string`&&typeof e!=`number`)throw Error(`staged_value_invalid`);let t=Number(e);return Number.isFinite(t)?t:e}function te(e,t,n=!1){return ie(e,t,n)?.value??t}function ne(e,t){if(typeof t!=`boolean`)return!1;let n=e.cloneNode();return n.checked=t,n.checkValidity()}function re(e,t){let n=e.cloneNode();return n.value=String(t??``),n.required&&n.value.length===0||n.minLength>=0&&n.value.length<n.minLength||n.maxLength>=0&&n.value.length>n.maxLength?!1:n.checkValidity()}function ie(e,t,n=!1){let r=String(t??``);return e.find(e=>Object.is(e.value,t))??e.find(e=>String(e.value)===r||n&&e.label===r)}function ae(e,t,n=!1){let r=ie(e,t,n);return r!==void 0&&r.disabled!==!0}function oe(e,t,n){return!Array.isArray(e)||!e.every(e=>typeof e==`string`)||t!==void 0&&e.length>t?!1:n||new Set(e).size===e.length}var se=Symbol(`smrt-form-group`);function ce(e){E(se,e)}function le(){return a(se)}var ue=new Set([`$$slots`,`$$events`,`$$legacy`,`checked`,`indeterminate`,`label`,`id`,`name`,`value`,`disabled`,`required`,`class`,`interaction`,`onchange`,`aria-label`,`aria-describedby`,`density`]),de=s(`<span class="smrt-checkbox__dash svelte-1o3zuy5" data-smrt-part="indicator"></span>`),fe=s(`<span class="smrt-checkbox__check svelte-1o3zuy5" data-smrt-part="indicator">✓</span>`),pe=s(`<span class="smrt-checkbox__label svelte-1o3zuy5" data-smrt-part="label"> </span>`),me=s(`<label data-smrt-hit-target="" data-smrt-component="Checkbox"><input/> <span class="smrt-checkbox__box svelte-1o3zuy5" data-smrt-part="box" aria-hidden="true"><!></span> <!></label>`);function he(a,s){let l=M();d(s,!0);let u=_(s,`checked`,15,!1),f=_(s,`indeterminate`,3,!1),m=_(s,`disabled`,3,!1),h=_(s,`required`,3,!1),g=_(s,`class`,3,``),v=A(s,ue),T=le(),E=J(),O=y(null),k=n(()=>s.id??T?.().inputId??`smrt-checkbox-${l}`),j=n(()=>s[`aria-describedby`]??T?.().describedBy),P=n(()=>{let e=T?.().interaction;return s.interaction===!1||e===!1?!1:{...e??{},...s.interaction??{}}}),L=n(()=>e(P)===!1?void 0:e(P).id??s.name??e(k));b(()=>{e(O)&&(e(O).indeterminate=f())});function R(t){u(Z(t)),e(O)&&G(e(O))}function z(e){u(e.currentTarget.checked),s.onchange?.(e)}X(()=>{let t=e(O),n=e(P);return!t||n===!1?!1:{controlId:e(L),subject:n.subject,metadata:{kind:`checkbox`,label:T?.().label??s.label??s[`aria-label`]??void 0,description:n.description??T?.().description,sensitivity:n.sensitivity??`public`,readable:n.readable,writable:n.writable,constraints:{required:h()===!0}},getValue:()=>u(),prepareValue:Q,setValue:R,clear:()=>(R(!1),!0),focus:()=>t.focus(),reveal:()=>U(t),highlight:e=>W(t.closest(`label`)??t,e),validate:()=>t.reportValidity(),validateValue:e=>ne(t,e),getState:()=>({disabled:t.matches(`:disabled`),readonly:!1,valid:t.validity.valid,validationMessage:t.validationMessage||void 0})}});var B=me();let V;var H=S(B);C(H,t=>({id:e(k),type:`checkbox`,name:s.name,value:s.value,disabled:m(),required:h(),checked:u(),"aria-label":s[`aria-label`]??(!s.label&&!T?`Checkbox`:void 0),"aria-describedby":e(j),"aria-invalid":t,onchange:z,...v,"data-smrt-part":`input`}),[()=>T?.().invalid?`true`:void 0],void 0,void 0,`svelte-1o3zuy5`,!0),x(H,e=>I(O,e),()=>e(O));var K=w(H,2),q=S(K),Y=e=>{var t=de();p(e,t)},$=e=>{var t=fe();p(e,t)};t(q,e=>{f()?e(Y):u()&&e($,1)}),o(K);var ee=w(K,2),te=e=>{var t=pe(),n=D(t,!0);N(()=>c(n,s.label)),p(e,t)};t(ee,e=>{s.label&&e(te)}),o(B),N(()=>{F(B,`data-density`,s.density),V=i(B,1,`smrt-checkbox__root ${g()??``}`,`svelte-1o3zuy5`,V,{"smrt-checkbox__disabled":m()}),F(B,`data-smrt-control`,e(L)),F(B,`data-smrt-form`,E?.formId),F(B,`data-smrt-subject-type`,e(P)===!1?void 0:e(P).subject?.type),F(B,`data-smrt-subject-id`,e(P)===!1?void 0:e(P).subject?.id)}),p(a,B),r()}var ge=new Set([`$$slots`,`$$events`,`$$legacy`,`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`name`,`class`,`interaction`,`aria-label`,`aria-describedby`,`aria-invalid`,`density`]),_e=s(`<input/>`);function ve(t,i){d(i,!0);let a=_(i,`type`,3,`text`),o=_(i,`value`,15,``),s=_(i,`disabled`,3,!1),c=_(i,`readonly`,3,!1),l=_(i,`required`,3,!1),u=_(i,`class`,3,``),f=A(i,ge),m=le(),h=J(),g=y(null),v=n(()=>i.id??m?.().inputId),b=n(()=>i[`aria-describedby`]??m?.().describedBy),S=n(()=>i[`aria-invalid`]??(m?.().invalid?`true`:void 0)),w=n(()=>{let e=m?.().interaction;return i.interaction===!1||e===!1?!1:{...e??{},...i.interaction??{}}}),T=n(()=>e(w)===!1?void 0:e(w).id??i.name??e(v));function E(){switch(a()){case`email`:return`email`;case`password`:return`password`;case`number`:return`number`;case`date`:return`date`;case`time`:return`time`;case`datetime-local`:return`datetime`;case`range`:return`slider`;default:return`text`}}function D(t){o(a()===`number`||a()===`range`?t===``||t==null?``:Number(t):String(t??``)),e(g)&&G(e(g))}function O(t){if(!e(g))return!0;if((a()===`number`||a()===`range`)&&t!==``&&t!=null&&!Number.isFinite(typeof t==`number`?t:Number(t)))return{valid:!1,message:`invalid_number`};let n=e(g).cloneNode(),r=String(t??``);try{n.value=r}catch{return{valid:!1,message:`invalid_value`}}return n.value===r?{valid:n.checkValidity(),message:n.validationMessage||void 0}:{valid:!1,message:`invalid_value`}}X(()=>{let t=e(g),n=e(T),r=e(w);return!t||!n||r===!1?!1:{controlId:n,subject:r.subject,metadata:{kind:E(),label:m?.().label??i[`aria-label`]??void 0,description:r.description??m?.().description,sensitivity:r.sensitivity??(a()===`password`?`secret`:`public`),readable:r.readable,writable:r.writable,constraints:{required:l()===!0,min:t.min||void 0,max:t.max||void 0,step:t.step||void 0,minLength:t.minLength>=0?t.minLength:void 0,maxLength:t.maxLength>=0?t.maxLength:void 0,pattern:t.pattern||void 0}},getValue:()=>o(),prepareValue:e=>a()===`number`||a()===`range`?ee(e):$(e),setValue:D,clear:()=>(D(``),!0),focus:()=>t.focus(),reveal:()=>U(t),highlight:e=>W(t,e),validate:()=>t.reportValidity(),validateValue:O,getState:()=>({disabled:t.matches(`:disabled`),readonly:t.readOnly,valid:t.validity.valid,validationMessage:t.validationMessage||void 0})}});function k(){e(g)?.focus()}function M(){e(g)&&U(e(g))}function N(t){e(g)&&W(e(g),t)}function P(){return e(g)}var F={focus:k,reveal:M,highlight:N,getElement:P},L=_e();return C(L,()=>({id:e(v),type:a(),placeholder:i.placeholder,disabled:s(),readonly:c(),required:l(),name:i.name,"aria-label":i[`aria-label`],"aria-describedby":e(b),"aria-invalid":e(S),"data-density":i.density,class:`smrt-input__root ${u()??``}`,"data-smrt-control":e(T),"data-smrt-form":h?.formId,"data-smrt-subject-type":e(w)===!1?void 0:e(w).subject?.type,"data-smrt-subject-id":e(w)===!1?void 0:e(w).subject?.id,...f,"data-smrt-component":`Input`}),void 0,void 0,void 0,`svelte-zo4qku`,!0),x(L,e=>I(g,e),()=>e(g)),j(L,o),p(t,L),r(F)}var ye=s(`<label><input type="radio" class="svelte-1jri901"/> <span> </span></label>`),be=s(`<div role="radiogroup" tabindex="-1" data-smrt-component="SegmentedControl"></div>`);function xe(t,a){let s=M();d(a,!0);let l=_(a,`value`,15),f=_(a,`required`,3,!1),h=_(a,`disabled`,3,!1),C=_(a,`fullWidth`,3,!1),E=_(a,`class`,3,``),O=k(()=>l()),A=n(()=>a.options.find(e=>e.value===l()&&!e.disabled)),j=n(()=>a.options.find(e=>!e.disabled)),R=n(()=>e(A)??e(j));b(()=>{e(H)?.querySelectorAll(`input[type="radio"]`).forEach(t=>{t.setCustomValidity(!a.name&&f()&&!e(A)&&a.options[Number(t.dataset.optionIndex)]===e(R)?`Please select an option.`:``)})});function z(e,t){e.defaultChecked=O===t.value&&!t.disabled}function B(t){if(!(t.target instanceof HTMLInputElement)||t.target.matches(`:disabled`))return;let n=Array.from(e(H)?.querySelectorAll(`input[type="radio"]:not(:disabled)`)??[]),r=n.indexOf(t.target),i;switch(t.key){case`ArrowRight`:case`ArrowDown`:i=(r+1)%n.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+n.length)%n.length;break;case`Home`:i=0;break;case`End`:i=n.length-1;break;default:return}let o=n[i];o&&(t.preventDefault(),o.focus(),q(a.options[Number(o.dataset.optionIndex)].value,!0))}b(()=>{let t=e(H);if(!t)return;let n=null,r=!1,i=t=>{let n=l();setTimeout(async()=>{if(t.defaultPrevented||!e(H)?.isConnected||!Object.is(l(),n))return;let r=a.options.find(e=>e.value===O&&!e.disabled);l(r?.value),Y(V,e(K),a.interaction===!1?void 0:a.interaction?.subject),await P(),e(H)?.querySelectorAll(`input[type="radio"]`).forEach(e=>{e.checked=a.options[Number(e.dataset.optionIndex)]?.value===l()&&!e.disabled})})};return P().then(()=>{r||(n=t.closest(`form`),n?.addEventListener(`reset`,i))}),()=>{r=!0,n?.removeEventListener(`reset`,i)}});let V=J(),H=y(null),K=n(()=>a.interaction===!1?void 0:a.interaction?.id??a.name??`segment-${s}`);function q(t,n=!1,r=!0){let i=a.options.find(e=>String(e.value)===String(t));if(!i||i.disabled)return;let o=!Object.is(l(),i.value);l(i.value),a.onvaluechange?.(i.value),n&&o&&(Y(V,e(K),a.interaction===!1?void 0:a.interaction?.subject),e(H)&&r&&G(e(H)))}X(()=>{let t=e(H);return!t||a.interaction===!1?!1:{controlId:e(K),subject:a.interaction?.subject,metadata:{kind:`segmented-control`,label:a.label,description:a.interaction?.description,sensitivity:a.interaction?.sensitivity??`public`,readable:a.interaction?.readable,writable:a.interaction?.writable,options:a.options,constraints:{required:f()}},getValue:()=>l(),prepareValue:e=>te(a.options,e),setValue:q,clear:()=>(l(void 0),!0),focus:()=>t.querySelector(`input[type="radio"]:not(:disabled)`)?.focus(),reveal:()=>U(t),highlight:e=>W(t,e),validate:()=>t.querySelector(`input[type="radio"]:not(:disabled)`)?.reportValidity()??!0,validateValue:e=>ae(a.options,e),getState:()=>({disabled:h()||t.closest(`fieldset:disabled`)!==null,valid:!f()||!!e(A)||h()||t.closest(`fieldset:disabled`)!==null})}});var Z=be();let Q;u(Z,23,()=>a.options,e=>e.value,(t,n,r)=>{var s=ye();let l;var u=S(s);g(u),T(u,(e,t)=>z?.(e,t),()=>e(n));var d=w(u,2),_=D(d,!0);o(s),N(()=>{l=i(s,1,`svelte-1jri901`,null,l,{selected:e(A)===e(n),disabled:h()||e(n).disabled}),F(u,`name`,a.name),v(u,e(n).value),u.disabled=h()||e(n).disabled,u.required=f()&&e(R)===e(n),F(u,`aria-label`,e(n).label),L(u,e(A)===e(n)),F(u,`aria-checked`,e(A)===e(n)),F(u,`tabindex`,e(A)===e(n)||!e(A)&&e(j)===e(n)?0:-1),F(u,`data-option-index`,e(r)),c(_,e(n).label)}),m(`change`,u,()=>q(e(n).value,!0,!1)),p(t,s)}),o(Z),x(Z,e=>I(H,e),()=>e(H)),N(()=>{F(Z,`data-density`,a.density),Q=i(Z,1,`segmented ${E()??``}`,`svelte-1jri901`,Q,{"full-width":C()}),F(Z,`aria-label`,a.label),F(Z,`aria-required`,f()),F(Z,`data-smrt-control`,e(K)),F(Z,`data-smrt-form`,V?.formId),F(Z,`data-smrt-subject-type`,a.interaction===!1?void 0:a.interaction?.subject?.type),F(Z,`data-smrt-subject-id`,a.interaction===!1?void 0:a.interaction?.subject?.id)}),m(`keydown`,Z,B),p(t,Z),r()}h([`keydown`,`change`]);export{B as C,V as S,q as _,le as a,W as b,Q as c,ne as d,re as f,Y as g,X as h,ce as i,te as l,oe as m,ve as n,Z as o,ae as p,he as r,ie as s,xe as t,$ as u,J as v,U as x,G as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,Ot as m,Pt as h,R as g,Rt as _,U as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,bt as E,ct as D,dt as O,ft as k,gt as A,ht as j,it as M,k as N,mt as P,n as F,o as I,pt as L,q as R,s as z,st as B,tt as V,ut as H,v as U,vt as W,xt as G,y as K,z as ee}from"./DG3qFFTE.js";import{n as q}from"./
|
|
1
|
+
import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,Ot as m,Pt as h,R as g,Rt as _,U as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,bt as E,ct as D,dt as O,ft as k,gt as A,ht as j,it as M,k as N,mt as P,n as F,o as I,pt as L,q as R,s as z,st as B,tt as V,ut as H,v as U,vt as W,xt as G,y as K,z as ee}from"./DG3qFFTE.js";import{n as q}from"./BBYjYdwL.js";import"./xihTtKlq.js";import{i as J,r as te}from"./Bv5jGtB8.js";import{a as Y,t as ne}from"./YUSKx8_q.js";import{$ as re,C as ie,X as ae,_ as oe,_t as X,a as se,bt as ce,c as le,d as ue,et as de,f as fe,g as pe,h as me,nt as he,p as ge,q as _e,t as ve,tt as ye,u as be,ut as xe,v as Se,yt as Ce}from"./B81CeftJ.js";import{n as Z}from"./DK8Blf1Y.js";import{n as we}from"./B2aomX_k.js";import"./OH7CqE-U.js";import{u as Te}from"./DIE02RSm.js";import{b as Ee,d as De,f as Oe,l as ke,n as Ae,r as je,x as Me}from"./Qxx7HWld.js";import"./BoTniyTY.js";import{t as Ne}from"./K9O-e-XY.js";import{S as Pe,_ as Fe,a as Ie,d as Le,f as Re,g as ze,h as Be,m as Ve,n as He,p as Ue,r as We,t as Ge,u as Ke,v as qe,x as Je}from"./CTz6b8sX.js";import{A as Ye,C as Xe,E as Ze,O as Qe,S as $e,j as et,k as tt,n as nt,v as rt,w as it,x as at,y as ot}from"./0GttNSaG.js";import{G as st,H as ct,M as lt,Q as ut,U as dt,W as ft,X as pt,b as mt,g as ht,h as gt,q as _t,t as vt,v as yt,x as bt}from"./CGILVblc.js";import{a as xt,i as St,n as Ct,r as wt}from"./CO-Ek-HE.js";import{a as Tt,c as Et,i as Dt,l as Ot,n as kt}from"./3nInxoCv.js";import{r as At}from"./D_U_DYjx.js";import"./glUGUrBl.js";import{t as jt}from"./BgDByODt.js";import{a as Mt,d as Nt,i as Pt,l as Ft,o as It,p as Lt,r as Rt,s as zt,u as Bt}from"./G8JeRda5.js";import{a as Vt,d as Ht,f as Ut,i as Wt,l as Gt,o as Kt,p as qt,r as Jt,s as Yt,u as Xt}from"./Cne67d4c.js";import{n as Zt}from"./CgAkqYsL.js";import{a as Qt,i as $t,n as en,o as tn,r as nn,s as rn,t as an}from"./BL-j01wI.js";import{t as on}from"./JBD5vUbP.js";function sn(e,t){return{key:t,direction:e?.key===t&&e.direction===`ascending`?`descending`:`ascending`}}var cn=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function ln(e){return e==null||e===``||typeof e==`number`&&!Number.isFinite(e)}function un(e,t){if(typeof e==`number`&&typeof t==`number`)return e-t;if(typeof e==`boolean`&&typeof t==`boolean`)return Number(e)-Number(t);let n=e instanceof Date?e.getTime():e,r=t instanceof Date?t.getTime():t;return typeof n==`number`&&typeof r==`number`?n-r:cn.compare(String(n),String(r))}function dn(e,t,n){return t?e.map((e,r)=>({row:e,index:r,value:n(e,t.key)})).sort((e,n)=>{let r=ln(e.value);if(r!==ln(n.value))return r?1:-1;let i=r?0:un(e.value,n.value);return(t.direction===`ascending`?i:-i)||e.index-n.index}).map(({row:e})=>e):[...e]}var fn={name:`@happyvertical/smrt-assets`,displayName:`Assets`,description:`Provider-agnostic asset management with versioning, metadata, folders, and associations`,uiSlots:{"attachment-list":{id:`attachment-list`,label:`Attachment List`,description:`Authorized private links and supplied version history`,icon:`file-text`,category:`list`,order:8,propsInterface:`AttachmentListProps`},"attachment-upload":{id:`attachment-upload`,label:`Attachment Upload`,description:`Native multipart upload with retained request fields and recovery guidance`,icon:`upload`,category:`form`,order:9,propsInterface:`AttachmentUploadProps`},"attachment-panel":{id:`attachment-panel`,label:`Attachments`,description:`Attachment list and optional native upload composition`,icon:`file-text`,category:`display`,order:10,propsInterface:`AttachmentPanelProps`},"asset-manager":{id:`asset-manager`,label:`Asset Manager`,description:`Combined asset management surface with toolbar, grid/list view, detail, and selection`,icon:`folder-image`,category:`admin`,order:1,propsInterface:`AssetManagerProps`},"asset-grid":{id:`asset-grid`,label:`Asset Grid`,description:`Grid view of asset thumbnails with selection`,icon:`grid`,category:`list`,order:2,propsInterface:`AssetGridProps`},"asset-list":{id:`asset-list`,label:`Asset List`,description:`Sortable list view of assets with metadata columns`,icon:`list`,category:`list`,order:3,propsInterface:`AssetListProps`},"asset-detail":{id:`asset-detail`,label:`Asset Detail`,description:`Detailed view of a single asset with metadata and preview`,icon:`file-text`,category:`detail`,order:4,propsInterface:`AssetDetailProps`},"asset-toolbar":{id:`asset-toolbar`,label:`Asset Toolbar`,description:`Toolbar with view toggle, filters, sort, and upload action`,icon:`sliders`,category:`action`,order:5,propsInterface:`AssetToolbarProps`},"asset-action-bar":{id:`asset-action-bar`,label:`Asset Action Bar`,description:`Bulk action bar shown when assets are selected`,icon:`more-horizontal`,category:`action`,order:6,propsInterface:`ActionBarProps`},"asset-create-modal":{id:`asset-create-modal`,label:`Create Asset Modal`,description:`Modal dialog for uploading and creating a new asset`,icon:`upload`,category:`form`,order:7,propsInterface:`CreateAssetModalProps`}},models:[`Asset`,`AssetType`,`AssetStatus`,`AssetMetafield`,`Folder`],collections:[`AssetCollection`,`AssetTypeCollection`,`AssetStatusCollection`,`AssetMetafieldCollection`,`AssetAssociationCollection`,`FolderCollection`]},Q=Y({"assets.action_bar.delete_confirm_title":`Delete {count} asset{plural}?`,"assets.action_bar.delete_confirm_message_one":`This action cannot be undone. The asset and its file data will be permanently removed.`,"assets.action_bar.delete_confirm_message_other":`This action cannot be undone. The assets and their file data will be permanently removed.`,"assets.action_bar.delete":`Delete`,"assets.action_bar.cancel":`Cancel`,"assets.asset_detail.open_pdf_in_new_tab":`Open PDF in new tab`,"assets.asset_detail.alt_text":`Alt Text`,"assets.asset_detail.alt_text_missing_warning":`⚠️ Missing — required for accessibility`,"assets.asset_detail.quick_actions":`Quick Actions`,"assets.asset_detail.copy_url":`📋 Copy URL`,"assets.asset_detail.copy_markdown":`📝 Copy Markdown`,"assets.asset_detail.edit_image":`✏️ Edit Image`,"assets.asset_detail.used_in":`Used In`,"assets.asset_detail.alt_text_placeholder":`Describe this image for screen readers`,"assets.asset_detail.description_placeholder":`Optional description`,"assets.asset_grid.loading":`Loading assets...`,"assets.asset_grid.no_assets_found":`No assets found`,"assets.asset_grid.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_grid.no_alt":`⚠️ No alt`,"assets.asset_grid.missing_alt_text":`Missing alt text`,"assets.asset_grid.open_named":`Open {name}`,"assets.asset_grid.select_named":`Select {name}`,"assets.asset_grid.select_named_checkbox":`Select {name}`,"assets.asset_list.loading":`Loading assets...`,"assets.asset_list.no_assets_found":`No assets found`,"assets.asset_list.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_list.select_all":`Select all`,"assets.asset_list.select_named":`Select {name}`,"assets.asset_manager.drop_file_to_upload":`Drop file to upload`,"assets.asset_toolbar.all_types":`All types`,"assets.asset_toolbar.newest_first":`Newest first`,"assets.asset_toolbar.oldest_first":`Oldest first`,"assets.asset_toolbar.name_a_z":`Name A–Z`,"assets.asset_toolbar.name_z_a":`Name Z–A`,"assets.asset_toolbar.recently_updated":`Recently updated`,"assets.asset_toolbar.search_placeholder":`Search assets...`,"assets.asset_toolbar.search_assets":`Search assets`,"assets.asset_toolbar.clear_search":`Clear search`,"assets.asset_toolbar.filter_by_type":`Filter by type`,"assets.asset_toolbar.sort_assets":`Sort assets`,"assets.asset_toolbar.view_mode":`View mode`,"assets.asset_toolbar.view_label":`{label} view`,"assets.create_asset_modal.dropzone_text":`Drag & drop a file here, or click to browse`,"assets.create_asset_modal.dropzone_hint":`You can also paste an image from your clipboard`,"assets.create_asset_modal.large_file_warning":`⚠️ Large file — may slow page loads`,"assets.create_asset_modal.alt_text":`Alt Text`,"assets.create_asset_modal.alt_text_recommended_warning":`⚠️ Recommended for accessibility`,"assets.create_asset_modal.name_placeholder":`Asset name`,"assets.create_asset_modal.description_placeholder":`Optional description`,"assets.create_asset_modal.alt_text_placeholder":`Describe this image for screen readers`,"assets.create_asset_modal.upload_asset":`Upload Asset`,"assets.create_asset_modal.preview_alt":`Preview`,"assets.create_asset_modal.remove_file":`Remove file`,"assets.create_asset_modal.upload_failed":`Upload failed. Please try again.`,"assets.asset_detail_preview.modal_preview":`Modal Preview`,"assets.asset_detail_preview.description":`Launch the asset detail dialog from inside the preview stage so the shared
|
|
2
2
|
playground stays navigable.`,"assets.asset_detail_preview.open_asset_detail":`Open Asset Detail`,"assets.create_asset_modal_preview.modal_preview":`Modal Preview`,"assets.create_asset_modal_preview.title":`Create Asset Modal`,"assets.create_asset_modal_preview.description":`Open the upload dialog from inside the preview stage to exercise the real
|
|
3
3
|
modal flow without covering the host navigation.`,"assets.create_asset_modal_preview.open_upload_modal":`Open Upload Modal`,"assets.create_asset_modal_preview.alt_text":`Alt Text`,"assets.asset_manager_route.eyebrow":`Package Route Surface`,"assets.asset_manager_route.title":`Asset Manager`,"assets.asset_manager_route.lede":`The reference route for browsing, selecting, and reviewing uploaded
|
|
4
4
|
assets with the package-owned asset manager UI.`,"assets.asset_manager_route.selection_state":`Selection State`,"assets.asset_manager_route.no_assets_selected":`No assets selected.`,"assets.asset_manager_route.assets_selected":`asset{plural} selected.`,"assets.asset_manager_route.custom_action_example":`Custom Action Example`,"assets.asset_manager_route.custom_action_description":`This route keeps package-owned defaults while leaving room for app
|