@siemens/ix 2.0.3 → 2.0.4

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
@@ -83,4 +83,70 @@ test('update padding end', async ({ mount, page }) => {
83
83
  await expect(input).toHaveCSS('padding-left', '55px');
84
84
  await expect(input).toHaveCSS('padding-right', '65px');
85
85
  });
86
+ test('validation padding', async ({ mount, page }) => {
87
+ await mount(`
88
+ <form class="needs-validation" noValidation>
89
+ <ix-input-group>
90
+ <input type="text" required />
91
+ </ix-input-group>
92
+
93
+ <ix-button type="submit">Submit</ix-button>
94
+ </form>
95
+ `);
96
+ const form = page.locator('form');
97
+ await form.evaluate((form) => form.addEventListener('submit', (e) => {
98
+ e.preventDefault();
99
+ form.classList.add('was-validated');
100
+ }));
101
+ const group = page.locator('ix-input-group');
102
+ await expect(group).toHaveClass(/hydrated/);
103
+ const input = group.locator('input');
104
+ const button = page.locator('ix-button');
105
+ await button.click();
106
+ await expect(input).toHaveCSS('background-position-x', '8px');
107
+ });
108
+ test('validation padding with input-start slot', async ({ mount, page }) => {
109
+ await mount(`
110
+ <form class="needs-validation" noValidation>
111
+ <ix-input-group>
112
+ <ix-icon name="eye" size="12" slot="input-start"></ix-icon>
113
+ <input type="text" required />
114
+ </ix-input-group>
115
+
116
+ <ix-button type="submit">Submit</ix-button>
117
+ </form>
118
+ `);
119
+ const form = page.locator('form');
120
+ await form.evaluate((form) => form.addEventListener('submit', (e) => {
121
+ e.preventDefault();
122
+ form.classList.add('was-validated');
123
+ }));
124
+ const group = page.locator('ix-input-group');
125
+ await expect(group).toHaveClass(/hydrated/);
126
+ const input = group.locator('input');
127
+ const button = page.locator('ix-button');
128
+ await button.click();
129
+ await expect(input).toHaveCSS('background-position-x', '27px');
130
+ await expect(input).toHaveCSS('padding-left', '59px');
131
+ });
132
+ test('validation with class padding with input-start slot', async ({ mount, page, }) => {
133
+ await mount(`
134
+ <form class="needs-validation" noValidation>
135
+ <ix-input-group>
136
+ <ix-icon name="eye" size="12" slot="input-start"></ix-icon>
137
+ <input type="text" class="is-invalid" />
138
+ </ix-input-group>
139
+ </form>
140
+ `);
141
+ const form = page.locator('form');
142
+ await form.evaluate((form) => form.addEventListener('submit', (e) => {
143
+ e.preventDefault();
144
+ form.classList.add('was-validated');
145
+ }));
146
+ const group = page.locator('ix-input-group');
147
+ await expect(group).toHaveClass(/hydrated/);
148
+ const input = group.locator('input');
149
+ await expect(input).toHaveCSS('background-position-x', '27px');
150
+ await expect(input).toHaveCSS('padding-left', '59px');
151
+ });
86
152
  //# sourceMappingURL=input-group.ct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-group.ct.js","sourceRoot":"","sources":["../../../../src/components/input-group/tests/input-group.ct.ts"],"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 thi s source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '8px');\n await expect(input).toHaveCSS('padding-right', '15px');\n});\n\ntest('initial padding start', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <span slot=\"input-start\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '31px');\n await expect(input).toHaveCSS('padding-right', '15px');\n});\n\ntest('initial padding end', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <span slot=\"input-start\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <span slot=\"input-end\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '31px');\n await expect(input).toHaveCSS('padding-right', '31px');\n});\n\ntest('update padding end', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '8px');\n await expect(input).toHaveCSS('padding-right', '15px');\n\n await group.evaluate((group: HTMLElement) => {\n const startElement = document.createElement('DIV');\n startElement.style.height = '1px';\n startElement.style.width = '40px';\n startElement.slot = 'input-start';\n group.appendChild(startElement);\n });\n\n await expect(input).toHaveCSS('padding-left', '55px');\n await expect(input).toHaveCSS('padding-right', '15px');\n\n await group.evaluate((group: HTMLElement) => {\n const endElement = document.createElement('DIV');\n endElement.style.height = '1px';\n endElement.style.width = '50px';\n endElement.slot = 'input-end';\n group.appendChild(endElement);\n });\n\n await expect(input).toHaveCSS('padding-left', '55px');\n await expect(input).toHaveCSS('padding-right', '65px');\n});\n"]}
