@happyvertical/smrt-planner 0.0.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -8
- package/app/404.html +42 -49
- package/app/_app/immutable/assets/0.BvXq1Svw.css +1 -0
- package/app/_app/immutable/assets/10.CdYxvH4G.css +1 -0
- package/app/_app/immutable/assets/11.nOT5Z4Fv.css +1 -0
- package/app/_app/immutable/assets/12.F7A7zP4J.css +1 -0
- package/app/_app/immutable/assets/13.JoySu8W5.css +1 -0
- package/app/_app/immutable/assets/14.nsp62-4b.css +1 -0
- package/app/_app/immutable/assets/2.CbPiqdz5.css +1 -0
- package/app/_app/immutable/assets/3.D518dbB5.css +1 -0
- package/app/_app/immutable/assets/4.B3vt1gMJ.css +1 -0
- package/app/_app/immutable/assets/AiSetup.4fXjMpTZ.css +1 -0
- package/app/_app/immutable/assets/AppShell.DKPbJFmw.css +1 -0
- package/app/_app/immutable/assets/ConnectTools.DTleL8YA.css +1 -0
- package/app/_app/immutable/assets/FieldMapForm.C8SZ3t4N.css +1 -0
- package/app/_app/immutable/assets/ModelPage.DzDhJQz3.css +1 -0
- package/app/_app/immutable/assets/SectionActions.BE1CPmxk.css +1 -0
- package/app/_app/immutable/assets/SectionIcons.BGFcFuOf.css +1 -0
- package/app/_app/immutable/assets/SegmentedControl.T_hJQXHk.css +1 -0
- package/app/_app/immutable/assets/app.BS7nbUi0.css +1 -0
- package/app/_app/immutable/assets/currency-metadata.CJIy0Dzm.css +1 -0
- package/app/_app/immutable/assets/data.DQcbQG_b.css +1 -0
- package/app/_app/immutable/assets/feedback.FjY5wqsa.css +1 -0
- package/app/_app/immutable/assets/forms.DA06CFM9.css +1 -0
- package/app/_app/immutable/assets/labels.Dny6zd23.css +1 -0
- package/app/_app/immutable/assets/percent.CBivq97O.css +1 -0
- package/app/_app/immutable/assets/state.C9Put0ur.css +1 -0
- package/app/_app/immutable/assets/webmcp-ui-context.CC5pQLNE.css +1 -0
- package/app/_app/immutable/assets/workspace.Dtoe2fRU.css +1 -0
- package/app/_app/immutable/chunks/3ouNUakh.js +1 -0
- package/app/_app/immutable/chunks/B3FAegW4.js +4 -0
- package/app/_app/immutable/chunks/B8iReL-r.js +1 -0
- package/app/_app/immutable/chunks/BCmdRE3j.js +4 -0
- package/app/_app/immutable/chunks/BV3NwM01.js +1 -0
- package/app/_app/immutable/chunks/BVicq_6F.js +1 -0
- package/app/_app/immutable/chunks/Ba1g71Sq.js +1 -0
- package/app/_app/immutable/chunks/BdjvgMW6.js +1 -0
- package/app/_app/immutable/chunks/BiO_bqNH.js +2 -0
- package/app/_app/immutable/chunks/{BnRri03M.js → BrorvU4B.js} +1 -1
- package/app/_app/immutable/chunks/By-QJdbA.js +980 -0
- package/app/_app/immutable/chunks/{CyUMm_Wp.js → BzITuwgY.js} +1 -1
- package/app/_app/immutable/chunks/BzMfoxBk.js +1 -0
- package/app/_app/immutable/chunks/C-AoRalq.js +1 -0
- package/app/_app/immutable/chunks/CGKL_Nlh.js +1 -0
- package/app/_app/immutable/chunks/CNj-_B0j.js +1 -0
- package/app/_app/immutable/chunks/CU8cbxOZ.js +1 -0
- package/app/_app/immutable/chunks/CZGhPAoL.js +2 -0
- package/app/_app/immutable/chunks/CaEdOwVf.js +1 -0
- package/app/_app/immutable/chunks/Cas1hq-y.js +1 -0
- package/app/_app/immutable/chunks/CfOMUCNN.js +1 -0
- package/app/_app/immutable/chunks/Cm0VMWZu.js +1 -0
- package/app/_app/immutable/chunks/CsmXMAyE.js +1 -0
- package/app/_app/immutable/chunks/{BWPhGFHl.js → D0FW0z6R.js} +1 -1
- package/app/_app/immutable/chunks/D3nyL-ZK.js +1 -0
- package/app/_app/immutable/chunks/DEe2Vsu9.js +1 -0
- package/app/_app/immutable/chunks/DTs3DOB0.js +10 -0
- package/app/_app/immutable/chunks/Dm6R8q7G.js +1 -0
- package/app/_app/immutable/chunks/Dreozana.js +1 -0
- package/app/_app/immutable/chunks/Dx8H44Wq.js +2 -0
- package/app/_app/immutable/chunks/DxR35SQx.js +24 -0
- package/app/_app/immutable/chunks/EcFojPiU.js +11 -0
- package/app/_app/immutable/chunks/JBS2nHGN.js +1 -0
- package/app/_app/immutable/chunks/TjbilXEg.js +1 -0
- package/app/_app/immutable/chunks/ZLqixH7j.js +9 -0
- package/app/_app/immutable/chunks/auwiz8v4.js +1 -0
- package/app/_app/immutable/chunks/dbZ3U29n.js +1 -0
- package/app/_app/immutable/chunks/{DkR8_Ws6.js → gHjidpzw.js} +2 -2
- package/app/_app/immutable/chunks/vNEnXNLV.js +3 -0
- package/app/_app/immutable/entry/app.vuScBcN4.js +2 -0
- package/app/_app/immutable/entry/start.C_vMied2.js +1 -0
- package/app/_app/immutable/nodes/0.BeNJfVow.js +9 -0
- package/app/_app/immutable/nodes/1.huiLmf4w.js +1 -0
- package/app/_app/immutable/nodes/10.B3buyRS-.js +3 -0
- package/app/_app/immutable/nodes/11.FNeDQehr.js +1 -0
- package/app/_app/immutable/nodes/12.umrKgKLQ.js +4 -0
- package/app/_app/immutable/nodes/13.DFr7i0IY.js +1 -0
- package/app/_app/immutable/nodes/14.BNgJ8cEq.js +1 -0
- package/app/_app/immutable/nodes/2.B3v0JtfB.js +24 -0
- package/app/_app/immutable/nodes/3.FLW3AkwU.js +1 -0
- package/app/_app/immutable/nodes/4.50B7EkB9.js +1 -0
- package/app/_app/immutable/nodes/5.Din7W_Et.js +1 -0
- package/app/_app/immutable/nodes/6.7dOUE7nr.js +1 -0
- package/app/_app/immutable/nodes/7.C4XsW0qI.js +1 -0
- package/app/_app/immutable/nodes/8.D_MREd8V.js +1 -0
- package/app/_app/immutable/nodes/9.cn87hhI-.js +1 -0
- package/app/_app/version.json +1 -1
- package/app/advanced-styles/index.html +84 -0
- package/app/ai/index.html +60 -52
- package/app/blueprint/index.html +46 -53
- package/app/cookbook/index.html +46 -53
- package/app/index.html +92 -64
- package/app/m/ads/AdDeliveryTier/index.html +52 -59
- package/app/m/ads/AdEvent/index.html +52 -59
- package/app/m/ads/AdFormat/index.html +52 -59
- package/app/m/ads/AdGroup/index.html +52 -59
- package/app/m/ads/AdVariation/index.html +52 -59
- package/app/m/analytics/AnalyticsDataStream/index.html +52 -59
- package/app/m/analytics/AnalyticsEvent/index.html +52 -59
- package/app/m/analytics/AnalyticsProperty/index.html +52 -59
- package/app/m/analytics/AnalyticsReport/index.html +52 -59
- package/app/m/approvals/ApprovalEvent/index.html +52 -59
- package/app/m/approvals/ApprovalPolicy/index.html +52 -59
- package/app/m/approvals/ApprovalRequest/index.html +52 -59
- package/app/m/assets/Asset/attachments/index.html +91 -0
- package/app/m/assets/Asset/index.html +52 -59
- package/app/m/assets/AssetAssociation/index.html +53 -60
- package/app/m/assets/AssetMetafield/index.html +52 -59
- package/app/m/assets/AssetStatus/index.html +52 -59
- package/app/m/assets/AssetType/index.html +52 -59
- package/app/m/assets/Folder/index.html +52 -59
- package/app/m/chat/AgentSession/index.html +52 -59
- package/app/m/chat/ChatMessage/index.html +53 -60
- package/app/m/chat/ChatParticipant/index.html +53 -60
- package/app/m/chat/ChatReaction/index.html +52 -59
- package/app/m/chat/ChatRoom/index.html +52 -59
- package/app/m/chat/ChatThread/index.html +53 -60
- package/app/m/chat/VoiceGatewayTurn/index.html +52 -59
- package/app/m/chat/VoiceSession/index.html +52 -59
- package/app/m/commerce/Agreement/index.html +52 -59
- package/app/m/commerce/Cart/index.html +52 -59
- package/app/m/commerce/Contract/index.html +52 -59
- package/app/m/commerce/ContractLineItem/index.html +53 -60
- package/app/m/commerce/Customer/index.html +52 -59
- package/app/m/commerce/DocumentTax/index.html +89 -0
- package/app/m/commerce/Estimate/index.html +52 -59
- package/app/m/commerce/Fulfillment/index.html +52 -59
- package/app/m/commerce/FulfillmentLineItem/index.html +53 -60
- package/app/m/commerce/Invoice/index.html +52 -59
- package/app/m/commerce/InvoiceLineItem/index.html +53 -60
- package/app/m/commerce/Lease/index.html +52 -59
- package/app/m/commerce/LicenseSale/index.html +52 -59
- package/app/m/commerce/Order/index.html +52 -59
- package/app/m/commerce/Payment/index.html +52 -59
- package/app/m/commerce/PaymentAllocation/index.html +53 -60
- package/app/m/commerce/PaymentInstrument/index.html +52 -59
- package/app/m/commerce/PaymentIntent/index.html +52 -59
- package/app/m/commerce/Payout/index.html +52 -59
- package/app/m/commerce/ProductionOrder/index.html +52 -59
- package/app/m/commerce/PurchaseContract/index.html +89 -0
- package/app/m/commerce/PurchaseOrder/index.html +52 -59
- package/app/m/commerce/SalesContract/index.html +89 -0
- package/app/m/commerce/SupplierQuote/index.html +89 -0
- package/app/m/commerce/TaxCode/index.html +89 -0
- package/app/m/commerce/TaxComponent/index.html +89 -0
- package/app/m/commerce/TaxSettings/index.html +89 -0
- package/app/m/commerce/TaxSummaryReport/index.html +89 -0
- package/app/m/commerce/Vendor/index.html +52 -59
- package/app/m/commerce/WholesaleOrder/index.html +52 -59
- package/app/m/content/Content/index.html +52 -59
- package/app/m/content/ContentContribution/index.html +52 -59
- package/app/m/content/ContentContributionAttachment/index.html +52 -59
- package/app/m/content/ContentContributionRevision/index.html +52 -59
- package/app/m/content/ContentContributionType/index.html +52 -59
- package/app/m/content/ContentContributor/index.html +52 -59
- package/app/m/content/ContentCorrection/index.html +52 -59
- package/app/m/content/ContentFeedSource/index.html +52 -59
- package/app/m/content/ContentGovernanceAssignment/index.html +52 -59
- package/app/m/content/ContentGovernancePolicy/index.html +52 -59
- package/app/m/content/ContentGovernanceProfile/index.html +52 -59
- package/app/m/content/ContentReference/index.html +52 -59
- package/app/m/content/ContentReview/index.html +52 -59
- package/app/m/content/ContentVersion/index.html +52 -59
- package/app/m/events/Event/index.html +52 -59
- package/app/m/events/EventParticipant/index.html +53 -60
- package/app/m/events/EventSeries/index.html +52 -59
- package/app/m/events/EventType/index.html +52 -59
- package/app/m/expenses/Expense/index.html +89 -0
- package/app/m/facts/Fact/index.html +52 -59
- package/app/m/facts/FactContent/index.html +52 -59
- package/app/m/facts/FactEvidence/index.html +52 -59
- package/app/m/facts/FactSource/index.html +52 -59
- package/app/m/facts/FactSubject/index.html +52 -59
- package/app/m/facts/FactTag/index.html +52 -59
- package/app/m/fields/FieldPolicy/index.html +52 -59
- package/app/m/fields/FieldPolicySuggestion/index.html +52 -59
- package/app/m/fields/FieldUsageCounter/index.html +52 -59
- package/app/m/images/Image/index.html +52 -59
- package/app/m/inventory/InventoryLocation/index.html +52 -59
- package/app/m/inventory/StockLevel/index.html +52 -59
- package/app/m/inventory/StockMovement/index.html +52 -59
- package/app/m/ledgers/Account/index.html +52 -59
- package/app/m/ledgers/Journal/index.html +52 -59
- package/app/m/ledgers/JournalEntry/index.html +53 -60
- package/app/m/manufacturing/Assembly/index.html +52 -59
- package/app/m/manufacturing/BillOfMaterials/index.html +52 -59
- package/app/m/manufacturing/BomLine/index.html +52 -59
- package/app/m/manufacturing/Operation/index.html +52 -59
- package/app/m/manufacturing/ProductionRun/index.html +52 -59
- package/app/m/manufacturing/ProductionRunCompletion/index.html +52 -59
- package/app/m/manufacturing/RoutingStep/index.html +52 -59
- package/app/m/marketing/Campaign/index.html +52 -59
- package/app/m/marketing/CampaignChannel/index.html +52 -59
- package/app/m/marketing/CampaignMetricSnapshot/index.html +52 -59
- package/app/m/messages/Account/index.html +52 -59
- package/app/m/messages/Attachment/index.html +52 -59
- package/app/m/messages/Blacklist/index.html +52 -59
- package/app/m/messages/Email/failed-sends/index.html +54 -59
- package/app/m/messages/Email/index.html +52 -59
- package/app/m/messages/Email/mailbox/index.html +54 -59
- package/app/m/messages/EmailAccount/index.html +52 -59
- package/app/m/messages/EmailAttachment/index.html +89 -0
- package/app/m/messages/EmailFolder/index.html +52 -59
- package/app/m/messages/Message/index.html +52 -59
- package/app/m/messages/MessagingEndpoint/index.html +52 -59
- package/app/m/messages/PersonaMessageRoute/index.html +52 -59
- package/app/m/messages/SlackAccount/index.html +52 -59
- package/app/m/messages/SlackMessage/index.html +52 -59
- package/app/m/messages/TelegramAccount/index.html +52 -59
- package/app/m/messages/Tweet/index.html +52 -59
- package/app/m/messages/TwitterAccount/index.html +52 -59
- package/app/m/messages/Whitelist/index.html +52 -59
- package/app/m/messages/ZulipAccount/index.html +52 -59
- package/app/m/places/Place/index.html +52 -59
- package/app/m/places/PlaceType/index.html +52 -59
- package/app/m/products/Category/index.html +52 -59
- package/app/m/products/Material/index.html +52 -59
- package/app/m/products/Product/index.html +52 -59
- package/app/m/products/Product/ingredients/index.html +54 -59
- package/app/m/products/ProductVariant/index.html +53 -60
- package/app/m/products/Sku/index.html +53 -60
- package/app/m/profiles/ApiKey/index.html +52 -59
- package/app/m/profiles/Bot/index.html +52 -59
- package/app/m/profiles/MagicLinkToken/index.html +52 -59
- package/app/m/profiles/NostrIdentity/index.html +52 -59
- package/app/m/profiles/OidcIdentity/index.html +52 -59
- package/app/m/profiles/Organization/index.html +52 -59
- package/app/m/profiles/Person/index.html +52 -59
- package/app/m/profiles/Profile/index.html +52 -59
- package/app/m/profiles/ProfileMetadata/index.html +52 -59
- package/app/m/profiles/ProfileMetafield/index.html +52 -59
- package/app/m/profiles/ProfileRelationship/index.html +52 -59
- package/app/m/profiles/ProfileRelationshipTerm/index.html +52 -59
- package/app/m/profiles/ProfileRelationshipType/index.html +52 -59
- package/app/m/profiles/ProfileType/index.html +52 -59
- package/app/m/projects/Comment/index.html +53 -60
- package/app/m/projects/Issue/index.html +52 -59
- package/app/m/projects/Label/index.html +52 -59
- package/app/m/projects/Project/index.html +52 -59
- package/app/m/projects/ProjectIntegration/index.html +52 -59
- package/app/m/projects/PullRequest/index.html +52 -59
- package/app/m/projects/Repository/index.html +52 -59
- package/app/m/properties/Property/index.html +52 -59
- package/app/m/properties/Zone/index.html +52 -59
- package/app/m/reports/RuntimeReport/index.html +52 -59
- package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +52 -59
- package/app/m/reports/SmrtReportLock/index.html +52 -59
- package/app/m/reports/SmrtReportRefreshTask/index.html +52 -59
- package/app/m/reports/SmrtReportRun/index.html +52 -59
- package/app/m/reports/SmrtReportSchedule/index.html +52 -59
- package/app/m/reports/SmrtReportWatermark/index.html +52 -59
- package/app/m/sales/AttributionException/index.html +52 -59
- package/app/m/sales/AttributionPolicy/index.html +52 -59
- package/app/m/sales/Commission/index.html +52 -59
- package/app/m/sales/CommissionAdjustment/index.html +52 -59
- package/app/m/sales/CommissionPayout/index.html +52 -59
- package/app/m/sales/CommissionPlan/index.html +52 -59
- package/app/m/sales/Earner/index.html +52 -59
- package/app/m/sales/EarnerSourceAttribution/index.html +52 -59
- package/app/m/sales/EarningEvent/index.html +52 -59
- package/app/m/sales/ExecutedAgreement/index.html +52 -59
- package/app/m/sales/Lead/index.html +52 -59
- package/app/m/sales/Opportunity/index.html +52 -59
- package/app/m/sales/OpportunityConversion/index.html +52 -59
- package/app/m/sales/PipelineDefinition/index.html +52 -59
- package/app/m/sales/PipelineStage/index.html +53 -60
- package/app/m/sales/Referral/index.html +52 -59
- package/app/m/sales/ReferralAgreement/index.html +52 -59
- package/app/m/sales/ReferralLink/index.html +52 -59
- package/app/m/sales/ReferralProgram/index.html +52 -59
- package/app/m/sales/ReferralTermSnapshot/index.html +52 -59
- package/app/m/sales/ReferralTouch/index.html +52 -59
- package/app/m/sales/Referrer/index.html +52 -59
- package/app/m/sales/SalesActivity/index.html +52 -59
- package/app/m/sales/SalesRepresentative/index.html +52 -59
- package/app/m/sites/Site/index.html +52 -59
- package/app/m/sites/SiteAgentBinding/index.html +52 -59
- package/app/m/social/OAuthState/index.html +52 -59
- package/app/m/social/SocialAccount/index.html +52 -59
- package/app/m/social/SocialPost/index.html +52 -59
- package/app/m/social/SocialPostAnalyticsSnapshot/index.html +52 -59
- package/app/m/subscriptions/BillingAdjustment/index.html +52 -59
- package/app/m/subscriptions/ClientCharge/index.html +52 -59
- package/app/m/subscriptions/CreditGrant/index.html +52 -59
- package/app/m/subscriptions/PricingRule/index.html +52 -59
- package/app/m/subscriptions/RetailCharge/index.html +52 -59
- package/app/m/subscriptions/SpendingPolicy/index.html +52 -59
- package/app/m/subscriptions/SubscriptionPlan/index.html +52 -59
- package/app/m/subscriptions/TenantSubscription/index.html +52 -59
- package/app/m/subscriptions/TenantUsageMetric/index.html +52 -59
- package/app/m/support/ServiceTimeEntry/index.html +52 -59
- package/app/m/support/SupportAiRun/index.html +52 -59
- package/app/m/support/SupportAvailability/index.html +52 -59
- package/app/m/support/SupportCase/index.html +52 -59
- package/app/m/support/SupportCaseEvent/index.html +52 -59
- package/app/m/support/SupportChannelBinding/index.html +52 -59
- package/app/m/support/SupportCharge/index.html +52 -59
- package/app/m/support/SupportCompensation/index.html +52 -59
- package/app/m/support/SupportCompensationPlan/index.html +52 -59
- package/app/m/support/SupportEscalation/index.html +52 -59
- package/app/m/support/SupportInteraction/index.html +52 -59
- package/app/m/support/SupportPlan/index.html +52 -59
- package/app/m/support/SupportPolicy/index.html +52 -59
- package/app/m/support/SupportQualification/index.html +52 -59
- package/app/m/support/SupportServiceTarget/index.html +52 -59
- package/app/m/support/SupportSpecialist/index.html +52 -59
- package/app/m/support/SupportWorkLink/index.html +52 -59
- package/app/m/tags/Tag/index.html +52 -59
- package/app/m/tags/TagAlias/index.html +52 -59
- package/app/m/timesheets/AttendanceBreak/index.html +52 -59
- package/app/m/timesheets/AttendancePunch/index.html +52 -59
- package/app/m/timesheets/AttendanceSegment/index.html +89 -0
- package/app/m/timesheets/ServiceChargeSnapshot/index.html +52 -59
- package/app/m/timesheets/ServiceCompensationSnapshot/index.html +52 -59
- package/app/m/timesheets/ServiceTimeEntry/index.html +52 -59
- package/app/m/users/Group/index.html +52 -59
- package/app/m/users/GroupMember/index.html +52 -59
- package/app/m/users/GroupRole/index.html +52 -59
- package/app/m/users/Membership/index.html +53 -60
- package/app/m/users/MembershipOverride/index.html +52 -59
- package/app/m/users/Permission/index.html +52 -59
- package/app/m/users/Role/index.html +52 -59
- package/app/m/users/RolePermission/index.html +52 -59
- package/app/m/users/Session/index.html +52 -59
- package/app/m/users/Tenant/index.html +52 -59
- package/app/m/users/TenantIntegration/index.html +52 -59
- package/app/m/users/TenantPermissionOverride/index.html +52 -59
- package/app/m/users/User/index.html +52 -59
- package/app/m/video/Character/index.html +52 -59
- package/app/m/video/CharacterAsset/index.html +52 -59
- package/app/m/video/CompositeJob/index.html +52 -59
- package/app/m/video/Performer/index.html +52 -59
- package/app/m/video/PerformerAsset/index.html +52 -59
- package/app/m/video/Scene/index.html +52 -59
- package/app/m/video/SceneAsset/index.html +52 -59
- package/app/m/video/VideoComposition/index.html +52 -59
- package/app/m/video/VideoCompositionAsset/index.html +52 -59
- package/app/m/video/VideoSequence/index.html +52 -59
- package/app/m/video/VideoSequenceAsset/index.html +52 -59
- package/app/m/video/VideoShot/index.html +52 -59
- package/app/m/video/VideoShotAsset/index.html +52 -59
- package/app/m/video/VideoShotCharacter/index.html +52 -59
- package/app/m/video/VideoWorkflow/index.html +52 -59
- package/app/m/voice/VoiceOutput/index.html +52 -59
- package/app/m/voice/VoiceProfile/index.html +52 -59
- package/app/m/voice/VoiceSample/index.html +52 -59
- package/app/packages/ads/index.html +50 -57
- package/app/packages/analytics/index.html +50 -57
- package/app/packages/approvals/index.html +50 -57
- package/app/packages/assets/index.html +50 -57
- package/app/packages/chat/index.html +50 -57
- package/app/packages/comments/index.html +50 -57
- package/app/packages/commerce/index.html +50 -57
- package/app/packages/content/index.html +50 -57
- package/app/packages/events/index.html +50 -57
- package/app/packages/expenses/index.html +50 -57
- package/app/packages/facts/index.html +50 -57
- package/app/packages/fields/index.html +50 -57
- package/app/packages/human-resources/index.html +50 -57
- package/app/packages/images/index.html +50 -57
- package/app/packages/index.html +49 -55
- package/app/packages/ingestion/index.html +85 -0
- package/app/packages/inventory/index.html +50 -57
- package/app/packages/ledgers/index.html +50 -57
- package/app/packages/manufacturing/index.html +50 -57
- package/app/packages/marketing/index.html +50 -57
- package/app/packages/messages/index.html +50 -57
- package/app/packages/places/index.html +50 -57
- package/app/packages/preferences/index.html +50 -57
- package/app/packages/products/index.html +50 -57
- package/app/packages/profiles/index.html +50 -57
- package/app/packages/projects/index.html +50 -57
- package/app/packages/properties/index.html +50 -57
- package/app/packages/reports/index.html +50 -57
- package/app/packages/sales/index.html +50 -57
- package/app/packages/sites/index.html +50 -57
- package/app/packages/social/index.html +50 -57
- package/app/packages/subscriptions/index.html +50 -57
- package/app/packages/support/index.html +50 -57
- package/app/packages/tags/index.html +50 -57
- package/app/packages/timesheets/index.html +50 -57
- package/app/packages/users/index.html +50 -57
- package/app/packages/video/index.html +50 -57
- package/app/packages/voice/index.html +50 -57
- package/app/packages/webhooks/index.html +85 -0
- package/app/recipes/account-access/help/index.html +52 -57
- package/app/recipes/account-access/index.html +57 -59
- package/app/recipes/activity/help/index.html +52 -57
- package/app/recipes/activity/index.html +57 -59
- package/app/recipes/agreements/help/index.html +52 -57
- package/app/recipes/agreements/index.html +57 -59
- package/app/recipes/analytics.reports/help/index.html +52 -57
- package/app/recipes/analytics.reports/index.html +57 -59
- package/app/recipes/assets/help/index.html +52 -57
- package/app/recipes/assets/index.html +57 -59
- package/app/recipes/billing/help/index.html +52 -57
- package/app/recipes/billing/index.html +57 -59
- package/app/recipes/chat.assistant/help/index.html +52 -57
- package/app/recipes/chat.assistant/index.html +57 -59
- package/app/recipes/comments/help/index.html +52 -57
- package/app/recipes/comments/index.html +57 -59
- package/app/recipes/commerce.customers/help/index.html +52 -57
- package/app/recipes/commerce.customers/index.html +57 -59
- package/app/recipes/commerce.estimates/help/index.html +52 -57
- package/app/recipes/commerce.estimates/index.html +57 -59
- package/app/recipes/commerce.purchases/help/index.html +52 -57
- package/app/recipes/commerce.purchases/index.html +57 -59
- package/app/recipes/commerce.sales/help/index.html +52 -57
- package/app/recipes/commerce.sales/index.html +57 -59
- package/app/recipes/commerce.vendors/help/index.html +52 -57
- package/app/recipes/commerce.vendors/index.html +57 -59
- package/app/recipes/commerce.wholesale/help/index.html +52 -57
- package/app/recipes/commerce.wholesale/index.html +57 -59
- package/app/recipes/events.calendar/help/index.html +52 -57
- package/app/recipes/events.calendar/index.html +57 -59
- package/app/recipes/expenses.tracking/help/index.html +88 -0
- package/app/recipes/expenses.tracking/index.html +92 -0
- package/app/recipes/fields.form-customization/help/index.html +52 -57
- package/app/recipes/fields.form-customization/index.html +57 -59
- package/app/recipes/ingestion/help/index.html +88 -0
- package/app/recipes/ingestion/index.html +93 -0
- package/app/recipes/integrations/help/index.html +88 -0
- package/app/recipes/integrations/index.html +92 -0
- package/app/recipes/inventory.stock/help/index.html +52 -57
- package/app/recipes/inventory.stock/index.html +57 -59
- package/app/recipes/ledgers.bookkeeping/help/index.html +52 -57
- package/app/recipes/ledgers.bookkeeping/index.html +57 -59
- package/app/recipes/messages/help/index.html +52 -57
- package/app/recipes/messages/index.html +57 -59
- package/app/recipes/products/help/index.html +52 -57
- package/app/recipes/products/index.html +57 -59
- package/app/recipes/projects.tracker/help/index.html +52 -57
- package/app/recipes/projects.tracker/index.html +57 -59
- package/app/recipes/reports.materialized/help/index.html +52 -57
- package/app/recipes/reports.materialized/index.html +57 -59
- package/app/recipes/reports.runtime/help/index.html +88 -0
- package/app/recipes/reports.runtime/index.html +92 -0
- package/app/recipes/sales.pipeline/help/index.html +52 -57
- package/app/recipes/sales.pipeline/index.html +57 -59
- package/app/recipes/tags.taxonomy/help/index.html +52 -57
- package/app/recipes/tags.taxonomy/index.html +57 -59
- package/app/recipes/team-collaboration/help/index.html +52 -57
- package/app/recipes/team-collaboration/index.html +57 -59
- package/app/recipes/timesheets.time-entries/help/index.html +88 -0
- package/app/recipes/timesheets.time-entries/index.html +92 -0
- package/app/s/custom-accounts/index.html +82 -0
- package/app/s/custom-appointments/index.html +82 -0
- package/app/s/custom-billing/index.html +47 -54
- package/app/s/custom-buying/index.html +47 -54
- package/app/s/custom-checkout/index.html +82 -0
- package/app/s/custom-classes/index.html +47 -54
- package/app/s/custom-clients/index.html +82 -0
- package/app/s/custom-events/index.html +82 -0
- package/app/s/custom-fleet/index.html +82 -0
- package/app/s/custom-giving/index.html +82 -0
- package/app/s/custom-jobs/index.html +47 -54
- package/app/s/custom-kitchen/index.html +47 -54
- package/app/s/custom-material/index.html +47 -54
- package/app/s/custom-meetings/index.html +82 -0
- package/app/s/custom-members/index.html +47 -54
- package/app/s/custom-parts/index.html +47 -54
- package/app/s/custom-rentals/index.html +82 -0
- package/app/s/custom-roastery/index.html +82 -0
- package/app/s/custom-schedule/index.html +47 -54
- package/app/s/custom-shelf/index.html +82 -0
- package/app/s/custom-shop/index.html +47 -54
- package/app/s/custom-wholesale/index.html +47 -54
- package/app/s/custom-work/index.html +82 -0
- package/app/s/custom-yard/index.html +82 -0
- package/app/s/section-access-control/index.html +47 -54
- package/app/s/section-account-security/index.html +47 -54
- package/app/s/section-accounting/index.html +47 -54
- package/app/s/section-activity/index.html +47 -54
- package/app/s/section-agreements/index.html +47 -54
- package/app/s/section-analytics/index.html +47 -54
- package/app/s/section-assets/index.html +47 -54
- package/app/s/section-billing/index.html +47 -54
- package/app/s/section-calendar/index.html +47 -54
- package/app/s/section-catalog/index.html +47 -54
- package/app/s/section-chat.assistant/index.html +47 -54
- package/app/s/section-comments/index.html +47 -54
- package/app/s/section-fields.form-customization/index.html +47 -54
- package/app/s/section-ingestion/index.html +82 -0
- package/app/s/section-integrations/index.html +82 -0
- package/app/s/section-messages/index.html +47 -54
- package/app/s/section-more/index.html +47 -54
- package/app/s/section-operations/index.html +47 -54
- package/app/s/section-projects/index.html +47 -54
- package/app/s/section-purchasing/index.html +47 -54
- package/app/s/section-reports.materialized/index.html +47 -54
- package/app/s/section-reports.runtime/index.html +82 -0
- package/app/s/section-sales/index.html +47 -54
- package/app/s/section-taxonomy/index.html +47 -54
- package/app/s/section-team/index.html +47 -54
- package/app/s/section-work/index.html +82 -0
- package/dist/ai/state.svelte.d.ts +13 -0
- package/dist/ai/state.svelte.js +33 -0
- package/dist/assistant/change.d.ts +14 -3
- package/dist/assistant/change.js +26 -3
- package/dist/assistant/engine.js +5 -1
- package/dist/assistant/prompt.js +7 -3
- package/dist/catalog/catalog.json +11244 -14189
- package/dist/catalog/generate/exclusions.d.ts +8 -0
- package/dist/catalog/generate/exclusions.js +29 -0
- package/dist/catalog/generate/extract.js +29 -8
- package/dist/catalog/types.d.ts +7 -0
- package/dist/components/AdvancedStyles.svelte +138 -0
- package/dist/components/AdvancedStyles.svelte.d.ts +6 -0
- package/dist/components/AiModelsPage.svelte +40 -0
- package/dist/components/AiModelsPage.svelte.d.ts +7 -0
- package/dist/components/AiSetup.svelte +9 -6
- package/dist/components/AiStatusIcons.svelte +8 -5
- package/dist/components/AppSettings.svelte +105 -1
- package/dist/components/BrowserAssistant.svelte +16 -17
- package/dist/components/BrowserAssistant.svelte.d.ts +2 -0
- package/dist/components/ChildRecords.svelte +61 -14
- package/dist/components/ChildRecords.svelte.d.ts +1 -0
- package/dist/components/ConnectTools.svelte +5 -2
- package/dist/components/CookbooksPanel.svelte +56 -33
- package/dist/components/CopyButton.svelte +65 -0
- package/dist/components/CopyButton.svelte.d.ts +24 -0
- package/dist/components/ExportPanel.svelte +292 -57
- package/dist/components/ExportPanel.svelte.d.ts +10 -1
- package/dist/components/FeatureCard.svelte +21 -10
- package/dist/components/FeaturesPanel.svelte +4 -1
- package/dist/components/FieldInput.svelte +6 -3
- package/dist/components/FieldMapForm.svelte +6 -10
- package/dist/components/FieldMapForm.svelte.d.ts +1 -0
- package/dist/components/FormWorkspace.svelte +80 -9
- package/dist/components/FormWorkspace.svelte.d.ts +1 -0
- package/dist/components/HeaderIconLink.svelte +86 -0
- package/dist/components/HeaderIconLink.svelte.d.ts +14 -0
- package/dist/components/HelpView.svelte +3 -0
- package/dist/components/ModelOptions.svelte +13 -2
- package/dist/components/ModelPage.svelte +33 -5
- package/dist/components/ModelPage.svelte.d.ts +4 -0
- package/dist/components/ModelWorkspace.svelte +148 -50
- package/dist/components/ModelWorkspace.svelte.d.ts +4 -0
- package/dist/components/PackagePage.svelte +96 -0
- package/dist/components/PackagePage.svelte.d.ts +9 -0
- package/dist/components/ProductMedia.svelte +95 -0
- package/dist/components/ProductMedia.svelte.d.ts +10 -0
- package/dist/components/RecipeCards.svelte +13 -1
- package/dist/components/RecipeHelp.svelte +3 -0
- package/dist/components/RecipeOptions.svelte +13 -1
- package/dist/components/RecordFeatures.svelte +22 -8
- package/dist/components/RecordView.svelte +354 -0
- package/dist/components/RecordView.svelte.d.ts +14 -0
- package/dist/components/RelationField.svelte +5 -2
- package/dist/components/SectionActions.svelte +8 -5
- package/dist/components/SectionHeading.svelte +63 -0
- package/dist/components/SectionHeading.svelte.d.ts +11 -0
- package/dist/components/SectionIcons.svelte +15 -3
- package/dist/components/SectionOverview.svelte +33 -3
- package/dist/components/SectionOverview.svelte.d.ts +4 -0
- package/dist/components/SectionPage.svelte +25 -165
- package/dist/components/SectionView.svelte +172 -0
- package/dist/components/SectionView.svelte.d.ts +18 -0
- package/dist/components/SettingsPanel.svelte +3 -9
- package/dist/components/SettingsPanel.svelte.d.ts +1 -5
- package/dist/components/ThemeBridge.svelte +80 -4
- package/dist/components/ThemeBridge.svelte.d.ts +5 -1
- package/dist/components/ThemeSection.svelte +208 -117
- package/dist/components/ThemeSection.svelte.d.ts +3 -7
- package/dist/components/VariantGridForm.svelte +9 -13
- package/dist/components/VariantGridForm.svelte.d.ts +1 -0
- package/dist/components/VoiceTyping.svelte +3 -0
- package/dist/cookbook/describe.d.ts +29 -0
- package/dist/cookbook/describe.js +164 -0
- package/dist/cookbook/file.d.ts +6 -0
- package/dist/cookbook/file.js +18 -4
- package/dist/cookbook/prompt.d.ts +49 -0
- package/dist/cookbook/prompt.js +100 -0
- package/dist/cookbook/store.svelte.d.ts +13 -0
- package/dist/cookbook/store.svelte.js +36 -8
- package/dist/core/prompt.js +10 -1
- package/dist/core/reply.d.ts +6 -1
- package/dist/data/children.d.ts +50 -6
- package/dist/data/children.js +146 -16
- package/dist/data/derived.d.ts +37 -29
- package/dist/data/derived.js +49 -30
- package/dist/data/display.d.ts +21 -8
- package/dist/data/display.js +74 -11
- package/dist/data/fakes.d.ts +48 -9
- package/dist/data/fakes.js +146 -22
- package/dist/data/labels.d.ts +7 -2
- package/dist/data/labels.js +12 -2
- package/dist/data/list-sort.d.ts +8 -0
- package/dist/data/list-sort.js +45 -0
- package/dist/data/money.d.ts +227 -0
- package/dist/data/money.js +413 -0
- package/dist/data/packs.d.ts +13 -0
- package/dist/data/packs.js +1224 -0
- package/dist/data/planner-source.js +123 -3
- package/dist/data/source.d.ts +13 -2
- package/dist/data/source.js +274 -40
- package/dist/features/palette.d.ts +2 -0
- package/dist/features/palette.js +1 -1
- package/dist/forms/stock.d.ts +1 -1
- package/dist/forms/stock.js +3 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +6 -1
- package/dist/kitchen/LiveKitchenBridge.svelte +73 -0
- package/dist/kitchen/LiveKitchenBridge.svelte.d.ts +8 -0
- package/dist/kitchen/live.d.ts +7 -0
- package/dist/kitchen/live.js +51 -0
- package/dist/library/icons.js +34 -0
- package/dist/library/library.json +1546 -15
- package/dist/library/pending.json +5 -0
- package/dist/library/types.d.ts +4 -0
- package/dist/motion/tokens.d.ts +6 -0
- package/dist/motion/tokens.js +32 -0
- package/dist/motion/view-transition.d.ts +13 -0
- package/dist/motion/view-transition.js +17 -0
- package/dist/overviews/definitions.d.ts +41 -2
- package/dist/overviews/definitions.js +111 -4
- package/dist/overviews/models.d.ts +10 -0
- package/dist/overviews/models.js +19 -0
- package/dist/overviews/registry.d.ts +92 -5
- package/dist/overviews/registry.js +468 -58
- package/dist/overviews/validate.js +2 -2
- package/dist/planner/Planner.svelte +374 -166
- package/dist/planner/PlannerControls.svelte +255 -0
- package/dist/planner/PlannerControls.svelte.d.ts +17 -0
- package/dist/planner/PlannerLifecycle.svelte +73 -0
- package/dist/planner/PlannerLifecycle.svelte.d.ts +9 -0
- package/dist/planner/app.svelte.d.ts +12 -2
- package/dist/planner/app.svelte.js +13 -3
- package/dist/planner/assistant.js +20 -2
- package/dist/planner/commands/adapter.js +9 -2
- package/dist/planner/commands/types.d.ts +1 -1
- package/dist/planner/commands/types.js +1 -0
- package/dist/planner/header-icons.d.ts +12 -0
- package/dist/planner/header-icons.js +12 -0
- package/dist/planner/host/HostPlanner.svelte +70 -0
- package/dist/planner/host/HostPlanner.svelte.d.ts +17 -0
- package/dist/planner/host/session.svelte.d.ts +28 -0
- package/dist/planner/host/session.svelte.js +186 -0
- package/dist/planner/routes.d.ts +49 -0
- package/dist/planner/routes.js +64 -0
- package/dist/planner/shell.d.ts +40 -0
- package/dist/planner/shell.js +56 -0
- package/dist/planner/tab.svelte.d.ts +6 -3
- package/dist/planner/tab.svelte.js +11 -4
- package/dist/planner/title.d.ts +15 -0
- package/dist/planner/title.js +21 -0
- package/dist/planner/title.svelte.d.ts +6 -0
- package/dist/planner/title.svelte.js +11 -0
- package/dist/planner/types.d.ts +39 -7
- package/dist/products/media.d.ts +20 -0
- package/dist/products/media.js +65 -0
- package/dist/recipes/help/descriptions.json +1 -3
- package/dist/recipes/index.d.ts +2 -0
- package/dist/recipes/index.js +6 -0
- package/dist/recipes/plumbing.d.ts +35 -1
- package/dist/recipes/plumbing.js +74 -0
- package/dist/screens/definition.d.ts +35 -0
- package/dist/screens/definition.js +132 -0
- package/dist/screens/relations.d.ts +17 -0
- package/dist/screens/relations.js +98 -0
- package/dist/screens/totals.d.ts +37 -0
- package/dist/screens/totals.js +65 -0
- package/dist/sections/info.d.ts +1 -1
- package/dist/sections/info.js +2 -2
- package/dist/settings/app-settings.d.ts +17 -1
- package/dist/settings/app-settings.js +40 -3
- package/dist/smrt-version.d.ts +2 -0
- package/dist/smrt-version.js +4 -0
- package/dist/styles/planner-forms.css +53 -0
- package/dist/styles/planner-lists.css +43 -0
- package/dist/theme/css-highlight.d.ts +6 -0
- package/dist/theme/css-highlight.js +34 -0
- package/dist/theme/custom-css.svelte.d.ts +34 -0
- package/dist/theme/custom-css.svelte.js +246 -0
- package/dist/theme/runtime.js +25 -5
- package/dist/theme/theme.d.ts +26 -3
- package/dist/theme/theme.js +70 -2
- package/dist/upstream/overlay.d.ts +14 -5
- package/dist/upstream/overlay.js +20 -2
- package/package.json +12 -6
- package/app/_app/immutable/assets/0.B5zXkXe_.css +0 -1
- package/app/_app/immutable/assets/10.hpcnxvK1.css +0 -1
- package/app/_app/immutable/assets/11.D7zoXfVV.css +0 -1
- package/app/_app/immutable/assets/12.CPobm1ED.css +0 -1
- package/app/_app/immutable/assets/2.CyaWdRdI.css +0 -1
- package/app/_app/immutable/assets/3.BlPQOes8.css +0 -1
- package/app/_app/immutable/assets/8.2gQeKBp_.css +0 -1
- package/app/_app/immutable/assets/9.HOPT4xtg.css +0 -1
- package/app/_app/immutable/assets/AiSetup.Cb22AigN.css +0 -1
- package/app/_app/immutable/assets/Button.DkP0qkG9.css +0 -1
- package/app/_app/immutable/assets/ConnectTools.BgIJOOGW.css +0 -1
- package/app/_app/immutable/assets/FieldMapForm.BCU-4pO4.css +0 -1
- package/app/_app/immutable/assets/ModelPage.Dd3LcMta.css +0 -1
- package/app/_app/immutable/assets/SectionActions.CTkVuNMF.css +0 -1
- package/app/_app/immutable/assets/SectionIcons.5Udq9vN-.css +0 -1
- package/app/_app/immutable/assets/SegmentedControl.B8SrQacd.css +0 -1
- package/app/_app/immutable/assets/dist.C5nHBk_O.css +0 -1
- package/app/_app/immutable/assets/feedback.BVKAwFck.css +0 -1
- package/app/_app/immutable/assets/forms.BChZ2RWM.css +0 -1
- package/app/_app/immutable/assets/percent.LH0z-ozZ.css +0 -1
- package/app/_app/immutable/assets/store.CGDwHkkF.css +0 -1
- package/app/_app/immutable/assets/ui.B1A1Zl2p.css +0 -1
- package/app/_app/immutable/assets/workspace.BIMkuZDb.css +0 -1
- package/app/_app/immutable/chunks/1okeBSoq.js +0 -1
- package/app/_app/immutable/chunks/2jFBkS1C.js +0 -1
- package/app/_app/immutable/chunks/6P9zxrzU.js +0 -1
- package/app/_app/immutable/chunks/B32EWqI8.js +0 -9
- package/app/_app/immutable/chunks/B4Kevpe0.js +0 -1
- package/app/_app/immutable/chunks/BKwRT_1p.js +0 -1
- package/app/_app/immutable/chunks/BS4h9ES-.js +0 -1
- package/app/_app/immutable/chunks/CMhpRMKg.js +0 -1
- package/app/_app/immutable/chunks/CPRHZZeW.js +0 -1
- package/app/_app/immutable/chunks/CRQ1Pmzr.js +0 -1
- package/app/_app/immutable/chunks/CWtfVMDz.js +0 -1
- package/app/_app/immutable/chunks/Chyo8rdT.js +0 -3
- package/app/_app/immutable/chunks/Ci0DUht6.js +0 -34
- package/app/_app/immutable/chunks/CmmuWmp6.js +0 -2
- package/app/_app/immutable/chunks/CrFNLK0f.js +0 -1
- package/app/_app/immutable/chunks/CsprTb3f.js +0 -2
- package/app/_app/immutable/chunks/CygC84VT.js +0 -2
- package/app/_app/immutable/chunks/D0VgZnk1.js +0 -1
- package/app/_app/immutable/chunks/DD7gpKb2.js +0 -1
- package/app/_app/immutable/chunks/DNRgqfTx.js +0 -1
- package/app/_app/immutable/chunks/DVRKjN-E.js +0 -1
- package/app/_app/immutable/chunks/D_J_XtJy.js +0 -846
- package/app/_app/immutable/chunks/Dp9GVO-9.js +0 -1
- package/app/_app/immutable/chunks/DqcD-WtP.js +0 -1
- package/app/_app/immutable/chunks/QukgIHDX.js +0 -1
- package/app/_app/immutable/chunks/WxSPP8QW.js +0 -4
- package/app/_app/immutable/chunks/Xp1g1t4n.js +0 -3
- package/app/_app/immutable/chunks/leQCwW2d.js +0 -1
- package/app/_app/immutable/chunks/p6bgzXiY.js +0 -1
- package/app/_app/immutable/entry/app.IZIJXhgq.js +0 -2
- package/app/_app/immutable/entry/start.BuaYHD1N.js +0 -1
- package/app/_app/immutable/nodes/0.m_U8WC7E.js +0 -10
- package/app/_app/immutable/nodes/1.Crw8ULhB.js +0 -1
- package/app/_app/immutable/nodes/10.1nQxyH9H.js +0 -4
- package/app/_app/immutable/nodes/11.Cw0JnQF3.js +0 -1
- package/app/_app/immutable/nodes/12.BIocA1aI.js +0 -1
- package/app/_app/immutable/nodes/2.CR5BwGnt.js +0 -17
- package/app/_app/immutable/nodes/3.1B56hgAG.js +0 -1
- package/app/_app/immutable/nodes/4.SSIC7sUh.js +0 -1
- package/app/_app/immutable/nodes/5.DgdwleDQ.js +0 -1
- package/app/_app/immutable/nodes/6.DmD9rqLU.js +0 -1
- package/app/_app/immutable/nodes/7.DdngsBmo.js +0 -1
- package/app/_app/immutable/nodes/8.D2Mszsua.js +0 -3
- package/app/_app/immutable/nodes/9.CLYsywul.js +0 -1
- package/app/m/content/Contents/index.html +0 -96
- package/app/m/preferences/UiPreferenceRecord/index.html +0 -96
- package/app/m/users/AccessRequest/index.html +0 -96
- package/app/m/users/ResourceGrant/index.html +0 -96
- package/app/m/users/UsersCliAuthRequest/index.html +0 -96
- package/app/m/users/UsersMagicLinkToken/index.html +0 -96
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"note": "Cookbooks whose recipes are not in the catalog yet. Nothing loads this file: when the smrt release that declares the awaited recipes is installed and `pnpm catalog:generate` has run, move each entry into library.json (tests/library-cookbooks.test.ts says when).",
|
|
3
|
+
"awaiting": {},
|
|
4
|
+
"cookbooks": []
|
|
5
|
+
}
|
package/dist/library/types.d.ts
CHANGED
|
@@ -20,6 +20,10 @@ export interface CookbookSettings {
|
|
|
20
20
|
paymentTerms?: string;
|
|
21
21
|
/** Default line-item tax rate as a fraction (0.0825 is 8.25%). */
|
|
22
22
|
taxRate?: number;
|
|
23
|
+
/** New documents' prices include tax (Invoice / Contract `lineAmountType`). */
|
|
24
|
+
pricesIncludeTax?: boolean;
|
|
25
|
+
/** Tax rounds per line or once per document (`taxRoundingScope`). */
|
|
26
|
+
taxRounding?: 'line' | 'document';
|
|
23
27
|
}
|
|
24
28
|
/** A curated, ready-made cookbook with the words that introduce it. */
|
|
25
29
|
export interface LibraryCookbook {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type MotionDurationToken = 'instant' | 'short1' | 'short2' | 'short3' | 'short4' | 'medium1' | 'medium2' | 'medium3' | 'medium4' | 'long1' | 'long2' | 'long3' | 'long4';
|
|
2
|
+
/**
|
|
3
|
+
* `--smrt-duration-<token>` in milliseconds, else `fallback` where the theme
|
|
4
|
+
* CSS is not loaded (tests, SSR) or the token is missing from this release.
|
|
5
|
+
*/
|
|
6
|
+
export declare function motionDuration(token: MotionDurationToken, fallback: number): number;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* smrt-ui's motion tokens, read for the Svelte transitions and animations
|
|
3
|
+
* (`animate:flip`) that take a number of milliseconds rather than CSS.
|
|
4
|
+
*
|
|
5
|
+
* CSS-side usages should write the token directly with a fallback, e.g.
|
|
6
|
+
* `var(--smrt-duration-short3, 150ms)`; this is only for the JS side. Reduced
|
|
7
|
+
* motion collapses every duration to 0 so the animation is skipped outright.
|
|
8
|
+
*/
|
|
9
|
+
import { prefersReducedMotion } from "./view-transition.js";
|
|
10
|
+
const cache = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* `--smrt-duration-<token>` in milliseconds, else `fallback` where the theme
|
|
13
|
+
* CSS is not loaded (tests, SSR) or the token is missing from this release.
|
|
14
|
+
*/
|
|
15
|
+
export function motionDuration(token, fallback) {
|
|
16
|
+
if (prefersReducedMotion())
|
|
17
|
+
return 0;
|
|
18
|
+
if (typeof document === 'undefined')
|
|
19
|
+
return fallback;
|
|
20
|
+
const cached = cache.get(token);
|
|
21
|
+
if (cached !== undefined)
|
|
22
|
+
return cached;
|
|
23
|
+
const raw = getComputedStyle(document.documentElement)
|
|
24
|
+
.getPropertyValue(`--smrt-duration-${token}`)
|
|
25
|
+
.trim();
|
|
26
|
+
const match = /^([\d.]+)(ms|s)$/.exec(raw);
|
|
27
|
+
const value = match
|
|
28
|
+
? Number(match[1]) * (match[2] === 's' ? 1000 : 1)
|
|
29
|
+
: fallback;
|
|
30
|
+
cache.set(token, value);
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View transitions: the shell's helpers (`@happyvertical/smrt-svelte/app`,
|
|
3
|
+
* smrt#3858), re-exported so every planner-side caller keeps one import.
|
|
4
|
+
* `runViewTransition` skips the transition under reduced motion and where the
|
|
5
|
+
* browser has none; the hash router in `Planner.svelte` and the static app's
|
|
6
|
+
* `onNavigate` (`createOnNavigateViewTransition`) both go through it.
|
|
7
|
+
*/
|
|
8
|
+
export { createOnNavigateViewTransition, type RunViewTransitionOptions as ViewTransitionOptions, runViewTransition, } from '@happyvertical/smrt-svelte/app';
|
|
9
|
+
/**
|
|
10
|
+
* True when the visitor's OS or browser asks for reduced motion. The shell
|
|
11
|
+
* keeps its own check private, so the motion tokens read this one.
|
|
12
|
+
*/
|
|
13
|
+
export declare function prefersReducedMotion(): boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View transitions: the shell's helpers (`@happyvertical/smrt-svelte/app`,
|
|
3
|
+
* smrt#3858), re-exported so every planner-side caller keeps one import.
|
|
4
|
+
* `runViewTransition` skips the transition under reduced motion and where the
|
|
5
|
+
* browser has none; the hash router in `Planner.svelte` and the static app's
|
|
6
|
+
* `onNavigate` (`createOnNavigateViewTransition`) both go through it.
|
|
7
|
+
*/
|
|
8
|
+
export { createOnNavigateViewTransition, runViewTransition, } from '@happyvertical/smrt-svelte/app';
|
|
9
|
+
/**
|
|
10
|
+
* True when the visitor's OS or browser asks for reduced motion. The shell
|
|
11
|
+
* keeps its own check private, so the motion tokens read this one.
|
|
12
|
+
*/
|
|
13
|
+
export function prefersReducedMotion() {
|
|
14
|
+
return (typeof window !== 'undefined' &&
|
|
15
|
+
typeof window.matchMedia === 'function' &&
|
|
16
|
+
window.matchMedia('(prefers-reduced-motion: reduce)').matches);
|
|
17
|
+
}
|
|
@@ -10,15 +10,54 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { type OverviewDefinition } from '@happyvertical/smrt-svelte/overview';
|
|
12
12
|
import type { ShellLayout } from '@happyvertical/smrt-svelte/workspace/layout';
|
|
13
|
+
import type { CatalogModel } from '../catalog/types.ts';
|
|
13
14
|
/**
|
|
14
15
|
* The overview a section page renders; one frozen definition per id.
|
|
15
16
|
* `undefined` for an id no overview can have (a hand-edited layout's custom
|
|
16
17
|
* section id outside the overview id pattern): the page then shows its menu.
|
|
17
18
|
*/
|
|
18
19
|
export declare function sectionOverview(sectionId: string): OverviewDefinition | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* A record view's overview id (smrt#3718): `detail:<pkg>.<Model>`, the
|
|
22
|
+
* catalog package id and class name, one per model kind. Spelled by the
|
|
23
|
+
* planner, not `recordOverviewId` (which folds the qualified name), so the
|
|
24
|
+
* key reads like the page's path.
|
|
25
|
+
*/
|
|
26
|
+
export declare function detailOverviewId(packageId: string, modelName: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* The catalog model a record overview id names, if any: the planner's
|
|
29
|
+
* `detail:<pkg>.<Model>`, or the framework's `recordOverviewId` form.
|
|
30
|
+
*/
|
|
31
|
+
export declare function detailOverviewModel(id: string): {
|
|
32
|
+
packageId: string;
|
|
33
|
+
model: CatalogModel;
|
|
34
|
+
} | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* The overview a record's view page renders (smrt#3718): the framework's
|
|
37
|
+
* `recordOverview` over the model's definition and its relations: a summary
|
|
38
|
+
* strip of `metric` tiles (a count and a money sum per related model), the
|
|
39
|
+
* `line-items` table and totals when the model has line items, then one
|
|
40
|
+
* tabbed `related` widget. Widget ids come from the relation, so they are the
|
|
41
|
+
* same in the narrowed page. Static per model kind over the whole catalog
|
|
42
|
+
* (every relation's tiles, not only the first four), so a stored override
|
|
43
|
+
* always resolves against the same widget ids whichever recipes are on;
|
|
44
|
+
* {@link detailOverviewFor} is the same definition narrowed to the models in
|
|
45
|
+
* the visitor's app.
|
|
46
|
+
*/
|
|
47
|
+
export declare function detailOverview(id: string): OverviewDefinition | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* {@link detailOverview} with only the default widgets the app can fill
|
|
50
|
+
* (`inApp`): tiles over its models (the first four), the line items when
|
|
51
|
+
* the app has them, the related tabs when any related model is in it. The
|
|
52
|
+
* ids and the allowed set stay those of the static one.
|
|
53
|
+
*/
|
|
54
|
+
export declare function detailOverviewFor(id: string, inApp: ReadonlySet<string>): OverviewDefinition | undefined;
|
|
55
|
+
/** The definition behind any overview id: a section's or a record view's. */
|
|
56
|
+
export declare function overviewDefinition(id: string): OverviewDefinition | undefined;
|
|
19
57
|
/**
|
|
20
58
|
* Whether `id` names an overview in a cookbook with this layout: a section a
|
|
21
|
-
* recipe suggests, More,
|
|
22
|
-
*
|
|
59
|
+
* recipe suggests, More, one of the layout's custom sections, or a record
|
|
60
|
+
* view of a catalog model (`detail:<pkg>.<Model>`). Anything else (a typo, a
|
|
61
|
+
* section from another app) is unknown and its override is dropped.
|
|
23
62
|
*/
|
|
24
63
|
export declare function isOverviewId(id: string, layout?: ShellLayout): boolean;
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
* on), so a saved override always resolves against the same defaults: the
|
|
9
9
|
* cookbook loader, the import and the page agree on what is canonical.
|
|
10
10
|
*/
|
|
11
|
-
import { defineOverview, OVERVIEW_PAGE_ID_PATTERN, } from '@happyvertical/smrt-svelte/overview';
|
|
12
|
-
import { catalog } from "../catalog/index.js";
|
|
11
|
+
import { defineOverview, OVERVIEW_DEFAULT_MAX_WIDGETS, OVERVIEW_PAGE_ID_PATTERN, RECORD_OVERVIEW_MAX_METRICS, recordOverview, recordOverviewId, } from '@happyvertical/smrt-svelte/overview';
|
|
12
|
+
import { catalog, getModel } from "../catalog/index.js";
|
|
13
13
|
import { humanize, pluralize } from "../data/format.js";
|
|
14
14
|
import { FEATURE_SECTION } from "../recipes/features.js";
|
|
15
15
|
import { buildNavSections, recipeNav, recipes } from "../recipes/index.js";
|
|
16
|
+
import { screenDefinition } from "../screens/definition.js";
|
|
17
|
+
import { screenRelations } from "../screens/relations.js";
|
|
16
18
|
import { CORE_WIDGET_TYPES, RECIPE_WIDGET_TYPES } from "./registry.js";
|
|
17
19
|
const NAV_SECTIONS = new Map(buildNavSections(recipes).map((section) => [
|
|
18
20
|
`section:${section.id}`,
|
|
@@ -82,15 +84,120 @@ export function sectionOverview(sectionId) {
|
|
|
82
84
|
}
|
|
83
85
|
return definition;
|
|
84
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* A record view's overview id (smrt#3718): `detail:<pkg>.<Model>`, the
|
|
89
|
+
* catalog package id and class name, one per model kind. Spelled by the
|
|
90
|
+
* planner, not `recordOverviewId` (which folds the qualified name), so the
|
|
91
|
+
* key reads like the page's path.
|
|
92
|
+
*/
|
|
93
|
+
export function detailOverviewId(packageId, modelName) {
|
|
94
|
+
return `detail:${packageId}.${modelName}`;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Exposed models by the framework's own record overview id
|
|
98
|
+
* (`recordOverviewId(objectRef)`: `detail:happyvertical.smrt-commerce.Customer`),
|
|
99
|
+
* so an override keyed the way a generated app keys it is a known page here too.
|
|
100
|
+
*/
|
|
101
|
+
const BY_FRAMEWORK_ID = new Map(catalog.packages.flatMap((pkg) => pkg.models
|
|
102
|
+
.filter((model) => model.exposed)
|
|
103
|
+
.map((model) => [
|
|
104
|
+
recordOverviewId(model.id),
|
|
105
|
+
{ packageId: pkg.id, model },
|
|
106
|
+
])));
|
|
107
|
+
/**
|
|
108
|
+
* The catalog model a record overview id names, if any: the planner's
|
|
109
|
+
* `detail:<pkg>.<Model>`, or the framework's `recordOverviewId` form.
|
|
110
|
+
*/
|
|
111
|
+
export function detailOverviewModel(id) {
|
|
112
|
+
const match = /^detail:([A-Za-z0-9_-]+)\.([A-Za-z0-9_]+)$/.exec(id);
|
|
113
|
+
const [, packageId, modelName] = match ?? [];
|
|
114
|
+
const model = packageId && modelName ? getModel(packageId, modelName) : undefined;
|
|
115
|
+
if (packageId && model?.exposed)
|
|
116
|
+
return { packageId, model };
|
|
117
|
+
return BY_FRAMEWORK_ID.get(id);
|
|
118
|
+
}
|
|
119
|
+
/** Every exposed model: the relations a detail overview's defaults cover. */
|
|
120
|
+
const EXPOSED = new Set(catalog.packages.flatMap((pkg) => pkg.models.filter((model) => model.exposed).map((model) => model.id)));
|
|
121
|
+
const detailCache = new Map();
|
|
122
|
+
/**
|
|
123
|
+
* The overview a record's view page renders (smrt#3718): the framework's
|
|
124
|
+
* `recordOverview` over the model's definition and its relations: a summary
|
|
125
|
+
* strip of `metric` tiles (a count and a money sum per related model), the
|
|
126
|
+
* `line-items` table and totals when the model has line items, then one
|
|
127
|
+
* tabbed `related` widget. Widget ids come from the relation, so they are the
|
|
128
|
+
* same in the narrowed page. Static per model kind over the whole catalog
|
|
129
|
+
* (every relation's tiles, not only the first four), so a stored override
|
|
130
|
+
* always resolves against the same widget ids whichever recipes are on;
|
|
131
|
+
* {@link detailOverviewFor} is the same definition narrowed to the models in
|
|
132
|
+
* the visitor's app.
|
|
133
|
+
*/
|
|
134
|
+
export function detailOverview(id) {
|
|
135
|
+
let definition = detailCache.get(id);
|
|
136
|
+
if (definition)
|
|
137
|
+
return definition;
|
|
138
|
+
const found = detailOverviewModel(id);
|
|
139
|
+
if (!found)
|
|
140
|
+
return undefined;
|
|
141
|
+
const relations = screenRelations(catalog, found.model.id, EXPOSED);
|
|
142
|
+
const base = recordOverview(screenDefinition(found.model), relations, {
|
|
143
|
+
id,
|
|
144
|
+
// Every relation's tiles: the narrowed page keeps the first four in the app.
|
|
145
|
+
maxMetrics: 2 * relations.length,
|
|
146
|
+
});
|
|
147
|
+
// The whole catalog relates more models to a customer than one app ever
|
|
148
|
+
// shows; the defaults must fit, and the visitor still gets room to add.
|
|
149
|
+
definition = defineOverview({
|
|
150
|
+
...base,
|
|
151
|
+
maxWidgets: Math.max(base.maxWidgets ?? OVERVIEW_DEFAULT_MAX_WIDGETS, base.defaults.length + OVERVIEW_DEFAULT_MAX_WIDGETS),
|
|
152
|
+
});
|
|
153
|
+
detailCache.set(id, definition);
|
|
154
|
+
return definition;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* {@link detailOverview} with only the default widgets the app can fill
|
|
158
|
+
* (`inApp`): tiles over its models (the first four), the line items when
|
|
159
|
+
* the app has them, the related tabs when any related model is in it. The
|
|
160
|
+
* ids and the allowed set stay those of the static one.
|
|
161
|
+
*/
|
|
162
|
+
export function detailOverviewFor(id, inApp) {
|
|
163
|
+
const full = detailOverview(id);
|
|
164
|
+
const found = detailOverviewModel(id);
|
|
165
|
+
if (!full || !found)
|
|
166
|
+
return undefined;
|
|
167
|
+
const relations = screenRelations(catalog, found.model.id, inApp);
|
|
168
|
+
let tiles = 0;
|
|
169
|
+
const defaults = full.defaults.filter((widget) => {
|
|
170
|
+
if (widget.type === 'line-items') {
|
|
171
|
+
return relations.some((r) => r.kind === 'items');
|
|
172
|
+
}
|
|
173
|
+
if (widget.type === 'related') {
|
|
174
|
+
return relations.some((r) => r.kind === 'children');
|
|
175
|
+
}
|
|
176
|
+
if (!inApp.has(String(widget.options.model)))
|
|
177
|
+
return false;
|
|
178
|
+
if (widget.type !== 'metric')
|
|
179
|
+
return true;
|
|
180
|
+
tiles += 1;
|
|
181
|
+
return tiles <= RECORD_OVERVIEW_MAX_METRICS;
|
|
182
|
+
});
|
|
183
|
+
return defineOverview({ ...full, defaults });
|
|
184
|
+
}
|
|
185
|
+
/** The definition behind any overview id: a section's or a record view's. */
|
|
186
|
+
export function overviewDefinition(id) {
|
|
187
|
+
return id.startsWith('detail:') ? detailOverview(id) : sectionOverview(id);
|
|
188
|
+
}
|
|
85
189
|
/**
|
|
86
190
|
* Whether `id` names an overview in a cookbook with this layout: a section a
|
|
87
|
-
* recipe suggests, More,
|
|
88
|
-
*
|
|
191
|
+
* recipe suggests, More, one of the layout's custom sections, or a record
|
|
192
|
+
* view of a catalog model (`detail:<pkg>.<Model>`). Anything else (a typo, a
|
|
193
|
+
* section from another app) is unknown and its override is dropped.
|
|
89
194
|
*/
|
|
90
195
|
export function isOverviewId(id, layout) {
|
|
91
196
|
if (NAV_SECTIONS.has(id) || id === `section:${FEATURE_SECTION.id}`) {
|
|
92
197
|
return true;
|
|
93
198
|
}
|
|
199
|
+
if (id.startsWith('detail:'))
|
|
200
|
+
return detailOverviewModel(id) !== undefined;
|
|
94
201
|
return (id.startsWith('custom:') &&
|
|
95
202
|
OVERVIEW_PAGE_ID_PATTERN.test(id) &&
|
|
96
203
|
(layout?.customSections ?? []).some((section) => section.id === id));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The models a section overview's option editor offers: the app's, i.e. the
|
|
3
|
+
* added recipes' models and the features' entries, each once, labelled as the
|
|
4
|
+
* menu would. The standalone section page and the mounted `Planner`'s section
|
|
5
|
+
* view compute the same list from the same inputs.
|
|
6
|
+
*/
|
|
7
|
+
import type { OverviewModelChoice } from '@happyvertical/smrt-svelte/overview';
|
|
8
|
+
import type { Recipe } from '../recipes/types.ts';
|
|
9
|
+
import type { SectionEntry } from '../sections/entries.ts';
|
|
10
|
+
export declare function overviewModelChoices(added: readonly Recipe[], index: ReadonlyMap<string, SectionEntry>): OverviewModelChoice[];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { humanize, pluralize } from "../data/format.js";
|
|
2
|
+
import { recipeModels } from "../recipes/index.js";
|
|
3
|
+
export function overviewModelChoices(added, index) {
|
|
4
|
+
const ids = new Set();
|
|
5
|
+
const choices = [];
|
|
6
|
+
const offer = (id, name) => {
|
|
7
|
+
if (ids.has(id))
|
|
8
|
+
return;
|
|
9
|
+
ids.add(id);
|
|
10
|
+
choices.push({ value: id, label: pluralize(humanize(name)) });
|
|
11
|
+
};
|
|
12
|
+
for (const recipe of added) {
|
|
13
|
+
for (const { model } of recipeModels(recipe))
|
|
14
|
+
offer(model.id, model.name);
|
|
15
|
+
}
|
|
16
|
+
for (const entry of index.values())
|
|
17
|
+
offer(entry.model.id, entry.model.name);
|
|
18
|
+
return choices;
|
|
19
|
+
}
|
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
* never from option values: an option names a model or field, the loader looks
|
|
11
11
|
* it up in the catalog and asks the `DataSource` for it.
|
|
12
12
|
*/
|
|
13
|
-
import { type
|
|
14
|
-
import type
|
|
13
|
+
import { type CookbookShortcutsLoader } from '@happyvertical/smrt-svelte/cookbook';
|
|
14
|
+
import { type ChartWidgetData, type MetricWidgetData, type RecipeExportResolver, type RecipeWidgetSource, type RecordListColumn, type RecordListWidgetData, type ShortcutNavSection, type WidgetLoadContext } from '@happyvertical/smrt-svelte/overview';
|
|
15
|
+
import { type ScreenRelation } from '@happyvertical/smrt-svelte/screens';
|
|
16
|
+
import type { DataSource, ModelRecord } from '../data/source.ts';
|
|
15
17
|
import type { SectionEntry } from '../sections/entries.ts';
|
|
16
18
|
/** The capabilities a section page hands its widgets' loaders. */
|
|
17
19
|
export interface PlannerWidgetContext {
|
|
@@ -19,15 +21,99 @@ export interface PlannerWidgetContext {
|
|
|
19
21
|
source: DataSource;
|
|
20
22
|
/** The shell's resolved sections (renames and hides applied). */
|
|
21
23
|
sections: readonly ShortcutNavSection[];
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Layout item id -> the model and scope it lists, for the shortcuts' record
|
|
26
|
+
* counts. Its own key: under `CookbookApp` the shell sets `entries` to its
|
|
27
|
+
* own entry map, which knows no scopes.
|
|
28
|
+
*/
|
|
29
|
+
entryIndex: ReadonlyMap<string, SectionEntry>;
|
|
24
30
|
/** An in-app path with the app query (`appHref`). */
|
|
25
31
|
href: (path: string) => string;
|
|
32
|
+
/**
|
|
33
|
+
* The record a detail overview is rendered on (smrt#3718 record view): what
|
|
34
|
+
* a widget's `filter: 'parent'` confines its rows to. Absent on a section
|
|
35
|
+
* page.
|
|
36
|
+
*/
|
|
37
|
+
record?: {
|
|
38
|
+
model: string;
|
|
39
|
+
id: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* A record page's relations in the visitor's app (`screenRelations`): the
|
|
43
|
+
* tabs of its `related` widget and the lines of its `line-items` widget.
|
|
44
|
+
*/
|
|
45
|
+
relations?: readonly ScreenRelation[];
|
|
46
|
+
/** A related tab's "View all" link. */
|
|
47
|
+
viewAllHref?: (relation: ScreenRelation) => string | undefined;
|
|
26
48
|
}
|
|
27
49
|
/** The registry every planner overview uses. */
|
|
28
50
|
export declare const overviewRegistry: import("@happyvertical/smrt-svelte/overview").WidgetRegistry;
|
|
51
|
+
/**
|
|
52
|
+
* `metric`: a count, or the sum / average / min / max of one numeric field,
|
|
53
|
+
* over the model's sample rows. Money fields stay integer minor units.
|
|
54
|
+
*/
|
|
55
|
+
declare function loadMetric(options: Record<string, unknown>, ctx: WidgetLoadContext): Promise<MetricWidgetData>;
|
|
56
|
+
/**
|
|
57
|
+
* Footer sums over EVERY matching row, not only the page shown: the money
|
|
58
|
+
* (integer minor units) and quantity columns, never one marked
|
|
59
|
+
* `summarize: false` (a unit price).
|
|
60
|
+
*/
|
|
61
|
+
export declare function recordSummaries(columns: readonly RecordListColumn[], rows: readonly ModelRecord[]): Record<string, number>;
|
|
62
|
+
/**
|
|
63
|
+
* `records`: the first `limit` sample rows, optionally sorted by a field;
|
|
64
|
+
* each row links to its record page and carries `cells` for the table's
|
|
65
|
+
* columns (raw: money in integer minor units, dates as ISO strings, a
|
|
66
|
+
* reference as its record's label). `summaries` sum the money and quantity
|
|
67
|
+
* columns over every matching row and `total` counts them, so a footer
|
|
68
|
+
* under a page of five orders still totals all of them. A sort by a
|
|
69
|
+
* framework timestamp the samples do not carry (`createdAt`, the record
|
|
70
|
+
* view's default) falls back to the model's lead date, so "newest" still
|
|
71
|
+
* means newest.
|
|
72
|
+
*/
|
|
73
|
+
declare function loadRecords(options: Record<string, unknown>, ctx: WidgetLoadContext): Promise<RecordListWidgetData>;
|
|
74
|
+
/**
|
|
75
|
+
* `chart`: one measure of the model's sample rows grouped by a field. This is
|
|
76
|
+
* the IN-BROWSER STAND-IN for a runtime report: a generated app's chart
|
|
77
|
+
* loader hands these same options to the runtime report compiler and renders
|
|
78
|
+
* what it returns; the planner groups the seeded rows itself so the widget
|
|
79
|
+
* can be tried before a server exists.
|
|
80
|
+
*
|
|
81
|
+
* `groupBy` names a field: a date field is bucketed (days for `7d`/`30d`,
|
|
82
|
+
* weeks for `90d`, months for `12m`/`all`) with empty buckets kept so a line
|
|
83
|
+
* stays continuous; any other field groups by value, largest first. Absent,
|
|
84
|
+
* the model's lead date field is used. `period` is a window back from the
|
|
85
|
+
* sample clock (`EPOCH`, the fixed "now" of the seeded data) over the
|
|
86
|
+
* grouped date field, else the lead date field; a model with no date field
|
|
87
|
+
* ignores it. `measure` is `count`, or `sum` / `avg` of a numeric `field`;
|
|
88
|
+
* money stays integer minor units. The widget's `style` (bar, line, table,
|
|
89
|
+
* pie or stat) is rendered by the widget itself from these points: `stat`
|
|
90
|
+
* headlines the last point against the one before, which on a date axis is
|
|
91
|
+
* the latest bucket.
|
|
92
|
+
*/
|
|
93
|
+
declare function loadChart(options: Record<string, unknown>, ctx: WidgetLoadContext): Promise<ChartWidgetData>;
|
|
94
|
+
/**
|
|
95
|
+
* The shortcuts' record counts: a `CookbookShortcutsLoader` that gives each of
|
|
96
|
+
* the shell's default entries (the section's menu as resolved: renames, hides,
|
|
97
|
+
* moves) its count of sample rows, in the entry's own scope. The framework
|
|
98
|
+
* composes it with its entries (`composeShortcutsLoader`): under the mounted
|
|
99
|
+
* `Planner`'s `CookbookApp` as `loaders.shortcuts`, on the static app's
|
|
100
|
+
* section pages through {@link overviewRegistry}. An entry the index does not
|
|
101
|
+
* know (no model) keeps no count.
|
|
102
|
+
*/
|
|
103
|
+
export declare const loadShortcutCounts: CookbookShortcutsLoader;
|
|
104
|
+
/**
|
|
105
|
+
* The data loaders over the sample source and the shortcuts' counts, for the
|
|
106
|
+
* mounted `Planner`'s `CookbookApp`, whose registry composes `shortcuts` with
|
|
107
|
+
* the shell's entries.
|
|
108
|
+
*/
|
|
109
|
+
export declare const plannerLoaders: {
|
|
110
|
+
metric: typeof loadMetric;
|
|
111
|
+
records: typeof loadRecords;
|
|
112
|
+
chart: typeof loadChart;
|
|
113
|
+
shortcuts: CookbookShortcutsLoader;
|
|
114
|
+
};
|
|
29
115
|
/** The core widget types a section overview offers. */
|
|
30
|
-
export declare const CORE_WIDGET_TYPES: readonly ["shortcuts", "metric", "records", "note"];
|
|
116
|
+
export declare const CORE_WIDGET_TYPES: readonly ["shortcuts", "metric", "records", "chart", "note"];
|
|
31
117
|
export declare const resolveRecipeExport: RecipeExportResolver;
|
|
32
118
|
/** Recipes that declare at least one `widget` surface. */
|
|
33
119
|
export declare const widgetRecipes: readonly RecipeWidgetSource[];
|
|
@@ -42,3 +128,4 @@ export declare const RECIPE_WIDGET_TYPES: readonly string[];
|
|
|
42
128
|
* validation at load sees them; the promise reports what was skipped.
|
|
43
129
|
*/
|
|
44
130
|
export declare const recipeWidgets: Promise<import("@happyvertical/smrt-svelte/overview").RecipeWidgetRegistration>;
|
|
131
|
+
export {};
|