@happyvertical/smrt-planner 0.57.4 → 0.57.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/app/404.html +19 -19
  2. package/app/_app/immutable/chunks/{BhsxCKaI.js → 5ukUzDcw.js} +1 -1
  3. package/app/_app/immutable/chunks/{CztFAhpp.js → BDbFl7UA.js} +1 -1
  4. package/app/_app/immutable/chunks/{gnVUq1Tr.js → BG9Gz_25.js} +21 -21
  5. package/app/_app/immutable/chunks/{Ckc_1feF.js → Bal1oPZu.js} +1 -1
  6. package/app/_app/immutable/chunks/BhU_yBI_.js +1 -0
  7. package/app/_app/immutable/chunks/{CdPJK-gf.js → BiEOJeYb.js} +1 -1
  8. package/app/_app/immutable/chunks/{BMRtN-eN.js → Bsn3IIve.js} +3 -3
  9. package/app/_app/immutable/chunks/{ukqw0V0Z.js → BybfWt-B.js} +1 -1
  10. package/app/_app/immutable/chunks/{VCg3x54j.js → C1VofLtR.js} +1 -1
  11. package/app/_app/immutable/chunks/{8vF2REci.js → C3sRGrYK.js} +1 -1
  12. package/app/_app/immutable/chunks/{D8D_RStZ.js → CTlMHIE6.js} +1 -1
  13. package/app/_app/immutable/chunks/C_3CJO_1.js +1 -0
  14. package/app/_app/immutable/chunks/{DEwvWTFM.js → Cga8zF3r.js} +1 -1
  15. package/app/_app/immutable/chunks/{D76yH9OO.js → Cr4byQts.js} +1 -1
  16. package/app/_app/immutable/chunks/{B6GaAylQ.js → CtjBwCj8.js} +1 -1
  17. package/app/_app/immutable/chunks/{D7t4xFw6.js → CyUSxz1P.js} +1 -1
  18. package/app/_app/immutable/chunks/{h1rof478.js → DjJovMrk.js} +1 -1
  19. package/app/_app/immutable/chunks/{XlsfHlOd.js → DuZeZzOA.js} +1 -1
  20. package/app/_app/immutable/chunks/{A_IpJrNN.js → J9kOiFLO.js} +1 -1
  21. package/app/_app/immutable/chunks/{DCr75fDJ.js → NppCG--v.js} +1 -1
  22. package/app/_app/immutable/chunks/{CVcfTI5P.js → O8DAZ_le.js} +1 -1
  23. package/app/_app/immutable/chunks/{CUAfmRua.js → YGONf0jr.js} +1 -1
  24. package/app/_app/immutable/chunks/d_dqmeIr.js +1 -0
  25. package/app/_app/immutable/chunks/{BvRNePGN.js → gCpxN2IC.js} +1 -1
  26. package/app/_app/immutable/chunks/{CQ13lq7J.js → nphy1MQF.js} +1 -1
  27. package/app/_app/immutable/entry/{app.C-mGsUDb.js → app.B4gMiHwR.js} +2 -2
  28. package/app/_app/immutable/entry/start.BXkBl20Z.js +1 -0
  29. package/app/_app/immutable/nodes/{0.CG8nFTeW.js → 0.2MYMg80l.js} +1 -1
  30. package/app/_app/immutable/nodes/{1.BY2zPWBD.js → 1.DKP901Gn.js} +1 -1
  31. package/app/_app/immutable/nodes/{10.y59vLZOY.js → 10.DNN0cVai.js} +1 -1
  32. package/app/_app/immutable/nodes/{11.HBRO8fTE.js → 11.DgbmegX3.js} +1 -1
  33. package/app/_app/immutable/nodes/{12.DiV3I_fX.js → 12.D5MtnJoE.js} +1 -1
  34. package/app/_app/immutable/nodes/{13.f4cxyt4f.js → 13._rY66Xa_.js} +1 -1
  35. package/app/_app/immutable/nodes/{14.DnBBJxxq.js → 14.B6TD25VU.js} +1 -1
  36. package/app/_app/immutable/nodes/{2.DR5lKFBV.js → 2.x9WyxQ1S.js} +3 -3
  37. package/app/_app/immutable/nodes/{3.gu2TJwhp.js → 3.V5uGCpGb.js} +1 -1
  38. package/app/_app/immutable/nodes/{4.CU9BPw5o.js → 4.CCwzLrgu.js} +1 -1
  39. package/app/_app/immutable/nodes/{5.CD78hESs.js → 5.CgHzwpns.js} +1 -1
  40. package/app/_app/immutable/nodes/{6.B5LspHdV.js → 6.CvQHLh_u.js} +1 -1
  41. package/app/_app/immutable/nodes/{7.lSo_04_4.js → 7.7EIrly34.js} +1 -1
  42. package/app/_app/immutable/nodes/{8.OVIZi4uJ.js → 8.DyyRBuTw.js} +1 -1
  43. package/app/_app/immutable/nodes/{9.BLNgntah.js → 9.DcURs0gN.js} +1 -1
  44. package/app/_app/version.json +1 -1
  45. package/app/advanced-styles/index.html +22 -22
  46. package/app/ai/index.html +26 -26
  47. package/app/blueprint/index.html +20 -20
  48. package/app/cookbook/index.html +20 -20
  49. package/app/index.html +28 -28
  50. package/app/m/ads/AdDeliveryTier/index.html +23 -23
  51. package/app/m/ads/AdEvent/index.html +23 -23
  52. package/app/m/ads/AdFormat/index.html +23 -23
  53. package/app/m/ads/AdGroup/index.html +23 -23
  54. package/app/m/ads/AdVariation/index.html +23 -23
  55. package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
  56. package/app/m/analytics/AnalyticsEvent/index.html +23 -23
  57. package/app/m/analytics/AnalyticsProperty/index.html +23 -23
  58. package/app/m/analytics/AnalyticsReport/index.html +23 -23
  59. package/app/m/approvals/ApprovalEvent/index.html +23 -23
  60. package/app/m/approvals/ApprovalPolicy/index.html +23 -23
  61. package/app/m/approvals/ApprovalRequest/index.html +23 -23
  62. package/app/m/assets/Asset/attachments/index.html +24 -24
  63. package/app/m/assets/Asset/index.html +23 -23
  64. package/app/m/assets/AssetAssociation/index.html +23 -23
  65. package/app/m/assets/AssetMetafield/index.html +23 -23
  66. package/app/m/assets/AssetStatus/index.html +23 -23
  67. package/app/m/assets/AssetType/index.html +23 -23
  68. package/app/m/assets/Folder/index.html +23 -23
  69. package/app/m/chat/AgentSession/index.html +23 -23
  70. package/app/m/chat/ChatMessage/index.html +23 -23
  71. package/app/m/chat/ChatParticipant/index.html +23 -23
  72. package/app/m/chat/ChatReaction/index.html +23 -23
  73. package/app/m/chat/ChatRoom/index.html +23 -23
  74. package/app/m/chat/ChatThread/index.html +23 -23
  75. package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
  76. package/app/m/chat/VoiceSession/index.html +23 -23
  77. package/app/m/commerce/Agreement/index.html +23 -23
  78. package/app/m/commerce/Cart/index.html +23 -23
  79. package/app/m/commerce/Contract/index.html +23 -23
  80. package/app/m/commerce/ContractLineItem/index.html +23 -23
  81. package/app/m/commerce/Customer/index.html +23 -23
  82. package/app/m/commerce/DocumentTax/index.html +23 -23
  83. package/app/m/commerce/Estimate/index.html +23 -23
  84. package/app/m/commerce/Fulfillment/index.html +23 -23
  85. package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
  86. package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
  87. package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
  88. package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
  89. package/app/m/commerce/Invoice/index.html +23 -23
  90. package/app/m/commerce/InvoiceLineItem/index.html +23 -23
  91. package/app/m/commerce/Lease/index.html +23 -23
  92. package/app/m/commerce/LicenseSale/index.html +23 -23
  93. package/app/m/commerce/Order/index.html +23 -23
  94. package/app/m/commerce/Payment/index.html +23 -23
  95. package/app/m/commerce/PaymentAllocation/index.html +23 -23
  96. package/app/m/commerce/PaymentInstrument/index.html +23 -23
  97. package/app/m/commerce/PaymentIntent/index.html +23 -23
  98. package/app/m/commerce/Payout/index.html +23 -23
  99. package/app/m/commerce/ProductionOrder/index.html +23 -23
  100. package/app/m/commerce/PurchaseContract/index.html +23 -23
  101. package/app/m/commerce/PurchaseOrder/index.html +23 -23
  102. package/app/m/commerce/SalesContract/index.html +23 -23
  103. package/app/m/commerce/SupplierQuote/index.html +23 -23
  104. package/app/m/commerce/TaxCode/index.html +23 -23
  105. package/app/m/commerce/TaxComponent/index.html +23 -23
  106. package/app/m/commerce/TaxSettings/index.html +23 -23
  107. package/app/m/commerce/TaxSummaryReport/index.html +23 -23
  108. package/app/m/commerce/Vendor/index.html +23 -23
  109. package/app/m/commerce/WholesaleOrder/index.html +23 -23
  110. package/app/m/content/Content/index.html +23 -23
  111. package/app/m/content/ContentContribution/index.html +23 -23
  112. package/app/m/content/ContentContributionAttachment/index.html +23 -23
  113. package/app/m/content/ContentContributionRevision/index.html +23 -23
  114. package/app/m/content/ContentContributionType/index.html +23 -23
  115. package/app/m/content/ContentContributor/index.html +23 -23
  116. package/app/m/content/ContentCorrection/index.html +23 -23
  117. package/app/m/content/ContentFeedSource/index.html +23 -23
  118. package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
  119. package/app/m/content/ContentGovernancePolicy/index.html +23 -23
  120. package/app/m/content/ContentGovernanceProfile/index.html +23 -23
  121. package/app/m/content/ContentReference/index.html +23 -23
  122. package/app/m/content/ContentReview/index.html +23 -23
  123. package/app/m/content/ContentVersion/index.html +23 -23
  124. package/app/m/events/Event/index.html +23 -23
  125. package/app/m/events/EventParticipant/index.html +23 -23
  126. package/app/m/events/EventSeries/index.html +23 -23
  127. package/app/m/events/EventType/index.html +23 -23
  128. package/app/m/expenses/Expense/index.html +23 -23
  129. package/app/m/facts/Fact/index.html +23 -23
  130. package/app/m/facts/FactContent/index.html +23 -23
  131. package/app/m/facts/FactEvidence/index.html +23 -23
  132. package/app/m/facts/FactSource/index.html +23 -23
  133. package/app/m/facts/FactSubject/index.html +23 -23
  134. package/app/m/facts/FactTag/index.html +23 -23
  135. package/app/m/fields/FieldPolicy/index.html +23 -23
  136. package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
  137. package/app/m/fields/FieldUsageCounter/index.html +23 -23
  138. package/app/m/images/Image/index.html +23 -23
  139. package/app/m/inventory/InventoryLocation/index.html +23 -23
  140. package/app/m/inventory/StockLevel/index.html +23 -23
  141. package/app/m/inventory/StockMovement/index.html +23 -23
  142. package/app/m/ledgers/Account/index.html +23 -23
  143. package/app/m/ledgers/Journal/index.html +23 -23
  144. package/app/m/ledgers/JournalEntry/index.html +23 -23
  145. package/app/m/ledgers/Ledger/index.html +23 -23
  146. package/app/m/manufacturing/Assembly/index.html +23 -23
  147. package/app/m/manufacturing/BillOfMaterials/index.html +23 -23
  148. package/app/m/manufacturing/BomLine/index.html +23 -23
  149. package/app/m/manufacturing/Operation/index.html +23 -23
  150. package/app/m/manufacturing/ProductionRun/index.html +23 -23
  151. package/app/m/manufacturing/ProductionRunCompletion/index.html +23 -23
  152. package/app/m/manufacturing/RoutingStep/index.html +23 -23
  153. package/app/m/marketing/Campaign/index.html +23 -23
  154. package/app/m/marketing/CampaignChannel/index.html +23 -23
  155. package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
  156. package/app/m/messages/Account/index.html +23 -23
  157. package/app/m/messages/Attachment/index.html +23 -23
  158. package/app/m/messages/Blacklist/index.html +23 -23
  159. package/app/m/messages/Email/failed-sends/index.html +24 -24
  160. package/app/m/messages/Email/index.html +23 -23
  161. package/app/m/messages/Email/mailbox/index.html +24 -24
  162. package/app/m/messages/EmailAccount/index.html +23 -23
  163. package/app/m/messages/EmailAttachment/index.html +23 -23
  164. package/app/m/messages/EmailFolder/index.html +23 -23
  165. package/app/m/messages/Message/index.html +23 -23
  166. package/app/m/messages/MessagingEndpoint/index.html +23 -23
  167. package/app/m/messages/PersonaMessageRoute/index.html +23 -23
  168. package/app/m/messages/SlackAccount/index.html +23 -23
  169. package/app/m/messages/SlackMessage/index.html +23 -23
  170. package/app/m/messages/TelegramAccount/index.html +23 -23
  171. package/app/m/messages/Tweet/index.html +23 -23
  172. package/app/m/messages/TwitterAccount/index.html +23 -23
  173. package/app/m/messages/Whitelist/index.html +23 -23
  174. package/app/m/messages/ZulipAccount/index.html +23 -23
  175. package/app/m/places/Place/index.html +23 -23
  176. package/app/m/places/PlaceType/index.html +23 -23
  177. package/app/m/products/Category/index.html +23 -23
  178. package/app/m/products/Material/index.html +23 -23
  179. package/app/m/products/Product/index.html +23 -23
  180. package/app/m/products/Product/ingredients/index.html +24 -24
  181. package/app/m/products/ProductVariant/index.html +23 -23
  182. package/app/m/products/Sku/index.html +23 -23
  183. package/app/m/profiles/ApiKey/index.html +23 -23
  184. package/app/m/profiles/Bot/index.html +23 -23
  185. package/app/m/profiles/MagicLinkToken/index.html +23 -23
  186. package/app/m/profiles/NostrIdentity/index.html +23 -23
  187. package/app/m/profiles/OidcIdentity/index.html +23 -23
  188. package/app/m/profiles/Organization/index.html +23 -23
  189. package/app/m/profiles/Person/index.html +23 -23
  190. package/app/m/profiles/Profile/index.html +23 -23
  191. package/app/m/profiles/ProfileMetadata/index.html +23 -23
  192. package/app/m/profiles/ProfileMetafield/index.html +23 -23
  193. package/app/m/profiles/ProfileRelationship/index.html +23 -23
  194. package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
  195. package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
  196. package/app/m/profiles/ProfileType/index.html +23 -23
  197. package/app/m/projects/Comment/index.html +23 -23
  198. package/app/m/projects/Issue/index.html +23 -23
  199. package/app/m/projects/Label/index.html +23 -23
  200. package/app/m/projects/Project/index.html +23 -23
  201. package/app/m/projects/ProjectIntegration/index.html +23 -23
  202. package/app/m/projects/PullRequest/index.html +23 -23
  203. package/app/m/projects/Repository/index.html +23 -23
  204. package/app/m/properties/Property/index.html +23 -23
  205. package/app/m/properties/Zone/index.html +23 -23
  206. package/app/m/reports/RuntimeReport/index.html +23 -23
  207. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
  208. package/app/m/reports/SmrtReportLock/index.html +23 -23
  209. package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
  210. package/app/m/reports/SmrtReportRun/index.html +23 -23
  211. package/app/m/reports/SmrtReportSchedule/index.html +23 -23
  212. package/app/m/reports/SmrtReportWatermark/index.html +23 -23
  213. package/app/m/sales/Agreement/index.html +23 -23
  214. package/app/m/sales/AttributionException/index.html +23 -23
  215. package/app/m/sales/AttributionPolicy/index.html +23 -23
  216. package/app/m/sales/Commission/index.html +23 -23
  217. package/app/m/sales/CommissionAdjustment/index.html +23 -23
  218. package/app/m/sales/CommissionPayout/index.html +23 -23
  219. package/app/m/sales/CommissionPlan/index.html +23 -23
  220. package/app/m/sales/Earner/index.html +23 -23
  221. package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
  222. package/app/m/sales/EarningEvent/index.html +23 -23
  223. package/app/m/sales/ExecutedAgreement/index.html +23 -23
  224. package/app/m/sales/Lead/index.html +23 -23
  225. package/app/m/sales/Opportunity/index.html +23 -23
  226. package/app/m/sales/OpportunityConversion/index.html +23 -23
  227. package/app/m/sales/PipelineDefinition/index.html +23 -23
  228. package/app/m/sales/PipelineStage/index.html +23 -23
  229. package/app/m/sales/Referral/index.html +23 -23
  230. package/app/m/sales/ReferralAgreement/index.html +23 -23
  231. package/app/m/sales/ReferralLink/index.html +23 -23
  232. package/app/m/sales/ReferralProgram/index.html +23 -23
  233. package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
  234. package/app/m/sales/ReferralTouch/index.html +23 -23
  235. package/app/m/sales/Referrer/index.html +23 -23
  236. package/app/m/sales/SalesActivity/index.html +23 -23
  237. package/app/m/sales/SalesRepresentative/index.html +23 -23
  238. package/app/m/sites/Site/index.html +23 -23
  239. package/app/m/sites/SiteAgentBinding/index.html +23 -23
  240. package/app/m/social/OAuthState/index.html +23 -23
  241. package/app/m/social/SocialAccount/index.html +23 -23
  242. package/app/m/social/SocialPost/index.html +23 -23
  243. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
  244. package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
  245. package/app/m/subscriptions/ClientCharge/index.html +23 -23
  246. package/app/m/subscriptions/CreditGrant/index.html +23 -23
  247. package/app/m/subscriptions/PricingRule/index.html +23 -23
  248. package/app/m/subscriptions/RetailCharge/index.html +23 -23
  249. package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
  250. package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
  251. package/app/m/subscriptions/TenantSubscription/index.html +23 -23
  252. package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
  253. package/app/m/support/ServiceTimeEntry/index.html +23 -23
  254. package/app/m/support/SupportAiRun/index.html +23 -23
  255. package/app/m/support/SupportAvailability/index.html +23 -23
  256. package/app/m/support/SupportCase/index.html +23 -23
  257. package/app/m/support/SupportCaseEvent/index.html +23 -23
  258. package/app/m/support/SupportChannelBinding/index.html +23 -23
  259. package/app/m/support/SupportCharge/index.html +23 -23
  260. package/app/m/support/SupportCompensation/index.html +23 -23
  261. package/app/m/support/SupportCompensationPlan/index.html +23 -23
  262. package/app/m/support/SupportEscalation/index.html +23 -23
  263. package/app/m/support/SupportInteraction/index.html +23 -23
  264. package/app/m/support/SupportPlan/index.html +23 -23
  265. package/app/m/support/SupportPolicy/index.html +23 -23
  266. package/app/m/support/SupportQualification/index.html +23 -23
  267. package/app/m/support/SupportServiceTarget/index.html +23 -23
  268. package/app/m/support/SupportSpecialist/index.html +23 -23
  269. package/app/m/support/SupportWorkLink/index.html +23 -23
  270. package/app/m/tags/Tag/index.html +23 -23
  271. package/app/m/tags/TagAlias/index.html +23 -23
  272. package/app/m/timesheets/AttendanceBreak/index.html +23 -23
  273. package/app/m/timesheets/AttendancePunch/index.html +23 -23
  274. package/app/m/timesheets/AttendanceSegment/index.html +23 -23
  275. package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
  276. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
  277. package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
  278. package/app/m/users/Group/index.html +23 -23
  279. package/app/m/users/GroupMember/index.html +23 -23
  280. package/app/m/users/GroupRole/index.html +23 -23
  281. package/app/m/users/Membership/index.html +23 -23
  282. package/app/m/users/MembershipOverride/index.html +23 -23
  283. package/app/m/users/Permission/index.html +23 -23
  284. package/app/m/users/Role/index.html +23 -23
  285. package/app/m/users/RolePermission/index.html +23 -23
  286. package/app/m/users/Session/index.html +23 -23
  287. package/app/m/users/Tenant/index.html +23 -23
  288. package/app/m/users/TenantIntegration/index.html +23 -23
  289. package/app/m/users/TenantPermissionOverride/index.html +23 -23
  290. package/app/m/users/User/index.html +23 -23
  291. package/app/m/video/Character/index.html +23 -23
  292. package/app/m/video/CharacterAsset/index.html +23 -23
  293. package/app/m/video/CompositeJob/index.html +23 -23
  294. package/app/m/video/Performer/index.html +23 -23
  295. package/app/m/video/PerformerAsset/index.html +23 -23
  296. package/app/m/video/Scene/index.html +23 -23
  297. package/app/m/video/SceneAsset/index.html +23 -23
  298. package/app/m/video/VideoComposition/index.html +23 -23
  299. package/app/m/video/VideoCompositionAsset/index.html +23 -23
  300. package/app/m/video/VideoSequence/index.html +23 -23
  301. package/app/m/video/VideoSequenceAsset/index.html +23 -23
  302. package/app/m/video/VideoShot/index.html +23 -23
  303. package/app/m/video/VideoShotAsset/index.html +23 -23
  304. package/app/m/video/VideoShotCharacter/index.html +23 -23
  305. package/app/m/video/VideoWorkflow/index.html +23 -23
  306. package/app/m/voice/VoiceOutput/index.html +23 -23
  307. package/app/m/voice/VoiceProfile/index.html +23 -23
  308. package/app/m/voice/VoiceSample/index.html +23 -23
  309. package/app/mcp.html +2 -2
  310. package/app/packages/ads/index.html +22 -22
  311. package/app/packages/analytics/index.html +22 -22
  312. package/app/packages/approvals/index.html +22 -22
  313. package/app/packages/assets/index.html +22 -22
  314. package/app/packages/chat/index.html +22 -22
  315. package/app/packages/comments/index.html +22 -22
  316. package/app/packages/commerce/index.html +22 -22
  317. package/app/packages/content/index.html +22 -22
  318. package/app/packages/events/index.html +22 -22
  319. package/app/packages/expenses/index.html +22 -22
  320. package/app/packages/facts/index.html +22 -22
  321. package/app/packages/fields/index.html +22 -22
  322. package/app/packages/human-resources/index.html +22 -22
  323. package/app/packages/images/index.html +22 -22
  324. package/app/packages/index.html +21 -21
  325. package/app/packages/ingestion/index.html +22 -22
  326. package/app/packages/inventory/index.html +22 -22
  327. package/app/packages/ledgers/index.html +22 -22
  328. package/app/packages/manufacturing/index.html +22 -22
  329. package/app/packages/marketing/index.html +22 -22
  330. package/app/packages/messages/index.html +22 -22
  331. package/app/packages/places/index.html +22 -22
  332. package/app/packages/preferences/index.html +22 -22
  333. package/app/packages/products/index.html +22 -22
  334. package/app/packages/profiles/index.html +22 -22
  335. package/app/packages/projects/index.html +22 -22
  336. package/app/packages/properties/index.html +22 -22
  337. package/app/packages/reports/index.html +22 -22
  338. package/app/packages/sales/index.html +22 -22
  339. package/app/packages/sites/index.html +22 -22
  340. package/app/packages/social/index.html +22 -22
  341. package/app/packages/subscriptions/index.html +22 -22
  342. package/app/packages/support/index.html +22 -22
  343. package/app/packages/tags/index.html +22 -22
  344. package/app/packages/timesheets/index.html +22 -22
  345. package/app/packages/users/index.html +22 -22
  346. package/app/packages/video/index.html +22 -22
  347. package/app/packages/voice/index.html +22 -22
  348. package/app/packages/webhooks/index.html +22 -22
  349. package/app/recipes/account-access/help/index.html +22 -22
  350. package/app/recipes/account-access/index.html +24 -24
  351. package/app/recipes/activity/help/index.html +22 -22
  352. package/app/recipes/activity/index.html +24 -24
  353. package/app/recipes/agreements/help/index.html +22 -22
  354. package/app/recipes/agreements/index.html +24 -24
  355. package/app/recipes/analytics.reports/help/index.html +22 -22
  356. package/app/recipes/analytics.reports/index.html +24 -24
  357. package/app/recipes/assets/help/index.html +22 -22
  358. package/app/recipes/assets/index.html +24 -24
  359. package/app/recipes/billing/help/index.html +22 -22
  360. package/app/recipes/billing/index.html +24 -24
  361. package/app/recipes/chat.assistant/help/index.html +22 -22
  362. package/app/recipes/chat.assistant/index.html +24 -24
  363. package/app/recipes/comments/help/index.html +22 -22
  364. package/app/recipes/comments/index.html +24 -24
  365. package/app/recipes/commerce.customers/help/index.html +22 -22
  366. package/app/recipes/commerce.customers/index.html +24 -24
  367. package/app/recipes/commerce.estimates/help/index.html +22 -22
  368. package/app/recipes/commerce.estimates/index.html +24 -24
  369. package/app/recipes/commerce.purchases/help/index.html +22 -22
  370. package/app/recipes/commerce.purchases/index.html +24 -24
  371. package/app/recipes/commerce.sales/help/index.html +22 -22
  372. package/app/recipes/commerce.sales/index.html +24 -24
  373. package/app/recipes/commerce.vendors/help/index.html +22 -22
  374. package/app/recipes/commerce.vendors/index.html +24 -24
  375. package/app/recipes/commerce.wholesale/help/index.html +22 -22
  376. package/app/recipes/commerce.wholesale/index.html +24 -24
  377. package/app/recipes/events.calendar/help/index.html +22 -22
  378. package/app/recipes/events.calendar/index.html +24 -24
  379. package/app/recipes/expenses.tracking/help/index.html +22 -22
  380. package/app/recipes/expenses.tracking/index.html +24 -24
  381. package/app/recipes/fields.form-customization/help/index.html +22 -22
  382. package/app/recipes/fields.form-customization/index.html +24 -24
  383. package/app/recipes/ingestion/help/index.html +22 -22
  384. package/app/recipes/ingestion/index.html +24 -24
  385. package/app/recipes/integrations/help/index.html +22 -22
  386. package/app/recipes/integrations/index.html +24 -24
  387. package/app/recipes/inventory.stock/help/index.html +22 -22
  388. package/app/recipes/inventory.stock/index.html +24 -24
  389. package/app/recipes/ledgers.bookkeeping/help/index.html +22 -22
  390. package/app/recipes/ledgers.bookkeeping/index.html +24 -24
  391. package/app/recipes/messages/help/index.html +22 -22
  392. package/app/recipes/messages/index.html +24 -24
  393. package/app/recipes/products/help/index.html +22 -22
  394. package/app/recipes/products/index.html +24 -24
  395. package/app/recipes/projects.tracker/help/index.html +22 -22
  396. package/app/recipes/projects.tracker/index.html +24 -24
  397. package/app/recipes/reports.materialized/help/index.html +22 -22
  398. package/app/recipes/reports.materialized/index.html +24 -24
  399. package/app/recipes/reports.runtime/help/index.html +22 -22
  400. package/app/recipes/reports.runtime/index.html +24 -24
  401. package/app/recipes/sales.pipeline/help/index.html +22 -22
  402. package/app/recipes/sales.pipeline/index.html +24 -24
  403. package/app/recipes/tags.taxonomy/help/index.html +22 -22
  404. package/app/recipes/tags.taxonomy/index.html +24 -24
  405. package/app/recipes/team-collaboration/help/index.html +22 -22
  406. package/app/recipes/team-collaboration/index.html +24 -24
  407. package/app/recipes/timesheets.time-entries/help/index.html +22 -22
  408. package/app/recipes/timesheets.time-entries/index.html +24 -24
  409. package/app/s/custom-accounts/index.html +20 -20
  410. package/app/s/custom-appointments/index.html +20 -20
  411. package/app/s/custom-billing/index.html +20 -20
  412. package/app/s/custom-buying/index.html +20 -20
  413. package/app/s/custom-checkout/index.html +20 -20
  414. package/app/s/custom-classes/index.html +20 -20
  415. package/app/s/custom-clients/index.html +20 -20
  416. package/app/s/custom-events/index.html +20 -20
  417. package/app/s/custom-fleet/index.html +20 -20
  418. package/app/s/custom-giving/index.html +20 -20
  419. package/app/s/custom-jobs/index.html +20 -20
  420. package/app/s/custom-kitchen/index.html +20 -20
  421. package/app/s/custom-material/index.html +20 -20
  422. package/app/s/custom-meetings/index.html +20 -20
  423. package/app/s/custom-members/index.html +20 -20
  424. package/app/s/custom-paint/index.html +20 -20
  425. package/app/s/custom-parts/index.html +20 -20
  426. package/app/s/custom-rentals/index.html +20 -20
  427. package/app/s/custom-roastery/index.html +20 -20
  428. package/app/s/custom-schedule/index.html +20 -20
  429. package/app/s/custom-shelf/index.html +20 -20
  430. package/app/s/custom-shop/index.html +20 -20
  431. package/app/s/custom-wholesale/index.html +20 -20
  432. package/app/s/custom-work/index.html +20 -20
  433. package/app/s/custom-yard/index.html +20 -20
  434. package/app/s/section-access-control/index.html +20 -20
  435. package/app/s/section-account-security/index.html +20 -20
  436. package/app/s/section-accounting/index.html +20 -20
  437. package/app/s/section-activity/index.html +20 -20
  438. package/app/s/section-agreements/index.html +20 -20
  439. package/app/s/section-analytics/index.html +20 -20
  440. package/app/s/section-assets/index.html +20 -20
  441. package/app/s/section-billing/index.html +20 -20
  442. package/app/s/section-calendar/index.html +20 -20
  443. package/app/s/section-catalog/index.html +20 -20
  444. package/app/s/section-chat.assistant/index.html +20 -20
  445. package/app/s/section-comments/index.html +20 -20
  446. package/app/s/section-fields.form-customization/index.html +20 -20
  447. package/app/s/section-ingestion/index.html +20 -20
  448. package/app/s/section-integrations/index.html +20 -20
  449. package/app/s/section-messages/index.html +20 -20
  450. package/app/s/section-more/index.html +20 -20
  451. package/app/s/section-operations/index.html +20 -20
  452. package/app/s/section-projects/index.html +20 -20
  453. package/app/s/section-purchasing/index.html +20 -20
  454. package/app/s/section-reports.materialized/index.html +20 -20
  455. package/app/s/section-reports.runtime/index.html +20 -20
  456. package/app/s/section-sales/index.html +20 -20
  457. package/app/s/section-taxonomy/index.html +20 -20
  458. package/app/s/section-team/index.html +20 -20
  459. package/app/s/section-work/index.html +20 -20
  460. package/dist/catalog/catalog.json +50 -38
  461. package/dist/smrt-version.d.ts +1 -1
  462. package/dist/smrt-version.js +1 -1
  463. package/package.json +56 -56
  464. package/app/_app/immutable/chunks/Bc_SIIIS.js +0 -1
  465. package/app/_app/immutable/chunks/Burj9UYU.js +0 -1
  466. package/app/_app/immutable/chunks/C7z2g6fG.js +0 -1
  467. package/app/_app/immutable/entry/start.DnB4rZdO.js +0 -1
