@happyvertical/smrt-planner 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/README.md +81 -8
  2. package/app/404.html +42 -49
  3. package/app/_app/immutable/assets/0.BvXq1Svw.css +1 -0
  4. package/app/_app/immutable/assets/10.CdYxvH4G.css +1 -0
  5. package/app/_app/immutable/assets/11.nOT5Z4Fv.css +1 -0
  6. package/app/_app/immutable/assets/12.F7A7zP4J.css +1 -0
  7. package/app/_app/immutable/assets/13.JoySu8W5.css +1 -0
  8. package/app/_app/immutable/assets/14.nsp62-4b.css +1 -0
  9. package/app/_app/immutable/assets/2.CbPiqdz5.css +1 -0
  10. package/app/_app/immutable/assets/3.D518dbB5.css +1 -0
  11. package/app/_app/immutable/assets/4.B3vt1gMJ.css +1 -0
  12. package/app/_app/immutable/assets/AiSetup.4fXjMpTZ.css +1 -0
  13. package/app/_app/immutable/assets/AppShell.DKPbJFmw.css +1 -0
  14. package/app/_app/immutable/assets/ConnectTools.DTleL8YA.css +1 -0
  15. package/app/_app/immutable/assets/FieldMapForm.C8SZ3t4N.css +1 -0
  16. package/app/_app/immutable/assets/ModelPage.DzDhJQz3.css +1 -0
  17. package/app/_app/immutable/assets/SectionActions.BE1CPmxk.css +1 -0
  18. package/app/_app/immutable/assets/SectionIcons.BGFcFuOf.css +1 -0
  19. package/app/_app/immutable/assets/SegmentedControl.T_hJQXHk.css +1 -0
  20. package/app/_app/immutable/assets/app.BS7nbUi0.css +1 -0
  21. package/app/_app/immutable/assets/currency-metadata.CJIy0Dzm.css +1 -0
  22. package/app/_app/immutable/assets/data.DQcbQG_b.css +1 -0
  23. package/app/_app/immutable/assets/feedback.FjY5wqsa.css +1 -0
  24. package/app/_app/immutable/assets/forms.DA06CFM9.css +1 -0
  25. package/app/_app/immutable/assets/labels.Dny6zd23.css +1 -0
  26. package/app/_app/immutable/assets/percent.CBivq97O.css +1 -0
  27. package/app/_app/immutable/assets/state.C9Put0ur.css +1 -0
  28. package/app/_app/immutable/assets/webmcp-ui-context.CC5pQLNE.css +1 -0
  29. package/app/_app/immutable/assets/workspace.Dtoe2fRU.css +1 -0
  30. package/app/_app/immutable/chunks/3ouNUakh.js +1 -0
  31. package/app/_app/immutable/chunks/B3FAegW4.js +4 -0
  32. package/app/_app/immutable/chunks/B8iReL-r.js +1 -0
  33. package/app/_app/immutable/chunks/BCmdRE3j.js +4 -0
  34. package/app/_app/immutable/chunks/BV3NwM01.js +1 -0
  35. package/app/_app/immutable/chunks/BVicq_6F.js +1 -0
  36. package/app/_app/immutable/chunks/Ba1g71Sq.js +1 -0
  37. package/app/_app/immutable/chunks/BdjvgMW6.js +1 -0
  38. package/app/_app/immutable/chunks/BiO_bqNH.js +2 -0
  39. package/app/_app/immutable/chunks/{DyGfbRG-.js → BrorvU4B.js} +1 -1
  40. package/app/_app/immutable/chunks/By-QJdbA.js +980 -0
  41. package/app/_app/immutable/chunks/{CyUMm_Wp.js → BzITuwgY.js} +1 -1
  42. package/app/_app/immutable/chunks/BzMfoxBk.js +1 -0
  43. package/app/_app/immutable/chunks/C-AoRalq.js +1 -0
  44. package/app/_app/immutable/chunks/CGKL_Nlh.js +1 -0
  45. package/app/_app/immutable/chunks/CNj-_B0j.js +1 -0
  46. package/app/_app/immutable/chunks/CU8cbxOZ.js +1 -0
  47. package/app/_app/immutable/chunks/CZGhPAoL.js +2 -0
  48. package/app/_app/immutable/chunks/CaEdOwVf.js +1 -0
  49. package/app/_app/immutable/chunks/Cas1hq-y.js +1 -0
  50. package/app/_app/immutable/chunks/CfOMUCNN.js +1 -0
  51. package/app/_app/immutable/chunks/Cm0VMWZu.js +1 -0
  52. package/app/_app/immutable/chunks/CsmXMAyE.js +1 -0
  53. package/app/_app/immutable/chunks/{BWPhGFHl.js → D0FW0z6R.js} +1 -1
  54. package/app/_app/immutable/chunks/D3nyL-ZK.js +1 -0
  55. package/app/_app/immutable/chunks/DEe2Vsu9.js +1 -0
  56. package/app/_app/immutable/chunks/DTs3DOB0.js +10 -0
  57. package/app/_app/immutable/chunks/Dm6R8q7G.js +1 -0
  58. package/app/_app/immutable/chunks/Dreozana.js +1 -0
  59. package/app/_app/immutable/chunks/Dx8H44Wq.js +2 -0
  60. package/app/_app/immutable/chunks/DxR35SQx.js +24 -0
  61. package/app/_app/immutable/chunks/EcFojPiU.js +11 -0
  62. package/app/_app/immutable/chunks/JBS2nHGN.js +1 -0
  63. package/app/_app/immutable/chunks/TjbilXEg.js +1 -0
  64. package/app/_app/immutable/chunks/ZLqixH7j.js +9 -0
  65. package/app/_app/immutable/chunks/auwiz8v4.js +1 -0
  66. package/app/_app/immutable/chunks/dbZ3U29n.js +1 -0
  67. package/app/_app/immutable/chunks/{D333l2GL.js → gHjidpzw.js} +2 -2
  68. package/app/_app/immutable/chunks/vNEnXNLV.js +3 -0
  69. package/app/_app/immutable/entry/app.vuScBcN4.js +2 -0
  70. package/app/_app/immutable/entry/start.C_vMied2.js +1 -0
  71. package/app/_app/immutable/nodes/0.BeNJfVow.js +9 -0
  72. package/app/_app/immutable/nodes/1.huiLmf4w.js +1 -0
  73. package/app/_app/immutable/nodes/10.B3buyRS-.js +3 -0
  74. package/app/_app/immutable/nodes/11.FNeDQehr.js +1 -0
  75. package/app/_app/immutable/nodes/12.umrKgKLQ.js +4 -0
  76. package/app/_app/immutable/nodes/13.DFr7i0IY.js +1 -0
  77. package/app/_app/immutable/nodes/14.BNgJ8cEq.js +1 -0
  78. package/app/_app/immutable/nodes/2.B3v0JtfB.js +24 -0
  79. package/app/_app/immutable/nodes/3.FLW3AkwU.js +1 -0
  80. package/app/_app/immutable/nodes/4.50B7EkB9.js +1 -0
  81. package/app/_app/immutable/nodes/5.Din7W_Et.js +1 -0
  82. package/app/_app/immutable/nodes/6.7dOUE7nr.js +1 -0
  83. package/app/_app/immutable/nodes/7.C4XsW0qI.js +1 -0
  84. package/app/_app/immutable/nodes/8.D_MREd8V.js +1 -0
  85. package/app/_app/immutable/nodes/9.cn87hhI-.js +1 -0
  86. package/app/_app/version.json +1 -1
  87. package/app/advanced-styles/index.html +84 -0
  88. package/app/ai/index.html +60 -52
  89. package/app/blueprint/index.html +46 -53
  90. package/app/cookbook/index.html +46 -53
  91. package/app/index.html +92 -64
  92. package/app/m/ads/AdDeliveryTier/index.html +52 -59
  93. package/app/m/ads/AdEvent/index.html +52 -59
  94. package/app/m/ads/AdFormat/index.html +52 -59
  95. package/app/m/ads/AdGroup/index.html +52 -59
  96. package/app/m/ads/AdVariation/index.html +52 -59
  97. package/app/m/analytics/AnalyticsDataStream/index.html +52 -59
  98. package/app/m/analytics/AnalyticsEvent/index.html +52 -59
  99. package/app/m/analytics/AnalyticsProperty/index.html +52 -59
  100. package/app/m/analytics/AnalyticsReport/index.html +52 -59
  101. package/app/m/approvals/ApprovalEvent/index.html +52 -59
  102. package/app/m/approvals/ApprovalPolicy/index.html +52 -59
  103. package/app/m/approvals/ApprovalRequest/index.html +52 -59
  104. package/app/m/assets/Asset/attachments/index.html +91 -0
  105. package/app/m/assets/Asset/index.html +52 -59
  106. package/app/m/assets/AssetAssociation/index.html +53 -60
  107. package/app/m/assets/AssetMetafield/index.html +52 -59
  108. package/app/m/assets/AssetStatus/index.html +52 -59
  109. package/app/m/assets/AssetType/index.html +52 -59
  110. package/app/m/assets/Folder/index.html +52 -59
  111. package/app/m/chat/AgentSession/index.html +52 -59
  112. package/app/m/chat/ChatMessage/index.html +53 -60
  113. package/app/m/chat/ChatParticipant/index.html +53 -60
  114. package/app/m/chat/ChatReaction/index.html +52 -59
  115. package/app/m/chat/ChatRoom/index.html +52 -59
  116. package/app/m/chat/ChatThread/index.html +53 -60
  117. package/app/m/chat/VoiceGatewayTurn/index.html +52 -59
  118. package/app/m/chat/VoiceSession/index.html +52 -59
  119. package/app/m/commerce/Agreement/index.html +52 -59
  120. package/app/m/commerce/Cart/index.html +52 -59
  121. package/app/m/commerce/Contract/index.html +52 -59
  122. package/app/m/commerce/ContractLineItem/index.html +53 -60
  123. package/app/m/commerce/Customer/index.html +52 -59
  124. package/app/m/commerce/DocumentTax/index.html +89 -0
  125. package/app/m/commerce/Estimate/index.html +52 -59
  126. package/app/m/commerce/Fulfillment/index.html +52 -59
  127. package/app/m/commerce/FulfillmentLineItem/index.html +53 -60
  128. package/app/m/commerce/Invoice/index.html +52 -59
  129. package/app/m/commerce/InvoiceLineItem/index.html +53 -60
  130. package/app/m/commerce/Lease/index.html +52 -59
  131. package/app/m/commerce/LicenseSale/index.html +52 -59
  132. package/app/m/commerce/Order/index.html +52 -59
  133. package/app/m/commerce/Payment/index.html +52 -59
  134. package/app/m/commerce/PaymentAllocation/index.html +53 -60
  135. package/app/m/commerce/PaymentInstrument/index.html +52 -59
  136. package/app/m/commerce/PaymentIntent/index.html +52 -59
  137. package/app/m/commerce/Payout/index.html +52 -59
  138. package/app/m/commerce/ProductionOrder/index.html +52 -59
  139. package/app/m/commerce/PurchaseContract/index.html +89 -0
  140. package/app/m/commerce/PurchaseOrder/index.html +52 -59
  141. package/app/m/commerce/SalesContract/index.html +89 -0
  142. package/app/m/commerce/SupplierQuote/index.html +89 -0
  143. package/app/m/commerce/TaxCode/index.html +89 -0
  144. package/app/m/commerce/TaxComponent/index.html +89 -0
  145. package/app/m/commerce/TaxSettings/index.html +89 -0
  146. package/app/m/commerce/TaxSummaryReport/index.html +89 -0
  147. package/app/m/commerce/Vendor/index.html +52 -59
  148. package/app/m/commerce/WholesaleOrder/index.html +52 -59
  149. package/app/m/content/Content/index.html +52 -59
  150. package/app/m/content/ContentContribution/index.html +52 -59
  151. package/app/m/content/ContentContributionAttachment/index.html +52 -59
  152. package/app/m/content/ContentContributionRevision/index.html +52 -59
  153. package/app/m/content/ContentContributionType/index.html +52 -59
  154. package/app/m/content/ContentContributor/index.html +52 -59
  155. package/app/m/content/ContentCorrection/index.html +52 -59
  156. package/app/m/content/ContentFeedSource/index.html +52 -59
  157. package/app/m/content/ContentGovernanceAssignment/index.html +52 -59
  158. package/app/m/content/ContentGovernancePolicy/index.html +52 -59
  159. package/app/m/content/ContentGovernanceProfile/index.html +52 -59
  160. package/app/m/content/ContentReference/index.html +52 -59
  161. package/app/m/content/ContentReview/index.html +52 -59
  162. package/app/m/content/ContentVersion/index.html +52 -59
  163. package/app/m/events/Event/index.html +52 -59
  164. package/app/m/events/EventParticipant/index.html +53 -60
  165. package/app/m/events/EventSeries/index.html +52 -59
  166. package/app/m/events/EventType/index.html +52 -59
  167. package/app/m/expenses/Expense/index.html +89 -0
  168. package/app/m/facts/Fact/index.html +52 -59
  169. package/app/m/facts/FactContent/index.html +52 -59
  170. package/app/m/facts/FactEvidence/index.html +52 -59
  171. package/app/m/facts/FactSource/index.html +52 -59
  172. package/app/m/facts/FactSubject/index.html +52 -59
  173. package/app/m/facts/FactTag/index.html +52 -59
  174. package/app/m/fields/FieldPolicy/index.html +52 -59
  175. package/app/m/fields/FieldPolicySuggestion/index.html +52 -59
  176. package/app/m/fields/FieldUsageCounter/index.html +52 -59
  177. package/app/m/images/Image/index.html +52 -59
  178. package/app/m/inventory/InventoryLocation/index.html +52 -59
  179. package/app/m/inventory/StockLevel/index.html +52 -59
  180. package/app/m/inventory/StockMovement/index.html +52 -59
  181. package/app/m/ledgers/Account/index.html +52 -59
  182. package/app/m/ledgers/Journal/index.html +52 -59
  183. package/app/m/ledgers/JournalEntry/index.html +53 -60
  184. package/app/m/manufacturing/Assembly/index.html +52 -59
  185. package/app/m/manufacturing/BillOfMaterials/index.html +52 -59
  186. package/app/m/manufacturing/BomLine/index.html +52 -59
  187. package/app/m/manufacturing/Operation/index.html +52 -59
  188. package/app/m/manufacturing/ProductionRun/index.html +52 -59
  189. package/app/m/manufacturing/ProductionRunCompletion/index.html +52 -59
  190. package/app/m/manufacturing/RoutingStep/index.html +52 -59
  191. package/app/m/marketing/Campaign/index.html +52 -59
  192. package/app/m/marketing/CampaignChannel/index.html +52 -59
  193. package/app/m/marketing/CampaignMetricSnapshot/index.html +52 -59
  194. package/app/m/messages/Account/index.html +52 -59
  195. package/app/m/messages/Attachment/index.html +52 -59
  196. package/app/m/messages/Blacklist/index.html +52 -59
  197. package/app/m/messages/Email/failed-sends/index.html +54 -59
  198. package/app/m/messages/Email/index.html +52 -59
  199. package/app/m/messages/Email/mailbox/index.html +54 -59
  200. package/app/m/messages/EmailAccount/index.html +52 -59
  201. package/app/m/messages/EmailAttachment/index.html +89 -0
  202. package/app/m/messages/EmailFolder/index.html +52 -59
  203. package/app/m/messages/Message/index.html +52 -59
  204. package/app/m/messages/MessagingEndpoint/index.html +52 -59
  205. package/app/m/messages/PersonaMessageRoute/index.html +52 -59
  206. package/app/m/messages/SlackAccount/index.html +52 -59
  207. package/app/m/messages/SlackMessage/index.html +52 -59
  208. package/app/m/messages/TelegramAccount/index.html +52 -59
  209. package/app/m/messages/Tweet/index.html +52 -59
  210. package/app/m/messages/TwitterAccount/index.html +52 -59
  211. package/app/m/messages/Whitelist/index.html +52 -59
  212. package/app/m/messages/ZulipAccount/index.html +52 -59
  213. package/app/m/places/Place/index.html +52 -59
  214. package/app/m/places/PlaceType/index.html +52 -59
  215. package/app/m/products/Category/index.html +52 -59
  216. package/app/m/products/Material/index.html +52 -59
  217. package/app/m/products/Product/index.html +52 -59
  218. package/app/m/products/Product/ingredients/index.html +54 -59
  219. package/app/m/products/ProductVariant/index.html +53 -60
  220. package/app/m/products/Sku/index.html +53 -60
  221. package/app/m/profiles/ApiKey/index.html +52 -59
  222. package/app/m/profiles/Bot/index.html +52 -59
  223. package/app/m/profiles/MagicLinkToken/index.html +52 -59
  224. package/app/m/profiles/NostrIdentity/index.html +52 -59
  225. package/app/m/profiles/OidcIdentity/index.html +52 -59
  226. package/app/m/profiles/Organization/index.html +52 -59
  227. package/app/m/profiles/Person/index.html +52 -59
  228. package/app/m/profiles/Profile/index.html +52 -59
  229. package/app/m/profiles/ProfileMetadata/index.html +52 -59
  230. package/app/m/profiles/ProfileMetafield/index.html +52 -59
  231. package/app/m/profiles/ProfileRelationship/index.html +52 -59
  232. package/app/m/profiles/ProfileRelationshipTerm/index.html +52 -59
  233. package/app/m/profiles/ProfileRelationshipType/index.html +52 -59
  234. package/app/m/profiles/ProfileType/index.html +52 -59
  235. package/app/m/projects/Comment/index.html +53 -60
  236. package/app/m/projects/Issue/index.html +52 -59
  237. package/app/m/projects/Label/index.html +52 -59
  238. package/app/m/projects/Project/index.html +52 -59
  239. package/app/m/projects/ProjectIntegration/index.html +52 -59
  240. package/app/m/projects/PullRequest/index.html +52 -59
  241. package/app/m/projects/Repository/index.html +52 -59
  242. package/app/m/properties/Property/index.html +52 -59
  243. package/app/m/properties/Zone/index.html +52 -59
  244. package/app/m/reports/RuntimeReport/index.html +52 -59
  245. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +52 -59
  246. package/app/m/reports/SmrtReportLock/index.html +52 -59
  247. package/app/m/reports/SmrtReportRefreshTask/index.html +52 -59
  248. package/app/m/reports/SmrtReportRun/index.html +52 -59
  249. package/app/m/reports/SmrtReportSchedule/index.html +52 -59
  250. package/app/m/reports/SmrtReportWatermark/index.html +52 -59
  251. package/app/m/sales/AttributionException/index.html +52 -59
  252. package/app/m/sales/AttributionPolicy/index.html +52 -59
  253. package/app/m/sales/Commission/index.html +52 -59
  254. package/app/m/sales/CommissionAdjustment/index.html +52 -59
  255. package/app/m/sales/CommissionPayout/index.html +52 -59
  256. package/app/m/sales/CommissionPlan/index.html +52 -59
  257. package/app/m/sales/Earner/index.html +52 -59
  258. package/app/m/sales/EarnerSourceAttribution/index.html +52 -59
  259. package/app/m/sales/EarningEvent/index.html +52 -59
  260. package/app/m/sales/ExecutedAgreement/index.html +52 -59
  261. package/app/m/sales/Lead/index.html +52 -59
  262. package/app/m/sales/Opportunity/index.html +52 -59
  263. package/app/m/sales/OpportunityConversion/index.html +52 -59
  264. package/app/m/sales/PipelineDefinition/index.html +52 -59
  265. package/app/m/sales/PipelineStage/index.html +53 -60
  266. package/app/m/sales/Referral/index.html +52 -59
  267. package/app/m/sales/ReferralAgreement/index.html +52 -59
  268. package/app/m/sales/ReferralLink/index.html +52 -59
  269. package/app/m/sales/ReferralProgram/index.html +52 -59
  270. package/app/m/sales/ReferralTermSnapshot/index.html +52 -59
  271. package/app/m/sales/ReferralTouch/index.html +52 -59
  272. package/app/m/sales/Referrer/index.html +52 -59
  273. package/app/m/sales/SalesActivity/index.html +52 -59
  274. package/app/m/sales/SalesRepresentative/index.html +52 -59
  275. package/app/m/sites/Site/index.html +52 -59
  276. package/app/m/sites/SiteAgentBinding/index.html +52 -59
  277. package/app/m/social/OAuthState/index.html +52 -59
  278. package/app/m/social/SocialAccount/index.html +52 -59
  279. package/app/m/social/SocialPost/index.html +52 -59
  280. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +52 -59
  281. package/app/m/subscriptions/BillingAdjustment/index.html +52 -59
  282. package/app/m/subscriptions/ClientCharge/index.html +52 -59
  283. package/app/m/subscriptions/CreditGrant/index.html +52 -59
  284. package/app/m/subscriptions/PricingRule/index.html +52 -59
  285. package/app/m/subscriptions/RetailCharge/index.html +52 -59
  286. package/app/m/subscriptions/SpendingPolicy/index.html +52 -59
  287. package/app/m/subscriptions/SubscriptionPlan/index.html +52 -59
  288. package/app/m/subscriptions/TenantSubscription/index.html +52 -59
  289. package/app/m/subscriptions/TenantUsageMetric/index.html +52 -59
  290. package/app/m/support/ServiceTimeEntry/index.html +52 -59
  291. package/app/m/support/SupportAiRun/index.html +52 -59
  292. package/app/m/support/SupportAvailability/index.html +52 -59
  293. package/app/m/support/SupportCase/index.html +52 -59
  294. package/app/m/support/SupportCaseEvent/index.html +52 -59
  295. package/app/m/support/SupportChannelBinding/index.html +52 -59
  296. package/app/m/support/SupportCharge/index.html +52 -59
  297. package/app/m/support/SupportCompensation/index.html +52 -59
  298. package/app/m/support/SupportCompensationPlan/index.html +52 -59
  299. package/app/m/support/SupportEscalation/index.html +52 -59
  300. package/app/m/support/SupportInteraction/index.html +52 -59
  301. package/app/m/support/SupportPlan/index.html +52 -59
  302. package/app/m/support/SupportPolicy/index.html +52 -59
  303. package/app/m/support/SupportQualification/index.html +52 -59
  304. package/app/m/support/SupportServiceTarget/index.html +52 -59
  305. package/app/m/support/SupportSpecialist/index.html +52 -59
  306. package/app/m/support/SupportWorkLink/index.html +52 -59
  307. package/app/m/tags/Tag/index.html +52 -59
  308. package/app/m/tags/TagAlias/index.html +52 -59
  309. package/app/m/timesheets/AttendanceBreak/index.html +52 -59
  310. package/app/m/timesheets/AttendancePunch/index.html +52 -59
  311. package/app/m/timesheets/AttendanceSegment/index.html +89 -0
  312. package/app/m/timesheets/ServiceChargeSnapshot/index.html +52 -59
  313. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +52 -59
  314. package/app/m/timesheets/ServiceTimeEntry/index.html +52 -59
  315. package/app/m/users/Group/index.html +52 -59
  316. package/app/m/users/GroupMember/index.html +52 -59
  317. package/app/m/users/GroupRole/index.html +52 -59
  318. package/app/m/users/Membership/index.html +53 -60
  319. package/app/m/users/MembershipOverride/index.html +52 -59
  320. package/app/m/users/Permission/index.html +52 -59
  321. package/app/m/users/Role/index.html +52 -59
  322. package/app/m/users/RolePermission/index.html +52 -59
  323. package/app/m/users/Session/index.html +52 -59
  324. package/app/m/users/Tenant/index.html +52 -59
  325. package/app/m/users/TenantIntegration/index.html +52 -59
  326. package/app/m/users/TenantPermissionOverride/index.html +52 -59
  327. package/app/m/users/User/index.html +52 -59
  328. package/app/m/video/Character/index.html +52 -59
  329. package/app/m/video/CharacterAsset/index.html +52 -59
  330. package/app/m/video/CompositeJob/index.html +52 -59
  331. package/app/m/video/Performer/index.html +52 -59
  332. package/app/m/video/PerformerAsset/index.html +52 -59
  333. package/app/m/video/Scene/index.html +52 -59
  334. package/app/m/video/SceneAsset/index.html +52 -59
  335. package/app/m/video/VideoComposition/index.html +52 -59
  336. package/app/m/video/VideoCompositionAsset/index.html +52 -59
  337. package/app/m/video/VideoSequence/index.html +52 -59
  338. package/app/m/video/VideoSequenceAsset/index.html +52 -59
  339. package/app/m/video/VideoShot/index.html +52 -59
  340. package/app/m/video/VideoShotAsset/index.html +52 -59
  341. package/app/m/video/VideoShotCharacter/index.html +52 -59
  342. package/app/m/video/VideoWorkflow/index.html +52 -59
  343. package/app/m/voice/VoiceOutput/index.html +52 -59
  344. package/app/m/voice/VoiceProfile/index.html +52 -59
  345. package/app/m/voice/VoiceSample/index.html +52 -59
  346. package/app/packages/ads/index.html +50 -57
  347. package/app/packages/analytics/index.html +50 -57
  348. package/app/packages/approvals/index.html +50 -57
  349. package/app/packages/assets/index.html +50 -57
  350. package/app/packages/chat/index.html +50 -57
  351. package/app/packages/comments/index.html +50 -57
  352. package/app/packages/commerce/index.html +50 -57
  353. package/app/packages/content/index.html +50 -57
  354. package/app/packages/events/index.html +50 -57
  355. package/app/packages/expenses/index.html +50 -57
  356. package/app/packages/facts/index.html +50 -57
  357. package/app/packages/fields/index.html +50 -57
  358. package/app/packages/human-resources/index.html +50 -57
  359. package/app/packages/images/index.html +50 -57
  360. package/app/packages/index.html +49 -55
  361. package/app/packages/ingestion/index.html +85 -0
  362. package/app/packages/inventory/index.html +50 -57
  363. package/app/packages/ledgers/index.html +50 -57
  364. package/app/packages/manufacturing/index.html +50 -57
  365. package/app/packages/marketing/index.html +50 -57
  366. package/app/packages/messages/index.html +50 -57
  367. package/app/packages/places/index.html +50 -57
  368. package/app/packages/preferences/index.html +50 -57
  369. package/app/packages/products/index.html +50 -57
  370. package/app/packages/profiles/index.html +50 -57
  371. package/app/packages/projects/index.html +50 -57
  372. package/app/packages/properties/index.html +50 -57
  373. package/app/packages/reports/index.html +50 -57
  374. package/app/packages/sales/index.html +50 -57
  375. package/app/packages/sites/index.html +50 -57
  376. package/app/packages/social/index.html +50 -57
  377. package/app/packages/subscriptions/index.html +50 -57
  378. package/app/packages/support/index.html +50 -57
  379. package/app/packages/tags/index.html +50 -57
  380. package/app/packages/timesheets/index.html +50 -57
  381. package/app/packages/users/index.html +50 -57
  382. package/app/packages/video/index.html +50 -57
  383. package/app/packages/voice/index.html +50 -57
  384. package/app/packages/webhooks/index.html +85 -0
  385. package/app/recipes/account-access/help/index.html +52 -57
  386. package/app/recipes/account-access/index.html +57 -59
  387. package/app/recipes/activity/help/index.html +52 -57
  388. package/app/recipes/activity/index.html +57 -59
  389. package/app/recipes/agreements/help/index.html +52 -57
  390. package/app/recipes/agreements/index.html +57 -59
  391. package/app/recipes/analytics.reports/help/index.html +52 -57
  392. package/app/recipes/analytics.reports/index.html +57 -59
  393. package/app/recipes/assets/help/index.html +52 -57
  394. package/app/recipes/assets/index.html +57 -59
  395. package/app/recipes/billing/help/index.html +52 -57
  396. package/app/recipes/billing/index.html +57 -59
  397. package/app/recipes/chat.assistant/help/index.html +52 -57
  398. package/app/recipes/chat.assistant/index.html +57 -59
  399. package/app/recipes/comments/help/index.html +52 -57
  400. package/app/recipes/comments/index.html +57 -59
  401. package/app/recipes/commerce.customers/help/index.html +52 -57
  402. package/app/recipes/commerce.customers/index.html +57 -59
  403. package/app/recipes/commerce.estimates/help/index.html +52 -57
  404. package/app/recipes/commerce.estimates/index.html +57 -59
  405. package/app/recipes/commerce.purchases/help/index.html +52 -57
  406. package/app/recipes/commerce.purchases/index.html +57 -59
  407. package/app/recipes/commerce.sales/help/index.html +52 -57
  408. package/app/recipes/commerce.sales/index.html +57 -59
  409. package/app/recipes/commerce.vendors/help/index.html +52 -57
  410. package/app/recipes/commerce.vendors/index.html +57 -59
  411. package/app/recipes/commerce.wholesale/help/index.html +52 -57
  412. package/app/recipes/commerce.wholesale/index.html +57 -59
  413. package/app/recipes/events.calendar/help/index.html +52 -57
  414. package/app/recipes/events.calendar/index.html +57 -59
  415. package/app/recipes/expenses.tracking/help/index.html +88 -0
  416. package/app/recipes/expenses.tracking/index.html +92 -0
  417. package/app/recipes/fields.form-customization/help/index.html +52 -57
  418. package/app/recipes/fields.form-customization/index.html +57 -59
  419. package/app/recipes/ingestion/help/index.html +88 -0
  420. package/app/recipes/ingestion/index.html +93 -0
  421. package/app/recipes/integrations/help/index.html +88 -0
  422. package/app/recipes/integrations/index.html +92 -0
  423. package/app/recipes/inventory.stock/help/index.html +52 -57
  424. package/app/recipes/inventory.stock/index.html +57 -59
  425. package/app/recipes/ledgers.bookkeeping/help/index.html +52 -57
  426. package/app/recipes/ledgers.bookkeeping/index.html +57 -59
  427. package/app/recipes/messages/help/index.html +52 -57
  428. package/app/recipes/messages/index.html +57 -59
  429. package/app/recipes/products/help/index.html +52 -57
  430. package/app/recipes/products/index.html +57 -59
  431. package/app/recipes/projects.tracker/help/index.html +52 -57
  432. package/app/recipes/projects.tracker/index.html +57 -59
  433. package/app/recipes/reports.materialized/help/index.html +52 -57
  434. package/app/recipes/reports.materialized/index.html +57 -59
  435. package/app/recipes/reports.runtime/help/index.html +88 -0
  436. package/app/recipes/reports.runtime/index.html +92 -0
  437. package/app/recipes/sales.pipeline/help/index.html +52 -57
  438. package/app/recipes/sales.pipeline/index.html +57 -59
  439. package/app/recipes/tags.taxonomy/help/index.html +52 -57
  440. package/app/recipes/tags.taxonomy/index.html +57 -59
  441. package/app/recipes/team-collaboration/help/index.html +52 -57
  442. package/app/recipes/team-collaboration/index.html +57 -59
  443. package/app/recipes/timesheets.time-entries/help/index.html +88 -0
  444. package/app/recipes/timesheets.time-entries/index.html +92 -0
  445. package/app/s/custom-accounts/index.html +82 -0
  446. package/app/s/custom-appointments/index.html +82 -0
  447. package/app/s/custom-billing/index.html +47 -54
  448. package/app/s/custom-buying/index.html +47 -54
  449. package/app/s/custom-checkout/index.html +82 -0
  450. package/app/s/custom-classes/index.html +47 -54
  451. package/app/s/custom-clients/index.html +82 -0
  452. package/app/s/custom-events/index.html +82 -0
  453. package/app/s/custom-fleet/index.html +82 -0
  454. package/app/s/custom-giving/index.html +82 -0
  455. package/app/s/custom-jobs/index.html +47 -54
  456. package/app/s/custom-kitchen/index.html +47 -54
  457. package/app/s/custom-material/index.html +47 -54
  458. package/app/s/custom-meetings/index.html +82 -0
  459. package/app/s/custom-members/index.html +47 -54
  460. package/app/s/custom-parts/index.html +47 -54
  461. package/app/s/custom-rentals/index.html +82 -0
  462. package/app/s/custom-roastery/index.html +82 -0
  463. package/app/s/custom-schedule/index.html +47 -54
  464. package/app/s/custom-shelf/index.html +82 -0
  465. package/app/s/custom-shop/index.html +47 -54
  466. package/app/s/custom-wholesale/index.html +47 -54
  467. package/app/s/custom-work/index.html +82 -0
  468. package/app/s/custom-yard/index.html +82 -0
  469. package/app/s/section-access-control/index.html +47 -54
  470. package/app/s/section-account-security/index.html +47 -54
  471. package/app/s/section-accounting/index.html +47 -54
  472. package/app/s/section-activity/index.html +47 -54
  473. package/app/s/section-agreements/index.html +47 -54
  474. package/app/s/section-analytics/index.html +47 -54
  475. package/app/s/section-assets/index.html +47 -54
  476. package/app/s/section-billing/index.html +47 -54
  477. package/app/s/section-calendar/index.html +47 -54
  478. package/app/s/section-catalog/index.html +47 -54
  479. package/app/s/section-chat.assistant/index.html +47 -54
  480. package/app/s/section-comments/index.html +47 -54
  481. package/app/s/section-fields.form-customization/index.html +47 -54
  482. package/app/s/section-ingestion/index.html +82 -0
  483. package/app/s/section-integrations/index.html +82 -0
  484. package/app/s/section-messages/index.html +47 -54
  485. package/app/s/section-more/index.html +47 -54
  486. package/app/s/section-operations/index.html +47 -54
  487. package/app/s/section-projects/index.html +47 -54
  488. package/app/s/section-purchasing/index.html +47 -54
  489. package/app/s/section-reports.materialized/index.html +47 -54
  490. package/app/s/section-reports.runtime/index.html +82 -0
  491. package/app/s/section-sales/index.html +47 -54
  492. package/app/s/section-taxonomy/index.html +47 -54
  493. package/app/s/section-team/index.html +47 -54
  494. package/app/s/section-work/index.html +82 -0
  495. package/dist/ai/state.svelte.d.ts +22 -4
  496. package/dist/ai/state.svelte.js +78 -15
  497. package/dist/ai/status.js +8 -0
  498. package/dist/assistant/change.d.ts +14 -3
  499. package/dist/assistant/change.js +26 -3
  500. package/dist/assistant/engine.js +5 -1
  501. package/dist/assistant/prompt.js +7 -3
  502. package/dist/assistant/session.svelte.d.ts +1 -0
  503. package/dist/assistant/session.svelte.js +22 -4
  504. package/dist/catalog/catalog.json +11244 -14189
  505. package/dist/catalog/generate/exclusions.d.ts +8 -0
  506. package/dist/catalog/generate/exclusions.js +29 -0
  507. package/dist/catalog/generate/extract.js +29 -8
  508. package/dist/catalog/types.d.ts +7 -0
  509. package/dist/components/AdvancedStyles.svelte +138 -0
  510. package/dist/components/AdvancedStyles.svelte.d.ts +6 -0
  511. package/dist/components/AiModelsPage.svelte +40 -0
  512. package/dist/components/AiModelsPage.svelte.d.ts +7 -0
  513. package/dist/components/AiSetup.svelte +40 -8
  514. package/dist/components/AiStatusIcons.svelte +8 -5
  515. package/dist/components/AppSettings.svelte +105 -1
  516. package/dist/components/BrowserAssistant.svelte +25 -22
  517. package/dist/components/BrowserAssistant.svelte.d.ts +2 -0
  518. package/dist/components/ChildRecords.svelte +61 -14
  519. package/dist/components/ChildRecords.svelte.d.ts +1 -0
  520. package/dist/components/ConnectTools.svelte +5 -2
  521. package/dist/components/CookbooksPanel.svelte +56 -33
  522. package/dist/components/CopyButton.svelte +65 -0
  523. package/dist/components/CopyButton.svelte.d.ts +24 -0
  524. package/dist/components/ExportPanel.svelte +292 -57
  525. package/dist/components/ExportPanel.svelte.d.ts +10 -1
  526. package/dist/components/FeatureCard.svelte +21 -10
  527. package/dist/components/FeaturesPanel.svelte +4 -1
  528. package/dist/components/FieldInput.svelte +6 -3
  529. package/dist/components/FieldMapForm.svelte +6 -10
  530. package/dist/components/FieldMapForm.svelte.d.ts +1 -0
  531. package/dist/components/FormWorkspace.svelte +80 -9
  532. package/dist/components/FormWorkspace.svelte.d.ts +1 -0
  533. package/dist/components/HeaderIconLink.svelte +86 -0
  534. package/dist/components/HeaderIconLink.svelte.d.ts +14 -0
  535. package/dist/components/HelpView.svelte +3 -0
  536. package/dist/components/ModelOptions.svelte +13 -2
  537. package/dist/components/ModelPage.svelte +33 -5
  538. package/dist/components/ModelPage.svelte.d.ts +4 -0
  539. package/dist/components/ModelWorkspace.svelte +148 -50
  540. package/dist/components/ModelWorkspace.svelte.d.ts +4 -0
  541. package/dist/components/PackagePage.svelte +96 -0
  542. package/dist/components/PackagePage.svelte.d.ts +9 -0
  543. package/dist/components/ProductMedia.svelte +95 -0
  544. package/dist/components/ProductMedia.svelte.d.ts +10 -0
  545. package/dist/components/RecipeCards.svelte +13 -1
  546. package/dist/components/RecipeHelp.svelte +3 -0
  547. package/dist/components/RecipeOptions.svelte +13 -1
  548. package/dist/components/RecordFeatures.svelte +22 -8
  549. package/dist/components/RecordView.svelte +354 -0
  550. package/dist/components/RecordView.svelte.d.ts +14 -0
  551. package/dist/components/RelationField.svelte +5 -2
  552. package/dist/components/SectionActions.svelte +8 -5
  553. package/dist/components/SectionHeading.svelte +63 -0
  554. package/dist/components/SectionHeading.svelte.d.ts +11 -0
  555. package/dist/components/SectionIcons.svelte +15 -3
  556. package/dist/components/SectionOverview.svelte +33 -3
  557. package/dist/components/SectionOverview.svelte.d.ts +4 -0
  558. package/dist/components/SectionPage.svelte +25 -165
  559. package/dist/components/SectionView.svelte +172 -0
  560. package/dist/components/SectionView.svelte.d.ts +18 -0
  561. package/dist/components/SettingsPanel.svelte +3 -9
  562. package/dist/components/SettingsPanel.svelte.d.ts +1 -5
  563. package/dist/components/ThemeBridge.svelte +80 -4
  564. package/dist/components/ThemeBridge.svelte.d.ts +5 -1
  565. package/dist/components/ThemeSection.svelte +208 -117
  566. package/dist/components/ThemeSection.svelte.d.ts +3 -7
  567. package/dist/components/VariantGridForm.svelte +9 -13
  568. package/dist/components/VariantGridForm.svelte.d.ts +1 -0
  569. package/dist/components/VoiceTyping.svelte +3 -0
  570. package/dist/cookbook/describe.d.ts +29 -0
  571. package/dist/cookbook/describe.js +164 -0
  572. package/dist/cookbook/file.d.ts +6 -0
  573. package/dist/cookbook/file.js +18 -4
  574. package/dist/cookbook/prompt.d.ts +49 -0
  575. package/dist/cookbook/prompt.js +100 -0
  576. package/dist/cookbook/store.svelte.d.ts +13 -0
  577. package/dist/cookbook/store.svelte.js +36 -8
  578. package/dist/core/app.d.ts +33 -8
  579. package/dist/core/app.js +112 -8
  580. package/dist/core/prompt.js +10 -1
  581. package/dist/core/reply.d.ts +6 -1
  582. package/dist/data/children.d.ts +50 -6
  583. package/dist/data/children.js +146 -16
  584. package/dist/data/derived.d.ts +37 -29
  585. package/dist/data/derived.js +49 -30
  586. package/dist/data/display.d.ts +21 -8
  587. package/dist/data/display.js +74 -11
  588. package/dist/data/fakes.d.ts +48 -9
  589. package/dist/data/fakes.js +146 -22
  590. package/dist/data/labels.d.ts +7 -2
  591. package/dist/data/labels.js +12 -2
  592. package/dist/data/list-sort.d.ts +8 -0
  593. package/dist/data/list-sort.js +45 -0
  594. package/dist/data/money.d.ts +227 -0
  595. package/dist/data/money.js +413 -0
  596. package/dist/data/packs.d.ts +13 -0
  597. package/dist/data/packs.js +1224 -0
  598. package/dist/data/planner-source.js +123 -3
  599. package/dist/data/source.d.ts +13 -2
  600. package/dist/data/source.js +274 -40
  601. package/dist/features/palette.d.ts +2 -0
  602. package/dist/features/palette.js +1 -1
  603. package/dist/forms/stock.d.ts +1 -1
  604. package/dist/forms/stock.js +3 -1
  605. package/dist/index.d.ts +8 -3
  606. package/dist/index.js +6 -1
  607. package/dist/inference/byo.svelte.d.ts +8 -4
  608. package/dist/inference/byo.svelte.js +36 -8
  609. package/dist/inference/config.d.ts +12 -5
  610. package/dist/inference/config.js +96 -40
  611. package/dist/inference/openai.js +5 -0
  612. package/dist/kitchen/LiveKitchenBridge.svelte +73 -0
  613. package/dist/kitchen/LiveKitchenBridge.svelte.d.ts +8 -0
  614. package/dist/kitchen/client.js +10 -4
  615. package/dist/kitchen/live.d.ts +7 -0
  616. package/dist/kitchen/live.js +51 -0
  617. package/dist/library/icons.js +34 -0
  618. package/dist/library/library.json +1546 -15
  619. package/dist/library/pending.json +5 -0
  620. package/dist/library/types.d.ts +4 -0
  621. package/dist/motion/tokens.d.ts +6 -0
  622. package/dist/motion/tokens.js +32 -0
  623. package/dist/motion/view-transition.d.ts +13 -0
  624. package/dist/motion/view-transition.js +17 -0
  625. package/dist/overviews/definitions.d.ts +41 -2
  626. package/dist/overviews/definitions.js +111 -4
  627. package/dist/overviews/models.d.ts +10 -0
  628. package/dist/overviews/models.js +19 -0
  629. package/dist/overviews/registry.d.ts +92 -5
  630. package/dist/overviews/registry.js +468 -58
  631. package/dist/overviews/validate.js +2 -2
  632. package/dist/planner/Planner.svelte +374 -166
  633. package/dist/planner/PlannerControls.svelte +255 -0
  634. package/dist/planner/PlannerControls.svelte.d.ts +17 -0
  635. package/dist/planner/PlannerLifecycle.svelte +73 -0
  636. package/dist/planner/PlannerLifecycle.svelte.d.ts +9 -0
  637. package/dist/planner/app.svelte.d.ts +12 -2
  638. package/dist/planner/app.svelte.js +13 -3
  639. package/dist/planner/assistant.js +21 -3
  640. package/dist/planner/commands/adapter.js +9 -2
  641. package/dist/planner/commands/types.d.ts +1 -1
  642. package/dist/planner/commands/types.js +1 -0
  643. package/dist/planner/header-icons.d.ts +12 -0
  644. package/dist/planner/header-icons.js +12 -0
  645. package/dist/planner/host/HostPlanner.svelte +70 -0
  646. package/dist/planner/host/HostPlanner.svelte.d.ts +17 -0
  647. package/dist/planner/host/session.svelte.d.ts +28 -0
  648. package/dist/planner/host/session.svelte.js +186 -0
  649. package/dist/planner/routes.d.ts +49 -0
  650. package/dist/planner/routes.js +64 -0
  651. package/dist/planner/shell.d.ts +40 -0
  652. package/dist/planner/shell.js +56 -0
  653. package/dist/planner/tab.svelte.d.ts +6 -3
  654. package/dist/planner/tab.svelte.js +11 -4
  655. package/dist/planner/title.d.ts +15 -0
  656. package/dist/planner/title.js +21 -0
  657. package/dist/planner/title.svelte.d.ts +6 -0
  658. package/dist/planner/title.svelte.js +11 -0
  659. package/dist/planner/types.d.ts +39 -7
  660. package/dist/products/media.d.ts +20 -0
  661. package/dist/products/media.js +65 -0
  662. package/dist/recipes/help/descriptions.json +1 -3
  663. package/dist/recipes/index.d.ts +2 -0
  664. package/dist/recipes/index.js +6 -0
  665. package/dist/recipes/plumbing.d.ts +35 -1
  666. package/dist/recipes/plumbing.js +74 -0
  667. package/dist/screens/definition.d.ts +35 -0
  668. package/dist/screens/definition.js +132 -0
  669. package/dist/screens/relations.d.ts +17 -0
  670. package/dist/screens/relations.js +98 -0
  671. package/dist/screens/totals.d.ts +37 -0
  672. package/dist/screens/totals.js +65 -0
  673. package/dist/sections/info.d.ts +1 -1
  674. package/dist/sections/info.js +2 -2
  675. package/dist/settings/app-settings.d.ts +17 -1
  676. package/dist/settings/app-settings.js +40 -3
  677. package/dist/smrt-version.d.ts +2 -0
  678. package/dist/smrt-version.js +4 -0
  679. package/dist/styles/planner-forms.css +53 -0
  680. package/dist/styles/planner-lists.css +43 -0
  681. package/dist/theme/css-highlight.d.ts +6 -0
  682. package/dist/theme/css-highlight.js +34 -0
  683. package/dist/theme/custom-css.svelte.d.ts +34 -0
  684. package/dist/theme/custom-css.svelte.js +246 -0
  685. package/dist/theme/runtime.js +25 -5
  686. package/dist/theme/theme.d.ts +26 -3
  687. package/dist/theme/theme.js +70 -2
  688. package/dist/upstream/overlay.d.ts +14 -5
  689. package/dist/upstream/overlay.js +20 -2
  690. package/package.json +13 -6
  691. package/app/_app/immutable/assets/0.B5zXkXe_.css +0 -1
  692. package/app/_app/immutable/assets/10.hpcnxvK1.css +0 -1
  693. package/app/_app/immutable/assets/11.D7zoXfVV.css +0 -1
  694. package/app/_app/immutable/assets/12.CPobm1ED.css +0 -1
  695. package/app/_app/immutable/assets/2.CyaWdRdI.css +0 -1
  696. package/app/_app/immutable/assets/3.BlPQOes8.css +0 -1
  697. package/app/_app/immutable/assets/8.2gQeKBp_.css +0 -1
  698. package/app/_app/immutable/assets/9.HOPT4xtg.css +0 -1
  699. package/app/_app/immutable/assets/AiSetup.Cb22AigN.css +0 -1
  700. package/app/_app/immutable/assets/Button.DkP0qkG9.css +0 -1
  701. package/app/_app/immutable/assets/ConnectTools.BgIJOOGW.css +0 -1
  702. package/app/_app/immutable/assets/FieldMapForm.BCU-4pO4.css +0 -1
  703. package/app/_app/immutable/assets/ModelPage.Dd3LcMta.css +0 -1
  704. package/app/_app/immutable/assets/SectionActions.CTkVuNMF.css +0 -1
  705. package/app/_app/immutable/assets/SectionIcons.5Udq9vN-.css +0 -1
  706. package/app/_app/immutable/assets/SegmentedControl.B8SrQacd.css +0 -1
  707. package/app/_app/immutable/assets/dist.C5nHBk_O.css +0 -1
  708. package/app/_app/immutable/assets/feedback.BVKAwFck.css +0 -1
  709. package/app/_app/immutable/assets/forms.BChZ2RWM.css +0 -1
  710. package/app/_app/immutable/assets/percent.LH0z-ozZ.css +0 -1
  711. package/app/_app/immutable/assets/store.CGDwHkkF.css +0 -1
  712. package/app/_app/immutable/assets/ui.B1A1Zl2p.css +0 -1
  713. package/app/_app/immutable/assets/workspace.BIMkuZDb.css +0 -1
  714. package/app/_app/immutable/chunks/1okeBSoq.js +0 -1
  715. package/app/_app/immutable/chunks/B32EWqI8.js +0 -9
  716. package/app/_app/immutable/chunks/B4Kevpe0.js +0 -1
  717. package/app/_app/immutable/chunks/BKwRT_1p.js +0 -1
  718. package/app/_app/immutable/chunks/BS4h9ES-.js +0 -1
  719. package/app/_app/immutable/chunks/BYde9M_U.js +0 -1
  720. package/app/_app/immutable/chunks/CMhpRMKg.js +0 -1
  721. package/app/_app/immutable/chunks/CPRHZZeW.js +0 -1
  722. package/app/_app/immutable/chunks/CRQ1Pmzr.js +0 -1
  723. package/app/_app/immutable/chunks/CV-2zt0K.js +0 -2
  724. package/app/_app/immutable/chunks/CWtfVMDz.js +0 -1
  725. package/app/_app/immutable/chunks/Chyo8rdT.js +0 -3
  726. package/app/_app/immutable/chunks/CmmuWmp6.js +0 -2
  727. package/app/_app/immutable/chunks/CrFNLK0f.js +0 -1
  728. package/app/_app/immutable/chunks/CygC84VT.js +0 -2
  729. package/app/_app/immutable/chunks/D0VgZnk1.js +0 -1
  730. package/app/_app/immutable/chunks/DD7gpKb2.js +0 -1
  731. package/app/_app/immutable/chunks/DJtH-lRi.js +0 -3
  732. package/app/_app/immutable/chunks/DNRgqfTx.js +0 -1
  733. package/app/_app/immutable/chunks/DVRKjN-E.js +0 -1
  734. package/app/_app/immutable/chunks/D_J_XtJy.js +0 -846
  735. package/app/_app/immutable/chunks/Dp9GVO-9.js +0 -1
  736. package/app/_app/immutable/chunks/DqcD-WtP.js +0 -1
  737. package/app/_app/immutable/chunks/OJ_lLTHH.js +0 -1
  738. package/app/_app/immutable/chunks/QukgIHDX.js +0 -1
  739. package/app/_app/immutable/chunks/WxSPP8QW.js +0 -4
  740. package/app/_app/immutable/chunks/leQCwW2d.js +0 -1
  741. package/app/_app/immutable/chunks/p6bgzXiY.js +0 -1
  742. package/app/_app/immutable/chunks/ufuM4XBq.js +0 -33
  743. package/app/_app/immutable/entry/app.D5JJain6.js +0 -2
  744. package/app/_app/immutable/entry/start.CH9DJLgI.js +0 -1
  745. package/app/_app/immutable/nodes/0.CL1MxOva.js +0 -10
  746. package/app/_app/immutable/nodes/1.BO731RRg.js +0 -1
  747. package/app/_app/immutable/nodes/10.1nQxyH9H.js +0 -4
  748. package/app/_app/immutable/nodes/11.Cw0JnQF3.js +0 -1
  749. package/app/_app/immutable/nodes/12.BmZyLHbM.js +0 -1
  750. package/app/_app/immutable/nodes/2.BEw046av.js +0 -17
  751. package/app/_app/immutable/nodes/3.DvwpTAQA.js +0 -1
  752. package/app/_app/immutable/nodes/4.qrT4bnmS.js +0 -1
  753. package/app/_app/immutable/nodes/5.DDLa2uhV.js +0 -1
  754. package/app/_app/immutable/nodes/6.DN0QTY6z.js +0 -1
  755. package/app/_app/immutable/nodes/7.C_8N82Wq.js +0 -1
  756. package/app/_app/immutable/nodes/8.D2Mszsua.js +0 -3
  757. package/app/_app/immutable/nodes/9.CLYsywul.js +0 -1
  758. package/app/m/content/Contents/index.html +0 -96
  759. package/app/m/preferences/UiPreferenceRecord/index.html +0 -96
  760. package/app/m/users/AccessRequest/index.html +0 -96
  761. package/app/m/users/ResourceGrant/index.html +0 -96
  762. package/app/m/users/UsersCliAuthRequest/index.html +0 -96
  763. package/app/m/users/UsersMagicLinkToken/index.html +0 -96
