@voyant-travel/operations-react 0.19.1 → 0.19.2

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 (66) hide show
  1. package/dist/availability/components/availability-rule-detail-page.d.ts +5 -5
  2. package/dist/availability/components/availability-slot-detail-page.d.ts +5 -5
  3. package/dist/availability/components/availability-start-time-detail-page.d.ts +5 -5
  4. package/dist/availability/hooks/use-availability-batch-mutations.d.ts +2 -2
  5. package/dist/availability/hooks/use-availability-overview.d.ts +1 -1
  6. package/dist/availability/hooks/use-availability-slot-mutation.d.ts +3 -3
  7. package/dist/availability/hooks/use-slots.d.ts +1 -1
  8. package/dist/availability/query-options.d.ts +12 -12
  9. package/dist/availability/schemas.d.ts +6 -6
  10. package/dist/places/hooks/use-facilities.d.ts +1 -1
  11. package/dist/places/hooks/use-facility-feature-mutation.d.ts +2 -2
  12. package/dist/places/hooks/use-facility-features.d.ts +1 -1
  13. package/dist/places/hooks/use-facility-mutation.d.ts +4 -4
  14. package/dist/places/hooks/use-facility.d.ts +1 -1
  15. package/dist/places/hooks/use-property-group-mutation.d.ts +6 -6
  16. package/dist/places/hooks/use-property-group.d.ts +2 -2
  17. package/dist/places/hooks/use-property-groups.d.ts +2 -2
  18. package/dist/places/query-options.d.ts +32 -32
  19. package/dist/resources/admin/detail-hosts.d.ts.map +1 -1
  20. package/dist/resources/admin/detail-hosts.js +97 -22
  21. package/dist/resources/admin/resources-dialogs-ops.d.ts +3 -2
  22. package/dist/resources/admin/resources-dialogs-ops.d.ts.map +1 -1
  23. package/dist/resources/admin/resources-dialogs-ops.js +10 -2
  24. package/dist/resources/admin/resources-dialogs.d.ts.map +1 -1
  25. package/dist/resources/admin/resources-dialogs.js +1 -1
  26. package/dist/resources/components/resource-allocation-detail-page.d.ts +2 -1
  27. package/dist/resources/components/resource-allocation-detail-page.d.ts.map +1 -1
  28. package/dist/resources/components/resource-allocation-detail-page.js +2 -2
  29. package/dist/resources/components/resource-assignment-detail-page.d.ts +2 -1
  30. package/dist/resources/components/resource-assignment-detail-page.d.ts.map +1 -1
  31. package/dist/resources/components/resource-assignment-detail-page.js +3 -2
  32. package/dist/resources/components/resource-detail-page.d.ts +2 -1
  33. package/dist/resources/components/resource-detail-page.d.ts.map +1 -1
  34. package/dist/resources/components/resource-detail-page.js +6 -3
  35. package/dist/resources/components/resource-detail-shared.d.ts +2 -1
  36. package/dist/resources/components/resource-detail-shared.d.ts.map +1 -1
  37. package/dist/resources/components/resource-detail-shared.js +3 -3
  38. package/dist/resources/components/resource-pool-detail-page.d.ts +5 -1
  39. package/dist/resources/components/resource-pool-detail-page.d.ts.map +1 -1
  40. package/dist/resources/components/resource-pool-detail-page.js +38 -8
  41. package/dist/resources/components/resources-overview.d.ts +3 -2
  42. package/dist/resources/components/resources-overview.d.ts.map +1 -1
  43. package/dist/resources/components/resources-overview.js +2 -1
  44. package/dist/resources/components/resources-page.d.ts.map +1 -1
  45. package/dist/resources/components/resources-page.js +45 -9
  46. package/dist/resources/components/resources-tabs-primary.d.ts.map +1 -1
  47. package/dist/resources/components/resources-tabs-primary.js +28 -19
  48. package/dist/resources/components/resources-tabs-secondary.d.ts +2 -1
  49. package/dist/resources/components/resources-tabs-secondary.d.ts.map +1 -1
  50. package/dist/resources/components/resources-tabs-secondary.js +22 -9
  51. package/dist/resources/hooks/use-pool.d.ts +1 -1
  52. package/dist/resources/hooks/use-pools.d.ts +1 -1
  53. package/dist/resources/hooks/use-resource.d.ts +1 -1
  54. package/dist/resources/hooks/use-resources.d.ts +1 -1
  55. package/dist/resources/i18n/en.d.ts.map +1 -1
  56. package/dist/resources/i18n/en.js +7 -0
  57. package/dist/resources/i18n/messages.d.ts +7 -0
  58. package/dist/resources/i18n/messages.d.ts.map +1 -1
  59. package/dist/resources/i18n/ro.d.ts.map +1 -1
  60. package/dist/resources/i18n/ro.js +7 -0
  61. package/dist/resources/i18n/utils.d.ts +2 -1
  62. package/dist/resources/i18n/utils.d.ts.map +1 -1
  63. package/dist/resources/i18n/utils.js +3 -1
  64. package/dist/resources/query-options.d.ts +16 -16
  65. package/dist/resources/schemas.d.ts +9 -9
  66. package/package.json +7 -7
@@ -8,7 +8,7 @@ import type { UsePropertyGroupsOptions } from "./hooks/use-property-groups.js";
8
8
  export declare function getFacilitiesQueryOptions(client: FetchWithValidationOptions, options?: UseFacilitiesOptions): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
