@epcare/esm-report-builder 0.1.1-pre.13

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 (222) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +19 -0
  3. package/.prettierrc +8 -0
  4. package/LICENSE +401 -0
  5. package/README.md +317 -0
  6. package/dist/184.js +2 -0
  7. package/dist/184.js.LICENSE.txt +14 -0
  8. package/dist/184.js.map +1 -0
  9. package/dist/211.js +1 -0
  10. package/dist/211.js.map +1 -0
  11. package/dist/300.js +1 -0
  12. package/dist/311.js +1 -0
  13. package/dist/311.js.map +1 -0
  14. package/dist/44.js +2 -0
  15. package/dist/44.js.LICENSE.txt +30 -0
  16. package/dist/44.js.map +1 -0
  17. package/dist/478.js +2 -0
  18. package/dist/478.js.LICENSE.txt +9 -0
  19. package/dist/478.js.map +1 -0
  20. package/dist/535.js +1 -0
  21. package/dist/535.js.map +1 -0
  22. package/dist/540.js +2 -0
  23. package/dist/540.js.LICENSE.txt +9 -0
  24. package/dist/540.js.map +1 -0
  25. package/dist/710.js +1 -0
  26. package/dist/710.js.map +1 -0
  27. package/dist/729.js +1 -0
  28. package/dist/729.js.map +1 -0
  29. package/dist/872.js +1 -0
  30. package/dist/872.js.map +1 -0
  31. package/dist/917.js +1 -0
  32. package/dist/917.js.map +1 -0
  33. package/dist/961.js +2 -0
  34. package/dist/961.js.LICENSE.txt +19 -0
  35. package/dist/961.js.map +1 -0
  36. package/dist/972.js +2 -0
  37. package/dist/972.js.LICENSE.txt +21 -0
  38. package/dist/972.js.map +1 -0
  39. package/dist/main.js +1 -0
  40. package/dist/main.js.map +1 -0
  41. package/dist/openmrs-esm-report-builder.js +1 -0
  42. package/dist/openmrs-esm-report-builder.js.buildmanifest.json +482 -0
  43. package/dist/openmrs-esm-report-builder.js.map +1 -0
  44. package/dist/routes.json +1 -0
  45. package/e2e/core/env.ts +5 -0
  46. package/e2e/core/global-setup.ts +34 -0
  47. package/e2e/core/test.ts +21 -0
  48. package/e2e/pages/app-shell.page.ts +34 -0
  49. package/e2e/pages/etl-sources.page.ts +35 -0
  50. package/e2e/pages/report-sections.page.ts +20 -0
  51. package/e2e/pages/section-preview.modal.ts +29 -0
  52. package/e2e/specs/etl-sources.spec.ts +51 -0
  53. package/e2e/specs/navigation.spec.ts +13 -0
  54. package/e2e/specs/section-preview-validation.spec.ts +38 -0
  55. package/e2e/specs/section-preview.spec.ts +94 -0
  56. package/e2e/tsconfig.json +11 -0
  57. package/example.env +5 -0
  58. package/jest.config.js +28 -0
  59. package/package.json +102 -0
  60. package/playwright.config.ts +28 -0
  61. package/src/admin-card-link.extension.module.scss +55 -0
  62. package/src/admin-card-link.extension.tsx +24 -0
  63. package/src/components/admin/admin-page.component.tsx +31 -0
  64. package/src/components/admin/age-categories-page.component.tsx +109 -0
  65. package/src/components/admin/age-groups-page.component.tsx +146 -0
  66. package/src/components/admin/etl-sources-page.component.tsx +344 -0
  67. package/src/components/admin/report-categories-page.component.tsx +256 -0
  68. package/src/components/admin/report-library-page.component.tsx +540 -0
  69. package/src/components/ai-support/ai-assist-button.component.tsx +30 -0
  70. package/src/components/ai-support/ai-assist-modal.component.tsx +81 -0
  71. package/src/components/ai-support/ai.service.ts +21 -0
  72. package/src/components/ai-support/ai.types.ts +12 -0
  73. package/src/components/app-shell/report-builder-shell.component.tsx +120 -0
  74. package/src/components/app-shell/report-builder-shell.scss +15 -0
  75. package/src/components/data-themes/data-theme-form.component.tsx +59 -0
  76. package/src/components/data-themes/data-theme-modal.component.tsx +349 -0
  77. package/src/components/data-themes/data-themes-page.component.tsx +132 -0
  78. package/src/components/data-themes/data-themes-table.component.tsx +91 -0
  79. package/src/components/data-themes/icon-registry.ts +35 -0
  80. package/src/components/data-themes/sections/data-theme-basics.section.tsx +63 -0
  81. package/src/components/data-themes/sections/data-theme-condition-columns.section.tsx +397 -0
  82. package/src/components/data-themes/sections/data-theme-fields-editor.section.tsx +125 -0
  83. package/src/components/data-themes/sections/data-theme-metadata.section.tsx +245 -0
  84. package/src/components/data-themes/sections/data-theme-preview.section.tsx +115 -0
  85. package/src/components/data-themes/sections/data-theme-source.section.tsx +184 -0
  86. package/src/components/indicators/README.md +24 -0
  87. package/src/components/indicators/base-indicator-basic-fields.component.tsx +18 -0
  88. package/src/components/indicators/base-indicator-basics.section.tsx +54 -0
  89. package/src/components/indicators/base-indicator-countby.section.tsx +25 -0
  90. package/src/components/indicators/base-indicator-criteria.section.tsx +83 -0
  91. package/src/components/indicators/base-indicator-details-form.component.tsx +80 -0
  92. package/src/components/indicators/base-indicator-theme-unit-fields.component.tsx +39 -0
  93. package/src/components/indicators/create-base-indicator-modal.component.tsx +501 -0
  94. package/src/components/indicators/create-composite-base-indicator-modal.component.tsx +297 -0
  95. package/src/components/indicators/create-final-indicator-modal.component.tsx +260 -0
  96. package/src/components/indicators/diagnosis-filters-form.component.tsx +101 -0
  97. package/src/components/indicators/disaggregation-panel.component.tsx +93 -0
  98. package/src/components/indicators/handler/concept-search-multiselect.component.tsx +153 -0
  99. package/src/components/indicators/handler/question-answer-concept-search.component.tsx +336 -0
  100. package/src/components/indicators/indicator-status-tag.component.tsx +9 -0
  101. package/src/components/indicators/indicators-page.component.tsx +481 -0
  102. package/src/components/indicators/indicators-page.scss +121 -0
  103. package/src/components/indicators/indicators-table.component.tsx +166 -0
  104. package/src/components/indicators/preview-table.component.tsx +31 -0
  105. package/src/components/indicators/sections/composite-indicator-basics.section.tsx +36 -0
  106. package/src/components/indicators/sections/composite-indicator-picker.section.tsx +161 -0
  107. package/src/components/indicators/sections/composite-indicator-sql-preview.section.tsx +31 -0
  108. package/src/components/indicators/sections/final-indicator-basics.section.tsx +46 -0
  109. package/src/components/indicators/sections/final-indicator-disaggregation.section.tsx +47 -0
  110. package/src/components/indicators/sections/final-indicator-picker.section.tsx +92 -0
  111. package/src/components/indicators/sections/final-indicator-preview.section.tsx +20 -0
  112. package/src/components/indicators/sections/final-indicator-results-preview.section.tsx +65 -0
  113. package/src/components/indicators/sections/indicator-basics.section.tsx +40 -0
  114. package/src/components/indicators/sections/indicator-conditions.section.tsx +194 -0
  115. package/src/components/indicators/sections/indicator-sql-preview.section.tsx +26 -0
  116. package/src/components/indicators/sections/indicator-theme.section.tsx +48 -0
  117. package/src/components/indicators/sql-preview.component.tsx +19 -0
  118. package/src/components/indicators/types/base-indicator-form.types.ts +17 -0
  119. package/src/components/indicators/types/base-indicator-theme.constants.ts +8 -0
  120. package/src/components/indicators/types/composite-indicator.types.ts +21 -0
  121. package/src/components/indicators/types/condition-ui.types.ts +11 -0
  122. package/src/components/indicators/types/data-theme-config.types.ts +88 -0
  123. package/src/components/indicators/types/indicator-types.ts +56 -0
  124. package/src/components/indicators/types/sql-builders.ts +43 -0
  125. package/src/components/indicators/utils/composite-indicator-sql.utils.ts +206 -0
  126. package/src/components/indicators/utils/concept-preload.utils.ts +21 -0
  127. package/src/components/indicators/utils/final-indicator-sql.utils.ts +124 -0
  128. package/src/components/indicators/utils/indicator-conditions-hydration.utils.ts +254 -0
  129. package/src/components/indicators/utils/indicator-sql.utils.ts +185 -0
  130. package/src/components/landing/landing-action-item.component.tsx +50 -0
  131. package/src/components/landing/landing-action-list.component.tsx +12 -0
  132. package/src/components/landing/landing-activity-list.component.tsx +47 -0
  133. package/src/components/landing/landing-footer-grid.component.tsx +45 -0
  134. package/src/components/landing/landing-hero.component.tsx +18 -0
  135. package/src/components/landing/landing-section-card.component.tsx +33 -0
  136. package/src/components/landing/report-builder-landing-page.component.tsx +103 -0
  137. package/src/components/landing/report-builder-landing-page.scss +131 -0
  138. package/src/components/report/dashboard/reports-table.component.tsx +145 -0
  139. package/src/components/report/definition/panels/properties-panel.component.tsx +38 -0
  140. package/src/components/report/definition/panels/report-structure-panel.component.tsx +61 -0
  141. package/src/components/report/definition/panels/selection-panel.component.tsx +58 -0
  142. package/src/components/report/definition/report-definition-editor.component.tsx +99 -0
  143. package/src/components/report/definition/report-definition.types.ts +66 -0
  144. package/src/components/report/design/panels/IndicatorPropertiesPanel.scss +33 -0
  145. package/src/components/report/design/panels/IndicatorPropertiesPanel.tsx +389 -0
  146. package/src/components/report/design/panels/JsonPreviewPanel.scss +32 -0
  147. package/src/components/report/design/panels/JsonPreviewPanel.tsx +104 -0
  148. package/src/components/report/design/panels/mapping-preview-panel.component.tsx +82 -0
  149. package/src/components/report/design/panels/mapping-preview-panel.scss +55 -0
  150. package/src/components/report/design/panels/template-structure-panel.component.tsx +296 -0
  151. package/src/components/report/design/panels/template-structure-panel.scss +81 -0
  152. package/src/components/report/design/report-design-editor.component.tsx +894 -0
  153. package/src/components/report/design/report-design.types.ts +43 -0
  154. package/src/components/report/design/report-design.utils.ts +86 -0
  155. package/src/components/report/panels/report-detail.component.tsx +71 -0
  156. package/src/components/report/panels/report-panel-shell.component.tsx +60 -0
  157. package/src/components/report/report-dashboard.page.component.tsx +75 -0
  158. package/src/components/report/report-editor.page.component.tsx +466 -0
  159. package/src/components/report/report.routes.tsx +30 -0
  160. package/src/components/report-sections/create-report-section-modal.component.tsx +278 -0
  161. package/src/components/report-sections/hooks/useAgeCategories.ts +25 -0
  162. package/src/components/report-sections/hooks/useSectionEditorState.ts +306 -0
  163. package/src/components/report-sections/panels/Dhis2MappingPanel.tsx +157 -0
  164. package/src/components/report-sections/panels/DisaggregationPanel.tsx +97 -0
  165. package/src/components/report-sections/panels/IndicatorPickerPanel.tsx +143 -0
  166. package/src/components/report-sections/panels/SectionBasicsPanel.tsx +27 -0
  167. package/src/components/report-sections/report-section-preview-modal.component.tsx +418 -0
  168. package/src/components/report-sections/report-sections-page.component.tsx +313 -0
  169. package/src/components/report-sections/section-types.ts +55 -0
  170. package/src/components/report-sections/section-utils.ts +46 -0
  171. package/src/components/report-sections/sections-page.scss +79 -0
  172. package/src/components/run-reports/run-reports-page.component.tsx +23 -0
  173. package/src/components/shared/header/builder-header-actions.component.tsx +38 -0
  174. package/src/components/shared/header/header.component.tsx +85 -0
  175. package/src/components/shared/header/header.scss +150 -0
  176. package/src/components/shared/header/illustration.component.tsx +34 -0
  177. package/src/components/shared/indicator-properties-panel/IndicatorPropertiesPanel.scss +33 -0
  178. package/src/components/shared/indicator-properties-panel/IndicatorPropertiesPanel.tsx +389 -0
  179. package/src/components/shared/json-preview-panel/JsonPreviewPanel.scss +32 -0
  180. package/src/components/shared/json-preview-panel/JsonPreviewPanel.tsx +104 -0
  181. package/src/components/shared/mapping-preview-panel/mapping-preview-panel.component.tsx +82 -0
  182. package/src/components/shared/mapping-preview-panel/mapping-preview-panel.scss +55 -0
  183. package/src/components/shared/preview/query-results-preview.component.tsx +204 -0
  184. package/src/components/shared/template-structure-panel/template-structure-panel.component.tsx +296 -0
  185. package/src/components/shared/template-structure-panel/template-structure-panel.scss +81 -0
  186. package/src/config-schema.ts +23 -0
  187. package/src/globals.d.ts +14 -0
  188. package/src/hooks/theme/useDataThemes.ts +28 -0
  189. package/src/hooks/theme/useMambaTableMeta.ts +34 -0
  190. package/src/hooks/theme/useMambaTables.ts +63 -0
  191. package/src/index.ts +23 -0
  192. package/src/resources/agegroup/agegroups.api.ts +58 -0
  193. package/src/resources/concepts/concept-mapper.ts +21 -0
  194. package/src/resources/concepts/concept-types.ts +31 -0
  195. package/src/resources/concepts/concepts.resource.ts +44 -0
  196. package/src/resources/concepts/useConceptSearch.ts +41 -0
  197. package/src/resources/etl-source/etl-source.api.ts +65 -0
  198. package/src/resources/indicator/indicators.api.ts +125 -0
  199. package/src/resources/openmrs-api.ts +24 -0
  200. package/src/resources/preview/sql-preview.api.ts +54 -0
  201. package/src/resources/report/reports.api.ts +117 -0
  202. package/src/resources/report-category/report-category.api.ts +41 -0
  203. package/src/resources/report-library/report-library.api.ts +63 -0
  204. package/src/resources/report-section/report-sections.api.ts +73 -0
  205. package/src/resources/report-section/section-preview.api.ts +21 -0
  206. package/src/resources/theme/data-theme.api.ts +88 -0
  207. package/src/resources/theme/mamba-schema.api.ts +31 -0
  208. package/src/resources/theme/mamba-table-meta.api.ts +45 -0
  209. package/src/root.component.tsx +20 -0
  210. package/src/routes/report-builder.routes.tsx +66 -0
  211. package/src/routes/report-builder.scss +56 -0
  212. package/src/routes.json +21 -0
  213. package/src/sample-template.ts +121 -0
  214. package/src/template-utils.ts +110 -0
  215. package/src/types/carbon-react-inert.d.ts +13 -0
  216. package/src/types/condition-operators.ts +49 -0
  217. package/src/types/theme/data-theme.types.ts +88 -0
  218. package/src/utils/html-entities.utils.ts +23 -0
  219. package/tools/setup-tests.ts +1 -0
  220. package/translations/en.json +4 -0
  221. package/tsconfig.json +43 -0
  222. package/webpack.config.js +14 -0
package/dist/211.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_epcare_esm_report_builder=self.webpackChunk_epcare_esm_report_builder||[]).push([[211],{4723(e,t,n){n.d(t,{A:()=>l});var r=n(2996),o=n.n(r),a=n(159),i=n.n(a)()(o());i.push([e.id,".-esm-report-builder__report-builder-shell__shell___8SHY8{display:grid;grid-template-columns:280px 1fr;height:100%;min-height:calc(100vh - 3rem)}.-esm-report-builder__report-builder-shell__leftNav___XpLlY{border-right:1px solid var(--cds-border-subtle, #e0e0e0);background:var(--cds-layer-01, #f4f4f4)}.-esm-report-builder__report-builder-shell__main___yqrsQ{overflow:auto}","",{version:3,sources:["webpack://./src/components/app-shell/report-builder-shell.scss"],names:[],mappings:"AAAA,0DACE,YAAA,CACA,+BAAA,CACA,WAAA,CACA,6BAAA,CAGF,4DACE,wDAAA,CACA,uCAAA,CAGF,yDACE,aAAA",sourcesContent:[".shell {\n display: grid;\n grid-template-columns: 280px 1fr;\n height: 100%;\n min-height: calc(100vh - 3rem); // keeps it inside O3 header area\n}\n\n.leftNav {\n border-right: 1px solid var(--cds-border-subtle, #e0e0e0);\n background: var(--cds-layer-01, #f4f4f4);\n}\n\n.main {\n overflow: auto;\n}"],sourceRoot:""}]),i.locals={shell:"-esm-report-builder__report-builder-shell__shell___8SHY8",leftNav:"-esm-report-builder__report-builder-shell__leftNav___XpLlY",main:"-esm-report-builder__report-builder-shell__main___yqrsQ"};const l=i},3337(e,t,n){n.d(t,{A:()=>l});var r=n(2996),o=n.n(r),a=n(159),i=n.n(a)()(o());i.push([e.id,".-esm-report-builder__report-builder-landing-page__page___-aUyX{width:100%;margin:0 auto;padding:1.5rem 0 2rem}.-esm-report-builder__report-builder-landing-page__hero___xkxHA{display:grid;grid-template-columns:380px 1fr;gap:1.5rem;align-items:center;padding:1.25rem 1.5rem;border-radius:12px;border:1px solid var(--cds-border-subtle, #e0e0e0);background:linear-gradient(90deg, #eef4ff 0%, #ffffff 55%, #ffffff 100%)}.-esm-report-builder__report-builder-landing-page__heroArt___yADb7{height:150px;border-radius:10px;background:radial-gradient(circle at 30% 30%, #dbe7ff 0%, #eef4ff 55%, #ffffff 100%);border:1px solid rgba(0,0,0,.04);display:grid;place-items:center}.-esm-report-builder__report-builder-landing-page__heroArtInner___ZQFfD{width:112px;height:112px;border-radius:14px;display:grid;place-items:center;background:hsla(0,0%,100%,.75);border:1px solid rgba(0,0,0,.04);box-shadow:0 10px 30px rgba(0,0,0,.08)}.-esm-report-builder__report-builder-landing-page__heroTitle___oJ6uV{margin:0;font-size:1.75rem;font-weight:600;letter-spacing:.1px}.-esm-report-builder__report-builder-landing-page__heroSubtitle___Ji8Jt{margin:.5rem 0 0;font-size:1rem;line-height:1.45;opacity:.85;max-width:54ch}.-esm-report-builder__report-builder-landing-page__cardsGrid___ofpOp{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3, 1fr);gap:1.25rem}.-esm-report-builder__report-builder-landing-page__card___nX\\+ol{border-radius:12px;border:1px solid var(--cds-border-subtle, #e0e0e0);box-shadow:0 10px 30px rgba(0,0,0,.06);background:#fff;padding:1.25rem 1.25rem 1.25rem;min-height:340px;display:flex;flex-direction:column}.-esm-report-builder__report-builder-landing-page__cardIllustration___-mfj4{display:grid;place-items:center;height:140px;border-radius:12px;background:linear-gradient(180deg, #f2f6ff 0%, #ffffff 100%);border:1px solid rgba(0,0,0,.04)}.-esm-report-builder__report-builder-landing-page__illCircle___HBydf{width:92px;height:92px;border-radius:999px;display:grid;place-items:center;background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 26px rgba(0,0,0,.08)}.-esm-report-builder__report-builder-landing-page__cardTitle___Xw37V{margin:1rem 0 0;font-size:1.4rem;font-weight:600}.-esm-report-builder__report-builder-landing-page__cardBody___yWcsn{margin:.65rem 0 0;line-height:1.5;opacity:.85;max-width:46ch}.-esm-report-builder__report-builder-landing-page__cardActions___ze8QT{margin-top:auto;padding-top:1.25rem}.-esm-report-builder__report-builder-landing-page__cardButton___JCMet{width:100%}@media(max-width: 1050px){.-esm-report-builder__report-builder-landing-page__hero___xkxHA{grid-template-columns:1fr}.-esm-report-builder__report-builder-landing-page__heroArt___yADb7{height:180px}.-esm-report-builder__report-builder-landing-page__cardsGrid___ofpOp{grid-template-columns:1fr}}","",{version:3,sources:["webpack://./src/components/landing/report-builder-landing-page.scss"],names:[],mappings:"AAAA,gEACE,UAAA,CACA,aAAA,CACA,qBAAA,CAIF,gEACE,YAAA,CACA,+BAAA,CACA,UAAA,CACA,kBAAA,CAEA,sBAAA,CACA,kBAAA,CACA,kDAAA,CACA,wEAAA,CAGF,mEACE,YAAA,CACA,kBAAA,CACA,oFAAA,CACA,gCAAA,CACA,YAAA,CACA,kBAAA,CAGF,wEACE,WAAA,CACA,YAAA,CACA,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,8BAAA,CACA,gCAAA,CACA,sCAAA,CAGF,qEACE,QAAA,CACA,iBAAA,CACA,eAAA,CACA,mBAAA,CAGF,wEACE,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,WAAA,CACA,cAAA,CAIF,qEACE,iBAAA,CACA,YAAA,CACA,oCAAA,CACA,WAAA,CAGF,iEACE,kBAAA,CACA,kDAAA,CACA,sCAAA,CACA,eAAA,CAEA,+BAAA,CACA,gBAAA,CAEA,YAAA,CACA,qBAAA,CAGF,4EACE,YAAA,CACA,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,4DAAA,CACA,gCAAA,CAGF,qEACE,UAAA,CACA,WAAA,CACA,mBAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gCAAA,CACA,sCAAA,CAGF,qEACE,eAAA,CACA,gBAAA,CACA,eAAA,CAGF,oEACE,iBAAA,CACA,eAAA,CACA,WAAA,CACA,cAAA,CAGF,uEACE,eAAA,CACA,mBAAA,CAGF,sEACE,UAAA,CAIF,0BACE,gEACE,yBAAA,CAGF,mEACE,YAAA,CAGF,qEACE,yBAAA,CAAA",sourcesContent:[".page {\n width: 100%;\n margin: 0 auto;\n padding: 1.5rem 0 2rem;\n}\n\n/* HERO */\n.hero {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 1.5rem;\n align-items: center;\n\n padding: 1.25rem 1.5rem;\n border-radius: 12px;\n border: 1px solid var(--cds-border-subtle, #e0e0e0);\n background: linear-gradient(90deg, #eef4ff 0%, #ffffff 55%, #ffffff 100%);\n}\n\n.heroArt {\n height: 150px;\n border-radius: 10px;\n background: radial-gradient(circle at 30% 30%, #dbe7ff 0%, #eef4ff 55%, #ffffff 100%);\n border: 1px solid rgba(0, 0, 0, 0.04);\n display: grid;\n place-items: center;\n}\n\n.heroArtInner {\n width: 112px;\n height: 112px;\n border-radius: 14px;\n display: grid;\n place-items: center;\n background: rgba(255, 255, 255, 0.75);\n border: 1px solid rgba(0, 0, 0, 0.04);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n\n.heroTitle {\n margin: 0;\n font-size: 1.75rem;\n font-weight: 600;\n letter-spacing: 0.1px;\n}\n\n.heroSubtitle {\n margin: 0.5rem 0 0;\n font-size: 1rem;\n line-height: 1.45;\n opacity: 0.85;\n max-width: 54ch;\n}\n\n/* CARDS GRID */\n.cardsGrid {\n margin-top: 1.5rem;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 1.25rem;\n}\n\n.card {\n border-radius: 12px;\n border: 1px solid var(--cds-border-subtle, #e0e0e0);\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);\n background: #fff;\n\n padding: 1.25rem 1.25rem 1.25rem;\n min-height: 340px;\n\n display: flex;\n flex-direction: column;\n}\n\n.cardIllustration {\n display: grid;\n place-items: center;\n height: 140px;\n border-radius: 12px;\n background: linear-gradient(180deg, #f2f6ff 0%, #ffffff 100%);\n border: 1px solid rgba(0, 0, 0, 0.04);\n}\n\n.illCircle {\n width: 92px;\n height: 92px;\n border-radius: 999px;\n display: grid;\n place-items: center;\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid rgba(0, 0, 0, 0.05);\n box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);\n}\n\n.cardTitle {\n margin: 1rem 0 0;\n font-size: 1.4rem;\n font-weight: 600;\n}\n\n.cardBody {\n margin: 0.65rem 0 0;\n line-height: 1.5;\n opacity: 0.85;\n max-width: 46ch;\n}\n\n.cardActions {\n margin-top: auto;\n padding-top: 1.25rem;\n}\n\n.cardButton {\n width: 100%;\n}\n\n/* RESPONSIVE */\n@media (max-width: 1050px) {\n .hero {\n grid-template-columns: 1fr;\n }\n\n .heroArt {\n height: 180px;\n }\n\n .cardsGrid {\n grid-template-columns: 1fr;\n }\n}"],sourceRoot:""}]),i.locals={page:"-esm-report-builder__report-builder-landing-page__page___-aUyX",hero:"-esm-report-builder__report-builder-landing-page__hero___xkxHA",heroArt:"-esm-report-builder__report-builder-landing-page__heroArt___yADb7",heroArtInner:"-esm-report-builder__report-builder-landing-page__heroArtInner___ZQFfD",heroTitle:"-esm-report-builder__report-builder-landing-page__heroTitle___oJ6uV",heroSubtitle:"-esm-report-builder__report-builder-landing-page__heroSubtitle___Ji8Jt",cardsGrid:"-esm-report-builder__report-builder-landing-page__cardsGrid___ofpOp",card:"-esm-report-builder__report-builder-landing-page__card___nX+ol",cardIllustration:"-esm-report-builder__report-builder-landing-page__cardIllustration___-mfj4",illCircle:"-esm-report-builder__report-builder-landing-page__illCircle___HBydf",cardTitle:"-esm-report-builder__report-builder-landing-page__cardTitle___Xw37V",cardBody:"-esm-report-builder__report-builder-landing-page__cardBody___yWcsn",cardActions:"-esm-report-builder__report-builder-landing-page__cardActions___ze8QT",cardButton:"-esm-report-builder__report-builder-landing-page__cardButton___JCMet"};const l=i},4933(e,t,n){n.d(t,{A:()=>l});var r=n(2996),o=n.n(r),a=n(159),i=n.n(a)()(o());i.push([e.id,".-esm-report-builder__sections-page__page___NHjhL{width:100%;margin:0 auto;padding:1.5rem 0 2rem}.-esm-report-builder__sections-page__sectionsPage___PUjG7{width:100%}.-esm-report-builder__sections-page__headerRow___ffub6{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--cds-border-subtle, #e0e0e0);background:var(--cds-layer, #ffffff)}.-esm-report-builder__sections-page__title___cqI5O{font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.-esm-report-builder__sections-page__surface___bR0E9{margin:0 1.5rem 1.5rem;background:var(--cds-layer, #ffffff);border:1px solid var(--cds-border-subtle, #e0e0e0);border-radius:.25rem;overflow:hidden}.-esm-report-builder__sections-page__toolbarRow___Q7KUn{padding:.75rem;border-bottom:1px solid var(--cds-border-subtle, #e0e0e0)}.-esm-report-builder__sections-page__footerRow___WNtub{padding:.75rem;border-top:1px solid var(--cds-border-subtle, #e0e0e0);background:var(--cds-layer-accent, #f4f4f4)}.-esm-report-builder__sections-page__footerText___Z-Vmk{opacity:.85}.-esm-report-builder__sections-page__rowIconWrap___VE\\+Zt{display:flex;align-items:center;gap:.5rem}.-esm-report-builder__sections-page__rowIndexTag___LA\\+\\+9{margin-left:.25rem}.-esm-report-builder__sections-page__nameCell___dW0Pd{display:flex;align-items:center}.-esm-report-builder__sections-page__nameText___eWRX3{font-weight:600}.-esm-report-builder__sections-page__countCell___n\\+2AL{font-weight:600;opacity:.85}.-esm-report-builder__sections-page__actionsCell___14XiT{display:flex;justify-content:flex-end}","",{version:3,sources:["webpack://./src/components/report-sections/sections-page.scss"],names:[],mappings:"AAAA,kDACE,UAAA,CACA,aAAA,CACA,qBAAA,CAGF,0DACE,UAAA,CAGF,uDACE,YAAA,CACA,oBAAA,CACA,6BAAA,CACA,QAAA,CAEA,mBAAA,CACA,yDAAA,CACA,oCAAA,CAGF,mDACE,gBAAA,CACA,eAAA,CACA,eAAA,CACA,QAAA,CAGF,qDACE,sBAAA,CACA,oCAAA,CACA,kDAAA,CACA,oBAAA,CACA,eAAA,CAGF,wDACE,cAAA,CACA,yDAAA,CAGF,uDACE,cAAA,CACA,sDAAA,CACA,2CAAA,CAGF,wDACE,WAAA,CAGF,0DACE,YAAA,CACA,kBAAA,CACA,SAAA,CAGF,2DACE,kBAAA,CAGF,sDACE,YAAA,CACA,kBAAA,CAGF,sDACE,eAAA,CAGF,wDACE,eAAA,CACA,WAAA,CAGF,yDACE,YAAA,CACA,wBAAA",sourcesContent:[".page {\n width: 100%;\n margin: 0 auto;\n padding: 1.5rem 0 2rem;\n}\n\n.sectionsPage {\n width: 100%;\n}\n\n.headerRow {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n gap: 1rem;\n\n padding: 1rem 1.5rem;\n border-bottom: 1px solid var(--cds-border-subtle, #e0e0e0);\n background: var(--cds-layer, #ffffff);\n}\n\n.title {\n font-size: 1.5rem;\n font-weight: 600;\n line-height: 1.2;\n margin: 0;\n}\n\n.surface {\n margin: 0 1.5rem 1.5rem;\n background: var(--cds-layer, #ffffff);\n border: 1px solid var(--cds-border-subtle, #e0e0e0);\n border-radius: 0.25rem;\n overflow: hidden;\n}\n\n.toolbarRow {\n padding: 0.75rem;\n border-bottom: 1px solid var(--cds-border-subtle, #e0e0e0);\n}\n\n.footerRow {\n padding: 0.75rem;\n border-top: 1px solid var(--cds-border-subtle, #e0e0e0);\n background: var(--cds-layer-accent, #f4f4f4);\n}\n\n.footerText {\n opacity: 0.85;\n}\n\n.rowIconWrap {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.rowIndexTag {\n margin-left: 0.25rem;\n}\n\n.nameCell {\n display: flex;\n align-items: center;\n}\n\n.nameText {\n font-weight: 600;\n}\n\n.countCell {\n font-weight: 600;\n opacity: 0.85;\n}\n\n.actionsCell {\n display: flex;\n justify-content: flex-end;\n}"],sourceRoot:""}]),i.locals={page:"-esm-report-builder__sections-page__page___NHjhL",sectionsPage:"-esm-report-builder__sections-page__sectionsPage___PUjG7",headerRow:"-esm-report-builder__sections-page__headerRow___ffub6",title:"-esm-report-builder__sections-page__title___cqI5O",surface:"-esm-report-builder__sections-page__surface___bR0E9",toolbarRow:"-esm-report-builder__sections-page__toolbarRow___Q7KUn",footerRow:"-esm-report-builder__sections-page__footerRow___WNtub",footerText:"-esm-report-builder__sections-page__footerText___Z-Vmk",rowIconWrap:"-esm-report-builder__sections-page__rowIconWrap___VE+Zt",rowIndexTag:"-esm-report-builder__sections-page__rowIndexTag___LA++9",nameCell:"-esm-report-builder__sections-page__nameCell___dW0Pd",nameText:"-esm-report-builder__sections-page__nameText___eWRX3",countCell:"-esm-report-builder__sections-page__countCell___n+2AL",actionsCell:"-esm-report-builder__sections-page__actionsCell___14XiT"};const l=i},6232(e,t,n){n.d(t,{A:()=>l});var r=n(2996),o=n.n(r),a=n(159),i=n.n(a)()(o());i.push([e.id,".-esm-report-builder__header__page___i0PYJ{width:100%;margin:0 auto;padding:1.5rem 0 2rem}.-esm-report-builder__header__header___CeInc{background:var(--cds-layer-01, #ffffff);border-bottom:1px solid var(--cds-border-subtle, #e0e0e0);padding:1.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.-esm-report-builder__header__left___3lU10{display:flex;align-items:flex-start;gap:1.5rem;min-width:0}.-esm-report-builder__header__illustrationWrap___gWZ-f{flex:0 0 auto}.-esm-report-builder__header__pageLabels___OBATq{display:flex;flex-direction:column;gap:.5rem;min-width:0}.-esm-report-builder__header__appName___VnEsO{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0);color:var(--cds-text-secondary, #525252)}.-esm-report-builder__header__pageTitle___hy1ef{font-size:var(--cds-heading-05-font-size, 2rem);font-weight:var(--cds-heading-05-font-weight, 400);line-height:var(--cds-heading-05-line-height, 1.25);letter-spacing:var(--cds-heading-05-letter-spacing, 0);color:var(--cds-text-primary, #161616);line-height:1.15}.-esm-report-builder__header__metaLine___rxH1D{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0);color:var(--cds-text-secondary, #525252);display:flex;align-items:center;gap:.5rem}.-esm-report-builder__header__metaItem___ps7fD{white-space:nowrap}.-esm-report-builder__header__metaDot___efNAd{opacity:.7}.-esm-report-builder__header__right___qjY0n{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.-esm-report-builder__header__rightTop___w\\+Hyq{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.-esm-report-builder__header__userRow___TdmMw{display:flex;align-items:center;gap:.5rem}.-esm-report-builder__header__userName___F5orL{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0);color:var(--cds-text-primary, #161616)}.-esm-report-builder__header__userIcon___0D3dF{color:var(--cds-text-secondary, #525252)}.-esm-report-builder__header__contextRow___KNBr0{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0);color:var(--cds-text-secondary, #525252);display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.-esm-report-builder__header__value___OBqb0{margin-left:.25rem;white-space:nowrap}.-esm-report-builder__header__chevron___YC1rJ{opacity:.7}.-esm-report-builder__header__actions___vOVfB{display:flex;align-items:center;justify-content:flex-end}.-esm-report-builder__header__illustration___hCNPI{position:relative;width:44px;height:44px;flex:0 0 auto}.-esm-report-builder__header__sheetBack___FOe15,.-esm-report-builder__header__sheetMid___FQNUJ,.-esm-report-builder__header__sheetFront___RVJF0{position:absolute;inset:0;border-radius:2px;background:#a7d6d4;border:1px solid rgba(0,0,0,.08)}.-esm-report-builder__header__sheetBack___FOe15{transform:translateX(-8px) translateY(2px);opacity:.6}.-esm-report-builder__header__sheetMid___FQNUJ{transform:translateX(-4px) translateY(1px);opacity:.8}.-esm-report-builder__header__sheetFront___RVJF0{transform:translateX(0) translateY(0);opacity:1}","",{version:3,sources:["webpack://./src/components/shared/header/header.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./node_modules/@carbon/type/scss/_styles.scss"],names:[],mappings:"AAGA,2CACE,UAAA,CACA,aAAA,CACA,qBAAA,CAGF,6CACE,uCAAA,CACA,yDAAA,CACA,qBAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,QCyBW,CDtBb,2CACE,YAAA,CACA,sBAAA,CACA,UCcW,CDbX,WAAA,CAGF,uDACE,aAAA,CAGF,iDACE,YAAA,CACA,qBAAA,CACA,SCZW,CDaX,WAAA,CAGF,8CE6zBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CF3zBF,wCAAA,CAGF,gDEwzBI,+CAAA,CAAA,kDAAA,CAAA,mDAAA,CAAA,sDAAA,CFtzBF,sCAAA,CACA,gBAAA,CAGF,+CEkzBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CFhzBF,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,SChCW,CDmCb,+CACE,kBAAA,CAGF,8CACE,UAAA,CAGF,4CACE,YAAA,CACA,qBAAA,CACA,oBAAA,CACA,QCrCW,CDwCb,gDACE,YAAA,CACA,qBAAA,CACA,oBAAA,CACA,SCtDW,CDyDb,8CACE,YAAA,CACA,kBAAA,CACA,SC5DW,CD+Db,+CE8wBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CF5wBF,sCAAA,CAGF,+CACE,wCAAA,CAGF,iDEqwBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CFnwBF,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CACA,SC9EW,CDiFb,4CACE,kBCvFW,CDwFX,kBAAA,CAGF,8CACE,UAAA,CAGF,8CACE,YAAA,CACA,kBAAA,CACA,wBAAA,CAIF,mDACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CAGF,gJAGE,iBAAA,CACA,OAAA,CACA,iBAAA,CACA,kBAAA,CACA,gCAAA,CAIF,gDACE,0CAAA,CACA,UAAA,CAGF,+CACE,0CAAA,CACA,UAAA,CAGF,iDACE,qCAAA,CACA,SAAA",sourcesContent:["@use '@carbon/layout' as layout;\n@use '@carbon/type' as type;\n\n.page {\n width: 100%;\n margin: 0 auto;\n padding: 1.5rem 0 2rem;\n}\n\n.header {\n background: var(--cds-layer-01, #ffffff);\n border-bottom: 1px solid var(--cds-border-subtle, #e0e0e0);\n padding: layout.$spacing-06 layout.$spacing-06;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: layout.$spacing-07;\n}\n\n.left {\n display: flex;\n align-items: flex-start;\n gap: layout.$spacing-06;\n min-width: 0;\n}\n\n.illustrationWrap {\n flex: 0 0 auto;\n}\n\n.pageLabels {\n display: flex;\n flex-direction: column;\n gap: layout.$spacing-03;\n min-width: 0;\n}\n\n.appName {\n @include type.type-style('body-compact-02');\n color: var(--cds-text-secondary, #525252);\n}\n\n.pageTitle {\n @include type.type-style('heading-05');\n color: var(--cds-text-primary, #161616);\n line-height: 1.15;\n}\n\n.metaLine {\n @include type.type-style('body-compact-02');\n color: var(--cds-text-secondary, #525252);\n display: flex;\n align-items: center;\n gap: layout.$spacing-03;\n}\n\n.metaItem {\n white-space: nowrap;\n}\n\n.metaDot {\n opacity: 0.7;\n}\n\n.right {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: layout.$spacing-05;\n}\n\n.rightTop {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: layout.$spacing-03;\n}\n\n.userRow {\n display: flex;\n align-items: center;\n gap: layout.$spacing-03;\n}\n\n.userName {\n @include type.type-style('body-compact-02');\n color: var(--cds-text-primary, #161616);\n}\n\n.userIcon {\n color: var(--cds-text-secondary, #525252);\n}\n\n.contextRow {\n @include type.type-style('body-compact-02');\n color: var(--cds-text-secondary, #525252);\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: layout.$spacing-03;\n}\n\n.value {\n margin-left: layout.$spacing-02;\n white-space: nowrap;\n}\n\n.chevron {\n opacity: 0.7;\n}\n\n.actions {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\n\n.illustration {\n position: relative;\n width: 44px;\n height: 44px;\n flex: 0 0 auto;\n}\n\n.sheetBack,\n.sheetMid,\n.sheetFront {\n position: absolute;\n inset: 0;\n border-radius: 2px;\n background: #a7d6d4; /* example */\n border: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n/* ✅ overlap should trail LEFT */\n.sheetBack {\n transform: translateX(-8px) translateY(2px);\n opacity: 0.6;\n}\n\n.sheetMid {\n transform: translateX(-4px) translateY(1px);\n opacity: 0.8;\n}\n\n.sheetFront {\n transform: translateX(0) translateY(0);\n opacity: 1;\n}","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO: move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n"],sourceRoot:""}]),i.locals={page:"-esm-report-builder__header__page___i0PYJ",header:"-esm-report-builder__header__header___CeInc",left:"-esm-report-builder__header__left___3lU10",illustrationWrap:"-esm-report-builder__header__illustrationWrap___gWZ-f",pageLabels:"-esm-report-builder__header__pageLabels___OBATq",appName:"-esm-report-builder__header__appName___VnEsO",pageTitle:"-esm-report-builder__header__pageTitle___hy1ef",metaLine:"-esm-report-builder__header__metaLine___rxH1D",metaItem:"-esm-report-builder__header__metaItem___ps7fD",metaDot:"-esm-report-builder__header__metaDot___efNAd",right:"-esm-report-builder__header__right___qjY0n",rightTop:"-esm-report-builder__header__rightTop___w+Hyq",userRow:"-esm-report-builder__header__userRow___TdmMw",userName:"-esm-report-builder__header__userName___F5orL",userIcon:"-esm-report-builder__header__userIcon___0D3dF",contextRow:"-esm-report-builder__header__contextRow___KNBr0",value:"-esm-report-builder__header__value___OBqb0",chevron:"-esm-report-builder__header__chevron___YC1rJ",actions:"-esm-report-builder__header__actions___vOVfB",illustration:"-esm-report-builder__header__illustration___hCNPI",sheetBack:"-esm-report-builder__header__sheetBack___FOe15",sheetMid:"-esm-report-builder__header__sheetMid___FQNUJ",sheetFront:"-esm-report-builder__header__sheetFront___RVJF0"};const l=i},4743(e,t,n){n.d(t,{A:()=>l});var r=n(2996),o=n.n(r),a=n(159),i=n.n(a)()(o());i.push([e.id,".-esm-report-builder__report-builder__page___qhvWq{padding:1rem;height:100vh;display:flex;flex-direction:column}.-esm-report-builder__report-builder__content___r4dv9{margin-top:1rem}.-esm-report-builder__report-builder__designWorkspace___38OFc{padding-top:1rem}.-esm-report-builder__report-builder__workspaceTitle___AOZPY{margin:0 0 .25rem 0;font-weight:600}.-esm-report-builder__report-builder__workspaceHint___TeeIC{margin:0 0 1rem 0;opacity:.75}.-esm-report-builder__report-builder__designGrid___0owlB{display:grid;grid-template-columns:2fr 3fr;gap:1rem}.-esm-report-builder__report-builder__designLeft___LD1Bv,.-esm-report-builder__report-builder__designRight___xduPY{display:flex;flex-direction:column;gap:1rem;min-width:0}.-esm-report-builder__report-builder__panel___vU07C{background:var(--cds-layer-01, #fff);border:1px solid var(--cds-border-subtle, #e0e0e0);border-radius:.5rem;padding:1rem}.-esm-report-builder__report-builder__panelTitle___PpK06{margin:0 0 .25rem 0;font-weight:600}.-esm-report-builder__report-builder__panelHint___1h87L{margin:0;opacity:.75;font-size:.875rem}","",{version:3,sources:["webpack://./src/routes/report-builder.scss"],names:[],mappings:"AAAA,mDACE,YAAA,CACA,YAAA,CACA,YAAA,CACA,qBAAA,CAGF,sDACE,eAAA,CAGF,8DACE,gBAAA,CAGF,6DACE,mBAAA,CACA,eAAA,CAGF,4DACE,iBAAA,CACA,WAAA,CAGF,yDACE,YAAA,CACA,6BAAA,CACA,QAAA,CAGF,mHAEE,YAAA,CACA,qBAAA,CACA,QAAA,CACA,WAAA,CAGF,oDACE,oCAAA,CACA,kDAAA,CACA,mBAAA,CACA,YAAA,CAGF,yDACE,mBAAA,CACA,eAAA,CAGF,wDACE,QAAA,CACA,WAAA,CACA,iBAAA",sourcesContent:[".page {\n padding: 1rem;\n height: 100vh;\n display: flex;\n flex-direction: column;\n}\n\n.content {\n margin-top: 1rem;\n}\n\n.designWorkspace {\n padding-top: 1rem;\n}\n\n.workspaceTitle {\n margin: 0 0 0.25rem 0;\n font-weight: 600;\n}\n\n.workspaceHint {\n margin: 0 0 1rem 0;\n opacity: 0.75;\n}\n\n.designGrid {\n display: grid;\n grid-template-columns: 2fr 3fr;\n gap: 1rem;\n}\n\n.designLeft,\n.designRight {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n min-width: 0;\n}\n\n.panel {\n background: var(--cds-layer-01, #fff);\n border: 1px solid var(--cds-border-subtle, #e0e0e0);\n border-radius: 0.5rem;\n padding: 1rem;\n}\n\n.panelTitle {\n margin: 0 0 0.25rem 0;\n font-weight: 600;\n}\n\n.panelHint {\n margin: 0;\n opacity: 0.75;\n font-size: 0.875rem;\n}"],sourceRoot:""}]),i.locals={page:"-esm-report-builder__report-builder__page___qhvWq",content:"-esm-report-builder__report-builder__content___r4dv9",designWorkspace:"-esm-report-builder__report-builder__designWorkspace___38OFc",workspaceTitle:"-esm-report-builder__report-builder__workspaceTitle___AOZPY",workspaceHint:"-esm-report-builder__report-builder__workspaceHint___TeeIC",designGrid:"-esm-report-builder__report-builder__designGrid___0owlB",designLeft:"-esm-report-builder__report-builder__designLeft___LD1Bv",designRight:"-esm-report-builder__report-builder__designRight___xduPY",panel:"-esm-report-builder__report-builder__panel___vU07C",panelTitle:"-esm-report-builder__report-builder__panelTitle___PpK06",panelHint:"-esm-report-builder__report-builder__panelHint___1h87L"};const l=i},8211(e,t,n){n.r(t),n.d(t,{default:()=>kl});var r=n(7656),o=n(4976),a=n(7767),i=n(1044),l=n(9249),u=n(4499),c=n(3335),s=n(4535),d=n(9564),p=n(3270),f=n(5072),m=n.n(f),y=n(7825),g=n.n(y),v=n(7659),b=n.n(v),h=n(5056),A=n.n(h),E=n(540),w=n.n(E),C=n(1113),S=n.n(C),_=n(4723),O={};O.styleTagTransform=S(),O.setAttributes=A(),O.insert=b().bind(null,"head"),O.domAPI=g(),O.insertStyleElement=w(),m()(_.A,O);const k=_.A&&_.A.locals?_.A.locals:void 0,x=function(){var e=(0,a.Zp)(),t=(0,a.zy)(),n=function(e){return t.pathname===e||t.pathname.startsWith("".concat(e,"/"))};return r.createElement("div",{className:k.shell},r.createElement("aside",{className:k.leftNav},r.createElement(i.f8J,{expanded:!0,isPersistent:!1,"aria-label":"Report Builder navigation"},r.createElement(i.BC4,null,r.createElement(i.VxE,{renderIcon:l.ww,isActive:"/"===t.pathname,onClick:function(){return e("/")}},"Home"),r.createElement(i.VxE,{renderIcon:u.pl,isActive:n("/reports")||n("/new")||n("/edit"),onClick:function(){return e("/reports")}},"Reports"),r.createElement(i.VxE,{renderIcon:c.n5,isActive:n("/indicators"),onClick:function(){return e("/indicators")}},"Indicators"),r.createElement(i.VxE,{renderIcon:s.zg,isActive:n("/sections"),onClick:function(){return e("/sections")}},"Sections"),r.createElement(i.VxE,{renderIcon:d.jG,isActive:n("/run"),onClick:function(){return e("/run")}},"Run Reports"),r.createElement(i.whj,{renderIcon:p.wB,title:"Admin",isActive:n("/admin"),defaultExpanded:!1},r.createElement(i.ldn,{isActive:n("/admin/report-categories"),onClick:function(){return e("/admin/report-categories")}},"Report Categories"),r.createElement(i.ldn,{isActive:n("/admin/age-categories"),onClick:function(){return e("/admin/age-categories")}},"Age Categories"),r.createElement(i.ldn,{isActive:n("/admin/age-groups"),onClick:function(){return e("/admin/age-groups")}},"Age Groups"),r.createElement(i.ldn,{isActive:n("/admin/report-library"),onClick:function(){return e("/admin/report-library")}},"Report Library"),r.createElement(i.ldn,{isActive:n("/admin/themes"),onClick:function(){return e("/admin/themes")}},"Data Themes"),r.createElement(i.ldn,{isActive:n("/admin/etl-sources"),onClick:function(){return e("/admin/etl-sources")}},"ETL Sources"))))),r.createElement("main",{className:k.main},r.createElement(a.sv,null)))};var T=n(2137),I=n(1180),j=n(3337),P={};P.styleTagTransform=S(),P.setAttributes=A(),P.insert=b().bind(null,"head"),P.domAPI=g(),P.insertStyleElement=w(),m()(j.A,P);const D=j.A&&j.A.locals?j.A.locals:void 0;var N=n(2383),B=n(9184),$=n(2897);const R=function(){return r.createElement("svg",{height:"64",width:"64",viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",fillRule:"evenodd",clipRule:"evenodd",strokeLinejoin:"round",strokeMiterlimit:"2"},r.createElement("path",{d:"M27 31.36H8a.36.36 0 0 1-.36-.36v-1.64H6a.36.36 0 0 1-.36-.36v-1.64H5a.36.36 0 0 1-.36-.36V3A.36.36 0 0 1 5 2.64h4.64V2a.36.36 0 0 1 .36-.36h1.64V1A.36.36 0 0 1 12 .64h4a.36.36 0 0 1 .36.36v.64H18a.36.36 0 0 1 .36.36v.64H23a.36.36 0 0 1 .36.36v1.64H25a.36.36 0 0 1 .36.36v1.64H27a.36.36 0 0 1 .36.36v24a.36.36 0 0 1-.36.36Z",fill:"#d2e5e5"}),r.createElement("path",{d:"M8.36 30.64h18.28V7.36h-1.28V29a.36.36 0 0 1-.36.36H8.36v1.28Z",fill:"#8abab8"}),r.createElement("path",{d:"M5.36 26.64h17.28V3.36h-4.28V4a.36.36 0 0 1-.36.36h-8A.36.36 0 0 1 9.64 4v-.64H5.36v23.28Z",fill:"#8abab8"}),r.createElement("path",{fill:"#fff",d:"M7.5 12.64h13v.72h-13zM7.5 8.64h13v.72h-13zM7.5 20.64h13v.72h-13zM7.5 16.64h13v.72h-13z"}),r.createElement("path",{d:"M10.36 3.64h7.28V2.36H16a.36.36 0 0 1-.36-.36v-.64h-3.28V2a.36.36 0 0 1-.36.36h-1.64v1.28ZM6.36 28.64h18.28V5.36h-1.28V27a.36.36 0 0 1-.36.36H6.36v1.28Z",fill:"#8abab8"}))};var M=n(6232),U={};U.styleTagTransform=S(),U.setAttributes=A(),U.insert=b().bind(null,"head"),U.domAPI=g(),U.insertStyleElement=w(),m()(M.A,U);const z=M.A&&M.A.locals?M.A.locals:void 0;function F(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function q(e,t){var n,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return(n=function(){return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(n){switch(n.label){case 0:return[4,new Promise(function(e){return setTimeout(e,500)})];case 1:return n.sent(),[2,{title:"AI Assist (Preview)",body:"Coming soon ✅\n\n"+"Prompt:\n".concat(e,"\n\n")+"Use context: ".concat(r?"Yes":"No","\n")+"Context snapshot: ".concat(r?JSON.stringify(null!=t?t:{},null,2):"{}"),rawPrompt:e,usedContext:r}]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function i(e){F(a,r,o,i,l,"next",e)}function l(e){F(a,r,o,i,l,"throw",e)}i(void 0)})})()}function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function G(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function J(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return L(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(e){var t=e.open,n=e.onClose,o=e.context,a=(0,I.useTranslation)().t,l=J((0,r.useState)(""),2),u=l[0],c=l[1],s=J((0,r.useState)(!0),2),d=s[0],p=s[1],f=J((0,r.useState)(!1),2),m=f[0],y=f[1],g=J((0,r.useState)(null),2),v=g[0],b=g[1],h=Boolean(u.trim())&&!m;return r.createElement(i.aFV,{open:t,modalHeading:a("aiAssistPreview","AI Assist (Preview)"),primaryButtonText:m?a("generating","Generating…"):a("generate","Generate"),secondaryButtonText:a("close","Close"),primaryButtonDisabled:!h,onRequestClose:function(){n()},onRequestSubmit:function(){return(e=function(){var e;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(t){switch(t.label){case 0:y(!0),b(null),t.label=1;case 1:return t.trys.push([1,,3,4]),[4,q(u.trim(),o,d)];case 2:return e=t.sent(),b(e.body),[3,4];case 3:return y(!1),[7];case 4:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){G(a,r,o,i,l,"next",e)}function l(e){G(a,r,o,i,l,"throw",e)}i(void 0)})})();var e}},r.createElement("div",{style:{display:"grid",gap:"1rem"}},r.createElement(i.fs1,{labelText:a("aiPromptLabel","What do you want to build?"),helperText:a("aiPromptHelp","Example: 'Create an indicator for Malaria tested (RDT) grouped by facility and month.'"),value:u,onChange:function(e){return c(e.target.value)},rows:5}),r.createElement(i.Sc0,{id:"aiUseContext",labelText:a("aiUseContext","Use current page context (filters, selections)"),checked:d,onChange:function(e,t){var n=t.checked;return p(n)}}),m?r.createElement(i.OuH,{description:a("aiWorking","Generating suggestion…")}):null,v?r.createElement(i.z7k,{type:"multi",wrapText:!0},v):null))}function H(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function K(e){var t,n,o=e.context,a=e.size,l=void 0===a?"md":a,u=e.kind,c=void 0===u?"secondary":u,s=(0,I.useTranslation)().t,d=(t=(0,r.useState)(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(t,n)||function(e,t){if(e){if("string"==typeof e)return H(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?H(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),p=d[0],f=d[1];return r.createElement(r.Fragment,null,r.createElement(i.$nd,{kind:c,size:l,onClick:function(){return f(!0)}},s("aiAssist","AI Assist")),r.createElement(W,{open:p,onClose:function(){return f(!1)},context:o}))}const Q=function(e){var t,n,o,a=e.title,i=e.subtitle,l=e.status,u=e.actions,d=e.showAiAssist,p=void 0===d||d,f=(0,I.useTranslation)().t,m=(0,$.useSession)(),y=null==m||null===(t=m.sessionLocation)||void 0===t?void 0:t.display,g=null==l?void 0:l.label,v=i;return r.createElement("div",{className:z.header},r.createElement("div",{className:z.left},r.createElement("div",{className:z.illustrationWrap},r.createElement(R,null)),r.createElement("div",{className:z.pageLabels},r.createElement("div",{className:z.appName},f("reportBuilder","Report builder")),r.createElement("div",{className:z.pageTitle},a),(g||v)&&r.createElement("div",{className:z.metaLine},g?r.createElement("span",{className:z.metaItem},g):null,g&&v?r.createElement("span",{className:z.metaDot},"•"):null,v?r.createElement("span",{className:z.metaItem},v):null))),r.createElement("div",{className:z.right},r.createElement("div",{className:z.rightTop},r.createElement("div",{className:z.userRow},r.createElement("span",{className:z.userName},null==m||null===(o=m.user)||void 0===o||null===(n=o.person)||void 0===n?void 0:n.display),r.createElement(N.rs,{size:18,className:z.userIcon})),r.createElement("div",{className:z.contextRow},r.createElement(s.aZ,{size:16}),r.createElement("span",{className:z.value},y),r.createElement("span",{className:z.metaDot},"•"),r.createElement(c.Vv,{size:16}),r.createElement("span",{className:z.value},(0,$.formatDate)(new Date,{mode:"standard"})),r.createElement(B.yQ,{size:16,className:z.chevron}))),p||u?r.createElement("div",{className:z.actions},p?r.createElement(K,{context:{page:a}}):null,u):null))},Y=function(){var e=(0,I.useTranslation)().t,t=(0,a.Zp)();return r.createElement("div",{className:D.page},r.createElement(Q,{title:e("welcomeReporting","Welcome Report Builder"),subtitle:e("welcomeReportingHint","Manage health data reports, define indicators, and run reports with ease.")}),r.createElement("div",{className:D.cardsGrid},r.createElement(i.FAs,{className:D.card},r.createElement("div",{className:D.cardIllustration,"aria-hidden":!0},r.createElement("div",{className:D.illCircle},r.createElement(u.pl,{size:56}))),r.createElement("h3",{className:D.cardTitle},e("createReports","Create Reports")),r.createElement("p",{className:D.cardBody},e("createReportsHint","Define and configure health data reports tailored to your needs.")),r.createElement("div",{className:D.cardActions},r.createElement(i.$nd,{kind:"primary",size:"lg",renderIcon:T.OM,className:D.cardButton,onClick:function(){return t("/new")}},e("getStarted","Get started")))),r.createElement(i.FAs,{className:D.card},r.createElement("div",{className:D.cardIllustration,"aria-hidden":!0},r.createElement("div",{className:D.illCircle},r.createElement(c.n5,{size:56}))),r.createElement("h3",{className:D.cardTitle},e("manageIndicators","Manage Indicators")),r.createElement("p",{className:D.cardBody},e("manageIndicatorsHint","Create, edit, and organize indicators to measure key health metrics.")),r.createElement("div",{className:D.cardActions},r.createElement(i.$nd,{kind:"primary",size:"lg",renderIcon:c.n5,className:D.cardButton,onClick:function(){return t("/indicators")}},e("viewIndicators","View indicators")))),r.createElement(i.FAs,{className:D.card},r.createElement("div",{className:D.cardIllustration,"aria-hidden":!0},r.createElement("div",{className:D.illCircle},r.createElement(d.jG,{size:56}))),r.createElement("h3",{className:D.cardTitle},e("runReports","Run Reports")),r.createElement("p",{className:D.cardBody},e("runReportsHint","Choose a report and run it for specific time periods and locations.")),r.createElement("div",{className:D.cardActions},r.createElement(i.$nd,{kind:"primary",size:"lg",renderIcon:d.jG,className:D.cardButton,onClick:function(){return t("/run")}},e("runNow","Run now"))))))};function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){V(e,t,n[t])})}return e}function Z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}const ee=function(e){var t=e.reports,n=e.headers,o=e.onRowClick,a=e.searchValue,l=e.onSearchChange,u=e.onCreateReport,c=(0,I.useTranslation)().t,s=r.useMemo(function(){return t.map(function(e){return{id:e.id,name:e.name,status:e.status,updatedAt:e.updatedAt}})},[t]);return r.createElement(i.bQt,{rows:s,headers:n,useZebraStyles:!0},function(e){var t=e.rows,n=e.headers,s=e.getHeaderProps,d=e.getRowProps,p=e.getTableProps;return r.createElement(i.K3K,{"data-testid":"reports-table",style:{background:"var(--cds-layer, #ffffff)",borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)"}},r.createElement(i.e1U,null,r.createElement(i.VbH,{style:{display:"flex",justifyContent:"space-between",gap:"0.75rem"}},r.createElement(i.w6V,{expanded:!0,value:a,onChange:function(e){return l(e.target.value)},placeholder:c("searchThisList","Search this list")}),r.createElement(i.$nd,{kind:"primary",renderIcon:function(){return r.createElement(T.OM,{size:16})},size:"sm",onClick:u},c("createReport","Create report")))),r.createElement(i.XIK,p(),r.createElement(i.ndF,{style:{display:"table-header-group",visibility:"visible"}},r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,Z(X({},s({header:e})),{key:e.key,style:{fontWeight:600,backgroundColor:"var(--cds-layer-accent, #f4f4f4)",color:"var(--cds-text-primary, #161616)",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)",display:"table-cell",visibility:"visible"}}),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){return r.createElement(i.Hjg,Z(X({},d({row:e})),{key:e.id,onClick:function(){return o(e.id)},style:{cursor:"pointer"}}),e.cells.map(function(e){return r.createElement(i.nA6,{key:e.id},e.value)}))}))))})};function te(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ne(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){te(a,r,o,i,l,"next",e)}function l(e){te(a,r,o,i,l,"throw",e)}i(void 0)})}}function re(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function oe(e,t){return ne(function(){var n;return re(this,function(r){switch(r.label){case 0:return n="".concat($.restBaseUrl).concat(e.startsWith("/")?e:"/".concat(e)),[4,(0,$.openmrsFetch)(n,{signal:t})];case 1:return[2,r.sent().data]}})})()}function ae(e,t,n){return ne(function(){var r;return re(this,function(o){switch(o.label){case 0:return r="".concat($.restBaseUrl).concat(e.startsWith("/")?e:"/".concat(e)),[4,(0,$.openmrsFetch)(r,{method:"POST",headers:{"Content-Type":"application/json"},body:t,signal:n})];case 1:return[2,o.sent().data]}})})()}function ie(e,t){return ne(function(){var n;return re(this,function(r){switch(r.label){case 0:return n="".concat($.restBaseUrl).concat(e.startsWith("/")?e:"/".concat(e)),[4,(0,$.openmrsFetch)(n,{method:"DELETE",signal:t})];case 1:return[2,r.sent().data]}})})()}function le(e){return e&&"string"==typeof e?/[&]/.test(e)?e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&#x2F;/g,"/").replace(/&#x60;/g,"`").replace(/&#x3D;/g,"="):e:null!=e?e:""}function ue(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ce(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){ue(a,r,o,i,l,"next",e)}function l(e){ue(a,r,o,i,l,"throw",e)}i(void 0)})}}function se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function de(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var pe="/reportbuilder/report";function fe(e){return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){se(e,t,n[t])})}return e}({},e),n=null!=(n={configJson:e.configJson?le(e.configJson):e.configJson,metaJson:e.metaJson?le(e.metaJson):e.metaJson})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t;var t,n}function me(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full";return ce(function(){return de(this,function(r){switch(r.label){case 0:return[4,oe("".concat(pe,"/").concat(encodeURIComponent(e),"?v=").concat(n),t)];case 1:return[2,fe(r.sent())]}})})()}function ye(e,t){return ce(function(){return de(this,function(n){switch(n.label){case 0:return[4,ae(pe,e,t)];case 1:return[2,fe(n.sent())]}})})()}function ge(e,t,n){return ce(function(){return de(this,function(r){switch(r.label){case 0:return[4,ae("".concat(pe,"/").concat(encodeURIComponent(e)),t,n)];case 1:return[2,fe(r.sent())]}})})()}function ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function be(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ve(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const he=function(){var e=(0,I.useTranslation)().t,t=(0,a.Zp)(),n=be(r.useState(""),2),o=n[0],i=n[1],l=be(r.useState([]),2),u=l[0],c=l[1];r.useEffect(function(){var e,t,n=new AbortController;return(e={v:"default",includeRetired:!1},t=n.signal,ce(function(){var n,r,o,a,i,l;return de(this,function(u){switch(u.label){case 0:return o=null==e||null===(r=e.q)||void 0===r?void 0:r.trim(),a=!0===(null==e?void 0:e.includeRetired),i=null!==(n=null==e?void 0:e.v)&&void 0!==n?n:"default",(l=new URLSearchParams).set("v",i),o&&l.set("q",o),a&&l.set("includeRetired","true"),[4,oe("".concat(pe,"?").concat(l.toString()),t)];case 1:return[2,(c=u.sent(),c?Array.isArray(c)?c:Array.isArray(c.results)?c.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)}).map(fe)]}var c})})()).then(function(e){return c(e.map(function(e){return{id:e.uuid,name:e.name,status:e.retired?"Retired":"Draft",updatedAt:""}}))}).catch(function(){return c([])}),function(){return n.abort()}},[]);var s=r.useMemo(function(){return[{key:"name",header:e("reportName","Report")},{key:"status",header:e("status","Status")},{key:"updatedAt",header:e("lastUpdated","Last updated")}]},[e]),d=r.useMemo(function(){if(!o.trim())return u;var e=o.toLowerCase();return u.filter(function(t){return t.name.toLowerCase().includes(e)||t.status.toLowerCase().includes(e)})},[o,u]);return r.createElement("div",null,r.createElement(Q,{title:e("reports","Manage Reports"),subtitle:e("manageReports","Manage and create reports")}),r.createElement(ee,{reports:d,headers:s,searchValue:o,onSearchChange:i,onCreateReport:function(){return t("/new")},onRowClick:function(e){return t("/edit/".concat(e))}}),0===d.length?r.createElement("div",{style:{opacity:.7,marginTop:"1rem"}},e("noReportsFound","No reports match your search")):null)};var Ae=n(771),Ee=n(4743),we={};we.styleTagTransform=S(),we.setAttributes=A(),we.insert=b().bind(null,"head"),we.domAPI=g(),we.insertStyleElement=w(),m()(Ee.A,we);const Ce=Ee.A&&Ee.A.locals?Ee.A.locals:void 0;function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const _e=function(e){var t=e.value,n=e.onChange,o=e.onCancel,a=e.onSaveDraft,l=e.isSaving,u=(0,I.useTranslation)().t,c=function(e){return n(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Se(e,t,n[t])})}return e}({},t,e))};return r.createElement("div",{className:Ce.designWorkspace},r.createElement("h3",{className:Ce.workspaceTitle},u("reportDetails","Report Details")),r.createElement("p",{className:Ce.workspaceHint},u("reportDetailsHint","Provide minimum report information such as name and description.")),r.createElement("div",{className:Ce.panel},r.createElement(i.BJc,{gap:6,style:{marginTop:"0.75rem",maxWidth:"64rem"}},r.createElement(i.ksK,{id:"rb-report-name",labelText:r.createElement(r.Fragment,null,u("name","Name")," ",r.createElement("span",{style:{color:"var(--cds-support-error, #da1e28)"}},"*")),value:t.name,onChange:function(e){return c({name:e.target.value})}}),r.createElement(i.fs1,{id:"rb-report-description",labelText:u("description","Description"),value:t.description,onChange:function(e){return c({description:e.target.value})},rows:4}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:"0.5rem",alignItems:"end"}},r.createElement(i.ksK,{id:"rb-report-uuid",labelText:u("uuid","UUID"),value:t.uuid,readOnly:!0}),r.createElement(i.i8y,{iconDescription:u("copyUuid","Copy UUID"),feedback:u("copied","Copied"),feedbackTimeout:1500,onClick:function(){var e;t.uuid&&(null===(e=navigator.clipboard)||void 0===e||e.writeText(t.uuid))}}))),r.createElement("div",{style:{marginTop:"1.25rem",paddingTop:"1rem",borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)",display:"flex",justifyContent:"flex-end",gap:"0.75rem"}},r.createElement(i.$nd,{kind:"secondary",onClick:o},u("cancel","Cancel")),r.createElement(i.$nd,{kind:"primary",onClick:a,disabled:!t.name.trim()||l},u("saveDraft","Save Draft")))))};var Oe=n(1660),ke=n(9610);const xe=function(e){var t=e.title,n=e.right,o=e.children,a=e.bottom,i=e.minHeight,l=void 0===i?560:i;return r.createElement("div",{style:{background:"#fff",border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:12,overflow:"hidden",display:"flex",flexDirection:"column",minHeight:l}},r.createElement("div",{style:{padding:"0.9rem 1rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem"}},r.createElement("div",{style:{fontWeight:600}},t),null!=n?n:null),r.createElement("div",{style:{padding:"1rem",display:"flex",flexDirection:"column",gap:"0.75rem",flex:1}},o),a?r.createElement("div",{style:{padding:"0.9rem 1rem",borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem"}},a):null)};function Te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}const Ie=function(e){var t=e.reportSections,n=e.sectionLibrary,o=e.selectedSectionUuid,a=e.search,l=e.onSearchChange,u=e.onSelectSection,c=e.onMoveSection,s=e.onRemoveSection,d=e.onFocusAvailableSections,p=r.useMemo(function(){var e,r=a.trim().toLowerCase(),o=(e=t,function(e){if(Array.isArray(e))return Te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return Te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Te(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){return e.sortOrder-t.sortOrder});return r?o.filter(function(e){var t,o,a=n.find(function(t){return t.uuid===e.sectionUuid});return a&&(a.name.toLowerCase().includes(r)||(null!==(t=a.description)&&void 0!==t?t:"").toLowerCase().includes(r)||(null!==(o=a.code)&&void 0!==o?o:"").toLowerCase().includes(r))}):o},[t,n,a]);return r.createElement(xe,{title:"Report Structure",right:r.createElement(i.obU,{size:"sm","aria-label":"report structure actions"},r.createElement(i.XSD,{itemText:"Browse sections",onClick:d})),bottom:r.createElement(r.Fragment,null,r.createElement("span",null),r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:T.OM,onClick:d},"Add Section"))},r.createElement(i.vji,{size:"lg",labelText:"Search selected sections",placeholder:"Search selected sections",value:a,onChange:function(e){return l(e.target.value)}}),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,overflow:"hidden"}},0===p.length?r.createElement("div",{style:{padding:"0.9rem",opacity:.75}},"No sections selected yet."):p.map(function(e,t){var a,l,d=n.find(function(t){return t.uuid===e.sectionUuid});return d?r.createElement("div",{key:e.sectionUuid,role:"button",tabIndex:0,onClick:function(){return u(e.sectionUuid)},onKeyDown:function(t){return"Enter"===t.key&&u(e.sectionUuid)},style:{padding:"0.85rem 0.9rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)",background:o===e.sectionUuid?"rgba(0,0,0,0.03)":"#fff",cursor:"pointer"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:"0.75rem",alignItems:"flex-start"}},r.createElement("div",{style:{minWidth:0}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.6rem",minWidth:0}},r.createElement(Oe.vd,{size:16}),r.createElement("div",{style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},(null===(l=e.titleOverride)||void 0===l?void 0:l.trim())?e.titleOverride:d.name),e.enabled?null:r.createElement(i.vwO,{size:"sm",type:"red"},"Disabled")),r.createElement("div",{style:{display:"flex",gap:"0.4rem",marginTop:6,flexWrap:"wrap"}},r.createElement(i.vwO,{size:"sm",type:"gray"},d.indicatorCount," indicators"),d.disaggregationEnabled?r.createElement(i.vwO,{size:"sm",type:"blue"},null!==(a=d.ageCategoryCode)&&void 0!==a?a:"Disaggregated"):r.createElement(i.vwO,{size:"sm",type:"warm-gray"},"No disaggregation")),d.description?r.createElement("div",{style:{marginTop:6,opacity:.8}},d.description):null),r.createElement("div",{style:{display:"flex",gap:"0.25rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move up",renderIcon:ke.Do,disabled:0===t,onClick:function(t){t.stopPropagation(),c(e.sectionUuid,-1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move down",renderIcon:ke.yd,disabled:t===p.length-1,onClick:function(t){t.stopPropagation(),c(e.sectionUuid,1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Remove",renderIcon:N.zH,onClick:function(t){t.stopPropagation(),s(e.sectionUuid)}})))):null})))},je=function(e){var t=e.availableSections,n=e.reportSections,o=e.selectedAvailableSectionUuid,a=e.search,l=e.onSearchChange,u=e.onSelectAvailableSection,c=e.onToggleSection,s=r.useMemo(function(){var e=a.trim().toLowerCase();return e?t.filter(function(t){var n,r;return t.name.toLowerCase().includes(e)||(null!==(n=t.description)&&void 0!==n?n:"").toLowerCase().includes(e)||(null!==(r=t.code)&&void 0!==r?r:"").toLowerCase().includes(e)}):t},[t,a]);return r.createElement(xe,{title:"Available Sections",bottom:r.createElement(r.Fragment,null,r.createElement("span",{style:{opacity:.75}},"Select sections to include in this report."),r.createElement(i.$nd,{size:"sm",kind:"secondary",renderIcon:T.OM,disabled:!0},"Sections are added directly"))},r.createElement(i.vji,{size:"lg",labelText:"Search sections",placeholder:"Search sections",value:a,onChange:function(e){return l(e.target.value)}}),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,overflow:"hidden"}},0===s.length?r.createElement("div",{style:{padding:"0.9rem",opacity:.75}},"No sections found."):s.map(function(e){var t,a,l=(a=e.uuid,n.some(function(e){return e.sectionUuid===a}));return r.createElement("div",{key:e.uuid,role:"button",tabIndex:0,onClick:function(){return u(e.uuid)},onKeyDown:function(t){return"Enter"===t.key&&u(e.uuid)},style:{padding:"0.85rem 0.9rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)",background:o===e.uuid?"rgba(0,0,0,0.03)":"#fff",cursor:"pointer"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:"0.75rem",alignItems:"flex-start"}},r.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"0.65rem",minWidth:0}},r.createElement(i.Sc0,{id:"available-section-".concat(e.uuid),checked:l,labelText:"",onChange:function(t,n){var r,o="boolean"==typeof t?t:"boolean"==typeof(null==n?void 0:n.checked)?n.checked:Boolean(null==t||null===(r=t.target)||void 0===r?void 0:r.checked);c(e.uuid,o)}}),r.createElement("div",{style:{minWidth:0}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",minWidth:0}},r.createElement(Oe.vd,{size:16}),r.createElement("div",{style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},e.name)),e.description?r.createElement("div",{style:{marginTop:6,opacity:.8}},e.description):null,r.createElement("div",{style:{display:"flex",gap:"0.4rem",marginTop:6,flexWrap:"wrap"}},r.createElement(i.vwO,{size:"sm",type:"gray"},e.indicatorCount," indicators"),e.disaggregationEnabled?r.createElement(i.vwO,{size:"sm",type:"blue"},null!==(t=e.ageCategoryCode)&&void 0!==t?t:"Disaggregated"):r.createElement(i.vwO,{size:"sm",type:"warm-gray"},"No disaggregation")))),e.code?r.createElement(i.vwO,{size:"sm",type:"cool-gray"},e.code):null))})))},Pe=function(e){var t,n,o=e.draft,a=e.onDraftChange,l=e.selectedSectionRef,u=e.selectedSection,c=e.onUpdateSelectedSection;return r.createElement(xe,{title:"Properties",right:r.createElement("button",{type:"button","aria-label":"close properties",style:{border:0,background:"transparent",cursor:"pointer"},onClick:function(){}},r.createElement(B.bm,{size:18})),bottom:r.createElement(r.Fragment,null,r.createElement(i.$nd,{size:"sm",kind:"secondary"},"Cancel"),r.createElement(i.$nd,{size:"sm",kind:"primary"},"Save Draft"))},r.createElement("div",{style:{fontSize:"1rem",fontWeight:600}},"Report Details"),r.createElement(i.ksK,{id:"report-definition-name",labelText:"Report Name",value:o.name,onChange:function(e){return a({name:e.target.value})}}),r.createElement(i.ksK,{id:"report-definition-code",labelText:"Report Code",value:o.code,onChange:function(e){return a({code:e.target.value})}}),r.createElement(i.fs1,{id:"report-definition-description",labelText:"Description",value:o.description,onChange:function(e){return a({description:e.target.value})}}),r.createElement("div",{style:{borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)",marginTop:"0.5rem",paddingTop:"1rem"}},r.createElement("div",{style:{fontSize:"1rem",fontWeight:600,marginBottom:"0.75rem"}},"Selected Section"),l&&u?r.createElement(r.Fragment,null,r.createElement("div",{style:{fontWeight:600}},u.name),r.createElement("div",{style:{display:"flex",gap:"0.4rem",flexWrap:"wrap",marginTop:"0.5rem",marginBottom:"0.75rem"}},r.createElement(i.vwO,{size:"sm",type:"gray"},u.indicatorCount," indicators"),u.disaggregationEnabled?r.createElement(i.vwO,{size:"sm",type:"blue"},null!==(t=u.ageCategoryCode)&&void 0!==t?t:"Disaggregated"):r.createElement(i.vwO,{size:"sm",type:"warm-gray"},"No disaggregation")),r.createElement(i.ksK,{id:"selected-section-title-override",labelText:"Title Override (optional)",value:null!==(n=l.titleOverride)&&void 0!==n?n:"",onChange:function(e){return c({titleOverride:e.target.value})}}),r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem",marginTop:"0.5rem"}},r.createElement("div",{style:{fontWeight:600}},"Enabled in this report"),r.createElement(i.lMk,{id:"selected-section-enabled",labelText:"",toggled:l.enabled,onToggle:function(e){return c({enabled:e})}})),u.description?r.createElement("div",{style:{marginTop:"0.75rem",opacity:.8}},u.description):null):r.createElement("div",{style:{opacity:.75}},"Select a section from the report structure to edit section-level properties.")))};function De(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ne(e){var t=0,n=!1,r=null;try{var o,a,i,l=e.configJson?JSON.parse(e.configJson):null;t=Array.isArray(null==l?void 0:l.indicators)?l.indicators.length:0,n=Boolean((null==l?void 0:l.disaggregation)&&!0!==(null==l||null===(a=l.disaggregation)||void 0===a?void 0:a.none)),r=null!==(o=null==l||null===(i=l.disaggregation)||void 0===i?void 0:i.ageCategoryCode)&&void 0!==o?o:null}catch(e){t=0,n=!1,r=null}return{uuid:e.uuid,name:e.name,description:e.description,code:e.code,indicatorCount:t,disaggregationEnabled:n,ageCategoryCode:r,raw:e}}function Be(e){return(t=e,function(e){if(Array.isArray(e))return De(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return De(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?De(e,t):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){return e.sortOrder-t.sortOrder});var t}function $e(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Re(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){$e(a,r,o,i,l,"next",e)}function l(e){$e(a,r,o,i,l,"throw",e)}i(void 0)})}}function Me(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ue(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var ze="/reportbuilder/section";function Fe(e){return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Me(e,t,n[t])})}return e}({},e),n=null!=(n={configJson:e.configJson?le(e.configJson):e.configJson,metaJson:e.metaJson?le(e.metaJson):e.metaJson})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t;var t,n}function qe(e,t){return Re(function(){var n,r,o,a,i,l;return Ue(this,function(u){switch(u.label){case 0:return o=null==e||null===(r=e.q)||void 0===r?void 0:r.trim(),a=!0===(null==e?void 0:e.includeRetired),i=null!==(n=null==e?void 0:e.v)&&void 0!==n?n:"default",(l=new URLSearchParams).set("v",i),o&&l.set("q",o),a&&l.set("includeRetired","true"),[4,oe("".concat(ze,"?").concat(l.toString()),t)];case 1:return[2,(c=u.sent(),c?Array.isArray(c)?c:Array.isArray(c.results)?c.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)}).map(Fe)]}var c})})()}function Le(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full";return Re(function(){return Ue(this,function(r){switch(r.label){case 0:return[4,oe("".concat(ze,"/").concat(encodeURIComponent(e),"?v=").concat(n),t)];case 1:return[2,Fe(r.sent())]}})})()}function Ge(e,t){return Re(function(){return Ue(this,function(n){switch(n.label){case 0:return[4,ae(ze,e,t)];case 1:return[2,Fe(n.sent())]}})})()}function Je(e,t,n){return Re(function(){return Ue(this,function(r){switch(r.label){case 0:return[4,ae("".concat(ze,"/").concat(encodeURIComponent(e)),t,n)];case 1:return[2,Fe(r.sent())]}})})()}function We(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ke(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){He(e,t,n[t])})}return e}function Qe(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function Ye(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||Ve(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ve(e,t){if(e){if("string"==typeof e)return We(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?We(e,t):void 0}}const Xe=function(e){var t=e.value,n=e.onChange,o=(0,I.useTranslation)().t,a=Ye(r.useState([]),2),l=a[0],u=a[1],c=Ye(r.useState(!1),2),s=c[0],d=c[1],p=Ye(r.useState(null),2),f=p[0],m=p[1],y=Ye(r.useState(""),2),g=y[0],v=y[1],b=Ye(r.useState(""),2),h=b[0],A=b[1],E=Ye(r.useState(null),2),w=E[0],C=E[1],S=Ye(r.useState(null),2),_=S[0],O=S[1];r.useEffect(function(){var e=new AbortController;return d(!0),m(null),qe({v:"full",includeRetired:!1},e.signal).then(function(e){return u(e.filter(function(e){return!e.retired}).map(Ne))}).catch(function(e){var t;return m(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load sections")}).finally(function(){return d(!1)}),function(){return e.abort()}},[]);var k=t,x=r.useCallback(function(e){return n(Ke({},k,e))},[k,n]),T=r.useMemo(function(){var e;return null!==(e=k.sections.find(function(e){return e.sectionUuid===w}))&&void 0!==e?e:null},[k.sections,w]),j=r.useMemo(function(){var e;return null!==(e=l.find(function(e){return e.uuid===w}))&&void 0!==e?e:null},[l,w]),P=r.useCallback(function(e){if(k.sections.some(function(t){return t.sectionUuid===e}))C(e);else{var t={sectionUuid:e,sortOrder:k.sections.length+1,enabled:!0,titleOverride:""};n(Qe(Ke({},k),{sections:(r=k.sections,function(e){if(Array.isArray(e))return We(e)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||Ve(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([t])})),C(e)}var r},[k,n]),D=r.useCallback(function(e){var t=k.sections.filter(function(t){return t.sectionUuid!==e});n(Qe(Ke({},k),{sections:t.map(function(e,t){return Qe(Ke({},e),{sortOrder:t+1})})})),w===e&&C(null),_===e&&O(null)},[k,n,w,_]),N=r.useCallback(function(e,t){return t?P(e):D(e)},[P,D]),B=r.useCallback(function(e,t){var r=Be(k.sections),o=r.findIndex(function(t){return t.sectionUuid===e});if(!(o<0)){var a=o+t;if(!(a<0||a>=r.length)){var i=r[o];r[o]=r[a],r[a]=i,n(Qe(Ke({},k),{sections:r.map(function(e,t){return Qe(Ke({},e),{sortOrder:t+1})})}))}}},[k,n]),$=r.useCallback(function(e){w&&n(Qe(Ke({},k),{sections:k.sections.map(function(t){return t.sectionUuid===w?Ke({},t,e):t})}))},[k,n,w]),R=r.useMemo(function(){return Be(k.sections)},[k.sections]);return r.createElement("div",{className:Ce.designWorkspace},r.createElement("div",{style:{marginBottom:"1rem"}},r.createElement("h3",{className:Ce.workspaceTitle},o("buildReport","Build Report"),": ",k.name||"Untitled report"),r.createElement("p",{className:Ce.workspaceHint},o("draftHint","Draft • Define reports as collections of reusable sections"))),s?r.createElement(i.OuH,{description:"Loading sections…"}):null,f?r.createElement("div",{style:{marginBottom:"1rem"}},r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Sections",subtitle:f})):null,r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1.1fr 1.1fr 0.9fr",gap:"1rem"}},r.createElement(Ie,{reportSections:R,sectionLibrary:l,selectedSectionUuid:w,search:g,onSearchChange:v,onSelectSection:C,onMoveSection:B,onRemoveSection:D,onFocusAvailableSections:function(){l.length>0&&O(function(e){return null!=e?e:l[0].uuid})}}),r.createElement(je,{availableSections:l,reportSections:R,selectedAvailableSectionUuid:_,search:h,onSearchChange:A,onSelectAvailableSection:O,onToggleSection:N}),r.createElement(Pe,{draft:k,onDraftChange:x,selectedSectionRef:T,selectedSection:j,onUpdateSelectedSection:$})),r.createElement("div",{style:{marginTop:"1rem",padding:"0.9rem 1rem",background:"#fff",border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:12}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Current Authoring Draft"),r.createElement("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:"0.85rem"}},JSON.stringify(k,null,2))))};var Ze=n(1397),et=n(8495);function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){nt(e,t,n[t])})}return e}function ot(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function at(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||lt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function it(e){return function(e){if(Array.isArray(e))return tt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||lt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function lt(e,t){if(e){if("string"==typeof e)return tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tt(e,t):void 0}}function ut(e){return"section-label"===e?0:1}function ct(e,t){var n=ut(t),r=Number.isNaN(Number(e))?n:Number(null!=e?e:n);return Math.max(n,Math.min(10,r))}const st=function(e){var t,n,o,a,l=e.value,c=e.onChange,d=e.definitionDraft,p=e.sectionSources,f=void 0===p?[]:p,m=(0,I.useTranslation)().t,y=at(r.useState(null),2),g=y[0],v=y[1],b=at(r.useState(null),2),h=b[0],A=b[1],E=at(r.useState(null),2),w=E[0],C=E[1],S=at(r.useState(null),2),_=S[0],O=S[1],k=at(r.useState("details"),2),x=k[0],j=k[1],P=r.useMemo(function(){return null!=l?l:{version:1,template:"section-tabular",arrayName:"results",defaultValue:0,dimensions:{},groups:[]}},[l]),D=r.useCallback(function(e){null==c||c(e)},[c]),B=null!==(t=P.groups)&&void 0!==t?t:[];r.useEffect(function(){!g&&B.length>0&&v(B[0].id)},[B,g]);var $=r.useMemo(function(){var e;return null!==(e=B.flatMap(function(e){return e.rows}).find(function(e){return e.id===h}))&&void 0!==e?e:null},[B,h]),R=r.useCallback(function(e){D(ot(rt({},P),{groups:e}))},[P,D]),M=r.useCallback(function(e,t,n){R(B.map(function(r){return r.id===e?ot(rt({},r),{rows:r.rows.map(function(e){if(e.id!==t)return e;var r=rt({},e,n);return ot(rt({},r),{indent:ct(r.indent,r.type)})})}):r}))},[B,R]),U=r.useCallback(function(e){var t,n={id:(t="row","".concat(t,"-").concat(Math.random().toString(36).slice(2,10))),type:"indicator",code:"",label:"",indent:1,keyPattern:"{code}_{age}_{sex}",dims:{},showTotal:!0,showDisaggregation:!0};R(B.map(function(t){return t.id===e?ot(rt({},t),{rows:it(t.rows).concat([n])}):t})),v(e),A(n.id)},[B,R]),z=r.useCallback(function(e,t){R(B.map(function(n){return n.id===e?ot(rt({},n),{rows:n.rows.filter(function(e){return e.id!==t})}):n})),h===t&&A(null)},[B,h,R]),F=r.useCallback(function(e,t,n){var r=B.find(function(t){return t.id===e});if(r){var o=r.rows.slice(),a=o.findIndex(function(e){return e.id===t});if(!(a<0)){var i=a+n;if(!(i<0||i>=o.length)){var l=o[a];o[a]=o[i],o[i]=l,R(B.map(function(t){return t.id===e?ot(rt({},t),{rows:o}):t}))}}}},[B,R]),q=r.useCallback(function(e,t,n){var r,o=B.find(function(t){return t.id===e}),a=null==o?void 0:o.rows.find(function(e){return e.id===t});if(o&&a){var i=ut(a.type),l=Math.max(i,Math.min(10,(null!==(r=a.indent)&&void 0!==r?r:i)+n));M(e,t,{indent:l})}},[B,M]),L=r.useCallback(function(){var e,t,n,r,o,a=function(){var e,t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0;return{version:1,template:"section-tabular",arrayName:null!==(e=null==o?void 0:o.arrayName)&&void 0!==e?e:"results",defaultValue:null!==(t=null==o?void 0:o.defaultValue)&&void 0!==t?t:0,dimensions:null!==(n=null==o?void 0:o.dimensions)&&void 0!==n?n:{},groups:r.map(function(e){return{id:e.sectionUuid,title:e.title,rows:[{id:"".concat(e.sectionUuid,"__section_label"),type:"section-label",label:e.title,indent:0,span:"all",emphasis:"section",showTotal:!1,showDisaggregation:!1}].concat(it(e.indicators.map(function(e){return{id:e.id,type:"indicator",code:e.code,label:"".concat(e.code,". ").concat(e.name),indent:1,keyPattern:"{code}_{age}_{sex}",dims:{},showTotal:!0,showDisaggregation:!0,span:"label-only",emphasis:"normal"}})))}})}}(f,P);D(a),v(null!==(e=null===(n=a.groups[0])||void 0===n?void 0:n.id)&&void 0!==e?e:null),A(null!==(t=null===(o=a.groups[0])||void 0===o||null===(r=o.rows[0])||void 0===r?void 0:r.id)&&void 0!==t?t:null)},[P,f,D]),G=r.useCallback(function(e,t){C({rowId:e,fromGroupId:t})},[]),J=r.useCallback(function(e,t){if(w&&w.fromGroupId===e&&w.rowId!==t){var n=B.find(function(t){return t.id===e});if(n){var r=n.rows.slice(),o=r.findIndex(function(e){return e.id===w.rowId}),a=r.findIndex(function(e){return e.id===t});if(!(o<0||a<0)){var i=r[o];r.splice(o,1),r.splice(a,0,i),R(B.map(function(t){return t.id===e?ot(rt({},t),{rows:r}):t})),C(null),O(null)}}}},[w,B,R]),W=r.useMemo(function(){return B.flatMap(function(e){return[{kind:"group",group:e}].concat(it(e.rows.map(function(t,n){return{kind:"row",group:e,row:t,rowIndex:n}})))})},[B]),H=r.useMemo(function(){return function(e){var t=["Age <5 | Male","Age <5 | Female","5-14 | Male","5-14 | Female"],n=e.flatMap(function(e){return e.rows.map(function(n){var r;return{id:n.id,type:n.type,code:n.code,label:n.label||n.code||"Untitled row",values:"section-label"===n.type||"group-label"===n.type?[]:t.map(function(){return 0}),indent:null!==(r=n.indent)&&void 0!==r?r:0,groupId:e.id}})});return{columns:t,rows:n}}(B)},[B]);return r.createElement("div",{className:Ce.designWorkspace},r.createElement("div",{style:{marginBottom:"1rem"}},r.createElement("h3",{className:Ce.workspaceTitle},m("reportDesign","Report Design")),r.createElement("p",{className:Ce.workspaceHint},m("reportDesignHint","Design the report structure, indicator presentation, JSON template, and mapping preview."))),d?null:r.createElement(i.jeF,{kind:"warning",lowContrast:!0,title:"Definition required",subtitle:"Build the report definition first so the design can align to it."}),r.createElement("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"1rem"}},r.createElement(i.$nd,{size:"sm",kind:"primary",onClick:L,disabled:!f.length},"Generate From Definition")),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #d0d0d0)",borderRadius:12,padding:"1rem",background:"#fff"}},r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem"}},r.createElement("div",{style:{display:"grid",gridTemplateRows:"auto auto",gap:"1rem"}},r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,padding:"1rem",background:"var(--cds-layer, #f4f4f4)"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.75rem"}},r.createElement("div",{style:{fontSize:"1.1rem",fontWeight:600}},"Template Structure"),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:u.wM,onClick:L},"Refresh JSON")),r.createElement("div",{style:{minHeight:"12rem",border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:8,background:"#fff",padding:"0.5rem",overflow:"auto"}},0===W.length?r.createElement("div",{style:{opacity:.7}},"No sections/rows yet. Generate from definition."):W.map(function(e){var t,n,o;if("group"===e.kind)return null;var a=e.group,l=e.row,u=e.rowIndex,c=l.id===h,s=l.id===_,d="section-label"===l.type,p="group-label"===l.type;return r.createElement("div",{key:l.id,draggable:!0,onDragStart:function(){return G(l.id,a.id)},onDragEnd:function(){C(null),O(null)},onDragOver:function(e){e.preventDefault(),O(l.id)},onDrop:function(e){e.preventDefault(),J(a.id,l.id)},onClick:function(){v(a.id),A(l.id)},style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.65rem 0.75rem",marginBottom:"0.35rem",marginLeft:"".concat(18*(null!==(t=l.indent)&&void 0!==t?t:0),"px"),borderRadius:6,border:c?"2px solid var(--cds-border-interactive, #0f62fe)":s?"2px dashed var(--cds-border-interactive, #0f62fe)":"1px solid transparent",background:c?"var(--cds-layer-selected, #e8f1ff)":"transparent",cursor:"pointer"}},r.createElement(Ae.sx,{size:16}),r.createElement("span",{style:{fontWeight:d?700:p?600:500}},l.label||l.code||"Untitled row"),r.createElement(i.vwO,{size:"sm",type:d?"purple":p?"cyan":"gray"},d?"section":p?"group":l.code||l.type),d?r.createElement(i.$nd,{size:"sm",kind:"ghost",renderIcon:T.OM,onClick:function(e){e.stopPropagation(),U(a.id)}},"Add Node"):null,r.createElement("div",{style:{marginLeft:"auto",display:"flex",gap:"0.25rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move up",renderIcon:ke.Do,disabled:0===u,onClick:function(e){e.stopPropagation(),F(a.id,l.id,-1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move down",renderIcon:ke.yd,disabled:u===a.rows.length-1,onClick:function(e){e.stopPropagation(),F(a.id,l.id,1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Indent",renderIcon:ke.Qp,disabled:(null!==(n=l.indent)&&void 0!==n?n:ut(l.type))>=10,onClick:function(e){e.stopPropagation(),q(a.id,l.id,1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Outdent",renderIcon:ke.nk,disabled:(null!==(o=l.indent)&&void 0!==o?o:ut(l.type))<=ut(l.type),onClick:function(e){e.stopPropagation(),q(a.id,l.id,-1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Remove",renderIcon:N.zH,onClick:function(e){e.stopPropagation(),z(a.id,l.id)}})))}))),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,padding:"1rem",background:"#fff"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.75rem"}},r.createElement("div",{style:{fontSize:"1.1rem",fontWeight:600}},"JSON Preview"),r.createElement("div",{style:{display:"flex",gap:"0.35rem"}},r.createElement(i.$nd,{kind:"ghost",hasIconOnly:!0,size:"sm",iconDescription:"Refresh",renderIcon:u.wM}),r.createElement(i.$nd,{kind:"ghost",hasIconOnly:!0,size:"sm",iconDescription:"Copy",renderIcon:Ze.QR}),r.createElement(i.$nd,{kind:"ghost",hasIconOnly:!0,size:"sm",iconDescription:"Download",renderIcon:Ae.f5}),r.createElement(i.$nd,{kind:"ghost",hasIconOnly:!0,size:"sm",iconDescription:"Expand",renderIcon:s.MQ}))),r.createElement("pre",{style:{margin:0,minHeight:"16rem",maxHeight:"22rem",overflow:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:"0.85rem",background:"#f8f8f8",border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:8,padding:"0.75rem"}},JSON.stringify(P,null,2)))),r.createElement("div",{style:{display:"grid",gridTemplateRows:"auto auto",gap:"1rem"}},r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,padding:"1rem",background:"var(--cds-layer, #f4f4f4)"}},r.createElement("div",{style:{fontSize:"1.1rem",fontWeight:600}},"Indicator Properties"),r.createElement("div",{style:{opacity:.8,marginBottom:"0.75rem"}},"Select an indicator/row to edit properties"),r.createElement(i.tUM,{selectedIndex:"details"===x?0:"disaggregation"===x?1:"mapping"===x?2:3,onChange:function(e){var t=e.selectedIndex;return j(0===t?"details":1===t?"disaggregation":2===t?"mapping":"api")}},r.createElement(i.wbY,{"aria-label":"Indicator properties tabs"},r.createElement(i.ozo,null,"Details"),r.createElement(i.ozo,null,"Disaggregation"),r.createElement(i.ozo,null,"Mapping"),r.createElement(i.ozo,null,"API"))),r.createElement("div",{style:{marginTop:"1rem"}},$&&g?"details"===x?r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"}},r.createElement(i.ksK,{id:"design-row-label",labelText:"Label",value:$.label,onChange:function(e){return M(g,$.id,{label:e.target.value})}}),r.createElement(i.ksK,{id:"design-row-code",labelText:"Code",value:null!==(n=$.code)&&void 0!==n?n:"",onChange:function(e){return M(g,$.id,{code:e.target.value})}}),r.createElement(i.l6P,{id:"design-row-type",labelText:"Row type",value:$.type,onChange:function(e){var t=e.target.value,n=function(e,t){return ot(rt({},e),"section-label"===t?{type:t,indent:0,span:"all",emphasis:"section",showTotal:!1,showDisaggregation:!1}:"group-label"===t?{type:t,indent:ct(e.indent,t),span:"label-only",emphasis:"group",showTotal:!1,showDisaggregation:!1}:"indicator"===t?{type:t,indent:ct(e.indent,t),span:"label-only",emphasis:"normal",showTotal:!0,showDisaggregation:!0}:{type:t,indent:ct(e.indent,t),span:"label-only",emphasis:"normal"})}($,t);M(g,$.id,n)}},r.createElement(i.ebT,{value:"section-label",text:"Section Label"}),r.createElement(i.ebT,{value:"group-label",text:"Group Label"}),r.createElement(i.ebT,{value:"indicator",text:"Indicator"}),r.createElement(i.ebT,{value:"label",text:"Label"}),r.createElement(i.ebT,{value:"spacer",text:"Spacer"})),r.createElement(i.Q7x,{id:"design-row-indent",label:"Indent",min:ut($.type),max:10,value:null!==(o=$.indent)&&void 0!==o?o:ut($.type),onChange:function(e){var t=Number(e.target.value||ut($.type));M(g,$.id,{indent:ct(t,$.type)})}})):"disaggregation"===x?r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"}},r.createElement(i.Sc0,{id:"design-row-total",labelText:"Show total",checked:Boolean($.showTotal),onChange:function(e){return M(g,$.id,{showTotal:Boolean(e)})}}),r.createElement(i.Sc0,{id:"design-row-disagg",labelText:"Show disaggregation",checked:Boolean($.showDisaggregation),onChange:function(e){return M(g,$.id,{showDisaggregation:Boolean(e)})}})):"mapping"===x?r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"}},r.createElement(i.ksK,{id:"design-row-key-pattern",labelText:"Key pattern",value:null!==(a=$.keyPattern)&&void 0!==a?a:"",onChange:function(e){return M(g,$.id,{keyPattern:e.target.value})}}),r.createElement("div",{style:{opacity:.8,fontSize:"0.875rem"}},"Example: ","{code}_{age}_{sex}")):r.createElement("div",{style:{opacity:.8,fontSize:"0.875rem"}},"Node API preview and compile-time bindings will appear here."):r.createElement("div",{style:{opacity:.7}},"Select a node to edit."))),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:10,padding:"1rem",background:"var(--cds-layer, #f4f4f4)"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.75rem"}},r.createElement("div",{style:{fontSize:"1.1rem",fontWeight:600}},"Mapping Preview"),r.createElement(et.Ss,{size:18})),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:8,overflow:"hidden",background:"#fff"}},r.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.3fr) repeat(".concat(H.columns.length,", minmax(120px, 1fr))"),borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)",fontWeight:600,background:"#fafafa"}},r.createElement("div",{style:{padding:"0.75rem"}}),H.columns.map(function(e){return r.createElement("div",{key:e,style:{padding:"0.75rem"}},e)})),0===H.rows.length?r.createElement("div",{style:{padding:"1rem",opacity:.7}},"No rows to preview."):H.rows.map(function(e){return"section-label"===e.type?r.createElement("div",{key:e.id,style:{borderTop:"1px solid var(--cds-border-subtle, #f0f0f0)",background:"var(--cds-layer-accent, #f4f4f4)",fontWeight:700,padding:"0.85rem 0.75rem"}},e.label):"group-label"===e.type?r.createElement("div",{key:e.id,style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.3fr) repeat(".concat(H.columns.length,", minmax(120px, 1fr))"),borderTop:"1px solid var(--cds-border-subtle, #f0f0f0)",background:"#fafafa"}},r.createElement("div",{style:{padding:"0.75rem",fontWeight:600,paddingLeft:"".concat(12+18*e.indent,"px")}},e.code?"".concat(e.code," ").concat(e.label):e.label),H.columns.map(function(e,t){return r.createElement("div",{key:t,style:{padding:"0.75rem"}})})):r.createElement("div",{key:e.id,style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.3fr) repeat(".concat(H.columns.length,", minmax(120px, 1fr))"),borderTop:"1px solid var(--cds-border-subtle, #f0f0f0)"}},r.createElement("div",{style:{padding:"0.75rem",fontWeight:600,paddingLeft:"".concat(12+18*e.indent,"px")}},e.label),e.values.map(function(e,t){return r.createElement("div",{key:t,style:{padding:"0.75rem"}},e)}))})))))))};function dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pt(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ft(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){pt(a,r,o,i,l,"next",e)}function l(e){pt(a,r,o,i,l,"throw",e)}i(void 0)})}}function mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){mt(e,t,n[t])})}return e}function gt(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function vt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return dt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dt(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bt(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function ht(){return{uuid:crypto.randomUUID(),name:"",description:"",code:"",sections:[],design:{version:1,template:"section-tabular",arrayName:"results",defaultValue:0,dimensions:{},groups:[]}}}function At(e){return(e||"").trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function Et(){var e,t=(0,I.useTranslation)().t,n=(0,a.g)().reportId,o=n?"edit":"create",l=vt(r.useState("details"),2),u=l[0],c=l[1],s=vt(r.useState(function(){return ht()}),2),d=s[0],f=s[1],m=vt(r.useState(null),2),y=m[0],g=m[1],v=vt(r.useState([]),2),b=v[0],h=v[1],A=vt(r.useState("edit"===o),2),E=A[0],w=A[1],C=vt(r.useState(!0),2),S=C[0],_=C[1],O=vt(r.useState(!1),2),k=O[0],x=O[1],T=vt(r.useState(!1),2),j=T[0],P=T[1],D=vt(r.useState(null),2),N=D[0],B=D[1],$=vt(r.useState(null),2),R=$[0],M=$[1],U=vt(r.useState(null),2),z=U[0],F=U[1],q=vt(r.useState(null),2),L=q[0],G=q[1];r.useEffect(function(){var e=new AbortController;return _(!0),qe({v:"full",includeRetired:!1},e.signal).then(function(e){return h(Array.isArray(e)?e:[])}).catch(function(){return h([])}).finally(function(){return _(!1)}),function(){return e.abort()}},[]),r.useEffect(function(){var e=!1;return ft(function(){var t,r,a;return bt(this,function(i){switch(i.label){case 0:if("edit"!==o||!n)return f(ht()),g(null),w(!1),[2];i.label=1;case 1:return i.trys.push([1,3,4,5]),w(!0),B(null),F(null),[4,me(n)];case 2:return t=i.sent(),e?[2]:(g(t),f(function(e){var t,n,r,o,a,i,l,u,c={};try{c=e.configJson?JSON.parse(e.configJson):{}}catch(e){c={}}var s=null!==(t=null==c?void 0:c.definition)&&void 0!==t?t:{},d=Array.isArray(null==c?void 0:c.sections)?c.sections:[],p=null!==(n=null==c?void 0:c.design)&&void 0!==n?n:null;return{uuid:e.uuid,name:null!==(r=null!==(o=e.name)&&void 0!==o?o:null==c?void 0:c.name)&&void 0!==r?r:"",description:null!==(a=null!==(i=e.description)&&void 0!==i?i:null==c?void 0:c.description)&&void 0!==a?a:"",code:null!==(l=null!==(u=e.code)&&void 0!==u?u:null==c?void 0:c.code)&&void 0!==l?l:"",sections:Array.isArray(null==s?void 0:s.sections)?s.sections:d,design:null!=p?p:{version:1,template:"section-tabular",arrayName:"results",defaultValue:0,dimensions:{},groups:[]}}}(t)),[3,5]);case 3:return r=i.sent(),e||B(null!==(a=null==r?void 0:r.message)&&void 0!==a?a:"Failed to load report"),[3,5];case 4:return e||w(!1),[7];case 5:return[2]}})})(),function(){e=!0}},[o,n]);var J={uuid:d.uuid,name:d.name,description:d.description},W={name:d.name,description:d.description,code:d.code,sections:d.sections},H=d.design,Y=r.useMemo(function(){return b.reduce(function(e,t){var n;return e[t.uuid]=null!==(n=t.name)&&void 0!==n?n:t.uuid,e},{})},[b]),V=r.useMemo(function(){var e=Array.isArray(d.sections)?d.sections:[],t=new Map(b.map(function(e){return[e.uuid,e]}));return e.slice().sort(function(e,t){var n,r;return Number(null!==(n=e.sortOrder)&&void 0!==n?n:0)-Number(null!==(r=t.sortOrder)&&void 0!==r?r:0)}).map(function(e){var n,r=t.get(e.sectionUuid),o=function(e){try{return e?JSON.parse(e):{}}catch(e){return{}}}(null==r?void 0:r.configJson),a=Array.isArray(null==o?void 0:o.indicators)?o.indicators:[];return{sectionUuid:e.sectionUuid,title:(null===(n=e.titleOverride)||void 0===n?void 0:n.trim())||(null==r?void 0:r.name)||e.sectionUuid,indicators:a.slice().sort(function(e,t){var n,r;return Number(null!==(n=e.sortOrder)&&void 0!==n?n:0)-Number(null!==(r=t.sortOrder)&&void 0!==r?r:0)}).map(function(e){var t,n,r,o,a,i,l;return{id:String(null!==(t=null!==(n=null!==(r=e.indicatorUuid)&&void 0!==r?r:e.id)&&void 0!==n?n:e.code)&&void 0!==t?t:crypto.randomUUID()),code:String(null!==(o=e.code)&&void 0!==o?o:""),name:String(null!==(a=null!==(i=e.name)&&void 0!==i?i:e.code)&&void 0!==a?a:""),type:String(null!==(l=e.kind)&&void 0!==l?l:"indicator")}})}})},[b,d.sections]),X=r.useCallback(function(e){f(function(t){var n;return gt(yt({},t),{name:e.name,description:e.description,uuid:e.uuid,code:(null===(n=t.code)||void 0===n?void 0:n.trim())?t.code:At(e.name)})})},[]),Z=r.useCallback(function(e){f(function(t){return gt(yt({},t),{code:e.code,sections:e.sections})})},[]),ee=r.useCallback(function(e){f(function(t){return gt(yt({},t),{design:e})})},[]),te=r.useCallback(function(){return ft(function(){var e,t,r,a,i,l,u,c;return bt(this,function(s){switch(s.label){case 0:return s.trys.push([0,5,6,7]),x(!0),B(null),M(null),F(null),r={version:1,uuid:null!==(e=null==y?void 0:y.uuid)&&void 0!==e?e:d.uuid,name:d.name,code:d.code||At(d.name),description:d.description,definition:{sections:null!==(t=d.sections)&&void 0!==t?t:[]},design:d.design},a={name:r.name,description:r.description,code:r.code,configJson:JSON.stringify(r,null,2)},"edit"!==o||!(null==y?void 0:y.uuid)&&!n?[3,2]:[4,ge((null==y?void 0:y.uuid)||n,a)];case 1:return l=s.sent(),[3,4];case 2:return[4,ye(a)];case 3:l=s.sent(),s.label=4;case 4:return g(i=l),f(function(e){var t;return gt(yt({},e),{uuid:i.uuid,code:null!==(t=i.code)&&void 0!==t?t:e.code})}),M("Draft saved successfully."),[2,i];case 5:throw u=s.sent(),B(null!==(c=null==u?void 0:u.message)&&void 0!==c?c:"Failed to save report draft"),u;case 6:return x(!1),[7];case 7:return[2]}})})()},[d,o,n,null==y?void 0:y.uuid]),ne=r.useCallback(function(){return ft(function(){var e,t,r,o,a,i;return bt(this,function(l){switch(l.label){case 0:return l.trys.push([0,4,5,6]),P(!0),F(null),G(null),B(null),(e=(null==y?void 0:y.uuid)||n||null)?[3,2]:[4,te()];case 1:r=l.sent(),e=null!==(t=null==r?void 0:r.uuid)&&void 0!==t?t:null,l.label=2;case 2:if(!e)throw new Error("Save the report first before compiling.");return[4,(u=e,ce(function(){return de(this,function(e){return[2,ae("/reportbuilder/reportcompile",{reportUuid:u},void 0)]})})())];case 3:return o=l.sent(),G((null==o?void 0:o.reportDefinitionUuid)?"Compiled successfully. Runtime report UUID: ".concat(o.reportDefinitionUuid):"Compiled successfully."),[3,6];case 4:return a=l.sent(),F(null!==(i=null==a?void 0:a.message)&&void 0!==i?i:"Failed to compile report"),[3,6];case 5:return P(!1),[7];case 6:return[2]}var u})})()},[te,n,null==y?void 0:y.uuid]),re=r.useCallback(function(){f(ht()),g(null),B(null),M(null),F(null),G(null),c("details")},[]),oe=Boolean(d.name.trim())&&!k&&!E,ie=Boolean(((null==y?void 0:y.uuid)||n||d.name.trim())&&!k&&!j&&!E);return r.createElement(r.Fragment,null,r.createElement(Q,{title:t("reportBuilder","Report Builder"),subtitle:t("reportBuilderSubtitle","Create and manage reports as collections of reusable sections.")}),r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"end",marginBottom:"1rem"}},r.createElement("div",null,E?r.createElement(i.OuH,{description:"Loading report…"}):null,S?r.createElement(i.OuH,{description:"Loading sections…"}):null,k?r.createElement(i.OuH,{description:"Saving draft…"}):null,j?r.createElement(i.OuH,{description:"Compiling report…"}):null,E||k||!N?null:r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Save failed",subtitle:N}),E||k||!R?null:r.createElement(i.jeF,{lowContrast:!0,kind:"success",title:"Saved",subtitle:R}),E||j||!z?null:r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Compile failed",subtitle:z}),E||j||!L?null:r.createElement(i.jeF,{lowContrast:!0,kind:"success",title:"Compiled",subtitle:L})),r.createElement("div",{style:{display:"flex",gap:"0.5rem"}},r.createElement(K,{context:{page:"Report Builder"},size:"sm",kind:"secondary"}),r.createElement(i.$nd,{size:"sm",kind:"secondary",renderIcon:Ae.f5,disabled:!0},"Export"),r.createElement(i.$nd,{size:"sm",kind:"secondary",onClick:ne,disabled:!ie},"Compile"),r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:p.eM,onClick:te,disabled:!oe},"Save Draft"))),r.createElement(i.tUM,{selectedIndex:"details"===u?0:"definition"===u?1:2,onChange:function(e){var t=e.selectedIndex;return c(0===t?"details":1===t?"definition":"design")}},r.createElement(i.wbY,{"aria-label":"Report editor tabs"},r.createElement(i.ozo,null,"Report Detail"),r.createElement(i.ozo,null,"Report Definition"),r.createElement(i.ozo,null,"Report Design")),r.createElement(i.T2N,null,r.createElement(i.KpK,null,r.createElement(_e,{value:J,onChange:X,onSaveDraft:te,isSaving:k,onCancel:re})),r.createElement(i.KpK,null,r.createElement(Xe,{value:W,onChange:Z})),r.createElement(i.KpK,null,r.createElement(st,{value:H,onChange:ee,definitionDraft:W,sectionSources:V,sectionNameLookup:Y})))),r.createElement("div",{style:{marginTop:"1rem",padding:"0.9rem 1rem",background:"#fff",border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:12}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Current Report Form"),r.createElement("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:"0.85rem"}},JSON.stringify({uuid:d.uuid,name:d.name,description:d.description,code:d.code,definition:{sections:d.sections},design:d.design,sectionSources:V,mode:o,savedReportUuid:null!==(e=null==y?void 0:y.uuid)&&void 0!==e?e:null},null,2))))}function wt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){wt(e,t,n[t])})}return e}function St(e){var t=e.rows,n=e.onOpen,o=e.onEdit,a=e.onRun,l=e.onDelete,u=(null!=t?t:[]).map(function(e){var t,n;return{id:e.id,code:e.code,name:e.name,kind:e.kind,theme:null!==(t=e.themeName)&&void 0!==t?t:"",themeColor:null!==(n=e.themeColor)&&void 0!==n?n:"",status:e.status}});return r.createElement(i.K3K,{title:"",description:""},r.createElement(i.bQt,{rows:u,headers:[{key:"code",header:"Code"},{key:"name",header:"Name"},{key:"kind",header:"Kind"},{key:"theme",header:"Theme"},{key:"status",header:"Status"},{key:"actions",header:""}],isSortable:!0},function(e){var t=e.rows,u=e.headers,c=e.getHeaderProps,s=e.getRowProps;return r.createElement(i.XIK,{size:"lg",useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,u.map(function(e){return r.createElement(i.A0N,Ct({key:e.key},c({header:e})),e.header)}))),r.createElement(i.BFY,null,0===t.length?r.createElement(i.Hjg,null,r.createElement(i.nA6,{colSpan:u.length,style:{padding:"1rem",opacity:.75}},"No indicators found.")):null,t.map(function(e){var t,u,c,d,p,f,m,y,g,v,b,h,A,E=String(null!==(t=null===(m=e.cells.find(function(e){return"code"===e.info.header}))||void 0===m?void 0:m.value)&&void 0!==t?t:""),w=String(null!==(u=null===(y=e.cells.find(function(e){return"name"===e.info.header}))||void 0===y?void 0:y.value)&&void 0!==u?u:""),C=String(null!==(c=null===(g=e.cells.find(function(e){return"kind"===e.info.header}))||void 0===g?void 0:g.value)&&void 0!==c?c:""),S=String(null!==(d=null===(v=e.cells.find(function(e){return"theme"===e.info.header}))||void 0===v?void 0:v.value)&&void 0!==d?d:""),_=String(null!==(p=null===(b=e.cells.find(function(e){return"status"===e.info.header}))||void 0===b?void 0:b.value)&&void 0!==p?p:""),O=String(null!==(f=e.themeColor)&&void 0!==f?f:"");return r.createElement(i.Hjg,(h=Ct({key:e.id},s({row:e})),A=null!=(A={onClick:function(){return null==n?void 0:n(e.id)},style:{cursor:n?"pointer":"default"}})?A:{},Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(A)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(A)).forEach(function(e){Object.defineProperty(h,e,Object.getOwnPropertyDescriptor(A,e))}),h),r.createElement(i.nA6,null,E||r.createElement("span",{style:{opacity:.7}},"—")),r.createElement(i.nA6,{style:{fontWeight:600,paddingLeft:"0.75rem",borderLeft:O?"6px solid ".concat(O):"6px solid transparent"}},w),r.createElement(i.nA6,null,function(e){var t=(null!=e?e:"").toUpperCase();return"FINAL"===t?r.createElement(i.vwO,{type:"purple"},"FINAL"):"COMPOSITE"===t?r.createElement(i.vwO,{type:"teal"},"COMPOSITE"):r.createElement(i.vwO,{type:"blue"},"BASE")}(C)),r.createElement(i.nA6,null,function(e,t){return e?r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"}},r.createElement("span",{"aria-hidden":"true",style:{width:10,height:10,borderRadius:999,background:t||"var(--cds-icon-primary)",display:"inline-block",border:"1px solid var(--cds-border-subtle)"}}),r.createElement("span",{style:{fontWeight:500}},e)):r.createElement("span",{style:{opacity:.7}},"—")}(S,O)),r.createElement(i.nA6,null,function(e){var t=(null!=e?e:"").toLowerCase();return t.includes("publish")?r.createElement(i.vwO,{type:"green"},"Published"):t.includes("retire")?r.createElement(i.vwO,{type:"red"},"Retired"):r.createElement(i.vwO,{type:"gray"},"Draft")}(_)),r.createElement(i.nA6,{onClick:function(e){return e.stopPropagation()},style:{width:56}},r.createElement(i.obU,{size:"sm",flipped:!0},r.createElement(i.XSD,{itemText:"Edit",onClick:function(){return null==o?void 0:o(e.id,C)}}),r.createElement(i.XSD,{itemText:"Run",onClick:function(){return null==a?void 0:a(e.id)}}),r.createElement(i.XSD,{itemText:"Delete",isDelete:!0,onClick:function(){return null==l?void 0:l(e.id)}}))))})))}))}function _t(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Ot(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){_t(a,r,o,i,l,"next",e)}function l(e){_t(a,r,o,i,l,"throw",e)}i(void 0)})}}function kt(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var xt="/reportbuilder/datatheme";function Tt(e,t){return Ot(function(){return kt(this,function(n){return[2,oe("".concat(xt,"/").concat(encodeURIComponent(e),"?v=full"),t)]})})()}function It(e,t){return Ot(function(){return kt(this,function(n){return[2,ae(xt,e,t)]})})()}function jt(e,t,n){return Ot(function(){return kt(this,function(r){return[2,ae("".concat(xt,"/").concat(encodeURIComponent(e)),t,n)]})})()}function Pt(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Retired via UI",r=arguments.length>3?arguments[3]:void 0;return Ot(function(){var o;return kt(this,function(a){switch(a.label){case 0:return o=t?"purge=true":"purge=false&reason=".concat(encodeURIComponent(n)),[4,ie("".concat(xt,"/").concat(encodeURIComponent(e),"?").concat(o),r)];case 1:return a.sent(),[2]}})})()}function Dt(e,t){return Ot(function(){return kt(this,function(n){return[2,oe("".concat(xt,"/").concat(e,"?v=full"),t)]})})()}function Nt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Nt(e,t,n[t])})}return e}function $t(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function Rt(e){var t=e.value,n=e.onChange;return r.createElement(i.BJc,{gap:6},r.createElement(i.ksK,{id:"indicator-code",labelText:"Code (optional)",value:t.code,onChange:function(e){return n($t(Bt({},t),{code:e.target.value}))}}),r.createElement(i.ksK,{id:"indicator-name",labelText:"Name",value:t.name,onChange:function(e){return n($t(Bt({},t),{name:e.target.value}))}}),r.createElement(i.fs1,{id:"indicator-desc",labelText:"Description (optional)",value:t.description,onChange:function(e){return n($t(Bt({},t),{description:e.target.value}))}}))}function Mt(e){var t=e.themes,n=e.loading,o=e.error,a=e.themeUuid,l=e.onThemeUuidChange,u=e.themeConfigError;return r.createElement(i.BJc,{gap:4},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.25rem"}},"Data Theme"),n?r.createElement(i.OuH,{description:"Loading themes…"}):null,!n&&o?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},o):null,r.createElement(i.l6P,{id:"indicator-theme",labelText:"Select a theme",value:a,onChange:function(e){return l(e.target.value)}},r.createElement(i.ebT,{value:"",text:"Select…"}),(null!=t?t:[]).map(function(e){return r.createElement(i.ebT,{key:e.uuid,value:e.uuid,text:"".concat(e.name).concat(e.code?" (".concat(e.code,")"):"")})})),u?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)",marginTop:"0.25rem"}},u):null)}function Ut(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function zt(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Ut(a,r,o,i,l,"next",e)}function l(e){Ut(a,r,o,i,l,"throw",e)}i(void 0)})}}function Ft(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var qt="/concept",Lt="custom:(id,uuid,display,datatype:(uuid,name),conceptClass:(uuid,name),answers:(id,uuid,display),mappings:(display,uuid,conceptMapType:(display)))";function Gt(e,t){return zt(function(){var n,r;return Ft(this,function(o){switch(o.label){case 0:return[4,oe("".concat(qt,"/?q=").concat(encodeURIComponent(e),"&v=").concat(Lt),t)];case 1:return r=o.sent(),[2,null!==(n=null==r?void 0:r.results)&&void 0!==n?n:[]]}})})()}function Jt(e,t){return zt(function(){var n;return Ft(this,function(r){if(!(n=String(null!=e?e:"").trim()))throw new Error("Concept uuid is required");return[2,oe("".concat(qt,"/").concat(encodeURIComponent(n),"?v=").concat(Lt),t)]})})()}function Wt(e,t){return zt(function(){var n,r;return Ft(this,function(o){switch(o.label){case 0:return[4,oe("".concat(qt,"/").concat(e,"?v=").concat(Lt),t)];case 1:return r=o.sent(),[2,null!==(n=null==r?void 0:r.answers)&&void 0!==n?n:[]]}})})()}function Ht(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Kt(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Qt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ht(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ht(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Yt(e){var t=Qt((0,r.useState)(!1),2),n=t[0],o=t[1],a=Qt((0,r.useState)([]),2),i=a[0],l=a[1],u=Qt((0,r.useState)(null),2),c=u[0],s=u[1];return(0,r.useEffect)(function(){var t=e.trim();if(t.length<2)return l([]),void s(null);var n=new AbortController,r=window.setTimeout(function(){return(e=function(){var e,r;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,3,4]),o(!0),s(null),[4,Gt(t,n.signal)];case 1:return e=a.sent(),l(e),[3,4];case 2:return"AbortError"!==(null==(r=a.sent())?void 0:r.name)&&s("Failed to search concepts"),[3,4];case 3:return o(!1),[7];case 4:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Kt(a,r,o,i,l,"next",e)}function l(e){Kt(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},300);return function(){n.abort(),window.clearTimeout(r)}},[e]),{loading:n,results:i,error:c}}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xt(e,t){var n,r,o=(null!=e?e:"").trim(),a="".concat(t,":");if(o.startsWith(a)){var i=o.slice(a.length).trim();if(i)return(null===(r=i.split(" ")[0])||void 0===r||null===(n=r.split("(")[0])||void 0===n?void 0:n.trim())||void 0}}function Zt(e){var t,n,r,o=null!==(t=e.mappings)&&void 0!==t?t:[],a=!0,i=!1,l=void 0;try{for(var u,c=o[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var s,d=u.value,p=null!==(s=null==d?void 0:d.display)&&void 0!==s?s:"";if(n||(n=Xt(p,"ICD-10-WHO")),r||(r=Xt(p,"ICD-11-WHO")),n&&r)break}}catch(e){i=!0,l=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw l}}return{icd10Code:n,icd11Code:r}}function en(e){var t,n,r=Zt(e),o=r.icd10Code,a=r.icd11Code;return{id:Number(e.id)||0,uuid:e.uuid,display:e.display,icd10Code:o,icd11Code:a,conceptClass:null===(t=e.conceptClass)||void 0===t?void 0:t.name,datatype:null===(n=e.datatype)||void 0===n?void 0:n.name}}function tn(e){var t;if(!e)return"";var n=Zt(e),r=n.icd10Code,o=n.icd11Code,a=[];return r&&a.push("ICD-10:".concat(r)),o&&a.push("ICD-11:".concat(o)),(null===(t=e.conceptClass)||void 0===t?void 0:t.name)&&a.push(e.conceptClass.name),a.length?"".concat(e.display," • ").concat(a.join(" • ")):e.display}function nn(e){var t,n,o=e.id,a=e.labelText,l=e.helperText,u=e.value,c=e.onChange,s=(t=r.useState(""),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(t,n)||function(e,t){if(e){if("string"==typeof e)return Vt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Vt(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),d=s[0],p=s[1],f=Yt(d),m=f.loading,y=f.results,g=f.error,v=r.useCallback(function(e){if(e){var t=en(e),n=new Map,r=!0,o=!1,a=void 0;try{for(var i,l=(null!=u?u:[])[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var s=i.value;n.set(s.uuid,s)}}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}n.set(t.uuid,t),c(Array.from(n.values()))}},[c,u]),b=r.useCallback(function(e){c((null!=u?u:[]).filter(function(t){return t.uuid!==e}))},[c,u]);return r.createElement("div",null,r.createElement("div",{style:{marginBottom:"0.5rem",fontWeight:600}},a),l?r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginBottom:"0.75rem"}},l):null,r.createElement(i.a32,{id:"".concat(o,"-search"),titleText:"Search concepts",items:null!=y?y:[],itemToString:tn,placeholder:"Type to search concepts…",onInputChange:function(e){return p(String(null!=e?e:""))},onChange:function(e){var t;return v(null!==(t=null==e?void 0:e.selectedItem)&&void 0!==t?t:null)}}),r.createElement("div",{style:{marginTop:"0.5rem"}},m?r.createElement(i.OuH,{description:"Searching…"}):null,!m&&g?r.createElement("div",{style:{fontSize:"0.875rem",color:"var(--cds-text-error, #da1e28)"}},g):null),(null==u?void 0:u.length)?r.createElement("div",{style:{marginTop:"0.75rem",display:"flex",flexWrap:"wrap",gap:"0.5rem"}},u.map(function(e){return r.createElement(i.vwO,{key:e.uuid,type:"gray",filter:!0,onClose:function(){return b(e.uuid)},title:e.icd10Code||e.icd11Code?"".concat(e.display):e.display},e.display,e.icd10Code?" • ICD-10:".concat(e.icd10Code):"",e.icd11Code?" • ICD-11:".concat(e.icd11Code):"")})):null)}function rn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function on(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function an(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){on(a,r,o,i,l,"next",e)}function l(e){on(a,r,o,i,l,"throw",e)}i(void 0)})}}function ln(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||cn(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function un(e){return function(e){if(Array.isArray(e))return rn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||cn(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cn(e,t){if(e){if("string"==typeof e)return rn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rn(e,t):void 0}}function sn(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function dn(e,t){var n,r,o=(null!=e?e:"").trim(),a="".concat(t,":");if(o.startsWith(a)){var i=o.slice(a.length).trim();if(i)return(null===(r=i.split(" ")[0])||void 0===r||null===(n=r.split("(")[0])||void 0===n?void 0:n.trim())||void 0}}function pn(e){var t,n,r,o=null!==(t=e.mappings)&&void 0!==t?t:[],a=!0,i=!1,l=void 0;try{for(var u,c=o[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var s,d=u.value,p=null!==(s=null==d?void 0:d.display)&&void 0!==s?s:"";if(n||(n=dn(p,"ICD-10-WHO")),r||(r=dn(p,"ICD-11-WHO")),n&&r)break}}catch(e){i=!0,l=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw l}}return{icd10Code:n,icd11Code:r}}function fn(e){var t,n,r=pn(e),o=r.icd10Code,a=r.icd11Code;return{id:Number(e.id)||0,uuid:e.uuid,display:e.display,icd10Code:o,icd11Code:a,conceptClass:null===(t=e.conceptClass)||void 0===t?void 0:t.name,datatype:null===(n=e.datatype)||void 0===n?void 0:n.name}}function mn(e){var t;if(!e)return"";var n=pn(e),r=n.icd10Code,o=n.icd11Code,a=[];return r&&a.push("ICD-10:".concat(r)),o&&a.push("ICD-11:".concat(o)),(null===(t=e.conceptClass)||void 0===t?void 0:t.name)&&a.push(e.conceptClass.name),a.length?"".concat(e.display," • ").concat(a.join(" • ")):e.display}function yn(e){if(!e)return"";var t=[];return e.icd10Code&&t.push("ICD-10:".concat(e.icd10Code)),e.icd11Code&&t.push("ICD-11:".concat(e.icd11Code)),e.conceptClass&&t.push(e.conceptClass),t.length?"".concat(e.display," • ").concat(t.join(" • ")):e.display}function gn(e){var t,n,o,a,l=e.id,u=e.labelText,c=e.helperText,s=e.questionsLabelText,d=void 0===s?"Question concept(s)":s,p=e.answersLabelText,f=void 0===p?"Expected answers":p,m=e.value,y=e.onChange,g=ln(r.useState(""),2),v=g[0],b=g[1],h=Yt(v),A=h.loading,E=h.results,w=h.error,C=ln(r.useState([]),2),S=C[0],_=C[1],O=ln(r.useState(!1),2),k=O[0],x=O[1],T=ln(r.useState(null),2),I=T[0],j=T[1],P=ln(r.useState(0),2),D=P[0],N=P[1],B=ln(r.useState(0),2),$=B[0],R=B[1],M=null!==(t=m.questions)&&void 0!==t?t:[],U=null!==(n=m.answers)&&void 0!==n?n:[],z=r.useCallback(function(e){var t=new Map,n=!0,r=!1,o=void 0;try{for(var a,i=(null!=e?e:[])[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var l=a.value;(null==l?void 0:l.uuid)&&t.set(l.uuid,l)}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}return Array.from(t.values())},[]),F=r.useCallback(function(e,t){return an(function(){var n,r,o,a,i,l;return sn(this,function(u){switch(u.label){case 0:x(!0),j(null),_([]),u.label=1;case 1:return u.trys.push([1,,3,4]),(r=Array.from(new Set(e.filter(Boolean)))).length?[4,Promise.all(r.map(function(e){return an(function(){var n;return sn(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,Wt(e,t)];case 1:return[2,(null!=(n=r.sent())?n:[]).map(fn).filter(function(e){return Boolean(e.uuid)})];case 2:return r.sent(),[2,[]];case 3:return[2]}})})()}))]:(_([]),j(null),[2]);case 2:return o=u.sent(),(a=z(o.flat())).length?(_(a),i=new Set(a.map(function(e){return e.uuid})),(l=(null!=U?U:[]).filter(function(e){return(null==e?void 0:e.uuid)&&i.has(e.uuid)})).length!==(null!==(n=null==U?void 0:U.length)&&void 0!==n?n:0)&&y({questions:M,answers:l}),[3,4]):(j("Selected question(s) have no configured answers. Please choose a different question."),_([]),[2]);case 3:return x(!1),[7];case 4:return[2]}})})()},[z,y,U,M]);r.useEffect(function(){var e=(null!=M?M:[]).map(function(e){return e.uuid}).filter(Boolean);if(!e.length)return _([]),j(null),void x(!1);var t=new AbortController;return F(e,t.signal),function(){return t.abort()}},[F,M]);var q=(null!==(o=null==M?void 0:M.length)&&void 0!==o?o:0)>0&&!k&&!I;return r.createElement("div",null,r.createElement("div",{style:{marginBottom:"0.5rem",fontWeight:600}},u),c?r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginBottom:"0.75rem"}},c):null,r.createElement("div",{style:{marginBottom:"1rem"}},r.createElement("div",{style:{marginBottom:"0.5rem",fontWeight:600}},d),r.createElement(i.a32,{key:$,id:"".concat(l,"-questions"),titleText:"Search question concept",items:null!=E?E:[],itemToString:mn,placeholder:"Type to search question…",onInputChange:function(e){return b(String(null!=e?e:""))},onChange:function(e){var t;return function(e){if(e){var t=fn(e),n=z(un(null!=M?M:[]).concat([t]));y({questions:n,answers:U}),R(function(e){return e+1})}}(null!==(t=null==e?void 0:e.selectedItem)&&void 0!==t?t:null)}}),r.createElement("div",{style:{marginTop:"0.5rem"}},A?r.createElement(i.OuH,{description:"Searching…"}):null,!A&&w?r.createElement("div",{style:{fontSize:"0.875rem",color:"var(--cds-text-error, #da1e28)"}},w):null),(null==M?void 0:M.length)?r.createElement("div",{style:{marginTop:"0.75rem",display:"flex",flexWrap:"wrap",gap:"0.5rem"}},M.map(function(e){return r.createElement(i.vwO,{key:e.uuid,type:"gray",filter:!0,onClose:function(){return t=e.uuid,n=(null!=M?M:[]).filter(function(e){return e.uuid!==t}),void y({questions:n,answers:U});var t,n},title:yn(e)},e.display,e.icd10Code?" • ICD-10:".concat(e.icd10Code):"",e.icd11Code?" • ICD-11:".concat(e.icd11Code):"")}),r.createElement(i.vwO,{type:"red",filter:!0,onClose:function(){y({questions:[],answers:[]}),_([]),j(null),x(!1)},title:"Clear all questions"},"Clear all")):null),r.createElement("div",null,r.createElement("div",{style:{marginBottom:"0.5rem",fontWeight:600}},f),(null!==(a=null==M?void 0:M.length)&&void 0!==a?a:0)>0?r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginBottom:"0.75rem"}},"Pick answer concept(s) for selected question(s)."):r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginBottom:"0.75rem"}},"Select at least one question first to load allowed answers."),k?r.createElement(i.OuH,{description:"Loading answers…"}):null,!k&&I?r.createElement("div",{style:{fontSize:"0.875rem",color:"var(--cds-text-error, #da1e28)",marginBottom:"0.75rem"}},I):null,r.createElement(i.a32,{key:D,id:"".concat(l,"-answers"),titleText:"Select answer",items:S,itemToString:function(e){return yn(e)},disabled:!q,placeholder:q?"Type to filter answers…":"Answers disabled",onChange:function(e){var t;return function(e){if(e){var t=z(un(null!=U?U:[]).concat([e]));y({questions:M,answers:t}),N(function(e){return e+1})}}(null!==(t=null==e?void 0:e.selectedItem)&&void 0!==t?t:null)}}),(null==U?void 0:U.length)?r.createElement("div",{style:{marginTop:"0.75rem",display:"flex",flexWrap:"wrap",gap:"0.5rem"}},U.map(function(e){return r.createElement(i.vwO,{key:e.uuid,type:"gray",filter:!0,onClose:function(){return t=e.uuid,void y({questions:M,answers:(null!=U?U:[]).filter(function(e){return e.uuid!==t})});var t},title:yn(e)},e.display,e.icd10Code?" • ICD-10:".concat(e.icd10Code):"",e.icd11Code?" • ICD-11:".concat(e.icd11Code):"")})):null))}function vn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){bn(e,t,n[t])})}return e}function An(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function En(e){return function(e){if(Array.isArray(e))return vn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return vn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vn(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wn(e){return e.map(function(e){return Number(e)}).filter(function(e){return Number.isFinite(e)&&e>0})}function Cn(e){return e.map(function(e){return String(e)}).filter(Boolean)}function Sn(e){var t=e.conditions,n=e.picked,o=e.onPickedChange,a=e.conceptUi,l=e.onConceptUiChange,u=e.qaUi,c=e.onQaUiChange,s=r.useCallback(function(e,t){var r,a=null!==(r=(null!=n?n:[]).find(function(t){return t.key===e.key}))&&void 0!==r?r:{key:e.key,operator:e.operator,valueType:e.valueType,value:"QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler?{questions:[],answers:[]}:"IN"===e.operator||"NOT_IN"===e.operator?[]:""};o(function(e,t){var n=(null!=e?e:[]).findIndex(function(e){return e.key===t.key});if(-1===n)return En(null!=e?e:[]).concat([t]);var r=En(null!=e?e:[]);return r[n]=hn({},r[n],t),r}(null!=n?n:[],An(hn({},a,t),{key:e.key})))},[o,n]),d=r.useCallback(function(e,t){var n;c(An(hn({},null!=u?u:{}),bn({},e,hn({},null!==(n=null==u?void 0:u[e])&&void 0!==n?n:{questions:[],answers:[]},t))))},[c,u]),p=r.useCallback(function(e,t){l(An(hn({},null!=a?a:{}),bn({},e,t)))},[l,a]);return(null==t?void 0:t.length)?r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Conditions"),r.createElement(i.BJc,{gap:5},t.map(function(e){var t=(null!=n?n:[]).find(function(t){return t.key===e.key});if("QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler){var o,l,c=null!==(o=null==u?void 0:u[e.key])&&void 0!==o?o:{questions:[],answers:[]};return r.createElement("div",{key:e.key},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.25rem"}},e.label||e.key),r.createElement(gn,{id:"cond-".concat(e.key),labelText:e.label||"Select question(s) & answers",value:{questions:c.questions,answers:c.answers},onChange:function(t){var n,r,o,a;d(e.key,{questions:t.questions,answers:t.answers,error:void 0});var i="conceptUuid"===e.valueType?Cn((null!==(n=t.questions)&&void 0!==n?n:[]).map(function(e){return e.uuid})):wn((null!==(r=t.questions)&&void 0!==r?r:[]).map(function(e){return e.id})),l="conceptUuid"===e.valueType?Cn((null!==(o=t.answers)&&void 0!==o?o:[]).map(function(e){return e.uuid})):wn((null!==(a=t.answers)&&void 0!==a?a:[]).map(function(e){return e.id}));s(e,{value:{questions:i,answers:l}})}}),(null==u||null===(l=u[e.key])||void 0===l?void 0:l.error)?r.createElement("div",{style:{marginTop:"0.5rem",color:"var(--cds-text-error, #da1e28)",fontSize:"0.875rem"}},u[e.key].error):null)}if("CONCEPT_SEARCH"===e.handler){var f,m=null!==(f=null==a?void 0:a[e.key])&&void 0!==f?f:[];return r.createElement("div",{key:e.key},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.25rem"}},e.label||e.key),r.createElement(nn,{id:"cond-".concat(e.key),labelText:e.label||"Select concepts",value:m,onChange:function(t){p(e.key,t),"conceptUuid"===e.valueType?s(e,{value:Cn(t.map(function(e){return e.uuid}))}):s(e,{value:wn(t.map(function(e){return e.id}))})}}))}return r.createElement("div",{key:e.key},r.createElement(i.ksK,{id:"cond-".concat(e.key),labelText:e.label||e.key,value:"string"==typeof(null==t?void 0:t.value)?t.value:"",onChange:function(t){return s(e,{value:t.target.value})}}))}))):r.createElement("div",{style:{opacity:.8}},"No conditions configured for this theme.")}function _n(e){var t=e.sql;return t?r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"SQL Preview"),r.createElement("pre",{style:{fontSize:"0.875rem",background:"var(--cds-layer-01)",padding:"0.75rem",borderRadius:6,overflowX:"auto"}},t)):r.createElement("div",{style:{opacity:.8}},"SQL preview will appear once a theme is selected.")}function On(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function kn(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function xn(e){return"'".concat(String(e).replace(/'/g,"''"),"'")}function Tn(e){var t=String(null!=e?e:"").trim();return t?t.includes(".")||t.includes("(")||t.includes(" ")||t.includes("`")?t:"a.".concat(t):t}function In(e){return(Array.isArray(e)?e:[e]).map(function(e){return String(e)}).filter(function(e){return e.trim().length>0})}function jn(e,t,n){var r,o,a=e.split("\n"),i=a.findIndex(function(e){return e.includes("mdp.birthdate IS NOT NULL")}),l=i>-1?i:a.length,u=[],c=!0,s=!1,d=void 0;try{for(var p,f=function(){var e,t,r=p.value,o=n.find(function(e){return e.key===r.key});if(!o)return"continue";var a=o.value;if(null==a)return"continue";var i,l,c=function(e){var t=String(null!=e?e:"").trim().toUpperCase();return"EQUALS"===t?"=":"GTE"===t?">=":"LTE"===t?"<=":"NOT_IN"===t?"NOT IN":"IN"===t?"IN":"LIKE"===t?"LIKE":"BETWEEN"===t?"BETWEEN":"="===t||"!="===t||">"===t||">="===t||"<"===t||"<="===t?t:"IN"}(null!==(e=null!==(t=o.operator)&&void 0!==t?t:r.operator)&&void 0!==e?e:"IN");if("QUESTION_ANSWER_CONCEPT_SEARCH"===r.handler&&function(e){return e&&"object"===(void 0===e?"undefined":kn(e))&&("question"in e||"questions"in e||"answers"in e)}(a)){var s,d,f,m,y=Array.isArray(a.questions)?a.questions:null!==a.question&&void 0!==a.question&&""!==String(a.question).trim()?[a.question]:[],g=Array.isArray(a.answers)?a.answers:[],v=null!==(s=null==r||null===(f=r.columns)||void 0===f?void 0:f.question)&&void 0!==s?s:r.questionColumn,b=null!==(d=null==r||null===(m=r.columns)||void 0===m?void 0:m.answer)&&void 0!==d?d:r.answerColumn;if((!v||!b)&&(null==r?void 0:r.column)){var h=function(e){var t,n=String(null!=e?e:"").trim();if(!n)return{questionColumn:void 0,answerColumn:void 0};var r=n.match(/QA\s*$begin:math:text$\(\.\*\)$end:math:text$/i);if(!r)return{questionColumn:void 0,answerColumn:void 0};var o=(null!==(t=r[1])&&void 0!==t?t:"").trim();if(!o)return{questionColumn:void 0,answerColumn:void 0};var a=o.split(",").map(function(e){return e.trim()}).filter(Boolean);return{questionColumn:a[0],answerColumn:a[1]}}(r.column);v=null!=v?v:h.questionColumn,b=null!=b?b:h.answerColumn}var A=null==r?void 0:r.column;if(!v&&A&&(v=A),b||!A||(i=A,l=String(null!=i?i:"").trim(),/^([a-z]\.)?QA\s*\(/i.test(l))||(b=A),v&&y.length){var E=In(y);if(E.length){var w="conceptId"===r.valueType||E.every(function(e){return/^[0-9]+$/.test(e)}),C=E.map(function(e){return w?e:xn(e)}).join(","),S=Tn(v);1===E.length?u.push(" AND ".concat(S," = ").concat(C)):u.push(" AND ".concat(S," IN (").concat(C,")"))}}if(b&&Array.isArray(g)&&g.length){var _=In(g);if(_.length){var O="conceptId"===r.valueType||_.every(function(e){return/^[0-9]+$/.test(e)}),k=_.map(function(e){return O?e:xn(e)}).join(","),x=Tn(b);"NOT IN"===c?u.push(" AND ".concat(x," NOT IN (").concat(k,")")):u.push(" AND ".concat(x," IN (").concat(k,")"))}}return"continue"}if(Array.isArray(a)){var T=In(a);if(!T.length)return"continue";var I="conceptId"===r.valueType||T.every(function(e){return/^[0-9]+$/.test(e)}),j=T.map(function(e){return I?e:xn(e)}).join(","),P=Tn(r.column);return"NOT IN"===c?u.push(" AND ".concat(P," NOT IN (").concat(j,")")):"IN"===c?u.push(" AND ".concat(P," IN (").concat(j,")")):u.push(" AND ".concat(P," ").concat(c," (").concat(j,")")),"continue"}if("object"===(void 0===a?"undefined":kn(a)))return"continue";var D=String(a),N="conceptId"===r.valueType||/^[0-9]+$/.test(D)?D:xn(D),B=Tn(r.column);!function(e){return"IN"===e||"NOT IN"===e}(c)?u.push(" AND ".concat(B," ").concat(c," ").concat(N)):"NOT IN"===c?u.push(" AND ".concat(B," NOT IN (").concat(N,")")):u.push(" AND ".concat(B," IN (").concat(N,")"))},m=(null!=t?t:[])[Symbol.iterator]();!(c=(p=m.next()).done);c=!0)f()}catch(e){s=!0,d=e}finally{try{c||null==m.return||m.return()}finally{if(s)throw d}}return(r=a).splice.apply(r,[l,0].concat(function(e){if(Array.isArray(e))return On(e)}(o=u)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return On(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?On(e,t):void 0}}(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())),a.join("\n")}function Pn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Dn(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Nn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Nn(e,t,n[t])})}return e}function $n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Pn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pn(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rn(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function Mn(e){var t,n,r,o,a,i;if(!(null==e?void 0:e.configJson))return null;var l,u,c,s,d=null;try{d=JSON.parse(e.configJson)}catch(e){return null}if(!d||"object"!==(void 0===d?"undefined":Rn(d)))return null;if(d.themeUuid&&d.themeConfig)return{version:1,themeUuid:d.themeUuid,themeConfig:d.themeConfig,conditions:Array.isArray(d.conditions)?d.conditions:[],sqlPreview:null!==(l=null!==(u=d.sqlPreview)&&void 0!==u?u:e.sqlTemplate)&&void 0!==l?l:""};if((null===(t=d.base)||void 0===t?void 0:t.themeUuid)&&(null===(n=d.base)||void 0===n?void 0:n.themeConfig))return{version:1,themeUuid:d.base.themeUuid,themeConfig:d.base.themeConfig,conditions:Array.isArray(d.base.conditions)?d.base.conditions:[],sqlPreview:null!==(c=null!==(s=d.base.sqlPreview)&&void 0!==s?s:e.sqlTemplate)&&void 0!==c?c:""};if((null===(o=d.authoring)||void 0===o||null===(r=o.base)||void 0===r?void 0:r.themeUuid)&&(null===(i=d.authoring)||void 0===i||null===(a=i.base)||void 0===a?void 0:a.themeConfig)){var p,f,m=d.authoring.base;return{version:1,themeUuid:m.themeUuid,themeConfig:m.themeConfig,conditions:Array.isArray(m.conditions)?m.conditions:[],sqlPreview:null!==(p=null!==(f=m.sqlPreview)&&void 0!==f?f:e.sqlTemplate)&&void 0!==p?p:""}}return null}function Un(e){return"QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler?{questions:[],answers:[]}:"IN"===e.operator||"NOT_IN"===e.operator?[]:""}function zn(e){var t,n=e.open,o=e.mode,a=e.initial,l=e.initialConceptUi,u=e.initialQaUi,c=e.onClose,s=e.onCreate,d=e.onUpdate,p=e.onSaved,f="edit"===o,m=$n(r.useState("basics"),2),y=m[0],g=m[1],v=$n(r.useState(""),2),b=v[0],h=v[1],A=$n(r.useState(""),2),E=A[0],w=A[1],C=$n(r.useState(""),2),S=C[0],_=C[1],O=$n(r.useState([]),2),k=O[0],x=O[1],T=$n(r.useState(!1),2),I=T[0],j=T[1],P=$n(r.useState(null),2),D=P[0],N=P[1],B=$n(r.useState(""),2),$=B[0],R=B[1],M=$n(r.useState(null),2),U=M[0],z=M[1],F=$n(r.useState(null),2),q=F[0],L=F[1],G=$n(r.useState([]),2),J=G[0],W=G[1],H=$n(r.useState({}),2),K=H[0],Q=H[1],Y=$n(r.useState({}),2),V=Y[0],X=Y[1],Z=$n(r.useState(""),2),ee=Z[0],te=Z[1],ne=$n(r.useState(!1),2),re=ne[0],ae=ne[1];r.useEffect(function(){if(n){g("basics");var e,t=new AbortController;return j(!0),N(null),x([]),(e=t.signal,Ot(function(){return kt(this,function(t){switch(t.label){case 0:return[4,oe(void 0?"".concat(xt,"?q=").concat(encodeURIComponent(void 0),"&v=full"):"".concat(xt,"?v=full"),e)];case 1:return[2,(n=t.sent(),Array.isArray(n)?n:null!==(r=null==n?void 0:n.results)&&void 0!==r?r:[])]}var n,r})})()).then(function(e){return x(null!=e?e:[])}).catch(function(e){var t;return N(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load themes")}).finally(function(){return j(!1)}),function(){return t.abort()}}},[n]),r.useEffect(function(){if(n)if(f&&a){var e,t,r;h(null!==(e=a.name)&&void 0!==e?e:""),w(null!==(t=a.code)&&void 0!==t?t:""),_(null!==(r=a.description)&&void 0!==r?r:"");var o,i,c,s=Mn(a);(null==s?void 0:s.themeUuid)&&(null==s?void 0:s.themeConfig)?(R(s.themeUuid),z(s.themeConfig),W(null!==(o=s.conditions)&&void 0!==o?o:[]),te(null!==(i=s.sqlPreview)&&void 0!==i?i:"")):(R(null!==(c=a.themeUuid)&&void 0!==c?c:""),z(null),W([]),te("")),Q(null!=l?l:{}),X(null!=u?u:{}),ae(!1)}else h(""),w(""),_(""),R(""),z(null),L(null),W([]),Q({}),X({}),te(""),ae(!0)},[n,f,a,l,u]);var ie=r.useCallback(function(e){R(e),ae(!0)},[]),le=r.useCallback(function(e){W(e),ae(!0)},[]);r.useEffect(function(){if(n){if(!$)return z(null),L(null),W([]),void(f||te(""));if((null==U?void 0:U.sourceTable)&&(null==a?void 0:a.configJson)){var e,t=Mn(a);if((null==t?void 0:t.themeUuid)===$&&(null==t||null===(e=t.themeConfig)||void 0===e?void 0:e.sourceTable)===U.sourceTable)return}var r=new AbortController;return L(null),Dt($,r.signal).then(function(e){var t,n,r=(t=e.configJson,(n=function(e,t){try{if(!e)return t;var n=JSON.parse(e);return null!=n?n:t}catch(e){return t}}(t,{}))&&"object"===(void 0===n?"undefined":Rn(n))&&n.configJson&&"object"===Rn(n.configJson)?n.configJson:n);z(r),W(function(e){var t;return function(e,t){var n=new Map,r=!0,o=!1,a=void 0;try{for(var i,l=(null!=t?t:[])[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var u=i.value;(null==u?void 0:u.key)&&n.set(u.key,u)}}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}var c=[],s=!0,d=!1,p=void 0;try{for(var f,m=(null!=e?e:[])[Symbol.iterator]();!(s=(f=m.next()).done);s=!0){var y=f.value;if(null==y?void 0:y.key){var g=n.get(y.key);g?c.push(g):c.push({key:y.key,operator:y.operator,valueType:y.valueType,value:Un(y)})}}}catch(e){d=!0,p=e}finally{try{s||null==m.return||m.return()}finally{if(d)throw p}}var v=!0,b=!1,h=void 0;try{for(var A,E=(null!=t?t:[])[Symbol.iterator]();!(v=(A=E.next()).done);v=!0){var w=A.value;(null==w?void 0:w.key)&&n.has(w.key)}}catch(e){b=!0,h=e}finally{try{v||null==E.return||E.return()}finally{if(b)throw h}}var C=!0,S=!1,_=void 0;try{for(var O,k=function(){var t=O.value;if(!(null==t?void 0:t.key))return"continue";var n=(null!=e?e:[]).some(function(e){return(null==e?void 0:e.key)===t.key});n||c.push(t)},x=(null!=t?t:[])[Symbol.iterator]();!(C=(O=x.next()).done);C=!0)k()}catch(e){S=!0,_=e}finally{try{C||null==x.return||x.return()}finally{if(S)throw _}}return c}(null!==(t=r.conditions)&&void 0!==t?t:[],null!=e?e:[])}),Q(function(e){var t,n=Bn({},null!=e?e:{}),o=!0,a=!1,i=void 0;try{for(var l,u=(null!==(t=r.conditions)&&void 0!==t?t:[])[Symbol.iterator]();!(o=(l=u.next()).done);o=!0){var c=l.value;"CONCEPT_SEARCH"!==c.handler||c.key in n||(n[c.key]=[])}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}return n}),X(function(e){var t,n=Bn({},null!=e?e:{}),o=!0,a=!1,i=void 0;try{for(var l,u=(null!==(t=r.conditions)&&void 0!==t?t:[])[Symbol.iterator]();!(o=(l=u.next()).done);o=!0){var c=l.value;"QUESTION_ANSWER_CONCEPT_SEARCH"!==c.handler||c.key in n||(n[c.key]={questions:[],answers:[]})}}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}return n})}).catch(function(e){var t;return L(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load theme config")}),function(){return r.abort()}}},[n,$]),r.useEffect(function(){var e;if(U&&(!f||re)){var t,n,r,o,a,i=(n=(t=U).sourceTable,r=t.patientIdColumn,o=t.dateColumn,(a=[]).push("SELECT"),a.push(" COUNT(*) AS total"),a.push("FROM ".concat(n," a")),a.push("JOIN ".concat("mamba_fact_patients_latest_patient_demographics"," mdp")),a.push(" ON mdp.patient_id = a.".concat(r)),a.push("WHERE a.".concat(o," >= ':startDate'")),a.push(" AND a.".concat(o," < ':endDate'")),a.push(" AND mdp.birthdate IS NOT NULL"),a.push(" AND mdp.gender IS NOT NULL"),a.push(";"),a.join("\n"));te(jn(i,null!==(e=U.conditions)&&void 0!==e?e:[],J))}},[U,J,f,re]);var ue=Boolean(b.trim())&&Boolean($)&&Boolean(null==U?void 0:U.sourceTable)&&Boolean(null==U?void 0:U.patientIdColumn)&&Boolean(null==U?void 0:U.dateColumn);if(!n)return null;var ce=function(e){var t=e.id,n=e.label;return r.createElement(i.VxE,{isActive:y===t,onClick:function(){return g(t)}},n)};return r.createElement(i.aFV,{open:n,modalHeading:f?"Edit Base Indicator":"Create Base Indicator",primaryButtonText:f?"Save":"Create",secondaryButtonText:"Cancel",onRequestClose:c,onRequestSubmit:function(){return(e=function(){var e,t,n,r;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(o){switch(o.label){case 0:return ue&&U?(t=function(e,t,n,r){var o=new Map,a=!0,i=!1,l=void 0;try{for(var u,c=(null!=t?t:[])[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var s=u.value;(null==s?void 0:s.key)&&o.set(s.key,s)}}catch(e){i=!0,l=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw l}}var d=[],p=!0,f=!1,m=void 0;try{for(var y,g=(null!=e?e:[])[Symbol.iterator]();!(p=(y=g.next()).done);p=!0){var v=y.value;if(null==v?void 0:v.key){var b=o.get(v.key),h=b?Bn({},b):{key:v.key,operator:v.operator,valueType:v.valueType,value:Un(v)};if("CONCEPT_SEARCH"===v.handler){var A,E=null!==(A=null==n?void 0:n[v.key])&&void 0!==A?A:[],w=(null!=E?E:[]).map(function(e){return e.uuid}).filter(Boolean);h.valueType="conceptUuid",h.value=w}if("QUESTION_ANSWER_CONCEPT_SEARCH"===v.handler){var C,S,_,O=null!==(C=null==r?void 0:r[v.key])&&void 0!==C?C:{questions:[],answers:[]},k=(null!==(S=O.questions)&&void 0!==S?S:[]).map(function(e){return e.uuid}).filter(Boolean),x=(null!==(_=O.answers)&&void 0!==_?_:[]).map(function(e){return e.uuid}).filter(Boolean);h.valueType="conceptUuid",h.value={questions:k,answers:x}}d.push(h)}}}catch(e){f=!0,m=e}finally{try{p||null==g.return||g.return()}finally{if(f)throw m}}var T=new Set((null!=e?e:[]).map(function(e){return null==e?void 0:e.key}).filter(Boolean)),I=!0,j=!1,P=void 0;try{for(var D,N=(null!=t?t:[])[Symbol.iterator]();!(I=(D=N.next()).done);I=!0){var B=D.value;(null==B?void 0:B.key)&&(T.has(B.key)||d.push(B))}}catch(e){j=!0,P=e}finally{try{I||null==N.return||N.return()}finally{if(j)throw P}}return d}(null!==(e=U.conditions)&&void 0!==e?e:[],J,K,V),n=function(e,t,n,r){return{version:1,themeUuid:e,themeConfig:t,conditions:n,sqlPreview:r}}($,U,t,ee),r={name:b.trim(),code:E.trim()||void 0,description:S.trim()||void 0,kind:"BASE",defaultValueType:"NUMBER",themeUuid:$,configJson:JSON.stringify(n,null,2),sqlTemplate:ee,metaJson:void 0},f&&(null==a?void 0:a.uuid)?[4,d(a.uuid,r)]:[3,2]):[2];case 1:return o.sent(),[3,4];case 2:return[4,s(r)];case 3:o.sent(),o.label=4;case 4:return p(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Dn(a,r,o,i,l,"next",e)}function l(e){Dn(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},primaryButtonDisabled:!ue,size:"lg"},r.createElement(i.BJc,{gap:6},r.createElement("div",{style:{display:"grid",gridTemplateColumns:"240px 1fr",gap:"1rem"}},r.createElement("div",null,r.createElement(i.f8J,{expanded:!0,isPersistent:!1,"aria-label":"Indicator editor sections"},r.createElement(i.BC4,null,r.createElement(ce,{id:"basics",label:"Basics"}),r.createElement(ce,{id:"theme",label:"Theme"}),r.createElement(ce,{id:"conditions",label:"Conditions"}),r.createElement(ce,{id:"sql",label:"SQL Preview"})))),r.createElement(i.UCW,{style:{padding:0}},"basics"===y?r.createElement(Rt,{value:{name:b,code:E,description:S},onChange:function(e){h(e.name),w(e.code),_(e.description)}}):null,"theme"===y?r.createElement(Mt,{themes:k,loading:I,error:D,themeUuid:$,onThemeUuidChange:ie,themeConfigError:q}):null,"conditions"===y?r.createElement(Sn,{conditions:null!==(t=null==U?void 0:U.conditions)&&void 0!==t?t:[],picked:J,onPickedChange:le,conceptUi:K,onConceptUiChange:function(e){Q(e),ae(!0)},qaUi:V,onQaUiChange:function(e){X(e),ae(!0)}}):null,"sql"===y?r.createElement(_n,{sql:ee}):null))))}function Fn(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function qn(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Fn(a,r,o,i,l,"next",e)}function l(e){Fn(a,r,o,i,l,"throw",e)}i(void 0)})}}function Ln(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gn(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var Jn="/reportbuilder/indicator";function Wn(e){return t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ln(e,t,n[t])})}return e}({},e),n=null!=(n={configJson:e.configJson?le(e.configJson):e.configJson,metaJson:e.metaJson?le(e.metaJson):e.metaJson,sqlTemplate:e.sqlTemplate?le(e.sqlTemplate):e.sqlTemplate,denominatorSqlTemplate:e.denominatorSqlTemplate?le(e.denominatorSqlTemplate):e.denominatorSqlTemplate})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t;var t,n}function Hn(e,t){return qn(function(){var n,r,o,a,i,l,u,c,s;return Gn(this,function(d){switch(d.label){case 0:return i=null==e||null===(r=e.q)||void 0===r?void 0:r.trim(),l=(null==e||null===(a=e.kind)||void 0===a||null===(o=a.trim)||void 0===o?void 0:o.call(a))?e.kind:null==e?void 0:e.kind,u=!0===(null==e?void 0:e.includeRetired),c=null!==(n=null==e?void 0:e.v)&&void 0!==n?n:"default",(s=new URLSearchParams).set("v",c),i&&s.set("q",i),l&&s.set("kind",l),u&&s.set("includeRetired","true"),[4,oe("".concat(Jn,"?").concat(s.toString()),t)];case 1:return[2,(p=d.sent(),p?Array.isArray(p)?p:Array.isArray(p.results)?p.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)}).map(Wn)]}var p})})()}function Kn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"full";return qn(function(){return Gn(this,function(r){switch(r.label){case 0:return[4,oe("".concat(Jn,"/").concat(encodeURIComponent(e),"?v=").concat(n),t)];case 1:return[2,Wn(r.sent())]}})})()}function Qn(e,t){return qn(function(){return Gn(this,function(n){return[2,ae(Jn,e,t)]})})()}function Yn(e,t,n){return qn(function(){return Gn(this,function(r){return[2,ae("".concat(Jn,"/").concat(encodeURIComponent(e)),t,n)]})})()}function Vn(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Retired via UI",r=arguments.length>3?arguments[3]:void 0;return qn(function(){var o;return Gn(this,function(a){switch(a.label){case 0:return o=t?"purge=true":"purge=false&reason=".concat(encodeURIComponent(n)),[4,ie("".concat(Jn,"/").concat(encodeURIComponent(e),"?").concat(o),r)];case 1:return a.sent(),[2]}})})()}function Xn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Xn(e,t,n[t])})}return e}function er(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function tr(e){var t=e.value,n=e.onChange;return r.createElement(i.BJc,{gap:5},r.createElement(i.ksK,{id:"composite-name",labelText:"Indicator Name",value:t.name,onChange:function(e){return n(er(Zn({},t),{name:e.target.value}))}}),r.createElement(i.ksK,{id:"composite-code",labelText:"Code",helperText:"Auto-generated if blank",value:t.code,onChange:function(e){return n(er(Zn({},t),{code:e.target.value}))},placeholder:"E.g. PREG_AND_MAL"}),r.createElement(i.fs1,{id:"composite-description",labelText:"Description",value:t.description,onChange:function(e){return n(er(Zn({},t),{description:e.target.value}))}}))}var nr=n(7136);function rr(e){return"Encounters"===e?"encounter_id":"patient_id"}function or(e){try{var t,n,r,o,a=(null==e?void 0:e.configJson)?JSON.parse(e.configJson):null,i=(null==a?void 0:a.themeConfig)||(null==a||null===(t=a.base)||void 0===t?void 0:t.themeConfig)||(null==a||null===(r=a.authoring)||void 0===r||null===(n=r.base)||void 0===n?void 0:n.themeConfig)||(null==a||null===(o=a.baseIndicator)||void 0===o?void 0:o.themeConfig)||null,l=null==i?void 0:i.patientIdColumn;return l?String(l):"patient_id"}catch(e){return"patient_id"}}function ar(e){var t,n=(null!==(t=null==e?void 0:e.sqlTemplate)&&void 0!==t?t:"").trim();if(n)return{sql:n,source:"indicator.sqlTemplate"};try{var r,o,a,i,l,u,c,s,d,p,f,m,y,g,v,b,h=(null==e?void 0:e.configJson)?JSON.parse(e.configJson):null,A=(null!==(r=null==h?void 0:h.sqlPreview)&&void 0!==r?r:"").trim();if(A)return{sql:A,source:"configJson.sqlPreview"};var E=(null!==(o=null==h?void 0:h.sqlTemplate)&&void 0!==o?o:"").trim();if(E)return{sql:E,source:"configJson.sqlTemplate"};var w=(null!==(a=null==h||null===(d=h.base)||void 0===d?void 0:d.sqlPreview)&&void 0!==a?a:"").trim();if(w)return{sql:w,source:"configJson.base.sqlPreview"};var C=(null!==(i=null==h||null===(p=h.base)||void 0===p?void 0:p.sqlTemplate)&&void 0!==i?i:"").trim();if(C)return{sql:C,source:"configJson.base.sqlTemplate"};var S=(null!==(l=null==h||null===(m=h.authoring)||void 0===m||null===(f=m.base)||void 0===f?void 0:f.sqlPreview)&&void 0!==l?l:"").trim();if(S)return{sql:S,source:"configJson.authoring.base.sqlPreview"};var _=(null!==(u=null==h||null===(g=h.authoring)||void 0===g||null===(y=g.base)||void 0===y?void 0:y.sqlTemplate)&&void 0!==u?u:"").trim();if(_)return{sql:_,source:"configJson.authoring.base.sqlTemplate"};var O=(null!==(c=null==h||null===(v=h.baseIndicator)||void 0===v?void 0:v.sqlPreview)&&void 0!==c?c:"").trim();if(O)return{sql:O,source:"configJson.baseIndicator.sqlPreview"};var k=(null!==(s=null==h||null===(b=h.baseIndicator)||void 0===b?void 0:b.sqlTemplate)&&void 0!==s?s:"").trim();return k?{sql:k,source:"configJson.baseIndicator.sqlTemplate"}:{sql:"",source:"none"}}catch(e){return{sql:"",source:"none(parse-error)"}}}function ir(e,t,n){var r=rr(n),o=(null!=e?e:"").trim();if(!o)return"";var a=o.replace(/;+\s*$/,""),i=a.search(/SELECT\s+COUNT\s*\(\s*\*\s*\)\s+AS\s+total/i),l=a.match(/FROM\s*\(\s*(SELECT[\s\S]*?)\)\s*X\b/i);if(i>=0&&(null==l?void 0:l[1])){var u=a.slice(0,i).trim(),c=l[1].trim().replace(/;+\s*$/,"");return"\n".concat(u,"\nSELECT DISTINCT pop.").concat(r," AS ").concat(r,"\nFROM (\n").concat(c,"\n) pop\n").trim()}var s=a.replace(/SELECT\s+([\s\S]*?)COUNT\s*\(\s*\*\s*\)\s+AS\s+total\s*/i,"SELECT DISTINCT a.".concat(t," AS ").concat(r,"\n"));return s===a?a.replace(/COUNT\s*\(\s*\*\s*\)\s+AS\s+total/gi,"DISTINCT a.".concat(t," AS ").concat(r)):s}function lr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ur=function(e){var t=e.unit?" • ".concat(e.unit):"";return"".concat(e.name," (").concat(e.code,")").concat(t)};function cr(e){var t=e.baseIndicators,n=e.indicatorAId,o=e.indicatorBId,a=e.operator,l=e.inferredUnit,u=e.samePick,c=e.onChangeA,s=e.onChangeB,d=e.onChangeOperator,p=r.useMemo(function(){return[{id:"",label:"Select an indicator…",isPlaceholder:!0}].concat(function(e){if(Array.isArray(e))return lr(e)}(e=t.map(function(e){return{id:e.id,label:ur(e),unit:e.unit}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return lr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lr(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());var e},[t]),f=r.useMemo(function(){var e,t;return null!==(e=p.find(function(e){return e.id===n}))&&void 0!==e?e:n?null:null!==(t=p[0])&&void 0!==t?t:null},[p,n]),m=r.useMemo(function(){var e,t;return null!==(e=p.find(function(e){return e.id===o}))&&void 0!==e?e:o?null:null!==(t=p[0])&&void 0!==t?t:null},[p,o]);return r.createElement(r.Fragment,null,r.createElement("div",{style:{fontWeight:600}},"Select base indicators"),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr auto 1fr",gap:"0.75rem",alignItems:"end"}},r.createElement(i.a32,{id:"indicator-a",titleText:"Indicator A",items:p,itemToString:function(e){return e?e.label:""},selectedItem:f,placeholder:"Type to search…",invalid:Boolean(u)&&Boolean(n)&&Boolean(o),invalidText:"Indicator A and B cannot be the same.",onChange:function(e){var t=e.selectedItem;t&&!t.isPlaceholder?c(t.id):c("")}}),r.createElement("div",{style:{paddingBottom:"0.35rem"}},r.createElement("div",{style:{fontSize:"0.875rem",opacity:.75,marginBottom:"0.25rem",textAlign:"center"}},"Logic"),r.createElement("div",{style:{minWidth:"6rem",textAlign:"center",padding:"0.55rem 0.75rem",borderRadius:"0.25rem",background:"var(--cds-layer, #ffffff)",border:"1px solid var(--cds-border-subtle, #e0e0e0)",fontWeight:600},"aria-label":"Selected operator"},"A_AND_NOT_B"===a?"A AND NOT B":a)),r.createElement(i.a32,{id:"indicator-b",titleText:"Indicator B",items:p,itemToString:function(e){return e?e.label:""},selectedItem:m,placeholder:"Type to search…",invalid:Boolean(u)&&Boolean(n)&&Boolean(o),invalidText:"Indicator A and B cannot be the same.",onChange:function(e){var t=e.selectedItem;t&&!t.isPlaceholder?s(t.id):s("")}})),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",gap:"0.75rem",alignItems:"center",padding:"0.75rem",borderRadius:"0.25rem",background:"var(--cds-layer-accent, #f4f4f4)",marginTop:"0.75rem"}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",fontWeight:600}},"Operator ",r.createElement(nr.$$,{size:16})),r.createElement(i.zWQ,{legendText:"",name:"composite-operator",valueSelected:a,onChange:function(e){return d(e)},orientation:"horizontal"},r.createElement(i.aaP,{id:"op-and",labelText:"AND",value:"AND"}),r.createElement(i.aaP,{id:"op-or",labelText:"OR",value:"OR"}),r.createElement(i.aaP,{id:"op-a-not-b",labelText:"A AND NOT B",value:"A_AND_NOT_B"})),r.createElement("div",{style:{gridColumn:"1 / -1",fontSize:"0.875rem",opacity:.8}},"Composite preview is built by converting each base indicator into a population set (",rr(l),") and applying set logic.")))}function sr(e){var t=e.loading,n=e.errA,o=e.errB,a=e.compositeSql,l=e.show;return r.createElement(r.Fragment,null,t?r.createElement(i.OuH,{description:"Loading selected indicators…"}):null,n?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Indicator A",subtitle:n}):null,o?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Indicator B",subtitle:o}):null,!l||n||o?null:r.createElement(i.fs1,{id:"composite-sql-preview",labelText:"Composite SQL Preview",value:a||"—",readOnly:!0,rows:14}))}function dr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function pr(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function fr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return dr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const mr=function(e){var t=e.open,n=e.mode,o=void 0===n?"create":n,a=e.initial,l=e.onClose,u=e.onCreate,c=e.onUpdate,s=e.onSaved,d=e.baseIndicators,p=fr(r.useState(""),2),f=p[0],m=p[1],y=fr(r.useState(""),2),g=y[0],v=y[1],b=fr(r.useState(""),2),h=b[0],A=b[1],E=fr(r.useState(""),2),w=E[0],C=E[1],S=fr(r.useState(""),2),_=S[0],O=S[1],k=fr(r.useState("AND"),2),x=k[0],T=k[1],I=fr(r.useState(!1),2),j=I[0],P=I[1],D=fr(r.useState(!1),2),N=D[0],B=D[1],$=fr(r.useState(null),2),R=$[0],M=$[1],U=fr(r.useState(null),2),z=U[0],F=U[1],q=fr(r.useState(null),2),L=q[0],G=q[1],J=fr(r.useState(null),2),W=J[0],H=J[1];r.useEffect(function(){if(t){if("edit"===o&&(null==a?void 0:a.uuid)){var e,n,r,i,l,u,c,s,d,p,f=null!==(e=function(e){if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}(a.configJson))&&void 0!==e?e:{};return m(null!==(n=a.name)&&void 0!==n?n:""),v(null!==(r=a.code)&&void 0!==r?r:""),A(null!==(i=a.description)&&void 0!==i?i:""),C(String(null!==(l=null!==(u=f.indicatorAId)&&void 0!==u?u:f.indicatorAUuid)&&void 0!==l?l:"")),O(String(null!==(c=null!==(s=f.indicatorBId)&&void 0!==s?s:f.indicatorBUuid)&&void 0!==c?c:"")),T(null!==(d=String(null!==(p=f.operator)&&void 0!==p?p:"AND").toUpperCase())&&void 0!==d?d:"AND"),M(null),F(null),G(null),void H(null)}m(""),v(""),A(""),C(""),O(""),T("AND"),M(null),F(null),G(null),H(null)}},[t,o,null==a?void 0:a.uuid]);var K=r.useMemo(function(){var e;return null!==(e=d.find(function(e){return e.id===w}))&&void 0!==e?e:null},[d,w]),Q=r.useMemo(function(){var e;return null!==(e=d.find(function(e){return e.id===_}))&&void 0!==e?e:null},[d,_]),Y=Boolean(w&&_&&w===_),V=r.useMemo(function(){return"Patients"},[]);r.useEffect(function(){if(t){if(w){var e=new AbortController;return P(!0),M(null),Kn(w,e.signal,"full").then(function(e){return G(e)}).catch(function(e){var t;return M(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load indicator A")}).finally(function(){return P(!1)}),function(){return e.abort()}}G(null)}},[t,w]),r.useEffect(function(){if(t){if(_){var e=new AbortController;return B(!0),F(null),Kn(_,e.signal,"full").then(function(e){return H(e)}).catch(function(e){var t;return F(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load indicator B")}).finally(function(){return B(!1)}),function(){return e.abort()}}H(null)}},[t,_]);var X=r.useMemo(function(){if(!L)return"";var e=ar(L).sql,t=or(L);return e?ir(e,t,V):""},[L,V]),Z=r.useMemo(function(){if(!W)return"";var e=ar(W).sql,t=or(W);return e?ir(e,t,V):""},[W,V]),ee=r.useMemo(function(){return X&&Z?(t=rr((e={unit:V,operator:x,populationSqlA:X,populationSqlB:Z}).unit),n=e.populationSqlA.trim().replace(/;+\s*$/,""),r=e.populationSqlB.trim().replace(/;+\s*$/,""),n&&r?"AND"===e.operator?"\nWITH\nA AS (".concat(n,"),\nB AS (").concat(r,")\nSELECT COUNT(*) AS total\nFROM (\n SELECT A.").concat(t,"\n FROM A\n INNER JOIN B ON B.").concat(t," = A.").concat(t,"\n) X;\n").trim():"OR"===e.operator?"\nWITH\nA AS (".concat(n,"),\nB AS (").concat(r,")\nSELECT COUNT(*) AS total\nFROM (\n SELECT ").concat(t," FROM A\n UNION\n SELECT ").concat(t," FROM B\n) X;\n").trim():"\nWITH\nA AS (".concat(n,"),\nB AS (").concat(r,")\nSELECT COUNT(*) AS total\nFROM (\n SELECT A.").concat(t,"\n FROM A\n LEFT JOIN B ON B.").concat(t," = A.").concat(t,"\n WHERE B.").concat(t," IS NULL\n) X;\n").trim():""):"";var e,t,n,r},[X,Z,V,x]),te=Boolean(f.trim())&&Boolean(w)&&Boolean(_)&&!Y&&Boolean(ee.trim());return r.createElement(i.aFV,{open:t,onRequestClose:l,modalHeading:"edit"===o?"Edit Composite Indicator":"Create Composite Indicator",primaryButtonText:"edit"===o?"Update Indicator":"Save Indicator",secondaryButtonText:"Cancel",onRequestSubmit:function(){return(e=function(){var e,t,n;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(r){switch(r.label){case 0:if(!te)return[2];if(e=g.trim()?g.trim().toUpperCase():function(e){return e.toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,50)}(f),t={version:1,unit:V,operator:x,indicatorAId:w,indicatorBId:_,indicatorACode:null==K?void 0:K.code,indicatorBCode:null==Q?void 0:Q.code,sqlPreview:ee},n={name:f.trim(),code:e,description:h.trim()||void 0,kind:"COMPOSITE",defaultValueType:"NUMBER",themeUuid:null,configJson:JSON.stringify(t,null,2),sqlTemplate:ee},"edit"!==o||!(null==a?void 0:a.uuid))return[3,2];if(!c)throw new Error("onUpdate handler is required for edit mode");return[4,c(a.uuid,n)];case 1:return r.sent(),[3,4];case 2:return[4,u(n)];case 3:r.sent(),r.label=4;case 4:return s(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){pr(a,r,o,i,l,"next",e)}function l(e){pr(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},primaryButtonDisabled:!te,size:"lg"},r.createElement(i.BJc,{gap:5},r.createElement("div",{style:{opacity:.8}},"Select two base indicators, pick an operator, and we generate a composite SQL preview."),Y?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Pick two different indicators",subtitle:"Indicator A and Indicator B cannot be the same."}):null,r.createElement(tr,{value:{name:f,code:g,description:h},onChange:function(e){m(e.name),v(e.code),A(e.description)}}),r.createElement("hr",{style:{border:0,borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)"}}),r.createElement(cr,{baseIndicators:d,indicatorAId:w,indicatorBId:_,operator:x,inferredUnit:V,samePick:Y,onChangeA:C,onChangeB:O,onChangeOperator:T}),r.createElement(sr,{loading:j||N,errA:R,errB:z,compositeSql:ee,show:Boolean(K&&Q)})))};function yr(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function gr(e){return(t=function(){var t;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(n){switch(n.label){case 0:return[4,oe("/reportbuilder/agecategory?v=full",e)];case 1:return t=n.sent(),[2,(Array.isArray(null==t?void 0:t.results)?t.results:[]).filter(function(e){return!e.retired}).map(function(e){var t,n,r,o;return{uuid:e.uuid,code:e.code,name:null!==(t=null!==(n=e.name)&&void 0!==n?n:e.display)&&void 0!==t?t:e.code,description:e.description,label:"".concat(null!==(r=null!==(o=e.name)&&void 0!==o?o:e.display)&&void 0!==r?r:e.code," (").concat(e.code,")"),ageGroups:Array.isArray(e.ageGroups)?e.ageGroups.slice().sort(function(e,t){var n,r;return(null!==(n=e.sortOrder)&&void 0!==n?n:0)-(null!==(r=t.sortOrder)&&void 0!==r?r:0)}):[]}}).sort(function(e,t){return e.label.localeCompare(t.label)})]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(e){yr(a,r,o,i,l,"next",e)}function l(e){yr(a,r,o,i,l,"throw",e)}i(void 0)})})();var t}function vr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function br(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){vr(e,t,n[t])})}return e}function hr(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function Ar(e){var t=e.value,n=e.onChange;return r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem"}},r.createElement(i.ksK,{id:"final-name",labelText:"Final indicator name",value:t.name,onChange:function(e){return n(hr(br({},t),{name:e.target.value}))},placeholder:"e.g., OPD Confirmed Malaria by age/gender"}),r.createElement(i.ksK,{id:"final-code",labelText:"Code (optional)",value:t.code,onChange:function(e){return n(hr(br({},t),{code:e.target.value}))},placeholder:"AUTO_GENERATED"}),r.createElement("div",{style:{gridColumn:"1 / -1"}},r.createElement(i.fs1,{id:"final-desc",labelText:"Description (optional)",value:t.description,rows:3,onChange:function(e){return n(hr(br({},t),{description:e.target.value}))},placeholder:"Short description of what this final indicator represents."})))}function Er(e){var t,n=e.baseIndicators,o=e.ageCategories,a=e.selectedBaseId,l=e.selectedAgeCategoryCode,u=e.onChangeBaseId,c=e.onChangeAgeCategoryCode,s=r.useMemo(function(){return[{id:"",label:"Select a base indicator…"}].concat(n.map(function(e){return{id:e.id,label:"".concat(e.name," (").concat(e.code,")")}}))},[n]),d=r.useMemo(function(){return[{code:"",label:"Select an age category…",uuid:"",name:"",description:"",ageGroups:[]}].concat(o)},[o]),p=r.useMemo(function(){var e;return null!==(e=s.find(function(e){return e.id===a}))&&void 0!==e?e:s[0]},[s,a]),f=r.useMemo(function(){var e;return null!==(e=d.find(function(e){return e.code===l}))&&void 0!==e?e:d[0]},[d,l]);return r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem"}},r.createElement(i.a32,{id:"final-base-indicator",titleText:"Base Indicator",items:s,itemToString:function(e){return e?e.label:""},selectedItem:p,placeholder:"Search base indicators…",onChange:function(e){var t,n=e.selectedItem;return u(null!==(t=null==n?void 0:n.id)&&void 0!==t?t:"")}}),r.createElement(i.a32,{id:"final-age-category",titleText:"Age category",items:d,itemToString:function(e){return e?e.label:""},selectedItem:f,placeholder:"Search age categories…",onChange:function(e){var t,n=e.selectedItem;return c(null!==(t=null==n?void 0:n.code)&&void 0!==t?t:"")}}),l?r.createElement("div",{style:{gridColumn:"1 / -1",fontSize:"0.875rem",opacity:.8}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.25rem"}},"Age groups in this category"),r.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem"}},(null!==(t=null==f?void 0:f.ageGroups)&&void 0!==t?t:[]).map(function(e){return r.createElement("span",{key:e.id,style:{padding:"0.25rem 0.5rem",border:"1px solid var(--cds-border-subtle)",borderRadius:"999px",background:"var(--cds-layer)"}},e.label)}))):null)}function wr(e){var t=e.genders,n=e.onChange,o=t.includes("F"),a=t.includes("M");return r.createElement("div",{style:{padding:"0.75rem",borderRadius:"0.25rem",background:"var(--cds-layer-accent, #f4f4f4)"}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Gender breakdown"),r.createElement("div",{style:{display:"flex",gap:"1rem"}},r.createElement(i.Sc0,{id:"final-gender-f",labelText:"Female",checked:o,onChange:function(e,r){var o=r.checked,a=new Set(t);o?a.add("F"):a.delete("F"),n(Array.from(a))}}),r.createElement(i.Sc0,{id:"final-gender-m",labelText:"Male",checked:a,onChange:function(e,r){var o=r.checked,a=new Set(t);o?a.add("M"):a.delete("M"),n(Array.from(a))}})),r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginTop:"0.5rem"}},"Leave unchecked to get totals without gender filtering (later we can add “Total” row)."))}function Cr(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Sr(e,t){return(n=function(){var n,r,o,a,i;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(l){switch(l.label){case 0:return o="".concat((c=null!==(u=window.openmrsBaseUrl)&&void 0!==u?u:"/openmrs/","".concat(c,"ws/rest/v1")),"/reportbuilder/sqlpreview"),[4,fetch(o,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({sql:e.sql,params:null!==(n=e.params)&&void 0!==n?n:{},maxRows:null!==(r=e.maxRows)&&void 0!==r?r:200}),signal:t})];case 1:return(a=l.sent()).ok?[3,3]:[4,a.text().catch(function(){return""})];case 2:throw i=l.sent(),new Error("SQL preview failed (".concat(a.status,"). ").concat(i));case 3:return[4,a.json()];case 4:return[2,l.sent()]}var u,c})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function i(e){Cr(a,r,o,i,l,"next",e)}function l(e){Cr(a,r,o,i,l,"throw",e)}i(void 0)})})();var n}function _r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Or(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function kr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){kr(e,t,n[t])})}return e}function Tr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ir(e){var t,n,o=e.title,a=void 0===o?"Results preview":o,l=e.sql,u=e.params,c=e.maxRows,s=void 0===c?200:c,p=e.canRun,f=void 0===p||p,m=e.autoRun,y=void 0!==m&&m,g=Tr(r.useState(!1),2),v=g[0],b=g[1],h=Tr(r.useState(null),2),A=h[0],E=h[1],w=Tr(r.useState(null),2),C=w[0],S=w[1],_=r.useCallback(function(){return(e=function(){var e,t,n,r;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(o){switch(o.label){case 0:if(!f)return[2];if(!(null==l?void 0:l.trim()))return[2];e=new AbortController,b(!0),E(null),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,Sr({sql:l,params:u,maxRows:s},e.signal)];case 2:return t=o.sent(),S(t),[3,5];case 3:return n=o.sent(),E(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to preview query"),S(null),[3,5];case 4:return b(!1),[7];case 5:return[2,function(){return e.abort()}]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Or(a,r,o,i,l,"next",e)}function l(e){Or(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},[l,u,s,f]);r.useEffect(function(){y&&f&&(null==l?void 0:l.trim())&&_()},[y,f,l,JSON.stringify(null!=u?u:{}),s]);var O=null!==(t=null==C?void 0:C.columns)&&void 0!==t?t:[],k=null!==(n=null==C?void 0:C.rows)&&void 0!==n?n:[],x=r.useMemo(function(){return O.map(function(e){return{key:e,header:e}})},[O]),T=r.useMemo(function(){return k.map(function(e,t){var n={id:String(t)};return O.forEach(function(t,r){n[t]=e[r]}),n})},[k,O]),I=Boolean(null==l?void 0:l.trim()),j=Boolean(f&&I&&!v);return r.createElement("div",{style:{display:"grid",gap:"0.75rem",padding:"1rem",borderRadius:"0.5rem",background:"var(--cds-layer, #ffffff)",border:"1px solid var(--cds-border-subtle, #e0e0e0)"}},r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"1rem"}},r.createElement("div",{style:{display:"grid",gap:"0.25rem"}},r.createElement("div",{style:{fontWeight:600}},a),r.createElement("div",{style:{fontSize:"0.875rem",opacity:.75}},f?"Ready to preview results.":"Select required parameters to enable preview.")),r.createElement(i.$nd,{kind:"secondary",size:"sm",renderIcon:d.jG,disabled:!j,onClick:function(){return _()}},"Run preview")),r.createElement(i.nD3,{align:"start"},r.createElement(i.AsP,{title:"SQL (click to expand)"},r.createElement(i.z7k,{type:"multi",wrapText:!0},I?l:"-- No SQL to preview yet"))),r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"1rem"}},r.createElement("div",null,v?r.createElement(i.OuH,{description:"Running preview…"}):null,!v&&A?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Preview error",subtitle:A}):null),!C||v||A?null:r.createElement("div",{style:{display:"flex",gap:"0.5rem",alignItems:"center",flexWrap:"wrap"}},r.createElement(i.vwO,{type:"cool-gray",size:"sm"},"Rows: ",C.rowCount),C.truncated?r.createElement(i.vwO,{type:"red",size:"sm"},"Truncated to ",s):r.createElement(i.vwO,{type:"green",size:"sm"},"Not truncated"))),!C||v||A?null:r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:"0.25rem",overflow:"hidden",background:"var(--cds-layer, #ffffff)"}},r.createElement("div",{style:{maxHeight:"320px",overflow:"auto"}},r.createElement(i.bQt,{rows:T,headers:x,size:"sm"},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps;return r.createElement(i.K3K,null,r.createElement(i.XIK,{size:"sm",useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,xr({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){return r.createElement(i.Hjg,xr({key:e.id},a({row:e})),e.cells.map(function(e){var t;return r.createElement(i.nA6,{key:e.id},String(null!==(t=e.value)&&void 0!==t?t:""))}))}))))}))))}function jr(e){var t=e.sql,n=e.maxRows,o=void 0===n?200:n,a=e.startDate,l=e.endDate,u=e.onChangeStartDate,c=e.onChangeEndDate,s=Boolean(null==t?void 0:t.trim())&&Boolean(a)&&Boolean(l);return r.createElement("div",{style:{display:"grid",gap:"0.75rem"}},r.createElement("div",{style:{display:"grid",gridTemplateColumns:"320px 1fr",gap:"1rem",alignItems:"start"}},r.createElement("div",{style:{display:"grid",gap:"1rem"}},r.createElement(i.ksK,{id:"final-preview-start",labelText:"Start date",type:"date",value:a,onChange:function(e){return u(e.target.value)}}),r.createElement(i.ksK,{id:"final-preview-end",labelText:"End date",type:"date",value:l,onChange:function(e){return c(e.target.value)}})),r.createElement(Ir,{title:"Query results preview",sql:t,params:{startDate:a,endDate:l},maxRows:o,canRun:s})))}function Pr(e){var t=e.baseIndicator,n=e.ageCategoryCode,r=e.genders,o=ar(t).sql,a=or(t),i=o?ir(o,a,"Patients"):"";if(!i.trim())return"-- Unable to build final indicator SQL: base indicator does not contain usable count SQL.\n-- Ensure the base indicator has a valid sqlTemplate or configJson.sqlPreview.";var l,u=(null!=r?r:[]).length?r:["F","M"],c=function(e){return e.map(function(e,t){return 0===t?"SELECT '".concat(e,"' AS gender"):"UNION ALL SELECT '".concat(e,"' AS gender")}).join("\n")}(u);return"\nWITH base_pop AS (\n".concat(Dr(i.trim(),2),"\n),\nag AS (\n SELECT\n ag.age_group_id,\n ag.label,\n ag.min_age_days,\n ag.max_age_days,\n ag.sort_order\n FROM ").concat("report_builder_dim_age_group"," ag\n JOIN ").concat("report_builder_dim_age_category"," ac\n ON ac.age_category_id = ag.age_category_id\n WHERE ac.code = '").concat((l=n,String(l).replace(/'/g,"''")),"'\n AND ag.is_active = 1\n),\ngenders AS (\n").concat(Dr(c,2),"\n),\ncnt AS (\n SELECT\n ag.age_group_id AS age_group_id,\n mdp.gender AS gender,\n COUNT(DISTINCT base_pop.patient_id) AS value\n FROM base_pop\n JOIN mamba_fact_patients_latest_patient_demographics mdp\n ON mdp.patient_id = base_pop.patient_id\n JOIN ag\n ON TIMESTAMPDIFF(DAY, mdp.birthdate, ':endDate')\n BETWEEN ag.min_age_days AND ag.max_age_days\n WHERE mdp.birthdate IS NOT NULL\n AND mdp.gender IS NOT NULL\n AND mdp.gender IN (").concat(u.map(function(e){return"'".concat(e,"'")}).join(","),")\n GROUP BY ag.age_group_id, mdp.gender\n)\nSELECT\n ag.label AS age_group,\n g.gender AS gender,\n COALESCE(cnt.value, 0) AS value\nFROM ag\nCROSS JOIN genders g\nLEFT JOIN cnt\n ON cnt.age_group_id = ag.age_group_id\n AND cnt.gender = g.gender\nORDER BY ag.sort_order, g.gender;\n").trim()}function Dr(e,t){var n=" ".repeat(t);return e.split("\n").map(function(e){return e.trim().length?n+e:e}).join("\n")}function Nr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Br(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function $r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Nr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Rr(){var e=new Date,t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r)}function Mr(e){var t=e.open,n=e.mode,o=void 0===n?"create":n,a=e.initial,l=e.baseIndicators,u=e.onClose,c=e.onCreate,s=e.onUpdate,d=e.onSaved,p=$r(r.useState([]),2),f=p[0],m=p[1],y=$r(r.useState(!1),2),g=y[0],v=y[1],b=$r(r.useState(null),2),h=b[0],A=b[1],E=$r(r.useState({name:"",code:"",description:""}),2),w=E[0],C=E[1],S=$r(r.useState(""),2),_=S[0],O=S[1],k=$r(r.useState(""),2),x=k[0],T=k[1],I=$r(r.useState(["F","M"]),2),j=I[0],P=I[1],D=$r(r.useState(null),2),N=D[0],B=D[1],$=$r(r.useState(!1),2),R=$[0],M=$[1],U=$r(r.useState(null),2),z=U[0],F=U[1],q=$r(r.useState(""),2),L=q[0],G=q[1],J=$r(r.useState("2025-01-01"),2),W=J[0],H=J[1],K=$r(r.useState(Rr),2),Q=K[0],Y=K[1];r.useEffect(function(){if(t){var e=new AbortController;return v(!0),A(null),gr(e.signal).then(function(e){return m(e)}).catch(function(e){var t;return A(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load age categories")}).finally(function(){return v(!1)}),function(){return e.abort()}}},[t]),r.useEffect(function(){if(t){if("edit"===o&&(null==a?void 0:a.uuid)){var e,n,r,i,l,u,c,s,d,p,f=null!==(e=function(e){if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}(a.configJson))&&void 0!==e?e:{};return C({name:null!==(n=a.name)&&void 0!==n?n:"",code:null!==(r=a.code)&&void 0!==r?r:"",description:null!==(i=a.description)&&void 0!==i?i:""}),O(String(null!==(l=f.baseIndicatorId)&&void 0!==l?l:"")),T(String(null!==(u=null!==(c=f.ageGroupSetCode)&&void 0!==c?c:f.ageCategoryCode)&&void 0!==u?u:"")),P(null!==(s=f.genders)&&void 0!==s?s:["F","M"]),void G(String(null!==(d=null!==(p=f.sqlPreview)&&void 0!==p?p:a.sqlTemplate)&&void 0!==d?d:""))}C({name:"",code:"",description:""}),O(""),T(""),P(["F","M"]),G(""),B(null),F(null)}},[t,o,null==a?void 0:a.uuid]),r.useEffect(function(){if(t){if(_){var e=new AbortController;return M(!0),F(null),Kn(_,e.signal,"full").then(function(e){return B(e)}).catch(function(e){var t;return F(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load selected base indicator")}).finally(function(){return M(!1)}),function(){return e.abort()}}B(null)}},[t,_]),r.useEffect(function(){if(t)if(N&&x){var e=Pr({baseIndicator:N,ageCategoryCode:x,genders:j});G(e)}else G("")},[t,N,x,j]);var V=Boolean(w.name.trim())&&Boolean(_)&&Boolean(x)&&Boolean(L.trim());return r.createElement(i.aFV,{open:t,onRequestClose:u,modalHeading:"edit"===o?"Edit Final Indicator":"Create Final Indicator",primaryButtonText:"edit"===o?"Update Indicator":"Save Indicator",secondaryButtonText:"Cancel",onRequestSubmit:function(){return(e=function(){var e,t,n;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(r){switch(r.label){case 0:if(!V||!N)return[2];if(e=w.code.trim()?w.code.trim().toUpperCase():w.name.toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,50),t={version:1,baseIndicatorId:_,ageCategoryCode:x,ageGroupSetCode:x,genders:j,sqlPreview:L},n={name:w.name.trim(),code:e,description:w.description.trim()||void 0,kind:"FINAL",defaultValueType:"NUMBER",themeUuid:null,configJson:JSON.stringify(t,null,2),sqlTemplate:L},"edit"!==o||!(null==a?void 0:a.uuid))return[3,2];if(!s)throw new Error("onUpdate handler is required for edit mode");return[4,s(a.uuid,n)];case 1:return r.sent(),[3,4];case 2:return[4,c(n)];case 3:r.sent(),r.label=4;case 4:return d(),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Br(a,r,o,i,l,"next",e)}function l(e){Br(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},primaryButtonDisabled:!V,size:"lg"},r.createElement(i.BJc,{gap:6},g?r.createElement(i.OuH,{description:"Loading age categories…"}):null,h?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Age categories",subtitle:h}):null,r.createElement(Ar,{value:w,onChange:C}),r.createElement("hr",{style:{border:0,borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)"}}),r.createElement(Er,{baseIndicators:l,ageCategories:f,selectedBaseId:_,selectedAgeCategoryCode:x,onChangeBaseId:O,onChangeAgeCategoryCode:T}),R?r.createElement(i.OuH,{description:"Loading base indicator details…"}):null,z?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Base indicator",subtitle:z}):null,r.createElement(wr,{genders:j,onChange:P}),r.createElement(jr,{sql:L,maxRows:200,startDate:W,endDate:Q,onChangeStartDate:H,onChangeEndDate:Y})))}function Ur(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function zr(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Ur(a,r,o,i,l,"next",e)}function l(e){Ur(a,r,o,i,l,"throw",e)}i(void 0)})}}function Fr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Fr(e,t,n[t])})}return e}function Lr(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function Gr(e,t){return zr(function(){var n,r;return Lr(this,function(o){switch(o.label){case 0:if(!(n=String(null!=e?e:"").trim()))return[2,null];o.label=1;case 1:return o.trys.push([1,3,,4]),[4,Jt(n,t)];case 2:return(null==(r=o.sent())?void 0:r.uuid)?[2,r]:[2,null];case 3:return o.sent(),[2,null];case 4:return[2]}})})()}function Jr(e,t){return zr(function(){var n;return Lr(this,function(r){switch(r.label){case 0:return[4,Gr(e,t)];case 1:return[2,(n=r.sent())?en(n):null]}})})()}function Wr(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return zr(function(){var r,o,a,i,l,u,c,s,d,p;return Lr(this,function(f){switch(f.label){case 0:if(r=n?function(e){var t=[],n=new Set,r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var u=i.value,c=String(null!=u?u:"").trim();c&&(n.has(c)||(n.add(c),t.push(c)))}}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}return t}(e):e.map(function(e){return String(null!=e?e:"").trim()}).filter(Boolean),!r.length)return[2,[]];o=[],a=!0,i=!1,l=void 0,f.label=1;case 1:f.trys.push([1,8,9,10]),u=r[Symbol.iterator](),f.label=2;case 2:if(a=(c=u.next()).done)return[3,7];if(s=c.value,null==t?void 0:t.aborted)return[3,7];f.label=3;case 3:return f.trys.push([3,5,,6]),[4,Jr(s,t)];case 4:return(d=f.sent())&&o.push(d),[3,6];case 5:return f.sent(),[3,6];case 6:return a=!0,[3,2];case 7:return[3,10];case 8:return p=f.sent(),i=!0,l=p,[3,10];case 9:try{a||null==u.return||u.return()}finally{if(i)throw l}return[7];case 10:return[2,o]}})})()}function Hr(e,t,n,r,o,a){return zr(function(){var i,l,u,c,s,d,p,f,m,y,g,v,b,h,A,E,w,C,S,_,O,k,x,T,I,j,P,D,N,B,$,R,M,U,z,F,q,L,G,J,W,H,K,Q,Y,V,X,Z,ee,te,ne,re;return Lr(this,function(oe){switch(oe.label){case 0:c={force:null===(i=null==a?void 0:a.force)||void 0===i||i,dedupe:null===(l=null==a?void 0:a.dedupe)||void 0===l||l,preserveUnknownKeys:null===(u=null==a?void 0:a.preserveUnknownKeys)||void 0===u||u},s=null!=e?e:[],d=null!=t?t:[],p=new Map,f=!0,m=!1,y=void 0;try{for(g=s[Symbol.iterator]();!(f=(v=g.next()).done);f=!0)(null==(b=v.value)?void 0:b.key)&&p.set(b.key,b)}catch(e){m=!0,y=e}finally{try{f||null==g.return||g.return()}finally{if(m)throw y}}h=qr({},null!=n?n:{}),A=qr({},null!=r?r:{}),E=0,w=0,C=0,S=0,_=new Set,O=!0,k=!1,x=void 0,oe.label=1;case 1:oe.trys.push([1,15,16,17]),T=d[Symbol.iterator](),oe.label=2;case 2:return(O=(I=T.next()).done)?[3,14]:(null==(j=I.value)?void 0:j.key)?(_.add(j.key),(P=p.get(j.key))?"CONCEPT_SEARCH"!==P.handler?[3,6]:c.force||!Array.isArray(h[P.key])||0===h[P.key].length?(D=j.value,Array.isArray(D)&&D.length?[4,Wr(N=D.map(function(e){return String(e)}).filter(Boolean),o,c.dedupe)]:[3,4]):[3,13]:(c.preserveUnknownKeys||(delete h[j.key],delete A[j.key]),[3,13])):[3,13];case 3:return B=oe.sent(),C+=B.length,S+=Math.max(0,N.length-B.length),h[P.key]=B,[3,5];case 4:h[P.key]=[],oe.label=5;case 5:return E+=1,[3,13];case 6:return"QUESTION_ANSWER_CONCEPT_SEARCH"!==P.handler?[3,13]:(q=A[P.key],c.force||!q||0===(null!==($=null===(z=q.questions)||void 0===z?void 0:z.length)&&void 0!==$?$:0)&&0===(null!==(R=null===(F=q.answers)||void 0===F?void 0:F.length)&&void 0!==R?R:0)&&!q.error?(L=j.value,G=L&&"object"==(void 0===L?"undefined":(ae=L)&&"undefined"!=typeof Symbol&&ae.constructor===Symbol?"symbol":typeof ae)?L:null,J=Array.isArray(null==G?void 0:G.questions)?(null!==(M=null==G?void 0:G.questions)&&void 0!==M?M:[]).map(function(e){return String(e).trim()}).filter(Boolean):null!==(null==G?void 0:G.question)&&void 0!==(null==G?void 0:G.question)?[String(G.question).trim()].filter(Boolean):[],W=Array.isArray(null==G?void 0:G.answers)?(null!==(U=null==G?void 0:G.answers)&&void 0!==U?U:[]).map(function(e){return String(e).trim()}).filter(Boolean):[],J.length?[4,Wr(J,o,c.dedupe)]:[3,8]):[3,13]);case 7:return K=oe.sent(),[3,9];case 8:K=[],oe.label=9;case 9:return H=K,W.length?[4,Wr(W,o,c.dedupe)]:[3,11];case 10:return Y=oe.sent(),[3,12];case 11:Y=[],oe.label=12;case 12:return Q=Y,C+=H.length+Q.length,S+=Math.max(0,J.length-H.length)+Math.max(0,W.length-Q.length),A[P.key]={questions:H,answers:Q},w+=1,[3,13];case 13:return O=!0,[3,2];case 14:return[3,17];case 15:return V=oe.sent(),k=!0,x=V,[3,17];case 16:try{O||null==T.return||T.return()}finally{if(k)throw x}return[7];case 17:X=!0,Z=!1,ee=void 0;try{for(te=s[Symbol.iterator]();!(X=(ne=te.next()).done);X=!0)(null==(re=ne.value)?void 0:re.key)&&(_.has(re.key)||("CONCEPT_SEARCH"===re.handler&&(Array.isArray(h[re.key])||(h[re.key]=[])),"QUESTION_ANSWER_CONCEPT_SEARCH"===re.handler&&(A[re.key]||(A[re.key]={questions:[],answers:[]}))))}catch(e){Z=!0,ee=e}finally{try{X||null==te.return||te.return()}finally{if(Z)throw ee}}return[2,{conceptUi:h,qaUi:A,stats:{themeConditionsCount:s.length,pickedConditionsCount:d.length,conceptConditionsHydrated:E,qaConditionsHydrated:w,tokensHydrated:C,tokensMissed:S}}]}var ae})})()}function Kr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Qr(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Yr(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Qr(a,r,o,i,l,"next",e)}function l(e){Qr(a,r,o,i,l,"throw",e)}i(void 0)})}}function Vr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Kr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kr(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xr(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function Zr(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function eo(){var e=(0,I.useTranslation)().t,t=Vr(r.useState("base"),2),n=t[0],o=t[1],a=Vr(r.useState(""),2),l=a[0],u=a[1],c=Vr(r.useState([]),2),s=c[0],d=c[1],p=Vr(r.useState(!1),2),f=p[0],m=p[1],y=Vr(r.useState(null),2),g=y[0],v=y[1],b=Vr(r.useState(!1),2),h=b[0],A=b[1],E=Vr(r.useState(!1),2),w=E[0],C=E[1],S=Vr(r.useState(!1),2),_=S[0],O=S[1],k=Vr(r.useState("create"),2),x=k[0],j=k[1],P=Vr(r.useState(null),2),D=P[0],N=P[1],B=Vr(r.useState({}),2),$=B[0],R=B[1],M=Vr(r.useState({}),2),U=M[0],z=M[1],F=r.useRef({}),q=r.useCallback(function(e){return Yr(function(){var t,n,r,o,a;return Zr(this,function(i){switch(i.label){case 0:m(!0),v(null),i.label=1;case 1:return i.trys.push([1,5,6,7]),[4,Hn({q:l,v:"default",includeRetired:!1},e)];case 2:return t=i.sent(),(n=Array.from(new Set(t.map(function(e){return e.themeUuid||""}).filter(function(e){return e&&!F.current[e]})))).length?[4,Promise.all(n.map(function(t){return Yr(function(){var n,r,o;return Zr(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,Dt(t,e)];case 1:return n=a.sent(),r=(null==n?void 0:n.name)?"".concat(n.name).concat(n.code?" (".concat(n.code,")"):""):t,o=function(e){if(e)try{var t,n,r=JSON.parse(e),o=null!==(t=null!==(n=null==r?void 0:r.metaJson)&&void 0!==n?n:r)&&void 0!==t?t:{};return null==o?void 0:o.color}catch(e){return}}(null==n?void 0:n.metaJson),F.current[t]={name:r,color:o},[3,3];case 2:return a.sent(),F.current[t]={name:t},[3,3];case 3:return[2]}})})()}))]:[3,4];case 3:i.sent(),i.label=4;case 4:return r=t.map(function(e){var t,n,r,o=e.themeUuid||"",a=o?F.current[o]:void 0;return{id:e.uuid,code:null!==(t=e.code)&&void 0!==t?t:"",name:null!==(n=e.name)&&void 0!==n?n:"",kind:null!==(r=e.kind)&&void 0!==r?r:"BASE",themeName:null==a?void 0:a.name,themeColor:null==a?void 0:a.color,status:e.retired?"Retired":"Draft"}}),d(r),[3,7];case 5:return o=i.sent(),v(null!==(a=null==o?void 0:o.message)&&void 0!==a?a:"Failed to load indicators"),[3,7];case 6:return m(!1),[7];case 7:return[2]}})})()},[l]);r.useEffect(function(){var e=new AbortController;return q(e.signal),function(){return e.abort()}},[q]);var L=r.useMemo(function(){return"base"===n?s.filter(function(e){return"BASE"===e.kind||"COMPOSITE"===e.kind}):s.filter(function(e){return"FINAL"===e.kind})},[s,n]),G=r.useMemo(function(){return s.filter(function(e){return"BASE"===e.kind}).map(function(e){return{id:e.id,code:e.code,name:e.name,unit:"Patients"}})},[s]),J=function(e,t){return Yr(function(){var n,r,o,a,i,l,u,c,s,d,p,f,y,g,b,h,E,w;return Zr(this,function(S){switch(S.label){case 0:n=new AbortController,S.label=1;case 1:return S.trys.push([1,8,9,10]),m(!0),v(null),[4,Kn(e,n.signal,"full")];case 2:return l=S.sent(),"COMPOSITE"===(u=String(null!==(r=null!==(o=l.kind)&&void 0!==o?o:t)&&void 0!==r?r:"BASE").toUpperCase())?(N(l),j("edit"),C(!0),[2]):"FINAL"===u?(v("Editing final indicators is not yet supported."),[2]):(c=function(e){var t,n,r,o,a,i,l;if(!(null==e?void 0:e.configJson))return null;try{l=JSON.parse(e.configJson)}catch(e){return null}if(!l||"object"!==(void 0===l?"undefined":Xr(l)))return null;if(l.themeUuid&&l.themeConfig)return{version:1,themeUuid:l.themeUuid,themeConfig:l.themeConfig,conditions:Array.isArray(l.conditions)?l.conditions:[],sqlPreview:l.sqlPreview||e.sqlTemplate||""};if((null===(t=l.base)||void 0===t?void 0:t.themeUuid)&&(null===(n=l.base)||void 0===n?void 0:n.themeConfig))return{version:1,themeUuid:l.base.themeUuid,themeConfig:l.base.themeConfig,conditions:Array.isArray(l.base.conditions)?l.base.conditions:[],sqlPreview:l.base.sqlPreview||e.sqlTemplate||""};if((null===(o=l.authoring)||void 0===o||null===(r=o.base)||void 0===r?void 0:r.themeUuid)&&(null===(i=l.authoring)||void 0===i||null===(a=i.base)||void 0===a?void 0:a.themeConfig)){var u=l.authoring.base;return{version:1,themeUuid:u.themeUuid,themeConfig:u.themeConfig,conditions:Array.isArray(u.conditions)?u.conditions:[],sqlPreview:u.sqlPreview||e.sqlTemplate||""}}return null}(l),s=null!==(a=l.themeUuid)&&void 0!==a?a:"",d=null,p=[],(null==c?void 0:c.themeUuid)&&(null==c?void 0:c.themeConfig)?(s=c.themeUuid,d=c.themeConfig,p=null!==(f=c.conditions)&&void 0!==f?f:[],[3,6]):[3,3]);case 3:return s?[4,Dt(s,n.signal)]:[3,5];case 4:y=S.sent(),_=null==y?void 0:y.configJson,O=function(e,t){try{if(!e)return t;var n=JSON.parse(e);return null!=n?n:t}catch(e){return t}}(_,null),d=O&&"object"===(void 0===O?"undefined":Xr(O))?O.configJson&&"object"===Xr(O.configJson)?O.configJson:O:null,S.label=5;case 5:p=[],S.label=6;case 6:return[4,Hr(null!==(i=null==d?void 0:d.conditions)&&void 0!==i?i:[],p,{},{},n.signal,{force:!0,dedupe:!0})];case 7:return g=S.sent(),b=g.conceptUi,h=g.qaUi,N(l),R(b),z(h),j("edit"),A(!0),[3,10];case 8:return E=S.sent(),v(null!==(w=null==E?void 0:E.message)&&void 0!==w?w:"Failed to load indicator for editing"),[3,10];case 9:return m(!1),[7];case 10:return[2]}var _,O})})()},W=function(e){return Yr(function(){var t,n,r;return Zr(this,function(o){switch(o.label){case 0:return o.trys.push([0,3,,4]),[4,Vn(e,!1,"Retired via UI")];case 1:return o.sent(),t=new AbortController,[4,q(t.signal)];case 2:return o.sent(),[3,4];case 3:return n=o.sent(),v(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to delete indicator"),[3,4];case 4:return[2]}})})()},H=function(e){return console.log("Run indicator:",e)},Y=function(e){return console.log("Open indicator:",e)};return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:e("indicators","Indicators"),subtitle:"Create and manage report indicators."}),r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"end"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search indicators…",value:l,onChange:function(e){return u(e.target.value)}}),r.createElement("div",{style:{display:"flex",gap:"0.5rem"}},r.createElement(K,{context:{page:"Indicators"},size:"sm",kind:"secondary"}),r.createElement(i.$nd,{size:"sm",kind:"secondary",renderIcon:Ae.f5},"CSV"),"base"===n?r.createElement(r.Fragment,null,r.createElement(i.$nd,{size:"sm",kind:"secondary",renderIcon:T.OM,onClick:function(){j("create"),N(null),C(!0)}},"Create Composite Base"),r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:T.OM,onClick:function(){j("create"),N(null),R({}),z({}),A(!0)}},"Create Base Indicator")):r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:T.OM,onClick:function(){return O(!0)}},"Create Final Indicator"))),r.createElement(i.tUM,{selectedIndex:"base"===n?0:1,onChange:function(e){var t=e.selectedIndex;return o(0===t?"base":"final")}},r.createElement(i.wbY,{"aria-label":"Indicator tabs"},r.createElement(i.ozo,null,"Base Indicators"),r.createElement(i.ozo,null,"Final Indicators")),r.createElement(i.T2N,null,r.createElement(i.KpK,null,f?r.createElement(i.OuH,{description:"Loading…"}):null,!f&&g?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},g):null,r.createElement(St,{rows:L,onOpen:Y,onEdit:J,onRun:H,onDelete:W})),r.createElement(i.KpK,null,f?r.createElement(i.OuH,{description:"Loading…"}):null,!f&&g?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},g):null,r.createElement(St,{rows:L,onOpen:Y,onEdit:J,onRun:H,onDelete:W})))),r.createElement(zn,{open:h,mode:x,initial:D,initialConceptUi:"edit"===x?$:void 0,initialQaUi:"edit"===x?U:void 0,onClose:function(){A(!1),N(null),R({}),z({}),j("create")},onSaved:function(){return Yr(function(){var e;return Zr(this,function(t){switch(t.label){case 0:return A(!1),N(null),R({}),z({}),j("create"),e=new AbortController,[4,q(e.signal)];case 1:return t.sent(),[2]}})})()},onCreate:function(e){return Yr(function(){return Zr(this,function(t){switch(t.label){case 0:return[4,Qn(e)];case 1:return t.sent(),[2]}})})()},onUpdate:function(e,t){return Yr(function(){return Zr(this,function(n){switch(n.label){case 0:return[4,Yn(e,t)];case 1:return n.sent(),[2]}})})()}}),r.createElement(mr,{open:w,mode:x,initial:D,onClose:function(){C(!1),N(null),j("create")},baseIndicators:G,onCreate:function(e){return Yr(function(){return Zr(this,function(t){switch(t.label){case 0:return[4,Qn(e)];case 1:return t.sent(),[2]}})})()},onUpdate:function(e,t){return Yr(function(){return Zr(this,function(n){switch(n.label){case 0:return[4,Yn(e,t)];case 1:return n.sent(),[2]}})})()},onSaved:function(){return Yr(function(){var e;return Zr(this,function(t){switch(t.label){case 0:return C(!1),N(null),j("create"),e=new AbortController,[4,q(e.signal)];case 1:return t.sent(),[2]}})})()}}),r.createElement(Mr,{open:_,mode:"create",initial:null,baseIndicators:G,onClose:function(){return O(!1)},onCreate:function(e){return Yr(function(){return Zr(this,function(t){switch(t.label){case 0:return[4,Qn(e)];case 1:return t.sent(),[2]}})})()},onSaved:function(){return Yr(function(){var e;return Zr(this,function(t){switch(t.label){case 0:return O(!1),e=new AbortController,[4,q(e.signal)];case 1:return t.sent(),[2]}})})()}}))}function to(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function no(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return to(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?to(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ro(e){var t=(null!=e?e:"").toString().trim();return t.length?t:""}function oo(e,t){return"".concat(e,"__").concat(t)}function ao(e){if(!e)return e;var t=e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'");return t.replace(/':startDate'/g,":startDate").replace(/':endDate'/g,":endDate")}function io(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function lo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){lo(e,t,n[t])})}return e}function co(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function so(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||po(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function po(e,t){if(e){if("string"==typeof e)return io(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?io(e,t):void 0}}function fo(e){var t=e.open,n=e.mode,o=e.initialSection,a=e.indicators,i=e.ageCategories,l="edit"===n;r.useEffect(function(){return console.log("[hook] MOUNT"),function(){return console.log("[hook] UNMOUNT")}},[]);var u=so(r.useState(""),2),c=u[0],s=u[1],d=so(r.useState(""),2),p=d[0],f=d[1],m=so(r.useState(!1),2),y=m[0],g=m[1],v=so(r.useState(null),2),b=v[0],h=v[1],A=so(r.useState(!0),2),E=A[0],w=A[1],C=so(r.useState(!0),2),S=C[0],_=C[1],O=so(r.useState(""),2),k=O[0],x=O[1],T=so(r.useState([]),2),I=T[0],j=T[1],P=so(r.useState(!1),2),D=P[0],N=P[1],B=so(r.useState(""),2),$=B[0],R=B[1],M=so(r.useState("Monthly"),2),U=M[0],z=M[1],F=so(r.useState("location"),2),q=F[0],L=F[1],G=so(r.useState({}),2),J=G[0],W=G[1],H=so(r.useState(null),2),K=H[0],Q=H[1],Y=r.useRef(!1);r.useEffect(function(){t||(Y.current=!1)},[t]),r.useEffect(function(){t&&(l||(s(""),f(""),g(!1),h(null),Q(null),w(!0),_(!0),x(""),j([]),N(!1),R(""),z("Monthly"),L("location"),W({})))},[t,l]),r.useEffect(function(){var e,n,r;if(t&&l&&o&&!Y.current){Y.current=!0,x(""),s(null!==(e=o.name)&&void 0!==e?e:""),f(null!==(n=o.description)&&void 0!==n?n:"");var a=function(e){try{return e?JSON.parse(e):null}catch(e){return null}}(o.configJson),i=null==a?void 0:a.disaggregation,u=Boolean(i&&!0!==i.none);if(g(u),u){var c;Q(null!==(c=null==i?void 0:i.ageCategoryUuid)&&void 0!==c?c:null);var d=Array.isArray(null==i?void 0:i.genders)?i.genders:[];w(d.includes("F")),_(d.includes("M"))}else Q(null),h(null),w(!0),_(!0);var p=(Array.isArray(null==a?void 0:a.indicators)?a.indicators:[]).slice().sort(function(e,t){var n,r;return Number(null!==(n=e.sortOrder)&&void 0!==n?n:0)-Number(null!==(r=t.sortOrder)&&void 0!==r?r:0)}).map(function(e,t){var n,r;return{id:String(e.indicatorUuid),type:null!==(n=e.kind)&&void 0!==n?n:"BASE",sortOrder:Number(null!==(r=e.sortOrder)&&void 0!==r?r:t+1)}});j(p);var m,y=null==a||null===(r=a.exchangeMappings)||void 0===r?void 0:r.dhis2,v=y&&"object"==(void 0===y?"undefined":(m=y)&&"undefined"!=typeof Symbol&&m.constructor===Symbol?"symbol":typeof m)?y:null;if(null==v?void 0:v.enabled){var b,A,E,C;N(!0),R(null!==(b=v.datasetId)&&void 0!==b?b:""),z(null!==(A=v.periodType)&&void 0!==A?A:"Monthly"),L(null!==(E=v.orgUnitStrategy)&&void 0!==E?E:"location");var S={},O=!0,k=!1,T=void 0;try{for(var I,P=p[Symbol.iterator]();!(O=(I=P.next()).done);O=!0)S[I.value.id]={dataElementId:"",cocByDisagg:{}}}catch(e){k=!0,T=e}finally{try{O||null==P.return||P.return()}finally{if(k)throw T}}var D=!0,B=!1,$=void 0;try{for(var M,U=(null!==(C=v.indicatorMappings)&&void 0!==C?C:[])[Symbol.iterator]();!(D=(M=U.next()).done);D=!0){var F,q,G=M.value;S[String(G.indicatorUuid)]={dataElementId:null!==(F=G.dataElementId)&&void 0!==F?F:"",cocByDisagg:null!==(q=G.categoryOptionComboByDisagg)&&void 0!==q?q:{}}}}catch(e){B=!0,$=e}finally{try{D||null==U.return||U.return()}finally{if(B)throw $}}W(S)}else{N(!1),R(""),z("Monthly"),L("location");var J={},H=!0,K=!1,V=void 0;try{for(var X,Z=p[Symbol.iterator]();!(H=(X=Z.next()).done);H=!0)J[X.value.id]={dataElementId:"",cocByDisagg:{}}}catch(e){K=!0,V=e}finally{try{H||null==Z.return||Z.return()}finally{if(K)throw V}}W(J)}}},[t,l,o]),r.useEffect(function(){var e;if(K&&i.length){var t=null!==(e=i.find(function(e){return e.uuid===K}))&&void 0!==e?e:null;t&&h(t)}},[K,i]);var V=r.useMemo(function(){var e=[];return E&&e.push("F"),S&&e.push("M"),e},[E,S]),X=r.useMemo(function(){return I.some(function(e){return"BASE"===e.type||"COMPOSITE"===e.type})},[I])&&(!y||!(null==b?void 0:b.code)||0===V.length),Z=r.useMemo(function(){var e=k.trim().toLowerCase();return a.filter(function(t){return!e||t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)})},[a,k]),ee=r.useMemo(function(){var e=new Set(I.map(function(e){return e.id}));return a.filter(function(t){return e.has(t.id)})},[I,a]),te=r.useMemo(function(){var e;if(!y||!b||0===V.length)return[];var t=(null!==(e=b.ageGroups)&&void 0!==e?e:[]).map(function(e){return e.label}),n=[],r=!0,o=!1,a=void 0;try{for(var i,l=t[Symbol.iterator]();!(r=(i=l.next()).done);r=!0){var u=i.value,c=!0,s=!1,d=void 0;try{for(var p,f=V[Symbol.iterator]();!(c=(p=f.next()).done);c=!0){var m=p.value;n.push({key:oo(u,m),ageGroup:u,gender:m})}}catch(e){s=!0,d=e}finally{try{c||null==f.return||f.return()}finally{if(s)throw d}}}}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}return n},[y,b,V]),ne=r.useCallback(function(e,t){console.log("[hook] toggleIndicator called",{id:e.id,checked:t}),j(function(n){var r,o;if(console.log("[hook] setSelected(prev) BEFORE",n.map(function(e){return e.id})),t)if(n.some(function(t){return t.id===e.id}))r=n;else{var a=n.length+1;r=(o=n,function(e){if(Array.isArray(e))return io(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||po(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{id:e.id,type:e.type,sortOrder:a}])}else r=n.filter(function(t){return t.id!==e.id}).map(function(e,t){return co(uo({},e),{sortOrder:t+1})});return console.log("[hook] setSelected(prev) AFTER",r.map(function(e){return e.id})),r})},[]),re=r.useCallback(function(e,t){j(function(n){var r=n.slice().sort(function(e,t){return e.sortOrder-t.sortOrder}),o=r.findIndex(function(t){return t.id===e});if(o<0)return n;var a=o+t;if(a<0||a>=r.length)return n;var i=r[o];return r[o]=r[a],r[a]=i,r.map(function(e,t){return co(uo({},e),{sortOrder:t+1})})})},[]),oe=r.useCallback(function(e,t){W(function(n){var r;return co(uo({},n),lo({},e,co(uo({},null!==(r=n[e])&&void 0!==r?r:{dataElementId:"",cocByDisagg:{}}),{dataElementId:t})))})},[]),ae=r.useCallback(function(e,t,n){W(function(r){var o,a,i;return co(uo({},r),lo({},e,co(uo({},null!==(o=r[e])&&void 0!==o?o:{dataElementId:"",cocByDisagg:{}}),{cocByDisagg:co(uo({},null!==(a=null===(i=r[e])||void 0===i?void 0:i.cocByDisagg)&&void 0!==a?a:{}),lo({},t,n))})))})},[]);return{isEdit:l,name:c,setName:s,description:p,setDescription:f,disaggEnabled:y,setDisaggEnabled:g,selectedAgeCategory:b,setSelectedAgeCategory:h,genderF:E,setGenderF:w,genderM:S,setGenderM:_,q:k,setQ:x,selected:I,setSelected:j,available:Z,selectedFull:ee,isSelected:function(e){return I.some(function(t){return t.id===e})},toggleIndicator:ne,moveSelected:re,pickedGenders:V,disaggMissing:X,disaggKeys:te,dhis2Enabled:D,setDhis2Enabled:N,dhis2DatasetId:$,setDhis2DatasetId:R,dhis2PeriodType:U,setDhis2PeriodType:z,dhis2OrgUnitStrategy:q,setDhis2OrgUnitStrategy:L,dhis2IndicatorMap:J,setDhis2IndicatorMap:W,updateDhis2DataElement:oe,updateDhis2Coc:ae}}function mo(e){return r.createElement(r.Fragment,null,r.createElement(i.ksK,{id:"section-name",labelText:"Section Name",value:e.name,onChange:function(t){return e.setName(t.target.value)}}),r.createElement(i.fs1,{id:"section-desc",labelText:"(Optional) Description",value:e.description,onChange:function(t){return e.setDescription(t.target.value)}}))}function yo(e,t){var n;return"boolean"==typeof e?e:"boolean"==typeof(null==t?void 0:t.checked)?t.checked:Boolean(null==e||null===(n=e.target)||void 0===n?void 0:n.checked)}function go(e){var t="".concat(e.idPrefix,"-age-category"),n="".concat(e.idPrefix,"-gender-f"),o="".concat(e.idPrefix,"-gender-m"),a="".concat(e.idPrefix,"-disagg-toggle");return r.createElement(r.Fragment,null,r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"1rem"}},r.createElement("div",{style:{fontWeight:600}},"Disaggregation"),r.createElement(i.lMk,{id:a,labelText:"",toggled:e.disaggEnabled,onToggle:function(t){return e.setDisaggEnabled(Boolean(t))}})),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.75rem"}},r.createElement(i.a32,{id:t,titleText:"Age Category",placeholder:"Select age category",items:e.ageCategories,itemToString:function(e){return e?e.label:""},selectedItem:e.selectedAgeCategory,onChange:function(t){var n=t.selectedItem;return e.setSelectedAgeCategory(null!=n?n:null)},disabled:!e.disaggEnabled}),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:6,padding:"0.75rem"}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Genders"),r.createElement("div",{style:{display:"flex",gap:"1rem"}},r.createElement(i.Sc0,{id:n,labelText:"F",checked:e.genderF,disabled:!e.disaggEnabled,onChange:function(t,n){return e.setGenderF(yo(t,n))}}),r.createElement(i.Sc0,{id:o,labelText:"M",checked:e.genderM,disabled:!e.disaggEnabled,onChange:function(t,n){return e.setGenderM(yo(t,n))}})),e.disaggEnabled&&0===e.pickedGenders.length?r.createElement("div",{style:{marginTop:"0.25rem",fontSize:"0.75rem",color:"var(--cds-text-error, #da1e28)"}},"Pick at least one gender"):null)),e.disaggMissing?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Missing disaggregation",subtitle:"BASE/COMPOSITE indicators require section disaggregation (age category + gender)."}):null)}function vo(e){return r.createElement(r.Fragment,null,r.createElement("div",{style:{marginTop:"0.75rem"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search indicators",value:e.q,onChange:function(t){return e.setQ(t.target.value)}})),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.75rem",marginTop:"0.75rem"}},r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:6,padding:"0.75rem"}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Add Indicators"),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},e.available.map(function(t){var n="".concat(e.idPrefix,"-add-").concat(t.id);return r.createElement("div",{key:t.id,style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem"}},r.createElement(i.Sc0,{id:n,labelText:t.name,checked:e.isSelected(t.id),onChange:function(n,r){return e.toggleIndicator(t,(a=r,"boolean"==typeof(o=n)?o:"boolean"==typeof(null==a?void 0:a.checked)?a.checked:Boolean(null==o||null===(i=o.target)||void 0===i?void 0:i.checked)));var o,a,i}}),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"}},r.createElement(i.vwO,{size:"sm",type:"blue"},t.type),r.createElement(B.c_,{size:16})))}),r.createElement(i.$nd,{size:"sm",kind:"ghost",renderIcon:T.OM},"Select Indicator"))),r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:6,padding:"0.75rem"}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Selected Indicators"),r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"}},0===e.selectedFull.length?r.createElement("div",{style:{opacity:.75}},"No indicators selected yet."):e.selectedFull.slice().sort(function(t,n){var r,o,a,i;return(null!==(r=null===(a=e.selected.find(function(e){return e.id===t.id}))||void 0===a?void 0:a.sortOrder)&&void 0!==r?r:0)-(null!==(o=null===(i=e.selected.find(function(e){return e.id===n.id}))||void 0===i?void 0:i.sortOrder)&&void 0!==o?o:0)}).map(function(t,n){return r.createElement("div",{key:t.id,style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem"}},r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",minWidth:0}},r.createElement(i.vwO,{size:"sm",type:"blue"},t.type),r.createElement("span",{style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},t.name),r.createElement(i.vwO,{size:"sm",type:"gray"},t.code)),r.createElement("div",{style:{display:"flex",gap:"0.25rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move up",renderIcon:ke.Do,disabled:0===n,onClick:function(){return e.moveSelected(t.id,-1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Move down",renderIcon:ke.yd,disabled:n===e.selectedFull.length-1,onClick:function(){return e.moveSelected(t.id,1)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Remove",renderIcon:N.zH,onClick:function(){return e.toggleIndicator(t,!1)}})))})))))}function bo(e){return r.createElement(r.Fragment,null,r.createElement("hr",{style:{border:0,borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)"}}),r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"1rem"}},r.createElement("div",{style:{fontWeight:600}},"DHIS2 Mapping"),r.createElement(i.lMk,{id:"dhis2-toggle",labelText:"",toggled:e.dhis2Enabled,onToggle:function(t){return e.setDhis2Enabled(Boolean(t))}})),r.createElement("div",{style:{opacity:.8}},"Map section indicators to DHIS2 data elements and category option combos (Age × Gender)."),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"0.75rem"}},r.createElement(i.ksK,{id:"dhis2-dataset",labelText:"Dataset UID (optional)",value:e.dhis2DatasetId,disabled:!e.dhis2Enabled,onChange:function(t){return e.setDhis2DatasetId(t.target.value)}}),r.createElement(i.ksK,{id:"dhis2-period",labelText:"Period type",value:e.dhis2PeriodType,disabled:!e.dhis2Enabled,onChange:function(t){return e.setDhis2PeriodType(t.target.value)}}),r.createElement(i.ksK,{id:"dhis2-orgunit",labelText:"OrgUnit strategy",value:e.dhis2OrgUnitStrategy,disabled:!e.dhis2Enabled,onChange:function(t){return e.setDhis2OrgUnitStrategy(t.target.value||"location")}})),e.dhis2Enabled?e.disaggEnabled&&e.selectedAgeCategory&&e.pickedGenders.length?r.createElement("div",{style:{border:"1px solid var(--cds-border-subtle, #e0e0e0)",borderRadius:6,padding:"0.75rem"}},r.createElement("div",{style:{fontWeight:600,marginBottom:"0.5rem"}},"Indicator mappings"),0===e.selectedFull.length?r.createElement("div",{style:{opacity:.75}},"Select indicators first to map them."):r.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"}},e.selectedFull.slice().sort(function(t,n){var r,o,a,i;return(null!==(r=null===(a=e.selected.find(function(e){return e.id===t.id}))||void 0===a?void 0:a.sortOrder)&&void 0!==r?r:0)-(null!==(o=null===(i=e.selected.find(function(e){return e.id===n.id}))||void 0===i?void 0:i.sortOrder)&&void 0!==o?o:0)}).map(function(t){var n,o=null!==(n=e.dhis2IndicatorMap[t.id])&&void 0!==n?n:{dataElementId:"",cocByDisagg:{}};return r.createElement("div",{key:"dhis2-".concat(t.id),style:{borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)",paddingTop:"0.75rem"}},r.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.75rem"}},r.createElement("div",{style:{minWidth:0}},r.createElement("div",{style:{fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},t.name," ",r.createElement("span",{style:{opacity:.7}},"(",t.code,")")),r.createElement("div",{style:{fontSize:"0.85rem",opacity:.75}},"Type: ",t.type)),r.createElement("div",{style:{width:"40%"}},r.createElement(i.ksK,{id:"dhis2-de-".concat(t.id),labelText:"Data Element UID",value:o.dataElementId,onChange:function(n){return e.updateDhis2DataElement(t.id,n.target.value)}}))),r.createElement("div",{style:{marginTop:"0.75rem",overflowX:"auto"}},r.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",{style:{textAlign:"left",padding:"0.5rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)"}},"Disaggregation bucket"),r.createElement("th",{style:{textAlign:"left",padding:"0.5rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)"}},"Category Option Combo UID"))),r.createElement("tbody",null,e.disaggKeys.map(function(n){var a;return r.createElement("tr",{key:"".concat(t.id,"-").concat(n.key)},r.createElement("td",{style:{padding:"0.5rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)"}},n.ageGroup," ",n.gender),r.createElement("td",{style:{padding:"0.5rem",borderBottom:"1px solid var(--cds-border-subtle, #e0e0e0)"}},r.createElement(i.ksK,{id:"dhis2-coc-".concat(t.id,"-").concat(n.key),labelText:"",hideLabel:!0,value:null!==(a=o.cocByDisagg[n.key])&&void 0!==a?a:"",onChange:function(r){return e.updateDhis2Coc(t.id,n.key,r.target.value)}})))})))))}))):r.createElement(i.jeF,{kind:"warning",lowContrast:!0,title:"DHIS2 mapping requires disaggregation",subtitle:"Enable disaggregation and select Age Category + genders before mapping to DHIS2 category option combos."}):null)}function ho(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ao(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Eo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ho(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ho(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wo(e){var t=e.open,n=e.onClose,o=e.onSubmit,a=e.indicators,l=e.mode,u=void 0===l?"create":l,c=e.initialSection,s=function(e){var t=no(r.useState([]),2),n=t[0],o=t[1],a=no(r.useState(!1),2),i=a[0],l=a[1],u=no(r.useState(null),2),c=u[0],s=u[1];return r.useEffect(function(){if(e){var t=new AbortController;return l(!0),s(null),gr(t.signal).then(function(e){return o(e)}).catch(function(e){var t;return s(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load age categories")}).finally(function(){return l(!1)}),function(){return t.abort()}}},[e]),{ageCategories:n,ageCatsLoading:i,ageCatsError:c}}(t),d=s.ageCategories,p=s.ageCatsLoading,f=s.ageCatsError,m=fo({open:t,mode:u,initialSection:c,indicators:a,ageCategories:d}),y=Eo(r.useState(!1),2),g=y[0],v=y[1],b=Eo(r.useState(null),2),h=b[0],A=b[1],E=Boolean(m.name.trim())&&m.selected.length>0&&!m.disaggMissing&&!g;return r.createElement(i.aFV,{open:t,onRequestClose:n,modalHeading:m.isEdit?"Edit Section":"Create Section",primaryButtonText:m.isEdit?"Save changes":"Create Section",secondaryButtonText:"Cancel",onRequestSubmit:function(){return(e=function(){var e,t,n,r,a,i,l,u,s,d,p,f;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(y){switch(y.label){case 0:if(!E)return[2];v(!0),A(null),y.label=1;case 1:return y.trys.push([1,3,4,5]),[4,Promise.all(m.selected.slice().sort(function(e,t){return e.sortOrder-t.sortOrder}).map(function(e){return Kn(e.id,void 0,"full")}))];case 2:return a=y.sent(),i=new Map(a.map(function(e){return[e.uuid,e]})),l=m.disaggEnabled&&m.selectedAgeCategory?{version:1,ageCategoryUuid:m.selectedAgeCategory.uuid,ageCategoryCode:m.selectedAgeCategory.code,genders:m.pickedGenders}:{version:1,none:!0},u=m.selected.slice().sort(function(e,t){return e.sortOrder-t.sortOrder}).map(function(e){var t,n,r=i.get(e.id),o=e.type;if(!r)return{indicatorUuid:e.id,kind:o,sortOrder:e.sortOrder,sql:{compiled:"-- indicator not found",strategy:"MISSING"}};if("FINAL"===o){var a,l,u,c=function(e){try{if(!(null==e?void 0:e.configJson))return null;var t=JSON.parse(e.configJson);return t&&1===t.version&&(t.ageCategoryCode||t.ageGroupSetCode)?t:null}catch(e){return null}}(r),s=ao(null!==(a=r.sqlTemplate)&&void 0!==a?a:"");return{indicatorUuid:r.uuid,kind:"FINAL",code:r.code,name:r.name,sortOrder:e.sortOrder,disaggregation:c?{ageCategoryCode:null!==(l=c.ageCategoryCode)&&void 0!==l?l:c.ageGroupSetCode,genders:c.genders}:void 0,sql:{compiled:s,strategy:"FINAL_TEMPLATE",inputs:c?{baseIndicatorId:c.baseIndicatorId,ageCategoryCode:null!==(u=c.ageCategoryCode)&&void 0!==u?u:c.ageGroupSetCode,genders:c.genders}:void 0}}}var d=null!==(t=null===(n=m.selectedAgeCategory)||void 0===n?void 0:n.code)&&void 0!==t?t:"",p=Pr({baseIndicator:r,ageCategoryCode:d,genders:m.pickedGenders});return p=ao(p),{indicatorUuid:r.uuid,kind:o,code:r.code,name:r.name,sortOrder:e.sortOrder,sql:{compiled:p,strategy:"COMPOSITE"===o?"COMPOSITE+SECTION_DISAGG":"BASE+SECTION_DISAGG",inputs:{sectionAgeCategoryCode:d,sectionGenders:m.pickedGenders}}}}),s={version:1,name:m.name.trim(),description:m.description.trim()||void 0,disaggregation:l,indicators:u,exchangeMappings:{dhis2:{version:1,enabled:m.dhis2Enabled,datasetId:ro(m.dhis2DatasetId)||void 0,periodType:ro(m.dhis2PeriodType)||void 0,orgUnitStrategy:m.dhis2OrgUnitStrategy,mappingMode:"dataElement-categoryOptionCombo",indicatorMappings:m.selected.slice().sort(function(e,t){return e.sortOrder-t.sortOrder}).map(function(e){var t,n,r;return{indicatorUuid:e.id,dataElementId:ro(null===(n=m.dhis2IndicatorMap[e.id])||void 0===n?void 0:n.dataElementId)||void 0,categoryOptionComboByDisagg:m.disaggEnabled&&m.disaggKeys.length?null!==(t=null===(r=m.dhis2IndicatorMap[e.id])||void 0===r?void 0:r.cocByDisagg)&&void 0!==t?t:{}:void 0}})}},compiledAt:(new Date).toISOString()},d={id:m.isEdit?null==c?void 0:c.uuid:void 0,name:m.name.trim(),description:m.description.trim()||void 0,disaggregationEnabled:m.disaggEnabled,ageCategoryUuid:m.disaggEnabled&&null!==(e=null===(n=m.selectedAgeCategory)||void 0===n?void 0:n.uuid)&&void 0!==e?e:null,ageCategoryCode:m.disaggEnabled&&null!==(t=null===(r=m.selectedAgeCategory)||void 0===r?void 0:r.code)&&void 0!==t?t:null,genders:m.pickedGenders,indicators:u.map(function(e){return{id:e.indicatorUuid,type:e.kind,sortOrder:e.sortOrder,finalDisagg:e.disaggregation}}),configJson:JSON.stringify(s,null,2)},o(d),[3,5];case 3:return p=y.sent(),A(null!==(f=null==p?void 0:p.message)&&void 0!==f?f:"Failed to build section config"),[3,5];case 4:return v(!1),[7];case 5:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Ao(a,r,o,i,l,"next",e)}function l(e){Ao(a,r,o,i,l,"throw",e)}i(void 0)})})();var e},primaryButtonDisabled:!E,size:"lg"},r.createElement(i.BJc,{gap:5},r.createElement("div",{style:{opacity:.8}},"Sections are groups of indicators with shared disaggregation options."),p?r.createElement(i.OuH,{description:"Loading age categories…"}):null,f?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Age categories",subtitle:f}):null,h?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Section",subtitle:h}):null,r.createElement(mo,{name:m.name,setName:m.setName,description:m.description,setDescription:m.setDescription}),r.createElement("hr",{style:{border:0,borderTop:"1px solid var(--cds-border-subtle, #e0e0e0)"}}),r.createElement(go,{disaggEnabled:m.disaggEnabled,setDisaggEnabled:m.setDisaggEnabled,ageCategories:d,selectedAgeCategory:m.selectedAgeCategory,setSelectedAgeCategory:m.setSelectedAgeCategory,genderF:m.genderF,setGenderF:m.setGenderF,genderM:m.genderM,setGenderM:m.setGenderM,pickedGenders:m.pickedGenders,disaggMissing:m.disaggMissing,idPrefix:m.isEdit?"edit":"create"}),r.createElement(vo,{q:m.q,setQ:m.setQ,available:m.available,selectedFull:m.selectedFull,selected:m.selected,isSelected:m.isSelected,toggleIndicator:m.toggleIndicator,moveSelected:m.moveSelected,idPrefix:m.isEdit?"edit":"create"}),r.createElement(bo,{dhis2Enabled:m.dhis2Enabled,setDhis2Enabled:m.setDhis2Enabled,dhis2DatasetId:m.dhis2DatasetId,setDhis2DatasetId:m.setDhis2DatasetId,dhis2PeriodType:m.dhis2PeriodType,setDhis2PeriodType:m.setDhis2PeriodType,dhis2OrgUnitStrategy:m.dhis2OrgUnitStrategy,setDhis2OrgUnitStrategy:m.setDhis2OrgUnitStrategy,disaggEnabled:m.disaggEnabled,selectedAgeCategory:m.selectedAgeCategory,pickedGenders:m.pickedGenders,selectedFull:m.selectedFull,selected:m.selected,disaggKeys:m.disaggKeys,dhis2IndicatorMap:m.dhis2IndicatorMap,updateDhis2DataElement:m.updateDhis2DataElement,updateDhis2Coc:m.updateDhis2Coc}),g?r.createElement(i.OuH,{description:"Building section SQL…"}):null))}function Co(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function So(e,t){return(n=function(){return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(n){switch(n.label){case 0:return[4,(0,$.openmrsFetch)("/ws/rest/v1/reportbuilder/sectionpreview",{method:"POST",headers:{"Content-Type":"application/json"},body:e,signal:t})];case 1:return[2,n.sent().data]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function i(e){Co(a,r,o,i,l,"next",e)}function l(e){Co(a,r,o,i,l,"throw",e)}i(void 0)})})();var n}function _o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Oo(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ko(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ko(e,t,n[t])})}return e}function To(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||Io(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Io(e,t){if(e){if("string"==typeof e)return _o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_o(e,t):void 0}}function jo(e){return String(null!=e?e:"").trim().toLowerCase()}function Po(e){return e?e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'"):e}function Do(e){var t,n=(null!==(t=e.columns)&&void 0!==t?t:[]).map(jo);return n.includes("age_group")&&n.includes("gender")&&n.includes("value")}function No(e){var t,n=String(null!=e?e:"").trim().toLowerCase().split("-")[0].replace("+","").trim(),r=n.match(/^(\d+)\s*(d|day|days|m|mo|mos|month|months|y|yr|yrs|year|years)?$/i);if(!r){var o=n.match(/\d+/);return o?365*Number(o[0]):Number.POSITIVE_INFINITY}var a=Number(r[1]),i=(null!==(t=r[2])&&void 0!==t?t:"y").toLowerCase();return"d"===i||"day"===i||"days"===i?a:"m"===i||"mo"===i||"mos"===i||"month"===i||"months"===i?30*a:365*a}function Bo(e){var t,n=e.open,o=e.onClose,a=e.section,l=To(r.useState(""),2),u=l[0],c=l[1],s=To(r.useState(""),2),p=s[0],f=s[1],m=To(r.useState(""),2),y=m[0],g=m[1],v=To(r.useState(200),2),b=v[0],h=v[1],A=To(r.useState(!1),2),E=A[0],w=A[1],C=To(r.useState(null),2),S=C[0],_=C[1],O=To(r.useState(null),2),k=O[0],x=O[1];r.useEffect(function(){n&&(c(""),f(""),g(""),h(200),_(null),x(null),w(!1))},[n]);var T=Boolean(null==a?void 0:a.uuid)&&Boolean(u)&&Boolean(p)&&!E,I=null!==(t=null==k?void 0:k.results)&&void 0!==t?t:[],j=function(e){var t=e.filter(function(e){return!e.error&&Do(e)}),n=function(e,t){var n;return(null!==(n=e.columns)&&void 0!==n?n:[]).findIndex(function(e){return jo(e)===t})},r=new Set,o=new Set,a=!0,i=!1,l=void 0;try{for(var u,c=t[Symbol.iterator]();!(a=(u=c.next()).done);a=!0){var s,d=u.value,p=n(d,"age_group"),f=n(d,"gender");if(!(p<0||f<0)){var m=!0,y=!1,g=void 0;try{for(var v,b=(null!==(s=d.rows)&&void 0!==s?s:[])[Symbol.iterator]();!(m=(v=b.next()).done);m=!0){var h=v.value,A=null==h?void 0:h[p],E=null==h?void 0:h[f];null!=A&&r.add(String(A)),null!=E&&o.add(String(E))}}catch(e){y=!0,g=e}finally{try{m||null==b.return||b.return()}finally{if(y)throw g}}}}}catch(e){i=!0,l=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw l}}var w=Array.from(o);w.sort(function(e,t){var n=e.toUpperCase(),r=t.toUpperCase(),o=function(e){return"F"===e?0:"M"===e?1:2},a=o(n),i=o(r);return a!==i?a-i:n.localeCompare(r)});var C=Array.from(r);C.sort(function(e,t){var n=No(e),r=No(t);return n!==r?n-r:e.localeCompare(t)});var S=[],_=!0,O=!1,k=void 0;try{for(var x,T=C[Symbol.iterator]();!(_=(x=T.next()).done);_=!0){var I=x.value,j=!0,P=!1,D=void 0;try{for(var N,B=w[Symbol.iterator]();!(j=(N=B.next()).done);j=!0){var $=N.value,R="".concat(I,"__").concat($);S.push({key:R,header:"".concat(I," ").concat($),age:I,gender:$})}}catch(e){P=!0,D=e}finally{try{j||null==B.return||B.return()}finally{if(P)throw D}}}}catch(e){O=!0,k=e}finally{try{_||null==T.return||T.return()}finally{if(O)throw k}}var M,U=e.map(function(e,t){var r,o,a={id:e.indicatorUuid||String(t),indicator:Po(e.name||e.code||e.indicatorUuid),kind:null!==(r=e.kind)&&void 0!==r?r:"",error:null!==(o=e.error)&&void 0!==o?o:""},i=!0,l=!1,u=void 0;try{for(var c,s=S[Symbol.iterator]();!(i=(c=s.next()).done);i=!0)a[c.value.key]=0}catch(e){l=!0,u=e}finally{try{i||null==s.return||s.return()}finally{if(l)throw u}}if(!e.error&&Do(e)){var d,p=n(e,"age_group"),f=n(e,"gender"),m=n(e,"value"),y=!0,g=!1,v=void 0;try{for(var b,h=(null!==(d=e.rows)&&void 0!==d?d:[])[Symbol.iterator]();!(y=(b=h.next()).done);y=!0){var A,E,w=b.value,C=String(null!==(A=null==w?void 0:w[p])&&void 0!==A?A:""),_=String(null!==(E=null==w?void 0:w[f])&&void 0!==E?E:""),O=null==w?void 0:w[m],k="".concat(C,"__").concat(_);k in a&&(a[k]=null!=O?O:0)}}catch(e){g=!0,v=e}finally{try{y||null==h.return||h.return()}finally{if(g)throw v}}}return a});return{headers:[{key:"indicator",header:"Indicator"},{key:"kind",header:"Type"}].concat((M=S.map(function(e){return{key:e.key,header:e.header}}),function(e){if(Array.isArray(e))return _o(e)}(M)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(M)||Io(M)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),[{key:"error",header:"Error"}]),rows:U,hasAnyDisagg:S.length>0}}(I),P=I.filter(function(e){return e.error||!Do(e)});return r.createElement(i.aFV,{open:n,onRequestClose:o,modalHeading:a?"Preview Section: ".concat(a.name):"Preview Section",primaryButtonText:"Close",secondaryButtonText:"Cancel",onRequestSubmit:o,size:"lg"},r.createElement(i.BJc,{gap:5},a?null:r.createElement(i.jeF,{kind:"warning",lowContrast:!0,title:"No section",subtitle:"Select a section first."}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.75rem"}},r.createElement(i.ksK,{id:"section-preview-startdate","data-testid":"section-preview-startdate",labelText:"Start date",type:"date",value:u,onChange:function(e){return c(e.target.value)},disabled:!a}),r.createElement(i.ksK,{id:"section-preview-enddate","data-testid":"section-preview-enddate",labelText:"End date",type:"date",value:p,onChange:function(e){return f(e.target.value)},disabled:!a})),r.createElement(i.ksK,{id:"section-preview-indicatoruuid","data-testid":"section-preview-indicatoruuid",labelText:"Indicator UUID (optional)",value:y,onChange:function(e){return g(e.target.value)},disabled:!a}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr auto",gap:"0.75rem",alignItems:"end"}},r.createElement(i.ksK,{id:"section-preview-maxrows","data-testid":"section-preview-maxrows",labelText:"Max rows",value:String(b),onChange:function(e){var t=Number(e.target.value);h(Number.isFinite(t)&&t>0?t:200)},disabled:!a}),r.createElement(i.$nd,{"data-testid":"section-preview-run",kind:"primary",renderIcon:d.jG,disabled:!T,onClick:function(){return(e=function(){var e,t,n,r;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(o){switch(o.label){case 0:if(!(null==a?void 0:a.uuid))return[2];if(!u||!p)return _("Start date and End date are required."),[2];e=new AbortController,w(!0),_(null),x(null),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,So({sectionUuid:a.uuid,indicatorUuid:y.trim()||void 0,startDate:u,endDate:p,maxRows:b,params:{}},e.signal)];case 2:return t=o.sent(),x(t),[3,5];case 3:return n=o.sent(),_(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to preview section"),[3,5];case 4:return w(!1),[7];case 5:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Oo(a,r,o,i,l,"next",e)}function l(e){Oo(a,r,o,i,l,"throw",e)}i(void 0)})})();var e}},"Preview Section")),E?r.createElement(i.OuH,{description:"Running section preview…"}):null,S?r.createElement(i.jeF,{kind:"error",lowContrast:!0,title:"Preview",subtitle:S}):null,k?j.hasAnyDisagg?r.createElement(i.K3K,{"data-testid":"section-preview-matrix",title:"Section preview matrix",description:"Indicators are rows; disaggregations are columns. Missing values show as 0."},r.createElement(i.bQt,{rows:j.rows,headers:j.headers,size:"md",useZebraStyles:!0},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps,l=e.getTableProps;return r.createElement(i.XIK,l(),r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,xo({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){return r.createElement(i.Hjg,xo({key:e.id},a({row:e})),e.cells.map(function(e){return r.createElement(i.nA6,{key:e.id},e.value)}))})))})):r.createElement(i.jeF,{kind:"info",lowContrast:!0,title:"No disaggregated results",subtitle:"No indicator returned (age_group, gender, value) rows for this preview."}):null,k&&P.length?r.createElement(i.BJc,{gap:4},r.createElement("div",{style:{fontWeight:600,marginTop:"0.5rem"}},"Other results"),P.map(function(e,t){var n,o,a;if(e.error)return r.createElement(i.jeF,{key:"".concat(e.indicatorUuid,"-").concat(t),kind:"error",lowContrast:!0,title:"Indicator error: ".concat(Po(e.name||e.code||e.indicatorUuid)),subtitle:e.error});var l,u,c=(l=null!==(n=e.columns)&&void 0!==n?n:[],u=null!==(o=e.rows)&&void 0!==o?o:[],{headers:l.map(function(e,t){return{key:"".concat(t),header:e}}),tableRows:(null!=u?u:[]).map(function(e,t){var n={id:String(t)};return l.forEach(function(t,r){n["".concat(r)]=null==e?void 0:e[r]}),n})}),s=c.headers,d=c.tableRows;return r.createElement(i.K3K,{key:"".concat(e.indicatorUuid,"-").concat(t),title:Po(e.name||e.code||e.indicatorUuid),description:"Returned columns: ".concat((null!==(a=e.columns)&&void 0!==a?a:[]).join(", "))},r.createElement(i.bQt,{rows:d,headers:s,size:"md",useZebraStyles:!0},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps,l=e.getTableProps;return r.createElement(i.XIK,l(),r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,xo({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){return r.createElement(i.Hjg,xo({key:e.id},a({row:e})),e.cells.map(function(e){return r.createElement(i.nA6,{key:e.id},e.value)}))})))}))})):null))}var $o=n(4933),Ro={};Ro.styleTagTransform=S(),Ro.setAttributes=A(),Ro.insert=b().bind(null,"head"),Ro.domAPI=g(),Ro.insertStyleElement=w(),m()($o.A,Ro);const Mo=$o.A&&$o.A.locals?$o.A.locals:void 0;function Uo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zo(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Fo(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){zo(a,r,o,i,l,"next",e)}function l(e){zo(a,r,o,i,l,"throw",e)}i(void 0)})}}function qo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){qo(e,t,n[t])})}return e}function Go(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Uo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Uo(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Jo(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function Wo(e){try{if(!(null==e?void 0:e.configJson))return 0;var t=JSON.parse(e.configJson);return(Array.isArray(null==t?void 0:t.indicators)?t.indicators:[]).length}catch(e){return 0}}const Ho=function(){var e=(0,I.useTranslation)().t,t=Go(r.useState(""),2),n=t[0],o=t[1],l=Go(r.useState(!1),2),u=l[0],c=l[1],s=Go(r.useState([]),2),d=s[0],p=s[1],f=Go(r.useState(!1),2)[1],m=Go(r.useState(null),2),y=m[0],g=m[1],v=Go(r.useState([]),2),b=v[0],h=v[1],A=Go(r.useState(!1),2)[1],E=Go(r.useState(null),2),w=E[0],C=E[1],S=Go(r.useState(!1),2),_=S[0],O=S[1],k=Go(r.useState(null),2),x=k[0],j=k[1],P=Go(r.useState(!1),2),D=P[0],N=P[1],B=Go(r.useState(null),2),$=B[0],R=B[1],M=r.useMemo(function(){var e=n.trim().toLowerCase();return d.filter(function(e){return!e.retired}).filter(function(t){var n,r;return!e||(null!==(n=t.name)&&void 0!==n?n:"").toLowerCase().includes(e)||(null!==(r=t.code)&&void 0!==r?r:"").toLowerCase().includes(e)})},[n,d]),U=r.useMemo(function(){return[{key:"name",header:e("name","Name")},{key:"indicators",header:e("indicators","Indicators")},{key:"actions",header:e("actions","Actions")}]},[e]),z=r.useMemo(function(){return M.map(function(e){return{id:e.uuid,name:e.name,indicators:String(Wo(e)),actions:""}})},[M]),F=r.useCallback(function(){return Fo(function(){var e,t,n,r;return Jo(this,function(o){switch(o.label){case 0:e=new AbortController,f(!0),g(null),o.label=1;case 1:return o.trys.push([1,3,4,5]),[4,qe({v:"default"},e.signal)];case 2:return t=o.sent(),p(t),[3,5];case 3:return n=o.sent(),g(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to load sections"),[3,5];case 4:return f(!1),[7];case 5:return[2,function(){return e.abort()}]}})})()},[]);r.useEffect(function(){F()},[F]),r.useEffect(function(){var e=new AbortController;return A(!0),C(null),Hn({v:"default",includeRetired:!1},e.signal).then(function(e){h(e.map(function(e){var t;return{id:e.uuid,type:e.kind,code:null!==(t=e.code)&&void 0!==t?t:"",name:e.name}}))}).catch(function(e){var t;return C(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load indicators")}).finally(function(){return A(!1)}),function(){return e.abort()}},[]);var q=function(e){return Fo(function(){var t,n,r;return Jo(this,function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),e.id?[4,Je(e.id,{name:e.name,description:e.description,configJson:e.configJson})]:[3,2];case 1:return o.sent(),N(!1),R(null),[3,4];case 2:return[4,Ge({name:e.name,description:e.description,code:(null===(n=e.name)||void 0===n||null===(t=n.trim)||void 0===t?void 0:t.call(n))?e.name.trim().toUpperCase().replace(/[^A-Z0-9]+/g,"_").slice(0,60):void 0,configJson:e.configJson})];case 3:o.sent(),c(!1),o.label=4;case 4:return[4,F()];case 5:return o.sent(),[3,7];case 6:return r=o.sent(),console.error("Failed to save section",r),[3,7];case 7:return[2]}})})()},L=(0,a.zy)();return r.useEffect(function(){"1"===new URLSearchParams(L.search).get("create")&&c(!0)},[L.search]),r.createElement("div",{className:Mo.page},r.createElement(Q,{title:e("reportSection","Manage Report Sections"),subtitle:e("sectionsSubtitle","Draft • Define sections and reuse them in reports"),status:{label:e("draft","Draft"),kind:"warning"}}),r.createElement("div",{className:Mo.sectionsPage},r.createElement("div",{className:Mo.headerRow},r.createElement("h3",{className:Mo.title},e("sections","Sections")),r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:T.OM,onClick:function(){return c(!0)}},e("createSection","Create Section"))),r.createElement("div",{className:Mo.surface},r.createElement("div",{className:Mo.toolbarRow},r.createElement(i.vji,{size:"lg",labelText:e("search","Search"),placeholder:e("search","Search"),value:n,onChange:function(e){return o(e.target.value)}})),y?r.createElement("div",{style:{padding:"0.75rem"}},y):null,w?r.createElement("div",{style:{padding:"0.75rem"}},w):null,r.createElement(i.bQt,{rows:z,headers:U,size:"lg",useZebraStyles:!0},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps,l=e.getTableProps;return r.createElement(i.XIK,l(),r.createElement(i.ndF,null,r.createElement(i.Hjg,null,r.createElement(i.A0N,{key:"_hash",style:{width:"3rem"}}),n.map(function(e){return r.createElement(i.A0N,Lo({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){var t,n;return r.createElement(i.Hjg,Lo({key:e.id,"data-testid":"section-row-".concat(String(null!==(t=null===(n=M.find(function(t){return t.uuid===e.id}))||void 0===n?void 0:n.name)&&void 0!==t?t:e.id).replace(/\s+/g,"-"))},a({row:e})),r.createElement(i.nA6,null,r.createElement(Oe.vd,{size:16})),e.cells.map(function(t){return"actions"===t.info.header?r.createElement(i.nA6,{key:t.id},r.createElement(i.obU,{"data-testid":"section-actions-".concat(e.id),size:"sm",ariaLabel:"Actions",flipped:!0},r.createElement(i.XSD,{itemText:"Preview",onClick:function(){return t=e.id,Fo(function(){var e,n;return Jo(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,Le(t,void 0,"full")];case 1:return e=r.sent(),j(e),O(!0),[3,3];case 2:return n=r.sent(),console.error("Failed to load section",n),[3,3];case 3:return[2]}})})();var t}}),r.createElement(i.XSD,{itemText:"Edit",onClick:function(){return t=e.id,Fo(function(){var e,n;return Jo(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,Le(t,void 0,"full")];case 1:return e=r.sent(),R(e),N(!0),[3,3];case 2:return n=r.sent(),console.error("Failed to load section for edit",n),[3,3];case 3:return[2]}})})();var t}}))):"name"===t.info.header?r.createElement(i.nA6,{key:t.id},r.createElement("div",{style:{fontWeight:600}},t.value)):"indicators"===t.info.header?r.createElement(i.nA6,{key:t.id},r.createElement(i.vwO,{type:"gray",size:"sm"},t.value)):r.createElement(i.nA6,{key:t.id},t.value)}))})))}))),r.createElement(wo,{open:u,onClose:function(){return c(!1)},onSubmit:q,indicators:b,mode:"create",initialSection:null}),r.createElement(wo,{open:D,onClose:function(){N(!1),R(null)},onSubmit:q,indicators:b,mode:"edit",initialSection:$}),r.createElement(Bo,{open:_,onClose:function(){O(!1),j(null)},section:x}))},Ko=function(){var e=(0,I.useTranslation)().t;return r.createElement("div",null,r.createElement(Q,{title:e("runReports","Run Reports"),subtitle:e("runReportsHint","Choose a report and run it for specific time periods and locations.")}),r.createElement("div",{style:{padding:"1rem"}},e("runReportsComingSoon","Coming soon: run report wizard, filters, and results viewer.")))};function Qo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Qo(e,t,n[t])})}return e}var Vo=[{key:"name",header:"Name"},{key:"code",header:"Code"},{key:"domain",header:"Domain"},{key:"description",header:"Description"},{key:"actions",header:""}];function Xo(e){var t=e.rows,n=e.onEdit,o=e.onDelete,a=r.useMemo(function(){return(null!=t?t:[]).map(function(e){var t;return{id:e.uuid,name:e.name,code:e.code,domain:e.domain,description:null!==(t=e.description)&&void 0!==t?t:"",actions:e.uuid}})},[t]);return r.createElement(i.bQt,{rows:a,headers:Vo},function(e){var t=e.rows,a=e.headers,l=e.getHeaderProps,u=e.getRowProps,c=e.getTableProps,s=e.getTableContainerProps;return r.createElement(i.K3K,Yo({title:"Data Themes",description:"Manage derived data themes used by the indicator builder."},s()),r.createElement(i.e1U,null,r.createElement(i.VbH,null)),r.createElement(i.XIK,c(),r.createElement(i.ndF,null,r.createElement(i.Hjg,null,a.map(function(e){return r.createElement(i.A0N,Yo({key:e.key},l({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){return r.createElement(i.Hjg,Yo({key:e.id},u({row:e})),e.cells.map(function(t){return"actions"===t.info.header?r.createElement(i.nA6,{key:t.id},r.createElement(i.obU,{size:"sm",ariaLabel:"Theme actions"},r.createElement(i.XSD,{itemText:"Edit",onClick:function(){return n(e.id)}}),r.createElement(i.XSD,{hasDivider:!0,isDelete:!0,itemText:"Delete",onClick:function(){return o(e.id)}}))):r.createElement(i.nA6,{key:t.id},t.value)}))}))))})}function Zo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ea(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Zo(e,t,n[t])})}return e}function ta(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var na=[{value:"DIAGNOSIS",text:"Diagnosis"},{value:"OBSERVATIONS",text:"Observations"},{value:"TEST_ORDERS",text:"Test Orders"},{value:"MEDICATION_ORDERS",text:"Medication Orders"},{value:"APPOINTMENTS",text:"Appointments"},{value:"MEDICATION_DISPENSE",text:"Medication Dispense"}];function ra(e){var t,n=e.value,o=e.onChange;return r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Basics"),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.75rem"}},r.createElement(i.ksK,{id:"theme-name",labelText:"Name",value:n.name,onChange:function(e){return o(ta(ea({},n),{name:e.target.value}))}}),r.createElement(i.ksK,{id:"theme-code",labelText:"Code",helperText:"Short unique code (e.g. DX_OPD)",value:n.code,onChange:function(e){return o(ta(ea({},n),{code:e.target.value}))}})),r.createElement("div",{style:{marginTop:"0.75rem"}},r.createElement(i.l6P,{id:"theme-domain",labelText:"Main domain",value:n.domain,onChange:function(e){return o(ta(ea({},n),{domain:e.target.value}))}},na.map(function(e){return r.createElement(i.ebT,{key:e.value,value:e.value,text:e.text})}))),r.createElement("div",{style:{marginTop:"0.75rem"}},r.createElement(i.fs1,{id:"theme-desc",labelText:"Description",value:null!==(t=n.description)&&void 0!==t?t:"",onChange:function(e){return o(ta(ea({},n),{description:e.target.value}))}})))}function oa(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function aa(e){if(!e)return[];if(Array.isArray(e))return e.length&&"string"==typeof e[0]?e.map(function(e){return{name:e}}):e;var t=e;return Array.isArray(null==t?void 0:t.results)?t.results:Array.isArray(null==t?void 0:t.tables)?t.tables:[]}function ia(e){return(t=function(){return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(t){switch(t.label){case 0:return[4,oe("/reportbuilder/schema",e)];case 1:return[2,aa(t.sent())]}})},function(){var e=this,n=arguments;return new Promise(function(r,o){var a=t.apply(e,n);function i(e){oa(a,r,o,i,l,"next",e)}function l(e){oa(a,r,o,i,l,"throw",e)}i(void 0)})})();var t}function la(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ua(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map(function(e){var t,n,r;return{name:null!==(t=null!==(n=e.name)&&void 0!==n?n:e.columnName)&&void 0!==t?t:"",type:null!==(r=e.type)&&void 0!==r?r:e.dataType,nullable:e.nullable}}).filter(function(e){return e.name.length>0})}function ca(e,t){return(n=function(){var n,r,o,a;return function(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}(this,function(i){switch(i.label){case 0:return[4,oe("/mambatablecolumn?table=".concat(encodeURIComponent(e)),t)];case 1:return o=i.sent(),Array.isArray(o)?[2,ua(o)]:[2,ua(null!==(n=null!==(r=null==(a=o)?void 0:a.columns)&&void 0!==r?r:null==a?void 0:a.results)&&void 0!==n?n:[])]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var a=n.apply(e,t);function i(e){la(a,r,o,i,l,"next",e)}function l(e){la(a,r,o,i,l,"throw",e)}i(void 0)})})();var n}function sa(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function da(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){da(e,t,n[t])})}return e}function fa(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function ma(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return sa(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?sa(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ya(e){var t,n,r;return"string"==typeof e?String(e):null!==(t=null!==(n=null!==(r=null==e?void 0:e.name)&&void 0!==r?r:null==e?void 0:e.table)&&void 0!==n?n:null==e?void 0:e.tableName)&&void 0!==t?t:""}function ga(e){var t=e.open,n=e.config,o=e.onChange,a=ma(r.useState([]),2),l=a[0],u=a[1],c=ma(r.useState(!1),2),s=c[0],d=c[1],p=ma(r.useState(null),2),f=p[0],m=p[1],y=ma(r.useState([]),2),g=y[0],v=y[1],b=ma(r.useState(!1),2),h=b[0],A=b[1],E=ma(r.useState(null),2),w=E[0],C=E[1];r.useEffect(function(){if(!t)return u([]),d(!1),void m(null);var e=new AbortController;return d(!0),m(null),ia(e.signal).then(function(e){return u(null!=e?e:[])}).catch(function(e){var t;"AbortError"!==(null==e?void 0:e.name)&&m(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load tables")}).finally(function(){return d(!1)}),function(){return e.abort()}},[t]),r.useEffect(function(){if(!t)return v([]),A(!1),void C(null);var e=null==n?void 0:n.sourceTable;if(!e)return v([]),A(!1),void C(null);var r=new AbortController;return A(!0),C(null),ca(e,r.signal).then(function(e){return v(null!=e?e:[])}).catch(function(e){var t;"AbortError"!==(null==e?void 0:e.name)&&C(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load columns")}).finally(function(){return A(!1)}),function(){return r.abort()}},[t,null==n?void 0:n.sourceTable]);var S=r.useMemo(function(){return(null!=g?g:[]).map(function(e){return null==e?void 0:e.name}).filter(Boolean)},[g]),_=r.useMemo(function(){return(null!=l?l:[]).map(ya).filter(Boolean)},[l]),O=t&&!s&&!f,k=t&&Boolean(n.sourceTable)&&!h&&!w;return r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Source"),r.createElement(i.a32,{id:"theme-source-table",titleText:"Source table/view",items:_,selectedItem:n.sourceTable||null,disabled:!O,placeholder:s?"Loading…":f?"Failed to load tables":"Type to search tables…",onChange:function(e){var t,r,a=null!==(t=null==e?void 0:e.selectedItem)&&void 0!==t?t:"";o(fa(pa({},n),{sourceTable:a,patientIdColumn:"",dateColumn:"",locationColumn:"",fields:null!==(r=n.fields)&&void 0!==r?r:[]}))}}),r.createElement("div",{style:{marginTop:"0.5rem"}},s?r.createElement(i.OuH,{description:"Loading tables…"}):null,!s&&f?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},f):null),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:"0.75rem",marginTop:"0.75rem"}},r.createElement(i.l6P,{id:"theme-patient-id-col",labelText:"patient_id column",value:n.patientIdColumn||"",disabled:!k,onChange:function(e){return o(fa(pa({},n),{patientIdColumn:e.target.value}))}},r.createElement(i.ebT,{value:"",disabled:!0,text:h?"Loading…":"Select"}),S.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement(i.l6P,{id:"theme-date-col",labelText:"date column",value:n.dateColumn||"",disabled:!k,onChange:function(e){return o(fa(pa({},n),{dateColumn:e.target.value}))}},r.createElement(i.ebT,{value:"",disabled:!0,text:h?"Loading…":"Select"}),S.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement(i.l6P,{id:"theme-location-col",labelText:"location column (optional)",value:n.locationColumn||"",disabled:!k,onChange:function(e){return o(fa(pa({},n),{locationColumn:e.target.value}))}},r.createElement(i.ebT,{value:"",disabled:!0,text:h?"Loading…":"Select"}),S.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})}))),r.createElement("div",{style:{marginTop:"0.5rem"}},h?r.createElement(i.OuH,{description:"Loading columns…"}):null,!h&&w?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},w):null))}function va(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ba(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ha(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ba(e,t,n[t])})}return e}function Aa(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var Ea=["string","number","date","datetime","boolean","coded","json"];function wa(e){var t,n=e.config,o=e.onChange,a=null!==(t=n.fields)&&void 0!==t?t:[],l=function(e,t){var r=a.map(function(n,r){return r===e?ha({},n,t):n});o(Aa(ha({},n),{fields:r}))};return r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Fields"),r.createElement("div",{style:{marginBottom:"0.75rem",opacity:.85,fontSize:"0.875rem"}},"Define the fields exposed by this theme. ",r.createElement("b",null,"expr")," can be a column name or a SQL expression."),0===a.length?r.createElement("div",{style:{marginBottom:"0.75rem",opacity:.8}},"No fields yet. Add at least one field."):null,r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1.2fr 1.2fr 2fr 1fr auto",gap:"0.75rem"}},r.createElement("div",{style:{fontWeight:600}},"Key"),r.createElement("div",{style:{fontWeight:600}},"Label"),r.createElement("div",{style:{fontWeight:600}},"Expression"),r.createElement("div",{style:{fontWeight:600}},"Type"),r.createElement("div",null),a.map(function(e,t){return r.createElement(r.Fragment,{key:t},r.createElement(i.ksK,{id:"theme-field-key-".concat(t),labelText:"",hideLabel:!0,value:e.key,placeholder:"field_key",onChange:function(e){return l(t,{key:e.target.value})}}),r.createElement(i.ksK,{id:"theme-field-label-".concat(t),labelText:"",hideLabel:!0,value:e.label,placeholder:"Field label",onBlur:function(){var n;!e.key&&e.label&&l(t,{key:(n=e.label,(null!=n?n:"").toLowerCase().trim().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,40))})},onChange:function(e){return l(t,{label:e.target.value})}}),r.createElement(i.ksK,{id:"theme-field-expr-".concat(t),labelText:"",hideLabel:!0,value:e.expr,placeholder:"column_name or SQL expression",onChange:function(e){return l(t,{expr:e.target.value})}}),r.createElement(i.l6P,{id:"theme-field-type-".concat(t),labelText:"",hideLabel:!0,value:e.type,onChange:function(e){return l(t,{type:e.target.value})}},Ea.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement(i.$nd,{kind:"ghost",size:"sm",hasIconOnly:!0,iconDescription:"Remove field",renderIcon:N.zH,onClick:function(){return function(e){var t=a.filter(function(t,n){return n!==e});o(Aa(ha({},n),{fields:t}))}(t)}}))})),r.createElement("div",{style:{marginTop:"1rem"}},r.createElement(i.$nd,{kind:"secondary",size:"sm",renderIcon:T.OM,onClick:function(){var e,t={key:"field_".concat(a.length+1),label:"",expr:"",type:"string"};o(Aa(ha({},n),{fields:(e=a,function(e){if(Array.isArray(e))return va(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return va(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?va(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([t])}))}},"Add field")))}function Ca(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Sa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Sa(e,t,n[t])})}return e}function Oa(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function ka(e){return function(e){if(Array.isArray(e))return Ca(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||xa(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xa(e,t){if(e){if("string"==typeof e)return Ca(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ca(e,t):void 0}}var Ta=["CONCEPT_SEARCH","QUESTION_ANSWER_CONCEPT_SEARCH","TEXT","NUMBER","DATE_RANGE","BOOLEAN","LOCATION_PICKER","CODED_LIST"],Ia=["EQUALS","IN","NOT_IN","LIKE","BETWEEN","GTE","LTE"],ja=["conceptUuid","conceptId","string","number","date","datetime","boolean"];function Pa(){return"".concat(Date.now(),"_").concat(Math.random().toString(16).slice(2))}function Da(e,t){var n=(null!=e?e:"").trim(),r=(null!=t?t:"").trim();return n&&r?"QA(".concat(n,",").concat(r,")"):""}function Na(e,t){return(null!=e?e:[]).map(function(e){var n,r,o,a=(r=(null!=(n=e.column)?n:"").trim(),(o=/^QA\(([^,]+),([^)]+)\)$/.exec(r))?{questionCol:o[1].trim(),answerCol:o[2].trim()}:null);if(a)return Oa(_a({},e),{_id:Pa(),_columnMode:"qa",_qaQuestionCol:a.questionCol,_qaAnswerCol:a.answerCol});if("QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler)return Oa(_a({},e),{_id:Pa(),_columnMode:"qa",_qaQuestionCol:"",_qaAnswerCol:""});var i=t.includes(e.column);return Oa(_a({},e),{_id:Pa(),_columnMode:i?"pick":"custom"})})}function Ba(e){var t,n,o=e.open,a=e.config,l=e.onChange,u=e.columns,c=e.loadingCols,s=r.useMemo(function(){return(null!=u?u:[]).map(function(e){return null==e?void 0:e.name}).filter(Boolean)},[u]),d=r.useMemo(function(){return s.map(function(e){return{id:e,label:e}})},[s]),p=r.useMemo(function(){return ka([{id:"__CUSTOM__",label:"Custom expression…"},{id:"__QA__",label:"Question + Answer…"}]).concat(ka(d))},[d]),f=r.useMemo(function(){return d},[d]),m=r.useRef(""),y=(t=r.useState(function(){return Na(a.conditions,s)}),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(t,n)||xa(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=y[0],v=y[1],b=r.useCallback(function(e){v(e);var t=function(e){return e.map(function(e){var t=_a({},e);return delete t._id,delete t._columnMode,delete t._qaQuestionCol,delete t._qaAnswerCol,t})}(e),n=JSON.stringify(null!=t?t:[]);m.current=n,l(Oa(_a({},a),{conditions:t}))},[a,l]);r.useEffect(function(){var e;if(o){var t=JSON.stringify(null!==(e=a.conditions)&&void 0!==e?e:[]);t!==m.current&&(m.current=t,v(Na(a.conditions,s)))}},[o,a.conditions,s]),r.useEffect(function(){o&&v(function(e){return(null!=e?e:[]).map(function(e){if("QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler){var t,n,r=null!==(t=e._qaQuestionCol)&&void 0!==t?t:"",o=null!==(n=e._qaAnswerCol)&&void 0!==n?n:"";return Oa(_a({},e),{_columnMode:"qa",column:Da(r,o)})}return"pick"===e._columnMode&&e.column&&!s.includes(e.column)?Oa(_a({},e),{_columnMode:"custom"}):e})})},[o,s]);var h=function(e,t){return b((null!=g?g:[]).map(function(n){return n._id===e?_a({},n,t):n}))},A=o&&!c;return r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Conditions"),r.createElement("div",{style:{marginBottom:"0.75rem",opacity:.85,fontSize:"0.875rem"}},"Define filterable fields for this theme. ",r.createElement("b",null,"Column/Expr")," should be a real column where possible; use custom only when needed."),0===g.length?r.createElement("div",{style:{marginBottom:"0.75rem",opacity:.8}},"No conditions yet."):null,r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1.2fr 1.4fr 1.2fr 2fr 1fr 1.1fr auto",gap:"0.75rem"}},r.createElement("div",{style:{fontWeight:600}},"Key"),r.createElement("div",{style:{fontWeight:600}},"Label"),r.createElement("div",{style:{fontWeight:600}},"Handler"),r.createElement("div",{style:{fontWeight:600}},"Column/Expr"),r.createElement("div",{style:{fontWeight:600}},"Operator"),r.createElement("div",{style:{fontWeight:600}},"Value type"),r.createElement("div",null),g.map(function(e){var t,n,a,l,u,c="custom"===e._columnMode?null!==(t=p.find(function(e){return"__CUSTOM__"===e.id}))&&void 0!==t?t:null:"qa"===e._columnMode?null!==(n=p.find(function(e){return"__QA__"===e.id}))&&void 0!==n?n:null:null!==(a=p.find(function(t){return t.id===e.column}))&&void 0!==a?a:null,s=null!==(l=f.find(function(t){var n;return t.id===(null!==(n=e._qaQuestionCol)&&void 0!==n?n:"")}))&&void 0!==l?l:null,d=null!==(u=f.find(function(t){var n;return t.id===(null!==(n=e._qaAnswerCol)&&void 0!==n?n:"")}))&&void 0!==u?u:null;return r.createElement(r.Fragment,{key:e._id},r.createElement(i.ksK,{id:"theme-cond-key-".concat(e._id),labelText:"",hideLabel:!0,value:e.key,disabled:!o,placeholder:"concept_id",onChange:function(t){return h(e._id,{key:t.target.value})}}),r.createElement(i.ksK,{id:"theme-cond-label-".concat(e._id),labelText:"",hideLabel:!0,value:e.label,disabled:!o,placeholder:"Diagnosis",onChange:function(t){return h(e._id,{label:t.target.value})}}),r.createElement(i.l6P,{id:"theme-cond-handler-".concat(e._id),labelText:"",hideLabel:!0,value:e.handler,disabled:!A,onChange:function(t){var n,r,o=t.target.value;h(e._id,"QUESTION_ANSWER_CONCEPT_SEARCH"!==o?{handler:o,_columnMode:"qa"===e._columnMode?"pick":e._columnMode,column:"qa"===e._columnMode?"":e.column}:{handler:o,_columnMode:"qa",column:Da(null!==(n=e._qaQuestionCol)&&void 0!==n?n:"",null!==(r=e._qaAnswerCol)&&void 0!==r?r:"")})}},Ta.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement("div",null,r.createElement(i.a32,{id:"theme-cond-col-".concat(e._id),titleText:"",items:p,itemToString:function(e){return e?e.label:""},selectedItem:c,disabled:!A||"QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler,onChange:function(t){var n,r,o=t.selectedItem,a=null==o?void 0:o.id;"__CUSTOM__"!==a?"__QA__"!==a?"string"==typeof a&&a&&h(e._id,{_columnMode:"pick",column:a}):h(e._id,{_columnMode:"qa",column:Da(null!==(n=e._qaQuestionCol)&&void 0!==n?n:"",null!==(r=e._qaAnswerCol)&&void 0!==r?r:"")}):h(e._id,{_columnMode:"custom",column:""})}}),"custom"===e._columnMode&&"QUESTION_ANSWER_CONCEPT_SEARCH"!==e.handler?r.createElement(i.ksK,{id:"theme-cond-col-custom-".concat(e._id),labelText:"",hideLabel:!0,value:e.column,disabled:!A,placeholder:"a.some_column",onChange:function(t){return h(e._id,{column:t.target.value})},style:{marginTop:"0.5rem"}}):null,"qa"===e._columnMode||"QUESTION_ANSWER_CONCEPT_SEARCH"===e.handler?r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.5rem",marginTop:"0.5rem"}},r.createElement(i.a32,{id:"theme-cond-qa-q-".concat(e._id),titleText:"",items:f,itemToString:function(e){return e?e.label:""},selectedItem:s,disabled:!A,placeholder:"Question column",onChange:function(t){var n,r,o=t.selectedItem,a=null!==(n=null==o?void 0:o.id)&&void 0!==n?n:"",i=null!==(r=e._qaAnswerCol)&&void 0!==r?r:"";h(e._id,{_qaQuestionCol:a,_columnMode:"qa",column:Da(String(a),i)})}}),r.createElement(i.a32,{id:"theme-cond-qa-a-".concat(e._id),titleText:"",items:f,itemToString:function(e){return e?e.label:""},selectedItem:d,disabled:!A,placeholder:"Answer column",onChange:function(t){var n,r,o=t.selectedItem,a=null!==(n=null==o?void 0:o.id)&&void 0!==n?n:"",i=null!==(r=e._qaQuestionCol)&&void 0!==r?r:"";h(e._id,{_qaAnswerCol:a,_columnMode:"qa",column:Da(i,String(a))})}})):null),r.createElement(i.l6P,{id:"theme-cond-op-".concat(e._id),labelText:"",hideLabel:!0,value:e.operator,disabled:!A,onChange:function(t){return h(e._id,{operator:t.target.value})}},Ia.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement(i.l6P,{id:"theme-cond-vt-".concat(e._id),labelText:"",hideLabel:!0,value:e.valueType,disabled:!A,onChange:function(t){return h(e._id,{valueType:t.target.value})}},ja.map(function(e){return r.createElement(i.ebT,{key:e,value:e,text:e})})),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:N.zH,iconDescription:"Remove condition",disabled:!A,onClick:function(){return t=e._id,b((null!=g?g:[]).filter(function(e){return e._id!==t}));var t}}))})),r.createElement(i.BJc,{orientation:"horizontal",gap:3,style:{marginTop:"0.75rem"}},r.createElement(i.$nd,{kind:"secondary",size:"sm",renderIcon:T.OM,disabled:!A,onClick:function(){return b(ka(null!=g?g:[]).concat([(e=g.length,{_id:Pa(),_columnMode:"pick",key:"cond_".concat(e+1),label:"",handler:"CONCEPT_SEARCH",column:"",operator:"IN",valueType:"conceptUuid"})]));var e}},"Add condition")))}var $a=n(810),Ra=n(3989),Ma=[{key:"Report",label:"Report",Icon:u.pl},{key:"ChartColumn",label:"Chart",Icon:c.n5},{key:"Medication",label:"Medication",Icon:$a.gG},{key:"Calendar",label:"Appointments",Icon:c.Vv},{key:"Hospital",label:"Facility",Icon:l.vg},{key:"Document",label:"Document",Icon:Ae.yo},{key:"Search",label:"Search",Icon:p.vj},{key:"Information",label:"Info",Icon:nr.$$},{key:"Warning",label:"Warning",Icon:et.N5},{key:"CheckmarkFilled",label:"Check",Icon:B._j},{key:"List",label:"List",Icon:s.B8},{key:"Tag",label:"Tag",Icon:Ra.vw}];function Ua(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function za(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){za(e,t,n[t])})}return e}function qa(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var La=["BASE","FINAL"];function Ga(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#0f62fe",n=(null!=e?e:"").trim();if(!n)return t;var r=n.startsWith("#")?n:"#".concat(n);if(/^#[0-9a-fA-F]{6}$/.test(r))return r.toLowerCase();if(/^#[0-9a-fA-F]{3}$/.test(r)){var o=r[1],a=r[2],i=r[3];return"#".concat(o).concat(o).concat(a).concat(a).concat(i).concat(i).toLowerCase()}return t}function Ja(e){var t,n,o,a,l,u=e.value,c=e.onChange,s=e.open,d=Ga(u.color),p=function(e){var t;return null===(t=Ma.find(function(t){return t.key===e}))||void 0===t?void 0:t.Icon}(u.icon);return r.createElement("div",null,r.createElement("div",{style:{fontWeight:600,marginBottom:"0.75rem"}},"Metadata"),r.createElement("div",{style:{marginBottom:"0.75rem",opacity:.85,fontSize:"0.875rem"}},"Controls how this theme appears in the UI (icon, color, category, ordering, etc.). Stored as ",r.createElement("b",null,"metaJson"),"."),r.createElement(i.BJc,{gap:5},r.createElement("div",null,r.createElement(i.a32,{id:"theme-meta-icon",titleText:"Icon",items:(l=Ma,function(e){if(Array.isArray(e))return Ua(e)}(l)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(l)||function(e,t){if(e){if("string"==typeof e)return Ua(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ua(e,t):void 0}}(l)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),disabled:!s,itemToString:function(e){return e?e.label:""},selectedItem:null!==(t=Ma.find(function(e){return e.key===u.icon}))&&void 0!==t?t:null,placeholder:"Type to search icons…",onChange:function(e){var t,n=null==e?void 0:e.selectedItem;c(qa(Fa({},u),{icon:null!==(t=null==n?void 0:n.key)&&void 0!==t?t:""}))}}),p?r.createElement("div",{style:{marginTop:"0.5rem",display:"flex",alignItems:"center",gap:"0.5rem",opacity:.9}},r.createElement(p,{size:20}),r.createElement("span",{style:{fontSize:"0.875rem"}},u.icon)):null),r.createElement("div",null,r.createElement("div",{style:{fontSize:"0.875rem",marginBottom:"0.25rem"}},"Color"),r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"}},r.createElement("input",{id:"theme-meta-color-picker",type:"color",value:d,disabled:!s,onChange:function(e){return c(qa(Fa({},u),{color:Ga(e.target.value)}))},style:{width:"3rem",height:"2.5rem",padding:0,border:"1px solid var(--cds-border-subtle)",borderRadius:"4px",background:"transparent",cursor:s?"pointer":"not-allowed"}}),r.createElement(i.ksK,{id:"theme-meta-color-hex",labelText:"",hideLabel:!0,value:d,disabled:!s,onChange:function(e){return c(qa(Fa({},u),{color:Ga(e.target.value)}))}}))),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.75rem"}},r.createElement(i.ksK,{id:"theme-meta-category",labelText:"Category",value:null!==(n=u.category)&&void 0!==n?n:"",disabled:!s,placeholder:"e.g. Clinical",onChange:function(e){return c(qa(Fa({},u),{category:e.target.value}))}}),r.createElement(i.Q7x,{id:"theme-meta-order",label:"Order",value:Number.isFinite(u.order)?u.order:0,disabled:!s,min:0,step:1,onChange:function(e,t){var n=Number(null==t?void 0:t.value);c(qa(Fa({},u),{order:Number.isFinite(n)?n:0}))}})),r.createElement(i.Sc0,{id:"theme-meta-beta",labelText:"Beta",checked:Boolean(u.beta),disabled:!s,onChange:function(e,t){var n=t.checked;return c(qa(Fa({},u),{beta:Boolean(n)}))}}),r.createElement(i.fs1,{id:"theme-meta-description-short",labelText:"Short description",value:null!==(o=u.descriptionShort)&&void 0!==o?o:"",disabled:!s,placeholder:"e.g. Diagnosis-based indicators",onChange:function(e){return c(qa(Fa({},u),{descriptionShort:e.target.value}))}}),r.createElement(i.KFt,{id:"theme-meta-kinds",titleText:"Allowed indicator kinds",items:La,disabled:!s,itemToString:function(e){return e?String(e):""},initialSelectedItems:null!==(a=u.allowedIndicatorKinds)&&void 0!==a?a:[],onChange:function(e){var t,n=null!==(t=null==e?void 0:e.selectedItems)&&void 0!==t?t:[];c(qa(Fa({},u),{allowedIndicatorKinds:n}))},label:"Select kinds"})))}function Wa(e){var t=e.config,n=e.metaJson,o=e.onConfigJson,a=r.useMemo(function(){return JSON.stringify(t,null,2)},[t]);r.useEffect(function(){o(a)},[a,o]);var l=function(e){var t=e.title,n=e.subtitle,o=e.value,a=e.copyLabel,l=e.textAreaId;return r.createElement("div",{style:{background:"var(--cds-layer-01)",border:"1px solid var(--cds-border-subtle)",borderRadius:8,padding:"1rem"}},r.createElement("div",{style:{display:"flex",alignItems:"start",justifyContent:"space-between",gap:"1rem"}},r.createElement("div",null,r.createElement("div",{style:{fontWeight:600}},t),n?r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8,marginTop:"0.25rem"}},n):null),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:Ze.QR,iconDescription:a,onClick:function(){var e,t;(e=o)&&(null===(t=navigator.clipboard)||void 0===t||t.writeText(e).catch(function(){}))}},"Copy")),r.createElement("div",{style:{marginTop:"0.75rem"}},r.createElement(i.fs1,{id:l,labelText:"",hideLabel:!0,value:o,readOnly:!0,style:{minHeight:420,fontFamily:'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'}})))};return r.createElement("div",null,r.createElement("div",{style:{marginBottom:"0.75rem"}},r.createElement("div",{style:{fontWeight:600}},"Preview"),r.createElement("div",{style:{fontSize:"0.875rem",opacity:.8}},"These are the exact JSON payloads that will be saved.")),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem",alignItems:"start"}},r.createElement(l,{title:"configJson",subtitle:"Data source + fields + conditions.",value:a,copyLabel:"Copy configJson",textAreaId:"theme-config-preview"}),r.createElement(l,{title:"metaJson",subtitle:"UI metadata (icon, color, category, ordering).",value:n,copyLabel:"Copy metaJson",textAreaId:"theme-meta-preview"})))}function Ha(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ka(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ka(e,t,n[t])})}return e}function Ya(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ha(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ha(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Va(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var Xa={sourceTable:"",patientIdColumn:"",dateColumn:"",locationColumn:"",fields:[],conditions:[]},Za={icon:"",color:"#0f62fe",category:"",order:0,beta:!1,descriptionShort:"",allowedIndicatorKinds:["BASE","FINAL"]};function ei(e){return(null!=e?e:"").toUpperCase().replace(/[^A-Z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,30)}function ti(e,t){try{if(!e)return t;var n=JSON.parse(e);return null!=n?n:t}catch(e){return t}}function ni(e){return JSON.stringify({metaJson:e},null,2)}function ri(e){var t=e.open,n=e.mode,o=e.initial,a=e.onClose,l=e.onSave,u=Ya(r.useState("basics"),2),c=u[0],s=u[1],d=Ya(r.useState(""),2),p=d[0],f=d[1],m=Ya(r.useState(""),2),y=m[0],g=m[1],v=Ya(r.useState("OBSERVATIONS"),2),b=v[0],h=v[1],A=Ya(r.useState(""),2),E=A[0],w=A[1],C=Ya(r.useState(Xa),2),S=C[0],_=C[1],O=Ya(r.useState(JSON.stringify(Xa,null,2)),2),k=O[0],x=O[1],T=Ya(r.useState(Za),2),I=T[0],j=T[1],P=Ya(r.useState(ni(Za)),2),D=P[0],N=P[1],B=Ya(r.useState([]),2)[1],$=Ya(r.useState(!1),2),R=$[0],M=$[1],U=Ya(r.useState(null),2),z=U[0],F=U[1],q=Ya(r.useState([]),2),L=q[0],G=q[1],J=Ya(r.useState(!1),2),W=J[0],H=J[1],K=Ya(r.useState(null),2),Q=K[0],Y=K[1];r.useEffect(function(){var e;if(t)if(s("basics"),o){var n,r,a,i;f(null!==(n=o.name)&&void 0!==n?n:""),g(null!==(r=o.code)&&void 0!==r?r:""),h(null!==(a=o.domain)&&void 0!==a?a:"OBSERVATIONS"),w(null!==(i=o.description)&&void 0!==i?i:"");var l=function(e){var t=ti(e,Xa),n=t&&"object"===(void 0===t?"undefined":Va(t))&&t.configJson&&"object"===Va(t.configJson)?t.configJson:t,r=Qa({},Xa,null!=n?n:{});Array.isArray(r.fields)||(r.fields=[]),Array.isArray(r.conditions)||(r.conditions=[]);var o=r.conditionColumns&&"object"===Va(r.conditionColumns),a=!Array.isArray(r.conditions)||0===r.conditions.length;if(o&&a){var i=Object.entries(r.conditionColumns);r.conditions=i.map(function(e){var t=Ya(e,2),n=t[0],r=t[1],o=n.toLowerCase().includes("concept");return{key:n,label:n.replace(/_/g," "),handler:o?"CONCEPT_SEARCH":"TEXT",column:r,operator:o?"IN":"EQUALS",valueType:o?"conceptId":"string"}})}return Array.isArray(r.conditions)||(r.conditions=[]),Array.isArray(r.fields)||(r.fields=[]),r}(o.configJson);_(l),x(JSON.stringify(l,null,2));var u=(e=ti(o.metaJson,Za))&&"object"===(void 0===e?"undefined":Va(e))&&e.metaJson&&"object"===Va(e.metaJson)?Qa({},Za,e.metaJson):Qa({},Za,e);j(u),N(ni(u))}else f(""),g(""),h("OBSERVATIONS"),w(""),_(Xa),x(JSON.stringify(Xa,null,2)),j(Za),N(ni(Za))},[t,o]),r.useEffect(function(){if(t){var e=new AbortController;return M(!0),F(null),B([]),ia(e.signal).then(function(e){return B(null!=e?e:[])}).catch(function(e){var t;"AbortError"!==(null==e?void 0:e.name)&&F(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load schema tables")}).finally(function(){return M(!1)}),function(){return e.abort()}}},[t]),r.useEffect(function(){if(t){var e=null==S?void 0:S.sourceTable;if(!e)return G([]),Y(null),void H(!1);var n=new AbortController;return H(!0),Y(null),G([]),ca(e,n.signal).then(function(e){return G(null!=e?e:[])}).catch(function(e){var t;"AbortError"!==(null==e?void 0:e.name)&&Y(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load table columns")}).finally(function(){return H(!1)}),function(){return n.abort()}}},[t,null==S?void 0:S.sourceTable]),r.useEffect(function(){x(JSON.stringify(null!=S?S:Xa,null,2))},[S]),r.useEffect(function(){N(ni(null!=I?I:Za))},[I]);var V=t&&!R&&!z,X=V&&Boolean(p.trim())&&Boolean((y.trim()||ei(p)).trim())&&Boolean(b)&&Boolean(null==S?void 0:S.sourceTable)&&Boolean(null==S?void 0:S.patientIdColumn)&&Boolean(null==S?void 0:S.dateColumn);if(!t)return null;var Z=function(e){var t=e.id,n=e.label;return r.createElement(i.VxE,{isActive:c===t,onClick:function(){return s(t)}},n)};return r.createElement(i.aFV,{open:t,modalHeading:"create"===n?"Create Data Theme":"Edit Data Theme",primaryButtonText:"create"===n?"Create":"Save",secondaryButtonText:"Cancel",onRequestClose:a,onRequestSubmit:function(){if(X){var e=(t=Qa({},(null==o?void 0:o.uuid)?{uuid:o.uuid}:{}),n=null!=(n={name:p.trim(),code:(y.trim()||ei(p)).trim(),domain:b,description:E.trim(),configJson:k,metaJson:D})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t);l(e)}var t,n},primaryButtonDisabled:!X,size:"lg"},r.createElement(i.BJc,{gap:6},R?r.createElement(i.OuH,{description:"Loading schema tables…"}):null,!R&&z?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},"Failed to load schema tables: ",z):null,V?r.createElement("div",{style:{display:"grid",gridTemplateColumns:"240px 1fr",gap:"1rem"}},r.createElement("div",null,r.createElement(i.f8J,{expanded:!0,isPersistent:!1,"aria-label":"Theme editor sections"},r.createElement(i.BC4,null,r.createElement(Z,{id:"basics",label:"Basics"}),r.createElement(Z,{id:"source",label:"Source"}),r.createElement(Z,{id:"fields",label:"Fields"}),r.createElement(Z,{id:"conditions",label:"Conditions"}),r.createElement(Z,{id:"metadata",label:"Metadata"}),r.createElement(Z,{id:"preview",label:"Preview"})))),r.createElement(i.UCW,{style:{padding:0}},"basics"===c?r.createElement(ra,{value:{name:p,code:y,domain:b,description:E},onChange:function(e){var t;f(e.name),g(e.code),h(e.domain),w(null!==(t=e.description)&&void 0!==t?t:"")}}):null,"source"===c?r.createElement(r.Fragment,null,r.createElement(ga,{open:t,config:S,onChange:_}),W?r.createElement(i.OuH,{description:"Loading columns…"}):null,!W&&Q?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)",marginTop:"0.5rem"}},"Failed to load table columns: ",Q):null):null,"fields"===c?r.createElement(wa,{config:S,onChange:_,open:t}):null,"conditions"===c?r.createElement(Ba,{open:t,config:S,onChange:_,columns:L,loadingCols:W}):null,"metadata"===c?r.createElement(Ja,{value:I,onChange:j,open:t}):null,"preview"===c?r.createElement(Wa,{config:S,metaJson:D,onConfigJson:x}):null)):null))}function oi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ai(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ii(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){ai(a,r,o,i,l,"next",e)}function l(e){ai(a,r,o,i,l,"throw",e)}i(void 0)})}}function li(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return oi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oi(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ui(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}function ci(){var e=(0,I.useTranslation)().t,t=li(r.useState(""),2),n=t[0],o=t[1],a=li(r.useState([]),2),l=a[0],u=a[1],c=li(r.useState(!1),2),s=c[0],d=c[1],p=li(r.useState(null),2),f=p[0],m=p[1],y=li(r.useState(!1),2),g=y[0],v=y[1],b=li(r.useState("create"),2),h=b[0],A=b[1],E=li(r.useState(null),2),w=E[0],C=E[1],S=r.useCallback(function(e){return d(!0),m(null),function(e,t){return Ot(function(){var n;return kt(this,function(r){switch(r.label){case 0:return[4,oe((n=null==e?void 0:e.trim())?"".concat(xt,"?q=").concat(encodeURIComponent(n),"&v=full"):"".concat(xt,"?v=full"),t)];case 1:return[2,(o=r.sent(),o?Array.isArray(o)?o:Array.isArray(o.results)?o.results:[]:[])]}var o})})()}(n,e).then(function(e){var t=(null!=e?e:[]).map(function(e){var t,n,r;return{uuid:null!==(t=e.uuid)&&void 0!==t?t:"",name:null!==(n=e.name)&&void 0!==n?n:"",code:null!==(r=e.code)&&void 0!==r?r:"",domain:e.domain,description:e.description,retired:e.retired}});u(t.filter(function(e){return Boolean(e.uuid)}))}).catch(function(e){var t;return m(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load themes")}).finally(function(){return d(!1)})},[n]);return r.useEffect(function(){var e=new AbortController;return S(e.signal),function(){return e.abort()}},[S]),r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:e("dataTheme","Data Themes"),subtitle:e("dataThemeSubTitle"," Define reusable data sources (mamba_* tables/views) for indicators and reporting.")}),r.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"end",gap:"1rem"}},r.createElement("div",null),r.createElement(i.$nd,{size:"sm",kind:"primary",renderIcon:T.OM,onClick:function(){A("create"),C(null),v(!0)}},"Create Theme")),r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search themes…",value:n,onChange:function(e){return o(e.target.value)}}),s?r.createElement("div",null,"Loading…"):null,!s&&f?r.createElement("div",{style:{color:"var(--cds-text-error, #da1e28)"}},f):null,r.createElement(Xo,{rows:l,onEdit:function(e){return ii(function(){var t,n,r;return ui(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,3,4]),A("edit"),m(null),d(!0),[4,Tt(e)];case 1:return t=o.sent(),C(t),v(!0),[3,4];case 2:return n=o.sent(),m(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to load theme for editing"),[3,4];case 3:return d(!1),[7];case 4:return[2]}})})()},onDelete:function(e){return ii(function(){var t;return ui(this,function(n){switch(n.label){case 0:return[4,Pt(e,!1)];case 1:return n.sent(),t=new AbortController,[4,S(t.signal)];case 2:return n.sent(),[2]}})})()}}),r.createElement(ri,{open:g,mode:h,initial:w,onClose:function(){return v(!1)},onSave:function(e){return ii(function(){var t;return ui(this,function(n){switch(n.label){case 0:return"create"!==h?[3,2]:[4,It(e)];case 1:return n.sent(),[3,4];case 2:if(!e.uuid)throw new Error("Missing uuid for update");return[4,jt(e.uuid,e)];case 3:n.sent(),n.label=4;case 4:return v(!1),t=new AbortController,[4,S(t.signal)];case 5:return n.sent(),[2]}})})()}}))}var si={minHeight:"10rem"};function di(){var e=(0,a.Zp)();return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"Admin",subtitle:"Manage shared configuration, catalogues, and library references for the report builder."}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:"1rem"}},r.createElement(i.t3h,{style:si,onClick:function(){return e("/admin/report-library")}},r.createElement("h4",null,"Report Library"),r.createElement("p",null,"Catalog completed and legacy reports before full migration into the builder.")),r.createElement(i.t3h,{style:si,onClick:function(){return e("/admin/themes")}},r.createElement("h4",null,"Data Themes"),r.createElement("p",null,"Manage reusable source configurations and table mappings."))))}function pi(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function fi(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){pi(a,r,o,i,l,"next",e)}function l(e){pi(a,r,o,i,l,"throw",e)}i(void 0)})}}function mi(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var yi="/reportbuilder/reportcategory";function gi(e,t){return fi(function(){var n;return mi(this,function(r){switch(r.label){case 0:return(n=new URLSearchParams).set("v","full"),(null==e?void 0:e.trim())&&n.set("q",e.trim()),[4,oe("".concat(yi,"?").concat(n.toString()),t)];case 1:return[2,(o=r.sent(),o?Array.isArray(o)?o:Array.isArray(o.results)?o.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)})]}var o})})()}function vi(e,t){return fi(function(){return mi(this,function(n){return[2,ae(yi,e,t)]})})()}function bi(e,t,n){return fi(function(){return mi(this,function(r){return[2,ae("".concat(yi,"/").concat(encodeURIComponent(e)),t,n)]})})()}function hi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Retired from Report Builder Admin",n=arguments.length>2?arguments[2]:void 0;return fi(function(){var r;return mi(this,function(o){return(r=new URLSearchParams).set("reason",t),[2,ie("".concat(yi,"/").concat(encodeURIComponent(e),"?").concat(r.toString()),n)]})})()}function Ai(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ei(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function wi(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Ei(a,r,o,i,l,"next",e)}function l(e){Ei(a,r,o,i,l,"throw",e)}i(void 0)})}}function Ci(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Si(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ci(e,t,n[t])})}return e}function _i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function Oi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ai(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ai(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ki(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var xi=[{key:"name",header:"Name"},{key:"description",header:"Description"},{key:"status",header:"Status"},{key:"actions",header:"Actions"}],Ti={name:"",description:""};const Ii=function(){var e=Oi(r.useState(""),2),t=e[0],n=e[1],o=Oi(r.useState([]),2),a=o[0],l=o[1],u=Oi(r.useState(!1),2),c=u[0],s=u[1],d=Oi(r.useState(null),2),p=d[0],f=d[1],m=Oi(r.useState(!1),2),y=m[0],g=m[1],v=Oi(r.useState("create"),2),b=v[0],h=v[1],A=Oi(r.useState(null),2),E=A[0],w=A[1],C=Oi(r.useState(Ti),2),S=C[0],_=C[1],O=Oi(r.useState(!1),2),k=O[0],x=O[1],I=r.useCallback(function(e){return wi(function(){var n,r,o;return ki(this,function(a){switch(a.label){case 0:s(!0),f(null),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,gi(t,e)];case 2:return n=a.sent(),l(n),[3,5];case 3:return r=a.sent(),f(null!==(o=null==r?void 0:r.message)&&void 0!==o?o:"Failed to load report categories"),[3,5];case 4:return s(!1),[7];case 5:return[2]}})})()},[t]);r.useEffect(function(){var e=new AbortController;return I(e.signal),function(){return e.abort()}},[I]);var j=a.map(function(e){return{id:e.uuid,name:e.name,description:e.description||"—",status:e.retired?"Retired":"Active",actions:""}});return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"Report Categories",subtitle:"Manage shared categories used to classify reports across the builder.",actions:r.createElement(i.$nd,{size:"sm",renderIcon:T.OM,onClick:function(){h("create"),w(null),_(Ti),g(!0)}},"New Category")}),r.createElement("div",{style:{padding:"0 1rem 1rem",display:"grid",gap:"1rem"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search report categories…",value:t,onChange:function(e){return n(e.target.value)}}),p?r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Error",subtitle:p}):null,c?r.createElement(i.OOb,{rowCount:5,columnCount:4,showHeader:!1,showToolbar:!1}):r.createElement(i.bQt,{rows:j,headers:xi},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,l=e.getRowProps;return r.createElement(i.K3K,null,r.createElement(i.XIK,{useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,Si({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){var t=a.find(function(t){return t.uuid===e.id});return r.createElement(i.Hjg,Si({key:e.id},l({row:e})),r.createElement(i.nA6,null,null==t?void 0:t.name),r.createElement(i.nA6,null,(null==t?void 0:t.description)||"—"),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:(null==t?void 0:t.retired)?"gray":"green"},(null==t?void 0:t.retired)?"Retired":"Active")),r.createElement(i.nA6,null,r.createElement("div",{style:{display:"flex",gap:"0.5rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:Ae.ff,iconDescription:"Edit",onClick:function(){return t&&(e=t,h("edit"),w(e),_({name:null!==(n=e.name)&&void 0!==n?n:"",description:null!==(r=e.description)&&void 0!==r?r:""}),void g(!0));var e,n,r}},"Edit"),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:N.zH,iconDescription:"Retire",onClick:function(){return t&&(e=t,wi(function(){var t,n,r;return ki(this,function(o){switch(o.label){case 0:if(!(null==e?void 0:e.uuid))return[2];if(!window.confirm('Retire report category "'.concat(e.name,'"?')))return[2];o.label=1;case 1:return o.trys.push([1,4,,5]),[4,hi(e.uuid)];case 2:return o.sent(),t=new AbortController,[4,I(t.signal)];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),f(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to retire report category"),[3,5];case 5:return[2]}})})());var e}},"Retire"))))}))))})),r.createElement(i.aFV,{open:y,modalHeading:"create"===b?"Create Report Category":"Edit Report Category",primaryButtonText:k?"Saving…":"create"===b?"Create":"Save",secondaryButtonText:"Cancel",onRequestClose:function(){return!k&&g(!1)},onRequestSubmit:function(){return wi(function(){var e,t,n,r;return ki(this,function(o){switch(o.label){case 0:if(!S.name.trim())return[2];x(!0),f(null),o.label=1;case 1:return o.trys.push([1,7,8,9]),e={name:S.name.trim(),description:S.description.trim()||void 0},"create"!==b?[3,3]:[4,vi(e)];case 2:return o.sent(),[3,5];case 3:return(null==E?void 0:E.uuid)?[4,bi(E.uuid,e)]:[3,5];case 4:o.sent(),o.label=5;case 5:return g(!1),t=new AbortController,[4,I(t.signal)];case 6:return o.sent(),[3,9];case 7:return n=o.sent(),f(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to save report category"),[3,9];case 8:return x(!1),[7];case 9:return[2]}})})()},primaryButtonDisabled:k||!S.name.trim()},r.createElement(i.BJc,{gap:5},r.createElement(i.ksK,{id:"report-category-name",labelText:"Name",value:S.name,onChange:function(e){return _(function(t){return _i(Si({},t),{name:e.target.value})})}}),r.createElement(i.fs1,{id:"report-category-description",labelText:"Description",rows:4,value:S.description,onChange:function(e){return _(function(t){return _i(Si({},t),{description:e.target.value})})}}))))};function ji(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Pi(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ji(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ji(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const Di=function(){var e=Pi(r.useState(""),2),t=e[0],n=e[1],o=Pi(r.useState([]),2),a=o[0],l=o[1],u=Pi(r.useState(!1),2),c=u[0],s=u[1],d=Pi(r.useState(null),2),p=d[0],f=d[1];r.useEffect(function(){var e=new AbortController;return s(!0),f(null),gr(e.signal).then(l).catch(function(e){var t;return f(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load age categories")}).finally(function(){return s(!1)}),function(){return e.abort()}},[]);var m=a.filter(function(e){var n=t.trim().toLowerCase();return!n||[e.name,e.code,e.description||"",e.label].join(" ").toLowerCase().includes(n)});return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"Age Categories",subtitle:"Review reusable age disaggregation structures used by indicators and sections."}),r.createElement("div",{style:{padding:"0 1rem 1rem",display:"grid",gap:"1rem"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search age categories…",value:t,onChange:function(e){return n(e.target.value)}}),p?r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Error",subtitle:p}):null,c?r.createElement("div",null,"Loading…"):null,c||p?null:r.createElement(i.nD3,null,m.map(function(e){return r.createElement(i.AsP,{key:e.uuid,title:r.createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",flexWrap:"wrap"}},r.createElement("span",{style:{fontWeight:600}},e.name),r.createElement(i.vwO,{type:"blue"},e.code),r.createElement(i.vwO,{type:"green"},e.ageGroups.length," age groups"))},r.createElement(i.FAs,null,r.createElement("div",{style:{display:"grid",gap:"0.75rem"}},r.createElement("div",null,r.createElement("strong",null,"Description:")," ",e.description||"—"),r.createElement("div",null,r.createElement("strong",null,"UUID:")," ",e.uuid),r.createElement("div",null,r.createElement("strong",null,"Groups:"),r.createElement("div",{style:{display:"grid",gap:"0.5rem",marginTop:"0.75rem"}},e.ageGroups.map(function(e){return r.createElement("div",{key:e.id,style:{display:"grid",gridTemplateColumns:"2fr 1fr 1fr 1fr",gap:"0.75rem",padding:"0.75rem",border:"1px solid var(--cds-border-subtle, #e0e0e0)"}},r.createElement("span",null,e.label),r.createElement("span",null,"Min days: ",e.minAgeDays),r.createElement("span",null,"Max days: ",e.maxAgeDays),r.createElement("span",null,"Sort: ",e.sortOrder))}))))))}))))};function Ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Bi(e,t,n[t])})}return e}function Ri(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ni(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ni(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Mi=[{key:"label",header:"Label"},{key:"category",header:"Category"},{key:"range",header:"Range (days)"},{key:"sortOrder",header:"Sort Order"},{key:"status",header:"Status"}];const Ui=function(){var e=Ri(r.useState(""),2),t=e[0],n=e[1],o=Ri(r.useState([]),2),a=o[0],l=o[1],u=Ri(r.useState(!1),2),c=u[0],s=u[1],d=Ri(r.useState(null),2),p=d[0],f=d[1];r.useEffect(function(){var e=new AbortController;return s(!0),f(null),gr(e.signal).then(function(e){var t=e.flatMap(function(e){var t;return(null!==(t=e.ageGroups)&&void 0!==t?t:[]).map(function(t){return{id:"".concat(e.uuid,"-").concat(t.id),categoryName:e.name,categoryCode:e.code,label:t.label,minAgeDays:t.minAgeDays,maxAgeDays:t.maxAgeDays,sortOrder:t.sortOrder,active:t.active}})});l(t)}).catch(function(e){var t;return f(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load age groups")}).finally(function(){return s(!1)}),function(){return e.abort()}},[]);var m=a.filter(function(e){var n=t.trim().toLowerCase();return!n||[e.label,e.categoryName,e.categoryCode].join(" ").toLowerCase().includes(n)}),y=m.map(function(e){return{id:e.id,label:e.label,category:"".concat(e.categoryName," (").concat(e.categoryCode,")"),range:"".concat(e.minAgeDays," - ").concat(e.maxAgeDays),sortOrder:String(e.sortOrder),status:e.active?"Active":"Inactive"}});return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"Age Groups",subtitle:"Inspect age group ranges, ordering and category membership across the builder."}),r.createElement("div",{style:{padding:"0 1rem 1rem",display:"grid",gap:"1rem"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search age groups…",value:t,onChange:function(e){return n(e.target.value)}}),p?r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Error",subtitle:p}):null,c?r.createElement(i.OOb,{rowCount:8,columnCount:5,showHeader:!1,showToolbar:!1}):r.createElement(i.bQt,{rows:y,headers:Mi},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps;return r.createElement(i.K3K,null,r.createElement(i.XIK,{useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,$i({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){var t=m.find(function(t){return t.id===e.id});return r.createElement(i.Hjg,$i({key:e.id},a({row:e})),r.createElement(i.nA6,null,null==t?void 0:t.label),r.createElement(i.nA6,null,t?"".concat(t.categoryName," (").concat(t.categoryCode,")"):"—"),r.createElement(i.nA6,null,t?"".concat(t.minAgeDays," - ").concat(t.maxAgeDays):"—"),r.createElement(i.nA6,null,null==t?void 0:t.sortOrder),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:(null==t?void 0:t.active)?"green":"gray"},(null==t?void 0:t.active)?"Active":"Inactive")))}))))})))};function zi(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Fi(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){zi(a,r,o,i,l,"next",e)}function l(e){zi(a,r,o,i,l,"throw",e)}i(void 0)})}}function qi(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var Li="/reportbuilder/reportlibrary";function Gi(e,t){return Fi(function(){var n;return qi(this,function(r){switch(r.label){case 0:return(n=new URLSearchParams).set("v","full"),(null==e?void 0:e.trim())&&n.set("q",e.trim()),[4,oe("".concat(Li,"?").concat(n.toString()),t)];case 1:return[2,(o=r.sent(),o?Array.isArray(o)?o:Array.isArray(o.results)?o.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)})]}var o})})()}function Ji(e,t){return Fi(function(){return qi(this,function(n){return[2,ae(Li,e,t)]})})()}function Wi(e,t,n){return Fi(function(){return qi(this,function(r){return[2,ae("".concat(Li,"/").concat(encodeURIComponent(e)),t,n)]})})()}function Hi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Retired from report library",n=arguments.length>2?arguments[2]:void 0;return Fi(function(){return qi(this,function(r){return[2,ie("".concat(Li,"/").concat(encodeURIComponent(e),"?reason=").concat(encodeURIComponent(t)),n)]})})()}function Ki(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Qi(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function Yi(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){Qi(a,r,o,i,l,"next",e)}function l(e){Qi(a,r,o,i,l,"throw",e)}i(void 0)})}}function Vi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Vi(e,t,n[t])})}return e}function Zi(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function el(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ki(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ki(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tl(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var nl=[{key:"name",header:"Name"},{key:"sourceType",header:"Source"},{key:"reportType",header:"Type"},{key:"category",header:"Category"},{key:"migration",header:"Migration"},{key:"status",header:"Status"},{key:"actions",header:"Actions"}],rl={name:"",description:"",code:"",sourceType:"LEGACY",reportType:"AGGREGATE",reportDefinitionUuid:"",reportBuilderReportUuid:"",category:"",migrated:!1,metaJson:"{}"};function ol(e){var t;return e?"string"==typeof e?e:null!==(t=e.uuid)&&void 0!==t?t:"":""}function al(e){var t,n;return e?"string"==typeof e?e:null!==(t=null!==(n=e.name)&&void 0!==n?n:e.uuid)&&void 0!==t?t:"—":"—"}function il(){var e=el(r.useState(""),2),t=e[0],n=e[1],o=el(r.useState([]),2),a=o[0],l=o[1],u=el(r.useState([]),2),c=u[0],s=u[1],d=el(r.useState(!1),2),p=d[0],f=d[1],m=el(r.useState(null),2),y=m[0],g=m[1],v=el(r.useState(!1),2),b=v[0],h=v[1],A=el(r.useState("create"),2),E=A[0],w=A[1],C=el(r.useState(null),2),S=C[0],_=C[1],O=el(r.useState(rl),2),k=O[0],x=O[1],I=el(r.useState(!1),2),j=I[0],P=I[1],D=el(r.useState(""),2),B=D[0],$=D[1],R=el(r.useState(""),2),M=R[0],U=R[1],z=el(r.useState(""),2),F=z[0],q=z[1],L=el(r.useState(""),2),G=L[0],J=L[1],W=el(r.useState(""),2),H=W[0],K=W[1],Y=r.useCallback(function(e){return f(!0),g(null),Promise.all([Gi(void 0,e),gi(void 0,e)]).then(function(e){var t=el(e,2),n=t[0],r=t[1];l(n),s(r.filter(function(e){return!e.retired}))}).catch(function(e){var t;return g(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"Failed to load report library")}).finally(function(){return f(!1)})},[]);r.useEffect(function(){var e=new AbortController;return Y(e.signal),function(){return e.abort()}},[Y]);var V=r.useMemo(function(){var e=t.trim().toLowerCase();return a.filter(function(t){var n,r,o,a=!e||(null===(n=t.name)||void 0===n?void 0:n.toLowerCase().includes(e))||(null===(r=t.description)||void 0===r?void 0:r.toLowerCase().includes(e))||(null===(o=t.code)||void 0===o?void 0:o.toLowerCase().includes(e))||al(t.category).toLowerCase().includes(e),i=!B||t.sourceType===B,l=!M||t.reportType===M,u=!F||ol(t.category)===F,c=!G||"ACTIVE"===G&&!t.retired||"RETIRED"===G&&!!t.retired,s=!H||"MIGRATED"===H&&!!t.migrated||"PENDING"===H&&!t.migrated;return a&&i&&l&&u&&c&&s})},[a,t,B,M,F,G,H]),X=V.map(function(e){var t,n;return{id:e.uuid,name:e.name,sourceType:null!==(t=e.sourceType)&&void 0!==t?t:"LEGACY",reportType:null!==(n=e.reportType)&&void 0!==n?n:"AGGREGATE",category:al(e.category),migration:e.migrated?"Migrated":"Pending",status:e.retired?"Retired":"Active",actions:""}});return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"Report Library",subtitle:"Catalog legacy and completed reports before and during migration into the report builder."}),r.createElement("div",{style:{display:"grid",gap:"1rem"}},r.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(18rem, 2fr) repeat(5, minmax(10rem, 1fr)) auto auto",gap:"1rem",alignItems:"end"}},r.createElement(i.vji,{size:"lg",labelText:"Search",placeholder:"Search report library…",value:t,onChange:function(e){return n(e.target.value)}}),r.createElement(i.l6P,{id:"filter-source",labelText:"Source",value:B,onChange:function(e){return $(e.target.value)}},r.createElement(i.ebT,{value:"",text:"All sources"}),r.createElement(i.ebT,{value:"LEGACY",text:"LEGACY"}),r.createElement(i.ebT,{value:"BUILDER",text:"BUILDER"})),r.createElement(i.l6P,{id:"filter-type",labelText:"Type",value:M,onChange:function(e){return U(e.target.value)}},r.createElement(i.ebT,{value:"",text:"All types"}),r.createElement(i.ebT,{value:"AGGREGATE",text:"AGGREGATE"}),r.createElement(i.ebT,{value:"LINE_LIST",text:"LINE_LIST"})),r.createElement(i.l6P,{id:"filter-category",labelText:"Category",value:F,onChange:function(e){return q(e.target.value)}},r.createElement(i.ebT,{value:"",text:"All categories"}),c.map(function(e){return r.createElement(i.ebT,{key:e.uuid,value:e.uuid,text:e.name})})),r.createElement(i.l6P,{id:"filter-status",labelText:"Status",value:G,onChange:function(e){return J(e.target.value)}},r.createElement(i.ebT,{value:"",text:"All statuses"}),r.createElement(i.ebT,{value:"ACTIVE",text:"Active"}),r.createElement(i.ebT,{value:"RETIRED",text:"Retired"})),r.createElement(i.l6P,{id:"filter-migration",labelText:"Migration",value:H,onChange:function(e){return K(e.target.value)}},r.createElement(i.ebT,{value:"",text:"All"}),r.createElement(i.ebT,{value:"MIGRATED",text:"Migrated"}),r.createElement(i.ebT,{value:"PENDING",text:"Pending"})),r.createElement(i.$nd,{kind:"tertiary",size:"md",onClick:function(){n(""),$(""),U(""),q(""),J(""),K("")}},"Clear"),r.createElement(i.$nd,{size:"md",renderIcon:T.OM,onClick:function(){w("create"),_(null),x(rl),h(!0)}},"New Library Entry")),y?r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Error",subtitle:y}):null,p?r.createElement(i.OOb,{rowCount:6,columnCount:7,showHeader:!1,showToolbar:!1}):r.createElement(i.bQt,{rows:X,headers:nl},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,a=e.getRowProps;return r.createElement(i.K3K,null,r.createElement(i.XIK,{useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,Xi({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){var t,n,o=V.find(function(t){return t.uuid===e.id});return r.createElement(i.Hjg,Xi({key:e.id},a({row:e})),r.createElement(i.nA6,null,null==o?void 0:o.name),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:"BUILDER"===(null==o?void 0:o.sourceType)?"blue":"purple"},null!==(t=null==o?void 0:o.sourceType)&&void 0!==t?t:"LEGACY")),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:"LINE_LIST"===(null==o?void 0:o.reportType)?"teal":"cyan"},null!==(n=null==o?void 0:o.reportType)&&void 0!==n?n:"AGGREGATE")),r.createElement(i.nA6,null,al(null==o?void 0:o.category)),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:(null==o?void 0:o.migrated)?"green":"warm-gray"},(null==o?void 0:o.migrated)?"Migrated":"Pending")),r.createElement(i.nA6,null,r.createElement(i.vwO,{type:(null==o?void 0:o.retired)?"gray":"green"},(null==o?void 0:o.retired)?"Retired":"Active")),r.createElement(i.nA6,null,r.createElement("div",{style:{display:"flex",gap:"0.5rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:Ae.ff,onClick:function(){return o&&(e=o,w("edit"),_(e),x({name:null!==(t=e.name)&&void 0!==t?t:"",description:null!==(n=e.description)&&void 0!==n?n:"",code:null!==(r=e.code)&&void 0!==r?r:"",sourceType:null!==(a=e.sourceType)&&void 0!==a?a:"LEGACY",reportType:null!==(i=e.reportType)&&void 0!==i?i:"AGGREGATE",reportDefinitionUuid:null!==(l=e.reportDefinitionUuid)&&void 0!==l?l:"",reportBuilderReportUuid:null!==(u=e.reportBuilderReportUuid)&&void 0!==u?u:"",category:ol(e.category),migrated:Boolean(e.migrated),metaJson:(null===(c=e.metaJson)||void 0===c?void 0:c.trim())||"{}"}),void h(!0));var e,t,n,r,a,i,l,u,c}},"Edit"),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:N.zH,onClick:function(){return o&&(e=o,Yi(function(){var t,n,r;return tl(this,function(o){switch(o.label){case 0:if(!(null==e?void 0:e.uuid))return[2];if(!window.confirm('Retire report library entry "'.concat(e.name,'"?')))return[2];o.label=1;case 1:return o.trys.push([1,4,,5]),[4,Hi(e.uuid)];case 2:return o.sent(),t=new AbortController,[4,Y(t.signal)];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),g(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to retire report library entry"),[3,5];case 5:return[2]}})})());var e}},"Retire"))))}))))})),r.createElement(i.aFV,{open:b,modalHeading:"create"===E?"New Report Library Entry":"Edit Report Library Entry",primaryButtonText:j?"Saving…":"create"===E?"Create":"Save",secondaryButtonText:"Cancel",primaryButtonDisabled:j||!k.name.trim(),onRequestSubmit:function(){return Yi(function(){var e,t,n,r;return tl(this,function(o){switch(o.label){case 0:if(!k.name.trim())return[2];P(!0),g(null),o.label=1;case 1:return o.trys.push([1,7,8,9]),e={name:k.name.trim(),description:k.description.trim()||void 0,code:k.code.trim()||void 0,sourceType:k.sourceType,reportType:k.reportType,reportDefinitionUuid:k.reportDefinitionUuid.trim()||void 0,reportBuilderReportUuid:k.reportBuilderReportUuid.trim()||void 0,category:k.category||void 0,migrated:k.migrated,metaJson:k.metaJson.trim()||void 0},"create"!==E?[3,3]:[4,Ji(e)];case 2:return o.sent(),[3,5];case 3:return(null==S?void 0:S.uuid)?[4,Wi(S.uuid,e)]:[3,5];case 4:o.sent(),o.label=5;case 5:return h(!1),t=new AbortController,[4,Y(t.signal)];case 6:return o.sent(),[3,9];case 7:return n=o.sent(),g(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to save report library entry"),[3,9];case 8:return P(!1),[7];case 9:return[2]}})})()},onRequestClose:function(){return!j&&h(!1)}},r.createElement(i.BJc,{gap:5},r.createElement(i.ksK,{id:"rl-name",labelText:"Name",value:k.name,onChange:function(e){return x(function(t){return Zi(Xi({},t),{name:e.target.value})})}}),r.createElement(i.ksK,{id:"rl-code",labelText:"Code",value:k.code,onChange:function(e){return x(function(t){return Zi(Xi({},t),{code:e.target.value})})}}),r.createElement(i.fs1,{id:"rl-description",labelText:"Description",value:k.description,onChange:function(e){return x(function(t){return Zi(Xi({},t),{description:e.target.value})})}}),r.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem"}},r.createElement(i.l6P,{id:"rl-sourceType",labelText:"Source Type",value:k.sourceType,onChange:function(e){return x(function(t){return Zi(Xi({},t),{sourceType:e.target.value})})}},r.createElement(i.ebT,{value:"LEGACY",text:"LEGACY"}),r.createElement(i.ebT,{value:"BUILDER",text:"BUILDER"})),r.createElement(i.l6P,{id:"rl-reportType",labelText:"Report Type",value:k.reportType,onChange:function(e){return x(function(t){return Zi(Xi({},t),{reportType:e.target.value})})}},r.createElement(i.ebT,{value:"AGGREGATE",text:"AGGREGATE"}),r.createElement(i.ebT,{value:"LINE_LIST",text:"LINE_LIST"}))),r.createElement(i.l6P,{id:"rl-category",labelText:"Category",value:k.category,onChange:function(e){return x(function(t){return Zi(Xi({},t),{category:e.target.value})})}},r.createElement(i.ebT,{value:"",text:"None"}),c.map(function(e){return r.createElement(i.ebT,{key:e.uuid,value:e.uuid,text:e.name})})),r.createElement(i.ksK,{id:"rl-rd",labelText:"Legacy Report Definition UUID",value:k.reportDefinitionUuid,onChange:function(e){return x(function(t){return Zi(Xi({},t),{reportDefinitionUuid:e.target.value})})}}),r.createElement(i.ksK,{id:"rl-rbr",labelText:"Builder Report UUID",value:k.reportBuilderReportUuid,onChange:function(e){return x(function(t){return Zi(Xi({},t),{reportBuilderReportUuid:e.target.value})})}}),r.createElement(i.Sc0,{id:"rl-migrated",labelText:"Migrated",checked:k.migrated,onChange:function(e,t){var n=t.checked;return x(function(e){return Zi(Xi({},e),{migrated:Boolean(n)})})}}),r.createElement(i.fs1,{id:"rl-meta",labelText:"Meta JSON",value:k.metaJson,onChange:function(e){return x(function(t){return Zi(Xi({},t),{metaJson:e.target.value})})},rows:6}))))}function ll(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function ul(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){ll(a,r,o,i,l,"next",e)}function l(e){ll(a,r,o,i,l,"throw",e)}i(void 0)})}}function cl(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var sl="/reportbuilder/etlsource";function dl(e,t){return ul(function(){var n;return cl(this,function(r){switch(r.label){case 0:return(n=new URLSearchParams).set("v","custom:(uuid,name,code,description,tablePatterns,schemaName,sourceType,active,retired)"),(null==e?void 0:e.trim())&&n.set("q",e.trim()),[4,oe("".concat(sl,"?").concat(n.toString()),t)];case 1:return[2,(o=r.sent(),o?Array.isArray(o)?o:Array.isArray(o.results)?o.results:[]:[]).filter(function(e){return Boolean(null==e?void 0:e.uuid)})]}var o})})()}function pl(e,t){return ul(function(){return cl(this,function(n){return[2,ae(sl,e,t)]})})()}function fl(e,t,n){return ul(function(){return cl(this,function(r){return[2,ae("".concat(sl,"/").concat(encodeURIComponent(e)),t,n)]})})()}function ml(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Retired from Report Builder Admin",n=arguments.length>2?arguments[2]:void 0;return ul(function(){var r;return cl(this,function(o){return(r=new URLSearchParams).set("reason",t),[2,ie("".concat(sl,"/").concat(encodeURIComponent(e),"?").concat(r.toString()),n)]})})()}function yl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function gl(e,t,n,r,o,a,i){try{var l=e[a](i),u=l.value}catch(e){return void n(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function vl(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){gl(a,r,o,i,l,"next",e)}function l(e){gl(a,r,o,i,l,"throw",e)}i(void 0)})}}function bl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){bl(e,t,n[t])})}return e}function Al(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function El(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,l=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){l=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(l)throw o}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return yl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yl(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wl(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(i,"next",{value:u(0)}),l(i,"throw",{value:u(1)}),l(i,"return",{value:u(2)}),"function"==typeof Symbol&&l(i,Symbol.iterator,{value:function(){return this}}),i;function u(l){return function(u){return function(l){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],r=0}finally{n=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var Cl=[{key:"name",header:"Name"},{key:"code",header:"Code"},{key:"schemaName",header:"Schema"},{key:"sourceType",header:"Source Type"},{key:"status",header:"Status"},{key:"actions",header:"Actions"}],Sl={name:"",code:"",description:"",tablePatterns:"",schemaName:"",sourceType:"",active:!0};function _l(){var e=El(r.useState(""),2),t=e[0],n=e[1],o=El(r.useState([]),2),a=o[0],l=o[1],u=El(r.useState(!1),2),c=u[0],s=u[1],d=El(r.useState(null),2),p=d[0],f=d[1],m=El(r.useState(!1),2),y=m[0],g=m[1],v=El(r.useState("create"),2),b=v[0],h=v[1],A=El(r.useState(null),2),E=A[0],w=A[1],C=El(r.useState(Sl),2),S=C[0],_=C[1],O=El(r.useState(!1),2),k=O[0],x=O[1],I=r.useCallback(function(e){return vl(function(){var n,r,o;return wl(this,function(a){switch(a.label){case 0:s(!0),f(null),a.label=1;case 1:return a.trys.push([1,3,4,5]),[4,dl(t,e)];case 2:return n=a.sent(),l(n),[3,5];case 3:return r=a.sent(),f(null!==(o=null==r?void 0:r.message)&&void 0!==o?o:"Failed to load ETL sources"),[3,5];case 4:return s(!1),[7];case 5:return[2]}})})()},[t]);r.useEffect(function(){var e=new AbortController;return I(e.signal),function(){return e.abort()}},[I]);var j=a.map(function(e){return{id:e.uuid,name:e.name,code:e.code||"—",schemaName:e.schemaName||"—",sourceType:e.sourceType||"—",status:!1===e.active||e.voided?"Inactive":"Active",actions:""}});return r.createElement(i.BJc,{gap:5},r.createElement(Q,{title:"ETL Sources",subtitle:"Manage ETL source definitions used by the report builder.",actions:r.createElement(i.$nd,{"data-testid":"etl-source-new",size:"sm",renderIcon:T.OM,onClick:function(){h("create"),w(null),_(Sl),g(!0)}},"New ETL Source")}),r.createElement("div",{style:{padding:"0 1rem 1rem",display:"grid",gap:"1rem"}},r.createElement(i.vji,{"data-testid":"etl-source-search",size:"lg",labelText:"Search",placeholder:"Search ETL sources…",value:t,onChange:function(e){return n(e.target.value)}}),p?r.createElement(i.jeF,{lowContrast:!0,kind:"error",title:"Error",subtitle:p}):null,c?r.createElement(i.OOb,{rowCount:5,columnCount:6,showHeader:!1,showToolbar:!1}):r.createElement(i.bQt,{rows:j,headers:Cl},function(e){var t=e.rows,n=e.headers,o=e.getHeaderProps,l=e.getRowProps;return r.createElement(i.K3K,null,r.createElement(i.XIK,{useZebraStyles:!0},r.createElement(i.ndF,null,r.createElement(i.Hjg,null,n.map(function(e){return r.createElement(i.A0N,hl({key:e.key},o({header:e})),e.header)}))),r.createElement(i.BFY,null,t.map(function(e){var t=a.find(function(t){return t.uuid===e.id});return r.createElement(i.Hjg,hl({key:e.id},l({row:e})),r.createElement(i.nA6,null,e.cells[0].value),r.createElement(i.nA6,null,e.cells[1].value),r.createElement(i.nA6,null,e.cells[2].value),r.createElement(i.nA6,null,e.cells[3].value),r.createElement(i.nA6,null,!1===(null==t?void 0:t.active)||(null==t?void 0:t.voided)?r.createElement(i.vwO,{type:"gray"},"Inactive"):r.createElement(i.vwO,{type:"green"},"Active")),r.createElement(i.nA6,null,r.createElement("div",{style:{display:"flex",gap:"0.5rem"}},r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:Ae.ff,iconDescription:"Edit",hasIconOnly:!0,onClick:function(){return t&&function(e){var t,n,r,o,a,i,l;h("edit"),w(e),_({name:null!==(t=e.name)&&void 0!==t?t:"",code:null!==(n=e.code)&&void 0!==n?n:"",description:null!==(r=e.description)&&void 0!==r?r:"",tablePatterns:null!==(o=e.tablePatterns)&&void 0!==o?o:"",schemaName:null!==(a=e.schemaName)&&void 0!==a?a:"",sourceType:null!==(i=e.sourceType)&&void 0!==i?i:"",active:null===(l=e.active)||void 0===l||l}),g(!0)}(t)}}),r.createElement(i.$nd,{kind:"ghost",size:"sm",renderIcon:N.zH,iconDescription:"Retire",hasIconOnly:!0,onClick:function(){return t&&function(e){return vl(function(){var t,n,r;return wl(this,function(o){switch(o.label){case 0:if(!(null==e?void 0:e.uuid))return[2];if(!window.confirm('Retire ETL source "'.concat(e.name,'"?')))return[2];o.label=1;case 1:return o.trys.push([1,4,,5]),[4,ml(e.uuid)];case 2:return o.sent(),t=new AbortController,[4,I(t.signal)];case 3:return o.sent(),[3,5];case 4:return n=o.sent(),f(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to retire ETL source"),[3,5];case 5:return[2]}})})()}(t)}}))))}))))})),r.createElement(i.aFV,{open:y,modalHeading:"create"===b?"New ETL Source":"Edit ETL Source","data-testid":"etl-source-modal",primaryButtonText:k?"Saving…":"Save",secondaryButtonText:"Cancel",onRequestClose:function(){return!k&&g(!1)},onRequestSubmit:function(){return vl(function(){var e,t,n,r;return wl(this,function(o){switch(o.label){case 0:if(!S.name.trim())return[2];x(!0),f(null),o.label=1;case 1:return o.trys.push([1,7,8,9]),e={name:S.name.trim(),code:S.code.trim()||void 0,description:S.description.trim()||void 0,tablePatterns:S.tablePatterns.trim()||void 0,schemaName:S.schemaName.trim()||void 0,sourceType:S.sourceType.trim()||void 0,active:S.active},"create"!==b?[3,3]:[4,pl(e)];case 2:return o.sent(),[3,5];case 3:return(null==E?void 0:E.uuid)?[4,fl(E.uuid,e)]:[3,5];case 4:o.sent(),o.label=5;case 5:return g(!1),t=new AbortController,[4,I(t.signal)];case 6:return o.sent(),[3,9];case 7:return n=o.sent(),f(null!==(r=null==n?void 0:n.message)&&void 0!==r?r:"Failed to save ETL source"),[3,9];case 8:return x(!1),[7];case 9:return[2]}})})()},primaryButtonDisabled:k||!S.name.trim()},r.createElement(i.BJc,{gap:5},r.createElement(i.ksK,{id:"etl-source-name","data-testid":"etl-source-name",labelText:"Name",value:S.name,onChange:function(e){return _(function(t){return Al(hl({},t),{name:e.target.value})})}}),r.createElement(i.ksK,{id:"etl-source-code","data-testid":"etl-source-code",labelText:"Code",value:S.code,onChange:function(e){return _(function(t){return Al(hl({},t),{code:e.target.value})})}}),r.createElement(i.ksK,{id:"etl-source-schema","data-testid":"etl-source-schema",labelText:"Schema Name",value:S.schemaName,onChange:function(e){return _(function(t){return Al(hl({},t),{schemaName:e.target.value})})}}),r.createElement(i.ksK,{id:"etl-source-type","data-testid":"etl-source-type",labelText:"Source Type",value:S.sourceType,onChange:function(e){return _(function(t){return Al(hl({},t),{sourceType:e.target.value})})}}),r.createElement(i.fs1,{id:"etl-source-description","data-testid":"etl-source-description",labelText:"Description",rows:3,value:S.description,onChange:function(e){return _(function(t){return Al(hl({},t),{description:e.target.value})})}}),r.createElement(i.fs1,{id:"etl-source-table-patterns","data-testid":"etl-source-table-patterns",labelText:"Table Patterns",helperText:"Store table matching patterns as text.",rows:4,value:S.tablePatterns,onChange:function(e){return _(function(t){return Al(hl({},t),{tablePatterns:e.target.value})})}}),r.createElement(i.lMk,{id:"etl-source-active",labelText:"Active",toggled:S.active,onToggle:function(e){return _(function(t){return Al(hl({},t),{active:e})})}}))))}const Ol=function(){return r.createElement(a.BV,null,r.createElement(a.qh,{element:r.createElement(x,null)},r.createElement(a.qh,{path:"/",element:r.createElement(Y,null)}),r.createElement(a.qh,{path:"/reports",element:r.createElement(he,null)}),r.createElement(a.qh,{path:"/new",element:r.createElement(Et,null)}),r.createElement(a.qh,{path:"/edit/:reportId",element:r.createElement(Et,null)}),r.createElement(a.qh,{path:"/indicators",element:r.createElement(eo,null)}),r.createElement(a.qh,{path:"/sections",element:r.createElement(Ho,null)}),r.createElement(a.qh,{path:"/run",element:r.createElement(Ko,null)}),r.createElement(a.qh,{path:"/admin",element:r.createElement(di,null)}),r.createElement(a.qh,{path:"/admin/report-categories",element:r.createElement(Ii,null)}),r.createElement(a.qh,{path:"/admin/age-categories",element:r.createElement(Di,null)}),r.createElement(a.qh,{path:"/admin/age-groups",element:r.createElement(Ui,null)}),r.createElement(a.qh,{path:"/admin/report-library",element:r.createElement(il,null)}),r.createElement(a.qh,{path:"/admin/etl-sources",element:r.createElement(_l,null)}),r.createElement(a.qh,{path:"/admin/themes",element:r.createElement(ci,null)}),r.createElement(a.qh,{path:"/themes",element:r.createElement(a.C5,{to:"/admin/themes",replace:!0})}),r.createElement(a.qh,{path:"*",element:r.createElement(a.C5,{to:"/",replace:!0})})))},kl=function(){return r.createElement(o.Kd,{basename:"".concat(window.spaBase,"/report-builder")},r.createElement(a.BV,null,r.createElement(a.qh,{path:"/*",element:r.createElement(Ol,null)}),r.createElement(a.qh,{path:"*",element:r.createElement(a.C5,{to:"/",replace:!0})})))}}}]);