udp-stencil-component-library 25.18.2-beta.5 → 25.18.2-beta.7

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 (331) hide show
  1. package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +12 -12
  2. package/dist/cjs/advanced-search_12.cjs.entry.js +1 -1
  3. package/dist/cjs/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js.map +1 -1
  4. package/dist/cjs/ag-grid-base_6.cjs.entry.js +27 -11
  5. package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
  6. package/dist/cjs/app-bar.cjs.entry.js +1 -1
  7. package/dist/cjs/check-box.cjs.entry.js +2 -2
  8. package/dist/cjs/chip-section.cjs.entry.js +2 -2
  9. package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
  10. package/dist/cjs/entity-maintenance-grid.cjs.entry.js +1 -1
  11. package/dist/cjs/feature-details-card_2.cjs.entry.js +5 -5
  12. package/dist/cjs/filter-conditions_7.cjs.entry.js +2 -2
  13. package/dist/cjs/form-metadata-display_8.cjs.entry.js +6 -6
  14. package/dist/cjs/index-CGCOXUJE.js +10 -10
  15. package/dist/cjs/index.cjs.js +138 -0
  16. package/dist/cjs/index.cjs.js.map +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/map-component_2.cjs.entry.js +2 -2
  19. package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
  20. package/dist/cjs/primary-action-header.udp-tabs.entry.cjs.js.map +1 -0
  21. package/dist/cjs/{primary-action-header_3.cjs.entry.js → primary-action-header_2.cjs.entry.js} +4 -266
  22. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  23. package/dist/cjs/search-method-grid.cjs.entry.js +2 -1
  24. package/dist/cjs/search-method-grid.entry.cjs.js.map +1 -1
  25. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  26. package/dist/cjs/side-sheet-container.cjs.entry.js +1 -1
  27. package/dist/cjs/stencil-library.cjs.js +1 -1
  28. package/dist/cjs/stencil-toggle.cjs.entry.js +4 -4
  29. package/dist/cjs/text-field_2.cjs.entry.js +7 -7
  30. package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
  31. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  32. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  33. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  34. package/dist/cjs/udp-container.cjs.entry.js +35 -0
  35. package/dist/cjs/udp-container.entry.cjs.js.map +1 -0
  36. package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
  37. package/dist/cjs/udp-dynamic-container-with-menu.cjs.entry.js +1 -1
  38. package/dist/cjs/udp-linear-loader.udp-side-sheet.entry.cjs.js.map +1 -0
  39. package/dist/cjs/udp-linear-loader_2.cjs.entry.js +289 -0
  40. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  41. package/dist/cjs/udp-menu-item.udp-pop-over.entry.cjs.js.map +1 -0
  42. package/dist/cjs/{udp-pop-over.cjs.entry.js → udp-menu-item_2.cjs.entry.js} +23 -1
  43. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  44. package/dist/cjs/udp-skeleton-loading.cjs.entry.js +1 -1
  45. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  46. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  47. package/dist/cjs/udp-tab-panel.cjs.entry.js +2 -2
  48. package/dist/cjs/udp-tab.cjs.entry.js +1 -1
  49. package/dist/cjs/udp-timeline-connector.cjs.entry.js +1 -1
  50. package/dist/cjs/udp-timeline-dot.cjs.entry.js +1 -1
  51. package/dist/cjs/udp-timeline-item.cjs.entry.js +2 -2
  52. package/dist/cjs/udp-timeline-separator.cjs.entry.js +1 -1
  53. package/dist/cjs/udp-timeline.cjs.entry.js +1 -1
  54. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  55. package/dist/collection/components/grid/new-grid/ag-grid-base.js +2 -1
  56. package/dist/collection/components/grid/new-grid/ag-grid-base.js.map +1 -1
  57. package/dist/collection/components/grid/new-grid/api-method-instance-grid.js +1 -1
  58. package/dist/collection/components/grid/new-grid/client-side-grid.js +1 -1
  59. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js +1 -0
  60. package/dist/collection/components/grid/new-grid/datasources/searchMethodDatasource.js.map +1 -1
  61. package/dist/collection/components/grid/new-grid/entity-maintenance-grid.js +1 -1
  62. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js +24 -9
  63. package/dist/collection/components/grid/new-grid/gridFunctions/bulkActions.js.map +1 -1
  64. package/dist/collection/components/grid/new-grid/interfaces/grid.js.map +1 -1
  65. package/dist/collection/components/grid/new-grid/search-method-grid.js +1 -1
  66. package/dist/collection/components/grid/new-grid/server-side-grid.js +1 -1
  67. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  68. package/dist/collection/components/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
  69. package/dist/collection/components/inputs/checkbox/check-box.js +2 -2
  70. package/dist/collection/components/inputs/date-range-selector/udp-date-range-selector.js +1 -1
  71. package/dist/collection/components/inputs/date-selector/udp-date-selector.js +3 -3
  72. package/dist/collection/components/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  73. package/dist/collection/components/inputs/form metadata display/form-metadata-display.js +1 -1
  74. package/dist/collection/components/inputs/image-upload/image-upload.js +1 -1
  75. package/dist/collection/components/inputs/numeric-field/numeric-field.js +3 -3
  76. package/dist/collection/components/inputs/signature-input/signature-input.js +2 -2
  77. package/dist/collection/components/inputs/tally/tally.js +2 -2
  78. package/dist/collection/components/inputs/text-area/text-area.js +3 -3
  79. package/dist/collection/components/inputs/text-field/text-field.js +3 -3
  80. package/dist/collection/components/inputs/time-selector/udp-time-selector.js +3 -3
  81. package/dist/collection/components/inputs/toggle/stencil-toggle.js +4 -4
  82. package/dist/collection/components/inputs/udp-selector/udp-selector.js +4 -4
  83. package/dist/collection/components/layout/udp-container/udp-container.js +2 -2
  84. package/dist/collection/components/layout/udp-container-query/udp-container-query.js +2 -2
  85. package/dist/collection/components/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  86. package/dist/collection/components/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  87. package/dist/collection/components/layout/udp-page/udp-page.js +1 -1
  88. package/dist/collection/components/layout/udp-split-screen/udp-split-screen.js +1 -1
  89. package/dist/collection/components/layout/udp-vertical-spacer.js +1 -1
  90. package/dist/collection/components/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  91. package/dist/collection/components/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  92. package/dist/collection/components/loaders/udp-skeleton-loading.js +1 -1
  93. package/dist/collection/components/map/udp-map/map-component.js +1 -1
  94. package/dist/collection/components/map/udp-map/popups/add-map-feature-popup.js +3 -3
  95. package/dist/collection/components/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  96. package/dist/collection/components/map/udp-map/popups/feature-details-popup.js +1 -1
  97. package/dist/collection/components/map/udp-map/popups/select-layer-popup.js +2 -2
  98. package/dist/collection/components/map/udp-map/popups/split-line-popup.js +1 -1
  99. package/dist/collection/components/map/udp-map/toolbar/map-toolbar.js +6 -6
  100. package/dist/collection/components/map/udp-map/udp-map-toolbar.js +1 -1
  101. package/dist/collection/components/map/udp-map/udp-map.js +3 -3
  102. package/dist/collection/components/menu/menu-item/udp-menu-item.js +1 -1
  103. package/dist/collection/components/menu/udp-menu.js +1 -1
  104. package/dist/collection/components/stepper/udp-stepper-demo.js +1 -1
  105. package/dist/collection/components/tabs/tab/tabs/udp-tabs.js +2 -2
  106. package/dist/collection/components/tabs/tab/udp-tab.js +1 -1
  107. package/dist/collection/components/tabs/udp-tab-panel/udp-tab-panel.js +2 -2
  108. package/dist/collection/components/timeline/udp-timeline-connector.js +1 -1
  109. package/dist/collection/components/timeline/udp-timeline-dot.js +1 -1
  110. package/dist/collection/components/timeline/udp-timeline-item.js +2 -2
  111. package/dist/collection/components/timeline/udp-timeline-separator.js +1 -1
  112. package/dist/collection/components/timeline/udp-timeline.js +1 -1
  113. package/dist/collection/components/toolbars/app-bar/app-bar.js +1 -1
  114. package/dist/collection/components/util/ghost-render/ghost-render.js +1 -1
  115. package/dist/collection/deprecated/components/side-sheet/side-sheet-container.js +1 -1
  116. package/dist/collection/deprecated/components/side-sheet/side-sheet.js +1 -1
  117. package/dist/collection/index.js +1 -0
  118. package/dist/collection/index.js.map +1 -1
  119. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  120. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  121. package/dist/collection/udp-utilities/udp-websocket-client/udp-websocket-client.js +137 -0
  122. package/dist/collection/udp-utilities/udp-websocket-client/udp-websocket-client.js.map +1 -0
  123. package/dist/components/add-map-feature-popup2.js +3 -3
  124. package/dist/components/ag-grid-base2.js +78 -38
  125. package/dist/components/ag-grid-base2.js.map +1 -1
  126. package/dist/components/api-method-instance-grid.js +59 -35
  127. package/dist/components/api-method-instance-grid.js.map +1 -1
  128. package/dist/components/app-bar.js +1 -1
  129. package/dist/components/check-box.js +2 -2
  130. package/dist/components/chip-section.js +2 -2
  131. package/dist/components/client-side-grid2.js +55 -31
  132. package/dist/components/client-side-grid2.js.map +1 -1
  133. package/dist/components/entity-maintenance-grid.js +1 -1
  134. package/dist/components/feature-details-card2.js +4 -4
  135. package/dist/components/feature-details-popup2.js +1 -1
  136. package/dist/components/form-metadata-display2.js +1 -1
  137. package/dist/components/ghost-render2.js +1 -1
  138. package/dist/components/image-upload2.js +1 -1
  139. package/dist/components/index.js +138 -1
  140. package/dist/components/index.js.map +1 -1
  141. package/dist/components/map-component2.js +1 -1
  142. package/dist/components/map-toolbar2.js +6 -6
  143. package/dist/components/numeric-field2.js +3 -3
  144. package/dist/components/resource-timeline-calendar.js +59 -35
  145. package/dist/components/resource-timeline-calendar.js.map +1 -1
  146. package/dist/components/resource-timeline-primary-bar2.js +2 -2
  147. package/dist/components/search-method-grid2.js +58 -33
  148. package/dist/components/search-method-grid2.js.map +1 -1
  149. package/dist/components/select-layer-popup2.js +2 -2
  150. package/dist/components/server-side-grid2.js +55 -31
  151. package/dist/components/server-side-grid2.js.map +1 -1
  152. package/dist/components/side-sheet-container2.js +1 -1
  153. package/dist/components/side-sheet2.js +1 -1
  154. package/dist/components/signature-input2.js +2 -2
  155. package/dist/components/split-line-popup2.js +1 -1
  156. package/dist/components/stencil-toggle2.js +4 -4
  157. package/dist/components/tally.js +2 -2
  158. package/dist/components/text-area2.js +3 -3
  159. package/dist/components/text-field2.js +3 -3
  160. package/dist/components/udp-container-query-grid-item.js +1 -1
  161. package/dist/components/udp-container-query-grid.js +1 -1
  162. package/dist/components/udp-container-query2.js +2 -2
  163. package/dist/components/udp-container2.js +2 -2
  164. package/dist/components/udp-date-range-selector.js +1 -1
  165. package/dist/components/udp-date-selector2.js +3 -3
  166. package/dist/components/udp-datetime-selector2.js +3 -3
  167. package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
  168. package/dist/components/udp-grid-loader2.js +2 -2
  169. package/dist/components/udp-linear-loader2.js +1 -1
  170. package/dist/components/udp-map-toolbar2.js +1 -1
  171. package/dist/components/udp-map.js +3 -3
  172. package/dist/components/udp-menu-item2.js +1 -1
  173. package/dist/components/udp-menu2.js +1 -1
  174. package/dist/components/udp-page.js +1 -1
  175. package/dist/components/udp-selector2.js +4 -4
  176. package/dist/components/udp-skeleton-loading2.js +1 -1
  177. package/dist/components/udp-split-screen.js +1 -1
  178. package/dist/components/udp-stepper-demo.js +1 -1
  179. package/dist/components/udp-tab-panel.js +2 -2
  180. package/dist/components/udp-tab.js +1 -1
  181. package/dist/components/udp-tabs2.js +2 -2
  182. package/dist/components/udp-time-selector2.js +3 -3
  183. package/dist/components/udp-timeline-connector.js +1 -1
  184. package/dist/components/udp-timeline-dot.js +1 -1
  185. package/dist/components/udp-timeline-item.js +2 -2
  186. package/dist/components/udp-timeline-separator.js +1 -1
  187. package/dist/components/udp-timeline.js +1 -1
  188. package/dist/components/udp-vertical-spacer.js +1 -1
  189. package/dist/docs.json +141 -52
  190. package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
  191. package/dist/esm/advanced-search_12.entry.js +1 -1
  192. package/dist/esm/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.js.map +1 -1
  193. package/dist/esm/ag-grid-base_6.entry.js +27 -11
  194. package/dist/esm/api-method-instance-grid.entry.js +1 -1
  195. package/dist/esm/app-bar.entry.js +1 -1
  196. package/dist/esm/check-box.entry.js +2 -2
  197. package/dist/esm/chip-section.entry.js +2 -2
  198. package/dist/esm/client-side-grid_2.entry.js +3 -3
  199. package/dist/esm/entity-maintenance-grid.entry.js +1 -1
  200. package/dist/esm/feature-details-card_2.entry.js +5 -5
  201. package/dist/esm/filter-conditions_7.entry.js +2 -2
  202. package/dist/esm/form-metadata-display_8.entry.js +6 -6
  203. package/dist/esm/index-CaZq3YdB.js +10 -10
  204. package/dist/esm/index.js +138 -1
  205. package/dist/esm/index.js.map +1 -1
  206. package/dist/esm/loader.js +1 -1
  207. package/dist/esm/map-component_2.entry.js +2 -2
  208. package/dist/esm/numeric-field_5.entry.js +15 -15
  209. package/dist/esm/primary-action-header.udp-tabs.entry.js.map +1 -0
  210. package/dist/esm/{primary-action-header_3.entry.js → primary-action-header_2.entry.js} +5 -262
  211. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  212. package/dist/esm/search-method-grid.entry.js +2 -1
  213. package/dist/esm/search-method-grid.entry.js.map +1 -1
  214. package/dist/esm/server-side-grid.entry.js +1 -1
  215. package/dist/esm/side-sheet-container.entry.js +1 -1
  216. package/dist/esm/stencil-library.js +1 -1
  217. package/dist/esm/stencil-toggle.entry.js +4 -4
  218. package/dist/esm/text-field_2.entry.js +7 -7
  219. package/dist/esm/udp-chip_3.entry.js +1 -1
  220. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  221. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  222. package/dist/esm/udp-container-query.entry.js +2 -2
  223. package/dist/esm/udp-container.entry.js +33 -0
  224. package/dist/esm/udp-container.entry.js.map +1 -0
  225. package/dist/esm/udp-date-range-selector.entry.js +1 -1
  226. package/dist/esm/udp-dynamic-container-with-menu.entry.js +1 -1
  227. package/dist/esm/udp-linear-loader.udp-side-sheet.entry.js.map +1 -0
  228. package/dist/esm/udp-linear-loader_2.entry.js +282 -0
  229. package/dist/esm/udp-map.entry.js +3 -3
  230. package/dist/esm/udp-menu-item.udp-pop-over.entry.js.map +1 -0
  231. package/dist/esm/{udp-pop-over.entry.js → udp-menu-item_2.entry.js} +24 -3
  232. package/dist/esm/udp-page.entry.js +1 -1
  233. package/dist/esm/udp-skeleton-loading.entry.js +1 -1
  234. package/dist/esm/udp-split-screen.entry.js +1 -1
  235. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  236. package/dist/esm/udp-tab-panel.entry.js +2 -2
  237. package/dist/esm/udp-tab.entry.js +1 -1
  238. package/dist/esm/udp-timeline-connector.entry.js +1 -1
  239. package/dist/esm/udp-timeline-dot.entry.js +1 -1
  240. package/dist/esm/udp-timeline-item.entry.js +2 -2
  241. package/dist/esm/udp-timeline-separator.entry.js +1 -1
  242. package/dist/esm/udp-timeline.entry.js +1 -1
  243. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  244. package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
  245. package/dist/stencil-library/advanced-search_12.entry.js +1 -1
  246. package/dist/stencil-library/ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.esm.js.map +1 -1
  247. package/dist/stencil-library/ag-grid-base_6.entry.js +1 -1
  248. package/dist/stencil-library/ag-grid-base_6.entry.js.map +1 -1
  249. package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
  250. package/dist/stencil-library/app-bar.entry.js +1 -1
  251. package/dist/stencil-library/check-box.entry.js +1 -1
  252. package/dist/stencil-library/chip-section.entry.js +1 -1
  253. package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
  254. package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
  255. package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
  256. package/dist/stencil-library/filter-conditions_7.entry.js +1 -1
  257. package/dist/stencil-library/form-metadata-display_8.entry.js +1 -1
  258. package/dist/stencil-library/index.esm.js +1 -1
  259. package/dist/stencil-library/index.esm.js.map +1 -1
  260. package/dist/stencil-library/map-component_2.entry.js +1 -1
  261. package/dist/stencil-library/numeric-field_5.entry.js +1 -1
  262. package/dist/stencil-library/primary-action-header.udp-tabs.entry.esm.js.map +1 -0
  263. package/dist/stencil-library/primary-action-header_2.entry.js +2 -0
  264. package/dist/stencil-library/primary-action-header_2.entry.js.map +1 -0
  265. package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
  266. package/dist/stencil-library/search-method-grid.entry.esm.js.map +1 -1
  267. package/dist/stencil-library/search-method-grid.entry.js +1 -1
  268. package/dist/stencil-library/search-method-grid.entry.js.map +1 -1
  269. package/dist/stencil-library/server-side-grid.entry.js +1 -1
  270. package/dist/stencil-library/side-sheet-container.entry.js +1 -1
  271. package/dist/stencil-library/stencil-library.esm.js +1 -1
  272. package/dist/stencil-library/stencil-toggle.entry.js +1 -1
  273. package/dist/stencil-library/text-field_2.entry.js +1 -1
  274. package/dist/stencil-library/udp-chip_3.entry.js +1 -1
  275. package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
  276. package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
  277. package/dist/stencil-library/udp-container-query.entry.js +1 -1
  278. package/dist/stencil-library/udp-container.entry.esm.js.map +1 -0
  279. package/dist/stencil-library/udp-container.entry.js +2 -0
  280. package/dist/stencil-library/udp-container.entry.js.map +1 -0
  281. package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
  282. package/dist/stencil-library/udp-dynamic-container-with-menu.entry.js +1 -1
  283. package/dist/stencil-library/udp-linear-loader.udp-side-sheet.entry.esm.js.map +1 -0
  284. package/dist/stencil-library/udp-linear-loader_2.entry.js +2 -0
  285. package/dist/stencil-library/udp-linear-loader_2.entry.js.map +1 -0
  286. package/dist/stencil-library/udp-map.entry.js +1 -1
  287. package/dist/stencil-library/udp-menu-item.udp-pop-over.entry.esm.js.map +1 -0
  288. package/dist/stencil-library/udp-menu-item_2.entry.js +2 -0
  289. package/dist/stencil-library/udp-menu-item_2.entry.js.map +1 -0
  290. package/dist/stencil-library/udp-page.entry.js +1 -1
  291. package/dist/stencil-library/udp-skeleton-loading.entry.js +1 -1
  292. package/dist/stencil-library/udp-split-screen.entry.js +1 -1
  293. package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
  294. package/dist/stencil-library/udp-tab-panel.entry.js +1 -1
  295. package/dist/stencil-library/udp-tab.entry.js +1 -1
  296. package/dist/stencil-library/udp-timeline-connector.entry.js +1 -1
  297. package/dist/stencil-library/udp-timeline-dot.entry.js +1 -1
  298. package/dist/stencil-library/udp-timeline-item.entry.js +1 -1
  299. package/dist/stencil-library/udp-timeline-item.entry.js.map +1 -1
  300. package/dist/stencil-library/udp-timeline-separator.entry.js +1 -1
  301. package/dist/stencil-library/udp-timeline.entry.js +1 -1
  302. package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
  303. package/dist/types/components/grid/new-grid/gridFunctions/bulkActions.d.ts +4 -2
  304. package/dist/types/components/grid/new-grid/interfaces/grid.d.ts +1 -0
  305. package/dist/types/index.d.ts +1 -0
  306. package/dist/types/udp-utilities/udp-websocket-client/udp-websocket-client.d.ts +34 -0
  307. package/package.json +1 -1
  308. package/dist/cjs/primary-action-header.udp-side-sheet.udp-tabs.entry.cjs.js.map +0 -1
  309. package/dist/cjs/udp-container.udp-linear-loader.entry.cjs.js.map +0 -1
  310. package/dist/cjs/udp-container_2.cjs.entry.js +0 -56
  311. package/dist/cjs/udp-menu-item.cjs.entry.js +0 -27
  312. package/dist/cjs/udp-menu-item.entry.cjs.js.map +0 -1
  313. package/dist/cjs/udp-pop-over.entry.cjs.js.map +0 -1
  314. package/dist/esm/primary-action-header.udp-side-sheet.udp-tabs.entry.js.map +0 -1
  315. package/dist/esm/udp-container.udp-linear-loader.entry.js.map +0 -1
  316. package/dist/esm/udp-container_2.entry.js +0 -53
  317. package/dist/esm/udp-menu-item.entry.js +0 -25
  318. package/dist/esm/udp-menu-item.entry.js.map +0 -1
  319. package/dist/esm/udp-pop-over.entry.js.map +0 -1
  320. package/dist/stencil-library/primary-action-header.udp-side-sheet.udp-tabs.entry.esm.js.map +0 -1
  321. package/dist/stencil-library/primary-action-header_3.entry.js +0 -2
  322. package/dist/stencil-library/primary-action-header_3.entry.js.map +0 -1
  323. package/dist/stencil-library/udp-container.udp-linear-loader.entry.esm.js.map +0 -1
  324. package/dist/stencil-library/udp-container_2.entry.js +0 -2
  325. package/dist/stencil-library/udp-container_2.entry.js.map +0 -1
  326. package/dist/stencil-library/udp-menu-item.entry.esm.js.map +0 -1
  327. package/dist/stencil-library/udp-menu-item.entry.js +0 -2
  328. package/dist/stencil-library/udp-menu-item.entry.js.map +0 -1
  329. package/dist/stencil-library/udp-pop-over.entry.esm.js.map +0 -1
  330. package/dist/stencil-library/udp-pop-over.entry.js +0 -2
  331. package/dist/stencil-library/udp-pop-over.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js","sources":["src/components/grid/new-grid/gridFunctions/agGridExport.ts","src/udp-utilities/user/getUserId.ts","src/components/grid/new-grid/helperFunctions/guardedViewTransitions.ts","src/components/grid/new-grid/gridFunctions/savedViews.tsx","src/components/grid/new-grid/gridFunctions/agGridSizeColumnsToFit.ts","src/components/grid/new-grid/gridFunctions/agGridAutoSizeColumns.ts","src/components/grid/new-grid/gridFunctions/bulkActions.tsx","src/components/grid/new-grid/helperFunctions/toggleAgGridColumnFilter.ts","src/components/grid/new-grid/gridFunctions/chipFilter.tsx","src/components/grid/new-grid/gridFunctions/restoreGridState.tsx","src/components/grid/new-grid/gridFunctions/agGridResetColumns.ts","src/components/grid/new-grid/gridFunctions/advancedSearch.ts","src/components/grid/new-grid/gridFunctions/agGridHideShowColumns.ts","src/components/grid/new-grid/gridFunctions/udpExport.ts","src/components/grid/new-grid/gridFunctionRegistry.ts","src/components/grid/new-grid/helperFunctions/valueFormatters.ts","src/components/grid/new-grid/ag-grid-base.css?tag=ag-grid-base","src/components/grid/new-grid/ag-grid-base.tsx","src/components/util/ghost-render/ghost-render.tsx","src/components/grid/new-grid/grid-header.css?tag=grid-header","src/components/grid/new-grid/grid-header.tsx","src/components/data-display/hint-panel/hint-panel.css?tag=hint-panel&encapsulation=shadow","src/components/data-display/hint-panel/hint-panel.tsx","src/components/dialogs/udp-dialog.css?tag=udp-dialog&encapsulation=shadow","src/components/dialogs/udp-dialog.tsx","src/components/data-display/list-item/list-item.css?tag=udp-list-item&encapsulation=shadow","src/components/data-display/list-item/list-item.tsx"],"sourcesContent":["import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridExport implements GridFunction {\n private gridApi!: GridApi;\n\n constructor(private fileName = 'export.csv') {}\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridExport') {\n this.gridApi.exportDataAsCsv({ fileName: this.fileName });\n }\n }\n}\n","export function getUserId(): string | null | undefined{\n return sessionStorage.getItem('user-id');\n}\n","export const startGuardedTransition = async (updateCallback) => {\n if(!document?.startViewTransition){\n updateCallback()\n return;\n }\n // 1. Check if another transition is already running\n if (document.viewTransition) {\n // 2. If so, await its 'finished' promise\n await document.viewTransition.finished;\n }\n\n // 3. Now that the previous transition is done, start the new one\n document.startViewTransition(updateCallback);\n}\n","import { h } from '@stencil/core';\nimport { ApplyColumnStateParams, GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n getGridViewsWithConfigurations,\n deleteSelectedView,\n saveView,\n updateView,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { getUserId } from 'src/udp-utilities/user/getUserId';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\n\nexport class SavedViews implements GridFunction {\n private api!: GridApi;\n private isSidesheetOpen = false;\n private isDialogOpen = false;\n private viewName = '';\n private viewIsPrivate: boolean = true;\n private filteredViews: any[] = []; //filtered based on entity name\n private allViewData: any[] = []; //all views for the grid id\n private activeView: any = null;\n private loading: number = 0;\n private gridId: string;\n private entityName: string;\n private refresh!: () => void;\n\n private initialLoad: boolean = true;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n //don't want to load before columns have loaded\n this.api.addEventListener('gridColumnsChanged', this.fetchViews);\n }\n\n onAction(name: string) {\n if (name === 'openSavedViews') {\n const context = this.api.getGridOption('context');\n if (context?.gridId !== this.gridId) {\n this.fetchViews();\n } else if (context?.entityName !== this.entityName) {\n this.filterData();\n }\n this.isSidesheetOpen = true;\n this.refresh();\n }\n }\n\n addStateChangeListeners = () => {\n //Listener used to remove the active view if\n this.api.addEventListener('columnVisible', this.handleManualColumnChange);\n this.api.addEventListener('columnPinned', this.handleManualColumnChange);\n this.api.addEventListener('columnMoved', this.handleManualColumnChange);\n this.api.addEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.addEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.addEventListener('columnsReset', this.handleManualColumnChange);\n this.api.addEventListener('filterChanged', this.handleManualColumnChange);\n this.api.addEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n removeStateChangeListeners = () => {\n this.api.removeEventListener('columnVisible', this.handleManualColumnChange);\n this.api.removeEventListener('columnPinned', this.handleManualColumnChange);\n this.api.removeEventListener('columnMoved', this.handleManualColumnChange);\n this.api.removeEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.removeEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.removeEventListener('columnsReset', this.handleManualColumnChange);\n this.api.removeEventListener('filterChanged', this.handleManualColumnChange);\n this.api.removeEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n fetchViews = async () => {\n if(this.api.getColumnDefs()?.length === 0) return;\n this.loading = 1;\n this.refresh();\n this.api.removeEventListener('gridColumnsChanged', this.fetchViews);\n this.gridId = this.api.getGridOption('context')?.gridId;\n if (this.gridId) {\n this.allViewData = await getGridViewsWithConfigurations(getUserId(), this.gridId);\n this.filterData();\n\n if (this.initialLoad) {\n this.setDefaultView();\n }\n }\n\n this.loading = 0;\n };\n\n setDefaultView = () => {\n const defaultView = this.filteredViews.find(view => view?.isDefault);\n defaultView && this.setActiveView(defaultView);\n this.initialLoad = false;\n };\n\n filterData = () => {\n this.entityName = this.api.getGridOption('context')?.entityName;\n if (this.entityName) {\n this.filteredViews = this.allViewData?.filter(view => view?.domain === this.entityName);\n } else {\n this.filteredViews = this.allViewData;\n }\n this.refresh();\n };\n\n setActiveView = data => {\n this.removeStateChangeListeners();\n const columnState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 1, //columns\n );\n const columnFilterState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 4, //filter\n );\n\n //apply column state\n if (columnState) {\n const columnStateObj: ApplyColumnStateParams = {\n state: JSON.parse(columnState.gridViewGridConfigurationGridConfiguration.values),\n applyOrder: true,\n };\n this.api.applyColumnState(columnStateObj);\n }\n\n if (columnFilterState) {\n this.api.setFilterModel(\n JSON.parse(columnFilterState.gridViewGridConfigurationGridConfiguration.values),\n );\n } else {\n this.api.setFilterModel(null);\n }\n this.handleSidesheetClose();\n\n startGuardedTransition(() => {\n this.activeView = data;\n this.refresh();\n //wait for 300ms so that it doesn't catch the actual view being added\n setTimeout(this.addStateChangeListeners, 300);\n });\n };\n\n deleteView = async data => {\n this.loading = 1;\n this.refresh();\n await deleteSelectedView(data.gridViewId, () => {\n this.fetchViews();\n });\n this.loading = 0;\n this.refresh();\n };\n\n private async postView() {\n this.loading = 1;\n this.refresh();\n const saveState = [];\n saveState.push({\n gridStateTypeId: 1, //column state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getColumnState()),\n });\n\n saveState.push({\n gridStateTypeId: 4, //column filter state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getFilterModel()),\n });\n const udpContext = this.api.getGridOption('context');\n\n try {\n await saveView(\n getUserId(),\n udpContext?.gridId,\n getCurrentApiCatalogId(),\n this.viewName,\n udpContext?.entityName,\n saveState,\n this.viewIsPrivate === true ? 1 : 2,\n 0,\n this.postViewCallback,\n );\n } catch (err) {\n console.error(err);\n } finally {\n this.refresh();\n }\n }\n\n postViewCallback = () => {\n this.loading = 0;\n this.fetchViews();\n this.handleDialogClose();\n };\n\n private async updateViewMarkedAsPrimary(data) {\n this.loading = 1;\n this.refresh();\n const context = this.api.getGridOption('context');\n //update current view to primary\n const currentlySetToPrimary = data?.isDefault;\n await updateView(\n data?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n data?.name,\n currentlySetToPrimary ? 0 : 1,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n )\n .then(async () => {\n //find current set to primary if it exists and the initial click was not to remove primary status\n if (!currentlySetToPrimary) {\n const currentDefaultView = this.filteredViews.find(view => view?.isDefault);\n if (currentDefaultView) {\n await updateView(\n currentDefaultView?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n currentDefaultView?.name,\n 0,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n ).catch(err => console.log(err));\n }\n }\n await this.fetchViews();\n this.loading = 0;\n this.refresh();\n })\n .catch(err => console.log(err));\n }\n\n removeActiveView = () => {\n this.removeStateChangeListeners();\n this.api.resetColumnState();\n this.api.setFilterModel(null);\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n //If the user makes certain manual changed to columns, the active view should be removed\n handleManualColumnChange = async () => {\n this.removeStateChangeListeners();\n if (!this.activeView) {\n return;\n }\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n handleNameChange = event => {\n this.viewName = event.target.value;\n this.refresh();\n };\n\n handleViewIsPrivateToggleChange = () => {\n this.viewIsPrivate = !this.viewIsPrivate;\n this.refresh();\n };\n\n handleSidesheetClose = () => {\n this.isSidesheetOpen = false;\n this.refresh();\n };\n\n handleDialogClose = () => {\n this.isDialogOpen = false;\n this.viewName = '';\n this.refresh();\n };\n\n handleOpenModal = () => {\n this.isDialogOpen = true;\n this.refresh();\n };\n\n render() {\n return (\n <div>\n <div\n //key={this.activeView ? 'has-view' : 'no-view'}\n style={{ viewTransitionName: `active-view-chip` }}\n class=\"grid-action-transition\"\n >\n {this.activeView && (\n <div style={{ margin: '4px' }}>\n <udp-chip\n label={this.activeView?.name}\n variant=\"filled\"\n color=\"secondary\"\n deleteButton\n onChipDelete={this.removeActiveView}\n ></udp-chip>\n </div>\n )}\n </div>\n <udp-dialog\n open={this.isDialogOpen}\n actionOne={() => {\n this.postView();\n }}\n actionTwo={this.handleDialogClose}\n handleClose={this.handleDialogClose}\n labelOne=\"Create View\"\n labelTwo=\"Cancel\"\n title={'Create a grid view'}\n message=\"The view will be created from the current column and filter state.\"\n disableOne={!this.viewName}\n progress={this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <div style={{ marginBottom: '-4px', marginTop: '2em' }}>\n <text-field\n value={this.viewName}\n onInput={this.handleNameChange}\n placeholder=\"View name\"\n />\n </div>\n <div style={{ marginTop: '-4px' }}>\n <stencil-toggle\n label=\"Private\"\n checked={this.viewIsPrivate}\n onChange={this.handleViewIsPrivateToggleChange}\n />\n </div>\n </div>\n </udp-dialog>\n\n <udp-side-sheet\n title=\"Views\"\n open={this.isSidesheetOpen}\n position=\"right\"\n onUdpSideSheetClose={this.handleSidesheetClose}\n headerActionButtonLabel=\"Create View\"\n onUdpHeaderActionButtonClick={this.handleOpenModal}\n headerActionButtonIcon={'add'}\n loading={!!this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Dismiss\"\n ></hint-panel>\n {this.entityName && (\n <hint-panel hint=\"Note: Displaying entity specific views.\"></hint-panel>\n )}\n <div>\n {this.filteredViews?.length > 0 ? (\n this.filteredViews.map(item => {\n return (\n <udp-list-item\n primaryText={item.name}\n clickable\n onListItemClick={() => this.setActiveView(item)}\n >\n <div\n style={{ display: 'flex', flexDirection: 'row', gap: '4px' }}\n slot=\"status-chip\"\n >\n {this.activeView?.gridViewId === item.gridViewId && (\n <udp-chip label=\"Active\" color=\"success\" variant=\"filled\"></udp-chip>\n )}\n {/* {item.isDefault && (\n <udp-chip label=\"Primary\" color=\"info\" variant=\"outlined\"></udp-chip>\n )} */}\n {item.gridViewVisibilityTypeId === 1 && (\n <udp-chip label=\"Private\" color=\"gray\" variant=\"outlined\"></udp-chip>\n )}\n </div>\n\n <div slot=\"actions\">\n <udp-icon-button\n icon={getIconFromName('star')}\n size=\"small\"\n variant={item.isDefault ? 'contained' : 'text'}\n tooltip={\n item.gridViewVisibilityTypeId === 2\n ? 'Cannot mark public view as primary'\n : item.isDefault\n ? 'Remove as primary'\n : 'Mark as primary'\n }\n onClick={() => this.updateViewMarkedAsPrimary(item)}\n disabled={item.gridViewVisibilityTypeId === 2}\n />\n <udp-icon-button\n icon={getIconFromName('trashCan')}\n size=\"small\"\n variant=\"text\"\n tooltip={\n item.userId !== getUserId()\n ? 'Cannot delete public view with different owner'\n : 'Delete View'\n }\n onClick={() => this.deleteView(item)}\n disabled={item.userId !== getUserId()}\n />\n </div>\n </udp-list-item>\n );\n })\n ) : (\n <udp-empty-state-display primaryText=\"No Views to display\" />\n )}\n </div>\n </div>\n </udp-side-sheet>\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridSizeColumnsToFit implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridSizeColumnsToFit') {\n this.gridApi.sizeColumnsToFit();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridAutoSizeColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridAutoSizeColumns') {\n this.gridApi.autoSizeAllColumns();\n }\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { getAvailableGridActions } from 'src/udp-utilities/api-udp/apiUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class BulkActions implements GridFunction {\n private api!: GridApi;\n private bulkActions: any = [];\n private selectedRowCount: number = 0;\n private selectedRows: any;\n private fetchedData: boolean = false;\n private refresh!: () => void;\n private gridId: string;\n\n private executeActionCallback: (actionId, selectedRows) => void;\n private isMenuOpen: boolean = false;\n private menuAnchorEl?: HTMLElement;\n\n init(api: GridApi, refresh: () => void, params?: any): void {\n this.api = api;\n this.refresh = refresh;\n this.executeActionCallback = params?.callback;\n\n const modelType = this.api.getGridOption('rowModelType');\n if (modelType === 'clientSide') {\n this.api.setGridOption('rowSelection', { mode: 'multiRow', enableClickSelection: true });\n } else {\n this.api.setGridOption('rowSelection', {\n mode: 'multiRow',\n enableClickSelection: true,\n headerCheckbox: false\n });\n }\n\n this.api.addEventListener('selectionChanged', this.onRowSelectionChanged);\n }\n\n onAction(name: string) {\n if (name === 'executeBulkAction') {\n this.refresh();\n }\n }\n\n onRowSelectionChanged = () => {\n startGuardedTransition(() => {\n const rows = this.api.getSelectedRows();\n this.selectedRows = rows;\n this.selectedRowCount = rows.length;\n this.refresh();\n\n });\n\n if (!this.fetchedData || this.api.getGridOption('context')?.gridId !== this.gridId) { //refetch if grid Id has changed since last fetch\n this.fetchBulkActions();\n }\n };\n\n private async fetchBulkActions() {\n try {\n this.gridId = this.api.getGridOption('context')?.gridId;\n await getAvailableGridActions(this.gridId, false, [], this.setBulkActions);\n } catch (err) {\n console.error(err);\n }\n }\n\n setBulkActions = data => {\n this.bulkActions = data.map(action => {\n return { label: action.name, onClick: () => this.executeBulkAction(action.actionId) };\n });\n this.fetchedData = true;\n this.refresh();\n };\n\n executeBulkAction = (actionId: any) => {\n if(this.executeActionCallback){\n this.executeActionCallback(actionId, this.selectedRows)\n }\n alert(`Executing action with ID: ${actionId}`);\n this.refresh();\n };\n\n toggleMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n this.refresh();\n };\n\n closeMenu = () => {\n this.isMenuOpen = false;\n this.refresh();\n };\n\n render() {\n return (\n <div\n style={{\n viewTransitionName: `bulk-action-button`,\n }}\n class=\"grid-action-transition\"\n >\n {this.selectedRowCount > 0 && [\n <div style={{ margin: '2px' }}>\n <udp-button\n ref={(el: HTMLUdpButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n onClick={this.toggleMenu}\n variant=\"outlined\"\n color=\"primary\"\n endIcon={\n <udp-icon\n iconName=\"chevronDown\"\n style={{\n transform: this.isMenuOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n }}\n />\n }\n >\n {`${this.selectedRowCount} Selected`}\n </udp-button>\n </div>,\n\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={this.closeMenu}\n >\n {this.bulkActions?.length === 0 ? (\n <udp-menu-item label={'No available actions'} />\n ) : (\n this.bulkActions.map(action => (\n <udp-menu-item\n label={action.label}\n onItemClick={() => {\n action.onClick();\n this.isMenuOpen = false;\n }}\n />\n ))\n )}\n </udp-menu>,\n ]}\n </div>\n );\n }\n}\n","import { AgColumn, GridApi } from 'ag-grid-enterprise-v33';\n\nexport function toggleColumnFilter(api: GridApi, columnId: string, agGridFilter: object) {\n //Validate column exists and column allows filtering\n const column: AgColumn = api.getColumn(columnId) as AgColumn;\n if(!column){\n console.error(\"Invalid column id provided for filtering\");\n return;\n }\n if(!column?.colDef?.filter){\n console.error(`Filtering not enabled for column: ${column?.colId}`);\n return;\n }\n //check if it already exists on columnId\n const currentColumnFilter: any = api.getColumnFilterModel(columnId);\n\n //--Removing filter--\n //if it exists on the column filter already and it is the only filter\n if (JSON.stringify(agGridFilter) === JSON.stringify(currentColumnFilter)) {\n api.setColumnFilterModel(columnId, null).then(() => api.onFilterChanged());\n return;\n }\n\n //if it is one of many existing filters on the column\n if (\n currentColumnFilter?.conditions?.some(\n condition => JSON.stringify(condition) === JSON.stringify(agGridFilter),\n )\n ) {\n const filteredOut = currentColumnFilter?.conditions.filter(\n condition => JSON.stringify(condition) !== JSON.stringify(agGridFilter),\n );\n if (filteredOut.length === 1) {\n api.setColumnFilterModel(columnId, filteredOut[0]).then(() => api.onFilterChanged());\n return;\n } else {\n const newColumnFilter = { ...currentColumnFilter, conditions: filteredOut };\n api.setColumnFilterModel(columnId, newColumnFilter).then(() => api.onFilterChanged());\n return;\n }\n }\n\n //--Adding filter--\n if (!currentColumnFilter) {\n api.setColumnFilterModel(column, agGridFilter).then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter?.conditions) {\n const newConditions = [...currentColumnFilter?.conditions, agGridFilter];\n api\n .setColumnFilterModel(columnId, { conditions: newConditions, operator: 'AND' })\n .then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter) {\n api\n .setColumnFilterModel(columnId, {\n conditions: [{ ...currentColumnFilter }, agGridFilter],\n operator: 'AND',\n })\n .then(() => api.onFilterChanged());\n return;\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n executeQueryAdHoc,\n getGridConfigurationsByGridId,\n getPromotedMethodEntities,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { toggleColumnFilter } from '../helperFunctions/toggleAgGridColumnFilter';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class ChipFilter implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private filterChips!: any;\n private gridId: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getGridfilterChips);\n this.api.addEventListener('filterChanged', this.handleFilterChanged);\n }\n\n onAction(name: string) {\n if (name === 'chipFilter') {\n this.refresh();\n }\n }\n\n handleFilterChanged = data => {\n const colId = data?.columns?.[0]?.colId;\n const filterGroup = this.filterChips?.find(filterGroup => filterGroup.field === colId);\n if (filterGroup) {\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n const updatedFilterGroup = {\n ...filterGroup,\n filterObjects: filterGroup.filterObjects.map(obj => {\n let toggled = false;\n\n //must be AND operator for filter chips\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition =>\n JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else if (currentFilterModel) {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n\n return { ...obj, toggled };\n }),\n };\n\n // Replace the group in this.filterChips\n this.filterChips = this.filterChips.map(group =>\n group.field === colId ? updatedFilterGroup : group,\n );\n this.refresh();\n }\n };\n\n //When the chips initially load in, need to check if filters have already been applied (ex. default view)\n syncChipsWithGridFilters = () => {\n if (!this.filterChips || this.filterChips.length === 0) {\n return;\n }\n\n // Create a new array with the updated toggle states\n const syncedFilterChips = this.filterChips.map(filterGroup => {\n const colId = filterGroup.field;\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n\n // If there's no active filter for this column, no changes are needed\n if (!currentFilterModel) {\n return filterGroup;\n }\n\n // Update the toggled state for each chip in this group\n const updatedFilterObjects = filterGroup.filterObjects.map(obj => {\n let toggled = false;\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition => JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n return { ...obj, toggled };\n });\n\n return { ...filterGroup, filterObjects: updatedFilterObjects };\n });\n\n // Update the component's state with the synchronized chips\n this.filterChips = syncedFilterChips;\n };\n\n //fetches the configured filter chips from db\n getGridfilterChips = async () => {\n if (this.gridId !== this.api.getGridOption('context')?.gridId) {\n this.gridId = this.api.getGridOption('context')?.gridId;\n const filterChipConfigurations = await getGridConfigurationsByGridId(this.gridId, 7);\n const parsedConfigurations = filterChipConfigurations.map(configuration =>\n JSON.parse(configuration.values),\n );\n\n startGuardedTransition(async () => {\n this.filterChips = parsedConfigurations.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => ({\n ...option,\n toggled: false,\n })),\n }));\n\n this.syncChipsWithGridFilters();\n\n this.getFilterChipCounts();\n this.refresh();\n });\n }\n };\n\n getFilterChipCounts = async () => {\n const baseSearchPayload = {\n pageNumber: 1,\n pageSize: 1,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n };\n\n const searchPromises: Promise<{\n result: any;\n groupField: string;\n objLabel: string;\n }>[] = [];\n\n for (const group of this.filterChips) {\n if (!group?.udpDomainSanitizedName) continue;\n\n const promotedMethods = await getPromotedMethodEntities(\n getCurrentApiCatalogId(),\n group.udpDomainSanitizedName,\n true,\n );\n\n for (const obj of group.filterObjects ?? []) {\n if (!obj?.udpFilterElement) continue;\n\n searchPromises.push(\n (async () => {\n const payload = {\n ...baseSearchPayload,\n filterElements: [obj.udpFilterElement],\n };\n\n const result = await executeQueryAdHoc(\n payload,\n promotedMethods?.unityBaseSearchMethod?.apiMethodId,\n ConfigService.config.UNITY_API_DOMAIN,\n false,\n );\n\n return {\n result,\n groupField: group.field,\n objLabel: obj.label,\n };\n })(),\n );\n }\n }\n\n // Wait for all ad-hoc queries to finish\n const results = await Promise.all(searchPromises);\n\n // Update filterChips with result counts\n this.filterChips = this.filterChips.map(group => {\n const groupResults = results.filter(r => r.groupField === group.field);\n\n return {\n ...group,\n filterObjects: group.filterObjects.map(obj => {\n const match = groupResults.find(r => r.objLabel === obj.label);\n return {\n ...obj,\n resultCount: match?.result?.total ?? null,\n };\n }),\n };\n });\n\n this.refresh();\n };\n\n setSelectedFilterChip = data => {\n this.filterChips = this.filterChips.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => {\n if (option.label === data.label) {\n return {\n ...option,\n toggled: !option.toggled,\n };\n }\n return option;\n }),\n }));\n this.refresh();\n\n const columnId = Object.keys(data.agGridFilterModel)[0];\n toggleColumnFilter(this.api, columnId, data.agGridFilterModel[columnId]);\n };\n\n render() {\n return (\n <div\n class=\"grid-action-transition\"\n style={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '5px',\n viewTransitionName: `view-chip-filters`,\n }}\n >\n {this.filterChips?.length > 0 &&\n this.filterChips.map((filterChipGroup, index) => [\n index > 0 && (\n <div\n style={{\n width: '1px',\n backgroundColor: '#ddd',\n marginBottom: '5px',\n marginTop: '5px',\n }}\n />\n ),\n <div\n style={{\n padding: '4px',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '3px',\n }}\n >\n {filterChipGroup.filterObjects.map(option => (\n <udp-chip\n label={`${option.label} ${\n option.resultCount != null ? `(${option.resultCount})` : ''\n }`}\n variant={option.toggled ? 'filled' : 'outlined'}\n clickable\n onChipClick={() => this.setSelectedFilterChip(option)}\n color=\"primary\"\n />\n ))}\n </div>,\n ])}\n </div>\n );\n }\n}\n","import { h } from '@stencil/core';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\n\n/*\n * This saves and allows a user to restore their grid state based on gridId\n */\n\nexport class RestoreGridState implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private previousState!: any;\n\n private gridId!: string;\n private apiMethodInstanceId!: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getPreviousState);\n }\n\n getPreviousState = () => {\n startGuardedTransition(() => {\n this.api.removeEventListener('stateUpdated', this.saveState);\n const gridContext = this.api.getGridOption('context');\n this.gridId = gridContext?.gridId;\n this.apiMethodInstanceId = gridContext?.apiMethodInstanceId || '';\n //get the last saved state if it exists\n this.previousState = JSON.parse(localStorage.getItem(this.getStorageKey()));\n this.refresh();\n //add the watcher to track future state updates\n this.api.addEventListener('stateUpdated', this.saveState);\n });\n };\n\n getStorageKey = () => {\n const tenantId = getCurrentTenantId();\n return `saved-grid-state-${this.gridId}-${this.apiMethodInstanceId}-${tenantId}`;\n };\n\n saveState = () => {\n const gridContext = this.api.getGridOption('context');\n if (\n gridContext?.gridId !== this.gridId ||\n (gridContext?.apiMethodInstanceId && gridContext?.apiMethodInstanceId !== this.apiMethodInstanceId)\n ) {\n this.getPreviousState();\n } else {\n const savedState = this.api.getState();\n localStorage.setItem(\n this.getStorageKey(),\n JSON.stringify({ date: new Date(), state: savedState }),\n );\n }\n };\n\n restoreState = async () => {\n this.api.setState(this.previousState.state);\n //wrapping in setTimeout to avoid conflicts with the grid\n setTimeout(\n () =>\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n }),\n 0,\n );\n };\n\n dismissMessage = () => {\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n });\n };\n\n getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return `${seconds} second${seconds !== 1 ? 's' : ''} ago`;\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return `${minutes} minute${minutes !== 1 ? 's' : ''} ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${hours} hour${hours !== 1 ? 's' : ''} ago`;\n const days = Math.floor(hours / 24);\n return `${days} day${days !== 1 ? 's' : ''} ago`;\n }\n\n render() {\n return (\n <div style={{ viewTransitionName: `restore-grid-state` }}>\n {this.previousState?.date && (\n <div style={{ margin: '4px' }}>\n <udp-ambient-tool-tip\n content={`Restore grid state from ${this.getTimeAgo(\n new Date(this.previousState.date),\n )}?`}\n >\n <udp-chip\n startIcon={'rotate'}\n label={`Restore state`}\n variant=\"outlined\"\n color=\"gray\"\n deleteButton\n onChipDelete={this.dismissMessage}\n clickable\n onClick={this.restoreState}\n ></udp-chip>\n </udp-ambient-tool-tip>\n </div>\n )}\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\n\nexport class AgGridResetColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridResetColumns') {\n this.gridApi.resetColumnState();\n //reset all column filters\n this.gridApi.setFilterModel(null);\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class AdvancedSearch implements GridFunction {\n private onOpenCallback: () => void;\n\n init(_api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n }\n\n onAction?(name: string) {\n if (name === 'advancedSearch') {\n this.onOpenCallback?.();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridHideShowColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridHideShowColumns') {\n this.gridApi.showColumnChooser()\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class UdpExport implements GridFunction {\n private onOpenCallback: (searchObject, entity) => void;\n private api: GridApi;\n\n init(api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n this.api = api;\n }\n\n onAction?(name: string) {\n if (name === 'udpExport') {\n const context = this.api.getGridOption('context');\n this.onOpenCallback?.(context?.searchObject, context?.entityName);\n }\n }\n}\n","import { GridFunction } from './interfaces/gridFunction';\nimport { AgGridExport } from './gridFunctions/agGridExport';\nimport { SavedViews } from './gridFunctions/savedViews';\nimport { AgGridSizeColumnsToFit } from './gridFunctions/agGridSizeColumnsToFit';\nimport { AgGridAutoSizeColumns } from './gridFunctions/agGridAutoSizeColumns';\nimport { BulkActions } from './gridFunctions/bulkActions';\nimport { ChipFilter } from './gridFunctions/chipFilter';\nimport { RestoreGridState } from './gridFunctions/restoreGridState';\nimport { AgGridResetColumns } from './gridFunctions/agGridResetColumns';\nimport { AdvancedSearch } from './gridFunctions/advancedSearch';\nimport { AgGridHideShowColumns } from './gridFunctions/agGridHideShowColumns';\nimport { UdpExport } from './gridFunctions/udpExport';\n\nexport const gridFunctionRegistry: Record<string, new (...args: any[]) => GridFunction> = {\n agGridExport: AgGridExport,\n openSavedViews: SavedViews,\n agGridSizeColumnsToFit: AgGridSizeColumnsToFit,\n agGridAutoSizeColumns: AgGridAutoSizeColumns,\n bulkActions: BulkActions,\n chipFilter: ChipFilter,\n restoreGridState: RestoreGridState,\n agGridResetColumns: AgGridResetColumns,\n advancedSearch: AdvancedSearch,\n agGridHideShowColumns: AgGridHideShowColumns,\n udpExport: UdpExport\n};\n\nexport type GridFunctionName = keyof typeof gridFunctionRegistry;\n\n","export const dateTimeValueFormatter = params => {\n const value = params.value;\n if (value == null) {\n return '';\n }\n // First, parse the string into a Date object\n const dateObject = new Date(value);\n if (!dateObject) {\n return '';\n }\n // Now format the Date object into the desired \"YYYY-MM-DD HH:mm:ss\" string\n return `${dateObject.getFullYear()}-${String(dateObject.getMonth() + 1).padStart(\n 2,\n '0',\n )}-${String(dateObject.getDate()).padStart(2, '0')} ${String(dateObject.getHours()).padStart(\n 2,\n '0',\n )}:${String(dateObject.getMinutes()).padStart(2, '0')}`;\n};\n","/*\n Define color variables for the action bar theme.\n These should align with the grid-header styles for a cohesive look.\n*/\n:root {\n --udp-grid-base-header-bg: #EBECEF;\n --udp-grid-base-header-text: #000;\n --udp-grid-action-divider-color: rgba(0, 0, 0, 0.3);\n --udp-grid-action-bar-border-color: rgb(202, 197, 197);\n}\n\n/*\n 'dark' variant\n*/\n.variant-dark {\n --udp-grid-base-header-bg: var(--primary-color-dark);\n --udp-grid-action-bar-bg: #F8F9FA;\n --udp-grid-column-header-bg: #F8F9FA;\n --udp-grid-column-header-bg-hover: #dce6f2;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n/*\n 'light' variant\n*/\n.variant-light {\n --udp-grid-base-header-bg: #d8dfe6;\n --udp-grid-action-bar-bg: #f4f6f8;\n --udp-grid-column-header-bg: #f2f4f5;\n --udp-grid-column-header-bg-hover: #eef3f9;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n::view-transition-group(*){\n animation-duration: 0.2s;\n}\n\n.grid-base-header {\n background-color: var(--udp-grid-base-header-bg);\n color: var(--udp-grid-base-header-text);\n}\n\n/*\n The action bar container, which holds the filter chips and other dynamic elements.\n*/\n.action-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n /* gap: 0.5rem; */\n /* Spacing between chips */\n flex-wrap: wrap;\n /* Allow chips to wrap to the next line if needed */\n background-color: var(--udp-grid-action-bar-bg);\n color: var(--udp-grid-action-bar-text-color);\n padding: 0px 8px 0px 12px;\n border-bottom: 1px solid var(--udp-grid-action-bar-border-color);\n}\n\n.grid-wrapper {\n display: flex;\n flex-direction: column;\n /* Make the wrapper fill the height of its parent container */\n height: 100%;\n}\n\n#myNewGrid {\n /* This is the key: it tells the grid to grow and fill all remaining space */\n flex: 1;\n}\n","import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ghost-render',\n styles: `\n :host {\n display: none;\n }\n `,\n shadow: true,\n})\nexport class GhostRender {\n /**\n * @component GhostRender\n * @description A utility component for forcing the inclusion of dynamically rendered\n * components in a production build.\n *\n * @usage\n * This component should be used **extremely sparingly** and only as a last resort.\n * It serves as a workaround for a specific issue where Stencil's static compiler\n * and a downstream bundler (like Vite/Rollup) cannot detect a component's usage\n * because it is rendered dynamically.\n *\n * ---\n *\n * ### The Problem It Solves\n *\n * In our architecture, some components (like `ag-grid-base`) dynamically render other\n * components based on logic that is not visible at build time. For example, a class\n * might have a `render()` method that returns JSX, and this class is only instantiated\n * and used at runtime.\n *\n * Stencil's build process relies on static analysis of JSX to build a dependency graph.\n * It scans the `render()` method of a parent component to see which child component\n * tags (e.g., `<udp-dialog />`) are used. If a tag is not physically present in the\n * parent's JSX, the dependency is not registered.\n *\n * In a production build, the final bundler (Vite/Rollup) performs aggressive\n * tree-shaking. If it sees a component file that is not part of the static dependency\n * graph, it considers it \"dead code\" and removes it to optimize the bundle size.\n *\n * The code that registers the component with the browser (`customElements.define(...)`)\n * is inside that removed file, so it never runs, and the component fails to load in the\n * final application. This issue does not appear in Vite's dev server, which has minimal\n * tree-shaking.\n *\n * ### How This Component Works\n *\n * By wrapping the dynamically used component inside `<ghost-render>` in the parent's\n * JSX, we make the component tag visible to Stencil's static analyzer. The compiler\n * now correctly includes the child in the parent's dependency graph. The bundler then\n * sees this dependency and preserves the component in the final build.\n *\n * The `<ghost-render>` component itself is styled with `display: none;`, ensuring that\n * neither it nor its slotted children are ever rendered to the DOM, having no visual\n * impact.\n *\n * ### Example\n *\n * ```tsx\n * // In the parent component that dynamically loads <udp-dialog>\n * render() {\n * return (\n * <div>\n * <ghost-render>\n * <udp-dialog />\n * </ghost-render>\n *\n * { // ... logic that dynamically renders the dialog ... }\n * </div>\n * );\n * }\n * ```\n *\n * The preferred long-term solution is always to refactor dynamic features into\n * proper, statically rendered Stencil components. This is a workaround for when that\n * is not immediately feasible.\n */\n render() {\n // The <slot /> is necessary to prevent the Stencil compiler from\n // overly optimizing this component's output and aliasing the\n // defineCustomElement export, which breaks downstream wrappers.\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n\n",".header-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--spacing-03) var(--spacing-03) var(--spacing-03) var(--spacing-05);\n font-family: 'Segoe UI', Tahoma, sans-serif;\n\n color: var(--grid-header-text);\n min-height: 42px;\n}\n\n.header-bar.variant-dark {\n --grid-header-text: #FFFFFF;\n --grid-header-icon-hover-bg: rgba(255, 255, 255, 0.12); /* Adjusted for dark bg */\n}\n\n.header-bar.variant-light {\n --grid-header-text: black;\n --grid-header-icon-hover-bg: rgba(0, 0, 0, 0.08);\n}\n\n.header-bar .header-title {\n color: inherit;\n margin: 0;\n white-space: nowrap;\n}\n\n.header-bar .actions {\n display: flex;\n gap: 0.4rem;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.header-bar .secondary-actions {\n display: flex;\n gap: 0.4rem;\n}\n\n.menu-trigger-wrapper {\n position: relative;\n display: inline-flex;\n}\n\n.settings-button {\n transition: transform 0.2s ease-in-out;\n}\n\n/* When the button has the .is-open class, rotate it */\n.settings-button.is-open {\n transform: rotate(45deg);\n}\n","import { Component, h, Prop, Event, EventEmitter, State } from '@stencil/core';\nimport { getIconFromName } from '../../data-display/icons/iconUtils';\nimport { HeaderConfig } from './interfaces/grid';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\n\n@Component({ tag: 'grid-header', shadow: false, styleUrl: 'grid-header.css' })\nexport class GridHeader {\n @Prop() headerConfig: HeaderConfig;\n @Prop() gridFunctions: GridFunctionConfig[];\n\n @State() isMenuOpen: boolean = false;\n\n @Event() headerAction!: EventEmitter<{ name: string; payload?: any }>;\n\n private menuAnchorEl?: HTMLElement;\n\n private action(name: string, payload?: any) {\n this.headerAction.emit({ name, payload });\n }\n\n toggleSettingsMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n render() {\n // Check if there is any content to render before showing the header\n const hasTitle = !!this.headerConfig?.title?.replace(/\\u00A0/g, ' ').trim();\n const hasPrimaryAction = !!this.headerConfig?.primaryActionButton?.label;\n const hasSecondaryActions = (this.headerConfig?.secondaryActionButtons?.length || 0) > 0;\n const hasGridFunctions = (this.gridFunctions?.length || 0) > 0;\n const shouldRenderContent = hasTitle || hasPrimaryAction || hasSecondaryActions || hasGridFunctions;\n\n // If there's nothing to show, render nothing.\n if (!shouldRenderContent) {\n return null;\n }\n\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n const enabledFunctionNames = new Set(this.gridFunctions.map(config => config.name));\n const settingsMenuActions = [\n 'agGridSizeColumnsToFit',\n 'agGridAutoSizeColumns',\n 'agGridHideShowColumns',\n 'agGridResetColumns',\n 'agGridExport',\n ];\n const shouldRenderSettingsButton = settingsMenuActions.some(action =>\n enabledFunctionNames.has(action),\n );\n\n return (\n <div class={`header-bar ${variantClass}`}>\n <unity-typography variant=\"h6\" color=\"inherit\">\n {this.headerConfig.title}\n </unity-typography>\n <div class=\"actions\">\n {shouldRenderSettingsButton && (\n <udp-icon-button\n class={{\n 'settings-button': true,\n 'is-open': this.isMenuOpen,\n }}\n onClick={this.toggleSettingsMenu}\n ref={(el: HTMLUdpIconButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n icon={getIconFromName('settings')}\n variant={'outlined'}\n size=\"small\"\n color=\"inherit\"\n />\n )}\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={() => (this.isMenuOpen = false)}\n >\n {enabledFunctionNames.has('agGridSizeColumnsToFit') && (\n <udp-menu-item\n label=\"Size Columns To Fit\"\n iconName=\"fitToWidth\"\n onItemClick={() => this.action('agGridSizeColumnsToFit')}\n />\n )}\n {enabledFunctionNames.has('agGridAutoSizeColumns') && (\n <udp-menu-item\n label=\"Auto Size Columns\"\n iconName=\"column\"\n onItemClick={() => this.action('agGridAutoSizeColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridHideShowColumns') && (\n <udp-menu-item\n label=\"Hide/Show Columns\"\n iconName=\"hideColumn\"\n onItemClick={() => this.action('agGridHideShowColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridResetColumns') && (\n <udp-menu-item\n label=\"Reset Columns\"\n iconName=\"reset\"\n onItemClick={() => this.action('agGridResetColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridExport') && (\n <udp-menu-item\n label=\"CSV Export\"\n iconName=\"export\"\n onItemClick={() => this.action('agGridExport')}\n />\n )}\n </udp-menu>\n\n {enabledFunctionNames.has('openSavedViews') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"dataTable\"\n label={'Views'}\n clickable\n onChipClick={() => this.action('openSavedViews')}\n size=\"medium\"\n />\n )}\n {enabledFunctionNames.has('udpExport') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"export\"\n label={'Export'}\n clickable\n onChipClick={() => this.action('udpExport')}\n size=\"medium\"\n />\n )}\n {enabledFunctionNames.has('advancedSearch') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"search\"\n label={'Search'}\n clickable\n onChipClick={() => this.action('advancedSearch')}\n size=\"medium\"\n />\n )}\n\n <div class=\"secondary-actions\">\n {this.headerConfig?.secondaryActionButtons?.map(action => (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon={action?.iconName}\n label={action?.label}\n clickable={!action?.disabled}\n onChipClick={action.onClick}\n size=\"medium\"\n ></udp-chip>\n ))}\n </div>\n <div class=\"primary-action\">\n {this.headerConfig?.primaryActionButton?.label && (\n <udp-button\n variant=\"contained\"\n onButtonClick={this.headerConfig?.primaryActionButton?.onClick}\n color=\"secondary\"\n disabled={this.headerConfig?.primaryActionButton?.disabled}\n loading={this.headerConfig?.primaryActionButton?.loading}\n endIcon={\n this.headerConfig?.primaryActionButton?.iconName && (\n <udp-icon\n iconName={this.headerConfig?.primaryActionButton?.iconName}\n color=\"inherit\"\n />\n )\n }\n >\n {this.headerConfig?.primaryActionButton?.label}\n </udp-button>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n",".hint-container {\n border-left: 3px solid var(--info-color-main);\n}\n\n.hint-content {\n background-color: color-mix(in srgb, var(--info-color-hint) 70%, transparent);\n padding: 8px;\n}\n\n.hide-help {\n display: flex;\n justify-content: flex-end;\n margin-top: 0.5rem;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'hint-panel',\n styleUrl: 'hint-panel.css',\n shadow: true,\n})\nexport class HintPanel {\n @Prop() hint: string;\n @Prop() hideHintText: string;\n @State() showHint: boolean = true;\n\n handleHideHint = () => {\n this.showHint = false;\n };\n\n render() {\n return (\n <div class=\"hint-container\">\n {this.showHint && (\n <div class=\"hint-content\">\n <div>\n <unity-typography variant=\"body\"> {this.hint} </unity-typography>\n </div>\n {this.hideHintText && (\n <div class=\"hide-help\">\n <udp-button size=\"small\" color=\"info\" onClick={this.handleHideHint}>\n {this.hideHintText}\n </udp-button>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n",":host {\n /* Initial state before being opened */\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n /* CRITICAL: transform creates a containing block, forcing fixed children to respect overflow: hidden */\n transform: translate(0);\n z-index: 100000;\n display: flex;\n align-items: center;\n justify-content: center;\n\n /* Animation properties - UPDATED FOR FADE */\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0);\n transition: background-color 0.2s ease-out, visibility 0s 0.2s, width 0s 0.2s, height 0s 0.2s;\n /* Smoother background fade */\n}\n\n:host(.is-visible) {\n /* Visible state for the overlay */\n visibility: visible;\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n overflow: visible;\n transition-delay: 0s;\n}\n\n.dialog-container {\n background-color: #fff;\n box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16), 0 12px 24px rgba(0, 0, 0, 0.23);\n max-width: 90vw;\n width: 500px;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n\n /* Animation properties - UPDATED FOR FADE */\n opacity: 0;\n transition: opacity 0.2s ease-out;\n}\n\n:host(.is-visible) .dialog-container {\n /* Visible state for the dialog box */\n opacity: 1;\n}\n\n.dialog-title {\n padding: 16px;\n flex-shrink: 0;\n}\n\n.dialog-content {\n padding: 0 16px;\n overflow-y: auto;\n}\n\n.dialog-actions {\n padding: 16px;\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n flex-shrink: 0;\n}\n","import { Component, Prop, h, Host, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'udp-dialog',\n styleUrl: 'udp-dialog.css',\n shadow: true,\n})\nexport class UdpDialog {\n @Element() hostEl!: HTMLElement;\n\n // --- Original Prop Names & Controlled Pattern ---\n @Prop({ reflect: true }) open: boolean = false; // No longer mutable\n @Prop() handleClose: Function; // Using the function prop again\n @Prop() title: string;\n @Prop() message: string;\n @Prop() actionOne: () => void;\n @Prop() actionTwo: () => void;\n @Prop() actionThree: () => void;\n @Prop() labelOne: string;\n @Prop() labelTwo: string;\n @Prop() labelThree: string;\n @Prop() titleId: string = 'dialog-title';\n @Prop() descriptionId: string = 'dialog-description';\n @Prop() buttonOneHidden: boolean = false;\n @Prop() buttonTwoHidden: boolean = false;\n @Prop() buttonThreeHidden: boolean = true;\n @Prop() disableOne: boolean;\n @Prop() disableTwo: boolean;\n @Prop() disableThree: boolean;\n @Prop() progress: number;\n\n private originalBodyOverflow: string = '';\n\n @Watch('open')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.originalBodyOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n document.body.appendChild(this.hostEl);\n document.addEventListener('keydown', this.handleKeyDown);\n\n requestAnimationFrame(() => {\n this.hostEl.classList.add('is-visible');\n });\n } else {\n this.hostEl.classList.remove('is-visible');\n document.body.style.overflow = this.originalBodyOverflow;\n document.removeEventListener('keydown', this.handleKeyDown);\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\n }\n }\n\n private handleTransitionEnd = () => {\n if (!this.open && this.hostEl.parentElement === document.body) {\n document.body.removeChild(this.hostEl);\n }\n };\n\n disconnectedCallback() {\n if (document.body.style.overflow === 'hidden') {\n document.body.style.overflow = this.originalBodyOverflow;\n }\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && this.handleClose) {\n this.handleClose();\n }\n };\n\n private handleOverlayClick = () => {\n if (this.handleClose) {\n this.handleClose();\n }\n };\n\n render() {\n return (\n <Host onClick={this.handleOverlayClick}>\n <div\n class=\"dialog-container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={this.titleId}\n aria-describedby={this.descriptionId}\n onClick={(event) => event.stopPropagation()}\n >\n <div class=\"dialog-title\" id={this.titleId}>\n <unity-typography variant=\"h3\">{this.title}</unity-typography>\n </div>\n\n <div class=\"dialog-content\" id={this.descriptionId}>\n {this.message && <unity-typography variant=\"body\">{this.message}</unity-typography>}\n <slot />\n </div>\n\n <div class=\"dialog-actions\">\n {!this.buttonTwoHidden && (\n <udp-button variant='text' disabled={this.disableTwo} onClick={() => this.actionTwo()}>{this.labelTwo}</udp-button>\n )}\n {!this.buttonThreeHidden && (\n <udp-button variant='text' disabled={this.disableThree} onClick={() => this.actionThree()}>{this.labelThree}</udp-button>\n )}\n {!this.buttonOneHidden && (\n <udp-button variant='contained' disabled={this.disableOne} onClick={() => this.actionOne()} loading={!!this.progress}>{this.labelOne}</udp-button>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n",".list-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-3, 12px) var(--spacing-4, 16px);\n background-color: var(--card-background-color, #FFF);\n transition: background-color 0.1s;\n gap: var(--spacing-4, 16px);\n position: relative;\n}\n\n.list-item::after {\n content: '';\n position: absolute;\n bottom: 0;\n height: 1px;\n background-color: var(--border-color, #e0e0e0);\n left: var(--spacing-4, 16px);\n right: var(--spacing-4, 16px);\n}\n\n.list-item.variant-compact {\n padding-top: var(--spacing-1, 4px);\n padding-bottom: var(--spacing-1, 4px);\n}\n\n.list-item.clickable {\n cursor: pointer;\n}\n\n.list-item.clickable:hover {\n background-color: color-mix(in srgb, var(--card-background-color, #FFF) 95%, black);\n}\n\n.avatar-container {\n align-items: center;\n}\n\n.text-container {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.primary-text {\n font-weight: 400;\n line-height: 1.4;\n}\n\n.secondary-text {\n margin-top: 2px;\n}\n\n.status-chip-container {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.actions-container {\n display: flex;\n flex-shrink: 0;\n}\n","import { Component, Prop, h, Host, Element, State, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'udp-list-item',\n styleUrl: 'list-item.css',\n shadow: true,\n})\nexport class UdpListRenderer {\n @Element() private hostEl: HTMLElement;\n\n @State() private hasPrimaryTextSlot = false;\n @State() private hasSecondaryTextSlot = false;\n @State() private hasActionsSlot = false;\n @State() private hasStatusChipSlot = false;\n\n @Prop() primaryText: string;\n @Prop() secondaryText: string;\n @Prop() iconName: string;\n @Prop() avatarBackgroundColor: string = 'info';\n @Prop() avatarVariant: 'circular' | 'rounded' | 'square' = 'rounded';\n @Prop() clickable: boolean = false;\n /**\n * Defines the height of the list item.\n * 'normal': Default height.\n * 'compact': Reduced height for a denser list.\n */\n @Prop() variant: 'normal' | 'compact' = 'normal';\n /**\n * @deprecated Use the \"listItemClick\" event instead. This prop will be removed in a future version.\n */\n @Prop() onClick: (event: MouseEvent | KeyboardEvent) => void;\n @Event() listItemClick: EventEmitter<MouseEvent | KeyboardEvent>;\n\n componentWillLoad() {\n this.hasPrimaryTextSlot = !!this.hostEl.querySelector('[slot=\"primary-text\"]');\n this.hasSecondaryTextSlot = !!this.hostEl.querySelector('[slot=\"secondary-text\"]');\n this.hasActionsSlot = !!this.hostEl.querySelector('[slot=\"actions\"]');\n this.hasStatusChipSlot = !!this.hostEl.querySelector('[slot=\"status-chip\"]');\n }\n\n private handleClick = (event: MouseEvent | KeyboardEvent) => {\n const path = event.composedPath() as HTMLElement[];\n\n // Check if any element in the event path is one of our interactive containers.\n const isActionClick = path.some(\n element =>\n element.classList?.contains('actions-container') ||\n element.classList?.contains('status-chip-container'),\n );\n\n // If the click was on an action or status element, do nothing.\n if (isActionClick) {\n return;\n }\n\n if (this.clickable) {\n this.listItemClick.emit(event);\n if (this.onClick) {\n this.onClick(event);\n }\n }\n };\n\n private handleKeyPress = (event: KeyboardEvent) => {\n if (this.clickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.handleClick(event);\n }\n };\n\n render() {\n const showPrimaryText = this.primaryText || this.hasPrimaryTextSlot;\n const showSecondaryText = this.secondaryText || this.hasSecondaryTextSlot;\n\n return (\n <Host>\n <div\n class={{\n 'list-item': true,\n 'clickable': this.clickable,\n 'variant-compact': this.variant === 'compact',\n }}\n onClick={this.handleClick}\n onKeyPress={this.handleKeyPress}\n role={this.clickable ? 'button' : undefined}\n tabindex={this.clickable ? 0 : -1}\n >\n {this.iconName && (\n <div class=\"avatar-container\">\n <udp-avatar\n iconName={this.iconName}\n variant={this.avatarVariant}\n color={this.avatarBackgroundColor}\n ></udp-avatar>\n </div>\n )}\n <div class=\"text-container\">\n {showPrimaryText && (\n <div class=\"primary-text\">\n <slot name=\"primary-text\">\n <unity-typography variant=\"body\">{this.primaryText}</unity-typography>\n </slot>\n </div>\n )}\n {showSecondaryText && (\n <div class=\"secondary-text\">\n <slot name=\"secondary-text\">\n <unity-typography variant=\"caption-text\" color=\"textSecondary\">\n {this.secondaryText}\n </unity-typography>\n </slot>\n </div>\n )}\n </div>\n {this.hasStatusChipSlot && (\n <div class=\"status-chip-container\">\n <slot name=\"status-chip\"></slot>\n </div>\n )}\n {this.hasActionsSlot && (\n <div class=\"actions-container\">\n <slot name=\"actions\"></slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":["getGridViewsWithConfigurations","deleteSelectedView","saveView","getCurrentApiCatalogId","updateView","h","getIconFromName","getAvailableGridActions","getGridConfigurationsByGridId","getPromotedMethodEntities","executeQueryAdHoc","ConfigService","index","getCurrentTenantId","themeQuartz","ModuleRegistry","AllEnterpriseModule","LicenseManager","ActionsRenderer","CurrencyRenderer","DateTimeCellRenderer","IconRenderer","StatusRenderer","createGrid","isEqual","configureUdpColumnMods","Host"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGa,YAAY,CAAA;IAGvB,WAAoB,CAAA,WAAW,YAAY,EAAA;AAAvB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ;;AAE5B,IAAA,IAAI,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB,IAAA,QAAQ,CAAE,IAAY,EAAA;AACpB,QAAA,IAAI,IAAI,KAAK,cAAc,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;;AAG9D;;SCjBe,SAAS,GAAA;AACrB,IAAA,OAAO,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC;AAC5C;;ACFO,MAAO,sBAAsB,GAAG,OAAO,cAAc,KAAI;IAC9D,IAAG,EAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,MAAA,GAAA,MAAA,GAAA,QAAQ,CAAE,mBAAmB,CAAA,EAAC;AAChC,QAAA,cAAc,EAAE;QAChB;;;AAGF,IAAA,IAAI,QAAQ,CAAC,cAAc,EAAE;;AAE3B,QAAA,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ;;;AAIxC,IAAA,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC;AAC9C,CAAC;;MCCY,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;AAEU,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK;AACvB,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK;AACpB,QAAA,IAAQ,CAAA,QAAA,GAAG,EAAE;AACb,QAAA,IAAa,CAAA,aAAA,GAAY,IAAI;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAU,EAAE,CAAC;AAC1B,QAAA,IAAA,CAAA,WAAW,GAAU,EAAE,CAAC;AACxB,QAAA,IAAU,CAAA,UAAA,GAAQ,IAAI;AACtB,QAAA,IAAO,CAAA,OAAA,GAAW,CAAC;AAKnB,QAAA,IAAW,CAAA,WAAA,GAAY,IAAI;AAsBnC,QAAA,IAAuB,CAAA,uBAAA,GAAG,MAAK;;YAE7B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACvE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC9E,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC9E,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;AACzE,SAAC;AAED,QAAA,IAA0B,CAAA,0BAAA,GAAG,MAAK;YAChC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC5E,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC5E,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;AAC5E,SAAC;AAED,QAAA,IAAU,CAAA,UAAA,GAAG,YAAW;;AACtB,YAAA,IAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAK,CAAC;gBAAE;AAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC;AACnE,YAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;AACvD,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAMA,uCAA8B,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;gBACjF,IAAI,CAAC,UAAU,EAAE;AAEjB,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,IAAI,CAAC,cAAc,EAAE;;;AAIzB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;AAClB,SAAC;AAED,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;AACpB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,SAAS,CAAC;AACpE,YAAA,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;AAC9C,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AAC1B,SAAC;AAED,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,UAAU;AAC/D,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,aAAa,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,CAAC,IAAI,IAAI,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,MAAM,MAAK,IAAI,CAAC,UAAU,CAAC;;iBAClF;AACL,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW;;YAEvC,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,IAAG;;YACrB,IAAI,CAAC,0BAA0B,EAAE;YACjC,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,iCAAiC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAC/D,IAAI,IAAI,IAAI,CAAC,0CAA0C,CAAC,eAAe,KAAK,CAAC,CAC9E;YACD,MAAM,iBAAiB,GAAG,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,iCAAiC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CACrE,IAAI,IAAI,IAAI,CAAC,0CAA0C,CAAC,eAAe,KAAK,CAAC,CAC9E;;YAGD,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,cAAc,GAA2B;oBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0CAA0C,CAAC,MAAM,CAAC;AAChF,oBAAA,UAAU,EAAE,IAAI;iBACjB;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC;;YAG3C,IAAI,iBAAiB,EAAE;AACrB,gBAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,0CAA0C,CAAC,MAAM,CAAC,CAChF;;iBACI;AACL,gBAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;;YAE/B,IAAI,CAAC,oBAAoB,EAAE;YAE3B,sBAAsB,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACtB,IAAI,CAAC,OAAO,EAAE;;AAEd,gBAAA,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC;AAC/C,aAAC,CAAC;AACJ,SAAC;AAED,QAAA,IAAA,CAAA,UAAU,GAAG,OAAM,IAAI,KAAG;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,MAAMC,2BAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAK;gBAC7C,IAAI,CAAC,UAAU,EAAE;AACnB,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAsCD,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChB,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,iBAAiB,EAAE;AAC1B,SAAC;AA4CD,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;YACtB,IAAI,CAAC,0BAA0B,EAAE;AACjC,YAAA,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;YAE7B,sBAAsB,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACtB,IAAI,CAAC,OAAO,EAAE;AAChB,aAAC,CAAC;AACJ,SAAC;;AAGD,QAAA,IAAwB,CAAA,wBAAA,GAAG,YAAW;YACpC,IAAI,CAAC,0BAA0B,EAAE;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB;;YAGF,sBAAsB,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACtB,IAAI,CAAC,OAAO,EAAE;AAChB,aAAC,CAAC;AACJ,SAAC;AAED,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,IAAG;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;YAClC,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAA+B,CAAA,+BAAA,GAAG,MAAK;AACrC,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa;YACxC,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAoB,CAAA,oBAAA,GAAG,MAAK;AAC1B,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;YAC5B,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAK;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAe,CAAA,eAAA,GAAG,MAAK;AACrB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;YACxB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;;IA9PD,IAAI,CAAC,GAAY,EAAE,OAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;QAEtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC;;AAGlE,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,IAAI,KAAK,gBAAgB,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YACjD,IAAI,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,MAAM,MAAK,IAAI,CAAC,MAAM,EAAE;gBACnC,IAAI,CAAC,UAAU,EAAE;;iBACZ,IAAI,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,UAAU,MAAK,IAAI,CAAC,UAAU,EAAE;gBAClD,IAAI,CAAC,UAAU,EAAE;;AAEnB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;YAC3B,IAAI,CAAC,OAAO,EAAE;;;AA0GV,IAAA,MAAM,QAAQ,GAAA;;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE;QACd,MAAM,SAAS,GAAG,EAAE;QACpB,SAAS,CAAC,IAAI,CAAC;YACb,eAAe,EAAE,CAAC;AAClB,YAAA,MAAM,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;YACjD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;AAClD,SAAA,CAAC;QAEF,SAAS,CAAC,IAAI,CAAC;YACb,eAAe,EAAE,CAAC;AAClB,YAAA,MAAM,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;YACjD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;AAClD,SAAA,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;AAEpD,QAAA,IAAI;AACF,YAAA,MAAMC,iBAAQ,CACZ,SAAS,EAAE,EACX,UAAU,KAAA,IAAA,IAAV,UAAU,KAAA,MAAA,GAAA,MAAA,GAAV,UAAU,CAAE,MAAM,EAClBC,6CAAsB,EAAE,EACxB,IAAI,CAAC,QAAQ,EACb,UAAU,KAAV,IAAA,IAAA,UAAU,KAAV,MAAA,GAAA,MAAA,GAAA,UAAU,CAAE,UAAU,EACtB,SAAS,EACT,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,EACnC,CAAC,EACD,IAAI,CAAC,gBAAgB,CACtB;;QACD,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;;gBACV;YACR,IAAI,CAAC,OAAO,EAAE;;;IAUV,MAAM,yBAAyB,CAAC,IAAI,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;;QAEjD,MAAM,qBAAqB,GAAG,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,SAAS;QAC7C,MAAMC,mBAAU,CACd,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,UAAU,EAChB,SAAS,EAAE,EACX,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,MAAM,EACfD,6CAAsB,EAAE,EACxB,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,MAAA,GAAA,MAAA,GAAA,IAAI,CAAE,IAAI,EACV,qBAAqB,GAAG,CAAC,GAAG,CAAC,EAC7B,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,UAAU,EACnB,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,EACnC,MAAM,IAAI;aAET,IAAI,CAAC,YAAW;;YAEf,IAAI,CAAC,qBAAqB,EAAE;AAC1B,gBAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,SAAS,CAAC;gBAC3E,IAAI,kBAAkB,EAAE;oBACtB,MAAMC,mBAAU,CACd,kBAAkB,KAAA,IAAA,IAAlB,kBAAkB,KAAlB,MAAA,GAAA,MAAA,GAAA,kBAAkB,CAAE,UAAU,EAC9B,SAAS,EAAE,EACX,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,MAAM,EACfD,6CAAsB,EAAE,EACxB,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,KAAlB,MAAA,GAAA,MAAA,GAAA,kBAAkB,CAAE,IAAI,EACxB,CAAC,EACD,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,UAAU,EACnB,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,EACnC,MAAM,IAAI,CACX,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;;AAGpC,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AACA,aAAA,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;IAqDnC,MAAM,GAAA;;QACJ,QACEE,OAAA,CAAA,KAAA,EAAA,IAAA,EACEA,OAAA,CAAA,KAAA,EAAA;;YAEE,KAAK,EAAE,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EACjD,KAAK,EAAC;AAAwB,SAAA,EAE7B,IAAI,CAAC,UAAU,KACdA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAA,EAC3BA,OACE,CAAA,UAAA,EAAA,EAAA,KAAK,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,EAC5B,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAC,WAAW,EACjB,YAAY,EAAA,IAAA,EACZ,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,CACzB,CACR,CACP,CACG,EACNA,OACE,CAAA,YAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,SAAS,EAAE,MAAK;gBACd,IAAI,CAAC,QAAQ,EAAE;AACjB,aAAC,EACD,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,QAAQ,EAAC,aAAa,EACtB,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAC,oEAAoE,EAC5E,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAC1B,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAA,EAEtBA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAA,EACtDA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAA,EACpDA,OAAA,CAAA,YAAA,EAAA,EACE,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,WAAW,EAAC,WAAW,GACvB,CACE,EACNA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAA,EAC/BA,OAAA,CAAA,gBAAA,EAAA,EACE,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,+BAA+B,EAC9C,CAAA,CACE,CACF,CACK,EAEbA,OAAA,CAAA,gBAAA,EAAA,EACE,KAAK,EAAC,OAAO,EACb,IAAI,EAAE,IAAI,CAAC,eAAe,EAC1B,QAAQ,EAAC,OAAO,EAChB,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAC9C,uBAAuB,EAAC,aAAa,EACrC,4BAA4B,EAAE,IAAI,CAAC,eAAe,EAClD,sBAAsB,EAAE,KAAK,EAC7B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAA,EAEvBA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAA,EACnEA,OAAA,CAAA,YAAA,EAAA,EACE,IAAI,EAAC,6JAA6J,EAClK,YAAY,EAAC,SAAS,EACV,CAAA,EACb,IAAI,CAAC,UAAU,KACdA,wBAAY,IAAI,EAAC,yCAAyC,EAAA,CAAc,CACzE,EACDA,OACG,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,MAAA,IAAI,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,IAAG,CAAC,IAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAG;;AAC5B,YAAA,QACEA,2BACE,WAAW,EAAE,IAAI,CAAC,IAAI,EACtB,SAAS,EAAA,IAAA,EACT,eAAe,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAA,EAE/CA,OAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAC5D,IAAI,EAAC,aAAa,EAAA,EAEjB,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,UAAU,MAAK,IAAI,CAAC,UAAU,KAC9CA,sBAAU,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,QAAQ,EAAA,CAAY,CACtE,EAIA,IAAI,CAAC,wBAAwB,KAAK,CAAC,KAClCA,OAAA,CAAA,UAAA,EAAA,EAAU,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAA,CAAY,CACtE,CACG,EAENA,OAAK,CAAA,KAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EACjBA,OAAA,CAAA,iBAAA,EAAA,EACE,IAAI,EAAEC,yBAAe,CAAC,MAAM,CAAC,EAC7B,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,MAAM,EAC9C,OAAO,EACL,IAAI,CAAC,wBAAwB,KAAK;AAChC,sBAAE;sBACA,IAAI,CAAC;AACP,0BAAE;0BACA,iBAAiB,EAEvB,OAAO,EAAE,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EACnD,QAAQ,EAAE,IAAI,CAAC,wBAAwB,KAAK,CAAC,EAC7C,CAAA,EACFD,OACE,CAAA,iBAAA,EAAA,EAAA,IAAI,EAAEC,yBAAe,CAAC,UAAU,CAAC,EACjC,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,MAAM,EACd,OAAO,EACL,IAAI,CAAC,MAAM,KAAK,SAAS;AACvB,sBAAE;AACF,sBAAE,aAAa,EAEnB,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,EACrC,CAAA,CACE,CACQ;SAEnB,CAAC,KAEFD,OAAyB,CAAA,yBAAA,EAAA,EAAA,WAAW,EAAC,qBAAqB,GAAG,CAC9D,CACG,CACF,CACS,CACb;;AAGX;;MCjaY,sBAAsB,CAAA;AAGjC,IAAA,IAAI,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB,IAAA,QAAQ,CAAE,IAAY,EAAA;AACpB,QAAA,IAAI,IAAI,KAAK,wBAAwB,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;AAGpC;;MCZY,qBAAqB,CAAA;AAGhC,IAAA,IAAI,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB,IAAA,QAAQ,CAAE,IAAY,EAAA;AACpB,QAAA,IAAI,IAAI,KAAK,uBAAuB,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;;;AAGtC;;MCTY,WAAW,CAAA;AAAxB,IAAA,WAAA,GAAA;AAEU,QAAA,IAAW,CAAA,WAAA,GAAQ,EAAE;AACrB,QAAA,IAAgB,CAAA,gBAAA,GAAW,CAAC;AAE5B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAK5B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AA4BnC,QAAA,IAAqB,CAAA,qBAAA,GAAG,MAAK;;YAC3B,sBAAsB,CAAC,MAAK;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;AACvC,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM;gBACnC,IAAI,CAAC,OAAO,EAAE;AAEhB,aAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,MAAK,IAAI,CAAC,MAAM,EAAE;gBAClF,IAAI,CAAC,gBAAgB,EAAE;;AAE3B,SAAC;AAWD,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,IAAG;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAG;gBACnC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;AACvF,aAAC,CAAC;AACF,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,QAAa,KAAI;AACpC,YAAA,IAAG,IAAI,CAAC,qBAAqB,EAAC;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;;AAEzD,YAAA,KAAK,CAAC,CAAA,0BAAA,EAA6B,QAAQ,CAAA,CAAE,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;YAClC,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAS,CAAA,SAAA,GAAG,MAAK;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;;AAxED,IAAA,IAAI,CAAC,GAAY,EAAE,OAAmB,EAAE,MAAY,EAAA;AAClD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,CAAC,qBAAqB,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,QAAQ;QAE7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC;AACxD,QAAA,IAAI,SAAS,KAAK,YAAY,EAAE;AAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;;aACnF;AACL,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE;AACrC,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,oBAAoB,EAAE,IAAI;AAC1B,gBAAA,cAAc,EAAE;AACjB,aAAA,CAAC;;QAGJ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,CAAC;;AAG3E,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,IAAI,KAAK,mBAAmB,EAAE;YAChC,IAAI,CAAC,OAAO,EAAE;;;AAkBV,IAAA,MAAM,gBAAgB,GAAA;;AAC5B,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;AACvD,YAAA,MAAME,gCAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC;;QAC1E,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;;;IA8BtB,MAAM,GAAA;;AACJ,QAAA,QACEF,OACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,kBAAkB,EAAE,CAAoB,kBAAA,CAAA;aACzC,EACD,KAAK,EAAC,wBAAwB,EAAA,EAE7B,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI;YAC5BA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAA,EAC3BA,OAAA,CAAA,YAAA,EAAA,EACE,GAAG,EAAE,CAAC,EAA+B,KAAI;AACvC,oBAAA,IAAI,CAAC,YAAY,GAAG,EAAE,GAAI,EAA6B,GAAG,SAAS;iBACpE,EACD,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,SAAS,EACf,OAAO,EACLA,OAAA,CAAA,UAAA,EAAA,EACE,QAAQ,EAAC,aAAa,EACtB,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI,CAAC,UAAU,GAAG,gBAAgB,GAAG,cAAc;AAC9D,wBAAA,UAAU,EAAE,4BAA4B;qBACzC,EAAA,CACD,IAGH,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAW,SAAA,CAAA,CACzB,CACT;YAENA,OAAA,CAAA,UAAA,EAAA,EACE,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,MAAM,EAAE,IAAI,CAAC,YAAsC,EACnD,WAAW,EAAE,IAAI,CAAC,SAAS,EAAA,EAE1B,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAK,CAAC,IAC7BA,OAAe,CAAA,eAAA,EAAA,EAAA,KAAK,EAAE,sBAAsB,EAAI,CAAA,KAEhD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,KACzBA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,WAAW,EAAE,MAAK;oBAChB,MAAM,CAAC,OAAO,EAAE;AAChB,oBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACzB,iBAAC,EACD,CAAA,CACH,CAAC,CACH,CACQ;AACZ,SAAA,CACG;;AAGX;;SCjJe,kBAAkB,CAAC,GAAY,EAAE,QAAgB,EAAE,YAAoB,EAAA;;;IAErF,MAAM,MAAM,GAAa,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAa;IAC5D,IAAG,CAAC,MAAM,EAAC;AACT,QAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC;QACzD;;IAEF,IAAG,EAAC,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,CAAA,EAAC;QACzB,OAAO,CAAC,KAAK,CAAC,CAAqC,kCAAA,EAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,KAAK,CAAE,CAAA,CAAC;QACnE;;;IAGF,MAAM,mBAAmB,GAAQ,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC;;;AAInE,IAAA,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE;AACxE,QAAA,GAAG,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAC1E;;;AAIF,IAAA,IACE,CAAA,EAAA,GAAA,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,KAAnB,MAAA,GAAA,MAAA,GAAA,mBAAmB,CAAE,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CACnC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CACxE,EACD;AACA,QAAA,MAAM,WAAW,GAAG,mBAAmB,KAAA,IAAA,IAAnB,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnB,mBAAmB,CAAE,UAAU,CAAC,MAAM,CACxD,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CACxE;AACD,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,GAAG,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;YACpF;;aACK;YACL,MAAM,eAAe,mCAAQ,mBAAmB,CAAA,EAAA,EAAE,UAAU,EAAE,WAAW,GAAE;AAC3E,YAAA,GAAG,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;YACrF;;;;IAKJ,IAAI,CAAC,mBAAmB,EAAE;AACxB,QAAA,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QAChF;;IAEF,IAAI,mBAAmB,aAAnB,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnB,mBAAmB,CAAE,UAAU,EAAE;QACnC,MAAM,aAAa,GAAG,CAAC,GAAG,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,KAAnB,MAAA,GAAA,MAAA,GAAA,mBAAmB,CAAE,UAAU,EAAE,YAAY,CAAC;QACxE;AACG,aAAA,oBAAoB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;aAC7E,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QACpC;;IAEF,IAAI,mBAAmB,EAAE;QACvB;aACG,oBAAoB,CAAC,QAAQ,EAAE;AAC9B,YAAA,UAAU,EAAE,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,mBAAmB,CAAA,EAAI,YAAY,CAAC;AACtD,YAAA,QAAQ,EAAE,KAAK;SAChB;aACA,IAAI,CAAC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;QACpC;;AAEJ;;MClDa,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;AAoBE,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,IAAG;;AAC3B,YAAA,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,OAAO,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK;AACvC,YAAA,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,CAAC;YACtF,IAAI,WAAW,EAAE;gBACf,MAAM,kBAAkB,GAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBACpE,MAAM,kBAAkB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACnB,WAAW,CAAA,EAAA,EACd,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;wBACjD,IAAI,OAAO,GAAG,KAAK;;wBAGnB,IAAI,CAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,KAAI,CAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,MAAK,KAAK,EAAE;AAC5E,4BAAA,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAC1C,SAAS,IACP,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAC7E;;6BACI,IAAI,kBAAkB,EAAE;4BAC7B,OAAO;AACL,gCAAA,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;;AAGvF,wBAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CAAE,EAAA,EAAA,OAAO,EAAG,CAAA;qBAC5B,CAAC,GACH;;gBAGD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAC3C,KAAK,CAAC,KAAK,KAAK,KAAK,GAAG,kBAAkB,GAAG,KAAK,CACnD;gBACD,IAAI,CAAC,OAAO,EAAE;;AAElB,SAAC;;AAGD,QAAA,IAAwB,CAAA,wBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtD;;;YAIF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,IAAG;AAC3D,gBAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK;gBAC/B,MAAM,kBAAkB,GAAQ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC;;gBAGpE,IAAI,CAAC,kBAAkB,EAAE;AACvB,oBAAA,OAAO,WAAW;;;gBAIpB,MAAM,oBAAoB,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;oBAC/D,IAAI,OAAO,GAAG,KAAK;oBACnB,IAAI,CAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,UAAU,KAAI,CAAA,kBAAkB,KAAlB,IAAA,IAAA,kBAAkB,uBAAlB,kBAAkB,CAAE,QAAQ,MAAK,KAAK,EAAE;AAC5E,wBAAA,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAC1C,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACxF;;yBACI;wBACL,OAAO;AACL,4BAAA,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;;AAEvF,oBAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CAAE,EAAA,EAAA,OAAO,EAAG,CAAA;AAC7B,iBAAC,CAAC;AAEF,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,WAAW,CAAA,EAAA,EAAE,aAAa,EAAE,oBAAoB,EAAG,CAAA;AACjE,aAAC,CAAC;;AAGF,YAAA,IAAI,CAAC,WAAW,GAAG,iBAAiB;AACtC,SAAC;;AAGD,QAAA,IAAkB,CAAA,kBAAA,GAAG,YAAW;;AAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,MAAK,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,0CAAE,MAAM,CAAA,EAAE;AAC7D,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM;gBACvD,MAAM,wBAAwB,GAAG,MAAMG,sCAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACpF,gBAAA,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,CAAC,aAAa,IACrE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CACjC;gBAED,sBAAsB,CAAC,YAAW;AAChC,oBAAA,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,KAC5C,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CACR,EAAA,EAAA,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,KACxC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACT,EAAA,EAAA,OAAO,EAAE,KAAK,EAAA,CAAA,CACd,CAAC,EAAA,CAAA,CACH,CAAC;oBAEH,IAAI,CAAC,wBAAwB,EAAE;oBAE/B,IAAI,CAAC,mBAAmB,EAAE;oBAC1B,IAAI,CAAC,OAAO,EAAE;AAChB,iBAAC,CAAC;;AAEN,SAAC;AAED,QAAA,IAAmB,CAAA,mBAAA,GAAG,YAAW;;AAC/B,YAAA,MAAM,iBAAiB,GAAG;AACxB,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,kBAAkB,EAAE,EAAE;AACtB,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,qBAAqB,EAAE,CAAC;aACzB;YAED,MAAM,cAAc,GAIb,EAAE;AAET,YAAA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpC,IAAI,EAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,sBAAsB,CAAA;oBAAE;AAEpC,gBAAA,MAAM,eAAe,GAAG,MAAMC,kCAAyB,CACrDN,6CAAsB,EAAE,EACxB,KAAK,CAAC,sBAAsB,EAC5B,IAAI,CACL;gBAED,KAAK,MAAM,GAAG,IAAI,CAAA,EAAA,GAAA,KAAK,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE,EAAE;oBAC3C,IAAI,EAAC,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,MAAA,GAAA,MAAA,GAAA,GAAG,CAAE,gBAAgB,CAAA;wBAAE;AAE5B,oBAAA,cAAc,CAAC,IAAI,CACjB,CAAC,YAAW;;wBACV,MAAM,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACR,iBAAiB,CAAA,EAAA,EACpB,cAAc,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAA,CACvC;wBAED,MAAM,MAAM,GAAG,MAAMO,0BAAiB,CACpC,OAAO,EACP,CAAA,EAAA,GAAA,eAAe,KAAf,IAAA,IAAA,eAAe,KAAf,MAAA,GAAA,MAAA,GAAA,eAAe,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,EACnDC,2BAAa,CAAC,MAAM,CAAC,gBAAgB,EACrC,KAAK,CACN;wBAED,OAAO;4BACL,MAAM;4BACN,UAAU,EAAE,KAAK,CAAC,KAAK;4BACvB,QAAQ,EAAE,GAAG,CAAC,KAAK;yBACpB;qBACF,GAAG,CACL;;;;YAKL,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;;YAGjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAG;AAC9C,gBAAA,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,CAAC;gBAEtE,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAK,CAAA,EAAA,EACR,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;;AAC3C,wBAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,CAAC;AAC9D,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,GAAG,CACN,EAAA,EAAA,WAAW,EAAE,CAAA,EAAA,GAAA,MAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,MAAM,0CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,EACzC,CAAA;qBACH,CAAC,EACF,CAAA;AACJ,aAAC,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE;AAChB,SAAC;AAED,QAAA,IAAqB,CAAA,qBAAA,GAAG,IAAI,IAAG;AAC7B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,qCACxC,KAAK,CAAA,EAAA,EACR,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAG;oBAC9C,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;wBAC/B,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,KACT,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EACxB,CAAA;;AAEJ,oBAAA,OAAO,MAAM;AACf,iBAAC,CAAC,EACF,CAAA,CAAA,CAAC;YACH,IAAI,CAAC,OAAO,EAAE;AAEd,YAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvD,YAAA,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAC1E,SAAC;;IA7MD,IAAI,CAAC,GAAY,EAAE,OAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QAEtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC;;AAGtE,IAAA,QAAQ,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,IAAI,KAAK,YAAY,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE;;;IAqMlB,MAAM,GAAA;;QACJ,QACEN,OACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,kBAAkB,EAAE,CAAmB,iBAAA,CAAA;AACxC,aAAA,EAEA,EAAA,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,IAAG,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,eAAe,EAAEO,OAAK,KAAK;gBAC/CA,OAAK,GAAG,CAAC,KACPP,OAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,eAAe,EAAE,MAAM;AACvB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,SAAS,EAAE,KAAK;AACjB,qBAAA,EAAA,CACD,CACH;AACD,gBAAAA,OAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,OAAO,EAAE,MAAM;AACf,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,GAAG,EAAE,KAAK;AACX,qBAAA,EAAA,EAEA,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,KACvCA,OAAA,CAAA,UAAA,EAAA,EACE,KAAK,EAAE,CAAG,EAAA,MAAM,CAAC,KAAK,CAAA,CAAA,EACpB,MAAM,CAAC,WAAW,IAAI,IAAI,GAAG,CAAI,CAAA,EAAA,MAAM,CAAC,WAAW,CAAA,CAAA,CAAG,GAAG,EAC3D,CAAA,CAAE,EACF,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,QAAQ,GAAG,UAAU,EAC/C,SAAS,EACT,IAAA,EAAA,WAAW,EAAE,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EACrD,KAAK,EAAC,SAAS,EACf,CAAA,CACH,CAAC,CACE;aACP,CAAC,CACA;;AAGX;;AC3QD;;AAEG;MAEU,gBAAgB,CAAA;AAA7B,IAAA,WAAA,GAAA;AAeE,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;YACtB,sBAAsB,CAAC,MAAK;gBAC1B,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;gBACrD,IAAI,CAAC,MAAM,GAAG,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,MAAA,GAAA,MAAA,GAAA,WAAW,CAAE,MAAM;gBACjC,IAAI,CAAC,mBAAmB,GAAG,CAAA,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,mBAAmB,KAAI,EAAE;;AAEjE,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,OAAO,EAAE;;gBAEd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;AAC3D,aAAC,CAAC;AACJ,SAAC;AAED,QAAA,IAAa,CAAA,aAAA,GAAG,MAAK;AACnB,YAAA,MAAM,QAAQ,GAAGQ,8BAAkB,EAAE;YACrC,OAAO,CAAA,iBAAA,EAAoB,IAAI,CAAC,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,mBAAmB,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE;AAClF,SAAC;AAED,QAAA,IAAS,CAAA,SAAA,GAAG,MAAK;YACf,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YACrD,IACE,CAAA,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,MAAM,MAAK,IAAI,CAAC,MAAM;iBAClC,CAAA,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,mBAAmB,KAAI,CAAA,WAAW,aAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,mBAAmB,MAAK,IAAI,CAAC,mBAAmB,CAAC,EACnG;gBACA,IAAI,CAAC,gBAAgB,EAAE;;iBAClB;gBACL,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACtC,YAAY,CAAC,OAAO,CAClB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CACxD;;AAEL,SAAC;AAED,QAAA,IAAY,CAAA,YAAA,GAAG,YAAW;YACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;AAE3C,YAAA,UAAU,CACR,MACE,sBAAsB,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBACzB,IAAI,CAAC,OAAO,EAAE;AAChB,aAAC,CAAC,EACJ,CAAC,CACF;AACH,SAAC;AAED,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;YACpB,sBAAsB,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBACzB,IAAI,CAAC,OAAO,EAAE;AAChB,aAAC,CAAC;AACJ,SAAC;;IA5DD,IAAI,CAAC,GAAY,EAAE,OAAmB,EAAA;AACpC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QAEtB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC;;AA0DvE,IAAA,UAAU,CAAC,IAAU,EAAA;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;QAEhE,IAAI,OAAO,GAAG,EAAE;AAAE,YAAA,OAAO,CAAG,EAAA,OAAO,CAAU,OAAA,EAAA,OAAO,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACxC,IAAI,OAAO,GAAG,EAAE;AAAE,YAAA,OAAO,CAAG,EAAA,OAAO,CAAU,OAAA,EAAA,OAAO,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACtC,IAAI,KAAK,GAAG,EAAE;AAAE,YAAA,OAAO,CAAG,EAAA,KAAK,CAAQ,KAAA,EAAA,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACnC,QAAA,OAAO,CAAG,EAAA,IAAI,CAAO,IAAA,EAAA,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,MAAM;;IAGlD,MAAM,GAAA;;AACJ,QAAA,QACER,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,kBAAkB,EAAE,CAAA,kBAAA,CAAoB,EAAE,EACrD,EAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MACvBA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAA,EAC3BA,OAAA,CAAA,sBAAA,EAAA,EACE,OAAO,EAAE,CAA2B,wBAAA,EAAA,IAAI,CAAC,UAAU,CACjD,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAClC,CAAA,CAAA,CAAG,EAAA,EAEJA,OAAA,CAAA,UAAA,EAAA,EACE,SAAS,EAAE,QAAQ,EACnB,KAAK,EAAE,CAAA,aAAA,CAAe,EACtB,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,MAAM,EACZ,YAAY,EAAA,IAAA,EACZ,YAAY,EAAE,IAAI,CAAC,cAAc,EACjC,SAAS,QACT,OAAO,EAAE,IAAI,CAAC,YAAY,EAChB,CAAA,CACS,CACnB,CACP,CACG;;AAGX;;MCnHY,kBAAkB,CAAA;AAG7B,IAAA,IAAI,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB,IAAA,QAAQ,CAAE,IAAY,EAAA;AACpB,QAAA,IAAI,IAAI,KAAK,oBAAoB,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;;AAE/B,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;;;AAGtC;;MCdY,cAAc,CAAA;AAGzB,IAAA,IAAI,CAAC,IAAa,EAAE,QAAoB,EAAE,MAAY,EAAA;QACpD,IAAI,CAAC,cAAc,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,QAAQ;;AAGxC,IAAA,QAAQ,CAAE,IAAY,EAAA;;AACpB,QAAA,IAAI,IAAI,KAAK,gBAAgB,EAAE;YAC7B,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,CAAI;;;AAG5B;;MCZY,qBAAqB,CAAA;AAGhC,IAAA,IAAI,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;;AAGxB,IAAA,QAAQ,CAAE,IAAY,EAAA;AACpB,QAAA,IAAI,IAAI,KAAK,uBAAuB,EAAE;AACpC,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;;;AAGrC;;MCZY,SAAS,CAAA;AAIpB,IAAA,IAAI,CAAC,GAAY,EAAE,QAAoB,EAAE,MAAY,EAAA;QACnD,IAAI,CAAC,cAAc,GAAG,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,QAAQ;AACtC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;;AAGhB,IAAA,QAAQ,CAAE,IAAY,EAAA;;AACpB,QAAA,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;AACjD,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAG,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,UAAU,CAAC;;;AAGtE;;ACLM,MAAM,oBAAoB,GAAyD;AACxF,IAAA,YAAY,EAAE,YAAY;AAC1B,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,sBAAsB,EAAE,sBAAsB;AAC9C,IAAA,qBAAqB,EAAE,qBAAqB;AAC5C,IAAA,WAAW,EAAE,WAAW;AACxB,IAAA,UAAU,EAAE,UAAU;AACtB,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,kBAAkB,EAAE,kBAAkB;AACtC,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,qBAAqB,EAAE,qBAAqB;AAC5C,IAAA,SAAS,EAAE;CACZ;;ACzBM,MAAM,sBAAsB,GAAG,MAAM,IAAG;AAC7C,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC1B,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,EAAE;;;AAGX,IAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;IAClC,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,EAAE;;;AAGX,IAAA,OAAO,CAAG,EAAA,UAAU,CAAC,WAAW,EAAE,CAAI,CAAA,EAAA,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAC9E,CAAC,EACD,GAAG,CACJ,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAC1F,CAAC,EACD,GAAG,CACJ,CAAI,CAAA,EAAA,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACzD,CAAC;;AClBD,MAAM,aAAa,GAAG,o0CAAo0C;;ACwB11C,MAAM,OAAO,GAAGS,8BAAW,CAAC,UAAU,CAAC;AACrC,IAAA,mBAAmB,EAAE,CAAC;AACtB,IAAA,aAAa,EAAE,KAAK;;AAEpB,IAAA,8BAA8B,EAAE,wCAAwC;;AAExE,IAAA,WAAW,EAAE,SAAS;AACvB,CAAA,CAAC;MAOW,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUU,QAAA,IAAY,CAAA,YAAA,GAAiB,EAAE;AAE/B,QAAA,IAAa,CAAA,aAAA,GAAyB,EAAE;AAKvC,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC;AAMf,QAAA,IAAqB,CAAA,qBAAA,GAAmB,EAAE;AAO1C,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBAChD,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;gBACrD,MAAM,aAAa,GAAG,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,EACzB,eAAe,GAAG,aAAa,GAAG,GAAG,GAAG,eAAe,GAAG,aAAa,GAAG,GAC5E,CAAA,EAAA,CAAI;;AAER,SAAC;AAEO,QAAA,IAAoB,CAAA,oBAAA,GAAG,MAAK;AAClC,YAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;AAC9D,SAAC;AAEO,QAAA,IAAoB,CAAA,oBAAA,GAAG,MAAK;AAClC,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC;AACpB,SAAC;AAiFO,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAiB,KAAI;AAC1C,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG;YACpB,IAAI,CAAC,uBAAuB,EAAE;;AAG9B,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;iBAC/B,GAAG,CAAC,MAAM,IAAG;gBACZ,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9C,gBAAA,IAAI,CAAC,IAAI;AAAE,oBAAA,OAAO,IAAI;AAEtB,gBAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE;;AAE3B,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC;AAErE,gBAAA,OAAO,QAAQ;AACjB,aAAC;iBACA,MAAM,CAAC,CAAC,CAAC,KAAwB,CAAC,CAAC,CAAC,CAAC;;AAGxC,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC;oBACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;oBACzD,eAAe,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBACrD,gBAAgB,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;AACvD,oBAAA,eAAe,EAAE,gBAAM,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,CAAA,EAAA;AAC1E,oBAAA,aAAa,EAAE,gBAAM,OAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,UAAU,CAAA,EAAA;oBACtE,cAAc,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AACnD,oBAAA,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC;oBAC3D,eAAe,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBACrD,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;oBACzC,WAAW,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC7C,oBAAA,oBAAoB,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC;oBAC3E,YAAY,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AAC/C,oBAAA,yBAAyB,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;AAC/E,oBAAA,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;AACjE,oBAAA,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;oBACrE,2BAA2B,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE;AAC7E,oBAAA,2BAA2B,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC;AACrF,oBAAA,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC3D,oBAAA,6BAA6B,EAAE,QAAQ,IACrC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,QAAQ,CAAC;AACvD,iBAAA,CAAC;;;YAIJ,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,SAAC;AAoBO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,EAAgD,KAAI;YAC5E,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAG,EAAC,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,EAAA,GAAA,CAAC,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,EAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA,EAAA,CAAC;AAC1F,SAAC;AAEO,QAAA,IAAuB,CAAA,uBAAA,GAAG,MAAK;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAC/B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA,EAAA,EACxC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAA,CAAA,CACnB;AACJ,SAAC;AA8CF;IA1MC,iBAAiB,GAAA;AACf,QAAAC,iCAAc,CAAC,eAAe,CAAC,CAACC,uCAAmB,CAAC,CAAC;AAErD,QAAAC,kCAAc,CAAC,aAAa,CAC1B,gpBAAgpB,CACjpB;;IAGH,gBAAgB,GAAA;;QACd,MAAM,WAAW,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACf,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,GAAG,IAClB,IAAI,CAAC,WAAW,CAAA,EAAA,EACnB,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,YAAY,EAAE,cAAc;AAC5B,oBAAA,kBAAkB,EAAE;AAClB,wBAAA,iBAAiB,EAAE;4BACjB,IAAI,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;4BACnD,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA,EACD,mBAAmB,EAAE;AACnB,gBAAA,cAAc,EAAE;AACd,oBAAA,YAAY,EAAE,gBAAgB;AAC9B,oBAAA,eAAe,EAAE,gBAAgB;AACjC,oBAAA,cAAc,EAAE,sBAAsB;AACvC,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,YAAY,EAAE,SAAS;AACvB,oBAAA,eAAe,EAAE,SAAS;AAC1B,oBAAA,WAAW,EAAE,aAAa;AAC3B,iBAAA;aACF,EACD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,KAAK,EAAE,OAAO,EACd,UAAU,EAAA,MAAA,CAAA,MAAA,CAAA,EACR,eAAe,EAAEC,gCAAe,EAChC,gBAAgB,EAAEC,iCAAgB,EAClC,oBAAoB,EAAEC,qCAAoB,EAC1C,YAAY,EAAEC,6BAAY,EAC1B,cAAc,EAAEC,+BAAc,EAC3B,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,UAAU,CAEjC,EAAA,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACX,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,GAAG,EACb,wBAAwB,EAAE,IAAI,EAAA,EAC3B,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAAA,EAAA,EAClC,YAAY,EAAA,MAAA,CAAA,MAAA,CAAA,EACV,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3B,YAAY,EAAE,IAAI,EAClB,gBAAgB,EAAE,EAAE,EACjB,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,0CAAE,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,CAAA,EAAA,CAAA,EAAA,CAGrD;AAED,QAAAC,6BAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAgB,EAAE,WAAW,CAAC;AAE3E,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;;aACrC;YACL,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;;;IAIrD,oBAAoB,GAAA;;QAClB,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,EAAE;;IAqDzB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAA;AACpC,QAAA,IAAIC,wBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YAC5B;;QAEF,IAAI,CAAC,aAAa,EAAE;;IAGtB,aAAa,GAAA;;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,MAAM,OAAO,GAAGC,6CAAsB,CACpC,IAAI,CAAC,UAAU,EACf,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,IAAI,MAAK,gBAAgB,CAAC,CAClE;YACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC;;;IAkBrD,sBAAsB,GAAA;QACpB,IAAI,CAAC,uBAAuB,EAAE;;IAGhC,MAAM,GAAA;;AACJ,QAAA,MAAM,YAAY,GAAG,CAAW,QAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,KAAI,OAAO,EAAE;QAEvE,QACEpB,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,eAAe,GAAG,EAAiB,CAAC,EAAA,EAO7EA,OAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAc,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACdA,OAAiB,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACjBA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAc,CACV,CACO,EACfA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3BA,OAAA,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,CAAA,EACFA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,CAAY,UAAA,CAAA,EAAE,EAChE,EAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,IAAG,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,EAAE,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAC,CAChD,CACF,EACNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,EAAE,EAAC,WAAW,EACd,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,EAAiB,CAAC,EAC5C,KAAK,EAAE;AACL,gBAAA,kBAAkB,EAAE,CAAa,WAAA,CAAA;aAClC,EACI,CAAA,CACH;;;;;;;;;;;MC/QC,WAAW,GAAA,MAAA;;;;AACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEG;IACH,MAAM,GAAA;;;;QAIJ,QACEA,QAACqB,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHrB,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACH;;;;;ACrFb,MAAM,aAAa,GAAG,mzBAAmzB;;MCM5zB,UAAU,GAAA,MAAA;AADvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAKW,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAUpC,QAAA,IAAkB,CAAA,kBAAA,GAAG,MAAK;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;AACpC,SAAC;AAoKF;IA1KS,MAAM,CAAC,IAAY,EAAE,OAAa,EAAA;QACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;IAO3C,MAAM,GAAA;;;AAEJ,QAAA,MAAM,QAAQ,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAE,CAAA,IAAI,EAAE,CAAA;QAC3E,MAAM,gBAAgB,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,CAAA;QACxE,MAAM,mBAAmB,GAAG,CAAC,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,sBAAsB,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC;AACxF,QAAA,MAAM,gBAAgB,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,KAAI,CAAC,IAAI,CAAC;QAC9D,MAAM,mBAAmB,GAAG,QAAQ,IAAI,gBAAgB,IAAI,mBAAmB,IAAI,gBAAgB;;QAGnG,IAAI,CAAC,mBAAmB,EAAE;AACxB,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,YAAY,GAAG,CAAW,QAAA,EAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAO,KAAI,OAAO,EAAE;QACvE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACnF,QAAA,MAAM,mBAAmB,GAAG;YAC1B,wBAAwB;YACxB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,cAAc;SACf;AACD,QAAA,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,IAChE,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CACjC;QAED,QACEA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,CAAc,WAAA,EAAA,YAAY,CAAE,CAAA,EAAA,EACtCA,OAAA,CAAA,kBAAA,EAAA,EAAkB,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,EAAA,EAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,CACP,EACnBA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACjB,0BAA0B,KACzBA,OACE,CAAA,iBAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,iBAAiB,EAAE,IAAI;gBACvB,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3B,EACD,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,GAAG,EAAE,CAAC,EAAmC,KAAI;AAC3C,gBAAA,IAAI,CAAC,YAAY,GAAG,EAAE,GAAI,EAA6B,GAAG,SAAS;aACpE,EACD,IAAI,EAAEC,yBAAe,CAAC,UAAU,CAAC,EACjC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,SAAS,GACf,CACH,EACDD,OACE,CAAA,UAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,MAAM,EAAE,IAAI,CAAC,YAAsC,EACnD,WAAW,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAA,EAE3C,oBAAoB,CAAC,GAAG,CAAC,wBAAwB,CAAC,KACjDA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAC,qBAAqB,EAC3B,QAAQ,EAAC,YAAY,EACrB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAA,CACxD,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAChDA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAA,CACvD,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAChDA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAC,YAAY,EACrB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAA,CACvD,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAC7CA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAC,eAAe,EACrB,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAA,CACpD,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,KACvCA,OAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAC,YAAY,EAClB,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAA,CAC9C,CACH,CACQ,EAEV,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,KACzCA,OACE,CAAA,UAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,UAAU,EAClB,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,SAAS,EAAA,IAAA,EACT,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAChD,IAAI,EAAC,QAAQ,GACb,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,KACpCA,OACE,CAAA,UAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,UAAU,EAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAA,IAAA,EACT,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAC3C,IAAI,EAAC,QAAQ,GACb,CACH,EACA,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,KACzCA,OACE,CAAA,UAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,UAAU,EAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAA,IAAA,EACT,WAAW,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAChD,IAAI,EAAC,QAAQ,GACb,CACH,EAEDA,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,mBAAmB,EAAA,EAC3B,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,0CAAE,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAAC,MAAM,KACpDA,OACE,CAAA,UAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAClB,OAAO,EAAC,UAAU,EAClB,SAAS,EAAE,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAC3B,KAAK,EAAE,MAAM,KAAA,IAAA,IAAN,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,KAAK,EACpB,SAAS,EAAE,EAAC,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,MAAA,GAAA,MAAA,GAAA,MAAM,CAAE,QAAQ,CAAA,EAC5B,WAAW,EAAE,MAAM,CAAC,OAAO,EAC3B,IAAI,EAAC,QAAQ,EACH,CAAA,CACb,CAAC,CACE,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,gBAAgB,EACxB,EAAA,CAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,mBAAmB,0CAAE,KAAK,MAC5CA,OAAA,CAAA,YAAA,EAAA,EACE,OAAO,EAAC,WAAW,EACnB,aAAa,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EAC9D,KAAK,EAAC,WAAW,EACjB,QAAQ,EAAE,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,EAC1D,OAAO,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,EACxD,OAAO,EACL,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAQ,MAC9CA,sBACE,QAAQ,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAQ,EAC1D,KAAK,EAAC,SAAS,EAAA,CACf,CACH,EAAA,EAGF,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,mBAAmB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,CACnC,CACd,CACG,CACF,CACF;;;;;ACvLZ,MAAM,YAAY,GAAG,yOAAyO;;MCOjP,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAQW,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI;AAEjC,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,SAAC;AAsBF;IApBC,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EACxB,EAAA,IAAI,CAAC,QAAQ,KACZA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACEA,OAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,MAAM,EAAA,OAAG,IAAI,CAAC,IAAI,MAAqB,CAC7D,EACL,IAAI,CAAC,YAAY,KAChBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACpBA,OAAY,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAC/D,EAAA,IAAI,CAAC,YAAY,CACP,CACT,CACP,CACG,CACP,CACG;;;;;ACjCZ,MAAM,YAAY,GAAG,u4BAAu4B;;MCO/4B,SAAS,GAAA,MAAA;AALtB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAS2B,QAAA,IAAA,CAAA,IAAI,GAAY,KAAK,CAAC;AAUvC,QAAA,IAAO,CAAA,OAAA,GAAW,cAAc;AAChC,QAAA,IAAa,CAAA,aAAA,GAAW,oBAAoB;AAC5C,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK;AAChC,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK;AAChC,QAAA,IAAiB,CAAA,iBAAA,GAAY,IAAI;AAMjC,QAAA,IAAoB,CAAA,oBAAA,GAAW,EAAE;AAqBjC,QAAA,IAAmB,CAAA,mBAAA,GAAG,MAAK;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE;gBAC7D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;AAE1C,SAAC;AASO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;YAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC9C,IAAI,CAAC,WAAW,EAAE;;AAEtB,SAAC;AAEO,QAAA,IAAkB,CAAA,kBAAA,GAAG,MAAK;AAChC,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,WAAW,EAAE;;AAEtB,SAAC;AAqCF;AA9EC,IAAA,gBAAgB,CAAC,MAAe,EAAA;QAC9B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;YAExD,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;AACzC,aAAC,CAAC;;aACG;YACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB;YACxD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;AAC3D,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;;IAU3F,oBAAoB,GAAA;QAClB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC7C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB;;QAE1D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;;IAe7D,MAAM,GAAA;AACJ,QAAA,QACEA,QAACqB,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAA,EACpCrB,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EAAA,YAAA,EACF,MAAM,EAAA,iBAAA,EACA,IAAI,CAAC,OAAO,EAAA,kBAAA,EACX,IAAI,CAAC,aAAa,EACpC,OAAO,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe,EAAE,EAAA,EAE3CA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAA,EACxCA,OAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,KAAK,CAAoB,CAC1D,EAENA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAA,EAC/C,IAAI,CAAC,OAAO,IAAIA,OAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,MAAM,EAAE,EAAA,IAAI,CAAC,OAAO,CAAoB,EACnFA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EAENA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACxB,CAAC,IAAI,CAAC,eAAe,KACpBA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,OAAO,EAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAG,EAAA,IAAI,CAAC,QAAQ,CAAc,CACpH,EACA,CAAC,IAAI,CAAC,iBAAiB,KACtBA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,OAAO,EAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAG,EAAA,IAAI,CAAC,UAAU,CAAc,CAC1H,EACA,CAAC,IAAI,CAAC,eAAe,KACpBA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAY,OAAO,EAAC,WAAW,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAG,IAAI,CAAC,QAAQ,CAAc,CACnJ,CACG,CACF,CACD;;;;;;;;;AC7Gb,MAAM,WAAW,GAAG,i9BAAi9B;;MCOx9B,eAAe,GAAA,MAAA;AAL5B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAQmB,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK;AAC1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,KAAK;AAC5B,QAAA,IAAc,CAAA,cAAA,GAAG,KAAK;AACtB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK;AAKlC,QAAA,IAAqB,CAAA,qBAAA,GAAW,MAAM;AACtC,QAAA,IAAa,CAAA,aAAA,GAAsC,SAAS;AAC5D,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAClC;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAyB,QAAQ;AAcxC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAiC,KAAI;AAC1D,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAmB;;YAGlD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,OAAO,IAAG;;AACR,gBAAA,OAAA,CAAA,MAAA,OAAO,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,mBAAmB,CAAC;qBAChD,CAAA,EAAA,GAAA,OAAO,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;AAAA,aAAA,CACvD;;YAGD,IAAI,aAAa,EAAE;gBACjB;;AAGF,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;;AAGzB,SAAC;AAEO,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,KAAoB,KAAI;AAChD,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;gBAClE,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;AAE3B,SAAC;AA4DF;IA/FC,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC;AAC9E,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC;AAClF,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;AACrE,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC;;IAiC9E,MAAM,GAAA;QACJ,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB;QACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB;QAEzE,QACEA,QAACqB,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHrB,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI,CAAC,SAAS;AAC3B,gBAAA,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS;AAC9C,aAAA,EACD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,GAAG,SAAS,EAC3C,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE,EAAA,EAEhC,IAAI,CAAC,QAAQ,KACZA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3BA,OAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAA,CACrB,CACV,CACP,EACDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACxB,eAAe,KACdA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,cAAc,EAAA,EACvBA,OAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,MAAM,EAAE,EAAA,IAAI,CAAC,WAAW,CAAoB,CACjE,CACH,CACP,EACA,iBAAiB,KAChBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,gBAAgB,EAAA,EACzBA,OAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAkB,OAAO,EAAC,cAAc,EAAC,KAAK,EAAC,eAAe,EAC3D,EAAA,IAAI,CAAC,aAAa,CACF,CACd,CACH,CACP,CACG,EACL,IAAI,CAAC,iBAAiB,KACrBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAChCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC5B,CACP,EACA,IAAI,CAAC,cAAc,KAClBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,CACP,CACG,CACD;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ag-grid-base.ghost-render.grid-header.hint-panel.udp-dialog.udp-list-item.entry.cjs.js","sources":["src/components/grid/new-grid/gridFunctions/agGridExport.ts","src/udp-utilities/user/getUserId.ts","src/components/grid/new-grid/helperFunctions/guardedViewTransitions.ts","src/components/grid/new-grid/gridFunctions/savedViews.tsx","src/components/grid/new-grid/gridFunctions/agGridSizeColumnsToFit.ts","src/components/grid/new-grid/gridFunctions/agGridAutoSizeColumns.ts","src/components/grid/new-grid/gridFunctions/bulkActions.tsx","src/components/grid/new-grid/helperFunctions/toggleAgGridColumnFilter.ts","src/components/grid/new-grid/gridFunctions/chipFilter.tsx","src/components/grid/new-grid/gridFunctions/restoreGridState.tsx","src/components/grid/new-grid/gridFunctions/agGridResetColumns.ts","src/components/grid/new-grid/gridFunctions/advancedSearch.ts","src/components/grid/new-grid/gridFunctions/agGridHideShowColumns.ts","src/components/grid/new-grid/gridFunctions/udpExport.ts","src/components/grid/new-grid/gridFunctionRegistry.ts","src/components/grid/new-grid/helperFunctions/valueFormatters.ts","src/components/grid/new-grid/ag-grid-base.css?tag=ag-grid-base","src/components/grid/new-grid/ag-grid-base.tsx","src/components/util/ghost-render/ghost-render.tsx","src/components/grid/new-grid/grid-header.css?tag=grid-header","src/components/grid/new-grid/grid-header.tsx","src/components/data-display/hint-panel/hint-panel.css?tag=hint-panel&encapsulation=shadow","src/components/data-display/hint-panel/hint-panel.tsx","src/components/dialogs/udp-dialog.css?tag=udp-dialog&encapsulation=shadow","src/components/dialogs/udp-dialog.tsx","src/components/data-display/list-item/list-item.css?tag=udp-list-item&encapsulation=shadow","src/components/data-display/list-item/list-item.tsx"],"sourcesContent":["import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridExport implements GridFunction {\n private gridApi!: GridApi;\n\n constructor(private fileName = 'export.csv') {}\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridExport') {\n this.gridApi.exportDataAsCsv({ fileName: this.fileName });\n }\n }\n}\n","export function getUserId(): string | null | undefined{\n return sessionStorage.getItem('user-id');\n}\n","export const startGuardedTransition = async (updateCallback) => {\n if(!document?.startViewTransition){\n updateCallback()\n return;\n }\n // 1. Check if another transition is already running\n if (document.viewTransition) {\n // 2. If so, await its 'finished' promise\n await document.viewTransition.finished;\n }\n\n // 3. Now that the previous transition is done, start the new one\n document.startViewTransition(updateCallback);\n}\n","import { h } from '@stencil/core';\nimport { ApplyColumnStateParams, GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n getGridViewsWithConfigurations,\n deleteSelectedView,\n saveView,\n updateView,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { getUserId } from 'src/udp-utilities/user/getUserId';\nimport { getIconFromName } from '../../../data-display/icons/iconUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\n\nexport class SavedViews implements GridFunction {\n private api!: GridApi;\n private isSidesheetOpen = false;\n private isDialogOpen = false;\n private viewName = '';\n private viewIsPrivate: boolean = true;\n private filteredViews: any[] = []; //filtered based on entity name\n private allViewData: any[] = []; //all views for the grid id\n private activeView: any = null;\n private loading: number = 0;\n private gridId: string;\n private entityName: string;\n private refresh!: () => void;\n\n private initialLoad: boolean = true;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n //don't want to load before columns have loaded\n this.api.addEventListener('gridColumnsChanged', this.fetchViews);\n }\n\n onAction(name: string) {\n if (name === 'openSavedViews') {\n const context = this.api.getGridOption('context');\n if (context?.gridId !== this.gridId) {\n this.fetchViews();\n } else if (context?.entityName !== this.entityName) {\n this.filterData();\n }\n this.isSidesheetOpen = true;\n this.refresh();\n }\n }\n\n addStateChangeListeners = () => {\n //Listener used to remove the active view if\n this.api.addEventListener('columnVisible', this.handleManualColumnChange);\n this.api.addEventListener('columnPinned', this.handleManualColumnChange);\n this.api.addEventListener('columnMoved', this.handleManualColumnChange);\n this.api.addEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.addEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.addEventListener('columnsReset', this.handleManualColumnChange);\n this.api.addEventListener('filterChanged', this.handleManualColumnChange);\n this.api.addEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n removeStateChangeListeners = () => {\n this.api.removeEventListener('columnVisible', this.handleManualColumnChange);\n this.api.removeEventListener('columnPinned', this.handleManualColumnChange);\n this.api.removeEventListener('columnMoved', this.handleManualColumnChange);\n this.api.removeEventListener('columnPivotChanged', this.handleManualColumnChange);\n this.api.removeEventListener('gridColumnsChanged', this.handleManualColumnChange);\n this.api.removeEventListener('columnsReset', this.handleManualColumnChange);\n this.api.removeEventListener('filterChanged', this.handleManualColumnChange);\n this.api.removeEventListener('sortChanged', this.handleManualColumnChange);\n };\n\n fetchViews = async () => {\n if(this.api.getColumnDefs()?.length === 0) return;\n this.loading = 1;\n this.refresh();\n this.api.removeEventListener('gridColumnsChanged', this.fetchViews);\n this.gridId = this.api.getGridOption('context')?.gridId;\n if (this.gridId) {\n this.allViewData = await getGridViewsWithConfigurations(getUserId(), this.gridId);\n this.filterData();\n\n if (this.initialLoad) {\n this.setDefaultView();\n }\n }\n\n this.loading = 0;\n };\n\n setDefaultView = () => {\n const defaultView = this.filteredViews.find(view => view?.isDefault);\n defaultView && this.setActiveView(defaultView);\n this.initialLoad = false;\n };\n\n filterData = () => {\n this.entityName = this.api.getGridOption('context')?.entityName;\n if (this.entityName) {\n this.filteredViews = this.allViewData?.filter(view => view?.domain === this.entityName);\n } else {\n this.filteredViews = this.allViewData;\n }\n this.refresh();\n };\n\n setActiveView = data => {\n this.removeStateChangeListeners();\n const columnState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 1, //columns\n );\n const columnFilterState = data?.gridViewGridViewGridConfiguration?.find(\n item => item.gridViewGridConfigurationGridConfiguration.gridStateTypeId === 4, //filter\n );\n\n //apply column state\n if (columnState) {\n const columnStateObj: ApplyColumnStateParams = {\n state: JSON.parse(columnState.gridViewGridConfigurationGridConfiguration.values),\n applyOrder: true,\n };\n this.api.applyColumnState(columnStateObj);\n }\n\n if (columnFilterState) {\n this.api.setFilterModel(\n JSON.parse(columnFilterState.gridViewGridConfigurationGridConfiguration.values),\n );\n } else {\n this.api.setFilterModel(null);\n }\n this.handleSidesheetClose();\n\n startGuardedTransition(() => {\n this.activeView = data;\n this.refresh();\n //wait for 300ms so that it doesn't catch the actual view being added\n setTimeout(this.addStateChangeListeners, 300);\n });\n };\n\n deleteView = async data => {\n this.loading = 1;\n this.refresh();\n await deleteSelectedView(data.gridViewId, () => {\n this.fetchViews();\n });\n this.loading = 0;\n this.refresh();\n };\n\n private async postView() {\n this.loading = 1;\n this.refresh();\n const saveState = [];\n saveState.push({\n gridStateTypeId: 1, //column state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getColumnState()),\n });\n\n saveState.push({\n gridStateTypeId: 4, //column filter state\n gridId: this.api.getGridOption('context')?.gridId,\n values: JSON.stringify(this.api.getFilterModel()),\n });\n const udpContext = this.api.getGridOption('context');\n\n try {\n await saveView(\n getUserId(),\n udpContext?.gridId,\n getCurrentApiCatalogId(),\n this.viewName,\n udpContext?.entityName,\n saveState,\n this.viewIsPrivate === true ? 1 : 2,\n 0,\n this.postViewCallback,\n );\n } catch (err) {\n console.error(err);\n } finally {\n this.refresh();\n }\n }\n\n postViewCallback = () => {\n this.loading = 0;\n this.fetchViews();\n this.handleDialogClose();\n };\n\n private async updateViewMarkedAsPrimary(data) {\n this.loading = 1;\n this.refresh();\n const context = this.api.getGridOption('context');\n //update current view to primary\n const currentlySetToPrimary = data?.isDefault;\n await updateView(\n data?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n data?.name,\n currentlySetToPrimary ? 0 : 1,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n )\n .then(async () => {\n //find current set to primary if it exists and the initial click was not to remove primary status\n if (!currentlySetToPrimary) {\n const currentDefaultView = this.filteredViews.find(view => view?.isDefault);\n if (currentDefaultView) {\n await updateView(\n currentDefaultView?.gridViewId,\n getUserId(),\n context?.gridId,\n getCurrentApiCatalogId(),\n currentDefaultView?.name,\n 0,\n context?.entityName,\n this.viewIsPrivate === true ? 1 : 2,\n () => null,\n ).catch(err => console.log(err));\n }\n }\n await this.fetchViews();\n this.loading = 0;\n this.refresh();\n })\n .catch(err => console.log(err));\n }\n\n removeActiveView = () => {\n this.removeStateChangeListeners();\n this.api.resetColumnState();\n this.api.setFilterModel(null);\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n //If the user makes certain manual changed to columns, the active view should be removed\n handleManualColumnChange = async () => {\n this.removeStateChangeListeners();\n if (!this.activeView) {\n return;\n }\n\n startGuardedTransition(() => {\n this.activeView = null;\n this.refresh();\n });\n };\n\n handleNameChange = event => {\n this.viewName = event.target.value;\n this.refresh();\n };\n\n handleViewIsPrivateToggleChange = () => {\n this.viewIsPrivate = !this.viewIsPrivate;\n this.refresh();\n };\n\n handleSidesheetClose = () => {\n this.isSidesheetOpen = false;\n this.refresh();\n };\n\n handleDialogClose = () => {\n this.isDialogOpen = false;\n this.viewName = '';\n this.refresh();\n };\n\n handleOpenModal = () => {\n this.isDialogOpen = true;\n this.refresh();\n };\n\n render() {\n return (\n <div>\n <div\n //key={this.activeView ? 'has-view' : 'no-view'}\n style={{ viewTransitionName: `active-view-chip` }}\n class=\"grid-action-transition\"\n >\n {this.activeView && (\n <div style={{ margin: '4px' }}>\n <udp-chip\n label={this.activeView?.name}\n variant=\"filled\"\n color=\"secondary\"\n deleteButton\n onChipDelete={this.removeActiveView}\n ></udp-chip>\n </div>\n )}\n </div>\n <udp-dialog\n open={this.isDialogOpen}\n actionOne={() => {\n this.postView();\n }}\n actionTwo={this.handleDialogClose}\n handleClose={this.handleDialogClose}\n labelOne=\"Create View\"\n labelTwo=\"Cancel\"\n title={'Create a grid view'}\n message=\"The view will be created from the current column and filter state.\"\n disableOne={!this.viewName}\n progress={this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column' }}>\n <div style={{ marginBottom: '-4px', marginTop: '2em' }}>\n <text-field\n value={this.viewName}\n onInput={this.handleNameChange}\n placeholder=\"View name\"\n />\n </div>\n <div style={{ marginTop: '-4px' }}>\n <stencil-toggle\n label=\"Private\"\n checked={this.viewIsPrivate}\n onChange={this.handleViewIsPrivateToggleChange}\n />\n </div>\n </div>\n </udp-dialog>\n\n <udp-side-sheet\n title=\"Views\"\n open={this.isSidesheetOpen}\n position=\"right\"\n onUdpSideSheetClose={this.handleSidesheetClose}\n headerActionButtonLabel=\"Create View\"\n onUdpHeaderActionButtonClick={this.handleOpenModal}\n headerActionButtonIcon={'add'}\n loading={!!this.loading}\n >\n <div style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>\n <hint-panel\n hint=\"Quickly access and manage your pre-configured grid views. These views are designed to help you focus on specific sets of data and streamline your workflow.\"\n hideHintText=\"Dismiss\"\n ></hint-panel>\n {this.entityName && (\n <hint-panel hint=\"Note: Displaying entity specific views.\"></hint-panel>\n )}\n <div>\n {this.filteredViews?.length > 0 ? (\n this.filteredViews.map(item => {\n return (\n <udp-list-item\n primaryText={item.name}\n clickable\n onListItemClick={() => this.setActiveView(item)}\n >\n <div\n style={{ display: 'flex', flexDirection: 'row', gap: '4px' }}\n slot=\"status-chip\"\n >\n {this.activeView?.gridViewId === item.gridViewId && (\n <udp-chip label=\"Active\" color=\"success\" variant=\"filled\"></udp-chip>\n )}\n {/* {item.isDefault && (\n <udp-chip label=\"Primary\" color=\"info\" variant=\"outlined\"></udp-chip>\n )} */}\n {item.gridViewVisibilityTypeId === 1 && (\n <udp-chip label=\"Private\" color=\"gray\" variant=\"outlined\"></udp-chip>\n )}\n </div>\n\n <div slot=\"actions\">\n <udp-icon-button\n icon={getIconFromName('star')}\n size=\"small\"\n variant={item.isDefault ? 'contained' : 'text'}\n tooltip={\n item.gridViewVisibilityTypeId === 2\n ? 'Cannot mark public view as primary'\n : item.isDefault\n ? 'Remove as primary'\n : 'Mark as primary'\n }\n onClick={() => this.updateViewMarkedAsPrimary(item)}\n disabled={item.gridViewVisibilityTypeId === 2}\n />\n <udp-icon-button\n icon={getIconFromName('trashCan')}\n size=\"small\"\n variant=\"text\"\n tooltip={\n item.userId !== getUserId()\n ? 'Cannot delete public view with different owner'\n : 'Delete View'\n }\n onClick={() => this.deleteView(item)}\n disabled={item.userId !== getUserId()}\n />\n </div>\n </udp-list-item>\n );\n })\n ) : (\n <udp-empty-state-display primaryText=\"No Views to display\" />\n )}\n </div>\n </div>\n </udp-side-sheet>\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridSizeColumnsToFit implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridSizeColumnsToFit') {\n this.gridApi.sizeColumnsToFit();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridAutoSizeColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridAutoSizeColumns') {\n this.gridApi.autoSizeAllColumns();\n }\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { getAvailableGridActions } from 'src/udp-utilities/api-udp/apiUtils';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class BulkActions implements GridFunction {\n private api!: GridApi;\n private bulkActions: any = [];\n private selectedRowCount: number = 0;\n private selectedRows: any;\n private fetchedData: boolean = false;\n private refresh!: () => void;\n private gridId: string;\n\n private actionProviderCallback: (actionId, selectedRows) => void;\n private localFunctions: { label: string; callback: (selectedRows: any[]) => void }[];\n private isMenuOpen: boolean = false;\n private menuAnchorEl?: HTMLElement;\n\n init(api: GridApi, refresh: () => void, params?: any): void {\n this.api = api;\n this.refresh = refresh;\n this.actionProviderCallback = params?.actionProviderCallback;\n this.localFunctions = params?.localFunctions;\n\n const modelType = this.api.getGridOption('rowModelType');\n if (modelType === 'clientSide') {\n this.api.setGridOption('rowSelection', { mode: 'multiRow', enableClickSelection: true });\n } else {\n this.api.setGridOption('rowSelection', {\n mode: 'multiRow',\n enableClickSelection: true,\n headerCheckbox: false,\n });\n }\n\n this.api.addEventListener('selectionChanged', this.onRowSelectionChanged);\n }\n\n onAction(name: string) {\n if (name === 'executeBulkAction') {\n this.refresh();\n }\n }\n\n onRowSelectionChanged = () => {\n startGuardedTransition(() => {\n const rows = this.api.getSelectedRows();\n this.selectedRows = rows;\n this.selectedRowCount = rows.length;\n this.refresh();\n });\n\n if (!this.fetchedData || this.api.getGridOption('context')?.gridId !== this.gridId) {\n //refetch if grid Id has changed since last fetch\n this.fetchBulkActions();\n }\n };\n\n private async fetchBulkActions() {\n try {\n this.gridId = this.api.getGridOption('context')?.gridId;\n await getAvailableGridActions(this.gridId, false, [], this.setBulkActions);\n } catch (err) {\n console.error(err);\n }\n }\n\n setBulkActions = data => {\n const actionProviderActions = data.map(action => {\n return {\n label: action.name,\n onClick: () => this.executeActionProviderAction(action.actionId),\n };\n });\n\n const parsedLocalFunctions = this.localFunctions.map(func => {\n return { label: func.label, onClick: () => this.executeLocalFunction(func.label) };\n });\n\n this.bulkActions = [...actionProviderActions, ...parsedLocalFunctions];\n this.fetchedData = true;\n this.refresh();\n };\n\n executeLocalFunction = (functionName: string) => {\n const selectedFunction = this.localFunctions.find(f => f.label === functionName);\n if (selectedFunction) {\n selectedFunction.callback(this.selectedRows);\n }\n this.refresh();\n };\n\n executeActionProviderAction = (actionId: any) => {\n if (this.actionProviderCallback) {\n this.actionProviderCallback(actionId, this.selectedRows);\n }\n this.refresh();\n };\n\n toggleMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n this.refresh();\n };\n\n closeMenu = () => {\n this.isMenuOpen = false;\n this.refresh();\n };\n\n render() {\n return (\n <div\n style={{\n viewTransitionName: `bulk-action-button`,\n }}\n class=\"grid-action-transition\"\n >\n {this.selectedRowCount > 0 && [\n <div style={{ margin: '2px' }}>\n <udp-button\n ref={(el: HTMLUdpButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n onClick={this.toggleMenu}\n variant=\"outlined\"\n color=\"primary\"\n endIcon={\n <udp-icon\n iconName=\"chevronDown\"\n style={{\n transform: this.isMenuOpen ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease-in-out',\n }}\n />\n }\n >\n {`${this.selectedRowCount} Selected`}\n </udp-button>\n </div>,\n\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={this.closeMenu}\n >\n {this.bulkActions?.length === 0 ? (\n <udp-menu-item label={'No available actions'} />\n ) : (\n this.bulkActions.map(action => (\n <udp-menu-item\n label={action.label}\n onItemClick={() => {\n action.onClick();\n this.isMenuOpen = false;\n }}\n />\n ))\n )}\n </udp-menu>,\n ]}\n </div>\n );\n }\n}\n","import { AgColumn, GridApi } from 'ag-grid-enterprise-v33';\n\nexport function toggleColumnFilter(api: GridApi, columnId: string, agGridFilter: object) {\n //Validate column exists and column allows filtering\n const column: AgColumn = api.getColumn(columnId) as AgColumn;\n if(!column){\n console.error(\"Invalid column id provided for filtering\");\n return;\n }\n if(!column?.colDef?.filter){\n console.error(`Filtering not enabled for column: ${column?.colId}`);\n return;\n }\n //check if it already exists on columnId\n const currentColumnFilter: any = api.getColumnFilterModel(columnId);\n\n //--Removing filter--\n //if it exists on the column filter already and it is the only filter\n if (JSON.stringify(agGridFilter) === JSON.stringify(currentColumnFilter)) {\n api.setColumnFilterModel(columnId, null).then(() => api.onFilterChanged());\n return;\n }\n\n //if it is one of many existing filters on the column\n if (\n currentColumnFilter?.conditions?.some(\n condition => JSON.stringify(condition) === JSON.stringify(agGridFilter),\n )\n ) {\n const filteredOut = currentColumnFilter?.conditions.filter(\n condition => JSON.stringify(condition) !== JSON.stringify(agGridFilter),\n );\n if (filteredOut.length === 1) {\n api.setColumnFilterModel(columnId, filteredOut[0]).then(() => api.onFilterChanged());\n return;\n } else {\n const newColumnFilter = { ...currentColumnFilter, conditions: filteredOut };\n api.setColumnFilterModel(columnId, newColumnFilter).then(() => api.onFilterChanged());\n return;\n }\n }\n\n //--Adding filter--\n if (!currentColumnFilter) {\n api.setColumnFilterModel(column, agGridFilter).then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter?.conditions) {\n const newConditions = [...currentColumnFilter?.conditions, agGridFilter];\n api\n .setColumnFilterModel(columnId, { conditions: newConditions, operator: 'AND' })\n .then(() => api.onFilterChanged());\n return;\n }\n if (currentColumnFilter) {\n api\n .setColumnFilterModel(columnId, {\n conditions: [{ ...currentColumnFilter }, agGridFilter],\n operator: 'AND',\n })\n .then(() => api.onFilterChanged());\n return;\n }\n}\n","import { h } from '@stencil/core';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport {\n executeQueryAdHoc,\n getGridConfigurationsByGridId,\n getPromotedMethodEntities,\n} from 'src/udp-utilities/api-udp/apiUtils';\nimport { toggleColumnFilter } from '../helperFunctions/toggleAgGridColumnFilter';\nimport { ConfigService } from 'src/udp-utilities/api-config';\nimport { getCurrentApiCatalogId } from 'src/udp-utilities/catalog/getCurrentApiCatalogId';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\n\nexport class ChipFilter implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private filterChips!: any;\n private gridId: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getGridfilterChips);\n this.api.addEventListener('filterChanged', this.handleFilterChanged);\n }\n\n onAction(name: string) {\n if (name === 'chipFilter') {\n this.refresh();\n }\n }\n\n handleFilterChanged = data => {\n const colId = data?.columns?.[0]?.colId;\n const filterGroup = this.filterChips?.find(filterGroup => filterGroup.field === colId);\n if (filterGroup) {\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n const updatedFilterGroup = {\n ...filterGroup,\n filterObjects: filterGroup.filterObjects.map(obj => {\n let toggled = false;\n\n //must be AND operator for filter chips\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition =>\n JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else if (currentFilterModel) {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n\n return { ...obj, toggled };\n }),\n };\n\n // Replace the group in this.filterChips\n this.filterChips = this.filterChips.map(group =>\n group.field === colId ? updatedFilterGroup : group,\n );\n this.refresh();\n }\n };\n\n //When the chips initially load in, need to check if filters have already been applied (ex. default view)\n syncChipsWithGridFilters = () => {\n if (!this.filterChips || this.filterChips.length === 0) {\n return;\n }\n\n // Create a new array with the updated toggle states\n const syncedFilterChips = this.filterChips.map(filterGroup => {\n const colId = filterGroup.field;\n const currentFilterModel: any = this.api.getColumnFilterModel(colId);\n\n // If there's no active filter for this column, no changes are needed\n if (!currentFilterModel) {\n return filterGroup;\n }\n\n // Update the toggled state for each chip in this group\n const updatedFilterObjects = filterGroup.filterObjects.map(obj => {\n let toggled = false;\n if (currentFilterModel?.conditions && currentFilterModel?.operator === 'AND') {\n toggled = currentFilterModel.conditions.some(\n condition => JSON.stringify(condition) === JSON.stringify(obj.agGridFilterModel[colId]),\n );\n } else {\n toggled =\n JSON.stringify(currentFilterModel) === JSON.stringify(obj.agGridFilterModel[colId]);\n }\n return { ...obj, toggled };\n });\n\n return { ...filterGroup, filterObjects: updatedFilterObjects };\n });\n\n // Update the component's state with the synchronized chips\n this.filterChips = syncedFilterChips;\n };\n\n //fetches the configured filter chips from db\n getGridfilterChips = async () => {\n if (this.gridId !== this.api.getGridOption('context')?.gridId) {\n this.gridId = this.api.getGridOption('context')?.gridId;\n const filterChipConfigurations = await getGridConfigurationsByGridId(this.gridId, 7);\n const parsedConfigurations = filterChipConfigurations.map(configuration =>\n JSON.parse(configuration.values),\n );\n\n startGuardedTransition(async () => {\n this.filterChips = parsedConfigurations.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => ({\n ...option,\n toggled: false,\n })),\n }));\n\n this.syncChipsWithGridFilters();\n\n this.getFilterChipCounts();\n this.refresh();\n });\n }\n };\n\n getFilterChipCounts = async () => {\n const baseSearchPayload = {\n pageNumber: 1,\n pageSize: 1,\n filterElements: [],\n filterGroups: [],\n orderElements: [],\n groupingType: '',\n groupProperty: [],\n groupOperationList: [],\n eagerLoad: false,\n logicalSearchOperator: 1,\n };\n\n const searchPromises: Promise<{\n result: any;\n groupField: string;\n objLabel: string;\n }>[] = [];\n\n for (const group of this.filterChips) {\n if (!group?.udpDomainSanitizedName) continue;\n\n const promotedMethods = await getPromotedMethodEntities(\n getCurrentApiCatalogId(),\n group.udpDomainSanitizedName,\n true,\n );\n\n for (const obj of group.filterObjects ?? []) {\n if (!obj?.udpFilterElement) continue;\n\n searchPromises.push(\n (async () => {\n const payload = {\n ...baseSearchPayload,\n filterElements: [obj.udpFilterElement],\n };\n\n const result = await executeQueryAdHoc(\n payload,\n promotedMethods?.unityBaseSearchMethod?.apiMethodId,\n ConfigService.config.UNITY_API_DOMAIN,\n false,\n );\n\n return {\n result,\n groupField: group.field,\n objLabel: obj.label,\n };\n })(),\n );\n }\n }\n\n // Wait for all ad-hoc queries to finish\n const results = await Promise.all(searchPromises);\n\n // Update filterChips with result counts\n this.filterChips = this.filterChips.map(group => {\n const groupResults = results.filter(r => r.groupField === group.field);\n\n return {\n ...group,\n filterObjects: group.filterObjects.map(obj => {\n const match = groupResults.find(r => r.objLabel === obj.label);\n return {\n ...obj,\n resultCount: match?.result?.total ?? null,\n };\n }),\n };\n });\n\n this.refresh();\n };\n\n setSelectedFilterChip = data => {\n this.filterChips = this.filterChips.map(group => ({\n ...group,\n filterObjects: group.filterObjects.map(option => {\n if (option.label === data.label) {\n return {\n ...option,\n toggled: !option.toggled,\n };\n }\n return option;\n }),\n }));\n this.refresh();\n\n const columnId = Object.keys(data.agGridFilterModel)[0];\n toggleColumnFilter(this.api, columnId, data.agGridFilterModel[columnId]);\n };\n\n render() {\n return (\n <div\n class=\"grid-action-transition\"\n style={{\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '5px',\n viewTransitionName: `view-chip-filters`,\n }}\n >\n {this.filterChips?.length > 0 &&\n this.filterChips.map((filterChipGroup, index) => [\n index > 0 && (\n <div\n style={{\n width: '1px',\n backgroundColor: '#ddd',\n marginBottom: '5px',\n marginTop: '5px',\n }}\n />\n ),\n <div\n style={{\n padding: '4px',\n display: 'flex',\n flexWrap: 'nowrap',\n gap: '3px',\n }}\n >\n {filterChipGroup.filterObjects.map(option => (\n <udp-chip\n label={`${option.label} ${\n option.resultCount != null ? `(${option.resultCount})` : ''\n }`}\n variant={option.toggled ? 'filled' : 'outlined'}\n clickable\n onChipClick={() => this.setSelectedFilterChip(option)}\n color=\"primary\"\n />\n ))}\n </div>,\n ])}\n </div>\n );\n }\n}\n","import { h } from '@stencil/core';\nimport { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\nimport { startGuardedTransition } from '../helperFunctions/guardedViewTransitions';\nimport { getCurrentTenantId } from 'src/udp-utilities/tenant/tenantUtils';\n\n/*\n * This saves and allows a user to restore their grid state based on gridId\n */\n\nexport class RestoreGridState implements GridFunction {\n private api!: GridApi;\n private refresh!: () => void;\n private previousState!: any;\n\n private gridId!: string;\n private apiMethodInstanceId!: string;\n\n init(api: GridApi, refresh: () => void): void {\n this.api = api;\n this.refresh = refresh;\n\n this.api.addEventListener('firstDataRendered', this.getPreviousState);\n }\n\n getPreviousState = () => {\n startGuardedTransition(() => {\n this.api.removeEventListener('stateUpdated', this.saveState);\n const gridContext = this.api.getGridOption('context');\n this.gridId = gridContext?.gridId;\n this.apiMethodInstanceId = gridContext?.apiMethodInstanceId || '';\n //get the last saved state if it exists\n this.previousState = JSON.parse(localStorage.getItem(this.getStorageKey()));\n this.refresh();\n //add the watcher to track future state updates\n this.api.addEventListener('stateUpdated', this.saveState);\n });\n };\n\n getStorageKey = () => {\n const tenantId = getCurrentTenantId();\n return `saved-grid-state-${this.gridId}-${this.apiMethodInstanceId}-${tenantId}`;\n };\n\n saveState = () => {\n const gridContext = this.api.getGridOption('context');\n if (\n gridContext?.gridId !== this.gridId ||\n (gridContext?.apiMethodInstanceId && gridContext?.apiMethodInstanceId !== this.apiMethodInstanceId)\n ) {\n this.getPreviousState();\n } else {\n const savedState = this.api.getState();\n localStorage.setItem(\n this.getStorageKey(),\n JSON.stringify({ date: new Date(), state: savedState }),\n );\n }\n };\n\n restoreState = async () => {\n this.api.setState(this.previousState.state);\n //wrapping in setTimeout to avoid conflicts with the grid\n setTimeout(\n () =>\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n }),\n 0,\n );\n };\n\n dismissMessage = () => {\n startGuardedTransition(() => {\n this.previousState = null;\n this.refresh();\n });\n };\n\n getTimeAgo(date: Date): string {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1000);\n\n if (seconds < 60) return `${seconds} second${seconds !== 1 ? 's' : ''} ago`;\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return `${minutes} minute${minutes !== 1 ? 's' : ''} ago`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${hours} hour${hours !== 1 ? 's' : ''} ago`;\n const days = Math.floor(hours / 24);\n return `${days} day${days !== 1 ? 's' : ''} ago`;\n }\n\n render() {\n return (\n <div style={{ viewTransitionName: `restore-grid-state` }}>\n {this.previousState?.date && (\n <div style={{ margin: '4px' }}>\n <udp-ambient-tool-tip\n content={`Restore grid state from ${this.getTimeAgo(\n new Date(this.previousState.date),\n )}?`}\n >\n <udp-chip\n startIcon={'rotate'}\n label={`Restore state`}\n variant=\"outlined\"\n color=\"gray\"\n deleteButton\n onChipDelete={this.dismissMessage}\n clickable\n onClick={this.restoreState}\n ></udp-chip>\n </udp-ambient-tool-tip>\n </div>\n )}\n </div>\n );\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi } from 'ag-grid-enterprise-v33';\n\nexport class AgGridResetColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridResetColumns') {\n this.gridApi.resetColumnState();\n //reset all column filters\n this.gridApi.setFilterModel(null);\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class AdvancedSearch implements GridFunction {\n private onOpenCallback: () => void;\n\n init(_api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n }\n\n onAction?(name: string) {\n if (name === 'advancedSearch') {\n this.onOpenCallback?.();\n }\n }\n}\n","import { GridFunction } from '../interfaces/gridFunction';\nimport { GridApi} from 'ag-grid-enterprise-v33';\n\nexport class AgGridHideShowColumns implements GridFunction {\n private gridApi!: GridApi;\n\n init(gridApi: GridApi) {\n this.gridApi = gridApi;\n }\n\n onAction?(name: string) {\n if (name === 'agGridHideShowColumns') {\n this.gridApi.showColumnChooser()\n }\n }\n}\n","import { GridApi } from 'ag-grid-community-v33';\nimport { GridFunction } from '../interfaces/gridFunction';\n\nexport class UdpExport implements GridFunction {\n private onOpenCallback: (searchObject, entity) => void;\n private api: GridApi;\n\n init(api: GridApi, _refresh: () => void, params?: any) {\n this.onOpenCallback = params?.callback;\n this.api = api;\n }\n\n onAction?(name: string) {\n if (name === 'udpExport') {\n const context = this.api.getGridOption('context');\n this.onOpenCallback?.(context?.searchObject, context?.entityName);\n }\n }\n}\n","import { GridFunction } from './interfaces/gridFunction';\nimport { AgGridExport } from './gridFunctions/agGridExport';\nimport { SavedViews } from './gridFunctions/savedViews';\nimport { AgGridSizeColumnsToFit } from './gridFunctions/agGridSizeColumnsToFit';\nimport { AgGridAutoSizeColumns } from './gridFunctions/agGridAutoSizeColumns';\nimport { BulkActions } from './gridFunctions/bulkActions';\nimport { ChipFilter } from './gridFunctions/chipFilter';\nimport { RestoreGridState } from './gridFunctions/restoreGridState';\nimport { AgGridResetColumns } from './gridFunctions/agGridResetColumns';\nimport { AdvancedSearch } from './gridFunctions/advancedSearch';\nimport { AgGridHideShowColumns } from './gridFunctions/agGridHideShowColumns';\nimport { UdpExport } from './gridFunctions/udpExport';\n\nexport const gridFunctionRegistry: Record<string, new (...args: any[]) => GridFunction> = {\n agGridExport: AgGridExport,\n openSavedViews: SavedViews,\n agGridSizeColumnsToFit: AgGridSizeColumnsToFit,\n agGridAutoSizeColumns: AgGridAutoSizeColumns,\n bulkActions: BulkActions,\n chipFilter: ChipFilter,\n restoreGridState: RestoreGridState,\n agGridResetColumns: AgGridResetColumns,\n advancedSearch: AdvancedSearch,\n agGridHideShowColumns: AgGridHideShowColumns,\n udpExport: UdpExport\n};\n\nexport type GridFunctionName = keyof typeof gridFunctionRegistry;\n\n","export const dateTimeValueFormatter = params => {\n const value = params.value;\n if (value == null) {\n return '';\n }\n // First, parse the string into a Date object\n const dateObject = new Date(value);\n if (!dateObject) {\n return '';\n }\n // Now format the Date object into the desired \"YYYY-MM-DD HH:mm:ss\" string\n return `${dateObject.getFullYear()}-${String(dateObject.getMonth() + 1).padStart(\n 2,\n '0',\n )}-${String(dateObject.getDate()).padStart(2, '0')} ${String(dateObject.getHours()).padStart(\n 2,\n '0',\n )}:${String(dateObject.getMinutes()).padStart(2, '0')}`;\n};\n","/*\n Define color variables for the action bar theme.\n These should align with the grid-header styles for a cohesive look.\n*/\n:root {\n --udp-grid-base-header-bg: #EBECEF;\n --udp-grid-base-header-text: #000;\n --udp-grid-action-divider-color: rgba(0, 0, 0, 0.3);\n --udp-grid-action-bar-border-color: rgb(202, 197, 197);\n}\n\n/*\n 'dark' variant\n*/\n.variant-dark {\n --udp-grid-base-header-bg: var(--primary-color-dark);\n --udp-grid-action-bar-bg: #F8F9FA;\n --udp-grid-column-header-bg: #F8F9FA;\n --udp-grid-column-header-bg-hover: #dce6f2;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n/*\n 'light' variant\n*/\n.variant-light {\n --udp-grid-base-header-bg: #d8dfe6;\n --udp-grid-action-bar-bg: #f4f6f8;\n --udp-grid-column-header-bg: #f2f4f5;\n --udp-grid-column-header-bg-hover: #eef3f9;\n --udp-grid-column-header-text: var(--primary-color-dark);\n --udp-grid-action-bar-text-color: var(--primary-color-dark);\n --udp-grid-action-bar-border-color: rgba(0, 0, 0, 0.1);\n}\n\n::view-transition-group(*){\n animation-duration: 0.2s;\n}\n\n.grid-base-header {\n background-color: var(--udp-grid-base-header-bg);\n color: var(--udp-grid-base-header-text);\n}\n\n/*\n The action bar container, which holds the filter chips and other dynamic elements.\n*/\n.action-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n /* gap: 0.5rem; */\n /* Spacing between chips */\n flex-wrap: wrap;\n /* Allow chips to wrap to the next line if needed */\n background-color: var(--udp-grid-action-bar-bg);\n color: var(--udp-grid-action-bar-text-color);\n padding: 0px 8px 0px 12px;\n border-bottom: 1px solid var(--udp-grid-action-bar-border-color);\n}\n\n.grid-wrapper {\n display: flex;\n flex-direction: column;\n /* Make the wrapper fill the height of its parent container */\n height: 100%;\n}\n\n#myNewGrid {\n /* This is the key: it tells the grid to grow and fill all remaining space */\n flex: 1;\n}\n","import { Component, h, Element, Prop, EventEmitter, Event, State, Watch } from '@stencil/core';\nimport {\n createGrid,\n GridOptions,\n ModuleRegistry,\n themeQuartz,\n GridApi,\n GridReadyEvent,\n ColDef,\n} from 'ag-grid-community-v33';\nimport { HeaderConfig, GridApiMethods } from './interfaces/grid';\nimport { AllEnterpriseModule, LicenseManager } from 'ag-grid-enterprise-v33';\nimport { gridFunctionRegistry } from './gridFunctionRegistry';\nimport { GridFunction } from './interfaces/gridFunction';\nimport ActionsRenderer from '../renderers/actions-renderer';\nimport CurrencyRenderer from '../renderers/currency-renderer';\nimport DateTimeCellRenderer from '../renderers/date-time-cell-renderer';\nimport IconRenderer from '../renderers/icon-renderer';\nimport StatusRenderer from '../renderers/status-renderer';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\nimport { configureUdpColumnMods } from './helperFunctions/configureUdpColumnMods';\nimport { dateTimeValueFormatter } from './helperFunctions/valueFormatters';\nimport isEqual from 'lodash/isEqual';\n\nconst myTheme = themeQuartz.withParams({\n wrapperBorderRadius: 0,\n wrapperBorder: false,\n //headerBackgroundColor: 'var(--udp-grid-column-header-bg)',\n headerCellHoverBackgroundColor: 'var(--udp-grid-column-header-bg-hover)',\n //headerTextColor: 'var(--udp-grid-column-header-text)',\n borderColor: '#E9ECEF',\n});\n\n@Component({\n tag: 'ag-grid-base',\n shadow: false,\n styleUrl: 'ag-grid-base.css',\n})\nexport class AgGridBase {\n @Element() el!: HTMLElement;\n\n @Prop() columnDefs: Array<ColDef>;\n @Prop() gridOptions!: GridOptions;\n @Prop() headerConfig: HeaderConfig = {};\n @Prop() gridHeight: string;\n @Prop() gridFunctions: GridFunctionConfig[] = [];\n @Prop() gridId: string;\n @Prop() entityName: string;\n @Prop() gridApiCallback?: (api: GridApiMethods) => void;\n\n @State() refreshKey = 0;\n\n @Event() gridReady!: EventEmitter<GridApi>;\n\n private gridApi!: GridApi;\n\n private gridFunctionInstances: GridFunction[] = [];\n\n private gridEl: HTMLElement;\n private gridContainerEl: HTMLElement;\n private resizeDebounce: any;\n private resizeObserver: ResizeObserver;\n\n private updateGridHeight = () => {\n if (this.gridEl) {\n const rect = this.gridEl.getBoundingClientRect();\n const availableHeight = window.innerHeight - rect.top;\n const BOTTOM_BUFFER = 10;\n this.gridEl.style.height = `${\n availableHeight - BOTTOM_BUFFER > 400 ? availableHeight - BOTTOM_BUFFER : 400\n }px`;\n }\n };\n\n private scheduleHeightUpdate = () => {\n clearTimeout(this.resizeDebounce);\n this.resizeDebounce = setTimeout(this.updateGridHeight, 100);\n };\n\n private refreshGridFunctions = () => {\n this.refreshKey++; // flip a dummy state so Stencil re-invokes render()\n };\n\n componentWillLoad() {\n ModuleRegistry.registerModules([AllEnterpriseModule]);\n\n LicenseManager.setLicenseKey(\n 'Using_this_{AG_Grid}_Enterprise_key_{AG-080613}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Univerus_Software_Inc}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{MAIS_eRec}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{MAIS_eRec}_need_to_be_licensed___{MAIS_eRec}_has_not_been_granted_a_Deployment_License_Add-on___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{28_June_2026}____[v3]_[01]_MTc4MjYwMTIwMDAwMA==5c7d1487ecb13b28e75415d34b7cf694',\n );\n }\n\n componentDidLoad() {\n const gridOptions: GridOptions = {\n tooltipShowMode: 'whenTruncated',\n tooltipShowDelay: 500,\n ...this.gridOptions,\n columnTypes: {\n booleanChip: {\n cellRenderer: 'iconRenderer',\n cellRendererParams: {\n iconMappingConfig: {\n true: { iconName: 'checkMark24', color: 'success' },\n false: { iconName: 'close24', color: 'error' },\n },\n },\n },\n },\n dataTypeDefinitions: {\n dateTimeString: {\n baseDataType: 'dateTimeString',\n extendsDataType: 'dateTimeString',\n valueFormatter: dateTimeValueFormatter,\n },\n boolean: {\n baseDataType: 'boolean',\n extendsDataType: 'boolean',\n columnTypes: 'booleanChip',\n },\n },\n gridId: this.gridId,\n onGridReady: this.onGridReady,\n theme: myTheme,\n components: {\n actionsRenderer: ActionsRenderer,\n currencyRenderer: CurrencyRenderer,\n dateTimeCellRenderer: DateTimeCellRenderer,\n iconRenderer: IconRenderer,\n statusRenderer: StatusRenderer,\n ...this.gridOptions?.components,\n },\n domLayout: 'normal',\n defaultColDef: {\n sortable: true,\n filter: true,\n flex: 1,\n minWidth: 150,\n suppressHeaderMenuButton: true,\n ...this.gridOptions?.defaultColDef,\n filterParams: {\n buttons: ['reset', 'apply'],\n closeOnApply: true,\n maxNumConditions: 10,\n ...this.gridOptions?.defaultColDef?.filterParams,\n },\n },\n };\n\n createGrid(this.el.querySelector('#myNewGrid') as HTMLElement, gridOptions);\n\n if (this.gridHeight) {\n this.gridEl.style.height = this.gridHeight;\n } else {\n this.updateGridHeight();\n this.resizeObserver = new ResizeObserver(this.scheduleHeightUpdate);\n this.resizeObserver.observe(this.gridContainerEl);\n }\n }\n\n disconnectedCallback() {\n this.gridApi?.destroy();\n }\n\n private onGridReady = (e: GridReadyEvent) => {\n this.gridApi = e.api;\n this.updateGridContextValues();\n\n //create grid plugin function objects from the gridFunction.ts registry\n this.gridFunctionInstances = this.gridFunctions\n .map(config => {\n const Ctor = gridFunctionRegistry[config.name];\n if (!Ctor) return null;\n\n const instance = new Ctor();\n // Pass the callback from the config object\n instance.init(this.gridApi, this.refreshGridFunctions, config.params);\n\n return instance;\n })\n .filter((f): f is GridFunction => !!f);\n\n //set api methods\n if (this.gridApiCallback) {\n this.gridApiCallback({\n refreshServerSide: () => this.gridApi.refreshServerSide(), //Refreshes server side datasource\n getSelectedRows: () => this.gridApi.getSelectedRows(), //gets all selected row data\n getSelectedNodes: () => this.gridApi.getSelectedNodes(), //gets all selected row nodes\n getSearchObject: () => this.gridApi.getGridOption('context')?.searchObject, //gets current full search object\n getEntityName: () => this.gridApi.getGridOption('context')?.entityName, //gets entity name\n getRowCount: () => this.gridApi.getGridOption('context')?.rowCount, //gets entity name\n getFilterModel: () => this.gridApi.getFilterModel(),\n setFilterModel: model => this.gridApi.setFilterModel(model),\n onFilterChanged: () => this.gridApi.onFilterChanged(),\n expandAll: () => this.gridApi.expandAll(),\n collapseAll: () => this.gridApi.collapseAll(),\n toggleLoadingOverlay: value => this.gridApi.setGridOption('loading', value),\n refreshCells: () => this.gridApi.refreshCells(),\n refreshClientSideRowModel: type => this.gridApi.refreshClientSideRowModel(type),\n selectAll: (mode, source) => this.gridApi.selectAll(mode, source),\n deselectAll: (mode, source) => this.gridApi.deselectAll(mode, source),\n getServerSideSelectionState: () => this.gridApi.getServerSideSelectionState(),\n setServerSideSelectionState: state => this.gridApi.setServerSideSelectionState(state),\n forEachNode: callback => this.gridApi.forEachNode(callback),\n forEachNodeAfterFilterAndSort: callback =>\n this.gridApi.forEachNodeAfterFilterAndSort(callback),\n });\n }\n\n //set column defs\n this.setColumnDefs();\n this.gridReady.emit(this.gridApi);\n };\n\n @Watch('columnDefs')\n handleUpdateColumnDefs(newVal, prevVal) {\n if (isEqual(newVal, prevVal)) {\n return;\n }\n this.setColumnDefs();\n }\n\n setColumnDefs() {\n if (this.columnDefs && this.gridApi) {\n const newDefs = configureUdpColumnMods(\n this.columnDefs,\n this.gridFunctions?.some(func => func?.name === 'advancedSearch'), //disabled column filtering if advanced search is on\n );\n this.gridApi.setGridOption('columnDefs', newDefs);\n }\n }\n\n private onHeaderAction = (ev: CustomEvent<{ name: string; payload?: any }>) => {\n this.gridFunctionInstances.forEach(f => f.onAction?.(ev.detail.name, ev.detail.payload));\n };\n\n private updateGridContextValues = () => {\n this.gridApi.setGridOption('context', {\n ...this.gridApi.getGridOption('context'),\n entityName: this.entityName,\n gridId: this.gridId,\n });\n };\n\n @Watch('entityName')\n @Watch('gridId')\n handleEntityNameChange() {\n this.updateGridContextValues();\n }\n\n render() {\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n\n return (\n <div class={variantClass} ref={el => (this.gridContainerEl = el as HTMLElement)}>\n {/*\n @workaround(Compiler Hint)\n @reason The <udp-dialog> and <udp-list-item> is rendered dynamically by a grid function.\n They are ghost-rendered here to prevent it from being tree-shaken out of\n the production build. See <ghost-render> for more details.\n */}\n <ghost-render>\n <div>\n <udp-dialog />\n <udp-list-item />\n <hint-panel />\n <udp-side-sheet />\n </div>\n </ghost-render>\n <div class=\"grid-base-header\">\n <grid-header\n headerConfig={this.headerConfig}\n gridFunctions={this.gridFunctions}\n onHeaderAction={this.onHeaderAction}\n />\n <div class=\"action-bar\" style={{ viewTransitionName: `action-bar` }}>\n {this.gridFunctionInstances.map(fn => fn.render?.())}\n </div>\n </div>\n <div\n id=\"myNewGrid\"\n ref={el => (this.gridEl = el as HTMLElement)}\n style={{\n viewTransitionName: `my-new-grid`,\n }}\n ></div>\n </div>\n );\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'ghost-render',\n styles: `\n :host {\n display: none;\n }\n `,\n shadow: true,\n})\nexport class GhostRender {\n /**\n * @component GhostRender\n * @description A utility component for forcing the inclusion of dynamically rendered\n * components in a production build.\n *\n * @usage\n * This component should be used **extremely sparingly** and only as a last resort.\n * It serves as a workaround for a specific issue where Stencil's static compiler\n * and a downstream bundler (like Vite/Rollup) cannot detect a component's usage\n * because it is rendered dynamically.\n *\n * ---\n *\n * ### The Problem It Solves\n *\n * In our architecture, some components (like `ag-grid-base`) dynamically render other\n * components based on logic that is not visible at build time. For example, a class\n * might have a `render()` method that returns JSX, and this class is only instantiated\n * and used at runtime.\n *\n * Stencil's build process relies on static analysis of JSX to build a dependency graph.\n * It scans the `render()` method of a parent component to see which child component\n * tags (e.g., `<udp-dialog />`) are used. If a tag is not physically present in the\n * parent's JSX, the dependency is not registered.\n *\n * In a production build, the final bundler (Vite/Rollup) performs aggressive\n * tree-shaking. If it sees a component file that is not part of the static dependency\n * graph, it considers it \"dead code\" and removes it to optimize the bundle size.\n *\n * The code that registers the component with the browser (`customElements.define(...)`)\n * is inside that removed file, so it never runs, and the component fails to load in the\n * final application. This issue does not appear in Vite's dev server, which has minimal\n * tree-shaking.\n *\n * ### How This Component Works\n *\n * By wrapping the dynamically used component inside `<ghost-render>` in the parent's\n * JSX, we make the component tag visible to Stencil's static analyzer. The compiler\n * now correctly includes the child in the parent's dependency graph. The bundler then\n * sees this dependency and preserves the component in the final build.\n *\n * The `<ghost-render>` component itself is styled with `display: none;`, ensuring that\n * neither it nor its slotted children are ever rendered to the DOM, having no visual\n * impact.\n *\n * ### Example\n *\n * ```tsx\n * // In the parent component that dynamically loads <udp-dialog>\n * render() {\n * return (\n * <div>\n * <ghost-render>\n * <udp-dialog />\n * </ghost-render>\n *\n * { // ... logic that dynamically renders the dialog ... }\n * </div>\n * );\n * }\n * ```\n *\n * The preferred long-term solution is always to refactor dynamic features into\n * proper, statically rendered Stencil components. This is a workaround for when that\n * is not immediately feasible.\n */\n render() {\n // The <slot /> is necessary to prevent the Stencil compiler from\n // overly optimizing this component's output and aliasing the\n // defineCustomElement export, which breaks downstream wrappers.\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n\n",".header-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--spacing-03) var(--spacing-03) var(--spacing-03) var(--spacing-05);\n font-family: 'Segoe UI', Tahoma, sans-serif;\n\n color: var(--grid-header-text);\n min-height: 42px;\n}\n\n.header-bar.variant-dark {\n --grid-header-text: #FFFFFF;\n --grid-header-icon-hover-bg: rgba(255, 255, 255, 0.12); /* Adjusted for dark bg */\n}\n\n.header-bar.variant-light {\n --grid-header-text: black;\n --grid-header-icon-hover-bg: rgba(0, 0, 0, 0.08);\n}\n\n.header-bar .header-title {\n color: inherit;\n margin: 0;\n white-space: nowrap;\n}\n\n.header-bar .actions {\n display: flex;\n gap: 0.4rem;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.header-bar .secondary-actions {\n display: flex;\n gap: 0.4rem;\n}\n\n.menu-trigger-wrapper {\n position: relative;\n display: inline-flex;\n}\n\n.settings-button {\n transition: transform 0.2s ease-in-out;\n}\n\n/* When the button has the .is-open class, rotate it */\n.settings-button.is-open {\n transform: rotate(45deg);\n}\n","import { Component, h, Prop, Event, EventEmitter, State } from '@stencil/core';\nimport { getIconFromName } from '../../data-display/icons/iconUtils';\nimport { HeaderConfig } from './interfaces/grid';\nimport { GridFunctionConfig } from './interfaces/gridFunction';\n\n@Component({ tag: 'grid-header', shadow: false, styleUrl: 'grid-header.css' })\nexport class GridHeader {\n @Prop() headerConfig: HeaderConfig;\n @Prop() gridFunctions: GridFunctionConfig[];\n\n @State() isMenuOpen: boolean = false;\n\n @Event() headerAction!: EventEmitter<{ name: string; payload?: any }>;\n\n private menuAnchorEl?: HTMLElement;\n\n private action(name: string, payload?: any) {\n this.headerAction.emit({ name, payload });\n }\n\n toggleSettingsMenu = () => {\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n render() {\n // Check if there is any content to render before showing the header\n const hasTitle = !!this.headerConfig?.title?.replace(/\\u00A0/g, ' ').trim();\n const hasPrimaryAction = !!this.headerConfig?.primaryActionButton?.label;\n const hasSecondaryActions = (this.headerConfig?.secondaryActionButtons?.length || 0) > 0;\n const hasGridFunctions = (this.gridFunctions?.length || 0) > 0;\n const shouldRenderContent = hasTitle || hasPrimaryAction || hasSecondaryActions || hasGridFunctions;\n\n // If there's nothing to show, render nothing.\n if (!shouldRenderContent) {\n return null;\n }\n\n const variantClass = `variant-${this.headerConfig?.variant || 'light'}`;\n const enabledFunctionNames = new Set(this.gridFunctions.map(config => config.name));\n const settingsMenuActions = [\n 'agGridSizeColumnsToFit',\n 'agGridAutoSizeColumns',\n 'agGridHideShowColumns',\n 'agGridResetColumns',\n 'agGridExport',\n ];\n const shouldRenderSettingsButton = settingsMenuActions.some(action =>\n enabledFunctionNames.has(action),\n );\n\n return (\n <div class={`header-bar ${variantClass}`}>\n <unity-typography variant=\"h6\" color=\"inherit\">\n {this.headerConfig.title}\n </unity-typography>\n <div class=\"actions\">\n {shouldRenderSettingsButton && (\n <udp-icon-button\n class={{\n 'settings-button': true,\n 'is-open': this.isMenuOpen,\n }}\n onClick={this.toggleSettingsMenu}\n ref={(el: HTMLUdpIconButtonElement | null) => {\n this.menuAnchorEl = el ? (el as unknown as HTMLElement) : undefined;\n }}\n icon={getIconFromName('settings')}\n variant={'outlined'}\n size=\"small\"\n color=\"inherit\"\n />\n )}\n <udp-menu\n open={this.isMenuOpen}\n anchor={this.menuAnchorEl as unknown as HTMLElement}\n handleClose={() => (this.isMenuOpen = false)}\n >\n {enabledFunctionNames.has('agGridSizeColumnsToFit') && (\n <udp-menu-item\n label=\"Size Columns To Fit\"\n iconName=\"fitToWidth\"\n onItemClick={() => this.action('agGridSizeColumnsToFit')}\n />\n )}\n {enabledFunctionNames.has('agGridAutoSizeColumns') && (\n <udp-menu-item\n label=\"Auto Size Columns\"\n iconName=\"column\"\n onItemClick={() => this.action('agGridAutoSizeColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridHideShowColumns') && (\n <udp-menu-item\n label=\"Hide/Show Columns\"\n iconName=\"hideColumn\"\n onItemClick={() => this.action('agGridHideShowColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridResetColumns') && (\n <udp-menu-item\n label=\"Reset Columns\"\n iconName=\"reset\"\n onItemClick={() => this.action('agGridResetColumns')}\n />\n )}\n {enabledFunctionNames.has('agGridExport') && (\n <udp-menu-item\n label=\"CSV Export\"\n iconName=\"export\"\n onItemClick={() => this.action('agGridExport')}\n />\n )}\n </udp-menu>\n\n {enabledFunctionNames.has('openSavedViews') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"dataTable\"\n label={'Views'}\n clickable\n onChipClick={() => this.action('openSavedViews')}\n size=\"medium\"\n />\n )}\n {enabledFunctionNames.has('udpExport') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"export\"\n label={'Export'}\n clickable\n onChipClick={() => this.action('udpExport')}\n size=\"medium\"\n />\n )}\n {enabledFunctionNames.has('advancedSearch') && (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon=\"search\"\n label={'Search'}\n clickable\n onChipClick={() => this.action('advancedSearch')}\n size=\"medium\"\n />\n )}\n\n <div class=\"secondary-actions\">\n {this.headerConfig?.secondaryActionButtons?.map(action => (\n <udp-chip\n color=\"monochrome\"\n variant=\"outlined\"\n startIcon={action?.iconName}\n label={action?.label}\n clickable={!action?.disabled}\n onChipClick={action.onClick}\n size=\"medium\"\n ></udp-chip>\n ))}\n </div>\n <div class=\"primary-action\">\n {this.headerConfig?.primaryActionButton?.label && (\n <udp-button\n variant=\"contained\"\n onButtonClick={this.headerConfig?.primaryActionButton?.onClick}\n color=\"secondary\"\n disabled={this.headerConfig?.primaryActionButton?.disabled}\n loading={this.headerConfig?.primaryActionButton?.loading}\n endIcon={\n this.headerConfig?.primaryActionButton?.iconName && (\n <udp-icon\n iconName={this.headerConfig?.primaryActionButton?.iconName}\n color=\"inherit\"\n />\n )\n }\n >\n {this.headerConfig?.primaryActionButton?.label}\n </udp-button>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n",".hint-container {\n border-left: 3px solid var(--info-color-main);\n}\n\n.hint-content {\n background-color: color-mix(in srgb, var(--info-color-hint) 70%, transparent);\n padding: 8px;\n}\n\n.hide-help {\n display: flex;\n justify-content: flex-end;\n margin-top: 0.5rem;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'hint-panel',\n styleUrl: 'hint-panel.css',\n shadow: true,\n})\nexport class HintPanel {\n @Prop() hint: string;\n @Prop() hideHintText: string;\n @State() showHint: boolean = true;\n\n handleHideHint = () => {\n this.showHint = false;\n };\n\n render() {\n return (\n <div class=\"hint-container\">\n {this.showHint && (\n <div class=\"hint-content\">\n <div>\n <unity-typography variant=\"body\"> {this.hint} </unity-typography>\n </div>\n {this.hideHintText && (\n <div class=\"hide-help\">\n <udp-button size=\"small\" color=\"info\" onClick={this.handleHideHint}>\n {this.hideHintText}\n </udp-button>\n </div>\n )}\n </div>\n )}\n </div>\n );\n }\n}\n",":host {\n /* Initial state before being opened */\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n /* CRITICAL: transform creates a containing block, forcing fixed children to respect overflow: hidden */\n transform: translate(0);\n z-index: 100000;\n display: flex;\n align-items: center;\n justify-content: center;\n\n /* Animation properties - UPDATED FOR FADE */\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0);\n transition: background-color 0.2s ease-out, visibility 0s 0.2s, width 0s 0.2s, height 0s 0.2s;\n /* Smoother background fade */\n}\n\n:host(.is-visible) {\n /* Visible state for the overlay */\n visibility: visible;\n background-color: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n overflow: visible;\n transition-delay: 0s;\n}\n\n.dialog-container {\n background-color: #fff;\n box-shadow: 0 12px 24px rgba(0, 0, 0, 0.16), 0 12px 24px rgba(0, 0, 0, 0.23);\n max-width: 90vw;\n width: 500px;\n max-height: 90vh;\n display: flex;\n flex-direction: column;\n\n /* Animation properties - UPDATED FOR FADE */\n opacity: 0;\n transition: opacity 0.2s ease-out;\n}\n\n:host(.is-visible) .dialog-container {\n /* Visible state for the dialog box */\n opacity: 1;\n}\n\n.dialog-title {\n padding: 16px;\n flex-shrink: 0;\n}\n\n.dialog-content {\n padding: 0 16px;\n overflow-y: auto;\n}\n\n.dialog-actions {\n padding: 16px;\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n flex-shrink: 0;\n}\n","import { Component, Prop, h, Host, Element, Watch } from '@stencil/core';\n\n@Component({\n tag: 'udp-dialog',\n styleUrl: 'udp-dialog.css',\n shadow: true,\n})\nexport class UdpDialog {\n @Element() hostEl!: HTMLElement;\n\n // --- Original Prop Names & Controlled Pattern ---\n @Prop({ reflect: true }) open: boolean = false; // No longer mutable\n @Prop() handleClose: Function; // Using the function prop again\n @Prop() title: string;\n @Prop() message: string;\n @Prop() actionOne: () => void;\n @Prop() actionTwo: () => void;\n @Prop() actionThree: () => void;\n @Prop() labelOne: string;\n @Prop() labelTwo: string;\n @Prop() labelThree: string;\n @Prop() titleId: string = 'dialog-title';\n @Prop() descriptionId: string = 'dialog-description';\n @Prop() buttonOneHidden: boolean = false;\n @Prop() buttonTwoHidden: boolean = false;\n @Prop() buttonThreeHidden: boolean = true;\n @Prop() disableOne: boolean;\n @Prop() disableTwo: boolean;\n @Prop() disableThree: boolean;\n @Prop() progress: number;\n\n private originalBodyOverflow: string = '';\n\n @Watch('open')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.originalBodyOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n document.body.appendChild(this.hostEl);\n document.addEventListener('keydown', this.handleKeyDown);\n\n requestAnimationFrame(() => {\n this.hostEl.classList.add('is-visible');\n });\n } else {\n this.hostEl.classList.remove('is-visible');\n document.body.style.overflow = this.originalBodyOverflow;\n document.removeEventListener('keydown', this.handleKeyDown);\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\n }\n }\n\n private handleTransitionEnd = () => {\n if (!this.open && this.hostEl.parentElement === document.body) {\n document.body.removeChild(this.hostEl);\n }\n };\n\n disconnectedCallback() {\n if (document.body.style.overflow === 'hidden') {\n document.body.style.overflow = this.originalBodyOverflow;\n }\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && this.handleClose) {\n this.handleClose();\n }\n };\n\n private handleOverlayClick = () => {\n if (this.handleClose) {\n this.handleClose();\n }\n };\n\n render() {\n return (\n <Host onClick={this.handleOverlayClick}>\n <div\n class=\"dialog-container\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={this.titleId}\n aria-describedby={this.descriptionId}\n onClick={(event) => event.stopPropagation()}\n >\n <div class=\"dialog-title\" id={this.titleId}>\n <unity-typography variant=\"h3\">{this.title}</unity-typography>\n </div>\n\n <div class=\"dialog-content\" id={this.descriptionId}>\n {this.message && <unity-typography variant=\"body\">{this.message}</unity-typography>}\n <slot />\n </div>\n\n <div class=\"dialog-actions\">\n {!this.buttonTwoHidden && (\n <udp-button variant='text' disabled={this.disableTwo} onClick={() => this.actionTwo()}>{this.labelTwo}</udp-button>\n )}\n {!this.buttonThreeHidden && (\n <udp-button variant='text' disabled={this.disableThree} onClick={() => this.actionThree()}>{this.labelThree}</udp-button>\n )}\n {!this.buttonOneHidden && (\n <udp-button variant='contained' disabled={this.disableOne} onClick={() => this.actionOne()} loading={!!this.progress}>{this.labelOne}</udp-button>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n",".list-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: var(--spacing-3, 12px) var(--spacing-4, 16px);\n background-color: var(--card-background-color, #FFF);\n transition: background-color 0.1s;\n gap: var(--spacing-4, 16px);\n position: relative;\n}\n\n.list-item::after {\n content: '';\n position: absolute;\n bottom: 0;\n height: 1px;\n background-color: var(--border-color, #e0e0e0);\n left: var(--spacing-4, 16px);\n right: var(--spacing-4, 16px);\n}\n\n.list-item.variant-compact {\n padding-top: var(--spacing-1, 4px);\n padding-bottom: var(--spacing-1, 4px);\n}\n\n.list-item.clickable {\n cursor: pointer;\n}\n\n.list-item.clickable:hover {\n background-color: color-mix(in srgb, var(--card-background-color, #FFF) 95%, black);\n}\n\n.avatar-container {\n align-items: center;\n}\n\n.text-container {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.primary-text {\n font-weight: 400;\n line-height: 1.4;\n}\n\n.secondary-text {\n margin-top: 2px;\n}\n\n.status-chip-container {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.actions-container {\n display: flex;\n flex-shrink: 0;\n}\n","import { Component, Prop, h, Host, Element, State, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'udp-list-item',\n styleUrl: 'list-item.css',\n shadow: true,\n})\nexport class UdpListRenderer {\n @Element() private hostEl: HTMLElement;\n\n @State() private hasPrimaryTextSlot = false;\n @State() private hasSecondaryTextSlot = false;\n @State() private hasActionsSlot = false;\n @State() private hasStatusChipSlot = false;\n\n @Prop() primaryText: string;\n @Prop() secondaryText: string;\n @Prop() iconName: string;\n @Prop() avatarBackgroundColor: string = 'info';\n @Prop() avatarVariant: 'circular' | 'rounded' | 'square' = 'rounded';\n @Prop() clickable: boolean = false;\n /**\n * Defines the height of the list item.\n * 'normal': Default height.\n * 'compact': Reduced height for a denser list.\n */\n @Prop() variant: 'normal' | 'compact' = 'normal';\n /**\n * @deprecated Use the \"listItemClick\" event instead. This prop will be removed in a future version.\n */\n @Prop() onClick: (event: MouseEvent | KeyboardEvent) => void;\n @Event() listItemClick: EventEmitter<MouseEvent | KeyboardEvent>;\n\n componentWillLoad() {\n this.hasPrimaryTextSlot = !!this.hostEl.querySelector('[slot=\"primary-text\"]');\n this.hasSecondaryTextSlot = !!this.hostEl.querySelector('[slot=\"secondary-text\"]');\n this.hasActionsSlot = !!this.hostEl.querySelector('[slot=\"actions\"]');\n this.hasStatusChipSlot = !!this.hostEl.querySelector('[slot=\"status-chip\"]');\n }\n\n private handleClick = (event: MouseEvent | KeyboardEvent) => {\n const path = event.composedPath() as HTMLElement[];\n\n // Check if any element in the event path is one of our interactive containers.\n const isActionClick = path.some(\n element =>\n element.classList?.contains('actions-container') ||\n element.classList?.contains('status-chip-container'),\n );\n\n // If the click was on an action or status element, do nothing.\n if (isActionClick) {\n return;\n }\n\n if (this.clickable) {\n this.listItemClick.emit(event);\n if (this.onClick) {\n this.onClick(event);\n }\n }\n };\n\n private handleKeyPress = (event: KeyboardEvent) => {\n if (this.clickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n this.handleClick(event);\n }\n };\n\n render() {\n const showPrimaryText = this.primaryText || this.hasPrimaryTextSlot;\n const showSecondaryText = this.secondaryText || this.hasSecondaryTextSlot;\n\n return (\n <Host>\n <div\n class={{\n 'list-item': true,\n 'clickable': this.clickable,\n 'variant-compact': this.variant === 'compact',\n }}\n onClick={this.handleClick}\n onKeyPress={this.handleKeyPress}\n role={this.clickable ? 'button' : undefined}\n tabindex={this.clickable ? 0 : -1}\n >\n {this.iconName && (\n <div class=\"avatar-container\">\n <udp-avatar\n iconName={this.iconName}\n variant={this.avatarVariant}\n color={this.avatarBackgroundColor}\n ></udp-avatar>\n </div>\n )}\n <div class=\"text-container\">\n {showPrimaryText && (\n <div class=\"primary-text\">\n <slot name=\"primary-text\">\n <unity-typography variant=\"body\">{this.primaryText}</unity-typography>\n </slot>\n </div>\n )}\n {showSecondaryText && (\n <div class=\"secondary-text\">\n <slot name=\"secondary-text\">\n <unity-typography variant=\"caption-text\" color=\"textSecondary\">\n {this.secondaryText}\n </unity-typography>\n </slot>\n </div>\n )}\n </div>\n {this.hasStatusChipSlot && (\n <div class=\"status-chip-container\">\n <slot name=\"status-chip\"></slot>\n </div>\n )}\n {this.hasActionsSlot && (\n <div class=\"actions-container\">\n <slot name=\"actions\"></slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"names":["getGridViewsWithConfigurations","deleteSelectedView","saveView","getCurrentApiCatalogId","updateView","h","getIconFromName","getAvailableGridActions","getGridConfigurationsByGridId","getPromotedMethodEntities","executeQueryAdHoc","ConfigService","index","getCurrentTenantId","themeQuartz","ModuleRegistry","AllEnterpriseModule","LicenseManager","ActionsRenderer","CurrencyRenderer","DateTimeCellRenderer","IconRenderer","StatusRenderer","createGrid","isEqual","configureUdpColumnMods","Host"],"mappings":"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"}