@happyvertical/smrt-planner 0.57.39 → 0.57.40

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 (530) hide show
  1. package/app/404.html +18 -18
  2. package/app/_app/immutable/chunks/{37MQKKzD.js → BAwEK5g5.js} +1 -1
  3. package/app/_app/immutable/chunks/{CGP3DCks.js → BBzpxK-8.js} +2 -2
  4. package/app/_app/immutable/chunks/{UdSSduFl.js → Bikltb61.js} +1 -1
  5. package/app/_app/immutable/chunks/{DlFPJqdW.js → BoItyfDx.js} +1 -1
  6. package/app/_app/immutable/chunks/{DgxsJIer.js → BytZpJV4.js} +1 -1
  7. package/app/_app/immutable/chunks/{DV4ZElHH.js → Bz6UsD_f.js} +1 -1
  8. package/app/_app/immutable/chunks/CBHn82fo.js +1 -0
  9. package/app/_app/immutable/chunks/{yX53O8io.js → CF92oapa.js} +1 -1
  10. package/app/_app/immutable/chunks/{B5KpJAxe.js → CGy-IxPQ.js} +1 -1
  11. package/app/_app/immutable/chunks/{lBxy9G7n.js → CUNj1yy1.js} +1 -1
  12. package/app/_app/immutable/chunks/{1Kgo_mS6.js → CX6N0Q6b.js} +1 -1
  13. package/app/_app/immutable/chunks/CaTJsbff.js +1 -0
  14. package/app/_app/immutable/chunks/{ByVy0hov.js → CgeTxqIE.js} +3 -3
  15. package/app/_app/immutable/chunks/{cReIqLDR.js → CijPG3jg.js} +1 -1
  16. package/app/_app/immutable/chunks/{C1ZFrEig.js → CrCEAfXG.js} +1 -1
  17. package/app/_app/immutable/chunks/D00XWXiM.js +1 -0
  18. package/app/_app/immutable/chunks/{CxQsuHmt.js → D4QMl-tN.js} +1 -1
  19. package/app/_app/immutable/chunks/{CeMHb2Ut.js → D75d6u7q.js} +1 -1
  20. package/app/_app/immutable/chunks/{D9FbKcz8.js → DPhUHp9B.js} +1 -1
  21. package/app/_app/immutable/chunks/{C4mCvNqs.js → DV-QPPmm.js} +1 -1
  22. package/app/_app/immutable/chunks/{C5sGLQdH.js → DVHELJ71.js} +1 -1
  23. package/app/_app/immutable/chunks/{cHQsbMtA.js → DmNUwu-S.js} +1 -1
  24. package/app/_app/immutable/chunks/{CzHJpxKE.js → Ds81oecv.js} +1 -1
  25. package/app/_app/immutable/chunks/{D7rImngj.js → DvjvjwnR.js} +1 -1
  26. package/app/_app/immutable/chunks/{Dtt3h0DR.js → DwJwsALF.js} +1 -1
  27. package/app/_app/immutable/chunks/{BNsUUCNA.js → cXr3doj-.js} +1 -1
  28. package/app/_app/immutable/chunks/{CGI2AmR_.js → f1wD15Gj.js} +33 -33
  29. package/app/_app/immutable/chunks/{BmVY5V28.js → mQ6O0Tem.js} +1 -1
  30. package/app/_app/immutable/chunks/yk0CbPfJ.js +1 -0
  31. package/app/_app/immutable/entry/{app.DBkOBAZU.js → app.Ci1kI5es.js} +2 -2
  32. package/app/_app/immutable/entry/start.6TiI-_oR.js +1 -0
  33. package/app/_app/immutable/nodes/{0.B-r9Jtev.js → 0.Z902gPeD.js} +1 -1
  34. package/app/_app/immutable/nodes/{1.dIIlQ8Yf.js → 1.Ccdu2St_.js} +1 -1
  35. package/app/_app/immutable/nodes/{10.D4KKkWn4.js → 10.Dyma18OU.js} +1 -1
  36. package/app/_app/immutable/nodes/{11.D_vaG7j4.js → 11.Cu6DiI7h.js} +1 -1
  37. package/app/_app/immutable/nodes/{12.BxJmNSpx.js → 12.FH2vqMr8.js} +1 -1
  38. package/app/_app/immutable/nodes/{13.CBEsdFLE.js → 13.Be1MlzbM.js} +1 -1
  39. package/app/_app/immutable/nodes/{14.BnXvUNe3.js → 14.DM_cZGhH.js} +1 -1
  40. package/app/_app/immutable/nodes/{2.CSlIVn5g.js → 2.CjNkW-UL.js} +3 -3
  41. package/app/_app/immutable/nodes/{3.CKyZA5cX.js → 3.TF7PiZW5.js} +1 -1
  42. package/app/_app/immutable/nodes/{4.PQwN8bGB.js → 4.YRTy9VBr.js} +1 -1
  43. package/app/_app/immutable/nodes/{5.R7dPMLMX.js → 5.BgL37Avs.js} +1 -1
  44. package/app/_app/immutable/nodes/{6.DF8Xh9i3.js → 6.C57oZZy1.js} +1 -1
  45. package/app/_app/immutable/nodes/{7.DVfXQ6lb.js → 7.CvchC13t.js} +1 -1
  46. package/app/_app/immutable/nodes/{8.D5TKTct3.js → 8.CTFwoCm2.js} +1 -1
  47. package/app/_app/immutable/nodes/{9.BIuRBigs.js → 9.CZeQtlqV.js} +1 -1
  48. package/app/_app/version.json +1 -1
  49. package/app/advanced-styles/index.html +21 -21
  50. package/app/ai/index.html +24 -24
  51. package/app/blueprint/index.html +19 -19
  52. package/app/cookbook/index.html +19 -19
  53. package/app/index.html +27 -27
  54. package/app/m/ads/AdDeliveryTier/index.html +23 -23
  55. package/app/m/ads/AdEvent/index.html +23 -23
  56. package/app/m/ads/AdFormat/index.html +23 -23
  57. package/app/m/ads/AdGroup/index.html +23 -23
  58. package/app/m/ads/AdVariation/index.html +23 -23
  59. package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
  60. package/app/m/analytics/AnalyticsEvent/index.html +23 -23
  61. package/app/m/analytics/AnalyticsProperty/index.html +23 -23
  62. package/app/m/analytics/AnalyticsReport/index.html +23 -23
  63. package/app/m/approvals/ApprovalEvent/index.html +23 -23
  64. package/app/m/approvals/ApprovalPolicy/index.html +23 -23
  65. package/app/m/approvals/ApprovalRequest/index.html +23 -23
  66. package/app/m/assets/Asset/attachments/index.html +24 -24
  67. package/app/m/assets/Asset/index.html +23 -23
  68. package/app/m/assets/AssetAssociation/index.html +23 -23
  69. package/app/m/assets/AssetMetafield/index.html +23 -23
  70. package/app/m/assets/AssetStatus/index.html +23 -23
  71. package/app/m/assets/AssetType/index.html +23 -23
  72. package/app/m/assets/Folder/index.html +23 -23
  73. package/app/m/chat/AgentSession/index.html +23 -23
  74. package/app/m/chat/ChatMessage/index.html +23 -23
  75. package/app/m/chat/ChatParticipant/index.html +23 -23
  76. package/app/m/chat/ChatReaction/index.html +23 -23
  77. package/app/m/chat/ChatRoom/index.html +23 -23
  78. package/app/m/chat/ChatThread/index.html +23 -23
  79. package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
  80. package/app/m/chat/VoiceSession/index.html +23 -23
  81. package/app/m/commerce/Agreement/index.html +23 -23
  82. package/app/m/commerce/Cart/index.html +23 -23
  83. package/app/m/commerce/Contract/index.html +23 -23
  84. package/app/m/commerce/ContractLineItem/index.html +23 -23
  85. package/app/m/commerce/Customer/index.html +23 -23
  86. package/app/m/commerce/DocumentTax/index.html +23 -23
  87. package/app/m/commerce/Estimate/index.html +23 -23
  88. package/app/m/commerce/Fulfillment/index.html +23 -23
  89. package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
  90. package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
  91. package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
  92. package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
  93. package/app/m/commerce/Invoice/index.html +23 -23
  94. package/app/m/commerce/InvoiceLineItem/index.html +23 -23
  95. package/app/m/commerce/Lease/index.html +23 -23
  96. package/app/m/commerce/LicenseSale/index.html +23 -23
  97. package/app/m/commerce/Order/index.html +23 -23
  98. package/app/m/commerce/Payment/index.html +23 -23
  99. package/app/m/commerce/PaymentAllocation/index.html +23 -23
  100. package/app/m/commerce/PaymentInstrument/index.html +23 -23
  101. package/app/m/commerce/PaymentIntent/index.html +23 -23
  102. package/app/m/commerce/Payout/index.html +23 -23
  103. package/app/m/commerce/ProductionOrder/index.html +23 -23
  104. package/app/m/commerce/PurchaseContract/index.html +23 -23
  105. package/app/m/commerce/PurchaseOrder/index.html +23 -23
  106. package/app/m/commerce/SalesContract/index.html +23 -23
  107. package/app/m/commerce/SupplierQuote/index.html +23 -23
  108. package/app/m/commerce/TaxCode/index.html +23 -23
  109. package/app/m/commerce/TaxComponent/index.html +23 -23
  110. package/app/m/commerce/TaxSettings/index.html +23 -23
  111. package/app/m/commerce/TaxSummaryReport/index.html +23 -23
  112. package/app/m/commerce/TenantPaymentAccount/index.html +23 -23
  113. package/app/m/commerce/Vendor/index.html +23 -23
  114. package/app/m/commerce/WholesaleOrder/index.html +23 -23
  115. package/app/m/content/Content/articles/index.html +24 -24
  116. package/app/m/content/Content/index.html +23 -23
  117. package/app/m/content/ContentContribution/index.html +23 -23
  118. package/app/m/content/ContentContributionAttachment/index.html +23 -23
  119. package/app/m/content/ContentContributionRevision/index.html +23 -23
  120. package/app/m/content/ContentContributionType/index.html +23 -23
  121. package/app/m/content/ContentContributor/index.html +23 -23
  122. package/app/m/content/ContentCorrection/index.html +23 -23
  123. package/app/m/content/ContentFeedSource/index.html +23 -23
  124. package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
  125. package/app/m/content/ContentGovernancePolicy/index.html +23 -23
  126. package/app/m/content/ContentGovernanceProfile/index.html +23 -23
  127. package/app/m/content/ContentReference/index.html +23 -23
  128. package/app/m/content/ContentReview/index.html +23 -23
  129. package/app/m/content/ContentVersion/index.html +23 -23
  130. package/app/m/events/Event/index.html +23 -23
  131. package/app/m/events/EventParticipant/index.html +23 -23
  132. package/app/m/events/EventSeries/index.html +23 -23
  133. package/app/m/events/EventType/index.html +23 -23
  134. package/app/m/expenses/Expense/index.html +23 -23
  135. package/app/m/facts/Fact/index.html +23 -23
  136. package/app/m/facts/FactContent/index.html +23 -23
  137. package/app/m/facts/FactEvidence/index.html +23 -23
  138. package/app/m/facts/FactSource/index.html +23 -23
  139. package/app/m/facts/FactSubject/index.html +23 -23
  140. package/app/m/facts/FactTag/index.html +23 -23
  141. package/app/m/fields/FieldPolicy/index.html +23 -23
  142. package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
  143. package/app/m/fields/FieldUsageCounter/index.html +23 -23
  144. package/app/m/human-resources/Employment/index.html +23 -23
  145. package/app/m/human-resources/EmploymentTerm/index.html +23 -23
  146. package/app/m/human-resources/HeldQualification/index.html +23 -23
  147. package/app/m/human-resources/Qualification/index.html +23 -23
  148. package/app/m/images/Image/index.html +23 -23
  149. package/app/m/inventory/InventoryLocation/index.html +23 -23
  150. package/app/m/inventory/Lot/index.html +23 -23
  151. package/app/m/inventory/LotCorrection/index.html +23 -23
  152. package/app/m/inventory/LotDocument/index.html +23 -23
  153. package/app/m/inventory/LotStockLevel/index.html +23 -23
  154. package/app/m/inventory/LotUsage/index.html +23 -23
  155. package/app/m/inventory/StockLevel/index.html +23 -23
  156. package/app/m/inventory/StockMovement/index.html +23 -23
  157. package/app/m/ledgers/Account/index.html +23 -23
  158. package/app/m/ledgers/Journal/index.html +23 -23
  159. package/app/m/ledgers/JournalEntry/index.html +23 -23
  160. package/app/m/ledgers/Ledger/index.html +23 -23
  161. package/app/m/manufacturing/Assembly/index.html +23 -23
  162. package/app/m/manufacturing/BillOfMaterials/index.html +23 -23
  163. package/app/m/manufacturing/BomLine/index.html +23 -23
  164. package/app/m/manufacturing/Operation/index.html +23 -23
  165. package/app/m/manufacturing/ProductionRun/index.html +23 -23
  166. package/app/m/manufacturing/ProductionRunCompletion/index.html +23 -23
  167. package/app/m/manufacturing/RoutingStep/index.html +23 -23
  168. package/app/m/marketing/Campaign/index.html +23 -23
  169. package/app/m/marketing/CampaignChannel/index.html +23 -23
  170. package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
  171. package/app/m/messages/Account/index.html +23 -23
  172. package/app/m/messages/Attachment/index.html +23 -23
  173. package/app/m/messages/Blacklist/index.html +23 -23
  174. package/app/m/messages/Email/failed-sends/index.html +24 -24
  175. package/app/m/messages/Email/index.html +23 -23
  176. package/app/m/messages/Email/mailbox/index.html +24 -24
  177. package/app/m/messages/EmailAccount/index.html +23 -23
  178. package/app/m/messages/EmailAttachment/index.html +23 -23
  179. package/app/m/messages/EmailFolder/index.html +23 -23
  180. package/app/m/messages/Message/index.html +23 -23
  181. package/app/m/messages/MessagingEndpoint/index.html +23 -23
  182. package/app/m/messages/PersonaMessageRoute/index.html +23 -23
  183. package/app/m/messages/SlackAccount/index.html +23 -23
  184. package/app/m/messages/SlackMessage/index.html +23 -23
  185. package/app/m/messages/SlackMessage/slack-messages/index.html +24 -24
  186. package/app/m/messages/TelegramAccount/index.html +23 -23
  187. package/app/m/messages/Tweet/index.html +23 -23
  188. package/app/m/messages/TwitterAccount/index.html +23 -23
  189. package/app/m/messages/Whitelist/index.html +23 -23
  190. package/app/m/messages/ZulipAccount/index.html +23 -23
  191. package/app/m/places/Place/index.html +23 -23
  192. package/app/m/places/PlaceType/index.html +23 -23
  193. package/app/m/products/Category/index.html +23 -23
  194. package/app/m/products/Material/index.html +23 -23
  195. package/app/m/products/Product/index.html +23 -23
  196. package/app/m/products/Product/ingredients/index.html +24 -24
  197. package/app/m/products/ProductVariant/index.html +23 -23
  198. package/app/m/products/Sku/index.html +23 -23
  199. package/app/m/profiles/ApiKey/index.html +23 -23
  200. package/app/m/profiles/Bot/index.html +23 -23
  201. package/app/m/profiles/MagicLinkToken/index.html +23 -23
  202. package/app/m/profiles/NostrIdentity/index.html +23 -23
  203. package/app/m/profiles/OidcIdentity/index.html +23 -23
  204. package/app/m/profiles/Organization/index.html +23 -23
  205. package/app/m/profiles/Person/index.html +23 -23
  206. package/app/m/profiles/Profile/index.html +23 -23
  207. package/app/m/profiles/ProfileMetadata/index.html +23 -23
  208. package/app/m/profiles/ProfileMetafield/index.html +23 -23
  209. package/app/m/profiles/ProfileRelationship/index.html +23 -23
  210. package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
  211. package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
  212. package/app/m/profiles/ProfileType/index.html +23 -23
  213. package/app/m/projects/Comment/index.html +23 -23
  214. package/app/m/projects/Issue/index.html +23 -23
  215. package/app/m/projects/Label/index.html +23 -23
  216. package/app/m/projects/Project/index.html +23 -23
  217. package/app/m/projects/ProjectIntegration/index.html +23 -23
  218. package/app/m/projects/PullRequest/index.html +23 -23
  219. package/app/m/projects/Repository/index.html +23 -23
  220. package/app/m/properties/Property/index.html +23 -23
  221. package/app/m/properties/Zone/index.html +23 -23
  222. package/app/m/reports/RuntimeReport/index.html +23 -23
  223. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
  224. package/app/m/reports/SmrtReportLock/index.html +23 -23
  225. package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
  226. package/app/m/reports/SmrtReportRun/index.html +23 -23
  227. package/app/m/reports/SmrtReportSchedule/index.html +23 -23
  228. package/app/m/reports/SmrtReportWatermark/index.html +23 -23
  229. package/app/m/sales/Agreement/index.html +23 -23
  230. package/app/m/sales/AttributionException/index.html +23 -23
  231. package/app/m/sales/AttributionPolicy/index.html +23 -23
  232. package/app/m/sales/Commission/index.html +23 -23
  233. package/app/m/sales/CommissionAdjustment/index.html +23 -23
  234. package/app/m/sales/CommissionPayout/index.html +23 -23
  235. package/app/m/sales/CommissionPlan/index.html +23 -23
  236. package/app/m/sales/Earner/index.html +23 -23
  237. package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
  238. package/app/m/sales/EarningEvent/index.html +23 -23
  239. package/app/m/sales/ExecutedAgreement/index.html +23 -23
  240. package/app/m/sales/Lead/index.html +23 -23
  241. package/app/m/sales/Opportunity/index.html +23 -23
  242. package/app/m/sales/OpportunityConversion/index.html +23 -23
  243. package/app/m/sales/PipelineDefinition/index.html +23 -23
  244. package/app/m/sales/PipelineStage/index.html +23 -23
  245. package/app/m/sales/Referral/index.html +23 -23
  246. package/app/m/sales/ReferralAgreement/index.html +23 -23
  247. package/app/m/sales/ReferralLink/index.html +23 -23
  248. package/app/m/sales/ReferralProgram/index.html +23 -23
  249. package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
  250. package/app/m/sales/ReferralTouch/index.html +23 -23
  251. package/app/m/sales/Referrer/index.html +23 -23
  252. package/app/m/sales/SalesActivity/index.html +23 -23
  253. package/app/m/sales/SalesRepresentative/index.html +23 -23
  254. package/app/m/sites/Site/index.html +23 -23
  255. package/app/m/sites/SiteAgentBinding/index.html +23 -23
  256. package/app/m/social/OAuthState/index.html +23 -23
  257. package/app/m/social/SocialAccount/index.html +23 -23
  258. package/app/m/social/SocialPost/index.html +23 -23
  259. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
  260. package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
  261. package/app/m/subscriptions/ClientCharge/index.html +23 -23
  262. package/app/m/subscriptions/CreditGrant/index.html +23 -23
  263. package/app/m/subscriptions/PricingRule/index.html +23 -23
  264. package/app/m/subscriptions/RetailCharge/index.html +23 -23
  265. package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
  266. package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
  267. package/app/m/subscriptions/SubscriptionPlanVersion/index.html +23 -23
  268. package/app/m/subscriptions/TenantSubscription/index.html +23 -23
  269. package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
  270. package/app/m/support/ServiceTimeEntry/index.html +23 -23
  271. package/app/m/support/SupportAiRun/index.html +23 -23
  272. package/app/m/support/SupportAvailability/index.html +23 -23
  273. package/app/m/support/SupportCase/index.html +23 -23
  274. package/app/m/support/SupportCaseEvent/index.html +23 -23
  275. package/app/m/support/SupportChannelBinding/index.html +23 -23
  276. package/app/m/support/SupportCharge/index.html +23 -23
  277. package/app/m/support/SupportCompensation/index.html +23 -23
  278. package/app/m/support/SupportCompensationPlan/index.html +23 -23
  279. package/app/m/support/SupportEscalation/index.html +23 -23
  280. package/app/m/support/SupportInteraction/index.html +23 -23
  281. package/app/m/support/SupportPlan/index.html +23 -23
  282. package/app/m/support/SupportPolicy/index.html +23 -23
  283. package/app/m/support/SupportQualification/index.html +23 -23
  284. package/app/m/support/SupportServiceTarget/index.html +23 -23
  285. package/app/m/support/SupportSpecialist/index.html +23 -23
  286. package/app/m/support/SupportWorkLink/index.html +23 -23
  287. package/app/m/tags/Tag/index.html +23 -23
  288. package/app/m/tags/TagAlias/index.html +23 -23
  289. package/app/m/timesheets/AttendanceBreak/index.html +23 -23
  290. package/app/m/timesheets/AttendancePunch/index.html +23 -23
  291. package/app/m/timesheets/AttendanceSegment/index.html +23 -23
  292. package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
  293. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
  294. package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
  295. package/app/m/users/Group/index.html +23 -23
  296. package/app/m/users/GroupMember/index.html +23 -23
  297. package/app/m/users/GroupRole/index.html +23 -23
  298. package/app/m/users/Membership/index.html +23 -23
  299. package/app/m/users/MembershipOverride/index.html +23 -23
  300. package/app/m/users/Permission/index.html +23 -23
  301. package/app/m/users/Role/index.html +23 -23
  302. package/app/m/users/RolePermission/index.html +23 -23
  303. package/app/m/users/Session/index.html +23 -23
  304. package/app/m/users/Tenant/index.html +23 -23
  305. package/app/m/users/TenantIntegration/index.html +23 -23
  306. package/app/m/users/TenantPermissionOverride/index.html +23 -23
  307. package/app/m/users/User/index.html +23 -23
  308. package/app/m/video/Character/index.html +23 -23
  309. package/app/m/video/CharacterAsset/index.html +23 -23
  310. package/app/m/video/CompositeJob/index.html +23 -23
  311. package/app/m/video/Performer/index.html +23 -23
  312. package/app/m/video/PerformerAsset/index.html +23 -23
  313. package/app/m/video/Scene/index.html +23 -23
  314. package/app/m/video/SceneAsset/index.html +23 -23
  315. package/app/m/video/VideoComposition/index.html +23 -23
  316. package/app/m/video/VideoCompositionAsset/index.html +23 -23
  317. package/app/m/video/VideoSequence/index.html +23 -23
  318. package/app/m/video/VideoSequenceAsset/index.html +23 -23
  319. package/app/m/video/VideoShot/index.html +23 -23
  320. package/app/m/video/VideoShotAsset/index.html +23 -23
  321. package/app/m/video/VideoShotCharacter/index.html +23 -23
  322. package/app/m/video/VideoWorkflow/index.html +23 -23
  323. package/app/m/voice/VoiceOutput/index.html +23 -23
  324. package/app/m/voice/VoiceProfile/index.html +23 -23
  325. package/app/m/voice/VoiceSample/index.html +23 -23
  326. package/app/mcp.html +2 -2
  327. package/app/packages/ads/index.html +21 -21
  328. package/app/packages/analytics/index.html +21 -21
  329. package/app/packages/approvals/index.html +21 -21
  330. package/app/packages/assets/index.html +21 -21
  331. package/app/packages/chat/index.html +21 -21
  332. package/app/packages/comments/index.html +21 -21
  333. package/app/packages/commerce/index.html +21 -21
  334. package/app/packages/content/index.html +21 -21
  335. package/app/packages/events/index.html +21 -21
  336. package/app/packages/expenses/index.html +21 -21
  337. package/app/packages/facts/index.html +21 -21
  338. package/app/packages/fields/index.html +21 -21
  339. package/app/packages/human-resources/index.html +21 -21
  340. package/app/packages/images/index.html +21 -21
  341. package/app/packages/index.html +20 -20
  342. package/app/packages/ingestion/index.html +21 -21
  343. package/app/packages/inventory/index.html +21 -21
  344. package/app/packages/ledgers/index.html +21 -21
  345. package/app/packages/manufacturing/index.html +21 -21
  346. package/app/packages/marketing/index.html +21 -21
  347. package/app/packages/messages/index.html +21 -21
  348. package/app/packages/places/index.html +21 -21
  349. package/app/packages/preferences/index.html +21 -21
  350. package/app/packages/products/index.html +21 -21
  351. package/app/packages/profiles/index.html +21 -21
  352. package/app/packages/projects/index.html +21 -21
  353. package/app/packages/properties/index.html +21 -21
  354. package/app/packages/reactions/index.html +21 -21
  355. package/app/packages/reports/index.html +21 -21
  356. package/app/packages/sales/index.html +21 -21
  357. package/app/packages/sites/index.html +21 -21
  358. package/app/packages/social/index.html +21 -21
  359. package/app/packages/subscriptions/index.html +21 -21
  360. package/app/packages/support/index.html +21 -21
  361. package/app/packages/tags/index.html +21 -21
  362. package/app/packages/timesheets/index.html +21 -21
  363. package/app/packages/users/index.html +21 -21
  364. package/app/packages/video/index.html +21 -21
  365. package/app/packages/voice/index.html +21 -21
  366. package/app/packages/webhooks/index.html +21 -21
  367. package/app/recipes/account-access/help/index.html +21 -21
  368. package/app/recipes/account-access/index.html +23 -23
  369. package/app/recipes/activity/help/index.html +21 -21
  370. package/app/recipes/activity/index.html +23 -23
  371. package/app/recipes/ads.campaigns/help/index.html +21 -21
  372. package/app/recipes/ads.campaigns/index.html +23 -23
  373. package/app/recipes/affiliates.referrals/help/index.html +21 -21
  374. package/app/recipes/affiliates.referrals/index.html +23 -23
  375. package/app/recipes/agreements/help/index.html +21 -21
  376. package/app/recipes/agreements/index.html +23 -23
  377. package/app/recipes/analytics.reports/help/index.html +21 -21
  378. package/app/recipes/analytics.reports/index.html +23 -23
  379. package/app/recipes/approvals.requests/help/index.html +21 -21
  380. package/app/recipes/approvals.requests/index.html +23 -23
  381. package/app/recipes/assets/help/index.html +21 -21
  382. package/app/recipes/assets/index.html +23 -23
  383. package/app/recipes/billing/help/index.html +21 -21
  384. package/app/recipes/billing/index.html +23 -23
  385. package/app/recipes/chat.assistant/help/index.html +21 -21
  386. package/app/recipes/chat.assistant/index.html +23 -23
  387. package/app/recipes/comments/help/index.html +21 -21
  388. package/app/recipes/comments/index.html +23 -23
  389. package/app/recipes/commerce.customers/help/index.html +21 -21
  390. package/app/recipes/commerce.customers/index.html +23 -23
  391. package/app/recipes/commerce.estimates/help/index.html +21 -21
  392. package/app/recipes/commerce.estimates/index.html +23 -23
  393. package/app/recipes/commerce.purchases/help/index.html +21 -21
  394. package/app/recipes/commerce.purchases/index.html +23 -23
  395. package/app/recipes/commerce.sales/help/index.html +21 -21
  396. package/app/recipes/commerce.sales/index.html +23 -23
  397. package/app/recipes/commerce.vendors/help/index.html +21 -21
  398. package/app/recipes/commerce.vendors/index.html +23 -23
  399. package/app/recipes/commerce.wholesale/help/index.html +21 -21
  400. package/app/recipes/commerce.wholesale/index.html +23 -23
  401. package/app/recipes/content.articles/help/index.html +21 -21
  402. package/app/recipes/content.articles/index.html +23 -23
  403. package/app/recipes/events.calendar/help/index.html +21 -21
  404. package/app/recipes/events.calendar/index.html +23 -23
  405. package/app/recipes/expenses.tracking/help/index.html +21 -21
  406. package/app/recipes/expenses.tracking/index.html +23 -23
  407. package/app/recipes/fields.form-customization/help/index.html +21 -21
  408. package/app/recipes/fields.form-customization/index.html +23 -23
  409. package/app/recipes/human-resources.people/help/index.html +21 -21
  410. package/app/recipes/human-resources.people/index.html +23 -23
  411. package/app/recipes/human-resources.qualifications/help/index.html +21 -21
  412. package/app/recipes/human-resources.qualifications/index.html +23 -23
  413. package/app/recipes/ingestion/help/index.html +21 -21
  414. package/app/recipes/ingestion/index.html +23 -23
  415. package/app/recipes/integrations/help/index.html +21 -21
  416. package/app/recipes/integrations/index.html +23 -23
  417. package/app/recipes/inventory.stock/help/index.html +21 -21
  418. package/app/recipes/inventory.stock/index.html +23 -23
  419. package/app/recipes/ledgers.bookkeeping/help/index.html +21 -21
  420. package/app/recipes/ledgers.bookkeeping/index.html +23 -23
  421. package/app/recipes/manufacturing.assemblies/help/index.html +21 -21
  422. package/app/recipes/manufacturing.assemblies/index.html +23 -23
  423. package/app/recipes/manufacturing.production/help/index.html +21 -21
  424. package/app/recipes/manufacturing.production/index.html +23 -23
  425. package/app/recipes/marketing.campaigns/help/index.html +21 -21
  426. package/app/recipes/marketing.campaigns/index.html +23 -23
  427. package/app/recipes/messages/help/index.html +21 -21
  428. package/app/recipes/messages/index.html +23 -23
  429. package/app/recipes/places.locations/help/index.html +21 -21
  430. package/app/recipes/places.locations/index.html +23 -23
  431. package/app/recipes/products/help/index.html +21 -21
  432. package/app/recipes/products/index.html +23 -23
  433. package/app/recipes/projects.tracker/help/index.html +21 -21
  434. package/app/recipes/projects.tracker/index.html +23 -23
  435. package/app/recipes/reports.materialized/help/index.html +21 -21
  436. package/app/recipes/reports.materialized/index.html +23 -23
  437. package/app/recipes/reports.runtime/help/index.html +21 -21
  438. package/app/recipes/reports.runtime/index.html +23 -23
  439. package/app/recipes/sales.pipeline/help/index.html +21 -21
  440. package/app/recipes/sales.pipeline/index.html +23 -23
  441. package/app/recipes/social.posts/help/index.html +21 -21
  442. package/app/recipes/social.posts/index.html +23 -23
  443. package/app/recipes/subscriptions.plans/help/index.html +21 -21
  444. package/app/recipes/subscriptions.plans/index.html +23 -23
  445. package/app/recipes/support.tickets/help/index.html +21 -21
  446. package/app/recipes/support.tickets/index.html +23 -23
  447. package/app/recipes/tags.taxonomy/help/index.html +21 -21
  448. package/app/recipes/tags.taxonomy/index.html +23 -23
  449. package/app/recipes/team-collaboration/help/index.html +21 -21
  450. package/app/recipes/team-collaboration/index.html +23 -23
  451. package/app/recipes/timesheets.time-entries/help/index.html +21 -21
  452. package/app/recipes/timesheets.time-entries/index.html +23 -23
  453. package/app/recipes/video.library/help/index.html +21 -21
  454. package/app/recipes/video.library/index.html +23 -23
  455. package/app/recipes/voice.profiles/help/index.html +21 -21
  456. package/app/recipes/voice.profiles/index.html +23 -23
  457. package/app/s/custom-accounts/index.html +19 -19
  458. package/app/s/custom-appointments/index.html +19 -19
  459. package/app/s/custom-billing/index.html +19 -19
  460. package/app/s/custom-bookings/index.html +19 -19
  461. package/app/s/custom-buying/index.html +19 -19
  462. package/app/s/custom-checkout/index.html +19 -19
  463. package/app/s/custom-classes/index.html +19 -19
  464. package/app/s/custom-clients/index.html +19 -19
  465. package/app/s/custom-events/index.html +19 -19
  466. package/app/s/custom-fleet/index.html +19 -19
  467. package/app/s/custom-gigs/index.html +19 -19
  468. package/app/s/custom-giving/index.html +19 -19
  469. package/app/s/custom-instruments/index.html +19 -19
  470. package/app/s/custom-jobs/index.html +19 -19
  471. package/app/s/custom-kitchen/index.html +19 -19
  472. package/app/s/custom-lessons/index.html +19 -19
  473. package/app/s/custom-material/index.html +19 -19
  474. package/app/s/custom-meetings/index.html +19 -19
  475. package/app/s/custom-members/index.html +19 -19
  476. package/app/s/custom-merch/index.html +19 -19
  477. package/app/s/custom-money/index.html +19 -19
  478. package/app/s/custom-paint/index.html +19 -19
  479. package/app/s/custom-parts/index.html +19 -19
  480. package/app/s/custom-rentals/index.html +19 -19
  481. package/app/s/custom-roastery/index.html +19 -19
  482. package/app/s/custom-schedule/index.html +19 -19
  483. package/app/s/custom-shelf/index.html +19 -19
  484. package/app/s/custom-shop/index.html +19 -19
  485. package/app/s/custom-students/index.html +19 -19
  486. package/app/s/custom-wholesale/index.html +19 -19
  487. package/app/s/custom-work/index.html +19 -19
  488. package/app/s/custom-yard/index.html +19 -19
  489. package/app/s/section-access-control/index.html +19 -19
  490. package/app/s/section-account-security/index.html +19 -19
  491. package/app/s/section-accounting/index.html +19 -19
  492. package/app/s/section-activity/index.html +19 -19
  493. package/app/s/section-agreements/index.html +19 -19
  494. package/app/s/section-analytics/index.html +19 -19
  495. package/app/s/section-approvals/index.html +19 -19
  496. package/app/s/section-assets/index.html +19 -19
  497. package/app/s/section-billing/index.html +19 -19
  498. package/app/s/section-calendar/index.html +19 -19
  499. package/app/s/section-catalog/index.html +19 -19
  500. package/app/s/section-chat.assistant/index.html +19 -19
  501. package/app/s/section-comments/index.html +19 -19
  502. package/app/s/section-fields.form-customization/index.html +19 -19
  503. package/app/s/section-grow/index.html +19 -19
  504. package/app/s/section-ingestion/index.html +19 -19
  505. package/app/s/section-integrations/index.html +19 -19
  506. package/app/s/section-make/index.html +19 -19
  507. package/app/s/section-messages/index.html +19 -19
  508. package/app/s/section-more/index.html +19 -19
  509. package/app/s/section-operations/index.html +19 -19
  510. package/app/s/section-places/index.html +19 -19
  511. package/app/s/section-projects/index.html +19 -19
  512. package/app/s/section-publish/index.html +19 -19
  513. package/app/s/section-purchasing/index.html +19 -19
  514. package/app/s/section-reports.materialized/index.html +19 -19
  515. package/app/s/section-reports.runtime/index.html +19 -19
  516. package/app/s/section-sales/index.html +19 -19
  517. package/app/s/section-staff/index.html +19 -19
  518. package/app/s/section-support/index.html +19 -19
  519. package/app/s/section-taxonomy/index.html +19 -19
  520. package/app/s/section-team/index.html +19 -19
  521. package/app/s/section-work/index.html +19 -19
  522. package/dist/catalog/catalog.json +39 -39
  523. package/dist/smrt-version.d.ts +1 -1
  524. package/dist/smrt-version.js +1 -1
  525. package/package.json +55 -55
  526. package/app/_app/immutable/chunks/Cjgg2jn2.js +0 -1
  527. package/app/_app/immutable/chunks/DRkl3Lew.js +0 -1
  528. package/app/_app/immutable/chunks/DpqDGw0P.js +0 -1
  529. package/app/_app/immutable/chunks/idIEqAKB.js +0 -1
  530. package/app/_app/immutable/entry/start.DpnLk1yh.js +0 -1
