udp-stencil-component-library 25.18.1-beta.6 → 25.18.1-beta.8

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 (344) hide show
  1. package/dist/cjs/add-map-feature-popup_4.cjs.entry.js +12 -12
  2. package/dist/cjs/advanced-search_50.cjs.entry.js +169 -96
  3. package/dist/cjs/ag-grid-base_5.cjs.entry.js +5 -5
  4. package/dist/cjs/api-method-instance-grid.cjs.entry.js +1 -1
  5. package/dist/cjs/check-box.cjs.entry.js +2 -2
  6. package/dist/cjs/chip-section.cjs.entry.js +2 -2
  7. package/dist/cjs/client-side-grid_2.cjs.entry.js +3 -3
  8. package/dist/cjs/color-preview.cjs.entry.js +1 -1
  9. package/dist/cjs/date-time-renderer_6.cjs.entry.js +8 -8
  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/image-upload_7.cjs.entry.js +6 -6
  13. package/dist/cjs/index-DrMNAZCL.js +4 -0
  14. package/dist/cjs/inputs-example.cjs.entry.js +2 -2
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/map-component_2.cjs.entry.js +2 -2
  17. package/dist/cjs/numeric-field_5.cjs.entry.js +15 -15
  18. package/dist/cjs/page-renderer.cjs.entry.js +1 -1
  19. package/dist/cjs/question-configs-renderer_5.cjs.entry.js +14 -14
  20. package/dist/cjs/resource-timeline-calendar.cjs.entry.js +1 -1
  21. package/dist/cjs/search-method-grid.cjs.entry.js +1 -1
  22. package/dist/cjs/server-side-grid.cjs.entry.js +1 -1
  23. package/dist/cjs/simple-card.cjs.entry.js +1 -1
  24. package/dist/cjs/stencil-library.cjs.js +1 -1
  25. package/dist/cjs/udp-chip_3.cjs.entry.js +1 -1
  26. package/dist/cjs/udp-container-query-grid-item.cjs.entry.js +1 -1
  27. package/dist/cjs/udp-container-query-grid.cjs.entry.js +1 -1
  28. package/dist/cjs/udp-container-query.cjs.entry.js +2 -2
  29. package/dist/cjs/udp-container.cjs.entry.js +2 -2
  30. package/dist/cjs/udp-date-range-selector.cjs.entry.js +1 -1
  31. package/dist/cjs/udp-dynamic-form.cjs.entry.js +1 -1
  32. package/dist/cjs/udp-forms-follow-up-list-card.cjs.entry.js +2 -2
  33. package/dist/cjs/udp-forms-list-card.cjs.entry.js +5 -5
  34. package/dist/cjs/udp-forms-list.cjs.entry.js +1 -1
  35. package/dist/cjs/udp-forms-renderer.cjs.entry.js +1 -1
  36. package/dist/cjs/udp-list-renderer.udp-pagination.udp-side-sheet.entry.cjs.js.map +1 -1
  37. package/dist/cjs/udp-list-renderer_3.cjs.entry.js +194 -5
  38. package/dist/cjs/udp-map.cjs.entry.js +3 -3
  39. package/dist/cjs/udp-page.cjs.entry.js +1 -1
  40. package/dist/cjs/udp-split-screen.cjs.entry.js +1 -1
  41. package/dist/cjs/udp-stepper-demo.cjs.entry.js +1 -1
  42. package/dist/cjs/udp-tab-panel.cjs.entry.js +22 -0
  43. package/dist/cjs/udp-tab-panel.entry.cjs.js.map +1 -0
  44. package/dist/cjs/udp-vertical-spacer.cjs.entry.js +1 -1
  45. package/dist/collection/collection-manifest.json +1 -0
  46. package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js +4 -1
  47. package/dist/collection/components/my-component/UI/data-display/icons/udp-icon.js.map +1 -1
  48. package/dist/collection/components/my-component/UI/data-display/kpi/kpi-list.js +1 -1
  49. package/dist/collection/components/my-component/UI/data-display/list-item/list-item.js +2 -2
  50. package/dist/collection/components/my-component/UI/data-display/pop-over/udp-pop-over.js +1 -1
  51. package/dist/collection/components/my-component/UI/data-display/pop-over-grid-action-header/udp-pop-over-grid-action-header.js +1 -1
  52. package/dist/collection/components/my-component/UI/data-display/primary-action-header/primary-action-header.js +2 -2
  53. package/dist/collection/components/my-component/UI/data-display/simple-card/simple-card.js +1 -1
  54. package/dist/collection/components/my-component/UI/data-display/tool-tip/udp-ambient-tool-tip.js +2 -2
  55. package/dist/collection/components/my-component/UI/data-display/tree/tree-list-item/search-item/search-list-item.js +1 -1
  56. package/dist/collection/components/my-component/UI/data-display/udp-avatar/udp-avatar.js +1 -1
  57. package/dist/collection/components/my-component/UI/dialogs/fluent-dialog/fluent-dialog.js +2 -2
  58. package/dist/collection/components/my-component/UI/dialogs/udp-dialog.js +1 -1
  59. package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/types.js +2 -0
  60. package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/types.js.map +1 -0
  61. package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.css +163 -137
  62. package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js +269 -19
  63. package/dist/collection/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.js.map +1 -1
  64. package/dist/collection/components/my-component/UI/feedback/udp-notification/alerts/upd-alert-banner.js +1 -1
  65. package/dist/collection/components/my-component/UI/feedback/udp-notification/udp-notification.js +2 -2
  66. package/dist/collection/components/my-component/UI/forms/dynamic-form/udp-dynamic-form.js +1 -1
  67. package/dist/collection/components/my-component/UI/forms/edit-view-form/edit-view-form.js +2 -2
  68. package/dist/collection/components/my-component/UI/forms/form/stencil-form.js +1 -1
  69. package/dist/collection/components/my-component/UI/forms/save-view-form/save-view-form.js +2 -2
  70. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/forms-question-item/udp-forms-builder-question-item.js +2 -2
  71. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/file-upload-renderer/file-upload-renderer.js +2 -2
  72. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/list-option-renderer/list-options-renderer.js +3 -3
  73. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/question-configs-renderer/question-configs-renderer.js +6 -6
  74. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/section-configs-renderer/section-configs-renderer.js +3 -3
  75. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/signature-renderer/signature-renderer.js +1 -1
  76. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-item/text-input-renderer/text-input-renderer.js +2 -2
  77. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-menu/udp-forms-builder-menu.js +2 -2
  78. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-builder/udp-forms-builder-style-override/udp-forms-builder-style-override.js +1 -1
  79. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list-card/udp-forms-list-card.js +5 -5
  80. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-list/udp-forms-list.js +1 -1
  81. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer-follow-up-list-card/udp-forms-follow-up-list-card.js +2 -2
  82. package/dist/collection/components/my-component/UI/forms/udp-forms/udp-forms-renderer/udp-forms-renderer.js +1 -1
  83. package/dist/collection/components/my-component/UI/grid/ag-table/ag-table.js +1 -1
  84. package/dist/collection/components/my-component/UI/grid/ambient-template-grid/ambient-template-grid.js +15 -15
  85. package/dist/collection/components/my-component/UI/grid/grid-primary-bar/grid-primary-bar.js +2 -2
  86. package/dist/collection/components/my-component/UI/grid/hotlists/udp-hotlist-form/udp-hotlist-form.js +1 -1
  87. package/dist/collection/components/my-component/UI/grid/new-grid/ag-grid-base.js +1 -1
  88. package/dist/collection/components/my-component/UI/grid/new-grid/api-method-instance-grid.js +1 -1
  89. package/dist/collection/components/my-component/UI/grid/new-grid/client-side-grid.js +1 -1
  90. package/dist/collection/components/my-component/UI/grid/new-grid/entity-maintenance-grid.js +1 -1
  91. package/dist/collection/components/my-component/UI/grid/new-grid/search-method-grid.js +1 -1
  92. package/dist/collection/components/my-component/UI/grid/new-grid/server-side-grid.js +1 -1
  93. package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-calendar.js +1 -1
  94. package/dist/collection/components/my-component/UI/grid/resource-timeline-calendar/resource-timeline-primary-bar.js +2 -2
  95. package/dist/collection/components/my-component/UI/inputs/checkbox/check-box.js +2 -2
  96. package/dist/collection/components/my-component/UI/inputs/date-range-selector/udp-date-range-selector.js +1 -1
  97. package/dist/collection/components/my-component/UI/inputs/date-selector/udp-date-selector.js +3 -3
  98. package/dist/collection/components/my-component/UI/inputs/date-time-selector/udp-datetime-selector.js +3 -3
  99. package/dist/collection/components/my-component/UI/inputs/image-upload/image-upload.js +1 -1
  100. package/dist/collection/components/my-component/UI/inputs/numeric-field/numeric-field.js +3 -3
  101. package/dist/collection/components/my-component/UI/inputs/signature-input/signature-input.js +2 -2
  102. package/dist/collection/components/my-component/UI/inputs/tally/tally.js +2 -2
  103. package/dist/collection/components/my-component/UI/inputs/text-area/text-area.js +3 -3
  104. package/dist/collection/components/my-component/UI/inputs/text-field/text-field.js +3 -3
  105. package/dist/collection/components/my-component/UI/inputs/time-selector/udp-time-selector.js +3 -3
  106. package/dist/collection/components/my-component/UI/inputs/toggle/stencil-toggle.js +4 -4
  107. package/dist/collection/components/my-component/UI/inputs/udp-selector/udp-selector.js +4 -4
  108. package/dist/collection/components/my-component/UI/layout/udp-container/udp-container.js +2 -2
  109. package/dist/collection/components/my-component/UI/layout/udp-container-query/udp-container-query.js +2 -2
  110. package/dist/collection/components/my-component/UI/layout/udp-container-query-grid/udp-container-query-grid.js +1 -1
  111. package/dist/collection/components/my-component/UI/layout/udp-container-query-grid-item/udp-container-query-grid-item.js +1 -1
  112. package/dist/collection/components/my-component/UI/layout/udp-page/udp-page.js +1 -1
  113. package/dist/collection/components/my-component/UI/layout/udp-split-screen/udp-split-screen.js +1 -1
  114. package/dist/collection/components/my-component/UI/layout/udp-vertical-spacer.js +1 -1
  115. package/dist/collection/components/my-component/UI/loaders/udp-grid-loader/udp-grid-loader.js +2 -2
  116. package/dist/collection/components/my-component/UI/loaders/udp-linear-loader/udp-linear-loader.js +1 -1
  117. package/dist/collection/components/my-component/UI/loaders/udp-skeleton-loading.js +1 -1
  118. package/dist/collection/components/my-component/UI/map/udp-map/map-component.js +1 -1
  119. package/dist/collection/components/my-component/UI/map/udp-map/popups/add-map-feature-popup.js +3 -3
  120. package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-card/feature-details-card.js +4 -4
  121. package/dist/collection/components/my-component/UI/map/udp-map/popups/feature-details-popup.js +1 -1
  122. package/dist/collection/components/my-component/UI/map/udp-map/popups/select-layer-popup.js +2 -2
  123. package/dist/collection/components/my-component/UI/map/udp-map/popups/split-line-popup.js +1 -1
  124. package/dist/collection/components/my-component/UI/map/udp-map/toolbar/map-toolbar.js +6 -6
  125. package/dist/collection/components/my-component/UI/map/udp-map/udp-map-toolbar.js +1 -1
  126. package/dist/collection/components/my-component/UI/map/udp-map/udp-map.js +3 -3
  127. package/dist/collection/components/my-component/UI/menu/menu-item/udp-menu-item.js +1 -1
  128. package/dist/collection/components/my-component/UI/menu/udp-menu.js +1 -1
  129. package/dist/collection/components/my-component/UI/stepper/udp-stepper-demo.js +1 -1
  130. package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.css +0 -5
  131. package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js +170 -37
  132. package/dist/collection/components/my-component/UI/tabs/tab/tabs/udp-tabs.js.map +1 -1
  133. package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.css +2 -4
  134. package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js +3 -3
  135. package/dist/collection/components/my-component/UI/tabs/tab/udp-tab.js.map +1 -1
  136. package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.css +11 -0
  137. package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.js +65 -0
  138. package/dist/collection/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.js.map +1 -0
  139. package/dist/collection/components/my-component/UI/toolbars/app-bar/app-bar.js +1 -1
  140. package/dist/collection/components/my-component/UI/util/ghost-render/ghost-render.js +1 -1
  141. package/dist/collection/components/my-component/demo/ambient-demo-container.js +1 -1
  142. package/dist/collection/components/test-component/inputs-example/inputs-example.js +2 -2
  143. package/dist/collection/page-renderer/page-renderer.js +1 -1
  144. package/dist/collection/theme/color-preview/color-preview.js +1 -1
  145. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/chip-section/chip-section.js +2 -2
  146. package/dist/collection/udp-utilities/layout/udp-dynamic-container-with-menu/udp-dynamic-container-with-menu.js +1 -1
  147. package/dist/components/add-map-feature-popup2.js +3 -3
  148. package/dist/components/ag-grid-base2.js +1 -1
  149. package/dist/components/ag-table2.js +1 -1
  150. package/dist/components/ambient-demo-container2.js +1 -1
  151. package/dist/components/ambient-template-grid2.js +15 -15
  152. package/dist/components/api-method-instance-grid.js +1 -1
  153. package/dist/components/app-bar2.js +1 -1
  154. package/dist/components/check-box2.js +2 -2
  155. package/dist/components/chip-section.js +2 -2
  156. package/dist/components/client-side-grid2.js +1 -1
  157. package/dist/components/color-preview.js +1 -1
  158. package/dist/components/edit-view-form.js +2 -2
  159. package/dist/components/entity-maintenance-grid.js +1 -1
  160. package/dist/components/feature-details-card2.js +4 -4
  161. package/dist/components/feature-details-popup2.js +1 -1
  162. package/dist/components/file-upload-renderer2.js +2 -2
  163. package/dist/components/fluent-dialog2.js +2 -2
  164. package/dist/components/ghost-render2.js +1 -1
  165. package/dist/components/grid-primary-bar2.js +2 -2
  166. package/dist/components/image-upload2.js +1 -1
  167. package/dist/components/inputs-example.js +2 -2
  168. package/dist/components/kpi-list2.js +1 -1
  169. package/dist/components/list-item.js +2 -2
  170. package/dist/components/list-options-renderer2.js +3 -3
  171. package/dist/components/map-component2.js +1 -1
  172. package/dist/components/map-toolbar2.js +6 -6
  173. package/dist/components/numeric-field2.js +3 -3
  174. package/dist/components/page-renderer.js +1 -1
  175. package/dist/components/primary-action-header2.js +2 -2
  176. package/dist/components/question-configs-renderer2.js +6 -6
  177. package/dist/components/resource-timeline-calendar.js +1 -1
  178. package/dist/components/resource-timeline-primary-bar2.js +2 -2
  179. package/dist/components/save-view-form.js +2 -2
  180. package/dist/components/search-list-item2.js +1 -1
  181. package/dist/components/search-method-grid2.js +1 -1
  182. package/dist/components/section-configs-renderer2.js +3 -3
  183. package/dist/components/select-layer-popup2.js +2 -2
  184. package/dist/components/server-side-grid2.js +1 -1
  185. package/dist/components/signature-input2.js +2 -2
  186. package/dist/components/signature-renderer2.js +1 -1
  187. package/dist/components/simple-card.js +1 -1
  188. package/dist/components/split-line-popup2.js +1 -1
  189. package/dist/components/stencil-form2.js +1 -1
  190. package/dist/components/stencil-toggle2.js +4 -4
  191. package/dist/components/tally.js +2 -2
  192. package/dist/components/text-area2.js +3 -3
  193. package/dist/components/text-field2.js +3 -3
  194. package/dist/components/text-input-renderer2.js +2 -2
  195. package/dist/components/udp-ambient-tool-tip2.js +2 -2
  196. package/dist/components/udp-avatar2.js +1 -1
  197. package/dist/components/udp-container-query-grid-item.js +1 -1
  198. package/dist/components/udp-container-query-grid.js +1 -1
  199. package/dist/components/udp-container-query2.js +2 -2
  200. package/dist/components/udp-container2.js +2 -2
  201. package/dist/components/udp-date-range-selector.js +1 -1
  202. package/dist/components/udp-date-selector2.js +3 -3
  203. package/dist/components/udp-datetime-selector2.js +3 -3
  204. package/dist/components/udp-dialog2.js +1 -1
  205. package/dist/components/udp-dynamic-container-with-menu2.js +1 -1
  206. package/dist/components/udp-dynamic-form.js +1 -1
  207. package/dist/components/udp-forms-builder-menu2.js +2 -2
  208. package/dist/components/udp-forms-builder-question-item2.js +2 -2
  209. package/dist/components/udp-forms-builder-style-override2.js +1 -1
  210. package/dist/components/udp-forms-builder.js +72 -60
  211. package/dist/components/udp-forms-builder.js.map +1 -1
  212. package/dist/components/udp-forms-follow-up-list-card.js +2 -2
  213. package/dist/components/udp-forms-list-card2.js +5 -5
  214. package/dist/components/udp-forms-list.js +51 -39
  215. package/dist/components/udp-forms-list.js.map +1 -1
  216. package/dist/components/udp-forms-renderer.js +67 -55
  217. package/dist/components/udp-forms-renderer.js.map +1 -1
  218. package/dist/components/udp-grid-loader2.js +2 -2
  219. package/dist/components/udp-hotlist-form2.js +1 -1
  220. package/dist/components/udp-icon2.js +4 -1
  221. package/dist/components/udp-icon2.js.map +1 -1
  222. package/dist/components/udp-linear-loader2.js +1 -1
  223. package/dist/components/udp-map-toolbar2.js +1 -1
  224. package/dist/components/udp-map.js +3 -3
  225. package/dist/components/udp-menu-item2.js +1 -1
  226. package/dist/components/udp-menu2.js +1 -1
  227. package/dist/components/udp-notification2.js +2 -2
  228. package/dist/components/udp-page.js +1 -1
  229. package/dist/components/udp-pop-over-grid-action-header2.js +1 -1
  230. package/dist/components/udp-pop-over2.js +1 -1
  231. package/dist/components/udp-selector2.js +4 -4
  232. package/dist/components/udp-side-sheet2.js +228 -19
  233. package/dist/components/udp-side-sheet2.js.map +1 -1
  234. package/dist/components/udp-skeleton-loading2.js +1 -1
  235. package/dist/components/udp-split-screen.js +1 -1
  236. package/dist/components/udp-stepper-demo.js +1 -1
  237. package/dist/components/udp-tab-panel.d.ts +11 -0
  238. package/dist/components/udp-tab-panel.js +45 -0
  239. package/dist/components/udp-tab-panel.js.map +1 -0
  240. package/dist/components/udp-tab2.js +3 -3
  241. package/dist/components/udp-tab2.js.map +1 -1
  242. package/dist/components/udp-tabs2.js +114 -40
  243. package/dist/components/udp-tabs2.js.map +1 -1
  244. package/dist/components/udp-time-selector2.js +3 -3
  245. package/dist/components/udp-vertical-spacer.js +1 -1
  246. package/dist/components/upd-alert-banner2.js +1 -1
  247. package/dist/docs.json +263 -31
  248. package/dist/esm/add-map-feature-popup_4.entry.js +12 -12
  249. package/dist/esm/advanced-search_50.entry.js +169 -96
  250. package/dist/esm/ag-grid-base_5.entry.js +5 -5
  251. package/dist/esm/api-method-instance-grid.entry.js +1 -1
  252. package/dist/esm/check-box.entry.js +2 -2
  253. package/dist/esm/chip-section.entry.js +2 -2
  254. package/dist/esm/client-side-grid_2.entry.js +3 -3
  255. package/dist/esm/color-preview.entry.js +1 -1
  256. package/dist/esm/date-time-renderer_6.entry.js +8 -8
  257. package/dist/esm/entity-maintenance-grid.entry.js +1 -1
  258. package/dist/esm/feature-details-card_2.entry.js +5 -5
  259. package/dist/esm/image-upload_7.entry.js +6 -6
  260. package/dist/esm/index-n-1ZSeAs.js +4 -0
  261. package/dist/esm/inputs-example.entry.js +2 -2
  262. package/dist/esm/loader.js +1 -1
  263. package/dist/esm/map-component_2.entry.js +2 -2
  264. package/dist/esm/numeric-field_5.entry.js +15 -15
  265. package/dist/esm/page-renderer.entry.js +1 -1
  266. package/dist/esm/question-configs-renderer_5.entry.js +14 -14
  267. package/dist/esm/resource-timeline-calendar.entry.js +1 -1
  268. package/dist/esm/search-method-grid.entry.js +1 -1
  269. package/dist/esm/server-side-grid.entry.js +1 -1
  270. package/dist/esm/simple-card.entry.js +1 -1
  271. package/dist/esm/stencil-library.js +1 -1
  272. package/dist/esm/udp-chip_3.entry.js +1 -1
  273. package/dist/esm/udp-container-query-grid-item.entry.js +1 -1
  274. package/dist/esm/udp-container-query-grid.entry.js +1 -1
  275. package/dist/esm/udp-container-query.entry.js +2 -2
  276. package/dist/esm/udp-container.entry.js +2 -2
  277. package/dist/esm/udp-date-range-selector.entry.js +1 -1
  278. package/dist/esm/udp-dynamic-form.entry.js +1 -1
  279. package/dist/esm/udp-forms-follow-up-list-card.entry.js +2 -2
  280. package/dist/esm/udp-forms-list-card.entry.js +5 -5
  281. package/dist/esm/udp-forms-list.entry.js +1 -1
  282. package/dist/esm/udp-forms-renderer.entry.js +1 -1
  283. package/dist/esm/udp-list-renderer.udp-pagination.udp-side-sheet.entry.js.map +1 -1
  284. package/dist/esm/udp-list-renderer_3.entry.js +194 -5
  285. package/dist/esm/udp-map.entry.js +3 -3
  286. package/dist/esm/udp-page.entry.js +1 -1
  287. package/dist/esm/udp-split-screen.entry.js +1 -1
  288. package/dist/esm/udp-stepper-demo.entry.js +1 -1
  289. package/dist/esm/udp-tab-panel.entry.js +20 -0
  290. package/dist/esm/udp-tab-panel.entry.js.map +1 -0
  291. package/dist/esm/udp-vertical-spacer.entry.js +1 -1
  292. package/dist/stencil-library/add-map-feature-popup_4.entry.js +1 -1
  293. package/dist/stencil-library/advanced-search_50.entry.js +1 -1
  294. package/dist/stencil-library/advanced-search_50.entry.js.map +1 -1
  295. package/dist/stencil-library/ag-grid-base_5.entry.js +1 -1
  296. package/dist/stencil-library/api-method-instance-grid.entry.js +1 -1
  297. package/dist/stencil-library/check-box.entry.js +1 -1
  298. package/dist/stencil-library/chip-section.entry.js +1 -1
  299. package/dist/stencil-library/client-side-grid_2.entry.js +1 -1
  300. package/dist/stencil-library/color-preview.entry.js +1 -1
  301. package/dist/stencil-library/date-time-renderer_6.entry.js +1 -1
  302. package/dist/stencil-library/entity-maintenance-grid.entry.js +1 -1
  303. package/dist/stencil-library/feature-details-card_2.entry.js +1 -1
  304. package/dist/stencil-library/image-upload_7.entry.js +1 -1
  305. package/dist/stencil-library/inputs-example.entry.js +1 -1
  306. package/dist/stencil-library/map-component_2.entry.js +1 -1
  307. package/dist/stencil-library/numeric-field_5.entry.js +1 -1
  308. package/dist/stencil-library/page-renderer.entry.js +1 -1
  309. package/dist/stencil-library/question-configs-renderer_5.entry.js +1 -1
  310. package/dist/stencil-library/resource-timeline-calendar.entry.js +1 -1
  311. package/dist/stencil-library/search-method-grid.entry.js +1 -1
  312. package/dist/stencil-library/server-side-grid.entry.js +1 -1
  313. package/dist/stencil-library/simple-card.entry.js +1 -1
  314. package/dist/stencil-library/simple-card.entry.js.map +1 -1
  315. package/dist/stencil-library/stencil-library.esm.js +1 -1
  316. package/dist/stencil-library/udp-chip_3.entry.js +1 -1
  317. package/dist/stencil-library/udp-container-query-grid-item.entry.js +1 -1
  318. package/dist/stencil-library/udp-container-query-grid.entry.js +1 -1
  319. package/dist/stencil-library/udp-container-query.entry.js +1 -1
  320. package/dist/stencil-library/udp-container.entry.js +1 -1
  321. package/dist/stencil-library/udp-date-range-selector.entry.js +1 -1
  322. package/dist/stencil-library/udp-dynamic-form.entry.js +1 -1
  323. package/dist/stencil-library/udp-forms-follow-up-list-card.entry.js +1 -1
  324. package/dist/stencil-library/udp-forms-list-card.entry.js +1 -1
  325. package/dist/stencil-library/udp-forms-list.entry.js +1 -1
  326. package/dist/stencil-library/udp-forms-renderer.entry.js +1 -1
  327. package/dist/stencil-library/udp-list-renderer.udp-pagination.udp-side-sheet.entry.esm.js.map +1 -1
  328. package/dist/stencil-library/udp-list-renderer_3.entry.js +1 -1
  329. package/dist/stencil-library/udp-list-renderer_3.entry.js.map +1 -1
  330. package/dist/stencil-library/udp-map.entry.js +1 -1
  331. package/dist/stencil-library/udp-page.entry.js +1 -1
  332. package/dist/stencil-library/udp-split-screen.entry.js +1 -1
  333. package/dist/stencil-library/udp-stepper-demo.entry.js +1 -1
  334. package/dist/stencil-library/udp-tab-panel.entry.esm.js.map +1 -0
  335. package/dist/stencil-library/udp-tab-panel.entry.js +2 -0
  336. package/dist/stencil-library/udp-tab-panel.entry.js.map +1 -0
  337. package/dist/stencil-library/udp-vertical-spacer.entry.js +1 -1
  338. package/dist/types/components/my-component/UI/drawers/udp-side-sheet/types.d.ts +7 -0
  339. package/dist/types/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.d.ts +114 -0
  340. package/dist/types/components/my-component/UI/tabs/tab/tabs/udp-tabs.d.ts +47 -4
  341. package/dist/types/components/my-component/UI/tabs/tab/udp-tab.d.ts +1 -1
  342. package/dist/types/components/my-component/UI/tabs/udp-tab-panel/udp-tab-panel.d.ts +11 -0
  343. package/dist/types/components.d.ts +151 -2
  344. package/package.json +1 -1
