@aglyn/plugins-commerce 1.0.0-beta.143

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 (417) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +10 -0
  3. package/package.json +57 -0
  4. package/src/index.d.ts +38 -0
  5. package/src/index.js +38 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/components/account.d.ts +31 -0
  8. package/src/lib/components/account.js +645 -0
  9. package/src/lib/components/account.js.map +1 -0
  10. package/src/lib/components/cart.d.ts +38 -0
  11. package/src/lib/components/cart.js +851 -0
  12. package/src/lib/components/cart.js.map +1 -0
  13. package/src/lib/components/commerce-console-page.d.ts +32 -0
  14. package/src/lib/components/commerce-console-page.js +296 -0
  15. package/src/lib/components/commerce-console-page.js.map +1 -0
  16. package/src/lib/components/commerce-console-sections.d.ts +34 -0
  17. package/src/lib/components/commerce-console-sections.js +62 -0
  18. package/src/lib/components/commerce-console-sections.js.map +1 -0
  19. package/src/lib/components/console/catalog-organization-card.component.d.ts +14 -0
  20. package/src/lib/components/console/catalog-organization-card.component.js +1087 -0
  21. package/src/lib/components/console/catalog-organization-card.component.js.map +1 -0
  22. package/src/lib/components/console/commerce-analytics-card.component.d.ts +27 -0
  23. package/src/lib/components/console/commerce-analytics-card.component.js +310 -0
  24. package/src/lib/components/console/commerce-analytics-card.component.js.map +1 -0
  25. package/src/lib/components/console/commerce-glance-card.component.d.ts +20 -0
  26. package/src/lib/components/console/commerce-glance-card.component.js +340 -0
  27. package/src/lib/components/console/commerce-glance-card.component.js.map +1 -0
  28. package/src/lib/components/console/commerce-stat-tile.component.d.ts +37 -0
  29. package/src/lib/components/console/commerce-stat-tile.component.js +72 -0
  30. package/src/lib/components/console/commerce-stat-tile.component.js.map +1 -0
  31. package/src/lib/components/console/discounts-card.component.d.ts +14 -0
  32. package/src/lib/components/console/discounts-card.component.js +443 -0
  33. package/src/lib/components/console/discounts-card.component.js.map +1 -0
  34. package/src/lib/components/console/entitlement-gate.component.d.ts +76 -0
  35. package/src/lib/components/console/entitlement-gate.component.js +115 -0
  36. package/src/lib/components/console/entitlement-gate.component.js.map +1 -0
  37. package/src/lib/components/console/gift-cards-card.component.d.ts +29 -0
  38. package/src/lib/components/console/gift-cards-card.component.js +379 -0
  39. package/src/lib/components/console/gift-cards-card.component.js.map +1 -0
  40. package/src/lib/components/console/host-coupons-card.component.d.ts +14 -0
  41. package/src/lib/components/console/host-coupons-card.component.js +252 -0
  42. package/src/lib/components/console/host-coupons-card.component.js.map +1 -0
  43. package/src/lib/components/console/host-orders-card.component.d.ts +13 -0
  44. package/src/lib/components/console/host-orders-card.component.js +861 -0
  45. package/src/lib/components/console/host-orders-card.component.js.map +1 -0
  46. package/src/lib/components/console/locations-card.component.d.ts +14 -0
  47. package/src/lib/components/console/locations-card.component.js +256 -0
  48. package/src/lib/components/console/locations-card.component.js.map +1 -0
  49. package/src/lib/components/console/member-posts-card.component.d.ts +8 -0
  50. package/src/lib/components/console/member-posts-card.component.js +283 -0
  51. package/src/lib/components/console/member-posts-card.component.js.map +1 -0
  52. package/src/lib/components/console/newest-site-users-card.component.d.ts +36 -0
  53. package/src/lib/components/console/newest-site-users-card.component.js +126 -0
  54. package/src/lib/components/console/newest-site-users-card.component.js.map +1 -0
  55. package/src/lib/components/console/order-detail-dialog.component.d.ts +28 -0
  56. package/src/lib/components/console/order-detail-dialog.component.js +976 -0
  57. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -0
  58. package/src/lib/components/console/paid-media.d.ts +127 -0
  59. package/src/lib/components/console/paid-media.js +397 -0
  60. package/src/lib/components/console/paid-media.js.map +1 -0
  61. package/src/lib/components/console/payments-settings-card.component.d.ts +13 -0
  62. package/src/lib/components/console/payments-settings-card.component.js +295 -0
  63. package/src/lib/components/console/payments-settings-card.component.js.map +1 -0
  64. package/src/lib/components/console/pos-page.component.d.ts +13 -0
  65. package/src/lib/components/console/pos-page.component.js +916 -0
  66. package/src/lib/components/console/pos-page.component.js.map +1 -0
  67. package/src/lib/components/console/product-editor-dialog.component.d.ts +32 -0
  68. package/src/lib/components/console/product-editor-dialog.component.js +1374 -0
  69. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -0
  70. package/src/lib/components/console/products-hub-card.component.d.ts +16 -0
  71. package/src/lib/components/console/products-hub-card.component.js +1280 -0
  72. package/src/lib/components/console/products-hub-card.component.js.map +1 -0
  73. package/src/lib/components/console/products-hub-zone.component.d.ts +50 -0
  74. package/src/lib/components/console/products-hub-zone.component.js +200 -0
  75. package/src/lib/components/console/products-hub-zone.component.js.map +1 -0
  76. package/src/lib/components/console/recovery-queue-card.component.d.ts +39 -0
  77. package/src/lib/components/console/recovery-queue-card.component.js +262 -0
  78. package/src/lib/components/console/recovery-queue-card.component.js.map +1 -0
  79. package/src/lib/components/console/registers-card.component.d.ts +21 -0
  80. package/src/lib/components/console/registers-card.component.js +296 -0
  81. package/src/lib/components/console/registers-card.component.js.map +1 -0
  82. package/src/lib/components/console/reservations-card.component.d.ts +14 -0
  83. package/src/lib/components/console/reservations-card.component.js +650 -0
  84. package/src/lib/components/console/reservations-card.component.js.map +1 -0
  85. package/src/lib/components/console/reviews-moderation-card.component.d.ts +8 -0
  86. package/src/lib/components/console/reviews-moderation-card.component.js +235 -0
  87. package/src/lib/components/console/reviews-moderation-card.component.js.map +1 -0
  88. package/src/lib/components/console/shipping-settings-card.component.d.ts +38 -0
  89. package/src/lib/components/console/shipping-settings-card.component.js +560 -0
  90. package/src/lib/components/console/shipping-settings-card.component.js.map +1 -0
  91. package/src/lib/components/console/stock-movements-card.component.d.ts +31 -0
  92. package/src/lib/components/console/stock-movements-card.component.js +333 -0
  93. package/src/lib/components/console/stock-movements-card.component.js.map +1 -0
  94. package/src/lib/components/console/store-settings-card.component.d.ts +14 -0
  95. package/src/lib/components/console/store-settings-card.component.js +300 -0
  96. package/src/lib/components/console/store-settings-card.component.js.map +1 -0
  97. package/src/lib/components/console/storefront-tax-summary-card.component.d.ts +73 -0
  98. package/src/lib/components/console/storefront-tax-summary-card.component.js +408 -0
  99. package/src/lib/components/console/storefront-tax-summary-card.component.js.map +1 -0
  100. package/src/lib/components/console/suppliers-card.component.d.ts +8 -0
  101. package/src/lib/components/console/suppliers-card.component.js +328 -0
  102. package/src/lib/components/console/suppliers-card.component.js.map +1 -0
  103. package/src/lib/components/console/tax-settings-card.component.d.ts +14 -0
  104. package/src/lib/components/console/tax-settings-card.component.js +473 -0
  105. package/src/lib/components/console/tax-settings-card.component.js.map +1 -0
  106. package/src/lib/components/gate.d.ts +39 -0
  107. package/src/lib/components/gate.js +202 -0
  108. package/src/lib/components/gate.js.map +1 -0
  109. package/src/lib/components/gated-video.d.ts +40 -0
  110. package/src/lib/components/gated-video.js +366 -0
  111. package/src/lib/components/gated-video.js.map +1 -0
  112. package/src/lib/components/member-feed.d.ts +32 -0
  113. package/src/lib/components/member-feed.js +198 -0
  114. package/src/lib/components/member-feed.js.map +1 -0
  115. package/src/lib/components/member-recovery.d.ts +35 -0
  116. package/src/lib/components/member-recovery.js +313 -0
  117. package/src/lib/components/member-recovery.js.map +1 -0
  118. package/src/lib/components/member-signin.d.ts +35 -0
  119. package/src/lib/components/member-signin.js +257 -0
  120. package/src/lib/components/member-signin.js.map +1 -0
  121. package/src/lib/components/member-signup.d.ts +34 -0
  122. package/src/lib/components/member-signup.js +287 -0
  123. package/src/lib/components/member-signup.js.map +1 -0
  124. package/src/lib/components/newsletter-signup.d.ts +39 -0
  125. package/src/lib/components/newsletter-signup.js +229 -0
  126. package/src/lib/components/newsletter-signup.js.map +1 -0
  127. package/src/lib/components/product-detail.d.ts +38 -0
  128. package/src/lib/components/product-detail.js +1022 -0
  129. package/src/lib/components/product-detail.js.map +1 -0
  130. package/src/lib/components/product-grid.d.ts +67 -0
  131. package/src/lib/components/product-grid.js +909 -0
  132. package/src/lib/components/product-grid.js.map +1 -0
  133. package/src/lib/components/product-reviews.d.ts +32 -0
  134. package/src/lib/components/product-reviews.js +349 -0
  135. package/src/lib/components/product-reviews.js.map +1 -0
  136. package/src/lib/components/related-products.d.ts +33 -0
  137. package/src/lib/components/related-products.js +232 -0
  138. package/src/lib/components/related-products.js.map +1 -0
  139. package/src/lib/components/reservation-widget.d.ts +33 -0
  140. package/src/lib/components/reservation-widget.js +418 -0
  141. package/src/lib/components/reservation-widget.js.map +1 -0
  142. package/src/lib/components/storefront-payment-element-fallback.d.ts +18 -0
  143. package/src/lib/components/storefront-payment-element-fallback.js +51 -0
  144. package/src/lib/components/storefront-payment-element-fallback.js.map +1 -0
  145. package/src/lib/components/storefront-payment-element.d.ts +78 -0
  146. package/src/lib/components/storefront-payment-element.js +156 -0
  147. package/src/lib/components/storefront-payment-element.js.map +1 -0
  148. package/src/lib/components/wishlist.d.ts +46 -0
  149. package/src/lib/components/wishlist.js +304 -0
  150. package/src/lib/components/wishlist.js.map +1 -0
  151. package/src/lib/constants/bundle-common.d.ts +18 -0
  152. package/src/lib/constants/bundle-common.js +18 -0
  153. package/src/lib/constants/bundle-common.js.map +1 -0
  154. package/src/lib/constants/product-filters.d.ts +35 -0
  155. package/src/lib/constants/product-filters.js +109 -0
  156. package/src/lib/constants/product-filters.js.map +1 -0
  157. package/src/lib/model/commerce-cart.d.ts +52 -0
  158. package/src/lib/model/commerce-cart.js +102 -0
  159. package/src/lib/model/commerce-cart.js.map +1 -0
  160. package/src/lib/model/commerce-connect-transfer.d.ts +243 -0
  161. package/src/lib/model/commerce-connect-transfer.js +231 -0
  162. package/src/lib/model/commerce-connect-transfer.js.map +1 -0
  163. package/src/lib/model/commerce-discounts.d.ts +164 -0
  164. package/src/lib/model/commerce-discounts.js +231 -0
  165. package/src/lib/model/commerce-discounts.js.map +1 -0
  166. package/src/lib/model/commerce-dispute.d.ts +124 -0
  167. package/src/lib/model/commerce-dispute.js +225 -0
  168. package/src/lib/model/commerce-dispute.js.map +1 -0
  169. package/src/lib/model/commerce-gift-cards.d.ts +107 -0
  170. package/src/lib/model/commerce-gift-cards.js +121 -0
  171. package/src/lib/model/commerce-gift-cards.js.map +1 -0
  172. package/src/lib/model/commerce-io.d.ts +36 -0
  173. package/src/lib/model/commerce-io.js +245 -0
  174. package/src/lib/model/commerce-io.js.map +1 -0
  175. package/src/lib/model/commerce-orders.d.ts +1040 -0
  176. package/src/lib/model/commerce-orders.js +1022 -0
  177. package/src/lib/model/commerce-orders.js.map +1 -0
  178. package/src/lib/model/commerce-promotions.d.ts +188 -0
  179. package/src/lib/model/commerce-promotions.js +199 -0
  180. package/src/lib/model/commerce-promotions.js.map +1 -0
  181. package/src/lib/model/commerce-reservations.d.ts +175 -0
  182. package/src/lib/model/commerce-reservations.js +157 -0
  183. package/src/lib/model/commerce-reservations.js.map +1 -0
  184. package/src/lib/model/commerce-shipping.d.ts +316 -0
  185. package/src/lib/model/commerce-shipping.js +484 -0
  186. package/src/lib/model/commerce-shipping.js.map +1 -0
  187. package/src/lib/model/commerce-stock-holds.d.ts +199 -0
  188. package/src/lib/model/commerce-stock-holds.js +190 -0
  189. package/src/lib/model/commerce-stock-holds.js.map +1 -0
  190. package/src/lib/model/commerce-subscription-status.d.ts +67 -0
  191. package/src/lib/model/commerce-subscription-status.js +76 -0
  192. package/src/lib/model/commerce-subscription-status.js.map +1 -0
  193. package/src/lib/model/commerce-tax-decision.d.ts +222 -0
  194. package/src/lib/model/commerce-tax-decision.js +165 -0
  195. package/src/lib/model/commerce-tax-decision.js.map +1 -0
  196. package/src/lib/model/commerce-tax.d.ts +176 -0
  197. package/src/lib/model/commerce-tax.js +92 -0
  198. package/src/lib/model/commerce-tax.js.map +1 -0
  199. package/src/lib/model/commerce.d.ts +551 -0
  200. package/src/lib/model/commerce.js +739 -0
  201. package/src/lib/model/commerce.js.map +1 -0
  202. package/src/lib/model/index.d.ts +40 -0
  203. package/src/lib/model/index.js +40 -0
  204. package/src/lib/model/index.js.map +1 -0
  205. package/src/lib/model/order-figures.d.ts +48 -0
  206. package/src/lib/model/order-figures.js +74 -0
  207. package/src/lib/model/order-figures.js.map +1 -0
  208. package/src/lib/model/plugin-permissions.d.ts +23 -0
  209. package/src/lib/model/plugin-permissions.js +34 -0
  210. package/src/lib/model/plugin-permissions.js.map +1 -0
  211. package/src/lib/model/purchase-analytics.d.ts +186 -0
  212. package/src/lib/model/purchase-analytics.js +216 -0
  213. package/src/lib/model/purchase-analytics.js.map +1 -0
  214. package/src/lib/plugin-config.d.ts +62 -0
  215. package/src/lib/plugin-config.js +78 -0
  216. package/src/lib/plugin-config.js.map +1 -0
  217. package/src/lib/plugin.d.ts +28 -0
  218. package/src/lib/plugin.js +147 -0
  219. package/src/lib/plugin.js.map +1 -0
  220. package/src/lib/server/billing-webhook.d.ts +26 -0
  221. package/src/lib/server/billing-webhook.js +4011 -0
  222. package/src/lib/server/billing-webhook.js.map +1 -0
  223. package/src/lib/server/cancel-order.d.ts +87 -0
  224. package/src/lib/server/cancel-order.js +368 -0
  225. package/src/lib/server/cancel-order.js.map +1 -0
  226. package/src/lib/server/cart-checkout.d.ts +25 -0
  227. package/src/lib/server/cart-checkout.js +976 -0
  228. package/src/lib/server/cart-checkout.js.map +1 -0
  229. package/src/lib/server/cart-cookie.d.ts +32 -0
  230. package/src/lib/server/cart-cookie.js +77 -0
  231. package/src/lib/server/cart-cookie.js.map +1 -0
  232. package/src/lib/server/cart.d.ts +34 -0
  233. package/src/lib/server/cart.js +181 -0
  234. package/src/lib/server/cart.js.map +1 -0
  235. package/src/lib/server/catalog.d.ts +127 -0
  236. package/src/lib/server/catalog.js +277 -0
  237. package/src/lib/server/catalog.js.map +1 -0
  238. package/src/lib/server/checkout.d.ts +36 -0
  239. package/src/lib/server/checkout.js +915 -0
  240. package/src/lib/server/checkout.js.map +1 -0
  241. package/src/lib/server/connect.d.ts +26 -0
  242. package/src/lib/server/connect.js +238 -0
  243. package/src/lib/server/connect.js.map +1 -0
  244. package/src/lib/server/contact-refund.d.ts +117 -0
  245. package/src/lib/server/contact-refund.js +196 -0
  246. package/src/lib/server/contact-refund.js.map +1 -0
  247. package/src/lib/server/download.d.ts +39 -0
  248. package/src/lib/server/download.js +206 -0
  249. package/src/lib/server/download.js.map +1 -0
  250. package/src/lib/server/draft-order.d.ts +26 -0
  251. package/src/lib/server/draft-order.js +706 -0
  252. package/src/lib/server/draft-order.js.map +1 -0
  253. package/src/lib/server/feed.d.ts +24 -0
  254. package/src/lib/server/feed.js +59 -0
  255. package/src/lib/server/feed.js.map +1 -0
  256. package/src/lib/server/fulfill-order.d.ts +97 -0
  257. package/src/lib/server/fulfill-order.js +235 -0
  258. package/src/lib/server/fulfill-order.js.map +1 -0
  259. package/src/lib/server/gate.d.ts +36 -0
  260. package/src/lib/server/gate.js +112 -0
  261. package/src/lib/server/gate.js.map +1 -0
  262. package/src/lib/server/gift-cards.d.ts +42 -0
  263. package/src/lib/server/gift-cards.js +219 -0
  264. package/src/lib/server/gift-cards.js.map +1 -0
  265. package/src/lib/server/low-stock.d.ts +49 -0
  266. package/src/lib/server/low-stock.js +60 -0
  267. package/src/lib/server/low-stock.js.map +1 -0
  268. package/src/lib/server/manual-tax-rate.d.ts +82 -0
  269. package/src/lib/server/manual-tax-rate.js +113 -0
  270. package/src/lib/server/manual-tax-rate.js.map +1 -0
  271. package/src/lib/server/member-feed.d.ts +24 -0
  272. package/src/lib/server/member-feed.js +72 -0
  273. package/src/lib/server/member-feed.js.map +1 -0
  274. package/src/lib/server/member-name-search.d.ts +37 -0
  275. package/src/lib/server/member-name-search.js +42 -0
  276. package/src/lib/server/member-name-search.js.map +1 -0
  277. package/src/lib/server/member-post.d.ts +23 -0
  278. package/src/lib/server/member-post.js +166 -0
  279. package/src/lib/server/member-post.js.map +1 -0
  280. package/src/lib/server/membership-account.d.ts +37 -0
  281. package/src/lib/server/membership-account.js +148 -0
  282. package/src/lib/server/membership-account.js.map +1 -0
  283. package/src/lib/server/membership-admin-password.d.ts +33 -0
  284. package/src/lib/server/membership-admin-password.js +202 -0
  285. package/src/lib/server/membership-admin-password.js.map +1 -0
  286. package/src/lib/server/membership-content.d.ts +23 -0
  287. package/src/lib/server/membership-content.js +105 -0
  288. package/src/lib/server/membership-content.js.map +1 -0
  289. package/src/lib/server/membership-login.d.ts +19 -0
  290. package/src/lib/server/membership-login.js +137 -0
  291. package/src/lib/server/membership-login.js.map +1 -0
  292. package/src/lib/server/membership-logout.d.ts +19 -0
  293. package/src/lib/server/membership-logout.js +35 -0
  294. package/src/lib/server/membership-logout.js.map +1 -0
  295. package/src/lib/server/membership-recover.d.ts +60 -0
  296. package/src/lib/server/membership-recover.js +244 -0
  297. package/src/lib/server/membership-recover.js.map +1 -0
  298. package/src/lib/server/membership-register.d.ts +22 -0
  299. package/src/lib/server/membership-register.js +241 -0
  300. package/src/lib/server/membership-register.js.map +1 -0
  301. package/src/lib/server/membership-reset.d.ts +26 -0
  302. package/src/lib/server/membership-reset.js +88 -0
  303. package/src/lib/server/membership-reset.js.map +1 -0
  304. package/src/lib/server/membership-wishlist.d.ts +23 -0
  305. package/src/lib/server/membership-wishlist.js +89 -0
  306. package/src/lib/server/membership-wishlist.js.map +1 -0
  307. package/src/lib/server/membership.d.ts +96 -0
  308. package/src/lib/server/membership.js +222 -0
  309. package/src/lib/server/membership.js.map +1 -0
  310. package/src/lib/server/native-checkout.d.ts +170 -0
  311. package/src/lib/server/native-checkout.js +193 -0
  312. package/src/lib/server/native-checkout.js.map +1 -0
  313. package/src/lib/server/newsletter.d.ts +23 -0
  314. package/src/lib/server/newsletter.js +323 -0
  315. package/src/lib/server/newsletter.js.map +1 -0
  316. package/src/lib/server/notify-restock.d.ts +22 -0
  317. package/src/lib/server/notify-restock.js +84 -0
  318. package/src/lib/server/notify-restock.js.map +1 -0
  319. package/src/lib/server/order-analytics.d.ts +134 -0
  320. package/src/lib/server/order-analytics.js +263 -0
  321. package/src/lib/server/order-analytics.js.map +1 -0
  322. package/src/lib/server/order-figures.d.ts +33 -0
  323. package/src/lib/server/order-figures.js +220 -0
  324. package/src/lib/server/order-figures.js.map +1 -0
  325. package/src/lib/server/paid-media-delivery.d.ts +173 -0
  326. package/src/lib/server/paid-media-delivery.js +212 -0
  327. package/src/lib/server/paid-media-delivery.js.map +1 -0
  328. package/src/lib/server/pos-order.d.ts +54 -0
  329. package/src/lib/server/pos-order.js +1137 -0
  330. package/src/lib/server/pos-order.js.map +1 -0
  331. package/src/lib/server/process-abandoned.d.ts +54 -0
  332. package/src/lib/server/process-abandoned.js +222 -0
  333. package/src/lib/server/process-abandoned.js.map +1 -0
  334. package/src/lib/server/process-restock.d.ts +42 -0
  335. package/src/lib/server/process-restock.js +219 -0
  336. package/src/lib/server/process-restock.js.map +1 -0
  337. package/src/lib/server/product-card.d.ts +29 -0
  338. package/src/lib/server/product-card.js +54 -0
  339. package/src/lib/server/product-card.js.map +1 -0
  340. package/src/lib/server/product.d.ts +70 -0
  341. package/src/lib/server/product.js +105 -0
  342. package/src/lib/server/product.js.map +1 -0
  343. package/src/lib/server/promotion-hold.d.ts +144 -0
  344. package/src/lib/server/promotion-hold.js +174 -0
  345. package/src/lib/server/promotion-hold.js.map +1 -0
  346. package/src/lib/server/reconcile-stock.d.ts +106 -0
  347. package/src/lib/server/reconcile-stock.js +349 -0
  348. package/src/lib/server/reconcile-stock.js.map +1 -0
  349. package/src/lib/server/refund.d.ts +45 -0
  350. package/src/lib/server/refund.js +607 -0
  351. package/src/lib/server/refund.js.map +1 -0
  352. package/src/lib/server/related.d.ts +24 -0
  353. package/src/lib/server/related.js +104 -0
  354. package/src/lib/server/related.js.map +1 -0
  355. package/src/lib/server/reservation-availability.d.ts +23 -0
  356. package/src/lib/server/reservation-availability.js +111 -0
  357. package/src/lib/server/reservation-availability.js.map +1 -0
  358. package/src/lib/server/reserve-stock.d.ts +156 -0
  359. package/src/lib/server/reserve-stock.js +146 -0
  360. package/src/lib/server/reserve-stock.js.map +1 -0
  361. package/src/lib/server/reserve.d.ts +25 -0
  362. package/src/lib/server/reserve.js +426 -0
  363. package/src/lib/server/reserve.js.map +1 -0
  364. package/src/lib/server/restock-flag.d.ts +202 -0
  365. package/src/lib/server/restock-flag.js +449 -0
  366. package/src/lib/server/restock-flag.js.map +1 -0
  367. package/src/lib/server/reviews.d.ts +51 -0
  368. package/src/lib/server/reviews.js +132 -0
  369. package/src/lib/server/reviews.js.map +1 -0
  370. package/src/lib/server/site-page-enricher.d.ts +42 -0
  371. package/src/lib/server/site-page-enricher.js +149 -0
  372. package/src/lib/server/site-page-enricher.js.map +1 -0
  373. package/src/lib/server/site-page-resolver.d.ts +26 -0
  374. package/src/lib/server/site-page-resolver.js +223 -0
  375. package/src/lib/server/site-page-resolver.js.map +1 -0
  376. package/src/lib/server/stock-hold.d.ts +127 -0
  377. package/src/lib/server/stock-hold.js +258 -0
  378. package/src/lib/server/stock-hold.js.map +1 -0
  379. package/src/lib/server/storefront-tax-record.d.ts +22 -0
  380. package/src/lib/server/storefront-tax-record.js +218 -0
  381. package/src/lib/server/storefront-tax-record.js.map +1 -0
  382. package/src/lib/server/storefront-tax.d.ts +197 -0
  383. package/src/lib/server/storefront-tax.js +245 -0
  384. package/src/lib/server/storefront-tax.js.map +1 -0
  385. package/src/lib/server/stream.d.ts +25 -0
  386. package/src/lib/server/stream.js +191 -0
  387. package/src/lib/server/stream.js.map +1 -0
  388. package/src/lib/server/subscription-portal.d.ts +24 -0
  389. package/src/lib/server/subscription-portal.js +91 -0
  390. package/src/lib/server/subscription-portal.js.map +1 -0
  391. package/src/lib/server/supplier-outbox.d.ts +190 -0
  392. package/src/lib/server/supplier-outbox.js +342 -0
  393. package/src/lib/server/supplier-outbox.js.map +1 -0
  394. package/src/lib/server/supplier-update.d.ts +23 -0
  395. package/src/lib/server/supplier-update.js +289 -0
  396. package/src/lib/server/supplier-update.js.map +1 -0
  397. package/src/lib/server/tax-profile.d.ts +29 -0
  398. package/src/lib/server/tax-profile.js +40 -0
  399. package/src/lib/server/tax-profile.js.map +1 -0
  400. package/src/lib/server.d.ts +32 -0
  401. package/src/lib/server.js +311 -0
  402. package/src/lib/server.js.map +1 -0
  403. package/src/lib/site.d.ts +27 -0
  404. package/src/lib/site.js +134 -0
  405. package/src/lib/site.js.map +1 -0
  406. package/src/lib/utils/escape-html.d.ts +41 -0
  407. package/src/lib/utils/escape-html.js +41 -0
  408. package/src/lib/utils/escape-html.js.map +1 -0
  409. package/src/lib/utils/generate-preset-id.d.ts +19 -0
  410. package/src/lib/utils/generate-preset-id.js +25 -0
  411. package/src/lib/utils/generate-preset-id.js.map +1 -0
  412. package/src/lib/utils/member-continue.d.ts +45 -0
  413. package/src/lib/utils/member-continue.js +49 -0
  414. package/src/lib/utils/member-continue.js.map +1 -0
  415. package/src/lib/utils/use-storefront-purchase-event.d.ts +60 -0
  416. package/src/lib/utils/use-storefront-purchase-event.js +142 -0
  417. package/src/lib/utils/use-storefront-purchase-event.js.map +1 -0
