@voyant-travel/operations-react 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/dist/admin.d.ts +59 -0
  4. package/dist/admin.d.ts.map +1 -0
  5. package/dist/admin.js +165 -0
  6. package/dist/availability/admin/availability-index-host.d.ts +12 -0
  7. package/dist/availability/admin/availability-index-host.d.ts.map +1 -0
  8. package/dist/availability/admin/availability-index-host.js +125 -0
  9. package/dist/availability/admin/availability-page-data.d.ts +9 -0
  10. package/dist/availability/admin/availability-page-data.d.ts.map +1 -0
  11. package/dist/availability/admin/availability-page-data.js +25 -0
  12. package/dist/availability/admin/index.d.ts +70 -0
  13. package/dist/availability/admin/index.d.ts.map +1 -0
  14. package/dist/availability/admin/index.js +140 -0
  15. package/dist/availability/admin/option-resource-template-seat-map.d.ts +10 -0
  16. package/dist/availability/admin/option-resource-template-seat-map.d.ts.map +1 -0
  17. package/dist/availability/admin/option-resource-template-seat-map.js +36 -0
  18. package/dist/availability/admin/option-resource-templates-panel.d.ts +22 -0
  19. package/dist/availability/admin/option-resource-templates-panel.d.ts.map +1 -0
  20. package/dist/availability/admin/option-resource-templates-panel.js +221 -0
  21. package/dist/availability/admin/pages/availability-rule-detail-page.d.ts +9 -0
  22. package/dist/availability/admin/pages/availability-rule-detail-page.d.ts.map +1 -0
  23. package/dist/availability/admin/pages/availability-rule-detail-page.js +11 -0
  24. package/dist/availability/admin/pages/availability-slot-detail-page.d.ts +9 -0
  25. package/dist/availability/admin/pages/availability-slot-detail-page.d.ts.map +1 -0
  26. package/dist/availability/admin/pages/availability-slot-detail-page.js +11 -0
  27. package/dist/availability/admin/pages/availability-start-time-detail-page.d.ts +9 -0
  28. package/dist/availability/admin/pages/availability-start-time-detail-page.d.ts.map +1 -0
  29. package/dist/availability/admin/pages/availability-start-time-detail-page.js +11 -0
  30. package/dist/availability/admin/rule-detail-host.d.ts +14 -0
  31. package/dist/availability/admin/rule-detail-host.d.ts.map +1 -0
  32. package/dist/availability/admin/rule-detail-host.js +27 -0
  33. package/dist/availability/admin/slot-detail-host.d.ts +29 -0
  34. package/dist/availability/admin/slot-detail-host.d.ts.map +1 -0
  35. package/dist/availability/admin/slot-detail-host.js +110 -0
  36. package/dist/availability/admin/start-time-detail-host.d.ts +15 -0
  37. package/dist/availability/admin/start-time-detail-host.d.ts.map +1 -0
  38. package/dist/availability/admin/start-time-detail-host.js +37 -0
  39. package/dist/availability/allocation/components/seat-map-builder.d.ts +25 -0
  40. package/dist/availability/allocation/components/seat-map-builder.d.ts.map +1 -0
  41. package/dist/availability/allocation/components/seat-map-builder.js +133 -0
  42. package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.d.ts +29 -0
  43. package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.d.ts.map +1 -0
  44. package/dist/availability/allocation/components/slot-allocation-add-resource-dialog.js +19 -0
  45. package/dist/availability/allocation/components/slot-allocation-model.d.ts +111 -0
  46. package/dist/availability/allocation/components/slot-allocation-model.d.ts.map +1 -0
  47. package/dist/availability/allocation/components/slot-allocation-model.js +237 -0
  48. package/dist/availability/allocation/components/slot-allocation-page-panels.d.ts +17 -0
  49. package/dist/availability/allocation/components/slot-allocation-page-panels.d.ts.map +1 -0
  50. package/dist/availability/allocation/components/slot-allocation-page-panels.js +27 -0
  51. package/dist/availability/allocation/components/slot-allocation-page.d.ts +51 -0
  52. package/dist/availability/allocation/components/slot-allocation-page.d.ts.map +1 -0
  53. package/dist/availability/allocation/components/slot-allocation-page.js +217 -0
  54. package/dist/availability/allocation/components/slot-allocation-resource-view-rows.d.ts +28 -0
  55. package/dist/availability/allocation/components/slot-allocation-resource-view-rows.d.ts.map +1 -0
  56. package/dist/availability/allocation/components/slot-allocation-resource-view-rows.js +90 -0
  57. package/dist/availability/allocation/components/slot-allocation-resource-view.d.ts +34 -0
  58. package/dist/availability/allocation/components/slot-allocation-resource-view.d.ts.map +1 -0
  59. package/dist/availability/allocation/components/slot-allocation-resource-view.js +35 -0
  60. package/dist/availability/allocation/components/slot-allocation-seat-view.d.ts +17 -0
  61. package/dist/availability/allocation/components/slot-allocation-seat-view.d.ts.map +1 -0
  62. package/dist/availability/allocation/components/slot-allocation-seat-view.js +97 -0
  63. package/dist/availability/allocation/components/slot-allocation-shared.d.ts +54 -0
  64. package/dist/availability/allocation/components/slot-allocation-shared.d.ts.map +1 -0
  65. package/dist/availability/allocation/components/slot-allocation-shared.js +106 -0
  66. package/dist/availability/allocation/i18n/index.d.ts +2 -0
  67. package/dist/availability/allocation/i18n/index.d.ts.map +1 -0
  68. package/dist/availability/allocation/i18n/index.js +1 -0
  69. package/dist/availability/allocation/i18n/provider.d.ts +692 -0
  70. package/dist/availability/allocation/i18n/provider.d.ts.map +1 -0
  71. package/dist/availability/allocation/i18n/provider.js +320 -0
  72. package/dist/availability/allocation/index.d.ts +4 -0
  73. package/dist/availability/allocation/index.d.ts.map +1 -0
  74. package/dist/availability/allocation/index.js +3 -0
  75. package/dist/availability/client.d.ts +14 -0
  76. package/dist/availability/client.d.ts.map +1 -0
  77. package/dist/availability/client.js +59 -0
  78. package/dist/availability/components/availability-columns.d.ts +42 -0
  79. package/dist/availability/components/availability-columns.d.ts.map +1 -0
  80. package/dist/availability/components/availability-columns.js +182 -0
  81. package/dist/availability/components/availability-dialogs/closeout-dialog.d.ts +13 -0
  82. package/dist/availability/components/availability-dialogs/closeout-dialog.d.ts.map +1 -0
  83. package/dist/availability/components/availability-dialogs/closeout-dialog.js +60 -0
  84. package/dist/availability/components/availability-dialogs/pickup-point-dialog.d.ts +12 -0
  85. package/dist/availability/components/availability-dialogs/pickup-point-dialog.d.ts.map +1 -0
  86. package/dist/availability/components/availability-dialogs/pickup-point-dialog.js +58 -0
  87. package/dist/availability/components/availability-dialogs/rule-dialog.d.ts +12 -0
  88. package/dist/availability/components/availability-dialogs/rule-dialog.d.ts.map +1 -0
  89. package/dist/availability/components/availability-dialogs/rule-dialog.js +76 -0
  90. package/dist/availability/components/availability-dialogs/shared.d.ts +213 -0
  91. package/dist/availability/components/availability-dialogs/shared.d.ts.map +1 -0
  92. package/dist/availability/components/availability-dialogs/shared.js +16 -0
  93. package/dist/availability/components/availability-dialogs/slot-dialog.d.ts +14 -0
  94. package/dist/availability/components/availability-dialogs/slot-dialog.d.ts.map +1 -0
  95. package/dist/availability/components/availability-dialogs/slot-dialog.js +138 -0
  96. package/dist/availability/components/availability-dialogs/start-time-dialog.d.ts +12 -0
  97. package/dist/availability/components/availability-dialogs/start-time-dialog.d.ts.map +1 -0
  98. package/dist/availability/components/availability-dialogs/start-time-dialog.js +62 -0
  99. package/dist/availability/components/availability-dialogs.d.ts +7 -0
  100. package/dist/availability/components/availability-dialogs.d.ts.map +1 -0
  101. package/dist/availability/components/availability-dialogs.js +6 -0
  102. package/dist/availability/components/availability-overview.d.ts +54 -0
  103. package/dist/availability/components/availability-overview.d.ts.map +1 -0
  104. package/dist/availability/components/availability-overview.js +50 -0
  105. package/dist/availability/components/availability-page.d.ts +32 -0
  106. package/dist/availability/components/availability-page.d.ts.map +1 -0
  107. package/dist/availability/components/availability-page.js +128 -0
  108. package/dist/availability/components/availability-rule-detail-page.d.ts +251 -0
  109. package/dist/availability/components/availability-rule-detail-page.d.ts.map +1 -0
  110. package/dist/availability/components/availability-rule-detail-page.js +74 -0
  111. package/dist/availability/components/availability-section-header.d.ts +8 -0
  112. package/dist/availability/components/availability-section-header.d.ts.map +1 -0
  113. package/dist/availability/components/availability-section-header.js +7 -0
  114. package/dist/availability/components/availability-skeletons.d.ts +6 -0
  115. package/dist/availability/components/availability-skeletons.d.ts.map +1 -0
  116. package/dist/availability/components/availability-skeletons.js +34 -0
  117. package/dist/availability/components/availability-slot-detail-activity.d.ts +30 -0
  118. package/dist/availability/components/availability-slot-detail-activity.d.ts.map +1 -0
  119. package/dist/availability/components/availability-slot-detail-activity.js +82 -0
  120. package/dist/availability/components/availability-slot-detail-financials.d.ts +27 -0
  121. package/dist/availability/components/availability-slot-detail-financials.d.ts.map +1 -0
  122. package/dist/availability/components/availability-slot-detail-financials.js +92 -0
  123. package/dist/availability/components/availability-slot-detail-meta.d.ts +38 -0
  124. package/dist/availability/components/availability-slot-detail-meta.d.ts.map +1 -0
  125. package/dist/availability/components/availability-slot-detail-meta.js +68 -0
  126. package/dist/availability/components/availability-slot-detail-page.d.ts +963 -0
  127. package/dist/availability/components/availability-slot-detail-page.d.ts.map +1 -0
  128. package/dist/availability/components/availability-slot-detail-page.js +159 -0
  129. package/dist/availability/components/availability-start-time-detail-page.d.ts +246 -0
  130. package/dist/availability/components/availability-start-time-detail-page.d.ts.map +1 -0
  131. package/dist/availability/components/availability-start-time-detail-page.js +83 -0
  132. package/dist/availability/components/availability-tabs/other-tabs.d.ts +58 -0
  133. package/dist/availability/components/availability-tabs/other-tabs.d.ts.map +1 -0
  134. package/dist/availability/components/availability-tabs/other-tabs.js +127 -0
  135. package/dist/availability/components/availability-tabs/shared.d.ts +80 -0
  136. package/dist/availability/components/availability-tabs/shared.d.ts.map +1 -0
  137. package/dist/availability/components/availability-tabs/shared.js +6 -0
  138. package/dist/availability/components/availability-tabs/slots-tab.d.ts +23 -0
  139. package/dist/availability/components/availability-tabs/slots-tab.d.ts.map +1 -0
  140. package/dist/availability/components/availability-tabs/slots-tab.js +69 -0
  141. package/dist/availability/components/availability-tabs.d.ts +4 -0
  142. package/dist/availability/components/availability-tabs.d.ts.map +1 -0
  143. package/dist/availability/components/availability-tabs.js +3 -0
  144. package/dist/availability/components/slot-status-tone.d.ts +15 -0
  145. package/dist/availability/components/slot-status-tone.d.ts.map +1 -0
  146. package/dist/availability/components/slot-status-tone.js +18 -0
  147. package/dist/availability/constants.d.ts +26 -0
  148. package/dist/availability/constants.d.ts.map +1 -0
  149. package/dist/availability/constants.js +23 -0
  150. package/dist/availability/form-resolver.d.ts +4 -0
  151. package/dist/availability/form-resolver.d.ts.map +1 -0
  152. package/dist/availability/form-resolver.js +40 -0
  153. package/dist/availability/hooks/index.d.ts +25 -0
  154. package/dist/availability/hooks/index.d.ts.map +1 -0
  155. package/dist/availability/hooks/index.js +15 -0
  156. package/dist/availability/hooks/use-availability-batch-mutations.d.ts +193 -0
  157. package/dist/availability/hooks/use-availability-batch-mutations.d.ts.map +1 -0
  158. package/dist/availability/hooks/use-availability-batch-mutations.js +53 -0
  159. package/dist/availability/hooks/use-availability-closeout-mutation.d.ts +34 -0
  160. package/dist/availability/hooks/use-availability-closeout-mutation.d.ts.map +1 -0
  161. package/dist/availability/hooks/use-availability-closeout-mutation.js +38 -0
  162. package/dist/availability/hooks/use-availability-overview.d.ts +46 -0
  163. package/dist/availability/hooks/use-availability-overview.d.ts.map +1 -0
  164. package/dist/availability/hooks/use-availability-overview.js +9 -0
  165. package/dist/availability/hooks/use-availability-pickup-point-mutation.d.ts +35 -0
  166. package/dist/availability/hooks/use-availability-pickup-point-mutation.d.ts.map +1 -0
  167. package/dist/availability/hooks/use-availability-pickup-point-mutation.js +38 -0
  168. package/dist/availability/hooks/use-availability-rule-mutation.d.ts +52 -0
  169. package/dist/availability/hooks/use-availability-rule-mutation.d.ts.map +1 -0
  170. package/dist/availability/hooks/use-availability-rule-mutation.js +41 -0
  171. package/dist/availability/hooks/use-availability-slot-mutation.d.ts +77 -0
  172. package/dist/availability/hooks/use-availability-slot-mutation.d.ts.map +1 -0
  173. package/dist/availability/hooks/use-availability-slot-mutation.js +41 -0
  174. package/dist/availability/hooks/use-availability-start-time-mutation.d.ts +43 -0
  175. package/dist/availability/hooks/use-availability-start-time-mutation.d.ts.map +1 -0
  176. package/dist/availability/hooks/use-availability-start-time-mutation.js +41 -0
  177. package/dist/availability/hooks/use-closeouts.d.ts +19 -0
  178. package/dist/availability/hooks/use-closeouts.d.ts.map +1 -0
  179. package/dist/availability/hooks/use-closeouts.js +9 -0
  180. package/dist/availability/hooks/use-pickup-points.d.ts +19 -0
  181. package/dist/availability/hooks/use-pickup-points.d.ts.map +1 -0
  182. package/dist/availability/hooks/use-pickup-points.js +9 -0
  183. package/dist/availability/hooks/use-products.d.ts +20 -0
  184. package/dist/availability/hooks/use-products.d.ts.map +1 -0
  185. package/dist/availability/hooks/use-products.js +9 -0
  186. package/dist/availability/hooks/use-rules.d.ts +25 -0
  187. package/dist/availability/hooks/use-rules.d.ts.map +1 -0
  188. package/dist/availability/hooks/use-rules.js +9 -0
  189. package/dist/availability/hooks/use-slot-allocation.d.ts +306 -0
  190. package/dist/availability/hooks/use-slot-allocation.d.ts.map +1 -0
  191. package/dist/availability/hooks/use-slot-allocation.js +211 -0
  192. package/dist/availability/hooks/use-slot-unit-availability.d.ts +25 -0
  193. package/dist/availability/hooks/use-slot-unit-availability.d.ts.map +1 -0
  194. package/dist/availability/hooks/use-slot-unit-availability.js +21 -0
  195. package/dist/availability/hooks/use-slots.d.ts +32 -0
  196. package/dist/availability/hooks/use-slots.d.ts.map +1 -0
  197. package/dist/availability/hooks/use-slots.js +9 -0
  198. package/dist/availability/hooks/use-start-times.d.ts +22 -0
  199. package/dist/availability/hooks/use-start-times.d.ts.map +1 -0
  200. package/dist/availability/hooks/use-start-times.js +9 -0
  201. package/dist/availability/i18n/index.d.ts +2 -0
  202. package/dist/availability/i18n/index.d.ts.map +1 -0
  203. package/dist/availability/i18n/index.js +1 -0
  204. package/dist/availability/i18n/provider.d.ts +2003 -0
  205. package/dist/availability/i18n/provider.d.ts.map +1 -0
  206. package/dist/availability/i18n/provider.js +102 -0
  207. package/dist/availability/index.d.ts +10 -0
  208. package/dist/availability/index.d.ts.map +1 -0
  209. package/dist/availability/index.js +9 -0
  210. package/dist/availability/provider.d.ts +2 -0
  211. package/dist/availability/provider.d.ts.map +1 -0
  212. package/dist/availability/provider.js +1 -0
  213. package/dist/availability/query-keys.d.ts +69 -0
  214. package/dist/availability/query-keys.d.ts.map +1 -0
  215. package/dist/availability/query-keys.js +29 -0
  216. package/dist/availability/query-options.d.ts +1549 -0
  217. package/dist/availability/query-options.d.ts.map +1 -0
  218. package/dist/availability/query-options.js +258 -0
  219. package/dist/availability/schemas.d.ts +974 -0
  220. package/dist/availability/schemas.d.ts.map +1 -0
  221. package/dist/availability/schemas.js +329 -0
  222. package/dist/availability/ui.d.ts +14 -0
  223. package/dist/availability/ui.d.ts.map +1 -0
  224. package/dist/availability/ui.js +13 -0
  225. package/dist/availability/utils.d.ts +10 -0
  226. package/dist/availability/utils.d.ts.map +1 -0
  227. package/dist/availability/utils.js +32 -0
  228. package/dist/ground/client.d.ts +14 -0
  229. package/dist/ground/client.d.ts.map +1 -0
  230. package/dist/ground/client.js +58 -0
  231. package/dist/ground/hooks/index.d.ts +7 -0
  232. package/dist/ground/hooks/index.d.ts.map +1 -0
  233. package/dist/ground/hooks/index.js +6 -0
  234. package/dist/ground/hooks/use-ground-driver-mutation.d.ts +48 -0
  235. package/dist/ground/hooks/use-ground-driver-mutation.d.ts.map +1 -0
  236. package/dist/ground/hooks/use-ground-driver-mutation.js +40 -0
  237. package/dist/ground/hooks/use-ground-drivers.d.ts +23 -0
  238. package/dist/ground/hooks/use-ground-drivers.d.ts.map +1 -0
  239. package/dist/ground/hooks/use-ground-drivers.js +12 -0
  240. package/dist/ground/hooks/use-ground-operator-mutation.d.ts +42 -0
  241. package/dist/ground/hooks/use-ground-operator-mutation.d.ts.map +1 -0
  242. package/dist/ground/hooks/use-ground-operator-mutation.js +40 -0
  243. package/dist/ground/hooks/use-ground-operators.d.ts +21 -0
  244. package/dist/ground/hooks/use-ground-operators.d.ts.map +1 -0
  245. package/dist/ground/hooks/use-ground-operators.js +12 -0
  246. package/dist/ground/hooks/use-ground-vehicle-mutation.d.ts +60 -0
  247. package/dist/ground/hooks/use-ground-vehicle-mutation.d.ts.map +1 -0
  248. package/dist/ground/hooks/use-ground-vehicle-mutation.js +40 -0
  249. package/dist/ground/hooks/use-ground-vehicles.d.ts +27 -0
  250. package/dist/ground/hooks/use-ground-vehicles.d.ts.map +1 -0
  251. package/dist/ground/hooks/use-ground-vehicles.js +12 -0
  252. package/dist/ground/index.d.ts +7 -0
  253. package/dist/ground/index.d.ts.map +1 -0
  254. package/dist/ground/index.js +6 -0
  255. package/dist/ground/provider.d.ts +2 -0
  256. package/dist/ground/provider.d.ts.map +1 -0
  257. package/dist/ground/provider.js +1 -0
  258. package/dist/ground/query-keys.d.ts +35 -0
  259. package/dist/ground/query-keys.d.ts.map +1 -0
  260. package/dist/ground/query-keys.js +12 -0
  261. package/dist/ground/query-options.d.ts +417 -0
  262. package/dist/ground/query-options.d.ts.map +1 -0
  263. package/dist/ground/query-options.js +63 -0
  264. package/dist/ground/schemas.d.ts +212 -0
  265. package/dist/ground/schemas.d.ts.map +1 -0
  266. package/dist/ground/schemas.js +45 -0
  267. package/dist/index.d.ts +5 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +4 -0
  270. package/dist/places/client.d.ts +14 -0
  271. package/dist/places/client.d.ts.map +1 -0
  272. package/dist/places/client.js +58 -0
  273. package/dist/places/components/facility-badge.d.ts +13 -0
  274. package/dist/places/components/facility-badge.d.ts.map +1 -0
  275. package/dist/places/components/facility-badge.js +22 -0
  276. package/dist/places/components/facility-combobox.d.ts +16 -0
  277. package/dist/places/components/facility-combobox.d.ts.map +1 -0
  278. package/dist/places/components/facility-combobox.js +61 -0
  279. package/dist/places/components/place-badge.d.ts +2 -0
  280. package/dist/places/components/place-badge.d.ts.map +1 -0
  281. package/dist/places/components/place-badge.js +1 -0
  282. package/dist/places/components/place-combobox.d.ts +2 -0
  283. package/dist/places/components/place-combobox.d.ts.map +1 -0
  284. package/dist/places/components/place-combobox.js +1 -0
  285. package/dist/places/hooks/index.d.ts +23 -0
  286. package/dist/places/hooks/index.d.ts.map +1 -0
  287. package/dist/places/hooks/index.js +22 -0
  288. package/dist/places/hooks/use-facilities.d.ts +31 -0
  289. package/dist/places/hooks/use-facilities.d.ts.map +1 -0
  290. package/dist/places/hooks/use-facilities.js +12 -0
  291. package/dist/places/hooks/use-facility-feature-mutation.d.ts +37 -0
  292. package/dist/places/hooks/use-facility-feature-mutation.d.ts.map +1 -0
  293. package/dist/places/hooks/use-facility-feature-mutation.js +38 -0
  294. package/dist/places/hooks/use-facility-features.d.ts +21 -0
  295. package/dist/places/hooks/use-facility-features.d.ts.map +1 -0
  296. package/dist/places/hooks/use-facility-features.js +12 -0
  297. package/dist/places/hooks/use-facility-mutation.d.ts +74 -0
  298. package/dist/places/hooks/use-facility-mutation.d.ts.map +1 -0
  299. package/dist/places/hooks/use-facility-mutation.js +45 -0
  300. package/dist/places/hooks/use-facility-operation-schedule-mutation.d.ts +37 -0
  301. package/dist/places/hooks/use-facility-operation-schedule-mutation.d.ts.map +1 -0
  302. package/dist/places/hooks/use-facility-operation-schedule-mutation.js +44 -0
  303. package/dist/places/hooks/use-facility-operation-schedules.d.ts +21 -0
  304. package/dist/places/hooks/use-facility-operation-schedules.d.ts.map +1 -0
  305. package/dist/places/hooks/use-facility-operation-schedules.js +12 -0
  306. package/dist/places/hooks/use-facility.d.ts +25 -0
  307. package/dist/places/hooks/use-facility.d.ts.map +1 -0
  308. package/dist/places/hooks/use-facility.js +12 -0
  309. package/dist/places/hooks/use-properties.d.ts +23 -0
  310. package/dist/places/hooks/use-properties.d.ts.map +1 -0
  311. package/dist/places/hooks/use-properties.js +12 -0
  312. package/dist/places/hooks/use-property-group-member-mutation.d.ts +41 -0
  313. package/dist/places/hooks/use-property-group-member-mutation.d.ts.map +1 -0
  314. package/dist/places/hooks/use-property-group-member-mutation.js +38 -0
  315. package/dist/places/hooks/use-property-group-members.d.ts +20 -0
  316. package/dist/places/hooks/use-property-group-members.d.ts.map +1 -0
  317. package/dist/places/hooks/use-property-group-members.js +12 -0
  318. package/dist/places/hooks/use-property-group-mutation.d.ts +50 -0
  319. package/dist/places/hooks/use-property-group-mutation.d.ts.map +1 -0
  320. package/dist/places/hooks/use-property-group-mutation.js +39 -0
  321. package/dist/places/hooks/use-property-group.d.ts +17 -0
  322. package/dist/places/hooks/use-property-group.d.ts.map +1 -0
  323. package/dist/places/hooks/use-property-group.js +12 -0
  324. package/dist/places/hooks/use-property-groups.d.ts +23 -0
  325. package/dist/places/hooks/use-property-groups.d.ts.map +1 -0
  326. package/dist/places/hooks/use-property-groups.js +12 -0
  327. package/dist/places/hooks/use-property-mutation.d.ts +50 -0
  328. package/dist/places/hooks/use-property-mutation.d.ts.map +1 -0
  329. package/dist/places/hooks/use-property-mutation.js +40 -0
  330. package/dist/places/hooks/use-property.d.ts +17 -0
  331. package/dist/places/hooks/use-property.d.ts.map +1 -0
  332. package/dist/places/hooks/use-property.js +12 -0
  333. package/dist/places/i18n/en.d.ts +14 -0
  334. package/dist/places/i18n/en.d.ts.map +1 -0
  335. package/dist/places/i18n/en.js +13 -0
  336. package/dist/places/i18n/index.d.ts +5 -0
  337. package/dist/places/i18n/index.d.ts.map +1 -0
  338. package/dist/places/i18n/index.js +3 -0
  339. package/dist/places/i18n/messages.d.ts +15 -0
  340. package/dist/places/i18n/messages.d.ts.map +1 -0
  341. package/dist/places/i18n/messages.js +1 -0
  342. package/dist/places/i18n/provider.d.ts +50 -0
  343. package/dist/places/i18n/provider.d.ts.map +1 -0
  344. package/dist/places/i18n/provider.js +44 -0
  345. package/dist/places/i18n/ro.d.ts +14 -0
  346. package/dist/places/i18n/ro.d.ts.map +1 -0
  347. package/dist/places/i18n/ro.js +13 -0
  348. package/dist/places/index.d.ts +7 -0
  349. package/dist/places/index.d.ts.map +1 -0
  350. package/dist/places/index.js +6 -0
  351. package/dist/places/provider.d.ts +2 -0
  352. package/dist/places/provider.d.ts.map +1 -0
  353. package/dist/places/provider.js +1 -0
  354. package/dist/places/query-keys.d.ts +92 -0
  355. package/dist/places/query-keys.d.ts.map +1 -0
  356. package/dist/places/query-keys.js +22 -0
  357. package/dist/places/query-options.d.ts +814 -0
  358. package/dist/places/query-options.d.ts.map +1 -0
  359. package/dist/places/query-options.js +132 -0
  360. package/dist/places/schemas.d.ts +464 -0
  361. package/dist/places/schemas.d.ts.map +1 -0
  362. package/dist/places/schemas.js +84 -0
  363. package/dist/places/ui.d.ts +4 -0
  364. package/dist/places/ui.d.ts.map +1 -0
  365. package/dist/places/ui.js +3 -0
  366. package/dist/resources/admin/detail-hosts.d.ts +30 -0
  367. package/dist/resources/admin/detail-hosts.d.ts.map +1 -0
  368. package/dist/resources/admin/detail-hosts.js +50 -0
  369. package/dist/resources/admin/index.d.ts +89 -0
  370. package/dist/resources/admin/index.d.ts.map +1 -0
  371. package/dist/resources/admin/index.js +148 -0
  372. package/dist/resources/admin/pages/resource-allocation-detail-page.d.ts +9 -0
  373. package/dist/resources/admin/pages/resource-allocation-detail-page.d.ts.map +1 -0
  374. package/dist/resources/admin/pages/resource-allocation-detail-page.js +11 -0
  375. package/dist/resources/admin/pages/resource-assignment-detail-page.d.ts +9 -0
  376. package/dist/resources/admin/pages/resource-assignment-detail-page.d.ts.map +1 -0
  377. package/dist/resources/admin/pages/resource-assignment-detail-page.js +11 -0
  378. package/dist/resources/admin/pages/resource-detail-page.d.ts +9 -0
  379. package/dist/resources/admin/pages/resource-detail-page.d.ts.map +1 -0
  380. package/dist/resources/admin/pages/resource-detail-page.js +11 -0
  381. package/dist/resources/admin/pages/resource-pool-detail-page.d.ts +9 -0
  382. package/dist/resources/admin/pages/resource-pool-detail-page.d.ts.map +1 -0
  383. package/dist/resources/admin/pages/resource-pool-detail-page.js +11 -0
  384. package/dist/resources/admin/resources-admin-api.d.ts +22 -0
  385. package/dist/resources/admin/resources-admin-api.d.ts.map +1 -0
  386. package/dist/resources/admin/resources-admin-api.js +28 -0
  387. package/dist/resources/admin/resources-dialog-allocation.d.ts +12 -0
  388. package/dist/resources/admin/resources-dialog-allocation.d.ts.map +1 -0
  389. package/dist/resources/admin/resources-dialog-allocation.js +77 -0
  390. package/dist/resources/admin/resources-dialogs-core.d.ts +16 -0
  391. package/dist/resources/admin/resources-dialogs-core.d.ts.map +1 -0
  392. package/dist/resources/admin/resources-dialogs-core.js +133 -0
  393. package/dist/resources/admin/resources-dialogs-ops.d.ts +19 -0
  394. package/dist/resources/admin/resources-dialogs-ops.d.ts.map +1 -0
  395. package/dist/resources/admin/resources-dialogs-ops.js +137 -0
  396. package/dist/resources/admin/resources-dialogs.d.ts +28 -0
  397. package/dist/resources/admin/resources-dialogs.d.ts.map +1 -0
  398. package/dist/resources/admin/resources-dialogs.js +23 -0
  399. package/dist/resources/admin/resources-host.d.ts +11 -0
  400. package/dist/resources/admin/resources-host.d.ts.map +1 -0
  401. package/dist/resources/admin/resources-host.js +159 -0
  402. package/dist/resources/admin/resources-page-data.d.ts +61 -0
  403. package/dist/resources/admin/resources-page-data.d.ts.map +1 -0
  404. package/dist/resources/admin/resources-page-data.js +39 -0
  405. package/dist/resources/admin/resources-page-skeleton.d.ts +5 -0
  406. package/dist/resources/admin/resources-page-skeleton.d.ts.map +1 -0
  407. package/dist/resources/admin/resources-page-skeleton.js +22 -0
  408. package/dist/resources/client.d.ts +14 -0
  409. package/dist/resources/client.d.ts.map +1 -0
  410. package/dist/resources/client.js +59 -0
  411. package/dist/resources/components/resource-allocation-detail-page.d.ts +16 -0
  412. package/dist/resources/components/resource-allocation-detail-page.d.ts.map +1 -0
  413. package/dist/resources/components/resource-allocation-detail-page.js +48 -0
  414. package/dist/resources/components/resource-assignment-detail-page.d.ts +16 -0
  415. package/dist/resources/components/resource-assignment-detail-page.d.ts.map +1 -0
  416. package/dist/resources/components/resource-assignment-detail-page.js +50 -0
  417. package/dist/resources/components/resource-detail-data.d.ts +34 -0
  418. package/dist/resources/components/resource-detail-data.d.ts.map +1 -0
  419. package/dist/resources/components/resource-detail-data.js +90 -0
  420. package/dist/resources/components/resource-detail-page.d.ts +24 -0
  421. package/dist/resources/components/resource-detail-page.d.ts.map +1 -0
  422. package/dist/resources/components/resource-detail-page.js +80 -0
  423. package/dist/resources/components/resource-detail-shared.d.ts +37 -0
  424. package/dist/resources/components/resource-detail-shared.d.ts.map +1 -0
  425. package/dist/resources/components/resource-detail-shared.js +51 -0
  426. package/dist/resources/components/resource-detail-skeletons.d.ts +14 -0
  427. package/dist/resources/components/resource-detail-skeletons.d.ts.map +1 -0
  428. package/dist/resources/components/resource-detail-skeletons.js +24 -0
  429. package/dist/resources/components/resource-pool-detail-page.d.ts +22 -0
  430. package/dist/resources/components/resource-pool-detail-page.d.ts.map +1 -0
  431. package/dist/resources/components/resource-pool-detail-page.js +68 -0
  432. package/dist/resources/components/resources-overview.d.ts +28 -0
  433. package/dist/resources/components/resources-overview.d.ts.map +1 -0
  434. package/dist/resources/components/resources-overview.js +32 -0
  435. package/dist/resources/components/resources-page-filters.d.ts +22 -0
  436. package/dist/resources/components/resources-page-filters.d.ts.map +1 -0
  437. package/dist/resources/components/resources-page-filters.js +40 -0
  438. package/dist/resources/components/resources-page.d.ts +77 -0
  439. package/dist/resources/components/resources-page.d.ts.map +1 -0
  440. package/dist/resources/components/resources-page.js +140 -0
  441. package/dist/resources/components/resources-section-header.d.ts +7 -0
  442. package/dist/resources/components/resources-section-header.d.ts.map +1 -0
  443. package/dist/resources/components/resources-section-header.js +6 -0
  444. package/dist/resources/components/resources-tabs-primary.d.ts +58 -0
  445. package/dist/resources/components/resources-tabs-primary.d.ts.map +1 -0
  446. package/dist/resources/components/resources-tabs-primary.js +201 -0
  447. package/dist/resources/components/resources-tabs-secondary.d.ts +46 -0
  448. package/dist/resources/components/resources-tabs-secondary.d.ts.map +1 -0
  449. package/dist/resources/components/resources-tabs-secondary.js +143 -0
  450. package/dist/resources/constants.d.ts +44 -0
  451. package/dist/resources/constants.d.ts.map +1 -0
  452. package/dist/resources/constants.js +20 -0
  453. package/dist/resources/hooks/index.d.ts +31 -0
  454. package/dist/resources/hooks/index.d.ts.map +1 -0
  455. package/dist/resources/hooks/index.js +15 -0
  456. package/dist/resources/hooks/use-allocation.d.ts +16 -0
  457. package/dist/resources/hooks/use-allocation.d.ts.map +1 -0
  458. package/dist/resources/hooks/use-allocation.js +12 -0
  459. package/dist/resources/hooks/use-allocations.d.ts +20 -0
  460. package/dist/resources/hooks/use-allocations.d.ts.map +1 -0
  461. package/dist/resources/hooks/use-allocations.js +12 -0
  462. package/dist/resources/hooks/use-assignment.d.ts +17 -0
  463. package/dist/resources/hooks/use-assignment.d.ts.map +1 -0
  464. package/dist/resources/hooks/use-assignment.js +12 -0
  465. package/dist/resources/hooks/use-assignments.d.ts +21 -0
  466. package/dist/resources/hooks/use-assignments.d.ts.map +1 -0
  467. package/dist/resources/hooks/use-assignments.js +12 -0
  468. package/dist/resources/hooks/use-bookings.d.ts +14 -0
  469. package/dist/resources/hooks/use-bookings.d.ts.map +1 -0
  470. package/dist/resources/hooks/use-bookings.js +12 -0
  471. package/dist/resources/hooks/use-closeouts.d.ts +19 -0
  472. package/dist/resources/hooks/use-closeouts.d.ts.map +1 -0
  473. package/dist/resources/hooks/use-closeouts.js +12 -0
  474. package/dist/resources/hooks/use-pool.d.ts +15 -0
  475. package/dist/resources/hooks/use-pool.d.ts.map +1 -0
  476. package/dist/resources/hooks/use-pool.js +12 -0
  477. package/dist/resources/hooks/use-pools.d.ts +19 -0
  478. package/dist/resources/hooks/use-pools.d.ts.map +1 -0
  479. package/dist/resources/hooks/use-pools.js +12 -0
  480. package/dist/resources/hooks/use-products.d.ts +14 -0
  481. package/dist/resources/hooks/use-products.d.ts.map +1 -0
  482. package/dist/resources/hooks/use-products.js +12 -0
  483. package/dist/resources/hooks/use-resource.d.ts +16 -0
  484. package/dist/resources/hooks/use-resource.d.ts.map +1 -0
  485. package/dist/resources/hooks/use-resource.js +12 -0
  486. package/dist/resources/hooks/use-resources.d.ts +20 -0
  487. package/dist/resources/hooks/use-resources.d.ts.map +1 -0
  488. package/dist/resources/hooks/use-resources.js +12 -0
  489. package/dist/resources/hooks/use-rules.d.ts +15 -0
  490. package/dist/resources/hooks/use-rules.d.ts.map +1 -0
  491. package/dist/resources/hooks/use-rules.js +12 -0
  492. package/dist/resources/hooks/use-slots.d.ts +16 -0
  493. package/dist/resources/hooks/use-slots.d.ts.map +1 -0
  494. package/dist/resources/hooks/use-slots.js +12 -0
  495. package/dist/resources/hooks/use-start-times.d.ts +16 -0
  496. package/dist/resources/hooks/use-start-times.d.ts.map +1 -0
  497. package/dist/resources/hooks/use-start-times.js +12 -0
  498. package/dist/resources/hooks/use-suppliers.d.ts +14 -0
  499. package/dist/resources/hooks/use-suppliers.d.ts.map +1 -0
  500. package/dist/resources/hooks/use-suppliers.js +12 -0
  501. package/dist/resources/i18n/en.d.ts +3 -0
  502. package/dist/resources/i18n/en.d.ts.map +1 -0
  503. package/dist/resources/i18n/en.js +363 -0
  504. package/dist/resources/i18n/index.d.ts +5 -0
  505. package/dist/resources/i18n/index.d.ts.map +1 -0
  506. package/dist/resources/i18n/index.js +3 -0
  507. package/dist/resources/i18n/messages.d.ts +298 -0
  508. package/dist/resources/i18n/messages.d.ts.map +1 -0
  509. package/dist/resources/i18n/messages.js +1 -0
  510. package/dist/resources/i18n/provider.d.ts +26 -0
  511. package/dist/resources/i18n/provider.d.ts.map +1 -0
  512. package/dist/resources/i18n/provider.js +44 -0
  513. package/dist/resources/i18n/ro.d.ts +3 -0
  514. package/dist/resources/i18n/ro.d.ts.map +1 -0
  515. package/dist/resources/i18n/ro.js +363 -0
  516. package/dist/resources/i18n/utils.d.ts +18 -0
  517. package/dist/resources/i18n/utils.d.ts.map +1 -0
  518. package/dist/resources/i18n/utils.js +30 -0
  519. package/dist/resources/index.d.ts +9 -0
  520. package/dist/resources/index.d.ts.map +1 -0
  521. package/dist/resources/index.js +8 -0
  522. package/dist/resources/provider.d.ts +2 -0
  523. package/dist/resources/provider.d.ts.map +1 -0
  524. package/dist/resources/provider.js +1 -0
  525. package/dist/resources/query-keys.d.ts +73 -0
  526. package/dist/resources/query-keys.d.ts.map +1 -0
  527. package/dist/resources/query-keys.js +29 -0
  528. package/dist/resources/query-options.d.ts +801 -0
  529. package/dist/resources/query-options.d.ts.map +1 -0
  530. package/dist/resources/query-options.js +237 -0
  531. package/dist/resources/schemas.d.ts +452 -0
  532. package/dist/resources/schemas.d.ts.map +1 -0
  533. package/dist/resources/schemas.js +126 -0
  534. package/dist/resources/ui.d.ts +13 -0
  535. package/dist/resources/ui.d.ts.map +1 -0
  536. package/dist/resources/ui.js +12 -0
  537. package/dist/resources/utils.d.ts +14 -0
  538. package/dist/resources/utils.d.ts.map +1 -0
  539. package/dist/resources/utils.js +33 -0
  540. package/package.json +325 -0
  541. package/src/availability/styles.css +12 -0
  542. package/src/places/styles.css +11 -0
  543. package/src/resources/styles.css +11 -0
  544. package/src/styles.css +3 -0
