@happyvertical/smrt-planner 0.57.34 → 0.57.36

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 (534) hide show
  1. package/app/404.html +18 -18
  2. package/app/_app/immutable/chunks/{-ISFFgRZ.js → B2A9b31n.js} +1 -1
  3. package/app/_app/immutable/chunks/B83TYSQr.js +1 -0
  4. package/app/_app/immutable/chunks/{CBiGoewq.js → B92tYBti.js} +210 -22
  5. package/app/_app/immutable/chunks/{CzEZR3zk.js → BAHEs8x1.js} +1 -1
  6. package/app/_app/immutable/chunks/{CU4a_rKX.js → BBvaKpiH.js} +1 -1
  7. package/app/_app/immutable/chunks/{hZxLaVFg.js → BDLGOUjG.js} +1 -1
  8. package/app/_app/immutable/chunks/{CNPCEIe2.js → BK4Q9r-p.js} +2 -2
  9. package/app/_app/immutable/chunks/BWxuiUUQ.js +1 -0
  10. package/app/_app/immutable/chunks/{C4pQNjCl.js → Bam1tGzV.js} +1 -1
  11. package/app/_app/immutable/chunks/{z9_H8vtF.js → BzQwpCNL.js} +1 -1
  12. package/app/_app/immutable/chunks/{CSCLK1LQ.js → CQOSiWJT.js} +1 -1
  13. package/app/_app/immutable/chunks/{BQTYU0bG.js → CXKHVUl8.js} +3 -3
  14. package/app/_app/immutable/chunks/{D7lLDELj.js → CZZHy8wH.js} +1 -1
  15. package/app/_app/immutable/chunks/{Dy9Yriiq.js → Cah7KbJX.js} +1 -1
  16. package/app/_app/immutable/chunks/{EetkBuD2.js → CbqEev_D.js} +1 -1
  17. package/app/_app/immutable/chunks/CebfRLSO.js +2 -0
  18. package/app/_app/immutable/chunks/{DRrQW2LM.js → CoSt1eeS.js} +1 -1
  19. package/app/_app/immutable/chunks/{B8a8qgrX.js → CuXKclJc.js} +1 -1
  20. package/app/_app/immutable/chunks/{RDu9Dr22.js → CvF85a7U.js} +1 -1
  21. package/app/_app/immutable/chunks/{CbL5XGqX.js → DOvS-Q_j.js} +1 -1
  22. package/app/_app/immutable/chunks/{CPTDYg6b.js → DU7bchap.js} +1 -1
  23. package/app/_app/immutable/chunks/{I88OwmoF.js → DculBUrN.js} +1 -1
  24. package/app/_app/immutable/chunks/{INoVtrTs.js → Df-9DvW-.js} +1 -1
  25. package/app/_app/immutable/chunks/{CCRFEm1Z.js → DibzF-dr.js} +1 -1
  26. package/app/_app/immutable/chunks/DmWeaay9.js +10 -0
  27. package/app/_app/immutable/chunks/Dp8fm9zy.js +1 -0
  28. package/app/_app/immutable/chunks/{9cAwBYAv.js → DrlHpmDP.js} +1 -1
  29. package/app/_app/immutable/chunks/{U0yodJsu.js → TEUCK8U3.js} +1 -1
  30. package/app/_app/immutable/chunks/af5-eX5d.js +4 -0
  31. package/app/_app/immutable/entry/{app.BB8kamr7.js → app.D_SGGzg1.js} +2 -2
  32. package/app/_app/immutable/entry/start.DTQDJ3aR.js +1 -0
  33. package/app/_app/immutable/nodes/{0.CxrgFWGB.js → 0.oYkRoqUV.js} +1 -1
  34. package/app/_app/immutable/nodes/{1.B-YEVMRd.js → 1.D8vx-DO_.js} +1 -1
  35. package/app/_app/immutable/nodes/10.BGtDPYpn.js +3 -0
  36. package/app/_app/immutable/nodes/{11.DHuE5aXH.js → 11.CCPO2aO7.js} +1 -1
  37. package/app/_app/immutable/nodes/{12.DABuY5YN.js → 12.BuXye0Pc.js} +1 -1
  38. package/app/_app/immutable/nodes/{13.pSfaAqGR.js → 13.DVjFhD9E.js} +1 -1
  39. package/app/_app/immutable/nodes/{14.CWcnN_Wa.js → 14.JEZlhlfk.js} +1 -1
  40. package/app/_app/immutable/nodes/2.B8118MpH.js +26 -0
  41. package/app/_app/immutable/nodes/{3.Cb1niVXz.js → 3.C1rax0_L.js} +1 -1
  42. package/app/_app/immutable/nodes/{4.uDmI9UhG.js → 4.BJqCAAbG.js} +1 -1
  43. package/app/_app/immutable/nodes/{5.CCHLOr5q.js → 5.Fqu6Iwk4.js} +1 -1
  44. package/app/_app/immutable/nodes/{6.DSmMN1am.js → 6.DS8ylC6l.js} +1 -1
  45. package/app/_app/immutable/nodes/{7.CL8h_2hC.js → 7.BfRJmfq7.js} +1 -1
  46. package/app/_app/immutable/nodes/{8.PuwnQt-2.js → 8.B9ebm59e.js} +1 -1
  47. package/app/_app/immutable/nodes/{9.CtDJNLWL.js → 9.DM0CnRzS.js} +1 -1
  48. package/app/_app/version.json +1 -1
  49. package/app/advanced-styles/index.html +21 -21
  50. package/app/ai/index.html +24 -24
  51. package/app/blueprint/index.html +19 -19
  52. package/app/cookbook/index.html +19 -19
  53. package/app/index.html +34 -34
  54. package/app/m/ads/AdDeliveryTier/index.html +23 -23
  55. package/app/m/ads/AdEvent/index.html +23 -23
  56. package/app/m/ads/AdFormat/index.html +23 -23
  57. package/app/m/ads/AdGroup/index.html +23 -23
  58. package/app/m/ads/AdVariation/index.html +23 -23
  59. package/app/m/analytics/AnalyticsDataStream/index.html +23 -23
  60. package/app/m/analytics/AnalyticsEvent/index.html +23 -23
  61. package/app/m/analytics/AnalyticsProperty/index.html +23 -23
  62. package/app/m/analytics/AnalyticsReport/index.html +23 -23
  63. package/app/m/approvals/ApprovalEvent/index.html +23 -23
  64. package/app/m/approvals/ApprovalPolicy/index.html +23 -23
  65. package/app/m/approvals/ApprovalRequest/index.html +23 -23
  66. package/app/m/assets/Asset/attachments/index.html +24 -24
  67. package/app/m/assets/Asset/index.html +23 -23
  68. package/app/m/assets/AssetAssociation/index.html +23 -23
  69. package/app/m/assets/AssetMetafield/index.html +23 -23
  70. package/app/m/assets/AssetStatus/index.html +23 -23
  71. package/app/m/assets/AssetType/index.html +23 -23
  72. package/app/m/assets/Folder/index.html +23 -23
  73. package/app/m/chat/AgentSession/index.html +23 -23
  74. package/app/m/chat/ChatMessage/index.html +23 -23
  75. package/app/m/chat/ChatParticipant/index.html +23 -23
  76. package/app/m/chat/ChatReaction/index.html +23 -23
  77. package/app/m/chat/ChatRoom/index.html +23 -23
  78. package/app/m/chat/ChatThread/index.html +23 -23
  79. package/app/m/chat/VoiceGatewayTurn/index.html +23 -23
  80. package/app/m/chat/VoiceSession/index.html +23 -23
  81. package/app/m/commerce/Agreement/index.html +23 -23
  82. package/app/m/commerce/Cart/index.html +23 -23
  83. package/app/m/commerce/Contract/index.html +23 -23
  84. package/app/m/commerce/ContractLineItem/index.html +23 -23
  85. package/app/m/commerce/Customer/index.html +23 -23
  86. package/app/m/commerce/DocumentTax/index.html +23 -23
  87. package/app/m/commerce/Estimate/index.html +23 -23
  88. package/app/m/commerce/Fulfillment/index.html +23 -23
  89. package/app/m/commerce/FulfillmentLineItem/index.html +23 -23
  90. package/app/m/commerce/HistoricalCustomerFunds/index.html +23 -23
  91. package/app/m/commerce/HistoricalCustomerFundsAllocation/index.html +23 -23
  92. package/app/m/commerce/HistoricalSalesLine/index.html +23 -23
  93. package/app/m/commerce/Invoice/index.html +23 -23
  94. package/app/m/commerce/InvoiceLineItem/index.html +23 -23
  95. package/app/m/commerce/Lease/index.html +23 -23
  96. package/app/m/commerce/LicenseSale/index.html +23 -23
  97. package/app/m/commerce/Order/index.html +23 -23
  98. package/app/m/commerce/Payment/index.html +23 -23
  99. package/app/m/commerce/PaymentAllocation/index.html +23 -23
  100. package/app/m/commerce/PaymentInstrument/index.html +23 -23
  101. package/app/m/commerce/PaymentIntent/index.html +23 -23
  102. package/app/m/commerce/Payout/index.html +23 -23
  103. package/app/m/commerce/ProductionOrder/index.html +23 -23
  104. package/app/m/commerce/PurchaseContract/index.html +23 -23
  105. package/app/m/commerce/PurchaseOrder/index.html +23 -23
  106. package/app/m/commerce/SalesContract/index.html +23 -23
  107. package/app/m/commerce/SupplierQuote/index.html +23 -23
  108. package/app/m/commerce/TaxCode/index.html +23 -23
  109. package/app/m/commerce/TaxComponent/index.html +23 -23
  110. package/app/m/commerce/TaxSettings/index.html +23 -23
  111. package/app/m/commerce/TaxSummaryReport/index.html +23 -23
  112. package/app/m/commerce/TenantPaymentAccount/index.html +23 -23
  113. package/app/m/commerce/Vendor/index.html +23 -23
  114. package/app/m/commerce/WholesaleOrder/index.html +23 -23
  115. package/app/m/content/Content/index.html +23 -23
  116. package/app/m/content/ContentContribution/index.html +23 -23
  117. package/app/m/content/ContentContributionAttachment/index.html +23 -23
  118. package/app/m/content/ContentContributionRevision/index.html +23 -23
  119. package/app/m/content/ContentContributionType/index.html +23 -23
  120. package/app/m/content/ContentContributor/index.html +23 -23
  121. package/app/m/content/ContentCorrection/index.html +23 -23
  122. package/app/m/content/ContentFeedSource/index.html +23 -23
  123. package/app/m/content/ContentGovernanceAssignment/index.html +23 -23
  124. package/app/m/content/ContentGovernancePolicy/index.html +23 -23
  125. package/app/m/content/ContentGovernanceProfile/index.html +23 -23
  126. package/app/m/content/ContentReference/index.html +23 -23
  127. package/app/m/content/ContentReview/index.html +23 -23
  128. package/app/m/content/ContentVersion/index.html +23 -23
  129. package/app/m/events/Event/index.html +23 -23
  130. package/app/m/events/EventParticipant/index.html +23 -23
  131. package/app/m/events/EventSeries/index.html +23 -23
  132. package/app/m/events/EventType/index.html +23 -23
  133. package/app/m/expenses/Expense/index.html +23 -23
  134. package/app/m/facts/Fact/index.html +23 -23
  135. package/app/m/facts/FactContent/index.html +23 -23
  136. package/app/m/facts/FactEvidence/index.html +23 -23
  137. package/app/m/facts/FactSource/index.html +23 -23
  138. package/app/m/facts/FactSubject/index.html +23 -23
  139. package/app/m/facts/FactTag/index.html +23 -23
  140. package/app/m/fields/FieldPolicy/index.html +23 -23
  141. package/app/m/fields/FieldPolicySuggestion/index.html +23 -23
  142. package/app/m/fields/FieldUsageCounter/index.html +23 -23
  143. package/app/m/human-resources/Employment/index.html +88 -0
  144. package/app/m/human-resources/EmploymentTerm/index.html +89 -0
  145. package/app/m/human-resources/HeldQualification/index.html +88 -0
  146. package/app/m/human-resources/Qualification/index.html +88 -0
  147. package/app/m/images/Image/index.html +23 -23
  148. package/app/m/inventory/InventoryLocation/index.html +23 -23
  149. package/app/m/inventory/Lot/index.html +23 -23
  150. package/app/m/inventory/LotCorrection/index.html +23 -23
  151. package/app/m/inventory/LotDocument/index.html +23 -23
  152. package/app/m/inventory/LotStockLevel/index.html +23 -23
  153. package/app/m/inventory/LotUsage/index.html +23 -23
  154. package/app/m/inventory/StockLevel/index.html +23 -23
  155. package/app/m/inventory/StockMovement/index.html +23 -23
  156. package/app/m/ledgers/Account/index.html +23 -23
  157. package/app/m/ledgers/Journal/index.html +23 -23
  158. package/app/m/ledgers/JournalEntry/index.html +23 -23
  159. package/app/m/ledgers/Ledger/index.html +23 -23
  160. package/app/m/manufacturing/Assembly/index.html +24 -24
  161. package/app/m/manufacturing/BillOfMaterials/index.html +25 -25
  162. package/app/m/manufacturing/BomLine/index.html +24 -24
  163. package/app/m/manufacturing/Operation/index.html +24 -24
  164. package/app/m/manufacturing/ProductionRun/index.html +24 -24
  165. package/app/m/manufacturing/ProductionRunCompletion/index.html +25 -24
  166. package/app/m/manufacturing/RoutingStep/index.html +25 -24
  167. package/app/m/marketing/Campaign/index.html +23 -23
  168. package/app/m/marketing/CampaignChannel/index.html +23 -23
  169. package/app/m/marketing/CampaignMetricSnapshot/index.html +23 -23
  170. package/app/m/messages/Account/index.html +23 -23
  171. package/app/m/messages/Attachment/index.html +23 -23
  172. package/app/m/messages/Blacklist/index.html +23 -23
  173. package/app/m/messages/Email/failed-sends/index.html +24 -24
  174. package/app/m/messages/Email/index.html +23 -23
  175. package/app/m/messages/Email/mailbox/index.html +24 -24
  176. package/app/m/messages/EmailAccount/index.html +23 -23
  177. package/app/m/messages/EmailAttachment/index.html +23 -23
  178. package/app/m/messages/EmailFolder/index.html +23 -23
  179. package/app/m/messages/Message/index.html +23 -23
  180. package/app/m/messages/MessagingEndpoint/index.html +23 -23
  181. package/app/m/messages/PersonaMessageRoute/index.html +23 -23
  182. package/app/m/messages/SlackAccount/index.html +23 -23
  183. package/app/m/messages/SlackMessage/index.html +23 -23
  184. package/app/m/messages/TelegramAccount/index.html +23 -23
  185. package/app/m/messages/Tweet/index.html +23 -23
  186. package/app/m/messages/TwitterAccount/index.html +23 -23
  187. package/app/m/messages/Whitelist/index.html +23 -23
  188. package/app/m/messages/ZulipAccount/index.html +23 -23
  189. package/app/m/places/Place/index.html +23 -23
  190. package/app/m/places/PlaceType/index.html +23 -23
  191. package/app/m/products/Category/index.html +23 -23
  192. package/app/m/products/Material/index.html +23 -23
  193. package/app/m/products/Product/index.html +23 -23
  194. package/app/m/products/Product/ingredients/index.html +24 -24
  195. package/app/m/products/ProductVariant/index.html +23 -23
  196. package/app/m/products/Sku/index.html +23 -23
  197. package/app/m/profiles/ApiKey/index.html +23 -23
  198. package/app/m/profiles/Bot/index.html +23 -23
  199. package/app/m/profiles/MagicLinkToken/index.html +23 -23
  200. package/app/m/profiles/NostrIdentity/index.html +23 -23
  201. package/app/m/profiles/OidcIdentity/index.html +23 -23
  202. package/app/m/profiles/Organization/index.html +23 -23
  203. package/app/m/profiles/Person/index.html +23 -23
  204. package/app/m/profiles/Profile/index.html +23 -23
  205. package/app/m/profiles/ProfileMetadata/index.html +23 -23
  206. package/app/m/profiles/ProfileMetafield/index.html +23 -23
  207. package/app/m/profiles/ProfileRelationship/index.html +23 -23
  208. package/app/m/profiles/ProfileRelationshipTerm/index.html +23 -23
  209. package/app/m/profiles/ProfileRelationshipType/index.html +23 -23
  210. package/app/m/profiles/ProfileType/index.html +23 -23
  211. package/app/m/projects/Comment/index.html +23 -23
  212. package/app/m/projects/Issue/index.html +23 -23
  213. package/app/m/projects/Label/index.html +23 -23
  214. package/app/m/projects/Project/index.html +23 -23
  215. package/app/m/projects/ProjectIntegration/index.html +23 -23
  216. package/app/m/projects/PullRequest/index.html +23 -23
  217. package/app/m/projects/Repository/index.html +23 -23
  218. package/app/m/properties/Property/index.html +23 -23
  219. package/app/m/properties/Zone/index.html +23 -23
  220. package/app/m/reports/RuntimeReport/index.html +23 -23
  221. package/app/m/reports/SmrtPrincipalReportRefreshTask/index.html +23 -23
  222. package/app/m/reports/SmrtReportLock/index.html +23 -23
  223. package/app/m/reports/SmrtReportRefreshTask/index.html +23 -23
  224. package/app/m/reports/SmrtReportRun/index.html +23 -23
  225. package/app/m/reports/SmrtReportSchedule/index.html +23 -23
  226. package/app/m/reports/SmrtReportWatermark/index.html +23 -23
  227. package/app/m/sales/Agreement/index.html +23 -23
  228. package/app/m/sales/AttributionException/index.html +23 -23
  229. package/app/m/sales/AttributionPolicy/index.html +23 -23
  230. package/app/m/sales/Commission/index.html +24 -24
  231. package/app/m/sales/CommissionAdjustment/index.html +23 -23
  232. package/app/m/sales/CommissionPayout/index.html +25 -25
  233. package/app/m/sales/CommissionPlan/index.html +23 -23
  234. package/app/m/sales/Earner/index.html +24 -24
  235. package/app/m/sales/EarnerSourceAttribution/index.html +23 -23
  236. package/app/m/sales/EarningEvent/index.html +23 -23
  237. package/app/m/sales/ExecutedAgreement/index.html +23 -23
  238. package/app/m/sales/Lead/index.html +23 -23
  239. package/app/m/sales/Opportunity/index.html +23 -23
  240. package/app/m/sales/OpportunityConversion/index.html +23 -23
  241. package/app/m/sales/PipelineDefinition/index.html +23 -23
  242. package/app/m/sales/PipelineStage/index.html +23 -23
  243. package/app/m/sales/Referral/index.html +24 -24
  244. package/app/m/sales/ReferralAgreement/index.html +23 -23
  245. package/app/m/sales/ReferralLink/index.html +23 -23
  246. package/app/m/sales/ReferralProgram/index.html +25 -25
  247. package/app/m/sales/ReferralTermSnapshot/index.html +23 -23
  248. package/app/m/sales/ReferralTouch/index.html +23 -23
  249. package/app/m/sales/Referrer/index.html +25 -25
  250. package/app/m/sales/SalesActivity/index.html +23 -23
  251. package/app/m/sales/SalesRepresentative/index.html +23 -23
  252. package/app/m/sites/Site/index.html +23 -23
  253. package/app/m/sites/SiteAgentBinding/index.html +23 -23
  254. package/app/m/social/OAuthState/index.html +23 -23
  255. package/app/m/social/SocialAccount/index.html +23 -23
  256. package/app/m/social/SocialPost/index.html +23 -23
  257. package/app/m/social/SocialPostAnalyticsSnapshot/index.html +23 -23
  258. package/app/m/subscriptions/BillingAdjustment/index.html +23 -23
  259. package/app/m/subscriptions/ClientCharge/index.html +23 -23
  260. package/app/m/subscriptions/CreditGrant/index.html +23 -23
  261. package/app/m/subscriptions/PricingRule/index.html +23 -23
  262. package/app/m/subscriptions/RetailCharge/index.html +23 -23
  263. package/app/m/subscriptions/SpendingPolicy/index.html +23 -23
  264. package/app/m/subscriptions/SubscriptionPlan/index.html +23 -23
  265. package/app/m/subscriptions/SubscriptionPlanVersion/index.html +23 -23
  266. package/app/m/subscriptions/TenantSubscription/index.html +23 -23
  267. package/app/m/subscriptions/TenantUsageMetric/index.html +23 -23
  268. package/app/m/support/ServiceTimeEntry/index.html +23 -23
  269. package/app/m/support/SupportAiRun/index.html +23 -23
  270. package/app/m/support/SupportAvailability/index.html +23 -23
  271. package/app/m/support/SupportCase/index.html +25 -25
  272. package/app/m/support/SupportCaseEvent/index.html +23 -23
  273. package/app/m/support/SupportChannelBinding/index.html +23 -23
  274. package/app/m/support/SupportCharge/index.html +23 -23
  275. package/app/m/support/SupportCompensation/index.html +23 -23
  276. package/app/m/support/SupportCompensationPlan/index.html +23 -23
  277. package/app/m/support/SupportEscalation/index.html +23 -23
  278. package/app/m/support/SupportInteraction/index.html +25 -25
  279. package/app/m/support/SupportPlan/index.html +23 -23
  280. package/app/m/support/SupportPolicy/index.html +23 -23
  281. package/app/m/support/SupportQualification/index.html +23 -23
  282. package/app/m/support/SupportServiceTarget/index.html +23 -23
  283. package/app/m/support/SupportSpecialist/index.html +25 -25
  284. package/app/m/support/SupportWorkLink/index.html +23 -23
  285. package/app/m/tags/Tag/index.html +23 -23
  286. package/app/m/tags/TagAlias/index.html +23 -23
  287. package/app/m/timesheets/AttendanceBreak/index.html +23 -23
  288. package/app/m/timesheets/AttendancePunch/index.html +23 -23
  289. package/app/m/timesheets/AttendanceSegment/index.html +23 -23
  290. package/app/m/timesheets/ServiceChargeSnapshot/index.html +23 -23
  291. package/app/m/timesheets/ServiceCompensationSnapshot/index.html +23 -23
  292. package/app/m/timesheets/ServiceTimeEntry/index.html +23 -23
  293. package/app/m/users/Group/index.html +23 -23
  294. package/app/m/users/GroupMember/index.html +23 -23
  295. package/app/m/users/GroupRole/index.html +23 -23
  296. package/app/m/users/Membership/index.html +23 -23
  297. package/app/m/users/MembershipOverride/index.html +23 -23
  298. package/app/m/users/Permission/index.html +23 -23
  299. package/app/m/users/Role/index.html +23 -23
  300. package/app/m/users/RolePermission/index.html +23 -23
  301. package/app/m/users/Session/index.html +23 -23
  302. package/app/m/users/Tenant/index.html +23 -23
  303. package/app/m/users/TenantIntegration/index.html +23 -23
  304. package/app/m/users/TenantPermissionOverride/index.html +23 -23
  305. package/app/m/users/User/index.html +23 -23
  306. package/app/m/video/Character/index.html +23 -23
  307. package/app/m/video/CharacterAsset/index.html +23 -23
  308. package/app/m/video/CompositeJob/index.html +23 -23
  309. package/app/m/video/Performer/index.html +23 -23
  310. package/app/m/video/PerformerAsset/index.html +23 -23
  311. package/app/m/video/Scene/index.html +23 -23
  312. package/app/m/video/SceneAsset/index.html +23 -23
  313. package/app/m/video/VideoComposition/index.html +23 -23
  314. package/app/m/video/VideoCompositionAsset/index.html +23 -23
  315. package/app/m/video/VideoSequence/index.html +23 -23
  316. package/app/m/video/VideoSequenceAsset/index.html +23 -23
  317. package/app/m/video/VideoShot/index.html +23 -23
  318. package/app/m/video/VideoShotAsset/index.html +23 -23
  319. package/app/m/video/VideoShotCharacter/index.html +23 -23
  320. package/app/m/video/VideoWorkflow/index.html +23 -23
  321. package/app/m/voice/VoiceOutput/index.html +23 -23
  322. package/app/m/voice/VoiceProfile/index.html +23 -23
  323. package/app/m/voice/VoiceSample/index.html +23 -23
  324. package/app/mcp.html +2 -2
  325. package/app/packages/ads/index.html +21 -21
  326. package/app/packages/analytics/index.html +21 -21
  327. package/app/packages/approvals/index.html +21 -21
  328. package/app/packages/assets/index.html +21 -21
  329. package/app/packages/chat/index.html +21 -21
  330. package/app/packages/comments/index.html +21 -21
  331. package/app/packages/commerce/index.html +21 -21
  332. package/app/packages/content/index.html +21 -21
  333. package/app/packages/events/index.html +21 -21
  334. package/app/packages/expenses/index.html +21 -21
  335. package/app/packages/facts/index.html +21 -21
  336. package/app/packages/fields/index.html +21 -21
  337. package/app/packages/human-resources/index.html +21 -21
  338. package/app/packages/images/index.html +21 -21
  339. package/app/packages/index.html +21 -21
  340. package/app/packages/ingestion/index.html +21 -21
  341. package/app/packages/inventory/index.html +21 -21
  342. package/app/packages/ledgers/index.html +21 -21
  343. package/app/packages/manufacturing/index.html +21 -21
  344. package/app/packages/marketing/index.html +21 -21
  345. package/app/packages/messages/index.html +21 -21
  346. package/app/packages/places/index.html +21 -21
  347. package/app/packages/preferences/index.html +21 -21
  348. package/app/packages/products/index.html +21 -21
  349. package/app/packages/profiles/index.html +21 -21
  350. package/app/packages/projects/index.html +21 -21
  351. package/app/packages/properties/index.html +21 -21
  352. package/app/packages/reactions/index.html +21 -21
  353. package/app/packages/reports/index.html +21 -21
  354. package/app/packages/sales/index.html +21 -21
  355. package/app/packages/sites/index.html +21 -21
  356. package/app/packages/social/index.html +21 -21
  357. package/app/packages/subscriptions/index.html +21 -21
  358. package/app/packages/support/index.html +21 -21
  359. package/app/packages/tags/index.html +21 -21
  360. package/app/packages/timesheets/index.html +21 -21
  361. package/app/packages/users/index.html +21 -21
  362. package/app/packages/video/index.html +21 -21
  363. package/app/packages/voice/index.html +21 -21
  364. package/app/packages/webhooks/index.html +21 -21
  365. package/app/recipes/account-access/help/index.html +21 -21
  366. package/app/recipes/account-access/index.html +23 -23
  367. package/app/recipes/activity/help/index.html +21 -21
  368. package/app/recipes/activity/index.html +23 -23
  369. package/app/recipes/affiliates.referrals/help/index.html +85 -0
  370. package/app/recipes/affiliates.referrals/index.html +90 -0
  371. package/app/recipes/agreements/help/index.html +21 -21
  372. package/app/recipes/agreements/index.html +23 -23
  373. package/app/recipes/analytics.reports/help/index.html +21 -21
  374. package/app/recipes/analytics.reports/index.html +23 -23
  375. package/app/recipes/assets/help/index.html +21 -21
  376. package/app/recipes/assets/index.html +23 -23
  377. package/app/recipes/billing/help/index.html +21 -21
  378. package/app/recipes/billing/index.html +23 -23
  379. package/app/recipes/chat.assistant/help/index.html +21 -21
  380. package/app/recipes/chat.assistant/index.html +23 -23
  381. package/app/recipes/comments/help/index.html +21 -21
  382. package/app/recipes/comments/index.html +23 -23
  383. package/app/recipes/commerce.customers/help/index.html +21 -21
  384. package/app/recipes/commerce.customers/index.html +23 -23
  385. package/app/recipes/commerce.estimates/help/index.html +21 -21
  386. package/app/recipes/commerce.estimates/index.html +23 -23
  387. package/app/recipes/commerce.purchases/help/index.html +21 -21
  388. package/app/recipes/commerce.purchases/index.html +23 -23
  389. package/app/recipes/commerce.sales/help/index.html +21 -21
  390. package/app/recipes/commerce.sales/index.html +23 -23
  391. package/app/recipes/commerce.vendors/help/index.html +21 -21
  392. package/app/recipes/commerce.vendors/index.html +23 -23
  393. package/app/recipes/commerce.wholesale/help/index.html +21 -21
  394. package/app/recipes/commerce.wholesale/index.html +23 -23
  395. package/app/recipes/events.calendar/help/index.html +21 -21
  396. package/app/recipes/events.calendar/index.html +23 -23
  397. package/app/recipes/expenses.tracking/help/index.html +21 -21
  398. package/app/recipes/expenses.tracking/index.html +23 -23
  399. package/app/recipes/fields.form-customization/help/index.html +21 -21
  400. package/app/recipes/fields.form-customization/index.html +23 -23
  401. package/app/recipes/human-resources.people/help/index.html +85 -0
  402. package/app/recipes/human-resources.people/index.html +90 -0
  403. package/app/recipes/human-resources.qualifications/help/index.html +85 -0
  404. package/app/recipes/human-resources.qualifications/index.html +90 -0
  405. package/app/recipes/ingestion/help/index.html +21 -21
  406. package/app/recipes/ingestion/index.html +23 -23
  407. package/app/recipes/integrations/help/index.html +21 -21
  408. package/app/recipes/integrations/index.html +23 -23
  409. package/app/recipes/inventory.stock/help/index.html +21 -21
  410. package/app/recipes/inventory.stock/index.html +23 -23
  411. package/app/recipes/ledgers.bookkeeping/help/index.html +21 -21
  412. package/app/recipes/ledgers.bookkeeping/index.html +23 -23
  413. package/app/recipes/manufacturing.assemblies/help/index.html +85 -0
  414. package/app/recipes/manufacturing.assemblies/index.html +90 -0
  415. package/app/recipes/manufacturing.production/help/index.html +85 -0
  416. package/app/recipes/manufacturing.production/index.html +90 -0
  417. package/app/recipes/messages/help/index.html +21 -21
  418. package/app/recipes/messages/index.html +23 -23
  419. package/app/recipes/products/help/index.html +21 -21
  420. package/app/recipes/products/index.html +23 -23
  421. package/app/recipes/projects.tracker/help/index.html +21 -21
  422. package/app/recipes/projects.tracker/index.html +23 -23
  423. package/app/recipes/reports.materialized/help/index.html +21 -21
  424. package/app/recipes/reports.materialized/index.html +23 -23
  425. package/app/recipes/reports.runtime/help/index.html +21 -21
  426. package/app/recipes/reports.runtime/index.html +23 -23
  427. package/app/recipes/sales.pipeline/help/index.html +21 -21
  428. package/app/recipes/sales.pipeline/index.html +23 -23
  429. package/app/recipes/support.tickets/help/index.html +85 -0
  430. package/app/recipes/support.tickets/index.html +90 -0
  431. package/app/recipes/tags.taxonomy/help/index.html +21 -21
  432. package/app/recipes/tags.taxonomy/index.html +23 -23
  433. package/app/recipes/team-collaboration/help/index.html +21 -21
  434. package/app/recipes/team-collaboration/index.html +23 -23
  435. package/app/recipes/timesheets.time-entries/help/index.html +21 -21
  436. package/app/recipes/timesheets.time-entries/index.html +23 -23
  437. package/app/s/custom-accounts/index.html +19 -19
  438. package/app/s/custom-appointments/index.html +19 -19
  439. package/app/s/custom-billing/index.html +19 -19
  440. package/app/s/custom-bookings/index.html +19 -19
  441. package/app/s/custom-buying/index.html +19 -19
  442. package/app/s/custom-checkout/index.html +19 -19
  443. package/app/s/custom-classes/index.html +19 -19
  444. package/app/s/custom-clients/index.html +19 -19
  445. package/app/s/custom-events/index.html +19 -19
  446. package/app/s/custom-fleet/index.html +19 -19
  447. package/app/s/custom-gigs/index.html +19 -19
  448. package/app/s/custom-giving/index.html +19 -19
  449. package/app/s/custom-instruments/index.html +19 -19
  450. package/app/s/custom-jobs/index.html +19 -19
  451. package/app/s/custom-kitchen/index.html +19 -19
  452. package/app/s/custom-lessons/index.html +19 -19
  453. package/app/s/custom-material/index.html +19 -19
  454. package/app/s/custom-meetings/index.html +19 -19
  455. package/app/s/custom-members/index.html +19 -19
  456. package/app/s/custom-merch/index.html +19 -19
  457. package/app/s/custom-money/index.html +19 -19
  458. package/app/s/custom-paint/index.html +19 -19
  459. package/app/s/custom-parts/index.html +19 -19
  460. package/app/s/custom-rentals/index.html +19 -19
  461. package/app/s/custom-roastery/index.html +19 -19
  462. package/app/s/custom-schedule/index.html +19 -19
  463. package/app/s/custom-shelf/index.html +19 -19
  464. package/app/s/custom-shop/index.html +19 -19
  465. package/app/s/custom-students/index.html +19 -19
  466. package/app/s/custom-wholesale/index.html +19 -19
  467. package/app/s/custom-work/index.html +19 -19
  468. package/app/s/custom-yard/index.html +19 -19
  469. package/app/s/section-access-control/index.html +19 -19
  470. package/app/s/section-account-security/index.html +19 -19
  471. package/app/s/section-accounting/index.html +19 -19
  472. package/app/s/section-activity/index.html +19 -19
  473. package/app/s/section-agreements/index.html +19 -19
  474. package/app/s/section-analytics/index.html +19 -19
  475. package/app/s/section-assets/index.html +19 -19
  476. package/app/s/section-billing/index.html +19 -19
  477. package/app/s/section-calendar/index.html +19 -19
  478. package/app/s/section-catalog/index.html +19 -19
  479. package/app/s/section-chat.assistant/index.html +19 -19
  480. package/app/s/section-comments/index.html +19 -19
  481. package/app/s/section-fields.form-customization/index.html +19 -19
  482. package/app/s/section-grow/index.html +79 -0
  483. package/app/s/section-ingestion/index.html +19 -19
  484. package/app/s/section-integrations/index.html +19 -19
  485. package/app/s/section-make/index.html +79 -0
  486. package/app/s/section-messages/index.html +19 -19
  487. package/app/s/section-more/index.html +19 -19
  488. package/app/s/section-operations/index.html +19 -19
  489. package/app/s/section-projects/index.html +19 -19
  490. package/app/s/section-purchasing/index.html +19 -19
  491. package/app/s/section-reports.materialized/index.html +19 -19
  492. package/app/s/section-reports.runtime/index.html +19 -19
  493. package/app/s/section-sales/index.html +19 -19
  494. package/app/s/section-staff/index.html +79 -0
  495. package/app/s/section-support/index.html +79 -0
  496. package/app/s/section-taxonomy/index.html +19 -19
  497. package/app/s/section-team/index.html +19 -19
  498. package/app/s/section-work/index.html +19 -19
  499. package/dist/catalog/catalog.json +1539 -123
  500. package/dist/catalog/generate/build.d.ts.map +1 -1
  501. package/dist/catalog/generate/build.js +23 -2
  502. package/dist/catalog/generate/extract.d.ts.map +1 -1
  503. package/dist/catalog/generate/extract.js +1 -0
  504. package/dist/catalog/generate/recipe-metadata.d.ts +1 -1
  505. package/dist/catalog/generate/recipe-metadata.d.ts.map +1 -1
  506. package/dist/catalog/generate/recipe-metadata.js +1 -0
  507. package/dist/catalog/index.d.ts +6 -0
  508. package/dist/catalog/index.d.ts.map +1 -1
  509. package/dist/catalog/index.js +13 -1
  510. package/dist/components/FeatureCard.svelte +4 -0
  511. package/dist/components/FeatureCard.svelte.d.ts.map +1 -1
  512. package/dist/components/RecordView.svelte +3 -2
  513. package/dist/components/RecordView.svelte.d.ts.map +1 -1
  514. package/dist/features/catalogue.d.ts +4 -0
  515. package/dist/features/catalogue.d.ts.map +1 -1
  516. package/dist/features/catalogue.js +7 -0
  517. package/dist/overviews/definitions.js +4 -4
  518. package/dist/planner/tab.svelte.d.ts +1 -1
  519. package/dist/recipes/types.d.ts +7 -0
  520. package/dist/recipes/types.d.ts.map +1 -1
  521. package/dist/screens/relations.d.ts.map +1 -1
  522. package/dist/screens/relations.js +6 -1
  523. package/dist/smrt-version.d.ts +1 -1
  524. package/dist/smrt-version.js +1 -1
  525. package/package.json +57 -57
  526. package/app/_app/immutable/chunks/1YcLpNOc.js +0 -1
  527. package/app/_app/immutable/chunks/BSAulPpp.js +0 -2
  528. package/app/_app/immutable/chunks/BfpExq-S.js +0 -1
  529. package/app/_app/immutable/chunks/CMkhxHXO.js +0 -4
  530. package/app/_app/immutable/chunks/DcgTbNcq.js +0 -1
  531. package/app/_app/immutable/chunks/ImF_qEDB.js +0 -10
  532. package/app/_app/immutable/entry/start.DO3OcZtK.js +0 -1
  533. package/app/_app/immutable/nodes/10.DO4mf8ht.js +0 -3
  534. package/app/_app/immutable/nodes/2.BOAJAsyF.js +0 -26
