@endora-commerce/mod-price-lists 0.100.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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/admin/components/ApplicationRuleBuilder.d.ts +24 -0
  4. package/dist/admin/components/ApplicationRuleBuilder.d.ts.map +1 -0
  5. package/dist/admin/components/ApplicationRuleBuilder.js +249 -0
  6. package/dist/admin/components/ApplicationRuleBuilder.js.map +1 -0
  7. package/dist/admin/components/BracketGrid.d.ts +29 -0
  8. package/dist/admin/components/BracketGrid.d.ts.map +1 -0
  9. package/dist/admin/components/BracketGrid.js +252 -0
  10. package/dist/admin/components/BracketGrid.js.map +1 -0
  11. package/dist/admin/components/DisplayModeOverrideRow.d.ts +46 -0
  12. package/dist/admin/components/DisplayModeOverrideRow.d.ts.map +1 -0
  13. package/dist/admin/components/DisplayModeOverrideRow.js +109 -0
  14. package/dist/admin/components/DisplayModeOverrideRow.js.map +1 -0
  15. package/dist/admin/components/LinkedPriceListsPanel.d.ts +55 -0
  16. package/dist/admin/components/LinkedPriceListsPanel.d.ts.map +1 -0
  17. package/dist/admin/components/LinkedPriceListsPanel.js +131 -0
  18. package/dist/admin/components/LinkedPriceListsPanel.js.map +1 -0
  19. package/dist/admin/index.d.ts +34 -0
  20. package/dist/admin/index.d.ts.map +1 -0
  21. package/dist/admin/index.js +119 -0
  22. package/dist/admin/index.js.map +1 -0
  23. package/dist/admin/pages/DisplayModeOverridesPage.d.ts +25 -0
  24. package/dist/admin/pages/DisplayModeOverridesPage.d.ts.map +1 -0
  25. package/dist/admin/pages/DisplayModeOverridesPage.js +266 -0
  26. package/dist/admin/pages/DisplayModeOverridesPage.js.map +1 -0
  27. package/dist/admin/pages/PriceListDetailPage.d.ts +23 -0
  28. package/dist/admin/pages/PriceListDetailPage.d.ts.map +1 -0
  29. package/dist/admin/pages/PriceListDetailPage.js +421 -0
  30. package/dist/admin/pages/PriceListDetailPage.js.map +1 -0
  31. package/dist/admin/pages/PriceListsPage.d.ts +17 -0
  32. package/dist/admin/pages/PriceListsPage.d.ts.map +1 -0
  33. package/dist/admin/pages/PriceListsPage.js +198 -0
  34. package/dist/admin/pages/PriceListsPage.js.map +1 -0
  35. package/dist/admin/zones/CategoryDisplayMode.d.ts +27 -0
  36. package/dist/admin/zones/CategoryDisplayMode.d.ts.map +1 -0
  37. package/dist/admin/zones/CategoryDisplayMode.js +11 -0
  38. package/dist/admin/zones/CategoryDisplayMode.js.map +1 -0
  39. package/dist/admin/zones/OrganizationDisplayMode.d.ts +36 -0
  40. package/dist/admin/zones/OrganizationDisplayMode.d.ts.map +1 -0
  41. package/dist/admin/zones/OrganizationDisplayMode.js +12 -0
  42. package/dist/admin/zones/OrganizationDisplayMode.js.map +1 -0
  43. package/dist/admin/zones/ProductLinkedPriceLists.d.ts +16 -0
  44. package/dist/admin/zones/ProductLinkedPriceLists.d.ts.map +1 -0
  45. package/dist/admin/zones/ProductLinkedPriceLists.js +7 -0
  46. package/dist/admin/zones/ProductLinkedPriceLists.js.map +1 -0
  47. package/dist/backend/entities/price-display-mode-override.entity.d.ts +23 -0
  48. package/dist/backend/entities/price-display-mode-override.entity.d.ts.map +1 -0
  49. package/dist/backend/entities/price-display-mode-override.entity.js +58 -0
  50. package/dist/backend/entities/price-display-mode-override.entity.js.map +1 -0
  51. package/dist/backend/entities/price-list-price-bracket.entity.d.ts +26 -0
  52. package/dist/backend/entities/price-list-price-bracket.entity.d.ts.map +1 -0
  53. package/dist/backend/entities/price-list-price-bracket.entity.js +73 -0
  54. package/dist/backend/entities/price-list-price-bracket.entity.js.map +1 -0
  55. package/dist/backend/entities/price-list-product.entity.d.ts +15 -0
  56. package/dist/backend/entities/price-list-product.entity.d.ts.map +1 -0
  57. package/dist/backend/entities/price-list-product.entity.js +43 -0
  58. package/dist/backend/entities/price-list-product.entity.js.map +1 -0
  59. package/dist/backend/entities/price-list.entity.d.ts +34 -0
  60. package/dist/backend/entities/price-list.entity.d.ts.map +1 -0
  61. package/dist/backend/entities/price-list.entity.js +115 -0
  62. package/dist/backend/entities/price-list.entity.js.map +1 -0
  63. package/dist/backend/index.d.ts +125 -0
  64. package/dist/backend/index.d.ts.map +1 -0
  65. package/dist/backend/index.js +179 -0
  66. package/dist/backend/index.js.map +1 -0
  67. package/dist/backend/plugin.d.ts +68 -0
  68. package/dist/backend/plugin.d.ts.map +1 -0
  69. package/dist/backend/plugin.js +88 -0
  70. package/dist/backend/plugin.js.map +1 -0
  71. package/dist/backend/routes.d.ts +40 -0
  72. package/dist/backend/routes.d.ts.map +1 -0
  73. package/dist/backend/routes.js +447 -0
  74. package/dist/backend/routes.js.map +1 -0
  75. package/dist/backend/routes.storefront.d.ts +47 -0
  76. package/dist/backend/routes.storefront.d.ts.map +1 -0
  77. package/dist/backend/routes.storefront.js +131 -0
  78. package/dist/backend/routes.storefront.js.map +1 -0
  79. package/dist/backend/services/application-rule-evaluator.d.ts +25 -0
  80. package/dist/backend/services/application-rule-evaluator.d.ts.map +1 -0
  81. package/dist/backend/services/application-rule-evaluator.js +2 -0
  82. package/dist/backend/services/application-rule-evaluator.js.map +1 -0
  83. package/dist/backend/services/audit-references.d.ts +11 -0
  84. package/dist/backend/services/audit-references.d.ts.map +1 -0
  85. package/dist/backend/services/audit-references.js +23 -0
  86. package/dist/backend/services/audit-references.js.map +1 -0
  87. package/dist/backend/services/default-price-list-migration.d.ts +70 -0
  88. package/dist/backend/services/default-price-list-migration.d.ts.map +1 -0
  89. package/dist/backend/services/default-price-list-migration.js +177 -0
  90. package/dist/backend/services/default-price-list-migration.js.map +1 -0
  91. package/dist/backend/services/display-mode-resolver.d.ts +78 -0
  92. package/dist/backend/services/display-mode-resolver.d.ts.map +1 -0
  93. package/dist/backend/services/display-mode-resolver.js +71 -0
  94. package/dist/backend/services/display-mode-resolver.js.map +1 -0
  95. package/dist/backend/services/listing-price-chain.d.ts +26 -0
  96. package/dist/backend/services/listing-price-chain.d.ts.map +1 -0
  97. package/dist/backend/services/listing-price-chain.js +55 -0
  98. package/dist/backend/services/listing-price-chain.js.map +1 -0
  99. package/dist/backend/services/price-bracket-resolver.d.ts +24 -0
  100. package/dist/backend/services/price-bracket-resolver.d.ts.map +1 -0
  101. package/dist/backend/services/price-bracket-resolver.js +16 -0
  102. package/dist/backend/services/price-bracket-resolver.js.map +1 -0
  103. package/dist/backend/services/price-list-candidate-vector.d.ts +116 -0
  104. package/dist/backend/services/price-list-candidate-vector.d.ts.map +1 -0
  105. package/dist/backend/services/price-list-candidate-vector.js +133 -0
  106. package/dist/backend/services/price-list-candidate-vector.js.map +1 -0
  107. package/dist/backend/services/price-list-currency-reference.d.ts +12 -0
  108. package/dist/backend/services/price-list-currency-reference.d.ts.map +1 -0
  109. package/dist/backend/services/price-list-currency-reference.js +24 -0
  110. package/dist/backend/services/price-list-currency-reference.js.map +1 -0
  111. package/dist/backend/services/price-list-read-port.d.ts +29 -0
  112. package/dist/backend/services/price-list-read-port.d.ts.map +1 -0
  113. package/dist/backend/services/price-list-read-port.js +64 -0
  114. package/dist/backend/services/price-list-read-port.js.map +1 -0
  115. package/dist/backend/services/price-list-resolver.d.ts +26 -0
  116. package/dist/backend/services/price-list-resolver.d.ts.map +1 -0
  117. package/dist/backend/services/price-list-resolver.js +37 -0
  118. package/dist/backend/services/price-list-resolver.js.map +1 -0
  119. package/dist/backend/services/price-list-service.d.ts +431 -0
  120. package/dist/backend/services/price-list-service.d.ts.map +1 -0
  121. package/dist/backend/services/price-list-service.js +1238 -0
  122. package/dist/backend/services/price-list-service.js.map +1 -0
  123. package/dist/backend/services/price-list-status-worker.d.ts +28 -0
  124. package/dist/backend/services/price-list-status-worker.d.ts.map +1 -0
  125. package/dist/backend/services/price-list-status-worker.js +38 -0
  126. package/dist/backend/services/price-list-status-worker.js.map +1 -0
  127. package/dist/backend/services/pricing-cache.d.ts +53 -0
  128. package/dist/backend/services/pricing-cache.d.ts.map +1 -0
  129. package/dist/backend/services/pricing-cache.js +88 -0
  130. package/dist/backend/services/pricing-cache.js.map +1 -0
  131. package/dist/backend/services/pricing-service.d.ts +304 -0
  132. package/dist/backend/services/pricing-service.d.ts.map +1 -0
  133. package/dist/backend/services/pricing-service.interface.d.ts +151 -0
  134. package/dist/backend/services/pricing-service.interface.d.ts.map +1 -0
  135. package/dist/backend/services/pricing-service.interface.js +10 -0
  136. package/dist/backend/services/pricing-service.interface.js.map +1 -0
  137. package/dist/backend/services/pricing-service.js +803 -0
  138. package/dist/backend/services/pricing-service.js.map +1 -0
  139. package/dist/backend/services/unit-price-ordering.d.ts +121 -0
  140. package/dist/backend/services/unit-price-ordering.d.ts.map +1 -0
  141. package/dist/backend/services/unit-price-ordering.js +164 -0
  142. package/dist/backend/services/unit-price-ordering.js.map +1 -0
  143. package/dist/manifest.d.ts +218 -0
  144. package/dist/manifest.d.ts.map +1 -0
  145. package/dist/manifest.js +228 -0
  146. package/dist/manifest.js.map +1 -0
  147. package/dist/migrations/20260426T075235_price_lists_pricing_init.d.ts +24 -0
  148. package/dist/migrations/20260426T075235_price_lists_pricing_init.d.ts.map +1 -0
  149. package/dist/migrations/20260426T075235_price_lists_pricing_init.js +89 -0
  150. package/dist/migrations/20260426T075235_price_lists_pricing_init.js.map +1 -0
  151. package/dist/migrations/20260504T125655_price_lists_engine.d.ts +6 -0
  152. package/dist/migrations/20260504T125655_price_lists_engine.d.ts.map +1 -0
  153. package/dist/migrations/20260504T125655_price_lists_engine.js +319 -0
  154. package/dist/migrations/20260504T125655_price_lists_engine.js.map +1 -0
  155. package/dist/migrations/20260817T055457_price_lists_single_system_price_list.d.ts +15 -0
  156. package/dist/migrations/20260817T055457_price_lists_single_system_price_list.d.ts.map +1 -0
  157. package/dist/migrations/20260817T055457_price_lists_single_system_price_list.js +58 -0
  158. package/dist/migrations/20260817T055457_price_lists_single_system_price_list.js.map +1 -0
  159. package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.d.ts +40 -0
  160. package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.d.ts.map +1 -0
  161. package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.js +46 -0
  162. package/dist/migrations/20260821T135907_price_lists_unit_price_amount_index.js.map +1 -0
  163. package/dist/migrations/index.d.ts +30 -0
  164. package/dist/migrations/index.d.ts.map +1 -0
  165. package/dist/migrations/index.js +35 -0
  166. package/dist/migrations/index.js.map +1 -0
  167. package/docs/price_lists.md +278 -0
  168. package/i18n/en.json +14 -0
  169. package/i18n/pl.json +14 -0
  170. package/package.json +99 -0
  171. package/tailwind.css +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayModeOverridesPage.js","sourceRoot":"","sources":["../../../src/admin/pages/DisplayModeOverridesPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Price list editor (feature 011 engine shape).