@@ -1 +1 @@
1
- import{$ as e,A as t,D as n,E as r,J as i,M as a,N as o,P as s,Q as c,S as l,T as u,Y as d,Z as f,at as p,bt as m,ct as h,dt as g,et as _,ft as ee,gt as v,it as y,j as te,k as b,lt as x,mt as ne,rt as re,st as S,ut as C,w,x as T,y as E,z as ie}from"./CGI2AmR_.js";var D=e=>{let t=m(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 W(e,r,i,o,s){let c=l(n(`${o}:${e.id}:${i.id}`)),d=U(e,`debit`)&&U(e,`credit`),f=d?2*(1+Math.floor(c()*2)):1+Math.floor(c()*H),p=_(e),m=1e3*(1+Math.floor(c()*90));return Array.from({length:f},(l,f)=>{let h=n(`${i.id}:${f}`)%997,g={...u(e,h,o,s),id:w(`${e.id}:${i.id}:${f}`),[r]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=f),p){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=a(),{products:o}=r,l=n?o[t(n,{modelId:e.id,index:h,rows:s})%o.length]:o[h%o.length],u=b(h);u?(U(e,`description`)&&(g.description=u.description),g.unitPrice=u.price,n&&(g[n.name]=``)):n&&l&&(U(e,`description`)&&(g.description=l.name),g.unitPrice=l.price);let[d,p]=u?.quantity??l?.quantity??r.lineQuantity??[1,5],m=d+Math.floor(c()*(p-d+1));U(e,`quantity`)&&(g.quantity=m),Object.assign(g,ae(e,i,f,m,Number(g.unitPrice??0))),g.amount=C(g)}if(d){let e=f%2==0;g.debit=e?m/100:0,g.credit=e?0:m/100}return g})}function G(e){return n(`discount:${e.id}`)%3==0}function K(e,t){return Math.round(e*t/1e3)*100}function q(e,t){return t>0&&n(`tax-override:${e.id}:${t}`)%7==0}function J(e,t,r=o().currency){let i=n(`tax-override-kind:${e.id}:${t}`)%4,a=x(r);if(a&&i<2)return a;let s=i%2==0?`exempt`:`zero-rated`;return S.find(e=>e.kind===s)}function ae(e,t,r,i,a){let o={},s=r===0&&G(t),c=n(`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`))?K(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=q(t,r)?J(t,r):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`],Y=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+=Y,e.totalAmount+=Y)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=y(t,e,n,r);return Object.assign(e,i.row),i.lines}var X=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&X(e.totalAmount)>0;function de(e,t,r,i){let a=new Map(r.map(e=>[e.id,X(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=l(n(`${i}:alloc:${s.id}`)),c=r.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 d=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(...d.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=d.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&d[0]?.inv.contractId&&(s.contractId=d[0].inv.contractId);for(let{inv:t,part:n}of d)o.push({...u(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 Z(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Q=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,pe=`@happyvertical/smrt-commerce:TaxComponent`,me=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function he(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Q}_created`;function ge(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 _e(t={}){let n=t.seed??1,a=t.rowsPerModel??8,l=new Set(t.empty??[]),u=new Map,m=new Set,b=t.storage??null,x=e=>`${Q}${e.id}`,S=e=>{if(b)try{let t=b.getItem(x(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(b)try{C=Number(b.getItem($))||0}catch{C=0}let E=new Map,D=e=>{let n=E.get(e);return n||(n=t.children?.links(e)??[],E.set(e,n)),n},O,k,A=e=>{if(!O){O=new Map;for(let e of t.children?.models??[])for(let t of D(e.id)){let n=O.get(t.model.id)??[];n.push({parent:e,fk:t.fk}),O.set(t.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(e)??[]},j=t=>{if(!e(t))return;A(t.id);let n=k?.get(t.id)??[],r=d(t)?.name,a=i(t)?.name,o=n.find(e=>e.fk===r)?.parent,s=n.find(e=>e.fk===a)?.parent;return o&&s&&r&&a?{model:t,paymentFk:r,invoiceFk:a,payment:o,invoice:s}:void 0},M=(n,r)=>{if(!p(n))return r;let i=D(n.id).find(t=>e(t.model)),a=i&&j(i.model);if(!i||!a)return r;let o=new Map(P(a.payment).map(e=>[e.id,e])),s=P(i.model).filter(e=>e[i.fk]===r.id&&o.get(String(e[a.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=re(r,s,(t.now??(()=>T))()),l={...r,amountPaid:c.amountPaid,status:c.status};return n.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=e=>{let i=u.get(e.id);if(i)return i;let o=S(e);if(o){u.set(e.id,o);for(let t of D(e.id))P(t.model);return o}let s=l.has(e.id)?void 0:t.samples?.[e.id];if(s){let t=[];return u.set(e.id,t),t.push(...s.make(s.from.map(P),n)),t}let c=j(e),d=c?[]:A(e.id),f=l.has(e.id)||d.length||c?[]:r(e,te(e.id,a),n,a);u.set(e.id,f);for(let t of D(e.id))P(t.model);if(c&&!l.has(e.id)){for(let e of D(c.invoice.id))_(e.model)&&P(e.model);let e=P(c.invoice);f.push(...de(c,P(c.payment),e,n)),e.forEach((t,n)=>{e[n]=M(c.invoice,t)})}if(!l.has(e.id))for(let{parent:r,fk:i}of d){let o=t.defaults?.(e)??{};P(r).forEach((t,s)=>{let c=W(e,i,t,n,a).map(e=>oe(e,o));_(e)?(f.push(...le(t,r,c,L(r,t))),ce(t,r,s)):f.push(...c)})}return f},F=new Map((t.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=ee(e),n=F.get(fe),r=F.get(pe),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=me.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=h(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=o(),r=s()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),l=a?.related?F.get(a.related):void 0,d=l?P(l).find(e=>e.id===t.customerId):void 0,p=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},m=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:c(t,n.taxRounding),currency:g(t.currency,g(n.currency)),codes:i,appDefaultCodeId:h(r).id,customerTaxExempt:d?.taxExempt===!0,partyCodeId:m(d?.defaultTaxCodeId),productCodeOf:e=>m(p(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!b)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&&b.setItem(x(e),JSON.stringify(t))}b.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>_(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(he(e,c)){if(n)throw new v(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=y(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),_(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=o(),n=s()??.05;i[a]=ne([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:g(e.currency),codes:I(n),appDefaultCodeId:h(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}p(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)}},G=(e,n)=>({...n,...t.defaults?.(e)??{}}),K=e=>w(`${e.id}:new:${n}:${C++}`),q=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>G(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>G(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?G(e,n):void 0},async create(e,n){let r={...t.defaults?.(e)??{},...n,id:K(e)},i=H(e);P(e).push(r);let a;try{a=V(e,r)}catch(e){throw U(i),C--,e}return R(e),{...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),o=r[i],s={...o,...n,id:t};r[i]=s;let c;try{if(c=V(e,s),_(e))for(let{parent:t,fk:n}of A(e.id))o[n]!==s[n]&&B(t,o[n],!0)}catch(e){throw U(a),e}return R(e),{...c}},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))_(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){ie(),u.clear(),C=0,ge(b);for(let e of[...m])e()},onReset(e){return m.add(e),()=>{m.delete(e)}},async apply(e){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(!Z(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 e){let e=a(n.model),r=s(n.match);if(n.op===`delete`){let t=e.filter(e=>n.id===void 0?q(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 t)e.splice(e.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=e.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=e.findIndex(e=>q(e,r)));let l;if(c>=0){let t=e[c];l={...t,...i,id:t.id},e[c]=l}else l={...t.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:K(n.model)},e.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,Z as n,P as o,M as p,D as r,F as s,_e as t,R as u};
1
+ import{$ as e,A as t,D as n,E as r,J as i,M as a,N as o,P as s,Q as c,S as l,T as u,Y as d,Z as f,at as p,bt as m,ct as h,dt as g,et as _,ft as ee,gt as v,it as y,j as te,k as b,lt as x,mt as ne,rt as re,st as S,ut as C,w,x as T,y as E,z as ie}from"./f1wD15Gj.js";var D=e=>{let t=m(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 W(e,r,i,o,s){let c=l(n(`${o}:${e.id}:${i.id}`)),d=U(e,`debit`)&&U(e,`credit`),f=d?2*(1+Math.floor(c()*2)):1+Math.floor(c()*H),p=_(e),m=1e3*(1+Math.floor(c()*90));return Array.from({length:f},(l,f)=>{let h=n(`${i.id}:${f}`)%997,g={...u(e,h,o,s),id:w(`${e.id}:${i.id}:${f}`),[r]:i.id};if(U(e,`sortOrder`)&&(g.sortOrder=f),p){let n=e.fields.find(e=>e.related?.endsWith(`:Product`)&&e.name in g),r=a(),{products:o}=r,l=n?o[t(n,{modelId:e.id,index:h,rows:s})%o.length]:o[h%o.length],u=b(h);u?(U(e,`description`)&&(g.description=u.description),g.unitPrice=u.price,n&&(g[n.name]=``)):n&&l&&(U(e,`description`)&&(g.description=l.name),g.unitPrice=l.price);let[d,p]=u?.quantity??l?.quantity??r.lineQuantity??[1,5],m=d+Math.floor(c()*(p-d+1));U(e,`quantity`)&&(g.quantity=m),Object.assign(g,ae(e,i,f,m,Number(g.unitPrice??0))),g.amount=C(g)}if(d){let e=f%2==0;g.debit=e?m/100:0,g.credit=e?0:m/100}return g})}function G(e){return n(`discount:${e.id}`)%3==0}function K(e,t){return Math.round(e*t/1e3)*100}function q(e,t){return t>0&&n(`tax-override:${e.id}:${t}`)%7==0}function J(e,t,r=o().currency){let i=n(`tax-override-kind:${e.id}:${t}`)%4,a=x(r);if(a&&i<2)return a;let s=i%2==0?`exempt`:`zero-rated`;return S.find(e=>e.kind===s)}function ae(e,t,r,i,a){let o={},s=r===0&&G(t),c=n(`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`))?K(i,a):0),!U(e,`discountType`)&&o.discount&&(o.discountType=`amount`);let l=q(t,r)?J(t,r):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`],Y=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+=Y,e.totalAmount+=Y)}function le(e,t,n,r){if(!n.length||!n.every(e=>`unitPrice`in e))return[...n];let i=y(t,e,n,r);return Object.assign(e,i.row),i.lines}var X=e=>typeof e==`number`&&Number.isFinite(e)?e:0,ue=e=>e.status!==`draft`&&e.status!==`cancelled`&&X(e.totalAmount)>0;function de(e,t,r,i){let a=new Map(r.map(e=>[e.id,X(e.totalAmount)])),o=[];for(let s of t){if(s.status!==`completed`){s.status!==`refunded`&&(s.paidAt=null);continue}let t=l(n(`${i}:alloc:${s.id}`)),c=r.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 d=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(...d.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=d.reduce((e,t)=>e+t.part,0),s.paidAt=p,`contractId`in s&&d[0]?.inv.contractId&&(s.contractId=d[0].inv.contractId);for(let{inv:t,part:n}of d)o.push({...u(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 Z(e){return typeof e==`object`&&!!e&&typeof e.ref==`string`}var Q=`smrt-planner:data:v6:`,fe=`@happyvertical/smrt-commerce:TaxCode`,pe=`@happyvertical/smrt-commerce:TaxComponent`,me=[`taxable`,`zero-rated`,`exempt`,`out-of-scope`];function he(e,t){return!!e.fields.find(e=>e.name===`status`)?.enum?.includes(`draft`)&&typeof t.status==`string`&&t.status!==``&&t.status!==`draft`}var $=`${Q}_created`;function ge(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 _e(t={}){let n=t.seed??1,a=t.rowsPerModel??8,l=new Set(t.empty??[]),u=new Map,m=new Set,b=t.storage??null,x=e=>`${Q}${e.id}`,S=e=>{if(b)try{let t=b.getItem(x(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(b)try{C=Number(b.getItem($))||0}catch{C=0}let E=new Map,D=e=>{let n=E.get(e);return n||(n=t.children?.links(e)??[],E.set(e,n)),n},O,k,A=e=>{if(!O){O=new Map;for(let e of t.children?.models??[])for(let t of D(e.id)){let n=O.get(t.model.id)??[];n.push({parent:e,fk:t.fk}),O.set(t.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(e)??[]},j=t=>{if(!e(t))return;A(t.id);let n=k?.get(t.id)??[],r=d(t)?.name,a=i(t)?.name,o=n.find(e=>e.fk===r)?.parent,s=n.find(e=>e.fk===a)?.parent;return o&&s&&r&&a?{model:t,paymentFk:r,invoiceFk:a,payment:o,invoice:s}:void 0},M=(n,r)=>{if(!p(n))return r;let i=D(n.id).find(t=>e(t.model)),a=i&&j(i.model);if(!i||!a)return r;let o=new Map(P(a.payment).map(e=>[e.id,e])),s=P(i.model).filter(e=>e[i.fk]===r.id&&o.get(String(e[a.paymentFk]))?.status===`completed`).map(e=>({amount:Number(e.amount??0),at:String(e.allocatedAt??``)})),c=re(r,s,(t.now??(()=>T))()),l={...r,amountPaid:c.amountPaid,status:c.status};return n.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=e=>{let i=u.get(e.id);if(i)return i;let o=S(e);if(o){u.set(e.id,o);for(let t of D(e.id))P(t.model);return o}let s=l.has(e.id)?void 0:t.samples?.[e.id];if(s){let t=[];return u.set(e.id,t),t.push(...s.make(s.from.map(P),n)),t}let c=j(e),d=c?[]:A(e.id),f=l.has(e.id)||d.length||c?[]:r(e,te(e.id,a),n,a);u.set(e.id,f);for(let t of D(e.id))P(t.model);if(c&&!l.has(e.id)){for(let e of D(c.invoice.id))_(e.model)&&P(e.model);let e=P(c.invoice);f.push(...de(c,P(c.payment),e,n)),e.forEach((t,n)=>{e[n]=M(c.invoice,t)})}if(!l.has(e.id))for(let{parent:r,fk:i}of d){let o=t.defaults?.(e)??{};P(r).forEach((t,s)=>{let c=W(e,i,t,n,a).map(e=>oe(e,o));_(e)?(f.push(...le(t,r,c,L(r,t))),ce(t,r,s)):f.push(...c)})}return f},F=new Map((t.children?.models??[]).map(e=>[e.id,e])),I=e=>{let t=ee(e),n=F.get(fe),r=F.get(pe),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=me.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=h(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=o(),r=s()??.05,i=I(r),a=e.fields.find(e=>e.name===`customerId`&&e.related),l=a?.related?F.get(a.related):void 0,d=l?P(l).find(e=>e.id===t.customerId):void 0,p=e=>{for(let[t,n]of u){if(!t.endsWith(`:Product`))continue;let r=n.find(t=>t.id===e);if(r)return r}},m=e=>typeof e==`string`&&e?e:null;return{lineAmountType:f(t,n.pricesIncludeTax?`inclusive`:`exclusive`),roundingScope:c(t,n.taxRounding),currency:g(t.currency,g(n.currency)),codes:i,appDefaultCodeId:h(r).id,customerTaxExempt:d?.taxExempt===!0,partyCodeId:m(d?.defaultTaxCodeId),productCodeOf:e=>m(p(e)?.defaultSalesTaxCodeId)}},R=e=>{if(!b)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&&b.setItem(x(e),JSON.stringify(t))}b.setItem($,String(C))}catch{}},z=e=>D(e.id).find(t=>_(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(he(e,c)){if(n)throw new v(`FROZEN_DOCUMENT`,`This ${e.name.toLowerCase()} has been issued, so its lines can no longer change.`);return!0}let l=y(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),_(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=o(),n=s()??.05;i[a]=ne([t],{lineAmountType:e.pricesIncludeTax?`inclusive`:`exclusive`,roundingScope:e.taxRounding,currency:g(e.currency),codes:I(n),appDefaultCodeId:h(n).id}).lines[0]}n=P(e).find(e=>e.id===t.id)??n}p(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)}},G=(e,n)=>({...n,...t.defaults?.(e)??{}}),K=e=>w(`${e.id}:new:${n}:${C++}`),q=(e,t)=>Object.entries(t).every(([t,n])=>e[t]===n);return{async list(e){return P(e).map(t=>G(e,t))},async listWhere(e,t,n){return P(e).filter(e=>String(e[t]??``)===n).map(t=>G(e,t))},async get(e,t){let n=P(e).find(e=>e.id===t);return n?G(e,n):void 0},async create(e,n){let r={...t.defaults?.(e)??{},...n,id:K(e)},i=H(e);P(e).push(r);let a;try{a=V(e,r)}catch(e){throw U(i),C--,e}return R(e),{...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),o=r[i],s={...o,...n,id:t};r[i]=s;let c;try{if(c=V(e,s),_(e))for(let{parent:t,fk:n}of A(e.id))o[n]!==s[n]&&B(t,o[n],!0)}catch(e){throw U(a),e}return R(e),{...c}},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))_(e)&&a&&B(t,a[n],!0)}catch(e){throw U(i),e}return R(e),!0},reset(){ie(),u.clear(),C=0,ge(b);for(let e of[...m])e()},onReset(e){return m.add(e),()=>{m.delete(e)}},async apply(e){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(!Z(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 e){let e=a(n.model),r=s(n.match);if(n.op===`delete`){let t=e.filter(e=>n.id===void 0?q(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 t)e.splice(e.indexOf(n),1);continue}let i=s(n.values),c=-1;if(n.id!==void 0){if(c=e.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=e.findIndex(e=>q(e,r)));let l;if(c>=0){let t=e[c];l={...t,...i,id:t.id},e[c]=l}else l={...t.defaults?.(n.model)??{},...r,...s(n.onCreate),...i,id:K(n.model)},e.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,Z as n,P as o,M as p,D as r,F as s,_e as t,R as u};
@@ -1,4 +1,4 @@
1
- import{$ as e,B as t,Ct as n,Dt as r,E as i,Et as a,F as o,Ft as s,G as c,H as l,I as u,K as d,L as f,Lt as p,Ot as m,Pt as h,U as g,W as _,X as v,Y as y,a as b,bt as x,ct as S,d as C,ft as w,gt as T,ht as E,k as ee,mt as D,pt as O,q as k,st as A,v as j,vt as M}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{a as N}from"./BLUInGBV.js";import"./Bq8E3AWP.js";import{_t as te,bt as P,p as F,u as I,vt as ne}from"./CGI2AmR_.js";import"./DK8Blf1Y.js";import"./v8gneLl4.js";import"./Cjgg2jn2.js";y([`click`]),y([`click`,`keydown`]),y([`click`]);var L=[1,1.5,2,3,4,5];L[0],L[L.length-1],y([`click`,`pointerdown`,`pointermove`,`pointerup`]);var R=new Map(Object.entries({menu:`M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z`,search:`M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z`,close:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z`,"chevron-right":`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z`,"chevron-left":`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z`,"chevron-down":`M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z`,check:`M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z`,add:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`,mic:`M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.04 6.43 5 7.07V21h4v-2.93c2.96-.64 5-3.54 5-7.07h-2z`,alert:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1 5h2v6h-2zm0 8h2v2h-2z`,warning:`M1 21h22L12 2 1 21zm12-3h-2v-2h2zm0-4h-2v-4h2z`,info:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2zm0-8h-2V7h2z`,home:`M3 10 12 2 21 10v11h-6v-7H9v7H3z`,user:`M12 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM4 21v-2c0-4 16-4 16 0v2H4z`,settings:`M10 2h4l1 3 3-1 3 3-1 3 3 1v4l-3 1 1 3-3 3-3-1-1 3h-4l-1-3-3 1-3-3 1-3-3-1v-4l3-1-1-3 3-3 3 1 1-3zm2 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z`,trash:`M7 3h10v2h4v2H3V5h4V3zm-2 6h14v12H5V9zm4 2v8h2v-8H9zm4 0v8h2v-8h-2z`,edit:`M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z`,calendar:`M7 2h2v2h6V2h2v2h4v18H3V4h4V2zm-2 8v10h14V10H5zm2 2h4v4H7v-4z`,clock:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 2h2v5.5l4 2.5-1 1.5-5-3V6z`,camera:`M9 3h6l2 3h4v15H3V6h4l2-3zm3 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6z`,upload:`M11 16V7l-4 4-1.5-1.5L12 3l6.5 6.5L17 11l-4-4v9h-2zM3 18h18v3H3v-3z`,download:`M11 3h2v9l4-4 1.5 1.5L12 16l-6.5-6.5L7 8l4 4V3zM3 18h18v3H3v-3z`})),z=x([]);function B(t){for(let n=e(z).length-1;n>=0;n--){let r=e(z)[n].paths.get(t);if(r!==void 0)return r}return R.get(t)}var V=d(`<svg xmlns="http://www.w3.org/2000/svg" data-smrt-component="Icon" class="svelte-em2a54"><path></path></svg>`);function H(t,i){m(i,!0);let a=b(i,`size`,3,24),o=b(i,`color`,3,`currentColor`),s=b(i,`viewBox`,3,`0 0 24 24`),c=n(()=>!!i[`aria-label`]),l=n(()=>i.path??(i.name?B(i.name):``)),u=n(()=>typeof a()==`number`?`${a()}px`:a());var d=V(),f=D(d);A(()=>{j(d,`width`,e(u)),j(d,`height`,e(u)),j(d,`viewBox`,s()),j(d,`fill`,o()),j(d,`aria-hidden`,!e(c)),j(d,`aria-label`,i[`aria-label`]),j(d,`role`,e(c)?`img`:void 0),j(f,`d`,e(l))}),g(t,d),r()}var re=c(`<p class="empty-description svelte-1x475nf"> </p>`),ie=c(`<a class="action-button svelte-1x475nf"> </a>`),ae=c(`<button type="button" class="action-button svelte-1x475nf"> </button>`),oe=c(`<div data-smrt-component="EmptyState"><div class="icon-container svelte-1x475nf"><!></div> <h3 class="empty-title svelte-1x475nf"> </h3> <!> <!></div>`);function se(e,n){let r=b(n,`icon`,3,`inbox`),a=b(n,`size`,3,`md`),c={document:`<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
1
+ import{$ as e,B as t,Ct as n,Dt as r,E as i,Et as a,F as o,Ft as s,G as c,H as l,I as u,K as d,L as f,Lt as p,Ot as m,Pt as h,U as g,W as _,X as v,Y as y,a as b,bt as x,ct as S,d as C,ft as w,gt as T,ht as E,k as ee,mt as D,pt as O,q as k,st as A,v as j,vt as M}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{a as N}from"./BLUInGBV.js";import"./Bq8E3AWP.js";import{_t as te,bt as P,p as F,u as I,vt as ne}from"./f1wD15Gj.js";import"./DK8Blf1Y.js";import"./v8gneLl4.js";import"./D00XWXiM.js";y([`click`]),y([`click`,`keydown`]),y([`click`]);var L=[1,1.5,2,3,4,5];L[0],L[L.length-1],y([`click`,`pointerdown`,`pointermove`,`pointerup`]);var R=new Map(Object.entries({menu:`M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z`,search:`M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z`,close:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z`,"chevron-right":`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z`,"chevron-left":`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z`,"chevron-down":`M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z`,check:`M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z`,add:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`,mic:`M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.04 6.43 5 7.07V21h4v-2.93c2.96-.64 5-3.54 5-7.07h-2z`,alert:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1 5h2v6h-2zm0 8h2v2h-2z`,warning:`M1 21h22L12 2 1 21zm12-3h-2v-2h2zm0-4h-2v-4h2z`,info:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2zm0-8h-2V7h2z`,home:`M3 10 12 2 21 10v11h-6v-7H9v7H3z`,user:`M12 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM4 21v-2c0-4 16-4 16 0v2H4z`,settings:`M10 2h4l1 3 3-1 3 3-1 3 3 1v4l-3 1 1 3-3 3-3-1-1 3h-4l-1-3-3 1-3-3 1-3-3-1v-4l3-1-1-3 3-3 3 1 1-3zm2 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z`,trash:`M7 3h10v2h4v2H3V5h4V3zm-2 6h14v12H5V9zm4 2v8h2v-8H9zm4 0v8h2v-8h-2z`,edit:`M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z`,calendar:`M7 2h2v2h6V2h2v2h4v18H3V4h4V2zm-2 8v10h14V10H5zm2 2h4v4H7v-4z`,clock:`M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 2h2v5.5l4 2.5-1 1.5-5-3V6z`,camera:`M9 3h6l2 3h4v15H3V6h4l2-3zm3 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6z`,upload:`M11 16V7l-4 4-1.5-1.5L12 3l6.5 6.5L17 11l-4-4v9h-2zM3 18h18v3H3v-3z`,download:`M11 3h2v9l4-4 1.5 1.5L12 16l-6.5-6.5L7 8l4 4V3zM3 18h18v3H3v-3z`})),z=x([]);function B(t){for(let n=e(z).length-1;n>=0;n--){let r=e(z)[n].paths.get(t);if(r!==void 0)return r}return R.get(t)}var V=d(`<svg xmlns="http://www.w3.org/2000/svg" data-smrt-component="Icon" class="svelte-em2a54"><path></path></svg>`);function H(t,i){m(i,!0);let a=b(i,`size`,3,24),o=b(i,`color`,3,`currentColor`),s=b(i,`viewBox`,3,`0 0 24 24`),c=n(()=>!!i[`aria-label`]),l=n(()=>i.path??(i.name?B(i.name):``)),u=n(()=>typeof a()==`number`?`${a()}px`:a());var d=V(),f=D(d);A(()=>{j(d,`width`,e(u)),j(d,`height`,e(u)),j(d,`viewBox`,s()),j(d,`fill`,o()),j(d,`aria-hidden`,!e(c)),j(d,`aria-label`,i[`aria-label`]),j(d,`role`,e(c)?`img`:void 0),j(f,`d`,e(l))}),g(t,d),r()}var re=c(`<p class="empty-description svelte-1x475nf"> </p>`),ie=c(`<a class="action-button svelte-1x475nf"> </a>`),ae=c(`<button type="button" class="action-button svelte-1x475nf"> </button>`),oe=c(`<div data-smrt-component="EmptyState"><div class="icon-container svelte-1x475nf"><!></div> <h3 class="empty-title svelte-1x475nf"> </h3> <!> <!></div>`);function se(e,n){let r=b(n,`icon`,3,`inbox`),a=b(n,`size`,3,`md`),c={document:`<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
2
2
  <path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z"/>
3
3
  <path d="M14 2v6h6M16 13H8M16 17H8M10 9H8"/>
4
4
  </svg>`,folder:`<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
@@ -1 +1 @@
1
- import{$ as e,bt as t,tt as n,vt as r,xt as i}from"./DG3qFFTE.js";import{F as a,G as o,H as s,N as c,P as ee,U as te,V as l,W as u,_t as d,ct as f,ft as p,pt as m,w as h,z as ne}from"./CGI2AmR_.js";import{_ as re,r as ie}from"./ByVy0hov.js";import{c as ae}from"./DV4ZElHH.js";import"./idIEqAKB.js";import{i as oe,n as g,o as _,r as v,s as y}from"./CGP3DCks.js";import{M as b,P as x,V as S,W as C,b as w,t as T,v as E,x as D,z as O}from"./CeMHb2Ut.js";import{b as k,v as A,x as j,y as M}from"./DgxsJIer.js";import{n as N}from"./Dtt3h0DR.js";import{t as P}from"./C5sGLQdH.js";import{r as F,t as I}from"./CxQsuHmt.js";import{a as L,c as R,d as z,l as B,n as V}from"./cReIqLDR.js";function H(e,t=A.appliedWork){return j(e.snapshot(),t)}function U(e,t,n){let r=M(e,_,n);if(r.ok){let n=t.theme,i=r.cookbook.theme,o=i?i.colorScheme||!n?.colorScheme?void 0:{...i,colorScheme:n.colorScheme}:n;t.replace(r.cookbook),o&&(t.theme=o),a(e.id),A.select(e.id,k(t.snapshot()))}return r}function W(e,t){return e.document.recipes.every(e=>t.recipes.includes(e))&&e.document.features.every(e=>t.features.includes(e))}function G(e){let t=e.recipes.flatMap(e=>{let t=D.get(e);return t?[t]:[]}),n=O(t).map(e=>{let t=new Set,n=[];for(let r of e.recipes)for(let e of E(r)){let r=S(e.packageId,e.model.name,e.key);t.has(r)||(t.add(r),n.push({id:r,href:`#`,label:e.label,icon:e.icon,description:e.description}))}return{id:`section:${e.id}`,heading:e.label,items:n}}).filter(e=>e.items.length>0),r=x(e.features).map(e=>({id:e.id,href:`#`,label:e.label,icon:e.icon,description:e.description}));return r.length&&n.push({id:`section:${b.id}`,heading:b.label,items:r}),n}function K(e){let t=e.layout;return re([],G(e),void 0,t).groups.map(e=>({id:e.id??String(e.heading),label:e.heading??``,entries:e.items.map(e=>({id:e.id??e.href,label:t?.items?.[e.id??e.href]?.label?.trim()||e.label}))}))}var q={live:`Live`,mock:`Mock`,sample:`Sample`,server:`Server`},se={live:`Runs for real in your browser.`,mock:`Runs in your browser, but a provider is faked.`,sample:`Shows sample data only; it cannot reach what it needs.`,server:`Needs a server, which this browser-only demo does not have.`},ce={live:`success`,mock:`info`,sample:`warning`,server:`default`};function le(e){return e.effectiveDemo??e.demo}function ue(e){if(e)return{mode:e.mode,label:q[e.mode],meaning:se[e.mode],variant:ce[e.mode],reasons:e.reasons,mocked:e.mocked??[]}}function de(e){if(!e)return;if(e.status===`browser-safe`)return`Its package builds for a browser.`;let t=[`Its package does not build for a browser yet`];return e.reason&&t.push(`(${e.reason})`),e.issues?.length&&t.push(`and is tracked in ${e.issues.join(`, `)}`),`${t.join(` `)}.`}var J=`@happyvertical/smrt-commerce:`,fe=`${J}TaxCode`,pe=`${J}TaxComponent`,Y=`${J}TaxSettings`,me=`${J}DocumentTax`;function X(){let e=ee()??.05;return{codes:p(e),fallback:f(e)}}function he(e){try{let t=e?.getItem(oe);if(!t)return;let n=y(t,{dropUnknownRecipes:!0});n.ok&&v(n.cookbook)}catch{}}function ge(){return he(u()),I({storage:u(),defaults:e=>T.apply(e).background,empty:[L,V,me,P],samples:{[fe]:{from:[],make:()=>X().codes.map(e=>({id:e.id,code:e.code,name:e.name,kind:e.kind,appliesTo:e.appliesTo,active:e.active,componentsJson:JSON.stringify(e.components.map(e=>({taxComponentId:e.id,compound:!1})))}))},[pe]:{from:[],make:()=>m(X().codes).map(e=>({id:e.id,name:e.name,percent:e.percent,liabilityAccountId:null,recoverable:e.recoverable,active:!0}))},[Y]:{from:[],make:()=>{let{fallback:e}=X(),t=c();return[{id:h(`${Y}:sample`),defaultSalesTaxCodeId:e.id,defaultPurchaseTaxCodeId:e.id,defaultLineAmountType:t.pricesIncludeTax?`inclusive`:`exclusive`,taxRoundingScope:t.taxRounding}]}},...R(F),[B]:{from:[F(`@happyvertical/smrt-products:Product`)],make:([e])=>(e??[]).map((e,t)=>({id:h(`${B}:sample:${e.id}`),name:`${String(e.name??`Product`)} image`,sourceUri:`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><rect width="240" height="240" fill="hsl(${t*47%360} 40% 82%)"/><circle cx="120" cy="94" r="46" fill="hsl(${(t*47+30)%360} 35% 58%)"/><path d="M44 214c20-55 132-55 152 0" fill="hsl(${(t*47+10)%360} 30% 46%)"/><text x="120" y="224" text-anchor="middle" font-family="sans-serif" font-size="14" fill="white">${String(e.name??``).replace(/[<&>]/g,``)}</text></svg>`)}`,mimeType:`image/svg+xml`,description:`Sample image for ${String(e.name??`this product`)}.`,sourceType:`browser-demo`}))},[z]:{from:[F(`@happyvertical/smrt-products:Product`),F(B)],make:([e,t])=>(e??[]).flatMap((e,n)=>{let r=t?.[n];return r?[{id:h(`${z}:sample:${e.id}`),productId:e.id,assetId:r.id,relationship:`gallery`,sortOrder:0}]:[]})}},children:{models:d.packages.flatMap(e=>e.models),links:e=>C(d,w,e)}})}var _e=new class{#e=t(void 0);get endpoint(){return e(this.#e)}set endpoint(e){r(this.#e,e,!0)}#t=t(!1);get tokenInConfig(){return e(this.#t)}set tokenInConfig(e){r(this.#t,e,!0)}#n=t(void 0);get token(){return e(this.#n)}set token(e){r(this.#n,e,!0)}#r=t(`idle`);get status(){return e(this.#r)}set status(e){r(this.#r,e,!0)}#i=t(void 0);get outcome(){return e(this.#i)}set outcome(e){r(this.#i,e,!0)}get config(){return this.endpoint&&this.token&&!this.tokenInConfig?{endpoint:this.endpoint,token:this.token}:void 0}get needsLink(){return!!this.endpoint&&!this.token&&!this.tokenInConfig}configure(e,t){this.endpoint=e?.endpoint,this.tokenInConfig=e?.tokenInConfig===!0,this.token=e?t:void 0,this.status=`idle`,this.outcome=void 0}async send(e,t){let n=this.config;if(!n||this.status===`sending`)return;this.status=`sending`,this.outcome=void 0;let r=await ae(n,e,t);this.outcome=r,this.status=r.ok?`sent`:`failed`}},Z=`cookbook`,ve=new class{#e=t(null);get open(){return e(this.#e)}set open(e){r(this.#e,e,!0)}#t=t(null);get returnTo(){return e(this.#t)}set returnTo(e){r(this.#t,e,!0)}navigator=null;show(e){this.returnTo=e,this.navigator?this.navigator.open(e):this.set(e)}back(){this.open&&(this.returnTo=this.open),this.navigator?this.navigator.close():this.set(null)}async set(e,t=!0){this.open!==e&&(t?await ie(async()=>{this.open=e,await n()}):this.open=e)}};function ye(e,t){let n=new URLSearchParams(e).get(Z);return n&&t.includes(n)?n:null}function be(e,t){let n=new URLSearchParams(e);t?n.set(Z,t):n.delete(Z);let r=n.toString().replace(/%2C/gi,`,`);return r?`?${r}`:``}var xe=`Planner`;function Q(e,t,n=N,r=xe){let i=e.name?.trim();if(i)return i;let a=t?n.find(e=>e.id===t):void 0;return a&&W(a,e)?a.name:r}function Se(e){return Q(g.snapshot(),A.active,void 0,e)}var Ce=Symbol(`planner-project-persistence-owner`),$=t(0),we={get remembering(){return e($),l()},get recoveryAvailable(){return e($),o().recoveryAvailable()},setRemember(e){let t=te(e);return i($),t},recover(){let e=o().recover();return i($),e},discardRecovery(){let e=o().discardRecovery();return i($),e}};function Te(e){if(!s())return!1;try{e.nativeAssistant?.reset(),g.reset({preserveTheme:!0}),A.active=null,A.appliedWork=null,ne(),a(null),e.dataSource.reset?.(),e.controller.resetWorkspace?.()}finally{i($),e.onreset?.()}return!0}export{H as _,ye as a,_e as c,ue as d,le as f,W as g,U as h,Se as i,ge as l,K as m,Te as n,ve as o,G as p,we as r,be as s,Ce as t,de as u};
1
+ import{$ as e,bt as t,tt as n,vt as r,xt as i}from"./DG3qFFTE.js";import{F as a,G as o,H as s,N as c,P as ee,U as te,V as l,W as u,_t as d,ct as f,ft as p,pt as m,w as h,z as ne}from"./f1wD15Gj.js";import{_ as re,r as ie}from"./CgeTxqIE.js";import{c as ae}from"./Bz6UsD_f.js";import"./CBHn82fo.js";import{i as oe,n as g,o as _,r as v,s as y}from"./BBzpxK-8.js";import{M as b,P as x,V as S,W as C,b as w,t as T,v as E,x as D,z as O}from"./D75d6u7q.js";import{b as k,v as A,x as j,y as M}from"./BytZpJV4.js";import{n as N}from"./DwJwsALF.js";import{t as P}from"./DVHELJ71.js";import{r as F,t as I}from"./D4QMl-tN.js";import{a as L,c as R,d as z,l as B,n as V}from"./CijPG3jg.js";function H(e,t=A.appliedWork){return j(e.snapshot(),t)}function U(e,t,n){let r=M(e,_,n);if(r.ok){let n=t.theme,i=r.cookbook.theme,o=i?i.colorScheme||!n?.colorScheme?void 0:{...i,colorScheme:n.colorScheme}:n;t.replace(r.cookbook),o&&(t.theme=o),a(e.id),A.select(e.id,k(t.snapshot()))}return r}function W(e,t){return e.document.recipes.every(e=>t.recipes.includes(e))&&e.document.features.every(e=>t.features.includes(e))}function G(e){let t=e.recipes.flatMap(e=>{let t=D.get(e);return t?[t]:[]}),n=O(t).map(e=>{let t=new Set,n=[];for(let r of e.recipes)for(let e of E(r)){let r=S(e.packageId,e.model.name,e.key);t.has(r)||(t.add(r),n.push({id:r,href:`#`,label:e.label,icon:e.icon,description:e.description}))}return{id:`section:${e.id}`,heading:e.label,items:n}}).filter(e=>e.items.length>0),r=x(e.features).map(e=>({id:e.id,href:`#`,label:e.label,icon:e.icon,description:e.description}));return r.length&&n.push({id:`section:${b.id}`,heading:b.label,items:r}),n}function K(e){let t=e.layout;return re([],G(e),void 0,t).groups.map(e=>({id:e.id??String(e.heading),label:e.heading??``,entries:e.items.map(e=>({id:e.id??e.href,label:t?.items?.[e.id??e.href]?.label?.trim()||e.label}))}))}var q={live:`Live`,mock:`Mock`,sample:`Sample`,server:`Server`},se={live:`Runs for real in your browser.`,mock:`Runs in your browser, but a provider is faked.`,sample:`Shows sample data only; it cannot reach what it needs.`,server:`Needs a server, which this browser-only demo does not have.`},ce={live:`success`,mock:`info`,sample:`warning`,server:`default`};function le(e){return e.effectiveDemo??e.demo}function ue(e){if(e)return{mode:e.mode,label:q[e.mode],meaning:se[e.mode],variant:ce[e.mode],reasons:e.reasons,mocked:e.mocked??[]}}function de(e){if(!e)return;if(e.status===`browser-safe`)return`Its package builds for a browser.`;let t=[`Its package does not build for a browser yet`];return e.reason&&t.push(`(${e.reason})`),e.issues?.length&&t.push(`and is tracked in ${e.issues.join(`, `)}`),`${t.join(` `)}.`}var J=`@happyvertical/smrt-commerce:`,fe=`${J}TaxCode`,pe=`${J}TaxComponent`,Y=`${J}TaxSettings`,me=`${J}DocumentTax`;function X(){let e=ee()??.05;return{codes:p(e),fallback:f(e)}}function he(e){try{let t=e?.getItem(oe);if(!t)return;let n=y(t,{dropUnknownRecipes:!0});n.ok&&v(n.cookbook)}catch{}}function ge(){return he(u()),I({storage:u(),defaults:e=>T.apply(e).background,empty:[L,V,me,P],samples:{[fe]:{from:[],make:()=>X().codes.map(e=>({id:e.id,code:e.code,name:e.name,kind:e.kind,appliesTo:e.appliesTo,active:e.active,componentsJson:JSON.stringify(e.components.map(e=>({taxComponentId:e.id,compound:!1})))}))},[pe]:{from:[],make:()=>m(X().codes).map(e=>({id:e.id,name:e.name,percent:e.percent,liabilityAccountId:null,recoverable:e.recoverable,active:!0}))},[Y]:{from:[],make:()=>{let{fallback:e}=X(),t=c();return[{id:h(`${Y}:sample`),defaultSalesTaxCodeId:e.id,defaultPurchaseTaxCodeId:e.id,defaultLineAmountType:t.pricesIncludeTax?`inclusive`:`exclusive`,taxRoundingScope:t.taxRounding}]}},...R(F),[B]:{from:[F(`@happyvertical/smrt-products:Product`)],make:([e])=>(e??[]).map((e,t)=>({id:h(`${B}:sample:${e.id}`),name:`${String(e.name??`Product`)} image`,sourceUri:`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240"><rect width="240" height="240" fill="hsl(${t*47%360} 40% 82%)"/><circle cx="120" cy="94" r="46" fill="hsl(${(t*47+30)%360} 35% 58%)"/><path d="M44 214c20-55 132-55 152 0" fill="hsl(${(t*47+10)%360} 30% 46%)"/><text x="120" y="224" text-anchor="middle" font-family="sans-serif" font-size="14" fill="white">${String(e.name??``).replace(/[<&>]/g,``)}</text></svg>`)}`,mimeType:`image/svg+xml`,description:`Sample image for ${String(e.name??`this product`)}.`,sourceType:`browser-demo`}))},[z]:{from:[F(`@happyvertical/smrt-products:Product`),F(B)],make:([e,t])=>(e??[]).flatMap((e,n)=>{let r=t?.[n];return r?[{id:h(`${z}:sample:${e.id}`),productId:e.id,assetId:r.id,relationship:`gallery`,sortOrder:0}]:[]})}},children:{models:d.packages.flatMap(e=>e.models),links:e=>C(d,w,e)}})}var _e=new class{#e=t(void 0);get endpoint(){return e(this.#e)}set endpoint(e){r(this.#e,e,!0)}#t=t(!1);get tokenInConfig(){return e(this.#t)}set tokenInConfig(e){r(this.#t,e,!0)}#n=t(void 0);get token(){return e(this.#n)}set token(e){r(this.#n,e,!0)}#r=t(`idle`);get status(){return e(this.#r)}set status(e){r(this.#r,e,!0)}#i=t(void 0);get outcome(){return e(this.#i)}set outcome(e){r(this.#i,e,!0)}get config(){return this.endpoint&&this.token&&!this.tokenInConfig?{endpoint:this.endpoint,token:this.token}:void 0}get needsLink(){return!!this.endpoint&&!this.token&&!this.tokenInConfig}configure(e,t){this.endpoint=e?.endpoint,this.tokenInConfig=e?.tokenInConfig===!0,this.token=e?t:void 0,this.status=`idle`,this.outcome=void 0}async send(e,t){let n=this.config;if(!n||this.status===`sending`)return;this.status=`sending`,this.outcome=void 0;let r=await ae(n,e,t);this.outcome=r,this.status=r.ok?`sent`:`failed`}},Z=`cookbook`,ve=new class{#e=t(null);get open(){return e(this.#e)}set open(e){r(this.#e,e,!0)}#t=t(null);get returnTo(){return e(this.#t)}set returnTo(e){r(this.#t,e,!0)}navigator=null;show(e){this.returnTo=e,this.navigator?this.navigator.open(e):this.set(e)}back(){this.open&&(this.returnTo=this.open),this.navigator?this.navigator.close():this.set(null)}async set(e,t=!0){this.open!==e&&(t?await ie(async()=>{this.open=e,await n()}):this.open=e)}};function ye(e,t){let n=new URLSearchParams(e).get(Z);return n&&t.includes(n)?n:null}function be(e,t){let n=new URLSearchParams(e);t?n.set(Z,t):n.delete(Z);let r=n.toString().replace(/%2C/gi,`,`);return r?`?${r}`:``}var xe=`Planner`;function Q(e,t,n=N,r=xe){let i=e.name?.trim();if(i)return i;let a=t?n.find(e=>e.id===t):void 0;return a&&W(a,e)?a.name:r}function Se(e){return Q(g.snapshot(),A.active,void 0,e)}var Ce=Symbol(`planner-project-persistence-owner`),$=t(0),we={get remembering(){return e($),l()},get recoveryAvailable(){return e($),o().recoveryAvailable()},setRemember(e){let t=te(e);return i($),t},recover(){let e=o().recover();return i($),e},discardRecovery(){let e=o().discardRecovery();return i($),e}};function Te(e){if(!s())return!1;try{e.nativeAssistant?.reset(),g.reset({preserveTheme:!0}),A.active=null,A.appliedWork=null,ne(),a(null),e.dataSource.reset?.(),e.controller.resetWorkspace?.()}finally{i($),e.onreset?.()}return!0}export{H as _,ye as a,_e as c,ue as d,le as f,W as g,U as h,Se as i,ge as l,K as m,Te as n,ve as o,G as p,we as r,be as s,Ce as t,de as u};
@@ -1 +1 @@
1
- import{t as e}from"./idIEqAKB.js";var t=new Map;function n(n,r){if(e())return 0;if(typeof document>`u`)return r;let i=t.get(n);if(i!==void 0)return i;let a=getComputedStyle(document.documentElement).getPropertyValue(`--smrt-duration-${n}`).trim(),o=/^([\d.]+)(ms|s)$/.exec(a),s=o?Number(o[1])*(o[2]===`s`?1e3:1):r;return t.set(n,s),s}export{n as t};
1
+ import{t as e}from"./CBHn82fo.js";var t=new Map;function n(n,r){if(e())return 0;if(typeof document>`u`)return r;let i=t.get(n);if(i!==void 0)return i;let a=getComputedStyle(document.documentElement).getPropertyValue(`--smrt-duration-${n}`).trim(),o=/^([\d.]+)(ms|s)$/.exec(a),s=o?Number(o[1])*(o[2]===`s`?1e3:1):r;return t.set(n,s),s}export{n as t};
@@ -1 +1 @@
1
- import{O as e,u as t}from"./CGI2AmR_.js";import{v as n}from"./CeMHb2Ut.js";import{c as r}from"./DgxsJIer.js";var i=`@happyvertical/smrt-reports:RuntimeReport`;function a(e){switch(e.type){case`text`:return`string`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`boolean`:return`boolean`;case`datetime`:return`datetime`;case`foreignKey`:case`crossPackageRef`:return`id`;default:return null}}function o(e){let t=e.replace(/([a-z\d])([A-Z])/g,`$1_$2`).toLowerCase();return/(series|species)$/.test(t)?t:/[^aeiou]y$/.test(t)?`${t.slice(0,-1)}ies`:/(s|x|z|ch|sh)$/.test(t)?`${t}es`:`${t}s`}var s=[`totalAmount`,`total`,`amount`];function c(n,i,c=o(n.name)){let l=[{name:`id`,type:`string`}];for(let r of n.fields){let n=a(r);if(!n||r.system||l.some(e=>e.name===r.name))continue;let i=e(r)?`money`:n===`datetime`&&r.ui?.format===`date`?`date`:void 0;l.push({name:r.name,type:n,label:t(r),...i?{format:i}:{},...n===`string`&&r.enum?.length?{enum:r.enum}:{}})}let u=l.filter(e=>e.format===`money`),d=s.map(e=>u.find(t=>t.name===e)).find(Boolean),f={id:c,label:i,...n.description?{description:n.description}:{},schema:l,model:n,...d?{amountField:d.name}:{}},p=r([f],c).defaultTimeField;return p?{...f,dateField:p}:f}function l(e,t){let r=new Set(e),i=new Map;for(let e of t)if(r.has(e.id))for(let t of n(e))t.model.id!==`@happyvertical/smrt-reports:RuntimeReport`&&i.set(t.model.id,[...i.get(t.model.id)??[],t]);let a=new Map,s=new Set;for(let[e,t]of i){let n=t.find(e=>!e.filter)??t[0],r=o(n.model.name);s.has(r)&&(r=`${n.packageId}.${r}`),s.add(r),a.set(e,c(n.model,n.label,r))}return[...a.values()]}export{l as n,i as t};
1
+ import{O as e,u as t}from"./f1wD15Gj.js";import{v as n}from"./D75d6u7q.js";import{c as r}from"./BytZpJV4.js";var i=`@happyvertical/smrt-reports:RuntimeReport`;function a(e){switch(e.type){case`text`:return`string`;case`integer`:return`integer`;case`decimal`:return`decimal`;case`boolean`:return`boolean`;case`datetime`:return`datetime`;case`foreignKey`:case`crossPackageRef`:return`id`;default:return null}}function o(e){let t=e.replace(/([a-z\d])([A-Z])/g,`$1_$2`).toLowerCase();return/(series|species)$/.test(t)?t:/[^aeiou]y$/.test(t)?`${t.slice(0,-1)}ies`:/(s|x|z|ch|sh)$/.test(t)?`${t}es`:`${t}s`}var s=[`totalAmount`,`total`,`amount`];function c(n,i,c=o(n.name)){let l=[{name:`id`,type:`string`}];for(let r of n.fields){let n=a(r);if(!n||r.system||l.some(e=>e.name===r.name))continue;let i=e(r)?`money`:n===`datetime`&&r.ui?.format===`date`?`date`:void 0;l.push({name:r.name,type:n,label:t(r),...i?{format:i}:{},...n===`string`&&r.enum?.length?{enum:r.enum}:{}})}let u=l.filter(e=>e.format===`money`),d=s.map(e=>u.find(t=>t.name===e)).find(Boolean),f={id:c,label:i,...n.description?{description:n.description}:{},schema:l,model:n,...d?{amountField:d.name}:{}},p=r([f],c).defaultTimeField;return p?{...f,dateField:p}:f}function l(e,t){let r=new Set(e),i=new Map;for(let e of t)if(r.has(e.id))for(let t of n(e))t.model.id!==`@happyvertical/smrt-reports:RuntimeReport`&&i.set(t.model.id,[...i.get(t.model.id)??[],t]);let a=new Map,s=new Set;for(let[e,t]of i){let n=t.find(e=>!e.filter)??t[0],r=o(n.model.name);s.has(r)&&(r=`${n.packageId}.${r}`),s.add(r),a.set(e,c(n.model,n.label,r))}return[...a.values()]}export{l as n,i as t};
@@ -1 +1 @@
1
- import{$ as e,B as t,Dt as n,Ft as r,G as i,H as a,L as o,Ot as s,U as c,W as l,ft as u,ht as d,mt as f,pt as p,st as m,v as h}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as g}from"./CGI2AmR_.js";import{nt as _}from"./CeMHb2Ut.js";import{t as v}from"./BmVY5V28.js";var y=i(`<li><a class="svelte-ra5apm"> </a></li> <li><a class="svelte-ra5apm"> </a></li>`,1),b=i(`<details class="menu svelte-ra5apm"><summary class="svelte-ra5apm"><!></summary> <ul class="svelte-ra5apm"></ul></details>`);function x(i,x){s(x,!0);var S=l(),C=p(S),w=e=>{v(e,{get section(){return x.groups[0].id},get label(){return x.groups[0].label},compact:!0})},T=t=>{var n=b(),i=u(n),s=u(i);_(s,{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`,size:16}),r(i);var l=d(i,2);o(l,21,()=>x.groups,e=>e.id,(t,n)=>{var i=y(),o=p(i),s=u(o),l=f(s);r(o);var _=d(o,2),v=u(_),b=f(v);r(_),m((t,r)=>{h(s,`href`,t),a(l,`${e(n).label??``} options`),h(v,`href`,r),a(b,`${e(n).label??``} help`)},[()=>g(`/recipes/${e(n).id}/`),()=>g(`/recipes/${e(n).id}/help/`)]),c(t,i)}),r(l),r(n),m(()=>{h(i,`title`,`${x.label} options and help`),h(i,`aria-label`,`${x.label} options and help`)}),c(t,n)};t(C,e=>{x.groups.length===1?e(w):x.groups.length>1&&e(T,1)}),c(i,S),n()}export{x as t};
1
+ import{$ as e,B as t,Dt as n,Ft as r,G as i,H as a,L as o,Ot as s,U as c,W as l,ft as u,ht as d,mt as f,pt as p,st as m,v as h}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{t as g}from"./f1wD15Gj.js";import{nt as _}from"./D75d6u7q.js";import{t as v}from"./mQ6O0Tem.js";var y=i(`<li><a class="svelte-ra5apm"> </a></li> <li><a class="svelte-ra5apm"> </a></li>`,1),b=i(`<details class="menu svelte-ra5apm"><summary class="svelte-ra5apm"><!></summary> <ul class="svelte-ra5apm"></ul></details>`);function x(i,x){s(x,!0);var S=l(),C=p(S),w=e=>{v(e,{get section(){return x.groups[0].id},get label(){return x.groups[0].label},compact:!0})},T=t=>{var n=b(),i=u(n),s=u(i);_(s,{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`,size:16}),r(i);var l=d(i,2);o(l,21,()=>x.groups,e=>e.id,(t,n)=>{var i=y(),o=p(i),s=u(o),l=f(s);r(o);var _=d(o,2),v=u(_),b=f(v);r(_),m((t,r)=>{h(s,`href`,t),a(l,`${e(n).label??``} options`),h(v,`href`,r),a(b,`${e(n).label??``} help`)},[()=>g(`/recipes/${e(n).id}/`),()=>g(`/recipes/${e(n).id}/help/`)]),c(t,i)}),r(l),r(n),m(()=>{h(i,`title`,`${x.label} options and help`),h(i,`aria-label`,`${x.label} options and help`)}),c(t,n)};t(C,e=>{x.groups.length===1?e(w):x.groups.length>1&&e(T,1)}),c(i,S),n()}export{x as t};
@@ -1 +1 @@
1
- import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,U as f,W as p,Y as m,a as h,bt as ee,d as g,ft as _,ht as v,mt as y,n as b,nt as te,o as x,pt as S,q as C,r as w,st as T,tt as ne,v as E,vt as re}from"./DG3qFFTE.js";import"./xihTtKlq.js";import"./BLUInGBV.js";import{t as ie}from"./Bq8E3AWP.js";import"./CGI2AmR_.js";import{n as D}from"./DK8Blf1Y.js";import{D as O,T as k,f as ae,h as oe}from"./ByVy0hov.js";import{n as se}from"./v8gneLl4.js";import{o as A,u as j}from"./DIE02RSm.js";import{i as M}from"./CGVkRTMI.js";var N=new Set([`$$slots`,`$$events`,`$$legacy`]);function P(e,t){u(t,!0);let n=O(),i=x(t,N),a=null;w(()=>{a=n.registerFocusTool(i)}),b(()=>{a?.()}),r()}var ce=o(`<!> <!>`,1),le=o(`<span class="smrt-shell-layout-editor__muted svelte-xzk327"> </span>`),ue=o(`<div class="smrt-shell-layout-editor__row svelte-xzk327"><!></div>`),de=o(`<strong> </strong>`),fe=o(`<!> <!> <!> <!>`,1),F=o(`<span> </span> <!>`,1),I=o(`<div class="smrt-shell-layout-editor__preview"><h3 class="svelte-xzk327"> </h3> <div class="smrt-shell-layout-editor__preview-frame svelte-xzk327" role="group" inert=""><!></div></div>`),L=o(`<section class="smrt-shell-layout-editor svelte-xzk327" data-smrt-component="ShellLayoutEditor"><header class="svelte-xzk327"><div><h2 class="svelte-xzk327"> </h2> <p class="svelte-xzk327"> </p></div> <!></header> <fieldset class="smrt-shell-layout-editor__panels svelte-xzk327"><legend class="svelte-xzk327"> </legend> <!></fieldset> <div class="smrt-shell-layout-editor__body svelte-xzk327"><div class="smrt-shell-layout-editor__nav"><div class="smrt-shell-layout-editor__nav-head svelte-xzk327"><h3 class="svelte-xzk327"> </h3> <!></div> <!></div> <!></div></section>`);function R(o,m){let b=C();u(m,!0);let x=h(m,`preview`,3,!0),{t:w}=ie(),O=te(()=>m.controller??j()),N=`${b}-heading`,P=n(()=>O.sections),R=n(()=>O.panels),z=n(()=>O.applied),B=n(()=>e(P).map(e=>({id:e.id,label:e.heading??w(k[`ui.shell_layout_editor.top_level`]),fixed:e.group===null,root:e.group===null,hidden:e.hidden,custom:e.custom,titleVisible:e.titleVisible,count:e.items.length}))),V=n(()=>e(P).flatMap(e=>e.items.map(t=>({id:t.id,containerId:e.id,label:t.label}))));function H(e,t){t?O.show(e):O.hide(e)}let U=ee(void 0);function pe(t,n){let r=n.currentTarget;O.renameSection(t,r.value),r.value=e(B).find(e=>e.id===t)?.label??``}async function me(){let t=O.createSection(w(k[`ui.shell_layout_editor.new_section_label`]));if(!t)return;await ne();let n=e(U)?.querySelector(`input[data-section-name="${CSS.escape(t)}"]`);n?.focus(),n?.select()}function he(e,t,n){n>0&&!globalThis.confirm?.(w(k[`ui.shell_layout_editor.delete_confirm`],{label:t}))||O.deleteSection(e)}function ge(e){O.moveItem(e.item.id,e.target.containerId,e.target.index)}function _e(e){O.moveSection(e.container.id,e.target)}var W=L(),G=_(W),K=_(G),q=_(K),ve=y(q,!0),ye=v(q,2),be=y(ye,!0);a(K);var xe=v(K,2);{let t=n(()=>!O.customized);D(xe,{variant:`secondary`,size:`sm`,get disabled(){return e(t)},onclick:()=>O.reset(),children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.reset`])]),f(e,n)},$$slots:{default:!0}})}a(G);var J=v(G,2),Y=_(J),Se=y(Y,!0),Ce=v(Y,2);l(Ce,17,()=>e(R),e=>e.edge,(r,i)=>{var o=ue(),c=_(o),l=t=>{var r=ce(),a=S(r);{let t=n(()=>w(k[`ui.shell_layout_editor.show_panel`],{panel:e(i).label}));M(a,{interaction:!1,get checked(){return e(i).visible},get label(){return e(t)},onchange:t=>O.setPanel(e(i).edge,{visible:t.currentTarget.checked})})}var o=v(a,2);{let t=n(()=>e(i).initial===`expanded`),r=n(()=>!e(i).visible),a=n(()=>w(k[`ui.shell_layout_editor.start_expanded`],{panel:e(i).label}));M(o,{interaction:!1,get checked(){return e(t)},get disabled(){return e(r)},get label(){return e(a)},onchange:t=>O.setPanel(e(i).edge,{initial:t.currentTarget.checked?`expanded`:`collapsed`})})}f(t,r)},u=t=>{var n=le(),r=y(n,!0);T(e=>s(r,e),[()=>w(k[`ui.shell_layout_editor.panel_unavailable`],{panel:e(i).label})]),f(t,n)};t(c,t=>{e(i).available?t(l):t(u,-1)}),a(o),T(()=>E(o,`data-edge`,e(i).edge)),f(r,o)}),a(J);var X=v(J,2),Z=_(X),Q=_(Z),$=_(Q),we=y($,!0),Te=v($,2);D(Te,{variant:`secondary`,size:`sm`,onclick:me,children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.new_section`])]),f(e,n)},$$slots:{default:!0}}),a(Q);var Ee=v(Q,2);{let r=(r,i)=>{let a=()=>(i?.()).container,o=n(()=>e(B).find(e=>e.id===a().id));var c=p(),l=S(c),u=e=>{var t=de(),n=y(t,!0);T(()=>s(n,a().label)),f(e,t)},d=r=>{var i=fe(),s=S(i);{let t=n(()=>w(k[`ui.shell_layout_editor.section_name`],{label:a().label}));se(s,{class:`smrt-shell-layout-editor__name`,interaction:!1,get"data-section-name"(){return a().id},get"aria-label"(){return e(t)},get value(){return a().label},onchange:e=>pe(a().id,e)})}var c=v(s,2);{let t=n(()=>e(o)?.hidden?`eyeOff`:`eye`),r=n(()=>!e(o)?.hidden),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(c,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,!!e(o)?.hidden)})}var l=v(c,2);{let t=n(()=>e(o)?.titleVisible===!1?`headingOff`:`heading`),r=n(()=>e(o)?.titleVisible??!0),i=n(()=>w(k[`ui.shell_layout_editor.show_title_for`],{label:a().label}));A(l,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>O.setSectionTitleVisible(a().id,!(e(o)?.titleVisible??!0))})}var u=v(l,2),d=t=>{{let r=n(()=>w(k[`ui.shell_layout_editor.delete_section`],{label:a().label}));A(t,{icon:`trash`,get label(){return e(r)},onclick:()=>he(a().id,a().label,e(o).count)})}};t(u,t=>{e(o)?.custom&&t(d)}),f(r,i)};t(l,t=>{e(o)?.root?t(u):t(d,-1)}),f(r,c)},a=(t,r)=>{let a=()=>(r?.()).item,o=()=>(r?.()).container,c=n(()=>O.isHidden(a().id));var l=F(),u=S(l);let d;var p=y(u,!0),m=v(u,2);{let t=n(()=>e(c)?`eyeOff`:`eye`),r=n(()=>!e(c)),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(m,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,e(c))})}T(e=>{d=i(u,1,`smrt-shell-layout-editor__label svelte-xzk327`,null,d,{"smrt-shell-layout-editor__muted":e}),s(p,a().label)},[()=>e(c)||O.isHidden(o().id)]),f(t,l)},o=n(()=>w(k[`ui.shell_layout_editor.sortable_label`]));oe(Ee,{get containers(){return e(B)},get items(){return e(V)},get label(){return e(o)},reorderContainers:!0,onmove:ge,oncontainermove:_e,containerHeader:r,item:a,$$slots:{containerHeader:!0,item:!0}})}a(Z);var De=v(Z,2),Oe=t=>{var r=I(),i=_(r),o=y(i,!0),c=v(i,2),l=_(c);{let t=n(()=>w(k[`ui.shell_layout_editor.preview_label`]));ae(l,{get items(){return e(z).nav},get groups(){return e(z).groups},get iconComponent(){return m.iconComponent},get"aria-label"(){return e(t)}})}a(c),a(r),T((e,t)=>{s(o,e),E(c,`aria-label`,t)},[()=>w(k[`ui.shell_layout_editor.preview`]),()=>w(k[`ui.shell_layout_editor.preview_label`])]),f(t,r)};t(De,e=>{x()&&e(Oe)}),a(X),a(W),g(W,e=>re(U,e),()=>e(U)),T((e,t,n,r)=>{E(W,`aria-labelledby`,N),E(q,`id`,N),s(ve,e),s(be,t),s(Se,n),s(we,r)},[()=>w(k[`ui.shell_layout_editor.heading`]),()=>w(k[`ui.shell_layout_editor.description`]),()=>w(k[`ui.shell_layout_editor.panels`]),()=>w(k[`ui.shell_layout_editor.navigation`])]),f(o,W),r()}m([`click`]);export{P as n,R as t};
1
+ import{$ as e,B as t,Ct as n,Dt as r,E as i,Ft as a,G as o,H as s,J as c,L as l,Ot as u,Pt as d,U as f,W as p,Y as m,a as h,bt as ee,d as g,ft as _,ht as v,mt as y,n as b,nt as te,o as x,pt as S,q as C,r as w,st as T,tt as ne,v as E,vt as re}from"./DG3qFFTE.js";import"./xihTtKlq.js";import"./BLUInGBV.js";import{t as ie}from"./Bq8E3AWP.js";import"./f1wD15Gj.js";import{n as D}from"./DK8Blf1Y.js";import{D as O,T as k,f as ae,h as oe}from"./CgeTxqIE.js";import{n as se}from"./v8gneLl4.js";import{o as A,u as j}from"./DIE02RSm.js";import{i as M}from"./CGVkRTMI.js";var N=new Set([`$$slots`,`$$events`,`$$legacy`]);function P(e,t){u(t,!0);let n=O(),i=x(t,N),a=null;w(()=>{a=n.registerFocusTool(i)}),b(()=>{a?.()}),r()}var ce=o(`<!> <!>`,1),le=o(`<span class="smrt-shell-layout-editor__muted svelte-xzk327"> </span>`),ue=o(`<div class="smrt-shell-layout-editor__row svelte-xzk327"><!></div>`),de=o(`<strong> </strong>`),fe=o(`<!> <!> <!> <!>`,1),F=o(`<span> </span> <!>`,1),I=o(`<div class="smrt-shell-layout-editor__preview"><h3 class="svelte-xzk327"> </h3> <div class="smrt-shell-layout-editor__preview-frame svelte-xzk327" role="group" inert=""><!></div></div>`),L=o(`<section class="smrt-shell-layout-editor svelte-xzk327" data-smrt-component="ShellLayoutEditor"><header class="svelte-xzk327"><div><h2 class="svelte-xzk327"> </h2> <p class="svelte-xzk327"> </p></div> <!></header> <fieldset class="smrt-shell-layout-editor__panels svelte-xzk327"><legend class="svelte-xzk327"> </legend> <!></fieldset> <div class="smrt-shell-layout-editor__body svelte-xzk327"><div class="smrt-shell-layout-editor__nav"><div class="smrt-shell-layout-editor__nav-head svelte-xzk327"><h3 class="svelte-xzk327"> </h3> <!></div> <!></div> <!></div></section>`);function R(o,m){let b=C();u(m,!0);let x=h(m,`preview`,3,!0),{t:w}=ie(),O=te(()=>m.controller??j()),N=`${b}-heading`,P=n(()=>O.sections),R=n(()=>O.panels),z=n(()=>O.applied),B=n(()=>e(P).map(e=>({id:e.id,label:e.heading??w(k[`ui.shell_layout_editor.top_level`]),fixed:e.group===null,root:e.group===null,hidden:e.hidden,custom:e.custom,titleVisible:e.titleVisible,count:e.items.length}))),V=n(()=>e(P).flatMap(e=>e.items.map(t=>({id:t.id,containerId:e.id,label:t.label}))));function H(e,t){t?O.show(e):O.hide(e)}let U=ee(void 0);function pe(t,n){let r=n.currentTarget;O.renameSection(t,r.value),r.value=e(B).find(e=>e.id===t)?.label??``}async function me(){let t=O.createSection(w(k[`ui.shell_layout_editor.new_section_label`]));if(!t)return;await ne();let n=e(U)?.querySelector(`input[data-section-name="${CSS.escape(t)}"]`);n?.focus(),n?.select()}function he(e,t,n){n>0&&!globalThis.confirm?.(w(k[`ui.shell_layout_editor.delete_confirm`],{label:t}))||O.deleteSection(e)}function ge(e){O.moveItem(e.item.id,e.target.containerId,e.target.index)}function _e(e){O.moveSection(e.container.id,e.target)}var W=L(),G=_(W),K=_(G),q=_(K),ve=y(q,!0),ye=v(q,2),be=y(ye,!0);a(K);var xe=v(K,2);{let t=n(()=>!O.customized);D(xe,{variant:`secondary`,size:`sm`,get disabled(){return e(t)},onclick:()=>O.reset(),children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.reset`])]),f(e,n)},$$slots:{default:!0}})}a(G);var J=v(G,2),Y=_(J),Se=y(Y,!0),Ce=v(Y,2);l(Ce,17,()=>e(R),e=>e.edge,(r,i)=>{var o=ue(),c=_(o),l=t=>{var r=ce(),a=S(r);{let t=n(()=>w(k[`ui.shell_layout_editor.show_panel`],{panel:e(i).label}));M(a,{interaction:!1,get checked(){return e(i).visible},get label(){return e(t)},onchange:t=>O.setPanel(e(i).edge,{visible:t.currentTarget.checked})})}var o=v(a,2);{let t=n(()=>e(i).initial===`expanded`),r=n(()=>!e(i).visible),a=n(()=>w(k[`ui.shell_layout_editor.start_expanded`],{panel:e(i).label}));M(o,{interaction:!1,get checked(){return e(t)},get disabled(){return e(r)},get label(){return e(a)},onchange:t=>O.setPanel(e(i).edge,{initial:t.currentTarget.checked?`expanded`:`collapsed`})})}f(t,r)},u=t=>{var n=le(),r=y(n,!0);T(e=>s(r,e),[()=>w(k[`ui.shell_layout_editor.panel_unavailable`],{panel:e(i).label})]),f(t,n)};t(c,t=>{e(i).available?t(l):t(u,-1)}),a(o),T(()=>E(o,`data-edge`,e(i).edge)),f(r,o)}),a(J);var X=v(J,2),Z=_(X),Q=_(Z),$=_(Q),we=y($,!0),Te=v($,2);D(Te,{variant:`secondary`,size:`sm`,onclick:me,children:(e,t)=>{d();var n=c();T(e=>s(n,e),[()=>w(k[`ui.shell_layout_editor.new_section`])]),f(e,n)},$$slots:{default:!0}}),a(Q);var Ee=v(Q,2);{let r=(r,i)=>{let a=()=>(i?.()).container,o=n(()=>e(B).find(e=>e.id===a().id));var c=p(),l=S(c),u=e=>{var t=de(),n=y(t,!0);T(()=>s(n,a().label)),f(e,t)},d=r=>{var i=fe(),s=S(i);{let t=n(()=>w(k[`ui.shell_layout_editor.section_name`],{label:a().label}));se(s,{class:`smrt-shell-layout-editor__name`,interaction:!1,get"data-section-name"(){return a().id},get"aria-label"(){return e(t)},get value(){return a().label},onchange:e=>pe(a().id,e)})}var c=v(s,2);{let t=n(()=>e(o)?.hidden?`eyeOff`:`eye`),r=n(()=>!e(o)?.hidden),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(c,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,!!e(o)?.hidden)})}var l=v(c,2);{let t=n(()=>e(o)?.titleVisible===!1?`headingOff`:`heading`),r=n(()=>e(o)?.titleVisible??!0),i=n(()=>w(k[`ui.shell_layout_editor.show_title_for`],{label:a().label}));A(l,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>O.setSectionTitleVisible(a().id,!(e(o)?.titleVisible??!0))})}var u=v(l,2),d=t=>{{let r=n(()=>w(k[`ui.shell_layout_editor.delete_section`],{label:a().label}));A(t,{icon:`trash`,get label(){return e(r)},onclick:()=>he(a().id,a().label,e(o).count)})}};t(u,t=>{e(o)?.custom&&t(d)}),f(r,i)};t(l,t=>{e(o)?.root?t(u):t(d,-1)}),f(r,c)},a=(t,r)=>{let a=()=>(r?.()).item,o=()=>(r?.()).container,c=n(()=>O.isHidden(a().id));var l=F(),u=S(l);let d;var p=y(u,!0),m=v(u,2);{let t=n(()=>e(c)?`eyeOff`:`eye`),r=n(()=>!e(c)),i=n(()=>w(k[`ui.shell_layout_editor.show_entry`],{label:a().label}));A(m,{get icon(){return e(t)},get pressed(){return e(r)},get label(){return e(i)},onclick:()=>H(a().id,e(c))})}T(e=>{d=i(u,1,`smrt-shell-layout-editor__label svelte-xzk327`,null,d,{"smrt-shell-layout-editor__muted":e}),s(p,a().label)},[()=>e(c)||O.isHidden(o().id)]),f(t,l)},o=n(()=>w(k[`ui.shell_layout_editor.sortable_label`]));oe(Ee,{get containers(){return e(B)},get items(){return e(V)},get label(){return e(o)},reorderContainers:!0,onmove:ge,oncontainermove:_e,containerHeader:r,item:a,$$slots:{containerHeader:!0,item:!0}})}a(Z);var De=v(Z,2),Oe=t=>{var r=I(),i=_(r),o=y(i,!0),c=v(i,2),l=_(c);{let t=n(()=>w(k[`ui.shell_layout_editor.preview_label`]));ae(l,{get items(){return e(z).nav},get groups(){return e(z).groups},get iconComponent(){return m.iconComponent},get"aria-label"(){return e(t)}})}a(c),a(r),T((e,t)=>{s(o,e),E(c,`aria-label`,t)},[()=>w(k[`ui.shell_layout_editor.preview`]),()=>w(k[`ui.shell_layout_editor.preview_label`])]),f(t,r)};t(De,e=>{x()&&e(Oe)}),a(X),a(W),g(W,e=>re(U,e),()=>e(U)),T((e,t,n,r)=>{E(W,`aria-labelledby`,N),E(q,`id`,N),s(ve,e),s(be,t),s(Se,n),s(we,r)},[()=>w(k[`ui.shell_layout_editor.heading`]),()=>w(k[`ui.shell_layout_editor.description`]),()=>w(k[`ui.shell_layout_editor.panels`]),()=>w(k[`ui.shell_layout_editor.navigation`])]),f(o,W),r()}m([`click`]);export{P as n,R as t};
@@ -1 +1 @@
1
- import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,L as s,O as c,Ot as l,P as u,Pt as d,U as f,W as p,X as m,Y as h,Z as g,_,a as v,b as y,bt as b,ct as x,ft as S,gt as C,ht as w,mt as T,pt as E,st as D,tt as O,v as k,vt as A,wt as j,xt as M,z as N}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{bt as P,c as F,l as I,p as L}from"./CGI2AmR_.js";import{i as R,o as z,x as B,y as V}from"./CGVkRTMI.js";import{a as ee,c as te,g as H,i as ne,l as re,m as U,o as ie,s as ae,y as W}from"./lBxy9G7n.js";import{b as oe,t as G}from"./CeMHb2Ut.js";import{r as K}from"./D_U_DYjx.js";import{a as q,c as J,d as Y,f as X,i as se,n as ce,o as le,p as ue,r as Z,s as de,u as fe}from"./CxQsuHmt.js";import{a as pe,c as me,i as he,l as ge,n as _e,o as ve,r as ye,s as be,t as xe,u as Se}from"./B5KpJAxe.js";function Ce(e){return e.form.kind===`field-map`}function we(e){return e.form.kind===`variant-grid`}function Te(e,t,n){let r=t.filter(t=>e.includes(t.id));return r.flatMap(e=>(e.forms??[]).filter(e=>e.model===n).map(t=>({recipeId:e.id,form:t,extensions:r.flatMap(e=>(e.extends??[]).filter(e=>e.form===t.id))})))}function Ee(e,t){return e.extensions.some(e=>(e.records??[]).some(e=>e.model===t))}function De(e){e instanceof HTMLElement&&e.querySelector(`[data-invalid] :is(input, select, textarea, button):not([type="hidden"])`)?.focus()}function Q(e){return{records:[...e.form.records,...e.extensions.flatMap(e=>e.records??[])],fields:[...e.form.fields,...e.extensions.flatMap(e=>e.fields??[])]}}function Oe(e,t){let{records:n,fields:r}=Q(e);return r.map(e=>({field:e,catalogField:Y(e,n,t),modelId:X(e,n)}))}function ke(e,t){return Object.fromEntries(Oe(e,t).map(({field:e,catalogField:t})=>[e.id,fe(e,t)]))}function Ae(e){let{records:t}=Q(e),n=t.findIndex(t=>t.model===e.form.model);return n<0?0:n}async function je(e,t,n,r){let{records:i}=Q(t),a=i[Ae(t)];if(!a)return{};let o=await e.get(n(a.model),r);return q(e,i,{[a.as]:o},n)}async function Me(e,t,n,r){let{fields:i}=Q(t),a=await je(e,t,n,r),o=ke(t,n);return{values:Object.fromEntries(i.map(e=>{let{alias:t,field:n}=de(e.to),r=a[t]?.[n];return[e.id,r===void 0?o[e.id]:r]})),rows:a}}function Ne(e,t,n,r,i={},a={}){let{records:o,fields:s}=Q(e),c=se(s,n),l=Ae(e),u=new Set;return o.map((e,o)=>{let d=le(s,e.as,n),f={...ue(e.values,c),...o===l?Object.fromEntries(Object.entries(a).map(([e,t])=>[e,J(t)])):{}},p=t(e.model),m=r===void 0?void 0:i[e.as];try{if(o===l&&r!==void 0){let t=Object.fromEntries(Object.entries(f).filter(([,e])=>ce(e)));return{op:`save`,as:e.as,model:p,id:r,values:{...d,...t}}}if(m)return{op:`save`,as:e.as,model:p,id:m.id,values:d};let t=e.match?ue(e.match,c):{},n=Object.values(t).some(e=>ce(e)&&!u.has(e.ref))?{}:t,i=Object.keys(n).length>0;return{op:`save`,as:e.as,model:p,...i?{match:n}:{},onCreate:f,values:d}}finally{u.add(e.as)}})}var $=e=>typeof e==`string`&&e!==``?e:void 0;function Pe(e){let t=typeof e==`object`&&e&&!Array.isArray(e)?e:{},n=$(t.country),r=$(t.state);return{...$(t.street1)?{street:t.street1}:{},...$(t.city)?{city:t.city}:{},...r?{province:n===`US`?`US-${r}`:r}:{},...$(t.postalCode)?{postalCode:t.postalCode}:{},...n?{country:n}:{}}}function Fe(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?{...t}:{};for(let e of[`street1`,`city`,`state`,`postalCode`,`country`])delete n[e];let r=$(e.province);return{...n,...$(e.street)?{street1:e.street}:{},...$(e.city)?{city:e.city}:{},...r?{state:r.replace(/^US-/,``)}:{},...$(e.postalCode)?{postalCode:e.postalCode}:{},...$(e.country)?{country:e.country}:{}}}function Ie(e){return document.body.appendChild(e),e.showModal(),()=>{e.close(),e.remove()}}function Le(e){let t=[e.status,e.customerType].filter(Boolean).join(` · `);return{id:e.id,label:e.profile.name,...t?{detail:t}:{}}}function Re(e){return{id:e.id,label:e.profile.name,...e.status?{detail:e.status}:{}}}function ze(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Customer`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New customer`);z(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(Le),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}function Be(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Vendor`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New vendor`);z(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(Re),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}var Ve=[{name:`CustomerSelect`,selects:`@happyvertical/smrt-commerce:Customer`,kind:`customer`,component:ze},{name:`VendorSelect`,selects:`@happyvertical/smrt-commerce:Vendor`,kind:`vendor`,component:Be}];function He(e,t=Ve){return t.find(t=>t.selects===e)}var Ue=a(`<label class="plain svelte-1t0u16g"> <input type="text"/></label>`),We=a(`<dialog class="create svelte-1t0u16g"><!></dialog>`),Ge=a(`<!> <!>`,1);function Ke(a,s){l(s,!0);let d=v(s,`creatable`,3,!0),h=K(),T=n(()=>s.field.related??``),O=n(()=>P(e(T))?.model),j=n(()=>He(e(T))),F=n(()=>d()?Te(G.ids,oe,e(T)).find(Ce):void 0),I=n(()=>e(O)?.name.toLowerCase()??`record`),L=b(C(typeof s.value==`string`?s.value:``));x(()=>{let t=typeof s.value==`string`?s.value:``;t!==e(L)&&A(L,t,!0)});let R=b(!1),B=b(0);function V(){M(B),A(R,!0)}function H(e){A(R,!1),A(L,e.id,!0),s.onchange(e.id)}function U(e){A(L,e,!0),s.onchange(e===``?null:e)}var W=Ge(),q=E(W),J=t=>{var n=Ue(),r=S(n),a=w(r);_(a),i(n),D(()=>{o(r,`${s.label??``} `),k(a,`name`,s.name),a.required=s.required,y(a,e(L))}),m(`input`,a,e=>U(e.currentTarget.value)),f(t,n)},Y=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>ae(h,e),resolve:e=>ne(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},X=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>re(h,e),resolve:e=>ie(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},se=t=>{{let r=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);z(t,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:t=>te(h,e(O),t),resolve:t=>ee(h,e(O),t),get onCreate(){return e(r)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})}};t(q,t=>{e(O)?e(j)?.kind===`customer`?t(Y,1):e(j)?.kind===`vendor`?t(X,2):t(se,-1):t(J)});var ce=w(q,2),le=t=>{var n=We(),r=S(n);N(r,()=>e(B),t=>{ct(t,{get active(){return e(F)},onsaved:H,oncancel:()=>A(R,!1)})}),i(n),c(n,()=>Ie),D(()=>k(n,`aria-label`,`New ${e(I)}`)),g(`close`,n,()=>A(R,!1)),f(t,n)};t(ce,t=>{e(F)&&e(R)&&t(le)}),f(a,W),r()}h([`input`]);var qe=a(`<div class="percent svelte-n1ol00"><!> <span class="percent-sign svelte-n1ol00" aria-hidden="true">%</span></div>`),Je=a(`<input type="url" class="svelte-n1ol00"/>`),Ye=a(`<input type="number" step="1" class="svelte-n1ol00"/>`),Xe=a(`<input type="number" step="any" class="svelte-n1ol00"/>`),Ze=a(`<textarea rows="3" class="svelte-n1ol00"></textarea>`),Qe=a(`<input type="text" class="svelte-n1ol00"/>`),$e=a(`<!> <!>`,1),et=a(`<p class="field-error svelte-n1ol00" role="alert"> </p>`),tt=a(`<small class="svelte-n1ol00"> </small>`),nt=a(`<div class="field svelte-n1ol00"><!> <!> <!></div>`);function rt(a,s){l(s,!0);let c=v(s,`idPrefix`,3,`field`),u=v(s,`hideRequired`,3,!1),p=v(s,`creatable`,3,!0),h=n(()=>W(s.field,s.modelId)),b=n(()=>s.label??L(s.field.name)),x=n(()=>`${c()}-${s.field.name}`),C=n(()=>s.field.required&&!u()),O=n(()=>s.value===null||s.value===void 0?``:typeof s.value==`object`?JSON.stringify(s.value):String(s.value)),A=n(()=>[...e(C)||(s.field.enum??[]).includes(``)?[]:[{value:``,label:`(none)`}],...(s.field.enum??[]).map(e=>({value:e,label:e===``?`(none)`:I(e)}))]);function M(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function N(e){try{return JSON.parse(e)}catch{return e}}let P=e=>e.slice(0,10);var F=nt(),z=S(F),ee=t=>{{let r=n(()=>s.value===!0);R(t,{get checked(){return e(r)},onchange:e=>s.onchange(e.currentTarget.checked),get label(){return e(b)}})}},te=t=>{Ke(t,{get field(){return s.field},get value(){return s.value},get onchange(){return s.onchange},get label(){return e(b)},get name(){return e(x)},get required(){return e(C)},get creatable(){return p()}})},H=t=>{pe(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get options(){return e(A)},get value(){return e(O)},onchange:e=>s.onchange(e)})},ne=t=>{he(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},rows:4,get value(){return e(O)},onchange:e=>s.onchange(e)})},re=t=>{ye(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},type:`email`,get value(){return e(O)},onchange:e=>s.onchange(e)})},U=t=>{ve(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e)})},ie=t=>{{let r=n(()=>typeof s.value==`number`?s.value:null);me(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},currency:`USD`,min:0,get value(){return e(r)},onchange:e=>s.onchange(e)})}},ae=t=>{var r=qe(),a=S(r);{let t=n(()=>xe(s.value));be(a,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},min:0,step:.01,get value(){return e(t)},onchange:e=>s.onchange(_e(e))})}d(2),i(r),f(t,r)},oe=t=>{{let r=n(()=>P(e(O)));ge(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},includeTime:!1,get value(){return e(r)},onchange:e=>s.onchange(e?new Date(`${e}T00:00:00Z`).toISOString():``)})}},G=t=>{{let r=n(()=>Pe(s.value));Se(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(r)},onchange:e=>s.onchange(Fe(e,s.value))})}},K=n=>{var r=$e(),i=E(r);B(i,{get for(){return e(x)},get label(){return e(b)},get required(){return e(C)}});var a=w(i,2),o=t=>{V(t,{get id(){return e(x)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e.currentTarget.value)})},c=t=>{var n=Je();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)},l=t=>{var n=Ye();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>{let t=M(e.currentTarget.value);s.onchange(t===null?null:Math.trunc(t))}),f(t,n)},u=t=>{var n=Xe();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>s.onchange(M(e.currentTarget.value))),f(t,n)},d=t=>{var n=Ze();j(n),D(()=>{k(n,`id`,e(x)),y(n,e(O))}),m(`input`,n,e=>s.onchange(N(e.currentTarget.value))),f(t,n)},p=t=>{var n=Qe();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)};t(a,t=>{e(h)===`currency`?t(o):e(h)===`url`?t(c,1):e(h)===`integer`?t(l,2):e(h)===`decimal`?t(u,3):e(h)===`json`?t(d,4):t(p,-1)}),f(n,r)};t(z,t=>{e(h)===`boolean`?t(ee):e(h)===`relation`?t(te,1):e(h)===`enum`?t(H,2):e(h)===`textarea`?t(ne,3):e(h)===`email`?t(re,4):e(h)===`phone`?t(U,5):e(h)===`money`?t(ie,6):e(h)===`percent`?t(ae,7):e(h)===`datetime`?t(oe,8):e(h)===`address`?t(G,9):t(K,-1)});var q=w(z,2),J=t=>{var n=et(),r=T(n,!0);D(()=>{k(n,`id`,`${e(x)}-error`),o(r,s.error)}),f(t,n)};t(q,e=>{s.error&&e(J)});var Y=w(q,2),X=e=>{var t=tt(),n=T(t,!0);D(()=>o(n,s.help)),f(e,t)};t(Y,e=>{s.help&&e(X)}),i(F),D(()=>{k(F,`data-renderer`,e(h)),k(F,`data-invalid`,s.error?``:void 0)}),f(a,F),r()}h([`input`]);var it=a(`<p>Loading...</p>`),at=a(`<p class="error svelte-1rp3j7g" role="alert" data-error-summary=""> </p>`),ot=a(`<p class="error svelte-1rp3j7g" role="alert"> </p>`),st=a(`<form class="planner-form" novalidate=""><h3 class="svelte-1rp3j7g"> </h3> <!> <!> <!> <div class="actions svelte-1rp3j7g"><button type="submit" class="svelte-1rp3j7g">Save</button> <button type="button" class="secondary svelte-1rp3j7g">Cancel</button></div></form>`);function ct(a,c){l(c,!0);let u=K(),d=n(()=>Oe(c.active,Z).filter(({catalogField:e,modelId:t})=>!G.rows.some(n=>n.objectRef===t&&n.fieldName===e.name&&n.visibility===`hidden`))),h=b(C(ke(c.active,Z))),_=b(c.id===void 0),v=b(``),y=b(C({})),x=n(()=>e(d).map(({field:e,catalogField:t})=>({...t,name:e.id,label:e.label,required:e.required??t.required}))),k=n(()=>U(e(x),e(y))),j={};async function M(e){let t=await Me(u,c.active,Z,e);A(h,t.values,!0),j=t.rows,A(_,!0)}c.id!==void 0&&M(c.id);async function N(t){t.preventDefault();let n=t.currentTarget;if(A(v,``),A(y,H(e(x),e(h)),!0),Object.keys(e(y)).length>0)await O(),De(n);else try{let t=await u.apply(Ne(c.active,Z,e(h),c.id,j,c.preset)),n=Q(c.active).records[Ae(c.active)],r=n?t[n.as]:void 0;if(!r)throw Error(`Nothing was saved.`);c.onsaved(r)}catch(e){A(v,e instanceof Error?e.message:`Could not save.`,!0)}}var P=p(),I=E(P),L=e=>{var t=it();f(e,t)},R=r=>{var a=st(),l=S(a),u=T(l),p=w(l,2);s(p,17,()=>e(d),({field:e,catalogField:t,modelId:n})=>e.id,(t,r)=>{let i=()=>e(r).field,a=()=>e(r).catalogField,o=()=>e(r).modelId;{let r=n(()=>({...a(),required:i().required??a().required}));rt(t,{get modelId(){return o()},get field(){return e(r)},get label(){return i().label},get help(){return i().help},get idPrefix(){return c.active.form.id},get error(){return e(y)[i().id]},get value(){return e(h)[i().id]},onchange:t=>{e(h)[i().id]=t,delete e(y)[i().id]}})}});var _=w(p,2),b=t=>{var n=at(),r=T(n,!0);D(()=>o(r,e(k))),f(t,n)};t(_,t=>{e(k)&&t(b)});var x=w(_,2),C=t=>{var n=ot(),r=T(n,!0);D(()=>o(r,e(v))),f(t,n)};t(x,t=>{e(v)&&t(C)});var E=w(x,2),O=w(S(E),2);i(E),i(a),D(e=>o(u,`${c.id===void 0?`New`:`Edit`} ${e??``}`),[()=>F(c.active.form.label,c.noun,c.noun!==void 0)]),g(`submit`,a,N),m(`click`,O,function(...e){c.oncancel?.apply(this,e)}),f(r,a)};t(I,t=>{e(_)?t(R,-1):t(L)}),f(a,P),r()}h([`click`]);export{Ee as a,Te as i,rt as n,Ce as o,De as r,we as s,ct as t};
1
+ import{$ as e,B as t,Ct as n,Dt as r,Ft as i,G as a,H as o,L as s,O as c,Ot as l,P as u,Pt as d,U as f,W as p,X as m,Y as h,Z as g,_,a as v,b as y,bt as b,ct as x,ft as S,gt as C,ht as w,mt as T,pt as E,st as D,tt as O,v as k,vt as A,wt as j,xt as M,z as N}from"./DG3qFFTE.js";import"./xihTtKlq.js";import{bt as P,c as F,l as I,p as L}from"./f1wD15Gj.js";import{i as R,o as z,x as B,y as V}from"./CGVkRTMI.js";import{a as ee,c as te,g as H,i as ne,l as re,m as U,o as ie,s as ae,y as W}from"./CUNj1yy1.js";import{b as oe,t as G}from"./D75d6u7q.js";import{r as K}from"./D_U_DYjx.js";import{a as q,c as J,d as Y,f as X,i as se,n as ce,o as le,p as ue,r as Z,s as de,u as fe}from"./D4QMl-tN.js";import{a as pe,c as me,i as he,l as ge,n as _e,o as ve,r as ye,s as be,t as xe,u as Se}from"./CGy-IxPQ.js";function Ce(e){return e.form.kind===`field-map`}function we(e){return e.form.kind===`variant-grid`}function Te(e,t,n){let r=t.filter(t=>e.includes(t.id));return r.flatMap(e=>(e.forms??[]).filter(e=>e.model===n).map(t=>({recipeId:e.id,form:t,extensions:r.flatMap(e=>(e.extends??[]).filter(e=>e.form===t.id))})))}function Ee(e,t){return e.extensions.some(e=>(e.records??[]).some(e=>e.model===t))}function De(e){e instanceof HTMLElement&&e.querySelector(`[data-invalid] :is(input, select, textarea, button):not([type="hidden"])`)?.focus()}function Q(e){return{records:[...e.form.records,...e.extensions.flatMap(e=>e.records??[])],fields:[...e.form.fields,...e.extensions.flatMap(e=>e.fields??[])]}}function Oe(e,t){let{records:n,fields:r}=Q(e);return r.map(e=>({field:e,catalogField:Y(e,n,t),modelId:X(e,n)}))}function ke(e,t){return Object.fromEntries(Oe(e,t).map(({field:e,catalogField:t})=>[e.id,fe(e,t)]))}function Ae(e){let{records:t}=Q(e),n=t.findIndex(t=>t.model===e.form.model);return n<0?0:n}async function je(e,t,n,r){let{records:i}=Q(t),a=i[Ae(t)];if(!a)return{};let o=await e.get(n(a.model),r);return q(e,i,{[a.as]:o},n)}async function Me(e,t,n,r){let{fields:i}=Q(t),a=await je(e,t,n,r),o=ke(t,n);return{values:Object.fromEntries(i.map(e=>{let{alias:t,field:n}=de(e.to),r=a[t]?.[n];return[e.id,r===void 0?o[e.id]:r]})),rows:a}}function Ne(e,t,n,r,i={},a={}){let{records:o,fields:s}=Q(e),c=se(s,n),l=Ae(e),u=new Set;return o.map((e,o)=>{let d=le(s,e.as,n),f={...ue(e.values,c),...o===l?Object.fromEntries(Object.entries(a).map(([e,t])=>[e,J(t)])):{}},p=t(e.model),m=r===void 0?void 0:i[e.as];try{if(o===l&&r!==void 0){let t=Object.fromEntries(Object.entries(f).filter(([,e])=>ce(e)));return{op:`save`,as:e.as,model:p,id:r,values:{...d,...t}}}if(m)return{op:`save`,as:e.as,model:p,id:m.id,values:d};let t=e.match?ue(e.match,c):{},n=Object.values(t).some(e=>ce(e)&&!u.has(e.ref))?{}:t,i=Object.keys(n).length>0;return{op:`save`,as:e.as,model:p,...i?{match:n}:{},onCreate:f,values:d}}finally{u.add(e.as)}})}var $=e=>typeof e==`string`&&e!==``?e:void 0;function Pe(e){let t=typeof e==`object`&&e&&!Array.isArray(e)?e:{},n=$(t.country),r=$(t.state);return{...$(t.street1)?{street:t.street1}:{},...$(t.city)?{city:t.city}:{},...r?{province:n===`US`?`US-${r}`:r}:{},...$(t.postalCode)?{postalCode:t.postalCode}:{},...n?{country:n}:{}}}function Fe(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?{...t}:{};for(let e of[`street1`,`city`,`state`,`postalCode`,`country`])delete n[e];let r=$(e.province);return{...n,...$(e.street)?{street1:e.street}:{},...$(e.city)?{city:e.city}:{},...r?{state:r.replace(/^US-/,``)}:{},...$(e.postalCode)?{postalCode:e.postalCode}:{},...$(e.country)?{country:e.country}:{}}}function Ie(e){return document.body.appendChild(e),e.showModal(),()=>{e.close(),e.remove()}}function Le(e){let t=[e.status,e.customerType].filter(Boolean).join(` · `);return{id:e.id,label:e.profile.name,...t?{detail:t}:{}}}function Re(e){return{id:e.id,label:e.profile.name,...e.status?{detail:e.status}:{}}}function ze(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Customer`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New customer`);z(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(Le),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}function Be(e,t){l(t,!0);let n=v(t,`value`,15,``),i=v(t,`label`,3,`Vendor`),a=v(t,`required`,3,!1),o=v(t,`disabled`,3,!1),s=v(t,`createLabel`,3,`New vendor`);z(e,{get name(){return t.name},get label(){return i()},get required(){return a()},get disabled(){return o()},get error(){return t.error},get onCreate(){return t.onCreate},get createLabel(){return s()},get onchange(){return t.onchange},search:async e=>(await t.search(e)).map(Re),resolve:async e=>{let n=await t.resolve(e);return n?{id:n.id,label:n.profile.name}:null},get value(){return n()},set value(e){n(e)}}),r()}var Ve=[{name:`CustomerSelect`,selects:`@happyvertical/smrt-commerce:Customer`,kind:`customer`,component:ze},{name:`VendorSelect`,selects:`@happyvertical/smrt-commerce:Vendor`,kind:`vendor`,component:Be}];function He(e,t=Ve){return t.find(t=>t.selects===e)}var Ue=a(`<label class="plain svelte-1t0u16g"> <input type="text"/></label>`),We=a(`<dialog class="create svelte-1t0u16g"><!></dialog>`),Ge=a(`<!> <!>`,1);function Ke(a,s){l(s,!0);let d=v(s,`creatable`,3,!0),h=K(),T=n(()=>s.field.related??``),O=n(()=>P(e(T))?.model),j=n(()=>He(e(T))),F=n(()=>d()?Te(G.ids,oe,e(T)).find(Ce):void 0),I=n(()=>e(O)?.name.toLowerCase()??`record`),L=b(C(typeof s.value==`string`?s.value:``));x(()=>{let t=typeof s.value==`string`?s.value:``;t!==e(L)&&A(L,t,!0)});let R=b(!1),B=b(0);function V(){M(B),A(R,!0)}function H(e){A(R,!1),A(L,e.id,!0),s.onchange(e.id)}function U(e){A(L,e,!0),s.onchange(e===``?null:e)}var W=Ge(),q=E(W),J=t=>{var n=Ue(),r=S(n),a=w(r);_(a),i(n),D(()=>{o(r,`${s.label??``} `),k(a,`name`,s.name),a.required=s.required,y(a,e(L))}),m(`input`,a,e=>U(e.currentTarget.value)),f(t,n)},Y=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>ae(h,e),resolve:e=>ne(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},X=t=>{let r=n(()=>e(j).component);var i=p(),a=E(i);{let t=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);u(a,()=>e(r),(n,r)=>{r(n,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:e=>re(h,e),resolve:e=>ie(h,e),get onCreate(){return e(t)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})})}f(t,i)},se=t=>{{let r=n(()=>e(F)?V:void 0),i=n(()=>`New ${e(I)}`);z(t,{get name(){return s.name},get label(){return s.label},get required(){return s.required},search:t=>te(h,e(O),t),resolve:t=>ee(h,e(O),t),get onCreate(){return e(r)},get createLabel(){return e(i)},onchange:U,get value(){return e(L)},set value(e){A(L,e,!0)}})}};t(q,t=>{e(O)?e(j)?.kind===`customer`?t(Y,1):e(j)?.kind===`vendor`?t(X,2):t(se,-1):t(J)});var ce=w(q,2),le=t=>{var n=We(),r=S(n);N(r,()=>e(B),t=>{ct(t,{get active(){return e(F)},onsaved:H,oncancel:()=>A(R,!1)})}),i(n),c(n,()=>Ie),D(()=>k(n,`aria-label`,`New ${e(I)}`)),g(`close`,n,()=>A(R,!1)),f(t,n)};t(ce,t=>{e(F)&&e(R)&&t(le)}),f(a,W),r()}h([`input`]);var qe=a(`<div class="percent svelte-n1ol00"><!> <span class="percent-sign svelte-n1ol00" aria-hidden="true">%</span></div>`),Je=a(`<input type="url" class="svelte-n1ol00"/>`),Ye=a(`<input type="number" step="1" class="svelte-n1ol00"/>`),Xe=a(`<input type="number" step="any" class="svelte-n1ol00"/>`),Ze=a(`<textarea rows="3" class="svelte-n1ol00"></textarea>`),Qe=a(`<input type="text" class="svelte-n1ol00"/>`),$e=a(`<!> <!>`,1),et=a(`<p class="field-error svelte-n1ol00" role="alert"> </p>`),tt=a(`<small class="svelte-n1ol00"> </small>`),nt=a(`<div class="field svelte-n1ol00"><!> <!> <!></div>`);function rt(a,s){l(s,!0);let c=v(s,`idPrefix`,3,`field`),u=v(s,`hideRequired`,3,!1),p=v(s,`creatable`,3,!0),h=n(()=>W(s.field,s.modelId)),b=n(()=>s.label??L(s.field.name)),x=n(()=>`${c()}-${s.field.name}`),C=n(()=>s.field.required&&!u()),O=n(()=>s.value===null||s.value===void 0?``:typeof s.value==`object`?JSON.stringify(s.value):String(s.value)),A=n(()=>[...e(C)||(s.field.enum??[]).includes(``)?[]:[{value:``,label:`(none)`}],...(s.field.enum??[]).map(e=>({value:e,label:e===``?`(none)`:I(e)}))]);function M(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function N(e){try{return JSON.parse(e)}catch{return e}}let P=e=>e.slice(0,10);var F=nt(),z=S(F),ee=t=>{{let r=n(()=>s.value===!0);R(t,{get checked(){return e(r)},onchange:e=>s.onchange(e.currentTarget.checked),get label(){return e(b)}})}},te=t=>{Ke(t,{get field(){return s.field},get value(){return s.value},get onchange(){return s.onchange},get label(){return e(b)},get name(){return e(x)},get required(){return e(C)},get creatable(){return p()}})},H=t=>{pe(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get options(){return e(A)},get value(){return e(O)},onchange:e=>s.onchange(e)})},ne=t=>{he(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},rows:4,get value(){return e(O)},onchange:e=>s.onchange(e)})},re=t=>{ye(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},type:`email`,get value(){return e(O)},onchange:e=>s.onchange(e)})},U=t=>{ve(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e)})},ie=t=>{{let r=n(()=>typeof s.value==`number`?s.value:null);me(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},currency:`USD`,min:0,get value(){return e(r)},onchange:e=>s.onchange(e)})}},ae=t=>{var r=qe(),a=S(r);{let t=n(()=>xe(s.value));be(a,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},min:0,step:.01,get value(){return e(t)},onchange:e=>s.onchange(_e(e))})}d(2),i(r),f(t,r)},oe=t=>{{let r=n(()=>P(e(O)));ge(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},includeTime:!1,get value(){return e(r)},onchange:e=>s.onchange(e?new Date(`${e}T00:00:00Z`).toISOString():``)})}},G=t=>{{let r=n(()=>Pe(s.value));Se(t,{get name(){return e(x)},get label(){return e(b)},get required(){return e(C)},get value(){return e(r)},onchange:e=>s.onchange(Fe(e,s.value))})}},K=n=>{var r=$e(),i=E(r);B(i,{get for(){return e(x)},get label(){return e(b)},get required(){return e(C)}});var a=w(i,2),o=t=>{V(t,{get id(){return e(x)},get required(){return e(C)},get value(){return e(O)},onchange:e=>s.onchange(e.currentTarget.value)})},c=t=>{var n=Je();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)},l=t=>{var n=Ye();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>{let t=M(e.currentTarget.value);s.onchange(t===null?null:Math.trunc(t))}),f(t,n)},u=t=>{var n=Xe();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),g(`focus`,n,e=>e.currentTarget.select()),m(`input`,n,e=>s.onchange(M(e.currentTarget.value))),f(t,n)},d=t=>{var n=Ze();j(n),D(()=>{k(n,`id`,e(x)),y(n,e(O))}),m(`input`,n,e=>s.onchange(N(e.currentTarget.value))),f(t,n)},p=t=>{var n=Qe();_(n),D(()=>{k(n,`id`,e(x)),n.required=e(C),y(n,e(O))}),m(`input`,n,e=>s.onchange(e.currentTarget.value)),f(t,n)};t(a,t=>{e(h)===`currency`?t(o):e(h)===`url`?t(c,1):e(h)===`integer`?t(l,2):e(h)===`decimal`?t(u,3):e(h)===`json`?t(d,4):t(p,-1)}),f(n,r)};t(z,t=>{e(h)===`boolean`?t(ee):e(h)===`relation`?t(te,1):e(h)===`enum`?t(H,2):e(h)===`textarea`?t(ne,3):e(h)===`email`?t(re,4):e(h)===`phone`?t(U,5):e(h)===`money`?t(ie,6):e(h)===`percent`?t(ae,7):e(h)===`datetime`?t(oe,8):e(h)===`address`?t(G,9):t(K,-1)});var q=w(z,2),J=t=>{var n=et(),r=T(n,!0);D(()=>{k(n,`id`,`${e(x)}-error`),o(r,s.error)}),f(t,n)};t(q,e=>{s.error&&e(J)});var Y=w(q,2),X=e=>{var t=tt(),n=T(t,!0);D(()=>o(n,s.help)),f(e,t)};t(Y,e=>{s.help&&e(X)}),i(F),D(()=>{k(F,`data-renderer`,e(h)),k(F,`data-invalid`,s.error?``:void 0)}),f(a,F),r()}h([`input`]);var it=a(`<p>Loading...</p>`),at=a(`<p class="error svelte-1rp3j7g" role="alert" data-error-summary=""> </p>`),ot=a(`<p class="error svelte-1rp3j7g" role="alert"> </p>`),st=a(`<form class="planner-form" novalidate=""><h3 class="svelte-1rp3j7g"> </h3> <!> <!> <!> <div class="actions svelte-1rp3j7g"><button type="submit" class="svelte-1rp3j7g">Save</button> <button type="button" class="secondary svelte-1rp3j7g">Cancel</button></div></form>`);function ct(a,c){l(c,!0);let u=K(),d=n(()=>Oe(c.active,Z).filter(({catalogField:e,modelId:t})=>!G.rows.some(n=>n.objectRef===t&&n.fieldName===e.name&&n.visibility===`hidden`))),h=b(C(ke(c.active,Z))),_=b(c.id===void 0),v=b(``),y=b(C({})),x=n(()=>e(d).map(({field:e,catalogField:t})=>({...t,name:e.id,label:e.label,required:e.required??t.required}))),k=n(()=>U(e(x),e(y))),j={};async function M(e){let t=await Me(u,c.active,Z,e);A(h,t.values,!0),j=t.rows,A(_,!0)}c.id!==void 0&&M(c.id);async function N(t){t.preventDefault();let n=t.currentTarget;if(A(v,``),A(y,H(e(x),e(h)),!0),Object.keys(e(y)).length>0)await O(),De(n);else try{let t=await u.apply(Ne(c.active,Z,e(h),c.id,j,c.preset)),n=Q(c.active).records[Ae(c.active)],r=n?t[n.as]:void 0;if(!r)throw Error(`Nothing was saved.`);c.onsaved(r)}catch(e){A(v,e instanceof Error?e.message:`Could not save.`,!0)}}var P=p(),I=E(P),L=e=>{var t=it();f(e,t)},R=r=>{var a=st(),l=S(a),u=T(l),p=w(l,2);s(p,17,()=>e(d),({field:e,catalogField:t,modelId:n})=>e.id,(t,r)=>{let i=()=>e(r).field,a=()=>e(r).catalogField,o=()=>e(r).modelId;{let r=n(()=>({...a(),required:i().required??a().required}));rt(t,{get modelId(){return o()},get field(){return e(r)},get label(){return i().label},get help(){return i().help},get idPrefix(){return c.active.form.id},get error(){return e(y)[i().id]},get value(){return e(h)[i().id]},onchange:t=>{e(h)[i().id]=t,delete e(y)[i().id]}})}});var _=w(p,2),b=t=>{var n=at(),r=T(n,!0);D(()=>o(r,e(k))),f(t,n)};t(_,t=>{e(k)&&t(b)});var x=w(_,2),C=t=>{var n=ot(),r=T(n,!0);D(()=>o(r,e(v))),f(t,n)};t(x,t=>{e(v)&&t(C)});var E=w(x,2),O=w(S(E),2);i(E),i(a),D(e=>o(u,`${c.id===void 0?`New`:`Edit`} ${e??``}`),[()=>F(c.active.form.label,c.noun,c.noun!==void 0)]),g(`submit`,a,N),m(`click`,O,function(...e){c.oncancel?.apply(this,e)}),f(r,a)};t(I,t=>{e(_)?t(R,-1):t(L)}),f(a,P),r()}h([`click`]);export{Ee as a,Te as i,rt as n,Ce as o,De as r,we as s,ct as t};