@@ -0,0 +1 @@
1
+ import{$ as e,bt as t,c as n,et as r,nt as i,r as a,t as o,tt as s,vt as c}from"./vNEnXNLV.js";import{i as l,n as u,r as d,t as f}from"./Dt-HX3Vu.js";new URL(`sveltekit-internal://`);function p(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function ee(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function te(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(e,t,n,r=!1){let i=new URL(e);Object.defineProperty(i,"searchParams",{value:new Proxy(i.searchParams,{get(e,r){if(r===`get`||r===`getAll`||r===`has`)return(t,...i)=>(n(t),e[r](t,...i));t();let i=Reflect.get(e,r);return typeof i==`function`?i.bind(e):i}}),enumerable:!0,configurable:!0});let a=[`href`,`pathname`,`search`,`toString`,`toJSON`];r&&a.push(`hash`);for(let n of a)Object.defineProperty(i,n,{get(){return t(),e[n]},enumerable:!0,configurable:!0});return i}function g(){}function ne(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}var re=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&_.delete(v(e)),re(e,t));var _=new Map;function ie(e,t){let n=v(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent);r.getAttribute(`data-b64`)!==null&&(e=f(e));let i=r.getAttribute(`data-ttl`);return i&&_.set(n,{body:e,init:t,ttl:1e3*Number(i)}),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function ae(e,t,n){if(_.size>0){let t=v(e,n),r=_.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);_.delete(t)}}return window.fetch(t,n)}function v(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${ne(...e)}"]`}return n}var y=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,oe=/^\/\((?:[^)]+)\)$/;function se(e){let t=[];return{pattern:e===`/`||oe.test(e)?/^\/$/:RegExp(`^${le(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return de(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return de(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=y.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return de(e)}).join(``)}).join(``)}/?$`),params:t}}function ce(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function le(e){return e.slice(1).split(`/`).filter(ce)}function ue(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0){if(s.rest)c=``;else continue}if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function de(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function fe({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=se(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return ue(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function pe(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function me(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var b=globalThis.__sveltekit_1uquhsn?.base??``,he=globalThis.__sveltekit_1uquhsn?.assets??b??``,ge=`1792109817229`,_e=`sveltekit:snapshot`,ve=`sveltekit:scroll`,ye=`sveltekit:states`,be=`sveltekit:pageurl`,x=`sveltekit:history`,S=`sveltekit:navigation`,C={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},w=location.origin;function T(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function E(){return{x:pageXOffset,y:pageYOffset}}function D(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var xe={...C,"":C.hover};function Se(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Ce(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=Se(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||Oe(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===w&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function O(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=D(s,`preload-code`)),i===null&&(i=D(s,`preload-data`)),t===null&&(t=D(s,`keepfocus`)),n===null&&(n=D(s,`noscroll`)),a===null&&(a=D(s,`reload`)),o===null&&(o=D(s,`replacestate`)),s=Se(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:xe[r??`off`],preload_data:xe[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function Te(e){let t=n(e),r=!0;function i(){r=!0,t.update(e=>e)}function a(e){r=!1,t.set(e)}function o(e){let n;return t.subscribe(t=>{(n===void 0||r&&t!==n)&&e(n=t)})}return{notify:i,set:a,subscribe:o}}var Ee={v:g};function De(){let{set:e,subscribe:t}=n(!1),r;async function i(){clearTimeout(r);try{let t=await fetch(`${he}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==ge;return n&&(e(!0),Ee.v(),clearTimeout(r)),n}catch{return!1}}return{subscribe:t,check:i}}function Oe(e,t,n){return e.origin!==w||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function ke(e){}Uint8Array.fromBase64,typeof process==`object`&&process.versions?.node,Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,`byteLength`).get,typeof SharedArrayBuffer>`u`||Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,`byteLength`).get;var Ae=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);[...Ae],[...new Set([...Ae])];function je(e){return e.filter(e=>e!=null)}function Me(e,t){return e+`/`+t}function Ne(e){return e instanceof u||e instanceof l?e.status:500}function Pe(e){return e instanceof l?e.text:`Internal Error`}var k,A,Fe,Ie=a.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(a.toString()),Le=`a:`;Ie?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Le)},A={current:null},Fe={current:!1}):(k=new class{#e=t({});get data(){return e(this.#e)}set data(e){c(this.#e,e)}#t=t(null);get form(){return e(this.#t)}set form(e){c(this.#t,e)}#n=t(null);get error(){return e(this.#n)}set error(e){c(this.#n,e)}#r=t({});get params(){return e(this.#r)}set params(e){c(this.#r,e)}#i=t({id:null});get route(){return e(this.#i)}set route(e){c(this.#i,e)}#a=t({});get state(){return e(this.#a)}set state(e){c(this.#a,e)}#o=t(-1);get status(){return e(this.#o)}set status(e){c(this.#o,e)}#s=t(new URL(Le));get url(){return e(this.#s)}set url(e){c(this.#s,e)}},A=new class{#e=t(null);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Fe=new class{#e=t(!1);get current(){return e(this.#e)}set current(e){c(this.#e,e)}},Ee.v=()=>Fe.current=!0);function Re(e){Object.assign(k,e)}var ze={spanContext(){return Be},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Be={traceId:``,spanId:``,traceFlags:0},{onMount:Ve,tick:He}=o,Ue=i??(e=>e()),We=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),j=null,M=pe(`sveltekit:scroll`)??{},N=pe(`sveltekit:snapshot`)??{},P={url:Te({}),page:Te({}),navigating:n(null),updated:De()};function Ge(e){M[e]=E()}function Ke(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(g)}async function qe(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(b||`/`);e&&await e.update()}}var Je,Ye,I,L,Xe,R,Ze={},Qe={},z=[],B=[],V=null;function H(){V?.fork?.then(e=>e?.discard()),V=null,Q={element:void 0,href:void 0}}var U=new Map,$e=new Set,et=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},tt=!1,nt=!1,rt=!0,K=!1,q=!1,it=!1,at=!1,ot,J,Y,X,st=new Set,ct=new Map,lt=new Map;async function ut(e,t,n){if(globalThis.__sveltekit_1uquhsn.data){let{q:e={},p:t={},l:n={},f:r={}}=globalThis.__sveltekit_1uquhsn.data;for(let t in e)Ze[t]=e[t];for(let e in n)Ze[e]=n[e];for(let e in r)Ze[e]=r[e];for(let e in t)Qe[e]=t[e]}document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),Je=fe(e),L=document.documentElement,Xe=t,Ye=e.nodes[0],I=e.nodes[1],Ye(),I(),J=history.state?.[x],Y=history.state?.[S],J||(J=Y=Date.now(),history.replaceState({...history.state,[x]:J,[S]:Y},``));let r=M[J];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Ut(Xe,n)):(await Z({type:`enter`,url:T(R.hash?Yt(new URL(location.href)):location.href),replace_state:!0}),i()),Ht()}function dt(){z.length=0,at=!1}function ft(e){B.some(e=>e?.snapshot)&&(N[e]=B.map(e=>e?.snapshot?.capture()))}function pt(e){N[e]?.forEach((e,t)=>{B[t]?.snapshot?.restore(e)})}function mt(){Ge(J),me(ve,M),ft(Y),me(_e,N)}async function ht(e,t,n,r){let i,a;t.invalidateAll&&H(),await Z({type:`goto`,url:T(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{if(t.invalidateAll){at=!0,i=new Set;for(let[e,t]of ct)for(let[n,r]of t)r.resource?.reset(),i.add(Me(e,n));a=new Set;for(let[e,t]of lt)for(let n of t.keys())a.add(Me(e,n))}t.invalidate&&t.invalidate.forEach(Bt)}}),t.invalidateAll&&s().then(s).then(()=>{for(let[e,t]of ct)for(let[n,{resource:r}]of t)i?.has(Me(e,n))&&r.start();for(let[e,t]of lt)for(let[n,{resource:r}]of t)a?.has(Me(e,n))&&r.reconnect()})}async function gt(e){if(e.id!==V?.id){H();let t={};st.add(t),V={id:e.id,token:t,promise:Et({...e,preload:t}).then(e=>(st.delete(t),e.type===`loaded`&&e.state.error&&H(),e)),fork:null}}return V.promise}async function _t(e){let t=(await At(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function vt(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};if(G={...e.state,nav:r},Re(e.props.page),ot=new R.root({target:t,props:{...e.props,stores:P,components:B},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),n){let e={from:null,to:{...r,scroll:M[J]??E()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}pt(Y),nt=!0}async function yt({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(b&&(e.pathname===b||e.pathname===b+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=p(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:je(n).map(e=>e.node.component),page:Jt(k)}};s!==void 0&&(l.props.form=s);let u={},d=!k,f=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${f}`]=u),f+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==k.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:k.data}),l}async function bt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o=null,s=!0,c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();if(l.universal?.load){function e(...e){for(let t of e){let{href:e}=new URL(t,n);c.dependencies.add(e)}}let u={tracing:{enabled:!1,root:ze,current:ze},route:new Proxy(i,{get:(e,t)=>(s&&(c.route=!0),e[t])}),params:new Proxy(r,{get:(e,t)=>(s&&c.params.add(t),e[t])}),data:a?.data??null,url:h(n,()=>{s&&(c.url=!0)},e=>{s&&c.search_params.add(e)},R.hash),async fetch(t,r){t instanceof Request&&(r={body:t.method===`GET`||t.method===`HEAD`?void 0:await t.blob(),cache:t.cache,credentials:t.credentials,headers:[...t.headers].length>0?t?.headers:void 0,integrity:t.integrity,keepalive:t.keepalive,method:t.method,mode:t.mode,redirect:t.redirect,referrer:t.referrer,referrerPolicy:t.referrerPolicy,signal:t.signal,...r});let{resolved:i,promise:a}=xt(t,r,n);return s&&e(i.href),a},setHeaders:g,depends:e,parent(){return s&&(c.parent=!0),t()},untrack(e){s=!1;try{return e()}finally{s=!0}}};o=await l.universal.load.call(null,u)??null}return{node:l,loader:e,server:a,universal:l.universal?.load?{type:`data`,data:o,uses:c}:null,data:o??a?.data??null,slash:l.universal?.trailingSlash??a?.slash}}function xt(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:nt?ae(r,i.href,t):ie(r,t)}}function St(e,t,n,r,i,a){if(at)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(z.some(t=>t(new URL(e))))return!0;return!1}function Ct(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function wt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function Tt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Jt(k),constructors:[]}}}async function Et({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return st.delete(V.token),V.promise;let{errors:o,layouts:s,leaf:c}=i,l=[...s,c];o.forEach(e=>e?.().catch(g)),l.forEach(e=>e?.[1]().catch(g));let f=G.url?e!==Mt(G.url):!1,p=G.route?i.id!==G.route.id:!1,ee=wt(G.url,n),te=!1,m=l.map(async(e,t)=>{if(!e)return;let a=G.branch[t];return e[1]===a?.loader&&!St(te,p,f,ee,a.universal?.uses,r)?a:(te=!0,bt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await m[n])?.data);return e},server_data_node:Ct(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of m)e.catch(g);let h=[];for(let e=0;e<l.length;e+=1)if(l[e])try{h.push(await m[e])}catch(t){if(t instanceof d)return{type:`redirect`,location:t.location};if(a&&st.has(a))return Tt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=Ne(t),c;if(t instanceof u)c=t.body;else{if(await P.updated.check())return await qe(),await F(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let l=await Dt(e,h,o);return l?yt({url:n,params:r,branch:h.slice(0,l.idx).concat(l.node),errors:o,status:s,error:c,route:i}):await Pt(n,{id:i.id},c,s)}else h.push(void 0);return yt({url:n,params:r,branch:h,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function Dt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ot({status:e,error:t,url:n,route:r}){let i={};try{return yt({url:n,params:i,branch:[await bt({loader:Ye,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:Ct(null)}),{node:await I(),loader:I,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(t){if(t instanceof d){await ht(new URL(t.location,location.href),{},0);return}let a=await R.get_error_template(),o=await $(t,{url:n,params:i,route:r}),s=a({status:e,message:String(o?.message??``).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}),c=new DOMParser().parseFromString(s,`text/html`);throw document.documentElement.replaceChild(document.adoptNode(c.head),document.head),document.documentElement.replaceChild(document.adoptNode(c.body),document.body),t}}async function kt(e){let t=e.href;if(U.has(t))return U.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>xt(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();U.set(t,r),n=await r}catch{U.delete(t);return}return n}async function At(e,t){if(e&&!Oe(e,b,R.hash)){let n=await kt(e);if(!n)return;let r=jt(n);for(let n of Je){let i=n.exec(r);if(i)return{id:Mt(e),invalidating:t,route:n,params:te(i),url:e}}}}function jt(e){return ee(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(b.length))||`/`}function Mt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function Nt({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=qt(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return K||$e.forEach(e=>e(c)),o?null:s}async function Z({type:e,url:t,popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c={},redirect_count:u=0,nav_token:d={},accept:f=g,block:p=g,event:ee}){let te=X;X=d;let m=await At(t,!1),h=e===`enter`?qt(G,m,t,e):Nt({url:t,type:e,delta:n?.delta,intent:m,scroll:n?.scroll,event:ee});if(!h){p(),X===d&&(X=te);return}let ne=J,re=Y;f(),K=!0,nt&&h.navigation.type!==`enter`&&P.navigating.set(A.current=h.navigation);let _=m&&await Et(m);if(!_){if(Oe(t,b,R.hash))return await F(t,o);_=await Pt(t,{id:null},await $(new l(404,`Not Found`,`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=m?.url||t,X!==d){h.reject(Error(`navigation aborted`));return}if(!_)return;if(_.type===`redirect`){if(u<20){await Z({type:e,url:new URL(_.location,t),popped:n,keepfocus:i,noscroll:a,replace_state:o,state:c,redirect_count:u+1,nav_token:d}),h.fulfil(void 0);return}if(_=await Ot({status:500,error:await $(Error(`Redirect loop`),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await P.updated.check())return await qe(),await F(t,o);if(dt(),Ge(ne),ft(re),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),c=n?n.state:c,!n){let e=+!o,n={[x]:J+=e,[S]:Y+=e,[ye]:c};(o?history.replaceState:history.pushState).call(history,n,``,t),o||Ke(J,Y)}let ie=m&&V?.id===m.id?V.fork:null;V?.fork&&!ie?H():(V=null,Q={element:void 0,href:void 0}),_.props.page.state=c;let ae;if(nt){let e=(await Promise.all(Array.from(et,e=>e(h.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let n=h.navigation.to;G={..._.state,nav:{params:n.params,route:n.route,url:n.url}},_.props.page&&(_.props.page.url=t),!i&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();let a=ie&&await ie;a?ae=a.commit():(j=null,ot.$set(_.props),j&&Object.assign(_.props.page,j),Re(_.props.page),ae=r?.()),it=!0}else await vt(_,Xe,!1);let{activeElement:v}=document;if(await ae,await s(),await s(),X!==d){h.reject(Error(`navigation aborted`));return}_.props.page&&j&&Object.assign(_.props.page,j);let y=null;if(rt){let e=n?n.scroll:a?E():null;e?scrollTo(e.x,e.y):(y=t.hash&&document.getElementById(Xt(t)))?y.scrollIntoView():scrollTo(0,0)}let oe=document.activeElement!==v&&document.activeElement!==document.body;!i&&!oe&&Kt(t,!y),rt=!0,K=!1,h.fulfil(void 0),h.navigation.to&&(h.navigation.to.scroll=E()),W.forEach(e=>e(h.navigation)),e===`popstate`&&pt(Y),P.navigating.set(A.current=null)}async function Pt(e,t,n,r,i){return e.origin===w&&e.pathname===location.pathname&&!tt?await Ot({status:r,error:n,url:e,route:t}):await F(e,i)}var Q={element:void 0,href:void 0};function Ft(){let e,t;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{i(n,C.hover)},20)});function n(e){e.defaultPrevented||i(e.composedPath()[0],C.tap)}L.addEventListener(`mousedown`,n),L.addEventListener(`touchstart`,n,{passive:!0});let r=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(_t(new URL(t.target.href)),r.unobserve(t.target))},{threshold:0});async function i(e,n){let r=Ce(e,L),i=r===Q.element&&r?.href===Q.href&&n>=t;if(!r||i)return;let{url:a,external:o,download:s}=we(r,b,R.hash);if(o||s)return;let c=O(r),l=a&&Mt(G.url)===Mt(a);if(!(c.reload||l)){if(n<=c.preload_data){Q={element:r,href:r.href},t=C.tap;let e=await At(a,!1);if(!e)return;gt(e)}else n<=c.preload_code&&(Q={element:r,href:r.href},t=n,_t(a))}}function a(){r.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:i}=we(e,b,R.hash);if(n||i)continue;let a=O(e);a.reload||(a.preload_code===C.viewport&&r.observe(e),a.preload_code===C.eager&&_t(t))}}W.add(a),a()}function $(e,t){if(e instanceof u)return e.body;let n=Ne(e),r=Pe(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function It(e,t){Ve(()=>(e.add(t),()=>{e.delete(t)}))}function Lt(e){It(W,e)}function Rt(e){It(et,e)}function zt(e,t={}){return e=new URL(T(e)),e.origin===w?ht(e,t,0):Promise.reject(Error(`goto: invalid URL`))}function Bt(e){if(typeof e==`function`)z.push(e);else{let{href:t}=new URL(e,location.href);z.push(e=>e.href===t)}}function Vt(e,t){let n={[x]:J,[S]:Y,[be]:k.url.href,[ye]:t};history.replaceState(n,``,T(e)),k.state=t,ot.$set({page:Ue(()=>Jt(k))})}function Ht(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(mt(),!K){let e=qt(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};$e.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&mt()}),navigator.connection?.saveData||Ft(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=Ce(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=we(n,b,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=O(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&r.protocol!==`https:`&&r.protocol!==`http:`||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){Nt({url:r,type:`link`,event:t})?K=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(q=!0,Ge(J),e(r),!s.replace_state)return;q=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Z({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(Oe(r,b,!1))return;let i=e.target,a=O(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Z({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!Gt){if(t.state?.[`sveltekit:history`]){let n=t.state[x];if(X={},n===J)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[S],s=G.url?m(location)===m(G.url):!1;if(o===Y&&(it||s)){i!==k.state&&(k.state=i),e(a),M[J]=E(),r&&scrollTo(r.x,r.y),J=n;return}let c=n-J;await Z({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{J=n,Y=o},block:()=>{history.go(-c)},nav_token:X,event:t})}else q||(e(new URL(location.href)),R.hash&&location.reload())}}),addEventListener(`hashchange`,()=>{q&&(q=!1,history.replaceState({...history.state,[x]:++J,[S]:Y},``,location.href))});for(let e of document.querySelectorAll(`link`))We.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(A.current=null)});function e(e){G.url=k.url=e,P.page.set(Jt(k)),P.page.notify()}}async function Ut(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){tt=!0;let l=new URL(location.href),u;({params:i={},route:a={id:null}}=await At(l,!1)||{}),u=Je.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Wt(r.uses)),bt({loader:R.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:Ct(r)})}),o=await Promise.all(e);if(u){let e=u.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await yt({url:l,params:i,branch:o,status:t,error:n,errors:u?.errors,form:c,route:u??null})}catch(t){if(t instanceof d)return await F(new URL(t.location,location.href));f=await Ot({status:Ne(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f&&(f.props.page&&(f.props.page.state={}),await vt(f,e,p))}function Wt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var Gt=!1;function Kt(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Xt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=E();setTimeout(()=>{let a=history.state;Gt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),Gt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function qt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(g),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:E()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Jt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Yt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Xt(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{ut as a,ke as c,Vt as i,b as l,zt as n,A as o,Rt as r,k as s,Lt as t};
@@ -0,0 +1 @@
1
+ import{x as e}from"./CfOMUCNN.js";var t={cookbooks:[{id:`bakery`,name:`Bakery`,icon:`bread`,summary:`Retail and cafe wholesale orders, ingredient stock, batches and suppliers.`,keywords:[`bake`,`baker`,`bakery`,`baking`,`bread`,`pastry`,`cake`,`cookies`,`cafe wholesale`,`coffee shop`,`patisserie`,`sourdough`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:0},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#b45309`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:kitchen`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:kitchen":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:kitchen`,"item:inventory:StockLevel":`custom:kitchen`,"item:commerce:ProductionOrder":`custom:kitchen`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`,"item:products:Product:ingredients":`custom:kitchen`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:kitchen`,label:`Kitchen`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Orders`,description:`Orders from your shop and website customers.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes and shops.`},"item:inventory:StockLevel":{label:`Stock`,description:`Baked goods and supplies on hand today.`},"item:commerce:ProductionOrder":{label:`Batches`,description:`What you plan to bake, with the amounts and the day.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The mills, dairies and suppliers you buy from.`},"item:products:Product:ingredients":{label:`Ingredients`,description:`Flour, butter, sugar and the rest, with costs and units.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:kitchen":{icon:`package`},"custom:buying":{icon:`truck`}}}},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:kitchen":`Products, ingredients, stock and what you are making.`,"custom:buying":`Suppliers and what you order from them.`}},{id:`mechanic`,name:`Mechanic`,icon:`car`,summary:`Quotes, work orders, parts, appointments and billing for a repair shop.`,keywords:[`mechanic`,`garage`,`auto repair`,`car repair`,`fix cars`,`car`,`vehicle`,`brakes`,`oil change`,`tyres`,`tires`,`servicing`,`repair shop`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.0825,taxRounding:`document`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`smrt`},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.0825`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:parts`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`],"custom:parts":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:products:Product":`custom:parts`,"item:inventory:StockLevel":`custom:parts`,"item:commerce:Vendor":`custom:parts`,"item:commerce:PurchaseOrder":`custom:parts`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:parts`,label:`Parts`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for repairs, ready to become work orders once approved.`},"item:commerce:Order":{label:`Work orders`,description:`Every job in the shop, from drop-off to pick-up.`},"item:products:Product":{label:`Parts`,description:`The parts you sell and fit, with prices.`},"item:inventory:StockLevel":{label:`Parts on hand`,description:`Parts on the shelf, so you know what to reorder.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The parts suppliers you buy from, with terms and contacts.`},"item:commerce:PurchaseOrder":{label:`Parts orders`,description:`Parts you have ordered and when they arrive.`},"item:events:Event":{label:`Appointments`,description:`Bookings on the shop calendar, by day and bay.`},"item:events:EventType":{label:`Appointment types`,description:`The kinds of service you book, like an oil change or inspection.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:parts":{icon:`package`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:parts":`Parts, materials and the stock on your shelves.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`welder`,name:`Welder`,icon:`flame`,summary:`Quotes, jobs, agreements, material and site visits for a welding business.`,keywords:[`weld`,`welder`,`welding`,`fabrication`,`fabricate`,`metal`,`steel`,`gates`,`railings`,`metalwork`,`boilermaker`],settings:{currency:`USD`,paymentTerms:`50% deposit, balance on completion`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{preset:`studio`},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"50% deposit, balance on completion"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:material`,`custom:billing`,`custom:schedule`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:material":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`],"custom:schedule":[`item:events:Event`,`item:events:EventType`]},hidden:[`item:commerce:Contract`,`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Customer":`custom:jobs`,"item:commerce:Estimate":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:products:Product":`custom:material`,"item:inventory:StockLevel":`custom:material`,"item:commerce:Vendor":`custom:material`,"item:commerce:PurchaseOrder":`custom:material`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Order":`custom:jobs`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:material`,label:`Material`},{id:`custom:billing`,label:`Billing`},{id:`custom:schedule`,label:`Schedule`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for jobs, ready to turn into orders when accepted.`},"item:products:Product":{label:`Materials`,description:`Steel, rod, gas and other materials you stock and charge for.`},"item:inventory:StockLevel":{label:`Material on hand`,description:`Material on hand, so you know what to buy before the next job.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The suppliers you buy metal and gas from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`},"item:events:Event":{label:`Site visits`,description:`Visits to measure, quote or install on site, by day.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a quote visit or install.`},"item:commerce:Order":{label:`Jobs`,description:`Every job you have won, from start to final invoice.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:material":{icon:`layers`},"custom:billing":{icon:`receipt`},"custom:schedule":{icon:`calendar`}}}},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:material":`Material, stock and what you have ordered.`,"custom:billing":`Invoices and the payments against them.`,"custom:schedule":`Appointments and what is on the calendar.`}},{id:`yoga-studio`,name:`Yoga studio`,icon:`yoga`,summary:`Classes, class series, members, memberships and a small retail shop.`,keywords:[`yoga`,`yoga studio`,`pilates`,`studio`,`classes`,`class series`,`meditation`,`members`,`memberships`,`instructor`],settings:{currency:`USD`,paymentTerms:`Due on receipt`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#0f766e`,fontFamily:`ui-rounded`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`}],layout:{version:1,sectionOrder:[`custom:classes`,`custom:members`,`custom:shop`,`custom:billing`,`section:accounting`],itemOrder:{"custom:classes":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:shop":[`item:products:Product`,`item:inventory:StockLevel`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:classes`,"item:events:EventSeries":`custom:classes`,"item:events:EventType":`custom:classes`,"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:products:Product":`custom:shop`,"item:inventory:StockLevel":`custom:shop`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:classes`,label:`Classes`},{id:`custom:members`,label:`Members`},{id:`custom:shop`,label:`Shop`},{id:`custom:billing`,label:`Billing`}],items:{"item:events:Event":{label:`Classes`,description:`Every class on your timetable, with who's teaching and where.`},"item:events:EventSeries":{label:`Class series`,description:`Weekly classes that repeat, so you set them up once.`},"item:events:EventType":{label:`Class types`,description:`Your styles, like Vinyasa or Yin, with length and price.`},"item:commerce:Customer":{label:`Members`,description:`Your students, with how to reach them and what they have booked.`},"item:commerce:Agreement":{label:`Memberships`,description:`Memberships and class packs, with who holds them and when they renew.`},"item:inventory:StockLevel":{label:`Stock`,description:`Mats, props and retail items on hand.`}},sections:{"custom:classes":{icon:`school`},"custom:members":{icon:`users`},"custom:shop":{icon:`shoppingBag`},"custom:billing":{icon:`receipt`}}}},sectionDescriptions:{"custom:classes":`Classes, sessions and bookings.`,"custom:members":`Members and their memberships.`,"custom:shop":`Sell to customers and keep their details.`,"custom:billing":`Invoices and the payments against them.`}},{id:`landscaping`,name:`Landscaping`,icon:`leaf`,summary:`Quotes, jobs, maintenance contracts, materials and the crew schedule for a lawn and landscape business.`,keywords:[`landscaping`,`landscaper`,`lawn care`,`lawn`,`mowing`,`garden`,`gardener`,`yard work`,`hardscape`,`irrigation`,`tree service`,`snow removal`,`grounds`],settings:{currency:`USD`,paymentTerms:`Net 15`,taxRate:.06},sectionDescriptions:{"custom:jobs":`Work orders and the customers they belong to.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:yard":`Materials, stock and the suppliers you buy from.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#15803d`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.06`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 15"`}],layout:{version:1,sectionOrder:[`custom:jobs`,`custom:schedule`,`custom:yard`,`custom:billing`,`section:accounting`],itemOrder:{"custom:jobs":[`item:commerce:Estimate`,`item:commerce:Order`,`item:commerce:Customer`,`item:commerce:Agreement`],"custom:schedule":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:yard":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Estimate":`custom:jobs`,"item:commerce:Order":`custom:jobs`,"item:commerce:Customer":`custom:jobs`,"item:commerce:Agreement":`custom:jobs`,"item:events:Event":`custom:schedule`,"item:events:EventSeries":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:products:Product":`custom:yard`,"item:inventory:StockLevel":`custom:yard`,"item:commerce:Vendor":`custom:yard`,"item:commerce:PurchaseOrder":`custom:yard`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:jobs`,label:`Jobs`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:yard`,label:`Yard`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for new work, ready to become jobs once approved.`},"item:commerce:Order":{label:`Jobs`,description:`Every job you have won, from the first visit to the final invoice.`},"item:commerce:Agreement":{label:`Maintenance contracts`,description:`Weekly mowing and seasonal programs, with who holds them and when they renew.`},"item:events:Event":{label:`Crew schedule`,description:`Visits on the calendar, by day and crew.`},"item:events:EventSeries":{label:`Recurring visits`,description:`Routes that repeat, like a Tuesday mowing round, set up once.`},"item:events:EventType":{label:`Visit types`,description:`The kinds of visit you make, like a mow, a clean-up or an install.`},"item:products:Product":{label:`Materials`,description:`Mulch, soil, sod, plants and the other things you sell and install.`},"item:inventory:StockLevel":{label:`Materials on hand`,description:`What is in the yard and on the trucks.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The nurseries and stone yards you buy from.`},"item:commerce:PurchaseOrder":{label:`Material orders`,description:`Material you have ordered and when it lands.`}},sections:{"custom:jobs":{icon:`wrench`},"custom:schedule":{icon:`calendar`},"custom:yard":{icon:`package`},"custom:billing":{icon:`receipt`}}}}},{id:`salon`,name:`Hair salon`,icon:`scissors`,summary:`Appointments, clients, services, retail stock and payments at the desk for a salon or barbershop.`,keywords:[`salon`,`hair salon`,`barber`,`barbershop`,`hairdresser`,`stylist`,`haircut`,`hair colour`,`hair color`,`highlights`,`blow-dry`,`nails`,`beauty`,`spa`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:.07,pricesIncludeTax:!0},sectionDescriptions:{"custom:appointments":`Bookings and the services behind them.`,"custom:clients":`Clients and what they usually have.`,"custom:checkout":`Sales at the desk and the payments against them.`,"custom:shelf":`Retail, backbar stock and who you buy from.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#9d174d`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`lineAmountType`,scopeType:`app`,defaultValue:`"inclusive"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.07`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:appointments`,`custom:clients`,`custom:checkout`,`custom:shelf`,`section:accounting`],itemOrder:{"custom:appointments":[`item:events:Event`,`item:events:EventType`,`item:events:EventSeries`],"custom:clients":[`item:commerce:Customer`],"custom:checkout":[`item:commerce:Order`,`item:commerce:Payment`,`item:commerce:Invoice`],"custom:shelf":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:events:Event":`custom:appointments`,"item:events:EventType":`custom:appointments`,"item:events:EventSeries":`custom:appointments`,"item:commerce:Customer":`custom:clients`,"item:commerce:Order":`custom:checkout`,"item:commerce:Payment":`custom:checkout`,"item:commerce:Invoice":`custom:checkout`,"item:products:Product":`custom:shelf`,"item:inventory:StockLevel":`custom:shelf`,"item:commerce:Vendor":`custom:shelf`,"item:commerce:PurchaseOrder":`custom:shelf`},customSections:[{id:`custom:appointments`,label:`Appointments`},{id:`custom:clients`,label:`Clients`},{id:`custom:checkout`,label:`Checkout`},{id:`custom:shelf`,label:`Shelf`}],items:{"item:events:Event":{label:`Appointments`,description:`Every booking in the book, by stylist and chair.`},"item:events:EventType":{label:`Appointment types`,description:`The services you book, like a cut, a colour or a beard trim, with their length.`},"item:events:EventSeries":{label:`Standing appointments`,description:`Regulars who come back every few weeks, set up once.`},"item:commerce:Customer":{label:`Clients`,description:`Your clients, with how to reach them and what they usually have.`},"item:commerce:Order":{label:`Sales`,description:`Each visit’s ticket: the services done and anything bought at the desk.`},"item:commerce:Payment":{label:`Payments`,description:`Money taken at the desk, by card or cash.`},"item:commerce:Invoice":{label:`Invoices`,description:`Bills for bridal parties, packages and accounts that pay later.`},"item:products:Product":{label:`Services & products`,description:`Your services and the retail you sell, with prices.`},"item:inventory:StockLevel":{label:`Retail stock`,description:`Product on the shelf and at the backbar.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The distributors you buy colour, product and towels from.`},"item:commerce:PurchaseOrder":{label:`Supply orders`,description:`Product you have ordered and when it arrives.`}},sections:{"custom:appointments":{icon:`calendar`},"custom:clients":{icon:`users`},"custom:checkout":{icon:`creditCard`},"custom:shelf":{icon:`shoppingBag`}}}}},{id:`roaster`,name:`Coffee roaster`,icon:`coffee`,summary:`Cafe accounts, online orders, green coffee, roast batches and importers for a small roastery or brewery.`,keywords:[`coffee roaster`,`roaster`,`roastery`,`coffee`,`beans`,`green coffee`,`espresso`,`cafe accounts`,`brewery`,`microbrewery`,`taproom`,`kegs`,`small batch`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:shop":`Sell to customers and keep their details.`,"custom:wholesale":`Orders, invoices and payments from trade customers.`,"custom:roastery":`Coffees, green coffee, stock and what you are roasting.`,"custom:buying":`Suppliers and what you order from them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#7c2d12`,fontFamily:`Georgia`}},recipes:[`commerce.customers`,`commerce.invoicing`,`commerce.purchases`,`commerce.sales`,`commerce.vendors`,`commerce.wholesale`,`inventory.stock`,`ledgers.bookkeeping`,`products.ingredients`,`products.simple`],features:[`@happyvertical/smrt-commerce:ProductionOrder`],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`channelId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`expiryDate`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:ProductionOrder`,fieldName:`vendorId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:shop`,`custom:wholesale`,`custom:roastery`,`custom:buying`,`section:accounting`],itemOrder:{"custom:shop":[`item:commerce:Order`,`item:commerce:Customer`],"custom:wholesale":[`item:commerce:WholesaleOrder`,`item:commerce:Invoice`,`item:commerce:Payment`],"custom:roastery":[`item:products:Product`,`item:products:Product:ingredients`,`item:inventory:StockLevel`,`item:commerce:ProductionOrder`],"custom:buying":[`item:commerce:Vendor`,`item:commerce:PurchaseOrder`]},hidden:[`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Order":`custom:shop`,"item:commerce:Customer":`custom:shop`,"item:commerce:WholesaleOrder":`custom:wholesale`,"item:commerce:Invoice":`custom:wholesale`,"item:commerce:Payment":`custom:wholesale`,"item:products:Product":`custom:roastery`,"item:products:Product:ingredients":`custom:roastery`,"item:inventory:StockLevel":`custom:roastery`,"item:commerce:ProductionOrder":`custom:roastery`,"item:commerce:Vendor":`custom:buying`,"item:commerce:PurchaseOrder":`custom:buying`},customSections:[{id:`custom:shop`,label:`Shop`},{id:`custom:wholesale`,label:`Wholesale`},{id:`custom:roastery`,label:`Roastery`},{id:`custom:buying`,label:`Buying`}],items:{"item:commerce:Order":{label:`Online & retail orders`,description:`Orders from the website and the roastery door.`},"item:commerce:WholesaleOrder":{label:`Cafe orders`,description:`Standing and one-off orders from cafes, bars and grocers.`},"item:products:Product":{label:`Coffees`,description:`Roasted coffees and shop items, with prices.`},"item:products:Product:ingredients":{label:`Green coffee`,description:`Green coffee and packaging, by the bag, with costs.`},"item:inventory:StockLevel":{label:`Stock`,description:`Roasted and green coffee on hand today.`},"item:commerce:ProductionOrder":{label:`Roast batches`,description:`What you plan to roast, with the amounts and the day.`},"item:commerce:Vendor":{label:`Importers & suppliers`,description:`The importers and packaging suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Green coffee orders`,description:`Green coffee you have bought and when the container lands.`}},sections:{"custom:shop":{icon:`shoppingBag`},"custom:wholesale":{icon:`briefcase`},"custom:roastery":{icon:`package`},"custom:buying":{icon:`truck`}}}}},{id:`equipment-rental`,name:`Equipment rental`,icon:`forklift`,summary:`Rentals, quotes, the fleet and its availability, pickups and returns, and billing for a hire yard.`,keywords:[`equipment rental`,`rental`,`rentals`,`hire`,`tool hire`,`plant hire`,`party rental`,`excavator`,`scaffolding`,`generators`,`bike rental`,`kayak rental`,`fleet`],settings:{currency:`USD`,paymentTerms:`Deposit on pickup, balance on return`,taxRate:.08,taxRounding:`document`},sectionDescriptions:{"custom:rentals":`Rentals, quotes and the customers they belong to.`,"custom:fleet":`Equipment, availability and who you buy from.`,"custom:schedule":`Appointments and what is on the calendar.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#a16207`}},recipes:[`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.leases`,`commerce.purchases`,`commerce.vendors`,`events.calendar`,`inventory.stock`,`ledgers.bookkeeping`,`products.simple`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Contract`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:ContractLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`taxRoundingScope`,scopeType:`app`,defaultValue:`"document"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:InvoiceLineItem`,fieldName:`taxRate`,scopeType:`app`,defaultValue:`0.08`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Deposit on pickup, balance on return"`}],layout:{version:1,sectionOrder:[`custom:rentals`,`custom:fleet`,`custom:schedule`,`custom:billing`,`section:accounting`],itemOrder:{"custom:rentals":[`item:commerce:Lease`,`item:commerce:Estimate`,`item:commerce:Customer`],"custom:fleet":[`item:products:Product`,`item:inventory:StockLevel`,`item:commerce:Vendor`,`item:commerce:PurchaseOrder`],"custom:schedule":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:events:EventSeries`,`item:inventory:InventoryLocation`,`item:inventory:StockMovement`],moved:{"item:commerce:Lease":`custom:rentals`,"item:commerce:Estimate":`custom:rentals`,"item:commerce:Customer":`custom:rentals`,"item:products:Product":`custom:fleet`,"item:inventory:StockLevel":`custom:fleet`,"item:commerce:Vendor":`custom:fleet`,"item:commerce:PurchaseOrder":`custom:fleet`,"item:events:Event":`custom:schedule`,"item:events:EventType":`custom:schedule`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`},customSections:[{id:`custom:rentals`,label:`Rentals`},{id:`custom:fleet`,label:`Fleet`},{id:`custom:schedule`,label:`Schedule`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Lease":{label:`Rentals`,description:`Every rental out the gate, with the dates and what is due.`},"item:commerce:Estimate":{label:`Quotes`,description:`Quotes for a hire, ready to become a rental when accepted.`},"item:products:Product":{label:`Equipment`,description:`The machines and tools you hire out, with the daily rate.`},"item:inventory:StockLevel":{label:`Availability`,description:`What is in the yard, out on hire or in for service.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The dealers and parts suppliers you buy from.`},"item:commerce:PurchaseOrder":{label:`Equipment & parts orders`,description:`Machines and parts you have ordered and when they arrive.`},"item:events:Event":{label:`Pickups & returns`,description:`Pickups, returns and deliveries on the calendar, by day.`},"item:events:EventType":{label:`Booking types`,description:`The kinds of booking you make, like a pickup, a return or a delivery.`}},sections:{"custom:rentals":{icon:`fileText`},"custom:fleet":{icon:`truck`},"custom:schedule":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}},{id:`nonprofit`,name:`Non-profit`,icon:`heart`,summary:`Members, memberships, dues and donations, events and the books for a club, society or charity.`,keywords:[`non-profit`,`nonprofit`,`charity`,`club`,`society`,`association`,`members`,`membership dues`,`donations`,`donors`,`fundraiser`,`volunteers`,`community group`],settings:{currency:`USD`,paymentTerms:`Due on receipt`,taxRate:0},sectionDescriptions:{"custom:members":`Members and their memberships.`,"custom:events":`Meetings, fundraisers and volunteer days.`,"custom:giving":`Dues, pledges and the money that comes in.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#1d4ed8`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.invoicing`,`events.calendar`,`ledgers.bookkeeping`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxExempt`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`taxId`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Due on receipt"`}],layout:{version:1,sectionOrder:[`custom:members`,`custom:events`,`custom:giving`,`section:accounting`],itemOrder:{"custom:members":[`item:commerce:Customer`,`item:commerce:Agreement`],"custom:events":[`item:events:Event`,`item:events:EventSeries`,`item:events:EventType`],"custom:giving":[`item:commerce:Invoice`,`item:commerce:Payment`]},hidden:[`item:commerce:Contract`],moved:{"item:commerce:Customer":`custom:members`,"item:commerce:Agreement":`custom:members`,"item:events:Event":`custom:events`,"item:events:EventSeries":`custom:events`,"item:events:EventType":`custom:events`,"item:commerce:Invoice":`custom:giving`,"item:commerce:Payment":`custom:giving`},customSections:[{id:`custom:members`,label:`Members`},{id:`custom:events`,label:`Events`},{id:`custom:giving`,label:`Giving`}],items:{"item:commerce:Customer":{label:`Members`,description:`Your members and donors, with how to reach them.`},"item:commerce:Agreement":{label:`Memberships`,description:`Annual, family and student memberships, with who holds them and when they renew.`},"item:events:Event":{label:`Events`,description:`Meetings, fundraisers and volunteer days, with who is coming.`},"item:events:EventSeries":{label:`Regular meetings`,description:`Meetings that repeat, like the monthly meetup, set up once.`},"item:events:EventType":{label:`Event types`,description:`The kinds of event you run, like a fundraiser or a clean-up.`},"item:commerce:Invoice":{label:`Dues & pledges`,description:`Dues and pledges you have asked for and which are still owed.`},"item:commerce:Payment":{label:`Donations & payments`,description:`Money that has come in, from dues, gifts and tickets.`}},sections:{"custom:members":{icon:`users`},"custom:events":{icon:`calendar`},"custom:giving":{icon:`creditCard`}}}}},{id:`agency`,name:`Agency`,icon:`pencil`,summary:`Clients, proposals, retainers, projects, time, expenses and invoices for a consulting or design studio.`,keywords:[`agency`,`design agency`,`consulting`,`consultant`,`consultancy`,`studio`,`design studio`,`freelance`,`retainer`,`proposals`,`billable hours`,`timesheets`,`creative`],settings:{currency:`USD`,paymentTerms:`Net 30`,taxRate:0},sectionDescriptions:{"custom:accounts":`Clients, proposals and the contracts you hold with them.`,"custom:work":`Projects, tasks, time and costs.`,"custom:meetings":`Meetings with clients and the studio.`,"custom:billing":`Invoices and the payments against them.`},document:{$schema:`https://s-m-r-t.dev/schemas/cookbook/v1.json`,version:1,theme:{custom:{primary:`#4338ca`}},recipes:[`commerce.agreements`,`commerce.customers`,`commerce.estimates`,`commerce.invoicing`,`commerce.vendors`,`events.calendar`,`expenses.tracking`,`ledgers.bookkeeping`,`projects.tracker`,`timesheets.time-entries`],features:[],policies:[{objectRef:`@happyvertical/smrt-commerce:Agreement`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`creditLimit`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`customerType`,scopeType:`app`,visibility:`hidden`},{objectRef:`@happyvertical/smrt-commerce:Customer`,fieldName:`paymentTerms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Estimate`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`currency`,scopeType:`app`,defaultValue:`"USD"`},{objectRef:`@happyvertical/smrt-commerce:Invoice`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Lease`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:Order`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`},{objectRef:`@happyvertical/smrt-commerce:WholesaleOrder`,fieldName:`terms`,scopeType:`app`,defaultValue:`"Net 30"`}],layout:{version:1,sectionOrder:[`custom:accounts`,`custom:work`,`custom:meetings`,`custom:billing`,`section:accounting`],itemOrder:{"custom:accounts":[`item:commerce:Customer`,`item:commerce:Estimate`,`item:commerce:Agreement`],"custom:work":[`item:projects:Project`,`item:projects:Issue`,`item:timesheets:ServiceTimeEntry`,`item:expenses:Expense`],"custom:meetings":[`item:events:Event`,`item:events:EventType`],"custom:billing":[`item:commerce:Invoice`,`item:commerce:Payment`,`item:commerce:Vendor`]},hidden:[`item:commerce:Contract`,`item:projects:Label`,`item:events:EventSeries`],moved:{"item:commerce:Customer":`custom:accounts`,"item:commerce:Estimate":`custom:accounts`,"item:commerce:Agreement":`custom:accounts`,"item:projects:Project":`custom:work`,"item:projects:Issue":`custom:work`,"item:timesheets:ServiceTimeEntry":`custom:work`,"item:expenses:Expense":`custom:work`,"item:events:Event":`custom:meetings`,"item:events:EventType":`custom:meetings`,"item:commerce:Invoice":`custom:billing`,"item:commerce:Payment":`custom:billing`,"item:commerce:Vendor":`custom:billing`},customSections:[{id:`custom:accounts`,label:`Clients`},{id:`custom:work`,label:`Work`},{id:`custom:meetings`,label:`Meetings`},{id:`custom:billing`,label:`Billing`}],items:{"item:commerce:Customer":{label:`Clients`,description:`The companies you work for, with how to reach them.`},"item:commerce:Estimate":{label:`Proposals`,description:`Proposals you have sent, ready to become a contract when accepted.`},"item:commerce:Agreement":{label:`Contracts`,description:`Retainers and statements of work, with the terms and the dates.`},"item:projects:Project":{label:`Projects`,description:`Each engagement, with what it covers and where it stands.`},"item:projects:Issue":{label:`Tasks`,description:`The work inside each project, from to-do to done.`},"item:timesheets:ServiceTimeEntry":{label:`Time entries`,description:`Hours logged by person and project, from draft to approved.`},"item:expenses:Expense":{label:`Expenses`,description:`Costs on a project, with the receipt and whether to bill them on.`},"item:events:Event":{label:`Meetings`,description:`Kickoffs, reviews and check-ins with clients, by day.`},"item:events:EventType":{label:`Meeting types`,description:`The kinds of meeting you hold, like a kickoff or a review.`},"item:commerce:Vendor":{label:`Suppliers`,description:`The printers, photographers and freelancers you buy from.`}},sections:{"custom:accounts":{icon:`users`},"custom:work":{icon:`briefcase`},"custom:meetings":{icon:`calendar`},"custom:billing":{icon:`receipt`}}}}}]}.cookbooks;function n(e){return t.find(t=>t.id===e)}function r(t){return t.document.recipes.map(t=>e.get(t)?.label??t)}export{t as n,r,n as t};
@@ -0,0 +1,10 @@
1
+ import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,Ot as m,Pt as h,R as g,Rt as _,U as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,bt as E,ct as D,dt as O,ft as k,gt as A,ht as j,it as M,k as N,mt as P,n as F,o as I,pt as L,q as R,s as z,st as B,tt as V,ut as H,v as U,vt as W,xt as G,y as K,z as ee}from"./vNEnXNLV.js";import{n as q}from"./D3nyL-ZK.js";import"./xihTtKlq.js";import{i as J,r as Y}from"./Dreozana.js";import{a as X,t as te}from"./D0FW0z6R.js";import{C as ne,G as re,H as ie,J as ae,K as oe,_ as se,a as ce,c as le,d as ue,dt as de,f as fe,ft as pe,g as me,h as he,lt as ge,nt as _e,p as ve,q as ye,t as be,u as xe,v as Se,z as Ce}from"./By-QJdbA.js";import{n as Z}from"./C-AoRalq.js";import{t as we}from"./BVicq_6F.js";import"./TjbilXEg.js";import{u as Te}from"./CNj-_B0j.js";import{l as Ee,n as De,r as Oe,s as ke,u as Ae,v as je,y as Me}from"./CZGhPAoL.js";import"./dbZ3U29n.js";import{t as Ne}from"./BrorvU4B.js";import{a as Pe,f as Fe,m as Ie,n as Le,r as Re,t as ze,u as Be}from"./BCmdRE3j.js";import{C as Ve,D as He,E as Ue,M as We,N as Ge,P as Ke,S as qe,T as Je,j as Ye,k as Xe,n as Ze,v as Qe,w as $e,x as et,y as tt}from"./BdjvgMW6.js";import{H as nt,K as rt,U as it,V as at,W as ot,Y as st,Z as ct,b as lt,g as ut,h as dt,j as ft,t as pt,v as mt,x as ht}from"./CfOMUCNN.js";import{r as gt}from"./Ba1g71Sq.js";import{t as _t}from"./B8iReL-r.js";import{a as vt,d as yt,i as bt,l as xt,o as St,p as Ct,r as wt,s as Tt,u as Et}from"./CsmXMAyE.js";import{a as Dt,d as Ot,f as kt,i as At,l as jt,o as Mt,p as Nt,r as Pt,s as Ft,u as It}from"./auwiz8v4.js";import{n as Lt}from"./CgAkqYsL.js";import{a as Rt,c as zt,d as Bt,f as Vt,h as Ht,i as Ut,l as Wt,m as Gt,n as Kt,o as qt,p as Jt,r as Yt,s as Xt,t as Zt,u as Qt}from"./3ouNUakh.js";import{t as $t}from"./BJfAXhak.js";import{n as en}from"./D71UrO5c.js";function tn(e,t){return{key:t,direction:e?.key===t&&e.direction===`ascending`?`descending`:`ascending`}}var nn=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function rn(e){return e==null||e===``||typeof e==`number`&&!Number.isFinite(e)}function an(e,t){if(typeof e==`number`&&typeof t==`number`)return e-t;if(typeof e==`boolean`&&typeof t==`boolean`)return Number(e)-Number(t);let n=e instanceof Date?e.getTime():e,r=t instanceof Date?t.getTime():t;return typeof n==`number`&&typeof r==`number`?n-r:nn.compare(String(n),String(r))}function on(e,t,n){return t?e.map((e,r)=>({row:e,index:r,value:n(e,t.key)})).sort((e,n)=>{let r=rn(e.value);if(r!==rn(n.value))return r?1:-1;let i=r?0:an(e.value,n.value);return(t.direction===`ascending`?i:-i)||e.index-n.index}).map(({row:e})=>e):[...e]}var sn={name:`@happyvertical/smrt-assets`,displayName:`Assets`,description:`Provider-agnostic asset management with versioning, metadata, folders, and associations`,uiSlots:{"attachment-list":{id:`attachment-list`,label:`Attachment List`,description:`Authorized private links and supplied version history`,icon:`file-text`,category:`list`,order:8,propsInterface:`AttachmentListProps`},"attachment-upload":{id:`attachment-upload`,label:`Attachment Upload`,description:`Native multipart upload with retained request fields and recovery guidance`,icon:`upload`,category:`form`,order:9,propsInterface:`AttachmentUploadProps`},"attachment-panel":{id:`attachment-panel`,label:`Attachments`,description:`Attachment list and optional native upload composition`,icon:`file-text`,category:`display`,order:10,propsInterface:`AttachmentPanelProps`},"asset-manager":{id:`asset-manager`,label:`Asset Manager`,description:`Combined asset management surface with toolbar, grid/list view, detail, and selection`,icon:`folder-image`,category:`admin`,order:1,propsInterface:`AssetManagerProps`},"asset-grid":{id:`asset-grid`,label:`Asset Grid`,description:`Grid view of asset thumbnails with selection`,icon:`grid`,category:`list`,order:2,propsInterface:`AssetGridProps`},"asset-list":{id:`asset-list`,label:`Asset List`,description:`Sortable list view of assets with metadata columns`,icon:`list`,category:`list`,order:3,propsInterface:`AssetListProps`},"asset-detail":{id:`asset-detail`,label:`Asset Detail`,description:`Detailed view of a single asset with metadata and preview`,icon:`file-text`,category:`detail`,order:4,propsInterface:`AssetDetailProps`},"asset-toolbar":{id:`asset-toolbar`,label:`Asset Toolbar`,description:`Toolbar with view toggle, filters, sort, and upload action`,icon:`sliders`,category:`action`,order:5,propsInterface:`AssetToolbarProps`},"asset-action-bar":{id:`asset-action-bar`,label:`Asset Action Bar`,description:`Bulk action bar shown when assets are selected`,icon:`more-horizontal`,category:`action`,order:6,propsInterface:`ActionBarProps`},"asset-create-modal":{id:`asset-create-modal`,label:`Create Asset Modal`,description:`Modal dialog for uploading and creating a new asset`,icon:`upload`,category:`form`,order:7,propsInterface:`CreateAssetModalProps`}},models:[`Asset`,`AssetType`,`AssetStatus`,`AssetMetafield`,`Folder`],collections:[`AssetCollection`,`AssetTypeCollection`,`AssetStatusCollection`,`AssetMetafieldCollection`,`AssetAssociationCollection`,`FolderCollection`]},Q=X({"assets.action_bar.delete_confirm_title":`Delete {count} asset{plural}?`,"assets.action_bar.delete_confirm_message_one":`This action cannot be undone. The asset and its file data will be permanently removed.`,"assets.action_bar.delete_confirm_message_other":`This action cannot be undone. The assets and their file data will be permanently removed.`,"assets.action_bar.delete":`Delete`,"assets.action_bar.cancel":`Cancel`,"assets.asset_detail.open_pdf_in_new_tab":`Open PDF in new tab`,"assets.asset_detail.alt_text":`Alt Text`,"assets.asset_detail.alt_text_missing_warning":`⚠️ Missing — required for accessibility`,"assets.asset_detail.quick_actions":`Quick Actions`,"assets.asset_detail.copy_url":`📋 Copy URL`,"assets.asset_detail.copy_markdown":`📝 Copy Markdown`,"assets.asset_detail.edit_image":`✏️ Edit Image`,"assets.asset_detail.used_in":`Used In`,"assets.asset_detail.alt_text_placeholder":`Describe this image for screen readers`,"assets.asset_detail.description_placeholder":`Optional description`,"assets.asset_grid.loading":`Loading assets...`,"assets.asset_grid.no_assets_found":`No assets found`,"assets.asset_grid.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_grid.no_alt":`⚠️ No alt`,"assets.asset_grid.missing_alt_text":`Missing alt text`,"assets.asset_grid.open_named":`Open {name}`,"assets.asset_grid.select_named":`Select {name}`,"assets.asset_grid.select_named_checkbox":`Select {name}`,"assets.asset_list.loading":`Loading assets...`,"assets.asset_list.no_assets_found":`No assets found`,"assets.asset_list.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_list.select_all":`Select all`,"assets.asset_list.select_named":`Select {name}`,"assets.asset_manager.drop_file_to_upload":`Drop file to upload`,"assets.asset_toolbar.all_types":`All types`,"assets.asset_toolbar.newest_first":`Newest first`,"assets.asset_toolbar.oldest_first":`Oldest first`,"assets.asset_toolbar.name_a_z":`Name A–Z`,"assets.asset_toolbar.name_z_a":`Name Z–A`,"assets.asset_toolbar.recently_updated":`Recently updated`,"assets.asset_toolbar.search_placeholder":`Search assets...`,"assets.asset_toolbar.search_assets":`Search assets`,"assets.asset_toolbar.clear_search":`Clear search`,"assets.asset_toolbar.filter_by_type":`Filter by type`,"assets.asset_toolbar.sort_assets":`Sort assets`,"assets.asset_toolbar.view_mode":`View mode`,"assets.asset_toolbar.view_label":`{label} view`,"assets.create_asset_modal.dropzone_text":`Drag & drop a file here, or click to browse`,"assets.create_asset_modal.dropzone_hint":`You can also paste an image from your clipboard`,"assets.create_asset_modal.large_file_warning":`⚠️ Large file — may slow page loads`,"assets.create_asset_modal.alt_text":`Alt Text`,"assets.create_asset_modal.alt_text_recommended_warning":`⚠️ Recommended for accessibility`,"assets.create_asset_modal.name_placeholder":`Asset name`,"assets.create_asset_modal.description_placeholder":`Optional description`,"assets.create_asset_modal.alt_text_placeholder":`Describe this image for screen readers`,"assets.create_asset_modal.upload_asset":`Upload Asset`,"assets.create_asset_modal.preview_alt":`Preview`,"assets.create_asset_modal.remove_file":`Remove file`,"assets.create_asset_modal.upload_failed":`Upload failed. Please try again.`,"assets.asset_detail_preview.modal_preview":`Modal Preview`,"assets.asset_detail_preview.description":`Launch the asset detail dialog from inside the preview stage so the shared
2
+ playground stays navigable.`,"assets.asset_detail_preview.open_asset_detail":`Open Asset Detail`,"assets.create_asset_modal_preview.modal_preview":`Modal Preview`,"assets.create_asset_modal_preview.title":`Create Asset Modal`,"assets.create_asset_modal_preview.description":`Open the upload dialog from inside the preview stage to exercise the real
3
+ modal flow without covering the host navigation.`,"assets.create_asset_modal_preview.open_upload_modal":`Open Upload Modal`,"assets.create_asset_modal_preview.alt_text":`Alt Text`,"assets.asset_manager_route.eyebrow":`Package Route Surface`,"assets.asset_manager_route.title":`Asset Manager`,"assets.asset_manager_route.lede":`The reference route for browsing, selecting, and reviewing uploaded
4
+ assets with the package-owned asset manager UI.`,"assets.asset_manager_route.selection_state":`Selection State`,"assets.asset_manager_route.no_assets_selected":`No assets selected.`,"assets.asset_manager_route.assets_selected":`asset{plural} selected.`,"assets.asset_manager_route.custom_action_example":`Custom Action Example`,"assets.asset_manager_route.custom_action_description":`This route keeps package-owned defaults while leaving room for app
5
+ specific actions.`,"assets.asset_manager_route.queue_review":`Queue Review`,"assets.asset_manager_route.queue_review_hint":`from the selection action bar to see
6
+ the package route feedback.`,"assets.asset_manager_route.surface_label":`Asset manager surface`,"assets.asset_manager_route.route_state_label":`Asset route state`}),cn=c(`<!> `,1),ln=d(`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-2 14H7L5 6"></path><path d="M10 11v6"></path><path d="M14 11v6"></path><path d="M9 6V4a1 1 0 011-1h4a1 1 0 011 1v2"></path></svg> Delete`,1),un=c(`<div class="action-bar svelte-8r0zn0" data-smrt-component="ActionBar"><div class="action-bar__left svelte-8r0zn0"><span class="action-bar__count svelte-8r0zn0"> </span> <!></div> <div class="action-bar__actions svelte-8r0zn0"><!> <!></div></div> <!>`,1);function dn(t,a){m(a,!0);let{t:c}=te(),d=w(a,`customActions`,19,()=>[]),p=E(!1),g=E(!1);function _(){W(g,!0)}async function b(){W(p,!0);try{await(a.ondelete??a.onDelete)(a.selectedAssets)}finally{W(p,!1),W(g,!1)}}function x(){W(g,!1)}async function S(e){await e(a.selectedAssets)}let C=r(()=>a.selectedAssets.length);var T=y(),D=L(T),O=t=>{var i=un(),m=L(i),w=k(m),T=k(w),E=P(T),D=j(T,2);Z(D,{variant:`ghost`,size:`sm`,onclick:()=>(a.onclearselection??a.onClearSelection)(),children:(e,t)=>{h();var n=u(`Clear`);v(e,n)},$$slots:{default:!0}}),s(w);var O=j(w,2),A=k(O);f(A,17,d,e=>e.label,(t,i)=>{var a=y(),s=L(a),c=t=>{{let a=r(()=>e(i).destructive?`danger`:`secondary`);Z(t,{get variant(){return e(a)},size:`sm`,onclick:()=>S(e(i).action),children:(t,r)=>{var a=cn(),s=L(a),c=t=>{var n=y(),r=L(n);o(r,()=>e(i).icon),v(t,n)};n(s,t=>{e(i).icon&&t(c)});var u=j(s);B(()=>l(u,` ${e(i).label??``}`)),v(t,a)},$$slots:{default:!0}})}};n(s,t=>{(e(i).multi!==!1||e(C)===1)&&t(c)}),v(t,a)});var M=j(A,2);Z(M,{variant:`danger`,size:`sm`,onclick:_,children:(e,t)=>{var n=ln();h(),v(e,n)},$$slots:{default:!0}}),s(O),s(m);var N=j(m,2);{let t=r(()=>c(Q[`assets.action_bar.delete_confirm_title`],{count:e(C),plural:e(C)>1?`s`:``})),n=r(()=>e(C)>1?c(Q[`assets.action_bar.delete_confirm_message_other`]):c(Q[`assets.action_bar.delete_confirm_message_one`])),i=r(()=>c(Q[`assets.action_bar.delete`])),a=r(()=>c(Q[`assets.action_bar.cancel`]));J(N,{get open(){return e(g)},get title(){return e(t)},get message(){return e(n)},get confirmLabel(){return e(i)},get cancelLabel(){return e(a)},destructive:!0,get loading(){return e(p)},onconfirm:b,oncancel:x})}B(()=>l(E,`${e(C)??``} selected`)),v(t,i)};n(D,t=>{e(C)>0&&t(O)}),v(t,T),i()}var fn=c(`<div class="detail-footer svelte-ocg52i"><!> <div class="detail-footer__right svelte-ocg52i"><!> <!></div></div>`),pn=c(`<img class="preview-image svelte-ocg52i"/>`),mn=c(`<video controls="" class="preview-video svelte-ocg52i"></video>`,2),hn=c(`<audio controls="" class="preview-audio svelte-ocg52i"></audio>`),gn=c(`<div class="preview-document svelte-ocg52i"><span class="preview-document__icon svelte-ocg52i">📄</span> <a target="_blank" rel="noopener noreferrer" class="preview-document__link svelte-ocg52i"> </a></div>`),_n=c(`<div class="preview-generic svelte-ocg52i"><span class="preview-generic__icon svelte-ocg52i">📎</span> <span class="preview-generic__mime svelte-ocg52i"> </span></div>`),vn=c(`<span class="label-warning svelte-ocg52i"> </span>`),yn=c(`<div class="form-field svelte-ocg52i"><label for="detail-alt" class="form-label svelte-ocg52i"> <!></label> <!></div>`),bn=c(`<div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Dimensions</span> <span class="metadata-value svelte-ocg52i"> </span></div>`),xn=c(`<section class="detail__section svelte-ocg52i"><h3 class="section-heading svelte-ocg52i"> </h3> <!></section>`),Sn=c(`<div class="detail__body svelte-ocg52i"><section class="detail__section svelte-ocg52i"><div class="detail__preview svelte-ocg52i"><!></div></section> <section class="detail__section svelte-ocg52i"><h3 class="section-heading svelte-ocg52i">SEO & Accessibility</h3> <div class="detail__form svelte-ocg52i"><div class="form-field svelte-ocg52i"><label for="detail-name" class="form-label svelte-ocg52i">Name</label> <!></div> <!> <div class="form-field svelte-ocg52i"><label for="detail-desc" class="form-label svelte-ocg52i">Description</label> <!></div></div></section> <section class="detail__section svelte-ocg52i"><h3 class="section-heading svelte-ocg52i">Metadata</h3> <div class="metadata-grid svelte-ocg52i"><div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Type</span> <span class="metadata-value svelte-ocg52i"> </span></div> <div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Status</span> <span class="metadata-value svelte-ocg52i"> </span></div> <div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Version</span> <span class="metadata-value svelte-ocg52i"> </span></div> <div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Created</span> <span class="metadata-value svelte-ocg52i"> </span></div> <div class="metadata-item svelte-ocg52i"><span class="metadata-label svelte-ocg52i">Updated</span> <span class="metadata-value svelte-ocg52i"> </span></div> <!></div></section> <section class="detail__section svelte-ocg52i"><h3 class="section-heading svelte-ocg52i"> </h3> <div class="quick-actions svelte-ocg52i"><!> <!> <!></div> <div class="copy-feedback svelte-ocg52i" role="status" aria-live="polite"> </div></section> <!></div>`);function Cn(t,a){m(a,!0);let{t:c}=te(),d=E(!1),f=E(``),p=E(``),g=E(``),_=E(``);D(()=>{a.asset&&(W(p,a.asset.name||``,!0),W(g,a.asset.description||``,!0),W(_,a.asset.alt||``,!0))});function b(){(a.onclose??a.onClose)?.()}async function x(){if(a.asset){W(d,!0);try{await(a.onsave??a.onSave)?.(a.asset,{name:e(p),description:e(g),alt:e(_)})}finally{W(d,!1)}}}function S(){a.asset&&(a.ondelete??a.onDelete)?.(a.asset)}function C(){a.asset&&(a.onedit??a.onEdit)?.(a.asset)}async function w(e,t){try{await navigator.clipboard.writeText(e),W(f,`${t} copied!`),setTimeout(()=>{W(f,``)},2e3)}catch{W(f,`Copy failed`),setTimeout(()=>{W(f,``)},2e3)}}function T(){a.asset?.sourceUri&&w(a.asset.sourceUri,`URL`)}function O(){a.asset?.sourceUri&&w(`![${a.asset.alt||a.asset.name||`image`}](${a.asset.sourceUri})`,`Markdown`)}let A=r(()=>a.asset?.mimeType?.startsWith(`image/`)??!1),M=r(()=>a.asset?.mimeType?.startsWith(`video/`)??!1),N=r(()=>a.asset?.mimeType?.startsWith(`audio/`)??!1),F=r(()=>a.asset?.mimeType?.includes(`pdf`)??!1),I=r(()=>e(A)&&!e(_));r(()=>!1);function R(e){return e?(e instanceof Date?e:new Date(e)).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`}):`—`}var z=y(),V=L(z),H=t=>{{let i=t=>{var r=fn(),i=k(r);Z(i,{variant:`danger`,onclick:S,children:(e,t)=>{h();var n=u(`Delete`);v(e,n)},$$slots:{default:!0}});var a=j(i,2),o=k(a);Z(o,{variant:`ghost`,onclick:b,children:(e,t)=>{h();var n=u(`Cancel`);v(e,n)},$$slots:{default:!0}});var c=j(o,2);Z(c,{variant:`primary`,onclick:x,get disabled(){return e(d)},children:(t,r)=>{var i=y(),a=L(i),o=e=>{var t=u(`Saving...`);v(e,t)},s=e=>{var t=u(`Save`);v(e,t)};n(a,t=>{e(d)?t(o):t(s,-1)}),v(t,i)},$$slots:{default:!0}}),s(a),s(r),v(t,r)},m=r(()=>a.asset.name||`Untitled Asset`);Y(t,{get open(){return a.open},get title(){return e(m)},onClose:b,size:`md`,placement:`end`,footer:i,children:(t,i)=>{var d=Sn(),m=k(d),y=k(m),b=k(y),x=t=>{var n=pn();B(()=>{U(n,`src`,a.asset.sourceUri),U(n,`alt`,e(_)||a.asset.name)}),v(t,n)},S=e=>{var t=mn();B(()=>U(t,`src`,a.asset.sourceUri)),v(e,t)},w=e=>{var t=hn();B(()=>U(t,`src`,a.asset.sourceUri)),v(e,t)},E=e=>{var t=gn(),n=j(k(t),2),r=P(n,!0);s(t),B(e=>{U(n,`href`,a.asset.sourceUri),l(r,e)},[()=>c(Q[`assets.asset_detail.open_pdf_in_new_tab`])]),v(e,t)},D=e=>{var t=_n(),n=j(k(t),2),r=P(n,!0);s(t),B(()=>l(r,a.asset.mimeType||`Unknown type`)),v(e,t)};n(b,t=>{e(A)&&a.asset.sourceUri?t(x):e(M)&&a.asset.sourceUri?t(S,1):e(N)&&a.asset.sourceUri?t(w,2):e(F)&&a.asset.sourceUri?t(E,3):t(D,-1)}),s(y),s(m);var L=j(m,2),z=j(k(L),2),V=k(z),H=j(k(V),2);we(H,{id:`detail-name`,type:`text`,get value(){return e(p)},set value(e){W(p,e,!0)}}),s(V);var G=j(V,2),K=t=>{var i=yn(),a=k(i),o=k(a),u=j(o),d=e=>{var t=vn(),n=P(t,!0);B(e=>l(n,e),[()=>c(Q[`assets.asset_detail.alt_text_missing_warning`])]),v(e,t)};n(u,t=>{e(I)&&t(d)}),s(a);var f=j(a,2);{let t=r(()=>c(Q[`assets.asset_detail.alt_text_placeholder`]));we(f,{id:`detail-alt`,type:`text`,get placeholder(){return e(t)},get value(){return e(_)},set value(e){W(_,e,!0)}})}s(i),B(e=>l(o,`${e??``} `),[()=>c(Q[`assets.asset_detail.alt_text`])]),v(t,i)};n(G,t=>{e(A)&&t(K)});var ee=j(G,2),q=j(k(ee),2);{let t=r(()=>c(Q[`assets.asset_detail.description_placeholder`]));De(q,{id:`detail-desc`,rows:3,get placeholder(){return e(t)},get value(){return e(g)},set value(e){W(g,e,!0)}})}s(ee),s(z),s(L);var J=j(L,2),Y=j(k(J),2),X=k(Y),te=j(k(X),2),ne=P(te,!0);s(X);var re=j(X,2),ie=j(k(re),2),ae=P(ie,!0);s(re);var oe=j(re,2),se=j(k(oe),2),ce=P(se,!0);s(oe);var le=j(oe,2),ue=j(k(le),2),de=P(ue,!0);s(le);var fe=j(le,2),pe=j(k(fe),2),me=P(pe,!0);s(fe);var he=j(fe,2),ge=e=>{var t=bn(),n=j(k(t),2),r=P(n);s(t),B(()=>l(r,`${a.asset.width??``} × ${a.asset.height??``}px`)),v(e,t)};n(he,t=>{e(A)&&a.asset.width&&t(ge)}),s(Y),s(J);var _e=j(J,2),ve=k(_e),ye=P(ve,!0),be=j(ve,2),xe=k(be);{let t=r(()=>!a.asset.sourceUri);Z(xe,{variant:`ghost`,size:`sm`,class:`quick-btn`,onclick:T,get disabled(){return e(t)},children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>c(Q[`assets.asset_detail.copy_url`])]),v(e,n)},$$slots:{default:!0}})}var Se=j(xe,2),Ce=t=>{{let n=r(()=>!a.asset.sourceUri);Z(t,{variant:`ghost`,size:`sm`,class:`quick-btn`,onclick:O,get disabled(){return e(n)},children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>c(Q[`assets.asset_detail.copy_markdown`])]),v(e,n)},$$slots:{default:!0}})}};n(Se,t=>{e(A)&&t(Ce)});var Te=j(Se,2),Ee=e=>{Z(e,{variant:`ghost`,size:`sm`,class:`quick-btn`,onclick:C,children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>c(Q[`assets.asset_detail.edit_image`])]),v(e,n)},$$slots:{default:!0}})};n(Te,t=>{a.onedit&&e(A)&&t(Ee)}),s(be);var Oe=j(be,2),ke=P(Oe,!0);s(_e);var Ae=j(_e,2),je=e=>{var t=xn(),n=k(t),r=P(n,!0),i=j(n,2);o(i,()=>a.contentReferences,()=>({assetId:a.asset.id})),s(t),B(e=>l(r,e),[()=>c(Q[`assets.asset_detail.used_in`])]),v(e,t)};n(Ae,e=>{a.contentReferences&&a.asset.id&&e(je)}),s(d),B((t,n,r)=>{l(ne,a.asset.mimeType||`—`),l(ae,a.asset.statusSlug||`draft`),l(ce,a.asset.version),l(de,t),l(me,n),l(ye,r),l(ke,e(f))},[()=>R(a.asset.createdAt),()=>R(a.asset.updatedAt),()=>c(Q[`assets.asset_detail.quick_actions`])]),v(t,d)},$$slots:{footer:!0,default:!0}})}};n(V,e=>{a.asset&&e(H)}),v(t,z),i()}var wn=c(`<div class="asset-grid__loading svelte-t66ry5"><span class="spinner svelte-t66ry5"></span> <span> </span></div>`),Tn=c(`<div class="empty-state"><div class="empty-state__icon"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg></div> <p class="empty-state__title"> </p> <p class="empty-state__desc"> </p></div>`),En=c(`<img class="asset-card__image svelte-t66ry5" loading="lazy"/>`),Dn=c(`<span class="asset-card__type-icon svelte-t66ry5"> </span>`),On=c(`<span class="asset-card__type svelte-t66ry5"> </span>`),kn=c(`<span class="asset-card__badge asset-card__badge--warning svelte-t66ry5"> </span>`),An=c(`<div><button type="button" class="asset-card__open svelte-t66ry5"></button> <div class="asset-card__checkbox svelte-t66ry5"><input type="checkbox" class="svelte-t66ry5"/></div> <div class="asset-card__thumb svelte-t66ry5"><!></div> <div class="asset-card__info svelte-t66ry5"><span class="asset-card__name svelte-t66ry5"> </span> <div class="asset-card__meta svelte-t66ry5"><!></div></div> <!></div>`),jn=c(`<div class="grid svelte-t66ry5"></div>`),Mn=c(`<div data-smrt-component="AssetGrid"><!></div>`);function Nn(t,o){m(o,!0);let{t:c}=te(),u=w(o,`loading`,3,!1),d=w(o,`mode`,3,`manage`);function p(e){return d()===`pick`?c(Q[`assets.asset_grid.select_named`],{name:e}):c(Q[`assets.asset_grid.open_named`],{name:e})}function h(e,t){t.stopPropagation();let n=new Set(o.selectedIds);n.has(e.id)?n.delete(e.id):n.add(e.id),o.onSelectionChange(n)}function g(e){o.onAssetClick(e)}function _(e){o.onAssetDblClick?.(e)}function y(e){return e.mimeType?.startsWith(`image/`)??!1}function x(e){return e.mimeType?.startsWith(`video/`)??!1}function S(e){return e.mimeType?.startsWith(`audio/`)??!1}function T(e){return y(e)&&!D(e)}function E(e){return x(e)?`🎬`:S(e)?`🎵`:e.mimeType?.includes(`pdf`)?`📄`:e.mimeType?.startsWith(`text/`)?`📝`:`📎`}function D(e){return`alt`in e&&typeof e.alt==`string`?e.alt:``}var O=Mn();let A;var M=k(O),N=e=>{var t=wn(),n=j(k(t),2),r=P(n,!0);s(t),B(e=>l(r,e),[()=>c(Q[`assets.asset_grid.loading`])]),v(e,t)},F=e=>{var t=Tn(),n=j(k(t),2),r=P(n,!0),i=j(n,2),a=P(i,!0);s(t),B((e,t)=>{l(r,e),l(a,t)},[()=>c(Q[`assets.asset_grid.no_assets_found`]),()=>c(Q[`assets.asset_grid.empty_hint`])]),v(e,t)},I=t=>{var i=jn();f(i,21,()=>o.assets,e=>e.id,(t,i)=>{let u=r(()=>o.selectedIds.has(e(i).id));var d=An();let f;var m=k(d),x=j(m,2),S=k(x);C(S),s(x);var w=j(x,2),O=k(w),A=t=>{var n=En();B(t=>{U(n,`src`,e(i).sourceUri),U(n,`alt`,t)},[()=>D(e(i))||e(i).name]),v(t,n)},M=r(()=>y(e(i))&&e(i).sourceUri),N=t=>{var n=Dn(),r=P(n,!0);B(e=>l(r,e),[()=>E(e(i))]),v(t,n)};n(O,t=>{e(M)?t(A):t(N,-1)}),s(w);var F=j(w,2),I=k(F),L=P(I,!0),R=j(I,2),z=k(R),V=t=>{var n=On(),r=P(n,!0);B(e=>l(r,e),[()=>e(i).mimeType.split(`/`)[1]?.toUpperCase()]),v(t,n)};n(z,t=>{e(i).mimeType&&t(V)}),s(R),s(F);var H=j(F,2),W=e=>{var t=kn(),n=P(t,!0);B((e,r)=>{U(t,`title`,e),l(n,r)},[()=>c(Q[`assets.asset_grid.missing_alt_text`]),()=>c(Q[`assets.asset_grid.no_alt`])]),v(e,t)},G=r(()=>T(e(i)));n(H,t=>{e(G)&&t(W)}),s(d),B((t,n)=>{f=a(d,1,`asset-card svelte-t66ry5`,null,f,{"asset-card--selected":e(u)}),U(m,`aria-label`,t),U(m,`title`,e(i).name||`Untitled`),K(S,e(u)),U(S,`aria-label`,n),U(I,`title`,e(i).name),l(L,e(i).name||`Untitled`)},[()=>p(e(i).name||`Untitled`),()=>c(Q[`assets.asset_grid.select_named_checkbox`],{name:e(i).name})]),b(`click`,m,()=>g(e(i))),b(`dblclick`,m,()=>_(e(i))),b(`change`,S,t=>h(e(i),t)),b(`click`,S,e=>e.stopPropagation()),v(t,d)}),s(i),v(t,i)};n(M,e=>{u()?e(N):o.assets.length===0?e(F,1):e(I,-1)}),s(O),B(()=>A=a(O,1,`asset-grid svelte-t66ry5`,null,A,{"asset-grid--loading":u()})),v(t,O),i()}x([`click`,`dblclick`,`change`]);var Pn=c(`Name <span class="sort-indicator svelte-lbemup"> </span>`,1),Fn=c(`Created <span class="sort-indicator svelte-lbemup"> </span>`,1),In=c(`<tr><td colspan="6" class="cell-empty"><div class="asset-list__loading svelte-lbemup"><span class="spinner svelte-lbemup"></span> <span> </span></div></td></tr>`),Ln=c(`<tr><td colspan="6" class="cell-empty"><div class="empty-state"><div class="empty-state__icon"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg></div> <p class="empty-state__title"> </p> <p class="empty-state__desc"> </p></div></td></tr>`),Rn=c(`<img class="row-thumb svelte-lbemup" loading="lazy"/>`),zn=c(`<span class="row-thumb-placeholder svelte-lbemup"> </span>`),Bn=c(`<span class="row-desc svelte-lbemup"> </span>`),Vn=c(`<tr><td class="col-checkbox svelte-lbemup"><input type="checkbox" class="svelte-lbemup"/></td><td class="col-thumb svelte-lbemup"><!></td><td class="col-name svelte-lbemup"><!> <!></td><td class="col-type svelte-lbemup"><span class="type-badge svelte-lbemup"> </span></td><td class="col-date svelte-lbemup"> </td><td class="col-status svelte-lbemup"><span></span> </td></tr>`),Hn=c(`<div data-smrt-component="AssetList"><table class="list-table svelte-lbemup"><thead class="list-table__head svelte-lbemup"><tr class="svelte-lbemup"><th class="col-checkbox svelte-lbemup"><input type="checkbox" class="svelte-lbemup"/></th><th class="col-thumb svelte-lbemup">Preview</th><th class="col-name svelte-lbemup"><!></th><th class="col-type svelte-lbemup">Type</th><th class="col-date svelte-lbemup"><!></th><th class="col-status svelte-lbemup">Status</th></tr></thead><tbody class="list-table__body"><!></tbody></table></div>`);function Un(t,o){m(o,!0);let{t:c}=te(),d=w(o,`loading`,3,!1);function p(e,t){t.stopPropagation();let n=new Set(o.selectedIds);n.has(e.id)?n.delete(e.id):n.add(e.id),o.onSelectionChange(n)}function g(){e(D)?o.onSelectionChange(new Set):o.onSelectionChange(new Set(o.assets.map(e=>e.id)))}function _(e){o.sort.field===e?o.onSortChange({field:e,direction:o.sort.direction===`asc`?`desc`:`asc`}):o.onSortChange({field:e,direction:`asc`})}function x(e){return o.sort.field===e?o.sort.direction===`asc`?`↑`:`↓`:`↕`}function S(e){return e.mimeType?.startsWith(`image/`)??!1}function T(e){return(e instanceof Date?e:new Date(e)).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function E(e){return S(e)?`IMG`:e.mimeType?.startsWith(`video/`)?`VID`:e.mimeType?.startsWith(`audio/`)?`AUD`:e.mimeType?.includes(`pdf`)?`PDF`:`DOC`}let D=r(()=>o.assets.length>0&&o.assets.every(e=>o.selectedIds.has(e.id))),O=r(()=>o.assets.some(e=>o.selectedIds.has(e.id))&&!e(D));function A(e,t){return e.indeterminate=t,{update(t){e.indeterminate=t}}}var M=Hn();let F;var I=k(M),R=k(I),z=k(R),V=k(z),H=k(V);C(H),N(H,(e,t)=>A?.(e,t),()=>e(O)),s(V);var W=j(V,2),G=k(W);Z(G,{variant:`ghost`,size:`sm`,class:`sort-btn`,onclick:()=>_(`name`),children:(e,t)=>{h();var n=Pn(),r=j(L(n)),i=P(r,!0);B(e=>l(i,e),[()=>x(`name`)]),v(e,n)},$$slots:{default:!0}}),s(W);var ee=j(W,2),q=k(ee);Z(q,{variant:`ghost`,size:`sm`,class:`sort-btn`,onclick:()=>_(`createdAt`),children:(e,t)=>{h();var n=Fn(),r=j(L(n)),i=P(r,!0);B(e=>l(i,e),[()=>x(`createdAt`)]),v(e,n)},$$slots:{default:!0}}),s(ee),h(),s(z),s(R);var J=j(R),Y=k(J),X=e=>{var t=In(),n=k(t),r=k(n),i=j(k(r),2),a=P(i,!0);s(r),s(n),s(t),B(e=>l(a,e),[()=>c(Q[`assets.asset_list.loading`])]),v(e,t)},ne=e=>{var t=Ln(),n=k(t),r=k(n),i=j(k(r),2),a=P(i,!0),o=j(i,2),u=P(o,!0);s(r),s(n),s(t),B((e,t)=>{l(a,e),l(u,t)},[()=>c(Q[`assets.asset_list.no_assets_found`]),()=>c(Q[`assets.asset_list.empty_hint`])]),v(e,t)},re=t=>{var i=y(),d=L(i);f(d,17,()=>o.assets,e=>e.id,(t,i)=>{let d=r(()=>o.selectedIds.has(e(i).id));var f=Vn();let m;var g=k(f),_=k(g);C(_),s(g);var y=j(g),x=k(y),w=t=>{var n=Rn();B(()=>{U(n,`src`,e(i).sourceUri),U(n,`alt`,e(i).alt||e(i).name)}),v(t,n)},D=r(()=>S(e(i))&&e(i).sourceUri),O=t=>{var n=zn(),r=P(n,!0);B(e=>l(r,e),[()=>E(e(i))]),v(t,n)};n(x,t=>{e(D)?t(w):t(O,-1)}),s(y);var A=j(y),M=k(A);Z(M,{variant:`ghost`,class:`row-name`,onclick:()=>o.onAssetClick(e(i)),children:(t,n)=>{h();var r=u();B(()=>l(r,e(i).name||`Untitled`)),v(t,r)},$$slots:{default:!0}});var N=j(M,2),F=t=>{var n=Bn(),r=P(n,!0);B(()=>l(r,e(i).description)),v(t,n)};n(N,t=>{e(i).description&&t(F)}),s(A);var I=j(A),L=k(I),R=P(L,!0);s(I);var z=j(I),V=P(z,!0),H=j(z),W=k(H);let G;var ee=j(W);s(H),s(f),B((t,n,r)=>{m=a(f,1,`list-table__row svelte-lbemup`,null,m,{"list-table__row--selected":e(d)}),K(_,e(d)),U(_,`aria-label`,t),l(R,n),l(V,r),G=a(W,1,`status-dot svelte-lbemup`,null,G,{"status-dot--active":e(i).statusSlug===`active`||e(i).statusSlug===`published`}),l(ee,` ${(e(i).statusSlug||`draft`)??``}`)},[()=>c(Q[`assets.asset_list.select_named`],{name:e(i).name}),()=>E(e(i)),()=>T(e(i).createdAt)]),b(`change`,_,t=>p(e(i),t)),b(`click`,_,e=>e.stopPropagation()),v(t,f)}),v(t,i)};n(Y,e=>{d()?e(X):o.assets.length===0?e(ne,1):e(re,-1)}),s(J),s(I),s(M),B(t=>{F=a(M,1,`asset-list svelte-lbemup`,null,F,{"asset-list--loading":d()}),K(H,e(D)),U(H,`aria-label`,t)},[()=>c(Q[`assets.asset_list.select_all`])]),b(`change`,H,g),v(t,M),i()}x([`change`,`click`]);var Wn=d(`<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`),Gn=c(`<option> </option> <option>Images</option> <option>Videos</option> <option>Documents</option> <option>Audio</option>`,1),Kn=c(`<option> </option> <option> </option> <option> </option> <option> </option> <option> </option>`,1),qn=d(`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect></svg>`),Jn=d(`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>`),Yn=d(`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> Upload`,1),Xn=c(`<div class="asset-toolbar svelte-422cvq" data-smrt-component="AssetToolbar"><div class="asset-toolbar__left svelte-422cvq"><div class="asset-toolbar__search svelte-422cvq"><span class="search-icon svelte-422cvq" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg></span> <!> <!></div> <!> <!></div> <div class="asset-toolbar__right svelte-422cvq"><div class="view-toggle svelte-422cvq" role="group"></div> <!></div></div>`);function Zn(t,a){m(a,!0);let{t:o}=te();function c(){return{searchValue:a.filters.search,filters:a.filters}}let u=c(),d=E(A(u.searchValue)),p=null,g=u.filters;D(()=>{g!==a.filters&&(g=a.filters,W(d,a.filters.search,!0))}),F(()=>{p&&clearTimeout(p)});function _(t){let n=t.target;W(d,n.value,!0),p&&clearTimeout(p),p=setTimeout(()=>{(a.onfilterchange??a.onFilterChange)({...a.filters,search:e(d)})},300)}function b(){W(d,``),(a.onfilterchange??a.onFilterChange)({...a.filters,search:``})}function x(e){let[t,n]=e.target.value.split(`:`);(a.onsortchange??a.onSortChange)({field:t,direction:n})}function S(e){let t=e.target,n=t.value?[t.value]:[];(a.onfilterchange??a.onFilterChange)({...a.filters,types:n})}let C=r(()=>`${a.sort.field}:${a.sort.direction}`),w=r(()=>a.filters.types.length>0?a.filters.types[0]:``),T=[{key:`grid`,label:`Grid`,icon:`grid`},{key:`list`,label:`List`,icon:`list`}];var O=Xn(),M=k(O),N=k(M),I=j(k(N),2);{let t=r(()=>o(Q[`assets.asset_toolbar.search_placeholder`])),n=r(()=>o(Q[`assets.asset_toolbar.search_assets`]));we(I,{type:`search`,class:`search-field`,get placeholder(){return e(t)},get value(){return e(d)},oninput:_,get"aria-label"(){return e(n)}})}var R=j(I,2),z=t=>{{let n=r(()=>o(Q[`assets.asset_toolbar.clear_search`]));Z(t,{variant:`ghost`,size:`sm`,class:`search-clear`,onclick:b,get"aria-label"(){return e(n)},children:(e,t)=>{var n=Wn();v(e,n)},$$slots:{default:!0}})}};n(R,t=>{e(d)&&t(z)}),s(N);var V=j(N,2);{let t=r(()=>o(Q[`assets.asset_toolbar.filter_by_type`]));je(V,{class:`asset-toolbar__select`,get value(){return e(w)},onchange:S,get"aria-label"(){return e(t)},children:(e,t)=>{var n=Gn(),r=L(n),i=P(r,!0);r.value=r.__value=``;var a=j(r,2);a.value=a.__value=`image`;var s=j(a,2);s.value=s.__value=`video`;var c=j(s,2);c.value=c.__value=`document`;var u=j(c,2);u.value=u.__value=`audio`,B(e=>l(i,e),[()=>o(Q[`assets.asset_toolbar.all_types`])]),v(e,n)},$$slots:{default:!0}})}var H=j(V,2);{let t=r(()=>o(Q[`assets.asset_toolbar.sort_assets`]));je(H,{class:`asset-toolbar__select`,get value(){return e(C)},onchange:x,get"aria-label"(){return e(t)},children:(e,t)=>{var n=Kn(),r=L(n),i=P(r,!0);r.value=r.__value=`createdAt:desc`;var a=j(r,2),s=P(a,!0);a.value=a.__value=`createdAt:asc`;var c=j(a,2),u=P(c,!0);c.value=c.__value=`name:asc`;var d=j(c,2),f=P(d,!0);d.value=d.__value=`name:desc`;var p=j(d,2),m=P(p,!0);p.value=p.__value=`updatedAt:desc`,B((e,t,n,r,a)=>{l(i,e),l(s,t),l(u,n),l(f,r),l(m,a)},[()=>o(Q[`assets.asset_toolbar.newest_first`]),()=>o(Q[`assets.asset_toolbar.oldest_first`]),()=>o(Q[`assets.asset_toolbar.name_a_z`]),()=>o(Q[`assets.asset_toolbar.name_z_a`]),()=>o(Q[`assets.asset_toolbar.recently_updated`])]),v(e,n)},$$slots:{default:!0}})}s(M);var G=j(M,2),K=k(G);f(K,21,()=>T,e=>e.key,(t,i)=>{{let s=r(()=>a.view===e(i).key?`primary`:`ghost`),c=r(()=>o(Q[`assets.asset_toolbar.view_label`],{label:e(i).label})),l=r(()=>a.view===e(i).key);Z(t,{get variant(){return e(s)},class:`view-toggle__btn`,onclick:()=>(a.onviewchange??a.onViewChange)(e(i).key),get"aria-label"(){return e(c)},get"aria-pressed"(){return e(l)},children:(t,r)=>{var a=y(),o=L(a),s=e=>{var t=qn();v(e,t)},c=e=>{var t=Jn();v(e,t)};n(o,t=>{e(i).icon===`grid`?t(s):t(c,-1)}),v(t,a)},$$slots:{default:!0}})}}),s(K);var ee=j(K,2);Z(ee,{variant:`primary`,class:`upload-btn`,onclick:()=>(a.onupload??a.onUpload)(),children:(e,t)=>{var n=Yn();h(),v(e,n)},$$slots:{default:!0}}),s(G),s(O),B(e=>U(K,`aria-label`,e),[()=>o(Q[`assets.asset_toolbar.view_mode`])]),v(t,O),i()}var Qn=c(`<!> <!>`,1),$n=c(`<div role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="dropzone__icon svelte-1c75d5c"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> <p class="dropzone__text svelte-1c75d5c"> </p> <p class="dropzone__hint svelte-1c75d5c"> </p> <input id="file-input" type="file" class="dropzone__input svelte-1c75d5c"/></div>`),er=c(`<img class="file-preview__image svelte-1c75d5c"/>`),tr=c(`<div class="file-preview__icon svelte-1c75d5c">📎</div>`),nr=c(`<span class="file-preview__warning svelte-1c75d5c"> </span>`),rr=d(`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>`),ir=c(`<span class="form-label__warning svelte-1c75d5c"> </span>`),ar=c(`<div class="form-field svelte-1c75d5c"><label for="asset-alt" class="form-label svelte-1c75d5c"> <!></label> <!></div>`),or=c(`<div class="file-preview svelte-1c75d5c"><!> <div class="file-preview__meta svelte-1c75d5c"><span class="file-preview__filename svelte-1c75d5c"> </span> <span class="file-preview__size svelte-1c75d5c"> </span> <!></div> <!></div> <div class="form-fields svelte-1c75d5c"><div class="form-field svelte-1c75d5c"><label for="asset-name" class="form-label svelte-1c75d5c">Name</label> <!></div> <div class="form-field svelte-1c75d5c"><label for="asset-desc" class="form-label svelte-1c75d5c">Description</label> <!></div> <!></div>`,1),sr=c(`<p class="create-error svelte-1c75d5c" role="alert" aria-live="assertive"> </p>`);function cr(t,o){m(o,!0);let{t:c}=te(),d=w(o,`initialFile`,3,null),f=E(null),p=E(``),g=E(``),_=E(``),y=E(!1),x=E(null),C=E(!1),T=E(``);D(()=>{d()&&(W(f,d()),W(p,d().name.replace(/\.[^/.]+$/,``),!0))}),D(()=>(e(x)&&URL.revokeObjectURL(e(x)),e(f)?.type.startsWith(`image/`)?W(x,URL.createObjectURL(e(f)),!0):W(x,null),()=>{e(x)&&URL.revokeObjectURL(e(x))}));function O(e){e.preventDefault(),W(y,!0)}function A(){W(y,!1)}function M(e){e.preventDefault(),W(y,!1);let t=e.dataTransfer?.files?.[0];t&&(W(f,t,!0),W(p,t.name.replace(/\.[^/.]+$/,``),!0))}function N(e){let t=e.target.files?.[0];t&&(W(f,t,!0),W(p,t.name.replace(/\.[^/.]+$/,``),!0))}async function F(){if(e(f)&&!e(C)){W(C,!0),W(T,``);try{await o.oncreate({file:e(f),name:e(p),description:e(g),altText:e(_)}),R()}catch(e){W(T,e instanceof Error?e.message:c(Q[`assets.create_asset_modal.upload_failed`]),!0)}finally{W(C,!1)}}}function I(){R(),o.onclose()}function R(){W(f,null),W(p,``),W(g,``),W(_,``),W(T,``)}function z(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}let V=r(()=>e(f)?.type?.startsWith(`image/`)??!1),H=r(()=>(e(f)?.size??0)>2097152);{let i=t=>{var n=Qn(),i=L(n);Z(i,{variant:`ghost`,size:`sm`,onclick:I,get disabled(){return e(C)},children:(e,t)=>{h();var n=u(`Cancel`);v(e,n)},$$slots:{default:!0}});var a=j(i,2);{let t=r(()=>!e(f)||e(C));Z(a,{variant:`primary`,size:`sm`,onclick:F,get disabled(){return e(t)},children:(t,n)=>{h();var r=u();B(()=>l(r,e(C)?`Uploading…`:`Upload`)),v(t,r)},$$slots:{default:!0}})}v(t,n)},d=r(()=>c(Q[`assets.create_asset_modal.upload_asset`]));Y(t,{get open(){return o.open},get title(){return e(d)},onClose:I,size:`md`,footer:i,children:(t,i)=>{var o=Qn(),u=L(o),d=t=>{var n=$n();let r;var i=j(k(n),2),o=P(i,!0),u=j(i,2),d=P(u,!0),f=j(u,2);s(n),B((t,i)=>{r=a(n,1,`dropzone svelte-1c75d5c`,null,r,{"dropzone--active":e(y)}),l(o,t),l(d,i)},[()=>c(Q[`assets.create_asset_modal.dropzone_text`]),()=>c(Q[`assets.create_asset_modal.dropzone_hint`])]),S(`dragover`,n,O),S(`dragleave`,n,A),S(`drop`,n,M),b(`click`,n,()=>document.getElementById(`file-input`)?.click()),b(`keydown`,n,e=>{(e.key===`Enter`||e.key===` `)&&document.getElementById(`file-input`)?.click()}),b(`change`,f,N),v(t,n)},m=t=>{var i=or(),a=L(i),o=k(a),u=t=>{var n=er();B(t=>{U(n,`src`,e(x)),U(n,`alt`,t)},[()=>c(Q[`assets.create_asset_modal.preview_alt`])]),v(t,n)},d=e=>{var t=tr();v(e,t)};n(o,t=>{e(x)?t(u):t(d,-1)});var m=j(o,2),h=k(m),y=P(h,!0),b=j(h,2),S=P(b,!0),C=j(b,2),w=e=>{var t=nr(),n=P(t,!0);B(e=>l(n,e),[()=>c(Q[`assets.create_asset_modal.large_file_warning`])]),v(e,t)};n(C,t=>{e(H)&&t(w)}),s(m);var T=j(m,2);{let t=r(()=>c(Q[`assets.create_asset_modal.remove_file`]));Z(T,{variant:`ghost`,size:`sm`,class:`file-preview__remove`,onclick:()=>{W(f,null)},get"aria-label"(){return e(t)},children:(e,t)=>{var n=rr();v(e,n)},$$slots:{default:!0}})}s(a);var E=j(a,2),D=k(E),O=j(k(D),2);{let t=r(()=>c(Q[`assets.create_asset_modal.name_placeholder`]));we(O,{id:`asset-name`,type:`text`,get placeholder(){return e(t)},get value(){return e(p)},set value(e){W(p,e,!0)}})}s(D);var A=j(D,2),M=j(k(A),2);{let t=r(()=>c(Q[`assets.create_asset_modal.description_placeholder`]));De(M,{id:`asset-desc`,get placeholder(){return e(t)},rows:2,get value(){return e(g)},set value(e){W(g,e,!0)}})}s(A);var N=j(A,2),F=t=>{var i=ar(),a=k(i),o=k(a),u=j(o),d=e=>{var t=ir(),n=P(t,!0);B(e=>l(n,e),[()=>c(Q[`assets.create_asset_modal.alt_text_recommended_warning`])]),v(e,t)};n(u,t=>{e(_)||t(d)}),s(a);var f=j(a,2);{let t=r(()=>c(Q[`assets.create_asset_modal.alt_text_placeholder`]));we(f,{id:`asset-alt`,type:`text`,get placeholder(){return e(t)},get value(){return e(_)},set value(e){W(_,e,!0)}})}s(i),B(e=>l(o,`${e??``} `),[()=>c(Q[`assets.create_asset_modal.alt_text`])]),v(t,i)};n(N,t=>{e(V)&&t(F)}),s(E),B(t=>{l(y,e(f).name),l(S,t)},[()=>z(e(f).size)]),v(t,i)};n(u,t=>{e(f)?t(m,-1):t(d)});var h=j(u,2),C=t=>{var n=sr(),r=P(n,!0);B(()=>l(r,e(T))),v(t,n)};n(h,t=>{e(T)&&t(C)}),v(t,o)},$$slots:{footer:!0,default:!0}})}i()}x([`click`,`keydown`,`change`]);var lr=c(`<p class="asset-manager__error svelte-1ia37ku" role="alert" aria-live="assertive"> </p>`),ur=c(`<div class="drag-overlay svelte-1ia37ku"><div class="drag-overlay__content svelte-1ia37ku"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4"></path><polyline points="17 8 12 3 7 8"></polyline><line x1="12" y1="3" x2="12" y2="15"></line></svg> <p class="svelte-1ia37ku"> </p></div></div>`),dr=c(`<div data-smrt-component="AssetManager"><!> <!> <!> <div class="asset-manager__content svelte-1ia37ku"><!></div> <!> <!> <!></div>`);function fr(t,c){m(c,!0);let{t:u}=te();w(c,`dbFilters`,19,()=>({}));let d=w(c,`mode`,3,`manage`),f=w(c,`customActions`,19,()=>[]),p=w(c,`initialView`,3,`grid`);w(c,`showFolders`,3,!1);function h(){return{view:p()}}let g=h(),_=E(A(g.view)),b=E(A(new Set)),x=E(A([])),C=E(``),T=E(!1),O=E(!1),M=E(null),N=E(null),F=E(A({search:``,types:[],tags:[],mimePatterns:[]})),I=E(A({field:`createdAt`,direction:`desc`})),R=E(!1);D(()=>{let t=c.accept?[c.accept]:[];(e(F).mimePatterns.length!==t.length||e(F).mimePatterns.some((e,n)=>e!==t[n]))&&W(F,{...e(F),mimePatterns:t},!0)});let z=r(()=>e(x).filter(t=>e(b).has(t.id)));function V(e){W(_,e,!0)}function H(e){W(F,e,!0)}function U(e){W(I,e,!0)}function G(t){W(b,t,!0),(c.onSelect??c.onselect)?.(e(x).filter(e=>t.has(e.id)))}function K(){W(b,new Set,!0),(c.onSelect??c.onselect)?.([])}function ee(t){if(d()===`pick`){let n=new Set(e(b));n.has(t.id)?n.delete(t.id):n.add(t.id),G(n);return}W(M,t,!0),W(O,!0)}function q(){W(O,!1),W(M,null)}async function J(e,t){try{await c.onSave?.(e,t),Object.assign(e,t),W(C,``)}catch(e){W(C,e instanceof Error?e.message:`Failed to save the asset.`,!0)}}function Y(e){d()===`pick`&&(c.onConfirm??c.onconfirm)?.([e])}function X(){W(T,!1),W(N,null)}function ne(){W(N,null),W(T,!0)}async function re(e){await c.onCreate?.(e),W(T,!1)}async function ie(t){try{await c.onDelete?.(t),W(x,e(x).filter(e=>!t.some(t=>t.id===e.id)),!0),W(b,new Set,!0),W(C,``)}catch(e){W(C,e instanceof Error?e.message:`Failed to delete the asset(s).`,!0)}}function ae(e){let t=e.clipboardData?.items;if(t)for(let n of Array.from(t)){if(!n.type.startsWith(`image/`))continue;let t=n.getAsFile();if(t){e.preventDefault(),W(N,t,!0),W(T,!0);break}}}function oe(e){e.preventDefault(),W(R,!0)}function se(e){let t=e.relatedTarget,n=e.currentTarget;t&&n.contains(t)||W(R,!1)}function ce(e){e.preventDefault(),W(R,!1);let t=e.dataTransfer?.files?.[0];t&&(W(N,t,!0),W(T,!0))}var le=dr();let ue;var de=k(le),fe=t=>{var n=lr(),r=P(n,!0);B(()=>l(r,e(C))),v(t,n)};n(de,t=>{e(C)&&t(fe)});var pe=j(de,2);Zn(pe,{get view(){return e(_)},get filters(){return e(F)},get sort(){return e(I)},onViewChange:V,onFilterChange:H,onSortChange:U,onUpload:ne});var me=j(pe,2);dn(me,{get selectedAssets(){return e(z)},get customActions(){return f()},onClearSelection:K,onDelete:ie});var he=j(me,2),ge=k(he),_e=t=>{Nn(t,{get assets(){return e(x)},get selectedIds(){return e(b)},loading:!1,get mode(){return d()},onSelectionChange:G,onAssetClick:ee,onAssetDblClick:Y})},ve=t=>{Un(t,{get assets(){return e(x)},get selectedIds(){return e(b)},get sort(){return e(I)},loading:!1,onSelectionChange:G,onAssetClick:ee,onSortChange:U})};n(ge,t=>{e(_)===`grid`?t(_e):e(_)===`list`&&t(ve,1)}),s(he);var ye=j(he,2);Cn(ye,{get asset(){return e(M)},get open(){return e(O)},onclose:q,onsave:J,ondelete:e=>{ie([e]),q()}});var be=j(ye,2),xe=e=>{var t=ur(),n=k(t),r=j(k(n),2),i=P(r,!0);s(n),s(t),B(e=>l(i,e),[()=>u(Q[`assets.asset_manager.drop_file_to_upload`])]),v(e,t)};n(be,t=>{e(R)&&t(xe)});var Se=j(be,2),Ce=t=>{var n=y(),r=L(n);o(r,()=>c.uploader,()=>({open:e(T),initialFile:e(N),onClose:X,onclose:X,onCreate:re,oncreate:re})),v(t,n)},Z=t=>{cr(t,{get open(){return e(T)},get initialFile(){return e(N)},oncreate:re,onclose:X})};n(Se,e=>{c.uploader?e(Ce):e(Z,-1)}),s(le),B(()=>ue=a(le,1,`asset-manager svelte-1ia37ku`,null,ue,{"asset-manager--drag-over":e(R)})),S(`paste`,le,ae),S(`dragover`,le,oe),S(`dragleave`,le,se),S(`drop`,le,ce),v(t,le),i()}function pr(e){if(e?.trim())try{let t=new URL(e,`https://attachment.invalid/`);return t.protocol===`https:`||t.protocol===`http:`?e:void 0}catch{return}}var $=X({"assets.attachments.title":`Attachments`,"assets.attachments.empty":`No files attached.`,"assets.attachments.loading":`Loading attachments…`,"assets.attachments.view":`View {name}`,"assets.attachments.download":`Download {name}`,"assets.attachments.remove":`Remove {name}`,"assets.attachments.remove_title":`Remove attachment?`,"assets.attachments.remove_message":`Remove {name} from this record?`,"assets.attachments.remove_confirm":`Remove`,"assets.attachments.remove_cancel":`Cancel`,"assets.attachments.remove_failed":`Could not remove {name}.`,"assets.attachments.version":`Version {version}`,"assets.attachments.history":`Version history`,"assets.attachments.choose":`Choose attachment`,"assets.attachments.browse":`Select a file to attach`,"assets.attachments.description":`Description`,"assets.attachments.upload":`Upload attachment`,"assets.attachments.readonly":`Attachments are read-only.`,"assets.attachments.reselect":`Choose the file again before retrying. Browsers do not restore file selections after a failed upload.`,"assets.attachments.uncertain":`The upload outcome is uncertain. Follow the application’s recovery guidance before retrying; the request identity and description are retained.`}),mr=c(`<span> </span>`),hr=c(`<p class="svelte-g1ijht"> </p>`),gr=c(`<strong> </strong> <div class="metadata svelte-g1ijht"><span> </span> <!> <!></div> <!> <div class="links svelte-g1ijht"><!> <!></div>`,1),_r=c(`<p role="alert" class="svelte-g1ijht"> </p>`),vr=c(`<p role="status" class="svelte-g1ijht"> </p>`),yr=c(`<div class="links svelte-g1ijht"><!></div>`),br=c(`<li class="svelte-g1ijht"><!></li>`),xr=c(`<h4 class="svelte-g1ijht"> </h4> <ol class="svelte-g1ijht"></ol>`,1),Sr=c(`<li class="svelte-g1ijht"><!> <!> <!> <!></li>`),Cr=c(`<!> <!> <!>`,1),wr=c(`<!> <!>`,1),Tr=c(`<section class="attachment-list svelte-g1ijht" data-smrt-component="AttachmentList"><h3 class="svelte-g1ijht"> </h3> <!> <!> <!> <ul class="svelte-g1ijht"></ul> <!> <!></section>`);function Er(t,a){let o=R();m(a,!0);let c=(t,i=p)=>{var a=gr(),o=L(a),c=P(o,!0),d=j(o,2),f=k(d),m=P(f,!0),g=j(f,2),_=e=>{var t=mr(),n=P(t,!0);B(e=>l(n,e),[()=>D($[`assets.attachments.version`],{version:i().version})]),v(e,t)};n(g,e=>{i().version!==void 0&&e(_)});var y=j(g,2),b=e=>{var t=mr(),n=P(t,!0);B(()=>l(n,i().recordedAtLabel)),v(e,t)};n(y,e=>{i().recordedAtLabel&&e(b)}),s(d);var x=j(d,2),S=e=>{var t=hr(),n=P(t,!0);B(()=>l(n,i().note)),v(e,t)};n(x,e=>{i().note&&e(S)});var C=j(x,2),w=k(C),T=t=>{{let n=r(()=>pr(i().viewHref));Z(t,{get href(){return e(n)},target:`_blank`,rel:`noopener noreferrer`,variant:`ghost`,children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>D($[`assets.attachments.view`],{name:i().name})]),v(e,n)},$$slots:{default:!0}})}},E=r(()=>pr(i().viewHref));n(w,t=>{e(E)&&t(T)});var O=j(w,2),A=t=>{{let n=r(()=>pr(i().downloadHref));Z(t,{get href(){return e(n)},variant:`ghost`,children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>D($[`assets.attachments.download`],{name:i().name})]),v(e,n)},$$slots:{default:!0}})}},M=r(()=>pr(i().downloadHref));n(O,t=>{e(M)&&t(A)}),s(C),B(()=>{l(c,i().name),l(m,i().mimeType)}),v(t,a)},d=w(a,`showHistory`,3,!0),_=w(a,`loading`,3,!1),y=w(a,`removeIdField`,3,`attachmentId`),b=w(a,`removeIntentField`,3,`intent`),x=w(a,`removeIntent`,3,`remove`),C=w(a,`removeHiddenFields`,19,()=>[]),T=w(a,`removePending`,3,!1),{t:D}=te(),A=r(()=>!!(a.onremove||a.removeAction)),M=E(void 0),N=E(!1),F=E(void 0),I=r(()=>`${o}-remove`),z=r(()=>e(N)||T());function V(e){W(F,void 0),W(M,e,!0)}async function H(){let t=e(M);if(t&&!e(z)){if(a.onremove){W(N,!0);try{await a.onremove(t)}catch{W(F,t.name,!0)}finally{W(N,!1),W(M,void 0)}}else if(a.removeAction){let t=document.getElementById(e(I));if(!t)return;W(N,!0);let n;window.addEventListener(`submit`,e=>{n=e},{capture:!0,once:!0}),t.requestSubmit(),n?.defaultPrevented&&(W(N,!1),W(M,void 0))}}}var G=Tr();S(`pageshow`,O,e=>{e.persisted&&(W(N,!1),W(M,void 0))});var K=k(G),ee=P(K,!0),q=j(K,2),Y=e=>{var t=_r(),n=P(t,!0);B(()=>l(n,a.message)),v(e,t)};n(q,e=>{a.message&&e(Y)});var X=j(q,2),ne=e=>{var t=vr(),n=P(t,!0);B(e=>l(n,e),[()=>D($[`assets.attachments.loading`])]),v(e,t)};n(X,e=>{_()&&e(ne)});var re=j(X,2),ie=e=>{var t=hr(),n=P(t,!0);B(e=>l(n,e),[()=>D($[`assets.attachments.empty`])]),v(e,t)};n(re,e=>{a.attachments.length===0&&!_()&&e(ie)});var ae=j(re,2);f(ae,21,()=>a.attachments,e=>e.id,(t,r)=>{var i=Sr(),o=k(i);c(o,()=>e(r));var p=j(o,2),m=t=>{var n=yr(),i=k(n);Z(i,{type:`button`,variant:`ghost`,get density(){return a.density},get disabled(){return e(z)},onclick:()=>V(e(r)),children:(t,n)=>{h();var i=u();B(e=>l(i,e),[()=>D($[`assets.attachments.remove`],{name:e(r).name})]),v(t,i)},$$slots:{default:!0}}),s(n),v(t,n)};n(p,t=>{e(A)&&e(r).canRemove!==!1&&t(m)});var g=j(p,2),_=t=>{var n=hr(),i=P(n,!0);B(()=>l(i,e(r).statusLabel)),v(t,n)};n(g,t=>{e(r).statusLabel&&t(_)});var y=j(g,2),b=t=>{var n=xr(),i=L(n),a=P(i,!0),o=j(i,2);f(o,21,()=>e(r).versions,e=>e.id,(t,n)=>{var r=br(),i=k(r);c(i,()=>e(n)),s(r),v(t,r)}),s(o),B(e=>l(a,e),[()=>D($[`assets.attachments.history`])]),v(t,n)};n(y,t=>{d()&&e(r).versions?.length&&t(b)}),s(i),v(t,i)}),s(ae);var oe=j(ae,2),se=t=>{var n=_r(),r=P(n,!0);B(e=>l(r,e),[()=>D($[`assets.attachments.remove_failed`],{name:e(F)})]),v(t,n)};n(oe,t=>{e(F)&&t(se)});var ce=j(oe,2),le=t=>{var i=wr(),o=L(i),s=t=>{Ee(t,{get id(){return e(I)},method:`post`,get action(){return a.removeAction},preventDefault:!1,children:(t,n)=>{var i=Cr(),a=L(i);{let t=r(()=>e(M)?.id??``);we(a,{type:`hidden`,get name(){return y()},get value(){return e(t)},interaction:!1})}var o=j(a,2);f(o,17,C,g,(t,n)=>{we(t,{type:`hidden`,get name(){return e(n).name},get value(){return e(n).value},interaction:!1})});var s=j(o,2);we(s,{type:`hidden`,get name(){return b()},get value(){return x()},interaction:!1}),v(t,i)},$$slots:{default:!0}})};n(o,e=>{a.removeAction&&!a.onremove&&e(s)});var c=j(o,2);{let t=r(()=>e(M)!==void 0),n=r(()=>D($[`assets.attachments.remove_title`])),i=r(()=>D($[`assets.attachments.remove_message`],{name:e(M)?.name??``})),a=r(()=>D($[`assets.attachments.remove_confirm`])),o=r(()=>D($[`assets.attachments.remove_cancel`]));J(c,{get open(){return e(t)},get title(){return e(n)},get message(){return e(i)},get confirmLabel(){return e(a)},get cancelLabel(){return e(o)},destructive:!0,get loading(){return e(z)},onconfirm:H,oncancel:()=>{e(z)||W(M,void 0)}})}v(t,i)};n(ce,t=>{e(A)&&t(le)}),s(G),B((e,t)=>{U(G,`aria-label`,e),U(G,`aria-busy`,_()),l(ee,t)},[()=>a.title??D($[`assets.attachments.title`]),()=>a.title??D($[`assets.attachments.title`])]),v(t,G),i()}var Dr=c(`<p role="alert" class="svelte-1234yo2"> </p>`),Or=c(`<p role="status" class="svelte-1234yo2"> </p>`),kr=c(`<p class="svelte-1234yo2"> </p>`),Ar=c(`<div class="upload-fields svelte-1234yo2"><!> <!> <!> <!> <!> <!> <!> <!> <!> <div><!></div></div>`),jr=c(`<p data-smrt-component="AttachmentUpload" class="svelte-1234yo2"> </p>`);function Mr(t,a){let c=R();m(a,!0);let d=w(a,`canUpload`,3,!0),_=w(a,`fileField`,3,`file`),b=w(a,`descriptionField`,3,`description`),x=w(a,`showDescription`,3,!0),S=w(a,`description`,3,``),C=w(a,`reselectFile`,3,!1),T=w(a,`pending`,3,!1),E=w(a,`retryStatus`,3,`idle`),D=w(a,`hiddenFields`,19,()=>[]),O=w(a,`intentField`,3,`intent`),A=w(a,`intent`,3,`upload`),{t:M}=te(),N=r(()=>a.id??`attachment-upload-${c}`),F=r(()=>T()||E()===`submitting`||E()===`busy`),I=r(()=>[a.help?`${e(N)}-help`:``,a.fileError?`${e(N)}-file-error`:``,C()?`${e(N)}-reselect`:``].filter(Boolean).join(` `)||void 0);var z=y(),V=L(z),H=t=>{Ee(t,{get id(){return e(N)},get action(){return a.action},method:`post`,enctype:`multipart/form-data`,preventDefault:!1,get onsubmit(){return a.onsubmit},get"aria-busy"(){return e(F)},children:(t,i)=>{var c=Ar(),d=k(c);f(d,17,D,g,(t,n)=>{we(t,{type:`hidden`,get name(){return e(n).name},get value(){return e(n).value},interaction:!1})});var m=j(d,2),y=e=>{var t=Dr(),n=P(t,!0);B(()=>l(n,a.message)),v(e,t)};n(m,e=>{a.message&&e(y)});var w=j(m,2),T=e=>{var t=Or(),n=P(t,!0);B(e=>l(n,e),[()=>M($[`assets.attachments.uncertain`])]),v(e,t)};n(w,e=>{E()===`transport-error`&&e(T)});var L=j(w,2);{let t=r(()=>`${e(N)}-file`),n=r(()=>M($[`assets.attachments.choose`])),i=r(()=>M($[`assets.attachments.browse`])),o=r(()=>a.fileError?`true`:void 0);Ae(L,{get id(){return e(t)},get name(){return _()},get accept(){return a.accept},required:!0,get label(){return e(n)},get description(){return e(i)},get"aria-describedby"(){return e(I)},get"aria-invalid"(){return e(o)}})}var R=j(L,2),z=t=>{var n=kr(),r=P(n,!0);B(()=>{U(n,`id`,`${e(N)}-help`),l(r,a.help)}),v(t,n)};n(R,e=>{a.help&&e(z)});var V=j(R,2),H=t=>{var n=Dr(),r=P(n,!0);B(()=>{U(n,`id`,`${e(N)}-file-error`),l(r,a.fileError)}),v(t,n)};n(V,e=>{a.fileError&&e(H)});var W=j(V,2),G=t=>{var n=kr(),r=P(n,!0);B(t=>{U(n,`id`,`${e(N)}-reselect`),l(r,t)},[()=>M($[`assets.attachments.reselect`])]),v(t,n)};n(W,e=>{C()&&e(G)});var K=j(W,2),ee=t=>{{let n=r(()=>M($[`assets.attachments.description`])),i=r(()=>`${e(N)}-description`);ke(t,{get label(){return e(n)},get id(){return e(i)},get error(){return a.descriptionError},children:(e,t)=>{De(e,{get name(){return b()},get value(){return S()}})},$$slots:{default:!0}})}};n(K,e=>{x()&&e(ee)});var q=j(K,2);o(q,()=>a.children??p);var J=j(q,2),Y=k(J);Z(Y,{type:`submit`,get name(){return O()},get value(){return A()},get disabled(){return e(F)},children:(e,t)=>{h();var n=u();B(e=>l(n,e),[()=>a.submitLabel??M($[`assets.attachments.upload`])]),v(e,n)},$$slots:{default:!0}}),s(J),s(c),v(t,c)},$$slots:{default:!0}})},W=e=>{var t=jr(),n=P(t,!0);B(e=>l(n,e),[()=>M($[`assets.attachments.readonly`])]),v(e,t)};n(V,e=>{d()?e(H):e(W,-1)}),v(t,z),i()}var Nr=new Set([`$$slots`,`$$events`,`$$legacy`,`upload`]),Pr=c(`<div class="attachment-panel svelte-ew5bfn" data-smrt-component="AttachmentPanel"><!> <!></div>`);function Fr(e,t){let r=I(t,Nr);var i=Pr(),a=k(i);Er(a,z(()=>r));var o=j(a,2),c=e=>{Mr(e,z(()=>t.upload))};n(o,e=>{t.upload&&e(c)}),s(i),v(e,i)}ct.registerModule(sn),ct.register(`@happyvertical/smrt-assets`,`asset-manager`,fr),ct.register(`@happyvertical/smrt-assets`,`asset-grid`,Nn),ct.register(`@happyvertical/smrt-assets`,`asset-list`,Un),ct.register(`@happyvertical/smrt-assets`,`asset-detail`,Cn),ct.register(`@happyvertical/smrt-assets`,`asset-toolbar`,Zn),ct.register(`@happyvertical/smrt-assets`,`asset-action-bar`,dn),ct.register(`@happyvertical/smrt-assets`,`asset-create-modal`,cr),ct.register(`@happyvertical/smrt-assets`,`attachment-list`,Er),ct.register(`@happyvertical/smrt-assets`,`attachment-upload`,Mr),ct.register(`@happyvertical/smrt-assets`,`attachment-panel`,Fr);var Ir=c(`<p class="svelte-6k4sqr">Add the Asset library recipe to show the product gallery.</p>`),Lr=c(`<span class="count svelte-6k4sqr"> </span>`),Rr=c(`<li class="svelte-6k4sqr"><strong> </strong> <!> <!></li>`),zr=c(`<section class="media svelte-6k4sqr" aria-label="Product images"><div class="heading svelte-6k4sqr"><h3 class="svelte-6k4sqr">Product images</h3> <p class="svelte-6k4sqr">Images stay in this browser demo and are linked through ProductAsset.</p> <!></div> <ul class="products svelte-6k4sqr"></ul></section>`);function Br(t,a){m(a,!0);let o=r(()=>pt.has(It)),c=E(A(new Set));function u(e){return e.map(e=>({id:e.id,name:e.name,sourceUri:e.sourceUri,mimeType:e.mimeType,description:e.description}))}function d(t){let n=new Set(e(c));n.delete(t.id)||n.add(t.id),W(c,n,!0)}let p=e=>String(e.name??`Untitled product`);var h=zr(),g=k(h),_=j(k(g),4),y=e=>{var t=Ir();v(e,t)};n(_,t=>{e(o)||t(y)}),s(g);var b=j(g,2);f(b,21,()=>a.rows,e=>e.id,(t,i)=>{let f=r(()=>a.images.get(e(i).id)??[]);var m=Rr(),h=k(m),g=P(h,!0),_=j(h,2),y=t=>{{let n=r(()=>u(e(f)));Nn(t,{get assets(){return e(n)},get selectedIds(){return e(c)},onSelectionChange:e=>W(c,e,!0),onAssetClick:d,mode:`pick`})}},b=t=>{var n=Lr(),r=P(n);B(()=>l(r,`${e(f).length??``}
7
+ ${e(f).length===1?`image`:`images`}`)),v(t,n)};n(_,t=>{e(o)?t(y):t(b,-1)});var x=j(_,2);{let t=r(()=>`Add image for ${p(e(i))}`);Ae(x,{get label(){return e(t)},accept:`image/*`,onchangefiles:t=>{t[0]&&a.onselect(e(i),t[0])}})}s(m),B(e=>l(g,e),[()=>p(e(i))]),v(t,m)}),s(b),s(h),v(t,h),i()}var Vr=e=>JSON.stringify(e);function Hr(e){let t=new Set,n=[];for(let r of e.flatMap(e=>e.split(`,`))){let e=r.trim(),i=e.toLowerCase();e&&!t.has(i)&&(t.add(i),n.push(e))}return n}function Ur(e){let t=e.map(e=>({name:e.name,values:Hr(e.values)})).filter(e=>e.values.length>0);if(t.length===0)return[];let n=[[]];for(let e of t)n=n.flatMap(t=>e.values.map(n=>[...t,{name:e.name,value:n}]));return n.map(e=>({key:Vr(e.map(e=>e.value)),attributes:Object.fromEntries(e.map(e=>[e.name,e.value])),values:e.map(e=>e.value)}))}function Wr(e,t){return Ur(e.axes.map(e=>({name:e.name,values:t.axes[e.name]??[]})))}function Gr(e){return{productFields:e.form.fields,cellFields:e.extensions.flatMap(e=>e.fields??[]),cellRecords:e.extensions.flatMap(e=>e.records??[])}}function Kr(e,t){return e.form.fields.map(n=>({field:n,catalogField:yt(n,[e.form.product],t)}))}function qr(e,t){let{cellFields:n,cellRecords:r}=Gr(e),i=[Jr(e.form),...r];return n.map(e=>({field:e,catalogField:yt(e,i,t)}))}var Jr=e=>({as:`sku`,model:e.skus});function Yr(e,t){return{values:Object.fromEntries(Kr(e,t).map(({field:e,catalogField:t})=>[e.id,Et(e,t)])),axes:Object.fromEntries(e.form.axes.map(e=>[e.name,[...e.values]])),cells:{}}}function Xr(e,t){return Object.fromEntries(qr(e,t).map(({field:e,catalogField:t})=>[e.id,Et(e,t)]))}function Zr(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return}}function Qr(e){let t=Zr(e.attributes);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}function $r(e,t){let n=Qr(t),r=e.axes.filter(e=>e.name in n).map(e=>String(n[e.name]));return r.length?Vr(r):void 0}async function ei(e,t,n,r){let{form:i}=t,a=await e.get(n(i.product.model),r);if(!a)return;let o=(await e.list(n(i.variants))).filter(e=>e.productId===r),s=(await e.list(n(i.skus))).filter(e=>e.productId===r),c=Yr(t,n);for(let e of Kr(t,n)){let{field:t}=Tt(e.field.to),n=a[t];n!==void 0&&(c.values[e.field.id]=n)}for(let e of i.axes){let t=o.find(t=>t.axisName===e.name),n=Zr(t?.allowedValues);c.axes[e.name]=t&&Array.isArray(n)?Hr(n.map(String)):[]}let{cellFields:l,cellRecords:u}=Gr(t),d=Xr(t,n);for(let t of s){let r=$r(i,t);if(!r)continue;let o=await vt(e,[Jr(i),...u],{product:a,sku:t},n);c.cells[r]=Object.fromEntries(l.map(e=>{let{alias:t,field:n}=Tt(e.to),r=o[t]?.[n];return[e.id,r===void 0?d[e.id]:r]}))}return{state:c,existing:{productId:r,variants:o,skus:s}}}function ti(e,t){return[xt(e)||`SKU`,...t.values.map(xt)].filter(Boolean).join(`-`)}function ni(e,t,n,r){let{form:i}=e,{cellFields:a,cellRecords:o}=Gr(e),s=[],c=bt(i.fields,n.values),l=St(i.fields,i.product.as,n.values);s.push({op:`save`,as:`product`,model:t(i.product.model),...r?{id:r.productId}:{},onCreate:Ct(i.product.values,c),values:l});let u=t(i.variants);i.axes.forEach((e,t)=>{let r=Hr(n.axes[e.name]??[]),i={productId:{ref:`product`},axisName:e.name};if(r.length===0){s.push({op:`delete`,model:u,match:i});return}s.push({op:`save`,model:u,match:i,onCreate:{label:e.label.replace(/s$/i,``)},values:{allowedValues:JSON.stringify(r),sortOrder:t}})});let d=t(i.skus),f=Wr(i,n),p=new Set(f.map(e=>e.key)),m=new Map((r?.skus??[]).flatMap(e=>{let t=$r(i,e);return t?[[t,e]]:[]}));for(let e of r?.skus??[]){let n=$r(i,e);if(!(n&&p.has(n))){for(let n of o){let r=Object.fromEntries(Object.entries(n.match??{}).flatMap(([t,n])=>typeof n==`object`&&n?.ref===`sku`?[[t,e.id]]:[]));Object.keys(r).length&&s.push({op:`delete`,model:t(n.model),match:r})}s.push({op:`delete`,model:d,id:e.id})}}let h=c[`product.name`],g=new Set((r?.skus??[]).filter(e=>p.has($r(i,e)??``)).map(e=>String(e.code??``)));return f.forEach((r,i)=>{let l=m.get(r.key),u=r.values.join(` / `),f=`${String(h??``).trim()||`Item`} (${u})`,p=ti(h,r),_=p;for(let e=2;!l&&g.has(_);e++)_=`${p}-${e}`;g.add(_);let v=`sku#${i}`,y={name:f,attributes:JSON.stringify(r.attributes)};s.push(l?{op:`save`,as:v,model:d,id:l.id,values:y}:{op:`save`,as:v,model:d,match:{productId:{ref:`product`},code:_},onCreate:{active:!0},values:y});let b={...Xr(e,t),...n.cells[r.key]??{}},x=e=>e===`product`?e:e===`sku`?v:`${e}#${i}`,S={...c,"sku.name":f,"sku.code":l?String(l.code??_):_};for(let e of o){let n=St(a,e.as,b);s.push({op:`save`,as:x(e.as),model:t(e.model),...e.match?{match:Ct(e.match,S,x)}:{},onCreate:Ct(e.values,S,x),values:n})}}),s}var ri=c(`<input type="number" min="0" step="1" class="svelte-1ojxqxz"/>`),ii=c(`<span class="sku svelte-1ojxqxz"> </span>`),ai=c(`<p class="svelte-1ojxqxz">Loading...</p>`),oi=c(`<p class="meta svelte-1ojxqxz">Add sizes or colors above to build the grid.</p>`),si=c(`<th scope="col" class="svelte-1ojxqxz"> </th>`),ci=c(`<td class="svelte-1ojxqxz"><!></td>`),li=c(`<tr><th scope="row" class="svelte-1ojxqxz"> </th><!></tr>`),ui=c(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz"> </caption><thead><tr><td class="svelte-1ojxqxz"><span class="visually-hidden svelte-1ojxqxz"> </span></td><!></tr></thead><tbody></tbody></table></div>`),di=c(`<th scope="row" class="svelte-1ojxqxz"> </th>`),fi=c(`<tr><!><td class="svelte-1ojxqxz"><!></td></tr>`),pi=c(`<div class="scroll svelte-1ojxqxz"><table class="svelte-1ojxqxz"><caption class="visually-hidden svelte-1ojxqxz">Combinations</caption><thead><tr><!><th scope="col" class="svelte-1ojxqxz"> </th></tr></thead><tbody></tbody></table></div>`),mi=c(`<p class="error svelte-1ojxqxz" role="alert"> </p>`),hi=c(`<form class="planner-form"><h3 class="svelte-1ojxqxz"> </h3> <!> <!> <div class="grid svelte-1ojxqxz" role="group"><h4 class="svelte-1ojxqxz"> <small class="svelte-1ojxqxz"> </small></h4> <!></div> <!> <div class="actions svelte-1ojxqxz"><button type="submit" class="svelte-1ojxqxz">Save</button> <button type="button" class="secondary svelte-1ojxqxz">Cancel</button></div></form>`);function gi(t,a){m(a,!0);let o=(t,n=p)=>{var r=y(),i=L(r);f(i,17,()=>e(d),({field:e})=>e.id,(t,r)=>{let i=()=>e(r).field;var a=ri();C(a),B((e,t)=>{U(a,`aria-label`,e),T(a,t)},[()=>`${i().label}, ${K(n())}`,()=>ee(n().key,i().id)??``]),S(`focus`,a,e=>e.currentTarget.select()),b(`input`,a,e=>q(n().key,i().id,J(e.currentTarget.value))),v(t,a)},t=>{var r=ii(),i=P(r,!0);B(e=>l(i,e),[()=>ti(e(H),n())]),v(t,r)}),v(t,r)},c=gt(),u=r(()=>Kr(a.active,wt)),d=r(()=>qr(a.active,wt)),h=E(A(Yr(a.active,wt))),_=E(void 0),x=E(a.id===void 0),w=E(``);async function D(e){let t=await ei(c,a.active,wt,e);t&&(W(h,t.state,!0),W(_,t.existing,!0)),W(x,!0)}a.id!==void 0&&D(a.id);let O=r(()=>Wr(a.active.form,e(h))),M=r(()=>a.active.form.axes.filter(t=>Hr(e(h).axes[t.name]??[]).length)),N=r(()=>e(M).length===2),F=r(()=>e(M)[0]),I=r(()=>e(M)[1]),R=r(()=>Hr(e(h).axes[e(F)?.name??``]??[])),z=r(()=>Hr(e(h).axes[e(I)?.name??``]??[])),V=r(()=>new Map(e(O).map(e=>[e.key,e]))),H=r(()=>e(h).values.name),G=(...e)=>JSON.stringify(e),K=e=>e.values.join(` `);function ee(t,n){return e(h).cells[t]?.[n]}function q(t,n,r){e(h).cells[t]={...Xr(a.active,wt),...e(h).cells[t]??{},[n]:r}}function J(e){if(e.trim()===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}async function Y(t){if(t.preventDefault(),W(w,``),e(O).length===0){W(w,`Add at least one value to sell, such as a size or a color.`);return}try{await c.apply(ni(a.active,wt,e(h),e(_))),a.onsaved()}catch(e){W(w,e instanceof Error?e.message:`Could not save.`,!0)}}var X=y(),te=L(X),ne=e=>{var t=ai();v(e,t)},re=t=>{var i=hi(),c=k(i),p=P(c,!0),m=j(c,2);f(m,17,()=>e(u),({field:e,catalogField:t})=>e.id,(t,n)=>{let i=()=>e(n).field,o=()=>e(n).catalogField;{let n=r(()=>({...o(),required:i().required??o().required}));Kt(t,{get field(){return e(n)},get label(){return i().label},get help(){return i().help},get idPrefix(){return a.active.form.id},get value(){return e(h).values[i().id]},onchange:t=>e(h).values[i().id]=t})}});var _=j(m,2);f(_,17,()=>a.active.form.axes,e=>e.name,(t,n)=>{{let i=r(()=>`Add a ${e(n).label.replace(/s$/i,``).toLowerCase()}`),a=r(()=>e(h).axes[e(n).name]??[]);Oe(t,{get label(){return e(n).label},get placeholder(){return e(i)},get values(){return e(a)},onvalueschange:t=>e(h).axes[e(n).name]=Hr(t)})}});var y=j(_,2),x=k(y),C=k(x),T=j(C),E=P(T);s(x);var D=j(x,2),A=e=>{var t=oi();v(e,t)},L=t=>{var i=ui(),a=k(i),c=k(a),u=P(c),d=j(c),p=k(d),m=k(p),h=k(m),g=P(h,!0);s(m);var _=j(m);f(_,16,()=>e(z),e=>e,(e,t)=>{var n=si(),r=P(n,!0);B(()=>l(r,t)),v(e,n)}),s(p),s(d);var y=j(d);f(y,20,()=>e(R),e=>e,(t,i)=>{var a=li(),c=k(a),u=P(c,!0),d=j(c);f(d,16,()=>e(z),e=>e,(t,a)=>{let c=r(()=>e(V).get(G(i,a)));var l=ci(),u=k(l),d=t=>{o(t,()=>e(c))};n(u,t=>{e(c)&&t(d)}),s(l),v(t,l)}),s(a),B(()=>l(u,i)),v(t,a)}),s(y),s(a),s(i),B(t=>{l(u,`${e(F).label??``} by ${t??``}`),l(g,e(F).label)},[()=>e(I).label.toLowerCase()]),v(t,i)},H=t=>{var n=pi(),r=k(n),i=j(k(r)),a=k(i),c=k(a);f(c,17,()=>e(M),e=>e.name,(t,n)=>{var r=si(),i=P(r,!0);B(()=>l(i,e(n).label)),v(t,r)});var u=j(c),p=P(u,!0);s(a),s(i);var m=j(i);f(m,21,()=>e(O),e=>e.key,(t,n)=>{var r=fi(),i=k(r);f(i,17,()=>e(n).values,g,(t,n)=>{var r=di(),i=P(r,!0);B(()=>l(i,e(n))),v(t,r)});var a=j(i),c=k(a);o(c,()=>e(n)),s(a),s(r),v(t,r)}),s(m),s(r),s(n),B(e=>l(p,e),[()=>e(d).length?e(d).map(e=>e.field.label).join(`, `):`SKU`]),v(t,n)};n(D,t=>{e(O).length===0?t(A):e(N)&&e(F)&&e(I)?t(L,1):t(H,-1)}),s(y);var W=j(y,2),K=t=>{var n=mi(),r=P(n,!0);B(()=>l(r,e(w))),v(t,n)};n(W,t=>{e(w)&&t(K)});var ee=j(W,2),q=j(k(ee),2);s(ee),s(i),B((t,n,r)=>{l(p,t),U(y,`aria-labelledby`,`${a.active.form.id}-grid`),U(x,`id`,`${a.active.form.id}-grid`),l(C,`${n??``} `),l(E,`${e(O).length??``} ${e(O).length===1?`combination`:`combinations`}, one
8
+ SKU each${r??``}`)},[()=>a.id===void 0?`New ${a.active.form.label.toLowerCase()}`:`Edit ${a.active.form.label.toLowerCase()}`,()=>e(M).map((e,t)=>t===0?e.label:e.label.toLowerCase()).join(` by `)||`Combinations`,()=>e(d).length?`, with ${e(d).map(e=>e.field.label.toLowerCase()).join(` and `)} for each`:``]),S(`submit`,i,Y),b(`click`,q,function(...e){a.oncancel?.apply(this,e)}),v(t,i)};n(te,t=>{e(x)?t(re,-1):t(ne)}),v(t,X),i()}x([`input`,`click`]);var _i=c(`<small class="svelte-r3pzvb"> </small>`),vi=c(`<button type="button" class="svelte-r3pzvb"> </button>`),yi=c(`<p>Loading sample data...</p>`),bi=c(`<p>No records yet. Create one above.</p>`),xi=c(`<th scope="col" class="svelte-r3pzvb"><button type="button" class="sort-button svelte-r3pzvb"> <span class="sort-icon" aria-hidden="true"> </span></button></th>`),Si=c(`<td class="svelte-r3pzvb"> </td>`),Ci=c(`<button type="button" class="secondary svelte-r3pzvb">Edit</button>`),wi=c(`<tr><td class="svelte-r3pzvb"> </td><td class="svelte-r3pzvb"> </td><td class="svelte-r3pzvb"> </td><!><td class="row-actions svelte-r3pzvb"><!> <button type="button" class="secondary svelte-r3pzvb">Delete</button></td></tr>`),Ti=c(`<!> <div class="scroll svelte-r3pzvb"><table class="planner-list svelte-r3pzvb"><thead><tr><!><th scope="col" class="svelte-r3pzvb"><span class="visually-hidden svelte-r3pzvb">Actions</span></th></tr></thead><tbody></tbody></table></div>`,1),Ei=c(`<section class="svelte-r3pzvb"><header class="svelte-r3pzvb"><h2 class="svelte-r3pzvb"> <!></h2> <div class="new svelte-r3pzvb"></div></header> <!> <!></section>`);function Di(t,a){m(a,!0);let o=gt(),c=r(()=>a.forms.some(e=>Jt(e,At))),u=r(()=>a.scope?.equals===void 0?a.forms:a.forms.filter(Gt)),d=r(()=>a.forms.find(Ht)),p=r(()=>a.forms.find(Gt)),g=E(A([])),_=E(null),x=E(A(new Set)),S=E(A(new Map)),C=E(A(new Map)),w=E(A([])),T=E(!1),O=E(null),M=E(0);async function N(){W(g,(await o.list(a.model)).filter(e=>qe(a.scope,e)),!0);let t=await o.list(wt(Dt));W(x,new Set(t.map(e=>String(e.productId))),!0),W(S,e(c)?Ft(await o.list(wt(Pt)),await o.list(wt(At))):new Map,!0);let[n,r]=await Promise.all([o.list(wt(jt)),o.list(wt(Ot))]);W(w,r,!0),W(C,new Map(e(g).map(e=>[e.id,Nt(e.id,n,r)])),!0),W(T,!0)}D(()=>{a.model.id,a.forms,a.scope,W(_,null),W(O,null),W(T,!1),N().then(()=>{let t=e(u)[0];en(Ne.url.pathname)&&t&&z(t)})}),D(()=>o.onReset?.(()=>void N()));let F=t=>e(x).has(t.id)?e(d):e(p),I=t=>F(t)?.form.kindLabel??(e(x).has(t.id)?`Clothing`:`Simple`),R=r(()=>on(e(g),e(_),(t,n)=>{switch(n){case`name`:return t.name;case`kind`:return I(t);case`price`:return t.price;case`stock`:return e(S).get(t.id);default:return}}));function z(e,t){W(O,{form:e,id:t},!0),G(M)}async function V(){W(O,null),await N()}async function H(t){let n=(await o.list(wt(Pt))).filter(e=>e.productId===t.id);await o.apply(Mt(t.id,n,wt,e(w))),await N()}async function K(t,n){let r=await new Promise((e,t)=>{let r=new FileReader;r.onerror=()=>t(r.error??Error(`Could not read image.`)),r.onload=()=>e(String(r.result)),r.readAsDataURL(n)});await o.apply(kt(t.id,n,r,e(C).get(t.id)?.length??0)),await N()}var q=Ei(),J=k(q),Y=k(J),X=k(Y),te=j(X),ne=t=>{var n=_i(),r=P(n,!0);B(e=>l(r,e),[()=>Se(e(g).length)]),v(t,n)};n(te,t=>{e(T)&&t(ne)}),s(Y);var re=j(Y,2);f(re,21,()=>e(u),e=>e.form.id,(t,n)=>{var r=vi(),i=P(r);B(e=>l(i,`New ${e??``}`),[()=>le(e(n).form.label,a.noun,a.scope?.equals!==void 0||e(u).length===1)]),b(`click`,r,()=>z(e(n))),v(t,r)}),s(re),s(J);var ie=j(J,2),ae=t=>{let i=r(()=>e(O));var o=y(),s=L(o);ee(s,()=>e(M),t=>{var o=y(),s=L(o),c=t=>{gi(t,{get active(){return e(i).form},get id(){return e(i).id},onsaved:V,oncancel:()=>W(O,null)})},l=r(()=>Ht(e(i).form)),d=t=>{{let n=r(()=>e(u).length===1?a.noun:void 0);Zt(t,{get active(){return e(i).form},get id(){return e(i).id},get preset(){return a.preset},get noun(){return e(n)},onsaved:V,oncancel:()=>W(O,null)})}},f=r(()=>Gt(e(i).form));n(s,t=>{e(l)?t(c):e(f)&&t(d,1)}),v(t,o)}),v(t,o)};n(ie,t=>{e(O)&&t(ae)});var oe=j(ie,2),se=e=>{var t=yi();v(e,t)},ce=e=>{var t=bi();v(e,t)},de=t=>{var i=Ti(),a=L(i);Br(a,{get rows(){return e(g)},get images(){return e(C)},onselect:K});var o=j(a,2),u=k(o),d=k(u),p=k(d),m=k(p);f(m,17,()=>[{key:`name`,label:`Name`},{key:`kind`,label:`Kind`},{key:`price`,label:`Price`},...e(c)?[{key:`stock`,label:`Stock`}]:[]],e=>e.key,(t,n)=>{var r=xi(),i=k(r),a=k(i,!0),o=j(a),c=P(o,!0);s(i),s(r),B(()=>{U(r,`aria-sort`,e(_)?.key===e(n).key?e(_).direction:`none`),l(a,e(n).label),l(c,e(_)?.key===e(n).key?e(_).direction===`ascending`?`↑`:`↓`:`↕`)}),b(`click`,i,()=>W(_,tn(e(_),e(n).key),!0)),v(t,r)}),h(),s(p),s(d);var y=j(d);f(y,21,()=>e(R),e=>e.id,(t,i)=>{let a=r(()=>F(e(i)));var o=wi(),u=k(o),d=P(u,!0),f=j(u),p=P(f,!0),m=j(f),h=P(m,!0),g=j(m),_=t=>{var n=Si(),r=P(n,!0);B(e=>l(r,e),[()=>e(S).get(e(i).id)??`–`]),v(t,n)};n(g,t=>{e(c)&&t(_)});var y=j(g),x=k(y),C=t=>{var n=Ci();B(()=>U(n,`aria-label`,`Edit ${e(i).name}`)),b(`click`,n,()=>z(e(a),e(i).id)),v(t,n)};n(x,t=>{e(a)&&t(C)});var w=j(x,2);s(y),s(o),B((t,n)=>{l(d,e(i).name),l(p,t),l(h,n),U(w,`aria-label`,`Delete ${e(i).name}`)},[()=>I(e(i)),()=>typeof e(i).price==`number`?ue(e(i).price):``]),b(`click`,w,()=>H(e(i))),v(t,o)}),s(y),s(u),s(o),v(t,i)};n(oe,t=>{e(T)?e(g).length===0?t(ce,1):t(de,-1):t(se)}),s(q),B(()=>l(X,`${a.title??(a.model.name===`Product`?`Products`:a.model.name)??``} `)),v(t,q),i()}x([`click`]);var Oi=c(`<p class="error svelte-1yufor4" role="alert" data-remove-error=""> </p>`),ki=c(`<div class="derived svelte-1yufor4"><!> <output> </output> <small class="svelte-1yufor4">Calculated from quantity, price, discount and tax.</small></div>`),Ai=c(`<p class="error svelte-1yufor4" role="alert" data-error-summary=""> </p>`),ji=c(`<form novalidate="" class="svelte-1yufor4"><!> <!> <div class="actions svelte-1yufor4"><button type="submit" class="svelte-1yufor4">Save</button> <button type="button" class="secondary svelte-1yufor4">Cancel</button></div></form>`),Mi=c(`<p class="svelte-1yufor4">Loading...</p>`),Ni=c(`<p class="empty svelte-1yufor4">None yet.</p>`),Pi=c(`<th scope="col" class="svelte-1yufor4"><button type="button" class="sort-button svelte-1yufor4"> <span class="sort-icon" aria-hidden="true"> </span></button></th>`),Fi=c(`<td class="svelte-1yufor4"> </td>`),Ii=c(`<tr><!><td class="row-actions svelte-1yufor4"><button type="button" class="secondary svelte-1yufor4">Edit</button> <button type="button" class="secondary svelte-1yufor4">Delete</button></td></tr>`),Li=c(`<div class="scroll svelte-1yufor4"><table class="planner-list svelte-1yufor4"><thead><tr><!><th scope="col" class="svelte-1yufor4"><span class="visually-hidden svelte-1yufor4">Actions</span></th></tr></thead><tbody></tbody></table></div>`),Ri=c(`<section class="children svelte-1yufor4"><header class="svelte-1yufor4"><h3 class="svelte-1yufor4"> <small class="svelte-1yufor4"> </small></h3> <!> <button type="button" class="secondary svelte-1yufor4"> </button></header> <!> <!></section>`);function zi(t,a){m(a,!0);let o=gt(),c=r(()=>[...a.fields.filter(e=>e.name!==a.fk)].sort((t,n)=>Number(e(u)&&ye(n))-Number(e(u)&&ye(t)))),u=r(()=>oe(a.model)),d=r(()=>zt(e(c))),p=r(()=>ie(a.model,!1)),g=t=>t===`amount`?_e(e(R)):e(R)[t],_=E(A({})),x=E(``),C=E(``),w=r(()=>Xt(e(c),e(_))||e(x)),T=E(A([])),O=E(A(new Map)),M=E(null),N=r(()=>on(e(T),e(M),(t,n)=>{let r=e(d).find(e=>e.name===n);if(!r)return;let i=qt(r,t);return r.type===`foreignKey`||r.type===`crossPackageRef`?fe(r,i,e(O)):i})),F=E(!1),I=E(null),R=E(A({})),z=E(0);async function H(){let t=Bt(await o.list(a.model),a.fk,a.parentId);W(O,await Re(o,e(c),t),!0),W(T,t,!0),W(F,!0)}D(()=>{a.model.id,a.parentId,W(M,null),W(I,null),W(F,!1),H()});let K=t=>Qt(a.model,e(c),t,e(O))||Be(t.id);function q(){W(_,{},!0),W(x,``),W(R,Ut(e(c),a.fk,a.parentId),!0),W(I,`new`),G(z)}function J(e){W(_,{},!0),W(x,``),W(R,{...e},!0),W(I,e.id,!0),G(z)}async function Y(t,n){if(e(R)[t.name]=n,delete e(_)[t.name],!e(u)||!ye(t)||typeof n!=`string`)return;let r=t.related&&pe(t.related)?.model,i=r?await o.get(r,n):void 0;Object.assign(e(R),ae(a.model,i))}async function X(t){t.preventDefault();let n=t.currentTarget;if(W(_,Wt(e(c),e(R),e(p)),!0),Object.keys(e(_)).length>0){await V(),Yt(n);return}let r={};for(let t of e(c))e(p).has(t.name)||(r[t.name]=e(R)[t.name]);r[a.fk]=a.parentId;try{e(I)===`new`?await o.create(a.model,r):e(I)&&await o.update(a.model,e(I),r)}catch(e){W(x,e instanceof Error?e.message:String(e),!0);return}W(x,``),W(I,null),await H(),a.onchanged?.()}async function te(e){W(C,``);try{await o.delete(a.model,e.id)}catch(e){W(C,e instanceof Error?e.message:String(e),!0);return}await H(),a.onchanged?.()}var ne=Ri(),re=k(ne),se=k(re),ce=k(se),le=j(ce),ue=P(le,!0);s(se);var de=j(se,2),me=t=>{var n=Oi(),r=P(n,!0);B(()=>l(r,e(C))),v(t,n)};n(de,t=>{e(C)&&t(me)});var he=j(de,2),ge=P(he);s(re);var ve=j(re,2),be=t=>{var i=y(),o=L(i);ee(o,()=>e(z),t=>{var i=ji(),o=k(i);f(o,17,()=>e(c),e=>e.name,(t,i)=>{var o=y(),c=L(o),u=t=>{var n=ki(),r=k(n);Me(r,{get label(){return e(i).label}});var a=j(r,2),o=P(a,!0);h(2),s(n),B(t=>{U(a,`data-derived`,e(i).name),l(o,t)},[()=>fe(e(i),g(e(i).name),e(O))]),v(t,n)},d=r(()=>e(p).has(e(i).name)),f=t=>{Kt(t,{get field(){return e(i)},get error(){return e(_)[e(i).name]},get modelId(){return a.model.id},get label(){return e(i).label},get help(){return e(i).help},get value(){return e(R)[e(i).name]},onchange:t=>Y(e(i),t)})};n(c,t=>{e(d)?t(u):t(f,-1)}),v(t,o)});var u=j(o,2),d=t=>{var n=Ai(),r=P(n,!0);B(()=>l(r,e(w))),v(t,n)};n(u,t=>{e(w)&&t(d)});var m=j(u,2),x=j(k(m),2);s(m),s(i),S(`submit`,i,X),b(`click`,x,()=>W(I,null)),v(t,i)}),v(t,i)};n(ve,t=>{e(I)&&t(be)});var xe=j(ve,2),Se=e=>{var t=Mi();v(e,t)},Ce=e=>{var t=Ni();v(e,t)},Z=t=>{var n=Li(),r=k(n),i=k(r),a=k(i),o=k(a);f(o,17,()=>e(d),e=>e.name,(t,n)=>{var r=Pi(),i=k(r),a=k(i,!0),o=j(a),c=P(o,!0);s(i),s(r),B(()=>{U(r,`aria-sort`,e(M)?.key===e(n).name?e(M).direction:`none`),l(a,e(n).label),l(c,e(M)?.key===e(n).name?e(M).direction===`ascending`?`↑`:`↓`:`↕`)}),b(`click`,i,()=>W(M,tn(e(M),e(n).name),!0)),v(t,r)}),h(),s(a),s(i);var c=j(i);f(c,21,()=>e(N),e=>e.id,(t,n)=>{var r=Ii(),i=k(r);f(i,17,()=>e(d),e=>e.name,(t,r)=>{var i=Fi(),a=P(i,!0);B(e=>l(a,e),[()=>fe(e(r),qt(e(r),e(n)),e(O))]),v(t,i)});var a=j(i),o=k(a),c=j(o,2);s(a),s(r),B((e,t)=>{U(o,`aria-label`,e),U(c,`aria-label`,t)},[()=>`Edit ${K(e(n))}`,()=>`Delete ${K(e(n))}`]),b(`click`,o,()=>J(e(n))),b(`click`,c,()=>te(e(n))),v(t,r)}),s(c),s(r),s(n),v(t,n)};n(xe,t=>{e(F)?e(T).length===0?t(Ce,1):t(Z,-1):t(Se)}),s(ne),B(t=>{U(ne,`data-child-model`,a.model.name),l(ce,`${a.title??``} `),l(ue,e(T).length),l(ge,`Add ${t??``}`)},[()=>a.title.toLowerCase().replace(/s$/,``)]),b(`click`,he,q),v(t,ne),i()}x([`click`]);var Bi=c(`<small class="svelte-1f6fvpi"> </small>`),Vi=c(`<p class="error svelte-1f6fvpi" role="alert" data-write-error=""> </p>`),Hi=c(`<p class="filter svelte-1f6fvpi" data-list-filter=""> <a>Show all</a></p>`),Ui=c(`<button type="button" class="svelte-1f6fvpi"> </button>`),Wi=c(`<div><dt class="svelte-1f6fvpi"> </dt> <dd class="svelte-1f6fvpi"><output> </output></dd></div>`),Gi=c(`<div class="derived totals svelte-1f6fvpi" data-derived-group="totals"><dl class="svelte-1f6fvpi"></dl> <small class="svelte-1f6fvpi">Calculated from the line items.</small></div>`),Ki=c(`<div class="derived svelte-1f6fvpi"><!> <output> </output> <small class="svelte-1f6fvpi">Calculated from the payments applied to this record.</small></div>`),qi=c(`<p class="error svelte-1f6fvpi" role="alert" data-error-summary=""> </p>`),Ji=c(`<form class="planner-form" novalidate=""><h3 class="svelte-1f6fvpi"> </h3> <!> <!> <div class="actions svelte-1f6fvpi"><button type="submit" class="svelte-1f6fvpi">Save</button> <button type="button" class="secondary svelte-1f6fvpi"> </button></div></form>`),Yi=c(`<!> <!>`,1),Xi=c(`<p>Loading...</p>`),Zi=c(`<p>No records yet. Create one above.</p>`),Qi=c(`<th scope="col" class="svelte-1f6fvpi"><button type="button" class="sort-button svelte-1f6fvpi"> <span class="sort-icon" aria-hidden="true"> </span></button></th>`),$i=c(`<td class="svelte-1f6fvpi"> </td>`),ea=c(`<tr class="row svelte-1f6fvpi"><!><td class="row-actions svelte-1f6fvpi"><a class="secondary svelte-1f6fvpi" data-view="">View</a> <button type="button" class="secondary svelte-1f6fvpi">Delete</button></td></tr>`),ta=c(`<div class="scroll svelte-1f6fvpi"><table class="planner-list svelte-1f6fvpi"><thead><tr><!><th scope="col" class="svelte-1f6fvpi"><span class="visually-hidden svelte-1f6fvpi">Actions</span></th></tr></thead><tbody></tbody></table></div>`),na=c(`<section class="svelte-1f6fvpi"><header class="svelte-1f6fvpi"><h2 class="svelte-1f6fvpi"> <!></h2> <!> <!> <!></header> <!> <!></section>`);function ra(t,a){m(a,!0);let o=w(a,`forms`,19,()=>[]),c=w(a,`childTables`,19,()=>[]),u=w(a,`href`,3,be),d=gt(),p=r(()=>a.fields??ne(a.model).map(e=>({...e,label:xe(e)}))),g=r(()=>o().filter(e=>Gt(e))),_=r(()=>zt(e(p))),x=r(()=>ie(a.model,c().some(e=>oe(e.model)),c().some(e=>re(e.model)))),C=r(()=>e(p).filter(t=>e(x).has(t.name)&&Ce.includes(t.name))),T=r(()=>a.noun??ve(a.model.name).toLowerCase()),O=r(()=>a.title??se(ve(a.model.name))),M=r(()=>pe(a.model.id)?.pkg.id??``),N=t=>u()(Xe(e(M),a.model.name,t.id)),F=r(()=>a.scope?.equals===void 0?void 0:e(p).find(e=>e.name===a.scope.field&&(e.type===`foreignKey`||e.type===`crossPackageRef`)&&e.related)),I=E(``);D(()=>{let t=e(F),n=a.scope?.equals;if(W(I,``),!t?.related||n===void 0)return;let r=pe(t.related)?.model;r&&Pe(d,r,n).then(n=>{n&&e(F)===t&&W(I,n.label,!0)})});let R=E(A([])),z=E(null),H=E(A(new Map)),K=r(()=>on(e(R),e(z),(t,n)=>{let r=e(_).find(e=>e.name===n);if(!r)return;let i=qt(r,t);return r.type===`foreignKey`||r.type===`crossPackageRef`?fe(r,i,e(H)):i})),q=E(!1),J=E(null),Y=E(void 0),X=E(A({})),te=E(0),ae=E(A({})),ce=E(``),ue=r(()=>Xt(e(p),e(ae))),de=e=>e instanceof Error?e.message:String(e),me=t=>Qt(a.model,e(p),t,e(H))||Be(t.id),he=r(()=>e(J)&&e(J)!==`new`?Qt(a.model,e(p),e(R).find(t=>t.id===e(J))??{},e(H)):``);async function ge(){let t=(await d.list(a.model)).filter(e=>qe(a.scope,e));W(H,await Re(d,e(p),t),!0),W(R,t,!0),W(q,!0)}D(()=>{a.model.id,a.scope,W(z,null),W(J,null),W(q,!1),ge().then(()=>{typeof location<`u`&&en(location.pathname)&&ye(e(g)[0])})}),D(()=>d.onReset?.(()=>void ge()));async function _e(){W(J,null),await ge()}function ye(t){if(t){W(Y,t,!0),W(J,`new`),G(te);return}W(Y,void 0),W(X,{...Rt(e(p)),...a.preset},!0),W(ae,{},!0),W(J,`new`),G(te)}function Z(e){e.target?.closest(`a, button`)||e.currentTarget.querySelector(`a[data-view]`)?.click()}async function we(t){t.preventDefault();let n=t.currentTarget;if(W(ae,Wt(e(p),e(X),e(x)),!0),Object.keys(e(ae)).length>0){await V(),Yt(n);return}let r={};for(let t of e(p))e(x).has(t.name)||(r[t.name]=e(X)[t.name]);W(ce,``);try{if(e(J)===`new`){let t=await d.create(a.model,r);W(J,c().length?t.id:null,!0),e(J)&&(W(X,{...t},!0),G(te))}else e(J)&&(await d.update(a.model,e(J),r),W(J,null))}catch(e){W(ce,de(e),!0);return}await ge()}async function Te(){if(!e(J)||e(J)===`new`)return;let t=await d.get(a.model,e(J));if(t){for(let n of e(x))e(X)[n]=t[n];e(x).has(`amountPaid`)&&(e(X).status=t.status)}await ge()}async function Ee(e){W(ce,``);try{await d.delete(a.model,e.id)}catch(e){W(ce,de(e),!0);return}await ge()}var De=na(),Oe=k(De),ke=k(Oe),Ae=k(ke),je=j(Ae),Ne=t=>{var n=Bi(),r=P(n,!0);B(e=>l(r,e),[()=>Se(e(R).length)]),v(t,n)};n(je,t=>{e(q)&&t(Ne)}),s(ke);var Fe=j(ke,2),Ie=t=>{var n=Vi(),r=P(n,!0);B(()=>l(r,e(ce))),v(t,n)};n(Fe,t=>{e(ce)&&t(Ie)});var Le=j(Fe,2),ze=t=>{var n=Hi(),r=k(n),i=j(r);s(n),B((t,n)=>{l(r,`${e(F).label??``}: ${t??``}
9
+ · `),U(i,`href`,n)},[()=>e(I)||Be(a.scope?.equals),()=>u()(Ue(e(M),a.model.name))]),v(t,n)};n(Le,t=>{e(F)&&t(ze)});var Ve=j(Le,2),He=t=>{var n=y(),r=L(n);f(r,17,()=>e(g),e=>e.form.id,(t,n)=>{var r=Ui(),i=P(r);B(e=>l(i,`New ${e??``}`),[()=>le(e(n).form.label,a.noun,e(g).length===1)]),b(`click`,r,()=>ye(e(n))),v(t,r)}),v(t,n)},We=t=>{var n=Ui(),r=P(n);B(()=>l(r,`New ${e(T)??``}`)),b(`click`,n,()=>ye()),v(t,n)};n(Ve,t=>{e(g).length?t(He):t(We,-1)}),s(Oe);var Ge=j(Oe,2),Ke=t=>{var i=Yi(),o=L(i);ee(o,()=>e(te),t=>{var i=y(),o=L(i),u=t=>{{let n=r(()=>e(J)===`new`?void 0:e(J)),i=r(()=>e(g).length===1?a.noun:void 0);Zt(t,{get active(){return e(Y)},get id(){return e(n)},get preset(){return a.preset},get noun(){return e(i)},onsaved:_e,oncancel:()=>W(J,null)})}},d=t=>{var i=Ji(),o=k(i),u=P(o,!0),d=j(o,2);f(d,17,()=>e(p),e=>e.name,(t,i)=>{var o=y(),c=L(o),u=t=>{var r=y(),a=L(r),o=t=>{var n=Gi(),r=k(n);f(r,21,()=>e(C),e=>e.name,(t,n)=>{var r=Wi(),i=k(r),a=P(i,!0),o=j(i,2),c=k(o),u=P(c,!0);s(o),s(r),B(t=>{l(a,e(n).label),U(c,`data-derived`,e(n).name),l(u,t)},[()=>fe(e(n),e(X)[e(n).name]??0,e(H))]),v(t,r)}),s(r),h(2),s(n),v(t,n)};n(a,t=>{e(i)===e(C)[0]&&t(o)}),v(t,r)},d=r(()=>e(C).includes(e(i))),p=t=>{var n=Ki(),r=k(n);Me(r,{get label(){return e(i).label}});var a=j(r,2),o=P(a,!0);h(2),s(n),B(t=>{U(a,`data-derived`,e(i).name),l(o,t)},[()=>fe(e(i),e(X)[e(i).name]??0,e(H))||`—`]),v(t,n)},m=r(()=>e(x).has(e(i).name)),g=t=>{Kt(t,{get field(){return e(i)},get error(){return e(ae)[e(i).name]},get modelId(){return a.model.id},get label(){return e(i).label},get help(){return e(i).help},get value(){return e(X)[e(i).name]},onchange:t=>{e(X)[e(i).name]=t,delete e(ae)[e(i).name]}})};n(c,t=>{e(d)?t(u):e(m)?t(p,1):t(g,-1)}),v(t,o)});var m=j(d,2),g=t=>{var n=qi(),r=P(n,!0);B(()=>l(r,e(ue))),v(t,n)};n(m,t=>{e(ue)&&t(g)});var _=j(m,2),w=j(k(_),2),E=P(w,!0);s(_),s(i),B(()=>{l(u,e(J)===`new`?`New ${e(T)}`:e(he)||a.model.name),l(E,c().length?`Back to list`:`Cancel`)}),S(`submit`,i,we),b(`click`,w,()=>W(J,null)),v(t,i)};n(o,t=>{e(Y)?t(u):t(d,-1)}),v(t,i)});var u=j(o,2),d=t=>{var n=y(),r=L(n);f(r,17,c,e=>e.model.id,(t,n)=>{zi(t,{get model(){return e(n).model},get fields(){return e(n).fields},get fk(){return e(n).fk},get title(){return e(n).title},get parentId(){return e(J)},onchanged:Te})}),v(t,n)};n(u,t=>{e(J)!==`new`&&t(d)}),v(t,i)};n(Ge,t=>{e(J)&&t(Ke)});var Je=j(Ge,2),Ye=e=>{},Ze=e=>{var t=Xi();v(e,t)},Qe=e=>{var t=Zi();v(e,t)},$e=t=>{var n=ta(),r=k(n),i=k(r),a=k(i),o=k(a);f(o,17,()=>e(_),e=>e.name,(t,n)=>{var r=Qi(),i=k(r),a=k(i,!0),o=j(a),c=P(o,!0);s(i),s(r),B(()=>{U(r,`aria-sort`,e(z)?.key===e(n).name?e(z).direction:`none`),l(a,e(n).label),l(c,e(z)?.key===e(n).name?e(z).direction===`ascending`?`↑`:`↓`:`↕`)}),b(`click`,i,()=>W(z,tn(e(z),e(n).name),!0)),v(t,r)}),h(),s(a),s(i);var c=j(i);f(c,21,()=>e(K),e=>e.id,(t,n)=>{var r=ea(),i=k(r);f(i,17,()=>e(_),e=>e.name,(t,r)=>{var i=$i(),a=P(i,!0);B(e=>l(a,e),[()=>fe(e(r),qt(e(r),e(n)),e(H))]),v(t,i)});var a=j(i),o=k(a),c=j(o,2);s(a),s(r),B((e,t,n)=>{U(o,`href`,e),U(o,`aria-label`,t),U(c,`aria-label`,n)},[()=>N(e(n)),()=>`View ${me(e(n))}`,()=>`Delete ${me(e(n))}`]),b(`click`,r,Z),b(`click`,c,()=>Ee(e(n))),v(t,r)}),s(c),s(r),s(n),v(t,n)};n(Je,t=>{e(J)&&c().length?t(Ye):e(q)?e(R).length===0?t(Qe,2):t($e,-1):t(Ze,1)}),s(De),B(()=>l(Ae,`${e(O)??``} `)),v(t,De),i()}x([`click`]);var ia=c(`<p>Loading...</p>`),aa=c(`<div class="missing svelte-ac0bnk"><h1 class="svelte-ac0bnk">Record not found</h1> <p>This record is not in your app's sample data. <a> </a></p></div>`),oa=c(`<div class="record-view svelte-ac0bnk"><!></div>`);function sa(t,a){m(a,!0);let o=t=>{var n=y(),r=L(n);f(r,17,()=>e(N),e=>e.model.id,(t,n)=>{zi(t,{get model(){return e(n).model},get fields(){return e(n).fields},get fk(){return e(n).fk},get title(){return e(n).title},get parentId(){return a.recordId},onchanged:ue})}),v(t,n)},c=w(a,`mode`,3,`view`),u=w(a,`href`,3,be),d=w(a,`navigate`,3,e=>{location.assign(u()(e))}),p=gt(),h=r(()=>de(a.packageId,a.modelName)),g=r(()=>e(h)?pt.apply(e(h)):void 0),b=r(()=>e(h)?Ge(e(h)):void 0),x=r(()=>e(h)&&e(g)?Ke(e(h),c()===`view`&&ze(e(h))?e(g).fields.filter(e=>e.name!==`profileId`):e(g).fields):void 0),S=r(()=>pt.ids.flatMap(e=>{let t=ht.get(e);return t?[t]:[]})),C=r(()=>Ye(e(S),pt.features)),T=r(()=>e(h)?We(ge,e(h).id,e(C)):[]),O=r(()=>tt(a.packageId,a.modelName)),M=r(()=>Qe(e(O),e(C))),N=r(()=>{if(!e(h))return[];let t=st(ge,e(h).id);return it(ge,lt,e(h).id).map(e=>{let n=pt.apply(e.model);return{model:n.model,fields:n.fields,fk:e.fk,title:ot(e.model.name,t)}})}),F=r(()=>e(h)?ie(e(h),e(N).some(e=>oe(e.model)),e(N).some(e=>re(e.model))):new Set),I=E(void 0),R=E(!1),z=E(void 0),V=E(A(new Map)),H=E(!1),G=E(!1),K=E(null);async function q(){if(!e(h)){W(R,!0);return}let t=await p.get(e(h),a.recordId);if(W(I,t,!0),t){let n;await(async e=>{var t=_(e,2);n=t[0],W(V,t[1],!0)})(await Promise.all([Le(p,e(h),t),Re(p,e(h).fields,[t])])),W(z,Fe(e(h),t,n,ve(a.modelName))===n?n:void 0,!0)}W(R,!0)}D(()=>{a.recordId,e(h)?.id,W(R,!1),q()}),D(()=>p.onReset?.(()=>void q()));let J=r(()=>Ue(a.packageId,a.modelName)),Y=r(()=>se(ve(a.modelName)));function X(t){return e(T).find(e=>e.kind===`reference`&&e.field===t.name)}function te(t,n){let r=X(t);if(!r||!e(C).has(r.model))return;let i=pe(r.model);return i?.model.exposed?u()(Xe(i.pkg.id,i.model.name,n)):void 0}let ne=r(()=>Object.fromEntries(e(T).filter(e=>e.kind===`reference`).map(t=>[t.model,n=>e(V).get(he(t.model,n))])));function ae(e){let t=pe(e.model);return t?.model.exposed?u()(Je(t.pkg.id,t.model.name,e.field,a.recordId)):void 0}async function ce(t){if(!e(h))return;let n={};for(let[r,i]of Object.entries(t))e(F).has(r)||(n[r]=i);W(H,!0),W(K,null);try{await p.update(e(h),a.recordId,n),await q(),d()(Xe(a.packageId,a.modelName,a.recordId))}catch(e){W(K,e instanceof Error?e.message:String(e),!0)}finally{W(H,!1)}}async function le(){if(e(h)){W(G,!0);try{await p.delete(e(h),a.recordId),d()(e(J))}finally{W(G,!1)}}}async function ue(){if(!e(h))return;let t=await p.get(e(h),a.recordId);t&&W(I,t,!0)}let fe=r(()=>({source:p,href:u(),relations:e(T),viewAllHref:ae}));var me=y(),_e=L(me),ye=e=>{var t=ia();v(e,t)},xe=t=>{var n=aa(),r=j(k(n),2),i=j(k(r)),a=P(i);s(r),s(n),B((e,t)=>{U(i,`href`,e),l(a,`Back to ${t??``}`)},[()=>u()(e(J)),()=>e(Y).toLowerCase()]),v(t,n)},Se=t=>{var n=y(),i=L(n);ee(i,()=>`${e(O)}:${e(C).size}`,t=>{var n=oa(),i=k(n);{let t=r(()=>Ze.overview(e(O))),n=r(()=>[...e(F)]),s=r(()=>e(N).length?o:void 0);Ie(i,{get definition(){return e(b)},get policy(){return e(x)},get record(){return e(I)},get relations(){return e(T)},get mode(){return c()},get registry(){return et},get widgetContext(){return e(fe)},get overview(){return e(M)},get override(){return e(t)},onoverviewchange:t=>Ze.setOverview(e(O),t),hrefFor:te,get labels(){return e(ne)},viewAllHref:ae,get title(){return e(z)},get backLabel(){return e(Y)},get submitting(){return e(H)},get deleting(){return e(G)},get error(){return e(K)},onback:()=>d()(e(J)),onedit:()=>d()(Xe(a.packageId,a.modelName,a.recordId,`edit`)),oncancel:()=>d()(Xe(a.packageId,a.modelName,a.recordId)),onsave:ce,ondelete:le,get derivedFields(){return e(n)},get items(){return e(s)}})}s(n),B(()=>{U(n,`data-record-view`,e(I).id),U(n,`data-mode`,c())}),v(t,n)}),v(t,n)};n(_e,t=>{e(R)?!e(h)||!e(b)||!e(I)||!e(M)?t(xe,1):t(Se,-1):t(ye)}),v(t,me),i()}var ca=c(`<a> </a> `,1),la=c(`<span class="meta svelte-7s4ovu">(not in your app yet)</span>`),ua=c(` <a> </a>`,1),da=c(`<p> <!></p>`),fa=c(`<main class="svelte-7s4ovu"><div class="bar svelte-7s4ovu"><nav aria-label="Breadcrumb"><!> <!></nav> <!></div> <!></main>`);function pa(a,o){m(o,!0);let c=r(()=>de(o.packageId,o.modelName)),d=r(()=>e(c)?pt.apply(e(c)):void 0),p=r(()=>e(d)?.model),g=r(()=>e(c)?Vt(pt.ids,lt,e(c).id):[]),_=r(()=>lt.filter(t=>e(c)&&t.models.includes(e(c).id))),b=r(()=>e(_).find(e=>pt.has(e.id))??e(_)[0]),x=r(()=>e(b)?nt(e(b)):void 0),S=r(()=>e(b)?e(b).group?.label??e(b).label:``),C=Te(),w=r(()=>{let e=Ne.url.pathname,t=e=>new URL(e,Ne.url).pathname;for(let n of C.applied.groups){let r=n.items.find(n=>t(n.href)===e);if(r)return{section:n.heading,label:r.label,sectionId:n.id??n.heading}}let n=C.applied.nav.find(n=>t(n.href)===e);return n?{section:n.label,label:n.label}:void 0}),T=r(()=>{if(e(w))return e(w);if(!e(c))return;let t=e(_).find(e=>pt.has(e.id));if(!t)return pt.hasFeature(e(c).id)?{section:Ze.layout?.sections?.[`section:${ft.id}`]?.label||ft.label,label:ve(e(c).name),sectionId:`section:${ft.id}`}:void 0;let n=at(t),r=mt(t).find(t=>t.model.id===e(c).id&&t.key===o.view);return{section:Ze.layout?.sections?.[`section:${n.id}`]?.label||n.label,label:r?.label??e(c).name,sectionId:`section:${n.id}`}}),E=e=>e.section.trim().toLowerCase()===e.label.trim().toLowerCase(),D=r(()=>e(T)&&e(c)&&e(T).label.toLowerCase()!==ve(e(c).name).toLowerCase()?e(T).label:void 0),O=r(()=>e(_).flatMap(e=>mt(e)).find(t=>t.model.id===e(c)?.id&&t.key===o.view&&t.noun)?.noun),A=r(()=>e(c)?Ve(e(c).id,o.view,pt.ids.flatMap(e=>{let t=lt.find(t=>t.id===e);return t?mt(t):[]})):void 0),N=r(()=>e(c)?He(Ne.url.search,e(c)):void 0),F=r(()=>e(N)??e(A)),I=r(()=>$e(e(F))),R=r(()=>e(T)?me(e(T).label,e(O)):void 0),z=r(()=>{let t=e(_).find(t=>t.help&&nt(t)===e(x)&&pt.has(t.id))??e(_).find(t=>t.help&&nt(t)===e(x));if(!t?.help)return;let{glossary:n}=$t(t.help,dt(t,pt.rows));return n.some(e=>e.model===o.modelName)?`${t.id}-fields-${o.modelName}`:void 0}),V=r(()=>{if(!e(c))return[];let t=st(ge,e(c).id);return it(ge,lt,e(c).id).map(e=>{let n=pt.apply(e.model);return{model:n.model,fields:n.fields,fk:e.fk,title:ot(e.model.name,t)}})}),W=r(()=>!e(c)||rt(lt,e(c).id)||pt.hasFeature(e(c).id)||!e(_).length?[]:lt.flatMap(t=>mt(t).filter(n=>it(ge,[t],n.model.id).some(t=>t.model.id===e(c).id)))),G=r(()=>ce.has(o.packageId)||(e(c)?pt.hasFeature(e(c).id):!1)||e(_).some(e=>pt.has(e.id)));var K=y();t(`7s4ovu`,e=>{M((e,t)=>{H.title=`${e??``}${o.modelName??``} · ${t??``} · smrt planner`},[()=>o.recordId?`${ve(o.modelName)} record · `:``,()=>ve(o.packageId)])});var J=L(K),Y=t=>{var i=fa(),a=k(i),c=k(a),m=k(c),_=t=>{var i=y(),a=L(i),o=t=>{var n=u();B(()=>l(n,e(T).label)),v(t,n)},s=r(()=>E(e(T))||!e(T).sectionId),c=t=>{var n=ca(),r=L(n),i=P(r,!0),a=j(r);B(t=>{U(r,`href`,t),l(i,e(T).section),l(a,` / ${e(T).label??``}`)},[()=>be(Lt(e(T).sectionId))]),v(t,n)};n(a,t=>{e(s)?t(o):t(c,-1)}),v(t,i)},b=t=>{var n=u();B(()=>l(n,e(p).name)),v(t,n)};n(m,t=>{e(T)?t(_):t(b,-1)});var C=j(m,2),w=e=>{var t=la();v(e,t)};n(C,t=>{Ze.loaded&&!e(G)&&t(w)}),s(c);var O=j(c,2),A=t=>{_t(t,{get section(){return e(x)},get label(){return e(S)},get helpAnchor(){return e(z)}})};n(O,t=>{e(x)&&t(A)}),s(a);var M=j(a,2),N=e=>{var t=y(),n=L(t);ee(n,()=>o.recordId,e=>{sa(e,{get packageId(){return o.packageId},get modelName(){return o.modelName},get recordId(){return o.recordId},get mode(){return o.mode},navigate:e=>void q(be(e))})}),v(e,t)},H=t=>{var n=da(),r=k(n),i=j(r);f(i,19,()=>e(W),e=>e.model.id,(t,n,r)=>{h();var i=ua(),a=L(i,!0),o=j(a),s=P(o,!0);B(t=>{l(a,e(r)?`, `:``),U(o,`href`,t),l(s,e(n).label)},[()=>be(ut(e(n)))]),v(t,i)}),s(n),B(e=>l(r,`${e??``} records live inside their parent record. Open
10
+ one of: `),[()=>ve(e(p).name)]),v(t,n)},K=t=>{Di(t,{get model(){return e(p)},get forms(){return e(g)},get scope(){return e(F)},get preset(){return e(I)},get title(){return e(D)},get noun(){return e(R)}})},J=t=>{ra(t,{get model(){return e(p)},get fields(){return e(d).fields},get forms(){return e(g)},get childTables(){return e(V)},get title(){return e(D)},get noun(){return e(R)},get scope(){return e(F)},get preset(){return e(I)}})};n(M,t=>{o.recordId?t(N):e(W).length?t(H,1):e(g).length&&e(p).id===`@happyvertical/smrt-products:Product`?t(K,2):t(J,-1)}),s(i),v(t,i)};n(J,t=>{e(p)&&e(d)&&t(Y)}),v(a,K),i()}export{pa as t};
@@ -0,0 +1 @@
1
+ import{$ as e,Ct as t,Dt as n,Ot as r,a as i}from"./vNEnXNLV.js";import"./xihTtKlq.js";import{n as a}from"./Dreozana.js";import{t as o}from"./BzMfoxBk.js";function s(s,c){r(c,!0);let l=i(c,`dismissible`,3,!1),u=i(c,`class`,3,``),d=o(),f=t(()=>d.isAILoading),p=t(()=>d.aiLoading),m=t(()=>c.show??e(f));function h(e){switch(e){case`checking`:return`Checking AI capabilities...`;case`downloading`:return`Downloading AI models...`;case`initializing`:return`Initializing AI...`;case`ready`:return`AI Ready`;case`error`:return`Error loading AI`;default:return`Loading...`}}let g=t(()=>c.message??h(e(p).phase)),_=t(()=>e(p).overallProgress),v=t(()=>e(p).loaded),y=t(()=>e(p).error);a(s,{get show(){return e(m)},get message(){return e(g)},get progress(){return e(_)},get items(){return e(v)},get error(){return e(y)},get dismissible(){return l()},get class(){return u()},get ondismiss(){return c.ondismiss}}),n()}export{s as default};
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,Ct as n,Dt as r,E as i,F as a,Ft as o,G as s,H as c,J as l,K as u,L as d,Ot as f,R as p,T as m,U as h,W as g,X as _,Y as v,Z as y,a as b,bt as x,ct as S,d as C,dt as w,ft as T,ht as E,k as D,mt as O,pt as k,q as A,st as j,tt as M,v as N,vt as P}from"./vNEnXNLV.js";import"./xihTtKlq.js";import{i as F,t as I}from"./D0FW0z6R.js";function L(e,t,n,r=64){return n===`left`?-e>=r&&Math.abs(e)>Math.abs(t)*1.5:n===`right`?e>=r&&Math.abs(e)>Math.abs(t)*1.5:t>=r&&Math.abs(t)>Math.abs(e)*1.5}function R(e,t){let n=t,r=null;function i(e){if(n.enabled===!1||e.touches.length!==1)return;let t=e.touches[0];r={x:t.clientX,y:t.clientY}}function a(e){if(!r)return;let t=e.changedTouches[0],i=t.clientX-r.x,a=t.clientY-r.y;r=null,L(i,a,n.direction,n.threshold)&&n.onDismiss()}function o(){r=null}return e.addEventListener(`touchstart`,i,{passive:!0}),e.addEventListener(`touchend`,a),e.addEventListener(`touchcancel`,o),{update(e){n=e},destroy(){e.removeEventListener(`touchstart`,i),e.removeEventListener(`touchend`,a),e.removeEventListener(`touchcancel`,o)}}}var z=s(`<strong data-smrt-part="title" class="svelte-d8rvqy"> </strong>`),B=s(`<div class="smrt-alert__message svelte-d8rvqy" data-smrt-part="message"><!></div>`),V=s(`<div class="smrt-alert__action svelte-d8rvqy" data-smrt-part="actions"><!></div>`),H=s(`<button type="button" class="smrt-alert__dismiss svelte-d8rvqy" data-smrt-part="close" aria-label="Dismiss">×</button>`),U=s(`<div data-smrt-component="Alert"><span class="smrt-alert__marker svelte-d8rvqy" data-smrt-part="marker" aria-hidden="true"></span> <div class="smrt-alert__content svelte-d8rvqy" data-smrt-part="body"><!> <!></div> <!> <!></div>`);function W(r,s){let l=b(s,`variant`,3,`info`),u=b(s,`dismissible`,3,!1),d=b(s,`class`,3,``),f=n(()=>l()===`error`||l()===`warning`?`alert`:`status`);var p=U(),m=E(T(p),2),g=T(m),v=e=>{var t=z(),n=O(t,!0);j(()=>c(n,s.title)),h(e,t)};t(g,e=>{s.title&&e(v)});var y=E(g,2),x=e=>{var t=B(),n=T(t);a(n,()=>s.children),o(t),h(e,t)};t(y,e=>{s.children&&e(x)}),o(m);var S=E(m,2),C=e=>{var t=V(),n=T(t);a(n,()=>s.action),o(t),h(e,t)};t(S,e=>{s.action&&e(C)});var w=E(S,2),D=e=>{var t=H();_(`click`,t,function(...e){s.ondismiss?.apply(this,e)}),h(e,t)};t(w,e=>{u()&&e(D)}),o(p),j(()=>{i(p,1,`smrt-alert__root smrt-alert__${l()??``} ${d()??``}`,`svelte-d8rvqy`),N(p,`role`,e(f))}),h(r,p)}v([`click`]);var G=e=>{let t=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,n=new Set,r=new Set,i=new Set,a=a=>{if(t())return;let o=e.getBoundingClientRect(),s=`touches`in a?a.touches[0].clientX:a.clientX,c=`touches`in a?a.touches[0].clientY:a.clientY,l=s-o.left,u=c-o.top,d=Math.max(o.width,o.height)*2.5,f=d/2,p=document.createElement(`span`);p.style.position=`absolute`,p.style.borderRadius=`50%`,p.style.pointerEvents=`none`,p.style.width=p.style.height=`${d}px`,p.style.left=`${l-f}px`,p.style.top=`${u-f}px`,p.style.backgroundColor=`var(--smrt-color-primary, currentColor)`,p.style.opacity=`0.12`,p.style.transform=`scale(0)`,p.style.transition=`transform 600ms cubic-bezier(0.4, 0, 0.2, 1), opacity 600ms linear`,p.classList.add(`smrt-ripple`),e.appendChild(p),n.add(p),requestAnimationFrame(()=>{p.style.transform=`scale(1)`});let m,h=()=>{window.removeEventListener(`mouseup`,m),window.removeEventListener(`touchend`,m),i.delete(m)};m=()=>{h(),p.style.opacity=`0`;let t=setTimeout(()=>{r.delete(t),n.delete(p),p.parentNode===e&&e.removeChild(p)},600);r.add(t)},i.add(m),window.addEventListener(`mouseup`,m,{once:!0}),window.addEventListener(`touchend`,m,{once:!0})};e.addEventListener(`mousedown`,a),e.addEventListener(`touchstart`,a,{passive:!0});let o=e.style.position,s=e.style.overflow;return(!e.style.position||e.style.position===`static`)&&(e.style.position=`relative`),e.style.overflow=`hidden`,{destroy(){e.removeEventListener(`mousedown`,a),e.removeEventListener(`touchstart`,a);for(let e of r)clearTimeout(e);r.clear();for(let e of i)window.removeEventListener(`mouseup`,e),window.removeEventListener(`touchend`,e);i.clear();for(let t of n)t.parentNode===e&&e.removeChild(t);n.clear(),e.style.position=o,e.style.overflow=s}}},K=s(`<span class="spinner svelte-1vw3ers"></span>`),q=s(`<dialog class="dialog-backdrop svelte-1vw3ers" aria-modal="true" tabindex="-1" data-smrt-component="ConfirmDialog"><div class="dialog-content svelte-1vw3ers"><h2 class="dialog-title svelte-1vw3ers"> </h2> <div class="dialog-message svelte-1vw3ers"><!></div> <div class="dialog-actions svelte-1vw3ers"><button type="button" class="btn btn-text svelte-1vw3ers"> </button> <button type="button"><!> </button></div></div></dialog>`);function J(n,s){let u=A();f(s,!0);let d=b(s,`confirmLabel`,3,`Confirm`),p=b(s,`cancelLabel`,3,`Cancel`),m=b(s,`destructive`,3,!1),v=b(s,`loading`,3,!1),w=x(null),F=x(null),I=null;function L(){return e(w)?Array.from(e(w).querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)):[]}S(()=>{let t=e(w);if(s.open&&t)return I=document.activeElement,t.showModal(),M().then(()=>{t.open&&(e(F)?.disabled?L()[0]??t:e(F))?.focus()}),()=>{t.open&&t.close(),I?.focus(),I=null}});function R(e){e.preventDefault(),e.stopPropagation(),s.oncancel?.()}function z(e){e.target===e.currentTarget&&s.oncancel?.()}function B(t){if(t.key===`Escape`){R(t);return}if(t.key!==`Tab`)return;let n=L();if(n.length===0){t.preventDefault();return}let r=n[0],i=n[n.length-1],a=document.activeElement;t.shiftKey?(a===r||!e(w)?.contains(a))&&(t.preventDefault(),i.focus()):(a===i||!e(w)?.contains(a))&&(t.preventDefault(),r.focus())}var V=g(),H=k(V),U=n=>{var r=q(),f=T(r),b=T(f),x=O(b,!0),S=E(b,2),A=T(S),M=e=>{var t=l();j(()=>c(t,s.message)),h(e,t)},I=e=>{var t=g(),n=k(t);a(n,()=>s.message),h(e,t)};t(A,e=>{typeof s.message==`string`?e(M):e(I,-1)}),o(S);var L=E(S,2),V=T(L),H=O(V,!0);D(V,e=>G?.(e));var U=E(V,2);let W;var J=T(U),Y=e=>{var t=K();h(e,t)};t(J,e=>{v()&&e(Y)});var X=E(J);o(U),C(U,e=>P(F,e),()=>e(F)),D(U,e=>G?.(e)),o(L),o(f),o(r),C(r,e=>P(w,e),()=>e(w)),j(()=>{N(r,`aria-labelledby`,`${u}-title`),N(r,`aria-describedby`,`${u}-message`),N(b,`id`,`${u}-title`),c(x,s.title),N(S,`id`,`${u}-message`),V.disabled=v(),c(H,p()),W=i(U,1,`btn btn-filled svelte-1vw3ers`,null,W,{destructive:m()}),U.disabled=v(),c(X,` ${d()??``}`)}),_(`click`,r,z),_(`keydown`,r,B),y(`cancel`,r,R),_(`click`,V,function(...e){s.oncancel?.apply(this,e)}),_(`click`,U,function(...e){s.onconfirm?.apply(this,e)}),h(n,r)};t(H,e=>{s.open&&e(U)}),h(n,V),r()}v([`click`,`keydown`]);var Y=s(`<header class="modal__header modal__header--custom svelte-lxsqox" data-smrt-part="header"><!></header>`),X=s(`<h2 class="modal__title svelte-lxsqox" data-smrt-part="title"> </h2>`),ee=s(`<span></span>`),te=s(`<button type="button" class="modal__close svelte-lxsqox" data-smrt-part="close"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button>`),ne=s(`<header class="modal__header svelte-lxsqox" data-smrt-part="header"><!> <!></header>`),re=s(`<footer class="modal__footer svelte-lxsqox" data-smrt-part="footer"><!></footer>`),ie=s(`<dialog data-smrt-component="Modal"><div class="modal__container svelte-lxsqox"><!> <div class="modal__body svelte-lxsqox" data-smrt-part="body"><!></div> <!></div></dialog>`);function Z(s,l){f(l,!0);let{t:u}=I(),d=b(l,`open`,15,!1),p=b(l,`size`,3,`md`),m=b(l,`placement`,3,`center`),v=b(l,`closeOnBackdrop`,3,!0),w=b(l,`closeOnEscape`,3,!0),D=b(l,`showClose`,3,!0),A=x(null);S(()=>{e(A)&&(d()&&!e(A).open?e(A).showModal():!d()&&e(A).open&&e(A).close())});function M(){d(!1),l.onClose?.()}function L(t){v()&&t.target===e(A)&&M()}function R(e){e.key===`Escape`&&w()&&(e.preventDefault(),M())}function z(e){e.preventDefault(),w()&&M()}let B={sm:`modal--sm`,md:`modal--md`,lg:`modal--lg`,xl:`modal--xl`,full:`modal--full`},V=n(()=>`modal--${m()}`);var H=ie(),U=T(H),W=T(U),G=e=>{var t=Y(),n=T(t);a(n,()=>l.header),o(t),h(e,t)},K=e=>{var n=ne(),r=T(n),i=e=>{var t=X(),n=O(t,!0);j(()=>c(n,l.title)),h(e,t)},a=e=>{var t=ee();h(e,t)};t(r,e=>{l.title?e(i):e(a,-1)});var s=E(r,2),d=e=>{var t=te();j(e=>N(t,`aria-label`,e),[()=>u(F[`ui.modal.close`])]),_(`click`,t,M),h(e,t)};t(s,e=>{D()&&e(d)}),o(n),h(e,n)};t(W,e=>{l.header?e(G):(l.title||D())&&e(K,1)});var q=E(W,2),J=T(q),Z=e=>{var t=g(),n=k(t);a(n,()=>l.children),h(e,t)};t(J,e=>{l.children&&e(Z)}),o(q);var Q=E(q,2),$=e=>{var t=re(),n=T(t);a(n,()=>l.footer),o(t),h(e,t)};t(Q,e=>{l.footer&&e($)}),o(U),o(H),C(H,e=>P(A,e),()=>e(A)),j(()=>{i(H,1,`modal ${B[p()]??``} ${e(V)??``}`,`svelte-lxsqox`),N(H,`aria-label`,l.ariaLabel??l.title),N(H,`aria-describedby`,l.ariaDescribedBy)}),_(`click`,H,L),_(`keydown`,H,R),y(`cancel`,H,z),h(s,H),r()}v([`click`,`keydown`]);var Q=u(`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="icon error svelte-1a99d3k"><circle cx="12" cy="12" r="10" stroke-width="2"></circle><path d="M12 8v4m0 4h.01" stroke-width="2" stroke-linecap="round"></path></svg>`),$=u(`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" class="icon spinner svelte-1a99d3k"><path d="M12 2a10 10 0 0 1 10 10" stroke-width="2" stroke-linecap="round"></path></svg>`),ae=s(`<div class="progress-container svelte-1a99d3k"><div class="progress-bar svelte-1a99d3k"><div class="progress-fill svelte-1a99d3k"></div></div> <span class="progress-text svelte-1a99d3k"> </span></div>`),oe=s(`<span class="item-badge svelte-1a99d3k"> </span>`),se=s(`<div class="items-container svelte-1a99d3k" id="loading-items"></div>`),ce=s(`<p class="error-message svelte-1a99d3k" role="alert" aria-live="assertive"> </p>`),le=s(`<button type="button" class="dismiss-btn svelte-1a99d3k">Continue</button>`),ue=s(`<div role="dialog" aria-modal="true" aria-labelledby="loading-title" data-smrt-component="LoadingOverlay"><div class="overlay-backdrop svelte-1a99d3k"></div> <div class="overlay-content svelte-1a99d3k"><div class="loading-icon svelte-1a99d3k"><!></div> <h2 id="loading-title" class="title svelte-1a99d3k"> </h2> <!> <!> <!> <!></div></div>`);function de(n,a){f(a,!0);let s=b(a,`show`,3,!1),l=b(a,`message`,3,`Loading...`),u=b(a,`progress`,3,0),v=b(a,`items`,19,()=>[]),C=b(a,`error`,3,null),D=b(a,`dismissible`,3,!1),A=b(a,`class`,3,``),M=x(!1);S(()=>{s()||P(M,!1)});function F(){D()&&(P(M,!0),a.ondismiss?.())}function I(e){e.key===`Escape`&&D()&&(e.preventDefault(),F())}var L=g();y(`keydown`,w,I);var R=k(L),z=n=>{var r=ue(),a=E(T(r),2),s=T(a),f=T(s),g=e=>{var t=Q();h(e,t)},y=e=>{var t=$();h(e,t)};t(f,e=>{C()?e(g):e(y,-1)}),o(s);var b=E(s,2),x=O(b,!0),S=E(b,2),w=e=>{var t=ae(),n=T(t),r=T(n);let i;o(n);var a=E(n,2),s=O(a);o(t),j(()=>{i=m(r,``,i,{width:`${u()??``}%`}),c(s,`${u()??``}%`)}),h(e,t)};t(S,e=>{u()>0&&e(w)});var k=E(S,2),M=t=>{var n=se();d(n,21,v,p,(t,n)=>{var r=oe(),i=O(r,!0);j(()=>c(i,e(n))),h(t,r)}),o(n),h(t,n)};t(k,e=>{v().length>0&&e(M)});var P=E(k,2),I=e=>{var t=ce(),n=O(t,!0);j(()=>c(n,C().message)),h(e,t)};t(P,e=>{C()&&e(I)});var L=E(P,2),R=e=>{var t=le();_(`click`,t,F),h(e,t)};t(L,e=>{D()&&e(R)}),o(a),o(r),j(()=>{i(r,1,`loading-overlay ${A()??``}`,`svelte-1a99d3k`),N(r,`aria-describedby`,v().length>0?`loading-items`:void 0),N(r,`aria-busy`,!C()),c(x,l())}),h(n,r)};t(R,t=>{s()&&!e(M)&&t(z)}),h(n,L),r()}v([`click`]);var fe=s(`<span class="phone-sheet__grabber svelte-ezm9jt" aria-hidden="true"></span>`),pe=s(`<div role="dialog" aria-modal="false" tabindex="-1" data-escape-scope="" data-testid="phone-sheet" data-smrt-component="PhoneSheet"><header class="phone-sheet__header svelte-ezm9jt"><!> <h2 class="svelte-ezm9jt"> </h2> <button type="button" class="phone-sheet__close svelte-ezm9jt"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></header> <div class="phone-sheet__body svelte-ezm9jt"><!></div></div>`);function me(n,s){let l=A();f(s,!0);let u=b(s,`variant`,3,`page`),{t:d}=I(),p=`phone-sheet-${l}`,m=x(void 0),g=null;S(()=>{if(s.open)return g=document.activeElement instanceof HTMLElement?document.activeElement:null,M().then(()=>e(m)?.focus({preventScroll:!0})),()=>{let e=g;g=null,e&&document.contains(e)&&e.focus({preventScroll:!0})}});function v(e){e.key!==`Escape`||e.defaultPrevented||(e.preventDefault(),e.stopPropagation(),s.onclose())}var y=pe();let w;var k=T(y),L=T(k),z=e=>{var t=fe();h(e,t)};t(L,e=>{u()===`sheet`&&e(z)});var B=E(L,2),V=O(B,!0),H=E(B,2);o(k),D(k,(e,t)=>R?.(e,t),()=>({direction:`down`,onDismiss:s.onclose,enabled:u()===`sheet`}));var U=E(k,2),W=T(U);a(W,()=>s.children),o(U),o(y),C(y,e=>P(m,e),()=>e(m)),j(e=>{N(y,`id`,s.id),w=i(y,1,`phone-sheet phone-sheet--${u()??``}`,`svelte-ezm9jt`,w,{open:s.open}),N(y,`aria-labelledby`,p),N(y,`aria-hidden`,!s.open),y.inert=!s.open,N(B,`id`,p),c(V,s.title),N(H,`aria-label`,e)},[()=>s.closeLabel??d(F[`ui.phone_sheet.close`],{title:s.title})]),_(`keydown`,y,v),_(`click`,H,function(...e){s.onclose?.apply(this,e)}),h(n,y),r()}v([`keydown`,`click`]),v([`focusin`,`focusout`,`click`]),v([`keydown`,`click`]);export{G as a,J as i,de as n,W as o,Z as r,R as s,me as t};
@@ -0,0 +1,2 @@
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,Ot as c,Pt as l,U as u,ft as d,ht as f,mt as p,pt as m,st as h}from"./vNEnXNLV.js";import"./xihTtKlq.js";import{yt as g}from"./By-QJdbA.js";var _=a(`<li><code class="svelte-kxkftj"><b> </b> </code></li>`),v=a(`<li class="none svelte-kxkftj">None</li>`),y=a(`<li><code class="svelte-kxkftj"> </code></li>`),b=a(`<mark class="svelte-kxkftj">AI</mark>`),x=a(`<li><code class="svelte-kxkftj"> </code> <!></li>`),S=a(`<article class="svelte-kxkftj"><h3 class="svelte-kxkftj"> </h3> <div class="grid svelte-kxkftj"><div><h4 class="svelte-kxkftj">REST routes <span class="svelte-kxkftj"> </span></h4> <ul class="svelte-kxkftj"></ul></div> <div><h4 class="svelte-kxkftj">MCP tools <span class="svelte-kxkftj"> </span></h4> <ul class="svelte-kxkftj"></ul></div> <div><h4 class="svelte-kxkftj">CLI commands <span class="svelte-kxkftj"> </span></h4> <ul class="svelte-kxkftj"></ul></div> <div><h4 class="svelte-kxkftj">Methods <span class="svelte-kxkftj"> </span> AI-callable</h4> <ul class="svelte-kxkftj"></ul></div></div></article>`),C=a(`<p class="svelte-kxkftj">This app exposes no generated REST, MCP or CLI surface.</p>`),w=a(`<p class="lede svelte-kxkftj">For connecting other software or an AI assistant to this app. All of it is
2
+ generated by s-m-r-t from the model; none of it was written by hand.</p> <!>`,1),T=a(`<section class="panel svelte-kxkftj" aria-label="Connect other tools"><!></section>`);function E(a,E){c(E,!0);let D=n(()=>E.models.filter(e=>e.exposed));var O=T(),k=d(O);g(k,{title:`Connect other tools`,children:(n,r)=>{var a=w(),c=f(m(a),2);s(c,17,()=>e(D),e=>e.id,(n,r)=>{var a=S(),c=d(a),m=p(c,!0),g=f(c,2),C=d(g),w=d(C),T=f(d(w)),E=p(T,!0);i(w);var D=f(w,2);s(D,21,()=>e(r).rest,e=>e.method+e.path,(t,n)=>{var r=_(),a=d(r),s=d(a),c=p(s,!0),l=f(s);i(a),i(r),h(()=>{o(c,e(n).method),o(l,` /api${e(n).path??``}`)}),u(t,r)},e=>{var t=v();u(e,t)}),i(D),i(C);var O=f(C,2),k=d(O),A=f(d(k)),j=p(A,!0);i(k);var M=f(k,2);s(M,21,()=>e(r).mcp,e=>e.name,(t,n)=>{var r=y(),a=d(r),s=p(a,!0);i(r),h(()=>o(s,e(n).name)),u(t,r)},e=>{var t=v();u(e,t)}),i(M),i(O);var N=f(O,2),P=d(N),F=f(d(P)),I=p(F,!0);i(P);var L=f(P,2);s(L,21,()=>e(r).cli,e=>e.name,(t,n)=>{var r=y(),a=d(r),s=p(a,!0);i(r),h(()=>o(s,e(n).name)),u(t,r)},e=>{var t=v();u(e,t)}),i(L),i(N);var R=f(N,2),z=d(R),B=f(d(z)),V=p(B,!0);l(),i(z);var H=f(z,2);s(H,21,()=>e(r).methods,e=>e.name,(n,r)=>{var a=x(),s=d(a),c=p(s),l=f(s,2),m=e=>{var t=b();u(e,t)};t(l,t=>{e(r).aiCallable&&t(m)}),i(a),h(t=>o(c,`${e(r).name??``}(${t??``})`),[()=>e(r).parameters.join(`, `)]),u(n,a)},e=>{var t=v();u(e,t)}),i(H),i(R),i(g),i(a),h(t=>{o(m,e(r).name),o(E,e(r).rest.length),o(j,e(r).mcp.length),o(I,e(r).cli.length),o(V,t)},[()=>e(r).methods.filter(e=>e.aiCallable).length]),u(n,a)},e=>{var t=C();u(e,t)}),u(n,a)},$$slots:{default:!0}}),i(O),u(a,O),r()}export{E as t};