@@ -1,10 +0,0 @@
1
- import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,F as o,Ft as s,G as c,H as l,J as u,K as d,L as f,Lt as p,Ot as m,Pt as h,R as g,Rt as _,U as v,W as y,X as b,Y as x,Z as S,_ as C,a as w,b as T,bt as E,ct as D,dt as O,ft as k,gt as A,ht as j,it as M,k as N,mt as P,n as F,o as I,pt as L,q as R,s as z,st as B,tt as V,ut as H,v as U,vt as W,xt as G,y as K,z as ee}from"./DG3qFFTE.js";import{n as q}from"./DcgTbNcq.js";import"./xihTtKlq.js";import{i as J,r as te}from"./DptKR1hv.js";import{a as Y,t as ne}from"./Bq8E3AWP.js";import{$ as re,C as ie,X as ae,_ as oe,_t as X,a as se,bt as ce,c as le,d as ue,et as de,f as fe,g as pe,h as me,nt as he,p as ge,q as _e,t as ve,tt as ye,u as be,ut as xe,v as Se,yt as Ce}from"./CBiGoewq.js";import{n as Z}from"./DK8Blf1Y.js";import{n as we}from"./CWmeIXvO.js";import"./C4pQNjCl.js";import{u as Te}from"./DIE02RSm.js";import{b as Ee,d as De,f as Oe,l as ke,n as Ae,r as je,x as Me}from"./BtoT2pqw.js";import"./BfpExq-S.js";import{t as Ne}from"./CzEZR3zk.js";import{S as Pe,_ as Fe,a as Ie,d as Le,f as Re,g as ze,h as Be,m as Ve,n as He,p as Ue,r as We,t as Ge,u as Ke,v as qe,x as Je}from"./CMkhxHXO.js";import{A as Ye,C as Xe,E as Ze,O as Qe,S as $e,j as et,k as tt,n as nt,v as rt,w as it,x as at,y as ot}from"./BSAulPpp.js";import{G as st,H as ct,M as lt,Q as ut,U as dt,W as ft,X as pt,b as mt,g as ht,h as gt,q as _t,t as vt,v as yt,x as bt}from"./I88OwmoF.js";import{a as xt,i as St,n as Ct,r as wt}from"./CO-Ek-HE.js";import{a as Tt,c as Et,i as Dt,l as Ot,n as kt}from"./CNPCEIe2.js";import{r as At}from"./D_U_DYjx.js";import"./hZxLaVFg.js";import{t as jt}from"./CbL5XGqX.js";import{a as Mt,d as Nt,i as Pt,l as Ft,o as It,p as Lt,r as Rt,s as zt,u as Bt}from"./RDu9Dr22.js";import{a as Vt,d as Ht,f as Ut,i as Wt,l as Gt,o as Kt,p as qt,r as Jt,s as Yt,u as Xt}from"./U0yodJsu.js";import{n as Zt}from"./CgAkqYsL.js";import{a as Qt,i as $t,n as en,o as tn,r as nn,s as rn,t as an}from"./z9_H8vtF.js";import{t as on}from"./JBD5vUbP.js";function sn(e,t){return{key:t,direction:e?.key===t&&e.direction===`ascending`?`descending`:`ascending`}}var cn=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function ln(e){return e==null||e===``||typeof e==`number`&&!Number.isFinite(e)}function un(e,t){if(typeof e==`number`&&typeof t==`number`)return e-t;if(typeof e==`boolean`&&typeof t==`boolean`)return Number(e)-Number(t);let n=e instanceof Date?e.getTime():e,r=t instanceof Date?t.getTime():t;return typeof n==`number`&&typeof r==`number`?n-r:cn.compare(String(n),String(r))}function dn(e,t,n){return t?e.map((e,r)=>({row:e,index:r,value:n(e,t.key)})).sort((e,n)=>{let r=ln(e.value);if(r!==ln(n.value))return r?1:-1;let i=r?0:un(e.value,n.value);return(t.direction===`ascending`?i:-i)||e.index-n.index}).map(({row:e})=>e):[...e]}var fn={name:`@happyvertical/smrt-assets`,displayName:`Assets`,description:`Provider-agnostic asset management with versioning, metadata, folders, and associations`,uiSlots:{"attachment-list":{id:`attachment-list`,label:`Attachment List`,description:`Authorized private links and supplied version history`,icon:`file-text`,category:`list`,order:8,propsInterface:`AttachmentListProps`},"attachment-upload":{id:`attachment-upload`,label:`Attachment Upload`,description:`Native multipart upload with retained request fields and recovery guidance`,icon:`upload`,category:`form`,order:9,propsInterface:`AttachmentUploadProps`},"attachment-panel":{id:`attachment-panel`,label:`Attachments`,description:`Attachment list and optional native upload composition`,icon:`file-text`,category:`display`,order:10,propsInterface:`AttachmentPanelProps`},"asset-manager":{id:`asset-manager`,label:`Asset Manager`,description:`Combined asset management surface with toolbar, grid/list view, detail, and selection`,icon:`folder-image`,category:`admin`,order:1,propsInterface:`AssetManagerProps`},"asset-grid":{id:`asset-grid`,label:`Asset Grid`,description:`Grid view of asset thumbnails with selection`,icon:`grid`,category:`list`,order:2,propsInterface:`AssetGridProps`},"asset-list":{id:`asset-list`,label:`Asset List`,description:`Sortable list view of assets with metadata columns`,icon:`list`,category:`list`,order:3,propsInterface:`AssetListProps`},"asset-detail":{id:`asset-detail`,label:`Asset Detail`,description:`Detailed view of a single asset with metadata and preview`,icon:`file-text`,category:`detail`,order:4,propsInterface:`AssetDetailProps`},"asset-toolbar":{id:`asset-toolbar`,label:`Asset Toolbar`,description:`Toolbar with view toggle, filters, sort, and upload action`,icon:`sliders`,category:`action`,order:5,propsInterface:`AssetToolbarProps`},"asset-action-bar":{id:`asset-action-bar`,label:`Asset Action Bar`,description:`Bulk action bar shown when assets are selected`,icon:`more-horizontal`,category:`action`,order:6,propsInterface:`ActionBarProps`},"asset-create-modal":{id:`asset-create-modal`,label:`Create Asset Modal`,description:`Modal dialog for uploading and creating a new asset`,icon:`upload`,category:`form`,order:7,propsInterface:`CreateAssetModalProps`}},models:[`Asset`,`AssetType`,`AssetStatus`,`AssetMetafield`,`Folder`],collections:[`AssetCollection`,`AssetTypeCollection`,`AssetStatusCollection`,`AssetMetafieldCollection`,`AssetAssociationCollection`,`FolderCollection`]},Q=Y({"assets.action_bar.delete_confirm_title":`Delete {count} asset{plural}?`,"assets.action_bar.delete_confirm_message_one":`This action cannot be undone. The asset and its file data will be permanently removed.`,"assets.action_bar.delete_confirm_message_other":`This action cannot be undone. The assets and their file data will be permanently removed.`,"assets.action_bar.delete":`Delete`,"assets.action_bar.cancel":`Cancel`,"assets.asset_detail.open_pdf_in_new_tab":`Open PDF in new tab`,"assets.asset_detail.alt_text":`Alt Text`,"assets.asset_detail.alt_text_missing_warning":`⚠️ Missing — required for accessibility`,"assets.asset_detail.quick_actions":`Quick Actions`,"assets.asset_detail.copy_url":`📋 Copy URL`,"assets.asset_detail.copy_markdown":`📝 Copy Markdown`,"assets.asset_detail.edit_image":`✏️ Edit Image`,"assets.asset_detail.used_in":`Used In`,"assets.asset_detail.alt_text_placeholder":`Describe this image for screen readers`,"assets.asset_detail.description_placeholder":`Optional description`,"assets.asset_grid.loading":`Loading assets...`,"assets.asset_grid.no_assets_found":`No assets found`,"assets.asset_grid.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_grid.no_alt":`⚠️ No alt`,"assets.asset_grid.missing_alt_text":`Missing alt text`,"assets.asset_grid.open_named":`Open {name}`,"assets.asset_grid.select_named":`Select {name}`,"assets.asset_grid.select_named_checkbox":`Select {name}`,"assets.asset_list.loading":`Loading assets...`,"assets.asset_list.no_assets_found":`No assets found`,"assets.asset_list.empty_hint":`Upload an asset or change your search filters to see results.`,"assets.asset_list.select_all":`Select all`,"assets.asset_list.select_named":`Select {name}`,"assets.asset_manager.drop_file_to_upload":`Drop file to upload`,"assets.asset_toolbar.all_types":`All types`,"assets.asset_toolbar.newest_first":`Newest first`,"assets.asset_toolbar.oldest_first":`Oldest first`,"assets.asset_toolbar.name_a_z":`Name A–Z`,"assets.asset_toolbar.name_z_a":`Name Z–A`,"assets.asset_toolbar.recently_updated":`Recently updated`,"assets.asset_toolbar.search_placeholder":`Search assets...`,"assets.asset_toolbar.search_assets":`Search assets`,"assets.asset_toolbar.clear_search":`Clear search`,"assets.asset_toolbar.filter_by_type":`Filter by type`,"assets.asset_toolbar.sort_assets":`Sort assets`,"assets.asset_toolbar.view_mode":`View mode`,"assets.asset_toolbar.view_label":`{label} view`,"assets.create_asset_modal.dropzone_text":`Drag & drop a file here, or click to browse`,"assets.create_asset_modal.dropzone_hint":`You can also paste an image from your clipboard`,"assets.create_asset_modal.large_file_warning":`⚠️ Large file — may slow page loads`,"assets.create_asset_modal.alt_text":`Alt Text`,"assets.create_asset_modal.alt_text_recommended_warning":`⚠️ Recommended for accessibility`,"assets.create_asset_modal.name_placeholder":`Asset name`,"assets.create_asset_modal.description_placeholder":`Optional description`,"assets.create_asset_modal.alt_text_placeholder":`Describe this image for screen readers`,"assets.create_asset_modal.upload_asset":`Upload Asset`,"assets.create_asset_modal.preview_alt":`Preview`,"assets.create_asset_modal.remove_file":`Remove file`,"assets.create_asset_modal.upload_failed":`Upload failed. Please try again.`,"assets.asset_detail_preview.modal_preview":`Modal Preview`,"assets.asset_detail_preview.description":`Launch the asset detail dialog from inside the preview stage so the shared
2
- 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`}),pn=c(`<!> `,1),mn=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),hn=c(`<div class="action-bar svelte-zj4xv4" data-smrt-component="ActionBar"><div class="action-bar__left svelte-zj4xv4"><span class="action-bar__count svelte-zj4xv4"> </span> <!></div> <div class="action-bar__actions svelte-zj4xv4"><!> <!></div></div> <!>`,1);function gn(t,a){m(a,!0);let{t:c}=ne(),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=hn(),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=pn(),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=mn();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 _n=c(`<div class="detail-footer svelte-cttz0m"><!> <div class="detail-footer__right svelte-cttz0m"><!> <!></div></div>`),vn=c(`<img class="preview-image svelte-cttz0m"/>`),yn=c(`<video controls="" class="preview-video svelte-cttz0m"></video>`,2),bn=c(`<audio controls="" class="preview-audio svelte-cttz0m"></audio>`),xn=c(`<div class="preview-document svelte-cttz0m"><span class="preview-document__icon svelte-cttz0m">📄</span> <a target="_blank" rel="noopener noreferrer" class="preview-document__link svelte-cttz0m"> </a></div>`),Sn=c(`<div class="preview-generic svelte-cttz0m"><span class="preview-generic__icon svelte-cttz0m">📎</span> <span class="preview-generic__mime svelte-cttz0m"> </span></div>`),Cn=c(`<span class="label-warning svelte-cttz0m"> </span>`),wn=c(`<div class="form-field svelte-cttz0m"><label for="detail-alt" class="form-label svelte-cttz0m"> <!></label> <!></div>`),Tn=c(`<div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Dimensions</span> <span class="metadata-value svelte-cttz0m"> </span></div>`),En=c(`<section class="detail__section svelte-cttz0m"><h3 class="section-heading svelte-cttz0m"> </h3> <!></section>`),Dn=c(`<div class="detail__body svelte-cttz0m"><section class="detail__section svelte-cttz0m"><div class="detail__preview svelte-cttz0m"><!></div></section> <section class="detail__section svelte-cttz0m"><h3 class="section-heading svelte-cttz0m">SEO & Accessibility</h3> <div class="detail__form svelte-cttz0m"><div class="form-field svelte-cttz0m"><label for="detail-name" class="form-label svelte-cttz0m">Name</label> <!></div> <!> <div class="form-field svelte-cttz0m"><label for="detail-desc" class="form-label svelte-cttz0m">Description</label> <!></div></div></section> <section class="detail__section svelte-cttz0m"><h3 class="section-heading svelte-cttz0m">Metadata</h3> <div class="metadata-grid svelte-cttz0m"><div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Type</span> <span class="metadata-value svelte-cttz0m"> </span></div> <div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Status</span> <span class="metadata-value svelte-cttz0m"> </span></div> <div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Version</span> <span class="metadata-value svelte-cttz0m"> </span></div> <div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Created</span> <span class="metadata-value svelte-cttz0m"> </span></div> <div class="metadata-item svelte-cttz0m"><span class="metadata-label svelte-cttz0m">Updated</span> <span class="metadata-value svelte-cttz0m"> </span></div> <!></div></section> <section class="detail__section svelte-cttz0m"><h3 class="section-heading svelte-cttz0m"> </h3> <div class="quick-actions svelte-cttz0m"><!> <!> <!></div> <div class="copy-feedback svelte-cttz0m" role="status" aria-live="polite"> </div></section> <!></div>`);function On(t,a){m(a,!0);let{t:c}=ne(),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=_n(),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`);te(t,{get open(){return a.open},get title(){return e(m)},onClose:b,size:`md`,placement:`end`,footer:i,children:(t,i)=>{var d=Dn(),m=k(d),y=k(m),b=k(y),x=t=>{var n=vn();B(()=>{U(n,`src`,a.asset.sourceUri),U(n,`alt`,e(_)||a.asset.name)}),v(t,n)},S=e=>{var t=yn();B(()=>U(t,`src`,a.asset.sourceUri)),v(e,t)},w=e=>{var t=bn();B(()=>U(t,`src`,a.asset.sourceUri)),v(e,t)},E=e=>{var t=xn(),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=Sn(),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=wn(),a=k(i),o=k(a),u=j(o),d=e=>{var t=Cn(),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`]));Ae(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),te=j(k(J),2),Y=k(te),ne=j(k(Y),2),re=P(ne,!0);s(Y);var ie=j(Y,2),ae=j(k(ie),2),oe=P(ae,!0);s(ie);var X=j(ie,2),se=j(k(X),2),ce=P(se,!0);s(X);var le=j(X,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=Tn(),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(te),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 De=j(be,2),Oe=P(De,!0);s(_e);var ke=j(_e,2),je=e=>{var t=En(),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(ke,e=>{a.contentReferences&&a.asset.id&&e(je)}),s(d),B((t,n,r)=>{l(re,a.asset.mimeType||`—`),l(oe,a.asset.statusSlug||`draft`),l(ce,a.asset.version),l(de,t),l(me,n),l(ye,r),l(Oe,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 kn=c(`<div class="asset-grid__loading svelte-1y2xmql"><span class="spinner svelte-1y2xmql"></span> <span> </span></div>`),An=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>`),jn=c(`<img class="asset-card__image svelte-1y2xmql" loading="lazy"/>`),Mn=c(`<span class="asset-card__type-icon svelte-1y2xmql"> </span>`),Nn=c(`<span class="asset-card__type svelte-1y2xmql"> </span>`),Pn=c(`<span class="asset-card__badge asset-card__badge--warning svelte-1y2xmql"> </span>`),Fn=c(`<div><button type="button" class="asset-card__open svelte-1y2xmql"></button> <div class="asset-card__checkbox svelte-1y2xmql"><input type="checkbox" class="svelte-1y2xmql"/></div> <div class="asset-card__thumb svelte-1y2xmql"><!></div> <div class="asset-card__info svelte-1y2xmql"><span class="asset-card__name svelte-1y2xmql"> </span> <div class="asset-card__meta svelte-1y2xmql"><!></div></div> <!></div>`),In=c(`<div class="grid svelte-1y2xmql"></div>`),Ln=c(`<div data-smrt-component="AssetGrid"><!></div>`);function Rn(t,o){m(o,!0);let{t:c}=ne(),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=Ln();let A;var M=k(O),N=e=>{var t=kn(),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=An(),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=In();f(i,21,()=>o.assets,e=>e.id,(t,i)=>{let u=r(()=>o.selectedIds.has(e(i).id));var d=Fn();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=jn();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=Mn(),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=Nn(),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=Pn(),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-1y2xmql`,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-1y2xmql`,null,A,{"asset-grid--loading":u()})),v(t,O),i()}x([`click`,`dblclick`,`change`]);var zn=c(`Name <span class="sort-indicator svelte-7abuk9"> </span>`,1),Bn=c(`Created <span class="sort-indicator svelte-7abuk9"> </span>`,1),Vn=c(`<tr><td colspan="6" class="cell-empty"><div class="asset-list__loading svelte-7abuk9"><span class="spinner svelte-7abuk9"></span> <span> </span></div></td></tr>`),Hn=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>`),Un=c(`<img class="row-thumb svelte-7abuk9" loading="lazy"/>`),Wn=c(`<span class="row-thumb-placeholder svelte-7abuk9"> </span>`),Gn=c(`<span class="row-desc svelte-7abuk9"> </span>`),Kn=c(`<tr><td class="col-checkbox svelte-7abuk9"><input type="checkbox" class="svelte-7abuk9"/></td><td class="col-thumb svelte-7abuk9"><!></td><td class="col-name svelte-7abuk9"><!> <!></td><td class="col-type svelte-7abuk9"><span class="type-badge svelte-7abuk9"> </span></td><td class="col-date svelte-7abuk9"> </td><td class="col-status svelte-7abuk9"><span></span> </td></tr>`),qn=c(`<div data-smrt-component="AssetList"><table class="list-table svelte-7abuk9"><thead class="list-table__head svelte-7abuk9"><tr class="svelte-7abuk9"><th class="col-checkbox svelte-7abuk9"><input type="checkbox" class="svelte-7abuk9"/></th><th class="col-thumb svelte-7abuk9">Preview</th><th class="col-name svelte-7abuk9"><!></th><th class="col-type svelte-7abuk9">Type</th><th class="col-date svelte-7abuk9"><!></th><th class="col-status svelte-7abuk9">Status</th></tr></thead><tbody class="list-table__body"><!></tbody></table></div>`);function Jn(t,o){m(o,!0);let{t:c}=ne(),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=qn();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=zn(),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=Bn(),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),te=k(J),Y=e=>{var t=Vn(),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)},re=e=>{var t=Hn(),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)},ie=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=Kn();let m;var g=k(f),_=k(g);C(_),s(g);var y=j(g),x=k(y),w=t=>{var n=Un();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=Wn(),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=Gn(),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-7abuk9`,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-7abuk9`,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(te,e=>{d()?e(Y):o.assets.length===0?e(re,1):e(ie,-1)}),s(J),s(I),s(M),B(t=>{F=a(M,1,`asset-list svelte-7abuk9`,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 Yn=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>`),Xn=c(`<option> </option> <option>Images</option> <option>Videos</option> <option>Documents</option> <option>Audio</option>`,1),Zn=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>`),$n=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>`),er=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),tr=c(`<div class="asset-toolbar svelte-zuzq0a" data-smrt-component="AssetToolbar"><div class="asset-toolbar__left svelte-zuzq0a"><div class="asset-toolbar__search svelte-zuzq0a"><span class="search-icon svelte-zuzq0a" 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-zuzq0a"><div class="view-toggle svelte-zuzq0a" role="group"></div> <!></div></div>`);function nr(t,a){m(a,!0);let{t:o}=ne();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=tr(),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=Yn();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`]));Ee(V,{class:`asset-toolbar__select`,get value(){return e(w)},onchange:S,get"aria-label"(){return e(t)},children:(e,t)=>{var n=Xn(),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`]));Ee(H,{class:`asset-toolbar__select`,get value(){return e(C)},onchange:x,get"aria-label"(){return e(t)},children:(e,t)=>{var n=Zn(),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=$n();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=er();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 rr=c(`<!> <!>`,1),ir=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-17tcw0s"><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-17tcw0s"> </p> <p class="dropzone__hint svelte-17tcw0s"> </p> <input id="file-input" type="file" class="dropzone__input svelte-17tcw0s"/></div>`),ar=c(`<img class="file-preview__image svelte-17tcw0s"/>`),or=c(`<div class="file-preview__icon svelte-17tcw0s">📎</div>`),sr=c(`<span class="file-preview__warning svelte-17tcw0s"> </span>`),cr=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>`),lr=c(`<span class="form-label__warning svelte-17tcw0s"> </span>`),ur=c(`<div class="form-field svelte-17tcw0s"><label for="asset-alt" class="form-label svelte-17tcw0s"> <!></label> <!></div>`),dr=c(`<div class="file-preview svelte-17tcw0s"><!> <div class="file-preview__meta svelte-17tcw0s"><span class="file-preview__filename svelte-17tcw0s"> </span> <span class="file-preview__size svelte-17tcw0s"> </span> <!></div> <!></div> <div class="form-fields svelte-17tcw0s"><div class="form-field svelte-17tcw0s"><label for="asset-name" class="form-label svelte-17tcw0s">Name</label> <!></div> <div class="form-field svelte-17tcw0s"><label for="asset-desc" class="form-label svelte-17tcw0s">Description</label> <!></div> <!></div>`,1),fr=c(`<p class="create-error svelte-17tcw0s" role="alert" aria-live="assertive"> </p>`);function pr(t,o){m(o,!0);let{t:c}=ne(),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=rr(),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`]));te(t,{get open(){return o.open},get title(){return e(d)},onClose:I,size:`md`,footer:i,children:(t,i)=>{var o=rr(),u=L(o),d=t=>{var n=ir();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-17tcw0s`,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=dr(),a=L(i),o=k(a),u=t=>{var n=ar();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=or();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=sr(),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=cr();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`]));Ae(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=ur(),a=k(i),o=k(a),u=j(o),d=e=>{var t=lr(),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=fr(),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 mr=c(`<p class="asset-manager__error svelte-1ulmegy" role="alert" aria-live="assertive"> </p>`),hr=c(`<div class="drag-overlay svelte-1ulmegy"><div class="drag-overlay__content svelte-1ulmegy"><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-1ulmegy"> </p></div></div>`),gr=c(`<div data-smrt-component="AssetManager"><!> <!> <!> <div class="asset-manager__content svelte-1ulmegy"><!></div> <!> <!> <!></div>`);function _r(t,c){m(c,!0);let{t:u}=ne();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)}else 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 te(e){d()===`pick`&&(c.onConfirm??c.onconfirm)?.([e])}function Y(){W(T,!1),W(N,null)}function re(){W(N,null),W(T,!0)}async function ie(e){await c.onCreate?.(e),W(T,!1)}async function ae(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 oe(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 X(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=gr();let ue;var de=k(le),fe=t=>{var n=mr(),r=P(n,!0);B(()=>l(r,e(C))),v(t,n)};n(de,t=>{e(C)&&t(fe)});var pe=j(de,2);nr(pe,{get view(){return e(_)},get filters(){return e(F)},get sort(){return e(I)},onViewChange:V,onFilterChange:H,onSortChange:U,onUpload:re});var me=j(pe,2);gn(me,{get selectedAssets(){return e(z)},get customActions(){return f()},onClearSelection:K,onDelete:ae});var he=j(me,2),ge=k(he),_e=t=>{Rn(t,{get assets(){return e(x)},get selectedIds(){return e(b)},loading:!1,get mode(){return d()},onSelectionChange:G,onAssetClick:ee,onAssetDblClick:te})},ve=t=>{Jn(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);On(ye,{get asset(){return e(M)},get open(){return e(O)},onclose:q,onsave:J,ondelete:e=>{ae([e]),q()}});var be=j(ye,2),xe=e=>{var t=hr(),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:Y,onclose:Y,onCreate:ie,oncreate:ie})),v(t,n)},Z=t=>{pr(t,{get open(){return e(T)},get initialFile(){return e(N)},oncreate:ie,onclose:Y})};n(Se,e=>{c.uploader?e(Ce):e(Z,-1)}),s(le),B(()=>ue=a(le,1,`asset-manager svelte-1ulmegy`,null,ue,{"asset-manager--drag-over":e(R)})),S(`paste`,le,oe),S(`dragover`,le,X),S(`dragleave`,le,se),S(`drop`,le,ce),v(t,le),i()}function vr(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 $=Y({"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.`}),yr=c(`<span> </span>`),br=c(`<p class="svelte-niyc1l"> </p>`),xr=c(`<strong> </strong> <div class="metadata svelte-niyc1l"><span> </span> <!> <!></div> <!> <div class="links svelte-niyc1l"><!> <!></div>`,1),Sr=c(`<p role="alert" class="svelte-niyc1l"> </p>`),Cr=c(`<p role="status" class="svelte-niyc1l"> </p>`),wr=c(`<div class="links svelte-niyc1l"><!></div>`),Tr=c(`<li class="svelte-niyc1l"><!></li>`),Er=c(`<h4 class="svelte-niyc1l"> </h4> <ol class="svelte-niyc1l"></ol>`,1),Dr=c(`<li class="svelte-niyc1l"><!> <!> <!> <!></li>`),Or=c(`<!> <!> <!>`,1),kr=c(`<!> <!>`,1),Ar=c(`<section class="attachment-list svelte-niyc1l" data-smrt-component="AttachmentList"><h3 class="svelte-niyc1l"> </h3> <!> <!> <!> <ul class="svelte-niyc1l"></ul> <!> <!></section>`);function jr(t,a){let o=R();m(a,!0);let c=(t,i=p)=>{var a=xr(),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=yr(),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=yr(),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=br(),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(()=>vr(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(()=>vr(i().viewHref));n(w,t=>{e(E)&&t(T)});var O=j(w,2),A=t=>{{let n=r(()=>vr(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(()=>vr(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}=ne(),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=Ar();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),te=e=>{var t=Sr(),n=P(t,!0);B(()=>l(n,a.message)),v(e,t)};n(q,e=>{a.message&&e(te)});var Y=j(q,2),re=e=>{var t=Cr(),n=P(t,!0);B(e=>l(n,e),[()=>D($[`assets.attachments.loading`])]),v(e,t)};n(Y,e=>{_()&&e(re)});var ie=j(Y,2),ae=e=>{var t=br(),n=P(t,!0);B(e=>l(n,e),[()=>D($[`assets.attachments.empty`])]),v(e,t)};n(ie,e=>{a.attachments.length===0&&!_()&&e(ae)});var oe=j(ie,2);f(oe,21,()=>a.attachments,e=>e.id,(t,r)=>{var i=Dr(),o=k(i);c(o,()=>e(r));var p=j(o,2),m=t=>{var n=wr(),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=br(),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=Er(),i=L(n),a=P(i,!0),o=j(i,2);f(o,21,()=>e(r).versions,e=>e.id,(t,n)=>{var r=Tr(),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(oe);var X=j(oe,2),se=t=>{var n=Sr(),r=P(n,!0);B(e=>l(r,e),[()=>D($[`assets.attachments.remove_failed`],{name:e(F)})]),v(t,n)};n(X,t=>{e(F)&&t(se)});var ce=j(X,2),le=t=>{var i=kr(),o=L(i),s=t=>{De(t,{get id(){return e(I)},method:`post`,get action(){return a.removeAction},preventDefault:!1,children:(t,n)=>{var i=Or(),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 Mr=c(`<p role="alert" class="svelte-1vjqvf2"> </p>`),Nr=c(`<p role="status" class="svelte-1vjqvf2"> </p>`),Pr=c(`<p class="svelte-1vjqvf2"> </p>`),Fr=c(`<div class="upload-fields svelte-1vjqvf2"><!> <!> <!> <!> <!> <!> <!> <!> <!> <div><!></div></div>`),Ir=c(`<p data-smrt-component="AttachmentUpload" class="svelte-1vjqvf2"> </p>`);function Lr(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}=ne(),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=>{De(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=Fr(),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=Mr(),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=Nr(),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);Oe(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=Pr(),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=Mr(),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=Pr(),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)=>{Ae(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),te=k(J);Z(te,{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=Ir(),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 Rr=new Set([`$$slots`,`$$events`,`$$legacy`,`upload`]),zr=c(`<div class="attachment-panel svelte-1x11t2b" data-smrt-component="AttachmentPanel"><!> <!></div>`);function Br(e,t){let r=I(t,Rr);var i=zr(),a=k(i);jr(a,z(()=>r));var o=j(a,2),c=e=>{Lr(e,z(()=>t.upload))};n(o,e=>{t.upload&&e(c)}),s(i),v(e,i)}ut.registerModule(fn),ut.register(`@happyvertical/smrt-assets`,`asset-manager`,_r),ut.register(`@happyvertical/smrt-assets`,`asset-grid`,Rn),ut.register(`@happyvertical/smrt-assets`,`asset-list`,Jn),ut.register(`@happyvertical/smrt-assets`,`asset-detail`,On),ut.register(`@happyvertical/smrt-assets`,`asset-toolbar`,nr),ut.register(`@happyvertical/smrt-assets`,`asset-action-bar`,gn),ut.register(`@happyvertical/smrt-assets`,`asset-create-modal`,pr),ut.register(`@happyvertical/smrt-assets`,`attachment-list`,jr),ut.register(`@happyvertical/smrt-assets`,`attachment-upload`,Lr),ut.register(`@happyvertical/smrt-assets`,`attachment-panel`,Br);var Vr=c(`<p class="svelte-6k4sqr">Add the Asset library recipe to show the product gallery.</p>`),Hr=c(`<span class="count svelte-6k4sqr"> </span>`),Ur=c(`<li class="svelte-6k4sqr"><strong> </strong> <!> <!></li>`),Wr=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 Gr(t,a){m(a,!0);let o=r(()=>vt.has(Xt)),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=Wr(),g=k(h),_=j(k(g),4),y=e=>{var t=Vr();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=Ur(),h=k(m),g=P(h,!0),_=j(h,2),y=t=>{{let n=r(()=>u(e(f)));Rn(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=Hr(),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))}`);Oe(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 Kr=e=>JSON.stringify(e);function qr(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 Jr(e){let t=e.map(e=>({name:e.name,values:qr(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:Kr(e.map(e=>e.value)),attributes:Object.fromEntries(e.map(e=>[e.name,e.value])),values:e.map(e=>e.value)}))}function Yr(e,t){return Jr(e.axes.map(e=>({name:e.name,values:t.axes[e.name]??[]})))}function Xr(e){return{productFields:e.form.fields,cellFields:e.extensions.flatMap(e=>e.fields??[]),cellRecords:e.extensions.flatMap(e=>e.records??[])}}function Zr(e,t){return e.form.fields.map(n=>({field:n,catalogField:Nt(n,[e.form.product],t)}))}function Qr(e,t){let{cellFields:n,cellRecords:r}=Xr(e),i=[$r(e.form),...r];return n.map(e=>({field:e,catalogField:Nt(e,i,t)}))}var $r=e=>({as:`sku`,model:e.skus});function ei(e,t){return{values:Object.fromEntries(Zr(e,t).map(({field:e,catalogField:t})=>[e.id,Bt(e,t)])),axes:Object.fromEntries(e.form.axes.map(e=>[e.name,[...e.values]])),cells:{}}}function ti(e,t){return Object.fromEntries(Qr(e,t).map(({field:e,catalogField:t})=>[e.id,Bt(e,t)]))}function ni(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return}}function ri(e){let t=ni(e.attributes);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}function ii(e,t){let n=ri(t),r=e.axes.filter(e=>e.name in n).map(e=>String(n[e.name]));return r.length?Kr(r):void 0}async function ai(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=ei(t,n);for(let e of Zr(t,n)){let{field:t}=zt(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=ni(t?.allowedValues);c.axes[e.name]=t&&Array.isArray(n)?qr(n.map(String)):[]}let{cellFields:l,cellRecords:u}=Xr(t),d=ti(t,n);for(let t of s){let r=ii(i,t);if(!r)continue;let o=await Mt(e,[$r(i),...u],{product:a,sku:t},n);c.cells[r]=Object.fromEntries(l.map(e=>{let{alias:t,field:n}=zt(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 oi(e,t){return[Ft(e)||`SKU`,...t.values.map(Ft)].filter(Boolean).join(`-`)}function si(e,t,n,r){let{form:i}=e,{cellFields:a,cellRecords:o}=Xr(e),s=[],c=Pt(i.fields,n.values),l=It(i.fields,i.product.as,n.values);s.push({op:`save`,as:`product`,model:t(i.product.model),...r?{id:r.productId}:{},onCreate:Lt(i.product.values,c),values:l});let u=t(i.variants);i.axes.forEach((e,t)=>{let r=qr(n.axes[e.name]??[]),i={productId:{ref:`product`},axisName:e.name};r.length===0?s.push({op:`delete`,model:u,match:i}):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=Yr(i,n),p=new Set(f.map(e=>e.key)),m=new Map((r?.skus??[]).flatMap(e=>{let t=ii(i,e);return t?[[t,e]]:[]}));for(let e of r?.skus??[]){let n=ii(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(ii(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=oi(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={...ti(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=It(a,e.as,b);s.push({op:`save`,as:x(e.as),model:t(e.model),...e.match?{match:Lt(e.match,S,x)}:{},onCreate:Lt(e.values,S,x),values:n})}}),s}var ci=c(`<input type="number" min="0" step="1" class="svelte-1ojxqxz"/>`),li=c(`<span class="sku svelte-1ojxqxz"> </span>`),ui=c(`<p class="svelte-1ojxqxz">Loading...</p>`),di=c(`<p class="meta svelte-1ojxqxz">Add sizes or colors above to build the grid.</p>`),fi=c(`<th scope="col" class="svelte-1ojxqxz"> </th>`),pi=c(`<td class="svelte-1ojxqxz"><!></td>`),mi=c(`<tr><th scope="row" class="svelte-1ojxqxz"> </th><!></tr>`),hi=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>`),gi=c(`<th scope="row" class="svelte-1ojxqxz"> </th>`),_i=c(`<tr><!><td class="svelte-1ojxqxz"><!></td></tr>`),vi=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>`),yi=c(`<p class="error svelte-1ojxqxz" role="alert"> </p>`),bi=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 xi(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=ci();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=li(),i=P(r,!0);B(e=>l(i,e),[()=>oi(e(H),n())]),v(t,r)}),v(t,r)},c=At(),u=r(()=>Zr(a.active,Rt)),d=r(()=>Qr(a.active,Rt)),h=E(A(ei(a.active,Rt))),_=E(void 0),x=E(a.id===void 0),w=E(``);async function D(e){let t=await ai(c,a.active,Rt,e);t&&(W(h,t.state,!0),W(_,t.existing,!0)),W(x,!0)}a.id!==void 0&&D(a.id);let O=r(()=>Yr(a.active.form,e(h))),M=r(()=>a.active.form.axes.filter(t=>qr(e(h).axes[t.name]??[]).length)),N=r(()=>e(M).length===2),F=r(()=>e(M)[0]),I=r(()=>e(M)[1]),R=r(()=>qr(e(h).axes[e(F)?.name??``]??[])),z=r(()=>qr(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]={...ti(a.active,Rt),...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 te(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.`);else try{await c.apply(si(a.active,Rt,e(h),e(_))),a.onsaved()}catch(e){W(w,e instanceof Error?e.message:`Could not save.`,!0)}}var Y=y(),ne=L(Y),re=e=>{var t=ui();v(e,t)},ie=t=>{var i=bi(),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}));en(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]??[]);je(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]=qr(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=di();v(e,t)},L=t=>{var i=hi(),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=fi(),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=mi(),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=pi(),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=vi(),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=fi(),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=_i(),i=k(r);f(i,17,()=>e(n).values,g,(t,n)=>{var r=gi(),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=yi(),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,te),b(`click`,q,function(...e){a.oncancel?.apply(this,e)}),v(t,i)};n(ne,t=>{e(x)?t(ie,-1):t(re)}),v(t,Y),i()}x([`input`,`click`]);var Si=c(`<small class="svelte-r3pzvb"> </small>`),Ci=c(`<button type="button" class="svelte-r3pzvb"> </button>`),wi=c(`<p>Loading sample data...</p>`),Ti=c(`<p>No records yet. Create one above.</p>`),Ei=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>`),Di=c(`<td class="svelte-r3pzvb"> </td>`),Oi=c(`<button type="button" class="secondary svelte-r3pzvb">Edit</button>`),ki=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>`),Ai=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),ji=c(`<section class="svelte-r3pzvb"><header class="svelte-r3pzvb"><h2 class="svelte-r3pzvb"> <!></h2> <div class="new svelte-r3pzvb"></div></header> <!> <!></section>`);function Mi(t,a){m(a,!0);let o=At(),c=r(()=>a.forms.some(e=>Qt(e,Wt))),u=r(()=>a.scope?.equals===void 0?a.forms:a.forms.filter(tn)),d=r(()=>a.forms.find(rn)),p=r(()=>a.forms.find(tn)),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=>wt(a.scope,e)),!0);let t=await o.list(Rt(Vt));W(x,new Set(t.map(e=>String(e.productId))),!0),W(S,e(c)?Yt(await o.list(Rt(Jt)),await o.list(Rt(Wt))):new Map,!0);let[n,r]=await Promise.all([o.list(Rt(Gt)),o.list(Rt(Ht))]);W(w,r,!0),W(C,new Map(e(g).map(e=>[e.id,qt(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];Ct(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(()=>dn(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(Rt(Jt))).filter(e=>e.productId===t.id);await o.apply(Kt(t.id,n,Rt,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(Ut(t.id,n,r,e(C).get(t.id)?.length??0)),await N()}var q=ji(),J=k(q),te=k(J),Y=k(te),ne=j(Y),re=t=>{var n=Si(),r=P(n,!0);B(e=>l(r,e),[()=>Se(e(g).length)]),v(t,n)};n(ne,t=>{e(T)&&t(re)}),s(te);var ie=j(te,2);f(ie,21,()=>e(u),e=>e.form.id,(t,n)=>{var r=Ci(),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(ie),s(J);var ae=j(J,2),oe=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=>{xi(t,{get active(){return e(i).form},get id(){return e(i).id},onsaved:V,oncancel:()=>W(O,null)})},l=r(()=>rn(e(i).form)),d=t=>{{let n=r(()=>e(u).length===1?a.noun:void 0);an(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(()=>tn(e(i).form));n(s,t=>{e(l)?t(c):e(f)&&t(d,1)}),v(t,o)}),v(t,o)};n(ae,t=>{e(O)&&t(oe)});var X=j(ae,2),se=e=>{var t=wi();v(e,t)},ce=e=>{var t=Ti();v(e,t)},de=t=>{var i=Ai(),a=L(i);Gr(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=Ei(),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(_,sn(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=ki(),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=Di(),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=Oi();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(X,t=>{e(T)?e(g).length===0?t(ce,1):t(de,-1):t(se)}),s(q),B(()=>l(Y,`${a.title??(a.model.name===`Product`?`Products`:a.model.name)??``} `)),v(t,q),i()}x([`click`]);var Ni=c(`<p class="error svelte-1yufor4" role="alert" data-remove-error=""> </p>`),Pi=c(`<div class="derived svelte-1yufor4"><!> <output> </output> <small class="svelte-1yufor4">Calculated from quantity, price, discount and tax.</small></div>`),Fi=c(`<p class="error svelte-1yufor4" role="alert" data-error-summary=""> </p>`),Ii=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>`),Li=c(`<p class="svelte-1yufor4">Loading...</p>`),Ri=c(`<p class="empty svelte-1yufor4">None yet.</p>`),zi=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>`),Bi=c(`<td class="svelte-1yufor4"> </td>`),Vi=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>`),Hi=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>`),Ui=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 Wi(t,a){m(a,!0);let o=At(),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(()=>de(a.model)),d=r(()=>Be(e(c))),p=r(()=>ae(a.model,!1)),g=t=>t===`amount`?xe(e(R)):e(R)[t],_=E(A({})),x=E(``),C=E(``),w=r(()=>Ve(e(c),e(_))||e(x)),T=E(A([])),O=E(A(new Map)),M=E(null),N=r(()=>dn(e(T),e(M),(t,n)=>{let r=e(d).find(e=>e.name===n);if(!r)return;let i=Ue(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=qe(await o.list(a.model),a.fk,a.parentId);W(O,await We(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=>Fe(a.model,e(c),t,e(O))||Ke(t.id);function q(){W(_,{},!0),W(x,``),W(R,Le(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 te(t,n){if(e(R)[t.name]=n,delete e(_)[t.name],!e(u)||!ye(t)||typeof n!=`string`)return;let r=t.related&&ce(t.related)?.model,i=r?await o.get(r,n):void 0;Object.assign(e(R),he(a.model,i))}async function Y(t){t.preventDefault();let n=t.currentTarget;if(W(_,ze(e(c),e(R),e(p)),!0),Object.keys(e(_)).length>0){await V(),nn(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 ne(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 re=Ui(),ie=k(re),oe=k(ie),X=k(oe),se=j(X),le=P(se,!0);s(oe);var ue=j(oe,2),pe=t=>{var n=Ni(),r=P(n,!0);B(()=>l(r,e(C))),v(t,n)};n(ue,t=>{e(C)&&t(pe)});var me=j(ue,2),ge=P(me);s(ie);var _e=j(ie,2),ve=t=>{var i=y(),o=L(i);ee(o,()=>e(z),t=>{var i=Ii(),o=k(i);f(o,17,()=>e(c),e=>e.name,(t,i)=>{var o=y(),c=L(o),u=t=>{var n=Pi(),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=>{en(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=>te(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=Fi(),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,Y),b(`click`,x,()=>W(I,null)),v(t,i)}),v(t,i)};n(_e,t=>{e(I)&&t(ve)});var be=j(_e,2),Se=e=>{var t=Li();v(e,t)},Ce=e=>{var t=Ri();v(e,t)},Z=t=>{var n=Hi(),r=k(n),i=k(r),a=k(i),o=k(a);f(o,17,()=>e(d),e=>e.name,(t,n)=>{var r=zi(),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,sn(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=Vi(),i=k(r);f(i,17,()=>e(d),e=>e.name,(t,r)=>{var i=Bi(),a=P(i,!0);B(e=>l(a,e),[()=>fe(e(r),Ue(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,()=>ne(e(n))),v(t,r)}),s(c),s(r),s(n),v(t,n)};n(be,t=>{e(F)?e(T).length===0?t(Ce,1):t(Z,-1):t(Se)}),s(re),B(t=>{U(re,`data-child-model`,a.model.name),l(X,`${a.title??``} `),l(le,e(T).length),l(ge,`Add ${t??``}`)},[()=>a.title.toLowerCase().replace(/s$/,``)]),b(`click`,me,q),v(t,re),i()}x([`click`]);var Gi=c(`<small class="svelte-1f6fvpi"> </small>`),Ki=c(`<p class="error svelte-1f6fvpi" role="alert" data-write-error=""> </p>`),qi=c(`<p class="filter svelte-1f6fvpi" data-list-filter=""> <a>Show all</a></p>`),Ji=c(`<button type="button" class="svelte-1f6fvpi"> </button>`),Yi=c(`<div><dt class="svelte-1f6fvpi"> </dt> <dd class="svelte-1f6fvpi"><output> </output></dd></div>`),Xi=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>`),Zi=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>`),$i=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>`),ea=c(`<!> <!>`,1),ta=c(`<p>Loading...</p>`),na=c(`<p>No records yet. Create one above.</p>`),ra=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>`),ia=c(`<td class="svelte-1f6fvpi"> </td>`),aa=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>`),oa=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>`),sa=c(`<section class="svelte-1f6fvpi"><header class="svelte-1f6fvpi"><h2 class="svelte-1f6fvpi"> <!></h2> <!> <!> <!></header> <!> <!></section>`);function ca(t,a){m(a,!0);let o=w(a,`forms`,19,()=>[]),c=w(a,`childTables`,19,()=>[]),u=w(a,`href`,3,ve),d=At(),p=r(()=>a.fields??ie(a.model).map(e=>({...e,label:be(e)}))),g=r(()=>o().filter(e=>tn(e))),_=r(()=>Be(e(p))),x=r(()=>ae(a.model,c().some(e=>de(e.model)),c().some(e=>re(e.model)))),C=r(()=>e(p).filter(t=>e(x).has(t.name)&&_e.includes(t.name))),T=r(()=>a.noun??ge(a.model.name).toLowerCase()),O=r(()=>a.title??oe(ge(a.model.name))),M=r(()=>ce(a.model.id)?.pkg.id??``),N=t=>u()(Ze(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=ce(t.related)?.model;r&&Ie(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(()=>dn(e(R),e(z),(t,n)=>{let r=e(_).find(e=>e.name===n);if(!r)return;let i=Ue(r,t);return r.type===`foreignKey`||r.type===`crossPackageRef`?fe(r,i,e(H)):i})),q=E(!1),J=E(null),te=E(void 0),Y=E(A({})),ne=E(0),X=E(A({})),se=E(``),ue=r(()=>Ve(e(p),e(X))),pe=e=>e instanceof Error?e.message:String(e),me=t=>Fe(a.model,e(p),t,e(H))||Ke(t.id),he=r(()=>e(J)&&e(J)!==`new`?Fe(a.model,e(p),e(R).find(t=>t.id===e(J))??{},e(H)):``);async function ye(){let t=(await d.list(a.model)).filter(e=>wt(a.scope,e));W(H,await We(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),ye().then(()=>{typeof location<`u`&&Ct(location.pathname)&&Ce(e(g)[0])})}),D(()=>d.onReset?.(()=>void ye()));async function xe(){W(J,null),await ye()}function Ce(t){t?(W(te,t,!0),W(J,`new`),G(ne)):(W(te,void 0),W(Y,{...Re(e(p)),...a.preset},!0),W(X,{},!0),W(J,`new`),G(ne))}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(X,ze(e(p),e(Y),e(x)),!0),Object.keys(e(X)).length>0){await V(),nn(n);return}let r={};for(let t of e(p))e(x).has(t.name)||(r[t.name]=e(Y)[t.name]);W(se,``);try{if(e(J)===`new`){let t=await d.create(a.model,r);W(J,c().length?t.id:null,!0),e(J)&&(W(Y,{...t},!0),G(ne))}else e(J)&&(await d.update(a.model,e(J),r),W(J,null))}catch(e){W(se,pe(e),!0);return}await ye()}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(Y)[n]=t[n];e(x).has(`amountPaid`)&&(e(Y).status=t.status)}await ye()}async function Ee(e){W(se,``);try{await d.delete(a.model,e.id)}catch(e){W(se,pe(e),!0);return}await ye()}var De=sa(),Oe=k(De),ke=k(Oe),Ae=k(ke),je=j(Ae),Ne=t=>{var n=Gi(),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 Pe=j(ke,2),Le=t=>{var n=Ki(),r=P(n,!0);B(()=>l(r,e(se))),v(t,n)};n(Pe,t=>{e(se)&&t(Le)});var He=j(Pe,2),Ge=t=>{var n=qi(),r=k(n),i=j(r);s(n),B((t,n)=>{l(r,`${e(F).label??``}: ${t??``}
9
- · `),U(i,`href`,n)},[()=>e(I)||Ke(a.scope?.equals),()=>u()(Xe(e(M),a.model.name))]),v(t,n)};n(He,t=>{e(F)&&t(Ge)});var qe=j(He,2),Je=t=>{var n=y(),r=L(n);f(r,17,()=>e(g),e=>e.form.id,(t,n)=>{var r=Ji(),i=P(r);B(e=>l(i,`New ${e??``}`),[()=>le(e(n).form.label,a.noun,e(g).length===1)]),b(`click`,r,()=>Ce(e(n))),v(t,r)}),v(t,n)},Ye=t=>{var n=Ji(),r=P(n);B(()=>l(r,`New ${e(T)??``}`)),b(`click`,n,()=>Ce()),v(t,n)};n(qe,t=>{e(g).length?t(Je):t(Ye,-1)}),s(Oe);var Qe=j(Oe,2),$e=t=>{var i=ea(),o=L(i);ee(o,()=>e(ne),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);an(t,{get active(){return e(te)},get id(){return e(n)},get preset(){return a.preset},get noun(){return e(i)},onsaved:xe,oncancel:()=>W(J,null)})}},d=t=>{var i=$i(),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=Xi(),r=k(n);f(r,21,()=>e(C),e=>e.name,(t,n)=>{var r=Yi(),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(Y)[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=Zi(),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(Y)[e(i).name]??0,e(H))||`—`]),v(t,n)},m=r(()=>e(x).has(e(i).name)),g=t=>{en(t,{get field(){return e(i)},get error(){return e(X)[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(Y)[e(i).name]},onchange:t=>{e(Y)[e(i).name]=t,delete e(X)[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(te)?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)=>{Wi(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(Qe,t=>{e(J)&&t($e)});var et=j(Qe,2),tt=e=>{},nt=e=>{var t=ta();v(e,t)},rt=e=>{var t=na();v(e,t)},it=t=>{var n=oa(),r=k(n),i=k(r),a=k(i),o=k(a);f(o,17,()=>e(_),e=>e.name,(t,n)=>{var r=ra(),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,sn(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=aa(),i=k(r);f(i,17,()=>e(_),e=>e.name,(t,r)=>{var i=ia(),a=P(i,!0);B(e=>l(a,e),[()=>fe(e(r),Ue(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(et,t=>{e(J)&&c().length?t(tt):e(q)?e(R).length===0?t(rt,2):t(it,-1):t(nt,1)}),s(De),B(()=>l(Ae,`${e(O)??``} `)),v(t,De),i()}x([`click`]);var la=c(`<div class="reports svelte-g8zadd"><!></div>`);function ua(t,a){m(a,!0);let o=w(a,`title`,15),c=kt(At()),l=r(()=>nt.settings().currency),u=r(()=>c.sourceInfo()),d=e=>ve(Tt(e)),f=e=>e===`planner`?`you`:void 0;D(()=>{a.recordId,o(void 0)});var p=la(),h=k(p),g=t=>{var n=y(),r=L(n);ee(r,()=>a.recordId,t=>{Ot(t,{get id(){return a.recordId},get client(){return c.client},get sources(){return e(u)},authorLabel:f,get currency(){return e(l)},onreport:e=>o(e.title)})}),v(t,n)},_=t=>{Et(t,{get client(){return c.client},reportHref:d,authorLabel:f,get sources(){return e(u)},get currency(){return e(l)}})};n(h,e=>{a.recordId?e(g):e(_,-1)}),s(p),v(t,p),i()}var da=c(`<p>Loading...</p>`),fa=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>`),pa=c(`<div class="record-view svelte-ac0bnk"><!></div>`);function ma(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)=>{Wi(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:fe})}),v(t,n)},c=w(a,`mode`,3,`view`),u=w(a,`href`,3,ve),d=w(a,`navigate`,3,e=>{location.assign(u()(e))}),p=At(),h=r(()=>Ce(a.packageId,a.modelName)),g=r(()=>e(h)?vt.apply(e(h)):void 0),b=r(()=>e(h)?Ye(e(h)):void 0),x=r(()=>e(h)&&e(g)?et(e(h),c()===`view`&&Ge(e(h))?e(g).fields.filter(e=>e.name!==`profileId`):e(g).fields):void 0),S=r(()=>vt.ids.flatMap(e=>{let t=bt.get(e);return t?[t]:[]})),C=r(()=>Qe(e(S),vt.features)),T=r(()=>e(h)?tt(X,e(h).id,e(C)):[]),O=r(()=>ot(a.packageId,a.modelName)),M=r(()=>rt(e(O),e(C))),N=r(()=>{if(!e(h))return[];let t=pt(X,e(h).id);return ft(X,mt,e(h).id).map(e=>{let n=vt.apply(e.model);return{model:n.model,fields:n.fields,fk:e.fk,title:st(e.model.name,t)}})}),F=r(()=>e(h)?ae(e(h),e(N).some(e=>de(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([He(p,e(h),t),We(p,e(h).fields,[t])])),W(z,Je(e(h),t,n,ge(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(()=>Xe(a.packageId,a.modelName)),te=r(()=>oe(ge(a.modelName)));function Y(t){return e(T).find(e=>e.kind===`reference`&&e.field===t.name)}function ne(t,n){let r=Y(t);if(!r||!e(C).has(r.model))return;let i=ce(r.model);return i?.model.exposed?u()(Ze(i.pkg.id,i.model.name,n)):void 0}let ie=r(()=>Object.fromEntries(e(T).filter(e=>e.kind===`reference`).map(t=>[t.model,n=>e(V).get(me(t.model,n))])));function se(e){let t=ce(e.model);return t?.model.exposed?u()($e(t.pkg.id,t.model.name,e.field,a.recordId)):void 0}async function le(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()(Ze(a.packageId,a.modelName,a.recordId))}catch(e){W(K,e instanceof Error?e.message:String(e),!0)}finally{W(H,!1)}}async function ue(){if(e(h)){W(G,!0);try{await p.delete(e(h),a.recordId),d()(e(J))}finally{W(G,!1)}}}async function fe(){if(!e(h))return;let t=await p.get(e(h),a.recordId);t&&W(I,t,!0)}let pe=r(()=>({source:p,href:u(),relations:e(T),viewAllHref:se}));var he=y(),_e=L(he),ye=e=>{var t=da();v(e,t)},be=t=>{var n=fa(),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(te).toLowerCase()]),v(t,n)},xe=t=>{var n=y(),i=L(n);ee(i,()=>`${e(O)}:${e(C).size}`,t=>{var n=pa(),i=k(n);{let t=r(()=>nt.overview(e(O))),n=r(()=>[...e(F)]),s=r(()=>e(N).length?o:void 0);Pe(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 at},get widgetContext(){return e(pe)},get overview(){return e(M)},get override(){return e(t)},onoverviewchange:t=>nt.setOverview(e(O),t),hrefFor:ne,get labels(){return e(ie)},viewAllHref:se,get title(){return e(z)},get backLabel(){return e(te)},get submitting(){return e(H)},get deleting(){return e(G)},get error(){return e(K)},onback:()=>d()(e(J)),onedit:()=>d()(Ze(a.packageId,a.modelName,a.recordId,`edit`)),oncancel:()=>d()(Ze(a.packageId,a.modelName,a.recordId)),onsave:le,ondelete:ue,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(be,1):t(xe,-1):t(ye)}),v(t,he),i()}var ha=c(`<a> </a> `,1),ga=c(`<a> </a> / <!>`,1),_a=c(`<span class="meta svelte-7s4ovu">(not in your app yet)</span>`),va=c(` <a> </a>`,1),ya=c(`<p> <!></p>`),ba=c(`<main class="svelte-7s4ovu"><div class="bar svelte-7s4ovu"><nav aria-label="Breadcrumb"><!> <!></nav> <!></div> <!></main>`);function xa(a,o){m(o,!0);let c=r(()=>Ce(o.packageId,o.modelName)),d=r(()=>e(c)?vt.apply(e(c)):void 0),p=r(()=>e(d)?.model),g=r(()=>e(c)?$t(vt.ids,mt,e(c).id):[]),_=r(()=>mt.filter(t=>e(c)&&t.models.includes(e(c).id))),b=r(()=>e(_).find(e=>vt.has(e.id))??e(_)[0]),x=r(()=>e(b)?dt(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=>vt.has(e.id));if(!t)return vt.hasFeature(e(c).id)?{section:nt.layout?.sections?.[`section:${lt.id}`]?.label||lt.label,label:ge(e(c).name),sectionId:`section:${lt.id}`}:void 0;let n=ct(t),r=yt(t).find(t=>t.model.id===e(c).id&&t.key===o.view);return{section:nt.layout?.sections?.[`section:${n.id}`]?.label||n.label,label:r?.label??e(c).name,sectionId:`section:${n.id}`}}),D=e=>e.section.trim().toLowerCase()===e.label.trim().toLowerCase(),O=r(()=>e(T)&&e(c)&&e(T).label.toLowerCase()!==ge(e(c).name).toLowerCase()?e(T).label:void 0),A=E(void 0),N=r(()=>o.recordId&&e(c)?.id===`@happyvertical/smrt-reports:RuntimeReport`?e(A):void 0),F=r(()=>{let t=e(_).flatMap(e=>yt(e)).find(t=>t.model.id===e(c)?.id&&!t.key)?.label,n=e(T)?.label??t??oe(ge(o.modelName));return o.recordId?`${e(N)??`${ge(o.modelName)} record`} · ${n}`:`${n} · ${e(T)?.section??ge(o.packageId)}`}),I=r(()=>e(_).flatMap(e=>yt(e)).find(t=>t.model.id===e(c)?.id&&t.key===o.view&&t.noun)?.noun),R=r(()=>e(c)?St(e(c).id,o.view,vt.ids.flatMap(e=>{let t=mt.find(t=>t.id===e);return t?yt(t):[]})):void 0),z=r(()=>e(c)?it(Ne.url.search,e(c)):void 0),V=r(()=>e(z)??e(R)),G=r(()=>xt(e(V))),K=r(()=>e(T)?pe(e(T).label,e(I)):void 0),J=r(()=>{let t=e(_).find(t=>t.help&&dt(t)===e(x)&&vt.has(t.id))??e(_).find(t=>t.help&&dt(t)===e(x));if(!t?.help)return;let{glossary:n}=on(t.help,gt(t,vt.rows));return n.some(e=>e.model===o.modelName)?`${t.id}-fields-${o.modelName}`:void 0}),te=r(()=>{if(!e(c))return[];let t=pt(X,e(c).id);return ft(X,mt,e(c).id).map(e=>{let n=vt.apply(e.model);return{model:n.model,fields:n.fields,fk:e.fk,title:st(e.model.name,t)}})}),Y=r(()=>!e(c)||_t(mt,e(c).id)||vt.hasFeature(e(c).id)||!e(_).length?[]:mt.flatMap(t=>yt(t).filter(n=>ft(X,[t],n.model.id).some(t=>t.model.id===e(c).id)))),ne=r(()=>se.has(o.packageId)||(e(c)?vt.hasFeature(e(c).id):!1)||e(_).some(e=>vt.has(e.id)));var re=y();t(`7s4ovu`,t=>{M(()=>{H.title=`${e(F)??``} · smrt planner`})});var ie=L(re),ae=t=>{var i=ba(),a=k(i),m=k(a),_=k(m),b=t=>{var i=y(),a=L(i),o=t=>{var n=u();B(()=>l(n,e(T).label)),v(t,n)},s=r(()=>D(e(T))||!e(T).sectionId),c=t=>{var r=ga(),i=L(r),a=P(i,!0),o=j(i,2),s=t=>{var n=ha(),r=L(n),i=P(r,!0),a=j(r);B(t=>{U(r,`href`,t),l(i,e(T).label),l(a,` / ${e(N)??``}`)},[()=>ve(Dt)]),v(t,n)},c=t=>{var n=u();B(()=>l(n,e(T).label)),v(t,n)};n(o,t=>{e(N)?t(s):t(c,-1)}),B(t=>{U(i,`href`,t),l(a,e(T).section)},[()=>ve(Zt(e(T).sectionId))]),v(t,r)};n(a,t=>{e(s)?t(o):t(c,-1)}),v(t,i)},C=t=>{var n=u();B(()=>l(n,e(p).name)),v(t,n)};n(_,t=>{e(T)?t(b):t(C,-1)});var w=j(_,2),E=e=>{var t=_a();v(e,t)};n(w,t=>{nt.loaded&&!e(ne)&&t(E)}),s(m);var M=j(m,2),F=t=>{jt(t,{get section(){return e(x)},get label(){return e(S)},get helpAnchor(){return e(J)}})};n(M,t=>{e(x)&&t(F)}),s(a);var I=j(a,2),R=t=>{ua(t,{get recordId(){return o.recordId},get title(){return e(A)},set title(e){W(A,e,!0)}})},z=e=>{var t=y(),n=L(t);ee(n,()=>o.recordId,e=>{ma(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(ve(e))})}),v(e,t)},H=t=>{var n=ya(),r=k(n),i=j(r);f(i,19,()=>e(Y),e=>e.model.id,(t,n,r)=>{h();var i=va(),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)},[()=>ve(ht(e(n)))]),v(t,i)}),s(n),B(e=>l(r,`${e??``} records live inside their parent record. Open
10
- one of: `),[()=>ge(e(p).name)]),v(t,n)},re=t=>{Mi(t,{get model(){return e(p)},get forms(){return e(g)},get scope(){return e(V)},get preset(){return e(G)},get title(){return e(O)},get noun(){return e(K)}})},ie=t=>{ca(t,{get model(){return e(p)},get fields(){return e(d).fields},get forms(){return e(g)},get childTables(){return e(te)},get title(){return e(O)},get noun(){return e(K)},get scope(){return e(V)},get preset(){return e(G)}})};n(I,t=>{e(c)?.id===`@happyvertical/smrt-reports:RuntimeReport`?t(R):o.recordId?t(z,1):e(Y).length?t(H,2):e(g).length&&e(p).id===`@happyvertical/smrt-products:Product`?t(re,3):t(ie,-1)}),s(i),v(t,i)};n(ie,t=>{e(p)&&e(d)&&t(ae)}),v(a,re),i()}export{xa as t};
@@ -1 +0,0 @@
1
- export{l as load_css,o as start}from"../chunks/DcgTbNcq.js";
@@ -1,3 +0,0 @@
1
- import{$ as e,A as t,B as n,Ct as r,Dt as i,E as a,Ft as o,G as s,H as c,J as l,L as u,M as ee,Ot as d,Pt as f,U as p,X as m,Y as h,_ as g,at as _,bt as v,ft as y,ht as b,mt as x,p as S,pt as C,st as w,ut as T,v as E,vt as D}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{Ct as O,St as k,_t as A,a as j,p as M,t as N,vt as P}from"../chunks/CBiGoewq.js";import{p as te}from"../chunks/DIE02RSm.js";import{i as F}from"../chunks/BtoT2pqw.js";import{t as ne}from"../chunks/EetkBuD2.js";var I=s(`<p class="svelte-disfw2">Nothing selected yet. Choose a package below.</p>`),L=s(`<li><a class="svelte-disfw2"> </a></li>`),R=s(`<ul class="chips svelte-disfw2"></ul> <button type="button" class="secondary svelte-disfw2">Clear selection</button>`,1),re=s(`<p class="meta svelte-disfw2"> </p>`),ie=s(`<li><h3 class="svelte-disfw2"><a> </a></h3> <p class="description svelte-disfw2"> </p> <p class="meta svelte-disfw2"><!></p> <!> <!></li>`),ae=s(`<li class="none svelte-disfw2"> </li>`),oe=s(`<main class="svelte-disfw2"><header class="svelte-disfw2"><p class="meta svelte-disfw2"><a>Planner</a> / All packages</p> <h1 class="svelte-disfw2">All packages</h1> <p class="svelte-disfw2">The whole catalog, a package at a time. Recipes on the Planner page are
2
- the smaller way in: they add one section of an app, not every model in a
3
- package. Your picks live in the URL, so you can share the mock-up.</p></header> <section aria-label="Your selection" class="selection svelte-disfw2"><h2 class="svelte-disfw2">Your app</h2> <!> <p class="notice svelte-disfw2" role="status" aria-live="polite"> </p></section> <section aria-label="Package catalog"><h2 class="svelte-disfw2">Packages <small class="svelte-disfw2"> </small></h2> <label class="search svelte-disfw2"><span class="visually-hidden svelte-disfw2">Search packages</span> <input type="search" placeholder="Search packages, models and fields" class="svelte-disfw2"/></label> <ul class="cards svelte-disfw2"></ul></section></main>`);function z(s,h){d(h,!0);let z=v(``),B=v(``),V=r(()=>k(A.packages,e(z)));function se(e){let t=new Set(j.ids),n=t.has(e);j.toggle(e);let r=j.ids.filter(n=>!t.has(n)&&n!==e);D(B,n?`Removed ${M(e)}.`:r.length?`Added ${M(e)} and the packages it needs: ${r.map(M).join(`, `)}.`:`Added ${M(e)}.`,!0)}var H=oe();t(`disfw2`,e=>{_(()=>{T.title=`All packages · smrt planner`})});var U=y(H),W=y(U),G=y(W);f(),o(W),f(4),o(U);var K=b(U,2),q=b(y(K),2),ce=e=>{var t=I();p(e,t)},le=e=>{var t=R(),n=C(t);u(n,20,()=>j.ids,e=>e,(e,t)=>{var n=L(),r=y(n),i=x(r,!0);o(n),w((e,t)=>{E(r,`href`,e),c(i,t)},[()=>N(`/packages/${t}/`),()=>M(t)]),p(e,n)}),o(n);var r=b(n,2);m(`click`,r,()=>j.clear()),p(e,t)};n(q,e=>{j.ids.length===0?e(ce):e(le,-1)});var ue=b(q,2),de=x(ue,!0);o(K);var J=b(K,2),Y=y(J),X=b(y(Y)),fe=x(X);o(Y);var Z=b(Y,2),Q=b(y(Z),2);g(Q),o(Z);var $=b(Z,2);u($,29,()=>e(V),e=>e.id,(t,i)=>{let s=r(()=>j.has(e(i).id)),u=r(()=>j.requiredBy(e(i).id));var d=ie();let f;var m=y(d),h=y(m),g=x(h,!0);o(m);var _=b(m,2),v=x(_,!0),S=b(_,2),C=y(S),T=t=>{var n=l();w((e,t)=>c(n,`${e??``} models · ${t??``} generated surfaces`),[()=>P(e(i)).length,()=>O(e(i))]),p(t,n)},D=r(()=>P(e(i)).length),k=t=>{var n=l();w(()=>c(n,`${e(i).models.length??``} internal models · closed: no generated surfaces`)),p(t,n)};n(C,t=>{e(D)?t(T):t(k,-1)}),o(S);var A=b(S,2),I=t=>{var n=re(),r=x(n);w(e=>c(r,`Needs: ${e??``}`),[()=>e(i).dependencies.map(M).join(`, `)]),p(t,n)};n(A,t=>{e(i).dependencies.length&&t(I)});var L=b(A,2);{let t=r(()=>e(s)&&e(u).length>0),n=r(()=>`Include ${M(e(i).id)} in my app`),a=r(()=>e(s)&&e(u).length>0?`In your app (needed by ${e(u).map(M).join(`, `)})`:e(s)?`In your app`:`Add to my app`);F(L,{get checked(){return e(s)},get disabled(){return e(t)},onchange:()=>se(e(i).id),get"aria-label"(){return e(n)},get label(){return e(a)}})}o(d),w((t,n)=>{f=a(d,1,`svelte-disfw2`,null,f,{selected:e(s)}),E(h,`href`,t),c(g,n),c(v,e(i).description)},[()=>N(`/packages/${e(i).id}/`),()=>M(e(i).id)]),ee(d,()=>te,()=>({duration:ne(`medium2`,300)})),p(t,d)},t=>{var n=ae(),r=x(n);w(()=>c(r,`No packages match "${e(z)??``}".`)),p(t,n)}),o($),o(J),o(H),w(t=>{E(G,`href`,t),c(de,e(B)),c(fe,`${e(V).length??``} of ${A.packages.length??``}`)},[()=>N(`/`)]),S(Q,()=>e(z),e=>D(z,e)),p(s,H),i()}h([`click`]);export{z as component};
@@ -1,26 +0,0 @@
1
- import{$ as e,A as t,B as n,C as r,Ct as i,Dt as a,E as o,Et as s,Ft as c,G as l,H as u,J as d,K as f,L as p,M as m,Mt as h,Ot as g,Pt as _,S as v,T as y,U as b,W as x,X as S,Y as C,Z as w,_ as T,a as E,b as D,bt as O,ct as k,d as A,dt as j,ft as M,gt as N,ht as P,it as F,lt as I,mt as L,nt as R,pt as z,r as B,st as V,tt as H,ut as U,v as W,vt as G,wt as ee}from"../chunks/DG3qFFTE.js";import"../chunks/xihTtKlq.js";import{i as te,o as K}from"../chunks/DptKR1hv.js";import{a as ne}from"../chunks/Bq8E3AWP.js";import{At as re,W as ie,_t as ae,ct as q,i as oe,jt as se,kt as ce,ot as le,p as J,st as ue,t as de}from"../chunks/CBiGoewq.js";import{n as Y}from"../chunks/DK8Blf1Y.js";import{E as fe,a as pe,g as me,m as he}from"../chunks/BQTYU0bG.js";import{b as ge,n as _e}from"../chunks/CWmeIXvO.js";import{t as ve}from"../chunks/C4pQNjCl.js";import{p as ye,u as be}from"../chunks/DIE02RSm.js";import{f as xe,g as Se,o as Ce,p as we}from"../chunks/CPTDYg6b.js";import{r as Te}from"../chunks/CUyVrfsu.js";import{a as Ee,b as De,i as Oe,n as ke,p as Ae,t as je,x as Me,y as Ne}from"../chunks/BtoT2pqw.js";import{a as Pe,d as Fe,f as Ie,g as Le,h as Re,i as X,m as ze,o as Be,p as Ve,u as He,x as Ue,y as We}from"../chunks/CSCLK1LQ.js";import"../chunks/CMkhxHXO.js";import{_ as Ge,a as Ke,m as qe,n as Z,s as Je}from"../chunks/BSAulPpp.js";import{$ as Ye,F as Xe,I as Ze,L as Qe,M as $e,N as et,R as tt,a as nt,b as rt,i as it,nt as at,t as Q,u as ot,x as st,z as ct}from"../chunks/I88OwmoF.js";import{S as lt,g as ut,h as dt,m as ft,v as pt}from"../chunks/DRrQW2LM.js";import{n as mt,r as ht,t as gt}from"../chunks/-ISFFgRZ.js";import{n as _t,r as vt,t as yt}from"../chunks/D_U_DYjx.js";import{_ as bt,c as $,d as xt,f as St,g as Ct,h as wt,i as Tt,l as Et,m as Dt,n as Ot,o as kt,p as At,r as jt,t as Mt,u as Nt}from"../chunks/INoVtrTs.js";import{r as Pt}from"../chunks/BMgzWMdF.js";import{t as Ft}from"../chunks/9cAwBYAv.js";import{n as It,s as Lt,t as Rt}from"../chunks/CU4a_rKX.js";import{t as zt}from"../chunks/EetkBuD2.js";var Bt={bread:[`M7 3h10a4 4 0 0 1 2.4 7.2L20 19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2l.6-8.8A4 4 0 0 1 7 3z`,`M9 13l1 3`,`M14 13l1 3`],car:[`M5 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M15 17a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M5 17h-2v-6l2-5h9l4 5h1a2 2 0 0 1 2 2v4h-2m-4 0h-6m-6-6h15m-6 0v-5`],flame:[`M12 12c2-2.96 0-7-1-8 0 3.038-1.773 4.741-3 6-1.226 1.26-2 3.24-2 5a6 6 0 1 0 12 0c0-1.532-1.056-3.94-2-5-1.786 3-2.791 3-4 2z`],yoga:[`M11 4a1 1 0 1 0 2 0a1 1 0 1 0-2 0`,`M4 20h4l1.5-3`,`M17 20l-1-5h-5l1-7`,`M4 10l4-1l4-1l4 1.5l4 1.5`],leaf:[`M5 21c.5-4.5 2.5-8 7-10`,`M9 18c6.218 0 10.5-3.288 11-12v-2h-4.014c-9 0-11.986 4-12 9c0 1 0 3 2 5h3z`],scissors:[`M6 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M6 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0-6 0`,`M8.6 8.6l10.4 10.4`,`M8.6 15.4l10.4-10.4`],coffee:[`M3 14c.83.642 2.077 1.017 3.5 1c1.423.017 2.67-.358 3.5-1c.83-.642 2.077-1.017 3.5-1c1.423-.017 2.67.358 3.5 1`,`M8 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M12 3a2.4 2.4 0 0 0-1 2a2.4 2.4 0 0 0 1 2`,`M3 10h14v5a6 6 0 0 1-6 6h-2a6 6 0 0 1-6-6v-5z`,`M16.746 16.726a3 3 0 1 0 .252-5.555`],forklift:[`M5 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M13 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0-4 0`,`M7 17h4`,`M3 17v-6h13v6`,`M5 11v-4h4`,`M9 11v-6h4l3 6`,`M22 15h-3v-10`,`M16 13h3`],heart:[`M19.5 12.572l-7.5 7.428l-7.5-7.428a5 5 0 1 1 7.5-6.566a5 5 0 1 1 7.5 6.572`],pencil:[`M4 20h4l10.5-10.5a2.828 2.828 0 1 0-4-4l-10.5 10.5v4`,`M13.5 6.5l4 4`],tool:[`M7 10h3v-3l-3.5-3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8l3.5 3.5`],bolt:[`M13 3v7h6l-8 11v-7H5l8-11`],brush:[`M3 21v-4a4 4 0 1 1 4 4h-4`,`M21 3a16 16 0 0 0-12.8 10.2`,`M21 3a16 16 0 0 1-10.2 12.8`,`M10.6 9a9 9 0 0 1 4.4 4.4`],home:[`M5 12H3l9-9l9 9h-2`,`M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-7`,`M9 21v-6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6`],music:[`M3 17a3 3 0 1 0 6 0a3 3 0 0 0-6 0`,`M13 17a3 3 0 1 0 6 0a3 3 0 0 0-6 0`,`M9 17v-13h10v13`,`M9 8h10`],microphone:[`M15 12.9a5 5 0 1 0-3.902-3.9`,`M15 12.9l-3.902-3.899l-7.513 8.584a2 2 0 1 0 2.827 2.83l8.588-7.515z`]};ne({"ui.audit.history":`Record history`,"ui.audit.list":`Audit trail`,"ui.audit.empty":`No audit entries.`,"ui.audit.loading":`Loading audit entries…`,"ui.audit.person":`Person ID`,"ui.audit.record":`Record ID`,"ui.audit.from":`From date`,"ui.audit.to":`To date`,"ui.audit.filter":`Apply filters`,"ui.audit.reason":`Reason: {reason}`,"ui.audit.behalf":`On behalf of {actor}`,"ui.audit.change":`{field}: {before} → {after}`}),ne({"ui.notification_bell.label":`Notifications`,"ui.notification_bell.unread":`{count} unread`,"ui.notification_bell.mark_all":`Mark all read`,"ui.notification_bell.mark_one":`Mark read`,"ui.notification_bell.loading":`Loading notifications`,"ui.notification_bell.empty":`No notifications.`,"ui.notification_bell.unavailable":`Notifications are unavailable.`,"ui.notification_bell.mark_error":`Could not mark notifications read.`,"ui.notification_bell.live_error":`Live notifications are unavailable.`}),C([`keydown`]);var Vt=l(`<option>Per line</option> <option>Once per document</option>`,1),Ht=l(`<option></option>`),Ut=l(`<li class="svelte-1adyoey"><span class="name"> </span> <span class="rates svelte-1adyoey"> </span></li>`),Wt=l(`<div class="settings svelte-1adyoey"><div class="field svelte-1adyoey"><!> <!></div> <div class="percent svelte-1adyoey"><!> <span class="percent-sign svelte-1adyoey" aria-hidden="true">%</span></div> <div class="field svelte-1adyoey"><!> <!></div> <div class="field switch svelte-1adyoey"><!> <small class="svelte-1adyoey"> </small></div> <div class="field svelte-1adyoey"><!> <!> <datalist></datalist></div></div> <section class="tax-codes svelte-1adyoey"><h3 class="svelte-1adyoey">Tax codes</h3> <p class="meta svelte-1adyoey">New documents use <strong> </strong> </p> <ul class="svelte-1adyoey"></ul> <p class="meta svelte-1adyoey">The country codes are smrt’s examples; check they apply before using one.</p></section>`,1);function Gt(t,n){g(n,!0);let r=E(n,`idPrefix`,3,`app-settings`),o=[`Due on receipt`,`Net 15`,`Net 30`,`Net 60`,`50% deposit, balance on completion`],s=e=>n.onchange({...n.value,...e}),l=i(()=>q(n.value.taxRate)),d=i(()=>[...ue,...le].filter(t=>t.id!==e(l).id)),f=e=>e.components.map(e=>e.name).join(` + `)||`No tax, reported as ${e.kind.replace(/-/g,` `)}`;var m=Wt(),h=z(m),v=M(h),y=M(v);Me(y,{get for(){return`${r()??``}-currency`},label:`Currency`});var x=P(y,2);Ne(x,{get id(){return`${r()??``}-currency`},get value(){return n.value.currency},onchange:e=>s({currency:e.currentTarget.value})}),c(v);var S=P(v,2),C=M(S);{let t=i(()=>Rt(n.value.taxRate));Lt(C,{get name(){return`${r()??``}-tax-rate`},label:`Default tax rate`,min:0,step:.01,get value(){return e(t)},onchange:e=>s({taxRate:It(e)??0})})}_(2),c(S);var w=P(S,2),T=M(w);Me(T,{get for(){return`${r()??``}-rounding`},label:`Tax rounding`});var D=P(T,2);De(D,{get id(){return`${r()??``}-rounding`},get value(){return n.value.taxRounding},onchange:e=>s({taxRounding:e.currentTarget.value}),children:(e,t)=>{var n=Vt(),r=z(n);r.value=r.__value=`line`;var i=P(r,2);i.value=i.__value=`document`,b(e,n)},$$slots:{default:!0}}),c(w);var O=P(w,2),k=M(O);Oe(k,{get checked(){return n.value.pricesIncludeTax},onchange:e=>s({pricesIncludeTax:e.currentTarget.checked}),label:`Prices include tax`});var A=P(k,2),j=L(A,!0);c(O);var N=P(O,2),F=M(N);Me(F,{get for(){return`${r()??``}-terms`},label:`Default payment terms`});var I=P(F,2);_e(I,{get id(){return`${r()??``}-terms`},type:`text`,get list(){return`${r()??``}-terms-options`},autocomplete:`off`,placeholder:`Not set`,get value(){return n.value.paymentTerms},oninput:e=>s({paymentTerms:e.currentTarget.value})});var R=P(I,2);p(R,20,()=>o,e=>e,(e,t)=>{var n=Ht(),r={};V(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),b(e,n)}),c(R),c(N),c(h);var B=P(h,2),H=M(B),U=P(H,2),G=P(M(U)),ee=L(G,!0),te=P(G);c(U);var K=P(U,2);p(K,21,()=>e(d),e=>e.id,(t,n)=>{var r=Ut(),i=M(r),a=L(i,!0),o=P(i,2),s=L(o,!0);c(r),V(t=>{W(r,`data-tax-code`,e(n).code),u(a,e(n).name),u(s,t)},[()=>f(e(n))]),b(t,r)}),c(K),_(2),c(B),V(t=>{u(j,n.value.pricesIncludeTax?`A line’s amount is what the customer pays; tax is part of it.`:`Tax is added on top of each line’s amount.`),W(R,`id`,`${r()??``}-terms-options`),W(B,`aria-labelledby`,`${r()??``}-tax-codes`),W(H,`id`,`${r()??``}-tax-codes`),u(ee,e(l).name),u(te,` (${t??``}),
2
- from the default tax rate. A line can choose another code; an exempt
3
- customer pays none.`)},[()=>f(e(l))]),b(t,m),a()}var Kt=f(`<path></path>`),qt=l(`<span class="badge svelte-mzas8k">In use</span>`),Jt=l(`<li><button type="button" class="card svelte-mzas8k"><span class="heading svelte-mzas8k"><svg class="icon svelte-mzas8k" viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"></svg> <span class="name svelte-mzas8k"> </span></span> <span class="summary svelte-mzas8k"> </span> <!></button></li>`),Yt=l(`<ul class="grid svelte-mzas8k" aria-label="Cookbooks"></ul>`),Xt=l(`<span aria-hidden="true">←</span> Back to cookbooks`,1),Zt=l(`<li class="svelte-mzas8k"> </li>`),Qt=l(`<li> </li>`),$t=l(`<div><h4 class="svelte-mzas8k"> </h4> <ul class="svelte-mzas8k"></ul></div>`),en=l(`<section class="preview svelte-mzas8k" aria-labelledby="preview-heading"><div class="back svelte-mzas8k"><!></div> <h2 id="preview-heading" tabindex="-1" class="svelte-mzas8k"> </h2> <p class="summary svelte-mzas8k"> </p> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Recipes</h3> <ul class="chips svelte-mzas8k" aria-label="Recipes"></ul></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Menu</h3> <div class="menu svelte-mzas8k"></div></div> <div class="block svelte-mzas8k"><h3 class="svelte-mzas8k">Settings</h3> <!></div> <div class="actions svelte-mzas8k"><!> <span class="meta svelte-mzas8k">Replaces your current recipes, menu and sample records.</span></div></section>`),tn=l(`<div class="cookbooks svelte-mzas8k"><!> <p class="meta svelte-mzas8k">A cookbook is a ready-made starting point: the recipes, menu and settings a
4
- kind of business usually needs. Pick one, look it over, then change
5
- anything in the other tabs.</p> <div class="swap svelte-mzas8k"><!></div> <!></div> <!>`,1);function nn(t,r){g(r,!0);let o=vt(),s=fe(),l=O(!1),f=O(``),m=O(``);B(()=>{pt.load()});let v=i(()=>mt.find(e=>e.id===kt.open)),y=O(null),x=O(null),C;k(()=>{let t=e(v)?.id??null,n=C===void 0,r=C!==t;C=t,!n&&r&&H().then(()=>{if(t){e(x)?.scrollIntoView({block:`nearest`}),e(x)?.focus({preventScroll:!0});return}let n=e(y)?.querySelector(`[data-cookbook="${kt.returnTo??``}"]`);n?.scrollIntoView({block:`nearest`}),n?.focus({preventScroll:!0})})});function w(e){G(m,``),G(f,``),kt.show(e.id)}function T(){kt.back()}function E(t){t.key!==`Escape`||t.defaultPrevented||e(l)||(t.preventDefault(),T())}let D=O(N(ot(void 0)));k(()=>{G(D,ot(e(v)?.settings),!0)});let j=e=>pt.active===e.id&&Ct(e,{recipes:Q.ids,features:Q.features});function F(){e(v)&&(bt(Z)?G(l,!0):I())}function I(){if(G(l,!1),!e(v))return;let t=wt(e(v),Z,h(e(D)));if(t.ok){o.reset?.(),G(f,``);let t=Dt(e(v).document).length;G(m,`${e(v).name} added ${t} menu sections. Explore them in the left sidebar.`),s?.setPanelState(`left`,`expanded`)}else G(f,t.error,!0),G(m,``)}var R=tn(),U=z(R),ee=M(U),ne=t=>{K(t,{variant:`success`,title:`Cookbook applied`,children:(t,n)=>{_();var r=d();V(()=>u(r,e(m))),b(t,r)},$$slots:{default:!0}})};n(ee,t=>{e(m)&&t(ne)});var re=P(ee,4),ie=M(re),ae=t=>{var r=Yt();p(r,21,()=>mt,e=>e.id,(t,r)=>{let a=i(()=>j(e(r)));var o=Jt(),s=M(o),l=M(s),d=M(l);p(d,20,()=>Bt[e(r).icon]??[],e=>e,(e,t)=>{var n=Kt();V(()=>W(n,`d`,t)),b(e,n)}),c(d);var f=P(d,2),m=L(f,!0);c(l);var h=P(l,2),g=L(h,!0),_=P(h,2),v=e=>{var t=qt();b(e,t)};n(_,t=>{e(a)&&t(v)}),c(s),c(o),V(()=>{W(s,`data-cookbook`,e(r).id),u(m,e(r).name),u(g,e(r).summary)}),S(`click`,s,()=>w(e(r))),b(t,o)}),c(r),A(r,e=>G(y,e),()=>e(y)),b(t,r)},q=t=>{let n=i(()=>Dt(e(v).document));var r=en(),a=M(r),o=M(a);Y(o,{variant:`ghost`,onclick:T,children:(e,t)=>{var n=Xt();_(),b(e,n)},$$slots:{default:!0}}),c(a);var s=P(a,2),l=L(s,!0);A(s,e=>G(x,e),()=>e(x));var f=P(s,2),m=L(f,!0),h=P(f,2),g=P(M(h),2);p(g,20,()=>ht(e(v)),e=>e,(e,t)=>{var n=Zt(),r=L(n,!0);V(()=>u(r,t)),b(e,n)}),c(g),c(h);var y=P(h,2),C=P(M(y),2);p(C,21,()=>e(n),e=>e.id,(t,n)=>{var r=$t(),i=M(r),a=L(i,!0),o=P(i,2);p(o,21,()=>e(n).entries,e=>e.id,(t,n)=>{var r=Qt(),i=L(r,!0);V(()=>u(i,e(n).label)),b(t,r)}),c(o),c(r),V(()=>u(a,e(n).label)),b(t,r)}),c(C),c(y);var w=P(y,2);Gt(P(M(w),2),{get value(){return e(D)},onchange:e=>G(D,e,!0),idPrefix:`cookbook-settings`}),c(w);var O=P(w,2),k=M(O);Y(k,{onclick:F,children:(e,t)=>{_();var n=d(`Use this cookbook`);b(e,n)},$$slots:{default:!0}}),_(2),c(O),c(r),V(()=>{W(r,`data-cookbook-detail`,e(v).id),u(l,e(v).name),u(m,e(v).summary)}),S(`keydown`,r,E),b(t,r)};n(ie,t=>{e(v)?t(q,-1):t(ae)}),c(re);var oe=P(re,2),se=t=>{K(t,{variant:`error`,title:`Could not use this cookbook`,children:(t,n)=>{_();var r=d();V(()=>u(r,e(f))),b(t,r)},$$slots:{default:!0}})};n(oe,t=>{e(f)&&t(se)}),c(U);var ce=P(U,2);{let t=i(()=>e(v)?`Use the ${e(v).name} cookbook?`:`Use this cookbook?`);te(ce,{get open(){return e(l)},get title(){return e(t)},message:`Replaces your current recipes, menu and sample records.`,confirmLabel:`Replace`,destructive:!0,onconfirm:I,oncancel:()=>G(l,!1)})}b(t,R),a()}C([`click`,`keydown`]);var rn=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,an=new Map(ct(rt).map(e=>[e.id,e.label]));function on(e){return J(e.slice(e.lastIndexOf(`:`)+1))}function sn(e){let t=new Map;for(let n of e){let e=on(n.objectRef),r=t.get(e)??[],i=J(n.fieldName).toLowerCase();r.includes(i)||r.push(i),t.set(e,r)}return[...t].map(([e,t])=>`${e}: ${t.join(`, `)}`)}function cn(e){let t=[];e.custom?t.push(`brand colour ${e.custom.primary}`):e.preset&&e.preset!==`glass`&&t.push(`${we(e.preset)?xe(e.preset):e.preset} preset`),e.colorScheme&&e.colorScheme!==`system`&&t.push(`${e.colorScheme} scheme`);let n=e.fontFamily??e.custom?.fontFamily;return n&&t.push(`${n} font`),e.borderRadius&&t.push(`${e.borderRadius} corners`),e.density===`touch`&&t.push(`touch density`),e.contrast&&e.contrast!==`auto`&&t.push(`${e.contrast} contrast`),e.customCss?.trim()&&t.push(`custom CSS`),t}function ln(e){let t=[],n=e.customSections??[];if(n.length){let e=n.map(e=>e.label).filter(Boolean);t.push(`${rn(n.length,`custom section`)}${e.length&&e.length<=4?` (${e.join(`, `)})`:``}`)}let r=e.hidden?.length??0;r&&t.push(`${r} hidden`);let i=Object.values(e.items??{}).filter(e=>e.label).length+Object.values(e.sections??{}).filter(e=>e.label||e.icon||e.showTitle===!1).length;i&&t.push(`${i} renamed or restyled`);let a=Object.keys(e.moved??{}).length;a&&t.push(`${a} moved`),(e.sectionOrder?.length||Object.keys(e.itemOrder??{}).length)&&t.push(`reordered`);let o=Object.keys(e.placements??{}).length;return o&&t.push(`${rn(o,`shell item`)} placed`),Object.keys(e.panels??{}).length&&t.push(`panel settings`),t}function un(e,t){if(e===`section:${$e.id}`)return $e.label;if(e.startsWith(`section:`)){let n=e.slice(8);return t?.sections?.[e]?.label??an.get(n)??J(n)}if(e.startsWith(`custom:`))return t?.customSections?.find(t=>t.id===e)?.label??J(e.slice(7));if(e.startsWith(`detail:`)){let t=e.slice(e.lastIndexOf(`.`)+1);return`${J(t)} record`}return J(e)}function dn(e){let t=[];e.recipes.length&&t.push({id:`recipes`,label:rn(e.recipes.length,`recipe`),chips:e.recipes.map(e=>st.get(e)?.label??e)}),e.features.length&&t.push({id:`features`,label:rn(e.features.length,`feature`),chips:e.features.map(on)}),e.policies.length&&t.push({id:`options`,label:rn(e.policies.length,`saved option`),chips:sn(e.policies)});let n=Object.entries(e.exposure??{}).filter(([,e])=>e.length);n.length&&t.push({id:`exposure`,label:`Surfaces switched off`,chips:n.map(([e,t])=>`${on(e)}: ${t.join(`, `)}`)});let r=e.theme?cn(e.theme):[];r.length&&t.push({id:`theme`,label:`Theme`,text:r.join(`, `)});let i=e.layout?ln(e.layout):[];i.length&&t.push({id:`layout`,label:`Layout`,text:i.join(`, `)});let a=Object.keys(e.overviews??{});return a.length&&t.push({id:`pages`,label:rn(a.length,`customised page`),chips:a.map(t=>un(t,e.layout))}),t}function fn(e){let t=dn(e);if(!t.length)return`an empty cookbook`;let n=t.map(e=>e.id===`theme`?`a theme`:e.id===`layout`?`a layout`:e.id===`exposure`?`narrowed surfaces`:e.label);return n.length===1?n[0]:`${n.slice(0,-1).join(`, `)} and ${n.at(-1)}`}var pn=`0.57.34`,mn=`Node 26 or newer`,hn=`pnpm 11`,gn=`cookbook.json`,_n=`COOKBOOK_EOF`;function vn(e=pn){return`npx -y @happyvertical/smrt-cli@${e}`}function yn(e,t){return Re(e.name)||Re(t)||`my-app`}function bn(e,t,n=pn){return`${vn(n)} cookbook apply ${e} ${t}`}function xn(e,t=_n){let n=new Set(e.split(`
6
- `)),r=t;for(let e=1;n.has(r);e++)r=`${t}_${e}`;return r}function Sn(e,t={}){let n=t.version??`0.57.34`,r=yn(e,t.fallbackName),i=JSON.stringify(e),a=xn(i),o=vn(n),s=[`Create a new s-m-r-t app from the cookbook below. Work in a new, empty directory outside any existing project, run the steps in order, and when you finish report what you ran and what happened, including anything that failed.`,``,`1. Prerequisites: ${mn} (\`node --version\`), git, and ${hn} or newer (\`npm install -g pnpm\` if missing).`,``,`2. Write the cookbook exactly as given, without reformatting or editing it:`,``,`cat > ${gn} <<'${a}'\n${i}\n${a}`,``,`3. Validate it, then create the app in ./${r}:`,``,`${o} cookbook validate ${gn}`,`${o} cookbook apply ${gn} ${r}`,``,`4. Set it up (in a subshell, so the commands below still run from this directory):`,``,`(cd ${r} && pnpm exec smrt app install)`,``,...e.specs?.trim()?[`5. The cookbook's \`specs\` field lists product requirements beyond the recipes and features: after step 4, implement them in ${r}, and report any you could not build.`,``]:[],`If any step fails, run \`pnpm exec smrt app doctor\` inside ${r} and include its findings in your report. Do not hand-edit the app's smrt.cookbook.json: change ${gn} and run \`${o} cookbook apply ${gn} --into ${r}\` instead.`,``].join(`
7
- `);return{text:s,bytes:new TextEncoder().encode(s).length,appName:r,version:n,delimiter:a}}function Cn(e,t){if(t?.busy)throw Error(`Wait for the assistant to finish, or stop it, then try again.`);let n=e.run({name:`export_cookbook`,input:{}});if(!n.ok)throw Error(n.error.message);return structuredClone({export:n.data,revision:n.snapshot.revision,conversation:t?.conversation()??[]})}function wn(t,n){g(n,!0);let r=E(n,`copiedLabel`,3,`Copied`),i=E(n,`variant`,3,`primary`),o=E(n,`confirmFor`,3,2e3),s=O(!1),c;async function l(){let e=typeof n.text==`function`?n.text():n.text,t=n.write??(typeof navigator<`u`&&navigator.clipboard?e=>navigator.clipboard.writeText(e):void 0);try{if(!t)throw Error(`no clipboard`);await t(e)}catch{G(s,!1),n.onfail?.();return}G(s,!0),n.oncopied?.(),clearTimeout(c),c=setTimeout(()=>G(s,!1),o())}Y(t,{get variant(){return i()},onclick:l,"aria-live":`polite`,get"aria-describedby"(){return n[`aria-describedby`]},children:(t,i)=>{_();var a=d();V(()=>u(a,e(s)?r():n.label)),b(t,a)},$$slots:{default:!0}}),a()}var Tn=l(`<!> <div class="actions svelte-1ij12un"><!> <!></div>`,1),En=l(`<h2 class="svelte-1ij12un">Project</h2> <p class="meta svelte-1ij12un">Your plan, sample records and settings stay in this browser session by default. Conversations and contact or request drafts stay in the current tab session.</p> <!> <p class="meta svelte-1ij12un">Remembering keeps your cookbook, sample records and settings on this device after the session ends. Conversations and contact or request drafts still stay in the current tab session. Turn it off to remove the remembered project copy.</p> <!>`,1),Dn=l(`<p class="meta svelte-1ij12un" role="status"> </p>`),On=l(`<p role="status" class="svelte-1ij12un"> </p>`),kn=l(`<section class="project svelte-1ij12un" aria-label="Project"><!> <div class="actions svelte-1ij12un"><!></div> <!> <!> <!></section> <!> <!>`,1);function An(t,r){g(r,!0);let o=E(r,`controller`,3,ft),s=E(r,`resetOnly`,3,!1),l=E(r,`projectPersistence`,3,jt),f=vt(),p=O(!1),m=O(!1),h=O(``),v=O(``),y=i(()=>l()?.remembering??!1);function x(e){G(h,l()?.setRemember(e)?``:`Your storage preference could not be changed. Your existing plan is preserved.`,!0)}function S(){G(p,!1),!r.resetDisabledReason&&(G(h,``),Ot({controller:o(),dataSource:f,nativeAssistant:r.nativeAssistant,onreset:r.onreset})?G(v,`Project reset. Start a new plan whenever you are ready.`):G(h,`The project could not be fully reset. Please try again.`))}function C(){G(m,!1),!r.resetDisabledReason&&(l()?.recover()?location.reload():G(h,`The previous plan could not be recovered. Its saved copy is preserved.`))}function w(){G(h,l()?.discardRecovery()?``:`The previous saved copy could not be removed. Please try again.`,!0)}var T=kn(),D=z(T),k=M(D),A=t=>{var a=En(),o=P(z(a),4);Oe(o,{label:`Remember this plan`,onchange:async t=>{let n=t.currentTarget;x(n.checked),await H(),G(y,l()?.remembering??!1),n.checked=e(y)},get checked(){return e(y)},set checked(e){G(y,e)}});var s=P(o,4),u=t=>{var n=Tn(),a=z(n);K(a,{variant:`info`,title:`Previous saved plan available`,children:(e,t)=>{_();var n=d(`An earlier project has been kept as a recovery copy of its cookbook, sample records and settings. Recover it to replace this project, or discard the copy. Conversations are not remembered.`);b(e,n)},$$slots:{default:!0}});var o=P(a,2),s=M(o);{let t=i(()=>!!r.resetDisabledReason);Y(s,{variant:`secondary`,onclick:()=>G(m,!0),get disabled(){return e(t)},children:(e,t)=>{_();var n=d(`Recover previous plan`);b(e,n)},$$slots:{default:!0}})}var l=P(s,2);Y(l,{variant:`ghost`,onclick:w,children:(e,t)=>{_();var n=d(`Discard saved copy`);b(e,n)},$$slots:{default:!0}}),c(o),b(t,n)};n(s,e=>{l()?.recoveryAvailable&&e(u)}),b(t,a)};n(k,e=>{!s()&&l()&&e(A)});var j=P(k,2),N=M(j);{let t=i(()=>!!r.resetDisabledReason);Y(N,{variant:`ghost`,get disabled(){return e(t)},onclick:()=>G(p,!0),children:(e,t)=>{_();var n=d(`Reset project`);b(e,n)},$$slots:{default:!0}})}c(j);var F=P(j,2),I=e=>{var t=Dn(),n=L(t,!0);V(()=>u(n,r.resetDisabledReason)),b(e,t)};n(F,e=>{r.resetDisabledReason&&e(I)});var R=P(F,2),B=t=>{K(t,{variant:`error`,title:`Project action could not finish`,children:(t,n)=>{_();var r=d();V(()=>u(r,e(h))),b(t,r)},$$slots:{default:!0}})};n(R,t=>{e(h)&&t(B)});var U=P(R,2),W=t=>{var n=On(),r=L(n,!0);V(()=>u(r,e(v))),b(t,n)};n(U,t=>{e(v)&&t(W)}),c(D);var ee=P(D,2);te(ee,{get open(){return e(m)},title:`Recover the previous plan?`,message:`Recovering replaces this project with its previous cookbook, sample records and settings. Current manual edits will be lost. It does not recover conversations or contact and request drafts.`,confirmLabel:`Recover plan`,destructive:!0,onconfirm:C,oncancel:()=>G(m,!1)});var ne=P(ee,2);te(ne,{get open(){return e(p)},title:`Reset this project?`,message:`This clears your plan, conversation, sample records, manual edits and current Build it draft. Manual edits will be lost. Your theme preference and identity settings are kept. Download the cookbook first if you want a copy. A reset cannot unsend a request you already sent.`,confirmLabel:`Reset project`,destructive:!0,onconfirm:S,oncancel:()=>G(p,!1)}),b(t,T),a()}var jn=l(`<div class="build-step svelte-17nkvtk"><h3 class="svelte-17nkvtk">Build your app</h3> <p class="meta svelte-17nkvtk">Continue with your current plan.</p> <div class="actions svelte-17nkvtk"><!></div></div>`),Mn=l(`<p class="meta svelte-17nkvtk" role="status">Wait for the assistant to finish, or stop it, before continuing.</p>`),Nn=l(`<p class="meta svelte-17nkvtk" id="prompt-note">Paste it into Claude Code, Codex or another coding agent. The prompt
8
- carries the cookbook, creates the app <code class="svelte-17nkvtk"> </code> </p> <!>`,1),Pn=l(`<pre class="json svelte-17nkvtk"> </pre>`),Fn=l(`<p class="meta svelte-17nkvtk">Download writes <code class="svelte-17nkvtk"> </code> </p> <div class="command svelte-17nkvtk"><code data-export-command="" class="svelte-17nkvtk"> </code> <!></div> <!>`,1),In=l(`<li><!></li>`),Ln=l(`<ul class="chips svelte-17nkvtk"></ul>`),Rn=l(`<dt class="svelte-17nkvtk"> </dt> <dd class="svelte-17nkvtk"><!></dd>`,1),zn=l(`<dl class="summary svelte-17nkvtk"></dl>`),Bn=l(`<p class="quiet svelte-17nkvtk">Nothing customised yet. Add recipes or apply a cookbook first.</p>`),Vn=l(`The kitchen is running, but this page was opened without its one-time
9
- token. Open the address <code class="svelte-17nkvtk">smrt kitchen</code> printed (it ends in <code class="svelte-17nkvtk">#kitchen=…</code>), or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),Hn=l(`This version of <code class="svelte-17nkvtk">smrt kitchen</code> puts its one-time token in a
10
- file other programs on this computer can read, so the planner does not
11
- use it. Update the <code class="svelte-17nkvtk">smrt</code> CLI, or download the cookbook and run <code class="svelte-17nkvtk">smrt cookbook apply</code> on the file.`,1),Un=l(`<li><code class="svelte-17nkvtk"> </code></li>`),Wn=l(`Next, in your terminal: <ul></ul>`,1),Gn=l(` <!>`,1),Kn=l(`<li> </li>`),qn=l(`<ul></ul>`),Jn=l(`<div class="kitchen" role="status" aria-live="polite"><!></div>`),Yn=l(`<p class="meta svelte-17nkvtk">Both replace everything listed above; download a copy first to keep it.</p> <div class="actions svelte-17nkvtk" data-export-actions="replace"><!></div> <p class="meta svelte-17nkvtk">Import swaps this cookbook for one from a file. Reset project also clears
12
- your conversation, sample records and current Build it draft.</p> <!> <input type="file" accept="application/json,.json" hidden="" aria-label="Cookbook file"/> <!> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p>`,1),Xn=l(`<div class="export svelte-17nkvtk"><section class="block svelte-17nkvtk" aria-labelledby="prompt-heading" data-export-section="prompt"><div class="export-intro svelte-17nkvtk"><p class="eyebrow svelte-17nkvtk">Your app plan</p> <h2 id="prompt-heading" class="svelte-17nkvtk">Ready for the next step?</h2> <p class="meta svelte-17nkvtk">Your recipes, theme, layout and customised pages travel together as a cookbook. Sample records stay in this preview.</p></div> <div class="next-steps svelte-17nkvtk" data-export-actions="primary"><!> <div class="copy-step svelte-17nkvtk"><h3 class="svelte-17nkvtk">Keep a copy</h3> <p class="meta svelte-17nkvtk">Download your cookbook or copy a prompt for your coding agent.</p> <div class="actions svelte-17nkvtk"><!> <!> <!></div></div></div> <!> <!> <p class="notice svelte-17nkvtk" role="status" aria-live="polite"> </p> <!></section> <section class="block svelte-17nkvtk" aria-label="Downloaded file instructions" data-export-section="file"><!></section> <section class="block svelte-17nkvtk" aria-label="Cookbook summary" data-export-section="summary"><!></section> <!> <!> <!> <section class="block replace svelte-17nkvtk" aria-label="Import or reset project" data-export-section="replace"><!></section></div> <!>`,1);function Zn(t,r){g(r,!0);let o=E(r,`controller`,3,ft),s=O(!1),l=O(!1),f=O(``);B(()=>r.nativeAssistant?.subscribeConversation(()=>{G(l,r.nativeAssistant?.busy??!1,!0)}));function m(){let e=o().run({name:`export_cookbook`,input:{}});e.ok?He(e.data):G(f,e.error.message,!0)}async function h(){if(r.exportAction&&!e(s)){G(f,``),G(s,!0);try{await r.exportAction.run(Cn(o(),r.nativeAssistant))}catch(e){G(f,e instanceof Error?e.message:`The export action could not finish. Try again.`,!0)}finally{G(s,!1)}}}let v=O(void 0),y=O(void 0),C=O(void 0),w=O(null),T=O(N([])),D=O(``),k=O(``),j=O(``),F=O(!1),I=i(()=>gt(pt.active??``)?.name),R=i(()=>Z.snapshot()),U=i(()=>dn(e(R))),W=i(()=>Fe(e(R).name??e(I))),ee=i(()=>Ve(Ie(e(R)))),ne=i(()=>yn(e(R),e(I))),ie=i(()=>Sn(e(R),{fallbackName:e(I)})),ae=i(()=>bn(e(W),e(ne))),q=`Copying is not available here. The text is selected: press Ctrl+C (Cmd+C on a Mac) to copy it.`;async function oe(){G(F,!0),await H();let t=e(y)?.getElement();t?.focus(),t?.select(),G(j,q)}function se(){if(e(C)){let t=window.getSelection();t?.removeAllRanges(),t?.selectAllChildren(e(C))}G(j,q)}async function le(e){let t=e.currentTarget,n=t.files?.[0];if(G(D,``),G(k,``),n){try{let e=Je(await n.text());e.ok?(G(w,e.cookbook,!0),G(T,e.dropped??[],!0)):G(D,e.error,!0)}catch{G(D,`The file could not be read.`)}t.value=``}}function J(){e(w)&&(Z.replace(e(w)),G(k,`Imported ${fn(e(w))}.${e(T).length?` Not imported: ${e(T).join(` `)}`:``}`)),G(w,null),G(T,[],!0)}var ue=Xn(),de=z(ue),fe=M(de),pe=P(M(fe),2),me=M(pe),he=t=>{var n=jn(),a=P(M(n),4),o=M(a);{let t=i(()=>e(s)||e(l));Y(o,{get disabled(){return e(t)},onclick:h,children:(e,t)=>{_();var n=d();V(()=>u(n,r.exportAction.label)),b(e,n)},$$slots:{default:!0}})}c(a),c(n),b(t,n)};n(me,e=>{r.exportAction&&e(he)});var ge=P(me,2),_e=P(M(ge),4),ve=M(_e);{let t=i(()=>r.exportAction?`secondary`:`primary`);wn(ve,{text:()=>e(ie).text,label:`Copy prompt`,get variant(){return e(t)},get write(){return r.write},oncopied:()=>G(j,`Prompt copied.`),onfail:oe})}var ye=P(ve,2),be=t=>{{let n=i(()=>$.status===`sending`);Y(t,{variant:`secondary`,get disabled(){return e(n)},onclick:()=>$.send(Z.snapshot()),children:(e,t)=>{_();var n=d();V(()=>u(n,$.status===`sending`?`Sending to kitchen…`:`Send to kitchen`)),b(e,n)},$$slots:{default:!0}})}};n(ye,e=>{$.config&&e(be)});var xe=P(ye,2);Y(xe,{variant:`secondary`,onclick:m,children:(e,t)=>{_();var n=d(`Download cookbook`);b(e,n)},$$slots:{default:!0}}),c(_e),c(ge),c(pe);var Se=P(pe,2),Ce=t=>{K(t,{variant:`error`,title:`Export action failed`,children:(t,n)=>{_();var r=d();V(()=>u(r,e(f))),b(t,r)},$$slots:{default:!0}})};n(Se,t=>{e(f)&&t(Ce)});var we=P(Se,2),Te=e=>{var t=Mn();b(e,t)};n(we,t=>{r.exportAction&&e(l)&&t(Te)});var Ee=P(we,2),De=L(Ee,!0),Oe=P(Ee,2);ce(Oe,{title:`Preview coding-agent prompt`,get open(){return e(F)},set open(e){G(F,e,!0)},children:(t,n)=>{var r=Nn(),i=z(r),a=P(M(i)),o=L(a,!0),s=P(a);c(i);var l=P(i,2);A(ke(l,{class:`prompt`,get value(){return e(ie).text},readonly:!0,rows:7,spellcheck:!1,wrap:`soft`,"aria-label":`Prompt for your coding agent`,"aria-describedby":`prompt-note`,interaction:!1}),e=>G(y,e,!0),()=>e(y)),V(t=>{u(o,e(ne)),u(s,` with the smrt CLI ${e(ie).version??``} and
13
- starts it. About ${t??``}.`)},[()=>Ve(e(ie).bytes)]),b(t,r)},$$slots:{default:!0}}),c(fe);var Ae=P(fe,2),je=M(Ae);ce(je,{title:`Use the downloaded file yourself`,children:(t,n)=>{var i=Fn(),a=z(i),o=P(M(a)),s=L(o,!0),l=P(o);c(a);var d=P(a,2),f=M(d),p=L(f,!0);A(f,e=>G(C,e),()=>e(C)),wn(P(f,2),{text:()=>e(ae),label:`Copy command`,variant:`secondary`,get write(){return r.write},oncopied:()=>G(j,`Command copied.`),onfail:se}),c(d);var m=P(d,2);ce(m,{title:`Preview JSON`,children:(t,n)=>{var r=Pn(),i=L(r,!0);V(e=>u(i,e),[()=>ze(e(R))]),b(t,r)},$$slots:{default:!0}}),V(()=>{u(s,e(W)),u(l,` (${e(ee)??``}). To make the app from
14
- it yourself, run this where the file is:`),u(p,e(ae))}),b(t,i)},$$slots:{default:!0}}),c(Ae);var Me=P(Ae,2),Ne=M(Me);ce(Ne,{title:`In this cookbook`,children:(t,r)=>{var i=x(),a=z(i),o=t=>{var r=zn();p(r,21,()=>e(U),e=>e.id,(t,r)=>{var i=Rn(),a=z(i),o=L(a,!0),s=P(a,2),l=M(s),f=t=>{var n=Ln();p(n,23,()=>e(r).chips,(e,t)=>`${e}:${t}`,(t,n)=>{var r=In(),i=M(r);re(i,{get label(){return e(n)},size:`sm`}),c(r),b(t,r)}),c(n),b(t,n)},m=t=>{var n=d();V(()=>u(n,e(r).text)),b(t,n)};n(l,t=>{e(r).chips?t(f):t(m,-1)}),c(s),V(()=>u(o,e(r).label)),b(t,i)}),c(r),b(t,r)},s=e=>{var t=Bn();b(e,t)};n(a,t=>{e(U).length?t(o):t(s,-1)}),b(t,i)},$$slots:{default:!0}}),c(Me);var Pe=P(Me,2),Le=e=>{K(e,{variant:`info`,title:`Send to kitchen needs its link`,children:(e,t)=>{_();var n=Vn();_(6),b(e,n)},$$slots:{default:!0}})};n(Pe,e=>{$.needsLink&&e(Le)});var Re=P(Pe,2),X=e=>{K(e,{variant:`warning`,title:`Send to kitchen is off`,children:(e,t)=>{_();var n=Hn();_(6),b(e,n)},$$slots:{default:!0}})};n(Re,e=>{$.tokenInConfig&&e(X)});var Be=P(Re,2),Ue=e=>{var t=Jn(),r=M(t),i=e=>{K(e,{variant:`success`,title:`Sent to the kitchen`,children:(e,t)=>{_();var r=Gn(),i=z(r),a=P(i),o=e=>{var t=Wn(),n=P(z(t));p(n,20,()=>$.outcome.result.nextSteps,e=>e,(e,t)=>{var n=Un(),r=M(n),i=L(r,!0);c(n),V(()=>u(i,t)),b(e,n)}),c(n),b(e,t)};n(a,e=>{$.outcome.result.nextSteps.length&&e(o)}),V(()=>u(i,`${$.outcome.result.mode===`update`?`Updated`:`Created`} the project${$.outcome.result.dir?` in ${$.outcome.result.dir}`:``}. `)),b(e,r)},$$slots:{default:!0}})},a=e=>{K(e,{variant:`error`,title:`The kitchen could not use this cookbook`,children:(e,t)=>{var n=qn();p(n,20,()=>$.outcome.errors,e=>e,(e,t)=>{var n=Kn(),r=L(n,!0);V(()=>u(r,t)),b(e,n)}),c(n),b(e,n)},$$slots:{default:!0}})};n(r,e=>{$.outcome.ok?e(i):e(a,-1)}),c(t),b(e,t)};n(Be,e=>{$.outcome&&e(Ue)});var We=P(Be,2),Ge=M(We);ce(Ge,{title:`Import or reset project`,children:(t,i)=>{var a=Yn(),s=P(z(a),2),l=M(s);Y(l,{variant:`secondary`,onclick:()=>e(v)?.click(),children:(e,t)=>{_();var n=d(`Import cookbook…`);b(e,n)},$$slots:{default:!0}}),c(s);var f=P(s,4);An(f,{resetOnly:!0,get controller(){return o()},get nativeAssistant(){return r.nativeAssistant},get onreset(){return r.onreset},get resetDisabledReason(){return r.resetDisabledReason}});var p=P(f,2);A(p,e=>G(v,e),()=>e(v));var m=P(p,2),h=t=>{K(t,{variant:`error`,title:`Import failed`,children:(t,n)=>{_();var r=d();V(()=>u(r,e(D))),b(t,r)},$$slots:{default:!0}})};n(m,t=>{e(D)&&t(h)});var g=P(m,2),y=L(g,!0);V(()=>u(y,e(k))),S(`change`,p,le),b(t,a)},$$slots:{default:!0}}),c(We),c(de);var Ke=P(de,2);{let t=i(()=>e(w)!==null),n=i(()=>e(w)?`Importing replaces ${fn(e(R))} with ${fn(e(w))}.`:``);te(Ke,{get open(){return e(t)},title:`Replace the current cookbook?`,get message(){return e(n)},confirmLabel:`Replace`,destructive:!0,onconfirm:J,oncancel:()=>G(w,null)})}V(()=>u(De,e(j))),b(t,ue),a()}C([`change`]);var Qn={"header.start":`header, left side`,"header.center":`header, middle`,"header.end":`header, right side`,"footer.start":`footer, left side`,"footer.center":`footer, middle`,"footer.end":`footer, right side`,"leftSidebar.header":`left sidebar, top`,"leftSidebar.footer":`left sidebar, bottom`,"rightSidebar.header":`right sidebar, top`,"rightSidebar.footer":`right sidebar, bottom`},$n={llm:`Language model`,email:`Email`,oauth:`Sign-in (OAuth)`,storage:`File storage`,sms:`Text messages`,payments:`Payments`},er={openai:`OpenAI`,anthropic:`Anthropic`,gemini:`Gemini`,webllm:`WebLLM`,bitgpu:`BitGPU`,smtp:`SMTP`,imap:`IMAP`,s3:`S3`,github:`GitHub`};function tr(e){return er[e]??J(e)}function nr(e,t=`or`){let n=e.map(tr);return n.length<=1?n.join(``):n.length===2?`${n[0]} ${t} ${n[1]}`:`${n.slice(0,-1).join(`, `)} ${t} ${n[n.length-1]}`}function rr(e){switch(e.kind){case`shell-widget`:return{kind:e.kind,kindLabel:`Shell widget`,label:e.label,where:Qn[e.slot]??J(e.slot)};case`route`:return{kind:e.kind,kindLabel:`Page`,label:e.label,where:e.path};case`settings-panel`:return{kind:e.kind,kindLabel:`Settings panel`,label:e.label};case`playground`:return{kind:e.kind,kindLabel:`Playground`,label:e.label??`Try it`};case`widget`:return{kind:e.kind,kindLabel:`Overview widget`,label:e.label}}}function ir(e){return{id:e.id,kind:e.kind,kindLabel:$n[e.kind]??J(e.kind),required:e.required,options:e.options,browserOptions:e.browserOptions??[],secrets:e.secrets??[]}}function ar(e){let t=e.nav.map(e=>({kind:`menu`,kindLabel:`List and form`,label:e.label})),n=(e.surfaces??[]).map(rr),r=[...t,...n];return r.length>0?r:[{kind:`data`,kindLabel:`Records only`,label:`${e.models.length} ${e.models.length===1?`model`:`models`}, no screens of their own`}]}function or(e,t){return e.group?{id:`group:${e.group.id}`,label:e.group.label,...e.group.summary?{summary:e.group.summary}:{}}:{id:`package:${t}`,label:J(t)}}function sr(e,t){let n=new Map;for(let e of t)for(let t of e.recipes??[])n.set(t.id,e);let r=e=>n.get(e.id)??t.find(t=>t.models.some(t=>t.id===e.models[0]));return e.map(e=>{let t=r(e),n=t?.id??e.id.split(`.`)[0],i=St(e),a=xt(i);return{recipe:e,id:e.id,label:e.label,summary:e.summary,group:or(e,n),packageId:n,demo:a,ownMode:e.demo&&i&&e.demo.mode!==i.mode?e.demo.mode:void 0,packageNote:Nt(t?.browser),providers:(e.providers??[]).map(ir),gets:ar(e),requires:e.requires,runtime:e.runtime}})}function cr(e){let t=new Map;for(let n of e){let e=t.get(n.group.id);e?!e.summary&&n.group.summary&&t.set(n.group.id,{...e,summary:n.group.summary}):t.set(n.group.id,n.group)}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function lr(e,t,n){let r=t.toLowerCase().split(/\s+/).filter(Boolean);return e.filter(e=>{if(n&&e.group.id!==n)return!1;if(r.length===0)return!0;let t=[e.label,e.summary,e.id,e.group.label,e.packageId,...e.recipe.synonyms,...e.gets.flatMap(e=>[e.kindLabel,e.label,e.where??``]),...e.providers.flatMap(e=>[e.kindLabel,...e.options]),e.demo?.label??``].join(` `).toLowerCase();return r.every(e=>t.includes(e))})}function ur(e){return cr(e).map(t=>({group:t,cards:e.filter(e=>e.group.id===t.id)}))}function dr(e,t,n){let r=new Set(nt(t,n));return nt([...t,e],n).filter(t=>t!==e&&!r.has(t))}var fr=l(`<span class="meta where svelte-1tvhds4"> </span>`),pr=l(`<li><span class="kind svelte-1tvhds4"> </span> <!></li>`),mr=l(`<span class="meta svelte-1tvhds4"> </span>`),hr=l(`<code class="svelte-1tvhds4"> </code> `,1),gr=l(`<p class="meta svelte-1tvhds4">Secrets (names only): <!></p>`),_r=l(`<h4 class="svelte-1tvhds4">Needs</h4> <ul class="plain svelte-1tvhds4"></ul> <!>`,1),vr=l(`<p class="meta svelte-1tvhds4"> </p>`),yr=l(`<li> </li>`),br=l(`<ul class="plain reasons svelte-1tvhds4"></ul>`),xr=l(`<!> <!> <!>`,1),Sr=l(`<li><div class="head svelte-1tvhds4"><h3 class="svelte-1tvhds4"> </h3> <!></div> <p class="summary svelte-1tvhds4"> </p> <p class="meta svelte-1tvhds4"><!></p> <h4 class="svelte-1tvhds4">You get</h4> <ul class="plain svelte-1tvhds4"></ul> <!> <!> <!> <div class="foot svelte-1tvhds4"><!> <!></div></li>`);function Cr(t,r){g(r,!0);let s=i(()=>r.card.demo),l=i(()=>(e(s)?.reasons.length??0)>0||r.card.ownMode!==void 0||r.card.packageNote!==void 0),f=i(()=>[...new Set(r.card.providers.flatMap(e=>e.secrets))]),m=i(()=>`feature-${r.card.id}`);var h=Sr();let v;var y=M(h),x=M(y),S=L(x,!0),C=P(x,2),w=t=>{se(t,{get variant(){return e(s).variant},size:`sm`,get title(){return e(s).meaning},children:(t,n)=>{_();var r=d();V(()=>u(r,e(s).label)),b(t,r)},$$slots:{default:!0}})};n(C,t=>{e(s)&&t(w)}),c(y);var T=P(y,2),E=L(T,!0),D=P(T,2),O=M(D),k=t=>{var n=d();V(()=>u(n,e(s).meaning)),b(t,n)},A=e=>{var t=d(`Demo status not reported for this feature.`);b(e,t)};n(O,t=>{e(s)?t(k):t(A,-1)}),c(D);var j=P(D,4);p(j,21,()=>r.card.gets,e=>`${e.kind}:${e.label}`,(t,r)=>{var i=pr(),a=M(i),o=L(a,!0),s=P(a),l=P(s),d=t=>{var n=fr(),i=L(n);V(()=>u(i,`(${e(r).where??``})`)),b(t,n)};n(l,t=>{e(r).where&&t(d)}),c(i),V(()=>{u(o,e(r).kindLabel),u(s,` ${e(r).label??``}`)}),b(t,i)}),c(j);var N=P(j,2),F=t=>{var i=_r(),a=P(z(i),2);p(a,21,()=>r.card.providers,e=>e.id,(t,r)=>{var i=pr(),a=M(i),o=L(a,!0),s=P(a),l=P(s),d=t=>{var n=mr(),i=L(n);V(t=>u(i,`${t??``}
15
- ${e(r).browserOptions.length===1?`runs`:`run`} in the
16
- browser with no key.`),[()=>nr(e(r).browserOptions,`and`)]),b(t,n)};n(l,t=>{e(r).browserOptions.length&&t(d)}),c(i),V(t=>{u(o,e(r).kindLabel),u(s,` ${e(r).required?`Required`:`Optional`}: ${t??``}. `)},[()=>nr(e(r).options)]),b(t,i)}),c(a);var o=P(a,2),s=t=>{var n=gr(),r=P(M(n));p(r,18,()=>e(f),e=>e,(t,n,r)=>{var i=hr(),a=z(i),o=L(a,!0),s=P(a,1,!0);V(()=>{u(o,n),u(s,e(r)<e(f).length-1?`, `:``)}),b(t,i)}),c(n),b(t,n)};n(o,t=>{e(f).length&&t(s)}),V(()=>W(a,`aria-label`,`${r.card.label}: providers`)),b(t,i)};n(N,e=>{r.card.providers.length&&e(F)});var I=P(N,2),R=e=>{var t=vr(),n=L(t);V(e=>u(n,`Also adds ${e??``}.`),[()=>r.alsoAdds.join(`, `)]),b(e,t)};n(I,e=>{!r.on&&r.alsoAdds.length&&e(R)});var B=P(I,2),H=t=>{{let a=i(()=>e(s)?`Why ${e(s).label}?`:`Details`);ce(t,{get title(){return e(a)},children:(t,i)=>{var a=xr(),o=z(a),l=t=>{var n=br();p(n,20,()=>e(s).reasons,e=>e,(e,t)=>{var n=yr(),r=L(n,!0);V(()=>u(r,t)),b(e,n)}),c(n),V(()=>W(n,`aria-label`,`${r.card.label}: reasons`)),b(t,n)};n(o,t=>{e(s)?.reasons.length&&t(l)});var d=P(o,2),f=t=>{var n=vr(),i=L(n);V(()=>u(i,`On its own it would be ${r.card.ownMode??``}; what it needs sets ${e(s).label??``}.`)),b(t,n)};n(d,t=>{r.card.ownMode&&e(s)&&t(f)});var m=P(d,2),h=e=>{var t=vr(),n=L(t,!0);V(()=>u(n,r.card.packageNote)),b(e,t)};n(m,e=>{r.card.packageNote&&e(h)}),b(t,a)},$$slots:{default:!0}})}};n(B,t=>{e(l)&&t(H)});var U=P(B,2),G=M(U);{let t=i(()=>r.lockedBy.length>0),n=i(()=>`${e(m)}-summary${r.lockedBy.length?` ${e(m)}-locked`:``}`);Oe(G,{get label(){return r.card.label},get checked(){return r.on},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:e=>r.onchange(e.currentTarget.checked)})}var ee=P(G,2),te=t=>{var n=vr(),i=L(n);V(t=>{W(n,`id`,`${e(m)}-locked`),u(i,`Stays on while ${t??``} needs it.`)},[()=>r.lockedBy.join(`, `)]),b(t,n)};n(ee,e=>{r.lockedBy.length&&e(te)}),c(U),c(h),V(()=>{v=o(h,1,`card svelte-1tvhds4`,null,v,{selected:r.on}),u(S,r.card.label),W(T,`id`,`${e(m)}-summary`),u(E,r.card.summary),W(j,`aria-label`,`${r.card.label}: what you get`)}),b(t,h),a()}var wr=l(`<div class="chips svelte-7kphei" role="group" aria-label="Filter by package"><!> <!></div>`),Tr=l(`<span class="tag svelte-7kphei">plumbing</span>`),Er=l(`<span class="includes svelte-7kphei"> </span>`),Dr=l(`<li><span class="icon svelte-7kphei" aria-hidden="true"><!></span> <div class="text svelte-7kphei"><span class="name svelte-7kphei"><a class="svelte-7kphei"> </a> <!></span> <span class="meta svelte-7kphei"> </span> <!></div> <!></li>`),Or=l(`<ul class="rows svelte-7kphei" aria-label="Features"></ul>`),kr=l(`<p class="empty svelte-7kphei"> </p>`),Ar=l(`<div class="features svelte-7kphei"><p class="meta svelte-7kphei">Models no recipe covers. Add one to give it a list and a form of its own
17
- under More in the menu.</p> <!> <!> <div class="bar svelte-7kphei"><h2 class="count svelte-7kphei"> </h2> <!></div> <!> <p class="notice svelte-7kphei" role="status" aria-live="polite"> </p></div>`);function jr(t,r){g(r,!0);let s=et(ae,rt),l=O(``),f=O(null),h=O(!1),v=O(``),y=i(()=>tt(s,e(h))),x=i(()=>Xe(Qe(e(y),e(l)))),S=i(()=>e(f)&&e(x).includes(e(f))?e(f):null),C=i(()=>Qe(e(y),e(l),e(S))),w=i(()=>e(h)?0:Qe(s,e(l),e(S)).length-e(C).length);function T(e,t){t?Q.addFeature(e.id):Q.removeFeature(e.id),G(v,t?`Added ${e.label} to the menu.`:`Removed ${e.label} from the menu.`,!0)}var E=Ar(),D=P(M(E),2);Ee(D,{get value(){return e(l)},onsearch:e=>{G(l,e,!0)},label:`Search features`,placeholder:`Search models, packages and fields`,debounceMs:0});var k=P(D,2),A=t=>{var n=wr(),r=M(n);{let t=i(()=>e(S)===null);je(r,{get pressed(){return e(t)},onclick:()=>G(f,null),children:(e,t)=>{_();var n=d(`All`);b(e,n)},$$slots:{default:!0}})}var a=P(r,2);p(a,16,()=>e(x),e=>e,(t,n)=>{{let r=i(()=>e(S)===n);je(t,{get pressed(){return e(r)},onclick:()=>G(f,e(S)===n?null:n,!0),children:(e,t)=>{_();var r=d();V(e=>u(r,e),[()=>J(n)]),b(e,r)},$$slots:{default:!0}})}}),c(n),b(t,n)};n(k,t=>{e(x).length>1&&t(A)});var j=P(k,2),N=M(j),F=L(N),I=P(N,2);Oe(I,{get checked(){return e(h)},label:`Show all`,onchange:e=>{G(h,e.currentTarget.checked,!0)}}),c(j);var R=P(j,2),z=t=>{var r=Or();p(r,29,()=>e(C),e=>e.id,(t,r)=>{let a=i(()=>Q.hasFeature(e(r).id));var s=Dr();let l;var d=M(s),f=M(d);at(f,{path:`M12 3C7.58 3 4 4.79 4 7v10c0 2.21 3.59 4 8 4s8-1.79 8-4V7c0-2.21-3.58-4-8-4zm6 14c0 .5-2.13 2-6 2s-6-1.5-6-2v-2.23c1.61.78 3.72 1.23 6 1.23s4.39-.45 6-1.23V17zm0-4.55c-1.3.95-3.58 1.55-6 1.55s-4.7-.6-6-1.55V9.64c1.47.83 3.61 1.36 6 1.36s4.53-.53 6-1.36v2.81zM12 9C8.13 9 6 7.5 6 7s2.13-2 6-2 6 1.5 6 2-2.13 2-6 2z`,size:22}),c(d);var p=P(d,2),h=M(p),g=M(h),_=L(g,!0),v=P(g,2),y=e=>{var t=Tr();b(e,t)};n(v,t=>{e(r).plumbing&&t(y)}),c(h);var x=P(h,2),S=L(x,!0),C=P(x,2),w=t=>{var n=Er(),i=L(n);V(e=>u(i,`+ ${e??``}`),[()=>e(r).includes.join(`, `)]),b(t,n)};n(C,t=>{e(r).includes.length&&t(w)}),c(p);var E=P(p,2);{let t=i(()=>`${e(a)?`Remove`:`Add`} ${e(r).label} feature`);Oe(E,{get checked(){return e(a)},get"aria-label"(){return e(t)},onchange:t=>T(e(r),t.currentTarget.checked)})}c(s),V((t,n)=>{l=o(s,1,`svelte-7kphei`,null,l,{selected:e(a)}),W(g,`href`,t),u(_,e(r).label),u(S,n)},[()=>de(`/packages/${e(r).packageId}/`),()=>Ze(e(r))]),m(s,()=>ye,()=>({duration:zt(`medium2`,300)})),b(t,s)}),c(r),b(t,r)},B=t=>{var n=kr(),r=L(n);V(()=>u(r,`No features match "${e(l)??``}".`)),b(t,n)};n(R,t=>{e(C).length?t(z):t(B,-1)});var H=P(R,2),U=L(H,!0);c(E),V(()=>{u(F,`${e(C).length??``} ${e(C).length===1?`feature`:`features`}${e(w)?` (${e(w)} hidden)`:``}`),u(U,e(v))}),b(t,E),a()}var Mr=l(`<div class="chips svelte-q9yl1j" role="group" aria-label="Browse by group"><!> <!></div>`),Nr=l(`<p class="meta svelte-q9yl1j"> </p>`),Pr=l(`<section class="svelte-q9yl1j"><h2 class="svelte-q9yl1j"> </h2> <!> <ul class="cards svelte-q9yl1j"></ul></section>`),Fr=l(`<div class="features svelte-q9yl1j"><p class="meta svelte-q9yl1j">Everything s-m-r-t can add to your app. Switch a feature on to add it, with
18
- what it needs, to your cookbook. Each label says how far it runs in this
19
- browser-only demo; menu entries appear in the sidebar, while widgets, pages
20
- and panels are listed for the real app and are not mounted here.</p> <!> <!> <p class="count svelte-q9yl1j" aria-live="polite"> </p> <!> <p class="notice meta svelte-q9yl1j" role="status" aria-live="polite"> </p> <!></div>`);function Ir(t,r){g(r,!0);let o=sr(rt,ae.packages),s=cr(o),l=O(``),f=O(null),m=O(``),h=i(()=>lr(o,e(l),e(f))),v=i(()=>ur(e(h))),y=e=>st.get(e)?.label??e;function x(e,t){let n=new Set(Q.ids);t?Q.add(e):Q.remove(e);let r=new Set(Q.ids),i=Q.ids.filter(e=>!n.has(e)),a=[...n].filter(e=>!r.has(e)),o=[];i.length&&o.push(`Added ${i.map(y).join(`, `)}.`),a.length&&o.push(`Removed ${a.map(y).join(`, `)}.`),G(m,o.join(` `),!0)}var S=Fr(),C=P(M(S),2);Ee(C,{get value(){return e(l)},onsearch:e=>{G(l,e,!0)},label:`Search features`,placeholder:`Search features`,debounceMs:0});var w=P(C,2),T=t=>{var n=Mr(),r=M(n);{let t=i(()=>e(f)===null);je(r,{get pressed(){return e(t)},onclick:()=>G(f,null),children:(e,t)=>{_();var n=d(`All`);b(e,n)},$$slots:{default:!0}})}var a=P(r,2);p(a,17,()=>s,e=>e.id,(t,n)=>{{let r=i(()=>e(f)===e(n).id);je(t,{get pressed(){return e(r)},onclick:()=>G(f,e(f)===e(n).id?null:e(n).id,!0),children:(t,r)=>{_();var i=d();V(()=>u(i,e(n).label)),b(t,i)},$$slots:{default:!0}})}}),c(n),b(t,n)};n(w,e=>{s.length>1&&e(T)});var E=P(w,2),D=L(E),k=P(E,2);p(k,17,()=>e(v),e=>e.group.id,(t,r)=>{var a=Pr(),o=M(a),s=L(o,!0),l=P(o,2),d=t=>{var n=Nr(),i=L(n,!0);V(()=>u(i,e(r).group.summary)),b(t,n)};n(l,t=>{e(r).group.summary&&t(d)});var f=P(l,2);p(f,21,()=>e(r).cards,e=>e.id,(t,n)=>{{let r=i(()=>Q.has(e(n).id)),a=i(()=>it([e(n).id],Q.ids,st).map(y)),o=i(()=>dr(e(n).id,Q.ids,st).map(y));Cr(t,{get card(){return e(n)},get on(){return e(r)},get lockedBy(){return e(a)},get alsoAdds(){return e(o)},onchange:t=>x(e(n).id,t)})}}),c(f),c(a),V(()=>{W(a,`aria-labelledby`,`group-${e(r).group.id}`),W(o,`id`,`group-${e(r).group.id}`),u(s,e(r).group.label),W(f,`aria-label`,`${e(r).group.label} features`)}),b(t,a)},t=>{var n=Nr(),r=L(n);V(()=>u(r,`No features match "${e(l)??``}".`)),b(t,n)});var A=P(k,2),j=L(A,!0),N=P(A,2);ce(N,{title:`Single records`,children:(e,t)=>{jr(e,{})},$$slots:{default:!0}}),c(S),V(()=>{u(D,`${e(h).length??``} ${e(h).length===1?`feature`:`features`}`),u(j,e(m))}),b(t,S),a()}function Lr(e){let t=new Map;for(let n of e){let e=n.group?.id??n.id,r=t.get(e);r?(r.recipes.push(n),r.hasSubSwitches=!0):t.set(e,{id:e,label:n.group?.label??n.label,summary:n.group?.summary??n.summary,recipes:[n],hasSubSwitches:!1})}return[...t.values()].sort((e,t)=>e.label.localeCompare(t.label))}function Rr(e,t){return e.recipes.some(e=>t.includes(e.id))}function zr(e,t,n){if(n){let n=e.recipes[0];return{add:n&&!Rr(e,t)?[n.id]:[],remove:[]}}return{add:[],remove:e.recipes.map(e=>e.id)}}function Br(e,t){return t?{add:[e],remove:[]}:{add:[],remove:[e]}}function Vr(e,t,n){let r=e.recipes.filter(e=>t.includes(e.id)),i={};if(e.hasSubSwitches)for(let e of r){let r=it([e.id],t,n);r.length&&(i[e.id]=r)}return{main:r.length?it(e.recipes.map(e=>e.id),t,n):[],subs:i}}function Hr(e,t){let n=t.join(`, `);return e.hasSubSwitches?`${e.label} stays on while ${n} needs at least one ${e.label} recipe.`:`${e.label} stays on while ${n} needs it.`}function Ur(e,t,n){return`${t} is the last ${e.label} recipe on, and ${n.join(`, `)} needs one.`}var Wr=l(`<p class="meta svelte-1d5gge1"> </p>`),Gr=l(`<div class="sub svelte-1d5gge1"><!> <p class="meta svelte-1d5gge1"> </p> <!></div>`),Kr=l(`<li><h2 class="svelte-1d5gge1"> </h2> <p class="description svelte-1d5gge1"> </p> <!> <!> <!> <!></li>`),qr=l(`<ul class="cards svelte-1d5gge1" aria-label="Recipes"></ul> <p class="notice svelte-1d5gge1" role="status" aria-live="polite"> </p>`,1);function Jr(t,r){g(r,!0);let s=Lr(rt),l=O(``),d=e=>st.get(e)?.label??e,f=e=>e.map(d).join(`, `);function m(e){let t=new Set(Q.ids);e.add.length&&Q.add(...e.add),e.remove.length&&Q.remove(...e.remove);let n=new Set(Q.ids),r=Q.ids.filter(e=>!t.has(e)),i=[...t].filter(e=>!n.has(e)),a=[];r.length&&a.push(`Added ${f(r)} to the menu.`),i.length&&a.push(`Removed ${f(i)} from the menu.`),G(l,a.join(` `),!0)}function h(e){let t=e.recipes[0];return!t||e.hasSubSwitches?``:[...t.requires.map(d),...(t.requiresAny??[]).map(e=>`one of ${f(e)}`)].join(`, `)}let _=e=>Rr(e,Q.ids);var v=qr(),y=z(v);p(y,21,()=>s,e=>e.id,(t,r)=>{let a=i(()=>_(e(r))),s=i(()=>Vr(e(r),Q.ids,st)),l=i(()=>e(s).main);var f=Kr();let g;var v=M(f),y=L(v,!0),S=P(v,2),C=L(S,!0),w=P(S,2);{let t=i(()=>e(l).length>0),n=i(()=>`card-${e(r).id}-summary${e(l).length?` card-${e(r).id}-needed`:``}`);Oe(w,{get label(){return e(r).label},get checked(){return e(a)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(zr(e(r),Q.ids,t.currentTarget.checked))})}var T=P(w,2),E=t=>{var n=Wr(),i=L(n,!0);V(t=>{W(n,`id`,`card-${e(r).id}-needed`),u(i,t)},[()=>Hr(e(r),e(l).map(d))]),b(t,n)};n(T,t=>{e(l).length&&t(E)});var D=P(T,2),O=t=>{{let a=i(()=>`${e(r).label} recipes`);Ae(t,{get legend(){return e(a)},stack:!0,class:`subs`,children:(t,a)=>{var o=x(),l=z(o);p(l,17,()=>e(r).recipes,e=>e.id,(t,a)=>{let o=i(()=>Q.has(e(a).id)),l=i(()=>e(s).subs[e(a).id]??[]);var f=Gr(),p=M(f);{let t=i(()=>e(l).length>0),n=i(()=>`sub-${e(a).id}-summary${e(l).length?` sub-${e(a).id}-needed`:``}`);Oe(p,{get label(){return e(a).label},size:`sm`,get checked(){return e(o)},get disabled(){return e(t)},get"aria-describedby"(){return e(n)},onchange:t=>m(Br(e(a).id,t.currentTarget.checked))})}var h=P(p,2),g=L(h,!0),_=P(h,2),v=t=>{var n=Wr(),i=L(n,!0);V(t=>{W(n,`id`,`sub-${e(a).id}-needed`),u(i,t)},[()=>Ur(e(r),e(a).label,e(l).map(d))]),b(t,n)};n(_,t=>{e(l).length&&t(v)}),c(f),V(()=>{W(h,`id`,`sub-${e(a).id}-summary`),u(g,e(a).summary)}),b(t,f)}),b(t,o)},$$slots:{default:!0}})}};n(D,t=>{e(r).hasSubSwitches&&t(O)});var k=P(D,2),A=t=>{var n=Wr(),i=L(n);V(e=>u(i,`Needs ${e??``}.`),[()=>h(e(r))]),b(t,n)},j=i(()=>!e(a)&&h(e(r)));n(k,t=>{e(j)&&t(A)}),c(f),V(()=>{g=o(f,1,`svelte-1d5gge1`,null,g,{selected:e(a)}),W(v,`id`,`card-${e(r).id}`),u(y,e(r).label),W(S,`id`,`card-${e(r).id}-summary`),u(C,e(r).summary)}),b(t,f)}),c(y);var S=P(y,2),C=L(S,!0);V(()=>u(C,e(l))),b(t,v),a()}var Yr=l(`<div class="pane svelte-d580bl"><!> <p class="meta svelte-d580bl">Defaults for this app. They apply to new records only; existing records
21
- keep their values.</p> <!></div>`);function Xr(t,n){g(n,!0);let r=E(n,`projectPersistence`,3,jt),i=O(N(Z.settings())),o,s=Z.replacementGeneration;function l(e){G(i,e,!0),clearTimeout(o),o=setTimeout(u,300)}function u(){s===Z.replacementGeneration?o!==void 0&&(clearTimeout(o),o=void 0,Z.setSettings(e(i))):(clearTimeout(o),o=void 0,s=Z.replacementGeneration,G(i,Z.settings(),!0))}k(()=>{let e=Z.replacementGeneration,t=Z.settings();s===e?o===void 0&&G(i,t,!0):(clearTimeout(o),o=void 0,s=e,G(i,t,!0))});var d=Yr();w(`pagehide`,j,u);var f=M(d);An(f,{get projectPersistence(){return r()},get controller(){return n.controller},get nativeAssistant(){return n.nativeAssistant},get onreset(){return n.onreset},get resetDisabledReason(){return n.resetDisabledReason}}),Gt(P(f,4),{get value(){return e(i)},onchange:l,idPrefix:`app-settings-tab`}),c(d),b(t,d),a()}var Zr=l(`<section class="specs svelte-164gdbq" aria-labelledby="planner-specs-heading"><h2 id="planner-specs-heading" class="svelte-164gdbq">Specs</h2> <p id="planner-specs-help" class="help svelte-164gdbq">What your app must also do beyond its features: unique rules, workflows,
22
- integrations. They go into your build prompt and exported cookbook.</p> <textarea id="planner-specs-input" aria-labelledby="planner-specs-heading" rows="14" aria-describedby="planner-specs-help planner-specs-count" class="svelte-164gdbq"></textarea> <p id="planner-specs-count" class="count svelte-164gdbq"> </p></section>`);function Qr(t,n){g(n,!0);let r=2e4,o=O(N(Z.specs??``));k(()=>{let t=Z.specs??``;t!==e(o).trimEnd()&&G(o,t,!0)});let s=i(()=>Array.from(e(o)).length);var l=Zr(),d=P(M(l),4);ee(d),W(d,`maxlength`,r),W(d,`placeholder`,`Examples:
23
- - Customers can only book a class if their waiver is signed.
24
- - Send a Slack message when an order over $500 is paid.
25
- - Staff see their own schedule; managers see everyone's.`);var f=P(d,2),p=L(f);c(l),V((t,n)=>{D(d,e(o)),u(p,`${t??``} / ${n??``}`)},[()=>e(s).toLocaleString(`en-US`),()=>r.toLocaleString(`en-US`)]),S(`input`,d,t=>{G(o,t.currentTarget.value,!0),Z.setSpecs(e(o))}),b(t,l),a()}C([`input`]);var $r=l(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="preview svelte-18m8le4" aria-hidden="true"><span class="preview-sidebar svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span> <span class="preview-main svelte-18m8le4"><span class="preview-title svelte-18m8le4"></span><span class="preview-body svelte-18m8le4"><span class="svelte-18m8le4"></span><span class="svelte-18m8le4"></span></span></span></span></button>`),ei=l(`<button type="button"><span class="choice-name svelte-18m8le4"><span class="choice-icon svelte-18m8le4" aria-hidden="true"> </span> </span> <span class="choice-hint svelte-18m8le4"> </span></button>`),ti=l(`<div class="cards svelte-18m8le4" role="group" aria-label="Theme look"></div> <div class="cards schemes svelte-18m8le4" role="group" aria-label="Appearance"></div>`,1),ni=l(`<option> </option>`),ri=l(`<p class="error svelte-18m8le4" role="alert">Use a hex colour like #c2410c.</p>`),ii=l(`<section class="theme svelte-18m8le4" aria-label="Theme settings"><!> <div class="shape svelte-18m8le4" role="group" aria-label="Shape and contrast"><div class="field svelte-18m8le4"><!> <select id="theme-radius" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-density" class="svelte-18m8le4"></select></div> <div class="field svelte-18m8le4"><!> <select id="theme-contrast" class="svelte-18m8le4"></select></div></div> <div class="brand svelte-18m8le4"><div class="field svelte-18m8le4"><!> <div class="pick svelte-18m8le4"><span class="wheel svelte-18m8le4"><input id="theme-brand-colour" type="color" aria-label="Choose brand colour" class="svelte-18m8le4"/></span> <!></div></div> <div class="field font-field svelte-18m8le4"><!> <select id="theme-brand-font" class="svelte-18m8le4"><option>Theme default</option><!></select></div> <!></div> <!> <a class="advanced svelte-18m8le4"><span class="advanced-icon svelte-18m8le4" aria-hidden="true"></span> <span><strong class="svelte-18m8le4">Advanced Styles</strong><small class="svelte-18m8le4"> </small></span> <span class="arrow svelte-18m8le4" aria-hidden="true">→</span></a></section>`);function ai(t,s){g(s,!0);let l=E(s,`provider`,3,!0),f=E(s,`advancedStylesHref`,3,`#/advanced-styles/`),m=Se(),h=i(()=>Z.theme?.custom),x=O(``),C=O(!1);k(()=>{G(x,e(h)?.primary??``,!0),G(C,!1)});let w={material:`◆`,glass:`◇`,studio:`▣`,smrt:`✦`,happyvertical:`⬡`},A=[{id:`light`,label:`Light`,icon:`☀`,hint:`Bright all the time`},{id:`dark`,label:`Dark`,icon:`☾`,hint:`Dim all the time`},{id:`system`,label:`Auto`,icon:`◐`,hint:`Follow this device`}],j=[{id:`none`,label:`None`},{id:`sm`,label:`Small`},{id:`md`,label:`Medium`},{id:`lg`,label:`Large`},{id:`xl`,label:`Extra large`},{id:`full`,label:`Full`}],N=[{id:`comfortable`,label:`Comfortable`},{id:`touch`,label:`Touch`}],F=[{id:`auto`,label:`Auto`},{id:`standard`,label:`Standard`},{id:`more`,label:`More`}],I={borderRadius:`md`,density:`comfortable`,contrast:`auto`};function R(e,t){Z.setTheme({...Z.theme,[e]:t===I[e]?void 0:t})}function B(t){let n=Ge(t);G(C,!n),n&&Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(h)?.fontFamily,custom:{primary:n}})}function H(t){let n=e(h)?{primary:e(h).primary}:void 0;Z.setTheme({...Z.theme,fontFamily:t||void 0,custom:n})}function U(){Z.setTheme({...Z.theme,fontFamily:Z.theme?.fontFamily??e(h)?.fontFamily,custom:void 0})}let ee=i(()=>{let e=Z.theme?.customCss;return!!e&&!Pt(e??``)});var te=ii(),K=M(te),ne=t=>{var n=ti(),r=z(n);p(r,21,()=>Ce,e=>e.id,(t,n)=>{let r=i(()=>m.state.resolvedScheme===`dark`?e(n).dark:e(n).light);var a=$r();let s,l;var d=M(a),f=M(d),p=L(f,!0),g=P(f,1,!0);c(d),_(2),c(a),V(()=>{s=o(a,1,`choice preset svelte-18m8le4`,null,s,{selected:!e(h)&&(Z.theme?.preset??`glass`)===e(n).id}),W(a,`aria-pressed`,!e(h)&&(Z.theme?.preset??`glass`)===e(n).id),l=y(a,``,l,{"--smrt-planner-preview-bg":e(r).background,"--smrt-planner-preview-surface":e(r).surface,"--smrt-planner-preview-primary":e(r).primary,"--smrt-planner-preview-ink":e(r).onSurface}),u(p,w[e(n).id]),u(g,e(n).label)}),S(`click`,a,()=>m?.setPreset(e(n).id)),b(t,a)}),c(r);var a=P(r,2);p(a,21,()=>A,e=>e.id,(t,n)=>{var r=ei();let i;var a=M(r),s=M(a),l=L(s,!0),d=P(s,1,!0);c(a);var f=P(a,2),p=L(f,!0);c(r),V(()=>{i=o(r,1,`choice scheme svelte-18m8le4`,null,i,{selected:m.state.colorScheme===e(n).id}),W(r,`aria-pressed`,m.state.colorScheme===e(n).id),u(l,e(n).icon),u(d,e(n).label),u(p,e(n).hint)}),S(`click`,r,()=>m?.setColorScheme(e(n).id)),b(t,r)}),c(a),b(t,n)};n(K,e=>{l()&&m&&e(ne)});var re=P(K,2),ie=M(re),ae=M(ie);Me(ae,{for:`theme-radius`,label:`Corner radius`});var q=P(ae,2);p(q,21,()=>j,e=>e.id,(t,n)=>{var r=ni(),i=L(r,!0),a={};V(()=>{u(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),b(t,r)}),c(q);var oe;v(q),c(ie);var se=P(ie,2),ce=M(se);Me(ce,{for:`theme-density`,label:`Density`});var le=P(ce,2);p(le,21,()=>N,e=>e.id,(t,n)=>{var r=ni(),i=L(r,!0),a={};V(()=>{u(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),b(t,r)}),c(le);var J;v(le),c(se);var ue=P(se,2),de=M(ue);Me(de,{for:`theme-contrast`,label:`Contrast`});var fe=P(de,2);p(fe,21,()=>F,e=>e.id,(t,n)=>{var r=ni(),i=L(r,!0),a={};V(()=>{u(i,e(n).label),a!==(a=e(n).id)&&(r.value=(r.__value=a)??``)}),b(t,r)}),c(fe);var pe;v(fe),c(ue),c(re);var me=P(re,2),he=M(me),ge=M(he);Me(ge,{for:`theme-brand-colour`,label:`Brand colour`});var ve=P(ge,2),ye=M(ve);let be;var xe=M(ye);T(xe),c(ye);var we=P(ye,2);_e(we,{type:`text`,"aria-label":`Brand colour hex`,placeholder:`#c2410c`,autocomplete:`off`,spellcheck:`false`,get value(){return e(x)},get"aria-invalid"(){return e(C)},oninput:t=>{G(x,t.currentTarget.value,!0),e(x).trim()&&B(e(x))}}),c(ve),c(he);var Te=P(he,2),Ee=M(Te);Me(Ee,{for:`theme-brand-font`,label:`Font`});var De=P(Ee,2),Oe=M(De);Oe.value=Oe.__value=``;var ke=P(Oe);p(ke,16,()=>Object.keys(qe),e=>e,(e,t)=>{var n=ni(),r=L(n,!0),i={};V(()=>{u(r,t),i!==(i=t)&&(n.value=(n.__value=i)??``)}),b(e,n)}),c(De);var Ae;v(De),c(Te);var je=P(Te,2),Ne=e=>{Y(e,{variant:`secondary`,onclick:U,children:(e,t)=>{_();var n=d(`Reset brand colour`);b(e,n)},$$slots:{default:!0}})};n(je,t=>{e(h)&&t(Ne)}),c(me);var Pe=P(me,2),Fe=e=>{var t=ri();b(e,t)};n(Pe,t=>{e(C)&&t(Fe)});var Ie=P(Pe,2),Le=M(Ie);Le.textContent=`{}`;var Re=P(Le,2),X=P(M(Re)),ze=L(X,!0);c(Re),_(2),c(Ie),c(te),V(()=>{oe!==(oe=Z.theme?.borderRadius??I.borderRadius)&&(q.value=(q.__value=oe)??``,r(q,oe)),J!==(J=Z.theme?.density??I.density)&&(le.value=(le.__value=J)??``,r(le,J)),pe!==(pe=Z.theme?.contrast??I.contrast)&&(fe.value=(fe.__value=pe)??``,r(fe,pe)),be=y(ye,``,be,{"--smrt-planner-picked-color":e(h)?.primary??`#e68a00`}),D(xe,e(h)?.primary??`#e68a00`),Ae!==(Ae=Z.theme?.fontFamily??e(h)?.fontFamily??``)&&(De.value=(De.__value=Ae)??``,r(De,Ae)),W(Ie,`href`,f()),u(ze,e(ee)?`This cookbook has custom CSS waiting for your approval`:`Edit custom CSS for your app`)}),S(`change`,q,e=>R(`borderRadius`,e.currentTarget.value)),S(`change`,le,e=>R(`density`,e.currentTarget.value)),S(`change`,fe,e=>R(`contrast`,e.currentTarget.value)),S(`input`,xe,e=>B(e.currentTarget.value)),S(`change`,De,e=>H(e.currentTarget.value)),b(t,te),a()}C([`click`,`change`,`input`]);var oi=[`specs`,`features`,`styles`,`build`],si={specs:[`specs`],features:[`cookbooks`,`recipes`,`features`],styles:[`theme`,`settings`],build:[`export`]};function ci(e){for(let t of oi)if(si[t].includes(e))return t;return`features`}var li=Symbol.for(`@happyvertical/smrt-ui/analytics`),ui=()=>{};function di(){let e=s(li)??ui;return(t,n)=>{try{Promise.resolve(e(t,n)).catch(()=>{})}catch{}}}function fi(e){return{get ids(){return e.snapshot().recipes.map(e=>e.id)},add:(...t)=>void e.run({name:`add_recipes`,input:{ids:t}}),remove:(...t)=>void e.run({name:`remove_recipes`,input:{ids:t}})}}function pi(e){return{read:()=>{let{currency:t,taxRate:n,paymentTerms:r,pricesIncludeTax:i,taxRounding:a}=e.snapshot().settings;return{currency:t,taxRate:Number((n/100).toFixed(6)),paymentTerms:r,pricesIncludeTax:i,taxRounding:a}},write:t=>{e.run({name:`set_settings`,input:{currency:t.currency,taxRate:Number((t.taxRate*100).toFixed(4)),...t.paymentTerms?{paymentTerms:t.paymentTerms}:{},pricesIncludeTax:t.pricesIncludeTax,taxRounding:t.taxRounding}})}}}function mi(e){return{read:()=>{let t=e.snapshot().theme,{preset:n,primary:r,colorScheme:i}=t,a={};return n&&(a.preset=n),r&&(a.custom={primary:r}),i!==`system`&&(a.colorScheme=i),t.borderRadius&&(a.borderRadius=t.borderRadius),t.density&&(a.density=t.density),t.contrast&&(a.contrast=t.contrast),Object.keys(a).length?a:void 0},write:t=>{t?(e.run({name:`reset_theme`,input:{}}),e.run({name:`set_theme`,input:{...t.preset?{preset:t.preset}:{},...t.custom?{primary:t.custom.primary}:{},...t.colorScheme?{colorScheme:t.colorScheme}:{},...t.borderRadius?{borderRadius:t.borderRadius}:{},...t.density?{density:t.density}:{},...t.contrast?{contrast:t.contrast}:{}}})):e.run({name:`reset_theme`,input:{}})}}}function hi(e,t){let n=mi(e),r=`browser`,i,a=()=>null;if(`chat`in t){let e=t.chat;a=()=>typeof e==`function`?e():e}else{let n=Be(t);if(i=n.notice,r=n.config.mode,n.config.mode===`host`&&n.config.host){let t=Pe({endpoint:n.config.host.endpoint,snapshot:()=>e.snapshot()});a=()=>t}else if(n.config.mode===`byo`){let e=n.config.byo?.presets;a=()=>Le(Ke(),e,void 0,n.config.credentialPersistence)}}let o=new Ue(n,e);return{transport:We({model:a,acceptCommands:r===`host`,unavailable:r===`byo`?`Connect your model on the AI page first, then I can help.`:`No model is connected yet, so I cannot help. The planner works without one.`,store:fi(e),recipes:rt,cookbooks:[],settings:pi(e),theme:n,themeUndos:o,controller:e,onReply:t.onReply,menu:()=>e===ft&&dt.openSection?e.snapshot().sections.filter(e=>!e.hidden).map(({id:e,label:t})=>({id:e,label:t})):[]}),themeUndos:o,mode:r,...i?{notice:i}:{}}}var gi={build:{targetId:`item:planner-host-action`,label:`Build it`,description:`Build it prepares your current plan and conversation for the next build step.`},export:{targetId:`item:planner-export`,label:`Export`,description:`Export opens the cookbook download and prompt options for your current plan.`},chef:{targetId:`item:planner-customize`,label:`Plan the app`,description:`The chef hat opens Cookbooks, Recipes, Theme and Settings to plan your app.`},specs:{targetId:`item:planner-specs`,label:`Specs`,description:`Specs holds anything your app must also do beyond its features.`},styles:{targetId:`item:planner-styles`,label:`Styles`,description:`Styles changes how your app looks: theme and settings.`},edit:{targetId:`item:layout-edit`,label:`Edit`,description:`Edit lets you rearrange the menu and page layout in the planner.`}};function _i(e,t){if(!t.ok||!t.receipt.changed||t.replayed)return;let n=new Set(e.sections.flatMap(e=>e.items.map(e=>e.id)));for(let e of t.snapshot.sections){if(e.hidden)continue;let t=e.items.find(e=>!e.hidden&&!n.has(e.id));if(t)return{section:e,item:t}}}var vi={default:6e3,min:1e3,max:3e4};function yi(e){return typeof e==`number`&&Number.isFinite(e)?Math.min(vi.max,Math.max(vi.min,e)):vi.default}function bi(e){let t,n,r,i=0,a=!1,o=()=>{r&&clearTimeout(r),r=void 0,n?.(),n=void 0,t&&(delete t.dataset.smrtHighlighted,t.removeEventListener(`click`,s)),t=void 0,typeof document<`u`&&document.removeEventListener(`keydown`,c)},s=()=>{i++,o()},c=e=>{e.key===`Escape`&&s()};return{dismiss:s,async highlight(l){let u=yi(l.holdMs);if(l.kind===`arrival`&&a)return{ok:!1,reason:`Arrival guidance was already shown.`};let d=++i,f=l.kind===`addition`?_i(l.before,l.result):void 0;if(l.kind===`addition`&&!f)return{ok:!1,reason:`No new visible menu item was added.`};if(f&&e.revealMenu?.(),await H(),!e.isMounted()||d!==i)return{ok:!1,reason:`Guidance is no longer active.`};let p=gi[l.kind===`control`?l.control:`edit`],m=f?.section.id??p.targetId,h=e.targets?.get(m)??(f?e.targets?.get(f.item.id):void 0);return h?(o(),t=h,n=ge(h,u,{presentation:`spotlight`,dismissLabel:`Dismiss guidance`,onDismiss:s}),d===i?(l.kind===`arrival`&&(a=!0),h.addEventListener(`click`,s,{once:!0}),document.addEventListener(`keydown`,c),r=setTimeout(o,u),{ok:!0,targetId:h.dataset.smrtTarget??m,label:f?.section.label??p.label,description:f?`Find ${f.item.label} under ${f.section.label} in the planner’s main menu.`:p.description}):{ok:!1,reason:`The actual guide target is not visible.`}):{ok:!1,reason:`The actual guide target is not available.`}}}}function xi(e,t){g(t,!0);let n=E(t,`controller`,3,ft),r=E(t,`persistence`,3,`self`),i=E(t,`cookbookOffers`,3,!0),o=E(t,`nativeAssistant`,3,!1),s=E(t,`links`,3,`path`),c=di(),l=fe(),u=he(),d=_t()??yt(Et());I(()=>{(t.basePath!==void 0||s()!==`path`)&&oe(t.basePath??``,s())}),B(()=>{let e=!0;queueMicrotask(()=>{e&&c(`planner_opened`)});let a=pt.onApplied(()=>c(`planner_cookbook_applied`)),s=o()?bi({targets:u,isMounted:()=>e,revealMenu:()=>l?.expandPanel(`left`)}):void 0,f=dt.onReplaced;dt.onReplaced=()=>d.reset?.(),r()===`self`&&!Z.loaded&&(pt.load(),Z.hydrate(``,ie()));let p=t.inference?hi(n(),t.inference):void 0;t.inference&&(`chat`in t.inference?X.useChat(t.inference.chat,`Host model`):X.configure(Be(t.inference)),X.hydrate(Q.ids.length>0||Q.features.length>0));let m=o()?X.session.transport:void 0,h=t.inference?m:void 0,g=m?.resetRevision,_=m?.subscribeConversation(()=>{m.resetRevision!==g&&(g=m.resetRevision,s?.dismiss())}),v=X.session.cookbookOffers,y=X.session.hostTurn;return h&&(X.session.cookbookOffers=i(),X.session.hostTurn=t.conversationalAction,t.initialConversation&&h.seed(t.initialConversation)),t.onready?.({controller:n(),...s?{guide:s}:{},workspaceStorage:ie(),reset:(e={})=>Ot({controller:n(),dataSource:d,nativeAssistant:m,...e.silent?{}:{onreset:t.onreset}}),...p?{assistant:p}:{},...h?{nativeAssistant:h,openAssistant:async()=>(await H(),e&&X.assistantReady&&(l?.openDockTool(`assistant`)??!1))}:{}}),()=>{e=!1,a(),s?.dismiss(),_?.(),dt.onReplaced=f,h&&(X.session.cookbookOffers=v,X.session.hostTurn=y)}}),k(()=>{r()===`self`&&(JSON.stringify(Z.snapshot()),Z.scheduleSave())}),w(`pagehide`,j,()=>r()===`self`&&Z.flush()),a()}var Si=l(`<div><!></div>`),Ci=l(`<div class="pane svelte-zuxcuo"><p class="meta svelte-zuxcuo">Reorder, move or hide navigation entries and choose which panels show.
26
- The layout is saved with the cookbook.</p> <!></div>`),wi=l(`<!> <!> <!> <!> <!> <!> <!> <!>`,1),Ti=l(`<div class="planner svelte-zuxcuo"><!></div>`),Ei=l(`<!> <!>`,1);function Di(t,r){g(r,!0);let o=t=>{var a=Ti(),o=M(a);Ye(o,{get tabs(){return e(N)},get active(){return e(F)},onchange:ee,"aria-label":`Planner`,children:(t,a)=>{var o=wi(),s=z(o),l=t=>{var n=Si();Qr(M(n),{}),c(n),V(()=>W(n,`hidden`,e(F)!==`specs`)),b(t,n)},u=i(()=>e(j).includes(`specs`));n(s,t=>{e(u)&&t(l)});var f=P(s,2),p=t=>{var n=Si();nn(M(n),{}),c(n),V(()=>W(n,`hidden`,e(F)!==`cookbooks`)),b(t,n)},h=i(()=>e(j).includes(`cookbooks`));n(f,t=>{e(h)&&t(p)});var g=P(f,2),_=t=>{var n=Si();Jr(M(n),{}),c(n),V(()=>W(n,`hidden`,e(F)!==`recipes`)),b(t,n)},v=i(()=>e(j).includes(`recipes`));n(g,t=>{e(v)&&t(_)});var x=P(g,2),S=t=>{var n=Si();Ir(M(n),{}),c(n),V(()=>W(n,`hidden`,e(F)!==`features`)),b(t,n)},C=i(()=>e(j).includes(`features`));n(x,t=>{e(C)&&t(S)});var w=P(x,2),T=t=>{var n=Ci(),r=P(M(n),2);{let t=i(()=>L??U??void 0);ve(r,{get controller(){return e(t)}})}c(n),V(()=>W(n,`hidden`,e(F)!==`layout`)),b(t,n)},E=i(()=>e(j).includes(`layout`));n(w,t=>{e(E)&&t(T)});var D=P(w,2),O=t=>{var n=Si();ai(M(n),{get provider(){return m()},get advancedStylesHref(){return r.advancedStylesHref}}),c(n),V(()=>W(n,`hidden`,e(F)!==`theme`)),b(t,n)},k=i(()=>e(j).includes(`theme`));n(D,t=>{e(k)&&t(O)});var A=P(D,2),N=t=>{var n=Si();Xr(M(n),{get projectPersistence(){return e(y)},get controller(){return d()},get nativeAssistant(){return r.nativeAssistant},get onreset(){return r.onreset},get resetDisabledReason(){return r.resetDisabledReason}}),c(n),V(()=>W(n,`hidden`,e(F)!==`settings`)),b(t,n)},I=i(()=>e(j).includes(`settings`));n(A,t=>{e(I)&&t(N)});var R=P(A,2),B=t=>{var n=Si();Zn(M(n),{get exportAction(){return r.exportAction},get controller(){return d()},get nativeAssistant(){return r.nativeAssistant},get onreset(){return r.onreset},get resetDisabledReason(){return r.resetDisabledReason}}),c(n),V(()=>W(n,`hidden`,e(F)!==`export`)),b(t,n)},H=i(()=>e(j).includes(`export`));n(R,t=>{e(H)&&t(B)}),b(t,o)},$$slots:{default:!0}}),c(a),A(a,e=>G(te,e),()=>e(te)),b(t,a)},s=[`cookbooks`,`recipes`,`theme`,`settings`,`export`],l=[`specs`,`features`,`layout`],u=[`specs`,`cookbooks`,`recipes`,`features`,`theme`,`settings`,`export`],d=E(r,`controller`,3,ft),f=E(r,`layout`,3,`own`),p=E(r,`persistence`,3,`self`),m=E(r,`themeControls`,3,!1),h=E(r,`headerNav`,3,`icons`),_=E(r,`tabs`,3,s),v=E(r,`managedByParent`,3,!1),y=i(()=>r.projectPersistence===void 0?p()===`self`?jt:null:r.projectPersistence);_t()||yt(Et());let x=Te()!==null,S={specs:`Specs`,cookbooks:`Cookbooks`,recipes:`Recipes`,features:`Features`,layout:`Layout`,theme:`Theme`,settings:`Settings`,export:`Export`},C=i(()=>h()===`labelled`),w=i(()=>_()===s),T=i(()=>(e(C)&&e(w)?u:_()).filter(e=>lt.includes(e))),D=i(()=>{if(!e(C))return e(T);let t=si[ci(ut.active)],n=e(T).filter(e=>t.includes(e));return n.length>0?n:e(T)}),j=i(()=>e(w)?[...new Set([...e(T),...l])]:e(T)),N=i(()=>e(D).map(e=>({id:e,label:S[e]}))),F=i(()=>e(j).includes(ut.active)?ut.active:e(D)[0]??`recipes`),I=R(()=>f()),L=I===`own`?new me({nav:()=>[],groups:()=>At({recipes:Q.ids,features:Q.features}),panels:()=>void 0,layout:()=>Z.layout,editable:()=>!0,commit:e=>Z.setLayout(e)}):null,U=I===`shell`?be():null,ee=e=>{let t=lt.find(t=>t===e);t&&(ut.active=t)};B(()=>d().subscribe(e=>{let t=e.focus.tab;t&&t!==ut.active&&(ut.active=t)}));let te=O(null),K;k(()=>{let t=e(F);K===void 0||K===t?K=t:(K=t,H().then(()=>{e(te)?.querySelector(`[role="tablist"]`)?.scrollIntoView({block:`nearest`})}))}),k(()=>{let e=ut.active;R(()=>{d().snapshot().focus.tab!==e&&d().run({name:`focus`,input:{tab:e}})})});var ne=Ei(),re=z(ne),ie=e=>{xi(e,{get controller(){return d()},get basePath(){return r.basePath},get inference(){return r.inference},get persistence(){return p()},get onready(){return r.onready}})};n(re,e=>{v()||e(ie)});var ae=P(re,2),q=e=>{o(e)},oe=e=>{pe(e,{children:(e,t)=>{o(e)},$$slots:{default:!0}})};n(ae,e=>{x?e(q):e(oe,-1)}),b(t,ne),a()}var Oi=l(`<section class="first-run svelte-1uha8ag" aria-labelledby="first-run-title"><h1 id="first-run-title" class="svelte-1uha8ag">Set up your assistant</h1> <p class="meta svelte-1uha8ag"> </p> <!> <div class="actions svelte-1uha8ag"><!> <!></div></section>`),ki=l(`<main class="svelte-1uha8ag"><!></main>`);function Ai(r,o){g(o,!0);let l=s(Mt),f=i(Tt);var p=ki();t(`1uha8ag`,t=>{F(()=>{U.title=`${e(f)??``} · smrt planner`})});var m=M(p),h=e=>{var t=Oi(),n=P(M(t),2),r=L(n,!0),i=P(n,2);Ft(i,{});var a=P(i,2),o=M(a);Y(o,{onclick:()=>X.continueFirstRun(),children:(e,t)=>{_();var n=d(`Continue`);b(e,n)},$$slots:{default:!0}});var s=P(o,2);Y(s,{variant:`secondary`,onclick:()=>X.dismissFirstRun(),children:(e,t)=>{_();var n=d(`I don't need AI, let's just build`);b(e,n)},$$slots:{default:!0}}),c(a),c(t),V(()=>u(r,X.privacyNote)),b(e,t)},v=t=>{{let n=i(()=>l?.current??null),r=i(()=>de(`/advanced-styles/`));Di(t,{get projectPersistence(){return e(n)},get nativeAssistant(){return X.session.transport},layout:`shell`,persistence:`host`,themeControls:!0,get advancedStylesHref(){return e(r)}})}};n(m,e=>{X.firstRun?e(h):e(v,-1)}),c(p),b(r,p),a()}export{Ai as component};