1
+ {"version":3,"file":"input-group.ct.js","sourceRoot":"","sources":["../../../../src/components/input-group/tests/input-group.ct.ts"],"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 thi s source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '8px');\n await expect(input).toHaveCSS('padding-right', '15px');\n});\n\ntest('initial padding start', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <span slot=\"input-start\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '31px');\n await expect(input).toHaveCSS('padding-right', '15px');\n});\n\ntest('initial padding end', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <span slot=\"input-start\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <span slot=\"input-end\">\n <ix-icon name=\"eye\" size=\"16\"></ix-icon>\n </span>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '31px');\n await expect(input).toHaveCSS('padding-right', '31px');\n});\n\ntest('update padding end', async ({ mount, page }) => {\n await mount(`\n <ix-input-group>\n <input class=\"parameter-value\" type=\"text\" value=\"Some initial value\" />\n </ix-input-group>\n `);\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n await expect(input).toHaveCSS('padding-left', '8px');\n await expect(input).toHaveCSS('padding-right', '15px');\n\n await group.evaluate((group: HTMLElement) => {\n const startElement = document.createElement('DIV');\n startElement.style.height = '1px';\n startElement.style.width = '40px';\n startElement.slot = 'input-start';\n group.appendChild(startElement);\n });\n\n await expect(input).toHaveCSS('padding-left', '55px');\n await expect(input).toHaveCSS('padding-right', '15px');\n\n await group.evaluate((group: HTMLElement) => {\n const endElement = document.createElement('DIV');\n endElement.style.height = '1px';\n endElement.style.width = '50px';\n endElement.slot = 'input-end';\n group.appendChild(endElement);\n });\n\n await expect(input).toHaveCSS('padding-left', '55px');\n await expect(input).toHaveCSS('padding-right', '65px');\n});\n\ntest('validation padding', async ({ mount, page }) => {\n await mount(`\n <form class=\"needs-validation\" noValidation>\n <ix-input-group>\n <input type=\"text\" required />\n </ix-input-group>\n\n <ix-button type=\"submit\">Submit</ix-button>\n </form>\n `);\n\n const form = page.locator('form');\n await form.evaluate((form) =>\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n form.classList.add('was-validated');\n })\n );\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n const button = page.locator('ix-button');\n\n await button.click();\n\n await expect(input).toHaveCSS('background-position-x', '8px');\n});\n\ntest('validation padding with input-start slot', async ({ mount, page }) => {\n await mount(`\n <form class=\"needs-validation\" noValidation>\n <ix-input-group>\n <ix-icon name=\"eye\" size=\"12\" slot=\"input-start\"></ix-icon>\n <input type=\"text\" required />\n </ix-input-group>\n\n <ix-button type=\"submit\">Submit</ix-button>\n </form>\n `);\n\n const form = page.locator('form');\n await form.evaluate((form) =>\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n form.classList.add('was-validated');\n })\n );\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n const button = page.locator('ix-button');\n\n await button.click();\n\n await expect(input).toHaveCSS('background-position-x', '27px');\n await expect(input).toHaveCSS('padding-left', '59px');\n});\n\ntest('validation with class padding with input-start slot', async ({\n mount,\n page,\n}) => {\n await mount(`\n <form class=\"needs-validation\" noValidation>\n <ix-input-group>\n <ix-icon name=\"eye\" size=\"12\" slot=\"input-start\"></ix-icon>\n <input type=\"text\" class=\"is-invalid\" />\n </ix-input-group>\n </form>\n `);\n\n const form = page.locator('form');\n await form.evaluate((form) =>\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n form.classList.add('was-validated');\n })\n );\n\n const group = page.locator('ix-input-group');\n await expect(group).toHaveClass(/hydrated/);\n\n const input = group.locator('input');\n\n await expect(input).toHaveCSS('background-position-x', '27px');\n await expect(input).toHaveCSS('padding-left', '59px');\n});\n"]}
@@ -108,8 +108,7 @@
108
108
  display: flex;
109
109
  height: 100%;
110
110
  width: 100%;
111
- -webkit-border-after: 2px solid grey;
112
- border-block-end: 2px solid grey;
111
+ border-block-end: 2px solid grey;
113
112
  }
114
113
  :host .kpi-container.alarm {
115
114
  border-block-end-color: var(--theme-color-alarm);
@@ -125,8 +124,7 @@
125
124
  flex-shrink: 9999;
126
125
  }
127
126
  :host .kpi-container .kpi-label ix-icon {
128
- -webkit-margin-end: 0.25rem;
129
- margin-inline-end: 0.25rem;
127
+ margin-inline-end: 0.25rem;
130
128
  }
131
129
  :host .kpi-container .kpi-value-container {
132
130
  display: flex;
@@ -143,14 +141,12 @@
143
141
  color: var(--theme-kpi-display-value--color);
144
142
  }
145
143
  :host .kpi-container .kpi-unit {
146
- -webkit-margin-start: 0.5rem;
147
- margin-inline-start: 0.5rem;
144
+ margin-inline-start: 0.5rem;
148
145
  color: var(--theme-kpi-display-units--color);
149
146
  }
150
147
  :host .kpi-container .kpi-label,
151
148
  :host .kpi-container .kpi-unit {
152
- -webkit-margin-before: 0.125rem;
153
- margin-block-start: 0.125rem;
149
+ margin-block-start: 0.125rem;
154
150
  }
155
151
  :host:not(.disabled):not(:disabled) {
156
152
  cursor: pointer;
@@ -107,8 +107,7 @@
107
107
  height: 100%;
108
108
  left: 4rem;
109
109
  background-color: var(--theme-map-navigation--background);
110
- -webkit-border-end: 0.125rem solid var(--theme-map-navigation-separator--background);
111
- border-inline-end: 0.125rem solid var(--theme-map-navigation-separator--background);
110
+ border-inline-end: 0.125rem solid var(--theme-map-navigation-separator--background);
112
111
  z-index: 99;
113
112
  }
