@siemens/ix 2.0.3 → 2.0.4-beta.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 (430) hide show
  1. package/components/base-button.js +1 -1
  2. package/components/base-button.js.map +1 -1
  3. package/components/breadcrumb-item.js +1 -1
  4. package/components/breadcrumb-item.js.map +1 -1
  5. package/components/button.js +1 -1
  6. package/components/button.js.map +1 -1
  7. package/components/dropdown.js +53 -2
  8. package/components/dropdown.js.map +1 -1
  9. package/components/group-context-menu.js +1 -1
  10. package/components/group-context-menu.js.map +1 -1
  11. package/components/icon-button.js +1 -1
  12. package/components/icon-button.js.map +1 -1
  13. package/components/ix-blind.js +9 -14
  14. package/components/ix-blind.js.map +1 -1
  15. package/components/ix-category-filter.js +1 -1
  16. package/components/ix-category-filter.js.map +1 -1
  17. package/components/ix-dropdown-button.js +1 -1
  18. package/components/ix-dropdown-button.js.map +1 -1
  19. package/components/ix-dropdown-quick-actions.js +1 -1
  20. package/components/ix-dropdown-quick-actions.js.map +1 -1
  21. package/components/ix-event-list-item.js +1 -1
  22. package/components/ix-event-list-item.js.map +1 -1
  23. package/components/ix-expanding-search.js +1 -1
  24. package/components/ix-expanding-search.js.map +1 -1
  25. package/components/ix-form-field.js +1 -1
  26. package/components/ix-form-field.js.map +1 -1
  27. package/components/ix-group.js +1 -1
  28. package/components/ix-group.js.map +1 -1
  29. package/components/ix-icon-toggle-button.js +1 -1
  30. package/components/ix-icon-toggle-button.js.map +1 -1
  31. package/components/ix-input-group.js +7 -4
  32. package/components/ix-input-group.js.map +1 -1
  33. package/components/ix-kpi.js +1 -1
  34. package/components/ix-kpi.js.map +1 -1
  35. package/components/ix-map-navigation.js +1 -1
  36. package/components/ix-map-navigation.js.map +1 -1
  37. package/components/ix-menu.js +1 -1
  38. package/components/ix-menu.js.map +1 -1
  39. package/components/ix-modal-header.js +7 -5
  40. package/components/ix-modal-header.js.map +1 -1
  41. package/components/ix-modal.js +6 -3
  42. package/components/ix-modal.js.map +1 -1
  43. package/components/ix-pagination.js +1 -1
  44. package/components/ix-pagination.js.map +1 -1
  45. package/components/ix-row.js +1 -1
  46. package/components/ix-row.js.map +1 -1
  47. package/components/ix-slider.js +26 -4
  48. package/components/ix-slider.js.map +1 -1
  49. package/components/ix-tile.js +1 -1
  50. package/components/ix-tile.js.map +1 -1
  51. package/components/ix-toast-container.js +1 -1
  52. package/components/ix-toast-container.js.map +1 -1
  53. package/components/ix-tree.js +3 -2
  54. package/components/ix-tree.js.map +1 -1
  55. package/components/ix-upload.js +1 -1
  56. package/components/ix-upload.js.map +1 -1
  57. package/components/listener.js +69 -0
  58. package/components/listener.js.map +1 -0
  59. package/components/map-navigation-overlay.js +1 -1
  60. package/components/map-navigation-overlay.js.map +1 -1
  61. package/components/menu-service.js +7 -2
  62. package/components/menu-service.js.map +1 -1
  63. package/components/select.js +31 -5
  64. package/components/select.js.map +1 -1
  65. package/components/tabs.js +44 -12
  66. package/components/tabs.js.map +1 -1
  67. package/components/time-picker.js +1 -1
  68. package/components/time-picker.js.map +1 -1
  69. package/components/typography.js +1 -1
  70. package/components/typography.js.map +1 -1
  71. package/dist/cjs/{base-button-c158438e.js → base-button-7af4dae7.js} +2 -2
  72. package/dist/cjs/base-button-7af4dae7.js.map +1 -0
  73. package/dist/cjs/{base-icon-button-bbca2582.js → base-icon-button-d085fd45.js} +2 -2
  74. package/dist/cjs/{base-icon-button-bbca2582.js.map → base-icon-button-d085fd45.js.map} +1 -1
  75. package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
  76. package/dist/cjs/ix-application.cjs.entry.js +1 -1
  77. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  78. package/dist/cjs/ix-blind.cjs.entry.js +8 -13
  79. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  81. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ix-burger-menu.cjs.entry.js +1 -1
  83. package/dist/cjs/ix-button.cjs.entry.js +2 -2
  84. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ix-category-filter.cjs.entry.js +2 -2
  86. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ix-date-picker_2.cjs.entry.js +1 -1
  88. package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ix-dropdown-button.cjs.entry.js +1 -1
  90. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  92. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ix-dropdown.cjs.entry.js +52 -1
  94. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ix-event-list-item.cjs.entry.js +1 -1
  96. package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ix-expanding-search.cjs.entry.js +1 -1
  98. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
  100. package/dist/cjs/ix-form-field.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +1 -1
  102. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ix-group.cjs.entry.js +1 -1
  104. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ix-icon-button_2.cjs.entry.js +3 -3
  106. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
  108. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ix-input-group.cjs.entry.js +7 -4
  110. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ix-kpi.cjs.entry.js +1 -1
  112. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +1 -1
  114. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ix-map-navigation.cjs.entry.js +1 -1
  116. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ix-menu.cjs.entry.js +2 -2
  118. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ix-modal-header.cjs.entry.js +7 -5
  120. package/dist/cjs/ix-modal-header.cjs.entry.js.map +1 -1
  121. package/dist/cjs/ix-modal.cjs.entry.js +6 -3
  122. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  123. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  124. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  125. package/dist/cjs/ix-row.cjs.entry.js +1 -1
  126. package/dist/cjs/ix-row.cjs.entry.js.map +1 -1
  127. package/dist/cjs/ix-select.cjs.entry.js +30 -4
  128. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  129. package/dist/cjs/ix-slider.cjs.entry.js +25 -3
  130. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  131. package/dist/cjs/ix-tab-item_2.cjs.entry.js +44 -10
  132. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  133. package/dist/cjs/ix-tile.cjs.entry.js +1 -1
  134. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  135. package/dist/cjs/ix-toast-container.cjs.entry.js +1 -1
  136. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  137. package/dist/cjs/ix-toggle-button.cjs.entry.js +1 -1
  138. package/dist/cjs/ix-tree.cjs.entry.js +3 -2
  139. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  140. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  141. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  142. package/dist/cjs/ix-upload.cjs.entry.js +1 -1
  143. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  144. package/dist/cjs/listener-0cce68b2.js +71 -0
  145. package/dist/cjs/listener-0cce68b2.js.map +1 -0
  146. package/dist/cjs/loader.cjs.js +1 -1
  147. package/dist/cjs/{menu-service-000df68d.js → menu-service-777bf5ce.js} +8 -3
  148. package/dist/cjs/menu-service-777bf5ce.js.map +1 -0
  149. package/dist/cjs/siemens-ix.cjs.js +1 -1
  150. package/dist/collection/components/blind/blind.css +151 -70
  151. package/dist/collection/components/blind/blind.js +8 -13
  152. package/dist/collection/components/blind/blind.js.map +1 -1
  153. package/dist/collection/components/blind/test/blind.ct.js +16 -0
  154. package/dist/collection/components/blind/test/blind.ct.js.map +1 -0
  155. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +6 -0
  156. package/dist/collection/components/button/base-button.js +1 -1
  157. package/dist/collection/components/button/base-button.js.map +1 -1
  158. package/dist/collection/components/button/button.css +3 -0
  159. package/dist/collection/components/button/test/button.ct.js +1 -1
  160. package/dist/collection/components/button/test/button.ct.js.map +1 -1
  161. package/dist/collection/components/category-filter/category-filter.css +24 -35
  162. package/dist/collection/components/dropdown/dropdown.js +44 -16
  163. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  164. package/dist/collection/components/dropdown-button/dropdown-button.css +2 -4
  165. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.css +4 -8
  166. package/dist/collection/components/event-list-item/event-list-item.css +1 -0
  167. package/dist/collection/components/expanding-search/expanding-search.css +10 -31
  168. package/dist/collection/components/form-field/form-field.css +7 -0
  169. package/dist/collection/components/group/group-context-menu.css +3 -6
  170. package/dist/collection/components/group/group.css +1 -2
  171. package/dist/collection/components/icon-button/icon-button.css +3 -0
  172. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +3 -0
  173. package/dist/collection/components/input-group/input-group.js +7 -4
  174. package/dist/collection/components/input-group/input-group.js.map +1 -1
  175. package/dist/collection/components/input-group/tests/input-group.ct.js +66 -0
  176. package/dist/collection/components/input-group/tests/input-group.ct.js.map +1 -1
  177. package/dist/collection/components/kpi/kpi.css +4 -8
  178. package/dist/collection/components/map-navigation/map-navigation.css +1 -2
  179. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.css +4 -8
  180. package/dist/collection/components/menu/menu.css +1 -7
  181. package/dist/collection/components/modal/modal.js +6 -3
  182. package/dist/collection/components/modal/modal.js.map +1 -1
  183. package/dist/collection/components/modal-header/modal-header.js +7 -5
  184. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  185. package/dist/collection/components/pagination/pagination.css +16 -37
  186. package/dist/collection/components/pagination/test/pagination.ct.js +1 -1
  187. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  188. package/dist/collection/components/row/row.css +1 -2
  189. package/dist/collection/components/select/select.js +22 -10
  190. package/dist/collection/components/select/select.js.map +1 -1
  191. package/dist/collection/components/select/test/select.ct.js +19 -0
  192. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  193. package/dist/collection/components/slider/slider.js +15 -10
  194. package/dist/collection/components/slider/slider.js.map +1 -1
  195. package/dist/collection/components/tabs/tabs.js +21 -12
  196. package/dist/collection/components/tabs/tabs.js.map +1 -1
  197. package/dist/collection/components/tile/tile.css +2 -4
  198. package/dist/collection/components/time-picker/time-picker.css +17 -30
  199. package/dist/collection/components/toast/styles/toast-container.css +1 -2
  200. package/dist/collection/components/tooltip/test/tooltip.ct.js +22 -0
  201. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -0
  202. package/dist/collection/components/tree/tree.js +3 -2
  203. package/dist/collection/components/tree/tree.js.map +1 -1
  204. package/dist/collection/components/typography/typography.css +1 -1
  205. package/dist/collection/components/upload/upload.css +4 -8
  206. package/dist/collection/components/utils/application-layout/service.js +7 -2
  207. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  208. package/dist/collection/components/utils/listener.js +65 -0
  209. package/dist/collection/components/utils/listener.js.map +1 -0
  210. package/dist/collection/components/utils/requestAnimationFrame.js +24 -0
  211. package/dist/collection/components/utils/requestAnimationFrame.js.map +1 -0
  212. package/dist/esm/{base-button-87048318.js → base-button-a4078c61.js} +2 -2
  213. package/dist/esm/base-button-a4078c61.js.map +1 -0
  214. package/dist/esm/{base-icon-button-afac2d95.js → base-icon-button-a3dc30a2.js} +2 -2
  215. package/dist/esm/{base-icon-button-afac2d95.js.map → base-icon-button-a3dc30a2.js.map} +1 -1
  216. package/dist/esm/ix-application-header.entry.js +1 -1
  217. package/dist/esm/ix-application.entry.js +1 -1
  218. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  219. package/dist/esm/ix-blind.entry.js +9 -14
  220. package/dist/esm/ix-blind.entry.js.map +1 -1
  221. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  222. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  223. package/dist/esm/ix-burger-menu.entry.js +1 -1
  224. package/dist/esm/ix-button.entry.js +2 -2
  225. package/dist/esm/ix-button.entry.js.map +1 -1
  226. package/dist/esm/ix-category-filter.entry.js +2 -2
  227. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  228. package/dist/esm/ix-date-picker_2.entry.js +1 -1
  229. package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
  230. package/dist/esm/ix-dropdown-button.entry.js +1 -1
  231. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  232. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  233. package/dist/esm/ix-dropdown-quick-actions.entry.js.map +1 -1
  234. package/dist/esm/ix-dropdown.entry.js +52 -1
  235. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  236. package/dist/esm/ix-event-list-item.entry.js +1 -1
  237. package/dist/esm/ix-event-list-item.entry.js.map +1 -1
  238. package/dist/esm/ix-expanding-search.entry.js +1 -1
  239. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  240. package/dist/esm/ix-form-field.entry.js +1 -1
  241. package/dist/esm/ix-form-field.entry.js.map +1 -1
  242. package/dist/esm/ix-group-context-menu_2.entry.js +1 -1
  243. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  244. package/dist/esm/ix-group.entry.js +1 -1
  245. package/dist/esm/ix-group.entry.js.map +1 -1
  246. package/dist/esm/ix-icon-button_2.entry.js +3 -3
  247. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  248. package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
  249. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  250. package/dist/esm/ix-input-group.entry.js +7 -4
  251. package/dist/esm/ix-input-group.entry.js.map +1 -1
  252. package/dist/esm/ix-kpi.entry.js +1 -1
  253. package/dist/esm/ix-kpi.entry.js.map +1 -1
  254. package/dist/esm/ix-map-navigation-overlay.entry.js +1 -1
  255. package/dist/esm/ix-map-navigation-overlay.entry.js.map +1 -1
  256. package/dist/esm/ix-map-navigation.entry.js +1 -1
  257. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  258. package/dist/esm/ix-menu.entry.js +2 -2
  259. package/dist/esm/ix-menu.entry.js.map +1 -1
  260. package/dist/esm/ix-modal-header.entry.js +7 -5
  261. package/dist/esm/ix-modal-header.entry.js.map +1 -1
  262. package/dist/esm/ix-modal.entry.js +6 -3
  263. package/dist/esm/ix-modal.entry.js.map +1 -1
  264. package/dist/esm/ix-pagination.entry.js +2 -2
  265. package/dist/esm/ix-pagination.entry.js.map +1 -1
  266. package/dist/esm/ix-row.entry.js +1 -1
  267. package/dist/esm/ix-row.entry.js.map +1 -1
  268. package/dist/esm/ix-select.entry.js +30 -4
  269. package/dist/esm/ix-select.entry.js.map +1 -1
  270. package/dist/esm/ix-slider.entry.js +25 -3
  271. package/dist/esm/ix-slider.entry.js.map +1 -1
  272. package/dist/esm/ix-tab-item_2.entry.js +44 -10
  273. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  274. package/dist/esm/ix-tile.entry.js +1 -1
  275. package/dist/esm/ix-tile.entry.js.map +1 -1
  276. package/dist/esm/ix-toast-container.entry.js +1 -1
  277. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  278. package/dist/esm/ix-toggle-button.entry.js +1 -1
  279. package/dist/esm/ix-tree.entry.js +3 -2
  280. package/dist/esm/ix-tree.entry.js.map +1 -1
  281. package/dist/esm/ix-typography.entry.js +1 -1
  282. package/dist/esm/ix-typography.entry.js.map +1 -1
  283. package/dist/esm/ix-upload.entry.js +1 -1
  284. package/dist/esm/ix-upload.entry.js.map +1 -1
  285. package/dist/esm/listener-3ed639e6.js +69 -0
  286. package/dist/esm/listener-3ed639e6.js.map +1 -0
  287. package/dist/esm/loader.js +1 -1
  288. package/dist/esm/{menu-service-5555b4fa.js → menu-service-04c1257c.js} +8 -3
  289. package/dist/esm/menu-service-04c1257c.js.map +1 -0
  290. package/dist/esm/siemens-ix.js +1 -1
  291. package/dist/siemens-ix/{p-aef14f96.entry.js → p-08420b3b.entry.js} +2 -2
  292. package/dist/siemens-ix/{p-aef14f96.entry.js.map → p-08420b3b.entry.js.map} +1 -1
  293. package/dist/siemens-ix/p-222b1672.entry.js +2 -0
  294. package/dist/siemens-ix/p-222b1672.entry.js.map +1 -0
  295. package/dist/siemens-ix/p-28633ffb.entry.js +2 -0
  296. package/dist/siemens-ix/{p-b803c716.entry.js.map → p-28633ffb.entry.js.map} +1 -1
  297. package/dist/siemens-ix/p-2ff2382a.entry.js +2 -0
  298. package/dist/siemens-ix/{p-737fca1b.entry.js.map → p-2ff2382a.entry.js.map} +1 -1
  299. package/dist/siemens-ix/p-3733b547.entry.js +2 -0
  300. package/dist/siemens-ix/{p-655d177c.entry.js.map → p-3733b547.entry.js.map} +1 -1
  301. package/dist/siemens-ix/{p-fa7f3eef.entry.js → p-37e0706d.entry.js} +2 -2
  302. package/dist/siemens-ix/{p-fa7f3eef.entry.js.map → p-37e0706d.entry.js.map} +1 -1
  303. package/dist/siemens-ix/p-39a2bd9d.entry.js +2 -0
  304. package/dist/siemens-ix/p-39a2bd9d.entry.js.map +1 -0
  305. package/dist/siemens-ix/p-51853519.entry.js +2 -0
  306. package/dist/siemens-ix/{p-302cd093.entry.js.map → p-51853519.entry.js.map} +1 -1
  307. package/dist/siemens-ix/{p-ad94f795.entry.js → p-556c4b0c.entry.js} +2 -2
  308. package/dist/siemens-ix/p-556c4b0c.entry.js.map +1 -0
  309. package/dist/siemens-ix/{p-f97f2394.entry.js → p-58fe5c24.entry.js} +2 -2
  310. package/dist/siemens-ix/p-5a0d7f95.entry.js +2 -0
  311. package/dist/siemens-ix/{p-355f9085.entry.js.map → p-5a0d7f95.entry.js.map} +1 -1
  312. package/dist/siemens-ix/p-5d907f16.entry.js +2 -0
  313. package/dist/siemens-ix/{p-b6d40648.entry.js.map → p-5d907f16.entry.js.map} +1 -1
  314. package/dist/siemens-ix/p-616b1eba.entry.js +2 -0
  315. package/dist/siemens-ix/{p-634da7f2.entry.js.map → p-616b1eba.entry.js.map} +1 -1
  316. package/dist/siemens-ix/p-68809439.entry.js +2 -0
  317. package/dist/siemens-ix/{p-9e0af149.entry.js.map → p-68809439.entry.js.map} +1 -1
  318. package/dist/siemens-ix/p-68b2dcca.entry.js +2 -0
  319. package/dist/siemens-ix/p-68b2dcca.entry.js.map +1 -0
  320. package/dist/siemens-ix/p-70bfeb3d.entry.js +2 -0
  321. package/dist/siemens-ix/{p-9249df8d.entry.js.map → p-70bfeb3d.entry.js.map} +1 -1
  322. package/dist/siemens-ix/p-79405d11.entry.js +2 -0
  323. package/dist/siemens-ix/{p-59dc0873.entry.js.map → p-79405d11.entry.js.map} +1 -1
  324. package/dist/siemens-ix/{p-ab452b82.js → p-7c5fc1c9.js} +2 -2
  325. package/dist/siemens-ix/{p-ab452b82.js.map → p-7c5fc1c9.js.map} +1 -1
  326. package/dist/siemens-ix/{p-5516480a.entry.js → p-8968a070.entry.js} +2 -2
  327. package/dist/siemens-ix/{p-5516480a.entry.js.map → p-8968a070.entry.js.map} +1 -1
  328. package/dist/siemens-ix/p-8b0793be.js +2 -0
  329. package/dist/siemens-ix/p-8b0fa98a.entry.js +2 -0
  330. package/dist/siemens-ix/{p-32265ee2.entry.js.map → p-8b0fa98a.entry.js.map} +1 -1
  331. package/dist/siemens-ix/p-8ba5f3c5.entry.js +2 -0
  332. package/dist/siemens-ix/p-8ba5f3c5.entry.js.map +1 -0
  333. package/dist/siemens-ix/{p-d7e974a8.entry.js → p-939376fb.entry.js} +2 -2
  334. package/dist/siemens-ix/p-939376fb.entry.js.map +1 -0
  335. package/dist/siemens-ix/p-9594dcfb.entry.js +2 -0
  336. package/dist/siemens-ix/{p-9848e4de.entry.js.map → p-9594dcfb.entry.js.map} +1 -1
  337. package/dist/siemens-ix/p-9dda017b.entry.js +2 -0
  338. package/dist/siemens-ix/p-9dda017b.entry.js.map +1 -0
  339. package/dist/siemens-ix/{p-b2042a15.entry.js → p-a00079d9.entry.js} +2 -2
  340. package/dist/siemens-ix/p-a00079d9.entry.js.map +1 -0
  341. package/dist/siemens-ix/p-aa89afe7.entry.js +2 -0
  342. package/dist/siemens-ix/{p-5a5e155c.entry.js.map → p-aa89afe7.entry.js.map} +1 -1
  343. package/dist/siemens-ix/{p-847da072.entry.js → p-aaef1367.entry.js} +2 -2
  344. package/dist/siemens-ix/{p-847da072.entry.js.map → p-aaef1367.entry.js.map} +1 -1
  345. package/dist/siemens-ix/p-b59e7155.js +2 -0
  346. package/dist/siemens-ix/p-b59e7155.js.map +1 -0
  347. package/dist/siemens-ix/p-bdc0c1f8.entry.js +2 -0
  348. package/dist/siemens-ix/{p-b735ee5e.entry.js.map → p-bdc0c1f8.entry.js.map} +1 -1
  349. package/dist/siemens-ix/p-c996a0ba.entry.js +2 -0
  350. package/dist/siemens-ix/p-c996a0ba.entry.js.map +1 -0
  351. package/dist/siemens-ix/p-ccf212e4.entry.js +2 -0
  352. package/dist/siemens-ix/{p-4968df15.entry.js.map → p-ccf212e4.entry.js.map} +1 -1
  353. package/dist/siemens-ix/p-cd8c86e2.entry.js +2 -0
  354. package/dist/siemens-ix/{p-da133606.entry.js.map → p-cd8c86e2.entry.js.map} +1 -1
  355. package/dist/siemens-ix/p-ce050115.entry.js +2 -0
  356. package/dist/siemens-ix/{p-167c037c.entry.js.map → p-ce050115.entry.js.map} +1 -1
  357. package/dist/siemens-ix/p-ceeefa96.entry.js +2 -0
  358. package/dist/siemens-ix/{p-dcb957d8.entry.js.map → p-ceeefa96.entry.js.map} +1 -1
  359. package/dist/siemens-ix/p-d0630de9.entry.js +2 -0
  360. package/dist/siemens-ix/p-d0630de9.entry.js.map +1 -0
  361. package/dist/siemens-ix/{p-042b8889.entry.js → p-d11781e7.entry.js} +2 -2
  362. package/dist/siemens-ix/{p-574e3cd1.entry.js → p-db7a632e.entry.js} +2 -2
  363. package/dist/siemens-ix/{p-228c5657.entry.js → p-e483ad44.entry.js} +2 -2
  364. package/dist/siemens-ix/p-e7406217.entry.js +2 -0
  365. package/dist/siemens-ix/{p-d29bcf75.entry.js.map → p-e7406217.entry.js.map} +1 -1
  366. package/dist/siemens-ix/p-f18c11c5.js +2 -0
  367. package/dist/siemens-ix/p-f18c11c5.js.map +1 -0
  368. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  369. package/dist/siemens-ix/siemens-ix.css +26 -48
  370. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  371. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  372. package/dist/types/components/blind/test/blind.ct.d.ts +1 -0
  373. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  374. package/dist/types/components/slider/slider.d.ts +1 -1
  375. package/dist/types/components/tabs/tabs.d.ts +3 -2
  376. package/dist/types/components/tooltip/test/tooltip.ct.d.ts +1 -0
  377. package/dist/types/components/utils/listener.d.ts +11 -0
  378. package/dist/types/components/utils/requestAnimationFrame.d.ts +7 -0
  379. package/package.json +1 -1
  380. package/scss/components/form/_input.scss +8 -1
  381. package/scss/legacy/components/_forms.scss +0 -13
  382. package/scss/mixins/_fonts.scss +1 -1
  383. package/dist/cjs/base-button-c158438e.js.map +0 -1
  384. package/dist/cjs/menu-service-000df68d.js.map +0 -1
  385. package/dist/esm/base-button-87048318.js.map +0 -1
  386. package/dist/esm/menu-service-5555b4fa.js.map +0 -1
  387. package/dist/siemens-ix/p-167c037c.entry.js +0 -2
  388. package/dist/siemens-ix/p-1b9b19e6.js +0 -2
  389. package/dist/siemens-ix/p-28d29e36.entry.js +0 -2
  390. package/dist/siemens-ix/p-28d29e36.entry.js.map +0 -1
  391. package/dist/siemens-ix/p-302cd093.entry.js +0 -2
  392. package/dist/siemens-ix/p-32265ee2.entry.js +0 -2
  393. package/dist/siemens-ix/p-355f9085.entry.js +0 -2
  394. package/dist/siemens-ix/p-3ab30153.entry.js +0 -2
  395. package/dist/siemens-ix/p-3ab30153.entry.js.map +0 -1
  396. package/dist/siemens-ix/p-4968df15.entry.js +0 -2
  397. package/dist/siemens-ix/p-59dc0873.entry.js +0 -2
  398. package/dist/siemens-ix/p-5a5e155c.entry.js +0 -2
  399. package/dist/siemens-ix/p-5d172daa.js +0 -2
  400. package/dist/siemens-ix/p-5d172daa.js.map +0 -1
  401. package/dist/siemens-ix/p-634da7f2.entry.js +0 -2
  402. package/dist/siemens-ix/p-655d177c.entry.js +0 -2
  403. package/dist/siemens-ix/p-737fca1b.entry.js +0 -2
  404. package/dist/siemens-ix/p-9249df8d.entry.js +0 -2
  405. package/dist/siemens-ix/p-9848e4de.entry.js +0 -2
  406. package/dist/siemens-ix/p-9e0af149.entry.js +0 -2
  407. package/dist/siemens-ix/p-ad94f795.entry.js.map +0 -1
  408. package/dist/siemens-ix/p-b2042a15.entry.js.map +0 -1
  409. package/dist/siemens-ix/p-b6d40648.entry.js +0 -2
  410. package/dist/siemens-ix/p-b735ee5e.entry.js +0 -2
  411. package/dist/siemens-ix/p-b803c716.entry.js +0 -2
  412. package/dist/siemens-ix/p-bd873b87.entry.js +0 -2
  413. package/dist/siemens-ix/p-bd873b87.entry.js.map +0 -1
  414. package/dist/siemens-ix/p-c1318e16.entry.js +0 -2
  415. package/dist/siemens-ix/p-c1318e16.entry.js.map +0 -1
  416. package/dist/siemens-ix/p-d16a4670.entry.js +0 -2
  417. package/dist/siemens-ix/p-d16a4670.entry.js.map +0 -1
  418. package/dist/siemens-ix/p-d214f57a.entry.js +0 -2
  419. package/dist/siemens-ix/p-d214f57a.entry.js.map +0 -1
  420. package/dist/siemens-ix/p-d29bcf75.entry.js +0 -2
  421. package/dist/siemens-ix/p-d7e974a8.entry.js.map +0 -1
  422. package/dist/siemens-ix/p-da133606.entry.js +0 -2
  423. package/dist/siemens-ix/p-dcb957d8.entry.js +0 -2
  424. package/dist/siemens-ix/p-fd6006d2.entry.js +0 -2
  425. package/dist/siemens-ix/p-fd6006d2.entry.js.map +0 -1
  426. /package/dist/siemens-ix/{p-f97f2394.entry.js.map → p-58fe5c24.entry.js.map} +0 -0
  427. /package/dist/siemens-ix/{p-1b9b19e6.js.map → p-8b0793be.js.map} +0 -0
  428. /package/dist/siemens-ix/{p-042b8889.entry.js.map → p-d11781e7.entry.js.map} +0 -0
  429. /package/dist/siemens-ix/{p-574e3cd1.entry.js.map → p-db7a632e.entry.js.map} +0 -0
  430. /package/dist/siemens-ix/{p-228c5657.entry.js.map → p-e483ad44.entry.js.map} +0 -0
