@infineon/infineon-design-system-stencil 31.0.0--canary.1697.223df0ff1431a5398fd1261ed013c9dd2a89e7a0.0 → 31.0.0--canary.1640.0cb387dc208aadd19f988395e2eb1027e7e7f343.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 (290) hide show
  1. package/dist/cjs/ifx-accordion_2.cjs.entry.js +7 -7
  2. package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +1 -1
  4. package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ifx-breadcrumb.cjs.entry.js +3 -3
  6. package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ifx-chip_3.cjs.entry.js +25 -27
  8. package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ifx-modal.cjs.entry.js +8 -8
  10. package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ifx-multiselect_2.cjs.entry.js +4 -4
  12. package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ifx-navbar.cjs.entry.js +3 -3
  14. package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ifx-search-bar.cjs.entry.js +5 -5
  16. package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ifx-sidebar-item.cjs.entry.js +9 -10
  18. package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ifx-table.cjs.entry.js +22 -20
  20. package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ifx-tabs.cjs.entry.js +6 -6
  22. package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
  23. package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/components/accordion/accordion.js +2 -2
  26. package/dist/collection/components/accordion/accordion.js.map +1 -1
  27. package/dist/collection/components/accordion/accordion.stories.js +81 -7
  28. package/dist/collection/components/accordion/accordion.stories.js.map +1 -1
  29. package/dist/collection/components/accordion/accordionItem.js +10 -10
  30. package/dist/collection/components/accordion/accordionItem.js.map +1 -1
  31. package/dist/collection/components/alert/alert.stories.js +45 -12
  32. package/dist/collection/components/alert/alert.stories.js.map +1 -1
  33. package/dist/collection/components/badge/badge.stories.js +28 -7
  34. package/dist/collection/components/badge/badge.stories.js.map +1 -1
  35. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +3 -3
  36. package/dist/collection/components/breadcrumb/breadcrumb-item-label.js.map +1 -1
  37. package/dist/collection/components/breadcrumb/breadcrumb.js +3 -3
  38. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  39. package/dist/collection/components/breadcrumb/breadcrumb.stories.js +87 -13
  40. package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -1
  41. package/dist/collection/components/button/button.stories.js +101 -9
  42. package/dist/collection/components/button/button.stories.js.map +1 -1
  43. package/dist/collection/components/card/card.stories.js +85 -4
  44. package/dist/collection/components/card/card.stories.js.map +1 -1
  45. package/dist/collection/components/checkbox/checkbox.stories.js +72 -14
  46. package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -1
  47. package/dist/collection/components/chip/chip-item/chip-item.js +4 -4
  48. package/dist/collection/components/chip/chip-item/chip-item.js.map +1 -1
  49. package/dist/collection/components/chip/chip.js +15 -15
  50. package/dist/collection/components/chip/chip.js.map +1 -1
  51. package/dist/collection/components/chip/chip.stories.js +21 -26
  52. package/dist/collection/components/chip/chip.stories.js.map +1 -1
  53. package/dist/collection/components/chip/interfaces.js.map +1 -1
  54. package/dist/collection/components/content-switcher/content-switcher.stories.js +65 -3
  55. package/dist/collection/components/content-switcher/content-switcher.stories.js.map +1 -1
  56. package/dist/collection/components/date-picker/date-picker.stories.js +97 -7
  57. package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -1
  58. package/dist/collection/components/dropdown/dropdown.stories.js +222 -64
  59. package/dist/collection/components/dropdown/dropdown.stories.js.map +1 -1
  60. package/dist/collection/components/footer/footer.stories.js +31 -1
  61. package/dist/collection/components/footer/footer.stories.js.map +1 -1
  62. package/dist/collection/components/icon/infineonIconStencil.stories.js +7 -2
  63. package/dist/collection/components/icon/infineonIconStencil.stories.js.map +1 -1
  64. package/dist/collection/components/icon-button/icon-button.stories.js +61 -5
  65. package/dist/collection/components/icon-button/icon-button.stories.js.map +1 -1
  66. package/dist/collection/components/link/link.stories.js +53 -4
  67. package/dist/collection/components/link/link.stories.js.map +1 -1
  68. package/dist/collection/components/modal/modal.js +10 -10
  69. package/dist/collection/components/modal/modal.js.map +1 -1
  70. package/dist/collection/components/modal/modal.stories.js +96 -19
  71. package/dist/collection/components/modal/modal.stories.js.map +1 -1
  72. package/dist/collection/components/navigation/navbar/navbar.js +4 -4
  73. package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
  74. package/dist/collection/components/navigation/navbar/navbar.stories.js +176 -12
  75. package/dist/collection/components/navigation/navbar/navbar.stories.js.map +1 -1
  76. package/dist/collection/components/navigation/sidebar/sidebar-item.js +11 -32
  77. package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
  78. package/dist/collection/components/navigation/sidebar/sidebar.stories.js +184 -19
  79. package/dist/collection/components/navigation/sidebar/sidebar.stories.js.map +1 -1
  80. package/dist/collection/components/notification/notification.stories.js +55 -8
  81. package/dist/collection/components/notification/notification.stories.js.map +1 -1
  82. package/dist/collection/components/number-indicator/number-indicator.stories.js +19 -0
  83. package/dist/collection/components/number-indicator/number-indicator.stories.js.map +1 -1
  84. package/dist/collection/components/pagination/pagination.js +8 -57
  85. package/dist/collection/components/pagination/pagination.js.map +1 -1
  86. package/dist/collection/components/pagination/pagination.stories.js +19 -16
  87. package/dist/collection/components/pagination/pagination.stories.js.map +1 -1
  88. package/dist/collection/components/progress-bar/progress-bar.stories.js +31 -8
  89. package/dist/collection/components/progress-bar/progress-bar.stories.js.map +1 -1
  90. package/dist/collection/components/radio-button/radio-button.stories.js +66 -13
  91. package/dist/collection/components/radio-button/radio-button.stories.js.map +1 -1
  92. package/dist/collection/components/search-bar/search-bar.js +6 -6
  93. package/dist/collection/components/search-bar/search-bar.js.map +1 -1
  94. package/dist/collection/components/search-bar/search-bar.stories.js +58 -9
  95. package/dist/collection/components/search-bar/search-bar.stories.js.map +1 -1
  96. package/dist/collection/components/search-field/search-field.stories.js +54 -8
  97. package/dist/collection/components/search-field/search-field.stories.js.map +1 -1
  98. package/dist/collection/components/segmented-control/segmented-control.stories.js +1 -10
  99. package/dist/collection/components/segmented-control/segmented-control.stories.js.map +1 -1
  100. package/dist/collection/components/select/multi-select/multiselect.js +5 -5
  101. package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
  102. package/dist/collection/components/select/multi-select/multiselect.stories.js +131 -5
  103. package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
  104. package/dist/collection/components/select/single-select/select.stories.js +83 -26
  105. package/dist/collection/components/select/single-select/select.stories.js.map +1 -1
  106. package/dist/collection/components/slider/slider.stories.js +97 -13
  107. package/dist/collection/components/slider/slider.stories.js.map +1 -1
  108. package/dist/collection/components/spinner/spinner.stories.js +34 -2
  109. package/dist/collection/components/spinner/spinner.stories.js.map +1 -1
  110. package/dist/collection/components/status/status.stories.js +25 -1
  111. package/dist/collection/components/status/status.stories.js.map +1 -1
  112. package/dist/collection/components/stepper/stepper.stories.js +54 -25
  113. package/dist/collection/components/stepper/stepper.stories.js.map +1 -1
  114. package/dist/collection/components/switch/switch.stories.js +51 -4
  115. package/dist/collection/components/switch/switch.stories.js.map +1 -1
  116. package/dist/collection/components/table-advanced-version/table.js +23 -21
  117. package/dist/collection/components/table-advanced-version/table.js.map +1 -1
  118. package/dist/collection/components/table-advanced-version/table.stories.js +124 -39
  119. package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
  120. package/dist/collection/components/table-basic-version/table.stories.js +31 -4
  121. package/dist/collection/components/table-basic-version/table.stories.js.map +1 -1
  122. package/dist/collection/components/tabs/tabs.js +7 -7
  123. package/dist/collection/components/tabs/tabs.js.map +1 -1
  124. package/dist/collection/components/tabs/tabs.stories.js +104 -29
  125. package/dist/collection/components/tabs/tabs.stories.js.map +1 -1
  126. package/dist/collection/components/tag/tag.stories.js +18 -0
  127. package/dist/collection/components/tag/tag.stories.js.map +1 -1
  128. package/dist/collection/components/text-field/text-field.stories.js +116 -13
  129. package/dist/collection/components/text-field/text-field.stories.js.map +1 -1
  130. package/dist/collection/components/textarea/textarea.stories.js +1 -3
  131. package/dist/collection/components/textarea/textarea.stories.js.map +1 -1
  132. package/dist/collection/components/tooltip/tooltip.stories.js +48 -4
  133. package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -1
  134. package/dist/components/ifx-accordion-item.js +1 -1
  135. package/dist/components/ifx-accordion.js +1 -1
  136. package/dist/components/ifx-breadcrumb-item-label.js +2 -2
  137. package/dist/components/ifx-breadcrumb-item-label.js.map +1 -1
  138. package/dist/components/ifx-breadcrumb.js +3 -3
  139. package/dist/components/ifx-breadcrumb.js.map +1 -1
  140. package/dist/components/ifx-chip-item.js +1 -1
  141. package/dist/components/ifx-chip.js +1 -1
  142. package/dist/components/ifx-faq.js +2 -2
  143. package/dist/components/ifx-modal.js +8 -8
  144. package/dist/components/ifx-modal.js.map +1 -1
  145. package/dist/components/ifx-multiselect.js +1 -1
  146. package/dist/components/ifx-navbar.js +4 -4
  147. package/dist/components/ifx-navbar.js.map +1 -1
  148. package/dist/components/ifx-pagination.js +1 -1
  149. package/dist/components/ifx-search-bar.js +5 -5
  150. package/dist/components/ifx-search-bar.js.map +1 -1
  151. package/dist/components/ifx-set-filter.js +1 -1
  152. package/dist/components/ifx-sidebar-item.js +11 -13
  153. package/dist/components/ifx-sidebar-item.js.map +1 -1
  154. package/dist/components/ifx-table.js +26 -24
  155. package/dist/components/ifx-table.js.map +1 -1
  156. package/dist/components/ifx-tabs.js +6 -6
  157. package/dist/components/ifx-tabs.js.map +1 -1
  158. package/dist/components/{p-654ff7d8.js → p-120f0d27.js} +3 -3
  159. package/dist/components/{p-654ff7d8.js.map → p-120f0d27.js.map} +1 -1
  160. package/dist/components/{p-a7e5035e.js → p-62a4b616.js} +9 -12
  161. package/dist/components/p-62a4b616.js.map +1 -0
  162. package/dist/components/{p-e57d6c00.js → p-6a284649.js} +5 -5
  163. package/dist/components/p-6a284649.js.map +1 -0
  164. package/dist/components/{p-0fce434b.js → p-7c1f2252.js} +15 -15
  165. package/dist/components/p-7c1f2252.js.map +1 -0
  166. package/dist/components/{p-ff48962a.js → p-a51cb7b6.js} +8 -8
  167. package/dist/components/{p-ff48962a.js.map → p-a51cb7b6.js.map} +1 -1
  168. package/dist/components/{p-d3904b2f.js → p-bb48fe64.js} +5 -5
  169. package/dist/components/p-bb48fe64.js.map +1 -0
  170. package/dist/esm/ifx-accordion_2.entry.js +7 -7
  171. package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
  172. package/dist/esm/ifx-breadcrumb-item-label.entry.js +1 -1
  173. package/dist/esm/ifx-breadcrumb-item-label.entry.js.map +1 -1
  174. package/dist/esm/ifx-breadcrumb.entry.js +3 -3
  175. package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
  176. package/dist/esm/ifx-chip_3.entry.js +25 -27
  177. package/dist/esm/ifx-chip_3.entry.js.map +1 -1
  178. package/dist/esm/ifx-modal.entry.js +8 -8
  179. package/dist/esm/ifx-modal.entry.js.map +1 -1
  180. package/dist/esm/ifx-multiselect_2.entry.js +4 -4
  181. package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
  182. package/dist/esm/ifx-navbar.entry.js +3 -3
  183. package/dist/esm/ifx-navbar.entry.js.map +1 -1
  184. package/dist/esm/ifx-search-bar.entry.js +5 -5
  185. package/dist/esm/ifx-search-bar.entry.js.map +1 -1
  186. package/dist/esm/ifx-sidebar-item.entry.js +9 -10
  187. package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
  188. package/dist/esm/ifx-table.entry.js +22 -20
  189. package/dist/esm/ifx-table.entry.js.map +1 -1
  190. package/dist/esm/ifx-tabs.entry.js +6 -6
  191. package/dist/esm/ifx-tabs.entry.js.map +1 -1
  192. package/dist/esm/infineon-design-system-stencil.js +1 -1
  193. package/dist/esm/loader.js +1 -1
  194. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
  195. package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
  196. package/dist/infineon-design-system-stencil/p-0a03645f.entry.js +2 -0
  197. package/dist/infineon-design-system-stencil/p-0a03645f.entry.js.map +1 -0
  198. package/dist/infineon-design-system-stencil/p-0b90ce9a.entry.js +2 -0
  199. package/dist/infineon-design-system-stencil/p-0b90ce9a.entry.js.map +1 -0
  200. package/dist/infineon-design-system-stencil/p-1da58025.entry.js +2 -0
  201. package/dist/infineon-design-system-stencil/p-1da58025.entry.js.map +1 -0
  202. package/dist/infineon-design-system-stencil/p-3e68969c.entry.js +2 -0
  203. package/dist/infineon-design-system-stencil/{p-500bc0ed.entry.js.map → p-3e68969c.entry.js.map} +1 -1
  204. package/dist/infineon-design-system-stencil/{p-258c4e35.entry.js → p-68dd9fa2.entry.js} +2 -2
  205. package/dist/infineon-design-system-stencil/p-68dd9fa2.entry.js.map +1 -0
  206. package/dist/infineon-design-system-stencil/p-75d5418a.entry.js +2 -0
  207. package/dist/infineon-design-system-stencil/p-75d5418a.entry.js.map +1 -0
  208. package/dist/infineon-design-system-stencil/p-88f484ee.entry.js +2 -0
  209. package/dist/infineon-design-system-stencil/p-88f484ee.entry.js.map +1 -0
  210. package/dist/infineon-design-system-stencil/{p-1f004047.entry.js → p-8953e0ef.entry.js} +2 -2
  211. package/dist/infineon-design-system-stencil/p-8953e0ef.entry.js.map +1 -0
  212. package/dist/infineon-design-system-stencil/{p-7cc1beed.entry.js → p-aebfd7f8.entry.js} +2 -2
  213. package/dist/infineon-design-system-stencil/p-aebfd7f8.entry.js.map +1 -0
  214. package/dist/infineon-design-system-stencil/p-e67e7cbc.entry.js +2 -0
  215. package/dist/infineon-design-system-stencil/p-e67e7cbc.entry.js.map +1 -0
  216. package/dist/infineon-design-system-stencil/{p-6c18926e.entry.js → p-fd0474f3.entry.js} +2 -2
  217. package/dist/infineon-design-system-stencil/p-fd0474f3.entry.js.map +1 -0
  218. package/dist/types/components/accordion/accordion.stories.d.ts +67 -1
  219. package/dist/types/components/accordion/accordionItem.d.ts +3 -3
  220. package/dist/types/components/alert/alert.stories.d.ts +38 -11
  221. package/dist/types/components/badge/badge.stories.d.ts +23 -3
  222. package/dist/types/components/breadcrumb/breadcrumb-item-label.d.ts +1 -1
  223. package/dist/types/components/breadcrumb/breadcrumb.stories.d.ts +83 -1
  224. package/dist/types/components/button/button.stories.d.ts +92 -16
  225. package/dist/types/components/card/card.stories.d.ts +95 -1
  226. package/dist/types/components/checkbox/checkbox.stories.d.ts +65 -10
  227. package/dist/types/components/chip/chip-item/chip-item.d.ts +1 -1
  228. package/dist/types/components/chip/chip.d.ts +1 -1
  229. package/dist/types/components/chip/chip.stories.d.ts +11 -4
  230. package/dist/types/components/chip/interfaces.d.ts +1 -1
  231. package/dist/types/components/content-switcher/content-switcher.stories.d.ts +66 -0
  232. package/dist/types/components/date-picker/date-picker.stories.d.ts +89 -2
  233. package/dist/types/components/dropdown/dropdown.stories.d.ts +90 -33
  234. package/dist/types/components/footer/footer.stories.d.ts +26 -0
  235. package/dist/types/components/icon/infineonIconStencil.stories.d.ts +5 -0
  236. package/dist/types/components/icon-button/icon-button.stories.d.ts +56 -8
  237. package/dist/types/components/link/link.stories.d.ts +49 -6
  238. package/dist/types/components/modal/modal.d.ts +2 -2
  239. package/dist/types/components/modal/modal.stories.d.ts +77 -3
  240. package/dist/types/components/navigation/navbar/navbar.stories.d.ts +222 -6
  241. package/dist/types/components/navigation/sidebar/sidebar-item.d.ts +2 -3
  242. package/dist/types/components/navigation/sidebar/sidebar.stories.d.ts +161 -7
  243. package/dist/types/components/notification/notification.stories.d.ts +46 -2
  244. package/dist/types/components/number-indicator/number-indicator.stories.d.ts +19 -0
  245. package/dist/types/components/pagination/pagination.d.ts +1 -4
  246. package/dist/types/components/pagination/pagination.stories.d.ts +12 -8
  247. package/dist/types/components/progress-bar/progress-bar.stories.d.ts +25 -4
  248. package/dist/types/components/radio-button/radio-button.stories.d.ts +59 -8
  249. package/dist/types/components/search-bar/search-bar.d.ts +1 -1
  250. package/dist/types/components/search-bar/search-bar.stories.d.ts +60 -3
  251. package/dist/types/components/search-field/search-field.stories.d.ts +45 -6
  252. package/dist/types/components/segmented-control/segmented-control.stories.d.ts +0 -3
  253. package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
  254. package/dist/types/components/select/multi-select/multiselect.stories.d.ts +125 -0
  255. package/dist/types/components/select/single-select/select.stories.d.ts +67 -24
  256. package/dist/types/components/slider/slider.stories.d.ts +110 -0
  257. package/dist/types/components/spinner/spinner.stories.d.ts +32 -0
  258. package/dist/types/components/status/status.stories.d.ts +24 -2
  259. package/dist/types/components/stepper/stepper.stories.d.ts +30 -6
  260. package/dist/types/components/switch/switch.stories.d.ts +47 -1
  261. package/dist/types/components/table-advanced-version/table.stories.d.ts +50 -11
  262. package/dist/types/components/table-basic-version/table.stories.d.ts +21 -1
  263. package/dist/types/components/tabs/tabs.d.ts +1 -1
  264. package/dist/types/components/tabs/tabs.stories.d.ts +88 -9
  265. package/dist/types/components/tag/tag.stories.d.ts +20 -0
  266. package/dist/types/components/text-field/text-field.stories.d.ts +106 -10
  267. package/dist/types/components/tooltip/tooltip.stories.d.ts +41 -6
  268. package/dist/types/components.d.ts +20 -28
  269. package/package.json +3 -2
  270. package/dist/components/p-0fce434b.js.map +0 -1
  271. package/dist/components/p-a7e5035e.js.map +0 -1
  272. package/dist/components/p-d3904b2f.js.map +0 -1
  273. package/dist/components/p-e57d6c00.js.map +0 -1
  274. package/dist/infineon-design-system-stencil/p-1f004047.entry.js.map +0 -1
  275. package/dist/infineon-design-system-stencil/p-258c4e35.entry.js.map +0 -1
  276. package/dist/infineon-design-system-stencil/p-500bc0ed.entry.js +0 -2
  277. package/dist/infineon-design-system-stencil/p-5acdecf6.entry.js +0 -2
  278. package/dist/infineon-design-system-stencil/p-5acdecf6.entry.js.map +0 -1
  279. package/dist/infineon-design-system-stencil/p-6c18926e.entry.js.map +0 -1
  280. package/dist/infineon-design-system-stencil/p-77a8fc5e.entry.js +0 -2
  281. package/dist/infineon-design-system-stencil/p-77a8fc5e.entry.js.map +0 -1
  282. package/dist/infineon-design-system-stencil/p-7cc1beed.entry.js.map +0 -1
  283. package/dist/infineon-design-system-stencil/p-98c50956.entry.js +0 -2
  284. package/dist/infineon-design-system-stencil/p-98c50956.entry.js.map +0 -1
  285. package/dist/infineon-design-system-stencil/p-c6ff49d7.entry.js +0 -2
  286. package/dist/infineon-design-system-stencil/p-c6ff49d7.entry.js.map +0 -1
  287. package/dist/infineon-design-system-stencil/p-d61ab729.entry.js +0 -2
  288. package/dist/infineon-design-system-stencil/p-d61ab729.entry.js.map +0 -1
  289. package/dist/infineon-design-system-stencil/p-f63ce1bc.entry.js +0 -2
  290. package/dist/infineon-design-system-stencil/p-f63ce1bc.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"infineonIconStencil.stories.js","sourceRoot":"","sources":["../../../src/components/icon/infineonIconStencil.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,2CAA2C;YACxD,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,6LAA6L;iBAChM;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { icons } from '@infineon/infineon-icons';\nimport { action } from '@storybook/addon-actions';\n\nexport default {\n title: 'Components/Icon',\n tags: ['autodocs'],\n\n args: {\n icon: 'c-check-16',\n },\n argTypes: {\n icon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n },\n consoleError: {\n action: 'consoleError',\n description: 'Custom event emitted when icon is invalid',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onConsoleError={handleChange}\\nVue:@consoleError=\"handleChange\"\\nAngular:(consoleError)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"consoleError\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst DefaultTemplate = ({ icon }) => {\n const ifxIcon = document.createElement('ifx-icon');\n ifxIcon.setAttribute('icon', icon);\n ifxIcon.addEventListener('consoleError', action('consoleError'));\n return ifxIcon;\n};\n\nexport const Default = DefaultTemplate.bind({});\n"]}
1
+ {"version":3,"file":"infineonIconStencil.stories.js","sourceRoot":"","sources":["../../../src/components/icon/infineonIconStencil.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;aAC3B;SACF;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,cAAc;YACtB,WAAW,EAAE,4CAA4C;YACzD,KAAK,EAAE;gBACL,QAAQ,EAAE,eAAe;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,uBAAuB;oBAChC,MAAM,EACJ,yLAAyL;iBAC5L;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { icons } from '@infineon/infineon-icons';\nimport { action } from '@storybook/addon-actions';\n\nexport default {\n title: 'Components/Icon',\n tags: ['autodocs'],\n\n args: {\n icon: 'c-check-16',\n },\n argTypes: {\n icon: {\n description: 'Set the icon.',\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n table: {\n category: 'ifx-icon props',\n }\n },\n consoleError: {\n action: 'consoleError',\n description: 'Custom event emitted when icon is invalid.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onConsoleError={handleError}\\nVue:@consoleError=\"handleError\"\\nAngular:(consoleError)=\"handleError()\"\\nVanillaJs:.addEventListener(\"consoleError\", (event) => {//handle error});',\n },\n },\n },\n },\n};\n\nconst DefaultTemplate = ({ icon }) => {\n const ifxIcon = document.createElement('ifx-icon');\n ifxIcon.setAttribute('icon', icon);\n ifxIcon.addEventListener('consoleError', action('consoleError'));\n return ifxIcon;\n};\n\nexport const Default = DefaultTemplate.bind({});\n"]}
@@ -13,25 +13,81 @@ export default {
13
13
  },
14
14
  argTypes: {
15
15
  icon: {
16
+ description: 'The icon to be displayed.',
16
17
  options: Object.values(icons).map(i => i['name']),
17
18
  control: { type: 'select' },
19
+ table: {
20
+ category: 'ifx-icon-button props',
21
+ defaultValue: {
22
+ summary: 'c-info-24'
23
+ }
24
+ }
18
25
  },
19
26
  variant: {
27
+ description: 'Sets the style variant of the icon button.',
28
+ control: 'radio',
20
29
  options: ['primary', 'secondary', 'tertiary'],
21
- control: { type: 'radio' },
30
+ table: {
31
+ category: 'ifx-icon-button props',
32
+ defaultValue: {
33
+ summary: 'primary'
34
+ }
35
+ }
36
+ },
37
+ disabled: {
38
+ description: 'Disables the icon button when set to true.',
39
+ control: 'boolean',
40
+ table: {
41
+ category: 'ifx-icon-button props',
42
+ defaultValue: {
43
+ summary: 'false'
44
+ }
45
+ }
46
+ },
47
+ href: {
48
+ description: 'Specifies the URL to which the icon button will link.',
49
+ table: {
50
+ category: 'ifx-icon-button props',
51
+ type: {
52
+ summary: 'string'
53
+ }
54
+ }
22
55
  },
23
56
  size: {
24
- description: 'Size options: s (24px), m (40px) and l (48px) - default: m',
57
+ description: 'Sets the size of the icon button. Options: s (24px), m (40px) and l (48px).',
58
+ control: 'radio',
25
59
  options: ['s', 'm', 'l'],
26
- control: { type: 'radio' },
60
+ table: {
61
+ category: 'ifx-icon-button props',
62
+ defaultValue: {
63
+ summary: 'm'
64
+ },
65
+ type: {
66
+ summary: 's | m | l'
67
+ }
68
+ }
27
69
  },
28
70
  target: {
71
+ description: 'Determines where to open the linked URL when the button is clicked.',
72
+ control: 'radio',
29
73
  options: ['_blank', '_self', '_parent'],
30
- control: { type: 'radio' },
74
+ table: {
75
+ category: 'ifx-icon-button props',
76
+ defaultValue: {
77
+ summary: '_blank'
78
+ }
79
+ }
31
80
  },
32
81
  shape: {
82
+ description: 'Defines the shape of the icon button.',
83
+ control: 'radio',
33
84
  options: ['round', 'square'],
34
- control: { type: 'radio' },
85
+ table: {
86
+ category: 'ifx-icon-button props',
87
+ defaultValue: {
88
+ summary: 'round'
89
+ }
90
+ }
35
91
  },
36
92
  },
37
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.stories.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,eAAe;IACb,KAAK,EAAE,wBAAwB;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;YAC7C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;QAED,IAAI,EAAE;YACJ,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACvC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAC7B,2BAA2B,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,QAAQ;qBAC7J,CAAC;AAEtB,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Icon Button',\n tags: ['autodocs'],\n\n args: {\n variant: 'primary',\n size: 'm',\n disabled: false,\n icon: 'c-info-24',\n href: '',\n target: '_blank',\n shape: 'round',\n },\n\n argTypes: {\n icon: {\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n },\n variant: {\n options: ['primary', 'secondary', 'tertiary'],\n control: { type: 'radio' },\n },\n\n size: {\n description: 'Size options: s (24px), m (40px) and l (48px) - default: m',\n options: ['s', 'm', 'l'],\n control: { type: 'radio' },\n },\n target: {\n options: ['_blank', '_self', '_parent'],\n control: { type: 'radio' },\n },\n shape: {\n options: ['round', 'square'],\n control: { type: 'radio' },\n },\n },\n};\n\nconst DefaultTemplate = args =>\n `<ifx-icon-button shape=\"${args.shape}\" variant=\"${args.variant}\" icon=\"${args.icon}\" href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" disabled=\"${args.disabled}\">\n </ifx-icon-button>`;\n\nexport const Default = DefaultTemplate.bind({});\n"]}
1
+ {"version":3,"file":"icon-button.stories.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,eAAe;IACb,KAAK,EAAE,wBAAwB;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,OAAO;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,WAAW;iBACrB;aACF;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;YAC7C,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,SAAS;iBACnB;aACF;SACF;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,6EAA6E;YAC1F,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YACxB,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,GAAG;iBACb;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW;iBACrB;aACF;SACF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,qEAAqE;YAClF,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACvC,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,KAAK,EAAE;YACL,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5B,KAAK,EAAE;gBACL,QAAQ,EAAE,uBAAuB;gBACjC,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAC7B,2BAA2B,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,QAAQ;qBAC7J,CAAC;AAEtB,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Icon Button',\n tags: ['autodocs'],\n\n args: {\n variant: 'primary',\n size: 'm',\n disabled: false,\n icon: 'c-info-24',\n href: '',\n target: '_blank',\n shape: 'round',\n },\n\n argTypes: {\n icon: {\n description: 'The icon to be displayed.',\n options: Object.values(icons).map(i => i['name']),\n control: { type: 'select' },\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: 'c-info-24'\n }\n }\n },\n variant: {\n description: 'Sets the style variant of the icon button.',\n control: 'radio',\n options: ['primary', 'secondary', 'tertiary'],\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: 'primary'\n }\n }\n },\n disabled: {\n description: 'Disables the icon button when set to true.',\n control: 'boolean',\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: 'false'\n }\n }\n },\n href: {\n description: 'Specifies the URL to which the icon button will link.',\n table: {\n category: 'ifx-icon-button props',\n type: {\n summary: 'string'\n }\n }\n },\n size: {\n description: 'Sets the size of the icon button. Options: s (24px), m (40px) and l (48px).',\n control: 'radio',\n options: ['s', 'm', 'l'],\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: 'm'\n },\n type: {\n summary: 's | m | l'\n }\n }\n },\n target: {\n description: 'Determines where to open the linked URL when the button is clicked.',\n control: 'radio',\n options: ['_blank', '_self', '_parent'],\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: '_blank'\n }\n }\n },\n shape: {\n description: 'Defines the shape of the icon button.',\n control: 'radio',\n options: ['round', 'square'],\n table: {\n category: 'ifx-icon-button props',\n defaultValue: {\n summary: 'round'\n }\n }\n },\n },\n};\n\nconst DefaultTemplate = args =>\n `<ifx-icon-button shape=\"${args.shape}\" variant=\"${args.variant}\" icon=\"${args.icon}\" href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" disabled=\"${args.disabled}\">\n </ifx-icon-button>`;\n\nexport const Default = DefaultTemplate.bind({});\n"]}
@@ -10,18 +10,67 @@ export default {
10
10
  variant: 'bold',
11
11
  },