@@ -0,0 +1,650 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ 'use client';
17
+ import { _ as _extends } from "@swc/helpers/_/_extends";
18
+ import { _ as _object_without_properties_loose } from "@swc/helpers/_/_object_without_properties_loose";
19
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
20
+ import * as Aglyn from "@aglyn/aglyn";
21
+ import * as CommerceModel from "../../model/index.js";
22
+ import { CardDisplay, useConfirmationContext } from "@aglyn/shared-ui-jsx";
23
+ import { ListPagination } from "@aglyn/shared-ui-jsx/components/list-pagination.component";
24
+ import { useSnackbar } from "@aglyn/shared-ui-snackstack";
25
+ import { Button, Chip, Dialog, DialogActions, DialogContent, DialogTitle, MenuItem, Stack, TextField, Typography } from "@mui/material";
26
+ import { collection, deleteDoc, doc, limit, orderBy, query, setDoc, updateDoc } from "firebase/firestore";
27
+ import { useCallback, useMemo, useState } from "react";
28
+ import { useFirestore } from "@aglyn/tenant-feature-instance";
29
+ import { useFirestoreCollection, usePagedCollection, writeGuardedBySeed } from "@aglyn/tenant-feature-instance";
30
+ import { pluginDocsHelp } from "@aglyn/aglyn";
31
+ const STATUS_COLOR = {
32
+ pending: 'warning',
33
+ confirmed: 'info',
34
+ checked_in: 'success',
35
+ checked_out: 'default',
36
+ cancelled: 'default',
37
+ no_show: 'error'
38
+ };
39
+ const usd = (cents)=>`$${((cents != null ? cents : 0) / 100).toFixed(2)}`;
40
+ const day = (dayMs)=>dayMs ? new Date(dayMs).toISOString().slice(0, 10) : '—';
41
+ /**
42
+ * Reservations console (AGL-311): resources CRUD (nightly pricing,
43
+ * seasons via multipliers, deposits) plus the reservations list with
44
+ * check-in/out, no-show, cancel, and walk-in creation. The storefront
45
+ * widget books against the same docs.
46
+ */ export function ReservationsCard(props) {
47
+ var _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11;
48
+ var _resourceDraft_name;
49
+ const { hostId } = props;
50
+ const firestore = useFirestore();
51
+ const { enqueueSnackbar } = useSnackbar();
52
+ const { confirm } = useConfirmationContext();
53
+ const { data: resourceDocs, status: resourcesStatus, /**
54
+ * The rows this editor is seeded from are unconfirmed by the server
55
+ * (AGL-1358). Editing spreads a whole stored resource into
56
+ * `resourceDraft` and writes all of it back, so `merge: true` protects
57
+ * nothing. `blocks` is the field that costs more than money: it is the
58
+ * manually blocked date ranges `isRangeAvailable` reads, so a cached seed
59
+ * re-opens dates that were closed and lets the next guest book a room
60
+ * that is already spoken for.
61
+ */ fromCache: resourcesFromCache } = useFirestoreCollection(()=>query(collection(firestore, 'hosts', hostId, 'resources'), limit(50)), [
62
+ firestore,
63
+ hostId
64
+ ], {
65
+ idField: '$id'
66
+ });
67
+ /*
68
+ * Ordered by the server, and a growing window rather than a fixed 300.
69
+ *
70
+ * `limit(300)` carried no `orderBy`, so Firestore returned DOCUMENT-ID
71
+ * order and the client sort below arranged that pseudo-random sample by
72
+ * check-in. The ordering is unchanged — earliest check-in first, exactly
73
+ * what the sort did — it is now the QUERY's, so the window is the real
74
+ * front of the list and the rest can be reached.
75
+ */ const { rows: reservations, hasMore, page, setPage, pageSize, setPageSize } = usePagedCollection((pageLimit)=>query(collection(firestore, 'hosts', hostId, 'reservations'), orderBy('checkInDayMs', 'asc'), limit(pageLimit)), [
76
+ firestore,
77
+ hostId
78
+ ], {
79
+ idField: '$id'
80
+ });
81
+ const resourceNames = useMemo(()=>{
82
+ const map = {};
83
+ for (const resource of resourceDocs != null ? resourceDocs : []){
84
+ map[resource.$id] = resource.name;
85
+ }
86
+ return map;
87
+ }, [
88
+ resourceDocs
89
+ ]);
90
+ const [resourceDraft, setResourceDraft] = useState(null);
91
+ const [walkIn, setWalkIn] = useState(null);
92
+ const handleResourceSave = useCallback(async ()=>{
93
+ var _resourceDraft_name;
94
+ if (!(resourceDraft == null ? void 0 : (_resourceDraft_name = resourceDraft.name) == null ? void 0 : _resourceDraft_name.trim()) || !(resourceDraft.nightlyRateUsd > 0)) {
95
+ return;
96
+ }
97
+ /**
98
+ * `$id` comes off with `id` (AGL-1374).
99
+ *
100
+ * The editor is seeded `{ id: resource.$id, ...resource }`, and that
101
+ * spread carries the listener's SYNTHETIC `$id` — `idField: '$id'`
102
+ * stamps the document id onto the in-memory row, where nothing persists
103
+ * it. Destructuring only `id` left `$id` in `data`, so every save wrote
104
+ * it into the stored document as a real field. Nothing reads it; it is
105
+ * the listener's bookkeeping leaking into storage, and once there no
106
+ * reader can tell it from a field the card meant to write.
107
+ */ const seeded = resourceDraft;
108
+ const { id, $id: _syntheticId } = seeded, data = _object_without_properties_loose(seeded, [
109
+ "id",
110
+ "$id"
111
+ ]);
112
+ /**
113
+ * Refuse an EDIT whose seed the server never confirmed (AGL-1358).
114
+ * `data` is the whole stored row spread out of the listener, so
115
+ * `merge: true` has nothing left to protect — every field is present,
116
+ * `blocks` and the seasonal multipliers included.
117
+ *
118
+ * Only the edit path. A NEW resource is built from defaults at a fresh
119
+ * uid and can overwrite nothing, and the first snapshot of any listener
120
+ * is `fromCache: true`, so guarding a create would refuse a save that was
121
+ * never unsafe.
122
+ *
123
+ * The guard WRAPS the write — an early return is a shape you can keep
124
+ * while losing the protection.
125
+ */ const verdict = await writeGuardedBySeed({
126
+ subject: 'resource',
127
+ unreadable: Boolean(id) && resourcesStatus === 'error',
128
+ fromCache: Boolean(id) && resourcesFromCache
129
+ }, async ()=>{
130
+ await setDoc(doc(firestore, 'hosts', hostId, 'resources', id != null ? id : Aglyn.createResourceUid()), _extends({}, data, {
131
+ name: resourceDraft.name.trim().slice(0, 120)
132
+ }), {
133
+ merge: true
134
+ });
135
+ });
136
+ // Before `setResourceDraft(null)`, so a refusal keeps the dialog open
137
+ // with what was typed.
138
+ if (!verdict.ok) {
139
+ return void enqueueSnackbar(verdict.message, {
140
+ variant: 'warning',
141
+ persist: false
142
+ });
143
+ }
144
+ setResourceDraft(null);
145
+ enqueueSnackbar('Resource saved', {
146
+ variant: 'success',
147
+ persist: false
148
+ });
149
+ }, [
150
+ resourceDraft,
151
+ firestore,
152
+ hostId,
153
+ enqueueSnackbar,
154
+ resourcesStatus,
155
+ resourcesFromCache
156
+ ]);
157
+ const handleStatus = useCallback((reservation, status)=>async ()=>{
158
+ await updateDoc(doc(firestore, 'hosts', hostId, 'reservations', reservation.$id), {
159
+ status
160
+ });
161
+ }, [
162
+ firestore,
163
+ hostId
164
+ ]);
165
+ const handleWalkIn = useCallback(async ()=>{
166
+ if (!(walkIn == null ? void 0 : walkIn.resourceId) || !walkIn.checkIn || !walkIn.checkOut) return;
167
+ const resource = (resourceDocs != null ? resourceDocs : []).find((item)=>item.$id === walkIn.resourceId);
168
+ if (!resource) return;
169
+ const checkInDayMs = Date.parse(`${walkIn.checkIn}T00:00:00Z`);
170
+ const checkOutDayMs = Date.parse(`${walkIn.checkOut}T00:00:00Z`);
171
+ // `createdAtMs` carried through because the pending hold lapses on it
172
+ // (`reservationHoldsDates`). Dropping it made every unpaid `pending` row
173
+ // block forever, so the front desk was refused a walk-in into a room that
174
+ // an abandoned online checkout had left empty.
175
+ const existing = reservations.filter((item)=>item.resourceId === walkIn.resourceId).map((item)=>({
176
+ checkInDayMs: item.checkInDayMs,
177
+ checkOutDayMs: item.checkOutDayMs,
178
+ status: item.status,
179
+ createdAtMs: item.createdAtMs
180
+ }));
181
+ if (!CommerceModel.isRangeAvailable(resource, existing, checkInDayMs, checkOutDayMs)) {
182
+ return void enqueueSnackbar('Those dates are taken', {
183
+ variant: 'warning',
184
+ persist: false
185
+ });
186
+ }
187
+ const quote = CommerceModel.computeReservationQuote(resource, checkInDayMs, checkOutDayMs);
188
+ await setDoc(doc(firestore, 'hosts', hostId, 'reservations', Aglyn.createResourceUid()), {
189
+ resourceId: walkIn.resourceId,
190
+ status: 'confirmed',
191
+ checkInDayMs,
192
+ checkOutDayMs,
193
+ guestName: walkIn.guestName || null,
194
+ guestEmail: null,
195
+ nights: quote.nights,
196
+ totalCents: quote.totalCents,
197
+ depositCents: 0,
198
+ paidCents: 0,
199
+ createdAtMs: Date.now()
200
+ });
201
+ setWalkIn(null);
202
+ enqueueSnackbar('Walk-in reserved — collect payment at POS', {
203
+ variant: 'success',
204
+ persist: false
205
+ });
206
+ }, [
207
+ walkIn,
208
+ resourceDocs,
209
+ reservations,
210
+ firestore,
211
+ hostId,
212
+ enqueueSnackbar
213
+ ]);
214
+ return /*#__PURE__*/ _jsxs(CardDisplay, {
215
+ header: 'Reservations',
216
+ help: pluginDocsHelp('pos', {
217
+ anchor: '#reservations'
218
+ }),
219
+ contentGutterX: true,
220
+ contentGutterY: true,
221
+ children: [
222
+ /*#__PURE__*/ _jsxs(Stack, {
223
+ spacing: 1,
224
+ children: [
225
+ /*#__PURE__*/ _jsx(Typography, {
226
+ variant: "subtitle2",
227
+ children: 'Resources'
228
+ }),
229
+ (resourceDocs != null ? resourceDocs : []).map((resource)=>/*#__PURE__*/ _jsxs(Stack, {
230
+ direction: "row",
231
+ spacing: 1,
232
+ sx: {
233
+ alignItems: 'center'
234
+ },
235
+ children: [
236
+ /*#__PURE__*/ _jsxs(Stack, {
237
+ sx: {
238
+ flex: 1,
239
+ minWidth: 0
240
+ },
241
+ children: [
242
+ /*#__PURE__*/ _jsx(Typography, {
243
+ variant: "body2",
244
+ noWrap: true,
245
+ children: `${resource.name} · $${resource.nightlyRateUsd}/night`
246
+ }),
247
+ /*#__PURE__*/ _jsx(Typography, {
248
+ variant: "caption",
249
+ color: "text.secondary",
250
+ noWrap: true,
251
+ children: `id: ${resource.$id}`
252
+ })
253
+ ]
254
+ }),
255
+ /*#__PURE__*/ _jsx(Button, {
256
+ size: "small",
257
+ onClick: ()=>setResourceDraft(_extends({
258
+ id: resource.$id
259
+ }, resource)),
260
+ children: 'Edit'
261
+ }),
262
+ /*#__PURE__*/ _jsx(Button, {
263
+ size: "small",
264
+ color: "error",
265
+ onClick: async ()=>{
266
+ const confirmed = await confirm({
267
+ title: 'Remove this resource?',
268
+ description: 'Existing reservations keep their records; the widget ' + 'stops accepting new stays.',
269
+ confirmationText: 'Remove',
270
+ confirmationButtonProps: {
271
+ color: 'error'
272
+ }
273
+ }).then(()=>true).catch(()=>false);
274
+ if (!confirmed) return;
275
+ await deleteDoc(doc(firestore, 'hosts', hostId, 'resources', resource.$id));
276
+ },
277
+ children: 'Remove'
278
+ })
279
+ ]
280
+ }, resource.$id)),
281
+ /*#__PURE__*/ _jsxs(Stack, {
282
+ direction: "row",
283
+ spacing: 1,
284
+ children: [
285
+ /*#__PURE__*/ _jsx(Button, {
286
+ size: "small",
287
+ onClick: ()=>setResourceDraft({
288
+ id: null,
289
+ name: '',
290
+ nightlyRateUsd: 100,
291
+ depositPct: 30,
292
+ minNights: 1
293
+ }),
294
+ children: 'Add resource'
295
+ }),
296
+ /*#__PURE__*/ _jsx(Button, {
297
+ size: "small",
298
+ disabled: ((_ref = resourceDocs == null ? void 0 : resourceDocs.length) != null ? _ref : 0) === 0,
299
+ onClick: ()=>{
300
+ var _ref;
301
+ var _resourceDocs_;
302
+ return setWalkIn({
303
+ resourceId: (_ref = resourceDocs == null ? void 0 : (_resourceDocs_ = resourceDocs[0]) == null ? void 0 : _resourceDocs_.$id) != null ? _ref : '',
304
+ checkIn: '',
305
+ checkOut: '',
306
+ guestName: ''
307
+ });
308
+ },
309
+ children: 'Walk-in'
310
+ })
311
+ ]
312
+ }),
313
+ /*#__PURE__*/ _jsx(Typography, {
314
+ variant: "subtitle2",
315
+ sx: {
316
+ mt: 1
317
+ },
318
+ children: 'Upcoming & recent stays'
319
+ }),
320
+ reservations.length === 0 ? /*#__PURE__*/ _jsx(Typography, {
321
+ variant: "body2",
322
+ color: "text.secondary",
323
+ children: 'Reservations from the widget (and walk-ins) appear here.'
324
+ }) : reservations.map((reservation)=>{
325
+ var _resourceNames_reservation_resourceId, _ref, _reservation_guestName, _STATUS_COLOR_reservation_status;
326
+ return /*#__PURE__*/ _jsxs(Stack, {
327
+ direction: "row",
328
+ spacing: 1,
329
+ sx: {
330
+ alignItems: 'center'
331
+ },
332
+ children: [
333
+ /*#__PURE__*/ _jsxs(Stack, {
334
+ sx: {
335
+ flex: 1,
336
+ minWidth: 0
337
+ },
338
+ children: [
339
+ /*#__PURE__*/ _jsx(Typography, {
340
+ variant: "body2",
341
+ noWrap: true,
342
+ children: `${(_resourceNames_reservation_resourceId = resourceNames[reservation.resourceId]) != null ? _resourceNames_reservation_resourceId : '?'} · ` + `${day(reservation.checkInDayMs)} → ${day(reservation.checkOutDayMs)}`
343
+ }),
344
+ /*#__PURE__*/ _jsx(Typography, {
345
+ variant: "caption",
346
+ color: "text.secondary",
347
+ noWrap: true,
348
+ children: [
349
+ (_ref = (_reservation_guestName = reservation.guestName) != null ? _reservation_guestName : reservation.guestEmail) != null ? _ref : 'Guest',
350
+ `${usd(reservation.paidCents)} / ${usd(reservation.totalCents)} paid`
351
+ ].join(' · ')
352
+ })
353
+ ]
354
+ }),
355
+ /*#__PURE__*/ _jsx(Chip, {
356
+ label: String(reservation.status).replace('_', ' '),
357
+ size: "small",
358
+ variant: "outlined",
359
+ color: (_STATUS_COLOR_reservation_status = STATUS_COLOR[reservation.status]) != null ? _STATUS_COLOR_reservation_status : 'default'
360
+ }),
361
+ reservation.status === 'confirmed' ? /*#__PURE__*/ _jsxs(_Fragment, {
362
+ children: [
363
+ /*#__PURE__*/ _jsx(Button, {
364
+ size: "small",
365
+ onClick: handleStatus(reservation, 'checked_in'),
366
+ children: 'Check in'
367
+ }),
368
+ /*#__PURE__*/ _jsx(Button, {
369
+ size: "small",
370
+ color: "error",
371
+ onClick: handleStatus(reservation, 'no_show'),
372
+ children: 'No-show'
373
+ })
374
+ ]
375
+ }) : null,
376
+ reservation.status === 'checked_in' ? /*#__PURE__*/ _jsx(Button, {
377
+ size: "small",
378
+ onClick: async ()=>{
379
+ var _reservation_folio, _reservation_totalCents, _reservation_paidCents;
380
+ // Folio settlement (AGL-317): surface unpaid room
381
+ // charges before the guest leaves.
382
+ const folio = (_reservation_folio = reservation.folio) != null ? _reservation_folio : [];
383
+ const folioCents = folio.reduce((sum, entry)=>{
384
+ var _entry_amountCents;
385
+ return sum + ((_entry_amountCents = entry.amountCents) != null ? _entry_amountCents : 0);
386
+ }, 0);
387
+ const balanceCents = ((_reservation_totalCents = reservation.totalCents) != null ? _reservation_totalCents : 0) - ((_reservation_paidCents = reservation.paidCents) != null ? _reservation_paidCents : 0);
388
+ if (folioCents > 0 || balanceCents > 0) {
389
+ const confirmed = await confirm({
390
+ title: 'Check out with open balance?',
391
+ description: `${folioCents > 0 ? `Room charges: ${usd(folioCents)} (already recorded as paid POS orders). ` : ''}` + `${balanceCents > 0 ? `Stay balance due: ${usd(balanceCents)} — collect at the register.` : ''}`,
392
+ confirmationText: 'Check out'
393
+ }).then(()=>true).catch(()=>false);
394
+ if (!confirmed) return;
395
+ }
396
+ await handleStatus(reservation, 'checked_out')();
397
+ },
398
+ children: 'Check out'
399
+ }) : null,
400
+ [
401
+ 'pending',
402
+ 'confirmed'
403
+ ].includes(reservation.status) ? /*#__PURE__*/ _jsx(Button, {
404
+ size: "small",
405
+ color: "error",
406
+ onClick: handleStatus(reservation, 'cancelled'),
407
+ children: 'Cancel'
408
+ }) : null
409
+ ]
410
+ }, reservation.$id);
411
+ }),
412
+ /*#__PURE__*/ _jsx(ListPagination, {
413
+ page: page,
414
+ pageSize: pageSize,
415
+ rowCount: reservations.length,
416
+ hasMore: hasMore,
417
+ onPageChange: setPage,
418
+ onPageSizeChange: setPageSize
419
+ })
420
+ ]
421
+ }),
422
+ /*#__PURE__*/ _jsxs(Dialog, {
423
+ open: Boolean(resourceDraft),
424
+ onClose: ()=>setResourceDraft(null),
425
+ maxWidth: "xs",
426
+ fullWidth: true,
427
+ children: [
428
+ /*#__PURE__*/ _jsx(DialogTitle, {
429
+ children: (resourceDraft == null ? void 0 : resourceDraft.id) ? 'Edit resource' : 'New resource'
430
+ }),
431
+ /*#__PURE__*/ _jsxs(DialogContent, {
432
+ sx: {
433
+ display: 'flex',
434
+ flexDirection: 'column',
435
+ gap: 2
436
+ },
437
+ children: [
438
+ /*#__PURE__*/ _jsx(TextField, {
439
+ label: "Name",
440
+ value: (_ref1 = resourceDraft == null ? void 0 : resourceDraft.name) != null ? _ref1 : '',
441
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
442
+ name: event.target.value
443
+ }) : prev),
444
+ size: "small",
445
+ autoFocus: true,
446
+ sx: {
447
+ mt: 1
448
+ },
449
+ placeholder: "Lakeside cabin"
450
+ }),
451
+ /*#__PURE__*/ _jsxs(Stack, {
452
+ direction: "row",
453
+ spacing: 1,
454
+ children: [
455
+ /*#__PURE__*/ _jsx(TextField, {
456
+ label: "Nightly rate ($)",
457
+ value: (_ref2 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref2 : '',
458
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
459
+ nightlyRateUsd: Number(event.target.value) || 0
460
+ }) : prev),
461
+ size: "small",
462
+ slotProps: {
463
+ htmlInput: {
464
+ inputMode: 'decimal'
465
+ }
466
+ }
467
+ }),
468
+ /*#__PURE__*/ _jsx(TextField, {
469
+ label: "Weekend ×",
470
+ placeholder: "1",
471
+ value: (_ref3 = resourceDraft == null ? void 0 : resourceDraft.weekendMultiplier) != null ? _ref3 : '',
472
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
473
+ weekendMultiplier: Number(event.target.value) || undefined
474
+ }) : prev),
475
+ size: "small",
476
+ slotProps: {
477
+ htmlInput: {
478
+ inputMode: 'decimal'
479
+ }
480
+ }
481
+ })
482
+ ]
483
+ }),
484
+ /*#__PURE__*/ _jsxs(Stack, {
485
+ direction: "row",
486
+ spacing: 1,
487
+ children: [
488
+ /*#__PURE__*/ _jsx(TextField, {
489
+ label: "Min nights",
490
+ value: (_ref4 = resourceDraft == null ? void 0 : resourceDraft.minNights) != null ? _ref4 : '',
491
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
492
+ minNights: Math.round(Number(event.target.value)) || undefined
493
+ }) : prev),
494
+ size: "small",
495
+ slotProps: {
496
+ htmlInput: {
497
+ inputMode: 'numeric'
498
+ }
499
+ }
500
+ }),
501
+ /*#__PURE__*/ _jsx(TextField, {
502
+ label: "Deposit %",
503
+ placeholder: "100 = pay in full",
504
+ value: (_ref5 = resourceDraft == null ? void 0 : resourceDraft.depositPct) != null ? _ref5 : '',
505
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
506
+ depositPct: Math.round(Number(event.target.value)) || undefined
507
+ }) : prev),
508
+ size: "small",
509
+ slotProps: {
510
+ htmlInput: {
511
+ inputMode: 'numeric'
512
+ }
513
+ }
514
+ }),
515
+ /*#__PURE__*/ _jsx(TextField, {
516
+ label: "Free cancel (hrs)",
517
+ value: (_ref6 = resourceDraft == null ? void 0 : resourceDraft.cancellationHours) != null ? _ref6 : '',
518
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
519
+ cancellationHours: Math.round(Number(event.target.value)) || undefined
520
+ }) : prev),
521
+ size: "small",
522
+ slotProps: {
523
+ htmlInput: {
524
+ inputMode: 'numeric'
525
+ }
526
+ }
527
+ })
528
+ ]
529
+ })
530
+ ]
531
+ }),
532
+ /*#__PURE__*/ _jsxs(DialogActions, {
533
+ children: [
534
+ /*#__PURE__*/ _jsx(Button, {
535
+ onClick: ()=>setResourceDraft(null),
536
+ children: 'Cancel'
537
+ }),
538
+ /*#__PURE__*/ _jsx(Button, {
539
+ variant: "contained",
540
+ color: "primary",
541
+ disabled: !(resourceDraft == null ? void 0 : (_resourceDraft_name = resourceDraft.name) == null ? void 0 : _resourceDraft_name.trim()) || !(((_ref7 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref7 : 0) > 0),
542
+ onClick: handleResourceSave,
543
+ children: 'Save'
544
+ })
545
+ ]
546
+ })
547
+ ]
548
+ }),
549
+ /*#__PURE__*/ _jsxs(Dialog, {
550
+ open: Boolean(walkIn),
551
+ onClose: ()=>setWalkIn(null),
552
+ maxWidth: "xs",
553
+ fullWidth: true,
554
+ children: [
555
+ /*#__PURE__*/ _jsx(DialogTitle, {
556
+ children: 'Walk-in reservation'
557
+ }),
558
+ /*#__PURE__*/ _jsxs(DialogContent, {
559
+ sx: {
560
+ display: 'flex',
561
+ flexDirection: 'column',
562
+ gap: 2
563
+ },
564
+ children: [
565
+ /*#__PURE__*/ _jsx(TextField, {
566
+ label: "Resource",
567
+ value: (_ref8 = walkIn == null ? void 0 : walkIn.resourceId) != null ? _ref8 : '',
568
+ onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
569
+ resourceId: event.target.value
570
+ }) : prev),
571
+ size: "small",
572
+ select: true,
573
+ sx: {
574
+ mt: 1
575
+ },
576
+ children: (resourceDocs != null ? resourceDocs : []).map((resource)=>/*#__PURE__*/ _jsx(MenuItem, {
577
+ value: resource.$id,
578
+ children: resource.name
579
+ }, resource.$id))
580
+ }),
581
+ /*#__PURE__*/ _jsxs(Stack, {
582
+ direction: "row",
583
+ spacing: 1,
584
+ children: [
585
+ /*#__PURE__*/ _jsx(TextField, {
586
+ label: "Check-in",
587
+ type: "date",
588
+ value: (_ref9 = walkIn == null ? void 0 : walkIn.checkIn) != null ? _ref9 : '',
589
+ onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
590
+ checkIn: event.target.value
591
+ }) : prev),
592
+ size: "small",
593
+ fullWidth: true,
594
+ slotProps: {
595
+ inputLabel: {
596
+ shrink: true
597
+ }
598
+ }
599
+ }),
600
+ /*#__PURE__*/ _jsx(TextField, {
601
+ label: "Check-out",
602
+ type: "date",
603
+ value: (_ref10 = walkIn == null ? void 0 : walkIn.checkOut) != null ? _ref10 : '',
604
+ onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
605
+ checkOut: event.target.value
606
+ }) : prev),
607
+ size: "small",
608
+ fullWidth: true,
609
+ slotProps: {
610
+ inputLabel: {
611
+ shrink: true
612
+ }
613
+ }
614
+ })
615
+ ]
616
+ }),
617
+ /*#__PURE__*/ _jsx(TextField, {
618
+ label: "Guest name",
619
+ value: (_ref11 = walkIn == null ? void 0 : walkIn.guestName) != null ? _ref11 : '',
620
+ onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
621
+ guestName: event.target.value
622
+ }) : prev),
623
+ size: "small"
624
+ })
625
+ ]
626
+ }),
627
+ /*#__PURE__*/ _jsxs(DialogActions, {
628
+ children: [
629
+ /*#__PURE__*/ _jsx(Button, {
630
+ onClick: ()=>setWalkIn(null),
631
+ children: 'Cancel'
632
+ }),
633
+ /*#__PURE__*/ _jsx(Button, {
634
+ variant: "contained",
635
+ color: "primary",
636
+ disabled: !(walkIn == null ? void 0 : walkIn.resourceId) || !(walkIn == null ? void 0 : walkIn.checkIn) || !(walkIn == null ? void 0 : walkIn.checkOut),
637
+ onClick: handleWalkIn,
638
+ children: 'Reserve'
639
+ })
640
+ ]
641
+ })
642
+ ]
643
+ })
644
+ ]
645
+ });
646
+ }
647
+ ReservationsCard.displayName = 'ReservationsCard';
648
+ export default ReservationsCard;
649
+
650
+ //# sourceMappingURL=reservations-card.component.js.map