@withpotter/lib 0.13.0-next.101

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 (1341) hide show
  1. package/dist/__fixtures__/demo-content-server.json +484 -0
  2. package/dist/accessibility-context.d.ts +27 -0
  3. package/dist/accessibility-context.js +107 -0
  4. package/dist/accessibility-context.js.map +1 -0
  5. package/dist/active-workspace.d.ts +45 -0
  6. package/dist/active-workspace.js +34 -0
  7. package/dist/active-workspace.js.map +1 -0
  8. package/dist/admin-account-officer-api.d.ts +13 -0
  9. package/dist/admin-account-officer-api.js +12 -0
  10. package/dist/admin-account-officer-api.js.map +1 -0
  11. package/dist/admin-account-types.d.ts +122 -0
  12. package/dist/admin-account-types.js +1 -0
  13. package/dist/admin-account-types.js.map +1 -0
  14. package/dist/admin-adoption-api.d.ts +35 -0
  15. package/dist/admin-adoption-api.js +16 -0
  16. package/dist/admin-adoption-api.js.map +1 -0
  17. package/dist/admin-api.d.ts +1219 -0
  18. package/dist/admin-api.js +325 -0
  19. package/dist/admin-api.js.map +1 -0
  20. package/dist/admin-case-api.d.ts +32 -0
  21. package/dist/admin-case-api.js +63 -0
  22. package/dist/admin-case-api.js.map +1 -0
  23. package/dist/admin-case-types.d.ts +166 -0
  24. package/dist/admin-case-types.js +1 -0
  25. package/dist/admin-case-types.js.map +1 -0
  26. package/dist/admin-compliance-api.d.ts +31 -0
  27. package/dist/admin-compliance-api.js +20 -0
  28. package/dist/admin-compliance-api.js.map +1 -0
  29. package/dist/admin-country-api.d.ts +28 -0
  30. package/dist/admin-country-api.js +9 -0
  31. package/dist/admin-country-api.js.map +1 -0
  32. package/dist/admin-currency-types.d.ts +138 -0
  33. package/dist/admin-currency-types.js +1 -0
  34. package/dist/admin-currency-types.js.map +1 -0
  35. package/dist/admin-feedback-api.d.ts +215 -0
  36. package/dist/admin-feedback-api.js +63 -0
  37. package/dist/admin-feedback-api.js.map +1 -0
  38. package/dist/admin-inbox-seen.d.ts +22 -0
  39. package/dist/admin-inbox-seen.js +47 -0
  40. package/dist/admin-inbox-seen.js.map +1 -0
  41. package/dist/admin-ledger-api.d.ts +85 -0
  42. package/dist/admin-ledger-api.js +30 -0
  43. package/dist/admin-ledger-api.js.map +1 -0
  44. package/dist/admin-money-api.d.ts +127 -0
  45. package/dist/admin-money-api.js +125 -0
  46. package/dist/admin-money-api.js.map +1 -0
  47. package/dist/admin-newsletter-contacts-api.d.ts +70 -0
  48. package/dist/admin-newsletter-contacts-api.js +20 -0
  49. package/dist/admin-newsletter-contacts-api.js.map +1 -0
  50. package/dist/admin-newsletter-deliveries-api.d.ts +47 -0
  51. package/dist/admin-newsletter-deliveries-api.js +16 -0
  52. package/dist/admin-newsletter-deliveries-api.js.map +1 -0
  53. package/dist/admin-newsletters-api.d.ts +118 -0
  54. package/dist/admin-newsletters-api.js +47 -0
  55. package/dist/admin-newsletters-api.js.map +1 -0
  56. package/dist/admin-pos-api.d.ts +16 -0
  57. package/dist/admin-pos-api.js +35 -0
  58. package/dist/admin-pos-api.js.map +1 -0
  59. package/dist/admin-pos-query.d.ts +43 -0
  60. package/dist/admin-pos-query.js +55 -0
  61. package/dist/admin-pos-query.js.map +1 -0
  62. package/dist/admin-pos-types.d.ts +122 -0
  63. package/dist/admin-pos-types.js +1 -0
  64. package/dist/admin-pos-types.js.map +1 -0
  65. package/dist/admin-pricing-api.d.ts +88 -0
  66. package/dist/admin-pricing-api.js +66 -0
  67. package/dist/admin-pricing-api.js.map +1 -0
  68. package/dist/admin-readiness-api.d.ts +25 -0
  69. package/dist/admin-readiness-api.js +39 -0
  70. package/dist/admin-readiness-api.js.map +1 -0
  71. package/dist/admin-sales-api.d.ts +124 -0
  72. package/dist/admin-sales-api.js +41 -0
  73. package/dist/admin-sales-api.js.map +1 -0
  74. package/dist/admin-saved-replies-api.d.ts +35 -0
  75. package/dist/admin-saved-replies-api.js +70 -0
  76. package/dist/admin-saved-replies-api.js.map +1 -0
  77. package/dist/admin-service-operations-api.d.ts +142 -0
  78. package/dist/admin-service-operations-api.js +52 -0
  79. package/dist/admin-service-operations-api.js.map +1 -0
  80. package/dist/admin-signatures-api.d.ts +57 -0
  81. package/dist/admin-signatures-api.js +15 -0
  82. package/dist/admin-signatures-api.js.map +1 -0
  83. package/dist/admin-support-analytics-api.d.ts +36 -0
  84. package/dist/admin-support-analytics-api.js +71 -0
  85. package/dist/admin-support-analytics-api.js.map +1 -0
  86. package/dist/admin-tenant-setup-types.d.ts +85 -0
  87. package/dist/admin-tenant-setup-types.js +1 -0
  88. package/dist/admin-tenant-setup-types.js.map +1 -0
  89. package/dist/admin-tenants-query.d.ts +14 -0
  90. package/dist/admin-tenants-query.js +17 -0
  91. package/dist/admin-tenants-query.js.map +1 -0
  92. package/dist/analytics/PostHogProvider.d.ts +25 -0
  93. package/dist/analytics/PostHogProvider.js +44 -0
  94. package/dist/analytics/PostHogProvider.js.map +1 -0
  95. package/dist/analytics/index.d.ts +1 -0
  96. package/dist/analytics/index.js +11 -0
  97. package/dist/analytics/index.js.map +1 -0
  98. package/dist/analytics.d.ts +1 -0
  99. package/dist/analytics.js +1 -0
  100. package/dist/api/abandoned-cart.d.ts +18 -0
  101. package/dist/api/abandoned-cart.js +68 -0
  102. package/dist/api/abandoned-cart.js.map +1 -0
  103. package/dist/api/accounts.d.ts +176 -0
  104. package/dist/api/accounts.js +194 -0
  105. package/dist/api/accounts.js.map +1 -0
  106. package/dist/api/analytics-patterns.d.ts +18 -0
  107. package/dist/api/analytics-patterns.js +52 -0
  108. package/dist/api/analytics-patterns.js.map +1 -0
  109. package/dist/api/analytics.d.ts +143 -0
  110. package/dist/api/analytics.js +379 -0
  111. package/dist/api/analytics.js.map +1 -0
  112. package/dist/api/assignee-prefs.d.ts +7 -0
  113. package/dist/api/assignee-prefs.js +17 -0
  114. package/dist/api/assignee-prefs.js.map +1 -0
  115. package/dist/api/automations.d.ts +73 -0
  116. package/dist/api/automations.js +102 -0
  117. package/dist/api/automations.js.map +1 -0
  118. package/dist/api/behaviors.d.ts +15 -0
  119. package/dist/api/behaviors.js +15 -0
  120. package/dist/api/behaviors.js.map +1 -0
  121. package/dist/api/bio.d.ts +7 -0
  122. package/dist/api/bio.js +17 -0
  123. package/dist/api/bio.js.map +1 -0
  124. package/dist/api/booking-calendar.d.ts +14 -0
  125. package/dist/api/booking-calendar.js +33 -0
  126. package/dist/api/booking-calendar.js.map +1 -0
  127. package/dist/api/bookings.d.ts +199 -0
  128. package/dist/api/bookings.js +284 -0
  129. package/dist/api/bookings.js.map +1 -0
  130. package/dist/api/business-devices.d.ts +108 -0
  131. package/dist/api/business-devices.js +139 -0
  132. package/dist/api/business-devices.js.map +1 -0
  133. package/dist/api/business-locations.d.ts +26 -0
  134. package/dist/api/business-locations.js +39 -0
  135. package/dist/api/business-locations.js.map +1 -0
  136. package/dist/api/cache-bus.d.ts +56 -0
  137. package/dist/api/cache-bus.js +18 -0
  138. package/dist/api/cache-bus.js.map +1 -0
  139. package/dist/api/calendar-sync.d.ts +49 -0
  140. package/dist/api/calendar-sync.js +50 -0
  141. package/dist/api/calendar-sync.js.map +1 -0
  142. package/dist/api/campaign-initiatives.d.ts +115 -0
  143. package/dist/api/campaign-initiatives.js +42 -0
  144. package/dist/api/campaign-initiatives.js.map +1 -0
  145. package/dist/api/campaigns.d.ts +89 -0
  146. package/dist/api/campaigns.js +100 -0
  147. package/dist/api/campaigns.js.map +1 -0
  148. package/dist/api/capabilities.d.ts +12 -0
  149. package/dist/api/capabilities.js +16 -0
  150. package/dist/api/capabilities.js.map +1 -0
  151. package/dist/api/commerce.d.ts +19 -0
  152. package/dist/api/commerce.js +31 -0
  153. package/dist/api/commerce.js.map +1 -0
  154. package/dist/api/communications.d.ts +166 -0
  155. package/dist/api/communications.js +141 -0
  156. package/dist/api/communications.js.map +1 -0
  157. package/dist/api/connect.d.ts +72 -0
  158. package/dist/api/connect.js +50 -0
  159. package/dist/api/connect.js.map +1 -0
  160. package/dist/api/content.d.ts +146 -0
  161. package/dist/api/content.js +187 -0
  162. package/dist/api/content.js.map +1 -0
  163. package/dist/api/conversations.d.ts +79 -0
  164. package/dist/api/conversations.js +41 -0
  165. package/dist/api/conversations.js.map +1 -0
  166. package/dist/api/core.d.ts +62 -0
  167. package/dist/api/core.js +223 -0
  168. package/dist/api/core.js.map +1 -0
  169. package/dist/api/credentials.d.ts +65 -0
  170. package/dist/api/credentials.js +48 -0
  171. package/dist/api/credentials.js.map +1 -0
  172. package/dist/api/credits.d.ts +96 -0
  173. package/dist/api/credits.js +24 -0
  174. package/dist/api/credits.js.map +1 -0
  175. package/dist/api/crm-analytics.d.ts +10 -0
  176. package/dist/api/crm-analytics.js +22 -0
  177. package/dist/api/crm-analytics.js.map +1 -0
  178. package/dist/api/crm-segments.d.ts +14 -0
  179. package/dist/api/crm-segments.js +42 -0
  180. package/dist/api/crm-segments.js.map +1 -0
  181. package/dist/api/deliveries.d.ts +99 -0
  182. package/dist/api/deliveries.js +37 -0
  183. package/dist/api/deliveries.js.map +1 -0
  184. package/dist/api/demo-content.d.ts +104 -0
  185. package/dist/api/demo-content.js +36 -0
  186. package/dist/api/demo-content.js.map +1 -0
  187. package/dist/api/device-shifts.d.ts +56 -0
  188. package/dist/api/device-shifts.js +50 -0
  189. package/dist/api/device-shifts.js.map +1 -0
  190. package/dist/api/devices.d.ts +6 -0
  191. package/dist/api/devices.js +10 -0
  192. package/dist/api/devices.js.map +1 -0
  193. package/dist/api/digital-files.d.ts +22 -0
  194. package/dist/api/digital-files.js +55 -0
  195. package/dist/api/digital-files.js.map +1 -0
  196. package/dist/api/discounts.d.ts +29 -0
  197. package/dist/api/discounts.js +46 -0
  198. package/dist/api/discounts.js.map +1 -0
  199. package/dist/api/disputes.d.ts +47 -0
  200. package/dist/api/disputes.js +42 -0
  201. package/dist/api/disputes.js.map +1 -0
  202. package/dist/api/feature-locked.d.ts +11 -0
  203. package/dist/api/feature-locked.js +18 -0
  204. package/dist/api/feature-locked.js.map +1 -0
  205. package/dist/api/feedback-prompts.d.ts +45 -0
  206. package/dist/api/feedback-prompts.js +85 -0
  207. package/dist/api/feedback-prompts.js.map +1 -0
  208. package/dist/api/feedback.d.ts +254 -0
  209. package/dist/api/feedback.js +108 -0
  210. package/dist/api/feedback.js.map +1 -0
  211. package/dist/api/finance.d.ts +199 -0
  212. package/dist/api/finance.js +203 -0
  213. package/dist/api/finance.js.map +1 -0
  214. package/dist/api/gallery.d.ts +30 -0
  215. package/dist/api/gallery.js +48 -0
  216. package/dist/api/gallery.js.map +1 -0
  217. package/dist/api/geo.d.ts +18 -0
  218. package/dist/api/geo.js +19 -0
  219. package/dist/api/geo.js.map +1 -0
  220. package/dist/api/giftcards.d.ts +63 -0
  221. package/dist/api/giftcards.js +63 -0
  222. package/dist/api/giftcards.js.map +1 -0
  223. package/dist/api/hardware-orders.d.ts +40 -0
  224. package/dist/api/hardware-orders.js +37 -0
  225. package/dist/api/hardware-orders.js.map +1 -0
  226. package/dist/api/index.d.ts +71 -0
  227. package/dist/api/index.js +78 -0
  228. package/dist/api/index.js.map +1 -0
  229. package/dist/api/inquiries.d.ts +92 -0
  230. package/dist/api/inquiries.js +129 -0
  231. package/dist/api/inquiries.js.map +1 -0
  232. package/dist/api/inventory.d.ts +133 -0
  233. package/dist/api/inventory.js +203 -0
  234. package/dist/api/inventory.js.map +1 -0
  235. package/dist/api/invite-body.d.ts +19 -0
  236. package/dist/api/invite-body.js +8 -0
  237. package/dist/api/invite-body.js.map +1 -0
  238. package/dist/api/invoices.d.ts +19 -0
  239. package/dist/api/invoices.js +80 -0
  240. package/dist/api/invoices.js.map +1 -0
  241. package/dist/api/locations.d.ts +15 -0
  242. package/dist/api/locations.js +30 -0
  243. package/dist/api/locations.js.map +1 -0
  244. package/dist/api/loyalty.d.ts +68 -0
  245. package/dist/api/loyalty.js +112 -0
  246. package/dist/api/loyalty.js.map +1 -0
  247. package/dist/api/marketing-consent.d.ts +36 -0
  248. package/dist/api/marketing-consent.js +11 -0
  249. package/dist/api/marketing-consent.js.map +1 -0
  250. package/dist/api/marketing-suppressions.d.ts +81 -0
  251. package/dist/api/marketing-suppressions.js +65 -0
  252. package/dist/api/marketing-suppressions.js.map +1 -0
  253. package/dist/api/members.d.ts +79 -0
  254. package/dist/api/members.js +148 -0
  255. package/dist/api/members.js.map +1 -0
  256. package/dist/api/merchant-notifications.d.ts +27 -0
  257. package/dist/api/merchant-notifications.js +41 -0
  258. package/dist/api/merchant-notifications.js.map +1 -0
  259. package/dist/api/merchant-referrals.d.ts +23 -0
  260. package/dist/api/merchant-referrals.js +10 -0
  261. package/dist/api/merchant-referrals.js.map +1 -0
  262. package/dist/api/merchant-subscriptions.d.ts +117 -0
  263. package/dist/api/merchant-subscriptions.js +113 -0
  264. package/dist/api/merchant-subscriptions.js.map +1 -0
  265. package/dist/api/misc.d.ts +4 -0
  266. package/dist/api/misc.js +24 -0
  267. package/dist/api/misc.js.map +1 -0
  268. package/dist/api/odoo.d.ts +102 -0
  269. package/dist/api/odoo.js +36 -0
  270. package/dist/api/odoo.js.map +1 -0
  271. package/dist/api/onboarding.d.ts +48 -0
  272. package/dist/api/onboarding.js +78 -0
  273. package/dist/api/onboarding.js.map +1 -0
  274. package/dist/api/orders.d.ts +153 -0
  275. package/dist/api/orders.js +303 -0
  276. package/dist/api/orders.js.map +1 -0
  277. package/dist/api/organizations.d.ts +14 -0
  278. package/dist/api/organizations.js +19 -0
  279. package/dist/api/organizations.js.map +1 -0
  280. package/dist/api/packages.d.ts +16 -0
  281. package/dist/api/packages.js +25 -0
  282. package/dist/api/packages.js.map +1 -0
  283. package/dist/api/pages.d.ts +79 -0
  284. package/dist/api/pages.js +125 -0
  285. package/dist/api/pages.js.map +1 -0
  286. package/dist/api/payables.d.ts +34 -0
  287. package/dist/api/payables.js +70 -0
  288. package/dist/api/payables.js.map +1 -0
  289. package/dist/api/plan-refusal.d.ts +21 -0
  290. package/dist/api/plan-refusal.js +28 -0
  291. package/dist/api/plan-refusal.js.map +1 -0
  292. package/dist/api/pos.d.ts +66 -0
  293. package/dist/api/pos.js +115 -0
  294. package/dist/api/pos.js.map +1 -0
  295. package/dist/api/potter.d.ts +114 -0
  296. package/dist/api/potter.js +88 -0
  297. package/dist/api/potter.js.map +1 -0
  298. package/dist/api/push.d.ts +25 -0
  299. package/dist/api/push.js +23 -0
  300. package/dist/api/push.js.map +1 -0
  301. package/dist/api/referrals.d.ts +10 -0
  302. package/dist/api/referrals.js +16 -0
  303. package/dist/api/referrals.js.map +1 -0
  304. package/dist/api/resource-categories.d.ts +35 -0
  305. package/dist/api/resource-categories.js +76 -0
  306. package/dist/api/resource-categories.js.map +1 -0
  307. package/dist/api/resources.d.ts +54 -0
  308. package/dist/api/resources.js +92 -0
  309. package/dist/api/resources.js.map +1 -0
  310. package/dist/api/reviews.d.ts +18 -0
  311. package/dist/api/reviews.js +46 -0
  312. package/dist/api/reviews.js.map +1 -0
  313. package/dist/api/riders.d.ts +70 -0
  314. package/dist/api/riders.js +24 -0
  315. package/dist/api/riders.js.map +1 -0
  316. package/dist/api/role-permissions.d.ts +25 -0
  317. package/dist/api/role-permissions.js +47 -0
  318. package/dist/api/role-permissions.js.map +1 -0
  319. package/dist/api/sales-channels.d.ts +234 -0
  320. package/dist/api/sales-channels.js +119 -0
  321. package/dist/api/sales-channels.js.map +1 -0
  322. package/dist/api/service-missing.d.ts +10 -0
  323. package/dist/api/service-missing.js +19 -0
  324. package/dist/api/service-missing.js.map +1 -0
  325. package/dist/api/session-refresh.d.ts +18 -0
  326. package/dist/api/session-refresh.js +37 -0
  327. package/dist/api/session-refresh.js.map +1 -0
  328. package/dist/api/session-scope.d.ts +35 -0
  329. package/dist/api/session-scope.js +53 -0
  330. package/dist/api/session-scope.js.map +1 -0
  331. package/dist/api/settlements.d.ts +106 -0
  332. package/dist/api/settlements.js +114 -0
  333. package/dist/api/settlements.js.map +1 -0
  334. package/dist/api/share-links.d.ts +46 -0
  335. package/dist/api/share-links.js +25 -0
  336. package/dist/api/share-links.js.map +1 -0
  337. package/dist/api/shift-notes.d.ts +19 -0
  338. package/dist/api/shift-notes.js +13 -0
  339. package/dist/api/shift-notes.js.map +1 -0
  340. package/dist/api/shipping.d.ts +42 -0
  341. package/dist/api/shipping.js +53 -0
  342. package/dist/api/shipping.js.map +1 -0
  343. package/dist/api/social-sources.d.ts +58 -0
  344. package/dist/api/social-sources.js +23 -0
  345. package/dist/api/social-sources.js.map +1 -0
  346. package/dist/api/tabs.d.ts +14 -0
  347. package/dist/api/tabs.js +39 -0
  348. package/dist/api/tabs.js.map +1 -0
  349. package/dist/api/team.d.ts +112 -0
  350. package/dist/api/team.js +144 -0
  351. package/dist/api/team.js.map +1 -0
  352. package/dist/api/template-settings.d.ts +26 -0
  353. package/dist/api/template-settings.js +36 -0
  354. package/dist/api/template-settings.js.map +1 -0
  355. package/dist/api/templates.d.ts +21 -0
  356. package/dist/api/templates.js +25 -0
  357. package/dist/api/templates.js.map +1 -0
  358. package/dist/api/tenant-slug.d.ts +13 -0
  359. package/dist/api/tenant-slug.js +18 -0
  360. package/dist/api/tenant-slug.js.map +1 -0
  361. package/dist/api/tenant.d.ts +33 -0
  362. package/dist/api/tenant.js +51 -0
  363. package/dist/api/tenant.js.map +1 -0
  364. package/dist/api/types/analytics-attribution.d.ts +43 -0
  365. package/dist/api/types/analytics-attribution.js +1 -0
  366. package/dist/api/types/analytics-attribution.js.map +1 -0
  367. package/dist/api/types/analytics.d.ts +465 -0
  368. package/dist/api/types/analytics.js +1 -0
  369. package/dist/api/types/analytics.js.map +1 -0
  370. package/dist/api/types/auth.d.ts +206 -0
  371. package/dist/api/types/auth.js +7 -0
  372. package/dist/api/types/auth.js.map +1 -0
  373. package/dist/api/types/automation-flow.d.ts +199 -0
  374. package/dist/api/types/automation-flow.js +1 -0
  375. package/dist/api/types/automation-flow.js.map +1 -0
  376. package/dist/api/types/bookings.d.ts +226 -0
  377. package/dist/api/types/bookings.js +1 -0
  378. package/dist/api/types/bookings.js.map +1 -0
  379. package/dist/api/types/campaigns.d.ts +262 -0
  380. package/dist/api/types/campaigns.js +1 -0
  381. package/dist/api/types/campaigns.js.map +1 -0
  382. package/dist/api/types/catalog.d.ts +273 -0
  383. package/dist/api/types/catalog.js +1 -0
  384. package/dist/api/types/catalog.js.map +1 -0
  385. package/dist/api/types/collections.d.ts +189 -0
  386. package/dist/api/types/collections.js +1 -0
  387. package/dist/api/types/collections.js.map +1 -0
  388. package/dist/api/types/crm.d.ts +264 -0
  389. package/dist/api/types/crm.js +1 -0
  390. package/dist/api/types/crm.js.map +1 -0
  391. package/dist/api/types/customers.d.ts +269 -0
  392. package/dist/api/types/customers.js +1 -0
  393. package/dist/api/types/customers.js.map +1 -0
  394. package/dist/api/types/devices.d.ts +390 -0
  395. package/dist/api/types/devices.js +1 -0
  396. package/dist/api/types/devices.js.map +1 -0
  397. package/dist/api/types/discounts.d.ts +237 -0
  398. package/dist/api/types/discounts.js +1 -0
  399. package/dist/api/types/discounts.js.map +1 -0
  400. package/dist/api/types/filters.d.ts +258 -0
  401. package/dist/api/types/filters.js +1 -0
  402. package/dist/api/types/filters.js.map +1 -0
  403. package/dist/api/types/index.d.ts +31 -0
  404. package/dist/api/types/index.js +25 -0
  405. package/dist/api/types/index.js.map +1 -0
  406. package/dist/api/types/inquiries.d.ts +266 -0
  407. package/dist/api/types/inquiries.js +1 -0
  408. package/dist/api/types/inquiries.js.map +1 -0
  409. package/dist/api/types/locations.d.ts +208 -0
  410. package/dist/api/types/locations.js +1 -0
  411. package/dist/api/types/locations.js.map +1 -0
  412. package/dist/api/types/onboarding.d.ts +311 -0
  413. package/dist/api/types/onboarding.js +1 -0
  414. package/dist/api/types/onboarding.js.map +1 -0
  415. package/dist/api/types/operations.d.ts +136 -0
  416. package/dist/api/types/operations.js +1 -0
  417. package/dist/api/types/operations.js.map +1 -0
  418. package/dist/api/types/orders.d.ts +242 -0
  419. package/dist/api/types/orders.js +1 -0
  420. package/dist/api/types/orders.js.map +1 -0
  421. package/dist/api/types/payables.d.ts +140 -0
  422. package/dist/api/types/payables.js +1 -0
  423. package/dist/api/types/payables.js.map +1 -0
  424. package/dist/api/types/pos.d.ts +121 -0
  425. package/dist/api/types/pos.js +5 -0
  426. package/dist/api/types/pos.js.map +1 -0
  427. package/dist/api/types/record-analytics.d.ts +95 -0
  428. package/dist/api/types/record-analytics.js +1 -0
  429. package/dist/api/types/record-analytics.js.map +1 -0
  430. package/dist/api/types/sales-patterns.d.ts +58 -0
  431. package/dist/api/types/sales-patterns.js +1 -0
  432. package/dist/api/types/sales-patterns.js.map +1 -0
  433. package/dist/api/types/tabs.d.ts +210 -0
  434. package/dist/api/types/tabs.js +1 -0
  435. package/dist/api/types/tabs.js.map +1 -0
  436. package/dist/api/types/templates.d.ts +398 -0
  437. package/dist/api/types/templates.js +1 -0
  438. package/dist/api/types/templates.js.map +1 -0
  439. package/dist/api/types/waitlist.d.ts +324 -0
  440. package/dist/api/types/waitlist.js +1 -0
  441. package/dist/api/types/waitlist.js.map +1 -0
  442. package/dist/api/types.d.ts +1 -0
  443. package/dist/api/types.js +1 -0
  444. package/dist/api/unserved-routes.d.ts +4 -0
  445. package/dist/api/unserved-routes.js +15 -0
  446. package/dist/api/unserved-routes.js.map +1 -0
  447. package/dist/api/waitlist.d.ts +80 -0
  448. package/dist/api/waitlist.js +85 -0
  449. package/dist/api/waitlist.js.map +1 -0
  450. package/dist/api.d.ts +1 -0
  451. package/dist/api.js +1 -0
  452. package/dist/app-name.d.ts +29 -0
  453. package/dist/app-name.js +11 -0
  454. package/dist/app-name.js.map +1 -0
  455. package/dist/arrival.d.ts +48 -0
  456. package/dist/arrival.js +34 -0
  457. package/dist/arrival.js.map +1 -0
  458. package/dist/auth-context.d.ts +90 -0
  459. package/dist/auth-context.js +732 -0
  460. package/dist/auth-context.js.map +1 -0
  461. package/dist/auth-session.d.ts +1 -0
  462. package/dist/auth-session.js +25 -0
  463. package/dist/auth-session.js.map +1 -0
  464. package/dist/bank-phone.d.ts +2 -0
  465. package/dist/bank-phone.js +12 -0
  466. package/dist/bank-phone.js.map +1 -0
  467. package/dist/behavior-config-types.d.ts +49 -0
  468. package/dist/behavior-config-types.js +1 -0
  469. package/dist/behavior-config-types.js.map +1 -0
  470. package/dist/behavior-context.d.ts +15 -0
  471. package/dist/behavior-context.js +38 -0
  472. package/dist/behavior-context.js.map +1 -0
  473. package/dist/behavior-fields.d.ts +41 -0
  474. package/dist/behavior-fields.js +20 -0
  475. package/dist/behavior-fields.js.map +1 -0
  476. package/dist/blog/__fixtures__/paste-hygiene.d.ts +7 -0
  477. package/dist/blog/__fixtures__/paste-hygiene.js +36 -0
  478. package/dist/blog/__fixtures__/paste-hygiene.js.map +1 -0
  479. package/dist/blog/density.d.ts +65 -0
  480. package/dist/blog/density.js +126 -0
  481. package/dist/blog/density.js.map +1 -0
  482. package/dist/blog/paste-hygiene.d.ts +3 -0
  483. package/dist/blog/paste-hygiene.js +168 -0
  484. package/dist/blog/paste-hygiene.js.map +1 -0
  485. package/dist/booking-location-label.d.ts +10 -0
  486. package/dist/booking-location-label.js +24 -0
  487. package/dist/booking-location-label.js.map +1 -0
  488. package/dist/booking-meeting-link.d.ts +48 -0
  489. package/dist/booking-meeting-link.js +40 -0
  490. package/dist/booking-meeting-link.js.map +1 -0
  491. package/dist/box-channels.d.ts +22 -0
  492. package/dist/box-channels.js +16 -0
  493. package/dist/box-channels.js.map +1 -0
  494. package/dist/box-delivery.d.ts +10 -0
  495. package/dist/box-delivery.js +5 -0
  496. package/dist/box-delivery.js.map +1 -0
  497. package/dist/box-inbox.d.ts +11 -0
  498. package/dist/box-inbox.js +5 -0
  499. package/dist/box-inbox.js.map +1 -0
  500. package/dist/box-letting.d.ts +14 -0
  501. package/dist/box-letting.js +7 -0
  502. package/dist/box-letting.js.map +1 -0
  503. package/dist/box-mark-paths.d.ts +28 -0
  504. package/dist/box-mark-paths.js +23 -0
  505. package/dist/box-mark-paths.js.map +1 -0
  506. package/dist/box-media.d.ts +9 -0
  507. package/dist/box-media.js +5 -0
  508. package/dist/box-media.js.map +1 -0
  509. package/dist/box-products.d.ts +16 -0
  510. package/dist/box-products.js +9 -0
  511. package/dist/box-products.js.map +1 -0
  512. package/dist/box-splits.d.ts +12 -0
  513. package/dist/box-splits.js +5 -0
  514. package/dist/box-splits.js.map +1 -0
  515. package/dist/brand.d.ts +26 -0
  516. package/dist/brand.js +22 -0
  517. package/dist/brand.js.map +1 -0
  518. package/dist/business-categories.d.ts +50 -0
  519. package/dist/business-categories.js +378 -0
  520. package/dist/business-categories.js.map +1 -0
  521. package/dist/business-intents.d.ts +31 -0
  522. package/dist/business-intents.js +142 -0
  523. package/dist/business-intents.js.map +1 -0
  524. package/dist/capability-context.d.ts +63 -0
  525. package/dist/capability-context.js +84 -0
  526. package/dist/capability-context.js.map +1 -0
  527. package/dist/carriers.d.ts +83 -0
  528. package/dist/carriers.js +124 -0
  529. package/dist/carriers.js.map +1 -0
  530. package/dist/commerce-build/api.d.ts +29 -0
  531. package/dist/commerce-build/api.js +152 -0
  532. package/dist/commerce-build/api.js.map +1 -0
  533. package/dist/commerce-build/contracts-profile.d.ts +83 -0
  534. package/dist/commerce-build/contracts-profile.js +1 -0
  535. package/dist/commerce-build/contracts-profile.js.map +1 -0
  536. package/dist/commerce-build/contracts-spec.d.ts +217 -0
  537. package/dist/commerce-build/contracts-spec.js +1 -0
  538. package/dist/commerce-build/contracts-spec.js.map +1 -0
  539. package/dist/commerce-build/contracts.d.ts +2 -0
  540. package/dist/commerce-build/contracts.js +1 -0
  541. package/dist/commerce-build/contracts.js.map +1 -0
  542. package/dist/commerce-build/launch-state.d.ts +20 -0
  543. package/dist/commerce-build/launch-state.js +72 -0
  544. package/dist/commerce-build/launch-state.js.map +1 -0
  545. package/dist/commerce-build/profile-utils.d.ts +5 -0
  546. package/dist/commerce-build/profile-utils.js +14 -0
  547. package/dist/commerce-build/profile-utils.js.map +1 -0
  548. package/dist/commerce-build/setup-flow.d.ts +10 -0
  549. package/dist/commerce-build/setup-flow.js +24 -0
  550. package/dist/commerce-build/setup-flow.js.map +1 -0
  551. package/dist/commerce-build/setup-session.d.ts +26 -0
  552. package/dist/commerce-build/setup-session.js +70 -0
  553. package/dist/commerce-build/setup-session.js.map +1 -0
  554. package/dist/commerce-build/turn-streaming.d.ts +21 -0
  555. package/dist/commerce-build/turn-streaming.js +113 -0
  556. package/dist/commerce-build/turn-streaming.js.map +1 -0
  557. package/dist/commerce-build/workspace-components.d.ts +23 -0
  558. package/dist/commerce-build/workspace-components.js +66 -0
  559. package/dist/commerce-build/workspace-components.js.map +1 -0
  560. package/dist/commerce-build/workspace-config.d.ts +7 -0
  561. package/dist/commerce-build/workspace-config.js +74 -0
  562. package/dist/commerce-build/workspace-config.js.map +1 -0
  563. package/dist/companion/config.d.ts +31 -0
  564. package/dist/companion/config.js +59 -0
  565. package/dist/companion/config.js.map +1 -0
  566. package/dist/connect/catalog.d.ts +32 -0
  567. package/dist/connect/catalog.js +268 -0
  568. package/dist/connect/catalog.js.map +1 -0
  569. package/dist/connect/fixtures/commands.d.ts +8 -0
  570. package/dist/connect/fixtures/commands.js +146 -0
  571. package/dist/connect/fixtures/commands.js.map +1 -0
  572. package/dist/connect/fixtures/connections.d.ts +21 -0
  573. package/dist/connect/fixtures/connections.js +370 -0
  574. package/dist/connect/fixtures/connections.js.map +1 -0
  575. package/dist/connect/fixtures/identities.d.ts +10 -0
  576. package/dist/connect/fixtures/identities.js +61 -0
  577. package/dist/connect/fixtures/identities.js.map +1 -0
  578. package/dist/connect/fixtures/index.d.ts +11 -0
  579. package/dist/connect/fixtures/index.js +11 -0
  580. package/dist/connect/fixtures/index.js.map +1 -0
  581. package/dist/connect/fixtures/usage.d.ts +2 -0
  582. package/dist/connect/fixtures/usage.js +21 -0
  583. package/dist/connect/fixtures/usage.js.map +1 -0
  584. package/dist/connect/fixtures.d.ts +1 -0
  585. package/dist/connect/fixtures.js +1 -0
  586. package/dist/connect/from-notifications.d.ts +3 -0
  587. package/dist/connect/from-notifications.js +78 -0
  588. package/dist/connect/from-notifications.js.map +1 -0
  589. package/dist/connect/identity.d.ts +67 -0
  590. package/dist/connect/identity.js +24 -0
  591. package/dist/connect/identity.js.map +1 -0
  592. package/dist/connect/index.d.ts +13 -0
  593. package/dist/connect/index.js +22 -0
  594. package/dist/connect/index.js.map +1 -0
  595. package/dist/connect/next-up.d.ts +18 -0
  596. package/dist/connect/next-up.js +45 -0
  597. package/dist/connect/next-up.js.map +1 -0
  598. package/dist/connect/types.d.ts +354 -0
  599. package/dist/connect/types.js +68 -0
  600. package/dist/connect/types.js.map +1 -0
  601. package/dist/connect/use-connect.d.ts +51 -0
  602. package/dist/connect/use-connect.js +85 -0
  603. package/dist/connect/use-connect.js.map +1 -0
  604. package/dist/connect.d.ts +1 -0
  605. package/dist/connect.js +1 -0
  606. package/dist/converted-tag.d.ts +7 -0
  607. package/dist/converted-tag.js +9 -0
  608. package/dist/converted-tag.js.map +1 -0
  609. package/dist/countries.d.ts +65 -0
  610. package/dist/countries.js +374 -0
  611. package/dist/countries.js.map +1 -0
  612. package/dist/country-regions.d.ts +12 -0
  613. package/dist/country-regions.js +36 -0
  614. package/dist/country-regions.js.map +1 -0
  615. package/dist/csv.d.ts +28 -0
  616. package/dist/csv.js +91 -0
  617. package/dist/csv.js.map +1 -0
  618. package/dist/currency.d.ts +5 -0
  619. package/dist/currency.js +25 -0
  620. package/dist/currency.js.map +1 -0
  621. package/dist/customer-helpers.d.ts +30 -0
  622. package/dist/customer-helpers.js +66 -0
  623. package/dist/customer-helpers.js.map +1 -0
  624. package/dist/customer-stage.d.ts +125 -0
  625. package/dist/customer-stage.js +113 -0
  626. package/dist/customer-stage.js.map +1 -0
  627. package/dist/dashboard-destinations.d.ts +5 -0
  628. package/dist/dashboard-destinations.js +29 -0
  629. package/dist/dashboard-destinations.js.map +1 -0
  630. package/dist/demo-content-mock.d.ts +22 -0
  631. package/dist/demo-content-mock.js +70 -0
  632. package/dist/demo-content-mock.js.map +1 -0
  633. package/dist/demo-content-poller.d.ts +33 -0
  634. package/dist/demo-content-poller.js +80 -0
  635. package/dist/demo-content-poller.js.map +1 -0
  636. package/dist/demo-content.d.ts +43 -0
  637. package/dist/demo-content.js +78 -0
  638. package/dist/demo-content.js.map +1 -0
  639. package/dist/describe-activity.d.ts +44 -0
  640. package/dist/describe-activity.js +16 -0
  641. package/dist/describe-activity.js.map +1 -0
  642. package/dist/describe-invite.d.ts +19 -0
  643. package/dist/describe-invite.js +46 -0
  644. package/dist/describe-invite.js.map +1 -0
  645. package/dist/design-schema.d.ts +76 -0
  646. package/dist/design-schema.js +47 -0
  647. package/dist/design-schema.js.map +1 -0
  648. package/dist/destination-alias.d.ts +43 -0
  649. package/dist/destination-alias.js +146 -0
  650. package/dist/destination-alias.js.map +1 -0
  651. package/dist/document-numbering.d.ts +40 -0
  652. package/dist/document-numbering.js +48 -0
  653. package/dist/document-numbering.js.map +1 -0
  654. package/dist/document-title.d.ts +22 -0
  655. package/dist/document-title.js +85 -0
  656. package/dist/document-title.js.map +1 -0
  657. package/dist/editor/row-ops.d.ts +39 -0
  658. package/dist/editor/row-ops.js +25 -0
  659. package/dist/editor/row-ops.js.map +1 -0
  660. package/dist/editor-agent/apply-proposal.d.ts +12 -0
  661. package/dist/editor-agent/apply-proposal.js +44 -0
  662. package/dist/editor-agent/apply-proposal.js.map +1 -0
  663. package/dist/editor-agent/contracts.d.ts +174 -0
  664. package/dist/editor-agent/contracts.js +1 -0
  665. package/dist/editor-agent/contracts.js.map +1 -0
  666. package/dist/editor-agent/converse.d.ts +34 -0
  667. package/dist/editor-agent/converse.js +141 -0
  668. package/dist/editor-agent/converse.js.map +1 -0
  669. package/dist/editor-agent/flag.d.ts +12 -0
  670. package/dist/editor-agent/flag.js +19 -0
  671. package/dist/editor-agent/flag.js.map +1 -0
  672. package/dist/editor-agent/template-document.d.ts +52 -0
  673. package/dist/editor-agent/template-document.js +50 -0
  674. package/dist/editor-agent/template-document.js.map +1 -0
  675. package/dist/editor-agent/use-converse.d.ts +30 -0
  676. package/dist/editor-agent/use-converse.js +130 -0
  677. package/dist/editor-agent/use-converse.js.map +1 -0
  678. package/dist/effective-module-labels.d.ts +17 -0
  679. package/dist/effective-module-labels.js +14 -0
  680. package/dist/effective-module-labels.js.map +1 -0
  681. package/dist/embedded-frame.d.ts +30 -0
  682. package/dist/embedded-frame.js +23 -0
  683. package/dist/embedded-frame.js.map +1 -0
  684. package/dist/empty-state-copy.d.ts +27 -0
  685. package/dist/empty-state-copy.js +167 -0
  686. package/dist/empty-state-copy.js.map +1 -0
  687. package/dist/end-session.d.ts +23 -0
  688. package/dist/end-session.js +30 -0
  689. package/dist/end-session.js.map +1 -0
  690. package/dist/file-intake.d.ts +65 -0
  691. package/dist/file-intake.js +162 -0
  692. package/dist/file-intake.js.map +1 -0
  693. package/dist/first-run.d.ts +5 -0
  694. package/dist/first-run.js +13 -0
  695. package/dist/first-run.js.map +1 -0
  696. package/dist/form-answers.d.ts +57 -0
  697. package/dist/form-answers.js +79 -0
  698. package/dist/form-answers.js.map +1 -0
  699. package/dist/form-draft.d.ts +30 -0
  700. package/dist/form-draft.js +73 -0
  701. package/dist/form-draft.js.map +1 -0
  702. package/dist/format.d.ts +29 -0
  703. package/dist/format.js +21 -0
  704. package/dist/format.js.map +1 -0
  705. package/dist/fulfilment-nav.d.ts +79 -0
  706. package/dist/fulfilment-nav.js +18 -0
  707. package/dist/fulfilment-nav.js.map +1 -0
  708. package/dist/go-live-gate.d.ts +55 -0
  709. package/dist/go-live-gate.js +17 -0
  710. package/dist/go-live-gate.js.map +1 -0
  711. package/dist/group-activity.d.ts +37 -0
  712. package/dist/group-activity.js +43 -0
  713. package/dist/group-activity.js.map +1 -0
  714. package/dist/haptic.d.ts +5 -0
  715. package/dist/haptic.js +16 -0
  716. package/dist/haptic.js.map +1 -0
  717. package/dist/help-topics.d.ts +77 -0
  718. package/dist/help-topics.js +308 -0
  719. package/dist/help-topics.js.map +1 -0
  720. package/dist/icon-resolver.d.ts +45 -0
  721. package/dist/icon-resolver.js +40 -0
  722. package/dist/icon-resolver.js.map +1 -0
  723. package/dist/icons/commerce.d.ts +9 -0
  724. package/dist/icons/commerce.js +168 -0
  725. package/dist/icons/commerce.js.map +1 -0
  726. package/dist/icons/core.d.ts +9 -0
  727. package/dist/icons/core.js +173 -0
  728. package/dist/icons/core.js.map +1 -0
  729. package/dist/icons/making.d.ts +9 -0
  730. package/dist/icons/making.js +209 -0
  731. package/dist/icons/making.js.map +1 -0
  732. package/dist/icons/places.d.ts +9 -0
  733. package/dist/icons/places.js +232 -0
  734. package/dist/icons/places.js.map +1 -0
  735. package/dist/icons/world.d.ts +9 -0
  736. package/dist/icons/world.js +87 -0
  737. package/dist/icons/world.js.map +1 -0
  738. package/dist/index.d.ts +9 -0
  739. package/dist/index.js +2 -0
  740. package/dist/index.js.map +1 -0
  741. package/dist/industry-configs/beauty.d.ts +2 -0
  742. package/dist/industry-configs/beauty.js +152 -0
  743. package/dist/industry-configs/beauty.js.map +1 -0
  744. package/dist/industry-configs/creative.d.ts +2 -0
  745. package/dist/industry-configs/creative.js +131 -0
  746. package/dist/industry-configs/creative.js.map +1 -0
  747. package/dist/industry-configs/default.d.ts +2 -0
  748. package/dist/industry-configs/default.js +77 -0
  749. package/dist/industry-configs/default.js.map +1 -0
  750. package/dist/industry-configs/education.d.ts +2 -0
  751. package/dist/industry-configs/education.js +137 -0
  752. package/dist/industry-configs/education.js.map +1 -0
  753. package/dist/industry-configs/events.d.ts +2 -0
  754. package/dist/industry-configs/events.js +118 -0
  755. package/dist/industry-configs/events.js.map +1 -0
  756. package/dist/industry-configs/fashion.d.ts +2 -0
  757. package/dist/industry-configs/fashion.js +128 -0
  758. package/dist/industry-configs/fashion.js.map +1 -0
  759. package/dist/industry-configs/fitness.d.ts +2 -0
  760. package/dist/industry-configs/fitness.js +128 -0
  761. package/dist/industry-configs/fitness.js.map +1 -0
  762. package/dist/industry-configs/food.d.ts +2 -0
  763. package/dist/industry-configs/food.js +138 -0
  764. package/dist/industry-configs/food.js.map +1 -0
  765. package/dist/industry-configs/hospitality.d.ts +2 -0
  766. package/dist/industry-configs/hospitality.js +157 -0
  767. package/dist/industry-configs/hospitality.js.map +1 -0
  768. package/dist/industry-configs/index.d.ts +25 -0
  769. package/dist/industry-configs/index.js +77 -0
  770. package/dist/industry-configs/index.js.map +1 -0
  771. package/dist/industry-configs/professional.d.ts +2 -0
  772. package/dist/industry-configs/professional.js +129 -0
  773. package/dist/industry-configs/professional.js.map +1 -0
  774. package/dist/industry-configs/realestate.d.ts +2 -0
  775. package/dist/industry-configs/realestate.js +146 -0
  776. package/dist/industry-configs/realestate.js.map +1 -0
  777. package/dist/industry-configs/retail.d.ts +2 -0
  778. package/dist/industry-configs/retail.js +108 -0
  779. package/dist/industry-configs/retail.js.map +1 -0
  780. package/dist/industry-configs/services.d.ts +2 -0
  781. package/dist/industry-configs/services.js +120 -0
  782. package/dist/industry-configs/services.js.map +1 -0
  783. package/dist/industry-configs/technology.d.ts +2 -0
  784. package/dist/industry-configs/technology.js +120 -0
  785. package/dist/industry-configs/technology.js.map +1 -0
  786. package/dist/industry-configs/types.d.ts +99 -0
  787. package/dist/industry-configs/types.js +1 -0
  788. package/dist/industry-configs/types.js.map +1 -0
  789. package/dist/industry-configs/wellness.d.ts +2 -0
  790. package/dist/industry-configs/wellness.js +112 -0
  791. package/dist/industry-configs/wellness.js.map +1 -0
  792. package/dist/industry-configs.d.ts +1 -0
  793. package/dist/industry-configs.js +1 -0
  794. package/dist/intents/analytics-labels.d.ts +70 -0
  795. package/dist/intents/analytics-labels.js +39 -0
  796. package/dist/intents/analytics-labels.js.map +1 -0
  797. package/dist/intents/archetype-flow.d.ts +146 -0
  798. package/dist/intents/archetype-flow.js +185 -0
  799. package/dist/intents/archetype-flow.js.map +1 -0
  800. package/dist/intents/booking-query-style.d.ts +32 -0
  801. package/dist/intents/booking-query-style.js +22 -0
  802. package/dist/intents/booking-query-style.js.map +1 -0
  803. package/dist/intents/capture-leads.config.d.ts +31 -0
  804. package/dist/intents/capture-leads.config.js +231 -0
  805. package/dist/intents/capture-leads.config.js.map +1 -0
  806. package/dist/intents/catalog-stock.d.ts +43 -0
  807. package/dist/intents/catalog-stock.js +43 -0
  808. package/dist/intents/catalog-stock.js.map +1 -0
  809. package/dist/intents/collapse-shared-nav.d.ts +95 -0
  810. package/dist/intents/collapse-shared-nav.js +171 -0
  811. package/dist/intents/collapse-shared-nav.js.map +1 -0
  812. package/dist/intents/default-commerce.config.d.ts +6 -0
  813. package/dist/intents/default-commerce.config.js +281 -0
  814. package/dist/intents/default-commerce.config.js.map +1 -0
  815. package/dist/intents/digital-products.config.d.ts +2 -0
  816. package/dist/intents/digital-products.config.js +239 -0
  817. package/dist/intents/digital-products.config.js.map +1 -0
  818. package/dist/intents/dine-in.config.d.ts +15 -0
  819. package/dist/intents/dine-in.config.js +331 -0
  820. package/dist/intents/dine-in.config.js.map +1 -0
  821. package/dist/intents/event-tickets.config.d.ts +2 -0
  822. package/dist/intents/event-tickets.config.js +368 -0
  823. package/dist/intents/event-tickets.config.js.map +1 -0
  824. package/dist/intents/food-orders.config.d.ts +2 -0
  825. package/dist/intents/food-orders.config.js +299 -0
  826. package/dist/intents/food-orders.config.js.map +1 -0
  827. package/dist/intents/icon-map.d.ts +15 -0
  828. package/dist/intents/icon-map.js +104 -0
  829. package/dist/intents/icon-map.js.map +1 -0
  830. package/dist/intents/index.d.ts +12 -0
  831. package/dist/intents/index.js +50 -0
  832. package/dist/intents/index.js.map +1 -0
  833. package/dist/intents/infer-intents.d.ts +10 -0
  834. package/dist/intents/infer-intents.js +23 -0
  835. package/dist/intents/infer-intents.js.map +1 -0
  836. package/dist/intents/intent-chips.d.ts +47 -0
  837. package/dist/intents/intent-chips.js +38 -0
  838. package/dist/intents/intent-chips.js.map +1 -0
  839. package/dist/intents/intent-nav.d.ts +95 -0
  840. package/dist/intents/intent-nav.js +423 -0
  841. package/dist/intents/intent-nav.js.map +1 -0
  842. package/dist/intents/intent-scope.d.ts +52 -0
  843. package/dist/intents/intent-scope.js +19 -0
  844. package/dist/intents/intent-scope.js.map +1 -0
  845. package/dist/intents/nav-coverage.d.ts +71 -0
  846. package/dist/intents/nav-coverage.js +132 -0
  847. package/dist/intents/nav-coverage.js.map +1 -0
  848. package/dist/intents/operating-shell.d.ts +45 -0
  849. package/dist/intents/operating-shell.js +142 -0
  850. package/dist/intents/operating-shell.js.map +1 -0
  851. package/dist/intents/order-display.d.ts +21 -0
  852. package/dist/intents/order-display.js +110 -0
  853. package/dist/intents/order-display.js.map +1 -0
  854. package/dist/intents/order-intent.d.ts +18 -0
  855. package/dist/intents/order-intent.js +14 -0
  856. package/dist/intents/order-intent.js.map +1 -0
  857. package/dist/intents/order-progress.d.ts +81 -0
  858. package/dist/intents/order-progress.js +91 -0
  859. package/dist/intents/order-progress.js.map +1 -0
  860. package/dist/intents/order-sections.d.ts +173 -0
  861. package/dist/intents/order-sections.js +188 -0
  862. package/dist/intents/order-sections.js.map +1 -0
  863. package/dist/intents/order-stats.d.ts +24 -0
  864. package/dist/intents/order-stats.js +16 -0
  865. package/dist/intents/order-stats.js.map +1 -0
  866. package/dist/intents/order-transitions.d.ts +19 -0
  867. package/dist/intents/order-transitions.js +66 -0
  868. package/dist/intents/order-transitions.js.map +1 -0
  869. package/dist/intents/product-editor-config.d.ts +23 -0
  870. package/dist/intents/product-editor-config.js +13 -0
  871. package/dist/intents/product-editor-config.js.map +1 -0
  872. package/dist/intents/product-intent.d.ts +38 -0
  873. package/dist/intents/product-intent.js +19 -0
  874. package/dist/intents/product-intent.js.map +1 -0
  875. package/dist/intents/registry.d.ts +32 -0
  876. package/dist/intents/registry.js +41 -0
  877. package/dist/intents/registry.js.map +1 -0
  878. package/dist/intents/rent-property.config.d.ts +2 -0
  879. package/dist/intents/rent-property.config.js +284 -0
  880. package/dist/intents/rent-property.config.js.map +1 -0
  881. package/dist/intents/resolve-stats.d.ts +7 -0
  882. package/dist/intents/resolve-stats.js +29 -0
  883. package/dist/intents/resolve-stats.js.map +1 -0
  884. package/dist/intents/resolve-tenant-intents.d.ts +11 -0
  885. package/dist/intents/resolve-tenant-intents.js +61 -0
  886. package/dist/intents/resolve-tenant-intents.js.map +1 -0
  887. package/dist/intents/resolvers.d.ts +52 -0
  888. package/dist/intents/resolvers.js +177 -0
  889. package/dist/intents/resolvers.js.map +1 -0
  890. package/dist/intents/row-identity.d.ts +62 -0
  891. package/dist/intents/row-identity.js +25 -0
  892. package/dist/intents/row-identity.js.map +1 -0
  893. package/dist/intents/sales-verb.d.ts +8 -0
  894. package/dist/intents/sales-verb.js +12 -0
  895. package/dist/intents/sales-verb.js.map +1 -0
  896. package/dist/intents/scoped-config.d.ts +12 -0
  897. package/dist/intents/scoped-config.js +17 -0
  898. package/dist/intents/scoped-config.js.map +1 -0
  899. package/dist/intents/screen-title.d.ts +27 -0
  900. package/dist/intents/screen-title.js +59 -0
  901. package/dist/intents/screen-title.js.map +1 -0
  902. package/dist/intents/section-registry.d.ts +48 -0
  903. package/dist/intents/section-registry.js +33 -0
  904. package/dist/intents/section-registry.js.map +1 -0
  905. package/dist/intents/sell-products.config.d.ts +2 -0
  906. package/dist/intents/sell-products.config.js +275 -0
  907. package/dist/intents/sell-products.config.js.map +1 -0
  908. package/dist/intents/send-invoices.config.d.ts +16 -0
  909. package/dist/intents/send-invoices.config.js +223 -0
  910. package/dist/intents/send-invoices.config.js.map +1 -0
  911. package/dist/intents/subscriptions.config.d.ts +2 -0
  912. package/dist/intents/subscriptions.config.js +260 -0
  913. package/dist/intents/subscriptions.config.js.map +1 -0
  914. package/dist/intents/take-bookings.config.d.ts +2 -0
  915. package/dist/intents/take-bookings.config.js +298 -0
  916. package/dist/intents/take-bookings.config.js.map +1 -0
  917. package/dist/intents/types.d.ts +246 -0
  918. package/dist/intents/types.js +1 -0
  919. package/dist/intents/types.js.map +1 -0
  920. package/dist/intents/use-active-intent.d.ts +27 -0
  921. package/dist/intents/use-active-intent.js +74 -0
  922. package/dist/intents/use-active-intent.js.map +1 -0
  923. package/dist/intents/use-destination-label.d.ts +18 -0
  924. package/dist/intents/use-destination-label.js +45 -0
  925. package/dist/intents/use-destination-label.js.map +1 -0
  926. package/dist/intents/use-entity-label.d.ts +32 -0
  927. package/dist/intents/use-entity-label.js +75 -0
  928. package/dist/intents/use-entity-label.js.map +1 -0
  929. package/dist/intents/use-intent-config.d.ts +20 -0
  930. package/dist/intents/use-intent-config.js +91 -0
  931. package/dist/intents/use-intent-config.js.map +1 -0
  932. package/dist/intents/use-intent-nav-rows.d.ts +26 -0
  933. package/dist/intents/use-intent-nav-rows.js +49 -0
  934. package/dist/intents/use-intent-nav-rows.js.map +1 -0
  935. package/dist/intents/use-resource-label.d.ts +10 -0
  936. package/dist/intents/use-resource-label.js +9 -0
  937. package/dist/intents/use-resource-label.js.map +1 -0
  938. package/dist/intents/use-row-noun.d.ts +19 -0
  939. package/dist/intents/use-row-noun.js +13 -0
  940. package/dist/intents/use-row-noun.js.map +1 -0
  941. package/dist/intents/use-screen-title.d.ts +9 -0
  942. package/dist/intents/use-screen-title.js +25 -0
  943. package/dist/intents/use-screen-title.js.map +1 -0
  944. package/dist/intents/what-it-adds.d.ts +70 -0
  945. package/dist/intents/what-it-adds.js +29 -0
  946. package/dist/intents/what-it-adds.js.map +1 -0
  947. package/dist/intents/workflow-shape.d.ts +66 -0
  948. package/dist/intents/workflow-shape.js +151 -0
  949. package/dist/intents/workflow-shape.js.map +1 -0
  950. package/dist/intents.d.ts +1 -0
  951. package/dist/intents.js +1 -0
  952. package/dist/invite-refusal.d.ts +37 -0
  953. package/dist/invite-refusal.js +26 -0
  954. package/dist/invite-refusal.js.map +1 -0
  955. package/dist/invoice-brand.d.ts +28 -0
  956. package/dist/invoice-brand.js +33 -0
  957. package/dist/invoice-brand.js.map +1 -0
  958. package/dist/ios-navigation-context.d.ts +11 -0
  959. package/dist/ios-navigation-context.js +52 -0
  960. package/dist/ios-navigation-context.js.map +1 -0
  961. package/dist/legal-links.d.ts +10 -0
  962. package/dist/legal-links.js +7 -0
  963. package/dist/legal-links.js.map +1 -0
  964. package/dist/letting-policy.d.ts +85 -0
  965. package/dist/letting-policy.js +47 -0
  966. package/dist/letting-policy.js.map +1 -0
  967. package/dist/list-page-size.d.ts +24 -0
  968. package/dist/list-page-size.js +5 -0
  969. package/dist/list-page-size.js.map +1 -0
  970. package/dist/live-events/sse-frames.d.ts +15 -0
  971. package/dist/live-events/sse-frames.js +37 -0
  972. package/dist/live-events/sse-frames.js.map +1 -0
  973. package/dist/location-options.d.ts +16 -0
  974. package/dist/location-options.js +94 -0
  975. package/dist/location-options.js.map +1 -0
  976. package/dist/location-scope-context.d.ts +47 -0
  977. package/dist/location-scope-context.js +85 -0
  978. package/dist/location-scope-context.js.map +1 -0
  979. package/dist/media-service.d.ts +97 -0
  980. package/dist/media-service.js +282 -0
  981. package/dist/media-service.js.map +1 -0
  982. package/dist/media-utils.d.ts +51 -0
  983. package/dist/media-utils.js +85 -0
  984. package/dist/media-utils.js.map +1 -0
  985. package/dist/member-presence.d.ts +40 -0
  986. package/dist/member-presence.js +77 -0
  987. package/dist/member-presence.js.map +1 -0
  988. package/dist/member-subscription-enrollment.d.ts +16 -0
  989. package/dist/member-subscription-enrollment.js +32 -0
  990. package/dist/member-subscription-enrollment.js.map +1 -0
  991. package/dist/membership-freshness.d.ts +31 -0
  992. package/dist/membership-freshness.js +21 -0
  993. package/dist/membership-freshness.js.map +1 -0
  994. package/dist/mobile-header-context.d.ts +32 -0
  995. package/dist/mobile-header-context.js +59 -0
  996. package/dist/mobile-header-context.js.map +1 -0
  997. package/dist/mobile-routes.d.ts +81 -0
  998. package/dist/mobile-routes.js +406 -0
  999. package/dist/mobile-routes.js.map +1 -0
  1000. package/dist/mobile-tab-config.d.ts +18 -0
  1001. package/dist/mobile-tab-config.js +43 -0
  1002. package/dist/mobile-tab-config.js.map +1 -0
  1003. package/dist/money-coming-soon.d.ts +16 -0
  1004. package/dist/money-coming-soon.js +22 -0
  1005. package/dist/money-coming-soon.js.map +1 -0
  1006. package/dist/money-minor.d.ts +17 -0
  1007. package/dist/money-minor.js +53 -0
  1008. package/dist/money-minor.js.map +1 -0
  1009. package/dist/money-visibility.d.ts +38 -0
  1010. package/dist/money-visibility.js +13 -0
  1011. package/dist/money-visibility.js.map +1 -0
  1012. package/dist/motion.d.ts +160 -0
  1013. package/dist/motion.js +130 -0
  1014. package/dist/motion.js.map +1 -0
  1015. package/dist/nav-pending.d.ts +42 -0
  1016. package/dist/nav-pending.js +84 -0
  1017. package/dist/nav-pending.js.map +1 -0
  1018. package/dist/navigation-groups.d.ts +52 -0
  1019. package/dist/navigation-groups.js +64 -0
  1020. package/dist/navigation-groups.js.map +1 -0
  1021. package/dist/onboarding-draft.d.ts +23 -0
  1022. package/dist/onboarding-draft.js +35 -0
  1023. package/dist/onboarding-draft.js.map +1 -0
  1024. package/dist/operating-model/index.d.ts +4 -0
  1025. package/dist/operating-model/index.js +13 -0
  1026. package/dist/operating-model/index.js.map +1 -0
  1027. package/dist/operating-model/order-display.d.ts +10 -0
  1028. package/dist/operating-model/order-display.js +24 -0
  1029. package/dist/operating-model/order-display.js.map +1 -0
  1030. package/dist/operating-model/resolver.d.ts +9 -0
  1031. package/dist/operating-model/resolver.js +110 -0
  1032. package/dist/operating-model/resolver.js.map +1 -0
  1033. package/dist/operating-model/types.d.ts +36 -0
  1034. package/dist/operating-model/types.js +1 -0
  1035. package/dist/operating-model/types.js.map +1 -0
  1036. package/dist/operating-model/use-operating-model.d.ts +7 -0
  1037. package/dist/operating-model/use-operating-model.js +65 -0
  1038. package/dist/operating-model/use-operating-model.js.map +1 -0
  1039. package/dist/operating-model.d.ts +1 -0
  1040. package/dist/operating-model.js +1 -0
  1041. package/dist/order-config.d.ts +30 -0
  1042. package/dist/order-config.js +56 -0
  1043. package/dist/order-config.js.map +1 -0
  1044. package/dist/order-discounts.d.ts +25 -0
  1045. package/dist/order-discounts.js +27 -0
  1046. package/dist/order-discounts.js.map +1 -0
  1047. package/dist/order-shipping.d.ts +33 -0
  1048. package/dist/order-shipping.js +49 -0
  1049. package/dist/order-shipping.js.map +1 -0
  1050. package/dist/order-tax.d.ts +28 -0
  1051. package/dist/order-tax.js +21 -0
  1052. package/dist/order-tax.js.map +1 -0
  1053. package/dist/page-intros.d.ts +78 -0
  1054. package/dist/page-intros.js +164 -0
  1055. package/dist/page-intros.js.map +1 -0
  1056. package/dist/page-transition.d.ts +20 -0
  1057. package/dist/page-transition.js +19 -0
  1058. package/dist/page-transition.js.map +1 -0
  1059. package/dist/pages-api-response.d.ts +8 -0
  1060. package/dist/pages-api-response.js +18 -0
  1061. package/dist/pages-api-response.js.map +1 -0
  1062. package/dist/payment-method-label.d.ts +6 -0
  1063. package/dist/payment-method-label.js +14 -0
  1064. package/dist/payment-method-label.js.map +1 -0
  1065. package/dist/permission-aliases.d.ts +18 -0
  1066. package/dist/permission-aliases.js +20 -0
  1067. package/dist/permission-aliases.js.map +1 -0
  1068. package/dist/permission-catalog-fallback.d.ts +17 -0
  1069. package/dist/permission-catalog-fallback.js +147 -0
  1070. package/dist/permission-catalog-fallback.js.map +1 -0
  1071. package/dist/permission-change.d.ts +42 -0
  1072. package/dist/permission-change.js +33 -0
  1073. package/dist/permission-change.js.map +1 -0
  1074. package/dist/phone.d.ts +16 -0
  1075. package/dist/phone.js +20 -0
  1076. package/dist/phone.js.map +1 -0
  1077. package/dist/plan-access.d.ts +39 -0
  1078. package/dist/plan-access.js +57 -0
  1079. package/dist/plan-access.js.map +1 -0
  1080. package/dist/plan-card-api.d.ts +34 -0
  1081. package/dist/plan-card-api.js +30 -0
  1082. package/dist/plan-card-api.js.map +1 -0
  1083. package/dist/plan-price.d.ts +34 -0
  1084. package/dist/plan-price.js +57 -0
  1085. package/dist/plan-price.js.map +1 -0
  1086. package/dist/post-login-target.d.ts +24 -0
  1087. package/dist/post-login-target.js +12 -0
  1088. package/dist/post-login-target.js.map +1 -0
  1089. package/dist/potter-mark-paths.d.ts +21 -0
  1090. package/dist/potter-mark-paths.js +9 -0
  1091. package/dist/potter-mark-paths.js.map +1 -0
  1092. package/dist/pricing-plans-types.d.ts +143 -0
  1093. package/dist/pricing-plans-types.js +1 -0
  1094. package/dist/pricing-plans-types.js.map +1 -0
  1095. package/dist/product-assignees.d.ts +1 -0
  1096. package/dist/product-assignees.js +18 -0
  1097. package/dist/product-assignees.js.map +1 -0
  1098. package/dist/product-collection-sync.d.ts +12 -0
  1099. package/dist/product-collection-sync.js +97 -0
  1100. package/dist/product-collection-sync.js.map +1 -0
  1101. package/dist/product-cost.d.ts +12 -0
  1102. package/dist/product-cost.js +24 -0
  1103. package/dist/product-cost.js.map +1 -0
  1104. package/dist/product-insights-api.d.ts +38 -0
  1105. package/dist/product-insights-api.js +51 -0
  1106. package/dist/product-insights-api.js.map +1 -0
  1107. package/dist/product-types.d.ts +311 -0
  1108. package/dist/product-types.js +38 -0
  1109. package/dist/product-types.js.map +1 -0
  1110. package/dist/promised-day.d.ts +33 -0
  1111. package/dist/promised-day.js +38 -0
  1112. package/dist/promised-day.js.map +1 -0
  1113. package/dist/proposals-api.d.ts +96 -0
  1114. package/dist/proposals-api.js +41 -0
  1115. package/dist/proposals-api.js.map +1 -0
  1116. package/dist/proxy-allowlist.d.ts +15 -0
  1117. package/dist/proxy-allowlist.js +153 -0
  1118. package/dist/proxy-allowlist.js.map +1 -0
  1119. package/dist/public-config-loader.d.ts +27 -0
  1120. package/dist/public-config-loader.js +12 -0
  1121. package/dist/public-config-loader.js.map +1 -0
  1122. package/dist/public-config-provider.d.ts +16 -0
  1123. package/dist/public-config-provider.js +14 -0
  1124. package/dist/public-config-provider.js.map +1 -0
  1125. package/dist/resolve-enabled-behaviors.d.ts +55 -0
  1126. package/dist/resolve-enabled-behaviors.js +134 -0
  1127. package/dist/resolve-enabled-behaviors.js.map +1 -0
  1128. package/dist/resource-types.d.ts +198 -0
  1129. package/dist/resource-types.js +96 -0
  1130. package/dist/resource-types.js.map +1 -0
  1131. package/dist/resume-screen.d.ts +31 -0
  1132. package/dist/resume-screen.js +25 -0
  1133. package/dist/resume-screen.js.map +1 -0
  1134. package/dist/rider-display.d.ts +37 -0
  1135. package/dist/rider-display.js +110 -0
  1136. package/dist/rider-display.js.map +1 -0
  1137. package/dist/rider-view.d.ts +37 -0
  1138. package/dist/rider-view.js +47 -0
  1139. package/dist/rider-view.js.map +1 -0
  1140. package/dist/roster-label.d.ts +27 -0
  1141. package/dist/roster-label.js +8 -0
  1142. package/dist/roster-label.js.map +1 -0
  1143. package/dist/route-pattern.d.ts +11 -0
  1144. package/dist/route-pattern.js +20 -0
  1145. package/dist/route-pattern.js.map +1 -0
  1146. package/dist/route-permission.d.ts +60 -0
  1147. package/dist/route-permission.js +48 -0
  1148. package/dist/route-permission.js.map +1 -0
  1149. package/dist/runtime-config.d.ts +33 -0
  1150. package/dist/runtime-config.js +23 -0
  1151. package/dist/runtime-config.js.map +1 -0
  1152. package/dist/schema-validation.d.ts +172 -0
  1153. package/dist/schema-validation.js +252 -0
  1154. package/dist/schema-validation.js.map +1 -0
  1155. package/dist/service-areas.d.ts +30 -0
  1156. package/dist/service-areas.js +24 -0
  1157. package/dist/service-areas.js.map +1 -0
  1158. package/dist/service-operations-api.d.ts +78 -0
  1159. package/dist/service-operations-api.js +37 -0
  1160. package/dist/service-operations-api.js.map +1 -0
  1161. package/dist/settings-relevance.d.ts +64 -0
  1162. package/dist/settings-relevance.js +25 -0
  1163. package/dist/settings-relevance.js.map +1 -0
  1164. package/dist/singularise.d.ts +16 -0
  1165. package/dist/singularise.js +37 -0
  1166. package/dist/singularise.js.map +1 -0
  1167. package/dist/site-address.d.ts +14 -0
  1168. package/dist/site-address.js +28 -0
  1169. package/dist/site-address.js.map +1 -0
  1170. package/dist/slug.d.ts +26 -0
  1171. package/dist/slug.js +15 -0
  1172. package/dist/slug.js.map +1 -0
  1173. package/dist/sound.d.ts +14 -0
  1174. package/dist/sound.js +166 -0
  1175. package/dist/sound.js.map +1 -0
  1176. package/dist/staff-arrival.d.ts +3 -0
  1177. package/dist/staff-arrival.js +11 -0
  1178. package/dist/staff-arrival.js.map +1 -0
  1179. package/dist/staff-home.d.ts +58 -0
  1180. package/dist/staff-home.js +90 -0
  1181. package/dist/staff-home.js.map +1 -0
  1182. package/dist/staff-landing.d.ts +1 -0
  1183. package/dist/staff-landing.js +15 -0
  1184. package/dist/staff-landing.js.map +1 -0
  1185. package/dist/stat-card-types.d.ts +19 -0
  1186. package/dist/stat-card-types.js +1 -0
  1187. package/dist/stat-card-types.js.map +1 -0
  1188. package/dist/stock-levels.d.ts +32 -0
  1189. package/dist/stock-levels.js +17 -0
  1190. package/dist/stock-levels.js.map +1 -0
  1191. package/dist/stored-token.d.ts +1 -0
  1192. package/dist/stored-token.js +11 -0
  1193. package/dist/stored-token.js.map +1 -0
  1194. package/dist/storefront-url.d.ts +31 -0
  1195. package/dist/storefront-url.js +40 -0
  1196. package/dist/storefront-url.js.map +1 -0
  1197. package/dist/storefront.d.ts +64 -0
  1198. package/dist/storefront.js +51 -0
  1199. package/dist/storefront.js.map +1 -0
  1200. package/dist/subscription-billing-api.d.ts +115 -0
  1201. package/dist/subscription-billing-api.js +27 -0
  1202. package/dist/subscription-billing-api.js.map +1 -0
  1203. package/dist/subscription-billing-model.d.ts +26 -0
  1204. package/dist/subscription-billing-model.js +58 -0
  1205. package/dist/subscription-billing-model.js.map +1 -0
  1206. package/dist/support-case-subject.d.ts +10 -0
  1207. package/dist/support-case-subject.js +13 -0
  1208. package/dist/support-case-subject.js.map +1 -0
  1209. package/dist/support-inbox.d.ts +6 -0
  1210. package/dist/support-inbox.js +5 -0
  1211. package/dist/support-inbox.js.map +1 -0
  1212. package/dist/support.d.ts +7 -0
  1213. package/dist/support.js +16 -0
  1214. package/dist/support.js.map +1 -0
  1215. package/dist/team-page.d.ts +9 -0
  1216. package/dist/team-page.js +5 -0
  1217. package/dist/team-page.js.map +1 -0
  1218. package/dist/team-roles.d.ts +140 -0
  1219. package/dist/team-roles.js +247 -0
  1220. package/dist/team-roles.js.map +1 -0
  1221. package/dist/team-successors.d.ts +20 -0
  1222. package/dist/team-successors.js +13 -0
  1223. package/dist/team-successors.js.map +1 -0
  1224. package/dist/template-asset-url.d.ts +11 -0
  1225. package/dist/template-asset-url.js +8 -0
  1226. package/dist/template-asset-url.js.map +1 -0
  1227. package/dist/template-capabilities.d.ts +2 -0
  1228. package/dist/template-capabilities.js +71 -0
  1229. package/dist/template-capabilities.js.map +1 -0
  1230. package/dist/template-context.d.ts +111 -0
  1231. package/dist/template-context.js +1278 -0
  1232. package/dist/template-context.js.map +1 -0
  1233. package/dist/template-filter.d.ts +29 -0
  1234. package/dist/template-filter.js +41 -0
  1235. package/dist/template-filter.js.map +1 -0
  1236. package/dist/template-preview/preview-author-patch.d.ts +24 -0
  1237. package/dist/template-preview/preview-author-patch.js +78 -0
  1238. package/dist/template-preview/preview-author-patch.js.map +1 -0
  1239. package/dist/template-preview/use-template-document.d.ts +38 -0
  1240. package/dist/template-preview/use-template-document.js +45 -0
  1241. package/dist/template-preview/use-template-document.js.map +1 -0
  1242. package/dist/template-requirements.d.ts +38 -0
  1243. package/dist/template-requirements.js +13 -0
  1244. package/dist/template-requirements.js.map +1 -0
  1245. package/dist/template-types.d.ts +317 -0
  1246. package/dist/template-types.js +1 -0
  1247. package/dist/template-types.js.map +1 -0
  1248. package/dist/templates.d.ts +22 -0
  1249. package/dist/templates.js +1 -0
  1250. package/dist/templates.js.map +1 -0
  1251. package/dist/theme-context.d.ts +58 -0
  1252. package/dist/theme-context.js +283 -0
  1253. package/dist/theme-context.js.map +1 -0
  1254. package/dist/theme-policy.d.ts +41 -0
  1255. package/dist/theme-policy.js +32 -0
  1256. package/dist/theme-policy.js.map +1 -0
  1257. package/dist/ticket-access.d.ts +20 -0
  1258. package/dist/ticket-access.js +39 -0
  1259. package/dist/ticket-access.js.map +1 -0
  1260. package/dist/timeline-copy.d.ts +65 -0
  1261. package/dist/timeline-copy.js +150 -0
  1262. package/dist/timeline-copy.js.map +1 -0
  1263. package/dist/url-params.d.ts +23 -0
  1264. package/dist/url-params.js +43 -0
  1265. package/dist/url-params.js.map +1 -0
  1266. package/dist/use-behaviors.d.ts +13 -0
  1267. package/dist/use-behaviors.js +41 -0
  1268. package/dist/use-behaviors.js.map +1 -0
  1269. package/dist/use-business-locations.d.ts +35 -0
  1270. package/dist/use-business-locations.js +71 -0
  1271. package/dist/use-business-locations.js.map +1 -0
  1272. package/dist/use-currency.d.ts +12 -0
  1273. package/dist/use-currency.js +16 -0
  1274. package/dist/use-currency.js.map +1 -0
  1275. package/dist/use-empty-state-copy.d.ts +12 -0
  1276. package/dist/use-empty-state-copy.js +13 -0
  1277. package/dist/use-empty-state-copy.js.map +1 -0
  1278. package/dist/use-geo-cities.d.ts +1 -0
  1279. package/dist/use-geo-cities.js +42 -0
  1280. package/dist/use-geo-cities.js.map +1 -0
  1281. package/dist/use-has-hardware.d.ts +13 -0
  1282. package/dist/use-has-hardware.js +14 -0
  1283. package/dist/use-has-hardware.js.map +1 -0
  1284. package/dist/use-industry-key.d.ts +10 -0
  1285. package/dist/use-industry-key.js +16 -0
  1286. package/dist/use-industry-key.js.map +1 -0
  1287. package/dist/use-item-links.d.ts +20 -0
  1288. package/dist/use-item-links.js +30 -0
  1289. package/dist/use-item-links.js.map +1 -0
  1290. package/dist/use-job-roles.d.ts +21 -0
  1291. package/dist/use-job-roles.js +76 -0
  1292. package/dist/use-job-roles.js.map +1 -0
  1293. package/dist/use-merchant-plan.d.ts +36 -0
  1294. package/dist/use-merchant-plan.js +78 -0
  1295. package/dist/use-merchant-plan.js.map +1 -0
  1296. package/dist/use-module-label.d.ts +12 -0
  1297. package/dist/use-module-label.js +13 -0
  1298. package/dist/use-module-label.js.map +1 -0
  1299. package/dist/use-money-visibility.d.ts +14 -0
  1300. package/dist/use-money-visibility.js +13 -0
  1301. package/dist/use-money-visibility.js.map +1 -0
  1302. package/dist/use-nav-groups.d.ts +27 -0
  1303. package/dist/use-nav-groups.js +141 -0
  1304. package/dist/use-nav-groups.js.map +1 -0
  1305. package/dist/use-pathname.d.ts +15 -0
  1306. package/dist/use-pathname.js +29 -0
  1307. package/dist/use-pathname.js.map +1 -0
  1308. package/dist/use-permissions.d.ts +43 -0
  1309. package/dist/use-permissions.js +158 -0
  1310. package/dist/use-permissions.js.map +1 -0
  1311. package/dist/use-platform-modules.d.ts +49 -0
  1312. package/dist/use-platform-modules.js +416 -0
  1313. package/dist/use-platform-modules.js.map +1 -0
  1314. package/dist/use-staff-home.d.ts +9 -0
  1315. package/dist/use-staff-home.js +24 -0
  1316. package/dist/use-staff-home.js.map +1 -0
  1317. package/dist/use-workspace-invite.d.ts +37 -0
  1318. package/dist/use-workspace-invite.js +69 -0
  1319. package/dist/use-workspace-invite.js.map +1 -0
  1320. package/dist/utils.d.ts +53 -0
  1321. package/dist/utils.js +161 -0
  1322. package/dist/utils.js.map +1 -0
  1323. package/dist/wallet-format.d.ts +8 -0
  1324. package/dist/wallet-format.js +36 -0
  1325. package/dist/wallet-format.js.map +1 -0
  1326. package/dist/wallet-settlement.d.ts +14 -0
  1327. package/dist/wallet-settlement.js +5 -0
  1328. package/dist/wallet-settlement.js.map +1 -0
  1329. package/dist/web-url.d.ts +1 -0
  1330. package/dist/web-url.js +50 -0
  1331. package/dist/web-url.js.map +1 -0
  1332. package/dist/whats-new.d.ts +59 -0
  1333. package/dist/whats-new.js +77 -0
  1334. package/dist/whats-new.js.map +1 -0
  1335. package/dist/workspace-recents.d.ts +30 -0
  1336. package/dist/workspace-recents.js +37 -0
  1337. package/dist/workspace-recents.js.map +1 -0
  1338. package/dist/workspace-slug.d.ts +1 -0
  1339. package/dist/workspace-slug.js +15 -0
  1340. package/dist/workspace-slug.js.map +1 -0
  1341. package/package.json +57 -0
