@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,13 @@
1
+ "use client";
2
+ import { usePermissions } from "./use-permissions";
3
+ import {
4
+ resolveMoneyVisibility
5
+ } from "./money-visibility";
6
+ function useMoneyVisibility() {
7
+ const { can, loading } = usePermissions();
8
+ return { ...resolveMoneyVisibility(can), loading };
9
+ }
10
+ export {
11
+ useMoneyVisibility
12
+ };
13
+ //# sourceMappingURL=use-money-visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-money-visibility.ts"],"sourcesContent":["'use client';\n\nimport { usePermissions } from './use-permissions';\nimport {\n resolveMoneyVisibility,\n type MoneyVisibility,\n} from './money-visibility';\n\n/**\n * Whether this person is allowed to see money.\n *\n * Every currency figure in the dashboard asks this rather than calling\n * `can('canViewFinance')` directly, and that indirection is what let the\n * amounts/earnings split land in one file instead of a sweep across every\n * screen that renders a naira sign. See `money-visibility.ts` for where the\n * line falls and why.\n */\nexport function useMoneyVisibility(): MoneyVisibility & { loading: boolean } {\n const { can, loading } = usePermissions();\n return { ...resolveMoneyVisibility(can), loading };\n}\n\nexport type { MoneyVisibility };\n"],"mappings":";AAEA,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OAEK;AAWA,SAAS,qBAA6D;AAC3E,QAAM,EAAE,KAAK,QAAQ,IAAI,eAAe;AACxC,SAAO,EAAE,GAAG,uBAAuB,GAAG,GAAG,QAAQ;AACnD;","names":[]}
@@ -0,0 +1,27 @@
1
+ import { type NavGroup } from '@withpotter/components/sidebar/config';
2
+ import type { RouteRule } from '@withpotter/lib/route-permission';
3
+ export declare function useNavGroups(): NavGroup[];
4
+ /**
5
+ * Every destination this business has, with the grant each one asks for —
6
+ * before anybody's permissions are applied to it.
7
+ *
8
+ * `useNavGroups` returns what THIS person may see, which cannot answer "may
9
+ * this person be here": a row missing from their nav is missing for four
10
+ * different reasons, and only one of them is permission. Built from the same
11
+ * table with the filter switched off, so the sidebar and the page gate can
12
+ * never drift into disagreeing about which grant a screen needs.
13
+ */
14
+ export declare function useAllNavRoutes(): RouteRule[];
15
+ /**
16
+ * What the nav calls the row that owns this route.
17
+ *
18
+ * `resolveScreenTitle` answers this for the archetype rows, and answers nothing
19
+ * for the rest — Analytics, Payments, Templates, Help and the settings tree are
20
+ * platform rows that live in the spine rather than in an intent's nav. Those
21
+ * are most of the 94 screens that sit on no page frame, so without this they
22
+ * reach the tab with no name of their own.
23
+ *
24
+ * Deepest href wins, so /dashboard/settings/team is Team rather than the
25
+ * Settings row above it.
26
+ */
27
+ export declare function useNavScreenName(): string | undefined;
@@ -0,0 +1,141 @@
1
+ "use client";
2
+ import { useMemo } from "react";
3
+ import { usePathname } from "@withpotter/lib/use-pathname";
4
+ import { effectiveModuleLabels } from "./effective-module-labels";
5
+ import { useAuth } from "@withpotter/lib/auth-context";
6
+ import { useCurrentTemplate } from "@withpotter/lib/template-context";
7
+ import { usePlatformModules } from "@withpotter/lib/use-platform-modules";
8
+ import { useIntentConfig } from "@withpotter/lib/intents/use-intent-config";
9
+ import { usePermissions } from "@withpotter/lib/use-permissions";
10
+ import { resolveEnabledBehaviors } from "@withpotter/lib/resolve-enabled-behaviors";
11
+ import { isSalesChannel } from "@withpotter/hooks/use-sales-channel";
12
+ import { buildNavGroups } from "@withpotter/components/sidebar/build-nav-groups";
13
+ import {
14
+ ACCOUNT_GROUPS,
15
+ BUSINESS_GROUPS
16
+ } from "@withpotter/components/sidebar/config";
17
+ import { businessItems, customizationItems } from "@withpotter/lib/navigation-groups";
18
+ function useNavDeps() {
19
+ const { tenant } = useAuth();
20
+ const { template, dashboardState } = useCurrentTemplate(tenant?.templateId);
21
+ const settings = tenant?.settings;
22
+ const moduleLabels = effectiveModuleLabels(settings);
23
+ const hiddenModules = settings?.hiddenModules;
24
+ const salesChannel = isSalesChannel(settings?.salesChannel) ? settings.salesChannel : null;
25
+ const enabledBehaviors = useMemo(
26
+ () => resolveEnabledBehaviors(settings, template),
27
+ [settings, template]
28
+ );
29
+ const { coreNavigation } = usePlatformModules({
30
+ template,
31
+ dashboardState,
32
+ enabledBehaviors,
33
+ hiddenModules,
34
+ moduleLabels,
35
+ moduleOrder: settings?.moduleOrder
36
+ });
37
+ const intentConfig = useIntentConfig();
38
+ return useMemo(
39
+ () => ({
40
+ hiddenModules,
41
+ moduleLabels,
42
+ enabledBehaviors,
43
+ inPersonOnly: salesChannel === "in_person",
44
+ intentConfig,
45
+ coreNavigation,
46
+ template
47
+ }),
48
+ [
49
+ hiddenModules,
50
+ moduleLabels,
51
+ enabledBehaviors,
52
+ salesChannel,
53
+ intentConfig,
54
+ coreNavigation,
55
+ template
56
+ ]
57
+ );
58
+ }
59
+ function useNavGroups() {
60
+ const deps = useNavDeps();
61
+ const { can, isOwner, loading: permissionsLoading } = usePermissions();
62
+ return useMemo(
63
+ () => buildNavGroups({ ...deps, isOwner, can, permissionsLoading }),
64
+ [deps, isOwner, can, permissionsLoading]
65
+ );
66
+ }
67
+ function useAllNavRoutes() {
68
+ const deps = useNavDeps();
69
+ return useMemo(() => {
70
+ const groups = buildNavGroups({
71
+ ...deps,
72
+ isOwner: true,
73
+ can: () => true,
74
+ permissionsLoading: false
75
+ });
76
+ const rules = [];
77
+ const walk = (items) => {
78
+ for (const item of items) {
79
+ if (item.href) {
80
+ rules.push({
81
+ href: item.href,
82
+ requiredPermission: item.requiredPermission
83
+ });
84
+ }
85
+ if (item.children?.length) walk(item.children);
86
+ }
87
+ };
88
+ for (const group of groups) {
89
+ if (group.href) {
90
+ rules.push({
91
+ href: group.href,
92
+ requiredPermission: group.requiredPermission
93
+ });
94
+ }
95
+ for (const section of group.sections ?? []) walk(section.items);
96
+ walk(group.items ?? []);
97
+ }
98
+ return rules;
99
+ }, [deps]);
100
+ }
101
+ function useNavScreenName() {
102
+ const groups = useNavGroups();
103
+ const pathname = usePathname();
104
+ return useMemo(() => {
105
+ const path = (pathname ?? "").replace(/\/+$/, "");
106
+ let best;
107
+ const consider = (name, href) => {
108
+ if (!name || !href) return;
109
+ const target = href.split("?")[0].replace(/\/+$/, "");
110
+ if (path !== target && !path.startsWith(`${target}/`)) return;
111
+ if (!best || target.length > best.depth) {
112
+ best = { name, depth: target.length };
113
+ }
114
+ };
115
+ const walk = (items) => items?.forEach((item) => {
116
+ consider(item.name, item.href);
117
+ walk(item.children);
118
+ });
119
+ groups.forEach((group) => {
120
+ consider(group.label, group.href);
121
+ walk(group.items);
122
+ group.sections?.forEach((section) => walk(section.items));
123
+ });
124
+ [...ACCOUNT_GROUPS, ...BUSINESS_GROUPS].forEach(
125
+ (group) => group.items.forEach((item) => {
126
+ consider(item.name, item.href);
127
+ item.match?.forEach((href) => consider(item.name, href));
128
+ })
129
+ );
130
+ [...customizationItems, ...businessItems].forEach(
131
+ (item) => consider(item.name, item.href)
132
+ );
133
+ return best?.name;
134
+ }, [groups, pathname]);
135
+ }
136
+ export {
137
+ useAllNavRoutes,
138
+ useNavGroups,
139
+ useNavScreenName
140
+ };
141
+ //# sourceMappingURL=use-nav-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-nav-groups.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { usePathname } from '@withpotter/lib/use-pathname';\nimport { effectiveModuleLabels } from './effective-module-labels';\nimport { useAuth } from '@withpotter/lib/auth-context';\nimport { useCurrentTemplate } from '@withpotter/lib/template-context';\nimport { usePlatformModules } from '@withpotter/lib/use-platform-modules';\nimport { useIntentConfig } from '@withpotter/lib/intents/use-intent-config';\nimport { usePermissions } from '@withpotter/lib/use-permissions';\nimport { resolveEnabledBehaviors } from '@withpotter/lib/resolve-enabled-behaviors';\nimport { isSalesChannel } from '@withpotter/hooks/use-sales-channel';\nimport { buildNavGroups } from '@withpotter/components/sidebar/build-nav-groups';\nimport {\n ACCOUNT_GROUPS,\n BUSINESS_GROUPS,\n type NavGroup,\n type NavItem,\n} from '@withpotter/components/sidebar/config';\nimport type { RouteRule } from '@withpotter/lib/route-permission';\nimport { businessItems, customizationItems } from '@withpotter/lib/navigation-groups';\n\n/**\n * The sidebar's own groups, for callers that need to know what the nav shows\n * without being the sidebar.\n *\n * The deps this builder wants are a fixed dozen, and assembling them was\n * already copied out once into the editor's jump targets. This is that\n * assembly, named — permissions, hidden modules, archetype collapsing and the\n * merchant's own module labels all arrive already applied, because they are\n * applied inside `buildNavGroups`.\n *\n * Calls `useIntentConfig`, which calls `useSearchParams`. A caller in a layout\n * needs a Suspense boundary above it or the whole route bails out of rendering.\n */\nfunction useNavDeps() {\n const { tenant } = useAuth();\n const { template, dashboardState } = useCurrentTemplate(tenant?.templateId);\n\n const settings = tenant?.settings as Record<string, unknown> | undefined;\n const moduleLabels = effectiveModuleLabels(settings);\n const hiddenModules = settings?.hiddenModules as string[] | undefined;\n const salesChannel = isSalesChannel(settings?.salesChannel)\n ? settings.salesChannel\n : null;\n\n // Resolved first: the core list gates its modules on these, and the raw\n // stored field knows nothing of the merchant's own switches.\n const enabledBehaviors = useMemo(\n () => resolveEnabledBehaviors(settings, template),\n [settings, template],\n );\n\n const { coreNavigation } = usePlatformModules({\n template,\n dashboardState,\n enabledBehaviors,\n hiddenModules,\n moduleLabels,\n moduleOrder: settings?.moduleOrder as string[] | undefined,\n });\n\n const intentConfig = useIntentConfig();\n\n return useMemo(\n () => ({\n hiddenModules,\n moduleLabels,\n enabledBehaviors,\n inPersonOnly: salesChannel === 'in_person',\n intentConfig,\n coreNavigation,\n template,\n }),\n [\n hiddenModules,\n moduleLabels,\n enabledBehaviors,\n salesChannel,\n intentConfig,\n coreNavigation,\n template,\n ],\n );\n}\n\nexport function useNavGroups(): NavGroup[] {\n const deps = useNavDeps();\n const { can, isOwner, loading: permissionsLoading } = usePermissions();\n\n return useMemo(\n () => buildNavGroups({ ...deps, isOwner, can, permissionsLoading }),\n [deps, isOwner, can, permissionsLoading],\n );\n}\n\n/**\n * Every destination this business has, with the grant each one asks for —\n * before anybody's permissions are applied to it.\n *\n * `useNavGroups` returns what THIS person may see, which cannot answer \"may\n * this person be here\": a row missing from their nav is missing for four\n * different reasons, and only one of them is permission. Built from the same\n * table with the filter switched off, so the sidebar and the page gate can\n * never drift into disagreeing about which grant a screen needs.\n */\nexport function useAllNavRoutes(): RouteRule[] {\n const deps = useNavDeps();\n\n return useMemo(() => {\n const groups = buildNavGroups({\n ...deps,\n isOwner: true,\n can: () => true,\n permissionsLoading: false,\n });\n\n const rules: RouteRule[] = [];\n const walk = (items: NavItem[]) => {\n for (const item of items) {\n if (item.href) {\n rules.push({\n href: item.href,\n requiredPermission: item.requiredPermission,\n });\n }\n if (item.children?.length) walk(item.children);\n }\n };\n\n for (const group of groups) {\n if (group.href) {\n rules.push({\n href: group.href,\n requiredPermission: group.requiredPermission,\n });\n }\n for (const section of group.sections ?? []) walk(section.items);\n walk(group.items ?? []);\n }\n return rules;\n }, [deps]);\n}\n\n/**\n * What the nav calls the row that owns this route.\n *\n * `resolveScreenTitle` answers this for the archetype rows, and answers nothing\n * for the rest — Analytics, Payments, Templates, Help and the settings tree are\n * platform rows that live in the spine rather than in an intent's nav. Those\n * are most of the 94 screens that sit on no page frame, so without this they\n * reach the tab with no name of their own.\n *\n * Deepest href wins, so /dashboard/settings/team is Team rather than the\n * Settings row above it.\n */\nexport function useNavScreenName(): string | undefined {\n const groups = useNavGroups();\n const pathname = usePathname();\n\n return useMemo(() => {\n const path = (pathname ?? '').replace(/\\/+$/, '');\n let best: { name: string; depth: number } | undefined;\n\n const consider = (name: string | undefined, href: string | undefined) => {\n if (!name || !href) return;\n const target = href.split('?')[0].replace(/\\/+$/, '');\n if (path !== target && !path.startsWith(`${target}/`)) return;\n if (!best || target.length > best.depth) {\n best = { name, depth: target.length };\n }\n };\n\n const walk = (items: NavItem[] | undefined) =>\n items?.forEach((item) => {\n consider(item.name, item.href);\n walk(item.children);\n });\n\n groups.forEach((group) => {\n consider(group.label, group.href);\n walk(group.items);\n group.sections?.forEach((section) => walk(section.items));\n });\n\n // The account and settings rail is a third list, and a static one — it\n // takes no deps and never varies by archetype, which is why it is a plain\n // constant rather than something the builder assembles. Workspaces, Account\n // and the settings sections are only reachable through it.\n [...ACCOUNT_GROUPS, ...BUSINESS_GROUPS].forEach((group) =>\n group.items.forEach((item) => {\n consider(item.name, item.href);\n // A collapsed row can own routes it does not link to — Team & permissions\n // owns /settings/roles, Shipping owns /settings/service-areas. The rail\n // already says so in order to keep itself highlighted, and that is the\n // same question the tab is asking.\n item.match?.forEach((href) => consider(item.name, href));\n }),\n );\n\n // And a fourth list, the one the Settings and Website hubs are built from.\n // Several screens are reachable only through a hub tile — the editor,\n // Templates, SEO, Payouts — so the sidebar never names them and they were\n // arriving at the tab anonymous. The tile that opens a screen is as good a\n // name for it as a sidebar row is, and it is already written down.\n [...customizationItems, ...businessItems].forEach((item) =>\n consider(item.name, item.href),\n );\n\n return best?.name;\n }, [groups, pathname]);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,15 @@
1
+ /** The raw cookie string, so useSyncExternalStore compares by value. */
2
+ export declare function readAliasCookie(): string;
3
+ /**
4
+ * The route a screen REALLY lives at, not the address the merchant sees.
5
+ *
6
+ * Screens show up as /dashboard/<their word for it> (see
7
+ * `lib/destination-alias.ts`), but navigation, permissions, the sidebar's
8
+ * active row and the page's own title are all keyed on the real route. Use this
9
+ * wherever the path is READ to decide something.
10
+ *
11
+ * Do not use it to build a URL to navigate to: `router.replace(pathname)` with
12
+ * the real route works (the proxy sends it to the word) but costs a redirect,
13
+ * so those callers use next/navigation's own hook.
14
+ */
15
+ export declare function usePathname(): string;
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { useSyncExternalStore } from "react";
3
+ import { usePathname as useNextPathname } from "next/navigation";
4
+ import {
5
+ DEST_ALIAS_COOKIE,
6
+ parseAliasMap,
7
+ toRealPath
8
+ } from "@withpotter/lib/destination-alias";
9
+ function readAliasCookie() {
10
+ try {
11
+ const match = document.cookie.split("; ").find((c) => c.startsWith(`${DEST_ALIAS_COOKIE}=`));
12
+ return match ? match.slice(DEST_ALIAS_COOKIE.length + 1) : "";
13
+ } catch {
14
+ return "";
15
+ }
16
+ }
17
+ const subscribe = () => () => {
18
+ };
19
+ const serverCookie = () => "";
20
+ function usePathname() {
21
+ const raw = useNextPathname();
22
+ const cookie = useSyncExternalStore(subscribe, readAliasCookie, serverCookie);
23
+ return cookie && raw ? toRealPath(raw, parseAliasMap(cookie)) : raw;
24
+ }
25
+ export {
26
+ readAliasCookie,
27
+ usePathname
28
+ };
29
+ //# sourceMappingURL=use-pathname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-pathname.ts"],"sourcesContent":["'use client';\n\nimport { useSyncExternalStore } from 'react';\nimport { usePathname as useNextPathname } from 'next/navigation';\nimport {\n DEST_ALIAS_COOKIE,\n parseAliasMap,\n toRealPath,\n} from '@withpotter/lib/destination-alias';\n\n/** The raw cookie string, so useSyncExternalStore compares by value. */\nexport function readAliasCookie(): string {\n try {\n const match = document.cookie\n .split('; ')\n .find((c) => c.startsWith(`${DEST_ALIAS_COOKIE}=`));\n return match ? match.slice(DEST_ALIAS_COOKIE.length + 1) : '';\n } catch {\n return '';\n }\n}\n\nconst subscribe = () => () => {};\nconst serverCookie = () => '';\n\n/**\n * The route a screen REALLY lives at, not the address the merchant sees.\n *\n * Screens show up as /dashboard/<their word for it> (see\n * `lib/destination-alias.ts`), but navigation, permissions, the sidebar's\n * active row and the page's own title are all keyed on the real route. Use this\n * wherever the path is READ to decide something.\n *\n * Do not use it to build a URL to navigate to: `router.replace(pathname)` with\n * the real route works (the proxy sends it to the word) but costs a redirect,\n * so those callers use next/navigation's own hook.\n */\nexport function usePathname(): string {\n const raw = useNextPathname();\n const cookie = useSyncExternalStore(subscribe, readAliasCookie, serverCookie);\n return cookie && raw ? toRealPath(raw, parseAliasMap(cookie)) : raw;\n}\n"],"mappings":";AAEA,SAAS,4BAA4B;AACrC,SAAS,eAAe,uBAAuB;AAC/C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGA,SAAS,kBAA0B;AACxC,MAAI;AACF,UAAM,QAAQ,SAAS,OACpB,MAAM,IAAI,EACV,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,CAAC;AACpD,WAAO,QAAQ,MAAM,MAAM,kBAAkB,SAAS,CAAC,IAAI;AAAA,EAC7D,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,MAAM,YAAY,MAAM,MAAM;AAAC;AAC/B,MAAM,eAAe,MAAM;AAcpB,SAAS,cAAsB;AACpC,QAAM,MAAM,gBAAgB;AAC5B,QAAM,SAAS,qBAAqB,WAAW,iBAAiB,YAAY;AAC5E,SAAO,UAAU,MAAM,WAAW,KAAK,cAAc,MAAM,CAAC,IAAI;AAClE;","names":[]}
@@ -0,0 +1,43 @@
1
+ import { type TeamMemberResponse } from './api';
2
+ import { type PermissionChange } from './permission-change';
3
+ import { type MembershipOutcome } from './membership-freshness';
4
+ /**
5
+ * Canonical set of team permission keys. Kept as a runtime constant so
6
+ * TypeScript can derive the union without depending on the api package.
7
+ */
8
+ export declare const PERMISSION_KEYS: readonly ["canManageProducts", "canViewProducts", "canManageOrders", "canViewOrders", "canManageMembers", "canViewMembers", "canManageDiscounts", "canViewDiscounts", "canManageReviews", "canViewReviews", "canManageAnalytics", "canViewAnalytics", "canManageFinance", "canViewFinance", "canApproveMoneyMovement", "canManageSettings", "canManageBusinessProfile", "canViewWebsite", "canManageDomains", "canManageEditor", "canManageBlog", "canViewBlog", "canManageHardware", "canViewHardware", "canManageTeam", "canManageCommunications", "canViewCommunications"];
9
+ export type PermissionKey = (typeof PERMISSION_KEYS)[number];
10
+ interface UsePermissionsResult {
11
+ loading: boolean;
12
+ role: TeamMemberResponse['role'] | null;
13
+ permissions: Record<PermissionKey, boolean>;
14
+ /** Convenience: true when the current user is an OWNER (can do anything). */
15
+ isOwner: boolean;
16
+ /** Convenience: true when the user is a viewer (can only view). */
17
+ isViewer: boolean;
18
+ /**
19
+ * `removed` once the api has said this account is not a member of the active
20
+ * tenant. Only ever set from a real answer (a 403/404, or a 200 with no
21
+ * membership) — never from a timeout, or a flaky connection would eject
22
+ * people from their own workspace.
23
+ */
24
+ membership: MembershipOutcome;
25
+ /**
26
+ * Set when the effective permissions changed between two fetches of the same
27
+ * session — i.e. somebody altered this person's access while they were
28
+ * working. Null on first load, and null again once acknowledged.
29
+ */
30
+ permissionChange: PermissionChange | null;
31
+ /** Dismiss the change notice. */
32
+ acknowledgePermissionChange: () => void;
33
+ can: (permission: PermissionKey) => boolean;
34
+ refresh: () => Promise<void>;
35
+ }
36
+ /**
37
+ * Fetches the current user's team membership + effective permissions for
38
+ * the active tenant. Components use `can('canManageProducts')` to gate
39
+ * write actions in the UI. The backend still enforces every write via
40
+ * `PermissionsGuard`, so this is UX only — do not treat it as security.
41
+ */
42
+ export declare function usePermissions(): UsePermissionsResult;
43
+ export {};
@@ -0,0 +1,158 @@
1
+ "use client";
2
+ import { useEffect, useRef, useState, useCallback, useMemo } from "react";
3
+ import { useAuth } from "./auth-context";
4
+ import { teamApi } from "./api";
5
+ import { diffPermissions } from "./permission-change";
6
+ import { grantsKey } from "./permission-aliases";
7
+ import {
8
+ isMembershipStale,
9
+ classifyMembershipError,
10
+ outcomeForMember
11
+ } from "./membership-freshness";
12
+ const PERMISSION_KEYS = [
13
+ "canManageProducts",
14
+ "canViewProducts",
15
+ "canManageOrders",
16
+ "canViewOrders",
17
+ "canManageMembers",
18
+ "canViewMembers",
19
+ "canManageDiscounts",
20
+ "canViewDiscounts",
21
+ "canManageReviews",
22
+ "canViewReviews",
23
+ "canManageAnalytics",
24
+ "canViewAnalytics",
25
+ "canManageFinance",
26
+ "canViewFinance",
27
+ // Moves money out of the wallet. Owners hold it by default; nobody else does.
28
+ "canApproveMoneyMovement",
29
+ "canManageSettings",
30
+ "canManageBusinessProfile",
31
+ "canViewWebsite",
32
+ "canManageDomains",
33
+ "canManageEditor",
34
+ "canManageBlog",
35
+ "canViewBlog",
36
+ // Tills, readers and gates. Not folded into Finance, which this surface
37
+ // borrowed for want of anything else: a shop manager who must never see a
38
+ // payout still has to be able to pair the till that stopped on a Saturday.
39
+ "canManageHardware",
40
+ "canViewHardware",
41
+ "canManageTeam",
42
+ "canManageCommunications",
43
+ "canViewCommunications"
44
+ ];
45
+ const EMPTY_PERMISSIONS = PERMISSION_KEYS.reduce(
46
+ (acc, key) => ({ ...acc, [key]: false }),
47
+ {}
48
+ );
49
+ function usePermissions() {
50
+ const { tenant, user } = useAuth();
51
+ const [loading, setLoading] = useState(true);
52
+ const [member, setMember] = useState(null);
53
+ const [membership, setMembership] = useState("unknown");
54
+ const lastFetchedAt = useRef(null);
55
+ const [permissionChange, setPermissionChange] = useState(null);
56
+ const previousPermissions = useRef(null);
57
+ const load = useCallback(
58
+ async (background) => {
59
+ if (!tenant?.slug || !user) {
60
+ setMember(null);
61
+ setMembership("unknown");
62
+ setLoading(false);
63
+ return;
64
+ }
65
+ if (user.currentWorkspace?.role === "owner") {
66
+ setMember(null);
67
+ setMembership("active");
68
+ setLoading(false);
69
+ return;
70
+ }
71
+ if (!background) setLoading(true);
72
+ try {
73
+ const me = await teamApi.me(tenant.slug);
74
+ setMember(me);
75
+ setMembership(outcomeForMember(me));
76
+ } catch (error) {
77
+ const outcome = classifyMembershipError(error);
78
+ if (!background || outcome === "removed") setMember(null);
79
+ if (outcome === "removed") setMembership("removed");
80
+ } finally {
81
+ lastFetchedAt.current = Date.now();
82
+ if (!background) setLoading(false);
83
+ }
84
+ },
85
+ [tenant?.slug, user]
86
+ );
87
+ useEffect(() => {
88
+ lastFetchedAt.current = null;
89
+ previousPermissions.current = null;
90
+ setPermissionChange(null);
91
+ void load();
92
+ }, [load]);
93
+ useEffect(() => {
94
+ if (!tenant?.slug || !user) return;
95
+ if (user.currentWorkspace?.role === "owner") return;
96
+ const recheck = () => {
97
+ if (document.visibilityState === "hidden") return;
98
+ if (!isMembershipStale(lastFetchedAt.current, Date.now())) return;
99
+ void load(true);
100
+ };
101
+ window.addEventListener("focus", recheck);
102
+ document.addEventListener("visibilitychange", recheck);
103
+ return () => {
104
+ window.removeEventListener("focus", recheck);
105
+ document.removeEventListener("visibilitychange", recheck);
106
+ };
107
+ }, [load, tenant?.slug, user]);
108
+ const workspacePermissions = user?.currentWorkspace?.permissions;
109
+ const permissions = useMemo(() => {
110
+ const effectivePermissions = member?.effectivePermissions ?? workspacePermissions;
111
+ return effectivePermissions ? PERMISSION_KEYS.reduce(
112
+ (acc, key) => ({
113
+ ...acc,
114
+ // Through its alias too: see permission-aliases.ts.
115
+ [key]: grantsKey(effectivePermissions, key)
116
+ }),
117
+ {}
118
+ ) : EMPTY_PERMISSIONS;
119
+ }, [member, workspacePermissions]);
120
+ useEffect(() => {
121
+ if (loading) return;
122
+ const change = diffPermissions(previousPermissions.current, permissions);
123
+ previousPermissions.current = permissions;
124
+ if (change) setPermissionChange(change);
125
+ }, [loading, permissions]);
126
+ const acknowledgePermissionChange = useCallback(
127
+ () => setPermissionChange(null),
128
+ []
129
+ );
130
+ const isWorkspaceOwner = user?.currentWorkspace?.role === "owner";
131
+ const isOwner = member?.role === "owner" || isWorkspaceOwner;
132
+ const role = member?.role ?? user?.currentWorkspace?.role ?? null;
133
+ const isViewer = role === "viewer";
134
+ const can = useCallback(
135
+ (permission) => {
136
+ if (isOwner) return true;
137
+ return Boolean(permissions[permission]);
138
+ },
139
+ [isOwner, permissions]
140
+ );
141
+ return {
142
+ loading,
143
+ role,
144
+ permissions,
145
+ isOwner,
146
+ isViewer,
147
+ membership,
148
+ permissionChange,
149
+ acknowledgePermissionChange,
150
+ can,
151
+ refresh: load
152
+ };
153
+ }
154
+ export {
155
+ PERMISSION_KEYS,
156
+ usePermissions
157
+ };
158
+ //# sourceMappingURL=use-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/use-permissions.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react';\nimport { useAuth } from './auth-context';\nimport { teamApi, type TeamMemberResponse } from './api';\nimport { diffPermissions, type PermissionChange } from './permission-change';\nimport { grantsKey } from './permission-aliases';\nimport {\n isMembershipStale,\n classifyMembershipError,\n outcomeForMember,\n type MembershipOutcome,\n} from './membership-freshness';\n\n/**\n * Canonical set of team permission keys. Kept as a runtime constant so\n * TypeScript can derive the union without depending on the api package.\n */\nexport const PERMISSION_KEYS = [\n 'canManageProducts',\n 'canViewProducts',\n 'canManageOrders',\n 'canViewOrders',\n 'canManageMembers',\n 'canViewMembers',\n 'canManageDiscounts',\n 'canViewDiscounts',\n 'canManageReviews',\n 'canViewReviews',\n 'canManageAnalytics',\n 'canViewAnalytics',\n 'canManageFinance',\n 'canViewFinance',\n // Moves money out of the wallet. Owners hold it by default; nobody else does.\n 'canApproveMoneyMovement',\n 'canManageSettings',\n 'canManageBusinessProfile',\n 'canViewWebsite',\n 'canManageDomains',\n 'canManageEditor',\n 'canManageBlog',\n 'canViewBlog',\n // Tills, readers and gates. Not folded into Finance, which this surface\n // borrowed for want of anything else: a shop manager who must never see a\n // payout still has to be able to pair the till that stopped on a Saturday.\n 'canManageHardware',\n 'canViewHardware',\n 'canManageTeam',\n 'canManageCommunications',\n 'canViewCommunications',\n] as const;\n\nexport type PermissionKey = (typeof PERMISSION_KEYS)[number];\n\n/**\n * Permission map with every key defaulted to false. Used before the\n * network response resolves so the UI stays read-only rather than\n * flashing an admin view for a viewer.\n */\nconst EMPTY_PERMISSIONS: Record<PermissionKey, boolean> =\n PERMISSION_KEYS.reduce(\n (acc, key) => ({ ...acc, [key]: false }),\n {} as Record<PermissionKey, boolean>,\n );\n\ninterface UsePermissionsResult {\n loading: boolean;\n role: TeamMemberResponse['role'] | null;\n permissions: Record<PermissionKey, boolean>;\n /** Convenience: true when the current user is an OWNER (can do anything). */\n isOwner: boolean;\n /** Convenience: true when the user is a viewer (can only view). */\n isViewer: boolean;\n /**\n * `removed` once the api has said this account is not a member of the active\n * tenant. Only ever set from a real answer (a 403/404, or a 200 with no\n * membership) — never from a timeout, or a flaky connection would eject\n * people from their own workspace.\n */\n membership: MembershipOutcome;\n /**\n * Set when the effective permissions changed between two fetches of the same\n * session — i.e. somebody altered this person's access while they were\n * working. Null on first load, and null again once acknowledged.\n */\n permissionChange: PermissionChange | null;\n /** Dismiss the change notice. */\n acknowledgePermissionChange: () => void;\n can: (permission: PermissionKey) => boolean;\n refresh: () => Promise<void>;\n}\n\n/**\n * Fetches the current user's team membership + effective permissions for\n * the active tenant. Components use `can('canManageProducts')` to gate\n * write actions in the UI. The backend still enforces every write via\n * `PermissionsGuard`, so this is UX only — do not treat it as security.\n */\nexport function usePermissions(): UsePermissionsResult {\n const { tenant, user } = useAuth();\n const [loading, setLoading] = useState(true);\n const [member, setMember] = useState<TeamMemberResponse | null>(null);\n const [membership, setMembership] = useState<MembershipOutcome>('unknown');\n const lastFetchedAt = useRef<number | null>(null);\n const [permissionChange, setPermissionChange] =\n useState<PermissionChange | null>(null);\n // The map as it was the last time we looked. A ref, not state: comparing is a\n // side effect of the next fetch, and putting it in state would re-render\n // everything that reads this hook for no visible reason.\n const previousPermissions = useRef<Record<string, boolean> | null>(null);\n\n /**\n * `background` is a re-check of someone already known: it must not look like\n * a first load. It used to set `loading` and, on a failed request, empty the\n * member, so every return to the tab (a phone call, switching apps) made the\n * screens that wait on `loading` hide and reappear, and a flaky connection\n * locked sections until the next check. A background check keeps what it\n * knew until the API actually answers.\n */\n const load = useCallback(\n async (background?: boolean) => {\n if (!tenant?.slug || !user) {\n setMember(null);\n setMembership('unknown');\n setLoading(false);\n return;\n }\n if (user.currentWorkspace?.role === 'owner') {\n setMember(null);\n setMembership('active');\n setLoading(false);\n return;\n }\n if (!background) setLoading(true);\n try {\n const me = await teamApi.me(tenant.slug);\n setMember(me);\n setMembership(outcomeForMember(me));\n } catch (error) {\n // A failure that is not an answer leaves the previous verdict alone; what\n // must not happen is a timeout reading as \"you were removed\". First load\n // collapses the permission map to empty (the UI locks down); a background\n // check keeps what it had unless the API says the access is gone.\n const outcome = classifyMembershipError(error);\n if (!background || outcome === 'removed') setMember(null);\n if (outcome === 'removed') setMembership('removed');\n } finally {\n lastFetchedAt.current = Date.now();\n if (!background) setLoading(false);\n }\n },\n [tenant?.slug, user],\n );\n\n useEffect(() => {\n // A different tenant is a different set of grants, not a change to this\n // person's access. Clearing the baseline stops a workspace switch from\n // announcing itself as somebody taking something away.\n lastFetchedAt.current = null;\n previousPermissions.current = null;\n setPermissionChange(null);\n void load();\n }, [load]);\n\n /**\n * Re-ask when the tab comes back.\n *\n * This fetched once per tenant change and then never again, so a merchant who\n * demoted or removed somebody had no effect on that person's open tab until\n * they happened to reload — the nav kept offering rows the api had already\n * started refusing. A returning tab is the cheapest honest moment to check.\n *\n * Rate-limited, because alt-tabbing is not a session change and this would\n * otherwise fire on every window switch.\n */\n useEffect(() => {\n if (!tenant?.slug || !user) return;\n if (user.currentWorkspace?.role === 'owner') return;\n\n const recheck = () => {\n if (document.visibilityState === 'hidden') return;\n if (!isMembershipStale(lastFetchedAt.current, Date.now())) return;\n void load(true);\n };\n\n window.addEventListener('focus', recheck);\n document.addEventListener('visibilitychange', recheck);\n return () => {\n window.removeEventListener('focus', recheck);\n document.removeEventListener('visibilitychange', recheck);\n };\n }, [load, tenant?.slug, user]);\n\n // Staging's workspace-permissions fallback, kept memoized (HEAD) so\n // `permissions`/`can` stay a stable reference across renders — the sidebar\n // nav tree memoizes on `can` and depends on that.\n const workspacePermissions = user?.currentWorkspace?.permissions;\n const permissions: Record<PermissionKey, boolean> = useMemo(() => {\n const effectivePermissions =\n member?.effectivePermissions ?? workspacePermissions;\n return effectivePermissions\n ? PERMISSION_KEYS.reduce(\n (acc, key) => ({\n ...acc,\n // Through its alias too: see permission-aliases.ts.\n [key]: grantsKey(effectivePermissions, key),\n }),\n {} as Record<PermissionKey, boolean>,\n )\n : EMPTY_PERMISSIONS;\n }, [member, workspacePermissions]);\n\n /**\n * Notice when access changed under a live session.\n *\n * This is the cost of re-fetching on focus: a sidebar can now change while\n * someone is mid-task. Rows appearing and disappearing with no explanation is\n * worse than the staleness it replaced, so the change gets said out loud\n * exactly once.\n */\n useEffect(() => {\n if (loading) return;\n const change = diffPermissions(previousPermissions.current, permissions);\n previousPermissions.current = permissions;\n if (change) setPermissionChange(change);\n }, [loading, permissions]);\n\n const acknowledgePermissionChange = useCallback(\n () => setPermissionChange(null),\n [],\n );\n\n const isWorkspaceOwner = user?.currentWorkspace?.role === 'owner';\n const isOwner = member?.role === 'owner' || isWorkspaceOwner;\n const role = member?.role ?? user?.currentWorkspace?.role ?? null;\n const isViewer = role === 'viewer';\n\n const can = useCallback(\n (permission: PermissionKey) => {\n if (isOwner) return true;\n return Boolean(permissions[permission]);\n },\n [isOwner, permissions],\n );\n\n return {\n loading,\n role,\n permissions,\n isOwner,\n isViewer,\n membership,\n permissionChange,\n acknowledgePermissionChange,\n can,\n refresh: load,\n };\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,49 @@
1
+ import { type LucideIcon } from 'lucide-react';
2
+ import { type TemplateConfig, type DashboardModule, type DashboardState } from './template-context';
3
+ export declare const moduleCapabilities: Record<string, string | string[]>;
4
+ export declare const platformNavigation: DashboardModule[];
5
+ declare const coreModuleDefaultIcons: Record<string, LucideIcon>;
6
+ declare const coreModuleIds: Set<string>;
7
+ declare const coreModuleOrder: string[];
8
+ export declare const universalCoreModules: (DashboardModule & {
9
+ requiredBehavior?: string | string[];
10
+ })[];
11
+ /**
12
+ * Check if a template supports a given behavior.
13
+ * Handles both array format (["subscribable", "sellable"]) and
14
+ * object format ({ enableSubscriptions: true, enableBookings: true }).
15
+ * Object keys are matched by convention: "subscribable" → enableSubscriptions/enableSubscription.
16
+ */
17
+ declare function templateHasBehavior(behaviors: unknown, behavior: string): boolean;
18
+ interface UsePlatformModulesOptions {
19
+ /** The current tenant's resolved template config (null if unavailable) */
20
+ template: TemplateConfig | null;
21
+ /** Dashboard resilience state */
22
+ dashboardState: DashboardState;
23
+ /** Tenant's enabled behaviors — overrides template behaviors when present */
24
+ enabledBehaviors?: string[];
25
+ /** Module IDs the merchant has explicitly hidden */
26
+ hiddenModules?: string[];
27
+ /** Custom labels for sidebar modules — overrides platform default names */
28
+ moduleLabels?: Record<string, string>;
29
+ /** Merchant's custom module order — array of module IDs */
30
+ moduleOrder?: string[];
31
+ }
32
+ interface UsePlatformModulesReturn {
33
+ /** Platform-owned operational modules — always present */
34
+ coreNavigation: DashboardModule[];
35
+ }
36
+ /**
37
+ * Determines which navigation modules to display in the dashboard sidebar.
38
+ *
39
+ * **Platform modules** (coreNavigation) — derived from API capabilities (behaviors).
40
+ * Always present regardless of template dashboardModules config. Behavior-gated
41
+ * modules (Inventory, Bookings, Subscriptions) appear when the tenant has enabled
42
+ * the relevant behavior. When the template is unavailable, ALL platform modules
43
+ * are shown unconditionally to prevent merchants from losing access to operational tools.
44
+ *
45
+ * This hook is the trust boundary: template corruption can never hide operational
46
+ * platform modules.
47
+ */
48
+ export declare function usePlatformModules({ template, dashboardState, enabledBehaviors, hiddenModules, moduleLabels, moduleOrder, }: UsePlatformModulesOptions): UsePlatformModulesReturn;
49
+ export { coreModuleIds, coreModuleDefaultIcons, coreModuleOrder, templateHasBehavior, };