114
113
  :host .map-nav-sidebar-content {
@@ -258,8 +258,7 @@ a {
258
258
  min-width: 0;
259
259
  }
260
260
  :host .overlay-header-content ix-icon {
261
- -webkit-margin-start: 1rem;
262
- margin-inline-start: 1rem;
261
+ margin-inline-start: 1rem;
263
262
  color: var(--theme-overlay-header--color);
264
263
  }
265
264
  :host .overlay-header-content .overlay-header-title {
@@ -274,8 +273,7 @@ a {
274
273
  text-overflow: ellipsis;
275
274
  white-space: nowrap;
276
275
  color: var(--theme-overlay-header--color);
277
- -webkit-margin-start: 1rem;
278
- margin-inline-start: 1rem;
276
+ margin-inline-start: 1rem;
279
277
  }
280
278
  :host .color-indicator {
281
279
  display: inline-block;
@@ -285,10 +283,8 @@ a {
285
283
  background-color: var(--theme-color-neutral);
286
284
  }
287
285
  :host .overlay-close {
288
- -webkit-margin-start: auto;
289
- margin-inline-start: auto;
290
- -webkit-margin-end: 1rem;
291
- margin-inline-end: 1rem;
286
+ margin-inline-start: auto;
287
+ margin-inline-end: 1rem;
292
288
  }
293
289
  :host .d-none {
294
290
  display: none;
@@ -1076,7 +1076,6 @@
1076
1076
  }
1077
1077
  }
1078
1078
  .animate__animated.animate__flip {
1079
- -webkit-backface-visibility: visible;
1080
1079
  backface-visibility: visible;
1081
1080
  animation-name: flip;
1082
1081
  }
@@ -1102,7 +1101,6 @@
1102
1101
  }
1103
1102
  }
1104
1103
  .animate__flipInX {
1105
- -webkit-backface-visibility: visible !important;
1106
1104
  backface-visibility: visible !important;
1107
1105
  animation-name: flipInX;
1108
1106
  }
@@ -1128,7 +1126,6 @@
1128
1126
  }
1129
1127
  }
1130
1128
  .animate__flipInY {
1131
- -webkit-backface-visibility: visible !important;
1132
1129
  backface-visibility: visible !important;
1133
1130
  animation-name: flipInY;
1134
1131
  }
@@ -1149,7 +1146,6 @@
1149
1146
  animation-duration: 0.75s;
1150
1147
  animation-duration: calc(var(--animate-duration) * 0.75);
1151
1148
  animation-name: flipOutX;
1152
- -webkit-backface-visibility: visible !important;
1153
1149
  backface-visibility: visible !important;
1154
1150
  }