9
9
  data: {
10
10
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
11
- status: "active" | "archived" | "inactive";
11
+ status: "active" | "inactive" | "archived";
12
12
  name: string;
13
13
  id: string;
14
14
  parentFacilityId: string | null;
@@ -33,7 +33,7 @@ export declare function getFacilitiesQueryOptions(client: FetchWithValidationOpt
33
33
  }, Error, {
34
34
  data: {
35
35
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
36
- status: "active" | "archived" | "inactive";
36
+ status: "active" | "inactive" | "archived";
37
37
  name: string;
38
38
  id: string;
39
39
  parentFacilityId: string | null;
@@ -59,7 +59,7 @@ export declare function getFacilitiesQueryOptions(client: FetchWithValidationOpt
59
59
  queryFn?: import("@tanstack/react-query").QueryFunction<{
60
60
  data: {
61
61
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
62
- status: "active" | "archived" | "inactive";
62
+ status: "active" | "inactive" | "archived";
63
63
  name: string;
64
64
  id: string;
65
65
  parentFacilityId: string | null;
@@ -87,7 +87,7 @@ export declare function getFacilitiesQueryOptions(client: FetchWithValidationOpt
87
87
  [dataTagSymbol]: {
88
88
  data: {
89
89
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
90
- status: "active" | "archived" | "inactive";
90
+ status: "active" | "inactive" | "archived";
91
91
  name: string;
92
92
  id: string;
93
93
  parentFacilityId: string | null;
@@ -115,7 +115,7 @@ export declare function getFacilitiesQueryOptions(client: FetchWithValidationOpt
115
115
  };
116
116
  export declare function getFacilityQueryOptions(client: FetchWithValidationOptions, id: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
117
117
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
118
- status: "active" | "archived" | "inactive";
118
+ status: "active" | "inactive" | "archived";
119
119
  name: string;
120
120
  id: string;
121
121
  parentFacilityId: string | null;
@@ -135,7 +135,7 @@ export declare function getFacilityQueryOptions(client: FetchWithValidationOptio
135
135
  tags: string[];
136
136
  }, Error, {
137
137
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
138
- status: "active" | "archived" | "inactive";
138
+ status: "active" | "inactive" | "archived";
139
139
  name: string;
140
140
  id: string;
141
141
  parentFacilityId: string | null;
@@ -156,7 +156,7 @@ export declare function getFacilityQueryOptions(client: FetchWithValidationOptio
156
156
  }, readonly ["facilities", "facilities", string]>, "queryFn"> & {
157
157
  queryFn?: import("@tanstack/react-query").QueryFunction<{
158
158
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
159
- status: "active" | "archived" | "inactive";
159
+ status: "active" | "inactive" | "archived";
160
160
  name: string;
161
161
  id: string;
162
162
  parentFacilityId: string | null;
@@ -179,7 +179,7 @@ export declare function getFacilityQueryOptions(client: FetchWithValidationOptio
179
179
  queryKey: readonly ["facilities", "facilities", string] & {
180
180
  [dataTagSymbol]: {
181
181
  kind: "property" | "other" | "hotel" | "resort" | "camp" | "lodge" | "venue" | "meeting_point" | "transfer_hub" | "airport" | "station" | "marina" | "office" | "attraction" | "restaurant";
182
- status: "active" | "archived" | "inactive";
182
+ status: "active" | "inactive" | "archived";
183
183
  name: string;
184
184
  id: string;
185
185
  parentFacilityId: string | null;
@@ -203,7 +203,7 @@ export declare function getFacilityQueryOptions(client: FetchWithValidationOptio
203
203
  };
204
204
  export declare function getFacilityFeaturesQueryOptions(client: FetchWithValidationOptions, options: UseFacilityFeaturesOptions): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
205
205
  data: {
206
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
206
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
207
207
  name: string;
208
208
  highlighted: boolean;
209
209
  sortOrder: number;
@@ -218,7 +218,7 @@ export declare function getFacilityFeaturesQueryOptions(client: FetchWithValidat
218
218
  offset: number;
219
219
  }, Error, {
220
220
  data: {
221
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
221
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
222
222
  name: string;
223
223
  highlighted: boolean;
224
224
  sortOrder: number;
@@ -234,7 +234,7 @@ export declare function getFacilityFeaturesQueryOptions(client: FetchWithValidat
234
234
  }, readonly ["facilities", "facility-features", import("./query-keys.js").FacilityFeaturesListFilters]>, "queryFn"> & {
235
235
  queryFn?: import("@tanstack/react-query").QueryFunction<{
236
236
  data: {
237
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
237
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
238
238
  name: string;
239
239
  highlighted: boolean;
240
240
  sortOrder: number;
@@ -252,7 +252,7 @@ export declare function getFacilityFeaturesQueryOptions(client: FetchWithValidat
252
252
  queryKey: readonly ["facilities", "facility-features", import("./query-keys.js").FacilityFeaturesListFilters] & {
253
253
  [dataTagSymbol]: {
254
254
  data: {
255
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
255
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
256
256
  name: string;
257
257
  highlighted: boolean;
258
258
  sortOrder: number;
@@ -270,7 +270,7 @@ export declare function getFacilityFeaturesQueryOptions(client: FetchWithValidat
270
270
  };
271
271
  };
272
272
  export declare function getFacilityFeatureQueryOptions(client: FetchWithValidationOptions, id: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
273
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
273
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
274
274
  name: string;
275
275
  highlighted: boolean;
276
276
  sortOrder: number;
@@ -280,7 +280,7 @@ export declare function getFacilityFeatureQueryOptions(client: FetchWithValidati
280
280
  description: string | null;
281
281
  valueText: string | null;
282
282
  }, Error, {
283
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
283
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
284
284
  name: string;
285
285
  highlighted: boolean;
286
286
  sortOrder: number;
@@ -291,7 +291,7 @@ export declare function getFacilityFeatureQueryOptions(client: FetchWithValidati
291
291
  valueText: string | null;
292
292
  }, readonly ["facilities", "facility-features", string]>, "queryFn"> & {
293
293
  queryFn?: import("@tanstack/react-query").QueryFunction<{
294
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
294
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
295
295
  name: string;
296
296
  highlighted: boolean;
297
297
  sortOrder: number;
@@ -304,7 +304,7 @@ export declare function getFacilityFeatureQueryOptions(client: FetchWithValidati
304
304
  } & {
305
305
  queryKey: readonly ["facilities", "facility-features", string] & {
306
306
  [dataTagSymbol]: {
307
- category: "security" | "accessibility" | "other" | "service" | "amenity" | "policy";
307
+ category: "security" | "service" | "other" | "accessibility" | "amenity" | "policy";
308
308
  name: string;
309
309
  highlighted: boolean;
310
310
  sortOrder: number;
@@ -567,8 +567,8 @@ export declare function getPropertyQueryOptions(client: FetchWithValidationOptio
567
567
  };
568
568
  export declare function getPropertyGroupsQueryOptions(client: FetchWithValidationOptions, options?: UsePropertyGroupsOptions): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
569
569
  data: {
570
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
571
- status: "active" | "archived" | "inactive";
570
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
571
+ status: "active" | "inactive" | "archived";
572
572
  name: string;
573
573
  id: string;
574
574
  parentGroupId: string | null;
@@ -584,8 +584,8 @@ export declare function getPropertyGroupsQueryOptions(client: FetchWithValidatio
584
584
  offset: number;
585
585
  }, Error, {
586
586
  data: {
587
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
588
- status: "active" | "archived" | "inactive";
587
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
588
+ status: "active" | "inactive" | "archived";
589
589
  name: string;
590
590
  id: string;
591
591
  parentGroupId: string | null;
@@ -602,8 +602,8 @@ export declare function getPropertyGroupsQueryOptions(client: FetchWithValidatio
602
602
  }, readonly ["facilities", "property-groups", import("./query-keys.js").PropertyGroupsListFilters]>, "queryFn"> & {
603
603
  queryFn?: import("@tanstack/react-query").QueryFunction<{
604
604
  data: {
605
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
606
- status: "active" | "archived" | "inactive";
605
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
606
+ status: "active" | "inactive" | "archived";
607
607
  name: string;
608
608
  id: string;
609
609
  parentGroupId: string | null;
@@ -622,8 +622,8 @@ export declare function getPropertyGroupsQueryOptions(client: FetchWithValidatio
622
622
  queryKey: readonly ["facilities", "property-groups", import("./query-keys.js").PropertyGroupsListFilters] & {
623
623
  [dataTagSymbol]: {
624
624
  data: {
625
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
626
- status: "active" | "archived" | "inactive";
625
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
626
+ status: "active" | "inactive" | "archived";
627
627
  name: string;
628
628
  id: string;
629
629
  parentGroupId: string | null;
@@ -642,8 +642,8 @@ export declare function getPropertyGroupsQueryOptions(client: FetchWithValidatio
642
642
  };
643
643
  };
644
644
  export declare function getPropertyGroupQueryOptions(client: FetchWithValidationOptions, id: string): import("@tanstack/react-query").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<{
645
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
646
- status: "active" | "archived" | "inactive";
645
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
646
+ status: "active" | "inactive" | "archived";
647
647
  name: string;
648
648
  id: string;
649
649
  parentGroupId: string | null;
@@ -654,8 +654,8 @@ export declare function getPropertyGroupQueryOptions(client: FetchWithValidation
654
654
  notes: string | null;
655
655
  metadata?: Record<string, unknown> | null | undefined;
656
656
  }, Error, {
657
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
658
- status: "active" | "archived" | "inactive";
657
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
658
+ status: "active" | "inactive" | "archived";
659
659
  name: string;
660
660
  id: string;
661
661
  parentGroupId: string | null;
@@ -667,8 +667,8 @@ export declare function getPropertyGroupQueryOptions(client: FetchWithValidation
667
667
  metadata?: Record<string, unknown> | null | undefined;
668
668
  }, readonly ["facilities", "property-groups", string]>, "queryFn"> & {
669
669
  queryFn?: import("@tanstack/react-query").QueryFunction<{
670
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
671
- status: "active" | "archived" | "inactive";
670
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
671
+ status: "active" | "inactive" | "archived";
672
672
  name: string;
673
673
  id: string;
674
674
  parentGroupId: string | null;
@@ -682,8 +682,8 @@ export declare function getPropertyGroupQueryOptions(client: FetchWithValidation
682
682
  } & {
683
683
  queryKey: readonly ["facilities", "property-groups", string] & {
684
684
  [dataTagSymbol]: {
685
- groupType: "brand" | "other" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
686
- status: "active" | "archived" | "inactive";
685
+ groupType: "other" | "brand" | "chain" | "management_company" | "collection" | "portfolio" | "cluster";
686
+ status: "active" | "inactive" | "archived";
687
687
  name: string;
688
688
  id: string;
689
689
  parentGroupId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"detail-hosts.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/detail-hosts.tsx"],"names":[],"mappings":"AAWA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,uBAAuB,+BAsBjE;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,+BAoBzE;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,iCAAiC,+BAsBrF;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,iCAAiC,+BAsBrF"}
1
+ {"version":3,"file":"detail-hosts.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/detail-hosts.tsx"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,uBAAuB,+BAgDjE;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,2BAA2B,+BAgEzE;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,iCAAiC,+BAuDrF;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;CACX;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,EAAE,EAAE,iCAAiC,+BAoDrF"}
@@ -1,50 +1,125 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useQueryClient } from "@tanstack/react-query";
4
4
  import { useAdminNavigate } from "@voyant-travel/admin";
5
+ import { useState } from "react";
5
6
  import { ResourceAllocationDetailPage } from "../components/resource-allocation-detail-page.js";
6
7
  import { ResourceAssignmentDetailPage } from "../components/resource-assignment-detail-page.js";
7
8
  import { ResourceDetailPage } from "../components/resource-detail-page.js";
8
9
  import { ResourcePoolDetailPage } from "../components/resource-pool-detail-page.js";
9
- import { resourcesQueryKeys, useVoyantResourcesContext } from "../index.js";
10
+ import { resourcesQueryKeys, useAllocation, useAssignment, useBookings, usePool, usePools, useProducts, useResource, useResources, useRules, useSlots, useStartTimes, useSuppliers, useVoyantResourcesContext, } from "../index.js";
10
11
  import { sendResourcesMutation } from "./resources-admin-api.js";
12
+ import { ResourceAllocationDialog } from "./resources-dialog-allocation.js";
13
+ import { ResourceDialog, ResourcePoolDialog } from "./resources-dialogs-core.js";
14
+ import { ResourceSlotAssignmentDialog } from "./resources-dialogs-ops.js";
15
+ import { resourcesPageQueryFilters } from "./resources-page-data.js";
11
16
  export function ResourceDetailHost({ id }) {
12
17
  const navigateTo = useAdminNavigate();
13
18
  const queryClient = useQueryClient();
14
19
  const client = useVoyantResourcesContext();
15
- return (_jsx(ResourceDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onOpenSupplier: (supplierId) => navigateTo("supplier.detail", { supplierId }), onOpenAssignment: (assignmentId) => navigateTo("resourceAssignment.detail", { assignmentId }), onDelete: async (resource) => {
16
- await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/resources/${resource.id}`);
17
- await queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.resources() });
18
- navigateTo("resource.list", {});
19
- } }));
20
+ const [resourceDialogOpen, setResourceDialogOpen] = useState(false);
21
+ const resource = useResource(id).data;
22
+ const suppliers = useSuppliers(resourcesPageQueryFilters.suppliers).data?.data ?? [];
23
+ const refreshResource = async () => {
24
+ await Promise.all([
25
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.resources() }),
26
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.resource(id) }),
27
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.all }),
28
+ ]);
29
+ };
30
+ return (_jsxs(_Fragment, { children: [_jsx(ResourceDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onEdit: () => setResourceDialogOpen(true), onOpenSupplier: (supplierId) => navigateTo("supplier.detail", { supplierId }), onOpenAssignment: (assignmentId) => navigateTo("resourceAssignment.detail", { assignmentId }), onDelete: async (resource) => {
31
+ await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/resources/${resource.id}`);
32
+ await refreshResource();
33
+ navigateTo("resource.list", {});
34
+ } }), _jsx(ResourceDialog, { open: resourceDialogOpen, onOpenChange: setResourceDialogOpen, resource: resource, suppliers: suppliers, onSuccess: () => {
35
+ setResourceDialogOpen(false);
36
+ void refreshResource();
37
+ } })] }));
20
38
  }
21
39
  export function ResourcePoolDetailHost({ id }) {
22
40
  const navigateTo = useAdminNavigate();
23
41
  const queryClient = useQueryClient();
24
42
  const client = useVoyantResourcesContext();
25
- return (_jsx(ResourcePoolDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onOpenProduct: (productId) => navigateTo("product.detail", { productId }), onOpenResource: (resourceId) => navigateTo("resource.detail", { resourceId }), onOpenAllocation: (allocationId) => navigateTo("resourceAllocation.detail", { allocationId }), onOpenAssignment: (assignmentId) => navigateTo("resourceAssignment.detail", { assignmentId }), onDelete: async (pool) => {
26
- await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/pools/${pool.id}`);
27
- await queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.pools() });
28
- navigateTo("resource.list", {});
29
- } }));
43
+ const [poolDialogOpen, setPoolDialogOpen] = useState(false);
44
+ const pool = usePool(id).data;
45
+ const products = useProducts(resourcesPageQueryFilters.products).data?.data ?? [];
46
+ const refreshPool = async () => {
47
+ await Promise.all([
48
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.pools() }),
49
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.pool(id) }),
50
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.resources() }),
51
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.all }),
52
+ ]);
53
+ };
54
+ return (_jsxs(_Fragment, { children: [_jsx(ResourcePoolDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onEdit: () => setPoolDialogOpen(true), onAddMember: async (pool, resourceId) => {
55
+ await sendResourcesMutation(client, "POST", "/v1/admin/operations/pool-members", {
56
+ poolId: pool.id,
57
+ resourceId,
58
+ });
59
+ await refreshPool();
60
+ }, onRemoveMember: async (member) => {
61
+ await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/pool-members/${member.id}`);
62
+ await refreshPool();
63
+ }, onOpenProduct: (productId) => navigateTo("product.detail", { productId }), onOpenResource: (resourceId) => navigateTo("resource.detail", { resourceId }), onOpenAllocation: (allocationId) => navigateTo("resourceAllocation.detail", { allocationId }), onOpenAssignment: (assignmentId) => navigateTo("resourceAssignment.detail", { assignmentId }), onDelete: async (pool) => {
64
+ await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/pools/${pool.id}`);
65
+ await refreshPool();
66
+ navigateTo("resource.list", {});
67
+ } }), _jsx(ResourcePoolDialog, { open: poolDialogOpen, onOpenChange: setPoolDialogOpen, pool: pool, products: products, onSuccess: () => {
68
+ setPoolDialogOpen(false);
69
+ void refreshPool();
70
+ } })] }));
30
71
  }
31
72
  export function ResourceAssignmentDetailHost({ id }) {
32
73
  const navigateTo = useAdminNavigate();
33
74
  const queryClient = useQueryClient();
34
75
  const client = useVoyantResourcesContext();
35
- return (_jsx(ResourceAssignmentDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onOpenSlot: (slotId) => navigateTo("availabilitySlot.detail", { slotId }), onOpenResource: (resourceId) => navigateTo("resource.detail", { resourceId }), onDelete: async (assignment) => {
36
- await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/slot-assignments/${assignment.id}`);
37
- await queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.assignments() });
38
- navigateTo("resource.list", {});
39
- } }));
76
+ const [assignmentDialogOpen, setAssignmentDialogOpen] = useState(false);
77
+ const assignment = useAssignment(id).data;
78
+ const slots = useSlots(resourcesPageQueryFilters.slots).data?.data ?? [];
79
+ const pools = usePools(resourcesPageQueryFilters.pools).data?.data ?? [];
80
+ const resources = useResources(resourcesPageQueryFilters.resources).data?.data ?? [];
81
+ const bookings = useBookings(resourcesPageQueryFilters.bookings).data?.data ?? [];
82
+ const products = useProducts(resourcesPageQueryFilters.products).data?.data ?? [];
83
+ const refreshAssignment = async () => {
84
+ await Promise.all([
85
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.assignments() }),
86
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.assignment(id) }),
87
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.resources() }),
88
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.pools() }),
89
+ ]);
90
+ };
91
+ return (_jsxs(_Fragment, { children: [_jsx(ResourceAssignmentDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onEdit: () => setAssignmentDialogOpen(true), onOpenSlot: (slotId) => navigateTo("availabilitySlot.detail", { slotId }), onOpenResource: (resourceId) => navigateTo("resource.detail", { resourceId }), onDelete: async (assignment) => {
92
+ await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/slot-assignments/${assignment.id}`);
93
+ await refreshAssignment();
94
+ navigateTo("resource.list", {});
95
+ } }), _jsx(ResourceSlotAssignmentDialog, { open: assignmentDialogOpen, onOpenChange: setAssignmentDialogOpen, assignment: assignment, slots: slots, pools: pools, resources: resources, bookings: bookings, products: products, onSuccess: () => {
96
+ setAssignmentDialogOpen(false);
97
+ void refreshAssignment();
98
+ } })] }));
40
99
  }
41
100
  export function ResourceAllocationDetailHost({ id }) {
42
101
  const navigateTo = useAdminNavigate();
43
102
  const queryClient = useQueryClient();
44
103
  const client = useVoyantResourcesContext();
45
- return (_jsx(ResourceAllocationDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onOpenPool: (poolId) => navigateTo("resourcePool.detail", { poolId }), onOpenProduct: (productId) => navigateTo("product.detail", { productId }), onDelete: async (allocation) => {
46
- await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/allocations/${allocation.id}`);
47
- await queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.allocations() });
48
- navigateTo("resource.list", {});
49
- } }));
104
+ const [allocationDialogOpen, setAllocationDialogOpen] = useState(false);
105
+ const allocation = useAllocation(id).data;
106
+ const pools = usePools(resourcesPageQueryFilters.pools).data?.data ?? [];
107
+ const products = useProducts(resourcesPageQueryFilters.products).data?.data ?? [];
108
+ const rules = useRules(resourcesPageQueryFilters.rules).data?.data ?? [];
109
+ const startTimes = useStartTimes(resourcesPageQueryFilters.startTimes).data?.data ?? [];
110
+ const refreshAllocation = async () => {
111
+ await Promise.all([
112
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.allocations() }),
113
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.allocation(id) }),
114
+ queryClient.invalidateQueries({ queryKey: resourcesQueryKeys.pools() }),
115
+ ]);
116
+ };
117
+ return (_jsxs(_Fragment, { children: [_jsx(ResourceAllocationDetailPage, { id: id, onBack: () => navigateTo("resource.list", {}), onEdit: () => setAllocationDialogOpen(true), onOpenPool: (poolId) => navigateTo("resourcePool.detail", { poolId }), onOpenProduct: (productId) => navigateTo("product.detail", { productId }), onDelete: async (allocation) => {
118
+ await sendResourcesMutation(client, "DELETE", `/v1/admin/operations/allocations/${allocation.id}`);
119
+ await refreshAllocation();
120
+ navigateTo("resource.list", {});
121
+ } }), _jsx(ResourceAllocationDialog, { open: allocationDialogOpen, onOpenChange: setAllocationDialogOpen, allocation: allocation, pools: pools, products: products, rules: rules, startTimes: startTimes, onSuccess: () => {
122
+ setAllocationDialogOpen(false);
123
+ void refreshAllocation();
124
+ } })] }));
50
125
  }
@@ -1,5 +1,5 @@
1
- import { type BookingOption, type ResourceCloseoutRow, type ResourcePoolRow, type ResourceRow, type ResourceSlotAssignmentRow, type SlotOption } from "../index.js";
2
- export declare function ResourceSlotAssignmentDialog({ open, onOpenChange, assignment, slots, pools, resources, bookings, onSuccess, }: {
1
+ import { type BookingOption, type ProductOption, type ResourceCloseoutRow, type ResourcePoolRow, type ResourceRow, type ResourceSlotAssignmentRow, type SlotOption } from "../index.js";
2
+ export declare function ResourceSlotAssignmentDialog({ open, onOpenChange, assignment, slots, pools, resources, bookings, products, onSuccess, }: {
3
3
  open: boolean;
4
4
  onOpenChange: (open: boolean) => void;
5
5
  assignment?: ResourceSlotAssignmentRow;
@@ -7,6 +7,7 @@ export declare function ResourceSlotAssignmentDialog({ open, onOpenChange, assig
7
7
  pools: ResourcePoolRow[];
8
8
  resources: ResourceRow[];
9
9
  bookings: BookingOption[];
10
+ products: ProductOption[];
10
11
  onSuccess: () => void;
11
12
  }): import("react").JSX.Element;
12
13
  export declare function ResourceCloseoutDialog({ open, onOpenChange, closeout, resources, onSuccess, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"resources-dialogs-ops.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/resources-dialogs-ops.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EAKhB,MAAM,aAAa,CAAA;AA+BpB,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,+BA8NA;AAuBD,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,+BAiKA"}
1
+ {"version":3,"file":"resources-dialogs-ops.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/resources-dialogs-ops.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAA;AA+BpB,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,+BAqOA;AAuBD,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;IACD,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB,+BAiKA"}
@@ -7,7 +7,9 @@ import { Loader2 } from "lucide-react";
7
7
  import { useEffect } from "react";
8
8
  import { useForm } from "react-hook-form";
9
9
  import { z } from "zod/v4";
10
- import { assignmentStatusOptions, NONE_VALUE, nullableString, slotLabel, toIsoDateTime, toLocalDateTimeInput, useVoyantResourcesContext, } from "../index.js";
10
+ import { useResourcesUiI18nOrDefault } from "../i18n/index.js";
11
+ import { formatResourceSlotLabel } from "../i18n/utils.js";
12
+ import { assignmentStatusOptions, NONE_VALUE, nullableString, toIsoDateTime, toLocalDateTimeInput, useVoyantResourcesContext, } from "../index.js";
11
13
  import { sendResourcesMutation } from "./resources-admin-api.js";
12
14
  const getAssignmentFormSchema = (messages) => z
13
15
  .object({
@@ -31,10 +33,16 @@ const getAssignmentFormSchema = (messages) => z
31
33
  ctx.addIssue({ ...issue, path: ["resourceId"] });
32
34
  }
33
35
  });
34
- export function ResourceSlotAssignmentDialog({ open, onOpenChange, assignment, slots, pools, resources, bookings, onSuccess, }) {
36
+ export function ResourceSlotAssignmentDialog({ open, onOpenChange, assignment, slots, pools, resources, bookings, products, onSuccess, }) {
35
37
  const client = useVoyantResourcesContext();
36
38
  const messages = useOperatorAdminMessages();
39
+ const i18n = useResourcesUiI18nOrDefault();
37
40
  const dialogMessages = messages.resources.dialogs.assignment;
41
+ const slotLabel = (slot) => formatResourceSlotLabel(slot, {
42
+ template: i18n.messages.common.slotLabel,
43
+ formatDate: i18n.formatDate,
44
+ products,
45
+ });
38
46
  const assignmentFormSchema = getAssignmentFormSchema(messages);
39
47
  const form = useForm({
40
48
  resolver: zodResolver(assignmentFormSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"resources-dialogs.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/resources-dialogs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAA;AAMpB,wBAAgB,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C,eAAe,EAAE,WAAW,GAAG,SAAS,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,eAAe,GAAG,SAAS,CAAA;IACxC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,iBAAiB,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACpD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,iBAAiB,EAAE,yBAAyB,GAAG,SAAS,CAAA;IACxD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAChD,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC,+BA6DA"}
1
+ {"version":3,"file":"resources-dialogs.d.ts","sourceRoot":"","sources":["../../../src/resources/admin/resources-dialogs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAA;AAMpB,wBAAgB,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C,eAAe,EAAE,WAAW,GAAG,SAAS,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,WAAW,EAAE,eAAe,GAAG,SAAS,CAAA;IACxC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,iBAAiB,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACpD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAChD,iBAAiB,EAAE,yBAAyB,GAAG,SAAS,CAAA;IACxD,kBAAkB,EAAE,OAAO,CAAA;IAC3B,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9C,eAAe,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAChD,SAAS,EAAE,cAAc,EAAE,CAAA;IAC3B,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,UAAU,EAAE,eAAe,EAAE,CAAA;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC,+BA8DA"}
@@ -13,7 +13,7 @@ export function ResourcesDialogs({ resourceDialogOpen, setResourceDialogOpen, ed
13
13
  } }), _jsx(ResourceAllocationDialog, { open: allocationDialogOpen, onOpenChange: setAllocationDialogOpen, allocation: editingAllocation, pools: pools, products: products, rules: rules, startTimes: startTimes, onSuccess: () => {
14
14
  setAllocationDialogOpen(false);
15
15
  void refreshAll();
16
- } }), _jsx(ResourceSlotAssignmentDialog, { open: assignmentDialogOpen, onOpenChange: setAssignmentDialogOpen, assignment: editingAssignment, slots: slots, pools: pools, resources: resources, bookings: bookings, onSuccess: () => {
16
+ } }), _jsx(ResourceSlotAssignmentDialog, { open: assignmentDialogOpen, onOpenChange: setAssignmentDialogOpen, assignment: editingAssignment, slots: slots, pools: pools, resources: resources, bookings: bookings, products: products, onSuccess: () => {
17
17
  setAssignmentDialogOpen(false);
18
18
  void refreshAll();
19
19
  } }), _jsx(ResourceCloseoutDialog, { open: closeoutDialogOpen, onOpenChange: setCloseoutDialogOpen, closeout: editingCloseout, resources: resources, onSuccess: () => {
@@ -8,9 +8,10 @@ export interface ResourceAllocationDetailPageProps {
8
8
  deleting?: boolean;
9
9
  onBack?: () => void;
10
10
  onDelete?: (allocation: ResourceAllocationDetail) => Promise<void> | void;
11
+ onEdit?: (allocation: ResourceAllocationDetail) => void;
11
12
  onOpenPool?: (poolId: string) => void;
12
13
  onOpenProduct?: (productId: string) => void;
13
14
  confirmAction?: ConfirmAction;
14
15
  }
15
- export declare function ResourceAllocationDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenPool, onOpenProduct, }: ResourceAllocationDetailPageProps): import("react").JSX.Element;
16
+ export declare function ResourceAllocationDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onEdit, onOpenPool, onOpenProduct, }: ResourceAllocationDetailPageProps): import("react").JSX.Element;
16
17
  //# sourceMappingURL=resource-allocation-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-allocation-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-allocation-detail-page.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,wBAAwB,EAM9B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AAMjF,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAE3C,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,GACd,EAAE,iCAAiC,+BA2HnC"}
1
+ {"version":3,"file":"resource-allocation-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-allocation-detail-page.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,wBAAwB,EAM9B,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AAMjF,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAE3C,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,wBAAwB,KAAK,IAAI,CAAA;IACvD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,EACV,aAAa,GACd,EAAE,iCAAiC,+BA4HnC"}
@@ -11,7 +11,7 @@ import { ResourceAllocationDetailSkeleton } from "./resource-detail-skeletons.js
11
11
  // `pendingComponent` without pinning this page module into the workspace
12
12
  // chrome chunk. Re-exported here for backwards compatibility.
13
13
  export { ResourceAllocationDetailSkeleton };
14
- export function ResourceAllocationDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenPool, onOpenProduct, }) {
14
+ export function ResourceAllocationDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onEdit, onOpenPool, onOpenProduct, }) {
15
15
  const i18n = useResourcesUiI18nOrDefault();
16
16
  const m = i18n.messages;
17
17
  const page = m.detailPages;
@@ -40,7 +40,7 @@ export function ResourceAllocationDetailPage({ className, confirmAction, deletin
40
40
  }
41
41
  const rule = rulesQuery.data?.data.find((entry) => entry.id === allocation.availabilityRuleId);
42
42
  const startTime = startTimesQuery.data?.data.find((entry) => entry.id === allocation.startTimeId);
43
- return (_jsxs("div", { "data-slot": "resource-allocation-detail-page", className: cn("flex flex-col gap-6 p-6", className), children: [_jsx(ResourceDetailHeader, { title: page.allocation.pageTitle, deleteConfirmName: allocation.id, deleteConfirmTemplate: page.allocation.deleteConfirm, deleteErrorMessage: page.allocation.deleteFailed, deleting: deleting, confirmAction: confirmAction, onBack: onBack, onDelete: onDelete ? () => onDelete(allocation) : undefined, badges: _jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", children: m.common.allocationModeLabels[allocation.allocationMode] }), _jsxs(Badge, { variant: "secondary", children: [page.common.quantity, " ", i18n.formatNumber(allocation.quantityRequired)] })] }), actions: _jsxs(_Fragment, { children: [onOpenPool ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenPool(allocation.poolId), children: [_jsx(Wrench, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openPool] })) : null, onOpenProduct ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenProduct(allocation.productId), children: [_jsx(Package, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openProduct] })) : null] }) }), _jsx(ResourceDetailCard, { title: page.allocation.detailsTitle, children: _jsxs("div", { className: "grid gap-3 md:grid-cols-2", children: [_jsx(ResourceDetailField, { label: page.common.pool, children: poolQuery.data?.name ?? allocation.poolId }), _jsx(ResourceDetailField, { label: page.common.product, children: labelById(productsQuery.data?.data ?? [], allocation.productId) ||
43
+ return (_jsxs("div", { "data-slot": "resource-allocation-detail-page", className: cn("flex flex-col gap-6 p-6", className), children: [_jsx(ResourceDetailHeader, { title: page.allocation.pageTitle, deleteConfirmName: allocation.id, deleteConfirmTemplate: page.allocation.deleteConfirm, deleteErrorMessage: page.allocation.deleteFailed, deleting: deleting, confirmAction: confirmAction, onBack: onBack, onDelete: onDelete ? () => onDelete(allocation) : undefined, onEdit: onEdit ? () => onEdit(allocation) : undefined, badges: _jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", children: m.common.allocationModeLabels[allocation.allocationMode] }), _jsxs(Badge, { variant: "secondary", children: [page.common.quantity, " ", i18n.formatNumber(allocation.quantityRequired)] })] }), actions: _jsxs(_Fragment, { children: [onOpenPool ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenPool(allocation.poolId), children: [_jsx(Wrench, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openPool] })) : null, onOpenProduct ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenProduct(allocation.productId), children: [_jsx(Package, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openProduct] })) : null] }) }), _jsx(ResourceDetailCard, { title: page.allocation.detailsTitle, children: _jsxs("div", { className: "grid gap-3 md:grid-cols-2", children: [_jsx(ResourceDetailField, { label: page.common.pool, children: poolQuery.data?.name ?? allocation.poolId }), _jsx(ResourceDetailField, { label: page.common.product, children: labelById(productsQuery.data?.data ?? [], allocation.productId) ||
44
44
  allocation.productId }), _jsx(ResourceDetailField, { label: page.allocation.rule, children: rule?.recurrenceRule ?? allocation.availabilityRuleId ?? page.common.noRule }), _jsx(ResourceDetailField, { label: page.allocation.startTime, children: startTime?.label ??
45
45
  startTime?.startTimeLocal ??
46
46
  allocation.startTimeId ??
@@ -8,9 +8,10 @@ export interface ResourceAssignmentDetailPageProps {
8
8
  deleting?: boolean;
9
9
  onBack?: () => void;
10
10
  onDelete?: (assignment: ResourceSlotAssignmentDetail) => Promise<void> | void;
11
+ onEdit?: (assignment: ResourceSlotAssignmentDetail) => void;
11
12
  onOpenResource?: (resourceId: string) => void;
12
13
  onOpenSlot?: (slotId: string) => void;
13
14
  confirmAction?: ConfirmAction;
14
15
  }
15
- export declare function ResourceAssignmentDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenResource, onOpenSlot, }: ResourceAssignmentDetailPageProps): import("react").JSX.Element;
16
+ export declare function ResourceAssignmentDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onEdit, onOpenResource, onOpenSlot, }: ResourceAssignmentDetailPageProps): import("react").JSX.Element;
16
17
  //# sourceMappingURL=resource-assignment-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-assignment-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-assignment-detail-page.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,4BAA4B,EAOlC,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AAMjF,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAE3C,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7E,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,GACX,EAAE,iCAAiC,+BA+HnC"}
1
+ {"version":3,"file":"resource-assignment-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-assignment-detail-page.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,4BAA4B,EAOlC,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAA;AAMjF,OAAO,EAAE,gCAAgC,EAAE,CAAA;AAE3C,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7E,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,4BAA4B,KAAK,IAAI,CAAA;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,cAAc,EACd,UAAU,GACX,EAAE,iCAAiC,+BAiInC"}
@@ -12,7 +12,7 @@ import { ResourceAssignmentDetailSkeleton } from "./resource-detail-skeletons.js
12
12
  // `pendingComponent` without pinning this page module into the workspace
13
13
  // chrome chunk. Re-exported here for backwards compatibility.
14
14
  export { ResourceAssignmentDetailSkeleton };
15
- export function ResourceAssignmentDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenResource, onOpenSlot, }) {
15
+ export function ResourceAssignmentDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onEdit, onOpenResource, onOpenSlot, }) {
16
16
  const i18n = useResourcesUiI18nOrDefault();
17
17
  const m = i18n.messages;
18
18
  const page = m.detailPages;
@@ -37,9 +37,10 @@ export function ResourceAssignmentDetailPage({ className, confirmAction, deletin
37
37
  ? formatResourceSlotLabel(slot, {
38
38
  template: m.common.slotLabel,
39
39
  formatDate: i18n.formatDate,
40
+ products: productsQuery.data?.data ?? [],
40
41
  })
41
42
  : assignment.slotId;
42
- return (_jsxs("div", { "data-slot": "resource-assignment-detail-page", className: cn("flex flex-col gap-6 p-6", className), children: [_jsx(ResourceDetailHeader, { title: page.assignment.pageTitle, deleteConfirmName: assignment.id, deleteConfirmTemplate: page.assignment.deleteConfirm, deleteErrorMessage: page.assignment.deleteFailed, deleting: deleting, confirmAction: confirmAction, onBack: onBack, onDelete: onDelete ? () => onDelete(assignment) : undefined, badges: _jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", children: m.common.assignmentStatusLabels[assignment.status] }), _jsx(Badge, { variant: "secondary", children: slotLabel })] }), actions: _jsxs(_Fragment, { children: [onOpenSlot ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenSlot(assignment.slotId), children: [_jsx(CalendarDays, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openSlot] })) : null, assignment.resourceId && onOpenResource ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenResource(assignment.resourceId), children: [_jsx(Wrench, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openResource] })) : null] }) }), _jsx(ResourceDetailCard, { title: page.assignment.detailsTitle, children: _jsxs("div", { className: "grid gap-3 md:grid-cols-2", children: [_jsx(ResourceDetailField, { label: page.common.slot, children: slotLabel }), _jsx(ResourceDetailField, { label: page.common.product, children: slot?.productId
43
+ return (_jsxs("div", { "data-slot": "resource-assignment-detail-page", className: cn("flex flex-col gap-6 p-6", className), children: [_jsx(ResourceDetailHeader, { title: page.assignment.pageTitle, deleteConfirmName: assignment.id, deleteConfirmTemplate: page.assignment.deleteConfirm, deleteErrorMessage: page.assignment.deleteFailed, deleting: deleting, confirmAction: confirmAction, onBack: onBack, onDelete: onDelete ? () => onDelete(assignment) : undefined, onEdit: onEdit ? () => onEdit(assignment) : undefined, badges: _jsxs(_Fragment, { children: [_jsx(Badge, { variant: "outline", children: m.common.assignmentStatusLabels[assignment.status] }), _jsx(Badge, { variant: "secondary", children: slotLabel })] }), actions: _jsxs(_Fragment, { children: [onOpenSlot ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenSlot(assignment.slotId), children: [_jsx(CalendarDays, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openSlot] })) : null, assignment.resourceId && onOpenResource ? (_jsxs(Button, { type: "button", variant: "outline", onClick: () => onOpenResource(assignment.resourceId), children: [_jsx(Wrench, { "data-icon": "inline-start", "aria-hidden": "true" }), page.common.openResource] })) : null] }) }), _jsx(ResourceDetailCard, { title: page.assignment.detailsTitle, children: _jsxs("div", { className: "grid gap-3 md:grid-cols-2", children: [_jsx(ResourceDetailField, { label: page.common.slot, children: slotLabel }), _jsx(ResourceDetailField, { label: page.common.product, children: slot?.productId
43
44
  ? labelById(productsQuery.data?.data ?? [], slot.productId)
44
45
  : page.common.noValue }), _jsx(ResourceDetailField, { label: page.common.pool, children: poolQuery.data?.name ?? assignment.poolId ?? page.common.noPool }), _jsx(ResourceDetailField, { label: page.common.resource, children: resourceQuery.data?.name ?? assignment.resourceId ?? page.common.noResource }), _jsx(ResourceDetailField, { label: page.common.booking, children: assignment.bookingId
45
46
  ? labelById(bookingsQuery.data?.data ?? [], assignment.bookingId)
@@ -8,11 +8,12 @@ export interface ResourceDetailPageProps {
8
8
  deleting?: boolean;
9
9
  onBack?: () => void;
10
10
  onDelete?: (resource: ResourceDetail) => Promise<void> | void;
11
+ onEdit?: (resource: ResourceDetail) => void;
11
12
  onOpenSupplier?: (supplierId: string) => void;
12
13
  onOpenAssignment?: (assignmentId: string) => void;
13
14
  confirmAction?: ConfirmAction;
14
15
  }
15
- export declare function ResourceDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onOpenAssignment, onOpenSupplier, }: ResourceDetailPageProps): import("react").JSX.Element;
16
+ export declare function ResourceDetailPage({ className, confirmAction, deleting, id, onBack, onDelete, onEdit, onOpenAssignment, onOpenSupplier, }: ResourceDetailPageProps): import("react").JSX.Element;
16
17
  export declare function ResourceAssignmentSummary({ assignment, bookingLabel, noValue, onOpenAssignment, pool, slotLabel, }: {
17
18
  assignment: ResourceSlotAssignmentRow;
18
19
  bookingLabel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-detail-page.tsx"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAQ/B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAMvE,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAEjC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,cAAc,GACf,EAAE,uBAAuB,+BAmMzB;AAMD,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,SAAS,GACV,EAAE;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;CAClB,+BA4CA"}
1
+ {"version":3,"file":"resource-detail-page.d.ts","sourceRoot":"","sources":["../../../src/resources/components/resource-detail-page.tsx"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAS/B,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAMvE,OAAO,EAAE,sBAAsB,EAAE,CAAA;AAEjC,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAA;IAC3C,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,QAAQ,EACR,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,cAAc,GACf,EAAE,uBAAuB,+BAuMzB;AAMD,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,SAAS,GACV,EAAE;IACD,UAAU,EAAE,yBAAyB,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;CAClB,+BA4CA"}