12
12
  argTypes: {
13
+ label: {
14
+ name: 'Label of Link',
15
+ description: 'Set the label of *<ifx-link>*.',
16
+ table: {
17
+ category: 'story controls',
18
+ }
19
+ },
20
+ href: {
21
+ description: 'Specifies the URL of the link.',
22
+ table: {
23
+ category: 'ifx-link props',
24
+ type: {
25
+ summary: 'string'
26
+ }
27
+ }
28
+ },
13
29
  target: {
30
+ description: 'Determines where to open the linked URL when the link is clicked.',
31
+ control: 'radio',
14
32
  options: ['_blank', '_self', '_parent'],
15
- control: { type: 'radio' },
33
+ table: {
34
+ category: 'ifx-link props',
35
+ defaultValue: {
36
+ summary: '_blank'
37
+ }
38
+ }
39
+ },
40
+ disabled: {
41
+ description: 'Disables the link.',
42
+ control: 'boolean',
43
+ table: {
44
+ category: 'ifx-link props',
45
+ defaultValue: {
46
+ summary: 'false'
47
+ }
48
+ }
16
49
  },
17
50
  size: {
18
- description: 'Font Size options: s (14px), m (16px), l (18px), xl (20px) - default: m',
51
+ description: 'Sets the Font Size of the link. Options: s (14px), m (16px), l (18px), xl (20px)',
52
+ control: 'radio',
19
53
  options: ['s', 'm', 'l', 'xl'],
20
- control: { type: 'radio' },
54
+ table: {
55
+ category: 'ifx-link props',
56
+ defaultValue: {
57
+ summary: 'm'
58
+ },
59
+ type: {
60
+ summary: 's | m | l | xl'
61
+ }
62
+ }
21
63
  },
22
64
  variant: {
65
+ description: 'Sets the style variant of the link.',
66
+ control: 'radio',
23
67
  options: ['bold', 'underlined', 'title', 'menu'],
24
- control: { type: 'radio' },
68
+ table: {
69
+ category: 'ifx-link props',
70
+ defaultValue: {
71
+ summary: 'bold'
72
+ }
73
+ }
25
74
  },
26
75
  },