@@ -0,0 +1,53 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ /**
4
+ * The value as a list, whatever actually arrived.
5
+ *
6
+ * `apiFetch<Thing[]>` is a promise of a type, not a guarantee of one: the
7
+ * generic tells TypeScript what to expect and nothing checks it at runtime. A
8
+ * 200 carrying an error object, a `{ data: [...] }` envelope from a changed
9
+ * endpoint, or `null` all satisfy the compiler and then meet `.filter`.
10
+ *
11
+ * A `= []` default does not cover this — that only fires when the value is
12
+ * `undefined`, and neither does `.catch(() => [])`, which only fires when the
13
+ * promise rejects. This is for the case in between, where the request
14
+ * succeeded and returned the wrong shape.
15
+ *
16
+ * Worth using anywhere the list drives render in the shell, where a throw
17
+ * takes down every page rather than one screen.
18
+ */
19
+ export declare function asList<T>(value: T[] | null | undefined | unknown): T[];
20
+ export declare function normalizeCurrencyCode(currency: unknown, fallback?: string): string;
21
+ /**
22
+ * Point the formatter at a currency directly.
23
+ *
24
+ * `useCurrency` calls this when a live tenant differs from the stored one. An
25
+ * empty value is ignored rather than resetting a correct currency to dollars —
26
+ * workspaces load asynchronously and some have none set.
27
+ */
28
+ export declare function setActiveCurrency(currency: string | undefined | null): void;
29
+ export declare function getActiveCurrency(): string;
30
+ export declare function formatCurrency(amount: number, currency?: string): string;
31
+ export declare function formatDate(date: string | Date, options?: Intl.DateTimeFormatOptions): string;
32
+ /**
33
+ * How long ago something happened: "just now", "4m", "3h", "2d", then a date.
34
+ *
35
+ * The counterpart to `formatRelativeTime`, which rounds to whole days and
36
+ * leans forward ("Tomorrow", "In 3 days") because it was written for things
37
+ * that are due. Anything that has already happened lands in its `Today` bucket
38
+ * and stops being a time at all, which is no use in a feed where every row is
39
+ * minutes old and the order is the whole point.
40
+ *
41
+ * Bare units, no "ago": in a list where every row is a past event, the word is
42
+ * on every line and carries nothing.
43
+ */
44
+ export declare function formatTimeAgo(date: string | Date): string;
45
+ export declare function formatRelativeTime(date: string | Date): string;
46
+ export declare function capitalize(str: string): string;
47
+ export declare function formatBytes(bytes: number): string;
48
+ /**
49
+ * "3d ago". Lived in `reviews/_components` and was copied by hand into the
50
+ * abandoned-cart page, so two surfaces rounded time differently. It is a date
51
+ * helper, so it belongs beside the other date helpers.
52
+ */
53
+ export declare function timeAgo(dateStr: string): string;
package/dist/utils.js ADDED
@@ -0,0 +1,161 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ function asList(value) {
7
+ return Array.isArray(value) ? value : [];
8
+ }
9
+ const CURRENCY_SYMBOLS = {
10
+ NGN: "\u20A6",
11
+ USD: "$",
12
+ EUR: "\u20AC",
13
+ GBP: "\xA3",
14
+ CAD: "C$",
15
+ AUD: "A$",
16
+ GHS: "\u20B5",
17
+ KES: "KSh",
18
+ ZAR: "R",
19
+ INR: "\u20B9",
20
+ JPY: "\xA5",
21
+ CNY: "\xA5",
22
+ BRL: "R$",
23
+ MXN: "$",
24
+ AED: "\u062F.\u0625"
25
+ };
26
+ function normalizeCurrencyCode(currency, fallback = "NGN") {
27
+ const normalized = typeof currency === "string" ? currency.trim().toUpperCase() : "";
28
+ const supportedCurrencies = Intl.supportedValuesOf?.("currency") ?? [];
29
+ return supportedCurrencies.includes(normalized) ? normalized : fallback;
30
+ }
31
+ const WORKSPACE_KEY = "currentWorkspace";
32
+ const TENANT_KEY = "tenant";
33
+ let cachedSlug;
34
+ let cachedCurrency = null;
35
+ let override = null;
36
+ function readStoredCurrency() {
37
+ try {
38
+ const raw = localStorage.getItem(TENANT_KEY);
39
+ if (!raw) return null;
40
+ const code = JSON.parse(raw)?.settings?.currency;
41
+ return typeof code === "string" && code ? code.toUpperCase() : null;
42
+ } catch {
43
+ return null;
44
+ }
45
+ }
46
+ function setActiveCurrency(currency) {
47
+ if (!currency) return;
48
+ override = currency.toUpperCase();
49
+ try {
50
+ cachedSlug = localStorage.getItem(WORKSPACE_KEY);
51
+ } catch {
52
+ cachedSlug = void 0;
53
+ }
54
+ }
55
+ function getActiveCurrency() {
56
+ if (typeof window === "undefined") return override ?? "NGN";
57
+ let slug = null;
58
+ try {
59
+ slug = localStorage.getItem(WORKSPACE_KEY);
60
+ } catch {
61
+ return override ?? cachedCurrency ?? "NGN";
62
+ }
63
+ if (slug !== cachedSlug) {
64
+ cachedSlug = slug;
65
+ cachedCurrency = readStoredCurrency();
66
+ override = null;
67
+ }
68
+ return override ?? cachedCurrency ?? "NGN";
69
+ }
70
+ function formatCurrency(amount, currency) {
71
+ const code = currency || getActiveCurrency();
72
+ const symbol = CURRENCY_SYMBOLS[code] || code;
73
+ const formatted = new Intl.NumberFormat("en-US", {
74
+ minimumFractionDigits: 0,
75
+ maximumFractionDigits: 0
76
+ }).format(amount);
77
+ return `${symbol}${formatted}`;
78
+ }
79
+ function formatDate(date, options) {
80
+ const defaultOptions = {
81
+ year: "numeric",
82
+ month: "short",
83
+ day: "numeric",
84
+ ...options
85
+ };
86
+ return new Intl.DateTimeFormat("en-NG", defaultOptions).format(
87
+ new Date(date)
88
+ );
89
+ }
90
+ function formatTimeAgo(date) {
91
+ const then = new Date(date).getTime();
92
+ if (Number.isNaN(then)) return "";
93
+ const seconds = Math.max(0, Math.floor((Date.now() - then) / 1e3));
94
+ if (seconds < 45) return "just now";
95
+ if (seconds < 3600) return `${Math.floor(seconds / 60)}m`;
96
+ if (seconds < 86400) return `${Math.floor(seconds / 3600)}h`;
97
+ if (seconds < 604800) return `${Math.floor(seconds / 86400)}d`;
98
+ return formatDate(date, { year: void 0, month: "short", day: "numeric" });
99
+ }
100
+ function formatRelativeTime(date) {
101
+ const now = /* @__PURE__ */ new Date();
102
+ const target = new Date(date);
103
+ const diffInDays = Math.ceil(
104
+ (target.getTime() - now.getTime()) / (1e3 * 60 * 60 * 24)
105
+ );
106
+ if (diffInDays < 0) {
107
+ return `${Math.abs(diffInDays)} days ago`;
108
+ } else if (diffInDays === 0) {
109
+ return "Today";
110
+ } else if (diffInDays === 1) {
111
+ return "Tomorrow";
112
+ } else if (diffInDays < 7) {
113
+ return `In ${diffInDays} days`;
114
+ } else if (diffInDays < 30) {
115
+ const weeks = Math.ceil(diffInDays / 7);
116
+ return `In ${weeks} week${weeks > 1 ? "s" : ""}`;
117
+ } else {
118
+ return formatDate(date);
119
+ }
120
+ }
121
+ function capitalize(str) {
122
+ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
123
+ }
124
+ function formatBytes(bytes) {
125
+ if (bytes === 0) return "0 B";
126
+ const units = ["B", "KB", "MB", "GB", "TB"];
127
+ const i = Math.floor(Math.log(bytes) / Math.log(1024));
128
+ if (i === 0) return `${bytes} B`;
129
+ const value = bytes / Math.pow(1024, i);
130
+ return `${parseFloat(value.toFixed(1))} ${units[i]}`;
131
+ }
132
+ function timeAgo(dateStr) {
133
+ const now = Date.now();
134
+ const d = new Date(dateStr).getTime();
135
+ const diff = now - d;
136
+ const mins = Math.floor(diff / 6e4);
137
+ if (mins < 1) return "just now";
138
+ if (mins < 60) return `${mins}m ago`;
139
+ const hrs = Math.floor(mins / 60);
140
+ if (hrs < 24) return `${hrs}h ago`;
141
+ const days = Math.floor(hrs / 24);
142
+ if (days < 30) return `${days}d ago`;
143
+ const months = Math.floor(days / 30);
144
+ if (months < 12) return `${months}mo ago`;
145
+ return `${Math.floor(months / 12)}y ago`;
146
+ }
147
+ export {
148
+ asList,
149
+ capitalize,
150
+ cn,
151
+ formatBytes,
152
+ formatCurrency,
153
+ formatDate,
154
+ formatRelativeTime,
155
+ formatTimeAgo,
156
+ getActiveCurrency,
157
+ normalizeCurrencyCode,
158
+ setActiveCurrency,
159
+ timeAgo
160
+ };
161
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n/**\n * The value as a list, whatever actually arrived.\n *\n * `apiFetch<Thing[]>` is a promise of a type, not a guarantee of one: the\n * generic tells TypeScript what to expect and nothing checks it at runtime. A\n * 200 carrying an error object, a `{ data: [...] }` envelope from a changed\n * endpoint, or `null` all satisfy the compiler and then meet `.filter`.\n *\n * A `= []` default does not cover this — that only fires when the value is\n * `undefined`, and neither does `.catch(() => [])`, which only fires when the\n * promise rejects. This is for the case in between, where the request\n * succeeded and returned the wrong shape.\n *\n * Worth using anywhere the list drives render in the shell, where a throw\n * takes down every page rather than one screen.\n */\nexport function asList<T>(value: T[] | null | undefined | unknown): T[] {\n return Array.isArray(value) ? (value as T[]) : [];\n}\n\n// Currency symbol map – avoids Intl locale inconsistencies (en-US renders NGN\n// as \"NGN\" instead of \"₦\"). Keep in sync with dynamic-form.tsx CURRENCY_SYMBOLS.\nconst CURRENCY_SYMBOLS: Record<string, string> = {\n NGN: '₦',\n USD: '$',\n EUR: '€',\n GBP: '£',\n CAD: 'C$',\n AUD: 'A$',\n GHS: '₵',\n KES: 'KSh',\n ZAR: 'R',\n INR: '₹',\n JPY: '¥',\n CNY: '¥',\n BRL: 'R$',\n MXN: '$',\n AED: 'د.إ',\n};\n\nexport function normalizeCurrencyCode(\n currency: unknown,\n fallback = 'NGN',\n): string {\n const normalized =\n typeof currency === 'string' ? currency.trim().toUpperCase() : '';\n const supportedCurrencies = Intl.supportedValuesOf?.('currency') ?? [];\n return supportedCurrencies.includes(normalized) ? normalized : fallback;\n}\n\n/**\n * The workspace's own currency, for the 250-odd places that format money\n * without naming one.\n *\n * `formatCurrency` defaulted to USD, so a Lagos merchant's ₦500,000 quote read\n * \"$500,000\" on every screen that did not pass a code — Orders, Payments,\n * Customers, invoice totals, the enquiry stats. The ones that DO pass a code\n * are passing a product's or an invoice's own currency, which answers a\n * different question: what this row is priced in, not what this business\n * trades in. Those still win.\n *\n * Read from the persisted workspace rather than set by a provider. Auth already\n * writes the whole tenant to `localStorage.tenant` every time one becomes\n * current — login, reload and `switchWorkspace` all land there — so the value\n * is available to plain functions with no hook and no context, which is what\n * `toAnswers` and the table cell formatters are. It also keeps this out of\n * `auth-context.tsx`, which sits exactly on its length ledger.\n *\n * The parse is cached against `currentWorkspace`, a one-key string read: the\n * cheap read happens per call, the JSON parse only when the workspace changes.\n */\nconst WORKSPACE_KEY = 'currentWorkspace';\nconst TENANT_KEY = 'tenant';\n\nlet cachedSlug: string | null | undefined;\nlet cachedCurrency: string | null = null;\n/** Set from a live tenant, so a fresh fetch beats what was last persisted. */\nlet override: string | null = null;\n\nfunction readStoredCurrency(): string | null {\n try {\n const raw = localStorage.getItem(TENANT_KEY);\n if (!raw) return null;\n const code = (JSON.parse(raw) as { settings?: { currency?: unknown } })\n ?.settings?.currency;\n return typeof code === 'string' && code ? code.toUpperCase() : null;\n } catch {\n // Unparseable, or storage blocked. The default is naira; throwing is wrong\n // for every merchant.\n return null;\n }\n}\n\n/**\n * Point the formatter at a currency directly.\n *\n * `useCurrency` calls this when a live tenant differs from the stored one. An\n * empty value is ignored rather than resetting a correct currency to dollars —\n * workspaces load asynchronously and some have none set.\n */\nexport function setActiveCurrency(currency: string | undefined | null): void {\n if (!currency) return;\n override = currency.toUpperCase();\n try {\n cachedSlug = localStorage.getItem(WORKSPACE_KEY);\n } catch {\n cachedSlug = undefined;\n }\n}\n\nexport function getActiveCurrency(): string {\n if (typeof window === 'undefined') return override ?? 'NGN';\n\n let slug: string | null = null;\n try {\n slug = localStorage.getItem(WORKSPACE_KEY);\n } catch {\n return override ?? cachedCurrency ?? 'NGN';\n }\n\n if (slug !== cachedSlug) {\n cachedSlug = slug;\n cachedCurrency = readStoredCurrency();\n // The override belonged to the workspace that just went away.\n override = null;\n }\n\n return override ?? cachedCurrency ?? 'NGN';\n}\n\nexport function formatCurrency(amount: number, currency?: string): string {\n const code = currency || getActiveCurrency();\n const symbol = CURRENCY_SYMBOLS[code] || code;\n const formatted = new Intl.NumberFormat('en-US', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n }).format(amount);\n return `${symbol}${formatted}`;\n}\n\nexport function formatDate(\n date: string | Date,\n options?: Intl.DateTimeFormatOptions,\n): string {\n const defaultOptions: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n ...options,\n };\n return new Intl.DateTimeFormat('en-NG', defaultOptions).format(\n new Date(date),\n );\n}\n\n/**\n * How long ago something happened: \"just now\", \"4m\", \"3h\", \"2d\", then a date.\n *\n * The counterpart to `formatRelativeTime`, which rounds to whole days and\n * leans forward (\"Tomorrow\", \"In 3 days\") because it was written for things\n * that are due. Anything that has already happened lands in its `Today` bucket\n * and stops being a time at all, which is no use in a feed where every row is\n * minutes old and the order is the whole point.\n *\n * Bare units, no \"ago\": in a list where every row is a past event, the word is\n * on every line and carries nothing.\n */\nexport function formatTimeAgo(date: string | Date): string {\n const then = new Date(date).getTime();\n if (Number.isNaN(then)) return '';\n const seconds = Math.max(0, Math.floor((Date.now() - then) / 1000));\n\n if (seconds < 45) return 'just now';\n if (seconds < 3600) return `${Math.floor(seconds / 60)}m`;\n if (seconds < 86_400) return `${Math.floor(seconds / 3600)}h`;\n if (seconds < 604_800) return `${Math.floor(seconds / 86_400)}d`;\n return formatDate(date, { year: undefined, month: 'short', day: 'numeric' });\n}\n\nexport function formatRelativeTime(date: string | Date): string {\n const now = new Date();\n const target = new Date(date);\n const diffInDays = Math.ceil(\n (target.getTime() - now.getTime()) / (1000 * 60 * 60 * 24),\n );\n\n if (diffInDays < 0) {\n return `${Math.abs(diffInDays)} days ago`;\n } else if (diffInDays === 0) {\n return 'Today';\n } else if (diffInDays === 1) {\n return 'Tomorrow';\n } else if (diffInDays < 7) {\n return `In ${diffInDays} days`;\n } else if (diffInDays < 30) {\n const weeks = Math.ceil(diffInDays / 7);\n return `In ${weeks} week${weeks > 1 ? 's' : ''}`;\n } else {\n return formatDate(date);\n }\n}\n\nexport function capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n}\n\nexport function formatBytes(bytes: number): string {\n if (bytes === 0) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(1024));\n if (i === 0) return `${bytes} B`;\n const value = bytes / Math.pow(1024, i);\n return `${parseFloat(value.toFixed(1))} ${units[i]}`;\n}\n\n/**\n * \"3d ago\". Lived in `reviews/_components` and was copied by hand into the\n * abandoned-cart page, so two surfaces rounded time differently. It is a date\n * helper, so it belongs beside the other date helpers.\n */\nexport function timeAgo(dateStr: string): string {\n const now = Date.now();\n const d = new Date(dateStr).getTime();\n const diff = now - d;\n const mins = Math.floor(diff / 60000);\n if (mins < 1) return 'just now';\n if (mins < 60) return `${mins}m ago`;\n const hrs = Math.floor(mins / 60);\n if (hrs < 24) return `${hrs}h ago`;\n const days = Math.floor(hrs / 24);\n if (days < 30) return `${days}d ago`;\n const months = Math.floor(days / 30);\n if (months < 12) return `${months}mo ago`;\n return `${Math.floor(months / 12)}y ago`;\n}\n"],"mappings":"AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAkBO,SAAS,OAAU,OAA8C;AACtE,SAAO,MAAM,QAAQ,KAAK,IAAK,QAAgB,CAAC;AAClD;AAIA,MAAM,mBAA2C;AAAA,EAC/C,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AAEO,SAAS,sBACd,UACA,WAAW,OACH;AACR,QAAM,aACJ,OAAO,aAAa,WAAW,SAAS,KAAK,EAAE,YAAY,IAAI;AACjE,QAAM,sBAAsB,KAAK,oBAAoB,UAAU,KAAK,CAAC;AACrE,SAAO,oBAAoB,SAAS,UAAU,IAAI,aAAa;AACjE;AAuBA,MAAM,gBAAgB;AACtB,MAAM,aAAa;AAEnB,IAAI;AACJ,IAAI,iBAAgC;AAEpC,IAAI,WAA0B;AAE9B,SAAS,qBAAoC;AAC3C,MAAI;AACF,UAAM,MAAM,aAAa,QAAQ,UAAU;AAC3C,QAAI,CAAC,IAAK,QAAO;AACjB,UAAM,OAAQ,KAAK,MAAM,GAAG,GACxB,UAAU;AACd,WAAO,OAAO,SAAS,YAAY,OAAO,KAAK,YAAY,IAAI;AAAA,EACjE,QAAQ;AAGN,WAAO;AAAA,EACT;AACF;AASO,SAAS,kBAAkB,UAA2C;AAC3E,MAAI,CAAC,SAAU;AACf,aAAW,SAAS,YAAY;AAChC,MAAI;AACF,iBAAa,aAAa,QAAQ,aAAa;AAAA,EACjD,QAAQ;AACN,iBAAa;AAAA,EACf;AACF;AAEO,SAAS,oBAA4B;AAC1C,MAAI,OAAO,WAAW,YAAa,QAAO,YAAY;AAEtD,MAAI,OAAsB;AAC1B,MAAI;AACF,WAAO,aAAa,QAAQ,aAAa;AAAA,EAC3C,QAAQ;AACN,WAAO,YAAY,kBAAkB;AAAA,EACvC;AAEA,MAAI,SAAS,YAAY;AACvB,iBAAa;AACb,qBAAiB,mBAAmB;AAEpC,eAAW;AAAA,EACb;AAEA,SAAO,YAAY,kBAAkB;AACvC;AAEO,SAAS,eAAe,QAAgB,UAA2B;AACxE,QAAM,OAAO,YAAY,kBAAkB;AAC3C,QAAM,SAAS,iBAAiB,IAAI,KAAK;AACzC,QAAM,YAAY,IAAI,KAAK,aAAa,SAAS;AAAA,IAC/C,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,EACzB,CAAC,EAAE,OAAO,MAAM;AAChB,SAAO,GAAG,MAAM,GAAG,SAAS;AAC9B;AAEO,SAAS,WACd,MACA,SACQ;AACR,QAAM,iBAA6C;AAAA,IACjD,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,GAAG;AAAA,EACL;AACA,SAAO,IAAI,KAAK,eAAe,SAAS,cAAc,EAAE;AAAA,IACtD,IAAI,KAAK,IAAI;AAAA,EACf;AACF;AAcO,SAAS,cAAc,MAA6B;AACzD,QAAM,OAAO,IAAI,KAAK,IAAI,EAAE,QAAQ;AACpC,MAAI,OAAO,MAAM,IAAI,EAAG,QAAO;AAC/B,QAAM,UAAU,KAAK,IAAI,GAAG,KAAK,OAAO,KAAK,IAAI,IAAI,QAAQ,GAAI,CAAC;AAElE,MAAI,UAAU,GAAI,QAAO;AACzB,MAAI,UAAU,KAAM,QAAO,GAAG,KAAK,MAAM,UAAU,EAAE,CAAC;AACtD,MAAI,UAAU,MAAQ,QAAO,GAAG,KAAK,MAAM,UAAU,IAAI,CAAC;AAC1D,MAAI,UAAU,OAAS,QAAO,GAAG,KAAK,MAAM,UAAU,KAAM,CAAC;AAC7D,SAAO,WAAW,MAAM,EAAE,MAAM,QAAW,OAAO,SAAS,KAAK,UAAU,CAAC;AAC7E;AAEO,SAAS,mBAAmB,MAA6B;AAC9D,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,SAAS,IAAI,KAAK,IAAI;AAC5B,QAAM,aAAa,KAAK;AAAA,KACrB,OAAO,QAAQ,IAAI,IAAI,QAAQ,MAAM,MAAO,KAAK,KAAK;AAAA,EACzD;AAEA,MAAI,aAAa,GAAG;AAClB,WAAO,GAAG,KAAK,IAAI,UAAU,CAAC;AAAA,EAChC,WAAW,eAAe,GAAG;AAC3B,WAAO;AAAA,EACT,WAAW,eAAe,GAAG;AAC3B,WAAO;AAAA,EACT,WAAW,aAAa,GAAG;AACzB,WAAO,MAAM,UAAU;AAAA,EACzB,WAAW,aAAa,IAAI;AAC1B,UAAM,QAAQ,KAAK,KAAK,aAAa,CAAC;AACtC,WAAO,MAAM,KAAK,QAAQ,QAAQ,IAAI,MAAM,EAAE;AAAA,EAChD,OAAO;AACL,WAAO,WAAW,IAAI;AAAA,EACxB;AACF;AAEO,SAAS,WAAW,KAAqB;AAC9C,SAAO,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,MAAM,CAAC,EAAE,YAAY;AAChE;AAEO,SAAS,YAAY,OAAuB;AACjD,MAAI,UAAU,EAAG,QAAO;AACxB,QAAM,QAAQ,CAAC,KAAK,MAAM,MAAM,MAAM,IAAI;AAC1C,QAAM,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC;AACrD,MAAI,MAAM,EAAG,QAAO,GAAG,KAAK;AAC5B,QAAM,QAAQ,QAAQ,KAAK,IAAI,MAAM,CAAC;AACtC,SAAO,GAAG,WAAW,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AACpD;AAOO,SAAS,QAAQ,SAAyB;AAC/C,QAAM,MAAM,KAAK,IAAI;AACrB,QAAM,IAAI,IAAI,KAAK,OAAO,EAAE,QAAQ;AACpC,QAAM,OAAO,MAAM;AACnB,QAAM,OAAO,KAAK,MAAM,OAAO,GAAK;AACpC,MAAI,OAAO,EAAG,QAAO;AACrB,MAAI,OAAO,GAAI,QAAO,GAAG,IAAI;AAC7B,QAAM,MAAM,KAAK,MAAM,OAAO,EAAE;AAChC,MAAI,MAAM,GAAI,QAAO,GAAG,GAAG;AAC3B,QAAM,OAAO,KAAK,MAAM,MAAM,EAAE;AAChC,MAAI,OAAO,GAAI,QAAO,GAAG,IAAI;AAC7B,QAAM,SAAS,KAAK,MAAM,OAAO,EAAE;AACnC,MAAI,SAAS,GAAI,QAAO,GAAG,MAAM;AACjC,SAAO,GAAG,KAAK,MAAM,SAAS,EAAE,CAAC;AACnC;","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Wallet amounts arrive as minor units in strings ("150000" = ₦1,500.00).
3
+ * Divide by the currency's own number of decimals, in BigInt so large
4
+ * balances stay exact.
5
+ */
6
+ export declare function formatMinor(minor: string, currency: string): string;
7
+ /** Statuses come back in either case ("ACTIVE" from money, "active" elsewhere). */
8
+ export declare const sameStatus: (status: string) => string;
@@ -0,0 +1,36 @@
1
+ function formatMinor(minor, currency) {
2
+ const format = new Intl.NumberFormat(void 0, {
3
+ style: "currency",
4
+ currencyDisplay: "narrowSymbol",
5
+ currency
6
+ });
7
+ const digits = format.resolvedOptions().maximumFractionDigits ?? 2;
8
+ let value;
9
+ try {
10
+ value = BigInt(minor);
11
+ } catch {
12
+ return `${minor} ${currency}`;
13
+ }
14
+ const negative = value < BigInt(0);
15
+ const abs = negative ? -value : value;
16
+ const scale = BigInt(10) ** BigInt(digits);
17
+ const whole = abs / scale;
18
+ const fraction = (abs % scale).toString().padStart(digits, "0");
19
+ const parts = format.formatToParts(0);
20
+ const decimal = parts.find((p) => p.type === "decimal")?.value ?? ".";
21
+ const grouped = format.formatToParts(Number(whole) <= Number.MAX_SAFE_INTEGER ? Number(whole) : 0).map((p) => {
22
+ if (p.type === "integer" && whole > BigInt(Number.MAX_SAFE_INTEGER)) {
23
+ return whole.toString();
24
+ }
25
+ if (p.type === "fraction") return fraction;
26
+ if (p.type === "decimal") return digits ? decimal : "";
27
+ return p.value;
28
+ }).join("");
29
+ return negative ? `-${grouped}` : grouped;
30
+ }
31
+ const sameStatus = (status) => status.toLowerCase();
32
+ export {
33
+ formatMinor,
34
+ sameStatus
35
+ };
36
+ //# sourceMappingURL=wallet-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/wallet-format.ts"],"sourcesContent":["/**\n * Wallet amounts arrive as minor units in strings (\"150000\" = ₦1,500.00).\n * Divide by the currency's own number of decimals, in BigInt so large\n * balances stay exact.\n */\nexport function formatMinor(minor: string, currency: string): string {\n const format = new Intl.NumberFormat(undefined, {\n style: 'currency',\n currencyDisplay: 'narrowSymbol',\n currency,\n });\n const digits = format.resolvedOptions().maximumFractionDigits ?? 2;\n\n let value: bigint;\n\n try {\n value = BigInt(minor);\n } catch {\n return `${minor} ${currency}`;\n }\n\n const negative = value < BigInt(0);\n const abs = negative ? -value : value;\n const scale = BigInt(10) ** BigInt(digits);\n const whole = abs / scale;\n const fraction = (abs % scale).toString().padStart(digits, '0');\n const parts = format.formatToParts(0);\n const decimal = parts.find((p) => p.type === 'decimal')?.value ?? '.';\n const grouped = format\n .formatToParts(Number(whole) <= Number.MAX_SAFE_INTEGER ? Number(whole) : 0)\n .map((p) => {\n if (p.type === 'integer' && whole > BigInt(Number.MAX_SAFE_INTEGER)) {\n return whole.toString();\n }\n if (p.type === 'fraction') return fraction;\n if (p.type === 'decimal') return digits ? decimal : '';\n return p.value;\n })\n .join('');\n\n return negative ? `-${grouped}` : grouped;\n}\n\n/** Statuses come back in either case (\"ACTIVE\" from money, \"active\" elsewhere). */\nexport const sameStatus = (status: string) => status.toLowerCase();\n"],"mappings":"AAKO,SAAS,YAAY,OAAe,UAA0B;AACnE,QAAM,SAAS,IAAI,KAAK,aAAa,QAAW;AAAA,IAC9C,OAAO;AAAA,IACP,iBAAiB;AAAA,IACjB;AAAA,EACF,CAAC;AACD,QAAM,SAAS,OAAO,gBAAgB,EAAE,yBAAyB;AAEjE,MAAI;AAEJ,MAAI;AACF,YAAQ,OAAO,KAAK;AAAA,EACtB,QAAQ;AACN,WAAO,GAAG,KAAK,IAAI,QAAQ;AAAA,EAC7B;AAEA,QAAM,WAAW,QAAQ,OAAO,CAAC;AACjC,QAAM,MAAM,WAAW,CAAC,QAAQ;AAChC,QAAM,QAAQ,OAAO,EAAE,KAAK,OAAO,MAAM;AACzC,QAAM,QAAQ,MAAM;AACpB,QAAM,YAAY,MAAM,OAAO,SAAS,EAAE,SAAS,QAAQ,GAAG;AAC9D,QAAM,QAAQ,OAAO,cAAc,CAAC;AACpC,QAAM,UAAU,MAAM,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS,GAAG,SAAS;AAClE,QAAM,UAAU,OACb,cAAc,OAAO,KAAK,KAAK,OAAO,mBAAmB,OAAO,KAAK,IAAI,CAAC,EAC1E,IAAI,CAAC,MAAM;AACV,QAAI,EAAE,SAAS,aAAa,QAAQ,OAAO,OAAO,gBAAgB,GAAG;AACnE,aAAO,MAAM,SAAS;AAAA,IACxB;AACA,QAAI,EAAE,SAAS,WAAY,QAAO;AAClC,QAAI,EAAE,SAAS,UAAW,QAAO,SAAS,UAAU;AACpD,WAAO,EAAE;AAAA,EACX,CAAC,EACA,KAAK,EAAE;AAEV,SAAO,WAAW,IAAI,OAAO,KAAK;AACpC;AAGO,MAAM,aAAa,CAAC,WAAmB,OAAO,YAAY;","names":[]}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Whether this box settles money into its own wallet.
3
+ *
4
+ * Boxspace pays a merchant out to a bank account they connect, so the home, the
5
+ * setup checklist and the Money group all ask for one. A box that holds the
6
+ * merchant's balance itself has no payout account to connect: the same prompts
7
+ * there send a merchant to add a bank that nothing will ever pay into, and
8
+ * tell them they cannot be paid when they already are.
9
+ *
10
+ * `NEXT_PUBLIC_BOX_WALLET_SETTLEMENT=true` says so. Build-time, like the other
11
+ * `NEXT_PUBLIC_BOX_*` switches, because it is a fact about the box and not
12
+ * about a tenant. Unset or anything else keeps the payout prompts.
13
+ */
14
+ export declare const WALLET_SETTLEMENT: boolean;
@@ -0,0 +1,5 @@
1
+ const WALLET_SETTLEMENT = process.env.NEXT_PUBLIC_BOX_WALLET_SETTLEMENT === "true";
2
+ export {
3
+ WALLET_SETTLEMENT
4
+ };
5
+ //# sourceMappingURL=wallet-settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/wallet-settlement.ts"],"sourcesContent":["/**\n * Whether this box settles money into its own wallet.\n *\n * Boxspace pays a merchant out to a bank account they connect, so the home, the\n * setup checklist and the Money group all ask for one. A box that holds the\n * merchant's balance itself has no payout account to connect: the same prompts\n * there send a merchant to add a bank that nothing will ever pay into, and\n * tell them they cannot be paid when they already are.\n *\n * `NEXT_PUBLIC_BOX_WALLET_SETTLEMENT=true` says so. Build-time, like the other\n * `NEXT_PUBLIC_BOX_*` switches, because it is a fact about the box and not\n * about a tenant. Unset or anything else keeps the payout prompts.\n */\nexport const WALLET_SETTLEMENT =\n process.env.NEXT_PUBLIC_BOX_WALLET_SETTLEMENT === 'true';\n"],"mappings":"AAaO,MAAM,oBACX,QAAQ,IAAI,sCAAsC;","names":[]}
@@ -0,0 +1 @@
1
+ export declare function resolveWebUrl(): string;
@@ -0,0 +1,50 @@
1
+ const DEFAULT_WEB_URL = "http://localhost:3000";
2
+ function stripTrailingSlash(value) {
3
+ return value.replace(/\/+$/, "");
4
+ }
5
+ function canonicalizeKnownProductionHost(url) {
6
+ if (url.hostname === "withpotter.site" || url.hostname === "www.withpotter.site" || url.hostname === "manage.withpotter.com" || url.hostname === "mange.withpotter.com") {
7
+ url.hostname = "www.boxspace.live";
8
+ }
9
+ if (url.hostname === "boxspace.live") {
10
+ url.hostname = "www.boxspace.live";
11
+ }
12
+ if (url.hostname === "staging.withpotter.site" || url.hostname === "beta.withpotter.site") {
13
+ url.hostname = "beta.boxspace.live";
14
+ }
15
+ return url;
16
+ }
17
+ function inferWebUrlFromRuntimeOrigin() {
18
+ if (typeof window === "undefined") {
19
+ return null;
20
+ }
21
+ const hostname = window.location.hostname.toLowerCase();
22
+ if (hostname === "manage.withpotter.com" || hostname === "mange.withpotter.com") {
23
+ return "https://www.boxspace.live";
24
+ }
25
+ if (hostname === "manage.boxspace.io") {
26
+ return "https://www.boxspace.live";
27
+ }
28
+ if (hostname === "manage-staging.boxspace.io" || hostname === "manage-beta.boxspace.io") {
29
+ return "https://beta.boxspace.live";
30
+ }
31
+ if (hostname === "manage-staging.withpotter.com") {
32
+ return "https://beta.boxspace.live";
33
+ }
34
+ return null;
35
+ }
36
+ function resolveWebUrl() {
37
+ const configured = process.env.NEXT_PUBLIC_WEB_URL;
38
+ const runtimeFallback = inferWebUrlFromRuntimeOrigin();
39
+ const selected = configured || runtimeFallback || DEFAULT_WEB_URL;
40
+ try {
41
+ const parsed = canonicalizeKnownProductionHost(new URL(selected));
42
+ return stripTrailingSlash(parsed.toString());
43
+ } catch {
44
+ return DEFAULT_WEB_URL;
45
+ }
46
+ }
47
+ export {
48
+ resolveWebUrl
49
+ };
50
+ //# sourceMappingURL=web-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/web-url.ts"],"sourcesContent":["const DEFAULT_WEB_URL = 'http://localhost:3000';\n\nfunction stripTrailingSlash(value: string): string {\n return value.replace(/\\/+$/, '');\n}\n\nfunction canonicalizeKnownProductionHost(url: URL): URL {\n // Storefronts live on boxspace.live. The old withpotter.site renderer hosts\n // (and the withpotter.com dashboards) are corrected to it, so a deployment\n // that still has one in its environment follows. The platform redirects the\n // apex to www, and a fetch cannot follow that cross-origin.\n if (\n url.hostname === 'withpotter.site' ||\n url.hostname === 'www.withpotter.site' ||\n url.hostname === 'manage.withpotter.com' ||\n url.hostname === 'mange.withpotter.com'\n ) {\n url.hostname = 'www.boxspace.live';\n }\n\n // Same redirect on the boxspace.live zone, which the boxspace.io dashboards\n // use: the apex answers 308 -> www, and a fetch cannot follow it cross-origin.\n if (url.hostname === 'boxspace.live') {\n url.hostname = 'www.boxspace.live';\n }\n\n /**\n * `staging.withpotter.site` sits behind Vercel deployment protection, so it\n * answers every request — the template registry included — with a 302 to\n * `vercel.com/sso-api`. A fetch cannot follow that, and an iframe renders a\n * login page, so the gallery comes up empty with nothing in the console that\n * names the cause.\n *\n * Corrected here as well as at the mapping below, because `resolveWebUrl`\n * prefers `NEXT_PUBLIC_WEB_URL` over the derived value: a deployment that\n * still has the protected host in its environment would otherwise keep\n * pointing at it no matter what the fallback says.\n */\n if (\n url.hostname === 'staging.withpotter.site' ||\n url.hostname === 'beta.withpotter.site'\n ) {\n url.hostname = 'beta.boxspace.live';\n }\n\n return url;\n}\n\nfunction inferWebUrlFromRuntimeOrigin(): string | null {\n if (typeof window === 'undefined') {\n return null;\n }\n\n const hostname = window.location.hostname.toLowerCase();\n\n if (\n hostname === 'manage.withpotter.com' ||\n hostname === 'mange.withpotter.com'\n ) {\n return 'https://www.boxspace.live';\n }\n\n // The boxspace.io dashboards use the boxspace.live renderer. Both zones are\n // served by the same web-prod project, so the registry is identical.\n if (hostname === 'manage.boxspace.io') {\n return 'https://www.boxspace.live';\n }\n\n /**\n * Staging had no mapping, so it fell all the way to DEFAULT_WEB_URL and asked\n * `http://localhost:3000` for the template registry — the VIEWER's own\n * machine, from their browser. That request cannot succeed for anyone but a\n * developer with the renderer running, so the registry fetch failed and the\n * template picker silently fell back to the API's templates table: the stale\n * cache the picker had just been changed to stop depending on.\n *\n * A dashboard host implies its renderer. Deriving it here rather than relying\n * on NEXT_PUBLIC_WEB_URL means a deployment cannot lose its storefront by\n * being missing one environment variable, which is exactly how this hid.\n */\n if (\n hostname === 'manage-staging.boxspace.io' ||\n hostname === 'manage-beta.boxspace.io'\n ) {\n return 'https://beta.boxspace.live';\n }\n\n if (hostname === 'manage-staging.withpotter.com') {\n /**\n * The renderer staging shows templates from is the `develop` deployment.\n *\n * This pointed at `staging.withpotter.site` (now `beta.boxspace.live`), which is a protected\n * deployment: it 302s to Vercel SSO, so the registry fetch failed and the\n * picker emptied — the same symptom as the localhost fallback described\n * above, one host later. web-render has no staging deploy job on `develop`\n * either, so that host is not where the renderer ships; `beta` is.\n */\n return 'https://beta.boxspace.live';\n }\n\n return null;\n}\n\nexport function resolveWebUrl(): string {\n const configured = process.env.NEXT_PUBLIC_WEB_URL;\n const runtimeFallback = inferWebUrlFromRuntimeOrigin();\n const selected = configured || runtimeFallback || DEFAULT_WEB_URL;\n\n try {\n const parsed = canonicalizeKnownProductionHost(new URL(selected));\n return stripTrailingSlash(parsed.toString());\n } catch {\n return DEFAULT_WEB_URL;\n }\n}\n"],"mappings":"AAAA,MAAM,kBAAkB;AAExB,SAAS,mBAAmB,OAAuB;AACjD,SAAO,MAAM,QAAQ,QAAQ,EAAE;AACjC;AAEA,SAAS,gCAAgC,KAAe;AAKtD,MACE,IAAI,aAAa,qBACjB,IAAI,aAAa,yBACjB,IAAI,aAAa,2BACjB,IAAI,aAAa,wBACjB;AACA,QAAI,WAAW;AAAA,EACjB;AAIA,MAAI,IAAI,aAAa,iBAAiB;AACpC,QAAI,WAAW;AAAA,EACjB;AAcA,MACE,IAAI,aAAa,6BACjB,IAAI,aAAa,wBACjB;AACA,QAAI,WAAW;AAAA,EACjB;AAEA,SAAO;AACT;AAEA,SAAS,+BAA8C;AACrD,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,OAAO,SAAS,SAAS,YAAY;AAEtD,MACE,aAAa,2BACb,aAAa,wBACb;AACA,WAAO;AAAA,EACT;AAIA,MAAI,aAAa,sBAAsB;AACrC,WAAO;AAAA,EACT;AAcA,MACE,aAAa,gCACb,aAAa,2BACb;AACA,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,iCAAiC;AAUhD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,gBAAwB;AACtC,QAAM,aAAa,QAAQ,IAAI;AAC/B,QAAM,kBAAkB,6BAA6B;AACrD,QAAM,WAAW,cAAc,mBAAmB;AAElD,MAAI;AACF,UAAM,SAAS,gCAAgC,IAAI,IAAI,QAAQ,CAAC;AAChE,WAAO,mBAAmB,OAAO,SAAS,CAAC;AAAA,EAC7C,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * What changed, in the merchant's words.
3
+ *
4
+ * A release note is not a commit message. Every entry here answers "what can I
5
+ * do now that I could not do on Monday" — so a refactor, a guard and a
6
+ * dependency bump never appear, however much work they were, and a one-line
7
+ * change to where a button sits does if it is where somebody kept looking.
8
+ *
9
+ * Newest first, and the id IS the date, because that is what the unread mark
10
+ * compares: a merchant has seen everything up to the last id they opened.
11
+ *
12
+ * WHY THIS IS A FILE AND NOT AN ENDPOINT. There is no releases table and this
13
+ * does not want one: the notes ship with the build that made them true, which
14
+ * is the only way they cannot describe a version the merchant is not running.
15
+ * Linear, Vercel and Raycast all ship theirs the same way.
16
+ */
17
+ export interface Release {
18
+ /** ISO date. Also the sort key and what "seen" is measured against. */
19
+ id: string;
20
+ title: string;
21
+ /** One or two sentences. If it needs three, it is two entries. */
22
+ body: string;
23
+ /**
24
+ * The change, shown. A path under `public/whats-new/` — a GIF of the thing
25
+ * moving where the change IS a movement, a JPG or PNG where it is a place.
26
+ *
27
+ * Leads the note, because a merchant skimming these is asking "is any of
28
+ * this about me" and a loop answers that before a sentence gets going. A
29
+ * file that is not there yet collapses the frame rather than drawing a
30
+ * broken tile, so a note can ship before its capture does.
31
+ *
32
+ * Keep them small. This panel opens over the merchant's work and a 4MB GIF
33
+ * turns a two-second read into a spinner.
34
+ */
35
+ image?: string;
36
+ /** Where to go and use it. Omitted when the change is everywhere. */
37
+ href?: string;
38
+ hrefLabel?: string;
39
+ }
40
+ export declare const RELEASES: Release[];
41
+ /** The newest id. What "you are up to date" means. */
42
+ export declare const latestReleaseId: string;
43
+ /**
44
+ * Whether anything has landed since this person last opened the panel.
45
+ *
46
+ * Per BROWSER, not per account, and deliberately: the alternative is a column
47
+ * on the user record and a write on every open, which is a request and a
48
+ * migration to decide whether to draw a 8px dot. Someone who reads the notes on
49
+ * a laptop and then signs in on a tablet sees the dot once more. That is the
50
+ * whole cost.
51
+ *
52
+ * Wrapped because storage throws outright in a few contexts (a private window
53
+ * with site data blocked), and a dot is never worth a crashed sidebar.
54
+ */
55
+ export declare function hasUnreadReleases(): boolean;
56
+ export declare function markReleasesSeen(): void;
57
+ export declare function subscribeReleases(listener: () => void): () => void;
58
+ /** The server has no storage, so it has no dot. */
59
+ export declare function noUnreadOnServer(): boolean;
@@ -0,0 +1,77 @@
1
+ const RELEASES = [
2
+ {
3
+ id: "2026-08-25-media-picker",
4
+ title: "Your photos, wherever you add one",
5
+ body: "Pick several at once, see each one at its real shape rather than cropped to a square, and reach the pictures you have already uploaded from the product editor as well as the site editor. Anything you upload from the picker joins your library without going onto your public gallery page.",
6
+ /* PLACEHOLDERS, and they are meant to be replaced.
7
+ John, 2026-09-03: *"the whats new images, just find cool square images
8
+ or cashapp as placeholders"*.
9
+
10
+ The three `image` paths here pointed at an empty `public/whats-new/`
11
+ from August until now — the notes shipped and the captures never did.
12
+ These are flat square blocks in Cash App's register (one saturated hue,
13
+ one bold shape, no gradient and no type) rather than screenshots of the
14
+ screens, deliberately: a real capture is the artefact this field wants,
15
+ and a placeholder that LOOKS like a capture is one nobody ever gets
16
+ round to replacing. A green disc is obviously not a picture of the media
17
+ picker.
18
+
19
+ Square because the strip is square now, and 600px because that is twice
20
+ the tile at 3x with room to spare. Generated, not downloaded — nothing
21
+ here needs a licence or a network. */
22
+ image: "/whats-new/2026-08-25-media-picker.png",
23
+ href: "/dashboard/business/gallery",
24
+ hrefLabel: "Open your gallery"
25
+ },
26
+ {
27
+ id: "2026-08-25-bill-widget",
28
+ title: "What Box costs, on your home",
29
+ body: "A card for your own bill: what this period comes to, when it is charged, and whether a plan is ending. Add it from the widget gallery on the home.",
30
+ image: "/whats-new/2026-08-25-bill-widget.png",
31
+ href: "/dashboard",
32
+ hrefLabel: "Go to your home"
33
+ },
34
+ {
35
+ id: "2026-08-25-category",
36
+ title: "Business category moved",
37
+ body: "It now sits under your business name in General settings, where the tagline prompt used to be, instead of in a row of its own above it.",
38
+ image: "/whats-new/2026-08-25-business-category.png",
39
+ href: "/dashboard/settings",
40
+ hrefLabel: "Open general settings"
41
+ }
42
+ ];
43
+ const latestReleaseId = RELEASES[0]?.id ?? "";
44
+ const SEEN_KEY = "potter:whats-new-seen";
45
+ function hasUnreadReleases() {
46
+ try {
47
+ return window.localStorage.getItem(SEEN_KEY) !== latestReleaseId;
48
+ } catch {
49
+ return false;
50
+ }
51
+ }
52
+ function markReleasesSeen() {
53
+ try {
54
+ window.localStorage.setItem(SEEN_KEY, latestReleaseId);
55
+ } catch {
56
+ }
57
+ for (const listener of listeners) listener();
58
+ }
59
+ const listeners = /* @__PURE__ */ new Set();
60
+ function subscribeReleases(listener) {
61
+ listeners.add(listener);
62
+ return () => {
63
+ listeners.delete(listener);
64
+ };
65
+ }
66
+ function noUnreadOnServer() {
67
+ return false;
68
+ }
69
+ export {
70
+ RELEASES,
71
+ hasUnreadReleases,
72
+ latestReleaseId,
73
+ markReleasesSeen,
74
+ noUnreadOnServer,
75
+ subscribeReleases
76
+ };
77
+ //# sourceMappingURL=whats-new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/whats-new.ts"],"sourcesContent":["/**\n * What changed, in the merchant's words.\n *\n * A release note is not a commit message. Every entry here answers \"what can I\n * do now that I could not do on Monday\" — so a refactor, a guard and a\n * dependency bump never appear, however much work they were, and a one-line\n * change to where a button sits does if it is where somebody kept looking.\n *\n * Newest first, and the id IS the date, because that is what the unread mark\n * compares: a merchant has seen everything up to the last id they opened.\n *\n * WHY THIS IS A FILE AND NOT AN ENDPOINT. There is no releases table and this\n * does not want one: the notes ship with the build that made them true, which\n * is the only way they cannot describe a version the merchant is not running.\n * Linear, Vercel and Raycast all ship theirs the same way.\n */\nexport interface Release {\n /** ISO date. Also the sort key and what \"seen\" is measured against. */\n id: string;\n title: string;\n /** One or two sentences. If it needs three, it is two entries. */\n body: string;\n /**\n * The change, shown. A path under `public/whats-new/` — a GIF of the thing\n * moving where the change IS a movement, a JPG or PNG where it is a place.\n *\n * Leads the note, because a merchant skimming these is asking \"is any of\n * this about me\" and a loop answers that before a sentence gets going. A\n * file that is not there yet collapses the frame rather than drawing a\n * broken tile, so a note can ship before its capture does.\n *\n * Keep them small. This panel opens over the merchant's work and a 4MB GIF\n * turns a two-second read into a spinner.\n */\n image?: string;\n /** Where to go and use it. Omitted when the change is everywhere. */\n href?: string;\n hrefLabel?: string;\n}\n\nexport const RELEASES: Release[] = [\n {\n id: '2026-08-25-media-picker',\n title: 'Your photos, wherever you add one',\n body: 'Pick several at once, see each one at its real shape rather than cropped to a square, and reach the pictures you have already uploaded from the product editor as well as the site editor. Anything you upload from the picker joins your library without going onto your public gallery page.',\n /* PLACEHOLDERS, and they are meant to be replaced.\n John, 2026-09-03: *\"the whats new images, just find cool square images\n or cashapp as placeholders\"*.\n\n The three `image` paths here pointed at an empty `public/whats-new/`\n from August until now — the notes shipped and the captures never did.\n These are flat square blocks in Cash App's register (one saturated hue,\n one bold shape, no gradient and no type) rather than screenshots of the\n screens, deliberately: a real capture is the artefact this field wants,\n and a placeholder that LOOKS like a capture is one nobody ever gets\n round to replacing. A green disc is obviously not a picture of the media\n picker.\n\n Square because the strip is square now, and 600px because that is twice\n the tile at 3x with room to spare. Generated, not downloaded — nothing\n here needs a licence or a network. */\n image: '/whats-new/2026-08-25-media-picker.png',\n href: '/dashboard/business/gallery',\n hrefLabel: 'Open your gallery',\n },\n {\n id: '2026-08-25-bill-widget',\n title: 'What Box costs, on your home',\n body: 'A card for your own bill: what this period comes to, when it is charged, and whether a plan is ending. Add it from the widget gallery on the home.',\n image: '/whats-new/2026-08-25-bill-widget.png',\n href: '/dashboard',\n hrefLabel: 'Go to your home',\n },\n {\n id: '2026-08-25-category',\n title: 'Business category moved',\n body: 'It now sits under your business name in General settings, where the tagline prompt used to be, instead of in a row of its own above it.',\n image: '/whats-new/2026-08-25-business-category.png',\n href: '/dashboard/settings',\n hrefLabel: 'Open general settings',\n },\n];\n\n/** The newest id. What \"you are up to date\" means. */\nexport const latestReleaseId = RELEASES[0]?.id ?? '';\n\nconst SEEN_KEY = 'potter:whats-new-seen';\n\n/**\n * Whether anything has landed since this person last opened the panel.\n *\n * Per BROWSER, not per account, and deliberately: the alternative is a column\n * on the user record and a write on every open, which is a request and a\n * migration to decide whether to draw a 8px dot. Someone who reads the notes on\n * a laptop and then signs in on a tablet sees the dot once more. That is the\n * whole cost.\n *\n * Wrapped because storage throws outright in a few contexts (a private window\n * with site data blocked), and a dot is never worth a crashed sidebar.\n */\nexport function hasUnreadReleases(): boolean {\n try {\n return window.localStorage.getItem(SEEN_KEY) !== latestReleaseId;\n } catch {\n return false;\n }\n}\n\nexport function markReleasesSeen(): void {\n try {\n window.localStorage.setItem(SEEN_KEY, latestReleaseId);\n } catch {\n // A preference that cannot be stored is not an error worth showing.\n }\n for (const listener of listeners) listener();\n}\n\n/**\n * A store rather than an effect that sets state.\n *\n * The dot cannot be read during render — `localStorage` does not exist on the\n * server — and reading it in an effect that calls `setState` is the cascading\n * render the lint rule is there to stop. `useSyncExternalStore` is the shape\n * React provides for exactly this: a value that lives outside React, absent on\n * the server, and changing when something tells it to.\n */\nconst listeners = new Set<() => void>();\n\nexport function subscribeReleases(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\n/** The server has no storage, so it has no dot. */\nexport function noUnreadOnServer(): boolean {\n return false;\n}\n"],"mappings":"AAwCO,MAAM,WAAsB;AAAA,EACjC;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAGO,MAAM,kBAAkB,SAAS,CAAC,GAAG,MAAM;AAElD,MAAM,WAAW;AAcV,SAAS,oBAA6B;AAC3C,MAAI;AACF,WAAO,OAAO,aAAa,QAAQ,QAAQ,MAAM;AAAA,EACnD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,mBAAyB;AACvC,MAAI;AACF,WAAO,aAAa,QAAQ,UAAU,eAAe;AAAA,EACvD,QAAQ;AAAA,EAER;AACA,aAAW,YAAY,UAAW,UAAS;AAC7C;AAWA,MAAM,YAAY,oBAAI,IAAgB;AAE/B,SAAS,kBAAkB,UAAkC;AAClE,YAAU,IAAI,QAAQ;AACtB,SAAO,MAAM;AACX,cAAU,OAAO,QAAQ;AAAA,EAC3B;AACF;AAGO,SAAS,mBAA4B;AAC1C,SAAO;AACT;","names":[]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Which workspaces this person actually works in, most recent first.
3
+ *
4
+ * The switcher shows two of them before deferring to the full page, and two
5
+ * slots picked by whatever order the API returned is a coin toss — an agency
6
+ * with eight clients got the same two every time regardless of which they had
7
+ * open all morning. Recency is the only ordering that improves with use.
8
+ *
9
+ * Nothing on the server records this. It is not worth a column: it is a per
10
+ * PERSON, per DEVICE convenience, the answer changes every time somebody
11
+ * switches, and being wrong costs one extra click into a page that lists
12
+ * everything. localStorage rather than session, because "the two I always use"
13
+ * is exactly the fact that should survive closing the tab.
14
+ *
15
+ * Deliberately NOT surfaced as a heading. John, 2026-08-23: *"we should have
16
+ * recents there like recently used — no need to title it that, just how it
17
+ * should be."* A list that reorders itself does not need to announce that it
18
+ * reorders itself.
19
+ */
20
+ export declare function noteWorkspaceUsed(slug: string): void;
21
+ /** Most recent first. Empty until somebody has switched at least once. */
22
+ export declare function readWorkspaceRecents(): string[];
23
+ /**
24
+ * Order workspaces by when they were last opened, unseen ones keeping their
25
+ * incoming order behind the rest.
26
+ *
27
+ * A stable sort, so two workspaces nobody has opened stay in the order the API
28
+ * gave them rather than swapping on every render.
29
+ */
30
+ export declare function byRecentlyUsed<T>(items: T[], slugOf: (item: T) => string): T[];
@@ -0,0 +1,37 @@
1
+ const KEY = "pb_workspace_recents";
2
+ const CAP = 12;
3
+ function noteWorkspaceUsed(slug) {
4
+ if (typeof window === "undefined" || !slug) return;
5
+ try {
6
+ const next = [slug, ...read().filter((s) => s !== slug)].slice(0, CAP);
7
+ window.localStorage.setItem(KEY, JSON.stringify(next));
8
+ } catch {
9
+ }
10
+ }
11
+ function readWorkspaceRecents() {
12
+ return read();
13
+ }
14
+ function read() {
15
+ if (typeof window === "undefined") return [];
16
+ try {
17
+ const raw = JSON.parse(window.localStorage.getItem(KEY) || "[]");
18
+ return Array.isArray(raw) ? raw.filter((s) => typeof s === "string") : [];
19
+ } catch {
20
+ return [];
21
+ }
22
+ }
23
+ function byRecentlyUsed(items, slugOf) {
24
+ const recents = read();
25
+ if (recents.length === 0) return items;
26
+ const rank = (item) => {
27
+ const at = recents.indexOf(slugOf(item));
28
+ return at === -1 ? Number.MAX_SAFE_INTEGER : at;
29
+ };
30
+ return [...items].sort((a, b) => rank(a) - rank(b));
31
+ }
32
+ export {
33
+ byRecentlyUsed,
34
+ noteWorkspaceUsed,
35
+ readWorkspaceRecents
36
+ };
37
+ //# sourceMappingURL=workspace-recents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/workspace-recents.ts"],"sourcesContent":["const KEY = 'pb_workspace_recents';\n/** Enough to order any menu; a merchant with more reads them on the page. */\nconst CAP = 12;\n\n/**\n * Which workspaces this person actually works in, most recent first.\n *\n * The switcher shows two of them before deferring to the full page, and two\n * slots picked by whatever order the API returned is a coin toss — an agency\n * with eight clients got the same two every time regardless of which they had\n * open all morning. Recency is the only ordering that improves with use.\n *\n * Nothing on the server records this. It is not worth a column: it is a per\n * PERSON, per DEVICE convenience, the answer changes every time somebody\n * switches, and being wrong costs one extra click into a page that lists\n * everything. localStorage rather than session, because \"the two I always use\"\n * is exactly the fact that should survive closing the tab.\n *\n * Deliberately NOT surfaced as a heading. John, 2026-08-23: *\"we should have\n * recents there like recently used — no need to title it that, just how it\n * should be.\"* A list that reorders itself does not need to announce that it\n * reorders itself.\n */\nexport function noteWorkspaceUsed(slug: string): void {\n if (typeof window === 'undefined' || !slug) return;\n try {\n const next = [slug, ...read().filter((s) => s !== slug)].slice(0, CAP);\n window.localStorage.setItem(KEY, JSON.stringify(next));\n } catch {\n // Private mode, or storage full. An unordered switcher is still a\n // switcher; this must never be able to break making a workspace active.\n }\n}\n\n/** Most recent first. Empty until somebody has switched at least once. */\nexport function readWorkspaceRecents(): string[] {\n return read();\n}\n\nfunction read(): string[] {\n if (typeof window === 'undefined') return [];\n try {\n const raw = JSON.parse(window.localStorage.getItem(KEY) || '[]');\n // A 200 with the wrong shape is the failure `= []` does not cover, and\n // this one is read straight into a sort comparator.\n return Array.isArray(raw) ? raw.filter((s) => typeof s === 'string') : [];\n } catch {\n return [];\n }\n}\n\n/**\n * Order workspaces by when they were last opened, unseen ones keeping their\n * incoming order behind the rest.\n *\n * A stable sort, so two workspaces nobody has opened stay in the order the API\n * gave them rather than swapping on every render.\n */\nexport function byRecentlyUsed<T>(\n items: T[],\n slugOf: (item: T) => string,\n): T[] {\n const recents = read();\n if (recents.length === 0) return items;\n const rank = (item: T) => {\n const at = recents.indexOf(slugOf(item));\n return at === -1 ? Number.MAX_SAFE_INTEGER : at;\n };\n return [...items].sort((a, b) => rank(a) - rank(b));\n}\n"],"mappings":"AAAA,MAAM,MAAM;AAEZ,MAAM,MAAM;AAqBL,SAAS,kBAAkB,MAAoB;AACpD,MAAI,OAAO,WAAW,eAAe,CAAC,KAAM;AAC5C,MAAI;AACF,UAAM,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC,MAAM,MAAM,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;AACrE,WAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,IAAI,CAAC;AAAA,EACvD,QAAQ;AAAA,EAGR;AACF;AAGO,SAAS,uBAAiC;AAC/C,SAAO,KAAK;AACd;AAEA,SAAS,OAAiB;AACxB,MAAI,OAAO,WAAW,YAAa,QAAO,CAAC;AAC3C,MAAI;AACF,UAAM,MAAM,KAAK,MAAM,OAAO,aAAa,QAAQ,GAAG,KAAK,IAAI;AAG/D,WAAO,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,CAAC,MAAM,OAAO,MAAM,QAAQ,IAAI,CAAC;AAAA,EAC1E,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AASO,SAAS,eACd,OACA,QACK;AACL,QAAM,UAAU,KAAK;AACrB,MAAI,QAAQ,WAAW,EAAG,QAAO;AACjC,QAAM,OAAO,CAAC,SAAY;AACxB,UAAM,KAAK,QAAQ,QAAQ,OAAO,IAAI,CAAC;AACvC,WAAO,OAAO,KAAK,OAAO,mBAAmB;AAAA,EAC/C;AACA,SAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;AACpD;","names":[]}
@@ -0,0 +1 @@
1
+ export declare function adoptRenamedWorkspace(oldSlug: string, newSlug: string): void;
@@ -0,0 +1,15 @@
1
+ const KEYS = ["currentWorkspace", "pb_current_tenant", "pb_last_workspace"];
2
+ function adoptRenamedWorkspace(oldSlug, newSlug) {
3
+ try {
4
+ for (const key of KEYS) {
5
+ if (localStorage.getItem(key) === oldSlug) {
6
+ localStorage.setItem(key, newSlug);
7
+ }
8
+ }
9
+ } catch {
10
+ }
11
+ }
12
+ export {
13
+ adoptRenamedWorkspace
14
+ };
15
+ //# sourceMappingURL=workspace-slug.js.map