@@ -118,11 +118,11 @@ const UdpMap$1 = /*@__PURE__*/ proxyCustomElement(class UdpMap extends H {
118
118
  }
119
119
  //////////////////////////////////////////////////////////RENDER/////////////////////////////////////////////////////
120
120
  render() {
121
- return (h("map-component", { key: 'b701c0b012dade16e39e23231e6e96e15e8024cf', handleSetMapComponent: this.handleSetMapComponent, data: this.data, isGeoJsonFormat: this.isGeoJsonFormat, geoJsonMappingConfig: this.geoJsonMappingConfig, enableZoom: this.enableZoom, mapZoom: this.mapZoom, mapCenter: this.mapCenter, mapHeight: this.mapHeight, crs: this.crs, mapProjection: this.mapProjection, mapDataProjection: this.mapDataProjection, getFilteredMapData: this.getFilteredMapData, getFeatureStyles: this.getFeatureStyles, getSelectedFeatureStyles: this.getSelectedFeatureStyles, filterPanel: this.filterPanel, filterPanelCallback: this.filterPanelCallback, enableTileSelection: this.enableTileSelection, tileLayersOptions: this.tileLayersOptions, defaultTileOptionName: this.defaultTileOptionName, layerOptions: this.layerOptions, initialSelectedLayers: this.initialSelectedLayers, bulkSelectedFeaturesActionPanel: this.bulkSelectedFeaturesActionPanel, handleSetSelectedFeaturesOnBulkSelect: this.handleSetSelectedFeaturesOnBulkSelect, handleSetSelectedFeatureOnSelect: this.handleSetSelectedFeatureOnSelect, filterLayersByRole: this.filterLayersByRole, layerKeys: this.layerKeys, layerKeySeparator: this.layerKeySeparator, user: this.user, layerRoles: this.layerRoles, filteredLayerOptionsByRole: this.filteredLayerOptionsByRole, handleSetFilteredLayerOptionsByRole: this.handleSetFilteredLayerOptionsByRole, readOnlyMap: this.readOnlyMap, enableViewFeature: this.enableViewFeature, handleViewFeature: this.handleViewFeature, bulkSelectionActive: this.bulkSelectionActive, splitActive: this.splitActive, enableDragBox: this.enableDragBox, selectFeatureInteraction: this.selectFeatureInteraction, handleSetSelectedFeatureProperties: this.handleSetSelectedFeatureProperties, selectedFeatureCoordinates: this.selectedFeatureCoordinates, selectedFeatureProperties: this.selectedFeatureProperties, enableAddNewFeature: this.enableAddNewFeature, handleGetZoomExtent: this.handleGetZoomExtent, selectedLayers: this.selectedLayers, handleSetSelectedLayers: val => {
121
+ return (h("map-component", { key: 'dbea383c45161505aff8965d3bfbd925ccce570b', handleSetMapComponent: this.handleSetMapComponent, data: this.data, isGeoJsonFormat: this.isGeoJsonFormat, geoJsonMappingConfig: this.geoJsonMappingConfig, enableZoom: this.enableZoom, mapZoom: this.mapZoom, mapCenter: this.mapCenter, mapHeight: this.mapHeight, crs: this.crs, mapProjection: this.mapProjection, mapDataProjection: this.mapDataProjection, getFilteredMapData: this.getFilteredMapData, getFeatureStyles: this.getFeatureStyles, getSelectedFeatureStyles: this.getSelectedFeatureStyles, filterPanel: this.filterPanel, filterPanelCallback: this.filterPanelCallback, enableTileSelection: this.enableTileSelection, tileLayersOptions: this.tileLayersOptions, defaultTileOptionName: this.defaultTileOptionName, layerOptions: this.layerOptions, initialSelectedLayers: this.initialSelectedLayers, bulkSelectedFeaturesActionPanel: this.bulkSelectedFeaturesActionPanel, handleSetSelectedFeaturesOnBulkSelect: this.handleSetSelectedFeaturesOnBulkSelect, handleSetSelectedFeatureOnSelect: this.handleSetSelectedFeatureOnSelect, filterLayersByRole: this.filterLayersByRole, layerKeys: this.layerKeys, layerKeySeparator: this.layerKeySeparator, user: this.user, layerRoles: this.layerRoles, filteredLayerOptionsByRole: this.filteredLayerOptionsByRole, handleSetFilteredLayerOptionsByRole: this.handleSetFilteredLayerOptionsByRole, readOnlyMap: this.readOnlyMap, enableViewFeature: this.enableViewFeature, handleViewFeature: this.handleViewFeature, bulkSelectionActive: this.bulkSelectionActive, splitActive: this.splitActive, enableDragBox: this.enableDragBox, selectFeatureInteraction: this.selectFeatureInteraction, handleSetSelectedFeatureProperties: this.handleSetSelectedFeatureProperties, selectedFeatureCoordinates: this.selectedFeatureCoordinates, selectedFeatureProperties: this.selectedFeatureProperties, enableAddNewFeature: this.enableAddNewFeature, handleGetZoomExtent: this.handleGetZoomExtent, selectedLayers: this.selectedLayers, handleSetSelectedLayers: val => {
122
122
  this.updateSelectedLayers(val);
123
- }, readOnlyLayers: this.readOnlyLayers, additionalOnclosePopover: this.additionalOnclosePopover, popoverPrimaryActions: this.popoverPrimaryActions, popoverMoreIconButtonActions: this.popoverMoreIconButtonActions, getMessagePopover: this.getMessagePopover, getMessageIconPopover: this.getMessageIconPopover, hideMessageIconPopover: this.hideMessageIconPopover, popoverCardConfig: this.cardConfig, popoverWidth: this.popoverWidth, handleGetAdditionalFeaturePropertiesOnSelect: this.handleGetAdditionalFeaturePropertiesOnSelect, minZoom: this.minZoom, maxZoom: this.maxZoom }, this.enableToolbar && (h("udp-map-toolbar", { key: '04d39770f38e442466c0c82f0feb92bfc70b1535', map: this.map, mapTitle: this.mapTitle, mapProjection: this.mapProjection, getFeatureStyles: this.getFeatureStyles, getSelectedFeatureStyles: this.getSelectedFeatureStyles, filterPanel: this.filterPanel, enableTileSelection: this.enableTileSelection, tileLayersOptions: this.tileLayersOptions, defaultTileOptionName: this.defaultTileOptionName, layerOptions: this.layerOptions, bulkSelectedFeaturesActionPanel: this.bulkSelectedFeaturesActionPanel, handleSetSelectedFeaturesOnBulkSelect: this.handleSetSelectedFeaturesOnBulkSelect, handleRefresh: this.handleRefresh, refreshButtonTooltip: this.refreshButtonTooltip, readOnlyMap: this.readOnlyMap, enableAdd: this.enableAdd, handleAddNewFeatures: this.handleAddNewFeatures, addMultipleFeatures: this.addMultipleFeatures, enableSplitFeature: this.enableSplitFeature, handleSplitFeature: this.handleSplitFeature, handleSetSelectedFeatureProperties: this.handleSetSelectedFeatureProperties, filteredLayerOptionsByRole: this.filteredLayerOptionsByRole, handleSetBulkSelectionActive: this.handleSetBulkSelectionActive, enableDragBox: this.enableDragBox, handleSetEnableDragBox: this.handleSetEnableDragBox, splitActive: this.splitActive, handleSetSplitActive: this.handleSetSplitActive, selectFeatureInteraction: this.selectFeatureInteraction, enableAddNewFeature: this.enableAddNewFeature, handleEnableAddNewFeature: this.handleEnableAddNewFeature, handleSelectLayersCallback: this.handleSelectLayersCallback, selectedLayers: this.selectedLayers, handleSetSelectedLayers: val => {
123
+ }, readOnlyLayers: this.readOnlyLayers, additionalOnclosePopover: this.additionalOnclosePopover, popoverPrimaryActions: this.popoverPrimaryActions, popoverMoreIconButtonActions: this.popoverMoreIconButtonActions, getMessagePopover: this.getMessagePopover, getMessageIconPopover: this.getMessageIconPopover, hideMessageIconPopover: this.hideMessageIconPopover, popoverCardConfig: this.cardConfig, popoverWidth: this.popoverWidth, handleGetAdditionalFeaturePropertiesOnSelect: this.handleGetAdditionalFeaturePropertiesOnSelect, minZoom: this.minZoom, maxZoom: this.maxZoom }, this.enableToolbar && (h("udp-map-toolbar", { key: 'd62be8bc2f358155b349688ac9ddd27c4ee95594', map: this.map, mapTitle: this.mapTitle, mapProjection: this.mapProjection, getFeatureStyles: this.getFeatureStyles, getSelectedFeatureStyles: this.getSelectedFeatureStyles, filterPanel: this.filterPanel, enableTileSelection: this.enableTileSelection, tileLayersOptions: this.tileLayersOptions, defaultTileOptionName: this.defaultTileOptionName, layerOptions: this.layerOptions, bulkSelectedFeaturesActionPanel: this.bulkSelectedFeaturesActionPanel, handleSetSelectedFeaturesOnBulkSelect: this.handleSetSelectedFeaturesOnBulkSelect, handleRefresh: this.handleRefresh, refreshButtonTooltip: this.refreshButtonTooltip, readOnlyMap: this.readOnlyMap, enableAdd: this.enableAdd, handleAddNewFeatures: this.handleAddNewFeatures, addMultipleFeatures: this.addMultipleFeatures, enableSplitFeature: this.enableSplitFeature, handleSplitFeature: this.handleSplitFeature, handleSetSelectedFeatureProperties: this.handleSetSelectedFeatureProperties, filteredLayerOptionsByRole: this.filteredLayerOptionsByRole, handleSetBulkSelectionActive: this.handleSetBulkSelectionActive, enableDragBox: this.enableDragBox, handleSetEnableDragBox: this.handleSetEnableDragBox, splitActive: this.splitActive, handleSetSplitActive: this.handleSetSplitActive, selectFeatureInteraction: this.selectFeatureInteraction, enableAddNewFeature: this.enableAddNewFeature, handleEnableAddNewFeature: this.handleEnableAddNewFeature, handleSelectLayersCallback: this.handleSelectLayersCallback, selectedLayers: this.selectedLayers, handleSetSelectedLayers: val => {
124
124
  this.updateSelectedLayers(val);
125
- }, addFeaturePanelConfig: this.addFeaturePanelConfig })), h("slot", { key: '24e6a8974bd1acda96d431dfc7fa5b8bd8129355' })));
125
+ }, addFeaturePanelConfig: this.addFeaturePanelConfig })), h("slot", { key: 'f2753f5f595726febc44235dbc1e728c1763da64' })));
126
126
  }
127
127
  static get watchers() { return {
128
128
  "enableDragBox": ["watchDragBoxandSelectedFeatureInteraction"],
@@ -22,7 +22,7 @@ const UdpMenuItem = /*@__PURE__*/ proxyCustomElement(class UdpMenuItem extends H
22
22
  };
23
23
  }
24
24
  render() {
25
- return (h("button", { key: 'd81dd6bdb90af4ee188bb7d4151ecb5e33333dfd', class: "menu-item-root", onClick: this.handleItemClick, disabled: this.disabled, role: "menuitem" }, this.iconName && h("udp-icon", { key: '18383905dff4511ee12af85156c1ae2b45569004', iconName: this.iconName, class: "menu-icon" }), h("span", { key: '78635c29150bbe4bc3ec4a91066941e9e6b903bf', class: "menu-item-label" }, h("unity-typography", { key: 'f24e771dfb0c2a543c298b8f04dc8ca9a46f7f01', variant: 'body1' }, this.label))));
25
+ return (h("button", { key: 'fb7827a4ddd3ec09634dde5e392b82ee2bc2aa56', class: "menu-item-root", onClick: this.handleItemClick, disabled: this.disabled, role: "menuitem" }, this.iconName && h("udp-icon", { key: '7cb749410ab0d3db5ed37a80014a2db733b7611f', iconName: this.iconName, class: "menu-icon" }), h("span", { key: 'd123d5a3d5bce228283bd829e25a0c187d791274', class: "menu-item-label" }, h("unity-typography", { key: '1c139bca8c0b84d41246bbf17e793301a9c79235', variant: 'body1' }, this.label))));
26
26
  }
27
27
  static get style() { return udpMenuItemCss; }
28
28
  }, [257, "udp-menu-item", {
@@ -98,7 +98,7 @@ const UdpMenu = /*@__PURE__*/ proxyCustomElement(class UdpMenu extends H {
98
98
  }
99
99
  }
100
100
  render() {
101
- return (h(Host, { key: '3f7be47a5c35c075c742aaa03a28cde14a3d1090' }, h("div", { key: '48323bd6c9b777ebb157c50505196345cb14ec43', class: "menu-panel", role: "menu" }, h("slot", { key: '25e9949b651d5c5fa7443e1b8d6b58af3846b5a0' }))));
101
+ return (h(Host, { key: '442d88639387239daf36ef71be1a197b098f7d15' }, h("div", { key: 'e42568ca41f4454b7b90791da690fd44c107a63f', class: "menu-panel", role: "menu" }, h("slot", { key: 'b124207c63660c4d51be5818816030e2c64b272a' }))));
102
102
  }
103
103
  get hostEl() { return this; }
104
104
  static get watchers() { return {
@@ -21,11 +21,11 @@ const UdpNotification = /*@__PURE__*/ proxyCustomElement(class UdpNotification e
21
21
  }
22
22
  render() {
23
23
  const statusClass = `status-${this.status}`;
24
- return (h("div", { key: '6f9511dcb791934acf07b90000160a764d0fc6e7', class: {
24
+ return (h("div", { key: '555f2f94b04009382fac53a32d74f8f84f14a733', class: {
25
25
  'udp-notification': true,
26
26
  'visible': this.active,
27
27
  [statusClass]: true // This will apply the correct class based on the status
28
- } }, this.userCancel && (h("button", { key: '3e6f7df67c906e32d6e2bd38262c6441c77d21ed', class: "close-button", onClick: () => this.active = false }, "\u00D7")), h("span", { key: 'ebdd3141d533f86448edfd7c84d2f681f2315bac', class: "message" }, " ", h("unity-typography", { key: 'aae63f399ad043aef3ece93e022d4e9873d2d558', variant: 'body' }, " ", this.message, " "))));
28
+ } }, this.userCancel && (h("button", { key: 'a9e6b1a2faa49b97d3d39da732a0b3e35045228d', class: "close-button", onClick: () => this.active = false }, "\u00D7")), h("span", { key: 'ed21c8f3e5e3fa53d2a1d4a54835e0f4b63210c4', class: "message" }, " ", h("unity-typography", { key: '9283d1e980b03cd92e5721d7a41209ee0c109cdf', variant: 'body' }, " ", this.message, " "))));
29
29
  }
30
30
  static get watchers() { return {
31
31
  "active": ["activeChanged"]
@@ -24,7 +24,7 @@ const UdpPage$1 = /*@__PURE__*/ proxyCustomElement(class UdpPage extends H {
24
24
  padding: this.padding,
25
25
  margin: '0 auto', // Centers the content if max-width is set
26
26
  };
27
- return (h("div", { key: '1e21862453854a594552763318343637c1544de1', style: style }, h("slot", { key: 'fcdedce8e48062cd41721f509b5d1d034c218f7b' }), " "));
27
+ return (h("div", { key: '9a506250a5ee7200c405e7f3fe0a018dda294ab4', style: style }, h("slot", { key: 'eea699d0fed23736cfe071b86ac1449a52f51b0f' }), " "));
28
28
  }
29
29
  static get style() { return udpPageCss; }
30
30
  }, [257, "udp-page", {
@@ -44,7 +44,7 @@ const UdpPopOver = /*@__PURE__*/ proxyCustomElement(class UdpPopOver extends H {
44
44
  style['top'] = `${rect.bottom}px`;
45
45
  style['left'] = `${rect.left}px`;
46
46
  }
47
- return (h("div", { key: '8e551e93e0cd39e0a1945c6bba655986ce3f9ec4', class: "popover", style: style }, h("unity-typography", { key: 'f19947195b6539834bf48380c7ea628ec75c1119', variant: "caption-text" }, h("slot", { key: 'ff01703a997941175c2f3d94e3765015d604be86' }))));
47
+ return (h("div", { key: '8db3050c709cd4652f36b7f7fccdf5474fef6786', class: "popover", style: style }, h("unity-typography", { key: '1d45adc91c79e9c417161bedd9c347884738b612', variant: "caption-text" }, h("slot", { key: '4782e7ff5fef34f131e21b3c6e85c6162543aa11' }))));
48
48
  }
49
49
  get el() { return this; }
50
50
  static get watchers() { return {
@@ -121,7 +121,7 @@ const UdpPopOver = /*@__PURE__*/ proxyCustomElement(class UdpPopOver extends H {
121
121
  maxHeight: this.popoverMaxHeight,
122
122
  overflow: this.overflow
123
123
  };
124
- return (h(Host, { key: '5c088fd433163c11cc9af440ddbde003d95a0f96' }, h("div", { key: '37774fc4c4f7484e23bf848e58adee84a47f5d6c', class: "popover", style: style }, h("slot", { key: 'f479cfe2f59c6ddded24909b26f7f7a6aeba5d59' }))));
124
+ return (h(Host, { key: 'a064210032eb7db2bba02fee5c9a857fffc4cbcf' }, h("div", { key: '1cd02d254250afed442607f0925613dafb0ef63f', class: "popover", style: style }, h("slot", { key: '085cca6f9a387c33b56fd18d41b54fbfd4b59b90' }))));
125
125
  }
126
126
  get hostEl() { return this; }
127
127
  static get watchers() { return {
@@ -328,7 +328,7 @@ const UdpSelector = /*@__PURE__*/ proxyCustomElement(class UdpSelector extends H
328
328
  'focused': this.isOpen,
329
329
  };
330
330
  const hasSelection = this.multiSelect ? this.selectedOptions.length > 0 : !!this.selectedOption;
331
- return (h(Host, { key: 'a04488a812e21beb16efb0ffd3cbb8f559a04a73', class: {
331
+ return (h(Host, { key: 'ff3d430a821267669e8ba41d4d814be594042f0c', class: {
332
332
  'udp-input': true,
333
333
  'udp-selector': true,
334
334
  'udp-input--error': isError,
@@ -338,9 +338,9 @@ const UdpSelector = /*@__PURE__*/ proxyCustomElement(class UdpSelector extends H
338
338
  'udp-input--large': this.large,
339
339
  [`udp-input--size-${this.size}`]: true,
340
340
  [`udp-input--margin-${this.margin}`]: true,
341
- }, "aria-invalid": isError ? 'true' : 'false', "aria-required": this.required ? 'true' : 'false' }, h("div", { key: '0ee9bf4156989e69a4d87b565e292593f65fe28b', class: "bx--form-item" }, this.label && (h("unity-typography", { key: '7ef7eab435299b30aed9b0f5bcd9186b397160ff', variant: "caption-text" }, h("label", { key: 'bd7e81c0056b05c56dbd5da5c57e96eed713dabb', htmlFor: this.id, class: "bx--label" }, this.label, this.required ? '*' : ''))), h("div", { key: '7d6c0cec8000805938dcc119f8f0176d8d1a57ae', class: "udp-selector__container" }, h("div", { key: 'eea4f0f49348ea6187dc1ad4705e3cadc733ef6c', class: selectedOptionClasses, onClick: () => this.toggleDropdown(), tabindex: this.disabled || this.readonly ? '-1' : '0', role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen.toString(), id: 'udpRecord-udp-selector-' + this.id,
341
+ }, "aria-invalid": isError ? 'true' : 'false', "aria-required": this.required ? 'true' : 'false' }, h("div", { key: 'b81f9ba1806adfade81fb55b0f9ecc1fba2ce305', class: "bx--form-item" }, this.label && (h("unity-typography", { key: 'b207e16041dda5996f21e58c7d305a19ae9a5810', variant: "caption-text" }, h("label", { key: 'babd3165a21c7ff38199494a6276ee2c814632c5', htmlFor: this.id, class: "bx--label" }, this.label, this.required ? '*' : ''))), h("div", { key: '08bd70119c4f353d8ad318e298da088e2812fd99', class: "udp-selector__container" }, h("div", { key: 'b4aff7c12f9199ce974bb9591812ff9ddd94ef46', class: selectedOptionClasses, onClick: () => this.toggleDropdown(), tabindex: this.disabled || this.readonly ? '-1' : '0', role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.isOpen.toString(), id: 'udpRecord-udp-selector-' + this.id,
342
342
  // @ts-ignore
343
- udprecordid: 'udpRecord-udp-selector-' + this.id }, h("div", { key: 'e7e4f5b4fca4661810be2d3ed209e0a8605b15a1', class: {
343
+ udprecordid: 'udpRecord-udp-selector-' + this.id }, h("div", { key: 'fdc3d8248a8de967b0136f9cb8a259fcf0f309f2', class: {
344
344
  'selected-option-label': true,
345
345
  'placeholder': !hasSelection,
346
346
  } }, this.multiSelect
@@ -349,7 +349,7 @@ const UdpSelector = /*@__PURE__*/ proxyCustomElement(class UdpSelector extends H
349
349
  : 'Select option(s)'
350
350
  : this.selectedOption
351
351
  ? this.selectedOption.label
352
- : 'Select an option'), this.multiSelect && this.selectedOptions.length > 0 && h("span", { key: '4052d40ff41db33716893c6d65d2c48b4d45652b', class: "checkmark" }), h("div", { key: '8755c9ea4b73108d4e3c519562c89b4689b9ed3e', class: "arrow" })), this.isOpen && (h("ul", { key: '0f3b18e480ca1f008d60486e08ab131848f0f5aa', class: "options-list" }, this.options.map(option => (h("unity-typography", { variant: "button" }, h("li", { class: this.isOptionSelected(option) ? 'selected' : '', onClick: () => this.selectOption(option), onMouseDown: this.handleOptionMouseDown }, option.label, this.isOptionSelected(option) && h("span", { class: "checkmark" })))))))), this.errorMessage && (h("div", { key: 'adae8b2672e855ca67b7e58cba347ccbe235125b', class: "error-message" }, h("unity-typography", { key: 'a2910e6a68b8589ec75313d0eb28e570d9a99a63', variant: "caption-text", color: "error" }, this.errorMessage))))));
352
+ : 'Select an option'), this.multiSelect && this.selectedOptions.length > 0 && h("span", { key: '7bf13954e3374093da80d54c53f43d110f6575a5', class: "checkmark" }), h("div", { key: 'd3fe7ba8c3ab16fdc1073a8c9b494fbe324f23d0', class: "arrow" })), this.isOpen && (h("ul", { key: '0be46a38647b29310324b446993121d404e7bd77', class: "options-list" }, this.options.map(option => (h("unity-typography", { variant: "button" }, h("li", { class: this.isOptionSelected(option) ? 'selected' : '', onClick: () => this.selectOption(option), onMouseDown: this.handleOptionMouseDown }, option.label, this.isOptionSelected(option) && h("span", { class: "checkmark" })))))))), this.errorMessage && (h("div", { key: '6fdfcb547313774dc09085af93e07c75379097cc', class: "error-message" }, h("unity-typography", { key: '93ff63ec2f2c8e318bcdd51bbbf88ad7047a8dbc', variant: "caption-text", color: "error" }, this.errorMessage))))));
353
353
  }
354
354
  /**
355
355
  * Checks if a given option is currently selected.
@@ -1,14 +1,16 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h } from './index2.js';
2
2
  import Close24 from '@carbon/icons/es/close/24';
3
- import { d as defineCustomElement$7 } from './stencil-icon-button2.js';
4
- import { d as defineCustomElement$6 } from './udp-ambient-tool-tip2.js';
5
- import { d as defineCustomElement$5 } from './udp-badge2.js';
6
- import { d as defineCustomElement$4 } from './udp-button2.js';
7
- import { d as defineCustomElement$3 } from './udp-icon2.js';
8
- import { d as defineCustomElement$2 } from './udp-linear-loader2.js';
3
+ import { d as defineCustomElement$9 } from './stencil-icon-button2.js';
4
+ import { d as defineCustomElement$8 } from './udp-ambient-tool-tip2.js';
5
+ import { d as defineCustomElement$7 } from './udp-badge2.js';
6
+ import { d as defineCustomElement$6 } from './udp-button2.js';
7
+ import { d as defineCustomElement$5 } from './udp-icon2.js';
8
+ import { d as defineCustomElement$4 } from './udp-linear-loader2.js';
9
+ import { d as defineCustomElement$3 } from './udp-menu-item2.js';
10
+ import { d as defineCustomElement$2 } from './udp-pop-over2.js';
9
11
  import { d as defineCustomElement$1 } from './unity-typography2.js';
10
12
 
11
- const udpSideSheetCss = ":host{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;visibility:hidden;transition:visibility 0s 0.2s}:host(.is-visible){visibility:visible;transition-delay:0s}.backdrop{background:rgba(0, 0, 0, 0.5);width:100%;height:100%;position:fixed;top:0;left:0;opacity:0;transition:opacity 0.2s ease-in-out}:host(.is-visible) .backdrop{opacity:1}.sheet{background:white;height:100vh;position:fixed;top:0;display:flex;flex-direction:column;box-shadow:0 0 4px rgba(0, 0, 0, 0.3);transition:transform 0.2s ease-in-out;width:100%}.sheet.right{right:0;transform:translateX(100%)}.sheet.left{left:0;transform:translateX(-100%)}:host(.is-visible) .sheet{transform:translateX(0)}.sheet.sm{max-width:360px}.sheet.md{max-width:600px}.sheet.lg{max-width:960px}.sheet.full{max-width:100%}.sheet.custom-width{}.title-container{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));gap:var(--spacing-02)}.title-text{flex-grow:1;text-align:left;}.close-button{flex-shrink:0}.header-action-button{flex-shrink:0}.content{overflow-y:auto;flex-grow:1;background-color:var(--gray-01)}.content.padding{padding:var(--spacing-05, 24px)}.footer{padding:var(--spacing-05, 24px);border-top:1px solid #ccc;display:flex;justify-content:flex-end;flex-shrink:0}.loader-container{height:4px;width:100%;background-color:var(--gray-01)}.loader-container udp-linear-loader{visibility:hidden;opacity:0;transition:none}.loader-container udp-linear-loader.is-loading{visibility:visible;opacity:1;}";
13
+ const udpSideSheetCss = ":host{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;visibility:hidden;transition:visibility 0s 0.2s}:host(.is-visible){visibility:visible;transition-delay:0s}.backdrop{background:rgba(0, 0, 0, 0.5);width:100%;height:100%;position:fixed;top:0;left:0;opacity:0;transition:opacity 0.2s ease-in-out}:host(.is-visible) .backdrop{opacity:1}.sheet{background:white;height:100vh;position:fixed;top:0;display:flex;flex-direction:column;box-shadow:0 0 4px rgba(0, 0, 0, 0.3);transition:transform 0.2s ease-in-out;width:100%}.sheet.right{right:0;transform:translateX(100%)}.sheet.left{left:0;transform:translateX(-100%)}:host(.is-visible) .sheet{transform:translateX(0)}.sheet.sm{max-width:360px}.sheet.md{max-width:600px}.sheet.lg{max-width:960px}.sheet.full{max-width:100%}.sheet.custom-width{}.title-container{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));gap:var(--spacing-02)}.title-text{flex-grow:1;text-align:left;}.close-button{flex-shrink:0}.header-action-button{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-02, 4px);padding:var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0}.content{overflow-y:auto;flex-grow:1;background-color:var(--gray-01)}.content.padding{padding:var(--spacing-05, 24px)}.footer{padding:var(--spacing-03, 8px);box-shadow:var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));display:flex;justify-content:flex-end;flex-shrink:0;width:100%;gap:var(--spacing-02, 4px);align-items:center}.footer.secondary-button-overflow{flex-direction:row-reverse}.footer-secondary-buttons-container{flex-grow:2;width:100%}.footer-secondary-buttons{display:flex;justify-content:flex-end;gap:var(--spacing-02, 4px);align-items:center}.footer-secondary-buttons.secondary-button-overflow{flex-grow:1}.loader-container{height:4px;width:100%;background-color:var(--gray-01)}.loader-container udp-linear-loader{visibility:hidden;opacity:0;transition:none}.loader-container udp-linear-loader.is-loading{visibility:visible;opacity:1;}";
12
14
 
13
15
  const UdpSideSheet = /*@__PURE__*/ proxyCustomElement(class UdpSideSheet extends H {
14
16
  constructor(registerHost) {
@@ -20,62 +22,251 @@ const UdpSideSheet = /*@__PURE__*/ proxyCustomElement(class UdpSideSheet extends
20
22
  this.udpSideSheetClose = createEvent(this, "udpSideSheetClose");
21
23
  this.udpPrimaryButtonClick = createEvent(this, "udpPrimaryButtonClick");
22
24
  this.udpHeaderActionButtonClick = createEvent(this, "udpHeaderActionButtonClick");
25
+ /** When true, the side sheet is open and visible */
23
26
  this.open = false;
27
+ /** Position of the sheet on the screen */
24
28
  this.position = 'right';
29
+ /** Width preset or a numeric pixel width */
25
30
  this.width = 'md';
31
+ /** Controls whether default inner padding is applied */
26
32
  this.padding = true;
33
+ /** When true, shows a top loader */
27
34
  this.loading = false;
35
+ /** Whether the header action button is disabled */
28
36
  this.headerActionButtonDisabled = false;
37
+ /** Whether the primary footer button is disabled */
29
38
  this.primaryButtonDisabled = false;
39
+ /** Whether the footer should show the overflow "More" button */
40
+ this.showOverflowButton = false;
41
+ /** Whether the overflow popover is open */
42
+ this.openOverflowMenu = false;
43
+ this.visibleSecondaryButtons = [];
44
+ this.overflowSecondaryButtons = [];
45
+ /** Saved original document.body.overflow value to restore on close */
30
46
  this.originalBodyOverflow = '';
47
+ /** Saved original document.body.paddingRight value to restore on close */
48
+ this.originalBodyPaddingRight = '';
49
+ /**
50
+ * Transition end handler used to remove the host element from body after close.
51
+ *
52
+ * @private
53
+ */
31
54
  this.handleTransitionEnd = () => {
32
55
  if (!this.open && this.hostEl.parentElement === document.body) {
33
56
  document.body.removeChild(this.hostEl);
34
57
  }
35
58
  };
59
+ /**
60
+ * Close the side sheet and emit close event.
61
+ *
62
+ * @private
63
+ */
36
64
  this.onClose = () => {
37
65
  this.open = false;
38
66
  this.udpSideSheetClose.emit();
39
67
  };
68
+ /**
69
+ * Backdrop click handler. Only closes when clicking the backdrop itself.
70
+ *
71
+ * @param e - MouseEvent from the backdrop click
72
+ * @private
73
+ */
74
+ this.onCloseBackdrop = (e) => {
75
+ if (e.target === e.currentTarget) {
76
+ this.onClose();
77
+ }
78
+ };
79
+ /**
80
+ * Emit primary footer button click event.
81
+ *
82
+ * @private
83
+ */
40
84
  this.onPrimaryButtonClick = () => {
41
85
  this.udpPrimaryButtonClick.emit();
42
86
  };
43
- // Handler for the new header action button click
87
+ /**
88
+ * Emit header action button click event.
89
+ *
90
+ * @private
91
+ */
44
92
  this.onHeaderActionButtonClick = () => {
45
93
  this.udpHeaderActionButtonClick.emit();
46
94
  };
95
+ /**
96
+ * Open overflow menu anchored to the clicked element.
97
+ *
98
+ * @param event - MouseEvent from the "More" button click
99
+ * @private
100
+ */
101
+ this.onMoreActionButtonClick = (event) => {
102
+ this.overflowMenuAnchor = event.currentTarget;
103
+ this.openOverflowMenu = true;
104
+ };
105
+ /**
106
+ * Close the overflow popover.
107
+ *
108
+ * @param e - optional KeyboardEvent or MouseEvent (unused)
109
+ * @private
110
+ */
111
+ this.handleCloseOverflowMenu = () => {
112
+ this.openOverflowMenu = false;
113
+ };
47
114
  }
115
+ /**
116
+ * Watcher for `open` prop. Handles portal append/removal and body scroll lock.
117
+ *
118
+ * @param newValue - new value of the `open` prop
119
+ * @param oldValue - previous value of the `open` prop
120
+ */
48
121
  handleOpenChange(newValue, oldValue) {
49
122
  if (newValue === oldValue) {
50
123
  return;
51
124
  }
52
125
  if (newValue) {
126
+ // Calculate scrollbar width before hiding it
127
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
128
+ // Save original values
53
129
  this.originalBodyOverflow = document.body.style.overflow;
54
- document.body.style.overflow = 'hidden';
130
+ this.originalBodyPaddingRight = document.body.style.paddingRight;
55
131
  document.body.appendChild(this.hostEl);
132
+ // Add padding to compensate for scrollbar
133
+ if (scrollbarWidth > 0) {
134
+ const currentPadding = parseInt(window.getComputedStyle(document.body).paddingRight) || 0;
135
+ document.body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;
136
+ }
137
+ document.body.style.overflow = 'hidden';
56
138
  requestAnimationFrame(() => {
57
139
  this.hostEl.classList.add('is-visible');
140
+ // Check overflow after the side sheet is visible
141
+ setTimeout(() => this.checkOverflow(), 50);
58
142
  });
59
143
  }
60
144
  else {
61
145
  this.hostEl.classList.remove('is-visible');
62
146
  document.body.style.overflow = this.originalBodyOverflow;
147
+ document.body.style.paddingRight = this.originalBodyPaddingRight;
63
148
  this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });
64
149
  }
65
150
  }
151
+ /**
152
+ * Watcher for footer secondary buttons changes. Triggers overflow recalculation.
153
+ */
154
+ handleSecondaryButtonsChange() {
155
+ // Recheck overflow when buttons change
156
+ setTimeout(() => this.checkOverflow(), 50);
157
+ }
158
+ /**
159
+ * Measures footer buttons in an offscreen container and sets `showOverflowButton`.
160
+ * Safely returns early if required refs are unavailable.
161
+ */
162
+ checkOverflow() {
163
+ if (!this.footerRef || !this.measurementContainerRef) {
164
+ return;
165
+ }
166
+ if (!this.footerSecondaryButtons || this.footerSecondaryButtons.length === 0) {
167
+ this.showOverflowButton = false;
168
+ return;
169
+ }
170
+ // Get the footer container width (minus padding)
171
+ const footerWidth = this.footerRef.offsetWidth;
172
+ const footerStyle = window.getComputedStyle(this.footerRef);
173
+ const footerPaddingLeft = parseFloat(footerStyle.paddingLeft);
174
+ const footerPaddingRight = parseFloat(footerStyle.paddingRight);
175
+ const availableWidth = footerWidth - footerPaddingLeft - footerPaddingRight;
176
+ // Measure all buttons in the hidden measurement container
177
+ const measurementButtons = this.measurementContainerRef.querySelectorAll('udp-button');
178
+ let totalWidth = 0;
179
+ measurementButtons.forEach((button, index) => {
180
+ const buttonWidth = button && button instanceof H ? button.offsetWidth : 0;
181
+ totalWidth += buttonWidth;
182
+ // Add gap spacing between buttons (except for the last one)
183
+ if (index < measurementButtons.length - 1) {
184
+ const containerStyle = window.getComputedStyle(this.measurementContainerRef);
185
+ const gap = parseFloat(containerStyle.gap) || 4; // Default gap from CSS
186
+ totalWidth += gap;
187
+ }
188
+ });
189
+ // Add a small buffer to prevent edge cases
190
+ const buffer = 10;
191
+ const isOverflowing = totalWidth + buffer > availableWidth;
192
+ this.showOverflowButton = isOverflowing;
193
+ }
194
+ /**
195
+ * Lifecycle: componentDidLoad. Sets up ResizeObserver and initial overflow check.
196
+ *
197
+ * @private
198
+ */
199
+ componentDidLoad() {
200
+ {
201
+ // Set up ResizeObserver to watch for footer size changes
202
+ this.resizeObserver = new ResizeObserver(() => {
203
+ this.checkOverflow();
204
+ });
205
+ // Initial check after a small delay to ensure DOM is ready
206
+ requestAnimationFrame(() => {
207
+ setTimeout(() => {
208
+ if (this.footerRef) {
209
+ this.resizeObserver.observe(this.footerRef);
210
+ }
211
+ this.checkOverflow();
212
+ }, 100);
213
+ });
214
+ }
215
+ }
216
+ /**
217
+ * Lifecycle: disconnectedCallback. Restores body styles and disconnects observers.
218
+ *
219
+ * @private
220
+ */
66
221
  disconnectedCallback() {
67
222
  if (document.body.style.overflow === 'hidden') {
68
223
  document.body.style.overflow = this.originalBodyOverflow;
224
+ document.body.style.paddingRight = this.originalBodyPaddingRight;
225
+ }
226
+ // Clean up ResizeObserver
227
+ if (this.resizeObserver) {
228
+ this.resizeObserver.disconnect();
69
229
  }
70
230
  }
231
+ /**
232
+ * Render the component UI.
233
+ *
234
+ * @returns JSX element tree
235
+ * @private
236
+ */
71
237
  render() {
238
+ var _a, _b, _c, _d, _e, _f, _g;
72
239
  const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;
73
240
  const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};
74
- return (h("div", { key: '3071b6fbf443030422ad30d2fc7a86a3c71d060a', class: "backdrop", onClick: this.onClose }, h("div", { key: '75ae7c0f6bc4da076a3cd04579fc09252f701eb3', class: { sheet: true, [this.position]: true, [widthClass]: true }, style: sideSheetStyle, onClick: e => e.stopPropagation() }, h("div", { key: 'ec51c197afe4b00084881abb8688ca8f4f994a30', class: "title-container" }, h("div", { key: 'f382e9b4bf63314092b0b5d326069a9ca2316272', class: "close-button" }, h("stencil-icon-button", { key: 'ff449c9a65921a12207f2f4f6daaa45d9ff652c0', icon: Close24, onClick: this.onClose, secondary: true })), h("div", { key: '72e80626b9f519098dd069ebb357061f5e7008f8', class: "title-text" }, h("unity-typography", { key: 'fa7de8f448021ef6ac8a34d4825dcad745124dd2', variant: "h6" }, this.title)), this.headerActionButtonLabel && (h("div", { key: 'bcce55c18c3ff2b80cea48f471468ece741dc0bd', class: "header-action-button" }, h("udp-button", { key: '09d1343460e8b0d7fdceb8769ed8387647ab5a34', disabled: this.headerActionButtonDisabled, onClick: this.onHeaderActionButtonClick, startIcon: h("udp-icon", { iconName: this.headerActionButtonIcon, color: 'inherit' }), variant: "contained" }, this.headerActionButtonLabel)))), h("div", { key: '594932ae9ee30cfd5415fefcd48765c3d3f21aea', class: "loader-container" }, h("udp-linear-loader", { key: 'f3d09a98c7ac6bd22699339d2d0a7325c035e63d', class: { 'is-loading': this.loading }, color: "primary" })), h("div", { key: '59e987c1780a950dcdc8f56f012087a0ba55acb0', class: { content: true, padding: this.padding } }, h("slot", { key: 'fda6cf654587b15f3a28443b47a30f7564b2bf57' })), this.primaryButtonLabel && (h("div", { key: 'c6434be80f44e6f8a277bdff49503f67db5cdca7', class: "footer" }, h("udp-button", { key: '522a0e7bb290472cb1704bc4f61bf2a22ebda668', variant: "contained", size: "large", disabled: this.primaryButtonDisabled, onClick: this.onPrimaryButtonClick, endIcon: this.primaryButtonIcon }, this.primaryButtonLabel))))));
241
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
242
+ const headerStartIcon = Boolean(this.headerActionButtonIcon) ? (h("udp-icon", { iconName: this.headerActionButtonIcon, color: "inherit" })) : undefined;
243
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
244
+ const overflowIcon = h("udp-icon", { key: '3262baafbf833e25e0b4d1128b24fb503d1dd157', iconName: "overflowMenuVertical", color: "inherit" });
245
+ return (h("div", { key: '780c5705588899683400da7bce6569ad8ce15d30', class: "backdrop", onClick: this.onCloseBackdrop }, h("div", { key: 'a68811f8a6c59239c60c048453bb63eae7ed7ee0', class: { sheet: true, [this.position]: true, [widthClass]: true }, style: sideSheetStyle }, h("div", { key: '82207996d3f164f4e4a27132a64d6ce6b82ac401', class: "title-container" }, h("div", { key: 'e29501f861893b9e61f72509c44c337e7d1a5fb1', class: "close-button" }, h("stencil-icon-button", { key: '8980a42b0d47582a0fd91998cafe5c57982e9c04',
246
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
247
+ icon: Close24, onClick: this.onClose, secondary: true })), h("div", { key: '6b71ecb62ed1bac4560ca3e8e4ff1f643ee98555', class: "title-text" }, h("unity-typography", { key: 'b5f420d289dd23f040100d82def0ff635038cafd', variant: "h6" }, this.title)), (this.headerActionButtonLabel || ((_a = this.headerSecondaryButtons) === null || _a === void 0 ? void 0 : _a.length) > 0) && (h("div", { key: '65b8198f2a63096839fa678b6b69761ea2a93196', class: "header-action-button" }, (_b = this.headerSecondaryButtons) === null || _b === void 0 ? void 0 :
248
+ _b.map((item) => (h("udp-button", { variant: "outlined", disabled: item.disabled, onClick: item.onClick, endIcon: item.icon }, item.label))), this.headerActionButtonLabel && (h("udp-button", { key: 'a9985bcd675163a0a3dc47ea88cfe35e98a830fb', disabled: this.headerActionButtonDisabled, onClick: this.onHeaderActionButtonClick,
249
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
250
+ startIcon: headerStartIcon, variant: "contained" }, this.headerActionButtonLabel))))), h("div", { key: '362358edc955be022239e6662a0403baf49a4444', class: "loader-container" }, h("udp-linear-loader", { key: '0f93c37fc52e8400fbdb2d0db0879b49eb605859', class: { 'is-loading': this.loading }, color: "primary" })), h("div", { key: 'a2e70b272eb6f02878845350b7057908fdbb0cb2', class: { content: true, padding: this.padding } }, h("slot", { key: 'c6128fac4e8549fda3c25db826ed0377759a3bbb' })), (this.primaryButtonLabel || ((_c = this.footerSecondaryButtons) === null || _c === void 0 ? void 0 : _c.length) > 0) && (h("div", { key: '2d408d1f87df636effab01487739762b52c8897f' }, h("div", { key: '2fbdee5102a9837cc26d3f0cafb37141ebcc1527', class: "loader-container" }), h("div", { key: '8ba75738ab5ac6c4d33f828988f2d1e85ae1e3d5', class: {
251
+ footer: true,
252
+ }, ref: el => (this.footerRef = el) }, !this.showOverflowButton && ((_d = this.footerSecondaryButtons) === null || _d === void 0 ? void 0 : _d.length) > 0 && (h("div", { key: '13c00f7ff092655600f11885ce39d9acd4b9b26a', class: "footer-secondary-buttons-container" }, h("div", { key: '9bc81711a693c84bdab3274e67588193dc226203', class: "footer-secondary-buttons" }, (_e = this.footerSecondaryButtons) === null || _e === void 0 ? void 0 : _e.map((item) => (h("udp-button", { variant: "outlined", disabled: item.disabled, onClick: item.onClick, endIcon: item.icon }, item.label)))))), this.showOverflowButton && (h("udp-button", { key: '92c871d74675c9fd42ac890d9c5efe8e39a6aeb2', variant: "outlined", onClick: this.onMoreActionButtonClick, color: "secondary",
253
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
254
+ endIcon: overflowIcon }, "More")), this.primaryButtonLabel && (h("udp-button", { key: '94acda01904ab4265ced91dd6ef6e6d9ab788784', variant: "contained", disabled: this.primaryButtonDisabled, onClick: this.onPrimaryButtonClick, endIcon: this.primaryButtonIcon }, this.primaryButtonLabel)), this.showOverflowButton && (h("udp-pop-over", { key: 'c839371b5401fb7433417cba6b705c08c2242c09', anchorElement: this.overflowMenuAnchor, isOpen: this.openOverflowMenu, popoverWidth: '200px', popoverMaxHeight: '300px', handleOnClose: this.handleCloseOverflowMenu }, h("div", { key: '368023d9643a123acfa8215dab9ceaa85e613fbf', class: "menu" }, (_f = this.footerSecondaryButtons) === null || _f === void 0 ? void 0 : _f.map(item => (h("udp-menu-item", { label: item === null || item === void 0 ? void 0 : item.label, iconName: item === null || item === void 0 ? void 0 : item.icon, onItemClick: () => {
255
+ item === null || item === void 0 ? void 0 : item.onClick();
256
+ this.handleCloseOverflowMenu();
257
+ }, disabled: item === null || item === void 0 ? void 0 : item.disabled })))))), h("div", { key: '2dfb53eb181826fce129e856a4427da9edaeb756', ref: el => (this.measurementContainerRef = el), style: {
258
+ position: 'absolute',
259
+ visibility: 'hidden',
260
+ pointerEvents: 'none',
261
+ display: 'flex',
262
+ gap: 'var(--spacing-02, 4px)',
263
+ }, "aria-hidden": "true" }, (_g = this.footerSecondaryButtons) === null || _g === void 0 ? void 0 :
264
+ _g.map((item) => (h("udp-button", { variant: "text", size: "medium", disabled: item.disabled, endIcon: item.icon }, item.label))), this.primaryButtonLabel && (h("udp-button", { key: '5e6f99245f8649cbacfee9c34a88967966c2e856', variant: "contained", size: "medium", disabled: this.primaryButtonDisabled, endIcon: this.primaryButtonIcon }, this.primaryButtonLabel)))))))));
75
265
  }
76
266
  get hostEl() { return this; }
77
267
  static get watchers() { return {
78
- "open": ["handleOpenChange"]
268
+ "open": ["handleOpenChange"],
269
+ "footerSecondaryButtons": ["handleSecondaryButtonsChange"]
79
270
  }; }
80
271
  static get style() { return udpSideSheetCss; }
81
272
  }, [257, "udp-side-sheet", {
@@ -88,17 +279,25 @@ const UdpSideSheet = /*@__PURE__*/ proxyCustomElement(class UdpSideSheet extends
88
279
  "headerActionButtonLabel": [1, "header-action-button-label"],
89
280
  "headerActionButtonDisabled": [4, "header-action-button-disabled"],
90
281
  "headerActionButtonIcon": [1, "header-action-button-icon"],
282
+ "headerSecondaryButtons": [16],
91
283
  "primaryButtonLabel": [1, "primary-button-label"],
92
284
  "primaryButtonDisabled": [4, "primary-button-disabled"],
93
- "primaryButtonIcon": [1, "primary-button-icon"]
285
+ "primaryButtonIcon": [1, "primary-button-icon"],
286
+ "footerSecondaryButtons": [16],
287
+ "showOverflowButton": [32],
288
+ "openOverflowMenu": [32],
289
+ "overflowMenuAnchor": [32],
290
+ "visibleSecondaryButtons": [32],
291
+ "overflowSecondaryButtons": [32]
94
292
  }, undefined, {
95
- "open": ["handleOpenChange"]
293
+ "open": ["handleOpenChange"],
294
+ "footerSecondaryButtons": ["handleSecondaryButtonsChange"]
96
295
  }]);
97
296
  function defineCustomElement() {
98
297
  if (typeof customElements === "undefined") {
99
298
  return;
100
299
  }
101
- const components = ["udp-side-sheet", "stencil-icon-button", "udp-ambient-tool-tip", "udp-badge", "udp-button", "udp-icon", "udp-linear-loader", "unity-typography"];
300
+ const components = ["udp-side-sheet", "stencil-icon-button", "udp-ambient-tool-tip", "udp-badge", "udp-button", "udp-icon", "udp-linear-loader", "udp-menu-item", "udp-pop-over", "unity-typography"];
102
301
  components.forEach(tagName => { switch (tagName) {
103
302
  case "udp-side-sheet":
104
303
  if (!customElements.get(tagName)) {
@@ -107,30 +306,40 @@ function defineCustomElement() {
107
306
  break;
108
307
  case "stencil-icon-button":
109
308
  if (!customElements.get(tagName)) {
110
- defineCustomElement$7();
309
+ defineCustomElement$9();
111
310
  }
112
311
  break;
113
312
  case "udp-ambient-tool-tip":
114
313
  if (!customElements.get(tagName)) {
115
- defineCustomElement$6();
314
+ defineCustomElement$8();
116
315
  }
117
316
  break;
118
317
  case "udp-badge":
119
318
  if (!customElements.get(tagName)) {
120
- defineCustomElement$5();
319
+ defineCustomElement$7();
121
320
  }
122
321
  break;
123
322
  case "udp-button":
124
323
  if (!customElements.get(tagName)) {
125
- defineCustomElement$4();
324
+ defineCustomElement$6();
126
325
  }
127
326
  break;
128
327
  case "udp-icon":
129
328
  if (!customElements.get(tagName)) {
130
- defineCustomElement$3();
329
+ defineCustomElement$5();
131
330
  }
132
331
  break;
133
332
  case "udp-linear-loader":
333
+ if (!customElements.get(tagName)) {
334
+ defineCustomElement$4();
335
+ }
336
+ break;
337
+ case "udp-menu-item":
338
+ if (!customElements.get(tagName)) {
339
+ defineCustomElement$3();
340
+ }
341
+ break;
342
+ case "udp-pop-over":
134
343
  if (!customElements.get(tagName)) {
135
344
  defineCustomElement$2();
136
345
  }
@@ -1 +1 @@
1
- {"file":"udp-side-sheet2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.css?tag=udp-side-sheet&encapsulation=shadow","src/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.tsx"],"sourcesContent":[":host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n z-index: 9999;\n visibility: hidden;\n transition: visibility 0s 0.2s;\n}\n\n:host(.is-visible) {\n visibility: visible;\n transition-delay: 0s;\n}\n\n.backdrop {\n background: rgba(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n position: fixed;\n top: 0;\n left: 0;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n}\n\n:host(.is-visible) .backdrop {\n opacity: 1;\n}\n\n.sheet {\n background: white;\n height: 100vh;\n position: fixed;\n top: 0;\n display: flex;\n flex-direction: column;\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\n transition: transform 0.2s ease-in-out;\n width: 100%;\n}\n\n.sheet.right {\n right: 0;\n transform: translateX(100%);\n}\n\n.sheet.left {\n left: 0;\n transform: translateX(-100%);\n}\n\n:host(.is-visible) .sheet {\n transform: translateX(0);\n}\n\n.sheet.sm { max-width: 360px; }\n.sheet.md { max-width: 600px; }\n.sheet.lg { max-width: 960px; }\n.sheet.full { max-width: 100%; }\n.sheet.custom-width { /* max-width is set via inline style */ }\n\n/* Updated title container for new layout */\n.title-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-shrink: 0;\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\n gap: var(--spacing-02)\n}\n\n.title-text {\n flex-grow: 1;\n text-align: left; /* Ensure title stays left-aligned */\n}\n\n.close-button {\n flex-shrink: 0;\n}\n\n/* Added styles for the new button's container */\n.header-action-button {\n flex-shrink: 0;\n}\n\n.content {\n overflow-y: auto;\n flex-grow: 1;\n background-color: var(--gray-01);\n}\n\n.content.padding {\n padding: var(--spacing-05, 24px);\n}\n\n.footer {\n padding: var(--spacing-05, 24px);\n border-top: 1px solid #ccc;\n display: flex;\n justify-content: flex-end;\n flex-shrink: 0;\n}\n\n\n/* This container reserves the space for the loader (4px height).\n This prevents the content below it from shifting up and down\n when the loader appears or disappears.\n*/\n.loader-container {\n height: 4px;\n width: 100%;\n background-color: var(--gray-01);\n}\n\n/*\n By default, the loader is instantly hidden.\n There is no transition applied in its hidden state.\n*/\n.loader-container udp-linear-loader {\n visibility: hidden;\n opacity: 0;\n transition: none;\n}\n\n/*\n When the .is-loading class is applied, we make the loader visible\n AND apply a transition so it fades in smoothly. When the class is removed,\n it reverts to the rule above and disappears instantly.\n*/\n.loader-container udp-linear-loader.is-loading {\n visibility: visible;\n opacity: 1;\n /* transition: opacity 0.3s ease-in-out; */\n}\n\n","import { Component, h, Prop, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport Close24 from '@carbon/icons/es/close/24';\n\n@Component({\n tag: 'udp-side-sheet',\n styleUrl: 'udp-side-sheet.css',\n shadow: true,\n})\nexport class UdpSideSheet {\n @Element() hostEl!: HTMLElement;\n\n @Prop({ reflect: true, mutable: true }) open = false;\n @Prop() title: string;\n @Prop() position: 'left' | 'right' = 'right';\n @Prop() width: 'sm' | 'md' | 'lg' | 'full' | number = 'md';\n @Prop() padding = true;\n @Prop() loading: boolean = false;\n\n // Props for the new header action button\n @Prop() headerActionButtonLabel: string;\n @Prop() headerActionButtonDisabled = false;\n @Prop() headerActionButtonIcon: string;\n\n // Props for the existing footer button\n @Prop() primaryButtonLabel: string;\n @Prop() primaryButtonDisabled = false;\n @Prop() primaryButtonIcon: string;\n\n @Event() udpSideSheetClose: EventEmitter<void>;\n @Event() udpPrimaryButtonClick: EventEmitter<void>;\n // Event for the new header action button\n @Event() udpHeaderActionButtonClick: EventEmitter<void>;\n\n private originalBodyOverflow: string = '';\n\n @Watch('open')\n handleOpenChange(newValue: boolean, oldValue: boolean) {\n if (newValue === oldValue) {\n return;\n }\n\n if (newValue) {\n this.originalBodyOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n document.body.appendChild(this.hostEl);\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 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 }\n\n private onClose = () => {\n this.open = false;\n this.udpSideSheetClose.emit();\n };\n\n private onPrimaryButtonClick = () => {\n this.udpPrimaryButtonClick.emit();\n };\n\n // Handler for the new header action button click\n private onHeaderActionButtonClick = () => {\n this.udpHeaderActionButtonClick.emit();\n };\n\n render() {\n const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;\n const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};\n\n return (\n <div class=\"backdrop\" onClick={this.onClose}>\n <div\n class={{ sheet: true, [this.position]: true, [widthClass]: true }}\n style={sideSheetStyle}\n onClick={e => e.stopPropagation()}\n >\n {/* Header layout has been changed here */}\n <div class=\"title-container\">\n <div class=\"close-button\">\n <stencil-icon-button\n icon={Close24}\n onClick={this.onClose}\n secondary\n ></stencil-icon-button>\n </div>\n <div class=\"title-text\">\n <unity-typography variant=\"h6\">{this.title}</unity-typography>\n </div>\n {/* Conditionally render the new header action button */}\n {this.headerActionButtonLabel && (\n <div class=\"header-action-button\">\n <udp-button\n disabled={this.headerActionButtonDisabled}\n onClick={this.onHeaderActionButtonClick}\n startIcon={<udp-icon iconName={this.headerActionButtonIcon} color={'inherit'} />}\n variant=\"contained\"\n >\n {this.headerActionButtonLabel}\n </udp-button>\n </div>\n )}\n </div>\n <div class=\"loader-container\">\n <udp-linear-loader class={{ 'is-loading': this.loading }} color=\"primary\" />\n </div>\n\n <div class={{ content: true, padding: this.padding }}>\n\n <slot />\n </div>\n {this.primaryButtonLabel && (\n <div class=\"footer\">\n <udp-button\n variant=\"contained\"\n size=\"large\"\n disabled={this.primaryButtonDisabled}\n onClick={this.onPrimaryButtonClick}\n endIcon={this.primaryButtonIcon}\n >\n {this.primaryButtonLabel}\n </udp-button>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"udp-side-sheet2.js","mappings":";;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,4hEAA4hE;;MCuBviE,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AALzB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;;AAU0C,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;;AAM5C,QAAA,IAAQ,CAAA,QAAA,GAAqB,OAAO;;AAGpC,QAAA,IAAK,CAAA,KAAA,GAAyC,IAAI;;AAGlD,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI;;AAGd,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;;AAQxB,QAAA,IAA0B,CAAA,0BAAA,GAAG,KAAK;;AAclC,QAAA,IAAqB,CAAA,qBAAA,GAAG,KAAK;;AAkB5B,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK;;AAGnC,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK;AAKjC,QAAA,IAAuB,CAAA,uBAAA,GAAsB,EAAE;AAC/C,QAAA,IAAwB,CAAA,wBAAA,GAAsB,EAAE;;AAGjD,QAAA,IAAoB,CAAA,oBAAA,GAAW,EAAE;;AAYjC,QAAA,IAAwB,CAAA,wBAAA,GAAW,EAAE;AAkG7C;;;;AAIG;AACK,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;AA2CD;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK;AACjB,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AAC/B,SAAC;AAED;;;;;AAKG;AACK,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,CAAa,KAAI;YAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,EAAE;gBAChC,IAAI,CAAC,OAAO,EAAE;;AAElB,SAAC;AAED;;;;AAIG;AACK,QAAA,IAAoB,CAAA,oBAAA,GAAG,MAAK;AAClC,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;AACnC,SAAC;AAED;;;;AAIG;AACK,QAAA,IAAyB,CAAA,yBAAA,GAAG,MAAK;AACvC,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE;AACxC,SAAC;AAED;;;;;AAKG;AACK,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,KAAiB,KAAI;AACtD,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,aAA4B;AAC5D,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC9B,SAAC;AAED;;;;;AAKG;AACK,QAAA,IAAuB,CAAA,uBAAA,GAAG,MAAK;AACrC,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC/B,SAAC;AA4LF;AA3YC;;;;;AAKG;IAEH,gBAAgB,CAAC,QAAiB,EAAE,QAAiB,EAAA;AACnD,QAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB;;QAGF,IAAI,QAAQ,EAAE;;YAEZ,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW;;YAG/E,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YACxD,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;YAEhE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGtC,YAAA,IAAI,cAAc,GAAG,CAAC,EAAE;AACtB,gBAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;AACzF,gBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAA,EAAG,cAAc,GAAG,cAAc,CAAA,EAAA,CAAI;;YAG3E,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;YAEvC,qBAAqB,CAAC,MAAK;gBACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;;gBAEvC,UAAU,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC;AAC5C,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,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB;AAChE,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;;AAI3F;;AAEG;IAEH,4BAA4B,GAAA;;QAE1B,UAAU,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC;;AAG5C;;;AAGG;IACK,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACpD;;AAGF,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5E,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;YAC/B;;;AAIF,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;QAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3D,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC;QAC7D,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;AAC/D,QAAA,MAAM,cAAc,GAAG,WAAW,GAAG,iBAAiB,GAAG,kBAAkB;;QAG3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,YAAY,CAAC;QACtF,IAAI,UAAU,GAAG,CAAC;QAElB,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;AAC3C,YAAA,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,YAAYA,CAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;YACpF,UAAU,IAAI,WAAW;;YAGzB,IAAI,KAAK,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,CAAC;AAC5E,gBAAA,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChD,UAAU,IAAI,GAAG;;AAErB,SAAC,CAAC;;QAGF,MAAM,MAAM,GAAG,EAAE;AACjB,QAAA,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc;AAE1D,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa;;AAczC;;;;AAIG;IACH,gBAAgB,GAAA;AACd,QAAqB;;AAEnB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;gBAC5C,IAAI,CAAC,aAAa,EAAE;AACtB,aAAC,CAAC;;YAGF,qBAAqB,CAAC,MAAK;gBACzB,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;oBAE7C,IAAI,CAAC,aAAa,EAAE;iBACrB,EAAE,GAAG,CAAC;AACT,aAAC,CAAC;;;AAIN;;;;AAIG;IACH,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;YACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB;;;AAIlE,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;;;AAiEpC;;;;;AAKG;IACH,MAAM,GAAA;;AACJ,QAAA,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK;QAC/E,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAA,EAAA,CAAI,EAAE,GAAG,EAAE;;AAE5F,QAAA,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAC1D,CAAU,CAAA,UAAA,EAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAC,SAAS,EAAG,CAAA,IACjE,SAAS;;QAEb,MAAM,YAAY,GAAG,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,QAAQ,EAAC,sBAAsB,EAAC,KAAK,EAAC,SAAS,EAAA,CAAG;QAEjF,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAA,EACjD,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,EACjE,KAAK,EAAE,cAAc,EAAA,EAGrB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA;;YAEE,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAA,IAAA,EAAA,CACY,CACnB,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,KAAK,CAAoB,CAC1D,EAEL,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAA,MAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,IAAG,CAAC,MACvE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,sBAAsB,EAC9B,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA;AAAE,YAAA,EAAA,CAAA,GAAG,CAAC,CAAC,IAAqB,MACtD,CACE,CAAA,YAAA,EAAA,EAAA,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,IAAI,IAEjB,IAAI,CAAC,KAAK,CACA,CACd,CAAC,EACD,IAAI,CAAC,uBAAuB,KAC3B,mEACE,QAAQ,EAAE,IAAI,CAAC,0BAA0B,EACzC,OAAO,EAAE,IAAI,CAAC,yBAAyB;;AAEvC,YAAA,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAC,WAAW,EAAA,EAElB,IAAI,CAAC,uBAAuB,CAClB,CACd,CACG,CACP,CACG,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3B,CAAA,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAmB,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAC,SAAS,GAAG,CACxE,EAEN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAA,EAClD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EACL,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,0CAAE,MAAM,IAAG,CAAC,MAClE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAO,CAAA,EACpC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACb,aAAA,EACD,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,EAAA,EAG/B,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM,IAAG,CAAC,KAClE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oCAAoC,EAAA,EAC7C,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EAClC,MAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,IAAqB,MACtD,kBACE,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,IAAI,EAAA,EAEjB,IAAI,CAAC,KAAK,CACA,CACd,CAAC,CACE,CACF,CACP,EAGA,IAAI,CAAC,kBAAkB,KACtB,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,IAAI,CAAC,uBAAuB,EACrC,KAAK,EAAC,WAAW;;YAEjB,OAAO,EAAE,YAAY,EAAA,EAAA,MAAA,CAGV,CACd,EAGA,IAAI,CAAC,kBAAkB,KACtB,CACE,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAE9B,EAAA,IAAI,CAAC,kBAAkB,CACb,CACd,EAGA,IAAI,CAAC,kBAAkB,KACtB,CACE,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,aAAa,EAAE,IAAI,CAAC,kBAAkB,EACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAC7B,YAAY,EAAE,OAAO,EACrB,gBAAgB,EAAE,OAAO,EACzB,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAA,EAE3C,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,MAAM,IACd,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,GAAG,CAAC,IAAI,KACpC,CAAA,CAAA,eAAA,EAAA,EACE,KAAK,EAAE,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAClB,QAAQ,EAAE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,IAAI,EACpB,WAAW,EAAE,MAAK;AAChB,gBAAA,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,OAAO,EAAE;gBACf,IAAI,CAAC,uBAAuB,EAAE;aAC/B,EACD,QAAQ,EAAE,IAAI,aAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,QAAQ,EACxB,CAAA,CACH,CAAC,CACE,CACO,CAChB,EAGD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,EAC9C,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,aAAa,EAAE,MAAM;AACrB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,GAAG,EAAE,wBAAwB;aAC9B,EAAA,aAAA,EACW,MAAM,EAAA,EAEjB,CAAA,EAAA,GAAA,IAAI,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA;AAAE,YAAA,EAAA,CAAA,GAAG,CAAC,CAAC,IAAqB,MACtD,CACE,CAAA,YAAA,EAAA,EAAA,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,IAAI,IAEjB,IAAI,CAAC,KAAK,CACA,CACd,CAAC,EACD,IAAI,CAAC,kBAAkB,KACtB,CAAA,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAA,EAE9B,IAAI,CAAC,kBAAkB,CACb,CACd,CACG,CACF,CACF,CACP,CACG,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.css?tag=udp-side-sheet&encapsulation=shadow","src/components/my-component/UI/drawers/udp-side-sheet/udp-side-sheet.tsx"],"sourcesContent":[":host {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100vw;\r\n height: 100vh;\r\n z-index: 9999;\r\n visibility: hidden;\r\n transition: visibility 0s 0.2s;\r\n}\r\n\r\n:host(.is-visible) {\r\n visibility: visible;\r\n transition-delay: 0s;\r\n}\r\n\r\n.backdrop {\r\n background: rgba(0, 0, 0, 0.5);\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n opacity: 0;\r\n transition: opacity 0.2s ease-in-out;\r\n}\r\n\r\n:host(.is-visible) .backdrop {\r\n opacity: 1;\r\n}\r\n\r\n.sheet {\r\n background: white;\r\n height: 100vh;\r\n position: fixed;\r\n top: 0;\r\n display: flex;\r\n flex-direction: column;\r\n box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);\r\n transition: transform 0.2s ease-in-out;\r\n width: 100%;\r\n}\r\n\r\n.sheet.right {\r\n right: 0;\r\n transform: translateX(100%);\r\n}\r\n\r\n.sheet.left {\r\n left: 0;\r\n transform: translateX(-100%);\r\n}\r\n\r\n:host(.is-visible) .sheet {\r\n transform: translateX(0);\r\n}\r\n\r\n.sheet.sm { max-width: 360px; }\r\n.sheet.md { max-width: 600px; }\r\n.sheet.lg { max-width: 960px; }\r\n.sheet.full { max-width: 100%; }\r\n.sheet.custom-width { /* max-width is set via inline style */ }\r\n\r\n/* Updated title container for new layout */\r\n.title-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n flex-shrink: 0;\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n gap: var(--spacing-02)\r\n}\r\n\r\n.title-text {\r\n flex-grow: 1;\r\n text-align: left; /* Ensure title stays left-aligned */\r\n}\r\n\r\n.close-button {\r\n flex-shrink: 0;\r\n}\r\n\r\n/* Added styles for the new button's container */\r\n.header-action-button {\r\n flex-shrink: 0;\r\n display: flex;\r\n align-items: center;\r\n gap: var(--spacing-02, 4px);\r\n padding: var(--spacing-03, 8px) var(--spacing-03, 8px) var(--spacing-03, 8px) 0;\r\n}\r\n\r\n.content {\r\n overflow-y: auto;\r\n flex-grow: 1;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n.content.padding {\r\n padding: var(--spacing-05, 24px);\r\n}\r\n\r\n.footer {\r\n padding: var(--spacing-03, 8px);\r\n box-shadow: var(--elevation-01, 0 4px 8px rgba(0, 0, 0, 0.1));\r\n display: flex;\r\n justify-content: flex-end;\r\n flex-shrink: 0;\r\n width: 100%;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer.secondary-button-overflow{\r\n flex-direction: row-reverse;\r\n}\r\n\r\n.footer-secondary-buttons-container{\r\n flex-grow: 2;\r\n width: 100%;\r\n}\r\n\r\n.footer-secondary-buttons{\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: var(--spacing-02, 4px);\r\n align-items: center;\r\n}\r\n\r\n.footer-secondary-buttons.secondary-button-overflow{\r\n flex-grow: 1;\r\n}\r\n\r\n/* This container reserves the space for the loader (4px height).\r\n This prevents the content below it from shifting up and down\r\n when the loader appears or disappears.\r\n*/\r\n.loader-container {\r\n height: 4px;\r\n width: 100%;\r\n background-color: var(--gray-01);\r\n}\r\n\r\n/*\r\n By default, the loader is instantly hidden.\r\n There is no transition applied in its hidden state.\r\n*/\r\n.loader-container udp-linear-loader {\r\n visibility: hidden;\r\n opacity: 0;\r\n transition: none;\r\n}\r\n\r\n/*\r\n When the .is-loading class is applied, we make the loader visible\r\n AND apply a transition so it fades in smoothly. When the class is removed,\r\n it reverts to the rule above and disappears instantly.\r\n*/\r\n.loader-container udp-linear-loader.is-loading {\r\n visibility: visible;\r\n opacity: 1;\r\n /* transition: opacity 0.3s ease-in-out; */\r\n}\r\n\r\n","/* eslint-disable stencil/strict-boolean-conditions */\r\nimport {\r\n Component,\r\n h,\r\n Prop,\r\n Element,\r\n Watch,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Build,\r\n} from '@stencil/core';\r\nimport Close24 from '@carbon/icons/es/close/24';\r\nimport { SecondaryButton } from './types';\r\n\r\n/**\r\n * Side sheet component used for contextual drawers.\r\n */\r\n@Component({\r\n tag: 'udp-side-sheet',\r\n styleUrl: 'udp-side-sheet.css',\r\n shadow: true,\r\n})\r\nexport class UdpSideSheet {\r\n /** Host element reference for portal behavior */\r\n @Element() hostEl!: HTMLElement;\r\n\r\n /** When true, the side sheet is open and visible */\r\n @Prop({ reflect: true, mutable: true }) open = false;\r\n\r\n /** Title text displayed in the header */\r\n @Prop() title: string;\r\n\r\n /** Position of the sheet on the screen */\r\n @Prop() position: 'left' | 'right' = 'right';\r\n\r\n /** Width preset or a numeric pixel width */\r\n @Prop() width: 'sm' | 'md' | 'lg' | 'full' | number = 'md';\r\n\r\n /** Controls whether default inner padding is applied */\r\n @Prop() padding = true;\r\n\r\n /** When true, shows a top loader */\r\n @Prop() loading: boolean = false;\r\n\r\n // Header action button props\r\n\r\n /** Label for the header primary action button */\r\n @Prop() headerActionButtonLabel: string;\r\n\r\n /** Whether the header action button is disabled */\r\n @Prop() headerActionButtonDisabled = false;\r\n\r\n /** Icon name for the header action button */\r\n @Prop() headerActionButtonIcon: string;\r\n\r\n /** Additional secondary buttons to render in the header */\r\n @Prop() headerSecondaryButtons: SecondaryButton[];\r\n\r\n // Footer / primary button props\r\n\r\n /** Label for the primary footer action button */\r\n @Prop() primaryButtonLabel: string;\r\n\r\n /** Whether the primary footer button is disabled */\r\n @Prop() primaryButtonDisabled = false;\r\n\r\n /** Icon name for the primary footer button */\r\n @Prop() primaryButtonIcon: string;\r\n\r\n /** Secondary buttons to render in the footer */\r\n @Prop() footerSecondaryButtons?: SecondaryButton[];\r\n\r\n /** Emitted when the sheet is closed */\r\n @Event() udpSideSheetClose: EventEmitter<void>;\r\n\r\n /** Emitted when the primary footer button is clicked */\r\n @Event() udpPrimaryButtonClick: EventEmitter<void>;\r\n\r\n /** Emitted when the header action button is clicked */\r\n @Event() udpHeaderActionButtonClick: EventEmitter<void>;\r\n\r\n /** Whether the footer should show the overflow \"More\" button */\r\n @State() showOverflowButton: boolean = false;\r\n\r\n /** Whether the overflow popover is open */\r\n @State() openOverflowMenu: boolean = false;\r\n\r\n /** Anchor element for the overflow popover */\r\n @State() overflowMenuAnchor: HTMLElement;\r\n\r\n @State() visibleSecondaryButtons: SecondaryButton[] = [];\r\n @State() overflowSecondaryButtons: SecondaryButton[] = [];\r\n\r\n /** Saved original document.body.overflow value to restore on close */\r\n private originalBodyOverflow: string = '';\r\n\r\n /** ResizeObserver instance watching footer size changes */\r\n private resizeObserver: ResizeObserver;\r\n\r\n /** Reference to the footer element */\r\n private footerRef: HTMLElement;\r\n\r\n /** Offscreen measurement container for buttons */\r\n private measurementContainerRef: HTMLElement;\r\n\r\n /** Saved original document.body.paddingRight value to restore on close */\r\n private originalBodyPaddingRight: string = '';\r\n\r\n /**\r\n * Watcher for `open` prop. Handles portal append/removal and body scroll lock.\r\n *\r\n * @param newValue - new value of the `open` prop\r\n * @param oldValue - previous value of the `open` prop\r\n */\r\n @Watch('open')\r\n handleOpenChange(newValue: boolean, oldValue: boolean) {\r\n if (newValue === oldValue) {\r\n return;\r\n }\r\n\r\n if (newValue) {\r\n // Calculate scrollbar width before hiding it\r\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\r\n\r\n // Save original values\r\n this.originalBodyOverflow = document.body.style.overflow;\r\n this.originalBodyPaddingRight = document.body.style.paddingRight;\r\n\r\n document.body.appendChild(this.hostEl);\r\n\r\n // Add padding to compensate for scrollbar\r\n if (scrollbarWidth > 0) {\r\n const currentPadding = parseInt(window.getComputedStyle(document.body).paddingRight) || 0;\r\n document.body.style.paddingRight = `${currentPadding + scrollbarWidth}px`;\r\n }\r\n\r\n document.body.style.overflow = 'hidden';\r\n\r\n requestAnimationFrame(() => {\r\n this.hostEl.classList.add('is-visible');\r\n // Check overflow after the side sheet is visible\r\n setTimeout(() => this.checkOverflow(), 50);\r\n });\r\n } else {\r\n this.hostEl.classList.remove('is-visible');\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n this.hostEl.addEventListener('transitionend', this.handleTransitionEnd, { once: true });\r\n }\r\n }\r\n\r\n /**\r\n * Watcher for footer secondary buttons changes. Triggers overflow recalculation.\r\n */\r\n @Watch('footerSecondaryButtons')\r\n handleSecondaryButtonsChange() {\r\n // Recheck overflow when buttons change\r\n setTimeout(() => this.checkOverflow(), 50);\r\n }\r\n\r\n /**\r\n * Measures footer buttons in an offscreen container and sets `showOverflowButton`.\r\n * Safely returns early if required refs are unavailable.\r\n */\r\n private checkOverflow() {\r\n if (!this.footerRef || !this.measurementContainerRef) {\r\n return;\r\n }\r\n\r\n if (!this.footerSecondaryButtons || this.footerSecondaryButtons.length === 0) {\r\n this.showOverflowButton = false;\r\n return;\r\n }\r\n\r\n // Get the footer container width (minus padding)\r\n const footerWidth = this.footerRef.offsetWidth;\r\n const footerStyle = window.getComputedStyle(this.footerRef);\r\n const footerPaddingLeft = parseFloat(footerStyle.paddingLeft);\r\n const footerPaddingRight = parseFloat(footerStyle.paddingRight);\r\n const availableWidth = footerWidth - footerPaddingLeft - footerPaddingRight;\r\n\r\n // Measure all buttons in the hidden measurement container\r\n const measurementButtons = this.measurementContainerRef.querySelectorAll('udp-button');\r\n let totalWidth = 0;\r\n\r\n measurementButtons.forEach((button, index) => {\r\n const buttonWidth = button && button instanceof HTMLElement ? button.offsetWidth : 0;\r\n totalWidth += buttonWidth;\r\n\r\n // Add gap spacing between buttons (except for the last one)\r\n if (index < measurementButtons.length - 1) {\r\n const containerStyle = window.getComputedStyle(this.measurementContainerRef);\r\n const gap = parseFloat(containerStyle.gap) || 4; // Default gap from CSS\r\n totalWidth += gap;\r\n }\r\n });\r\n\r\n // Add a small buffer to prevent edge cases\r\n const buffer = 10;\r\n const isOverflowing = totalWidth + buffer > availableWidth;\r\n\r\n this.showOverflowButton = isOverflowing;\r\n }\r\n\r\n /**\r\n * Transition end handler used to remove the host element from body after close.\r\n *\r\n * @private\r\n */\r\n private handleTransitionEnd = () => {\r\n if (!this.open && this.hostEl.parentElement === document.body) {\r\n document.body.removeChild(this.hostEl);\r\n }\r\n };\r\n\r\n /**\r\n * Lifecycle: componentDidLoad. Sets up ResizeObserver and initial overflow check.\r\n *\r\n * @private\r\n */\r\n componentDidLoad() {\r\n if (Build.isBrowser) {\r\n // Set up ResizeObserver to watch for footer size changes\r\n this.resizeObserver = new ResizeObserver(() => {\r\n this.checkOverflow();\r\n });\r\n\r\n // Initial check after a small delay to ensure DOM is ready\r\n requestAnimationFrame(() => {\r\n setTimeout(() => {\r\n if (this.footerRef) {\r\n this.resizeObserver.observe(this.footerRef);\r\n }\r\n this.checkOverflow();\r\n }, 100);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Lifecycle: disconnectedCallback. Restores body styles and disconnects observers.\r\n *\r\n * @private\r\n */\r\n disconnectedCallback() {\r\n if (document.body.style.overflow === 'hidden') {\r\n document.body.style.overflow = this.originalBodyOverflow;\r\n document.body.style.paddingRight = this.originalBodyPaddingRight;\r\n }\r\n\r\n // Clean up ResizeObserver\r\n if (this.resizeObserver) {\r\n this.resizeObserver.disconnect();\r\n }\r\n }\r\n\r\n /**\r\n * Close the side sheet and emit close event.\r\n *\r\n * @private\r\n */\r\n private onClose = () => {\r\n this.open = false;\r\n this.udpSideSheetClose.emit();\r\n };\r\n\r\n /**\r\n * Backdrop click handler. Only closes when clicking the backdrop itself.\r\n *\r\n * @param e - MouseEvent from the backdrop click\r\n * @private\r\n */\r\n private onCloseBackdrop = (e: MouseEvent) => {\r\n if (e.target === e.currentTarget) {\r\n this.onClose();\r\n }\r\n };\r\n\r\n /**\r\n * Emit primary footer button click event.\r\n *\r\n * @private\r\n */\r\n private onPrimaryButtonClick = () => {\r\n this.udpPrimaryButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Emit header action button click event.\r\n *\r\n * @private\r\n */\r\n private onHeaderActionButtonClick = () => {\r\n this.udpHeaderActionButtonClick.emit();\r\n };\r\n\r\n /**\r\n * Open overflow menu anchored to the clicked element.\r\n *\r\n * @param event - MouseEvent from the \"More\" button click\r\n * @private\r\n */\r\n private onMoreActionButtonClick = (event: MouseEvent) => {\r\n this.overflowMenuAnchor = event.currentTarget as HTMLElement;\r\n this.openOverflowMenu = true;\r\n };\r\n\r\n /**\r\n * Close the overflow popover.\r\n *\r\n * @param e - optional KeyboardEvent or MouseEvent (unused)\r\n * @private\r\n */\r\n private handleCloseOverflowMenu = () => {\r\n this.openOverflowMenu = false;\r\n };\r\n\r\n /**\r\n * Render the component UI.\r\n *\r\n * @returns JSX element tree\r\n * @private\r\n */\r\n render() {\r\n const widthClass = typeof this.width === 'number' ? 'custom-width' : this.width;\r\n const sideSheetStyle = typeof this.width === 'number' ? { maxWidth: `${this.width}px` } : {};\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const headerStartIcon = Boolean(this.headerActionButtonIcon) ? (\r\n <udp-icon iconName={this.headerActionButtonIcon} color=\"inherit\" />\r\n ) : undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n const overflowIcon = <udp-icon iconName=\"overflowMenuVertical\" color=\"inherit\" />;\r\n\r\n return (\r\n <div class=\"backdrop\" onClick={this.onCloseBackdrop}>\r\n <div\r\n class={{ sheet: true, [this.position]: true, [widthClass]: true }}\r\n style={sideSheetStyle}\r\n >\r\n {/* Header layout has been changed here */}\r\n <div class=\"title-container\">\r\n <div class=\"close-button\">\r\n <stencil-icon-button\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n icon={Close24}\r\n onClick={this.onClose}\r\n secondary\r\n ></stencil-icon-button>\r\n </div>\r\n <div class=\"title-text\">\r\n <unity-typography variant=\"h6\">{this.title}</unity-typography>\r\n </div>\r\n {/* Conditionally render the new header action button */}\r\n {(this.headerActionButtonLabel || this.headerSecondaryButtons?.length > 0) && (\r\n <div class=\"header-action-button\">\r\n {this.headerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.headerActionButtonLabel && (\r\n <udp-button\r\n disabled={this.headerActionButtonDisabled}\r\n onClick={this.onHeaderActionButtonClick}\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n startIcon={headerStartIcon}\r\n variant=\"contained\"\r\n >\r\n {this.headerActionButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n <div class=\"loader-container\">\r\n <udp-linear-loader class={{ 'is-loading': this.loading }} color=\"primary\" />\r\n </div>\r\n\r\n <div class={{ content: true, padding: this.padding }}>\r\n <slot />\r\n </div>\r\n {(this.primaryButtonLabel || this.footerSecondaryButtons?.length > 0) && (\r\n <div>\r\n <div class=\"loader-container\"></div>\r\n <div\r\n class={{\r\n footer: true,\r\n }}\r\n ref={el => (this.footerRef = el)}\r\n >\r\n {/* Visible buttons container */}\r\n {!this.showOverflowButton && this.footerSecondaryButtons?.length > 0 && (\r\n <div class=\"footer-secondary-buttons-container\">\r\n <div class=\"footer-secondary-buttons\">\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"outlined\"\r\n disabled={item.disabled}\r\n onClick={item.onClick}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* More button when overflowing */}\r\n {this.showOverflowButton && (\r\n <udp-button\r\n variant=\"outlined\"\r\n onClick={this.onMoreActionButtonClick}\r\n color=\"secondary\"\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\r\n endIcon={overflowIcon}\r\n >\r\n More\r\n </udp-button>\r\n )}\r\n\r\n {/* Primary button */}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n disabled={this.primaryButtonDisabled}\r\n onClick={this.onPrimaryButtonClick}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n\r\n {/* Overflow menu */}\r\n {this.showOverflowButton && (\r\n <udp-pop-over\r\n anchorElement={this.overflowMenuAnchor}\r\n isOpen={this.openOverflowMenu}\r\n popoverWidth={'200px'}\r\n popoverMaxHeight={'300px'}\r\n handleOnClose={this.handleCloseOverflowMenu}\r\n >\r\n <div class=\"menu\">\r\n {this.footerSecondaryButtons?.map(item => (\r\n <udp-menu-item\r\n label={item?.label}\r\n iconName={item?.icon}\r\n onItemClick={() => {\r\n item?.onClick();\r\n this.handleCloseOverflowMenu();\r\n }}\r\n disabled={item?.disabled}\r\n />\r\n ))}\r\n </div>\r\n </udp-pop-over>\r\n )}\r\n\r\n {/* Hidden measurement container - renders all buttons for measurement */}\r\n <div\r\n ref={el => (this.measurementContainerRef = el)}\r\n style={{\r\n position: 'absolute',\r\n visibility: 'hidden',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n gap: 'var(--spacing-02, 4px)',\r\n }}\r\n aria-hidden=\"true\"\r\n >\r\n {this.footerSecondaryButtons?.map((item: SecondaryButton) => (\r\n <udp-button\r\n variant=\"text\"\r\n size=\"medium\"\r\n disabled={item.disabled}\r\n endIcon={item.icon}\r\n >\r\n {item.label}\r\n </udp-button>\r\n ))}\r\n {this.primaryButtonLabel && (\r\n <udp-button\r\n variant=\"contained\"\r\n size=\"medium\"\r\n disabled={this.primaryButtonDisabled}\r\n endIcon={this.primaryButtonIcon}\r\n >\r\n {this.primaryButtonLabel}\r\n </udp-button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}