27
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"link.stories.js","sourceRoot":"","sources":["../../../src/components/link/link.stories.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,MAAM;KAChB;IAED,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACvC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,yEAAyE;YACtF,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;YAChD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAC7B,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,QAAQ;IAC5H,IAAI,CAAC,KAAK;cACA,CAAC;AAEf,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhD,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAC9B,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO;IAChG,IAAI,CAAC,KAAK;;cAEA,CAAC;AAEf,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["export default {\n title: 'Components/Link',\n tags: ['autodocs'],\n\n args: {\n label: 'Link',\n href: '',\n target: '_blank',\n size: 'm',\n disabled: false,\n variant: 'bold',\n },\n\n argTypes: {\n target: {\n options: ['_blank', '_self', '_parent'],\n control: { type: 'radio' },\n },\n size: {\n description: 'Font Size options: s (14px), m (16px), l (18px), xl (20px) - default: m',\n options: ['s', 'm', 'l', 'xl'],\n control: { type: 'radio' },\n },\n variant: {\n options: ['bold', 'underlined', 'title', 'menu'],\n control: { type: 'radio' },\n },\n },\n};\n\nconst DefaultTemplate = args =>\n `<ifx-link href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" variant=\"${args.variant}\" disabled=\"${args.disabled}\" >\n ${args.label}\n </ifx-link>`;\n\nexport const Default = DefaultTemplate.bind({});\n\nconst TemplateWithIcon = args =>\n `<ifx-link href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" variant=\"${args.variant}\" >\n ${args.label}\n <ifx-icon icon=\"arrow-right-16\"></ifx-icon>\n </ifx-link>`;\n\nexport const WithIcon = TemplateWithIcon.bind({});\n"]}
1
+ {"version":3,"file":"link.stories.js","sourceRoot":"","sources":["../../../src/components/link/link.stories.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,CAAC,UAAU,CAAC;IAElB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,MAAM;KAChB;IAED,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,gCAAgC;YAC7C,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;aAC3B;SACF;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,gCAAgC;YAC7C,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE;oBACJ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,MAAM,EAAE;YACN,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACvC,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE;oBACZ,OAAO,EAAE,QAAQ;iBAClB;aACF;SACF;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE;oBACZ,OAAO,EAAE,OAAO;iBACjB;aACF;SACF;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,kFAAkF;YAC/F,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;YAC9B,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE;oBACZ,OAAO,EAAE,GAAG;iBACb;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,gBAAgB;iBAC1B;aACF;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE,qCAAqC;YAClD,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;YAChD,KAAK,EAAE;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,YAAY,EAAE;oBACZ,OAAO,EAAE,MAAM;iBAChB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAC7B,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,QAAQ;IAC5H,IAAI,CAAC,KAAK;cACA,CAAC;AAEf,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhD,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAC9B,mBAAmB,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,OAAO;IAChG,IAAI,CAAC,KAAK;;cAEA,CAAC;AAEf,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["export default {\n title: 'Components/Link',\n tags: ['autodocs'],\n\n args: {\n label: 'Link',\n href: '',\n target: '_blank',\n size: 'm',\n disabled: false,\n variant: 'bold',\n },\n\n argTypes: {\n label: {\n name: 'Label of Link',\n description: 'Set the label of *<ifx-link>*.',\n table: {\n category: 'story controls',\n }\n },\n href: {\n description: 'Specifies the URL of the link.',\n table: {\n category: 'ifx-link props',\n type: {\n summary: 'string'\n }\n }\n },\n target: {\n description: 'Determines where to open the linked URL when the link is clicked.',\n control: 'radio',\n options: ['_blank', '_self', '_parent'],\n table: {\n category: 'ifx-link props',\n defaultValue: {\n summary: '_blank'\n }\n }\n },\n disabled: {\n description: 'Disables the link.',\n control: 'boolean',\n table: {\n category: 'ifx-link props',\n defaultValue: {\n summary: 'false'\n }\n }\n },\n size: {\n description: 'Sets the Font Size of the link. Options: s (14px), m (16px), l (18px), xl (20px)',\n control: 'radio',\n options: ['s', 'm', 'l', 'xl'],\n table: {\n category: 'ifx-link props',\n defaultValue: {\n summary: 'm'\n },\n type: {\n summary: 's | m | l | xl'\n }\n }\n },\n variant: {\n description: 'Sets the style variant of the link.',\n control: 'radio',\n options: ['bold', 'underlined', 'title', 'menu'],\n table: {\n category: 'ifx-link props',\n defaultValue: {\n summary: 'bold'\n }\n }\n },\n },\n};\n\nconst DefaultTemplate = args =>\n `<ifx-link href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" variant=\"${args.variant}\" disabled=\"${args.disabled}\" >\n ${args.label}\n </ifx-link>`;\n\nexport const Default = DefaultTemplate.bind({});\n\nconst TemplateWithIcon = args =>\n `<ifx-link href=\"${args.href}\" target=\"${args.target}\" size=\"${args.size}\" variant=\"${args.variant}\" >\n ${args.label}\n <ifx-icon icon=\"arrow-right-16\"></ifx-icon>\n </ifx-link>`;\n\nexport const WithIcon = TemplateWithIcon.bind({});\n"]}
@@ -66,12 +66,12 @@ export class IfxModal {
66
66
  (_a = this.getLastFocusableElement()) === null || _a === void 0 ? void 0 : _a.focus();
67
67
  (_b = this.getLastFocusableElement()) === null || _b === void 0 ? void 0 : _b.blur();
68
68
  }, 0);
69
- this.ifxModalOpen.emit();
69
+ this.ifxOpen.emit();
70
70
  });