@@ -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"./Burj9UYU.js";import"./xihTtKlq.js";import{i as J,r as Y}from"./Bv5jGtB8.js";import{a as X,t as te}from"./YUSKx8_q.js";import{C as ne,G as re,H as ie,J as ae,K as oe,_ as se,a as ce,c as le,d as ue,dt as de,f as fe,ft as pe,g as me,h as he,lt as ge,nt as _e,p as ve,q as ye,t as be,u as xe,v as Se,z as Ce}from"./gnVUq1Tr.js";import{n as Z}from"./DK8Blf1Y.js";import{t as we}from"./M-CuJzQN.js";import"./XlsfHlOd.js";import{u as Te}from"./9pRTae44.js";import{l as Ee,n as De,r as Oe,s as ke,u as Ae,v as je,y as Me}from"./gMSmS-_y.js";import"./Bc_SIIIS.js";import{t as Ne}from"./CdPJK-gf.js";import{a as Pe,f as Fe,m as Ie,n as Le,r as Re,t as ze,u as Be}from"./D7t4xFw6.js";import{C as Ve,D as He,E as Ue,M as We,N as Ge,P as Ke,S as qe,T as Je,j as Ye,k as Xe,n as Ze,v as Qe,w as $e,x as et,y as tt}from"./CVcfTI5P.js";import{H as nt,K as rt,U as it,V as at,W as ot,Y as st,Z as ct,b as lt,g as ut,h as dt,j as ft,t as pt,v as mt,x as ht}from"./B6GaAylQ.js";import{r as gt}from"./D_U_DYjx.js";import{t as _t}from"./VCg3x54j.js";import{a as vt,d as yt,i as bt,l as xt,o as St,p as Ct,r as wt,s as Tt,u as Et}from"./8vF2REci.js";import{a as Dt,d as Ot,f as kt,i as At,l as jt,o as Mt,p as Nt,r as Pt,s as Ft,u as It}from"./D8D_RStZ.js";import{n as Lt}from"./CgAkqYsL.js";import{a as Rt,c as zt,d as Bt,f as Vt,h as Ht,i as Ut,l as Wt,m as Gt,n as Kt,o as qt,p as Jt,r as Yt,s as Xt,t as Zt,u as Qt}from"./CUAfmRua.js";import{t as $t}from"./JBD5vUbP.js";import{n as en}from"./D71UrO5c.js";function tn(e,t){return{key:t,direction:e?.key===t&&e.direction===`ascending`?`descending`:`ascending`}}var nn=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function rn(e){return e==null||e===``||typeof e==`number`&&!Number.isFinite(e)}function an(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:nn.compare(String(n),String(r))}function on(e,t,n){return t?e.map((e,r)=>({row:e,index:r,value:n(e,t.key)})).sort((e,n)=>{let r=rn(e.value);if(r!==rn(n.value))return r?1:-1;let i=r?0:an(e.value,n.value);return(t.direction===`ascending`?i:-i)||e.index-n.index}).map(({row:e})=>e):[...e]}var sn={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=X({"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
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"./C_3CJO_1.js";import"./xihTtKlq.js";import{i as J,r as Y}from"./Bv5jGtB8.js";import{a as X,t as te}from"./YUSKx8_q.js";import{C as ne,G as re,H as ie,J as ae,K as oe,_ as se,a as ce,c as le,d as ue,dt as de,f as fe,ft as pe,g as me,h as he,lt as ge,nt as _e,p as ve,q as ye,t as be,u as xe,v as Se,z as Ce}from"./BG9Gz_25.js";import{n as Z}from"./DK8Blf1Y.js";import{t as we}from"./M-CuJzQN.js";import"./DuZeZzOA.js";import{u as Te}from"./9pRTae44.js";import{l as Ee,n as De,r as Oe,s as ke,u as Ae,v as je,y as Me}from"./gMSmS-_y.js";import"./d_dqmeIr.js";import{t as Ne}from"./BiEOJeYb.js";import{a as Pe,f as Fe,m as Ie,n as Le,r as Re,t as ze,u as Be}from"./CyUSxz1P.js";import{C as Ve,D as He,E as Ue,M as We,N as Ge,P as Ke,S as qe,T as Je,j as Ye,k as Xe,n as Ze,v as Qe,w as $e,x as et,y as tt}from"./O8DAZ_le.js";import{H as nt,K as rt,U as it,V as at,W as ot,Y as st,Z as ct,b as lt,g as ut,h as dt,j as ft,t as pt,v as mt,x as ht}from"./CtjBwCj8.js";import{r as gt}from"./D_U_DYjx.js";import{t as _t}from"./C1VofLtR.js";import{a as vt,d as yt,i as bt,l as xt,o as St,p as Ct,r as wt,s as Tt,u as Et}from"./C3sRGrYK.js";import{a as Dt,d as Ot,f as kt,i as At,l as jt,o as Mt,p as Nt,r as Pt,s as Ft,u as It}from"./CTlMHIE6.js";import{n as Lt}from"./CgAkqYsL.js";import{a as Rt,c as zt,d as Bt,f as Vt,h as Ht,i as Ut,l as Wt,m as Gt,n as Kt,o as qt,p as Jt,r as Yt,s as Xt,t as Zt,u as Qt}from"./YGONf0jr.js";import{t as $t}from"./JBD5vUbP.js";import{n as en}from"./D71UrO5c.js";function tn(e,t){return{key:t,direction:e?.key===t&&e.direction===`ascending`?`descending`:`ascending`}}var nn=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function rn(e){return e==null||e===``||typeof e==`number`&&!Number.isFinite(e)}function an(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:nn.compare(String(n),String(r))}function on(e,t,n){return t?e.map((e,r)=>({row:e,index:r,value:n(e,t.key)})).sort((e,n)=>{let r=rn(e.value);if(r!==rn(n.value))return r?1:-1;let i=r?0:an(e.value,n.value);return(t.direction===`ascending`?i:-i)||e.index-n.index}).map(({row:e})=>e):[...e]}var sn={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=X({"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
@@ -1 +1 @@
1
- import{$ as e,Ct as t,Dt as n,E as r,Ft as i,G as a,Ot as o,U as s,a as c,ft as l,ht as u,st as d,v as f}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as p}from"./gnVUq1Tr.js";import{et as m}from"./B6GaAylQ.js";var h=a(`<div><a class="svelte-1fbsd8p"><!></a> <a class="svelte-1fbsd8p"><!></a></div>`);function g(a,g){o(g,!0);let _=c(g,`compact`,3,!1),v=t(()=>`${p(`/recipes/${g.section}/help/`)}${g.helpAnchor?`#${g.helpAnchor}`:``}`);var y=h();let b;var x=l(y),S=l(x);{let n=t(()=>_()?16:22);m(S,{path:`M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z`,get size(){return e(n)}})}i(x);var C=u(x,2),w=l(C);{let n=t(()=>_()?16:22);m(w,{path:`M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z`,get size(){return e(n)}})}i(C),i(y),d(t=>{b=r(y,1,`icons svelte-1fbsd8p`,null,b,{compact:_()}),f(x,`href`,e(v)),f(x,`title`,`${g.label} help`),f(x,`aria-label`,`${g.label} help`),f(x,`aria-current`,g.current===`help`?`page`:void 0),f(C,`href`,t),f(C,`title`,`${g.label} options`),f(C,`aria-label`,`${g.label} options`),f(C,`aria-current`,g.current===`options`?`page`:void 0)},[()=>p(`/recipes/${g.section}/`)]),s(a,y),n()}export{g as t};
1
+ import{$ as e,Ct as t,Dt as n,E as r,Ft as i,G as a,Ot as o,U as s,a as c,ft as l,ht as u,st as d,v as f}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as p}from"./BG9Gz_25.js";import{et as m}from"./CtjBwCj8.js";var h=a(`<div><a class="svelte-1fbsd8p"><!></a> <a class="svelte-1fbsd8p"><!></a></div>`);function g(a,g){o(g,!0);let _=c(g,`compact`,3,!1),v=t(()=>`${p(`/recipes/${g.section}/help/`)}${g.helpAnchor?`#${g.helpAnchor}`:``}`);var y=h();let b;var x=l(y),S=l(x);{let n=t(()=>_()?16:22);m(S,{path:`M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z`,get size(){return e(n)}})}i(x);var C=u(x,2),w=l(C);{let n=t(()=>_()?16:22);m(w,{path:`M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z`,get size(){return e(n)}})}i(C),i(y),d(t=>{b=r(y,1,`icons svelte-1fbsd8p`,null,b,{compact:_()}),f(x,`href`,e(v)),f(x,`title`,`${g.label} help`),f(x,`aria-label`,`${g.label} help`),f(x,`aria-current`,g.current===`help`?`page`:void 0),f(C,`href`,t),f(C,`title`,`${g.label} options`),f(C,`aria-label`,`${g.label} options`),f(C,`aria-current`,g.current===`options`?`page`:void 0)},[()=>p(`/recipes/${g.section}/`)]),s(a,y),n()}export{g as t};
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,D as r,E as i,G as a,K as o,M as s,N as c,P as l,S as u,T as d,U as f,V as p,W as m,X as h,Y as g,Z as _,ct as ee,et as v,ft as y,it as te,j as ne,k as b,nt as x,ot as re,rt as S,tt as C,w,x as T,y as E}from"./gnVUq1Tr.js";var D=e=>{let t=y(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model};function O(e){return String(e??``).toUpperCase().replace(/[^A-Z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}var k=/\{([A-Za-z_][\w]*\.[A-Za-z_][\w]*)(?:\|(slug))?\}/g;function A(e,t){return e.replace(k,(e,n,r)=>{let i=t[n],a=i==null?``:String(i);return r===`slug`?O(a):a})}function j(e,t,n=e=>e){return typeof e==`string`?A(e,t):typeof e==`object`&&e?{ref:n(e.ref),...e.field?{field:e.field}:{}}:e}function M(e,t,n){return Object.fromEntries(Object.entries(e??{}).map(([e,r])=>[e,j(r,t,n)]))}function N(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`object`&&e&&!Array.isArray(e)?e:null}function P(e,t,n){return Object.fromEntries(e.flatMap(e=>{let r=F(e.to);return r.alias===t?[[r.field,N(n[e.id])]]:[]}))}function F(e){let t=e.indexOf(`.`);if(t<1||t===e.length-1)throw Error(`A form field maps to "alias.field", got "${e}"`);return{alias:e.slice(0,t),field:e.slice(t+1)}}function I(e,t,n){let{alias:r,field:i}=F(e.to),a=t.find(e=>e.as===r);if(!a)throw Error(`Form field ${e.id} maps to unknown ${r}`);let o=n(a.model).fields.find(e=>e.name===i);if(!o)throw Error(`${a.model} has no field ${i} (form field ${e.id})`);return o}function L(e,t){let{alias:n}=F(e.to),r=t.find(e=>e.as===n);if(!r)throw Error(`Form field ${e.id} maps to unknown ${n}`);return r.model}function R(e,t){return e.default===void 0?t.default===void 0?t.type===`text`?``:null:t.default:e.default}function z(e,t){return Object.fromEntries(e.map(e=>[e.to,t[e.id]]))}var B=(e,t)=>e===t;async function V(e,t,n,r){let i={...n};for(let n of t){if(n.as in i)continue;if(!n.match){i[n.as]=void 0;continue}let t={},a=!0;for(let[e,r]of Object.entries(n.match))if(typeof r==`object`&&r){let n=i[r.ref];n||(a=!1),t[e]=r.field?n?.[r.field]:n?.id}else t[e]=r;i[n.as]=a?(await e.list(r(n.model))).find(e=>Object.entries(t).every(([t,n])=>B(e[t],n))):void 0}return i}var H=4,U=(e,t)=>e.fields.some(e=>e.name===t);function ie(e,n,i,a,c){let l=u(r(`${a}:${e.id}:${i.id}`)),f=U(e,`debit`)&&U(e,`credit`),p=f?2*(1+Math.floor(l()*2)):1+Math.floor(l()*H),m=o(e),h=1e3*(1+Math.floor(l()*90));return Array.from({length:p},(o,u)=>{let p=r(`${i.id}:${u}`)%997,g={...d(e,p,a,c),id:w(`${e.id}:${i.id}:${u}`),[n]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=u),m){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=s(),{products:a}=r,o=n?a[t(n,{modelId:e.id,index:p,rows:c})%a.length]:a[p%a.length],d=b(p);d?(U(e,`description`)&&(g.description=d.description),g.unitPrice=d.price,n&&(g[n.name]=``)):n&&o&&(U(e,`description`)&&(g.description=o.name),g.unitPrice=o.price);let[f,m]=d?.quantity??o?.quantity??r.lineQuantity??[1,5],h=f+Math.floor(l()*(m-f+1));U(e,`quantity`)&&(g.quantity=h),Object.assign(g,q(e,i,u,h,Number(g.unitPrice??0))),g.amount=x(g)}if(f){let e=u%2==0;g.debit=e?h/100:0,g.credit=e?0:h/100}return g})}function W(e){return r(`discount:${e.id}`)%3==0}function G(e,t){return Math.round(e*t/1e3)*100}function K(e,t){return t>0&&r(`tax-override:${e.id}:${t}`)%7==0}function ae(t,n,i=c().currency){let a=r(`tax-override-kind:${t.id}:${n}`)%4,o=C(i);if(o&&a<2)return o;let s=a%2==0?`exempt`:`zero-rated`;return e.find(e=>e.kind===s)}function q(e,t,n,i,a){let o={},s=n===0&&W(t),c=r(`discount-kind:${t.id}`)%2==0;U(e,`discountType`)&&(o.discountType=s?c?`percent`:`amount`:`none`),U(e,`discountRate`)&&(o.discountRate=s&&c?`10`:null),U(e,`discount`)&&(o.discount=s&&!(c&&U(e,`discountType`))?G(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=K(t,n)?ae(t,n):void 0;return U(e,`taxMode`)&&(o.taxMode=l?`override`:`inherit`),U(e,`taxCodeId`)&&(o.taxCodeId=l?.id??null),o}function oe(e,t){let n={...e,...t};return`discount`in t&&!(`discountType`in t)&&n.discountType===`amount`&&(n.discountType=`percent`,n.discountRate=`10`,n.discount=0),`discountRate`in t&&n.discountType===`percent`&&(n.discountType=`none`,n.discountRate=null,n.discount=0),n}var se=[`@happyvertical/smrt-commerce:Order`,`@happyvertical/smrt-commerce:Invoice`],J=2500;function ce(e,t,n){n===2&&se.includes(t.id)&&typeof e.subtotal==`number`&&typeof e.totalAmount==`number`&&(t.fields.some(e=>e.name===`status`&&e.enum?.includes(`draft`))&&(e.status=`draft`),e.subtotal+=J,e.totalAmount+=J)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=h(t,e,n,r);return Object.assign(e,i.row),i.lines}var Y=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&Y(e.totalAmount)>0;function de(e,t,n,i){let a=new Map(n.map(e=>[e.id,Y(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=u(r(`${i}:alloc:${s.id}`)),c=n.filter(e=>ue(e)&&e.customerId===s.customerId&&(a.get(e.id)??0)>0).slice(0,t()<.3?2:1);if(c.length===0)continue;let l=c.map((e,n)=>{let r=a.get(e.id)??0,i=n>0||t()<.6?r:Math.min(r,Math.max(100,Math.round(r*(.3+t()*.4)/100)*100));return a.set(e.id,r-i),{inv:e,part:i}}),f=Math.max(...l.map(({inv:e})=>Date.parse(String(e.issueDate)))),p=new Date(Math.max(f,Math.min(f+(1+Math.floor(t()*20))*E,T))).toISOString();s.amount=l.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&l[0]?.inv.contractId&&(s.contractId=l[0].inv.contractId);for(let{inv:t,part:n}of l)o.push({...d(e.model,o.length,i),id:w(`${e.model.id}:${s.id}:${t.id}`),[e.paymentFk]:s.id,[e.invoiceFk]:t.id,amount:n,allocatedAt:p})}return o}function X(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Z=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,Q=`@happyvertical/smrt-commerce:TaxComponent`,pe=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function me(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Z}_created`;function he(e){if(e)try{let t=[];for(let n=0;n<e.length;n++){let r=e.key(n);r?.startsWith(`smrt-planner:data:v6:`)&&t.push(r)}for(let n of t)e.removeItem(n)}catch{}}function ge(e={}){let t=e.seed??1,r=e.rowsPerModel??8,s=new Set(e.empty??[]),u=new Map,d=new Set,y=e.storage??null,b=e=>`${Z}${e.id}`,x=e=>{if(y)try{let t=y.getItem(b(e));if(t===null)return;let n=JSON.parse(t);if(Array.isArray(n)&&n.every(e=>typeof e==`object`&&!!e&&typeof e.id==`string`))return n}catch{}},C=0;if(y)try{C=Number(y.getItem($))||0}catch{C=0}let E=new Map,D=t=>{let n=E.get(t);return n||(n=e.children?.links(t)??[],E.set(t,n)),n},O,k,A=t=>{if(!O){O=new Map;for(let t of e.children?.models??[])for(let e of D(t.id)){let n=O.get(e.model.id)??[];n.push({parent:t,fk:e.fk}),O.set(e.model.id,n)}k=new Map(O);for(let[e,t]of O){let n=e.slice(e.lastIndexOf(`:`)+1).toLowerCase(),r=t.find(e=>n.startsWith(e.fk.replace(/Id$/,``).toLowerCase()))?.fk??t[0]?.fk;O.set(e,t.filter(e=>e.fk===r))}}return O.get(t)??[]},j=e=>{if(!a(e))return;A(e.id);let t=k?.get(e.id)??[],r=p(e)?.name,i=n(e)?.name,o=t.find(e=>e.fk===r)?.parent,s=t.find(e=>e.fk===i)?.parent;return o&&s&&r&&i?{model:e,paymentFk:r,invoiceFk:i,payment:o,invoice:s}:void 0},M=(t,n)=>{if(!_(t))return n;let r=D(t.id).find(e=>a(e.model)),i=r&&j(r.model);if(!r||!i)return n;let o=new Map(P(i.payment).map(e=>[e.id,e])),s=P(r.model).filter(e=>e[r.fk]===n.id&&o.get(String(e[i.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=g(n,s,(e.now??(()=>T))()),l={...n,amountPaid:c.amountPaid,status:c.status};return t.fields.some(e=>e.name===`paidDate`)&&(l.paidDate=c.paidDate),l},N=(e,t)=>{let n=P(e),r=n.findIndex(e=>e.id===t);r>=0&&(n[r]=M(e,n[r]))},P=n=>{let a=u.get(n.id);if(a)return a;let c=x(n);if(c){u.set(n.id,c);for(let e of D(n.id))P(e.model);return c}let l=s.has(n.id)?void 0:e.samples?.[n.id];if(l){let e=[];return u.set(n.id,e),e.push(...l.make(l.from.map(P),t)),e}let d=j(n),f=d?[]:A(n.id),p=s.has(n.id)||f.length||d?[]:i(n,ne(n.id,r),t,r);u.set(n.id,p);for(let e of D(n.id))P(e.model);if(d&&!s.has(n.id)){for(let e of D(d.invoice.id))o(e.model)&&P(e.model);let e=P(d.invoice);p.push(...de(d,P(d.payment),e,t)),e.forEach((t,n)=>{e[n]=M(d.invoice,t)})}if(!s.has(n.id))for(let{parent:i,fk:a}of f){let s=e.defaults?.(n)??{};P(i).forEach((e,c)=>{let l=ie(n,a,e,t,r).map(e=>oe(e,s));o(n)?(p.push(...le(e,i,l,L(i,e))),ce(e,i,c)):p.push(...l)})}return p},F=new Map((e.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=te(e),n=F.get(fe),r=F.get(Q),i=n?P(n):[];if(!i.length)return t;let a=new Map(t.flatMap(e=>e.components.map(e=>[e.id,e])));for(let e of r?P(r):[])a.set(e.id,{id:e.id,key:e.id,name:String(e.name??``),percent:String(e.percent??`0`),recoverable:e.recoverable===!0});let o=i.map(e=>{let t=[];try{t=JSON.parse(String(e.componentsJson??`[]`))}catch{t=[]}let n=(Array.isArray(t)?t:[]).flatMap(e=>{let t=e&&typeof e==`object`?a.get(String(e.taxComponentId)):void 0;return t?[t]:[]}),r=pe.includes(String(e.kind))?e.kind:`taxable`,i=[`sales`,`purchases`,`both`].includes(String(e.appliesTo))?e.appliesTo:`both`;return{id:e.id,code:String(e.code??``),name:String(e.name??``),kind:r,appliesTo:i,active:e.active!==!1,components:n}}),s=new Map(o.map(e=>[e.id,e]));if(t.some(e=>s.has(e.id))){let n=v(e);return[...t.filter(e=>s.has(e.id)||e.id===n.id).map(e=>s.get(e.id)??e),...o.filter(e=>!t.some(t=>t.id===e.id))]}return[...t,...o]},L=(e,t)=>{let n=c(),r=l()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),o=a?.related?F.get(a.related):void 0,s=o?P(o).find(e=>e.id===t.customerId):void 0,d=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},p=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:m(t,n.taxRounding),currency:S(t.currency,S(n.currency)),codes:i,appDefaultCodeId:v(r).id,customerTaxExempt:s?.taxExempt===!0,partyCodeId:p(s?.defaultTaxCodeId),productCodeOf:e=>p(d(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!y)return;let t=e=>{let t=j(e);return t?[t.payment,t.invoice]:[]},n=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent),...t(e),...D(e.id).flatMap(e=>t(e.model))];try{for(let e of n){let t=u.get(e.id);t&&y.setItem(b(e),JSON.stringify(t))}y.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>o(t.model)&&A(t.model.id).some(n=>n.parent.id===e.id&&n.fk===t.fk)),B=(e,t,n=!1)=>{let r=z(e);if(!r)return!1;let i=P(e),a=i.findIndex(e=>e.id===t);if(a<0)return!1;let o=P(r.model),s=o.filter(e=>e[r.fk]===t),c=i[a];if(me(e,c)){if(n)throw new ee(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=h(e,c,s,L(e,c));i[a]=l.row;for(let e of l.lines){let t=o.findIndex(t=>t.id===e.id);t>=0&&(o[t]=e)}return!0},V=(e,t)=>{let n=t;if(z(e)&&(B(e,t.id),n=P(e).find(e=>e.id===t.id)??n),o(e)){let r=A(e.id).some(({parent:e,fk:n})=>B(e,t[n],!0)),i=P(e),a=i.findIndex(e=>e.id===t.id);if(!r&&a>=0){let e=c(),n=l()??.05;i[a]=re([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:S(e.currency),codes:I(n),appDefaultCodeId:v(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}_(e)&&(N(e,t.id),n=P(e).find(e=>e.id===t.id)??n);let r=j(e);r&&N(r.invoice,t[r.invoiceFk]);for(let n of D(e.id)){let r=j(n.model);if(r&&r.payment.id===e.id)for(let e of P(n.model))e[r.paymentFk]===t.id&&N(r.invoice,e[r.invoiceFk])}return n},H=e=>{let t=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent)];return new Map(t.map(e=>[e.id,P(e).map(e=>({...e}))]))},U=e=>{for(let[t,n]of e){let e=u.get(t);e&&e.splice(0,e.length,...n)}},W=(t,n)=>({...n,...e.defaults?.(t)??{}}),G=e=>w(`${e.id}:new:${t}:${C++}`),K=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>W(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>W(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?W(e,n):void 0},async create(t,n){let r={...e.defaults?.(t)??{},...n,id:G(t)},i=H(t);P(t).push(r);let a;try{a=V(t,r)}catch(e){throw U(i),C--,e}return R(t),{...a}},async update(e,t,n){let r=P(e),i=r.findIndex(e=>e.id===t);if(i<0)return;let a=H(e),s=r[i],c={...s,...n,id:t};r[i]=c;let l;try{if(l=V(e,c),o(e))for(let{parent:t,fk:n}of A(e.id))s[n]!==c[n]&&B(t,s[n],!0)}catch(e){throw U(a),e}return R(e),{...l}},async delete(e,t){let n=P(e),r=n.findIndex(e=>e.id===t);if(r<0)return!1;let i=H(e),[a]=n.splice(r,1);try{let t=j(e);t&&a&&N(t.invoice,a[t.invoiceFk]);for(let{parent:t,fk:n}of A(e.id))o(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){u.clear(),C=0,he(y);for(let e of[...d])e()},onReset(e){return d.add(e),()=>{d.delete(e)}},async apply(t){let n=new Map,r=C,i=new Map,a=e=>{i.set(e.id,e);let t=P(e);return n.has(e.id)||n.set(e.id,t.map(e=>({...e}))),t},o={},s=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>{if(!X(t))return[e,t];let n=o[t.ref];if(!n)throw Error(`Unknown record reference ${t.ref}`);return[e,t.field?n[t.field]:n.id]}));try{for(let n of t){let t=a(n.model),r=s(n.match);if(n.op===`delete`){let e=t.filter(e=>n.id===void 0?K(e,r):e.id===n.id);if(n.id===void 0&&Object.keys(r).length===0)throw Error(`A delete needs an id or a match`);for(let n of e)t.splice(t.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=t.findIndex(e=>e.id===n.id),c<0)throw Error(`No ${n.model.name} with id ${n.id}`)}else Object.keys(r).length>0&&(c=t.findIndex(e=>K(e,r)));let l;if(c>=0){let e=t[c];l={...e,...i,id:e.id},t[c]=l}else l={...e.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:G(n.model)},t.push(l);n.as&&(o[n.as]={...l})}}catch(e){for(let[e,t]of n)u.set(e,t);throw C=r,e}for(let e of i.values())R(e);return o}}}export{V as a,N as c,I as d,L as f,z as i,O as l,X as n,P as o,M as p,D as r,F as s,ge as t,R as u};
1
+ import{$ as e,A as t,B as n,D as r,E as i,G as a,K as o,M as s,N as c,P as l,S as u,T as d,U as f,V as p,W as m,X as h,Y as g,Z as _,ct as ee,et as v,ft as y,it as te,j as ne,k as b,nt as x,ot as re,rt as S,tt as C,w,x as T,y as E}from"./BG9Gz_25.js";var D=e=>{let t=y(e);if(!t)throw Error(`The catalog has no model ${e}`);return t.model};function O(e){return String(e??``).toUpperCase().replace(/[^A-Z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}var k=/\{([A-Za-z_][\w]*\.[A-Za-z_][\w]*)(?:\|(slug))?\}/g;function A(e,t){return e.replace(k,(e,n,r)=>{let i=t[n],a=i==null?``:String(i);return r===`slug`?O(a):a})}function j(e,t,n=e=>e){return typeof e==`string`?A(e,t):typeof e==`object`&&e?{ref:n(e.ref),...e.field?{field:e.field}:{}}:e}function M(e,t,n){return Object.fromEntries(Object.entries(e??{}).map(([e,r])=>[e,j(r,t,n)]))}function N(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`object`&&e&&!Array.isArray(e)?e:null}function P(e,t,n){return Object.fromEntries(e.flatMap(e=>{let r=F(e.to);return r.alias===t?[[r.field,N(n[e.id])]]:[]}))}function F(e){let t=e.indexOf(`.`);if(t<1||t===e.length-1)throw Error(`A form field maps to "alias.field", got "${e}"`);return{alias:e.slice(0,t),field:e.slice(t+1)}}function I(e,t,n){let{alias:r,field:i}=F(e.to),a=t.find(e=>e.as===r);if(!a)throw Error(`Form field ${e.id} maps to unknown ${r}`);let o=n(a.model).fields.find(e=>e.name===i);if(!o)throw Error(`${a.model} has no field ${i} (form field ${e.id})`);return o}function L(e,t){let{alias:n}=F(e.to),r=t.find(e=>e.as===n);if(!r)throw Error(`Form field ${e.id} maps to unknown ${n}`);return r.model}function R(e,t){return e.default===void 0?t.default===void 0?t.type===`text`?``:null:t.default:e.default}function z(e,t){return Object.fromEntries(e.map(e=>[e.to,t[e.id]]))}var B=(e,t)=>e===t;async function V(e,t,n,r){let i={...n};for(let n of t){if(n.as in i)continue;if(!n.match){i[n.as]=void 0;continue}let t={},a=!0;for(let[e,r]of Object.entries(n.match))if(typeof r==`object`&&r){let n=i[r.ref];n||(a=!1),t[e]=r.field?n?.[r.field]:n?.id}else t[e]=r;i[n.as]=a?(await e.list(r(n.model))).find(e=>Object.entries(t).every(([t,n])=>B(e[t],n))):void 0}return i}var H=4,U=(e,t)=>e.fields.some(e=>e.name===t);function ie(e,n,i,a,c){let l=u(r(`${a}:${e.id}:${i.id}`)),f=U(e,`debit`)&&U(e,`credit`),p=f?2*(1+Math.floor(l()*2)):1+Math.floor(l()*H),m=o(e),h=1e3*(1+Math.floor(l()*90));return Array.from({length:p},(o,u)=>{let p=r(`${i.id}:${u}`)%997,g={...d(e,p,a,c),id:w(`${e.id}:${i.id}:${u}`),[n]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=u),m){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=s(),{products:a}=r,o=n?a[t(n,{modelId:e.id,index:p,rows:c})%a.length]:a[p%a.length],d=b(p);d?(U(e,`description`)&&(g.description=d.description),g.unitPrice=d.price,n&&(g[n.name]=``)):n&&o&&(U(e,`description`)&&(g.description=o.name),g.unitPrice=o.price);let[f,m]=d?.quantity??o?.quantity??r.lineQuantity??[1,5],h=f+Math.floor(l()*(m-f+1));U(e,`quantity`)&&(g.quantity=h),Object.assign(g,q(e,i,u,h,Number(g.unitPrice??0))),g.amount=x(g)}if(f){let e=u%2==0;g.debit=e?h/100:0,g.credit=e?0:h/100}return g})}function W(e){return r(`discount:${e.id}`)%3==0}function G(e,t){return Math.round(e*t/1e3)*100}function K(e,t){return t>0&&r(`tax-override:${e.id}:${t}`)%7==0}function ae(t,n,i=c().currency){let a=r(`tax-override-kind:${t.id}:${n}`)%4,o=C(i);if(o&&a<2)return o;let s=a%2==0?`exempt`:`zero-rated`;return e.find(e=>e.kind===s)}function q(e,t,n,i,a){let o={},s=n===0&&W(t),c=r(`discount-kind:${t.id}`)%2==0;U(e,`discountType`)&&(o.discountType=s?c?`percent`:`amount`:`none`),U(e,`discountRate`)&&(o.discountRate=s&&c?`10`:null),U(e,`discount`)&&(o.discount=s&&!(c&&U(e,`discountType`))?G(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=K(t,n)?ae(t,n):void 0;return U(e,`taxMode`)&&(o.taxMode=l?`override`:`inherit`),U(e,`taxCodeId`)&&(o.taxCodeId=l?.id??null),o}function oe(e,t){let n={...e,...t};return`discount`in t&&!(`discountType`in t)&&n.discountType===`amount`&&(n.discountType=`percent`,n.discountRate=`10`,n.discount=0),`discountRate`in t&&n.discountType===`percent`&&(n.discountType=`none`,n.discountRate=null,n.discount=0),n}var se=[`@happyvertical/smrt-commerce:Order`,`@happyvertical/smrt-commerce:Invoice`],J=2500;function ce(e,t,n){n===2&&se.includes(t.id)&&typeof e.subtotal==`number`&&typeof e.totalAmount==`number`&&(t.fields.some(e=>e.name===`status`&&e.enum?.includes(`draft`))&&(e.status=`draft`),e.subtotal+=J,e.totalAmount+=J)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=h(t,e,n,r);return Object.assign(e,i.row),i.lines}var Y=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&Y(e.totalAmount)>0;function de(e,t,n,i){let a=new Map(n.map(e=>[e.id,Y(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=u(r(`${i}:alloc:${s.id}`)),c=n.filter(e=>ue(e)&&e.customerId===s.customerId&&(a.get(e.id)??0)>0).slice(0,t()<.3?2:1);if(c.length===0)continue;let l=c.map((e,n)=>{let r=a.get(e.id)??0,i=n>0||t()<.6?r:Math.min(r,Math.max(100,Math.round(r*(.3+t()*.4)/100)*100));return a.set(e.id,r-i),{inv:e,part:i}}),f=Math.max(...l.map(({inv:e})=>Date.parse(String(e.issueDate)))),p=new Date(Math.max(f,Math.min(f+(1+Math.floor(t()*20))*E,T))).toISOString();s.amount=l.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&l[0]?.inv.contractId&&(s.contractId=l[0].inv.contractId);for(let{inv:t,part:n}of l)o.push({...d(e.model,o.length,i),id:w(`${e.model.id}:${s.id}:${t.id}`),[e.paymentFk]:s.id,[e.invoiceFk]:t.id,amount:n,allocatedAt:p})}return o}function X(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Z=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,Q=`@happyvertical/smrt-commerce:TaxComponent`,pe=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function me(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Z}_created`;function he(e){if(e)try{let t=[];for(let n=0;n<e.length;n++){let r=e.key(n);r?.startsWith(`smrt-planner:data:v6:`)&&t.push(r)}for(let n of t)e.removeItem(n)}catch{}}function ge(e={}){let t=e.seed??1,r=e.rowsPerModel??8,s=new Set(e.empty??[]),u=new Map,d=new Set,y=e.storage??null,b=e=>`${Z}${e.id}`,x=e=>{if(y)try{let t=y.getItem(b(e));if(t===null)return;let n=JSON.parse(t);if(Array.isArray(n)&&n.every(e=>typeof e==`object`&&!!e&&typeof e.id==`string`))return n}catch{}},C=0;if(y)try{C=Number(y.getItem($))||0}catch{C=0}let E=new Map,D=t=>{let n=E.get(t);return n||(n=e.children?.links(t)??[],E.set(t,n)),n},O,k,A=t=>{if(!O){O=new Map;for(let t of e.children?.models??[])for(let e of D(t.id)){let n=O.get(e.model.id)??[];n.push({parent:t,fk:e.fk}),O.set(e.model.id,n)}k=new Map(O);for(let[e,t]of O){let n=e.slice(e.lastIndexOf(`:`)+1).toLowerCase(),r=t.find(e=>n.startsWith(e.fk.replace(/Id$/,``).toLowerCase()))?.fk??t[0]?.fk;O.set(e,t.filter(e=>e.fk===r))}}return O.get(t)??[]},j=e=>{if(!a(e))return;A(e.id);let t=k?.get(e.id)??[],r=p(e)?.name,i=n(e)?.name,o=t.find(e=>e.fk===r)?.parent,s=t.find(e=>e.fk===i)?.parent;return o&&s&&r&&i?{model:e,paymentFk:r,invoiceFk:i,payment:o,invoice:s}:void 0},M=(t,n)=>{if(!_(t))return n;let r=D(t.id).find(e=>a(e.model)),i=r&&j(r.model);if(!r||!i)return n;let o=new Map(P(i.payment).map(e=>[e.id,e])),s=P(r.model).filter(e=>e[r.fk]===n.id&&o.get(String(e[i.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=g(n,s,(e.now??(()=>T))()),l={...n,amountPaid:c.amountPaid,status:c.status};return t.fields.some(e=>e.name===`paidDate`)&&(l.paidDate=c.paidDate),l},N=(e,t)=>{let n=P(e),r=n.findIndex(e=>e.id===t);r>=0&&(n[r]=M(e,n[r]))},P=n=>{let a=u.get(n.id);if(a)return a;let c=x(n);if(c){u.set(n.id,c);for(let e of D(n.id))P(e.model);return c}let l=s.has(n.id)?void 0:e.samples?.[n.id];if(l){let e=[];return u.set(n.id,e),e.push(...l.make(l.from.map(P),t)),e}let d=j(n),f=d?[]:A(n.id),p=s.has(n.id)||f.length||d?[]:i(n,ne(n.id,r),t,r);u.set(n.id,p);for(let e of D(n.id))P(e.model);if(d&&!s.has(n.id)){for(let e of D(d.invoice.id))o(e.model)&&P(e.model);let e=P(d.invoice);p.push(...de(d,P(d.payment),e,t)),e.forEach((t,n)=>{e[n]=M(d.invoice,t)})}if(!s.has(n.id))for(let{parent:i,fk:a}of f){let s=e.defaults?.(n)??{};P(i).forEach((e,c)=>{let l=ie(n,a,e,t,r).map(e=>oe(e,s));o(n)?(p.push(...le(e,i,l,L(i,e))),ce(e,i,c)):p.push(...l)})}return p},F=new Map((e.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=te(e),n=F.get(fe),r=F.get(Q),i=n?P(n):[];if(!i.length)return t;let a=new Map(t.flatMap(e=>e.components.map(e=>[e.id,e])));for(let e of r?P(r):[])a.set(e.id,{id:e.id,key:e.id,name:String(e.name??``),percent:String(e.percent??`0`),recoverable:e.recoverable===!0});let o=i.map(e=>{let t=[];try{t=JSON.parse(String(e.componentsJson??`[]`))}catch{t=[]}let n=(Array.isArray(t)?t:[]).flatMap(e=>{let t=e&&typeof e==`object`?a.get(String(e.taxComponentId)):void 0;return t?[t]:[]}),r=pe.includes(String(e.kind))?e.kind:`taxable`,i=[`sales`,`purchases`,`both`].includes(String(e.appliesTo))?e.appliesTo:`both`;return{id:e.id,code:String(e.code??``),name:String(e.name??``),kind:r,appliesTo:i,active:e.active!==!1,components:n}}),s=new Map(o.map(e=>[e.id,e]));if(t.some(e=>s.has(e.id))){let n=v(e);return[...t.filter(e=>s.has(e.id)||e.id===n.id).map(e=>s.get(e.id)??e),...o.filter(e=>!t.some(t=>t.id===e.id))]}return[...t,...o]},L=(e,t)=>{let n=c(),r=l()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),o=a?.related?F.get(a.related):void 0,s=o?P(o).find(e=>e.id===t.customerId):void 0,d=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},p=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:m(t,n.taxRounding),currency:S(t.currency,S(n.currency)),codes:i,appDefaultCodeId:v(r).id,customerTaxExempt:s?.taxExempt===!0,partyCodeId:p(s?.defaultTaxCodeId),productCodeOf:e=>p(d(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!y)return;let t=e=>{let t=j(e);return t?[t.payment,t.invoice]:[]},n=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent),...t(e),...D(e.id).flatMap(e=>t(e.model))];try{for(let e of n){let t=u.get(e.id);t&&y.setItem(b(e),JSON.stringify(t))}y.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>o(t.model)&&A(t.model.id).some(n=>n.parent.id===e.id&&n.fk===t.fk)),B=(e,t,n=!1)=>{let r=z(e);if(!r)return!1;let i=P(e),a=i.findIndex(e=>e.id===t);if(a<0)return!1;let o=P(r.model),s=o.filter(e=>e[r.fk]===t),c=i[a];if(me(e,c)){if(n)throw new ee(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=h(e,c,s,L(e,c));i[a]=l.row;for(let e of l.lines){let t=o.findIndex(t=>t.id===e.id);t>=0&&(o[t]=e)}return!0},V=(e,t)=>{let n=t;if(z(e)&&(B(e,t.id),n=P(e).find(e=>e.id===t.id)??n),o(e)){let r=A(e.id).some(({parent:e,fk:n})=>B(e,t[n],!0)),i=P(e),a=i.findIndex(e=>e.id===t.id);if(!r&&a>=0){let e=c(),n=l()??.05;i[a]=re([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:S(e.currency),codes:I(n),appDefaultCodeId:v(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}_(e)&&(N(e,t.id),n=P(e).find(e=>e.id===t.id)??n);let r=j(e);r&&N(r.invoice,t[r.invoiceFk]);for(let n of D(e.id)){let r=j(n.model);if(r&&r.payment.id===e.id)for(let e of P(n.model))e[r.paymentFk]===t.id&&N(r.invoice,e[r.invoiceFk])}return n},H=e=>{let t=[e,...D(e.id).map(e=>e.model),...A(e.id).map(e=>e.parent)];return new Map(t.map(e=>[e.id,P(e).map(e=>({...e}))]))},U=e=>{for(let[t,n]of e){let e=u.get(t);e&&e.splice(0,e.length,...n)}},W=(t,n)=>({...n,...e.defaults?.(t)??{}}),G=e=>w(`${e.id}:new:${t}:${C++}`),K=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>W(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>W(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?W(e,n):void 0},async create(t,n){let r={...e.defaults?.(t)??{},...n,id:G(t)},i=H(t);P(t).push(r);let a;try{a=V(t,r)}catch(e){throw U(i),C--,e}return R(t),{...a}},async update(e,t,n){let r=P(e),i=r.findIndex(e=>e.id===t);if(i<0)return;let a=H(e),s=r[i],c={...s,...n,id:t};r[i]=c;let l;try{if(l=V(e,c),o(e))for(let{parent:t,fk:n}of A(e.id))s[n]!==c[n]&&B(t,s[n],!0)}catch(e){throw U(a),e}return R(e),{...l}},async delete(e,t){let n=P(e),r=n.findIndex(e=>e.id===t);if(r<0)return!1;let i=H(e),[a]=n.splice(r,1);try{let t=j(e);t&&a&&N(t.invoice,a[t.invoiceFk]);for(let{parent:t,fk:n}of A(e.id))o(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){u.clear(),C=0,he(y);for(let e of[...d])e()},onReset(e){return d.add(e),()=>{d.delete(e)}},async apply(t){let n=new Map,r=C,i=new Map,a=e=>{i.set(e.id,e);let t=P(e);return n.has(e.id)||n.set(e.id,t.map(e=>({...e}))),t},o={},s=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>{if(!X(t))return[e,t];let n=o[t.ref];if(!n)throw Error(`Unknown record reference ${t.ref}`);return[e,t.field?n[t.field]:n.id]}));try{for(let n of t){let t=a(n.model),r=s(n.match);if(n.op===`delete`){let e=t.filter(e=>n.id===void 0?K(e,r):e.id===n.id);if(n.id===void 0&&Object.keys(r).length===0)throw Error(`A delete needs an id or a match`);for(let n of e)t.splice(t.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=t.findIndex(e=>e.id===n.id),c<0)throw Error(`No ${n.model.name} with id ${n.id}`)}else Object.keys(r).length>0&&(c=t.findIndex(e=>K(e,r)));let l;if(c>=0){let e=t[c];l={...e,...i,id:e.id},t[c]=l}else l={...e.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:G(n.model)},t.push(l);n.as&&(o[n.as]={...l})}}catch(e){for(let[e,t]of n)u.set(e,t);throw C=r,e}for(let e of i.values())R(e);return o}}}export{V as a,N as c,I as d,L as f,z as i,O as l,X as n,P as o,M as p,D as r,F as s,ge as t,R as u};
@@ -1 +1 @@
1
- import{D as e,M as t,w as n}from"./gnVUq1Tr.js";import{r}from"./8vF2REci.js";var i=`@happyvertical/smrt-assets:Asset`,a=`@happyvertical/smrt-products:ProductAsset`,o=`assets.library`;function s(e,t,n){let r=new Map(t.map(e=>[e.id,e]));return n.filter(t=>t.productId===e).flatMap(e=>{let t=r.get(String(e.assetId)),n=t?.sourceUri;return!t||typeof n!=`string`?[]:[{id:t.id,name:String(t.name??`Product image`),sourceUri:n,mimeType:String(t.mimeType??`image/*`),description:String(t.description??``),sortOrder:Number(e.sortOrder??0)}]}).sort((e,t)=>e.sortOrder-t.sortOrder||e.name.localeCompare(t.name))}function c(e,t,n,o){return[{op:`save`,as:`asset`,model:r(i),values:{name:t.name||`Product image`,sourceUri:n,mimeType:t.type||`image/*`,description:`Image selected for this product in the browser demo.`,sourceType:`browser-demo`}},{op:`save`,model:r(a),values:{productId:e,assetId:{ref:`asset`},relationship:`gallery`,sortOrder:o}}]}function l(e,t){return t.filter(t=>t.productId===e).flatMap(e=>[{op:`delete`,model:r(a),id:e.id},{op:`delete`,model:r(i),id:String(e.assetId)}])}var u=`@happyvertical/smrt-products:Product`,d=`@happyvertical/smrt-products:ProductVariant`,f=`@happyvertical/smrt-products:Sku`,p=`@happyvertical/smrt-inventory:StockLevel`,m=`@happyvertical/smrt-profiles:ProfileType`,h=`@happyvertical/smrt-inventory:InventoryLocation`;function g(r){return{[h]:{from:[],make:()=>(t().locations??[]).map((e,t)=>({id:n(`${h}:sample:${t}`),...e,placeId:``,active:!0}))},[f]:{from:[r(u)],make:([e])=>(e??[]).map((e,t)=>({id:n(`${f}:sample:${e.id}`),productId:e.id,code:`SKU-${String(t+1).padStart(3,`0`)}`,barcode:``,name:String(e.name??``),attributes:``,parentSkuId:``,active:!0}))},[p]:{from:[r(f),r(h)],make:([r,i])=>{let a=t(),o=new Map(a.products.map(e=>[e.name,e.at]));return(r??[]).flatMap(t=>(i??[]).flatMap((r,i)=>{let a=e(`${t.id}:${r.id}`),s=o.get(String(t.name));if(s!==void 0){if(s!==i)return[]}else if(i>0&&a%3==0)return[];let c=10+a%4*5;return[{id:n(`${p}:sample:${t.id}:${r.id}`),skuId:t.id,locationId:r.id,state:`available`,qty:a%5==0?c-3:c+a%40,reorderPoint:c,reorderQuantity:c*3}]}))}}}}function _(e,t){let n=new Map(e.map(e=>[e.id,e.productId])),r=new Map;for(let e of t){let t=n.get(String(e.skuId));typeof t==`string`&&r.set(t,(r.get(t)??0)+Number(e.qty??0))}return r}function v(e,t,n,r=[]){return[...l(e,r),...t.flatMap(e=>[{op:`delete`,model:n(p),match:{skuId:e.id}},{op:`delete`,model:n(f),id:e.id}]),{op:`delete`,model:n(d),match:{productId:e}},{op:`delete`,model:n(u),id:e}]}export{d as a,g as c,a as d,c as f,p as i,i as l,m as n,v as o,s as p,f as r,_ as s,u as t,o as u};
1
+ import{D as e,M as t,w as n}from"./BG9Gz_25.js";import{r}from"./C3sRGrYK.js";var i=`@happyvertical/smrt-assets:Asset`,a=`@happyvertical/smrt-products:ProductAsset`,o=`assets.library`;function s(e,t,n){let r=new Map(t.map(e=>[e.id,e]));return n.filter(t=>t.productId===e).flatMap(e=>{let t=r.get(String(e.assetId)),n=t?.sourceUri;return!t||typeof n!=`string`?[]:[{id:t.id,name:String(t.name??`Product image`),sourceUri:n,mimeType:String(t.mimeType??`image/*`),description:String(t.description??``),sortOrder:Number(e.sortOrder??0)}]}).sort((e,t)=>e.sortOrder-t.sortOrder||e.name.localeCompare(t.name))}function c(e,t,n,o){return[{op:`save`,as:`asset`,model:r(i),values:{name:t.name||`Product image`,sourceUri:n,mimeType:t.type||`image/*`,description:`Image selected for this product in the browser demo.`,sourceType:`browser-demo`}},{op:`save`,model:r(a),values:{productId:e,assetId:{ref:`asset`},relationship:`gallery`,sortOrder:o}}]}function l(e,t){return t.filter(t=>t.productId===e).flatMap(e=>[{op:`delete`,model:r(a),id:e.id},{op:`delete`,model:r(i),id:String(e.assetId)}])}var u=`@happyvertical/smrt-products:Product`,d=`@happyvertical/smrt-products:ProductVariant`,f=`@happyvertical/smrt-products:Sku`,p=`@happyvertical/smrt-inventory:StockLevel`,m=`@happyvertical/smrt-profiles:ProfileType`,h=`@happyvertical/smrt-inventory:InventoryLocation`;function g(r){return{[h]:{from:[],make:()=>(t().locations??[]).map((e,t)=>({id:n(`${h}:sample:${t}`),...e,placeId:``,active:!0}))},[f]:{from:[r(u)],make:([e])=>(e??[]).map((e,t)=>({id:n(`${f}:sample:${e.id}`),productId:e.id,code:`SKU-${String(t+1).padStart(3,`0`)}`,barcode:``,name:String(e.name??``),attributes:``,parentSkuId:``,active:!0}))},[p]:{from:[r(f),r(h)],make:([r,i])=>{let a=t(),o=new Map(a.products.map(e=>[e.name,e.at]));return(r??[]).flatMap(t=>(i??[]).flatMap((r,i)=>{let a=e(`${t.id}:${r.id}`),s=o.get(String(t.name));if(s!==void 0){if(s!==i)return[]}else if(i>0&&a%3==0)return[];let c=10+a%4*5;return[{id:n(`${p}:sample:${t.id}:${r.id}`),skuId:t.id,locationId:r.id,state:`available`,qty:a%5==0?c-3:c+a%40,reorderPoint:c,reorderQuantity:c*3}]}))}}}}function _(e,t){let n=new Map(e.map(e=>[e.id,e.productId])),r=new Map;for(let e of t){let t=n.get(String(e.skuId));typeof t==`string`&&r.set(t,(r.get(t)??0)+Number(e.qty??0))}return r}function v(e,t,n,r=[]){return[...l(e,r),...t.flatMap(e=>[{op:`delete`,model:n(p),match:{skuId:e.id}},{op:`delete`,model:n(f),id:e.id}]),{op:`delete`,model:n(d),match:{productId:e}},{op:`delete`,model:n(u),id:e}]}export{d as a,g as c,a as d,c as f,p as i,i as l,m as n,v as o,s as p,f as r,_ as s,u as t,o as u};
@@ -0,0 +1 @@
1
+ import{$ as e,bt as t,c as n,et as r,nt as i,r as a,t as o,tt as s,vt as c}from"./DG3qFFTE.js";import{i as l,n as u,r as d,t as f}from"./Dt-HX3Vu.js";new URL(`sveltekit-internal://`);function p(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function ee(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function te(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function ne(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var re=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&_.delete(ie(e)),re(e,t));var _=new Map;function v(e,t){let n=ie(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=f(e));let i=r.getAttribute(`data-ttl`);return i&&_.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function y(e,t,n){if(_.size>0){let t=ie(e,n),r=_.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);_.delete(t)}}return window.fetch(t,n)}function ie(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ne(...e)}"]`}return n}var b=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,ae=/^\/\((?:[^)]+)\)$/;function oe(e){let t=[];return{pattern:e===`/`||ae.test(e)?/^\/$/:RegExp(`^${ce(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return ue(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return ue(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=b.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return ue(e)}).join(``)}).join(``)}/?$`),params:t}}function se(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ce(e){return e.slice(1).split(`/`).filter(se)}function le(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0)}else if(s.optional&&s.chained)o++;else return}if(!o)return r}function ue(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function de({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=oe(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return le(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function fe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function pe(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_qeoaal?.base??``,me=globalThis.__sveltekit_qeoaal?.assets??x??``,he=`1792257399125`,ge=`sveltekit:snapshot`,_e=`sveltekit:scroll`,ve=`sveltekit:states`,ye=`sveltekit:pageurl`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},be=location.origin;function T(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var xe={...w,"":w.hover};function Se(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ce(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Se(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||k(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===be&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function O(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=Se(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:xe[r??`off`],preload_data:xe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Te(e){let t=n(e),r=!0;function i(){r=!0,t.update(e=>e)}function a(e){r=!1,t.set(e)}function o(e){let n;return t.subscribe(t=>{(n===void 0||r&&t!==n)&&e(n=t)})}return{notify:i,set:a,subscribe:o}}var Ee={v:g};function De(){let{set:e,subscribe:t}=n(!1),r;async function i(){clearTimeout(r);try{let t=await fetch(`${me}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==he;return n&&(e(!0),Ee.v(),clearTimeout(r)),n}catch{return!1}}return{subscribe:t,check:i}}function k(e,t,n){return e.origin!==be||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Oe(e){}Uint8Array.fromBase64,typeof process==`object`&&process.versions?.node,Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`).get,typeof SharedArrayBuffer>`u`||Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`).get;var ke=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...ke],[...new Set([...ke])];function Ae(e){return e.filter(e=>e!=null)}function A(e,t){return e+`/`+t}function je(e){return e instanceof u||e instanceof l?e.status:500}function Me(e){return e instanceof l?e.text:`Internal Error`}var j,M,Ne,Pe=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Fe=`a:`;Pe?(j={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Fe)},M={current:null},Ne={current:!1}):(j=new class{#e=t({});get data(){return e(this.#e)}set data(e){c(this.#e,e)}#t=t(null);get form(){return e(this.#t)}set form(e){c(this.#t,e)}#n=t(null);get error(){return e(this.#n)}set error(e){c(this.#n,e)}#r=t({});get params(){return e(this.#r)}set params(e){c(this.#r,e)}#i=t({id:null});get route(){return e(this.#i)}set route(e){c(this.#i,e)}#a=t({});get state(){return e(this.#a)}set state(e){c(this.#a,e)}#o=t(-1);get status(){return e(this.#o)}set status(e){c(this.#o,e)}#s=t(new URL(Fe));get url(){return e(this.#s)}set url(e){c(this.#s,e)}},M=new class{#e=t(null);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Ne=new class{#e=t(!1);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Ee.v=()=>Ne.current=!0);function Ie(e){Object.assign(j,e)}var Le={spanContext(){return Re},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Re={traceId:``,spanId:``,traceFlags:0},{onMount:ze,tick:Be}=o,Ve=i??(e=>e()),He=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),N=null,P=fe(`sveltekit:scroll`)??{},F=fe(`sveltekit:snapshot`)??{},I={url:Te({}),page:Te({}),navigating:n(null),updated:De()};function L(e){P[e]=E()}function Ue(e,t){let n=e+1;for(;P[n];)delete P[n],n+=1;for(n=t+1;F[n];)delete F[n],n+=1}function R(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function We(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}var Ge,Ke,z,B,qe,V,Je={},Ye={},Xe=[],Ze=[],H=null;function Qe(){H?.fork?.then(e=>e?.discard()),H=null,Z={element:void 0,href:void 0}}var $e=new Map,et=new Set,tt=new Set,U=new Set,W={branch:[],error:null,url:null,nav:null},nt=!1,rt=!1,it=!0,G=!1,K=!1,at=!1,ot=!1,st,q,J,Y,ct=new Set,lt=new Map,ut=new Map;async function dt(e,t,n){if(globalThis.__sveltekit_qeoaal.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_qeoaal.data;for(let t in e)Je[t]=e[t];for(let e in n)Je[e]=n[e];for(let e in r)Je[e]=r[e];for(let e in t)Ye[e]=t[e]}document.URL!==location.href&&(location.href=location.href),V=e,await e.hooks.init?.(),Ge=de(e),B=document.documentElement,qe=t,Ke=e.nodes[0],z=e.nodes[1],Ke(),z(),q=history.state?.[S],J=history.state?.[C],q||(q=J=Date.now(),history.replaceState({...history.state,[S]:q,[C]:J},``));let r=P[q];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Gt(qe,n)):(await X({type:`enter`,url:T(V.hash?Xt(new URL(location.href)):location.href),replace_state:!0}),i()),Wt()}function ft(){Xe.length=0,ot=!1}function pt(e){Ze.some(e=>e?.snapshot)&&(F[e]=Ze.map(e=>e?.snapshot?.capture()))}function mt(e){F[e]?.forEach((e,t)=>{Ze[t]?.snapshot?.restore(e)})}function ht(){L(q),pe(_e,P),pt(J),pe(ge,F)}async function gt(e,t,n,r){let i,a;t.invalidateAll&&Qe(),await X({type:`goto`,url:T(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{if(t.invalidateAll){ot=!0,i=new Set;for(let[e,t]of lt)for(let[n,r]of t)r.resource?.reset(),i.add(A(e,n));a=new Set;for(let[e,t]of ut)for(let n of t.keys())a.add(A(e,n))}t.invalidate&&t.invalidate.forEach(Vt)}}),t.invalidateAll&&s().then(s).then(()=>{for(let[e,t]of lt)for(let[n,{resource:r}]of t)i?.has(A(e,n))&&r.start();for(let[e,t]of ut)for(let[n,{resource:r}]of t)a?.has(A(e,n))&&r.reconnect()})}async function _t(e){if(e.id!==H?.id){Qe();let t={};ct.add(t),H={id:e.id,token:t,promise:Dt({...e,preload:t}).then(e=>(ct.delete(t),e.type===`loaded`&&e.state.error&&Qe(),e)),fork:null}}return H.promise}async function vt(e){let t=(await jt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function yt(e,t,n){let r={params:W.params,route:{id:W.route?.id??null},url:new URL(location.href)};if(W={...e.state,nav:r},Ie(e.props.page),st=new V.root({target:t,props:{...e.props,stores:I,components:Ze},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:P[q]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};U.forEach(t=>t(e))}mt(J),rt=!0}async function bt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=p(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Ae(n).map(e=>e.node.component),page:$(j)}};s!==void 0&&(l.props.form=s);let u={},d=!j,f=0;for(let e=0;e<Math.max(n.length,W.branch.length);e+=1){let t=n[e],r=W.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${f}`]=u),f+=1)}return(!W.url||e.href!==W.url.href||W.error!==a||s!==void 0&&s!==j.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:j.data}),l}async function xt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:Le,current:Le},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},V.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=St(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function St(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:rt?y(r,i.href,t):v(r,t)}}function Ct(e,t,n,r,i,a){if(ot)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==W.params[e])return!0;for(let e of i.dependencies)if(Xe.some(t=>t(new URL(e))))return!0;return!1}function wt(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function Tt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Et({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:$(j),constructors:[]}}}async function Dt({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(H?.id===e)return ct.delete(H.token),H.promise;let{errors:o,layouts:s,leaf:c}=i,l=[...s,c];o.forEach(e=>e?.().catch(g)),l.forEach(e=>e?.[1]().catch(g));let f=W.url?e!==Nt(W.url):!1,p=W.route?i.id!==W.route.id:!1,ee=Tt(W.url,n),te=!1,m=l.map(async(e,t)=>{if(!e)return;let a=W.branch[t];return e[1]===a?.loader&&!Ct(te,p,f,ee,a.universal?.uses,r)?a:(te=!0,xt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await m[n])?.data);return e},server_data_node:wt(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of m)e.catch(g);let h=[];for(let e=0;e<l.length;e+=1)if(l[e])try{h.push(await m[e])}catch(t){if(t instanceof d)return{type:`redirect`,location:t.location};if(a&&ct.has(a))return Et({error:await Q(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=je(t),c;if(t instanceof u)c=t.body;else{if(await I.updated.check())return await We(),await R(n);c=await Q(t,{params:r,url:n,route:{id:i.id}})}let l=await Ot(e,h,o);return l?bt({url:n,params:r,branch:h.slice(0,l.idx).concat(l.node),errors:o,status:s,error:c,route:i}):await Ft(n,{id:i.id},c,s)}else h.push(void 0);return bt({url:n,params:r,branch:h,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Ot(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function kt({status:e,error:t,url:n,route:r}){let i={};try{return bt({url:n,params:i,branch:[await xt({loader:Ke,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:wt(null)}),{node:await z(),loader:z,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof d){await gt(new URL(t.location,location.href),{},0);return}let a=await V.get_error_template(),o=await Q(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function At(e){let t=e.href;if($e.has(t))return $e.get(t);let n;try{let r=(async()=>{let t=await V.hooks.reroute({url:new URL(e),fetch:async(t,n)=>St(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);V.hash?n.hash=t:n.pathname=t,t=n}return t})();$e.set(t,r),n=await r}catch{$e.delete(t);return}return n}async function jt(e,t){if(e&&!k(e,x,V.hash)){let n=await At(e);if(!n)return;let r=Mt(n);for(let n of Ge){let i=n.exec(r);if(i)return{id:Nt(e),invalidating:t,route:n,params:te(i),url:e}}}}function Mt(e){return ee(V.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function Nt(e){return(V.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Pt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=Yt(W,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return G||et.forEach(e=>e(c)),o?null:s}async function X({type:e,url:t,popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c={},redirect_count:u=0,nav_token:d={},accept:f=g,block:p=g,event:ee}){let te=Y;Y=d;let m=await jt(t,!1),h=e===`enter`?Yt(W,m,t,e):Pt({url:t,type:e,delta:n?.delta,intent:m,scroll:n?.scroll,event:ee});if(!h){p(),Y===d&&(Y=te);return}let ne=q,re=J;f(),G=!0,rt&&h.navigation.type!==`enter`&&I.navigating.set(M.current=h.navigation);let _=m&&await Dt(m);if(!_){if(k(t,x,V.hash))return await R(t,o);_=await Ft(t,{id:null},await Q(new l(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=m?.url||t,Y!==d){h.reject(Error(`navigation aborted`));return}if(!_)return;if(_.type===`redirect`){if(u<20){await X({type:e,url:new URL(_.location,t),popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c,redirect_count:u+1,nav_token:d}),h.fulfil(void 0);return}if(_=await kt({status:500,error:await Q(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await I.updated.check())return await We(),await R(t,o);if(ft(),L(ne),pt(re),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),c=n?n.state:c,!n){let e=+!o,n={[S]:q+=e,[C]:J+=e,[ve]:c};(o?history.replaceState:history.pushState).call(history,n,``,t),o||Ue(q,J)}let v=m&&H?.id===m.id?H.fork:null;H?.fork&&!v?Qe():(H=null,Z={element:void 0,href:void 0}),_.props.page.state=c;let y;if(rt){let e=(await Promise.all(Array.from(tt,e=>e(h.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{U.delete(e)})}e.push(t),e.forEach(e=>{U.add(e)})}let n=h.navigation.to;W={..._.state,nav:{params:n.params,route:n.route,url:n.url}},_.props.page&&(_.props.page.url=t),!i&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let a=v&&await v;a?y=a.commit():(N=null,st.$set(_.props),N&&Object.assign(_.props.page,N),Ie(_.props.page),y=r?.()),at=!0}else await yt(_,qe,!1);let{activeElement:ie}=document;if(await y,await s(),await s(),Y!==d){h.reject(Error(`navigation aborted`));return}_.props.page&&N&&Object.assign(_.props.page,N);let b=null;if(it){let e=n?n.scroll:a?E():null;e?scrollTo(e.x,e.y):(b=t.hash&&document.getElementById(Zt(t)))?b.scrollIntoView():scrollTo(0,0)}let ae=document.activeElement!==ie&&document.activeElement!==document.body;!i&&!ae&&Jt(t,!b),it=!0,G=!1,h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=E()),U.forEach(e=>e(h.navigation)),e===`popstate`&&mt(J),I.navigating.set(M.current=null)}async function Ft(e,t,n,r,i){return e.origin===be&&e.pathname===location.pathname&&!nt?await kt({status:r,error:n,url:e,route:t}):await R(e,i)}var Z={element:void 0,href:void 0};function It(){let e,t;B.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,w.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],w.tap)}B.addEventListener(`mousedown`,n),B.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(vt(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ce(e,B),i=r===Z.element&&r?.href===Z.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=we(r,x,V.hash);if(o||s)return;let c=O(r),l=a&&Nt(W.url)===Nt(a);if(!(c.reload||l)){if(n<=c.preload_data){Z={element:r,href:r.href},t=w.tap;let e=await jt(a,!1);if(!e)return;_t(e)}else n<=c.preload_code&&(Z={element:r,href:r.href},t=n,vt(a))}}function a(){r.disconnect();for(let e of B.querySelectorAll(`a`)){let{url:t,external:n,download:i}=we(e,x,V.hash);if(n||i)continue;let a=O(e);a.reload||(a.preload_code===w.viewport&&r.observe(e),a.preload_code===w.eager&&vt(t))}}U.add(a),a()}function Q(e,t){if(e instanceof u)return e.body;let n=je(e),r=Me(e);return V.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Lt(e,t){ze(()=>(e.add(t),()=>{e.delete(t)}))}function Rt(e){Lt(U,e)}function zt(e){Lt(tt,e)}function Bt(e,t={}){return e=new URL(T(e)),e.origin===be?gt(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Vt(e){if(typeof e==`function`)Xe.push(e);else{let{href:t}=new URL(e,location.href);Xe.push(e=>e.href===t)}}function Ht(e,t){L(q);let n={[S]:q+=1,[C]:J,[ye]:j.url.href,[ve]:t};history.pushState(n,``,T(e)),at=!0,j.state=t,st.$set({page:Ve(()=>$(j))}),Ue(q,J)}function Ut(e,t){let n={[S]:q,[C]:J,[ye]:j.url.href,[ve]:t};history.replaceState(n,``,T(e)),j.state=t,st.$set({page:Ve(()=>$(j))})}function Wt(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(ht(),!G){let e=Yt(W,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};et.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&ht()}),navigator.connection?.saveData||It(),B.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ce(t.composedPath()[0],B);if(!n)return;let{url:r,external:i,target:a,download:o}=we(n,x,V.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=O(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(V.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l))Pt({url:r,type:`link`,event:t})?G=!0:t.preventDefault();else{if(l!==void 0&&u){let[,i]=W.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(K=!0,L(q),e(r),!s.replace_state)return;K=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await X({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}}),B.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(k(r,x,!1))return;let i=e.target,a=O(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),X({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!qt){if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Y={},n===q)return;let r=P[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=W.url?m(location)===m(W.url):!1;if(o===J&&(at||s)){i!==j.state&&(j.state=i),e(a),P[q]=E(),r&&scrollTo(r.x,r.y),q=n;return}let c=n-q;await X({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{q=n,J=o},block:()=>{history.go(-c)},nav_token:Y,event:t})}else K||(e(new URL(location.href)),V.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{K&&(K=!1,history.replaceState({...history.state,[S]:++q,[C]:J},``,location.href))});for(let e of document.querySelectorAll(`link`))He.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&I.navigating.set(M.current=null)});function e(e){W.url=j.url=e,I.page.set($(j)),I.page.notify()}}async function Gt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){nt=!0;let l=new URL(location.href),u;({params:i={},route:a={id:null}}=await jt(l,!1)||{}),u=Ge.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Kt(r.uses)),xt({loader:V.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:wt(r)})}),o=await Promise.all(e);if(u){let e=u.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await bt({url:l,params:i,branch:o,status:t,error:n,errors:u?.errors,form:c,route:u??null})}catch(t){if(t instanceof d)return await R(new URL(t.location,location.href));f=await kt({status:je(t),error:await Q(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await yt(f,e,p))}function Kt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var qt=!1;function Jt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Zt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;qt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),qt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function Yt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function $(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Xt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Zt(e){let t;if(V.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Ut as a,j as c,Ht as i,Oe as l,Bt as n,dt as o,zt as r,M as s,Rt as t,x as u};