@infineon/infineon-design-system-stencil 35.0.0--canary.1896.598c4395e8ec94e336162dddd4a9862d4f2088cd.0 → 35.0.0--canary.1896.5fc54ca71b87c5e8db7c7dbe5fcd6d916843c3da.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/dist/cjs/icons-14857a37.js +1234 -0
  2. package/dist/cjs/icons-14857a37.js.map +1 -0
  3. package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -1
  4. package/dist/cjs/ifx-basic-table.cjs.entry.js +1 -1
  5. package/dist/cjs/ifx-chip_3.cjs.entry.js +1 -1
  6. package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
  7. package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
  9. package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
  10. package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
  11. package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/ifx-icons-preview.cjs.entry.js +20 -4
  13. package/dist/cjs/ifx-icons-preview.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ifx-indicator.cjs.entry.js +2 -2
  15. package/dist/cjs/ifx-link.cjs.entry.js +1 -1
  16. package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
  17. package/dist/cjs/ifx-modal.cjs.entry.js +11 -6
  18. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-navbar-item.cjs.entry.js +5 -5
  20. package/dist/cjs/ifx-navbar-profile.cjs.entry.js +3 -3
  21. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -3
  22. package/dist/cjs/ifx-notification.cjs.entry.js +2 -2
  23. package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
  24. package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -1
  26. package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -2
  27. package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -1
  28. package/dist/cjs/ifx-search-field.cjs.entry.js +1 -1
  29. package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
  30. package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -2
  31. package/dist/cjs/ifx-select.cjs.entry.js +2 -2
  32. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +5 -5
  33. package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
  34. package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -5
  35. package/dist/cjs/ifx-slider.cjs.entry.js +2 -2
  36. package/dist/cjs/ifx-spinner_2.cjs.entry.js +6 -6
  37. package/dist/cjs/ifx-status.cjs.entry.js +1 -1
  38. package/dist/cjs/ifx-step.cjs.entry.js +4 -4
  39. package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
  40. package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
  41. package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
  42. package/dist/cjs/ifx-table.cjs.entry.js +2 -2
  43. package/dist/cjs/ifx-tabs.cjs.entry.js +2 -2
  44. package/dist/cjs/ifx-tag.cjs.entry.js +1 -1
  45. package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
  46. package/dist/cjs/ifx-textarea.cjs.entry.js +1 -1
  47. package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
  48. package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
  49. package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -1
  50. package/dist/cjs/index-7f4df11a.js +8 -8
  51. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  52. package/dist/cjs/loader.cjs.js +1 -1
  53. package/dist/collection/components/icons-preview/icons-preview.css +15 -4
  54. package/dist/collection/components/icons-preview/icons-preview.js +20 -3
  55. package/dist/collection/components/icons-preview/icons-preview.js.map +1 -1
  56. package/dist/collection/components/indicator/indicator.js +2 -2
  57. package/dist/collection/components/link/link.js +1 -1
  58. package/dist/collection/components/modal/modal.js +11 -6
  59. package/dist/collection/components/modal/modal.js.map +1 -1
  60. package/dist/collection/components/navigation/navbar/navbar-item.js +5 -5
  61. package/dist/collection/components/navigation/navbar/navbar-profile.js +3 -3
  62. package/dist/collection/components/navigation/navbar/navbar.js +3 -3
  63. package/dist/collection/components/navigation/sidebar/sidebar-item.js +5 -5
  64. package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
  65. package/dist/collection/components/navigation/sidebar/sidebar.js +5 -5
  66. package/dist/collection/components/notification/notification.js +2 -2
  67. package/dist/collection/components/overview-table/overview-table.js +1 -1
  68. package/dist/collection/components/pagination/pagination.js +1 -1
  69. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  70. package/dist/collection/components/radio-button/radio-button.js +2 -2
  71. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  72. package/dist/collection/components/search-bar/search-bar.js +1 -1
  73. package/dist/collection/components/search-field/search-field.js +1 -1
  74. package/dist/collection/components/segmented-control/segment/segment.js +1 -1
  75. package/dist/collection/components/segmented-control/segmented-control.js +2 -2
  76. package/dist/collection/components/select/single-select/select.js +2 -2
  77. package/dist/collection/components/slider/slider.js +2 -2
  78. package/dist/collection/components/spinner/spinner.js +2 -2
  79. package/dist/collection/components/status/status.js +1 -1
  80. package/dist/collection/components/stepper/step/step.js +4 -4
  81. package/dist/collection/components/stepper/stepper.js +2 -2
  82. package/dist/collection/components/switch/switch.js +1 -1
  83. package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
  84. package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
  85. package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
  86. package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
  87. package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
  88. package/dist/collection/components/table-advanced-version/table.js +2 -2
  89. package/dist/collection/components/table-basic-version/table.js +1 -1
  90. package/dist/collection/components/tabs/tab.js +1 -1
  91. package/dist/collection/components/tabs/tabs.js +2 -2
  92. package/dist/collection/components/tag/tag.js +1 -1
  93. package/dist/collection/components/templates/template/template.js +1 -1
  94. package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
  95. package/dist/collection/components/text-field/text-field.js +4 -4
  96. package/dist/collection/components/textarea/textarea.js +1 -1
  97. package/dist/collection/components/tooltip/tooltip.js +4 -4
  98. package/dist/collection/components/tree-view/tree-view-item.js +2 -2
  99. package/dist/collection/components/tree-view/tree-view.js +1 -1
  100. package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
  101. package/dist/components/ifx-accordion-item.js +1 -1
  102. package/dist/components/ifx-alert.js +1 -1
  103. package/dist/components/ifx-basic-table.js +1 -1
  104. package/dist/components/ifx-breadcrumb-item-label.js +1 -1
  105. package/dist/components/ifx-checkbox-group.js +1 -1
  106. package/dist/components/ifx-checkbox.js +1 -1
  107. package/dist/components/ifx-chip-item.js +1 -1
  108. package/dist/components/ifx-chip.js +1 -1
  109. package/dist/components/ifx-date-picker.js +1 -1
  110. package/dist/components/ifx-download.js +1 -1
  111. package/dist/components/ifx-dropdown-item.js +1 -1
  112. package/dist/components/ifx-dropdown-trigger-button.js +1 -1
  113. package/dist/components/ifx-faq.js +3 -3
  114. package/dist/components/ifx-file-upload.js +3 -3
  115. package/dist/components/ifx-filter-accordion.js +4 -4
  116. package/dist/components/ifx-filter-bar.js +2 -2
  117. package/dist/components/ifx-filter-search.js +3 -3
  118. package/dist/components/ifx-filter-type-group.js +1 -1
  119. package/dist/components/ifx-icon-button.js +1 -1
  120. package/dist/components/ifx-icon.js +1 -1
  121. package/dist/components/ifx-icons-preview.js +33 -10
  122. package/dist/components/ifx-icons-preview.js.map +1 -1
  123. package/dist/components/ifx-indicator.js +1 -1
  124. package/dist/components/ifx-link.js +1 -1
  125. package/dist/components/ifx-list-entry.js +4 -4
  126. package/dist/components/ifx-list.js +2 -2
  127. package/dist/components/ifx-modal.js +13 -8
  128. package/dist/components/ifx-modal.js.map +1 -1
  129. package/dist/components/ifx-multiselect.js +1 -1
  130. package/dist/components/ifx-navbar-item.js +7 -7
  131. package/dist/components/ifx-navbar-profile.js +3 -3
  132. package/dist/components/ifx-navbar.js +4 -4
  133. package/dist/components/ifx-notification.js +1 -1
  134. package/dist/components/ifx-overview-table.js +4 -4
  135. package/dist/components/ifx-pagination.js +1 -1
  136. package/dist/components/ifx-progress-bar.js +1 -1
  137. package/dist/components/ifx-radio-button-group.js +2 -2
  138. package/dist/components/ifx-radio-button.js +1 -1
  139. package/dist/components/ifx-search-bar.js +3 -3
  140. package/dist/components/ifx-search-field.js +1 -1
  141. package/dist/components/ifx-segment.js +2 -2
  142. package/dist/components/ifx-segmented-control.js +3 -3
  143. package/dist/components/ifx-select.js +1 -1
  144. package/dist/components/ifx-set-filter.js +5 -5
  145. package/dist/components/ifx-sidebar-item.js +7 -7
  146. package/dist/components/ifx-sidebar-title.js +1 -1
  147. package/dist/components/ifx-sidebar.js +5 -5
  148. package/dist/components/ifx-slider.js +3 -3
  149. package/dist/components/ifx-spinner.js +1 -1
  150. package/dist/components/ifx-status.js +1 -1
  151. package/dist/components/ifx-step.js +5 -5
  152. package/dist/components/ifx-stepper.js +2 -2
  153. package/dist/components/ifx-switch.js +1 -1
  154. package/dist/components/ifx-tab.js +1 -1
  155. package/dist/components/ifx-table.js +10 -10
  156. package/dist/components/ifx-tabs.js +3 -3
  157. package/dist/components/ifx-tag.js +2 -2
  158. package/dist/components/ifx-template.js +1 -1
  159. package/dist/components/ifx-templates-ui.js +8 -8
  160. package/dist/components/ifx-text-field.js +1 -1
  161. package/dist/components/ifx-textarea.js +1 -1
  162. package/dist/components/ifx-tooltip.js +5 -5
  163. package/dist/components/ifx-tree-view-item.js +4 -4
  164. package/dist/components/ifx-tree-view.js +1 -1
  165. package/dist/components/{p-e9f53aae.js → p-0ed48c83.js} +2 -2
  166. package/dist/components/{p-e9f53aae.js.map → p-0ed48c83.js.map} +1 -1
  167. package/dist/components/p-25193d1c.js +1323 -0
  168. package/dist/components/p-25193d1c.js.map +1 -0
  169. package/dist/components/{p-d6ba69e2.js → p-322abc25.js} +2 -2
  170. package/dist/components/{p-d6ba69e2.js.map → p-322abc25.js.map} +1 -1
  171. package/dist/components/{p-de6b551c.js → p-357107c5.js} +3 -3
  172. package/dist/components/{p-de6b551c.js.map → p-357107c5.js.map} +1 -1
  173. package/dist/components/{p-bd905594.js → p-35f780cc.js} +5 -5
  174. package/dist/components/{p-bd905594.js.map → p-35f780cc.js.map} +1 -1
  175. package/dist/components/{p-59b3c1f0.js → p-39ddb6de.js} +3 -3
  176. package/dist/components/{p-59b3c1f0.js.map → p-39ddb6de.js.map} +1 -1
  177. package/dist/components/{p-73014925.js → p-4b44776b.js} +5 -5
  178. package/dist/components/{p-73014925.js.map → p-4b44776b.js.map} +1 -1
  179. package/dist/components/{p-0579fe19.js → p-4f7e657d.js} +2 -2
  180. package/dist/components/{p-0579fe19.js.map → p-4f7e657d.js.map} +1 -1
  181. package/dist/components/{p-38037d65.js → p-53d4339c.js} +2 -2
  182. package/dist/components/{p-38037d65.js.map → p-53d4339c.js.map} +1 -1
  183. package/dist/components/{p-a541805b.js → p-5e9d3450.js} +2 -2
  184. package/dist/components/{p-a541805b.js.map → p-5e9d3450.js.map} +1 -1
  185. package/dist/components/{p-e3091464.js → p-6e1e2d56.js} +3 -3
  186. package/dist/components/{p-e3091464.js.map → p-6e1e2d56.js.map} +1 -1
  187. package/dist/components/{p-059709d0.js → p-86ffef9d.js} +3 -3
  188. package/dist/components/{p-059709d0.js.map → p-86ffef9d.js.map} +1 -1
  189. package/dist/components/{p-643bcbdf.js → p-9142f93b.js} +3 -3
  190. package/dist/components/{p-643bcbdf.js.map → p-9142f93b.js.map} +1 -1
  191. package/dist/components/{p-f0ee192b.js → p-952417f3.js} +4 -4
  192. package/dist/components/{p-f0ee192b.js.map → p-952417f3.js.map} +1 -1
  193. package/dist/components/{p-3b6a432e.js → p-a4922416.js} +3 -3
  194. package/dist/components/{p-3b6a432e.js.map → p-a4922416.js.map} +1 -1
  195. package/dist/components/{p-a9b659df.js → p-bfa4cccd.js} +2 -2
  196. package/dist/components/{p-a9b659df.js.map → p-bfa4cccd.js.map} +1 -1
  197. package/dist/components/{p-08e3be43.js → p-c7cd5e92.js} +3 -3
  198. package/dist/components/{p-08e3be43.js.map → p-c7cd5e92.js.map} +1 -1
  199. package/dist/components/{p-7a4fa8b6.js → p-e53e2c1c.js} +6 -6
  200. package/dist/components/{p-7a4fa8b6.js.map → p-e53e2c1c.js.map} +1 -1
  201. package/dist/components/{p-c11d7ab3.js → p-f4f71c1d.js} +6 -6
  202. package/dist/components/{p-c11d7ab3.js.map → p-f4f71c1d.js.map} +1 -1
  203. package/dist/esm/icons-e2536d40.js +1231 -0
  204. package/dist/esm/icons-e2536d40.js.map +1 -0
  205. package/dist/esm/ifx-alert_2.entry.js +1 -1
  206. package/dist/esm/ifx-basic-table.entry.js +1 -1
  207. package/dist/esm/ifx-chip_3.entry.js +1 -1
  208. package/dist/esm/ifx-faq.entry.js +1 -1
  209. package/dist/esm/ifx-filter-accordion.entry.js +2 -2
  210. package/dist/esm/ifx-filter-bar.entry.js +1 -1
  211. package/dist/esm/ifx-filter-search.entry.js +1 -1
  212. package/dist/esm/ifx-filter-type-group.entry.js +1 -1
  213. package/dist/esm/ifx-icon.entry.js +1 -1
  214. package/dist/esm/ifx-icons-preview.entry.js +20 -4
  215. package/dist/esm/ifx-icons-preview.entry.js.map +1 -1
  216. package/dist/esm/ifx-indicator.entry.js +2 -2
  217. package/dist/esm/ifx-link.entry.js +1 -1
  218. package/dist/esm/ifx-list-entry.entry.js +1 -1
  219. package/dist/esm/ifx-modal.entry.js +11 -6
  220. package/dist/esm/ifx-modal.entry.js.map +1 -1
  221. package/dist/esm/ifx-navbar-item.entry.js +5 -5
  222. package/dist/esm/ifx-navbar-profile.entry.js +3 -3
  223. package/dist/esm/ifx-navbar.entry.js +3 -3
  224. package/dist/esm/ifx-notification.entry.js +2 -2
  225. package/dist/esm/ifx-overview-table.entry.js +1 -1
  226. package/dist/esm/ifx-progress-bar.entry.js +1 -1
  227. package/dist/esm/ifx-radio-button-group.entry.js +1 -1
  228. package/dist/esm/ifx-radio-button.entry.js +2 -2
  229. package/dist/esm/ifx-search-bar.entry.js +1 -1
  230. package/dist/esm/ifx-search-field.entry.js +1 -1
  231. package/dist/esm/ifx-segment.entry.js +1 -1
  232. package/dist/esm/ifx-segmented-control.entry.js +2 -2
  233. package/dist/esm/ifx-select.entry.js +2 -2
  234. package/dist/esm/ifx-sidebar-item.entry.js +5 -5
  235. package/dist/esm/ifx-sidebar-title.entry.js +1 -1
  236. package/dist/esm/ifx-sidebar.entry.js +5 -5
  237. package/dist/esm/ifx-slider.entry.js +2 -2
  238. package/dist/esm/ifx-spinner_2.entry.js +6 -6
  239. package/dist/esm/ifx-status.entry.js +1 -1
  240. package/dist/esm/ifx-step.entry.js +4 -4
  241. package/dist/esm/ifx-stepper.entry.js +2 -2
  242. package/dist/esm/ifx-switch.entry.js +1 -1
  243. package/dist/esm/ifx-tab.entry.js +1 -1
  244. package/dist/esm/ifx-table.entry.js +2 -2
  245. package/dist/esm/ifx-tabs.entry.js +2 -2
  246. package/dist/esm/ifx-tag.entry.js +1 -1
  247. package/dist/esm/ifx-templates-ui.entry.js +1 -1
  248. package/dist/esm/ifx-textarea.entry.js +1 -1
  249. package/dist/esm/ifx-tooltip.entry.js +4 -4
  250. package/dist/esm/ifx-tree-view-item.entry.js +2 -2
  251. package/dist/esm/ifx-tree-view.entry.js +1 -1
  252. package/dist/esm/index-6c9eba32.js +8 -8
  253. package/dist/esm/infineon-design-system-stencil.js +1 -1
  254. package/dist/esm/loader.js +1 -1
  255. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  256. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  257. package/dist/infineon-design-system-stencil/{p-6df28c5a.entry.js → p-061bfdb1.entry.js} +2 -2
  258. package/dist/infineon-design-system-stencil/{p-ee46527d.entry.js → p-06bfabcf.entry.js} +2 -2
  259. package/dist/infineon-design-system-stencil/{p-2d265c95.entry.js → p-09a8d63d.entry.js} +2 -2
  260. package/dist/infineon-design-system-stencil/{p-18b80502.entry.js → p-0f096cf1.entry.js} +2 -2
  261. package/dist/infineon-design-system-stencil/{p-6bb4f51c.entry.js → p-142878ee.entry.js} +2 -2
  262. package/dist/infineon-design-system-stencil/{p-c8c295c8.entry.js → p-18addbff.entry.js} +2 -2
  263. package/dist/infineon-design-system-stencil/{p-eb806fd6.entry.js → p-2d89c5e0.entry.js} +2 -2
  264. package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js.map +1 -0
  265. package/dist/infineon-design-system-stencil/{p-2d033cc1.entry.js → p-2f22605b.entry.js} +2 -2
  266. package/dist/infineon-design-system-stencil/p-34738a10.entry.js +2 -0
  267. package/dist/infineon-design-system-stencil/{p-395145ac.entry.js → p-37d6c639.entry.js} +2 -2
  268. package/dist/infineon-design-system-stencil/{p-0bab4a9b.entry.js → p-3ff96710.entry.js} +2 -2
  269. package/dist/infineon-design-system-stencil/{p-79b2e461.entry.js → p-47a3e831.entry.js} +2 -2
  270. package/dist/infineon-design-system-stencil/{p-519dc715.entry.js → p-487d2155.entry.js} +2 -2
  271. package/dist/infineon-design-system-stencil/{p-6483ca08.entry.js → p-5650fe08.entry.js} +2 -2
  272. package/dist/infineon-design-system-stencil/p-65e57b85.entry.js +2 -0
  273. package/dist/infineon-design-system-stencil/{p-04974a30.entry.js → p-6cb40415.entry.js} +2 -2
  274. package/dist/infineon-design-system-stencil/{p-28cfabbf.entry.js → p-6d99d01d.entry.js} +2 -2
  275. package/dist/infineon-design-system-stencil/{p-20ceef6f.entry.js → p-702a48f8.entry.js} +2 -2
  276. package/dist/infineon-design-system-stencil/{p-7a440ea3.entry.js → p-7619bd75.entry.js} +2 -2
  277. package/dist/infineon-design-system-stencil/{p-a4f7beca.entry.js → p-7b7ac7fa.entry.js} +2 -2
  278. package/dist/infineon-design-system-stencil/p-813f56d7.entry.js +2 -0
  279. package/dist/infineon-design-system-stencil/p-816cfb79.js +2 -0
  280. package/dist/infineon-design-system-stencil/p-816cfb79.js.map +1 -0
  281. package/dist/infineon-design-system-stencil/{p-36a241b3.entry.js → p-8503d1d1.entry.js} +2 -2
  282. package/dist/infineon-design-system-stencil/{p-5d03ee4f.entry.js → p-87fbd617.entry.js} +2 -2
  283. package/dist/infineon-design-system-stencil/{p-a85366f1.entry.js → p-959285a7.entry.js} +2 -2
  284. package/dist/infineon-design-system-stencil/{p-87fbefa1.entry.js → p-99faadcf.entry.js} +2 -2
  285. package/dist/infineon-design-system-stencil/p-a0b60618.entry.js +2 -0
  286. package/dist/infineon-design-system-stencil/{p-62303f57.entry.js → p-a9cfb70d.entry.js} +2 -2
  287. package/dist/infineon-design-system-stencil/{p-62c416a8.entry.js → p-aadd1a9d.entry.js} +2 -2
  288. package/dist/infineon-design-system-stencil/{p-d824195b.entry.js → p-acf0f4ed.entry.js} +2 -2
  289. package/dist/infineon-design-system-stencil/{p-cd445592.entry.js → p-b4758d2a.entry.js} +2 -2
  290. package/dist/infineon-design-system-stencil/{p-da304621.entry.js → p-b637c44c.entry.js} +2 -2
  291. package/dist/infineon-design-system-stencil/{p-cd85bddb.entry.js → p-b73a5f18.entry.js} +2 -2
  292. package/dist/infineon-design-system-stencil/{p-017e7bc5.entry.js → p-b9c761d3.entry.js} +2 -2
  293. package/dist/infineon-design-system-stencil/{p-41d1fd2c.entry.js → p-babf3f2d.entry.js} +2 -2
  294. package/dist/infineon-design-system-stencil/{p-cca0bd9c.entry.js → p-c2791360.entry.js} +2 -2
  295. package/dist/infineon-design-system-stencil/{p-59d2355e.entry.js → p-c28936ee.entry.js} +2 -2
  296. package/dist/infineon-design-system-stencil/{p-68c98a04.entry.js → p-c5a785d7.entry.js} +2 -2
  297. package/dist/infineon-design-system-stencil/{p-77b13cb9.entry.js → p-c84ef603.entry.js} +2 -2
  298. package/dist/infineon-design-system-stencil/{p-bdea9b32.entry.js → p-e44ff006.entry.js} +2 -2
  299. package/dist/infineon-design-system-stencil/{p-3a1220ee.entry.js → p-ebf0ee06.entry.js} +2 -2
  300. package/dist/infineon-design-system-stencil/{p-a2f38b5e.entry.js → p-ecc17497.entry.js} +2 -2
  301. package/dist/infineon-design-system-stencil/{p-d17282e3.entry.js → p-ee2f21e1.entry.js} +2 -2
  302. package/dist/infineon-design-system-stencil/{p-00a1ec40.entry.js → p-f2bea855.entry.js} +2 -2
  303. package/dist/infineon-design-system-stencil/{p-fe049ed9.entry.js → p-f338fb85.entry.js} +2 -2
  304. package/dist/infineon-design-system-stencil/p-f6094d3a.entry.js +2 -0
  305. package/dist/infineon-design-system-stencil/p-f6094d3a.entry.js.map +1 -0
  306. package/dist/types/components/icons-preview/icons-preview.d.ts +4 -0
  307. package/dist/types/components/modal/modal.d.ts +1 -1
  308. package/package.json +1 -1
  309. package/dist/cjs/icons-b9fd1601.js +0 -1222
  310. package/dist/cjs/icons-b9fd1601.js.map +0 -1
  311. package/dist/components/p-88962325.js +0 -1311
  312. package/dist/components/p-88962325.js.map +0 -1
  313. package/dist/esm/icons-f814ed16.js +0 -1219
  314. package/dist/esm/icons-f814ed16.js.map +0 -1
  315. package/dist/infineon-design-system-stencil/p-02634b6e.entry.js +0 -2
  316. package/dist/infineon-design-system-stencil/p-02634b6e.entry.js.map +0 -1
  317. package/dist/infineon-design-system-stencil/p-2c8c0e87.js +0 -2
  318. package/dist/infineon-design-system-stencil/p-2c8c0e87.js.map +0 -1
  319. package/dist/infineon-design-system-stencil/p-34019d16.entry.js +0 -2
  320. package/dist/infineon-design-system-stencil/p-34930b99.entry.js +0 -2
  321. package/dist/infineon-design-system-stencil/p-488408d3.entry.js +0 -2
  322. package/dist/infineon-design-system-stencil/p-90ffd930.entry.js +0 -2
  323. package/dist/infineon-design-system-stencil/p-eb806fd6.entry.js.map +0 -1
  324. /package/dist/infineon-design-system-stencil/{p-6df28c5a.entry.js.map → p-061bfdb1.entry.js.map} +0 -0
  325. /package/dist/infineon-design-system-stencil/{p-ee46527d.entry.js.map → p-06bfabcf.entry.js.map} +0 -0
  326. /package/dist/infineon-design-system-stencil/{p-2d265c95.entry.js.map → p-09a8d63d.entry.js.map} +0 -0
  327. /package/dist/infineon-design-system-stencil/{p-18b80502.entry.js.map → p-0f096cf1.entry.js.map} +0 -0
  328. /package/dist/infineon-design-system-stencil/{p-6bb4f51c.entry.js.map → p-142878ee.entry.js.map} +0 -0
  329. /package/dist/infineon-design-system-stencil/{p-c8c295c8.entry.js.map → p-18addbff.entry.js.map} +0 -0
  330. /package/dist/infineon-design-system-stencil/{p-2d033cc1.entry.js.map → p-2f22605b.entry.js.map} +0 -0
  331. /package/dist/infineon-design-system-stencil/{p-488408d3.entry.js.map → p-34738a10.entry.js.map} +0 -0
  332. /package/dist/infineon-design-system-stencil/{p-395145ac.entry.js.map → p-37d6c639.entry.js.map} +0 -0
  333. /package/dist/infineon-design-system-stencil/{p-0bab4a9b.entry.js.map → p-3ff96710.entry.js.map} +0 -0
  334. /package/dist/infineon-design-system-stencil/{p-79b2e461.entry.js.map → p-47a3e831.entry.js.map} +0 -0
  335. /package/dist/infineon-design-system-stencil/{p-519dc715.entry.js.map → p-487d2155.entry.js.map} +0 -0
  336. /package/dist/infineon-design-system-stencil/{p-6483ca08.entry.js.map → p-5650fe08.entry.js.map} +0 -0
  337. /package/dist/infineon-design-system-stencil/{p-34930b99.entry.js.map → p-65e57b85.entry.js.map} +0 -0
  338. /package/dist/infineon-design-system-stencil/{p-04974a30.entry.js.map → p-6cb40415.entry.js.map} +0 -0
  339. /package/dist/infineon-design-system-stencil/{p-28cfabbf.entry.js.map → p-6d99d01d.entry.js.map} +0 -0
  340. /package/dist/infineon-design-system-stencil/{p-20ceef6f.entry.js.map → p-702a48f8.entry.js.map} +0 -0
  341. /package/dist/infineon-design-system-stencil/{p-7a440ea3.entry.js.map → p-7619bd75.entry.js.map} +0 -0
  342. /package/dist/infineon-design-system-stencil/{p-a4f7beca.entry.js.map → p-7b7ac7fa.entry.js.map} +0 -0
  343. /package/dist/infineon-design-system-stencil/{p-90ffd930.entry.js.map → p-813f56d7.entry.js.map} +0 -0
  344. /package/dist/infineon-design-system-stencil/{p-36a241b3.entry.js.map → p-8503d1d1.entry.js.map} +0 -0
  345. /package/dist/infineon-design-system-stencil/{p-5d03ee4f.entry.js.map → p-87fbd617.entry.js.map} +0 -0
  346. /package/dist/infineon-design-system-stencil/{p-a85366f1.entry.js.map → p-959285a7.entry.js.map} +0 -0
  347. /package/dist/infineon-design-system-stencil/{p-87fbefa1.entry.js.map → p-99faadcf.entry.js.map} +0 -0
  348. /package/dist/infineon-design-system-stencil/{p-34019d16.entry.js.map → p-a0b60618.entry.js.map} +0 -0
  349. /package/dist/infineon-design-system-stencil/{p-62303f57.entry.js.map → p-a9cfb70d.entry.js.map} +0 -0
  350. /package/dist/infineon-design-system-stencil/{p-62c416a8.entry.js.map → p-aadd1a9d.entry.js.map} +0 -0
  351. /package/dist/infineon-design-system-stencil/{p-d824195b.entry.js.map → p-acf0f4ed.entry.js.map} +0 -0
  352. /package/dist/infineon-design-system-stencil/{p-cd445592.entry.js.map → p-b4758d2a.entry.js.map} +0 -0
  353. /package/dist/infineon-design-system-stencil/{p-da304621.entry.js.map → p-b637c44c.entry.js.map} +0 -0
  354. /package/dist/infineon-design-system-stencil/{p-cd85bddb.entry.js.map → p-b73a5f18.entry.js.map} +0 -0
  355. /package/dist/infineon-design-system-stencil/{p-017e7bc5.entry.js.map → p-b9c761d3.entry.js.map} +0 -0
  356. /package/dist/infineon-design-system-stencil/{p-41d1fd2c.entry.js.map → p-babf3f2d.entry.js.map} +0 -0
  357. /package/dist/infineon-design-system-stencil/{p-cca0bd9c.entry.js.map → p-c2791360.entry.js.map} +0 -0
  358. /package/dist/infineon-design-system-stencil/{p-59d2355e.entry.js.map → p-c28936ee.entry.js.map} +0 -0
  359. /package/dist/infineon-design-system-stencil/{p-68c98a04.entry.js.map → p-c5a785d7.entry.js.map} +0 -0
  360. /package/dist/infineon-design-system-stencil/{p-77b13cb9.entry.js.map → p-c84ef603.entry.js.map} +0 -0
  361. /package/dist/infineon-design-system-stencil/{p-bdea9b32.entry.js.map → p-e44ff006.entry.js.map} +0 -0
  362. /package/dist/infineon-design-system-stencil/{p-3a1220ee.entry.js.map → p-ebf0ee06.entry.js.map} +0 -0
  363. /package/dist/infineon-design-system-stencil/{p-a2f38b5e.entry.js.map → p-ecc17497.entry.js.map} +0 -0
  364. /package/dist/infineon-design-system-stencil/{p-d17282e3.entry.js.map → p-ee2f21e1.entry.js.map} +0 -0
  365. /package/dist/infineon-design-system-stencil/{p-00a1ec40.entry.js.map → p-f2bea855.entry.js.map} +0 -0
  366. /package/dist/infineon-design-system-stencil/{p-fe049ed9.entry.js.map → p-f338fb85.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";function a(e,t,o,n=20,i=0){const d=[];if(i>=n){return d}const s=e=>{const d=e.assignedNodes().filter((e=>e.nodeType===1));if(d.length>0){const e=d[0].parentElement;return a(e,t,o,n,i+1)}return[]};const r=Array.from(e.children||[]);for(const e of r){if(t(e)){continue}if(o(e)){d.push(e)}if(e.shadowRoot!=null){d.push(...a(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){d.push(...s(e))}else{d.push(...a(e,t,o,n,i+1))}}return d}function d(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function s(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function r(e){if(e.getAttribute("tabindex")==="-1"||d(e)||s(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function c(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const l={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const f={fadeIn:[Object.assign(Object.assign({offset:0},l),{opacity:0}),Object.assign(Object.assign({offset:1},l),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},l),{opacity:1}),Object.assign(Object.assign({offset:1},l),{opacity:0})]};const h=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const b=h;const u=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentDidLoad(){this.focusableElements=a(this.hostElement.shadowRoot,(e=>d(e)||e.matches("[data-focus-trap-edge]")),r)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=c(this.modalContainer,f.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=c(this.modalContainer,f.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){const e=this.hostElement.shadowRoot.querySelector(".modal-content");const t=window.innerHeight;const o=e.offsetHeight;return o>=t*.9}render(){const e=this.variant!=="default";return o(n,{key:"17d6875b06e84d97c5ec5fe406b067e3b8a89cfd"},o("div",{key:"bf3ac7d192d52b00338cc51df4223666ec6f3a6f",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"ae9ea60511ef423e02503f26aa60de0cda68ef0b",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"8cec672cb52dcec16d1b573af9a804814d8bd721","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"af2862cf1cf750311c7db8fa52cce02e8dafb579",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"28eb3b25740e198f4a821dd08972cb8a32af251d",class:"modal-content"},o("div",{key:"c6c7c7a33a2c54f80d84974f291da77bda1e9b32",class:"modal-header"},o("h2",{key:"d83f94c594402ab62a7df3eaa5066ba6db5ce7a4",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"9136aa70370ea024595dd38b4aed244e6f4d2e92",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"025c4ba66b524990994c3d282dad0ad8ef9fa025",class:"modal-body"},o("slot",{key:"ee6c23a794022df9377f024225a73021a5b20833",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"5b3c1db9daf678a9c0f49bde2ee6634bde4d27b0",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"ac84e7c3598ff81944b8413ddd67b0d9202998c2",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"eaaceffa354b1b17554881687c99643f3ff3c701","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};u.style=b;export{u as ifx_modal};
2
- //# sourceMappingURL=p-eb806fd6.entry.js.map
1
+ import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";function a(e,t,o,n=20,i=0){const s=[];if(i>=n){return s}const r=e=>{const s=e.assignedNodes().filter((e=>e.nodeType===1));if(s.length>0){const e=s[0].parentElement;return a(e,t,o,n,i+1)}return[]};const d=Array.from(e.children||[]);for(const e of d){if(t(e)){continue}if(o(e)){s.push(e)}if(e.shadowRoot!=null){s.push(...a(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){s.push(...r(e))}else{s.push(...a(e,t,o,n,i+1))}}return s}function s(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function r(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function d(e){if(e.getAttribute("tabindex")==="-1"||s(e)||r(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function c(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const l={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const f={fadeIn:[Object.assign(Object.assign({offset:0},l),{opacity:0}),Object.assign(Object.assign({offset:1},l),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},l),{opacity:1}),Object.assign(Object.assign({offset:1},l),{opacity:0})]};const h=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const b=h;const u=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentDidLoad(){this.focusableElements=a(this.hostElement.shadowRoot,(e=>s(e)||e.matches("[data-focus-trap-edge]")),d)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=c(this.modalContainer,f.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=c(this.modalContainer,f.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){return new Promise((e=>{setTimeout((()=>{const t=this.hostElement.shadowRoot.querySelector(".modal-content");const o=t.offsetHeight;const n=window.innerHeight;e(o>=n*.9)}),100)}))}render(){const e=this.variant!=="default";return o(n,{key:"fb6bc415247be8eec46bebe51f26c7bc71a5b010"},o("div",{key:"cfabe9bf352ca821f99714603a86b2cc25874af1",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"6d22eecd23e6a6017e30afa0cb0372c6518ff9ec",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"8ee13636de9b591bf7b15aa033ef158fcd70ab57","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"62a1b4e9c98f6e51936bc9af14464038b0c16639",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"699217ea2e1d414ad68939334cd078aa711fe472",class:"modal-content"},o("div",{key:"ab02f75a7b5c2befb1509731b289c4e76f7e3f3e",class:"modal-header"},o("h2",{key:"9b1adec6e486f5f03bd369709669c22bbddf3922",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"8edae1ae2e3ddf2517d52682fcc1ae3247b5e1e5",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"62f9c425009b5498b5301a7fc6c5490d7401086c",class:"modal-body"},o("slot",{key:"fb1494da685e6b0986ef660a9e94dfb8b43a7a48",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"3b427fe2debc1e2bea474982dfff079afdd6dfcc",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"b0874a1766cfde0f0ccb5f1ebbec6e753dfeb2f0",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"8b376a945b278faf81f9f3d1117cd01e3d11c8b5","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};u.style=b;export{u as ifx_modal};
2
+ //# sourceMappingURL=p-2d89c5e0.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryShadowRoot","root","skipNode","isMatch","maxDepth","depth","matches","traverseSlot","$slot","assignedNodes","filter","node","nodeType","length","$slotParent","parentElement","children","Array","from","$child","push","shadowRoot","tagName","isHidden","$elem","hasAttribute","getAttribute","style","display","opacity","visibility","isDisabled","isFocusable","HTMLAnchorElement","HTMLAreaElement","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLIFrameElement","animationTo","element","keyframes","options","animated","animate","Object","assign","fill","addEventListener","commitStyles","cancel","keyframeDefaults","easing","KEYFRAMES","fadeIn","offset","fadeOut","modalCss","IfxModalStyle0","IfxModal","constructor","hostRef","this","opened","showModal","caption","closeOnOverlayClick","variant","size","alertIcon","okButtonLabel","cancelButtonLabel","slotButtonsPresent","showCloseButton","focusableElements","handleTopFocus","attemptFocus","getLastFocusableElement","handleBottomFocus","getFirstFocusableElement","handleKeypress","event","key","doBeforeClose","componentDidLoad","hostElement","el","componentWillRender","handleComponentOverflow","modalContentContainer","querySelector","isModalContentContainerHeightReachedViewport","classList","add","contains","remove","setTimeout","closeButton","focus","open","anim","modalContainer","duration","_a","_b","blur","ifxOpen","emit","err","close","ifxClose","removeEventListener","trigger","triggers","prevented","some","defaultPrevented","openedChanged","newValue","handleOverlayClick","handleContentUpdate","e","slotElement","target","nodes","forEach","observer","disconnect","MutationObserver","mutationsList","_","mutation","type","observe","attributes","childList","subtree","handleButtonsSlotChange","currentTarget","assignedElements","childElementCount","Promise","resolve","modalContent","modalContentHeight","offsetHeight","viewportHeight","window","innerHeight","render","isAlertVariant","h","Host","ref","class","onClick","onFocus","tabindex","role","icon","name","onSlotchange"],"sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n \n //overflow: hidden;\n\n box-sizing: border-box;\n align-items: stretch;\n}\n\n.modal-content-container {\n &.no-overflow { \n overflow: hidden;\n & .modal-body { \n overflow-y: auto;\n }\n }\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n \n //overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n \n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n\n componentDidLoad() {\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n }\n\n componentWillRender() { \n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n\n handleComponentOverflow() { \n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\n if (this.showModal && this.isModalContentContainerHeightReachedViewport()) {\n modalContentContainer.classList.add('no-overflow')\n } else if(modalContentContainer?.classList.contains('no-overflow')) { \n modalContentContainer?.classList.remove('no-overflow')\n }\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n }\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n handleContentUpdate(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n if(nodes.length > 0) {\n nodes.forEach(node => {\n if (node.observer) {\n node.observer.disconnect();\n delete node.observer;\n }\n const observer = new MutationObserver((mutationsList, _) => {\n for(let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n node.observer = observer;\n });\n } \n }\n\n handleButtonsSlotChange(e) {\n if(e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n }else{\n this.slotButtonsPresent = false;\n }\n }\n\n isModalContentContainerHeightReachedViewport() {\n //Adding timeout for proper height detection on Edge browser\n return new Promise(resolve => {\n setTimeout(() => {\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\n const modalContentHeight = modalContent.offsetHeight;\n const viewportHeight = window.innerHeight;\n resolve(modalContentHeight >= viewportHeight * 0.9);\n }, 100);\n });\n}\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.caption}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n { \n this.showCloseButton && \n <ifx-icon-button class = 'modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e)=>this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"mappings":"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","ignoreList":[]}