@@ -0,0 +1,77 @@
1
+ import type { ReactNode } from "react";
2
+ import { type ResourceAllocationRow, type ResourceCloseoutRow, type ResourcePoolRow, type ResourceRow, type ResourceSlotAssignmentRow, type UseAllocationsOptions, type UseAssignmentsOptions, type UseBookingsOptions, type UseCloseoutsOptions, type UsePoolsOptions, type UseProductsOptions, type UseResourcesOptions, type UseRulesOptions, type UseSlotsOptions, type UseStartTimesOptions, type UseSuppliersOptions } from "../index.js";
3
+ export type ResourcesPageTab = "resources" | "pools" | "allocations" | "assignments" | "closeouts";
4
+ export type ResourcesPageActiveFilter = "all" | "active" | "inactive";
5
+ export type ResourcesPageBulkUpdateArgs = {
6
+ ids: string[];
7
+ endpoint: string;
8
+ target: string;
9
+ nounSingular: string;
10
+ nounPlural: string;
11
+ payload: Record<string, unknown>;
12
+ successVerb: string;
13
+ clearSelection: () => void;
14
+ };
15
+ export type ResourcesPageBulkDeleteArgs = {
16
+ ids: string[];
17
+ endpoint: string;
18
+ target: string;
19
+ nounSingular: string;
20
+ nounPlural: string;
21
+ clearSelection: () => void;
22
+ };
23
+ export type ResourcesPageBulkUpdateHandler = (args: ResourcesPageBulkUpdateArgs) => Promise<void>;
24
+ export type ResourcesPageBulkDeleteHandler = (args: ResourcesPageBulkDeleteArgs) => Promise<void>;
25
+ export interface ResourcesPageSlots {
26
+ headerEnd?: ReactNode;
27
+ beforeTabs?: ReactNode;
28
+ afterOverview?: ReactNode;
29
+ afterTabs?: ReactNode;
30
+ dialogs?: ReactNode;
31
+ }
32
+ /**
33
+ * Per-list query options the page's data hooks run with. Hosts that SSR
34
+ * prefetch (route loaders) pass the same filters here so the loader-seeded
35
+ * cache entries and the page's hooks share query keys.
36
+ */
37
+ export interface ResourcesPageQueryFilters {
38
+ suppliers?: UseSuppliersOptions;
39
+ products?: UseProductsOptions;
40
+ bookings?: UseBookingsOptions;
41
+ slots?: UseSlotsOptions;
42
+ rules?: UseRulesOptions;
43
+ startTimes?: UseStartTimesOptions;
44
+ resources?: UseResourcesOptions;
45
+ pools?: UsePoolsOptions;
46
+ allocations?: UseAllocationsOptions;
47
+ assignments?: UseAssignmentsOptions;
48
+ closeouts?: UseCloseoutsOptions;
49
+ }
50
+ export interface ResourcesPageProps {
51
+ className?: string;
52
+ defaultTab?: ResourcesPageTab;
53
+ bulkActionTarget?: string | null;
54
+ onBulkUpdate: ResourcesPageBulkUpdateHandler;
55
+ onBulkDelete: ResourcesPageBulkDeleteHandler;
56
+ onResourceCreate?: () => void;
57
+ onResourceOpen?: (resourceId: string) => void;
58
+ onResourceEdit?: (resource: ResourceRow) => void;
59
+ onPoolCreate?: () => void;
60
+ onPoolOpen?: (poolId: string) => void;
61
+ onPoolEdit?: (pool: ResourcePoolRow) => void;
62
+ onAllocationCreate?: () => void;
63
+ onAllocationOpen?: (allocationId: string) => void;
64
+ onAllocationEdit?: (allocation: ResourceAllocationRow) => void;
65
+ onAssignmentCreate?: () => void;
66
+ onAssignmentOpen?: (assignmentId: string) => void;
67
+ onAssignmentEdit?: (assignment: ResourceSlotAssignmentRow) => void;
68
+ onCloseoutCreate?: () => void;
69
+ onCloseoutEdit?: (closeout: ResourceCloseoutRow) => void;
70
+ slots?: ResourcesPageSlots;
71
+ /** Options forwarded to the page's list hooks (e.g. to match SSR-prefetched query keys). */
72
+ queryFilters?: ResourcesPageQueryFilters;
73
+ /** Rendered instead of the default loading hint while the list queries resolve. */
74
+ loadingFallback?: ReactNode;
75
+ }
76
+ export declare function ResourcesPage({ className, defaultTab, bulkActionTarget, onBulkUpdate, onBulkDelete, onResourceCreate, onResourceOpen, onResourceEdit, onPoolCreate, onPoolOpen, onPoolEdit, onAllocationCreate, onAllocationOpen, onAllocationEdit, onAssignmentCreate, onAssignmentOpen, onAssignmentEdit, onCloseoutCreate, onCloseoutEdit, slots, queryFilters, loadingFallback, }: ResourcesPageProps): import("react/jsx-runtime").JSX.Element;
77
+ //# sourceMappingURL=resources-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-page.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAE9B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAYzB,MAAM,aAAa,CAAA;AAMpB,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,GAAG,WAAW,CAAA;AAElG,MAAM,MAAM,yBAAyB,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAA;AAErE,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjG,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjG,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,YAAY,EAAE,8BAA8B,CAAA;IAC5C,YAAY,EAAE,8BAA8B,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAA;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IAC5C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,IAAI,CAAA;IAC9D,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,yBAAyB,KAAK,IAAI,CAAA;IAClE,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACxD,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,4FAA4F;IAC5F,YAAY,CAAC,EAAE,yBAAyB,CAAA;IACxC,mFAAmF;IACnF,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAMD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,UAAwB,EACxB,gBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,gBAAuB,EACvB,cAAuB,EACvB,cAAwB,EACxB,YAAmB,EACnB,UAAmB,EACnB,UAAoB,EACpB,kBAAyB,EACzB,gBAAyB,EACzB,gBAA0B,EAC1B,kBAAyB,EACzB,gBAAyB,EACzB,gBAA0B,EAC1B,gBAAuB,EACvB,cAAwB,EACxB,KAAK,EACL,YAAY,EACZ,eAAe,GAChB,EAAE,kBAAkB,2CAwXpB"}
@@ -0,0 +1,140 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Badge, Button, cn, Input, Label } from "@voyant-travel/ui/components";
4
+ import { Popover, PopoverContent, PopoverTrigger } from "@voyant-travel/ui/components/popover";
5
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, } from "@voyant-travel/ui/components/select";
6
+ import { Tabs, TabsList, TabsTrigger } from "@voyant-travel/ui/components/tabs";
7
+ import { ListFilter, Search, X } from "lucide-react";
8
+ import { useMemo, useState } from "react";
9
+ import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
10
+ import { formatResourceSlotLabel, RESOURCE_KIND_VALUES } from "../i18n/utils.js";
11
+ import { labelById, useAllocations, useAssignments, useBookings, useCloseouts, usePools, useProducts, useResources, useRules, useSlots, useStartTimes, useSuppliers, } from "../index.js";
12
+ import { ResourcesOverview } from "./resources-overview.js";
13
+ import { ResourcesFilterPopover } from "./resources-page-filters.js";
14
+ import { AllocationsTab, PoolsTab, ResourcesTab } from "./resources-tabs-primary.js";
15
+ import { AssignmentsTab, CloseoutsTab } from "./resources-tabs-secondary.js";
16
+ const noop = () => undefined;
17
+ const noopId = (_id) => undefined;
18
+ const noopRow = (_row) => undefined;
19
+ export function ResourcesPage({ className, defaultTab = "resources", bulkActionTarget = null, onBulkUpdate, onBulkDelete, onResourceCreate = noop, onResourceOpen = noopId, onResourceEdit = noopRow, onPoolCreate = noop, onPoolOpen = noopId, onPoolEdit = noopRow, onAllocationCreate = noop, onAllocationOpen = noopId, onAllocationEdit = noopRow, onAssignmentCreate = noop, onAssignmentOpen = noopId, onAssignmentEdit = noopRow, onCloseoutCreate = noop, onCloseoutEdit = noopRow, slots, queryFilters, loadingFallback, }) {
20
+ const i18n = useResourcesUiI18nOrDefault();
21
+ const m = i18n.messages;
22
+ const page = m.resourcesPage;
23
+ const [search, setSearch] = useState("");
24
+ const [kindFilter, setKindFilter] = useState("all");
25
+ const [activeTab, setActiveTab] = useState(defaultTab);
26
+ const [filterPopoverOpen, setFilterPopoverOpen] = useState(false);
27
+ const [supplierFilter, setSupplierFilter] = useState(null);
28
+ const [selectedSupplierOption, setSelectedSupplierOption] = useState(null);
29
+ const [productFilter, setProductFilter] = useState(null);
30
+ const [selectedProductOption, setSelectedProductOption] = useState(null);
31
+ const [activeFilter, setActiveFilter] = useState("all");
32
+ const [assignmentStatusFilter, setAssignmentStatusFilter] = useState("all");
33
+ const [resourceSelection, setResourceSelectionState] = useState({});
34
+ const [poolSelection, setPoolSelectionState] = useState({});
35
+ const [allocationSelection, setAllocationSelectionState] = useState({});
36
+ const [assignmentSelection, setAssignmentSelectionState] = useState({});
37
+ const [closeoutSelection, setCloseoutSelectionState] = useState({});
38
+ const suppliersQuery = useSuppliers(queryFilters?.suppliers);
39
+ const productsQuery = useProducts(queryFilters?.products);
40
+ const bookingsQuery = useBookings(queryFilters?.bookings);
41
+ const slotsQuery = useSlots(queryFilters?.slots);
42
+ const rulesQuery = useRules(queryFilters?.rules);
43
+ const startTimesQuery = useStartTimes(queryFilters?.startTimes);
44
+ const resourcesQuery = useResources(queryFilters?.resources);
45
+ const poolsQuery = usePools(queryFilters?.pools);
46
+ const allocationsQuery = useAllocations(queryFilters?.allocations);
47
+ const assignmentsQuery = useAssignments(queryFilters?.assignments);
48
+ const closeoutsQuery = useCloseouts(queryFilters?.closeouts);
49
+ const suppliers = suppliersQuery.data?.data ?? [];
50
+ const products = productsQuery.data?.data ?? [];
51
+ const bookings = bookingsQuery.data?.data ?? [];
52
+ const slotsData = slotsQuery.data?.data ?? [];
53
+ const rules = rulesQuery.data?.data ?? [];
54
+ const startTimes = startTimesQuery.data?.data ?? [];
55
+ const resources = resourcesQuery.data?.data ?? [];
56
+ const pools = poolsQuery.data?.data ?? [];
57
+ const allocations = allocationsQuery.data?.data ?? [];
58
+ const assignments = assignmentsQuery.data?.data ?? [];
59
+ const closeouts = closeoutsQuery.data?.data ?? [];
60
+ const kindOptions = useMemo(() => RESOURCE_KIND_VALUES.map((value) => ({
61
+ value,
62
+ label: m.common.resourceKindLabels[value],
63
+ })), [m.common.resourceKindLabels]);
64
+ const normalizedSearch = search.trim().toLowerCase();
65
+ const matchesSearch = (...values) => !normalizedSearch ||
66
+ values.some((value) => String(value ?? "")
67
+ .toLowerCase()
68
+ .includes(normalizedSearch));
69
+ const matchesKind = (kind) => kindFilter === "all" || kind === kindFilter;
70
+ const matchesActive = (active) => activeFilter === "all" ||
71
+ (activeFilter === "active" && active) ||
72
+ (activeFilter === "inactive" && !active);
73
+ const filteredResources = resources.filter((resource) => matchesKind(resource.kind) &&
74
+ matchesActive(resource.active) &&
75
+ (!supplierFilter || resource.supplierId === supplierFilter) &&
76
+ matchesSearch(resource.name, resource.code, resource.kind, labelById(suppliers, resource.supplierId), resource.notes));
77
+ const filteredPools = pools.filter((pool) => matchesKind(pool.kind) &&
78
+ matchesActive(pool.active) &&
79
+ (!productFilter || pool.productId === productFilter) &&
80
+ matchesSearch(pool.name, pool.kind, labelById(products, pool.productId), pool.notes));
81
+ const filteredAllocations = allocations.filter((allocation) => {
82
+ const pool = pools.find((entry) => entry.id === allocation.poolId);
83
+ return ((kindFilter === "all" || pool?.kind === kindFilter) &&
84
+ matchesSearch(labelById(pools, allocation.poolId), labelById(products, allocation.productId), allocation.allocationMode, allocation.priority, allocation.quantityRequired, rules.find((rule) => rule.id === allocation.availabilityRuleId)?.recurrenceRule, startTimes.find((startTime) => startTime.id === allocation.startTimeId)?.label));
85
+ });
86
+ const filteredAssignments = assignments.filter((assignment) => {
87
+ const resource = resources.find((entry) => entry.id === assignment.resourceId);
88
+ return ((kindFilter === "all" || resource?.kind === kindFilter) &&
89
+ (assignmentStatusFilter === "all" || assignment.status === assignmentStatusFilter) &&
90
+ matchesSearch(assignment.status, assignment.assignedBy, assignment.notes, labelById(resources, assignment.resourceId), labelById(bookings, assignment.bookingId), formatResourceSlotLabel(slotsData.find((slot) => slot.id === assignment.slotId) ?? {
91
+ id: assignment.slotId,
92
+ productId: "",
93
+ dateLocal: assignment.slotId,
94
+ startsAt: assignment.slotId,
95
+ }, {
96
+ template: m.common.slotLabel,
97
+ formatDate: i18n.formatDate,
98
+ })));
99
+ });
100
+ const filteredCloseouts = closeouts.filter((closeout) => {
101
+ const resource = resources.find((entry) => entry.id === closeout.resourceId);
102
+ return ((kindFilter === "all" || resource?.kind === kindFilter) &&
103
+ matchesSearch(labelById(resources, closeout.resourceId), closeout.dateLocal, closeout.reason, closeout.createdBy));
104
+ });
105
+ const liveAssignments = filteredAssignments.filter((assignment) => assignment.status === "reserved" || assignment.status === "assigned");
106
+ const resourcesWithoutSupplier = filteredResources.filter((resource) => !resource.supplierId);
107
+ const unassignedReservations = liveAssignments.filter((assignment) => !assignment.resourceId);
108
+ const activeFilterCount = (kindFilter !== "all" ? 1 : 0) +
109
+ (activeFilter !== "all" ? 1 : 0) +
110
+ (supplierFilter !== null ? 1 : 0) +
111
+ (productFilter !== null ? 1 : 0) +
112
+ (assignmentStatusFilter !== "all" ? 1 : 0);
113
+ const hasFilters = search.length > 0 || activeFilterCount > 0;
114
+ const clearAllFilters = () => {
115
+ setSearch("");
116
+ setKindFilter("all");
117
+ setActiveFilter("all");
118
+ setSupplierFilter(null);
119
+ setSelectedSupplierOption(null);
120
+ setProductFilter(null);
121
+ setSelectedProductOption(null);
122
+ setAssignmentStatusFilter("all");
123
+ };
124
+ const queries = [
125
+ suppliersQuery,
126
+ productsQuery,
127
+ bookingsQuery,
128
+ slotsQuery,
129
+ rulesQuery,
130
+ startTimesQuery,
131
+ resourcesQuery,
132
+ poolsQuery,
133
+ allocationsQuery,
134
+ assignmentsQuery,
135
+ closeoutsQuery,
136
+ ];
137
+ const isLoading = queries.some((query) => query.isPending);
138
+ const isError = queries.some((query) => query.isError);
139
+ return (_jsxs("div", { className: cn("flex flex-col gap-6 p-6", className), children: [_jsxs("div", { className: "flex flex-col gap-3 md:flex-row md:items-start md:justify-between", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight", children: page.title }), _jsx("p", { className: "text-sm text-muted-foreground", children: page.description })] }), slots?.headerEnd] }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("div", { className: "relative min-w-[14rem] flex-1", children: [_jsx(Label, { htmlFor: "resources-search", className: "sr-only", children: page.filters.searchPlaceholder }), _jsx(Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground", "aria-hidden": "true" }), _jsx(Input, { id: "resources-search", placeholder: page.filters.searchPlaceholder, value: search, onChange: (event) => setSearch(event.target.value), className: "pl-9" })] }), _jsxs(Select, { value: kindFilter, onValueChange: (value) => setKindFilter(value ?? "all"), children: [_jsx(SelectTrigger, { className: "w-44", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: _jsxs(SelectGroup, { children: [_jsx(SelectItem, { value: "all", children: m.common.allKinds }), kindOptions.map((option) => (_jsx(SelectItem, { value: option.value, children: option.label }, option.value)))] }) })] }), _jsxs(Popover, { open: filterPopoverOpen, onOpenChange: setFilterPopoverOpen, children: [_jsx(PopoverTrigger, { render: _jsxs(Button, { variant: "outline", children: [_jsx(ListFilter, { "data-icon": "inline-start", "aria-hidden": "true" }), page.filters.button, activeFilterCount > 0 ? (_jsx(Badge, { variant: "secondary", className: "ml-1 px-1.5", children: activeFilterCount })) : null] }) }), _jsx(PopoverContent, { align: "end", className: "w-[22rem] p-4", children: _jsx(ResourcesFilterPopover, { activeTab: activeTab, suppliers: suppliers, products: products, supplierFilter: supplierFilter, setSupplierFilter: setSupplierFilter, selectedSupplierOption: selectedSupplierOption, setSelectedSupplierOption: setSelectedSupplierOption, productFilter: productFilter, setProductFilter: setProductFilter, selectedProductOption: selectedProductOption, setSelectedProductOption: setSelectedProductOption, activeFilter: activeFilter, setActiveFilter: setActiveFilter, assignmentStatusFilter: assignmentStatusFilter, setAssignmentStatusFilter: setAssignmentStatusFilter }) })] }), hasFilters ? (_jsxs(Button, { variant: "ghost", size: "sm", onClick: clearAllFilters, children: [_jsx(X, { "data-icon": "inline-start", "aria-hidden": "true" }), page.filters.clear] })) : null] }), isLoading ? ((loadingFallback ?? (_jsx("div", { className: "rounded-md border p-6 text-sm text-muted-foreground", children: page.loading })))) : isError ? (_jsx("div", { className: "rounded-md border p-6 text-sm text-muted-foreground", children: page.loadFailed })) : (_jsxs(_Fragment, { children: [_jsx(ResourcesOverview, { bookings: bookings, slots: slotsData, closeouts: closeouts, filteredResources: filteredResources, filteredPools: filteredPools, liveAssignments: liveAssignments, resourcesWithoutSupplier: resourcesWithoutSupplier, unassignedReservations: unassignedReservations, search: search, setSearch: setSearch, kindFilter: kindFilter, setKindFilter: setKindFilter, hasFilters: hasFilters, onClearFilters: clearAllFilters, onOpenAssignment: onAssignmentOpen, onOpenResource: onResourceOpen, showFilters: false }), slots?.afterOverview, slots?.beforeTabs, _jsxs(Tabs, { value: activeTab, onValueChange: (value) => setActiveTab((value ?? "resources")), children: [_jsxs(TabsList, { className: "flex w-full justify-start overflow-x-auto", children: [_jsx(TabsTrigger, { value: "resources", children: page.tabs.resources }), _jsx(TabsTrigger, { value: "pools", children: page.tabs.pools }), _jsx(TabsTrigger, { value: "allocations", children: page.tabs.allocations }), _jsx(TabsTrigger, { value: "assignments", children: page.tabs.assignments }), _jsx(TabsTrigger, { value: "closeouts", children: page.tabs.closeouts })] }), _jsx(ResourcesTab, { suppliers: suppliers, filteredResources: filteredResources, resourceSelection: resourceSelection, setResourceSelection: setResourceSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onResourceCreate, onOpenRoute: onResourceOpen, onEdit: (row) => onResourceEdit(row) }), _jsx(PoolsTab, { products: products, filteredPools: filteredPools, poolSelection: poolSelection, setPoolSelection: setPoolSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onPoolCreate, onOpenRoute: onPoolOpen, onEdit: (row) => onPoolEdit(row) }), _jsx(AllocationsTab, { pools: pools, products: products, filteredAllocations: filteredAllocations, allocationSelection: allocationSelection, setAllocationSelection: setAllocationSelectionState, bulkActionTarget: bulkActionTarget, handleBulkDelete: onBulkDelete, onCreate: onAllocationCreate, onOpenRoute: onAllocationOpen, onEdit: (row) => onAllocationEdit(row) }), _jsx(AssignmentsTab, { slots: slotsData, resources: resources, bookings: bookings, filteredAssignments: filteredAssignments, assignmentSelection: assignmentSelection, setAssignmentSelection: setAssignmentSelectionState, bulkActionTarget: bulkActionTarget, handleBulkUpdate: onBulkUpdate, handleBulkDelete: onBulkDelete, onCreate: onAssignmentCreate, onOpenRoute: onAssignmentOpen, onEdit: (row) => onAssignmentEdit(row) }), _jsx(CloseoutsTab, { resources: resources, filteredCloseouts: filteredCloseouts, closeoutSelection: closeoutSelection, setCloseoutSelection: setCloseoutSelectionState, bulkActionTarget: bulkActionTarget, handleBulkDelete: onBulkDelete, onCreate: onCloseoutCreate, onEdit: (row) => onCloseoutEdit(row) })] }), slots?.afterTabs] })), slots?.dialogs] }));
140
+ }
@@ -0,0 +1,7 @@
1
+ export declare function ResourcesSectionHeader({ title, description, actionLabel, onAction, }: {
2
+ title: string;
3
+ description: string;
4
+ actionLabel: string;
5
+ onAction: () => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=resources-section-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources-section-header.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-section-header.tsx"],"names":[],"mappings":"AAGA,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,WAAW,EACX,WAAW,EACX,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,2CAaA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from "@voyant-travel/ui/components";
3
+ import { Plus } from "lucide-react";
4
+ export function ResourcesSectionHeader({ title, description, actionLabel, onAction, }) {
5
+ return (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: title }), _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }), _jsxs(Button, { onClick: onAction, children: [_jsx(Plus, { className: "mr-2 h-4 w-4" }), actionLabel] })] }));
6
+ }
@@ -0,0 +1,58 @@
1
+ import type { OnChangeFn, RowSelectionState } from "@tanstack/react-table";
2
+ import { type ProductOption, type ResourceAllocationRow, type ResourcePoolRow, type ResourceRow, type SupplierOption } from "../index.js";
3
+ type BulkFn = (args: {
4
+ ids: string[];
5
+ endpoint: string;
6
+ target: string;
7
+ nounSingular: string;
8
+ nounPlural: string;
9
+ payload: Record<string, unknown>;
10
+ successVerb: string;
11
+ clearSelection: () => void;
12
+ }) => Promise<void>;
13
+ type DeleteFn = (args: {
14
+ ids: string[];
15
+ endpoint: string;
16
+ target: string;
17
+ nounSingular: string;
18
+ nounPlural: string;
19
+ clearSelection: () => void;
20
+ }) => Promise<void>;
21
+ export declare function ResourcesTab(props: {
22
+ suppliers: SupplierOption[];
23
+ filteredResources: ResourceRow[];
24
+ resourceSelection: RowSelectionState;
25
+ setResourceSelection: OnChangeFn<RowSelectionState>;
26
+ bulkActionTarget: string | null;
27
+ handleBulkUpdate: BulkFn;
28
+ handleBulkDelete: DeleteFn;
29
+ onCreate: () => void;
30
+ onOpenRoute: (resourceId: string) => void;
31
+ onEdit: (row: ResourceRow) => void;
32
+ }): import("react/jsx-runtime").JSX.Element;
33
+ export declare function PoolsTab(props: {
34
+ products: ProductOption[];
35
+ filteredPools: ResourcePoolRow[];
36
+ poolSelection: RowSelectionState;
37
+ setPoolSelection: OnChangeFn<RowSelectionState>;
38
+ bulkActionTarget: string | null;
39
+ handleBulkUpdate: BulkFn;
40
+ handleBulkDelete: DeleteFn;
41
+ onCreate: () => void;
42
+ onOpenRoute: (poolId: string) => void;
43
+ onEdit: (row: ResourcePoolRow) => void;
44
+ }): import("react/jsx-runtime").JSX.Element;
45
+ export declare function AllocationsTab(props: {
46
+ pools: ResourcePoolRow[];
47
+ products: ProductOption[];
48
+ filteredAllocations: ResourceAllocationRow[];
49
+ allocationSelection: RowSelectionState;
50
+ setAllocationSelection: OnChangeFn<RowSelectionState>;
51
+ bulkActionTarget: string | null;
52
+ handleBulkDelete: DeleteFn;
53
+ onCreate: () => void;
54
+ onOpenRoute: (allocationId: string) => void;
55
+ onEdit: (row: ResourceAllocationRow) => void;
56
+ }): import("react/jsx-runtime").JSX.Element;
57
+ export {};
58
+ //# sourceMappingURL=resources-tabs-primary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources-tabs-primary.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-tabs-primary.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAcrF,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAA;AAGpB,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE;IACnB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AA6NnB,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,iBAAiB,EAAE,WAAW,EAAE,CAAA;IAChC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACnD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,MAAM,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAA;CACnC,2CAoHA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,aAAa,EAAE,eAAe,EAAE,CAAA;IAChC,aAAa,EAAE,iBAAiB,CAAA;IAChC,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAC/C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAA;CACvC,2CAoHA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,mBAAmB,EAAE,qBAAqB,EAAE,CAAA;IAC5C,mBAAmB,EAAE,iBAAiB,CAAA;IACtC,sBAAsB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAC7C,2CAgEA"}
@@ -0,0 +1,201 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { formatMessage } from "@voyant-travel/i18n";
3
+ import { Badge, Button, ConfirmActionButton, SelectionActionBar, } from "@voyant-travel/ui/components";
4
+ import { DataTable } from "@voyant-travel/ui/components/data-table";
5
+ import { DataTableColumnHeader } from "@voyant-travel/ui/components/data-table-column-header";
6
+ import { TabsContent } from "@voyant-travel/ui/components/tabs";
7
+ import { ExternalLink } from "lucide-react";
8
+ import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
9
+ import { formatSelectionLabel, formatSelectionSummary } from "../i18n/utils.js";
10
+ import { labelById, } from "../index.js";
11
+ import { ResourcesSectionHeader } from "./resources-section-header.js";
12
+ const resourceColumns = (i18n, suppliers, onView) => [
13
+ {
14
+ accessorKey: "name",
15
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.name })),
16
+ },
17
+ {
18
+ accessorKey: "kind",
19
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.kind })),
20
+ cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.resourceKindLabels[row.original.kind] })),
21
+ },
22
+ {
23
+ accessorKey: "supplierId",
24
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.supplier })),
25
+ cell: ({ row }) => labelById(suppliers, row.original.supplierId),
26
+ },
27
+ {
28
+ accessorKey: "capacity",
29
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.capacity })),
30
+ cell: ({ row }) => row.original.capacity === null ? "-" : i18n.formatNumber(row.original.capacity),
31
+ },
32
+ {
33
+ accessorKey: "active",
34
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.resources.status })),
35
+ cell: ({ row }) => (_jsx(Badge, { variant: row.original.active ? "default" : "secondary", children: row.original.active ? i18n.messages.common.active : i18n.messages.common.inactive })),
36
+ },
37
+ {
38
+ id: "view",
39
+ header: i18n.messages.tabsPrimary.columns.resources.view,
40
+ cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
41
+ event.stopPropagation();
42
+ onView(row.original.id);
43
+ }, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
44
+ },
45
+ ];
46
+ const poolColumns = (i18n, products, onView) => [
47
+ {
48
+ accessorKey: "name",
49
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.name })),
50
+ },
51
+ {
52
+ accessorKey: "kind",
53
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.kind })),
54
+ cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.resourceKindLabels[row.original.kind] })),
55
+ },
56
+ {
57
+ accessorKey: "productId",
58
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.product })),
59
+ cell: ({ row }) => labelById(products, row.original.productId),
60
+ },
61
+ {
62
+ accessorKey: "sharedCapacity",
63
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.pools.sharedCapacity })),
64
+ cell: ({ row }) => row.original.sharedCapacity === null ? "-" : i18n.formatNumber(row.original.sharedCapacity),
65
+ },
66
+ {
67
+ id: "view",
68
+ header: i18n.messages.tabsPrimary.columns.pools.view,
69
+ cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
70
+ event.stopPropagation();
71
+ onView(row.original.id);
72
+ }, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
73
+ },
74
+ ];
75
+ const allocationColumns = (i18n, pools, products, onView) => [
76
+ {
77
+ accessorKey: "poolId",
78
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.pool })),
79
+ cell: ({ row }) => labelById(pools, row.original.poolId),
80
+ },
81
+ {
82
+ accessorKey: "productId",
83
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.product })),
84
+ cell: ({ row }) => labelById(products, row.original.productId),
85
+ },
86
+ {
87
+ accessorKey: "allocationMode",
88
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.mode })),
89
+ cell: ({ row }) => (_jsx(Badge, { variant: "outline", children: i18n.messages.common.allocationModeLabels[row.original.allocationMode] })),
90
+ },
91
+ {
92
+ accessorKey: "quantityRequired",
93
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.quantityRequired })),
94
+ cell: ({ row }) => i18n.formatNumber(row.original.quantityRequired),
95
+ },
96
+ {
97
+ accessorKey: "priority",
98
+ header: ({ column }) => (_jsx(DataTableColumnHeader, { column: column, title: i18n.messages.tabsPrimary.columns.allocations.priority })),
99
+ cell: ({ row }) => i18n.formatNumber(row.original.priority),
100
+ },
101
+ {
102
+ id: "view",
103
+ header: i18n.messages.tabsPrimary.columns.allocations.view,
104
+ cell: ({ row }) => (_jsxs(Button, { variant: "ghost", size: "sm", onClick: (event) => {
105
+ event.stopPropagation();
106
+ onView(row.original.id);
107
+ }, children: [_jsx(ExternalLink, { className: "mr-2 h-4 w-4" }), i18n.messages.common.open] })),
108
+ },
109
+ ];
110
+ export function ResourcesTab(props) {
111
+ const i18n = useResourcesUiI18nOrDefault();
112
+ const m = i18n.messages;
113
+ const section = m.tabsPrimary.sections.resources;
114
+ const selection = m.common.selectionNouns.resource;
115
+ return (_jsxs(TabsContent, { value: "resources", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: resourceColumns(i18n, props.suppliers, props.onOpenRoute), data: props.filteredResources, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.resourceSelection, onRowSelectionChange: props.setResourceSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsxs(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: [_jsx(ConfirmActionButton, { buttonLabel: section.actions.activate.buttonLabel, confirmLabel: section.actions.activate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.activate.title, {
116
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
117
+ }), description: section.actions.activate.description, disabled: props.bulkActionTarget === "resources-activate", onConfirm: () => props.handleBulkUpdate({
118
+ ids: selectedRows.map((row) => row.original.id),
119
+ endpoint: "/v1/operations/resources",
120
+ target: "resources-activate",
121
+ nounSingular: "resource",
122
+ nounPlural: "resources",
123
+ payload: { active: true },
124
+ successVerb: section.actions.activate.successVerb,
125
+ clearSelection,
126
+ }) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.deactivate.buttonLabel, confirmLabel: section.actions.deactivate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.deactivate.title, {
127
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
128
+ }), description: section.actions.deactivate.description, disabled: props.bulkActionTarget === "resources-deactivate", onConfirm: () => props.handleBulkUpdate({
129
+ ids: selectedRows.map((row) => row.original.id),
130
+ endpoint: "/v1/operations/resources",
131
+ target: "resources-deactivate",
132
+ nounSingular: "resource",
133
+ nounPlural: "resources",
134
+ payload: { active: false },
135
+ successVerb: section.actions.deactivate.successVerb,
136
+ clearSelection,
137
+ }) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
138
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
139
+ }), description: section.actions.delete.description, disabled: props.bulkActionTarget === "resources-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
140
+ ids: selectedRows.map((row) => row.original.id),
141
+ endpoint: "/v1/operations/resources",
142
+ target: "resources-delete",
143
+ nounSingular: "resource",
144
+ nounPlural: "resources",
145
+ clearSelection,
146
+ }) })] })), onRowClick: (row) => props.onEdit(row.original) })] }));
147
+ }
148
+ export function PoolsTab(props) {
149
+ const i18n = useResourcesUiI18nOrDefault();
150
+ const m = i18n.messages;
151
+ const section = m.tabsPrimary.sections.pools;
152
+ const selection = m.common.selectionNouns.pool;
153
+ return (_jsxs(TabsContent, { value: "pools", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: poolColumns(i18n, props.products, props.onOpenRoute), data: props.filteredPools, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.poolSelection, onRowSelectionChange: props.setPoolSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsxs(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: [_jsx(ConfirmActionButton, { buttonLabel: section.actions.activate.buttonLabel, confirmLabel: section.actions.activate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.activate.title, {
154
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
155
+ }), description: section.actions.activate.description, disabled: props.bulkActionTarget === "pools-activate", onConfirm: () => props.handleBulkUpdate({
156
+ ids: selectedRows.map((row) => row.original.id),
157
+ endpoint: "/v1/operations/pools",
158
+ target: "pools-activate",
159
+ nounSingular: "pool",
160
+ nounPlural: "pools",
161
+ payload: { active: true },
162
+ successVerb: section.actions.activate.successVerb,
163
+ clearSelection,
164
+ }) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.deactivate.buttonLabel, confirmLabel: section.actions.deactivate.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.deactivate.title, {
165
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
166
+ }), description: section.actions.deactivate.description, disabled: props.bulkActionTarget === "pools-deactivate", onConfirm: () => props.handleBulkUpdate({
167
+ ids: selectedRows.map((row) => row.original.id),
168
+ endpoint: "/v1/operations/pools",
169
+ target: "pools-deactivate",
170
+ nounSingular: "pool",
171
+ nounPlural: "pools",
172
+ payload: { active: false },
173
+ successVerb: section.actions.deactivate.successVerb,
174
+ clearSelection,
175
+ }) }), _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
176
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
177
+ }), description: section.actions.delete.description, disabled: props.bulkActionTarget === "pools-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
178
+ ids: selectedRows.map((row) => row.original.id),
179
+ endpoint: "/v1/operations/pools",
180
+ target: "pools-delete",
181
+ nounSingular: "pool",
182
+ nounPlural: "pools",
183
+ clearSelection,
184
+ }) })] })), onRowClick: (row) => props.onEdit(row.original) })] }));
185
+ }
186
+ export function AllocationsTab(props) {
187
+ const i18n = useResourcesUiI18nOrDefault();
188
+ const m = i18n.messages;
189
+ const section = m.tabsPrimary.sections.allocations;
190
+ const selection = m.common.selectionNouns.allocation;
191
+ return (_jsxs(TabsContent, { value: "allocations", className: "space-y-4", children: [_jsx(ResourcesSectionHeader, { title: section.title, description: section.description, actionLabel: section.actionLabel, onAction: props.onCreate }), _jsx(DataTable, { columns: allocationColumns(i18n, props.pools, props.products, props.onOpenRoute), data: props.filteredAllocations, emptyMessage: section.emptyMessage, enableRowSelection: true, getRowId: (row) => row.id, rowSelection: props.allocationSelection, onRowSelectionChange: props.setAllocationSelection, renderSelectionActions: ({ selectedRows, clearSelection }) => (_jsx(SelectionActionBar, { selectedCount: selectedRows.length, onClear: clearSelection, clearLabel: m.common.clearSelection, selectionSummary: formatSelectionSummary(selectedRows.length, m.common.selectionSummary), children: _jsx(ConfirmActionButton, { buttonLabel: section.actions.delete.buttonLabel, confirmLabel: section.actions.delete.confirmLabel, cancelLabel: m.common.cancel, title: formatMessage(section.actions.delete.title, {
192
+ selection: formatSelectionLabel(selectedRows.length, selection, m.common.selectionLabel),
193
+ }), description: section.actions.delete.description, disabled: props.bulkActionTarget === "allocations-delete", variant: "destructive", confirmVariant: "destructive", onConfirm: () => props.handleBulkDelete({
194
+ ids: selectedRows.map((row) => row.original.id),
195
+ endpoint: "/v1/operations/allocations",
196
+ target: "allocations-delete",
197
+ nounSingular: "allocation",
198
+ nounPlural: "allocations",
199
+ clearSelection,
200
+ }) }) })), onRowClick: (row) => props.onEdit(row.original) })] }));
201
+ }
@@ -0,0 +1,46 @@
1
+ import type { OnChangeFn, RowSelectionState } from "@tanstack/react-table";
2
+ import { type BookingOption, type ResourceCloseoutRow, type ResourceRow, type ResourceSlotAssignmentRow, type SlotOption } from "../index.js";
3
+ type BulkFn = (args: {
4
+ ids: string[];
5
+ endpoint: string;
6
+ target: string;
7
+ nounSingular: string;
8
+ nounPlural: string;
9
+ payload: Record<string, unknown>;
10
+ successVerb: string;
11
+ clearSelection: () => void;
12
+ }) => Promise<void>;
13
+ type DeleteFn = (args: {
14
+ ids: string[];
15
+ endpoint: string;
16
+ target: string;
17
+ nounSingular: string;
18
+ nounPlural: string;
19
+ clearSelection: () => void;
20
+ }) => Promise<void>;
21
+ export declare function AssignmentsTab(props: {
22
+ slots: SlotOption[];
23
+ resources: ResourceRow[];
24
+ bookings: BookingOption[];
25
+ filteredAssignments: ResourceSlotAssignmentRow[];
26
+ assignmentSelection: RowSelectionState;
27
+ setAssignmentSelection: OnChangeFn<RowSelectionState>;
28
+ bulkActionTarget: string | null;
29
+ handleBulkUpdate: BulkFn;
30
+ handleBulkDelete: DeleteFn;
31
+ onCreate: () => void;
32
+ onOpenRoute: (assignmentId: string) => void;
33
+ onEdit: (row: ResourceSlotAssignmentRow) => void;
34
+ }): import("react/jsx-runtime").JSX.Element;
35
+ export declare function CloseoutsTab(props: {
36
+ resources: ResourceRow[];
37
+ filteredCloseouts: ResourceCloseoutRow[];
38
+ closeoutSelection: RowSelectionState;
39
+ setCloseoutSelection: OnChangeFn<RowSelectionState>;
40
+ bulkActionTarget: string | null;
41
+ handleBulkDelete: DeleteFn;
42
+ onCreate: () => void;
43
+ onEdit: (row: ResourceCloseoutRow) => void;
44
+ }): import("react/jsx-runtime").JSX.Element;
45
+ export {};
46
+ //# sourceMappingURL=resources-tabs-secondary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources-tabs-secondary.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resources-tabs-secondary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAmBrF,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAGpB,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE;IACnB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE;IACrB,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,IAAI,CAAA;CAC3B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAiKnB,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,mBAAmB,EAAE,yBAAyB,EAAE,CAAA;IAChD,mBAAmB,EAAE,iBAAiB,CAAA;IACtC,sBAAsB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACrD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,MAAM,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAA;CACjD,2CA0HA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,oBAAoB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACnD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAC3C,2CAgEA"}