@@ -42,76 +42,154 @@
42
42
  * This source code is licensed under the MIT license found in the
43
43
  * LICENSE file in the root directory of this source tree.
44
44
  */
45
+ /*
46
+ * SPDX-FileCopyrightText: 2023 Siemens AG
47
+ *
48
+ * SPDX-License-Identifier: MIT
49
+ *
50
+ * This source code is licensed under the MIT license found in the
51
+ * LICENSE file in the root directory of this source tree.
52
+ */
53
+ /*
54
+ * SPDX-FileCopyrightText: 2023 Siemens AG
55
+ *
56
+ * SPDX-License-Identifier: MIT
57
+ *
58
+ * This source code is licensed under the MIT license found in the
59
+ * LICENSE file in the root directory of this source tree.
60
+ */
45
61
  :host {
62
+ /* width */
63
+ /* Track */
64
+ /* Handle */
65
+ /* Handle on hover */
46
66
  display: flex;
47
67
  flex-direction: column;
48
68
  border-radius: var(--theme-blind--border-radius);
49
69
  overflow: hidden;
50
70
  }
71
+ :host *,
72
+ :host *::after,
73
+ :host *::before {
74
+ box-sizing: border-box;
75
+ }
76
+ :host ::-webkit-scrollbar-button {
77
+ display: none;
78
+ }
79
+ :host ::-webkit-scrollbar {
80
+ width: 0.5rem;
81
+ height: 0.5rem;
82
+ }
83
+ :host ::-webkit-scrollbar-track {
84
+ border-radius: 5px;
85
+ background: var(--theme-scrollbar-track--background);
86
+ }
87
+ :host ::-webkit-scrollbar-track:hover {
88
+ background: var(--theme-scrollbar-track--background--hover);
89
+ }
90
+ :host ::-webkit-scrollbar-thumb {
91
+ border-radius: 5px;
92
+ background: var(--theme-scrollbar-thumb--background);
93
+ }
94
+ :host ::-webkit-scrollbar-thumb:hover {
95
+ background: var(--theme-scrollbar-thumb--background--hover);
96
+ }
97
+ :host ::-webkit-scrollbar-corner {
98
+ display: none;
99
+ }
100
+ :host .blind-header-wrapper {
101
+ display: block;
102
+ position: relative;
103
+ width: 100%;
104
+ min-height: 3rem;
105
+ height: 3rem;
106
+ overflow: hidden;
107
+ }
108
+ :host .blind-header-content {
109
+ display: flex;
110
+ position: relative;
111
+ align-items: center;
112
+ justify-content: flex-start;
113
+ width: 100%;
114
+ height: 100%;
115
+ z-index: 1;
116
+ pointer-events: none;
117
+ padding-left: 0.5rem;
118
+ }
119
+ :host .blind-header-title {
120
+ display: flex;
121
+ position: relative;
122
+ align-items: center;
123
+ flex-grow: 1;
124
+ flex-shrink: 0;
125
+ margin-right: 1rem;
126
+ }
51
127
  :host .blind-header {
52
128
  all: unset;
53
129
  overflow: hidden;
54
130
  text-overflow: ellipsis;
55
131
  white-space: nowrap;
56
- display: flex;
57
- align-items: center;
132
+ display: block;
133
+ position: absolute;
134
+ top: 0px;
135
+ left: 0px;
136
+ pointer-events: all;
137
+ padding-left: 2.5rem;
58
138
  min-height: 3rem;
59
139
  height: 3rem;
140
+ width: calc(100% - 2 * var(--theme-blind--border-thickness));
60
141
  border: solid var(--theme-blind--border-thickness) transparent;
61
142
  border-radius: var(--theme-blind--border-radius) var(--theme-blind--border-radius) 0 0;
62
- padding-right: 0.5rem;
63
143
  cursor: pointer;
64
- z-index: 1;
65
144
  }