71
71
  this.hostElement.addEventListener('keydown', this.handleKeypress);
72
72
  }
73
73
  catch (err) {
74
- this.ifxModalOpen.emit();
74
+ this.ifxOpen.emit();
75
75
  }
76
76
  }
77
77
  close() {
@@ -81,13 +81,13 @@ export class IfxModal {
81
81
  });
82
82
  anim.addEventListener('finish', () => {
83
83
  this.showModal = false;
84
- this.ifxModalClose.emit();
84
+ this.ifxClose.emit();
85
85
  });
86
86
  this.hostElement.removeEventListener('keydown', this.handleKeypress);
87
87
  }
88
88
  catch (err) {
89
89
  this.showModal = false;
90
- this.ifxModalClose.emit();
90
+ this.ifxClose.emit();
91
91
  }
92
92
  }
93
93
  doBeforeClose(trigger) {
@@ -122,8 +122,8 @@ export class IfxModal {
122
122
  }
123
123
  render() {
124
124
  const isAlertVariant = this.variant !== 'default';
125
- return (h(Host, { key: '4a8ed48128a2192831e42bbd8014df517a76465e' }, h("div", { key: 'fefd3e526e578722bf18f7018d48a31c012ca95d', ref: (el) => (this.modalContainer = el), class: `modal-container ${this.showModal ? 'open' : ''}` }, h("div", { key: 'f54884c0516efeebdd7cddc8d6a3b7d2b5050c98', class: "modal-overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: 'e3ce2aa9419cddc252f00c3c81896f29c25fcd39', "data-focus-trap-edge": true, onFocus: this.handleTopFocus, tabindex: "0" }), h("div", { key: 'f8e0f5e125d47eaf8d6a3e21f2a1e0b0af4d2c17', class: `modal-content-container ${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, isAlertVariant ? (h("div", { class: `modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}` }, this.alertIcon ? h("ifx-icon", { icon: this.alertIcon }) : null)) : null, h("div", { key: '2a27eacb91cbb1379a3844d7f67121261d9a9a9f', class: "modal-content" }, h("div", { key: '0ef370018633db89d128e467107a7433145c2315', class: "modal-header" }, h("h2", { key: '2fd0d99405a90984bb7a69c44b1566feba58a926', class: "modal-caption" }, this.caption), this.showCloseButton &&
126
- h("ifx-icon-button", { key: '883d03d2854b25367ff6fe7bec4ac046feb3847a', class: 'modal-close-button', ref: (el) => (this.closeButton = el), icon: "cross-24", variant: "tertiary", onClick: () => this.doBeforeClose('CLOSE_BUTTON') })), h("div", { key: '08db467c2d615e50e07baacbb1b768721a7e71aa', class: "modal-body" }, h("slot", { key: '91c71ae55a36accb03c103784298e84ec17ed6db', name: "content" /*onSlotchange={() => console.log('slots children modified')}*/ })), h("div", { key: '5590b2a0b9b88f7518c4d28fe78967a692fbebb5', class: `modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}` }, h("slot", { key: 'd1e938629fa0af9f704079e2723f5340d9bbed7a', name: "buttons", onSlotchange: (e) => this.handleButtonsSlotChange(e) })))), h("div", { key: 'add7f86c862a6ca066f4952d294b73c08108343c', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
125
+ return (h(Host, { key: '7838312d29af5bfe484c97c05a90dae5ff3b5de1' }, h("div", { key: '67be5e99c3b9980d710677a1b1990923319a02d7', ref: (el) => (this.modalContainer = el), class: `modal-container ${this.showModal ? 'open' : ''}` }, h("div", { key: '44812d76cc1265b931ed09a719cfa7ef4fc68184', class: "modal-overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: '3325dc81fc5833a591041859217fe036afddf69d', "data-focus-trap-edge": true, onFocus: this.handleTopFocus, tabindex: "0" }), h("div", { key: '1859e8052899ee650eb0ff1bbf91b7929a1abc18', class: `modal-content-container ${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, isAlertVariant ? (h("div", { class: `modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}` }, this.alertIcon ? h("ifx-icon", { icon: this.alertIcon }) : null)) : null, h("div", { key: 'eda6bb4ea446ab9cb6928d23dd129becc31a799b', class: "modal-content" }, h("div", { key: 'dd81ffc02d07b96ff7c26777beafb6a19b0d8156', class: "modal-header" }, h("h2", { key: '0922acfe4b61b263c4651d25807c52443220279f', class: "modal-caption" }, this.caption), this.showCloseButton &&
126
+ h("ifx-icon-button", { key: '018a2603f5934c4b87d041789a54073c1eb79220', class: 'modal-close-button', ref: (el) => (this.closeButton = el), icon: "cross-24", variant: "tertiary", onClick: () => this.doBeforeClose('CLOSE_BUTTON') })), h("div", { key: '9ddd173cdad022e6dd2d4f95bd47b0378096832f', class: "modal-body" }, h("slot", { key: '4deaf8f9f25cb1d91c916ae8a579ae3f5bb1a7fd', name: "content" /*onSlotchange={() => console.log('slots children modified')}*/ })), h("div", { key: '6d589154a4b7db5072f6850898f6d8a59c2239bc', class: `modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}` }, h("slot", { key: '766655cd995a62fd4eccc16eec077bdc2e963a07', name: "buttons", onSlotchange: (e) => this.handleButtonsSlotChange(e) })))), h("div", { key: '2cb8c2ed2923b47525af557d24d412e0d0284790', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
127
127
  }
128
128
  static get is() { return "ifx-modal"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -329,8 +329,8 @@ export class IfxModal {
329
329
  }
330
330
  static get events() {
331
331
  return [{
332
- "method": "ifxModalOpen",
333
- "name": "ifxModalOpen",
332
+ "method": "ifxOpen",
333
+ "name": "ifxOpen",
334
334
  "bubbles": true,
335
335
  "cancelable": true,
336
336
  "composed": true,
@@ -344,8 +344,8 @@ export class IfxModal {
344
344
  "references": {}
345
345
  }
346
346
  }, {
347
- "method": "ifxModalClose",
348
- "name": "ifxModalClose",
347
+ "method": "ifxClose",
348
+ "name": "ifxClose",
349
349
  "bubbles": true,
350
350
  "cancelable": true,
351
351
  "composed": true,
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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","sourcesContent":["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() ifxModalOpen: EventEmitter;\n @Event() ifxModalClose: 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\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\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\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.ifxModalOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxModalOpen.emit();\n\n }\n\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.ifxModalClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxModalClose.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\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\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\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\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-24\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" /*onSlotchange={() => console.log('slots children modified')}*/ />\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}"]}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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","sourcesContent":["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\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\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\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\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\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\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\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\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-24\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" /*onSlotchange={() => console.log('slots children modified')}*/ />\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}"]}
@@ -6,69 +6,143 @@ export default {
6
6
  // tags: ['autodocs'],
7
7
  args: {
8
8
  opened: false,
9
+ cancelButtonLabel: 'Cancel',
10
+ okButtonLabel: 'OK',
9
11
  },
10
12
  argTypes: {
11
13
  caption: {
12
14
  control: 'text',
13
- description: 'Title for the modal',
15
+ description: 'Title for the modal.',
16
+ table: {
17
+ category: 'ifx-modal props',
18
+ },
14
19
  },
15
20
  opened: {
16
21
  control: {
17
22
  disable: true,
18
23
  },
24
+ description: 'Default state of the modal.',
19
25
  table: {
26
+ category: 'ifx-modal props',
27
+ defaultValue: {
28
+ summary: 'false',
29
+ },
20
30
  type: {
21
31
  summary: 'Example (in VanillaJs)',
22
32
  detail: "const modal = document.getElementById('modal'); \nconst openButton = document.getElementById('open'); \n//add DOM event listeners (e.g. click and/or keypress)\n\nfunction openModal() { \nmodal.opened=true;\n\nfunction closeModal() { \nmodal.opened = false; \n}",
23
33
  },
24
34
  },
25
- description: 'Defaults to false - Can be set by referring to the component and setting it to false/true',
26
35
  },
27
36
  closeOnOverlayClick: {
28
37
  control: 'boolean',
29
- description: 'Close the modal when clicking outside the window',
38
+ description: 'Close the modal when clicking outside the window.',
39
+ table: {
40
+ category: 'ifx-modal props',
41
+ defaultValue: {
42
+ summary: 'false',
43
+ }
44
+ }
30
45
  },
31
46
  showCloseButton: {
32
47
  control: 'boolean',
33
- description: "Show or hide close button 'x'",
48
+ description: "Show or hide close button in the modal's header.",
49
+ table: {
50
+ category: 'ifx-modal props',
51
+ defaultValue: {
52
+ summary: 'true',
53
+ },
54
+ },
34
55
  },
35
56
  alertIcon: {
36
57
  options: Object.keys(icons),
37
58
  control: { type: 'select' },
38
- description: 'When specified together with alertIcon then an border to the right is shown',
59
+ description: 'Icon to be displayed in the alert modal.',
60
+ table: {
61
+ category: 'ifx-modal props',
62
+ type: {
63
+ summary: 'string',
64
+ },
65
+ },
39
66
  },
40
67
  size: {
41
68
  options: ['s', 'm', 'l'],
42
69
  control: { type: 'radio' },
43
- description: 'Usable only when screen width is more than 1024px'
70
+ description: 'Usable only when screen width is more than 1024px.',
71
+ table: {
72
+ category: 'ifx-modal props',
73
+ defaultValue: {
74
+ summary: 's',
75
+ },
76
+ type: {
77
+ summary: 's | m | l',
78
+ }
79
+ }
44
80
  },
45
81
  variant: {
46
82
  options: ['default', 'alert-brand', 'alert-danger'],
47
83
  control: { type: 'radio' },
84
+ description: 'Variant of the modal.',
85
+ table: {
86
+ category: 'ifx-modal props',
87
+ defaultValue: {
88
+ summary: 'default',
89
+ },
90
+ type: {
91
+ summary: 'default | alert-brand | alert-danger',
92
+ },
93
+ },
94
+ },
95
+ cancelButtonLabel: {
96
+ control: 'text',
97
+ description: 'Label for the cancel button.',
98
+ table: {
99
+ category: 'ifx-modal props',
100
+ defaultValue: {
101
+ summary: 'Cancel',
102
+ },
103
+ type: {
104
+ summary: 'string',
105
+ },
106
+ },
107
+ },
108
+ okButtonLabel: {
109
+ control: 'text',
110
+ description: 'Label for the OK button.',
111
+ table: {
112
+ category: 'ifx-modal props',
113
+ defaultValue: {
114
+ summary: 'OK',
115
+ },
116
+ type: {
117
+ summary: 'string',
118
+ },
119
+ },
48
120
  },
49
- ifxModalOpen: {
50
- action: 'ifxModalOpen',
51
- description: 'Custom event emitted when modal opens',
121
+ ifxOpen: {
122
+ action: 'ifxOpen',
123
+ description: 'Custom event emitted when modal opens.',
52
124
  table: {
125
+ category: 'custom events',
53
126
  type: {
54
127
  summary: 'Framework integration',
55
- detail: 'React: onIfxModalOpen={handleChange}\nVue:@ifxModalOpen="handleChange"\nAngular:(ifxModalOpen)="handleChange()"\nVanillaJs:.addEventListener("ifxModalOpen", (event) => {//handle change});',
128
+ detail: 'React: onIfxOpen={handleChange}\nVue:@ifxOpen="handleChange"\nAngular:(ifxOpen)="handleChange()"\nVanillaJs:.addEventListener("ifxOpen", (event) => {//handle change});',
56
129
  },
57
130
  },
58
131
  },
59
- ifxModalClose: {
60
- action: 'ifxModalClose',
61
- description: 'Custom event emitted when modal closes',
132
+ ifxClose: {
133
+ action: 'ifxClose',
134
+ description: 'Custom event emitted when modal closes.',
62
135
  table: {
136
+ category: 'custom events',
63
137
  type: {
64
138
  summary: 'Framework integration',
65
- detail: 'React: onIfxModalClose={handleChange}\nVue:@ifxModalClose="handleChange"\nAngular:(ifxModalClose)="handleChange()"\nVanillaJs:.addEventListener("ifxModalClose", (event) => {//handle change});',
139
+ detail: 'React: onIfxClose={handleChange}\nVue:@ifxClose="handleChange"\nAngular:(ifxClose)="handleChange()"\nVanillaJs:.addEventListener("ifxClose", (event) => {//handle change});',
66
140
  },
67
141
  },
68
142
  },
69
143
  },
70
144
  };
71
- const Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon }) => {
145
+ const Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon, cancelButtonLabel, okButtonLabel }) => {
72
146
  const modal = document.createElement('ifx-modal');
73
147
  modal.setAttribute('caption', caption);
74
148
  modal.setAttribute('variant', variant);
@@ -78,8 +152,8 @@ const Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size
78
152
  modal.setAttribute('close-on-overlay-click', closeOnOverlayClick);
79
153
  modal.setAttribute('show-close-button', showCloseButton);
80
154
  modal.setAttribute('size', size);
81
- modal.addEventListener('ifxModalOpen', action('ifxModalOpen'));
82
- modal.addEventListener('ifxModalClose', action('ifxModalClose'));
155
+ modal.addEventListener('ifxOpen', action('ifxOpen'));
156
+ modal.addEventListener('ifxClose', action('ifxClose'));
83
157
  const content = document.createElement('div');
84
158
  content.setAttribute('slot', 'content');
85
159
  content.innerHTML = `
@@ -90,12 +164,12 @@ const Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size
90
164
  buttons.setAttribute('slot', 'buttons');
91
165
  const cancelButton = document.createElement('ifx-button');
92
166
  cancelButton.setAttribute('variant', 'secondary');
93
- cancelButton.textContent = 'Button 1';
167
+ cancelButton.textContent = cancelButtonLabel;
94
168
  cancelButton.addEventListener('click', () => {
95
169
  console.log('Button 1 clicked');
96
170
  });
97
171
  const primaryButton = document.createElement('ifx-button');
98
- primaryButton.textContent = 'Button 2';
172
+ primaryButton.textContent = okButtonLabel;
99
173
  primaryButton.addEventListener('click', () => {
100
174
  console.log('Button 2 clicked');
101
175
  });
@@ -133,5 +207,8 @@ Alert.args = {
133
207
  alertIcon: 'arrowdoen24',
134
208
  size: 's',
135
209
  variant: 'alert-brand',
210
+ cancelButtonLabel: 'Cancel',
211
+ okButtonLabel: 'OK',
212
+ showCloseButton: false,
136
213
  };
137
214
  //# sourceMappingURL=modal.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.stories.js","sourceRoot":"","sources":["../../../src/components/modal/modal.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Modal',\n component: 'ifx-modal',\n // tags: ['autodocs'],\n\n args: {\n opened: false,\n },\n argTypes: {\n caption: {\n control: 'text',\n description: 'Title for the modal',\n },\n opened: {\n control: {\n disable: true,\n },\n table: {\n type: {\n summary: 'Example (in VanillaJs)',\n detail:\n \"const modal = document.getElementById('modal'); \\nconst openButton = document.getElementById('open'); \\n//add DOM event listeners (e.g. click and/or keypress)\\n\\nfunction openModal() { \\nmodal.opened=true;\\n\\nfunction closeModal() { \\nmodal.opened = false; \\n}\",\n },\n },\n description: 'Defaults to false - Can be set by referring to the component and setting it to false/true',\n },\n closeOnOverlayClick: {\n control: 'boolean',\n description: 'Close the modal when clicking outside the window',\n },\n showCloseButton: {\n control: 'boolean',\n description: \"Show or hide close button 'x'\",\n },\n alertIcon: {\n options: Object.keys(icons),\n control: { type: 'select' },\n description: 'When specified together with alertIcon then an border to the right is shown',\n },\n size: {\n options: ['s', 'm', 'l'],\n control: { type: 'radio'},\n description: 'Usable only when screen width is more than 1024px'\n },\n variant: {\n options: ['default', 'alert-brand', 'alert-danger'],\n control: { type: 'radio' },\n },\n ifxModalOpen: {\n action: 'ifxModalOpen',\n description: 'Custom event emitted when modal opens',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxModalOpen={handleChange}\\nVue:@ifxModalOpen=\"handleChange\"\\nAngular:(ifxModalOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxModalOpen\", (event) => {//handle change});',\n },\n },\n },\n ifxModalClose: {\n action: 'ifxModalClose',\n description: 'Custom event emitted when modal closes',\n table: {\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxModalClose={handleChange}\\nVue:@ifxModalClose=\"handleChange\"\\nAngular:(ifxModalClose)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxModalClose\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon }) => {\n const modal = document.createElement('ifx-modal');\n modal.setAttribute('caption', caption);\n modal.setAttribute('variant', variant);\n\n if (alertIcon) {\n modal.setAttribute('alert-icon', alertIcon);\n }\n modal.setAttribute('close-on-overlay-click', closeOnOverlayClick);\n modal.setAttribute('show-close-button', showCloseButton);\n modal.setAttribute('size', size)\n\n modal.addEventListener('ifxModalOpen', action('ifxModalOpen'));\n modal.addEventListener('ifxModalClose', action('ifxModalClose'));\n\n const content = document.createElement('div');\n content.setAttribute('slot', 'content');\n content.innerHTML = `\n <span>Modal content</span>\n `;\n modal.appendChild(content);\n const buttons = document.createElement('div');\n buttons.setAttribute('slot', 'buttons');\n\n const cancelButton = document.createElement('ifx-button');\n cancelButton.setAttribute('variant', 'secondary');\n cancelButton.textContent = 'Button 1';\n cancelButton.addEventListener('click', () => {\n console.log('Button 1 clicked');\n });\n\n const primaryButton = document.createElement('ifx-button');\n primaryButton.textContent = 'Button 2';\n primaryButton.addEventListener('click', () => {\n console.log('Button 2 clicked');\n });\n\n buttons.appendChild(cancelButton);\n buttons.appendChild(primaryButton);\n modal.appendChild(buttons);\n\n const openButton = document.createElement('ifx-button');\n openButton.id = 'open';\n openButton.textContent = 'Open Modal';\n openButton.addEventListener('click', () => {\n modal.opened = true;\n });\n openButton.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n modal.opened = true;\n }\n });\n\n const storyElement = document.createElement('div');\n storyElement.appendChild(modal);\n storyElement.appendChild(openButton);\n\n return storyElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n caption: 'Modal Title',\n showCloseButton: true,\n closeOnOverlayClick: false,\n size: 's',\n variant: 'default',\n};\n\nexport const Alert = Template.bind({});\nAlert.args = {\n caption: 'Alert-Brand Modal Title',\n closeOnOverlayClick: true,\n alertIcon: 'arrowdoen24',\n size: 's',\n variant: 'alert-brand',\n};\n"]}
1
+ {"version":3,"file":"modal.stories.js","sourceRoot":"","sources":["../../../src/components/modal/modal.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\nimport { icons } from '@infineon/infineon-icons';\n\nexport default {\n title: 'Components/Modal',\n component: 'ifx-modal',\n // tags: ['autodocs'],\n\n args: {\n opened: false,\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n },\n argTypes: {\n caption: {\n control: 'text',\n description: 'Title for the modal.',\n table: {\n category: 'ifx-modal props',\n },\n },\n opened: {\n control: {\n disable: true,\n },\n description: 'Default state of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'Example (in VanillaJs)',\n detail:\n \"const modal = document.getElementById('modal'); \\nconst openButton = document.getElementById('open'); \\n//add DOM event listeners (e.g. click and/or keypress)\\n\\nfunction openModal() { \\nmodal.opened=true;\\n\\nfunction closeModal() { \\nmodal.opened = false; \\n}\",\n },\n },\n },\n closeOnOverlayClick: {\n control: 'boolean',\n description: 'Close the modal when clicking outside the window.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'false',\n }\n }\n },\n showCloseButton: {\n control: 'boolean',\n description: \"Show or hide close button in the modal's header.\",\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'true',\n },\n },\n },\n alertIcon: {\n options: Object.keys(icons),\n control: { type: 'select' },\n description: 'Icon to be displayed in the alert modal.',\n table: {\n category: 'ifx-modal props',\n type: {\n summary: 'string',\n },\n },\n },\n size: {\n options: ['s', 'm', 'l'],\n control: { type: 'radio' },\n description: 'Usable only when screen width is more than 1024px.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 's',\n },\n type: {\n summary: 's | m | l',\n }\n }\n },\n variant: {\n options: ['default', 'alert-brand', 'alert-danger'],\n control: { type: 'radio' },\n description: 'Variant of the modal.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'default',\n },\n type: {\n summary: 'default | alert-brand | alert-danger',\n },\n },\n },\n cancelButtonLabel: {\n control: 'text',\n description: 'Label for the cancel button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'Cancel',\n },\n type: {\n summary: 'string',\n },\n },\n },\n okButtonLabel: {\n control: 'text',\n description: 'Label for the OK button.',\n table: {\n category: 'ifx-modal props',\n defaultValue: {\n summary: 'OK',\n },\n type: {\n summary: 'string',\n },\n },\n },\n\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when modal opens.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n },\n ifxClose: {\n action: 'ifxClose',\n description: 'Custom event emitted when modal closes.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxClose={handleChange}\\nVue:@ifxClose=\"handleChange\"\\nAngular:(ifxClose)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxClose\", (event) => {//handle change});',\n },\n },\n },\n },\n};\n\nconst Template = ({ caption, showCloseButton, closeOnOverlayClick, variant, size, alertIcon, cancelButtonLabel, okButtonLabel }) => {\n const modal = document.createElement('ifx-modal');\n modal.setAttribute('caption', caption);\n modal.setAttribute('variant', variant);\n\n if (alertIcon) {\n modal.setAttribute('alert-icon', alertIcon);\n }\n modal.setAttribute('close-on-overlay-click', closeOnOverlayClick);\n modal.setAttribute('show-close-button', showCloseButton);\n modal.setAttribute('size', size)\n\n modal.addEventListener('ifxOpen', action('ifxOpen'));\n modal.addEventListener('ifxClose', action('ifxClose'));\n\n const content = document.createElement('div');\n content.setAttribute('slot', 'content');\n content.innerHTML = `\n <span>Modal content</span>\n `;\n modal.appendChild(content);\n const buttons = document.createElement('div');\n buttons.setAttribute('slot', 'buttons');\n\n const cancelButton = document.createElement('ifx-button');\n cancelButton.setAttribute('variant', 'secondary');\n cancelButton.textContent = cancelButtonLabel;\n cancelButton.addEventListener('click', () => {\n console.log('Button 1 clicked');\n });\n\n const primaryButton = document.createElement('ifx-button');\n primaryButton.textContent = okButtonLabel;\n primaryButton.addEventListener('click', () => {\n console.log('Button 2 clicked');\n });\n\n buttons.appendChild(cancelButton);\n buttons.appendChild(primaryButton);\n modal.appendChild(buttons);\n\n const openButton = document.createElement('ifx-button');\n openButton.id = 'open';\n openButton.textContent = 'Open Modal';\n openButton.addEventListener('click', () => {\n modal.opened = true;\n });\n openButton.addEventListener('keydown', event => {\n if (event.key === 'Enter') {\n modal.opened = true;\n }\n });\n\n const storyElement = document.createElement('div');\n storyElement.appendChild(modal);\n storyElement.appendChild(openButton);\n\n return storyElement;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n caption: 'Modal Title',\n showCloseButton: true,\n closeOnOverlayClick: false,\n size: 's',\n variant: 'default',\n};\n\nexport const Alert = Template.bind({});\nAlert.args = {\n caption: 'Alert-Brand Modal Title',\n closeOnOverlayClick: true,\n alertIcon: 'arrowdoen24',\n size: 's',\n variant: 'alert-brand',\n cancelButtonLabel: 'Cancel',\n okButtonLabel: 'OK',\n showCloseButton: false,\n};\n"]}