1155
1151
  @keyframes flipOutY {
@@ -1168,7 +1164,6 @@
1168
1164
  .animate__flipOutY {
1169
1165
  animation-duration: 0.75s;
1170
1166
  animation-duration: calc(var(--animate-duration) * 0.75);
1171
- -webkit-backface-visibility: visible !important;
1172
1167
  backface-visibility: visible !important;
1173
1168
  animation-name: flipOutY;
1174
1169
  }
@@ -1773,8 +1768,7 @@
1773
1768
  position: relative;
1774
1769
  width: 3.25rem;
1775
1770
  height: 100%;
1776
- -webkit-padding-after: 1rem;
1777
- padding-block-end: 1rem;
1771
+ padding-block-end: 1rem;
1778
1772
  overflow: hidden;
1779
1773
  background-color: var(--theme-nav--background);
1780
1774
  transition: width var(--animate-duration) ease-in-out;
@@ -26,7 +26,7 @@ export class Modal {
26
26
  }
27
27
  slideInModal() {
28
28
  const duration = this.animation ? Animation.mediumTime : 0;
29
- let transformY = this.centered ? '-50' : 40;
29
+ let transformY = this.centered ? '-50%' : 40;
30
30
  anime({
31
31
  targets: this.dialog,
32
32
  duration,
@@ -38,7 +38,7 @@ export class Modal {
38
38
  }
39
39
  slideOutModal(completeCallback) {
40
40
  const duration = this.animation ? Animation.mediumTime : 0;
41
- let transformY = this.centered ? '-50' : 40;
41
+ let transformY = this.centered ? '-50%' : 40;
42
42
  anime({
43
43
  targets: this.dialog,
44
44
  duration,
@@ -110,7 +110,10 @@ export class Modal {
110
110
  return (h(Host, { class: {
111
111
  'no-backdrop': this.backdrop === false,
112
112
  'align-center': this.centered,
113
- } }, h("div", { class: "dialog-backdrop" }, h("dialog", { "aria-modal": a11yBoolean(true), "aria-describedby": this.ariaAttributes['aria-describedby'], "aria-labelledby": this.ariaAttributes['aria-labelledby'], class: `modal modal-size-${this.size}`, onKeyDown: (e) => {
113
+ } }, h("div", { class: "dialog-backdrop" }, h("dialog", { "aria-modal": a11yBoolean(true), "aria-describedby": this.ariaAttributes['aria-describedby'], "aria-labelledby": this.ariaAttributes['aria-labelledby'], class: {
114
+ modal: true,
115
+ [`modal-size-${this.size}`]: true,
116
+ }, onKeyDown: (e) => {
114
117
  if (e.key === 'Escape' && this.keyboard === false) {
115
118
  e.preventDefault();
116
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { A11yAttributes, a11yBoolean, a11yHostAttributes } from '../utils/a11y';\nimport Animation from '../utils/animation';\n\nexport type IxModalFixedSize = '360' | '480' | '600' | '720' | '840';\nexport type IxModalDynamicSize = 'full-width' | 'full-screen';\nexport type IxModalSize = IxModalFixedSize | IxModalDynamicSize;\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n})\nexport class Modal {\n private ariaAttributes: A11yAttributes = {};\n\n @Element() hostElement!: HTMLIxModalElement;\n\n /**\n * Modal size\n *\n * @since 2.0.0\n */\n @Prop() size: IxModalSize = '360';\n\n /**\n * Should the modal be animated\n */\n @Prop() animation = true;\n\n /**\n * Show a backdrop behind the modal dialog\n */\n @Prop() backdrop = true;\n\n /**\n * Dismiss modal on backdrop click\n *\n * @since 2.0.0\n */\n @Prop() closeOnBackdropClick = false;\n\n /**\n * Is called before the modal is dismissed.\n *\n * - Return `true` to proceed in dismissing the modal\n * - Return `false` to abort in dismissing the modal\n */\n @Prop() beforeDismiss: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * Use ESC to dismiss the modal\n */\n @Prop() keyboard = true;\n\n /**\n * Dialog close\n */\n @Event() dialogClose: EventEmitter;\n\n /**\n * Dialog cancel\n */\n @Event() dialogDismiss: EventEmitter;\n\n get dialog() {\n return this.hostElement.shadowRoot.querySelector('dialog');\n }\n\n private slideInModal() {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [0, 1],\n translateY: [0, transformY],\n translateX: ['-50%', '-50%'],\n easing: 'easeOutSine',\n });\n }\n\n private slideOutModal(completeCallback: Function) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [1, 0],\n translateY: [transformY, 0],\n translateX: ['-50%', '-50%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onModalClick(event: MouseEvent) {\n const rect = this.dialog.getBoundingClientRect();\n const isClickOutside =\n rect.top <= event.clientY &&\n event.clientY <= rect.top + rect.height &&\n rect.left <= event.clientX &&\n event.clientX <= rect.left + rect.width;\n if (!isClickOutside && this.closeOnBackdropClick) {\n this.dismissModal();\n }\n }\n\n /**\n * Show the dialog\n */\n @Method()\n async showModal() {\n setTimeout(() => this.dialog.showModal());\n }\n\n /**\n * Dismiss the dialog\n */\n @Method()\n async dismissModal<T = any>(reason?: T) {\n let allowDismiss = true;\n\n if (this.beforeDismiss !== undefined) {\n allowDismiss = await this.beforeDismiss(reason);\n }\n if (!allowDismiss) {\n return;\n }\n\n this.slideOutModal(() => {\n this.dialog.close(\n JSON.stringify(\n {\n type: 'dismiss',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogDismiss.emit(reason);\n });\n }\n\n /**\n * Close the dialog\n */\n @Method()\n async closeModal<T = any>(reason: T) {\n this.slideOutModal(() => {\n this.dialog.close(\n JSON.stringify(\n {\n type: 'close',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogClose.emit(reason);\n });\n }\n\n componentDidLoad() {\n this.slideInModal();\n }\n\n componentWillLoad() {\n this.ariaAttributes = a11yHostAttributes(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n 'no-backdrop': this.backdrop === false,\n 'align-center': this.centered,\n }}\n >\n <div class=\"dialog-backdrop\">\n <dialog\n aria-modal={a11yBoolean(true)}\n aria-describedby={this.ariaAttributes['aria-describedby']}\n aria-labelledby={this.ariaAttributes['aria-labelledby']}\n class={`modal modal-size-${this.size}`}\n onKeyDown={(e) => {\n if (e.key === 'Escape' && this.keyboard === false) {\n e.preventDefault();\n }\n }}\n onClick={(event) => this.onModalClick(event)}\n onCancel={(e) => {\n e.preventDefault();\n this.dismissModal();\n }}\n >\n <slot></slot>\n </dialog>\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":["/*\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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { A11yAttributes, a11yBoolean, a11yHostAttributes } from '../utils/a11y';\nimport Animation from '../utils/animation';\n\nexport type IxModalFixedSize = '360' | '480' | '600' | '720' | '840';\nexport type IxModalDynamicSize = 'full-width' | 'full-screen';\nexport type IxModalSize = IxModalFixedSize | IxModalDynamicSize;\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n})\nexport class Modal {\n private ariaAttributes: A11yAttributes = {};\n\n @Element() hostElement!: HTMLIxModalElement;\n\n /**\n * Modal size\n *\n * @since 2.0.0\n */\n @Prop() size: IxModalSize = '360';\n\n /**\n * Should the modal be animated\n */\n @Prop() animation = true;\n\n /**\n * Show a backdrop behind the modal dialog\n */\n @Prop() backdrop = true;\n\n /**\n * Dismiss modal on backdrop click\n *\n * @since 2.0.0\n */\n @Prop() closeOnBackdropClick = false;\n\n /**\n * Is called before the modal is dismissed.\n *\n * - Return `true` to proceed in dismissing the modal\n * - Return `false` to abort in dismissing the modal\n */\n @Prop() beforeDismiss: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * Use ESC to dismiss the modal\n */\n @Prop() keyboard = true;\n\n /**\n * Dialog close\n */\n @Event() dialogClose: EventEmitter;\n\n /**\n * Dialog cancel\n */\n @Event() dialogDismiss: EventEmitter;\n\n get dialog() {\n return this.hostElement.shadowRoot.querySelector('dialog');\n }\n\n private slideInModal() {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [0, 1],\n translateY: [0, transformY],\n translateX: ['-50%', '-50%'],\n easing: 'easeOutSine',\n });\n }\n\n private slideOutModal(completeCallback: Function) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [1, 0],\n translateY: [transformY, 0],\n translateX: ['-50%', '-50%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onModalClick(event: MouseEvent) {\n const rect = this.dialog.getBoundingClientRect();\n const isClickOutside =\n rect.top <= event.clientY &&\n event.clientY <= rect.top + rect.height &&\n rect.left <= event.clientX &&\n event.clientX <= rect.left + rect.width;\n if (!isClickOutside && this.closeOnBackdropClick) {\n this.dismissModal();\n }\n }\n\n /**\n * Show the dialog\n */\n @Method()\n async showModal() {\n setTimeout(() => this.dialog.showModal());\n }\n\n /**\n * Dismiss the dialog\n */\n @Method()\n async dismissModal<T = any>(reason?: T) {\n let allowDismiss = true;\n\n if (this.beforeDismiss !== undefined) {\n allowDismiss = await this.beforeDismiss(reason);\n }\n if (!allowDismiss) {\n return;\n }\n\n this.slideOutModal(() => {\n this.dialog.close(\n JSON.stringify(\n {\n type: 'dismiss',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogDismiss.emit(reason);\n });\n }\n\n /**\n * Close the dialog\n */\n @Method()\n async closeModal<T = any>(reason: T) {\n this.slideOutModal(() => {\n this.dialog.close(\n JSON.stringify(\n {\n type: 'close',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogClose.emit(reason);\n });\n }\n\n componentDidLoad() {\n this.slideInModal();\n }\n\n componentWillLoad() {\n this.ariaAttributes = a11yHostAttributes(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n 'no-backdrop': this.backdrop === false,\n 'align-center': this.centered,\n }}\n >\n <div class=\"dialog-backdrop\">\n <dialog\n aria-modal={a11yBoolean(true)}\n aria-describedby={this.ariaAttributes['aria-describedby']}\n aria-labelledby={this.ariaAttributes['aria-labelledby']}\n class={{\n modal: true,\n [`modal-size-${this.size}`]: true,\n }}\n onKeyDown={(e) => {\n if (e.key === 'Escape' && this.keyboard === false) {\n e.preventDefault();\n }\n }}\n onClick={(event) => this.onModalClick(event)}\n onCancel={(e) => {\n e.preventDefault();\n this.dismissModal();\n }}\n >\n <slot></slot>\n </dialog>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -17,11 +17,13 @@ export class ModalHeader {
17
17
  this.iconColor = undefined;
18
18
  }
19
19
  onIconChange(icon) {
20
- if (icon) {
21
- this.parentDialog.classList.add('with-icon');
22
- }
23
- else {
24
- this.parentDialog.classList.remove('with-icon');
20
+ if (this.parentDialog) {
21
+ if (icon) {
22
+ this.parentDialog.classList.add('with-icon');
23
+ }
24
+ else {
25
+ this.parentDialog.classList.remove('with-icon');
26
+ }
25
27
  }
26
28
  }
27
29
  componentDidLoad() {
@@ -1 +1 @@
1
- {"version":3,"file":"modal-header.js","sourceRoot":"","sources":["../../../src/components/modal-header/modal-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB;;GAEG;AAMH,MAAM,OAAO,WAAW;;qBAMF,KAAK;;;;EAOzB,YAAY,CAAC,IAAY;IACvB,IAAI,IAAI,EAAE;MACR,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9C;SAAM;MACL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACjD;EACH,CAAC;EAcD,gBAAgB;IACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,CAAC;EAEO,YAAY,CAAC,KAAiB;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,EAAE;MACjD,OAAO;KACR;IAED,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;EACnC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,SAAS,GACZ,CACZ,CAAC,CAAC,CAAC,IAAI;MACR,qBAAe,OAAO,EAAE,eAAe;QACrC,eAAa,CACC;MACf,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,sBACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAC5C,KAAK,QACL,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,aAAa,GACJ,CACnB,CAAC,CAAC,CAAC,IAAI,CACH,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-modal-header',\n styleUrl: 'modal-header.scss',\n shadow: true,\n})\nexport class ModalHeader {\n @Element() hostElement!: HTMLIxModalHeaderElement;\n\n /**\n * Hide the close button\n */\n @Prop() hideClose = false;\n\n /**\n * Icon of the Header\n */\n @Prop() icon: string;\n @Watch('icon')\n onIconChange(icon: string) {\n if (icon) {\n this.parentDialog.classList.add('with-icon');\n } else {\n this.parentDialog.classList.remove('with-icon');\n }\n }\n\n /**\n * Icon color\n */\n @Prop() iconColor: string;\n\n /**\n * Close icon is clicked\n */\n @Event() closeClick: EventEmitter<MouseEvent>;\n\n private parentDialog: HTMLIxModalElement;\n\n componentDidLoad() {\n this.parentDialog = this.hostElement.closest('ix-modal');\n this.onIconChange(this.icon);\n }\n\n private onCloseClick(event: MouseEvent) {\n const ce = this.closeClick.emit(event);\n if (ce.defaultPrevented || event.defaultPrevented) {\n return;\n }\n\n this.parentDialog.dismissModal();\n }\n\n render() {\n return (\n <Host>\n {this.icon ? (\n <ix-icon\n class={'modal-icon'}\n name={this.icon}\n color={this.iconColor}\n ></ix-icon>\n ) : null}\n <ix-typography variant={'default-title'}>\n <slot></slot>\n </ix-typography>\n {!this.hideClose ? (\n <ix-icon-button\n onClick={(event) => this.onCloseClick(event)}\n ghost\n icon=\"close\"\n class={'modal-close'}\n ></ix-icon-button>\n ) : null}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"modal-header.js","sourceRoot":"","sources":["../../../src/components/modal-header/modal-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB;;GAEG;AAMH,MAAM,OAAO,WAAW;;qBAMF,KAAK;;;;EAOzB,YAAY,CAAC,IAAY;IACvB,IAAI,IAAI,CAAC,YAAY,EAAE;MACrB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;OAC9C;WAAM;QACL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;OACjD;KACF;EACH,CAAC;EAcD,gBAAgB;IACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC/B,CAAC;EAEO,YAAY,CAAC,KAAiB;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,EAAE;MACjD,OAAO;KACR;IAED,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;EACnC,CAAC;EAED,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,eACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,SAAS,GACZ,CACZ,CAAC,CAAC,CAAC,IAAI;MACR,qBAAe,OAAO,EAAE,eAAe;QACrC,eAAa,CACC;MACf,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,sBACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAC5C,KAAK,QACL,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,aAAa,GACJ,CACnB,CAAC,CAAC,CAAC,IAAI,CACH,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","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';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-modal-header',\n styleUrl: 'modal-header.scss',\n shadow: true,\n})\nexport class ModalHeader {\n @Element() hostElement!: HTMLIxModalHeaderElement;\n\n /**\n * Hide the close button\n */\n @Prop() hideClose = false;\n\n /**\n * Icon of the Header\n */\n @Prop() icon: string;\n @Watch('icon')\n onIconChange(icon: string) {\n if (this.parentDialog) {\n if (icon) {\n this.parentDialog.classList.add('with-icon');\n } else {\n this.parentDialog.classList.remove('with-icon');\n }\n }\n }\n\n /**\n * Icon color\n */\n @Prop() iconColor: string;\n\n /**\n * Close icon is clicked\n */\n @Event() closeClick: EventEmitter<MouseEvent>;\n\n private parentDialog: HTMLIxModalElement;\n\n componentDidLoad() {\n this.parentDialog = this.hostElement.closest('ix-modal');\n this.onIconChange(this.icon);\n }\n\n private onCloseClick(event: MouseEvent) {\n const ce = this.closeClick.emit(event);\n if (ce.defaultPrevented || event.defaultPrevented) {\n return;\n }\n\n this.parentDialog.dismissModal();\n }\n\n render() {\n return (\n <Host>\n {this.icon ? (\n <ix-icon\n class={'modal-icon'}\n name={this.icon}\n color={this.iconColor}\n ></ix-icon>\n ) : null}\n <ix-typography variant={'default-title'}>\n <slot></slot>\n </ix-typography>\n {!this.hideClose ? (\n <ix-icon-button\n onClick={(event) => this.onCloseClick(event)}\n ghost\n icon=\"close\"\n class={'modal-close'}\n ></ix-icon-button>\n ) : null}\n </Host>\n );\n }\n}\n"]}
@@ -82,10 +82,8 @@
82
82
  background-color: var(--theme-input--background);
83
83
  border: solid 1px var(--theme-input--border-color);
84
84
  box-shadow: var(--theme-input--box-shadow);
85
- -webkit-padding-start: 0.5rem;
86
- padding-inline-start: 0.5rem;
87
- -webkit-padding-end: 0.5rem;
88
- padding-inline-end: 0.5rem;
85
+ padding-inline-start: 0.5rem;
86
+ padding-inline-end: 0.5rem;
89
87
  }
90
88
  .form-control::-moz-placeholder, .form-control-plaintext::-moz-placeholder {
91
89
  color: var(--theme-input-hint--color);
@@ -145,12 +143,9 @@
145
143
  .form-control.readonly,
146
144
  .form-control[readonly] {
147
145
  background: transparent !important;
148
- -webkit-border-before: none !important;
149
- border-block-start: none !important;
150
- -webkit-border-start: none !important;
151
- border-inline-start: none !important;
152
- -webkit-border-end: none !important;
153
- border-inline-end: none !important;
146
+ border-block-start: none !important;
147
+ border-inline-start: none !important;
148
+ border-inline-end: none !important;
154
149
  border-radius: 0rem;
155
150
  }
156
151
 
@@ -186,12 +181,9 @@
186
181
  .form-control:disabled,
187
182
  .form-control.disabled {
188
183
  background: transparent !important;
189
- -webkit-border-before: none !important;
190
- border-block-start: none !important;
191
- -webkit-border-start: none !important;
192
- border-inline-start: none !important;
193
- -webkit-border-end: none !important;
194
- border-inline-end: none !important;
184
+ border-block-start: none !important;
185
+ border-inline-start: none !important;
186
+ border-inline-end: none !important;
195
187
  border-radius: 0rem;
196
188
  color: var(--theme-color-weak-text);
197
189
  border-color: var(--theme-input--border-color-bottom--disabled);
@@ -221,13 +213,11 @@
221
213
  .input-wrapper > .glyph {
222
214
  display: block;
223
215
  position: absolute;
224
- -webkit-margin-start: 0.312rem;
225
- margin-inline-start: 0.312rem;
216
+ margin-inline-start: 0.312rem;
226
217
  color: var(--theme-color-std-text);
227
218
  }
228
219
  .input-wrapper > input {
229
- -webkit-padding-start: 2.2rem;
230
- padding-inline-start: 2.2rem;
220
+ padding-inline-start: 2.2rem;
231
221
  }
232
222
 
233
223
  select.form-control {
@@ -238,17 +228,6 @@ textarea.form-control {
238
228
  padding: 0.375rem 0.5rem;
239
229
  }
240
230
 
241
- .was-validated .form-control:invalid,
242
- .was-validated .is-invalid {
243
- background-color: var(--theme-input-error--background);
244
- background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: sketchtool 62 (101010) - https://sketch.com --%3E%3Ctitle%3Eerror%3C/title%3E%3Cdesc%3ECreated with sketchtool.%3C/desc%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.75'%3E%3Cg id='error' fill='%23ff2640'%3E%3Cg id='error/error'%3E%3Cpath d='M256,42.6666667 C373.626371,42.6666667 469.333333,138.373627 469.333333,256 C469.333333,373.626371 373.626371,469.333333 256,469.333333 C138.373627,469.333333 42.6666667,373.626371 42.6666667,256 C42.6666667,138.373627 138.373627,42.6666667 256,42.6666667 Z M256,85.3333333 C161.559631,85.3333333 85.3333333,161.559631 85.3333333,256 C85.3333333,350.44037 161.559631,426.666667 256,426.666667 C350.44037,426.666667 426.666667,350.44037 426.666667,256 C426.666667,161.559631 350.44037,85.3333333 256,85.3333333 Z M326.248389,155.581722 L356.418278,185.751611 L286.168667,255.999667 L356.418278,326.248389 L326.248389,356.418278 L255.999667,286.168667 L185.751611,356.418278 L155.581722,326.248389 L225.829667,255.999667 L155.581722,185.751611 L185.751611,155.581722 L255.999667,225.829667 L326.248389,155.581722 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
245
- background-position: left calc(0.375em + 0.1875rem) center !important;
246
- padding-right: 0.75rem;
247
- padding-left: calc(1.5em + 0.75rem);
248
- background-size: 18px;
249
- background-repeat: no-repeat;
250
- }
251
-
252
231
  input.disabled, input:disabled {
253
232
  color: var(--theme-input--color--disabled);
254
233
  }
@@ -430,6 +409,9 @@ input:read-only, input.readonly {
430
409
  :host .content-start {
431
410
  width: 100%;
432
411
  }
412
+ :host .icon {
413
+ pointer-events: none;
414
+ }
433
415
 
434
416
  :host(.disabled) {
435
417
  cursor: default;
@@ -973,13 +955,11 @@ input:read-only, input.readonly {
973
955
  :host .item-count {
974
956
  flex-grow: 1;
975
957
  justify-content: flex-end;
976
- -webkit-margin-start: 1.5rem;
977
- margin-inline-start: 1.5rem;
958
+ margin-inline-start: 1.5rem;
978
959
  }
979
960
  :host .item-count ix-select {
980
961
  width: 4.5rem;
981
- -webkit-margin-start: 1.5rem;
982
- margin-inline-start: 1.5rem;
962
+ margin-inline-start: 1.5rem;
983
963
  }
984
964
  :host button {
985
965
  width: auto;
@@ -988,6 +968,5 @@ input:read-only, input.readonly {
988
968
  padding: 0 0.5rem;
989
969
  }
990
970
  :host button + button {
991
- -webkit-margin-start: 0.125rem;
992
- margin-inline-start: 0.125rem;
971
+ margin-inline-start: 0.125rem;
993
972
  }
@@ -53,7 +53,7 @@ test('should dispatch items count change', async ({ mount, page }) => {
53
53
  .filter({ hasText: 'chevron-down-small' })
54
54
  .click();
55
55
  await pagination.locator('ix-dropdown-item').nth(3).click();
56
- expect(pagination.locator('ix-dropdown')).not.toBeVisible();
56
+ await expect(pagination.locator('ix-dropdown')).not.toBeVisible();
57
57
  await expect(pagination).toHaveClass(/hydrated/);
58
58
  expect(await itemChanged).toBe(40);
59
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.ct.js","sourceRoot":"","sources":["../../../../src/components/pagination/test/pagination.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;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;EAE9C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACzC,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;EAExD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAClE,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;EAExD,MAAM,OAAO;KACV,SAAS,CAAC,QAAQ,CAAC;KACnB,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACzC,KAAK,EAAE,CAAC;EAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;EAEhD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACnE,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;EAEjD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;IAC9C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;MACrC,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAc,EAAE,EAAE,CAC1D,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,MAAM,UAAU;KACb,SAAS,CAAC,QAAQ,CAAC;KACnB,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACzC,KAAK,EAAE,CAAC;EAEX,MAAM,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;EAC5D,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAE5D,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EACjD,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,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(`\n <ix-pagination>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination');\n\n await expect(element).toHaveClass(/hydrated/);\n});\n\ntest('advanced', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination[advanced]');\n\n await expect(element).toHaveClass(/hydrated/);\n});\n\ntest('open show number of page dropdown', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination[advanced]');\n\n await element\n .getByRole('button')\n .filter({ hasText: 'chevron-down-small' })\n .click();\n\n const dropdown = element.locator('ix-dropdown');\n\n await expect(dropdown).toBeVisible();\n});\n\ntest('should dispatch items count change', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const pagination = page.locator('ix-pagination');\n\n const itemChanged = pagination.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('itemCountChanged', (e: CustomEvent) =>\n resolve(e.detail)\n );\n });\n });\n\n await pagination\n .getByRole('button')\n .filter({ hasText: 'chevron-down-small' })\n .click();\n\n await pagination.locator('ix-dropdown-item').nth(3).click();\n expect(pagination.locator('ix-dropdown')).not.toBeVisible();\n\n await expect(pagination).toHaveClass(/hydrated/);\n expect(await itemChanged).toBe(40);\n});\n"]}
1
+ {"version":3,"file":"pagination.ct.js","sourceRoot":"","sources":["../../../../src/components/pagination/test/pagination.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;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;EAE9C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACzC,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;EAExD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EAClE,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;EAExD,MAAM,OAAO;KACV,SAAS,CAAC,QAAQ,CAAC;KACnB,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACzC,KAAK,EAAE,CAAC;EAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;EAEhD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;EACnE,MAAM,KAAK,CAAC;;;GAGX,CAAC,CAAC;EACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;EAEjD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;IAC9C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;MACrC,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAc,EAAE,EAAE,CAC1D,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,MAAM,UAAU;KACb,SAAS,CAAC,QAAQ,CAAC;KACnB,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;KACzC,KAAK,EAAE,CAAC;EAEX,MAAM,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;EAC5D,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;EAElE,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;EACjD,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrC,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(`\n <ix-pagination>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination');\n\n await expect(element).toHaveClass(/hydrated/);\n});\n\ntest('advanced', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination[advanced]');\n\n await expect(element).toHaveClass(/hydrated/);\n});\n\ntest('open show number of page dropdown', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const element = page.locator('ix-pagination[advanced]');\n\n await element\n .getByRole('button')\n .filter({ hasText: 'chevron-down-small' })\n .click();\n\n const dropdown = element.locator('ix-dropdown');\n\n await expect(dropdown).toBeVisible();\n});\n\ntest('should dispatch items count change', async ({ mount, page }) => {\n await mount(`\n <ix-pagination advanced>\n </ix-pagination>\n `);\n const pagination = page.locator('ix-pagination');\n\n const itemChanged = pagination.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('itemCountChanged', (e: CustomEvent) =>\n resolve(e.detail)\n );\n });\n });\n\n await pagination\n .getByRole('button')\n .filter({ hasText: 'chevron-down-small' })\n .click();\n\n await pagination.locator('ix-dropdown-item').nth(3).click();\n await expect(pagination.locator('ix-dropdown')).not.toBeVisible();\n\n await expect(pagination).toHaveClass(/hydrated/);\n expect(await itemChanged).toBe(40);\n});\n"]}
@@ -12,6 +12,5 @@
12
12
  }
13
13
 
14
14
  :host(:not(:first-of-type)) {
15
- -webkit-margin-before: var(--ix-layout-grid-row-margin, 0);
16
- margin-block-start: var(--ix-layout-grid-row-margin, 0);
15
+ margin-block-start: var(--ix-layout-grid-row-margin, 0);
17
16
  }
@@ -6,7 +6,18 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
12
+ r = Reflect.decorate(decorators, target, key, desc);
13
+ else
14
+ for (var i = decorators.length - 1; i >= 0; i--)
15
+ if (d = decorators[i])
16
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
9
19
  import { h, Host, } from '@stencil/core';
20
+ import { OnListener } from '../utils/listener';
10
21
  export class Select {
11
22
  constructor() {
12
23
  this.selectedIndices = undefined;
@@ -128,6 +139,7 @@ export class Select {
128
139
  }
129
140
  componentDidLoad() {
130
141
  this.inputRef.addEventListener('input', () => {
142
+ this.dropdownShow = true;
131
143
  this.inputChange.emit(this.inputRef.value);
132
144
  });
133
145
  }
@@ -225,6 +237,9 @@ export class Select {
225
237
  }
226
238
  filterItemsWithTypeahead() {
227
239
  this.inputFilterText = this.inputRef.value;
240
+ if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {
241
+ return;
242
+ }
228
243
  if (this.inputFilterText) {
229
244
  this.items.forEach((item) => {
230
245
  item.classList.remove('d-none');
@@ -259,9 +274,7 @@ export class Select {
259
274
  return;
260
275
  }
261
276
  if (this.isSingleMode) {
262
- if (this.dropdownShow && this.isDropdownEmpty) {
263
- this.dropdownShow = false;
264
- }
277
+ return;
265
278
  }
266
279
  if (!this.dropdownShow && this.mode !== 'multiple') {
267
280
  e.target['value'] = this.selectedLabels;
@@ -299,7 +312,9 @@ export class Select {
299
312
  } }, item.label)))
300
313
  : '', h("div", { class: "trigger" }, h("input", { "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
301
314
  'allow-clear': this.allowClear && !!((_b = this.selectedLabels) === null || _b === void 0 ? void 0 : _b.length),
302
- }, placeholder: this.placeholderValue(), value: this.inputValue, ref: (ref) => (this.inputRef = ref), onBlur: (e) => this.onInputBlur(e), onInput: () => this.filterItemsWithTypeahead() }), this.allowClear &&
315
+ }, placeholder: this.placeholderValue(), value: this.inputValue, ref: (ref) => (this.inputRef = ref), onBlur: (e) => this.onInputBlur(e), onFocus: () => {
316
+ this.navigationItem = undefined;
317
+ }, onInput: () => this.filterItemsWithTypeahead(), onKeyDown: (e) => this.onKeyDown(e) }), this.allowClear &&
303
318
  (((_c = this.selectedLabels) === null || _c === void 0 ? void 0 : _c.length) || this.inputFilterText) ? (h("ix-icon-button", { class: "clear", icon: 'clear', ghost: true, oval: true, size: "16", onClick: (e) => {
304
319
  e.preventDefault();
305
320
  e.stopPropagation();
@@ -677,13 +692,10 @@ export class Select {
677
692
  "target": undefined,
678
693
  "capture": false,
679
694
  "passive": false
680
- }, {
681
- "name": "keydown",
682
- "method": "onKeyDown",
683
- "target": "window",
684
- "capture": false,
685
- "passive": false
686
695
  }];
687
696
  }
688
697
  }
698
+ __decorate([
699
+ OnListener('keydown', (self) => self.dropdownShow)
700
+ ], Select.prototype, "onKeyDown", null);
689
701
  //# sourceMappingURL=select.js.map