4
+ *
5
+ * Three tabs land in this iteration:
6
+ * - Details — name + type + dates + status + lifecycle actions.
7
+ * - Products / Brackets — currently a placeholder pointing at the
8
+ * follow-up `BracketGrid` task (T047/T048).
9
+ * - Application Rule — placeholder pointing at the follow-up
10
+ * `ApplicationRuleBuilder` task (T055/T056).
11
+ *
12
+ * The seeded `Default` list reads as `isSystem` and the lifecycle /
13
+ * delete / rule edits are blocked by backend (FR-005, FR-006); the UI
14
+ * disables those affordances so the operator never sees a 403 popup.
15
+ */
16
+ export declare function PriceListDetailPage(): ReactNode;
17
+ /**
18
+ * The registry loads a route component through a dynamic-import factory and
19
+ * reads its default export (feature 091, FR-013). The named export stays: it is
20
+ * the spelling this module's own code and its tests use.
21
+ */
22
+ export default PriceListDetailPage;
23
+ //# sourceMappingURL=PriceListDetailPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceListDetailPage.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/PriceListDetailPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AA+Cf;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,CAgR/C;AA4pBD;;;;GAIG;AACH,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,421 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useState, } from 'react';
3
+ import { useNavigate, useParams, useSearchParams } from 'react-router-dom';
4
+ import { Calendar, ChevronLeft, Cog, Copy, Filter, Layers, Lock, Plus, Save, Search, Star, Trash2, Zap, } from 'lucide-react';
5
+ import { ApiError, apiClient, cn, normalize } from '@endora-commerce/admin-kit/lib';
6
+ import { useTranslation } from '@endora-commerce/admin-kit/i18n';
7
+ import { BracketGrid } from '../components/BracketGrid.js';
8
+ import { ApplicationRuleBuilder } from '../components/ApplicationRuleBuilder.js';
9
+ const STATUS_BADGE_CLASS = {
10
+ draft: 'b2b-badge b2b-badge--outline',
11
+ active: 'b2b-badge b2b-badge--success',
12
+ scheduled: 'b2b-badge b2b-badge--info',
13
+ expired: 'b2b-badge b2b-badge--muted',
14
+ };
15
+ /**
16
+ * Price list editor (feature 011 engine shape).
17
+ *
18
+ * Three tabs land in this iteration:
19
+ * - Details — name + type + dates + status + lifecycle actions.
20
+ * - Products / Brackets — currently a placeholder pointing at the
21
+ * follow-up `BracketGrid` task (T047/T048).
22
+ * - Application Rule — placeholder pointing at the follow-up
23
+ * `ApplicationRuleBuilder` task (T055/T056).
24
+ *
25
+ * The seeded `Default` list reads as `isSystem` and the lifecycle /
26
+ * delete / rule edits are blocked by backend (FR-005, FR-006); the UI
27
+ * disables those affordances so the operator never sees a 403 popup.
28
+ */
29
+ export function PriceListDetailPage() {
30
+ const t = useTranslation('core');
31
+ const STATUS_LABEL = {
32
+ draft: t('priceLists.status.draft'),
33
+ active: t('priceLists.status.active'),
34
+ scheduled: t('priceLists.status.scheduled'),
35
+ expired: t('priceLists.status.expired'),
36
+ };
37
+ const TYPE_LABEL = {
38
+ base: t('priceLists.type.base'),
39
+ sale: t('priceLists.type.sale'),
40
+ };
41
+ const params = useParams();
42
+ const navigate = useNavigate();
43
+ const [searchParams] = useSearchParams();
44
+ const focusProductId = searchParams.get('focus');
45
+ const id = params.id ?? '';
46
+ const [list, setList] = useState(null);
47
+ const [loading, setLoading] = useState(true);
48
+ const [error, setError] = useState(null);
49
+ const [info, setInfo] = useState(null);
50
+ const [tab, setTab] = useState(focusProductId ? 'products' : 'details');
51
+ const refresh = useCallback(async () => {
52
+ setLoading(true);
53
+ setError(null);
54
+ try {
55
+ const res = await apiClient.get(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`);
56
+ setList(res.data);
57
+ }
58
+ catch (err) {
59
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.load'));
60
+ setList(null);
61
+ }
62
+ finally {
63
+ setLoading(false);
64
+ }
65
+ }, [id, t]);
66
+ useEffect(() => {
67
+ void refresh();
68
+ }, [refresh]);
69
+ const handlePatch = useCallback(async (patch) => {
70
+ try {
71
+ const res = await apiClient.patch(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`, patch);
72
+ setList(res.data);
73
+ setInfo(t('priceLists.detail.info.saved'));
74
+ }
75
+ catch (err) {
76
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.save'));
77
+ }
78
+ }, [id, t]);
79
+ const handleActivate = useCallback(async () => {
80
+ try {
81
+ const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/activate`, {});
82
+ setList(res.data);
83
+ setInfo(t('priceLists.detail.info.statusChanged', { status: STATUS_LABEL[res.data.status] }));
84
+ }
85
+ catch (err) {
86
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.activate'));
87
+ }
88
+ }, [id, t, STATUS_LABEL]);
89
+ const handleDraftify = useCallback(async () => {
90
+ try {
91
+ const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/draftify`, {});
92
+ setList(res.data);
93
+ setInfo(t('priceLists.detail.info.statusDraft'));
94
+ }
95
+ catch (err) {
96
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.draftify'));
97
+ }
98
+ }, [id, t]);
99
+ const handleDuplicate = useCallback(async () => {
100
+ try {
101
+ const res = await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}/duplicate`, {});
102
+ navigate(`/price-lists/${res.data.id}`);
103
+ }
104
+ catch (err) {
105
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.duplicate'));
106
+ }
107
+ }, [id, navigate, t]);
108
+ const handleDelete = useCallback(async () => {
109
+ if (!confirm(t('priceLists.detail.confirmDelete')))
110
+ return;
111
+ try {
112
+ await apiClient.delete(`/api/v1/admin/price-lists-engine/${encodeURIComponent(id)}`);
113
+ navigate('/price-lists');
114
+ }
115
+ catch (err) {
116
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.error.delete'));
117
+ }
118
+ }, [id, navigate, t]);
119
+ if (loading) {
120
+ return (_jsx("div", { className: "b2b-page b2b-page--wide", children: _jsx("div", { style: { padding: 32, color: 'var(--fg-muted)', fontSize: 13 }, children: t('priceLists.loading') }) }));
121
+ }
122
+ if (!list) {
123
+ return (_jsxs("div", { className: "b2b-page b2b-page--wide", children: [_jsxs("button", { type: "button", className: "b2b-page-head__back", onClick: () => { navigate('/price-lists'); }, children: [_jsx(ChevronLeft, { size: 14 }), " ", t('priceLists.page.title')] }), _jsx("div", { className: "b2b-card", style: {
124
+ background: 'var(--danger-soft)',
125
+ color: 'var(--danger-soft-fg)',
126
+ padding: 16,
127
+ marginTop: 16,
128
+ border: '1px solid hsl(8 80% 85%)',
129
+ }, children: error ?? t('priceLists.detail.notFound') })] }));
130
+ }
131
+ const lifecycleDisabled = list.isSystem;
132
+ return (_jsxs("div", { className: "b2b-page b2b-page--wide", children: [_jsxs("div", { className: "b2b-page-head", children: [_jsxs("div", { className: "b2b-grow", children: [_jsxs("button", { type: "button", className: "b2b-page-head__back", onClick: () => { navigate('/price-lists'); }, children: [_jsx(ChevronLeft, { size: 14 }), " ", t('priceLists.page.title')] }), _jsxs("div", { className: "b2b-page-head__title", style: { display: 'flex', alignItems: 'center', gap: 8 }, children: [list.name, list.isSystem ? (_jsxs("span", { className: "b2b-badge b2b-badge--success", style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx(Lock, { size: 11 }), " ", t('priceLists.systemBadge')] })) : null, _jsx("span", { className: STATUS_BADGE_CLASS[list.status], children: STATUS_LABEL[list.status] }), _jsx("span", { className: "b2b-badge b2b-badge--outline", children: TYPE_LABEL[list.type] })] }), _jsxs("div", { className: "b2b-page-head__sub", style: { display: 'flex', alignItems: 'center', gap: 12 }, children: [_jsxs("span", { style: { display: 'inline-flex', alignItems: 'center', gap: 4 }, children: [_jsx(Calendar, { size: 12 }), formatRange(list.startsAt, list.endsAt, t)] }), _jsx("span", { children: t('priceLists.detail.modifiedAt', { date: formatDate(list.modifiedAt) }) })] })] }), _jsxs("div", { className: "b2b-page-head__actions", style: { gap: 8 }, children: [list.status === 'draft' || list.status === 'expired' ? (_jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemStateLocked') : undefined, onClick: () => {
133
+ void handleActivate();
134
+ }, children: [_jsx(Zap, { size: 13 }), " ", t('priceLists.detail.activate')] })) : (_jsxs("button", { type: "button", className: "b2b-btn b2b-btn--default b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemStateLocked') : undefined, onClick: () => {
135
+ void handleDraftify();
136
+ }, children: [_jsx(Star, { size: 13 }), " ", t('priceLists.detail.moveToDraft')] })), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--default b2b-btn--sm", onClick: () => {
137
+ void handleDuplicate();
138
+ }, children: [_jsx(Copy, { size: 13 }), " ", t('priceLists.detail.duplicate')] }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--danger b2b-btn--sm", disabled: lifecycleDisabled, title: lifecycleDisabled ? t('priceLists.detail.systemDeleteLocked') : undefined, onClick: () => {
139
+ void handleDelete();
140
+ }, children: [_jsx(Trash2, { size: 13 }), " ", t('priceLists.detail.delete')] })] })] }), info ? (_jsx(Banner, { kind: "info", message: info, onDismiss: () => setInfo(null) })) : null, error ? (_jsx(Banner, { kind: "error", message: error, onDismiss: () => setError(null) })) : null, _jsxs("div", { className: "b2b-card", children: [_jsx("div", { style: { padding: '4px 4px 0', overflow: 'hidden' }, children: _jsx("div", { className: "b2b-tabs-scroll", children: _jsxs("div", { className: "b2b-tabs", role: "tablist", children: [_jsx(TabBtn, { id: "details", label: t('priceLists.detail.tab.details'), icon: _jsx(Cog, { size: 14 }), active: tab, onChange: setTab }), _jsx(TabBtn, { id: "products", label: t('priceLists.detail.tab.products'), icon: _jsx(Layers, { size: 14 }), active: tab, onChange: setTab }), _jsx(TabBtn, { id: "rule", label: t('priceLists.detail.tab.rule'), icon: _jsx(Filter, { size: 14 }), active: tab, onChange: setTab })] }) }) }), _jsxs("div", { className: "b2b-card__body", children: [tab === 'details' ? (_jsx(DetailsPanel, { list: list, onSave: handlePatch, disabled: list.isSystem })) : null, tab === 'products' ? (_jsx(ProductsAndBracketsPanel, { priceListId: list.id, systemList: list.isSystem, focusProductId: focusProductId })) : null, tab === 'rule' ? (_jsx(ApplicationRulePanel, { rule: list.applicationRule, isSystem: list.isSystem, onSave: (next) => handlePatch({ applicationRule: next }) })) : null] })] })] }));
141
+ }
142
+ function TabBtn(props) {
143
+ return (_jsxs("button", { type: "button", role: "tab", "aria-selected": props.active === props.id, className: cn('b2b-tab', props.active === props.id && 'is-active'), onClick: () => props.onChange(props.id), children: [props.icon, props.label] }));
144
+ }
145
+ function Banner({ kind, message, onDismiss, }) {
146
+ const t = useTranslation('core');
147
+ const palette = kind === 'error'
148
+ ? { bg: 'var(--danger-soft)', fg: 'var(--danger-soft-fg)', border: 'hsl(8 80% 85%)' }
149
+ : { bg: 'var(--success-soft)', fg: 'var(--success-soft-fg)', border: 'hsl(142 50% 80%)' };
150
+ return (_jsxs("div", { className: "b2b-card b2b-row", style: {
151
+ background: palette.bg,
152
+ color: palette.fg,
153
+ padding: 12,
154
+ marginBottom: 16,
155
+ border: `1px solid ${palette.border}`,
156
+ gap: 8,
157
+ alignItems: 'center',
158
+ }, children: [_jsx("div", { className: "b2b-grow", children: message }), _jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", onClick: onDismiss, children: t('priceLists.dismiss') })] }));
159
+ }
160
+ function DetailsPanel({ list, onSave, disabled, }) {
161
+ const t = useTranslation('core');
162
+ const [name, setName] = useState(list.name);
163
+ const [type, setType] = useState(list.type);
164
+ const [startsAt, setStartsAt] = useState(toLocalInput(list.startsAt));
165
+ const [endsAt, setEndsAt] = useState(toLocalInput(list.endsAt));
166
+ const [submitting, setSubmitting] = useState(false);
167
+ useEffect(() => {
168
+ setName(list.name);
169
+ setType(list.type);
170
+ setStartsAt(toLocalInput(list.startsAt));
171
+ setEndsAt(toLocalInput(list.endsAt));
172
+ }, [list]);
173
+ const dirty = name !== list.name ||
174
+ type !== list.type ||
175
+ toLocalInput(list.startsAt) !== startsAt ||
176
+ toLocalInput(list.endsAt) !== endsAt;
177
+ const handle = async () => {
178
+ setSubmitting(true);
179
+ try {
180
+ await onSave({
181
+ name,
182
+ type,
183
+ startsAt: startsAt ? new Date(startsAt).toISOString() : null,
184
+ endsAt: endsAt ? new Date(endsAt).toISOString() : null,
185
+ });
186
+ }
187
+ finally {
188
+ setSubmitting(false);
189
+ }
190
+ };
191
+ return (_jsxs("div", { className: "b2b-col", style: { gap: 14 }, children: [disabled ? (_jsxs("div", { className: "b2b-card b2b-row", style: {
192
+ background: 'var(--info-soft)',
193
+ color: 'var(--info-soft-fg)',
194
+ padding: 12,
195
+ border: '1px solid hsl(217 70% 88%)',
196
+ gap: 8,
197
+ alignItems: 'flex-start',
198
+ }, children: [_jsx(Lock, { size: 14, style: { marginTop: 2 } }), _jsx("div", { children: t('priceLists.detail.systemNotice') })] })) : null, _jsxs("div", { className: "b2b-row", style: { gap: 12 }, children: [_jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-name", children: t('priceLists.detail.field.name') }), _jsx("input", { id: "ed-name", className: "b2b-field", value: name, disabled: disabled, onChange: (e) => setName(e.target.value) })] }), _jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-type", children: t('priceLists.detail.field.type') }), _jsxs("select", { id: "ed-type", className: "b2b-field", value: type, disabled: disabled, onChange: (e) => setType(e.target.value), children: [_jsx("option", { value: "base", children: t('priceLists.type.base') }), _jsx("option", { value: "sale", children: t('priceLists.type.sale') })] }), _jsx("div", { className: "b2b-help", children: t('priceLists.detail.field.typeHelp') })] })] }), _jsxs("div", { className: "b2b-row", style: { gap: 12 }, children: [_jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-starts", children: t('priceLists.detail.field.startsAt') }), _jsx("input", { id: "ed-starts", className: "b2b-field", type: "datetime-local", value: startsAt, disabled: disabled, onChange: (e) => setStartsAt(e.target.value) })] }), _jsxs("div", { className: "b2b-grow", children: [_jsx("label", { className: "b2b-label", htmlFor: "ed-ends", children: t('priceLists.detail.field.endsAt') }), _jsx("input", { id: "ed-ends", className: "b2b-field", type: "datetime-local", value: endsAt, disabled: disabled, onChange: (e) => setEndsAt(e.target.value) })] })] }), _jsx("div", { className: "b2b-row", style: { justifyContent: 'flex-end', gap: 8 }, children: _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary", disabled: disabled || submitting || !dirty, onClick: () => {
199
+ void handle();
200
+ }, children: [_jsx(Save, { size: 14 }), " ", submitting ? t('priceLists.detail.saving') : t('priceLists.detail.saveChanges')] }) })] }));
201
+ }
202
+ function pickName(name, fallback = '') {
203
+ if (!name)
204
+ return fallback;
205
+ return name['en-US'] ?? name['pl-PL'] ?? Object.values(name)[0] ?? fallback;
206
+ }
207
+ function ProductsAndBracketsPanel({ priceListId, systemList, focusProductId, }) {
208
+ const t = useTranslation('core');
209
+ const [roster, setRoster] = useState([]);
210
+ const [products, setProducts] = useState({});
211
+ const [loading, setLoading] = useState(true);
212
+ const [error, setError] = useState(null);
213
+ const [selectedId, setSelectedId] = useState(focusProductId ?? null);
214
+ const [picker, setPicker] = useState(false);
215
+ const refresh = useCallback(async () => {
216
+ setLoading(true);
217
+ setError(null);
218
+ try {
219
+ const [rosterRes, productsRes] = await Promise.all([
220
+ apiClient.get(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products`),
221
+ apiClient.get('/api/v1/admin/catalog/products'),
222
+ ]);
223
+ setRoster(rosterRes.data.items);
224
+ const map = {};
225
+ for (const p of productsRes.data)
226
+ map[p.id] = p;
227
+ setProducts(map);
228
+ // Honour ?focus=<productId> first if it points at an actual roster row.
229
+ const focused = focusProductId
230
+ ? rosterRes.data.items.find((e) => e.productId === focusProductId)
231
+ : null;
232
+ if (focused) {
233
+ setSelectedId(focused.productId);
234
+ }
235
+ else if (rosterRes.data.items.length > 0 &&
236
+ !rosterRes.data.items.some((e) => e.productId === selectedId)) {
237
+ setSelectedId(rosterRes.data.items[0].productId);
238
+ }
239
+ }
240
+ catch (err) {
241
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.load'));
242
+ }
243
+ finally {
244
+ setLoading(false);
245
+ }
246
+ }, [priceListId, selectedId, focusProductId, t]);
247
+ useEffect(() => {
248
+ void refresh();
249
+ // eslint-disable-next-line react-hooks/exhaustive-deps
250
+ }, [priceListId]);
251
+ const handleAddProduct = async (productId) => {
252
+ try {
253
+ await apiClient.post(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products`, {
254
+ productId,
255
+ });
256
+ setPicker(false);
257
+ setSelectedId(productId);
258
+ await refresh();
259
+ }
260
+ catch (err) {
261
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.add'));
262
+ }
263
+ };
264
+ const handleRemoveProduct = async (productId) => {
265
+ if (!confirm(t('priceLists.detail.products.confirmRemove')))
266
+ return;
267
+ try {
268
+ await apiClient.delete(`/api/v1/admin/price-lists-engine/${encodeURIComponent(priceListId)}/products/${encodeURIComponent(productId)}`);
269
+ if (selectedId === productId)
270
+ setSelectedId(null);
271
+ await refresh();
272
+ }
273
+ catch (err) {
274
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.products.error.remove'));
275
+ }
276
+ };
277
+ const handleBracketsSaved = (productId, next) => {
278
+ setRoster((prev) => prev.map((e) => (e.productId === productId ? { ...e, bracketsByCurrency: next } : e)));
279
+ };
280
+ if (loading) {
281
+ return _jsx("div", { style: { padding: 16, color: 'var(--fg-muted)', fontSize: 13 }, children: t('priceLists.loading') });
282
+ }
283
+ const selected = roster.find((e) => e.productId === selectedId) ?? null;
284
+ const selectedProduct = selected ? products[selected.productId] : null;
285
+ return (_jsxs("div", { className: "b2b-col", style: { gap: 12 }, children: [error ? (_jsx("div", { style: {
286
+ padding: 8,
287
+ background: 'var(--danger-soft)',
288
+ color: 'var(--danger-soft-fg)',
289
+ borderRadius: 6,
290
+ border: '1px solid hsl(8 80% 85%)',
291
+ fontSize: 12,
292
+ }, children: error })) : null, systemList ? (_jsxs("div", { className: "b2b-card b2b-row", style: {
293
+ background: 'var(--info-soft)',
294
+ color: 'var(--info-soft-fg)',
295
+ padding: 12,
296
+ border: '1px solid hsl(217 70% 88%)',
297
+ gap: 8,
298
+ alignItems: 'flex-start',
299
+ }, children: [_jsx(Lock, { size: 14, style: { marginTop: 2 } }), _jsx("div", { children: t('priceLists.detail.products.systemNotice') })] })) : null, _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '280px 1fr', gap: 16, alignItems: 'flex-start' }, children: [_jsxs("div", { className: "b2b-card", style: { padding: 0 }, children: [_jsxs("div", { className: "b2b-row", style: {
300
+ padding: '10px 12px',
301
+ borderBottom: '1px solid var(--border-color)',
302
+ gap: 6,
303
+ alignItems: 'center',
304
+ }, children: [_jsx("div", { className: "b2b-grow", style: { fontSize: 12, fontWeight: 600 }, children: t('priceLists.detail.products.title', { count: roster.length }) }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: systemList, onClick: () => setPicker(true), children: [_jsx(Plus, { size: 12 }), " ", t('priceLists.detail.products.add')] })] }), roster.length === 0 ? (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.empty') })) : (_jsx("ul", { style: { margin: 0, padding: 0, listStyle: 'none', maxHeight: 480, overflow: 'auto' }, children: roster.map((e) => {
305
+ const product = products[e.productId];
306
+ const isSelected = e.productId === selectedId;
307
+ const currencyCount = Object.keys(e.bracketsByCurrency).length;
308
+ return (_jsxs("li", { onClick: () => setSelectedId(e.productId), style: {
309
+ padding: '8px 12px',
310
+ cursor: 'pointer',
311
+ borderBottom: '1px solid var(--border-color)',
312
+ background: isSelected ? 'var(--primary-soft)' : 'transparent',
313
+ borderLeft: isSelected ? '3px solid var(--primary-color)' : '3px solid transparent',
314
+ }, children: [_jsx("div", { style: { fontSize: 12, fontWeight: 500 }, children: product ? pickName(product.name, e.productId.slice(0, 8)) : e.productId.slice(0, 8) }), _jsxs("div", { style: { fontSize: 11, color: 'var(--fg-muted)', display: 'flex', justifyContent: 'space-between', marginTop: 2 }, children: [_jsx("span", { className: "b2b-mono", children: product?.sku ?? '—' }), _jsx("span", { children: currencyCount === 0 ? t('priceLists.detail.products.noPrices') : t('priceLists.detail.products.currencyCount', { count: currencyCount }) })] })] }, e.productId));
315
+ }) }))] }), _jsxs("div", { children: [selected && selectedProduct ? (_jsx(BracketGrid, { priceListId: priceListId, productId: selected.productId, productName: pickName(selectedProduct.name, selected.productId.slice(0, 8)), initial: selected.bracketsByCurrency, systemList: systemList, onSaved: (next) => handleBracketsSaved(selected.productId, next) })) : selectedId ? (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.loadingProduct') })) : (_jsx("div", { className: "b2b-help", style: { padding: 16 }, children: t('priceLists.detail.products.selectHint') })), selected && !systemList ? (_jsx("div", { style: { marginTop: 12, textAlign: 'right' }, children: _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", style: { color: 'hsl(8 80% 50%)' }, onClick: () => {
316
+ void handleRemoveProduct(selected.productId);
317
+ }, children: [_jsx(Trash2, { size: 12 }), " ", t('priceLists.detail.products.removeFromList')] }) })) : null] })] }), picker ? (_jsx(ProductPickerDialog, { existing: new Set(roster.map((e) => e.productId)), onClose: () => setPicker(false), onPick: (id) => {
318
+ void handleAddProduct(id);
319
+ } })) : null] }));
320
+ }
321
+ function ProductPickerDialog({ existing, onClose, onPick, }) {
322
+ const t = useTranslation('core');
323
+ const [products, setProducts] = useState([]);
324
+ const [query, setQuery] = useState('');
325
+ const [loading, setLoading] = useState(true);
326
+ const [error, setError] = useState(null);
327
+ useEffect(() => {
328
+ apiClient
329
+ .get('/api/v1/admin/catalog/products')
330
+ .then((res) => setProducts(res.data))
331
+ .catch((err) => {
332
+ setError(err instanceof ApiError ? err.envelope.error.message : t('priceLists.detail.picker.error.load'));
333
+ })
334
+ .finally(() => setLoading(false));
335
+ }, [t]);
336
+ const candidates = products.filter((p) => {
337
+ if (existing.has(p.id))
338
+ return false;
339
+ const q = normalize(query);
340
+ if (q === '')
341
+ return true;
342
+ return normalize(pickName(p.name)).includes(q) || normalize(p.sku).includes(q);
343
+ });
344
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "b2b-scrim", onClick: onClose }), _jsxs("aside", { className: "b2b-drawer", role: "dialog", "aria-modal": "true", children: [_jsxs("div", { className: "b2b-drawer__head", children: [_jsx("div", { className: "b2b-drawer__title", children: t('priceLists.detail.picker.title') }), _jsx("div", { className: "b2b-card__sub", children: t('priceLists.detail.picker.subtitle') })] }), _jsxs("div", { className: "b2b-drawer__body", children: [_jsxs("div", { className: "b2b-input-wrap", style: { marginBottom: 12 }, children: [_jsx(Search, { size: 14, className: "lead" }), _jsx("input", { autoFocus: true, className: "b2b-field b2b-field--addon", placeholder: t('priceLists.detail.picker.searchPlaceholder'), value: query, onChange: (e) => setQuery(e.target.value) })] }), error ? (_jsx("div", { className: "b2b-help", style: { color: 'hsl(8 80% 40%)' }, children: error })) : loading ? (_jsx("div", { className: "b2b-help", children: t('priceLists.loading') })) : candidates.length === 0 ? (_jsx("div", { className: "b2b-help", children: t('priceLists.detail.picker.empty') })) : (_jsx("ul", { style: { margin: 0, padding: 0, listStyle: 'none', maxHeight: 380, overflow: 'auto' }, children: candidates.slice(0, 100).map((p) => (_jsxs("li", { onClick: () => onPick(p.id), style: {
345
+ padding: '8px 10px',
346
+ cursor: 'pointer',
347
+ borderBottom: '1px solid var(--border-color)',
348
+ }, children: [_jsx("div", { style: { fontSize: 13, fontWeight: 500 }, children: pickName(p.name, p.sku) }), _jsx("div", { className: "b2b-mono", style: { fontSize: 11, color: 'var(--fg-muted)' }, children: p.sku })] }, p.id))) }))] }), _jsx("div", { className: "b2b-drawer__foot", children: _jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost", onClick: onClose, children: t('priceLists.detail.picker.cancel') }) })] })] }));
349
+ }
350
+ function ApplicationRulePanel({ rule, isSystem, onSave, }) {
351
+ const t = useTranslation('core');
352
+ const [draft, setDraft] = useState(rule);
353
+ const [submitting, setSubmitting] = useState(false);
354
+ const [info, setInfo] = useState(null);
355
+ const [error, setError] = useState(null);
356
+ useEffect(() => {
357
+ setDraft(rule);
358
+ }, [rule]);
359
+ const dirty = JSON.stringify(rule) !== JSON.stringify(draft);
360
+ const handle = async () => {
361
+ setSubmitting(true);
362
+ setError(null);
363
+ try {
364
+ await onSave(draft);
365
+ setInfo(t('priceLists.detail.info.saved'));
366
+ }
367
+ catch (err) {
368
+ setError(err instanceof Error ? err.message : t('priceLists.detail.error.save'));
369
+ }
370
+ finally {
371
+ setSubmitting(false);
372
+ }
373
+ };
374
+ if (isSystem) {
375
+ return (_jsx("div", { className: "b2b-card", style: {
376
+ padding: 16,
377
+ background: 'var(--surface-muted)',
378
+ border: '1px solid var(--border-color)',
379
+ }, children: _jsxs("div", { className: "b2b-row", style: { gap: 12, alignItems: 'flex-start' }, children: [_jsx(Lock, { size: 18, style: { color: 'var(--fg-muted)', marginTop: 2 } }), _jsxs("div", { className: "b2b-grow", children: [_jsx("div", { style: { fontSize: 13, fontWeight: 600 }, children: t('priceLists.detail.rule.title') }), _jsx("div", { className: "b2b-help", style: { marginTop: 4 }, children: t('priceLists.detail.rule.systemNotice') })] })] }) }));
380
+ }
381
+ return (_jsxs("div", { className: "b2b-col", style: { gap: 12 }, children: [info ? (_jsx("div", { style: {
382
+ padding: 8,
383
+ background: 'var(--success-soft)',
384
+ color: 'var(--success-soft-fg)',
385
+ borderRadius: 6,
386
+ border: '1px solid hsl(142 50% 80%)',
387
+ fontSize: 12,
388
+ }, children: info })) : null, error ? (_jsx("div", { style: {
389
+ padding: 8,
390
+ background: 'var(--danger-soft)',
391
+ color: 'var(--danger-soft-fg)',
392
+ borderRadius: 6,
393
+ border: '1px solid hsl(8 80% 85%)',
394
+ fontSize: 12,
395
+ }, children: error })) : null, _jsx(ApplicationRuleBuilder, { value: draft, onChange: setDraft }), _jsxs("div", { className: "b2b-row", style: { justifyContent: 'flex-end', gap: 6 }, children: [_jsx("button", { type: "button", className: "b2b-btn b2b-btn--ghost b2b-btn--sm", disabled: !dirty || submitting, onClick: () => setDraft(rule), children: t('priceLists.detail.rule.discard') }), _jsxs("button", { type: "button", className: "b2b-btn b2b-btn--primary b2b-btn--sm", disabled: !dirty || submitting, onClick: () => {
396
+ void handle();
397
+ }, children: [_jsx(Save, { size: 13 }), " ", submitting ? t('priceLists.detail.saving') : t('priceLists.detail.rule.save')] })] })] }));
398
+ }
399
+ function toLocalInput(iso) {
400
+ if (!iso)
401
+ return '';
402
+ const d = new Date(iso);
403
+ const pad = (n) => String(n).padStart(2, '0');
404
+ return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
405
+ }
406
+ function formatRange(startsAt, endsAt, t) {
407
+ if (!startsAt && !endsAt)
408
+ return t('priceLists.window.always');
409
+ const fmt = (s) => (s ? new Date(s).toLocaleDateString() : '—');
410
+ return `${fmt(startsAt)} → ${fmt(endsAt)}`;
411
+ }
412
+ function formatDate(iso) {
413
+ return new Date(iso).toLocaleString();
414
+ }
415
+ /**
416
+ * The registry loads a route component through a dynamic-import factory and
417
+ * reads its default export (feature 091, FR-013). The named export stays: it is
418
+ * the spelling this module's own code and its tests use.
419
+ */
420
+ export default PriceListDetailPage;
421
+ //# sourceMappingURL=PriceListDetailPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceListDetailPage.js","sourceRoot":"","sources":["../../../src/admin/pages/PriceListDetailPage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Price lists — feature 011 (engine) admin landing page.
4
+ *
5
+ * Lists every price list with status/type filter chips and a free-text
6
+ * search. Clicking a row opens the editor; the seeded `Default` row is
7
+ * marked with a lock icon and a "System" chip because protections in
8
+ * `price-list-service.ts` refuse delete/state-change/rule-attach on it.
9
+ */
10
+ export declare function PriceListsPage(): ReactNode;
11
+ /**
12
+ * The registry loads a route component through a dynamic-import factory and
13
+ * reads its default export (feature 091, FR-013). The named export stays: it is
14
+ * the spelling this module's own code and its tests use.
15
+ */
16
+ export default PriceListsPage;
17
+ //# sourceMappingURL=PriceListsPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceListsPage.d.ts","sourceRoot":"","sources":["../../../src/admin/pages/PriceListsPage.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsCf;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAqQ1C;AA4PD;;;;GAIG;AACH,eAAe,cAAc,CAAC"}