66
- :host .blind-header .collapse-icon {
67
- padding: 0.25rem 0.5rem;
145
+ :host .blind-header:not(.disabled):not(:disabled):focus-visible {
146
+ border-color: var(--theme-color-focus-bdr);
147
+ outline: none;
68
148
  }
69
- :host .blind-header .blind-header-title-col {
149
+ :host .blind-header-title-icon,
150
+ :host .collapse-icon {
151
+ margin-right: 0.5rem;
152
+ }
153
+ :host .blind-header-title-row {
154
+ display: flex;
155
+ flex-grow: 1;
156
+ }
157
+ :host .blind-header-title-col {
70
158
  flex-grow: 1;
71
159
  flex-basis: 0;
72
160
  display: inline-flex;
73
161
  align-items: center;
74
162
  min-width: 0;
75
163
  }
76
- :host .blind-header ix-typography {
164
+ :host .blind-header-title-col:not(:first-of-type) {
165
+ justify-content: flex-end;
166
+ }
167
+ :host ix-typography {
77
168
  flex-grow: 1;
78
169
  overflow: hidden;
79
170
  text-overflow: ellipsis;
80
171
  white-space: nowrap;
81
172
  }
82
- :host .blind-header .blind-header-title-col:not(:first-of-type) {
83
- justify-content: flex-end;
84
- }
85
- :host .blind-header .blind-header-title-label {
173
+ :host .blind-header-title-label {
86
174
  overflow: hidden;
87
175
  text-overflow: ellipsis;
88
176
  white-space: nowrap;
89
- -webkit-padding-end: 0.5rem;
90
- padding-inline-end: 0.5rem;
177
+ padding-inline-end: 0.5rem;
91
178
  }
92
- :host .blind-header .blind-header-title-sublabel {
179
+ :host .blind-header-title-sublabel {
93
180
  overflow: hidden;
94
181
  text-overflow: ellipsis;
95
182
  white-space: nowrap;
96
183
  padding-inline: 0.5rem;
97
184
  }
98
- :host .blind-header .blind-header-title,
99
- :host .blind-header .blind-header-title-basic {
185
+ :host .blind-header-title {
100
186
  display: flex;
101
187
  align-items: center;
102
188
  flex-grow: 1;
103
189
  height: 100%;
104
190
  min-width: 0;
105
191
  }
106
- :host .blind-header .blind-header-title-basic ix-icon {
107
- -webkit-margin-end: 0.5rem;
108
- margin-inline-end: 0.5rem;
109
- }
110
- :host .blind-header:not(.disabled):not(:disabled):focus-visible {
111
- border-color: var(--theme-color-focus-bdr);
112
- outline: none;
113
- }
114
- :host .blind-header .blind-header-labels {
192
+ :host .blind-header-labels {
115
193
  display: inline-flex;
116
194
  flex-grow: 1;
117
195
  min-width: 0;
@@ -128,6 +206,9 @@
128
206
  padding-top: 0px;
129
207
  padding-bottom: 0px;
130
208
  }
209
+ :host .header-actions {
210
+ pointer-events: all;
211
+ }
131
212
 
132
213
  :host(.blind-alarm) {
133
214
  background-color: var(--theme-blind-base--background);
@@ -135,10 +216,6 @@
135
216
  :host(.blind-alarm) .blind-header {
136
217
  background-color: var(--theme-color-alarm);
137
218
  }
138
- :host(.blind-alarm) .blind-header .blind-header-title-label,
139
- :host(.blind-alarm) .blind-header .blind-header-title-sublabel {
140
- color: var(--theme-color-alarm--contrast);
141
- }
142
219
  :host(.blind-alarm) .blind-header:not(.disabled):not(:disabled) {
143
220
  cursor: pointer;
144
221
  }
@@ -151,6 +228,10 @@
151
228
  :host(.blind-alarm) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-alarm) .blind-header:not(.disabled):not(:disabled).active {
152
229
  background-color: var(--theme-color-alarm--active);
153
230
  }
231
+ :host(.blind-alarm) .blind-header-title-label,
232
+ :host(.blind-alarm) .blind-header-title-sublabel {
233
+ color: var(--theme-color-alarm--contrast);
234
+ }
154
235
 
155
236
  :host(.blind-critical) {
156
237
  background-color: var(--theme-blind-base--background);
@@ -158,10 +239,6 @@
158
239
  :host(.blind-critical) .blind-header {
159
240
  background-color: var(--theme-color-critical);
160
241
  }
161
- :host(.blind-critical) .blind-header .blind-header-title-label,
162
- :host(.blind-critical) .blind-header .blind-header-title-sublabel {
163
- color: var(--theme-color-critical--contrast);
164
- }
165
242
  :host(.blind-critical) .blind-header:not(.disabled):not(:disabled) {
166
243
  cursor: pointer;
167
244
  }
@@ -174,6 +251,10 @@
174
251
  :host(.blind-critical) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-critical) .blind-header:not(.disabled):not(:disabled).active {
175
252
  background-color: var(--theme-color-critical--active);
176
253
  }
254
+ :host(.blind-critical) .blind-header-title-label,
255
+ :host(.blind-critical) .blind-header-title-sublabel {
256
+ color: var(--theme-color-critical--contrast);
257
+ }
177
258
 
178
259
  :host(.blind-info) {
179
260
  background-color: var(--theme-blind-base--background);
@@ -181,10 +262,6 @@
181
262
  :host(.blind-info) .blind-header {
182
263
  background-color: var(--theme-color-info);
183
264
  }
184
- :host(.blind-info) .blind-header .blind-header-title-label,
185
- :host(.blind-info) .blind-header .blind-header-title-sublabel {
186
- color: var(--theme-color-info--contrast);
187
- }
188
265
  :host(.blind-info) .blind-header:not(.disabled):not(:disabled) {
189
266
  cursor: pointer;
190
267
  }
@@ -197,6 +274,10 @@
197
274
  :host(.blind-info) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-info) .blind-header:not(.disabled):not(:disabled).active {
198
275
  background-color: var(--theme-color-info--active);
199
276
  }
277
+ :host(.blind-info) .blind-header-title-label,
278
+ :host(.blind-info) .blind-header-title-sublabel {
279
+ color: var(--theme-color-info--contrast);
280
+ }
200
281
 
201
282
  :host(.blind-insight) {
202
283
  background-color: var(--theme-blind-base--background);
@@ -204,18 +285,18 @@
204
285
  :host(.blind-insight) .blind-header {
205
286
  background-color: var(--theme-color-insight);
206
287
  }
207
- :host(.blind-insight) .blind-header .blind-header-title-label {
208
- color: var(--theme-color-std-text);
209
- }
210
- :host(.blind-insight) .blind-header .blind-header-title-sublabel {
211
- color: var(--theme-color-soft-text);
212
- }
213
288
  :host(.blind-insight) .blind-header:not(.disabled):not(:disabled).hover, :host(.blind-insight) .blind-header:not(.disabled):not(:disabled):hover {
214
289
  background-color: var(--theme-ghost--background--hover);
215
290
  }
216
291
  :host(.blind-insight) .blind-header:not(.disabled):not(:disabled).active, :host(.blind-insight) .blind-header:not(.disabled):not(:disabled):active {
217
292
  background-color: var(--theme-ghost--background--active);
218
293
  }
294
+ :host(.blind-insight) .blind-header-title-label {
295
+ color: var(--theme-color-std-text);
296
+ }
297
+ :host(.blind-insight) .blind-header-title-sublabel {
298
+ color: var(--theme-color-soft-text);
299
+ }
219
300
 
220
301
  :host(.blind-neutral) {
221
302
  background-color: var(--theme-blind-base--background);
@@ -223,10 +304,6 @@
223
304
  :host(.blind-neutral) .blind-header {
224
305
  background-color: var(--theme-color-neutral);
225
306
  }
226
- :host(.blind-neutral) .blind-header .blind-header-title-label,
227
- :host(.blind-neutral) .blind-header .blind-header-title-sublabel {
228
- color: var(--theme-color-neutral--contrast);
229
- }
230
307
  :host(.blind-neutral) .blind-header:not(.disabled):not(:disabled) {
231
308
  cursor: pointer;
232
309
  }
@@ -239,6 +316,10 @@
239
316
  :host(.blind-neutral) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-neutral) .blind-header:not(.disabled):not(:disabled).active {
240
317
  background-color: var(--theme-color-neutral--active);
241
318
  }
319
+ :host(.blind-neutral) .blind-header-title-label,
320
+ :host(.blind-neutral) .blind-header-title-sublabel {
321
+ color: var(--theme-color-neutral--contrast);
322
+ }
242
323
 
243
324
  :host(.blind-notification) {
244
325
  background-color: var(--theme-blind-base--background);
@@ -246,10 +327,6 @@
246
327
  :host(.blind-notification) .blind-header {
247
328
  background-color: var(--theme-color-notification);
248
329
  }
249
- :host(.blind-notification) .blind-header .blind-header-title-label,
250
- :host(.blind-notification) .blind-header .blind-header-title-sublabel {
251
- color: var(--theme-color-notification--contrast);
252
- }
253
330
  :host(.blind-notification) .blind-header:not(.disabled):not(:disabled) {
254
331
  cursor: pointer;
255
332
  }
@@ -262,6 +339,10 @@
262
339
  :host(.blind-notification) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-notification) .blind-header:not(.disabled):not(:disabled).active {
263
340
  background-color: var(--theme-color-notification--active);
264
341
  }
342
+ :host(.blind-notification) .blind-header-title-label,
343
+ :host(.blind-notification) .blind-header-title-sublabel {
344
+ color: var(--theme-color-notification--contrast);
345
+ }
265
346
 
266
347
  :host(.blind-success) {
267
348
  background-color: var(--theme-blind-base--background);
@@ -269,10 +350,6 @@
269
350
  :host(.blind-success) .blind-header {
270
351
  background-color: var(--theme-color-success);
271
352
  }
272
- :host(.blind-success) .blind-header .blind-header-title-label,
273
- :host(.blind-success) .blind-header .blind-header-title-sublabel {
274
- color: var(--theme-color-success--contrast);
275
- }
276
353
  :host(.blind-success) .blind-header:not(.disabled):not(:disabled) {
277
354
  cursor: pointer;
278
355
  }
@@ -285,6 +362,10 @@
285
362
  :host(.blind-success) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-success) .blind-header:not(.disabled):not(:disabled).active {
286
363
  background-color: var(--theme-color-success--active);
287
364
  }
365
+ :host(.blind-success) .blind-header-title-label,
366
+ :host(.blind-success) .blind-header-title-sublabel {
367
+ color: var(--theme-color-success--contrast);
368
+ }
288
369
 
289
370
  :host(.blind-warning) {
290
371
  background-color: var(--theme-blind-base--background);
@@ -292,10 +373,6 @@
292
373
  :host(.blind-warning) .blind-header {
293
374
  background-color: var(--theme-color-warning);
294
375
  }
295
- :host(.blind-warning) .blind-header .blind-header-title-label,
296
- :host(.blind-warning) .blind-header .blind-header-title-sublabel {
297
- color: var(--theme-color-warning--contrast);
298
- }
299
376
  :host(.blind-warning) .blind-header:not(.disabled):not(:disabled) {
300
377
  cursor: pointer;
301
378
  }
@@ -308,6 +385,10 @@
308
385
  :host(.blind-warning) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-warning) .blind-header:not(.disabled):not(:disabled).active {
309
386
  background-color: var(--theme-color-warning--active);
310
387
  }
388
+ :host(.blind-warning) .blind-header-title-label,
389
+ :host(.blind-warning) .blind-header-title-sublabel {
390
+ color: var(--theme-color-warning--contrast);
391
+ }
311
392
 
312
393
  :host(.blind-primary) {
313
394
  background-color: var(--theme-blind-base--background);
@@ -315,10 +396,6 @@
315
396
  :host(.blind-primary) .blind-header {
316
397
  background-color: var(--theme-color-primary);
317
398
  }
318
- :host(.blind-primary) .blind-header .blind-header-title-label,
319
- :host(.blind-primary) .blind-header .blind-header-title-sublabel {
320
- color: var(--theme-color-primary--contrast);
321
- }
322
399
  :host(.blind-primary) .blind-header:not(.disabled):not(:disabled) {
323
400
  cursor: pointer;
324
401
  }
@@ -331,6 +408,10 @@
331
408
  :host(.blind-primary) .blind-header:not(.disabled):not(:disabled):active, :host(.blind-primary) .blind-header:not(.disabled):not(:disabled).active {
332
409
  background-color: var(--theme-color-primary--active);
333
410
  }
411
+ :host(.blind-primary) .blind-header-title-label,
412
+ :host(.blind-primary) .blind-header-title-sublabel {
413
+ color: var(--theme-color-primary--contrast);
414
+ }
334
415
 
335
416
  :host(.blind-outline) {
336
417
  border: solid var(--theme-blind--border-thickness) var(--theme-blind-base--border-color);
@@ -339,15 +420,15 @@
339
420
  :host(.blind-outline) .blind-header {
340
421
  background-color: var(--theme-color-ghost);
341
422
  }
342
- :host(.blind-outline) .blind-header .blind-header-title-label {
343
- color: var(--theme-color-std-text);
344
- }
345
- :host(.blind-outline) .blind-header .blind-header-title-sublabel {
346
- color: var(--theme-color-soft-text);
347
- }
348
423
  :host(.blind-outline) .blind-header:not(.disabled):not(:disabled).hover, :host(.blind-outline) .blind-header:not(.disabled):not(:disabled):hover {
349
424
  background-color: var(--theme-ghost--background--hover);
350
425
  }
351
426
  :host(.blind-outline) .blind-header:not(.disabled):not(:disabled).active, :host(.blind-outline) .blind-header:not(.disabled):not(:disabled):active {
352
427
  background-color: var(--theme-ghost--background--active);
428
+ }
429
+ :host(.blind-outline) .blind-header-title-label {
430
+ color: var(--theme-color-std-text);
431
+ }
432
+ :host(.blind-outline) .blind-header-title-sublabel {
433
+ color: var(--theme-color-soft-text);
353
434
  }
@@ -6,7 +6,7 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import { h, Host, } from '@stencil/core';
9
+ import { Fragment, h, Host, } from '@stencil/core';
10
10
  import anime from 'animejs';
11
11
  import { a11yBoolean } from '../utils/a11y';
12
12
  let sequentialInstanceId = 0;
@@ -19,12 +19,7 @@ export class Blind {
19
19
  this.icon = undefined;
20
20
  this.variant = 'insight';
21
21
  }
22
- onHeaderClick(e) {
23
- if (e.target.closest('.header-actions')) {
24
- return;
25
- }
26
- e.preventDefault();
27
- e.stopImmediatePropagation();
22
+ onHeaderClick() {
28
23
  this.collapsed = !this.collapsed;
29
24
  this.collapsedChange.emit(this.collapsed);
30
25
  }
@@ -76,15 +71,15 @@ export class Blind {
76
71
  render() {
77
72
  return (h(Host, { class: {
78
73
  [`blind-${this.variant}`]: true,
79
- } }, h("button", { class: {
74
+ } }, h("div", { class: 'blind-header-wrapper' }, h("div", { class: 'blind-header-content' }, h("ix-icon", { class: "collapse-icon", name: 'chevron-right-small', color: this.variant === 'insight' || this.variant === 'outline'
75
+ ? 'color-primary'
76
+ : `color-${this.variant}--contrast`, ref: (ref) => (this.chevronRef = ref) }), h("div", { class: "blind-header-title", id: `ix-blind-header-title-${this.blindId}` }, this.label !== undefined ? (h(Fragment, null, this.icon && (h("ix-icon", { class: "blind-header-title-icon", name: this.icon, color: this.variant === 'insight' || this.variant === 'outline'
77
+ ? 'color-std-text'
78
+ : `color-${this.variant}--contrast` })), h("div", { class: 'blind-header-title-row' }, h("div", { class: "blind-header-title-col" }, h("ix-typography", { title: this.label, format: "label-lg", bold: true }, h("div", { class: "blind-header-title-label", title: this.label }, this.label))), this.sublabel && (h("div", { class: "blind-header-title-col" }, h("ix-typography", { title: this.sublabel }, h("div", { class: "blind-header-title-sublabel" }, this.sublabel))))), h("div", { class: "header-actions" }, h("slot", { name: "header-actions" })))) : null)), h("button", { class: {
80
79
  'blind-header': true,
81
80
  [`blind-${this.variant}`]: true,
82
81
  closed: this.collapsed,
83
- }, type: "button", "aria-labelledby": `ix-blind-header-title-${this.blindId}`, "aria-controls": `ix-blind-content-section-${this.blindId}`, "aria-expanded": a11yBoolean(!this.collapsed), onClick: (e) => this.onHeaderClick(e) }, h("ix-icon", { class: "collapse-icon", name: 'chevron-right-small', color: this.variant === 'insight' || this.variant === 'outline'
84
- ? 'color-primary'
85
- : `color-${this.variant}--contrast`, ref: (ref) => (this.chevronRef = ref) }), h("div", { class: "blind-header-title", id: `ix-blind-header-title-${this.blindId}` }, this.label !== undefined ? (h("span", { class: "blind-header-title-basic" }, h("div", { class: "blind-header-title-col" }, this.icon !== undefined ? (h("ix-icon", { name: this.icon, color: this.variant === 'insight' || this.variant === 'outline'
86
- ? 'color-std-text'
87
- : `color-${this.variant}--contrast` })) : (''), h("ix-typography", { title: this.label, format: "label-lg", bold: true }, h("div", { class: "blind-header-title-label", title: this.label }, this.label))), h("div", { class: "blind-header-title-col" }, this.sublabel !== undefined ? (h("ix-typography", { title: this.sublabel }, h("div", { class: "blind-header-title-sublabel" }, this.sublabel))) : (''), h("span", { class: "header-actions", onClick: (e) => e.stopImmediatePropagation() }, h("slot", { name: "header-actions" }))))) : (h("slot", { name: "custom-header" })))), h("section", { id: `ix-blind-content-section-${this.blindId}`, "aria-labelledby": `ix-blind-header-title-${this.blindId}` }, h("div", { class: {
82
+ }, type: "button", "aria-labelledby": `ix-blind-header-title-${this.blindId}`, "aria-controls": `ix-blind-content-section-${this.blindId}`, "aria-expanded": a11yBoolean(!this.collapsed), onClick: () => this.onHeaderClick() }, h("slot", { name: "custom-header" }))), h("section", { id: `ix-blind-content-section-${this.blindId}`, "aria-labelledby": `ix-blind-header-title-${this.blindId}` }, h("div", { class: {
88
83
  'blind-content': true,
89
84
  hide: this.collapsed,
90
85
  } }, !this.collapsed ? h("slot", null) : null))));
@@ -1 +1 @@
1
- {"version":3,"file":"blind.js","sourceRoot":"","sources":["../../../src/components/blind/blind.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { CardVariant } from '../card/card';\nimport { a11yBoolean } from '../utils/a11y';\n\nexport type BlindVariant = CardVariant | 'outline';\n\nlet sequentialInstanceId = 0;\n\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n shadow: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label: string;\n\n /**\n * Secondary label inside blind header\n * @since 2.0.0\n */\n @Prop() sublabel: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon: string;\n\n /**\n * Blind variant\n * @since 2.0.0\n */\n @Prop() variant: BlindVariant = 'insight';\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef: HTMLElement;\n private blindId = ++sequentialInstanceId;\n\n constructor() {}\n\n private onHeaderClick(e: Event) {\n if ((e.target as Element).closest('.header-actions')) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.shadowRoot.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host\n class={{\n [`blind-${this.variant}`]: true,\n }}\n >\n <button\n class={{\n 'blind-header': true,\n [`blind-${this.variant}`]: true,\n closed: this.collapsed,\n }}\n type=\"button\"\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n aria-controls={`ix-blind-content-section-${this.blindId}`}\n aria-expanded={a11yBoolean(!this.collapsed)}\n onClick={(e) => this.onHeaderClick(e)}\n >\n <ix-icon\n class=\"collapse-icon\"\n name={'chevron-right-small'}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-primary'\n : `color-${this.variant}--contrast`\n }\n ref={(ref) => (this.chevronRef = ref)}\n ></ix-icon>\n <div\n class=\"blind-header-title\"\n id={`ix-blind-header-title-${this.blindId}`}\n >\n {this.label !== undefined ? (\n <span class=\"blind-header-title-basic\">\n <div class=\"blind-header-title-col\">\n {this.icon !== undefined ? (\n <ix-icon\n name={this.icon}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-std-text'\n : `color-${this.variant}--contrast`\n }\n ></ix-icon>\n ) : (\n ''\n )}\n <ix-typography title={this.label} format=\"label-lg\" bold>\n <div class=\"blind-header-title-label\" title={this.label}>\n {this.label}\n </div>\n </ix-typography>\n </div>\n\n <div class=\"blind-header-title-col\">\n {this.sublabel !== undefined ? (\n <ix-typography title={this.sublabel}>\n <div class=\"blind-header-title-sublabel\">\n {this.sublabel}\n </div>\n </ix-typography>\n ) : (\n ''\n )}\n <span\n class=\"header-actions\"\n onClick={(e) => e.stopImmediatePropagation()}\n >\n <slot name=\"header-actions\"></slot>\n </span>\n </div>\n </span>\n ) : (\n <slot name=\"custom-header\"></slot>\n )}\n </div>\n </button>\n <section\n id={`ix-blind-content-section-${this.blindId}`}\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n >\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n {!this.collapsed ? <slot></slot> : null}\n </div>\n </section>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"blind.js","sourceRoot":"","sources":["../../../src/components/blind/blind.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { CardVariant } from '../card/card';\nimport { a11yBoolean } from '../utils/a11y';\n\nexport type BlindVariant = CardVariant | 'outline';\n\nlet sequentialInstanceId = 0;\n\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n shadow: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label: string;\n\n /**\n * Secondary label inside blind header\n * @since 2.0.0\n */\n @Prop() sublabel: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon: string;\n\n /**\n * Blind variant\n * @since 2.0.0\n */\n @Prop() variant: BlindVariant = 'insight';\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef: HTMLElement;\n private blindId = ++sequentialInstanceId;\n\n constructor() {}\n\n private onHeaderClick() {\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.shadowRoot.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host\n class={{\n [`blind-${this.variant}`]: true,\n }}\n >\n <div class={'blind-header-wrapper'}>\n <div class={'blind-header-content'}>\n <ix-icon\n class=\"collapse-icon\"\n name={'chevron-right-small'}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-primary'\n : `color-${this.variant}--contrast`\n }\n ref={(ref) => (this.chevronRef = ref)}\n ></ix-icon>\n <div\n class=\"blind-header-title\"\n id={`ix-blind-header-title-${this.blindId}`}\n >\n {this.label !== undefined ? (\n <Fragment>\n {this.icon && (\n <ix-icon\n class=\"blind-header-title-icon\"\n name={this.icon}\n color={\n this.variant === 'insight' || this.variant === 'outline'\n ? 'color-std-text'\n : `color-${this.variant}--contrast`\n }\n ></ix-icon>\n )}\n <div class={'blind-header-title-row'}>\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.label} format=\"label-lg\" bold>\n <div\n class=\"blind-header-title-label\"\n title={this.label}\n >\n {this.label}\n </div>\n </ix-typography>\n </div>\n\n {this.sublabel && (\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.sublabel}>\n <div class=\"blind-header-title-sublabel\">\n {this.sublabel}\n </div>\n </ix-typography>\n </div>\n )}\n </div>\n <div class=\"header-actions\">\n <slot name=\"header-actions\"></slot>\n </div>\n </Fragment>\n ) : null}\n </div>\n </div>\n\n <button\n class={{\n 'blind-header': true,\n [`blind-${this.variant}`]: true,\n closed: this.collapsed,\n }}\n type=\"button\"\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n aria-controls={`ix-blind-content-section-${this.blindId}`}\n aria-expanded={a11yBoolean(!this.collapsed)}\n onClick={() => this.onHeaderClick()}\n >\n <slot name=\"custom-header\"></slot>\n </button>\n </div>\n <section\n id={`ix-blind-content-section-${this.blindId}`}\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n >\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n {!this.collapsed ? <slot></slot> : null}\n </div>\n </section>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2023 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { expect } from '@playwright/test';
10
+ import { test } from '@utils/test';
11
+ test('renders', async ({ mount, page }) => {
12
+ await mount(`<ix-blind label="Example label">Some content</ix-blind>`);
13
+ const blindElement = page.locator('ix-blind');
14
+ await expect(blindElement).toHaveClass(/hydrated/);
15
+ });
16
+ //# sourceMappingURL=blind.ct.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blind.ct.js","sourceRoot":"","sources":["../../../../src/components/blind/test/blind.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACxC,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;EACvE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;EAC9C,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`<ix-blind label=\"Example label\">Some content</ix-blind>`);\n const blindElement = page.locator('ix-blind');\n await expect(blindElement).toHaveClass(/hydrated/);\n});\n"]}
@@ -209,6 +209,9 @@
209
209
  :host .content-start {
210
210
  width: 100%;
211
211
  }
212
+ :host .icon {
213
+ pointer-events: none;
214
+ }
212
215
 
213
216
  :host(.disabled) {
214
217
  cursor: default;
@@ -655,6 +658,9 @@
655
658
  :host .content-start {
656
659
  width: 100%;
657
660
  }
661
+ :host .icon {
662
+ pointer-events: none;
663
+ }
658
664
 
659
665
  :host(.disabled) {
660
666
  cursor: default;
@@ -31,7 +31,7 @@ export const getButtonClasses = (variant, outline, ghost, iconOnly = false, icon
31
31
  export function BaseButton(props, children) {
32
32
  var _a, _b;
33
33
  const extraClasses = (_a = props.extraClasses) !== null && _a !== void 0 ? _a : {};
34
- return (h("button", Object.assign({}, props.ariaAttributes, { onClick: (e) => (props.onClick ? props.onClick(e) : undefined), tabindex: props.disabled ? -1 : (_b = props.tabIndex) !== null && _b !== void 0 ? _b : 0, type: props.type, class: Object.assign(Object.assign({}, getButtonClasses(props.variant, props.outline, props.ghost, props.iconOnly, props.iconOval, props.selected, props.disabled || props.loading)), extraClasses) }), props.loading ? h("ix-spinner", { size: "small", hideTrack: true }) : null, props.icon && !props.loading ? (h("ix-icon", { name: props.icon, size: props.iconSize, color: props.iconColor })) : null, h("div", { class: {
34
+ return (h("button", Object.assign({}, props.ariaAttributes, { onClick: (e) => (props.onClick ? props.onClick(e) : undefined), tabindex: props.disabled ? -1 : (_b = props.tabIndex) !== null && _b !== void 0 ? _b : 0, type: props.type, class: Object.assign(Object.assign({}, getButtonClasses(props.variant, props.outline, props.ghost, props.iconOnly, props.iconOval, props.selected, props.disabled || props.loading)), extraClasses) }), props.loading ? h("ix-spinner", { size: "small", hideTrack: true }) : null, props.icon && !props.loading ? (h("ix-icon", { class: "icon", name: props.icon, size: props.iconSize, color: props.iconColor })) : null, h("div", { class: {
35
35
  content: true,
36
36
  [`content-${props.alignment}`]: !!props.alignment,
37
37
  } }, children), props.afterContent ? props.afterContent : null));
@@ -1 +1 @@
1
- {"version":3,"file":"base-button.js","sourceRoot":"","sources":["../../../src/components/button/base-button.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAMlC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;EACpC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;EACtC,OAAO,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAsB,EACtB,OAAgB,EAChB,KAAc,EACd,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,QAAiB,EACjB,QAAiB,EACjB,EAAE;EACF,OAAO;IACL,GAAG,EAAE,IAAI;IACT,aAAa,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;IACvD,qBAAqB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK;IAC9D,uBAAuB,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK;IAChE,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;IAC3D,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,KAAK;IAClE,yBAAyB,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK;IACpE,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;GACnB,CAAC;AACJ,CAAC,CAAC;AAuBF,MAAM,UAAU,UAAU,CAAC,KAAsB,EAAE,QAAQ;;EACzD,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE,CAAC;EAE9C,OAAO,CACL,8BACM,KAAK,CAAC,cAAc,IACxB,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACrE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,EACnD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,kCACA,gBAAgB,CACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAChC,GACE,YAAY;IAGhB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAY,IAAI,EAAC,OAAO,EAAC,SAAS,SAAc,CAAC,CAAC,CAAC,IAAI;IACvE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC9B,eACE,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,IAAI,EAAE,KAAK,CAAC,QAAe,EAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,GACb,CACZ,CAAC,CAAC,CAAC,IAAI;IACR,WACE,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,CAAC,WAAW,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;OAClD,IAEA,QAAQ,CACL;IACL,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CACxC,CACV,CAAC;AACJ,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { h } from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport { ButtonVariant } from './button';\n\nexport type ButtonAlignment = 'center' | 'start';\n\nconst isPrimary = (variant: string) => {\n return variant.toUpperCase() === 'Primary'.toUpperCase();\n};\n\nconst isSecondary = (variant: string) => {\n return variant.toUpperCase() === 'Secondary'.toUpperCase();\n};\n\nexport const getButtonClasses = (\n variant: ButtonVariant,\n outline: boolean,\n ghost: boolean,\n iconOnly = false,\n iconOval = false,\n selected: boolean,\n disabled: boolean\n) => {\n return {\n btn: true,\n 'btn-primary': isPrimary(variant) && !outline && !ghost,\n 'btn-outline-primary': isPrimary(variant) && outline && !ghost,\n 'btn-invisible-primary': isPrimary(variant) && !outline && ghost,\n 'btn-secondary': isSecondary(variant) && !outline && !ghost,\n 'btn-outline-secondary': isSecondary(variant) && outline && !ghost,\n 'btn-invisible-secondary': isSecondary(variant) && !outline && ghost,\n 'btn-icon': iconOnly,\n 'btn-oval': iconOval,\n selected: selected,\n disabled: disabled,\n };\n};\n\nexport type BaseButtonProps = {\n type: string;\n variant: ButtonVariant;\n outline: boolean;\n ghost: boolean;\n iconOnly: boolean;\n iconOval: boolean;\n selected: boolean;\n disabled: boolean;\n loading: boolean;\n icon: string;\n onClick?: Function;\n ariaAttributes?: A11yAttributes;\n extraClasses?: { [key: string]: boolean };\n iconSize?: string;\n iconColor?: string;\n alignment?: ButtonAlignment;\n tabIndex?: number;\n afterContent?: any;\n};\n\nexport function BaseButton(props: BaseButtonProps, children) {\n const extraClasses = props.extraClasses ?? {};\n\n return (\n <button\n {...props.ariaAttributes}\n onClick={(e: Event) => (props.onClick ? props.onClick(e) : undefined)}\n tabindex={props.disabled ? -1 : props.tabIndex ?? 0}\n type={props.type}\n class={{\n ...getButtonClasses(\n props.variant,\n props.outline,\n props.ghost,\n props.iconOnly,\n props.iconOval,\n props.selected,\n props.disabled || props.loading\n ),\n ...extraClasses,\n }}\n >\n {props.loading ? <ix-spinner size=\"small\" hideTrack></ix-spinner> : null}\n {props.icon && !props.loading ? (\n <ix-icon\n name={props.icon}\n size={props.iconSize as any}\n color={props.iconColor}\n ></ix-icon>\n ) : null}\n <div\n class={{\n content: true,\n [`content-${props.alignment}`]: !!props.alignment,\n }}\n >\n {children}\n </div>\n {props.afterContent ? props.afterContent : null}\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"base-button.js","sourceRoot":"","sources":["../../../src/components/button/base-button.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { h } from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport { ButtonVariant } from './button';\n\nexport type ButtonAlignment = 'center' | 'start';\n\nconst isPrimary = (variant: string) => {\n return variant.toUpperCase() === 'Primary'.toUpperCase();\n};\n\nconst isSecondary = (variant: string) => {\n return variant.toUpperCase() === 'Secondary'.toUpperCase();\n};\n\nexport const getButtonClasses = (\n variant: ButtonVariant,\n outline: boolean,\n ghost: boolean,\n iconOnly = false,\n iconOval = false,\n selected: boolean,\n disabled: boolean\n) => {\n return {\n btn: true,\n 'btn-primary': isPrimary(variant) && !outline && !ghost,\n 'btn-outline-primary': isPrimary(variant) && outline && !ghost,\n 'btn-invisible-primary': isPrimary(variant) && !outline && ghost,\n 'btn-secondary': isSecondary(variant) && !outline && !ghost,\n 'btn-outline-secondary': isSecondary(variant) && outline && !ghost,\n 'btn-invisible-secondary': isSecondary(variant) && !outline && ghost,\n 'btn-icon': iconOnly,\n 'btn-oval': iconOval,\n selected: selected,\n disabled: disabled,\n };\n};\n\nexport type BaseButtonProps = {\n type: string;\n variant: ButtonVariant;\n outline: boolean;\n ghost: boolean;\n iconOnly: boolean;\n iconOval: boolean;\n selected: boolean;\n disabled: boolean;\n loading: boolean;\n icon: string;\n onClick?: Function;\n ariaAttributes?: A11yAttributes;\n extraClasses?: { [key: string]: boolean };\n iconSize?: string;\n iconColor?: string;\n alignment?: ButtonAlignment;\n tabIndex?: number;\n afterContent?: any;\n};\n\nexport function BaseButton(props: BaseButtonProps, children) {\n const extraClasses = props.extraClasses ?? {};\n\n return (\n <button\n {...props.ariaAttributes}\n onClick={(e: Event) => (props.onClick ? props.onClick(e) : undefined)}\n tabindex={props.disabled ? -1 : props.tabIndex ?? 0}\n type={props.type}\n class={{\n ...getButtonClasses(\n props.variant,\n props.outline,\n props.ghost,\n props.iconOnly,\n props.iconOval,\n props.selected,\n props.disabled || props.loading\n ),\n ...extraClasses,\n }}\n >\n {props.loading ? <ix-spinner size=\"small\" hideTrack></ix-spinner> : null}\n {props.icon && !props.loading ? (\n <ix-icon\n class=\"icon\"\n name={props.icon}\n size={props.iconSize as any}\n color={props.iconColor}\n ></ix-icon>\n ) : null}\n <div\n class={{\n content: true,\n [`content-${props.alignment}`]: !!props.alignment,\n }}\n >\n {children}\n </div>\n {props.afterContent ? props.afterContent : null}\n </button>\n );\n}\n"]}
@@ -133,6 +133,9 @@
133
133
  :host .content-start {
134
134
  width: 100%;
135
135
  }
136
+ :host .icon {
137
+ pointer-events: none;
138
+ }
136
139
 
137
140
  :host(.disabled) {
138
141
  cursor: default;
@@ -37,6 +37,6 @@ test('should not fire event when disabled', async ({ mount, page }) => {
37
37
  await mount(`<ix-button disabled>Content</ix-button>`);
38
38
  const button = page.locator('ix-button');
39
39
  await expect(button).toHaveClass(/hydrated/);
40
- expect(button).toHaveCSS('pointer-events', 'none');
40
+ await expect(button).toHaveCSS('pointer-events', 'none');
41
41
  });
42
42
  //# sourceMappingURL=button.ct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.ct.js","sourceRoot":"","sources":["../../../../src/components/button/test/button.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACxC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;EAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACzC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAC1C,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;EAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAC3D,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;EAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;EAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACxE,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;EAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;EAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;EACzD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACpE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;EACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC7C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`<ix-button>Content</ix-button>`);\n const button = page.locator('ix-button');\n await expect(button).toHaveClass(/hydrated/);\n});\n\ntest('show icon', async ({ mount, page }) => {\n await mount(`<ix-button icon=\"rocket\">Content</ix-button>`);\n const button = page.locator('ix-button');\n await expect(button.locator('ix-icon')).toBeVisible();\n});\n\ntest('show spinner while loading', async ({ mount, page }) => {\n await mount(`<ix-button>Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button.locator('ix-spinner')).not.toBeVisible();\n await button.evaluate((btn: HTMLIxButtonElement) => (btn.loading = true));\n await expect(button.locator('ix-spinner')).toBeVisible();\n});\n\ntest('replace icon with spinner while loading', async ({ mount, page }) => {\n await mount(`<ix-button icon=\"rocket\">Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button.locator('ix-spinner')).not.toBeVisible();\n await button.evaluate((btn: HTMLIxButtonElement) => (btn.loading = true));\n await expect(button.locator('ix-spinner')).toBeVisible();\n await expect(button.locator('ix-icon')).not.toBeVisible();\n});\n\ntest('should not fire event when disabled', async ({ mount, page }) => {\n await mount(`<ix-button disabled>Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button).toHaveClass(/hydrated/);\n expect(button).toHaveCSS('pointer-events', 'none');\n});\n"]}
1
+ {"version":3,"file":"button.ct.js","sourceRoot":"","sources":["../../../../src/components/button/test/button.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACxC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;EAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACzC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAC1C,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;EAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAC3D,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;EAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;EAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACxE,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;EAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAwB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;EAC1E,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;EACzD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACpE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;EACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EAEzC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`<ix-button>Content</ix-button>`);\n const button = page.locator('ix-button');\n await expect(button).toHaveClass(/hydrated/);\n});\n\ntest('show icon', async ({ mount, page }) => {\n await mount(`<ix-button icon=\"rocket\">Content</ix-button>`);\n const button = page.locator('ix-button');\n await expect(button.locator('ix-icon')).toBeVisible();\n});\n\ntest('show spinner while loading', async ({ mount, page }) => {\n await mount(`<ix-button>Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button.locator('ix-spinner')).not.toBeVisible();\n await button.evaluate((btn: HTMLIxButtonElement) => (btn.loading = true));\n await expect(button.locator('ix-spinner')).toBeVisible();\n});\n\ntest('replace icon with spinner while loading', async ({ mount, page }) => {\n await mount(`<ix-button icon=\"rocket\">Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button.locator('ix-spinner')).not.toBeVisible();\n await button.evaluate((btn: HTMLIxButtonElement) => (btn.loading = true));\n await expect(button.locator('ix-spinner')).toBeVisible();\n await expect(button.locator('ix-icon')).not.toBeVisible();\n});\n\ntest('should not fire event when disabled', async ({ mount, page }) => {\n await mount(`<ix-button disabled>Content</ix-button>`);\n const button = page.locator('ix-button');\n\n await expect(button).toHaveClass(/hydrated/);\n await expect(button).toHaveCSS('pointer-events', 'none');\n});\n"]}