@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
@@ -0,0 +1,2 @@
1
+ import{r as o,h as e,H as r,g as t}from"./p-76a509c7.js";import{B as n}from"./p-7c5fc1c9.js";const i=":host{display:inline-block;height:2rem;vertical-align:middle;cursor:pointer;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.429em;color:var(--theme-color-std-text)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host button{all:unset;box-sizing:border-box;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;align-items:center;justify-content:center;width:100%;height:100%;padding:0 0.5rem}:host ix-spinner{margin-right:0.25rem}:host ix-icon{margin-right:0.25rem}:host .content{display:inline-block;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .content-start{width:100%}:host .icon{pointer-events:none}:host(.disabled){cursor:default}:host .btn-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-primary,:host .btn-primary.focus,:host .btn-primary:focus-visible{background-color:var(--theme-btn-primary--background);color:var(--theme-btn-primary--color);--ix-button-color:var(--theme-btn-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-primary--border-color);border-style:solid}:host .btn-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):active,:host .btn-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-primary--border-color--hover);background-color:var(--theme-btn-primary--background--hover);color:var(--theme-btn-primary--color--hover)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):active,:host .btn-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-primary--border-color--active);background-color:var(--theme-btn-primary--background--active);color:var(--theme-btn-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-primary.disabled,:host(.disabled) .btn-primary:disabled{pointer-events:none;border-color:var(--theme-btn-primary--border-color--disabled);background-color:var(--theme-btn-primary--background--disabled);color:var(--theme-btn-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-primary--color--disabled)}:host .btn-outline-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-primary,:host .btn-outline-primary.focus,:host .btn-outline-primary:focus-visible{background-color:var(--theme-btn-outline-primary--background);color:var(--theme-btn-outline-primary--color);--ix-button-color:var(--theme-btn-outline-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-primary--border-color);border-style:solid}:host .btn-outline-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-primary--border-color--hover);background-color:var(--theme-btn-outline-primary--background--hover);color:var(--theme-btn-outline-primary--color--hover)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):active,:host .btn-outline-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-primary--border-color--active);background-color:var(--theme-btn-outline-primary--background--active);color:var(--theme-btn-outline-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-primary.disabled,:host(.disabled) .btn-outline-primary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-primary--border-color--disabled);background-color:var(--theme-btn-outline-primary--background--disabled);color:var(--theme-btn-outline-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-primary--color--disabled)}:host .btn-invisible-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-primary,:host .btn-invisible-primary.focus,:host .btn-invisible-primary:focus-visible{background-color:var(--theme-btn-invisible-primary--background);color:var(--theme-btn-invisible-primary--color);--ix-button-color:var(--theme-btn-invisible-primary--color);border-color:transparent}:host .btn-invisible-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-primary--background--hover);color:var(--theme-btn-invisible-primary--color--hover)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):active,:host .btn-invisible-primary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-primary--background--active);color:var(--theme-btn-invisible-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-primary.disabled,:host(.disabled) .btn-invisible-primary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-primary--background--disabled);color:var(--theme-btn-invisible-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-primary--color--disabled)}:host .btn-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-secondary,:host .btn-secondary.focus,:host .btn-secondary:focus-visible{background-color:var(--theme-btn-secondary--background);color:var(--theme-btn-secondary--color);--ix-button-color:var(--theme-btn-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-secondary--border-color);border-style:solid}:host .btn-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-secondary--border-color--hover);background-color:var(--theme-btn-secondary--background--hover);color:var(--theme-btn-secondary--color--hover)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):active,:host .btn-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-secondary--border-color--active);background-color:var(--theme-btn-secondary--background--active);color:var(--theme-btn-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-secondary.disabled,:host(.disabled) .btn-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-secondary--border-color--disabled);background-color:var(--theme-btn-secondary--background--disabled);color:var(--theme-btn-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-secondary--color--disabled)}:host .btn-outline-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-secondary,:host .btn-outline-secondary.focus,:host .btn-outline-secondary:focus-visible{background-color:var(--theme-btn-outline-secondary--background);color:var(--theme-btn-outline-secondary--color);--ix-button-color:var(--theme-btn-outline-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-secondary--border-color);border-style:solid}:host .btn-outline-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-secondary--border-color--hover);background-color:var(--theme-btn-outline-secondary--background--hover);color:var(--theme-btn-outline-secondary--color--hover)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):active,:host .btn-outline-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-secondary--border-color--active);background-color:var(--theme-btn-outline-secondary--background--active);color:var(--theme-btn-outline-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-secondary.disabled,:host(.disabled) .btn-outline-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-secondary--border-color--disabled);background-color:var(--theme-btn-outline-secondary--background--disabled);color:var(--theme-btn-outline-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-secondary--color--disabled)}:host .btn-invisible-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-secondary,:host .btn-invisible-secondary.focus,:host .btn-invisible-secondary:focus-visible{background-color:var(--theme-btn-invisible-secondary--background);color:var(--theme-btn-invisible-secondary--color);--ix-button-color:var(--theme-btn-invisible-secondary--color);border-color:transparent}:host .btn-invisible-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-secondary--background--hover);color:var(--theme-btn-invisible-secondary--color--hover)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-secondary--background--active);color:var(--theme-btn-invisible-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-secondary.disabled,:host(.disabled) .btn-invisible-secondary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-secondary--background--disabled);color:var(--theme-btn-invisible-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-secondary--color--disabled)}:host{min-width:5rem}";const s=class{constructor(e){o(this,e);this.variant="primary";this.outline=false;this.ghost=false;this.disabled=false;this.type="button";this.loading=false;this.icon=undefined;this.alignment="center";this.iconSize="24"}componentDidLoad(){if(this.type==="submit"){const o=document.createElement("button");o.style.display="none";o.type="submit";o.tabIndex=-1;this.hostElement.appendChild(o);this.submitButtonElement=o}}dispatchFormEvents(){if(this.type==="submit"&&this.submitButtonElement){this.submitButtonElement.click()}}render(){const o={variant:this.variant,outline:this.outline,ghost:this.ghost,iconOnly:false,iconOval:false,selected:false,disabled:this.disabled||this.loading,icon:this.icon,iconSize:this.iconSize,loading:this.loading,onClick:()=>this.dispatchFormEvents(),type:this.type,alignment:this.alignment};return e(r,{class:{disabled:this.disabled||this.loading}},e(n,Object.assign({},o),e("slot",null)))}get hostElement(){return t(this)}};s.style=i;export{s as ix_button};
2
+ //# sourceMappingURL=p-51853519.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["buttonCss","Button","componentDidLoad","this","type","submitButton","document","createElement","style","display","tabIndex","hostElement","appendChild","submitButtonElement","dispatchFormEvents","click","render","baseButtonProps","variant","outline","ghost","iconOnly","iconOval","selected","disabled","loading","icon","iconSize","onClick","alignment","h","Host","class","BaseButton","Object","assign"],"sources":["./src/components/button/button.scss?tag=ix-button&encapsulation=shadow","./src/components/button/button.tsx"],"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@import './button-mixin';\n\n@include btn;\n$button-categories: (primary, secondary);\n@each $category in $button-categories {\n @include btn-variant($category);\n @include btn-variant('outline-#{$category}');\n @include btn-variant('invisible-#{$category}', false);\n}\n\n:host {\n min-width: 5rem;\n}\n","/*\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from './base-button';\n\nexport type ButtonVariant = 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-button',\n shadow: true,\n styleUrl: './button.scss',\n})\nexport class Button {\n /**\n * Button variant\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /** @internal */\n @Prop() alignment: 'center' | 'start' = 'center';\n\n /** @internal */\n @Prop() iconSize: '12' | '16' | '24' = '24';\n\n @Element() hostElement: HTMLIxButtonElement;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: false,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.iconSize,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n alignment: this.alignment,\n };\n\n return (\n <Host\n class={{\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseButton {...baseButtonProps}>\n <slot></slot>\n </BaseButton>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,s9d,MCmBLC,EAAM,M,sCAIgB,U,aAKf,M,WAKF,M,cAKoB,M,UAKA,S,aAOT,M,mCAQa,S,cAGD,I,CASvCC,mBACE,GAAIC,KAAKC,OAAS,SAAU,CAC1B,MAAMC,EAAeC,SAASC,cAAc,UAC5CF,EAAaG,MAAMC,QAAU,OAC7BJ,EAAaD,KAAO,SACpBC,EAAaK,UAAY,EACzBP,KAAKQ,YAAYC,YAAYP,GAE7BF,KAAKU,oBAAsBR,C,EAI/BS,qBACE,GAAIX,KAAKC,OAAS,UAAYD,KAAKU,oBAAqB,CACtDV,KAAKU,oBAAoBE,O,EAI7BC,SACE,MAAMC,EAAmC,CACvCC,QAASf,KAAKe,QACdC,QAAShB,KAAKgB,QACdC,MAAOjB,KAAKiB,MACZC,SAAU,MACVC,SAAU,MACVC,SAAU,MACVC,SAAUrB,KAAKqB,UAAYrB,KAAKsB,QAChCC,KAAMvB,KAAKuB,KACXC,SAAUxB,KAAKwB,SACfF,QAAStB,KAAKsB,QACdG,QAAS,IAAMzB,KAAKW,qBACpBV,KAAMD,KAAKC,KACXyB,UAAW1B,KAAK0B,WAGlB,OACEC,EAACC,EAAI,CACHC,MAAO,CACLR,SAAUrB,KAAKqB,UAAYrB,KAAKsB,UAGlCK,EAACG,EAAUC,OAAAC,OAAA,GAAKlB,GACda,EAAA,c"}
1
+ {"version":3,"names":["buttonCss","Button","componentDidLoad","this","type","submitButton","document","createElement","style","display","tabIndex","hostElement","appendChild","submitButtonElement","dispatchFormEvents","click","render","baseButtonProps","variant","outline","ghost","iconOnly","iconOval","selected","disabled","loading","icon","iconSize","onClick","alignment","h","Host","class","BaseButton","Object","assign"],"sources":["./src/components/button/button.scss?tag=ix-button&encapsulation=shadow","./src/components/button/button.tsx"],"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@import './button-mixin';\n\n@include btn;\n$button-categories: (primary, secondary);\n@each $category in $button-categories {\n @include btn-variant($category);\n @include btn-variant('outline-#{$category}');\n @include btn-variant('invisible-#{$category}', false);\n}\n\n:host {\n min-width: 5rem;\n}\n","/*\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from './base-button';\n\nexport type ButtonVariant = 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-button',\n shadow: true,\n styleUrl: './button.scss',\n})\nexport class Button {\n /**\n * Button variant\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /** @internal */\n @Prop() alignment: 'center' | 'start' = 'center';\n\n /** @internal */\n @Prop() iconSize: '12' | '16' | '24' = '24';\n\n @Element() hostElement: HTMLIxButtonElement;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: false,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.iconSize,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n alignment: this.alignment,\n };\n\n return (\n <Host\n class={{\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseButton {...baseButtonProps}>\n <slot></slot>\n </BaseButton>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,s/d,MCmBLC,EAAM,M,sCAIgB,U,aAKf,M,WAKF,M,cAKoB,M,UAKA,S,aAOT,M,mCAQa,S,cAGD,I,CASvCC,mBACE,GAAIC,KAAKC,OAAS,SAAU,CAC1B,MAAMC,EAAeC,SAASC,cAAc,UAC5CF,EAAaG,MAAMC,QAAU,OAC7BJ,EAAaD,KAAO,SACpBC,EAAaK,UAAY,EACzBP,KAAKQ,YAAYC,YAAYP,GAE7BF,KAAKU,oBAAsBR,C,EAI/BS,qBACE,GAAIX,KAAKC,OAAS,UAAYD,KAAKU,oBAAqB,CACtDV,KAAKU,oBAAoBE,O,EAI7BC,SACE,MAAMC,EAAmC,CACvCC,QAASf,KAAKe,QACdC,QAAShB,KAAKgB,QACdC,MAAOjB,KAAKiB,MACZC,SAAU,MACVC,SAAU,MACVC,SAAU,MACVC,SAAUrB,KAAKqB,UAAYrB,KAAKsB,QAChCC,KAAMvB,KAAKuB,KACXC,SAAUxB,KAAKwB,SACfF,QAAStB,KAAKsB,QACdG,QAAS,IAAMzB,KAAKW,qBACpBV,KAAMD,KAAKC,KACXyB,UAAW1B,KAAK0B,WAGlB,OACEC,EAACC,EAAI,CACHC,MAAO,CACLR,SAAUrB,KAAKqB,UAAYrB,KAAKsB,UAGlCK,EAACG,EAAUC,OAAAC,OAAA,GAAKlB,GACda,EAAA,c"}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s,H as i,g as r}from"./p-76a509c7.js";import{g as e}from"./p-04eeba9e.js";const o=":host{position:relative;display:flex;width:100%;flex-wrap:wrap;align-items:stretch}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .group{display:flex;position:absolute;align-items:center;height:100%}:host .group-start{left:0px;height:2rem;margin-left:0.375rem;color:var(--theme-color-soft-text)}:host .group-end{right:0px;height:2rem;margin-right:0.375rem;color:var(--theme-color-soft-text)}:host ::slotted(*){display:flex}";const h=class{constructor(s){t(this,s);this.inputPaddingLeft=0;this.inputPaddingRight=0}get inputElement(){return this.hostElement.querySelector("input")}componentWillLoad(){var t;const{valid:s}=this.inputElement.validity;this.inputElement.addEventListener("valid",(()=>{this.onValidInput()}));this.inputElement.addEventListener("invalid",(()=>{this.onInvalidInput()}));this.inputElement.addEventListener("input",(()=>{this.startSlotChanged()}));(t=this.inputElement.form)===null||t===void 0?void 0:t.addEventListener("submit",(()=>{this.startSlotChanged()}));s?this.onValidInput():this.onInvalidInput();this.observer=new MutationObserver((()=>{this.startSlotChanged();this.endSlotChanged()}));this.observer.observe(this.hostElement,{subtree:true,childList:true,attributes:true,characterData:true})}componentDidRender(){this.prepareInputElement()}onValidInput(){this.startSlotChanged()}onInvalidInput(){this.startSlotChanged()}prepareInputElement(){if(this.inputElement){this.inputElement.style.width="100%";if(this.inputPaddingRight!==0){this.inputElement.style.paddingRight=this.inputPaddingRight+"px"}else{this.inputElement.style.paddingRight="0.5rem"}if(this.inputPaddingLeft!==0){this.inputElement.style.paddingLeft=this.inputPaddingLeft+"px"}else{this.inputElement.style.paddingLeft="0.5rem"}}else{console.warn('You used the ix-input-group without an input tag, e.g. <input class="form-control" />')}}startSlotChanged(){const t=this.hostElement.shadowRoot.querySelector('slot[name="input-start"]');setTimeout((()=>{var s,i;const r=this.getChildrenWidth(t);if(r!==0){this.inputPaddingLeft=15+r}else{this.inputPaddingLeft=0}if(!this.inputElement){return}if((((s=this.inputElement.form)===null||s===void 0?void 0:s.classList.contains("was-validated"))||((i=this.inputElement.form)===null||i===void 0?void 0:i.noValidate)===false)&&!this.inputElement.validity.valid){this.inputElement.style.backgroundPositionX=`${this.inputPaddingLeft}px`;this.inputPaddingLeft+=32}}))}endSlotChanged(){const t=this.hostElement.shadowRoot.querySelector('slot[name="input-end"]');setTimeout((()=>{this.inputPaddingRight=15+this.getChildrenWidth(t)}))}getChildrenWidth(t){if(!t){return 0}const s=e(t);if(s.length===0){return 0}let i=0;s.forEach((t=>{i+=t.getBoundingClientRect().width}));return i}render(){return s(i,null,s("div",{class:"group group-start"},s("slot",{name:"input-start"})),s("slot",null),s("div",{class:"group group-end"},s("slot",{name:"input-end"})))}get hostElement(){return r(this)}};h.style=o;export{h as ix_input_group};
2
- //# sourceMappingURL=p-ad94f795.entry.js.map
1
+ import{r as t,h as s,H as i,g as e}from"./p-76a509c7.js";import{g as r}from"./p-04eeba9e.js";const o=":host{position:relative;display:flex;width:100%;flex-wrap:wrap;align-items:stretch}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .group{display:flex;position:absolute;align-items:center;height:100%}:host .group-start{left:0px;height:2rem;margin-left:0.375rem;color:var(--theme-color-soft-text)}:host .group-end{right:0px;height:2rem;margin-right:0.375rem;color:var(--theme-color-soft-text)}:host ::slotted(*){display:flex}";const h=class{constructor(s){t(this,s);this.inputPaddingLeft=0;this.inputPaddingRight=0}get inputElement(){return this.hostElement.querySelector("input")}componentWillLoad(){var t;const{valid:s}=this.inputElement.validity;this.inputElement.addEventListener("valid",(()=>{this.onValidInput()}));this.inputElement.addEventListener("invalid",(()=>{this.onInvalidInput()}));this.inputElement.addEventListener("input",(()=>{this.startSlotChanged()}));(t=this.inputElement.form)===null||t===void 0?void 0:t.addEventListener("submit",(()=>{this.startSlotChanged()}));s?this.onValidInput():this.onInvalidInput();this.observer=new MutationObserver((()=>{this.startSlotChanged();this.endSlotChanged()}));this.observer.observe(this.hostElement,{subtree:true,childList:true,attributes:true,characterData:true})}componentDidRender(){this.prepareInputElement()}onValidInput(){this.startSlotChanged()}onInvalidInput(){this.startSlotChanged()}prepareInputElement(){if(this.inputElement){this.inputElement.style.width="100%";if(this.inputPaddingRight!==0){this.inputElement.style.paddingRight=this.inputPaddingRight+"px"}else{this.inputElement.style.paddingRight="0.5rem"}if(this.inputPaddingLeft!==0){this.inputElement.style.paddingLeft=this.inputPaddingLeft+"px"}else{this.inputElement.style.paddingLeft="0.5rem"}}else{console.warn('You used the ix-input-group without an input tag, e.g. <input class="form-control" />')}}startSlotChanged(){const t=this.hostElement.shadowRoot.querySelector('slot[name="input-start"]');setTimeout((()=>{var s,i;const e=this.getChildrenWidth(t);if(e!==0){this.inputPaddingLeft=15+e}else{this.inputPaddingLeft=0}if(!this.inputElement){return}const r=!this.inputElement.validity.valid||this.inputElement.classList.contains("is-invalid");const o=((s=this.inputElement.form)===null||s===void 0?void 0:s.classList.contains("was-validated"))||((i=this.inputElement.form)===null||i===void 0?void 0:i.noValidate)===false;if(o&&r){const t=this.inputPaddingLeft!==0?this.inputPaddingLeft:8;this.inputElement.style.backgroundPosition=`left ${t}px center`;this.inputPaddingLeft+=32}}))}endSlotChanged(){const t=this.hostElement.shadowRoot.querySelector('slot[name="input-end"]');setTimeout((()=>{this.inputPaddingRight=15+this.getChildrenWidth(t)}))}getChildrenWidth(t){if(!t){return 0}const s=r(t);if(s.length===0){return 0}let i=0;s.forEach((t=>{i+=t.getBoundingClientRect().width}));return i}render(){return s(i,null,s("div",{class:"group group-start"},s("slot",{name:"input-start"})),s("slot",null),s("div",{class:"group group-end"},s("slot",{name:"input-end"})))}get hostElement(){return e(this)}};h.style=o;export{h as ix_input_group};
2
+ //# sourceMappingURL=p-556c4b0c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inputGroupCss","InputGroup","inputElement","this","hostElement","querySelector","componentWillLoad","valid","validity","addEventListener","onValidInput","onInvalidInput","startSlotChanged","_a","form","observer","MutationObserver","endSlotChanged","observe","subtree","childList","attributes","characterData","componentDidRender","prepareInputElement","style","width","inputPaddingRight","paddingRight","inputPaddingLeft","paddingLeft","console","warn","slot","shadowRoot","setTimeout","startPadding","getChildrenWidth","isInputInvalid","classList","contains","formWasValidated","_b","noValidate","left","backgroundPosition","slotElement","endElements","getSlottedElements","length","forEach","element","getBoundingClientRect","render","h","Host","class","name"],"sources":["./src/components/input-group/input-group.scss?tag=ix-input-group&encapsulation=shadow","./src/components/input-group/input-group.tsx"],"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@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n position: relative;\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: stretch;\n\n .group {\n display: flex;\n position: absolute;\n align-items: center;\n height: 100%;\n }\n\n .group-start {\n left: 0px;\n height: 2rem;\n margin-left: 0.375rem;\n color: var(--theme-color-soft-text);\n }\n\n .group-end {\n right: 0px;\n height: 2rem;\n margin-right: 0.375rem;\n color: var(--theme-color-soft-text);\n }\n\n ::slotted(*) {\n display: flex;\n }\n}\n","/*\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 { Component, Element, h, Host, State } from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-input-group',\n styleUrl: 'input-group.scss',\n shadow: true,\n})\nexport class InputGroup {\n @Element() hostElement!: HTMLIxInputGroupElement;\n\n @State() inputPaddingLeft = 0;\n @State() inputPaddingRight = 0;\n\n private get inputElement() {\n return this.hostElement.querySelector('input') as HTMLInputElement;\n }\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n const { valid } = this.inputElement.validity;\n this.inputElement.addEventListener('valid', () => {\n this.onValidInput();\n });\n this.inputElement.addEventListener('invalid', () => {\n this.onInvalidInput();\n });\n this.inputElement.addEventListener('input', () => {\n this.startSlotChanged();\n });\n\n this.inputElement.form?.addEventListener('submit', () => {\n this.startSlotChanged();\n });\n\n valid ? this.onValidInput() : this.onInvalidInput();\n\n this.observer = new MutationObserver(() => {\n this.startSlotChanged();\n this.endSlotChanged();\n });\n\n this.observer.observe(this.hostElement, {\n subtree: true,\n childList: true,\n attributes: true,\n characterData: true,\n });\n }\n\n componentDidRender() {\n this.prepareInputElement();\n }\n\n private onValidInput() {\n this.startSlotChanged();\n }\n\n private onInvalidInput() {\n this.startSlotChanged();\n }\n\n private prepareInputElement() {\n if (this.inputElement) {\n this.inputElement.style.width = '100%';\n\n if (this.inputPaddingRight !== 0) {\n this.inputElement.style.paddingRight = this.inputPaddingRight + 'px';\n } else {\n this.inputElement.style.paddingRight = '0.5rem';\n }\n\n if (this.inputPaddingLeft !== 0) {\n this.inputElement.style.paddingLeft = this.inputPaddingLeft + 'px';\n } else {\n this.inputElement.style.paddingLeft = '0.5rem';\n }\n } else {\n console.warn(\n 'You used the ix-input-group without an input tag, e.g. <input class=\"form-control\" />'\n );\n }\n }\n\n private startSlotChanged() {\n const slot = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"input-start\"]'\n );\n\n setTimeout(() => {\n const startPadding = this.getChildrenWidth(slot);\n\n if (startPadding !== 0) {\n this.inputPaddingLeft = 15 + startPadding;\n } else {\n this.inputPaddingLeft = 0;\n }\n\n if (!this.inputElement) {\n return;\n }\n\n const isInputInvalid =\n !this.inputElement.validity.valid ||\n this.inputElement.classList.contains('is-invalid');\n\n const formWasValidated =\n this.inputElement.form?.classList.contains('was-validated') ||\n this.inputElement.form?.noValidate === false;\n\n if (formWasValidated && isInputInvalid) {\n const left = this.inputPaddingLeft !== 0 ? this.inputPaddingLeft : 8;\n this.inputElement.style.backgroundPosition = `left ${left}px center`;\n this.inputPaddingLeft += 32;\n }\n });\n }\n\n private endSlotChanged() {\n const slot = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"input-end\"]'\n );\n\n setTimeout(() => {\n this.inputPaddingRight = 15 + this.getChildrenWidth(slot);\n });\n }\n\n private getChildrenWidth(slotElement: Element) {\n if (!slotElement) {\n return 0;\n }\n\n const endElements = getSlottedElements<HTMLElement>(slotElement);\n if (endElements.length === 0) {\n return 0;\n }\n\n let width = 0;\n\n endElements.forEach((element) => {\n width += element.getBoundingClientRect().width;\n });\n\n return width;\n }\n\n render() {\n return (\n <Host>\n <div class=\"group group-start\">\n <slot name=\"input-start\"></slot>\n </div>\n <slot></slot>\n <div class=\"group group-end\">\n <slot name=\"input-end\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAgB,69B,MCiBTC,EAAU,M,+CAGO,E,uBACC,C,CAEjBC,mBACV,OAAOC,KAAKC,YAAYC,cAAc,Q,CAKxCC,oB,MACE,MAAMC,MAAEA,GAAUJ,KAAKD,aAAaM,SACpCL,KAAKD,aAAaO,iBAAiB,SAAS,KAC1CN,KAAKO,cAAc,IAErBP,KAAKD,aAAaO,iBAAiB,WAAW,KAC5CN,KAAKQ,gBAAgB,IAEvBR,KAAKD,aAAaO,iBAAiB,SAAS,KAC1CN,KAAKS,kBAAkB,KAGzBC,EAAAV,KAAKD,aAAaY,QAAI,MAAAD,SAAA,SAAAA,EAAEJ,iBAAiB,UAAU,KACjDN,KAAKS,kBAAkB,IAGzBL,EAAQJ,KAAKO,eAAiBP,KAAKQ,iBAEnCR,KAAKY,SAAW,IAAIC,kBAAiB,KACnCb,KAAKS,mBACLT,KAAKc,gBAAgB,IAGvBd,KAAKY,SAASG,QAAQf,KAAKC,YAAa,CACtCe,QAAS,KACTC,UAAW,KACXC,WAAY,KACZC,cAAe,M,CAInBC,qBACEpB,KAAKqB,qB,CAGCd,eACNP,KAAKS,kB,CAGCD,iBACNR,KAAKS,kB,CAGCY,sBACN,GAAIrB,KAAKD,aAAc,CACrBC,KAAKD,aAAauB,MAAMC,MAAQ,OAEhC,GAAIvB,KAAKwB,oBAAsB,EAAG,CAChCxB,KAAKD,aAAauB,MAAMG,aAAezB,KAAKwB,kBAAoB,I,KAC3D,CACLxB,KAAKD,aAAauB,MAAMG,aAAe,Q,CAGzC,GAAIzB,KAAK0B,mBAAqB,EAAG,CAC/B1B,KAAKD,aAAauB,MAAMK,YAAc3B,KAAK0B,iBAAmB,I,KACzD,CACL1B,KAAKD,aAAauB,MAAMK,YAAc,Q,MAEnC,CACLC,QAAQC,KACN,wF,EAKEpB,mBACN,MAAMqB,EAAO9B,KAAKC,YAAY8B,WAAW7B,cACvC,4BAGF8B,YAAW,K,QACT,MAAMC,EAAejC,KAAKkC,iBAAiBJ,GAE3C,GAAIG,IAAiB,EAAG,CACtBjC,KAAK0B,iBAAmB,GAAKO,C,KACxB,CACLjC,KAAK0B,iBAAmB,C,CAG1B,IAAK1B,KAAKD,aAAc,CACtB,M,CAGF,MAAMoC,GACHnC,KAAKD,aAAaM,SAASD,OAC5BJ,KAAKD,aAAaqC,UAAUC,SAAS,cAEvC,MAAMC,IACJ5B,EAAAV,KAAKD,aAAaY,QAAI,MAAAD,SAAA,SAAAA,EAAE0B,UAAUC,SAAS,qBAC3CE,EAAAvC,KAAKD,aAAaY,QAAI,MAAA4B,SAAA,SAAAA,EAAEC,cAAe,MAEzC,GAAIF,GAAoBH,EAAgB,CACtC,MAAMM,EAAOzC,KAAK0B,mBAAqB,EAAI1B,KAAK0B,iBAAmB,EACnE1B,KAAKD,aAAauB,MAAMoB,mBAAqB,QAAQD,aACrDzC,KAAK0B,kBAAoB,E,KAKvBZ,iBACN,MAAMgB,EAAO9B,KAAKC,YAAY8B,WAAW7B,cACvC,0BAGF8B,YAAW,KACThC,KAAKwB,kBAAoB,GAAKxB,KAAKkC,iBAAiBJ,EAAK,G,CAIrDI,iBAAiBS,GACvB,IAAKA,EAAa,CAChB,OAAO,C,CAGT,MAAMC,EAAcC,EAAgCF,GACpD,GAAIC,EAAYE,SAAW,EAAG,CAC5B,OAAO,C,CAGT,IAAIvB,EAAQ,EAEZqB,EAAYG,SAASC,IACnBzB,GAASyB,EAAQC,wBAAwB1B,KAAK,IAGhD,OAAOA,C,CAGT2B,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAM,qBACTF,EAAA,QAAMG,KAAK,iBAEbH,EAAA,aACAA,EAAA,OAAKE,MAAM,mBACTF,EAAA,QAAMG,KAAK,e"}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i,H as e,g as a}from"./p-76a509c7.js";import{u as o,A as s}from"./p-85f39bd4.js";import{a as r,m as n}from"./p-5d172daa.js";import{h}from"./p-04eeba9e.js";import{t as l}from"./p-9a05ac00.js";import"./p-9ee41861.js";import"./p-20e12c7e.js";const c=":host{display:flex;position:relative;width:100%;height:100%;flex-direction:column}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host ix-application-header{z-index:calc(var(--theme-z-index-sticky) + 1)}:host .logo-wrapper{display:contents}:host .application{display:flex;position:relative;flex-direction:row;height:100%;width:100%;overflow:hidden}:host main{display:block;position:relative;height:100%;width:100%;overflow:hidden}:host(.breakpoint-md){--ix-application-menu-margin-left:3.25rem}:host(.breakpoint-md) aside.slotted{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-md) aside.slotted+main{margin-left:0}:host(.breakpoint-md) aside:not(.slotted)+main{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-lg){--ix-application-menu-margin-left:0}:host(.breakpoint-sm){--ix-application-menu-margin-left:0}";const d=class{constructor(i){t(this,i);this.theme=undefined;this.themeSystemAppearance=false;this.forceBreakpoint=undefined;this.breakpoints=["sm","md","lg"];this.breakpoint="lg";this.applicationSidebarSlotted=false}forceLayoutChange(t){if(!t){r.enableBreakpointDetection();return}r.disableBreakpointDetection();r.setBreakpoint(t)}onBreakpointsChange(t){r.setBreakpoints(t)}get menu(){return this.hostElement.querySelector("ix-menu")}get applicationSidebarSlot(){return this.hostElement.shadowRoot.querySelector(".application-sidebar slot")}onContentClick(){var t;if(n.isPinned){return}(t=this.menu)===null||t===void 0?void 0:t.toggleMenu(false)}componentWillLoad(){r.setBreakpoints(this.breakpoints);this.contextProvider=o(this.hostElement,s,{hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted});this.modeDisposable=r.onChange.on((t=>{this.breakpoint=t}));this.breakpoint=r.breakpoint;if(this.forceBreakpoint){this.forceLayoutChange(this.forceBreakpoint)}this.changeTheme()}disconnectedCallback(){var t;(t=this.modeDisposable)===null||t===void 0?void 0:t.dispose()}changeTheme(){if(!this.theme){if(this.themeSystemAppearance){l.setVariant()}return}if(l.hasVariantSuffix(this.theme)){l.setTheme(`theme-${this.theme}`);return}l.setTheme(`theme-${this.theme}-dark`,this.themeSystemAppearance)}onApplicationSidebarChange(){this.contextProvider.emit({hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted})}render(){return i(e,{"data-role":"",class:{[`breakpoint-${this.breakpoint}`]:true}},i("slot",{name:"application-header"}),i("div",{class:"application"},i("slot",{name:"menu"}),i("aside",{class:{"application-sidebar":true,slotted:this.applicationSidebarSlotted},onClick:()=>this.onContentClick()},i("slot",{name:"application-sidebar",onSlotchange:()=>this.applicationSidebarSlotted=h(this.applicationSidebarSlot)})),i("main",{class:"content",onClick:()=>this.onContentClick()},i("slot",null))))}get hostElement(){return a(this)}static get watchers(){return{breakpoints:["onBreakpointsChange"],theme:["changeTheme"],themeSystemAppearance:["changeTheme"],applicationSidebarSlotted:["onApplicationSidebarChange"]}}};d.style=c;export{d as ix_application};
2
- //# sourceMappingURL=p-f97f2394.entry.js.map
1
+ import{r as t,h as i,H as e,g as a}from"./p-76a509c7.js";import{u as o,A as s}from"./p-85f39bd4.js";import{a as r,m as n}from"./p-f18c11c5.js";import{h}from"./p-04eeba9e.js";import{t as l}from"./p-9a05ac00.js";import"./p-9ee41861.js";import"./p-20e12c7e.js";const c=":host{display:flex;position:relative;width:100%;height:100%;flex-direction:column}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host ix-application-header{z-index:calc(var(--theme-z-index-sticky) + 1)}:host .logo-wrapper{display:contents}:host .application{display:flex;position:relative;flex-direction:row;height:100%;width:100%;overflow:hidden}:host main{display:block;position:relative;height:100%;width:100%;overflow:hidden}:host(.breakpoint-md){--ix-application-menu-margin-left:3.25rem}:host(.breakpoint-md) aside.slotted{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-md) aside.slotted+main{margin-left:0}:host(.breakpoint-md) aside:not(.slotted)+main{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-lg){--ix-application-menu-margin-left:0}:host(.breakpoint-sm){--ix-application-menu-margin-left:0}";const d=class{constructor(i){t(this,i);this.theme=undefined;this.themeSystemAppearance=false;this.forceBreakpoint=undefined;this.breakpoints=["sm","md","lg"];this.breakpoint="lg";this.applicationSidebarSlotted=false}forceLayoutChange(t){if(!t){r.enableBreakpointDetection();return}r.disableBreakpointDetection();r.setBreakpoint(t)}onBreakpointsChange(t){r.setBreakpoints(t)}get menu(){return this.hostElement.querySelector("ix-menu")}get applicationSidebarSlot(){return this.hostElement.shadowRoot.querySelector(".application-sidebar slot")}onContentClick(){var t;if(n.isPinned){return}(t=this.menu)===null||t===void 0?void 0:t.toggleMenu(false)}componentWillLoad(){r.setBreakpoints(this.breakpoints);this.contextProvider=o(this.hostElement,s,{hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted});this.modeDisposable=r.onChange.on((t=>{this.breakpoint=t}));this.breakpoint=r.breakpoint;if(this.forceBreakpoint){this.forceLayoutChange(this.forceBreakpoint)}this.changeTheme()}disconnectedCallback(){var t;(t=this.modeDisposable)===null||t===void 0?void 0:t.dispose()}changeTheme(){if(!this.theme){if(this.themeSystemAppearance){l.setVariant()}return}if(l.hasVariantSuffix(this.theme)){l.setTheme(`theme-${this.theme}`);return}l.setTheme(`theme-${this.theme}-dark`,this.themeSystemAppearance)}onApplicationSidebarChange(){this.contextProvider.emit({hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted})}render(){return i(e,{"data-role":"",class:{[`breakpoint-${this.breakpoint}`]:true}},i("slot",{name:"application-header"}),i("div",{class:"application"},i("slot",{name:"menu"}),i("aside",{class:{"application-sidebar":true,slotted:this.applicationSidebarSlotted},onClick:()=>this.onContentClick()},i("slot",{name:"application-sidebar",onSlotchange:()=>this.applicationSidebarSlotted=h(this.applicationSidebarSlot)})),i("main",{class:"content",onClick:()=>this.onContentClick()},i("slot",null))))}get hostElement(){return a(this)}static get watchers(){return{breakpoints:["onBreakpointsChange"],theme:["changeTheme"],themeSystemAppearance:["changeTheme"],applicationSidebarSlotted:["onApplicationSidebarChange"]}}};d.style=c;export{d as ix_application};
2
+ //# sourceMappingURL=p-58fe5c24.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as o,c as e,h as r,H as t,g as i}from"./p-76a509c7.js";import{B as n}from"./p-8b0793be.js";import{a as s}from"./p-2fd30d79.js";import"./p-7c5fc1c9.js";const a=":host{display:inline-block;height:2rem;vertical-align:middle;cursor:pointer;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.429em;color:var(--theme-color-std-text)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host button{all:unset;box-sizing:border-box;display:inline-flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;align-items:center;justify-content:center;width:100%;height:100%;padding:0 0.5rem}:host ix-spinner{margin-right:0.25rem}:host ix-icon{margin-right:0.25rem}:host .content{display:inline-block;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host .content-start{width:100%}:host .icon{pointer-events:none}:host(.disabled){cursor:default}*,*::after,*::before{box-sizing:border-box}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar{width:0.5rem;height:0.5rem}::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}::-webkit-scrollbar-corner{display:none}:host .btn-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-primary,:host .btn-primary.focus,:host .btn-primary:focus-visible{background-color:var(--theme-btn-primary--background);color:var(--theme-btn-primary--color);--ix-button-color:var(--theme-btn-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-primary--border-color);border-style:solid}:host .btn-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary.selected:not(.disabled):not(:disabled):active,:host .btn-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-primary--border-color--hover);background-color:var(--theme-btn-primary--background--hover);color:var(--theme-btn-primary--color--hover)}:host .btn-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-primary:not(.disabled):not(:disabled):active,:host .btn-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-primary--border-color--active);background-color:var(--theme-btn-primary--background--active);color:var(--theme-btn-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-primary.disabled,:host(.disabled) .btn-primary:disabled{pointer-events:none;border-color:var(--theme-btn-primary--border-color--disabled);background-color:var(--theme-btn-primary--background--disabled);color:var(--theme-btn-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-primary--color--disabled)}:host .btn-outline-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-primary,:host .btn-outline-primary.focus,:host .btn-outline-primary:focus-visible{background-color:var(--theme-btn-outline-primary--background);color:var(--theme-btn-outline-primary--color);--ix-button-color:var(--theme-btn-outline-primary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-primary--border-color);border-style:solid}:host .btn-outline-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-primary--border-color--hover);background-color:var(--theme-btn-outline-primary--background--hover);color:var(--theme-btn-outline-primary--color--hover)}:host .btn-outline-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-primary:not(.disabled):not(:disabled):active,:host .btn-outline-primary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-primary--border-color--active);background-color:var(--theme-btn-outline-primary--background--active);color:var(--theme-btn-outline-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-primary.disabled,:host(.disabled) .btn-outline-primary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-primary--border-color--disabled);background-color:var(--theme-btn-outline-primary--background--disabled);color:var(--theme-btn-outline-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-primary--color--disabled)}:host .btn-invisible-primary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-primary,:host .btn-invisible-primary.focus,:host .btn-invisible-primary:focus-visible{background-color:var(--theme-btn-invisible-primary--background);color:var(--theme-btn-invisible-primary--color);--ix-button-color:var(--theme-btn-invisible-primary--color);border-color:transparent}:host .btn-invisible-primary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-primary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-primary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-primary--background--hover);color:var(--theme-btn-invisible-primary--color--hover)}:host .btn-invisible-primary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-primary:not(.disabled):not(:disabled):active,:host .btn-invisible-primary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-primary--background--active);color:var(--theme-btn-invisible-primary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-primary.disabled,:host(.disabled) .btn-invisible-primary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-primary--background--disabled);color:var(--theme-btn-invisible-primary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-primary--color--disabled)}:host .btn-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-secondary,:host .btn-secondary.focus,:host .btn-secondary:focus-visible{background-color:var(--theme-btn-secondary--background);color:var(--theme-btn-secondary--color);--ix-button-color:var(--theme-btn-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-secondary--border-color);border-style:solid}:host .btn-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-secondary--border-color--hover);background-color:var(--theme-btn-secondary--background--hover);color:var(--theme-btn-secondary--color--hover)}:host .btn-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-secondary:not(.disabled):not(:disabled):active,:host .btn-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-secondary--border-color--active);background-color:var(--theme-btn-secondary--background--active);color:var(--theme-btn-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-secondary.disabled,:host(.disabled) .btn-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-secondary--border-color--disabled);background-color:var(--theme-btn-secondary--background--disabled);color:var(--theme-btn-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-secondary--color--disabled)}:host .btn-outline-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-outline-secondary,:host .btn-outline-secondary.focus,:host .btn-outline-secondary:focus-visible{background-color:var(--theme-btn-outline-secondary--background);color:var(--theme-btn-outline-secondary--color);--ix-button-color:var(--theme-btn-outline-secondary--color);border-width:var(--theme-btn--border-thickness);border-color:var(--theme-btn-outline-secondary--border-color);border-style:solid}:host .btn-outline-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-outline-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-outline-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):hover{border-color:var(--theme-btn-outline-secondary--border-color--hover);background-color:var(--theme-btn-outline-secondary--background--hover);color:var(--theme-btn-outline-secondary--color--hover)}:host .btn-outline-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-outline-secondary:not(.disabled):not(:disabled):active,:host .btn-outline-secondary:not(.disabled):not(:disabled).active{border-color:var(--theme-btn-outline-secondary--border-color--active);background-color:var(--theme-btn-outline-secondary--background--active);color:var(--theme-btn-outline-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-outline-secondary.disabled,:host(.disabled) .btn-outline-secondary:disabled{pointer-events:none;border-color:var(--theme-btn-outline-secondary--border-color--disabled);background-color:var(--theme-btn-outline-secondary--background--disabled);color:var(--theme-btn-outline-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-outline-secondary--color--disabled)}:host .btn-invisible-secondary{border-radius:var(--theme-btn--border-radius)}:host .btn-invisible-secondary,:host .btn-invisible-secondary.focus,:host .btn-invisible-secondary:focus-visible{background-color:var(--theme-btn-invisible-secondary--background);color:var(--theme-btn-invisible-secondary--color);--ix-button-color:var(--theme-btn-invisible-secondary--color);border-color:transparent}:host .btn-invisible-secondary:not(.disabled):not(:disabled):focus-visible{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-btn--focus--outline-offset)}:host .btn-invisible-secondary.selected{background-color:var(--theme-color-ghost--selected);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-ghost--selected-hover);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary.selected:not(.disabled):not(:disabled).active{background-color:var(--theme-color-ghost--selected-active);color:var(--theme-color-dynamic)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):hover{background-color:var(--theme-btn-invisible-secondary--background--hover);color:var(--theme-btn-invisible-secondary--color--hover)}:host .btn-invisible-secondary:not(.disabled):not(:disabled){cursor:pointer}:host .btn-invisible-secondary:not(.disabled):not(:disabled):active,:host .btn-invisible-secondary:not(.disabled):not(:disabled).active{background-color:var(--theme-btn-invisible-secondary--background--active);color:var(--theme-btn-invisible-secondary--color--active)}:host(.disabled){pointer-events:none}:host(.disabled) .btn-invisible-secondary.disabled,:host(.disabled) .btn-invisible-secondary:disabled{pointer-events:none;background-color:var(--theme-btn-invisible-secondary--background--disabled);color:var(--theme-btn-invisible-secondary--color--disabled);opacity:1;--ix-button-color:var(--theme-btn-invisible-secondary--color--disabled)}:host{display:inline-flex;justify-content:center;align-items:center}:host button{width:100%;height:100%;overflow:hidden;padding:0}:host button.btn-oval{border-radius:6.25rem}:host ix-icon{color:var(--ix-icon-button-color, currentColor);margin:0}:host ix-spinner{margin:0}:host(.btn-icon-12){height:1rem;width:1rem;min-width:1rem;min-height:1rem}:host(.btn-icon-16){height:1.5rem;width:1.5rem;min-width:1.5rem;min-height:1.5rem}:host(.btn-icon-32){height:2rem;width:2rem;min-width:2rem;min-height:2rem}:host(.btn-icon-12) ix-spinner{height:12px;width:12px}:host(.btn-icon-16) ix-spinner{height:16px;width:16px}:host(.btn-icon-32) ix-spinner{height:24px;width:24px}";const d=class{constructor(r){o(this,r);this.pressedChange=e(this,"pressedChange",7);this.variant="secondary";this.outline=false;this.ghost=false;this.icon=undefined;this.pressed=false;this.size="24";this.disabled=false;this.loading=false}isIllegalToggleButtonConfig(){return this.variant==="primary"&&(this.outline||this.ghost)}logIllegalConfig(){console.warn('iX toggle button with illegal configuration detected. Variant "primary" can only be combined with "outline" or "ghost".')}onVariantChange(){if(this.isIllegalToggleButtonConfig()){this.logIllegalConfig()}}onGhostChange(){this.onVariantChange()}onOutlineChange(){this.onVariantChange()}componentDidLoad(){this.onVariantChange()}dispatchPressedChange(){this.pressedChange.emit(!this.pressed)}getIconSizeClass(){return{"btn-icon-12":this.size==="12","btn-icon-16":this.size==="16","btn-icon-32":this.size==="24"}}render(){const o={variant:this.variant,outline:this.outline,ghost:this.ghost,iconOnly:true,iconOval:false,selected:this.pressed,disabled:this.disabled||this.loading,icon:this.icon,iconSize:this.size,loading:this.loading,onClick:()=>this.dispatchPressedChange(),type:"button",ariaAttributes:{"aria-pressed":s(this.pressed)},extraClasses:Object.assign({"icon-button":true},this.getIconSizeClass())};console.log(o,this.disabled,this.loading);return r(t,{class:Object.assign(Object.assign({},this.getIconSizeClass()),{disabled:this.disabled||this.loading})},r(n,Object.assign({},o)))}get hostElement(){return i(this)}static get watchers(){return{variant:["onVariantChange"],ghost:["onGhostChange"],outline:["onOutlineChange"]}}};d.style=a;export{d as ix_icon_toggle_button};
2
+ //# sourceMappingURL=p-5a0d7f95.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["iconToggleButtonCss","IconToggleButton","isIllegalToggleButtonConfig","this","variant","outline","ghost","logIllegalConfig","console","warn","onVariantChange","onGhostChange","onOutlineChange","componentDidLoad","dispatchPressedChange","pressedChange","emit","pressed","getIconSizeClass","size","render","baseButtonProps","iconOnly","iconOval","selected","disabled","loading","icon","iconSize","onClick","type","ariaAttributes","a11yBoolean","extraClasses","Object","assign","log","h","Host","class","BaseIconButton"],"sources":["./src/components/icon-toggle-button/icon-toggle-button.scss?tag=ix-icon-toggle-button&encapsulation=shadow","./src/components/icon-toggle-button/icon-toggle-button.tsx"],"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\n@import '../icon-button/icon-button-mixin.scss';\n\n@include base-icon-button;\n","/*\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 { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-icon-toggle-button',\n shadow: true,\n styleUrl: './icon-toggle-button.scss',\n})\nexport class IconToggleButton {\n /**\n * Button variant.\n * Important: Variant 'primary' can only be combined with either outline or ghost.\n */\n @Prop() variant: ButtonVariant = 'secondary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /**\n * Show button as pressed\n */\n @Prop() pressed = false;\n\n /**\n * Size of icon in button\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Pressed change event\n */\n @Event() pressedChange: EventEmitter<boolean>;\n\n @Element() hostElement: HTMLIxIconToggleButtonElement;\n\n private isIllegalToggleButtonConfig() {\n return this.variant === 'primary' && (this.outline || this.ghost);\n }\n\n private logIllegalConfig() {\n console.warn(\n 'iX toggle button with illegal configuration detected. Variant \"primary\" can only be combined with \"outline\" or \"ghost\".'\n );\n }\n\n @Watch('variant')\n onVariantChange() {\n if (this.isIllegalToggleButtonConfig()) {\n this.logIllegalConfig();\n }\n }\n\n @Watch('ghost')\n onGhostChange() {\n this.onVariantChange();\n }\n\n @Watch('outline')\n onOutlineChange() {\n this.onVariantChange();\n }\n\n componentDidLoad() {\n this.onVariantChange();\n }\n\n private dispatchPressedChange() {\n this.pressedChange.emit(!this.pressed);\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24',\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: false,\n selected: this.pressed,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchPressedChange(),\n type: 'button',\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.pressed),\n },\n extraClasses: {\n 'icon-button': true,\n ...this.getIconSizeClass(),\n },\n };\n console.log(baseButtonProps, this.disabled, this.loading);\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAsB,wngB,MCgCfC,EAAgB,M,mFAKM,Y,aAKf,M,WAKF,M,iCAUE,M,UAKiB,K,cAKC,M,aAKT,K,CASnBC,8BACN,OAAOC,KAAKC,UAAY,YAAcD,KAAKE,SAAWF,KAAKG,M,CAGrDC,mBACNC,QAAQC,KACN,0H,CAKJC,kBACE,GAAIP,KAAKD,8BAA+B,CACtCC,KAAKI,kB,EAKTI,gBACER,KAAKO,iB,CAIPE,kBACET,KAAKO,iB,CAGPG,mBACEV,KAAKO,iB,CAGCI,wBACNX,KAAKY,cAAcC,MAAMb,KAAKc,Q,CAGxBC,mBACN,MAAO,CACL,cAAef,KAAKgB,OAAS,KAC7B,cAAehB,KAAKgB,OAAS,KAC7B,cAAehB,KAAKgB,OAAS,K,CAIjCC,SACE,MAAMC,EAAmC,CACvCjB,QAASD,KAAKC,QACdC,QAASF,KAAKE,QACdC,MAAOH,KAAKG,MACZgB,SAAU,KACVC,SAAU,MACVC,SAAUrB,KAAKc,QACfQ,SAAUtB,KAAKsB,UAAYtB,KAAKuB,QAChCC,KAAMxB,KAAKwB,KACXC,SAAUzB,KAAKgB,KACfO,QAASvB,KAAKuB,QACdG,QAAS,IAAM1B,KAAKW,wBACpBgB,KAAM,SACNC,eAAgB,CACd,eAAgBC,EAAY7B,KAAKc,UAEnCgB,aAAYC,OAAAC,OAAA,CACV,cAAe,MACZhC,KAAKe,qBAGZV,QAAQ4B,IAAIf,EAAiBlB,KAAKsB,SAAUtB,KAAKuB,SAEjD,OACEW,EAACC,EAAI,CACHC,MAAKL,OAAAC,OAAAD,OAAAC,OAAA,GACAhC,KAAKe,oBAAkB,CAC1BO,SAAUtB,KAAKsB,UAAYtB,KAAKuB,WAGlCW,EAACG,EAAcN,OAAAC,OAAA,GAAKd,I"}
1
+ {"version":3,"names":["iconToggleButtonCss","IconToggleButton","isIllegalToggleButtonConfig","this","variant","outline","ghost","logIllegalConfig","console","warn","onVariantChange","onGhostChange","onOutlineChange","componentDidLoad","dispatchPressedChange","pressedChange","emit","pressed","getIconSizeClass","size","render","baseButtonProps","iconOnly","iconOval","selected","disabled","loading","icon","iconSize","onClick","type","ariaAttributes","a11yBoolean","extraClasses","Object","assign","log","h","Host","class","BaseIconButton"],"sources":["./src/components/icon-toggle-button/icon-toggle-button.scss?tag=ix-icon-toggle-button&encapsulation=shadow","./src/components/icon-toggle-button/icon-toggle-button.tsx"],"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\n@import '../icon-button/icon-button-mixin.scss';\n\n@include base-icon-button;\n","/*\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 { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-icon-toggle-button',\n shadow: true,\n styleUrl: './icon-toggle-button.scss',\n})\nexport class IconToggleButton {\n /**\n * Button variant.\n * Important: Variant 'primary' can only be combined with either outline or ghost.\n */\n @Prop() variant: ButtonVariant = 'secondary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Icon name\n */\n @Prop() icon: string;\n\n /**\n * Show button as pressed\n */\n @Prop() pressed = false;\n\n /**\n * Size of icon in button\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Pressed change event\n */\n @Event() pressedChange: EventEmitter<boolean>;\n\n @Element() hostElement: HTMLIxIconToggleButtonElement;\n\n private isIllegalToggleButtonConfig() {\n return this.variant === 'primary' && (this.outline || this.ghost);\n }\n\n private logIllegalConfig() {\n console.warn(\n 'iX toggle button with illegal configuration detected. Variant \"primary\" can only be combined with \"outline\" or \"ghost\".'\n );\n }\n\n @Watch('variant')\n onVariantChange() {\n if (this.isIllegalToggleButtonConfig()) {\n this.logIllegalConfig();\n }\n }\n\n @Watch('ghost')\n onGhostChange() {\n this.onVariantChange();\n }\n\n @Watch('outline')\n onOutlineChange() {\n this.onVariantChange();\n }\n\n componentDidLoad() {\n this.onVariantChange();\n }\n\n private dispatchPressedChange() {\n this.pressedChange.emit(!this.pressed);\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24',\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: false,\n selected: this.pressed,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchPressedChange(),\n type: 'button',\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.pressed),\n },\n extraClasses: {\n 'icon-button': true,\n ...this.getIconSizeClass(),\n },\n };\n console.log(baseButtonProps, this.disabled, this.loading);\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAsB,wpgB,MCgCfC,EAAgB,M,mFAKM,Y,aAKf,M,WAKF,M,iCAUE,M,UAKiB,K,cAKC,M,aAKT,K,CASnBC,8BACN,OAAOC,KAAKC,UAAY,YAAcD,KAAKE,SAAWF,KAAKG,M,CAGrDC,mBACNC,QAAQC,KACN,0H,CAKJC,kBACE,GAAIP,KAAKD,8BAA+B,CACtCC,KAAKI,kB,EAKTI,gBACER,KAAKO,iB,CAIPE,kBACET,KAAKO,iB,CAGPG,mBACEV,KAAKO,iB,CAGCI,wBACNX,KAAKY,cAAcC,MAAMb,KAAKc,Q,CAGxBC,mBACN,MAAO,CACL,cAAef,KAAKgB,OAAS,KAC7B,cAAehB,KAAKgB,OAAS,KAC7B,cAAehB,KAAKgB,OAAS,K,CAIjCC,SACE,MAAMC,EAAmC,CACvCjB,QAASD,KAAKC,QACdC,QAASF,KAAKE,QACdC,MAAOH,KAAKG,MACZgB,SAAU,KACVC,SAAU,MACVC,SAAUrB,KAAKc,QACfQ,SAAUtB,KAAKsB,UAAYtB,KAAKuB,QAChCC,KAAMxB,KAAKwB,KACXC,SAAUzB,KAAKgB,KACfO,QAASvB,KAAKuB,QACdG,QAAS,IAAM1B,KAAKW,wBACpBgB,KAAM,SACNC,eAAgB,CACd,eAAgBC,EAAY7B,KAAKc,UAEnCgB,aAAYC,OAAAC,OAAA,CACV,cAAe,MACZhC,KAAKe,qBAGZV,QAAQ4B,IAAIf,EAAiBlB,KAAKsB,SAAUtB,KAAKuB,SAEjD,OACEW,EAACC,EAAI,CACHC,MAAKL,OAAAC,OAAAD,OAAAC,OAAA,GACAhC,KAAKe,oBAAkB,CAC1BO,SAAUtB,KAAKsB,UAAYtB,KAAKuB,WAGlCW,EAACG,EAAcN,OAAAC,OAAA,GAAKd,I"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as o,g as r,c as s}from"./p-76a509c7.js";import{g as i}from"./p-04eeba9e.js";const n=":host{display:block;position:relative;height:2rem;width:2rem;margin-block-start:0.3125rem;margin-inline-end:0.3125rem;margin-inline-start:auto}:host .hide{visibility:collapse}";const l=class{constructor(e){t(this,e);this.showContextMenu=false}getTrigger(){return this.hostElement}configureDropdown(t,e){t.positioningStrategy="fixed";t.trigger=e}onSlotChange(){const t=this.hostElement.shadowRoot.querySelector("slot");if(!t){return}const e=i(t);this.showContextMenu=e.length!==0;const o=e.find((t=>t.tagName==="IX-DROPDOWN"));const r=this.getTrigger();if(!r){return}if(!o){return}this.configureDropdown(o,r)}render(){return e(o,null,e("ix-icon-button",{class:{hide:!this.showContextMenu},size:"24",ghost:true,icon:"context-menu"}),e("slot",{onSlotchange:()=>this.onSlotChange()}))}get hostElement(){return r(this)}};l.style=n;const a=":host{display:flex;min-height:2.25rem;height:2.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host>button{display:flex;height:100%;width:100%;align-items:center;justify-content:flex-start;position:relative;outline:none;background-color:var(--theme-group-item--background);border:1px solid transparent;color:var(--theme-color-std-text);padding-left:2.5rem}:host>button:focus-visible{border:1px solid var(--theme-color-focus-bdr)}:host ix-icon{margin-right:0.25rem;margin-top:-0.125rem}:host .group-entry-selection-indicator{position:absolute;left:-1px;height:calc(100% + 2px);width:0.25rem}:host .group-entry-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .group-entry-text-secondary{display:flex;justify-content:flex-end;flex-grow:1;white-space:nowrap;color:var(--theme-color-soft-text)}:host .group-entry-text-secondary,:host .group-entry-text-secondary span{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.selected){border-top-width:0.062rem !important;background-color:var(--theme-color-ghost--selected)}:host(.selected) .group-entry-selection-indicator{background-color:var(--theme-group-item-indicator--background--selected)}:host(:not(.suppress-selection):hover){background-color:var(--theme-color-ghost--selected-hover);border-color:var(--theme-group-item--border-color--hover)}:host(:not(.suppress-selection).selected:hover){background-color:var(--theme-color-ghost--selected-hover)}:host(:not(.suppress-selection):active){background-color:var(--theme-color-ghost--selected-active);border-color:var(--theme-group-item--border-color--active)}:host(:not(.suppress-selection).selected:active){background-color:var(--theme-color-ghost--selected-active)}";const h=class{constructor(e){t(this,e);this.selectedChanged=s(this,"selectedChanged",7);this.icon=undefined;this.text=undefined;this.secondaryText=undefined;this.suppressSelection=false;this.selected=undefined;this.focusable=true;this.index=undefined}clickListen(){if(this.suppressSelection){return}this.selectedChanged.emit(this.hostElement)}render(){return e(o,{class:{selected:this.selected&&!this.suppressSelection,"suppress-selection":this.suppressSelection}},e("button",{tabindex:this.focusable?0:-1},e("div",{class:"group-entry-selection-indicator"}),this.icon?e("ix-icon",{size:"16",name:this.icon}):null,this.text?e("span",{class:"group-entry-text"},e("span",{title:this.text},this.text)):null,this.secondaryText?e("span",{class:"group-entry-text-secondary"},e("span",{title:this.secondaryText},this.secondaryText)):null,e("slot",null)))}get hostElement(){return r(this)}};h.style=a;export{l as ix_group_context_menu,h as ix_group_item};
2
+ //# sourceMappingURL=p-5d907f16.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["groupContextMenuCss","GroupContextMenu","getTrigger","this","hostElement","configureDropdown","dropdownElement","triggerElement","positioningStrategy","trigger","onSlotChange","slot","shadowRoot","querySelector","elements","getSlottedElements","showContextMenu","length","find","elm","tagName","render","h","Host","class","hide","size","ghost","icon","onSlotchange","groupItemCss","GroupItem","clickListen","suppressSelection","selectedChanged","emit","selected","tabindex","focusable","name","text","title","secondaryText"],"sources":["./src/components/group/group-context-menu.scss?tag=ix-group-context-menu&encapsulation=shadow","./src/components/group/group-context-menu.tsx","./src/components/group-item/group-item.scss?tag=ix-group-item&encapsulation=shadow","./src/components/group-item/group-item.tsx"],"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:host {\n display: block;\n position: relative;\n\n height: 2rem;\n width: 2rem;\n\n margin-block-start: 0.3125rem;\n margin-inline-end: 0.3125rem;\n margin-inline-start: auto;\n\n .hide {\n visibility: collapse;\n }\n}\n","/*\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 { Component, Element, h, Host, State } from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group-context-menu',\n styleUrl: './group-context-menu.scss',\n shadow: true,\n})\nexport class GroupContextMenu {\n @Element() hostElement!: HTMLIxGroupContextMenuElement;\n\n @State() showContextMenu = false;\n\n private getTrigger() {\n return this.hostElement;\n }\n\n private configureDropdown(\n dropdownElement: HTMLIxDropdownElement,\n triggerElement: HTMLElement\n ) {\n dropdownElement.positioningStrategy = 'fixed';\n dropdownElement.trigger = triggerElement;\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n if (!slot) {\n return;\n }\n const elements = getSlottedElements(slot);\n this.showContextMenu = elements.length !== 0;\n\n const dropdownElement = elements.find(\n (elm: Element) => elm.tagName === 'IX-DROPDOWN'\n );\n\n const triggerElement = this.getTrigger();\n\n if (!triggerElement) {\n return;\n }\n\n if (!dropdownElement) {\n return;\n }\n\n this.configureDropdown(dropdownElement, triggerElement);\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n class={{ hide: !this.showContextMenu }}\n size=\"24\"\n ghost={true}\n icon={'context-menu'}\n ></ix-icon-button>\n <slot onSlotchange={() => this.onSlotChange()}></slot>\n </Host>\n );\n }\n}\n","/*\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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/shadow-dom/hover';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n\n$focusBorderWidth: 1px;\n\n:host {\n @include ix-component;\n display: flex;\n min-height: 2.25rem;\n height: 2.25rem;\n\n > button {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n outline: none;\n background-color: var(--theme-group-item--background);\n border: 1px solid transparent;\n color: var(--theme-color-std-text);\n\n padding-left: 2.5rem;\n\n &:focus-visible {\n border: $focusBorderWidth solid var(--theme-color-focus-bdr);\n }\n }\n\n ix-icon {\n margin-right: $tiny-space;\n margin-top: -0.125rem;\n }\n\n .group-entry-selection-indicator {\n position: absolute;\n left: -#{$focusBorderWidth};\n height: calc(100% + #{$focusBorderWidth * 2});\n width: $tiny-space;\n }\n\n .group-entry-text {\n @include text-default;\n @include ellipsis();\n }\n\n .group-entry-text-secondary {\n &,\n span {\n @include text-default;\n @include ellipsis;\n }\n\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n white-space: nowrap;\n color: var(--theme-color-soft-text);\n }\n}\n\n:host(.selected) {\n border-top-width: 0.062rem !important;\n background-color: var(--theme-color-ghost--selected);\n\n .group-entry-selection-indicator {\n background-color: var(--theme-group-item-indicator--background--selected);\n }\n}\n\n:host(:not(.suppress-selection):hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n border-color: var(--theme-group-item--border-color--hover);\n}\n\n:host(:not(.suppress-selection).selected:hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n}\n\n:host(:not(.suppress-selection):active) {\n background-color: var(--theme-color-ghost--selected-active);\n border-color: var(--theme-group-item--border-color--active);\n}\n\n:host(:not(.suppress-selection).selected:active) {\n background-color: var(--theme-color-ghost--selected-active);\n}\n","/*\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 Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group-item',\n styleUrl: 'group-item.scss',\n shadow: true,\n})\nexport class GroupItem {\n @Element() hostElement!: HTMLIxGroupItemElement;\n\n /**\n * Group item icon\n */\n @Prop() icon: string;\n\n /**\n * Group item text\n */\n @Prop() text: string;\n\n /**\n * Group item secondary text\n */\n @Prop() secondaryText: string;\n\n /**\n * Supress the selection of the group\n */\n @Prop() suppressSelection = false;\n\n /**\n * Show selected state\n */\n @Prop() selected: boolean;\n\n /**\n * The elements tabindex attribute will get set accordingly.\n * If true tabindex will be 0, -1 otherwise.\n */\n @Prop() focusable = true;\n\n /**\n * Selection changed\n */\n @Event() selectedChanged: EventEmitter<HTMLIxGroupItemElement>;\n\n /**\n * Index\n */\n @Prop() index: number;\n\n @Listen('click', { passive: true })\n clickListen() {\n if (this.suppressSelection) {\n return;\n }\n this.selectedChanged.emit(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected && !this.suppressSelection,\n 'suppress-selection': this.suppressSelection,\n }}\n >\n <button tabindex={this.focusable ? 0 : -1}>\n <div class=\"group-entry-selection-indicator\"></div>\n {this.icon ? <ix-icon size=\"16\" name={this.icon}></ix-icon> : null}\n {this.text ? (\n <span class=\"group-entry-text\">\n <span title={this.text}>{this.text}</span>\n </span>\n ) : null}\n {this.secondaryText ? (\n <span class=\"group-entry-text-secondary\">\n <span title={this.secondaryText}>{this.secondaryText}</span>\n </span>\n ) : null}\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAsB,yQ,MCiBfC,EAAgB,M,8CAGA,K,CAEnBC,aACN,OAAOC,KAAKC,W,CAGNC,kBACNC,EACAC,GAEAD,EAAgBE,oBAAsB,QACtCF,EAAgBG,QAAUF,C,CAGpBG,eACN,MAAMC,EAAOR,KAAKC,YAAYQ,WAAWC,cAAc,QACvD,IAAKF,EAAM,CACT,M,CAEF,MAAMG,EAAWC,EAAmBJ,GACpCR,KAAKa,gBAAkBF,EAASG,SAAW,EAE3C,MAAMX,EAAkBQ,EAASI,MAC9BC,GAAiBA,EAAIC,UAAY,gBAGpC,MAAMb,EAAiBJ,KAAKD,aAE5B,IAAKK,EAAgB,CACnB,M,CAGF,IAAKD,EAAiB,CACpB,M,CAGFH,KAAKE,kBAAkBC,EAAiBC,E,CAG1Cc,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,kBACEE,MAAO,CAAEC,MAAOtB,KAAKa,iBACrBU,KAAK,KACLC,MAAO,KACPC,KAAM,iBAERN,EAAA,QAAMO,aAAc,IAAM1B,KAAKO,iB,8CCpEvC,MAAMoB,EAAe,2lF,MCyBRC,EAAS,M,sKAqBQ,M,uCAWR,K,qBAapBC,cACE,GAAI7B,KAAK8B,kBAAmB,CAC1B,M,CAEF9B,KAAK+B,gBAAgBC,KAAKhC,KAAKC,Y,CAGjCiB,SACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACLY,SAAUjC,KAAKiC,WAAajC,KAAK8B,kBACjC,qBAAsB9B,KAAK8B,oBAG7BX,EAAA,UAAQe,SAAUlC,KAAKmC,UAAY,GAAK,GACtChB,EAAA,OAAKE,MAAM,oCACVrB,KAAKyB,KAAON,EAAA,WAASI,KAAK,KAAKa,KAAMpC,KAAKyB,OAAmB,KAC7DzB,KAAKqC,KACJlB,EAAA,QAAME,MAAM,oBACVF,EAAA,QAAMmB,MAAOtC,KAAKqC,MAAOrC,KAAKqC,OAE9B,KACHrC,KAAKuC,cACJpB,EAAA,QAAME,MAAM,8BACVF,EAAA,QAAMmB,MAAOtC,KAAKuC,eAAgBvC,KAAKuC,gBAEvC,KACJpB,EAAA,c"}
1
+ {"version":3,"names":["groupContextMenuCss","GroupContextMenu","getTrigger","this","hostElement","configureDropdown","dropdownElement","triggerElement","positioningStrategy","trigger","onSlotChange","slot","shadowRoot","querySelector","elements","getSlottedElements","showContextMenu","length","find","elm","tagName","render","h","Host","class","hide","size","ghost","icon","onSlotchange","groupItemCss","GroupItem","clickListen","suppressSelection","selectedChanged","emit","selected","tabindex","focusable","name","text","title","secondaryText"],"sources":["./src/components/group/group-context-menu.scss?tag=ix-group-context-menu&encapsulation=shadow","./src/components/group/group-context-menu.tsx","./src/components/group-item/group-item.scss?tag=ix-group-item&encapsulation=shadow","./src/components/group-item/group-item.tsx"],"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:host {\n display: block;\n position: relative;\n\n height: 2rem;\n width: 2rem;\n\n margin-block-start: 0.3125rem;\n margin-inline-end: 0.3125rem;\n margin-inline-start: auto;\n\n .hide {\n visibility: collapse;\n }\n}\n","/*\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 { Component, Element, h, Host, State } from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group-context-menu',\n styleUrl: './group-context-menu.scss',\n shadow: true,\n})\nexport class GroupContextMenu {\n @Element() hostElement!: HTMLIxGroupContextMenuElement;\n\n @State() showContextMenu = false;\n\n private getTrigger() {\n return this.hostElement;\n }\n\n private configureDropdown(\n dropdownElement: HTMLIxDropdownElement,\n triggerElement: HTMLElement\n ) {\n dropdownElement.positioningStrategy = 'fixed';\n dropdownElement.trigger = triggerElement;\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n if (!slot) {\n return;\n }\n const elements = getSlottedElements(slot);\n this.showContextMenu = elements.length !== 0;\n\n const dropdownElement = elements.find(\n (elm: Element) => elm.tagName === 'IX-DROPDOWN'\n );\n\n const triggerElement = this.getTrigger();\n\n if (!triggerElement) {\n return;\n }\n\n if (!dropdownElement) {\n return;\n }\n\n this.configureDropdown(dropdownElement, triggerElement);\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n class={{ hide: !this.showContextMenu }}\n size=\"24\"\n ghost={true}\n icon={'context-menu'}\n ></ix-icon-button>\n <slot onSlotchange={() => this.onSlotChange()}></slot>\n </Host>\n );\n }\n}\n","/*\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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/shadow-dom/hover';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n\n$focusBorderWidth: 1px;\n\n:host {\n @include ix-component;\n display: flex;\n min-height: 2.25rem;\n height: 2.25rem;\n\n > button {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n outline: none;\n background-color: var(--theme-group-item--background);\n border: 1px solid transparent;\n color: var(--theme-color-std-text);\n\n padding-left: 2.5rem;\n\n &:focus-visible {\n border: $focusBorderWidth solid var(--theme-color-focus-bdr);\n }\n }\n\n ix-icon {\n margin-right: $tiny-space;\n margin-top: -0.125rem;\n }\n\n .group-entry-selection-indicator {\n position: absolute;\n left: -#{$focusBorderWidth};\n height: calc(100% + #{$focusBorderWidth * 2});\n width: $tiny-space;\n }\n\n .group-entry-text {\n @include text-default;\n @include ellipsis();\n }\n\n .group-entry-text-secondary {\n &,\n span {\n @include text-default;\n @include ellipsis;\n }\n\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n white-space: nowrap;\n color: var(--theme-color-soft-text);\n }\n}\n\n:host(.selected) {\n border-top-width: 0.062rem !important;\n background-color: var(--theme-color-ghost--selected);\n\n .group-entry-selection-indicator {\n background-color: var(--theme-group-item-indicator--background--selected);\n }\n}\n\n:host(:not(.suppress-selection):hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n border-color: var(--theme-group-item--border-color--hover);\n}\n\n:host(:not(.suppress-selection).selected:hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n}\n\n:host(:not(.suppress-selection):active) {\n background-color: var(--theme-color-ghost--selected-active);\n border-color: var(--theme-group-item--border-color--active);\n}\n\n:host(:not(.suppress-selection).selected:active) {\n background-color: var(--theme-color-ghost--selected-active);\n}\n","/*\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 Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group-item',\n styleUrl: 'group-item.scss',\n shadow: true,\n})\nexport class GroupItem {\n @Element() hostElement!: HTMLIxGroupItemElement;\n\n /**\n * Group item icon\n */\n @Prop() icon: string;\n\n /**\n * Group item text\n */\n @Prop() text: string;\n\n /**\n * Group item secondary text\n */\n @Prop() secondaryText: string;\n\n /**\n * Supress the selection of the group\n */\n @Prop() suppressSelection = false;\n\n /**\n * Show selected state\n */\n @Prop() selected: boolean;\n\n /**\n * The elements tabindex attribute will get set accordingly.\n * If true tabindex will be 0, -1 otherwise.\n */\n @Prop() focusable = true;\n\n /**\n * Selection changed\n */\n @Event() selectedChanged: EventEmitter<HTMLIxGroupItemElement>;\n\n /**\n * Index\n */\n @Prop() index: number;\n\n @Listen('click', { passive: true })\n clickListen() {\n if (this.suppressSelection) {\n return;\n }\n this.selectedChanged.emit(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected && !this.suppressSelection,\n 'suppress-selection': this.suppressSelection,\n }}\n >\n <button tabindex={this.focusable ? 0 : -1}>\n <div class=\"group-entry-selection-indicator\"></div>\n {this.icon ? <ix-icon size=\"16\" name={this.icon}></ix-icon> : null}\n {this.text ? (\n <span class=\"group-entry-text\">\n <span title={this.text}>{this.text}</span>\n </span>\n ) : null}\n {this.secondaryText ? (\n <span class=\"group-entry-text-secondary\">\n <span title={this.secondaryText}>{this.secondaryText}</span>\n </span>\n ) : null}\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAsB,kL,MCiBfC,EAAgB,M,8CAGA,K,CAEnBC,aACN,OAAOC,KAAKC,W,CAGNC,kBACNC,EACAC,GAEAD,EAAgBE,oBAAsB,QACtCF,EAAgBG,QAAUF,C,CAGpBG,eACN,MAAMC,EAAOR,KAAKC,YAAYQ,WAAWC,cAAc,QACvD,IAAKF,EAAM,CACT,M,CAEF,MAAMG,EAAWC,EAAmBJ,GACpCR,KAAKa,gBAAkBF,EAASG,SAAW,EAE3C,MAAMX,EAAkBQ,EAASI,MAC9BC,GAAiBA,EAAIC,UAAY,gBAGpC,MAAMb,EAAiBJ,KAAKD,aAE5B,IAAKK,EAAgB,CACnB,M,CAGF,IAAKD,EAAiB,CACpB,M,CAGFH,KAAKE,kBAAkBC,EAAiBC,E,CAG1Cc,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,kBACEE,MAAO,CAAEC,MAAOtB,KAAKa,iBACrBU,KAAK,KACLC,MAAO,KACPC,KAAM,iBAERN,EAAA,QAAMO,aAAc,IAAM1B,KAAKO,iB,8CCpEvC,MAAMoB,EAAe,2lF,MCyBRC,EAAS,M,sKAqBQ,M,uCAWR,K,qBAapBC,cACE,GAAI7B,KAAK8B,kBAAmB,CAC1B,M,CAEF9B,KAAK+B,gBAAgBC,KAAKhC,KAAKC,Y,CAGjCiB,SACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACLY,SAAUjC,KAAKiC,WAAajC,KAAK8B,kBACjC,qBAAsB9B,KAAK8B,oBAG7BX,EAAA,UAAQe,SAAUlC,KAAKmC,UAAY,GAAK,GACtChB,EAAA,OAAKE,MAAM,oCACVrB,KAAKyB,KAAON,EAAA,WAASI,KAAK,KAAKa,KAAMpC,KAAKyB,OAAmB,KAC7DzB,KAAKqC,KACJlB,EAAA,QAAME,MAAM,oBACVF,EAAA,QAAMmB,MAAOtC,KAAKqC,MAAOrC,KAAKqC,OAE9B,KACHrC,KAAKuC,cACJpB,EAAA,QAAME,MAAM,8BACVF,EAAA,QAAMmB,MAAOtC,KAAKuC,eAAgBvC,KAAKuC,gBAEvC,KACJpB,EAAA,c"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as o,F as r,H as i,g as s}from"./p-76a509c7.js";import{c as d}from"./p-c0454c9a.js";import{h as a}from"./p-04eeba9e.js";const h=":host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;position:relative;max-width:19.75rem;border-color:var(--theme-group-item--border-color)}:host .group-header{height:4rem;min-height:4rem;max-height:4rem;border-radius:var(--theme-group--border-radius) var(--theme-group--border-radius) 0 0;display:flex;background-color:var(--theme-group-item--background);color:var(--theme-group-header--color);cursor:pointer}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover)}:host .group-header:not(.disabled):not(:disabled):hover.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):active,:host .group-header:not(.disabled):not(:disabled).active{background-color:var(--theme-group-item--background--active)}:host .group-header:not(.disabled):not(:disabled):active.selected,:host .group-header:not(.disabled):not(:disabled).active.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled):focus-visible{border:1px solid var(--theme-color-focus-bdr);border-radius:var(--theme-default-border-radius) var(--theme-default-border-radius) 0px 0px;outline:none}:host .group-header.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header.selected .group-header-selection-indicator{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header .group-header-selection-indicator{background-color:var(--theme-color-input--focus)}:host .group-header .group-header-selection-indicator.group-header-selection-indicator-item-selected{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header-clickable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;width:100%;min-width:0}:host .group-header-selection-indicator{width:0.25rem;border-top-left-radius:var(--theme-group--border-radius)}:host .group-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:row;justify-content:space-between;min-width:0;flex-grow:1;padding:0.5rem;padding-left:0}:host .group-header-content .group-header-props-container{width:100%}:host .group-header-content .group-header-title{display:flex;align-items:center;font-size:1rem;font-weight:700;height:1.5rem}:host .group-header-content .group-header-title>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:host .group-header-content .group-subheader{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.25rem;font-size:0.875rem;color:var(--theme-group-subheader--color)}:host .expand-icon{padding:0.125rem 0.437rem;color:var(--theme-color-std-text)}:host .btn-expand-header{margin:0.5rem;margin-inline-end:0.25rem;min-width:1.5rem}:host .group-content{display:flex;flex-direction:column;gap:1px;margin-top:1px}:host .footer{visibility:collapse;height:auto;min-height:0}:host .footer-visible{visibility:visible}:host .hidden{display:none}";const n=class{constructor(o){e(this,o);this.selectGroup=t(this,"selectGroup",7);this.selectItem=t(this,"selectItem",7);this.collapsedChanged=t(this,"collapsedChanged",7);this.suppressHeaderSelection=false;this.header=undefined;this.subHeader=undefined;this.collapsed=true;this.selected=undefined;this.index=undefined;this.expandOnHeaderClick=false;this.itemSelected=false;this.dropdownTriggerRef=undefined;this.slotSize=this.groupItems.length;this.footerVisible=false}get dropdownItems(){return Array.from(this.hostElement.querySelectorAll("ix-group-dropdown-item"))}get groupItems(){return Array.from(this.hostElement.querySelectorAll("ix-group-item:not(.footer)"))}get groupContent(){return this.hostElement.shadowRoot.querySelector(".group-content")}onExpandClick(e){this.collapsed=!this.collapsed;this.collapsedChanged.emit(this.collapsed);e.stopPropagation()}onHeaderClick(e){this.setGroupSelection(!this.selected);if(this.suppressHeaderSelection){this.onExpandClick(e)}}onItemClick(e){if(e===this.index){this.index=undefined;this.selectItem.emit(undefined)}else{this.index=e;this.selectItem.emit(e)}if(this.index>=0){this.itemSelected=true}else this.itemSelected=false;this.setGroupSelection(false)}setGroupSelection(e){if(!this.suppressHeaderSelection){this.selected=e;this.selectGroup.emit(this.selected)}}onSlotChange(){const e=this.hostElement.shadowRoot.querySelector('slot[name="footer"]');if(e){this.footerVisible=a(e)}}componentWillRender(){this.groupItems.forEach(((e,t)=>{if(this.selected===true){e.selected=false;this.index=undefined;this.itemSelected=false;return}e.selected=t===this.index;e.index=t}))}componentDidLoad(){this.observer=d((()=>{this.slotSize=this.groupItems.length}));this.observer.observe(this.groupContent,{childList:true});this.groupContent.addEventListener("selectedChanged",(e=>{this.onItemClick(e.detail.index)}))}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){return o(i,null,o("div",{class:{"group-header":true,expand:!this.collapsed,selected:this.selected},tabindex:"0"},o("div",{class:"group-header-clickable",onClick:e=>this.onHeaderClick(e)},o("div",{class:{"group-header-selection-indicator":true,"group-header-selection-indicator-item-selected":this.itemSelected}}),o("div",{class:"btn-expand-header"},o("ix-icon",{class:{hidden:this.slotSize===0},name:this.collapsed?"chevron-right-small":"chevron-down-small",onClick:e=>this.onExpandClick(e)})),o("div",{class:"group-header-content"},this.header?o("div",{class:"group-header-props-container"},o("div",{class:"group-header-title"},o("span",{title:this.header},this.header)),o("div",{class:"group-subheader",title:this.subHeader},this.subHeader)):null,o("slot",{name:"header"}))),o("ix-group-context-menu",null,o("slot",{name:"dropdown"}))),o("div",{class:{"group-content":true}},!this.collapsed?o(r,null,o("slot",null),o("ix-group-item",{suppressSelection:true,focusable:false,class:{footer:true,"footer-visible":this.footerVisible}},o("slot",{name:"footer",onSlotchange:()=>this.onSlotChange()}))):null))}get hostElement(){return s(this)}};n.style=h;export{n as ix_group};
2
+ //# sourceMappingURL=p-616b1eba.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["groupCss","Group","this","groupItems","length","dropdownItems","Array","from","hostElement","querySelectorAll","groupContent","shadowRoot","querySelector","onExpandClick","event","collapsed","collapsedChanged","emit","stopPropagation","onHeaderClick","setGroupSelection","selected","suppressHeaderSelection","onItemClick","index","undefined","selectItem","itemSelected","selection","selectGroup","onSlotChange","slot","footerVisible","hasSlottedElements","componentWillRender","forEach","item","componentDidLoad","observer","createMutationObserver","slotSize","observe","childList","addEventListener","evt","detail","disconnectedCallback","disconnect","render","h","Host","class","expand","tabindex","onClick","e","hidden","name","header","title","subHeader","Fragment","suppressSelection","focusable","footer","onSlotchange"],"sources":["./src/components/group/group.scss?tag=ix-group&encapsulation=shadow","./src/components/group/group.tsx"],"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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: var(--theme-group--border-radius)\n var(--theme-group--border-radius) 0 0;\n display: flex;\n background-color: var(--theme-group-item--background);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n border-radius: var(--theme-default-border-radius)\n var(--theme-default-border-radius) 0px 0px;\n outline: none;\n }\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n\n .group-header-selection-indicator {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n\n &.group-header-selection-indicator-item-selected {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n border-top-left-radius: var(--theme-group--border-radius);\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n flex-grow: 1;\n padding: 0.5rem;\n padding-left: 0;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n min-width: 1.5rem;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: 1px;\n }\n\n .footer {\n visibility: collapse;\n height: auto;\n min-height: 0;\n }\n\n .footer-visible {\n visibility: visible;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\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 State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n shadow: true,\n})\nexport class Group {\n @Element() hostElement!: HTMLIxGroupElement;\n\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected: boolean;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged: EventEmitter<boolean>;\n\n @State() itemSelected = false;\n @State() dropdownTriggerRef: HTMLElement;\n @State() slotSize = this.groupItems.length;\n @State() footerVisible = false;\n\n private observer: MutationObserver;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.shadowRoot.querySelector('.group-content');\n }\n\n private onExpandClick(event: Event) {\n this.collapsed = !this.collapsed;\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index: number) {\n if (index === this.index) {\n this.index = undefined;\n this.selectItem.emit(undefined);\n } else {\n this.index = index;\n this.selectItem.emit(index);\n }\n\n if (this.index >= 0) {\n this.itemSelected = true;\n } else this.itemSelected = false;\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"footer\"]'\n );\n\n if (slot) {\n this.footerVisible = hasSlottedElements(slot);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n if (this.selected === true) {\n item.selected = false;\n this.index = undefined;\n this.itemSelected = false;\n return;\n }\n item.selected = index === this.index;\n item.index = index;\n });\n }\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => {\n this.slotSize = this.groupItems.length;\n });\n\n this.observer.observe(this.groupContent, {\n childList: true,\n });\n\n this.groupContent.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div\n class={{\n 'group-header-selection-indicator': true,\n 'group-header-selection-indicator-item-selected':\n this.itemSelected,\n }}\n ></div>\n <div class=\"btn-expand-header\">\n <ix-icon\n class={{\n hidden: this.slotSize === 0,\n }}\n name={\n this.collapsed ? 'chevron-right-small' : 'chevron-down-small'\n }\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n </div>\n\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n }}\n >\n {!this.collapsed ? (\n <Fragment>\n <slot></slot>\n <ix-group-item\n suppressSelection={true}\n focusable={false}\n class={{\n footer: true,\n 'footer-visible': this.footerVisible,\n }}\n >\n <slot\n name=\"footer\"\n onSlotchange={() => this.onSlotChange()}\n ></slot>\n </ix-group-item>\n </Fragment>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+IAAA,MAAMA,EAAW,grG,MC4BJC,EAAK,M,yLAMkB,M,8DAekB,K,sEAgBtB,M,kBAiBN,M,gDAEJC,KAAKC,WAAWC,O,mBACX,K,CAIrBC,oBACF,OAAOC,MAAMC,KACXL,KAAKM,YAAYC,iBAAiB,0B,CAIlCN,iBACF,OAAOG,MAAMC,KACXL,KAAKM,YAAYC,iBAAiB,8B,CAIlCC,mBACF,OAAOR,KAAKM,YAAYG,WAAWC,cAAc,iB,CAG3CC,cAAcC,GACpBZ,KAAKa,WAAab,KAAKa,UAEvBb,KAAKc,iBAAiBC,KAAKf,KAAKa,WAChCD,EAAMI,iB,CAGAC,cAAcL,GACpBZ,KAAKkB,mBAAmBlB,KAAKmB,UAE7B,GAAInB,KAAKoB,wBAAyB,CAChCpB,KAAKW,cAAcC,E,EAIfS,YAAYC,GAClB,GAAIA,IAAUtB,KAAKsB,MAAO,CACxBtB,KAAKsB,MAAQC,UACbvB,KAAKwB,WAAWT,KAAKQ,U,KAChB,CACLvB,KAAKsB,MAAQA,EACbtB,KAAKwB,WAAWT,KAAKO,E,CAGvB,GAAItB,KAAKsB,OAAS,EAAG,CACnBtB,KAAKyB,aAAe,I,MACfzB,KAAKyB,aAAe,MAE3BzB,KAAKkB,kBAAkB,M,CAGjBA,kBAAkBQ,GACxB,IAAK1B,KAAKoB,wBAAyB,CACjCpB,KAAKmB,SAAWO,EAChB1B,KAAK2B,YAAYZ,KAAKf,KAAKmB,S,EAIvBS,eACN,MAAMC,EAAO7B,KAAKM,YAAYG,WAAWC,cACvC,uBAGF,GAAImB,EAAM,CACR7B,KAAK8B,cAAgBC,EAAmBF,E,EAI5CG,sBACEhC,KAAKC,WAAWgC,SAAQ,CAACC,EAAMZ,KAC7B,GAAItB,KAAKmB,WAAa,KAAM,CAC1Be,EAAKf,SAAW,MAChBnB,KAAKsB,MAAQC,UACbvB,KAAKyB,aAAe,MACpB,M,CAEFS,EAAKf,SAAWG,IAAUtB,KAAKsB,MAC/BY,EAAKZ,MAAQA,CAAK,G,CAItBa,mBACEnC,KAAKoC,SAAWC,GAAuB,KACrCrC,KAAKsC,SAAWtC,KAAKC,WAAWC,MAAM,IAGxCF,KAAKoC,SAASG,QAAQvC,KAAKQ,aAAc,CACvCgC,UAAW,OAGbxC,KAAKQ,aAAaiC,iBAChB,mBACCC,IACC1C,KAAKqB,YAAYqB,EAAIC,OAAOrB,MAAM,G,CAKxCsB,uBACE,GAAI5C,KAAKoC,SAAU,CACjBpC,KAAKoC,SAASS,Y,EAIlBC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,OACEE,MAAO,CACL,eAAgB,KAChBC,QAASlD,KAAKa,UACdM,SAAUnB,KAAKmB,UAEjBgC,SAAS,KAETJ,EAAA,OACEE,MAAM,yBACNG,QAAUC,GAAMrD,KAAKiB,cAAcoC,IAEnCN,EAAA,OACEE,MAAO,CACL,mCAAoC,KACpC,iDACEjD,KAAKyB,gBAGXsB,EAAA,OAAKE,MAAM,qBACTF,EAAA,WACEE,MAAO,CACLK,OAAQtD,KAAKsC,WAAa,GAE5BiB,KACEvD,KAAKa,UAAY,sBAAwB,qBAE3CuC,QAAUC,GAAMrD,KAAKW,cAAc0C,MAIvCN,EAAA,OAAKE,MAAM,wBACRjD,KAAKwD,OACJT,EAAA,OAAKE,MAAM,gCACTF,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMU,MAAOzD,KAAKwD,QAASxD,KAAKwD,SAElCT,EAAA,OAAKE,MAAM,kBAAkBQ,MAAOzD,KAAK0D,WACtC1D,KAAK0D,YAGR,KACJX,EAAA,QAAMQ,KAAK,aAGfR,EAAA,6BACEA,EAAA,QAAMQ,KAAK,eAGfR,EAAA,OACEE,MAAO,CACL,gBAAiB,QAGjBjD,KAAKa,UACLkC,EAACY,EAAQ,KACPZ,EAAA,aACAA,EAAA,iBACEa,kBAAmB,KACnBC,UAAW,MACXZ,MAAO,CACLa,OAAQ,KACR,iBAAkB9D,KAAK8B,gBAGzBiB,EAAA,QACEQ,KAAK,SACLQ,aAAc,IAAM/D,KAAK4B,mBAI7B,M"}
1
+ {"version":3,"names":["groupCss","Group","this","groupItems","length","dropdownItems","Array","from","hostElement","querySelectorAll","groupContent","shadowRoot","querySelector","onExpandClick","event","collapsed","collapsedChanged","emit","stopPropagation","onHeaderClick","setGroupSelection","selected","suppressHeaderSelection","onItemClick","index","undefined","selectItem","itemSelected","selection","selectGroup","onSlotChange","slot","footerVisible","hasSlottedElements","componentWillRender","forEach","item","componentDidLoad","observer","createMutationObserver","slotSize","observe","childList","addEventListener","evt","detail","disconnectedCallback","disconnect","render","h","Host","class","expand","tabindex","onClick","e","hidden","name","header","title","subHeader","Fragment","suppressSelection","focusable","footer","onSlotchange"],"sources":["./src/components/group/group.scss?tag=ix-group&encapsulation=shadow","./src/components/group/group.tsx"],"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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: var(--theme-group--border-radius)\n var(--theme-group--border-radius) 0 0;\n display: flex;\n background-color: var(--theme-group-item--background);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n border-radius: var(--theme-default-border-radius)\n var(--theme-default-border-radius) 0px 0px;\n outline: none;\n }\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n\n .group-header-selection-indicator {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n\n &.group-header-selection-indicator-item-selected {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n border-top-left-radius: var(--theme-group--border-radius);\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n flex-grow: 1;\n padding: 0.5rem;\n padding-left: 0;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n min-width: 1.5rem;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: 1px;\n }\n\n .footer {\n visibility: collapse;\n height: auto;\n min-height: 0;\n }\n\n .footer-visible {\n visibility: visible;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\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 State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n shadow: true,\n})\nexport class Group {\n @Element() hostElement!: HTMLIxGroupElement;\n\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected: boolean;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged: EventEmitter<boolean>;\n\n @State() itemSelected = false;\n @State() dropdownTriggerRef: HTMLElement;\n @State() slotSize = this.groupItems.length;\n @State() footerVisible = false;\n\n private observer: MutationObserver;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.shadowRoot.querySelector('.group-content');\n }\n\n private onExpandClick(event: Event) {\n this.collapsed = !this.collapsed;\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index: number) {\n if (index === this.index) {\n this.index = undefined;\n this.selectItem.emit(undefined);\n } else {\n this.index = index;\n this.selectItem.emit(index);\n }\n\n if (this.index >= 0) {\n this.itemSelected = true;\n } else this.itemSelected = false;\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"footer\"]'\n );\n\n if (slot) {\n this.footerVisible = hasSlottedElements(slot);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n if (this.selected === true) {\n item.selected = false;\n this.index = undefined;\n this.itemSelected = false;\n return;\n }\n item.selected = index === this.index;\n item.index = index;\n });\n }\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => {\n this.slotSize = this.groupItems.length;\n });\n\n this.observer.observe(this.groupContent, {\n childList: true,\n });\n\n this.groupContent.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div\n class={{\n 'group-header-selection-indicator': true,\n 'group-header-selection-indicator-item-selected':\n this.itemSelected,\n }}\n ></div>\n <div class=\"btn-expand-header\">\n <ix-icon\n class={{\n hidden: this.slotSize === 0,\n }}\n name={\n this.collapsed ? 'chevron-right-small' : 'chevron-down-small'\n }\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n </div>\n\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n }}\n >\n {!this.collapsed ? (\n <Fragment>\n <slot></slot>\n <ix-group-item\n suppressSelection={true}\n focusable={false}\n class={{\n footer: true,\n 'footer-visible': this.footerVisible,\n }}\n >\n <slot\n name=\"footer\"\n onSlotchange={() => this.onSlotChange()}\n ></slot>\n </ix-group-item>\n </Fragment>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+IAAA,MAAMA,EAAW,qpG,MC4BJC,EAAK,M,yLAMkB,M,8DAekB,K,sEAgBtB,M,kBAiBN,M,gDAEJC,KAAKC,WAAWC,O,mBACX,K,CAIrBC,oBACF,OAAOC,MAAMC,KACXL,KAAKM,YAAYC,iBAAiB,0B,CAIlCN,iBACF,OAAOG,MAAMC,KACXL,KAAKM,YAAYC,iBAAiB,8B,CAIlCC,mBACF,OAAOR,KAAKM,YAAYG,WAAWC,cAAc,iB,CAG3CC,cAAcC,GACpBZ,KAAKa,WAAab,KAAKa,UAEvBb,KAAKc,iBAAiBC,KAAKf,KAAKa,WAChCD,EAAMI,iB,CAGAC,cAAcL,GACpBZ,KAAKkB,mBAAmBlB,KAAKmB,UAE7B,GAAInB,KAAKoB,wBAAyB,CAChCpB,KAAKW,cAAcC,E,EAIfS,YAAYC,GAClB,GAAIA,IAAUtB,KAAKsB,MAAO,CACxBtB,KAAKsB,MAAQC,UACbvB,KAAKwB,WAAWT,KAAKQ,U,KAChB,CACLvB,KAAKsB,MAAQA,EACbtB,KAAKwB,WAAWT,KAAKO,E,CAGvB,GAAItB,KAAKsB,OAAS,EAAG,CACnBtB,KAAKyB,aAAe,I,MACfzB,KAAKyB,aAAe,MAE3BzB,KAAKkB,kBAAkB,M,CAGjBA,kBAAkBQ,GACxB,IAAK1B,KAAKoB,wBAAyB,CACjCpB,KAAKmB,SAAWO,EAChB1B,KAAK2B,YAAYZ,KAAKf,KAAKmB,S,EAIvBS,eACN,MAAMC,EAAO7B,KAAKM,YAAYG,WAAWC,cACvC,uBAGF,GAAImB,EAAM,CACR7B,KAAK8B,cAAgBC,EAAmBF,E,EAI5CG,sBACEhC,KAAKC,WAAWgC,SAAQ,CAACC,EAAMZ,KAC7B,GAAItB,KAAKmB,WAAa,KAAM,CAC1Be,EAAKf,SAAW,MAChBnB,KAAKsB,MAAQC,UACbvB,KAAKyB,aAAe,MACpB,M,CAEFS,EAAKf,SAAWG,IAAUtB,KAAKsB,MAC/BY,EAAKZ,MAAQA,CAAK,G,CAItBa,mBACEnC,KAAKoC,SAAWC,GAAuB,KACrCrC,KAAKsC,SAAWtC,KAAKC,WAAWC,MAAM,IAGxCF,KAAKoC,SAASG,QAAQvC,KAAKQ,aAAc,CACvCgC,UAAW,OAGbxC,KAAKQ,aAAaiC,iBAChB,mBACCC,IACC1C,KAAKqB,YAAYqB,EAAIC,OAAOrB,MAAM,G,CAKxCsB,uBACE,GAAI5C,KAAKoC,SAAU,CACjBpC,KAAKoC,SAASS,Y,EAIlBC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,OACEE,MAAO,CACL,eAAgB,KAChBC,QAASlD,KAAKa,UACdM,SAAUnB,KAAKmB,UAEjBgC,SAAS,KAETJ,EAAA,OACEE,MAAM,yBACNG,QAAUC,GAAMrD,KAAKiB,cAAcoC,IAEnCN,EAAA,OACEE,MAAO,CACL,mCAAoC,KACpC,iDACEjD,KAAKyB,gBAGXsB,EAAA,OAAKE,MAAM,qBACTF,EAAA,WACEE,MAAO,CACLK,OAAQtD,KAAKsC,WAAa,GAE5BiB,KACEvD,KAAKa,UAAY,sBAAwB,qBAE3CuC,QAAUC,GAAMrD,KAAKW,cAAc0C,MAIvCN,EAAA,OAAKE,MAAM,wBACRjD,KAAKwD,OACJT,EAAA,OAAKE,MAAM,gCACTF,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMU,MAAOzD,KAAKwD,QAASxD,KAAKwD,SAElCT,EAAA,OAAKE,MAAM,kBAAkBQ,MAAOzD,KAAK0D,WACtC1D,KAAK0D,YAGR,KACJX,EAAA,QAAMQ,KAAK,aAGfR,EAAA,6BACEA,EAAA,QAAMQ,KAAK,eAGfR,EAAA,OACEE,MAAO,CACL,gBAAiB,QAGjBjD,KAAKa,UACLkC,EAACY,EAAQ,KACPZ,EAAA,aACAA,EAAA,iBACEa,kBAAmB,KACnBC,UAAW,MACXZ,MAAO,CACLa,OAAQ,KACR,iBAAkB9D,KAAK8B,gBAGzBiB,EAAA,QACEQ,KAAK,SACLQ,aAAc,IAAM/D,KAAK4B,mBAI7B,M"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as i,g as o}from"./p-76a509c7.js";import{u as r,A as s}from"./p-85f39bd4.js";import{a,m as n}from"./p-f18c11c5.js";import"./p-9ee41861.js";import"./p-20e12c7e.js";const h=":host{display:flex;position:relative;width:100%;height:100%;flex-direction:column}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host ix-application-header{z-index:calc(var(--theme-z-index-sticky) + 1)}:host .logo-wrapper{display:contents}:host .content{display:flex;height:100%;width:100%;position:relative;margin-left:3.25rem;overflow:auto}:host .navigation-content{display:flex;position:relative;flex-direction:row;height:calc(100% - 2.75rem);width:100%}:host(.hide-header) .navigation-content,:host(.hide-header) .content{height:100%}:host(.breakpoint-lg) .content{margin-left:0rem}:host(.breakpoint-sm) .content{margin-left:0px;width:100%}";const l=class{constructor(e){t(this,e);this.applicationName=undefined;this.hideHeader=false;this.forceBreakpoint=undefined;this.breakpoints=["sm","md","lg"];this.breakpoint="lg"}onHideHeaderChange(){var t;(t=this.contextProvider)===null||t===void 0?void 0:t.emit({hideHeader:this.hideHeader,host:"basic-navigation"});this.breakpoint=a.breakpoint}forceLayoutChange(t){if(!t){a.enableBreakpointDetection();return}a.disableBreakpointDetection();a.setBreakpoint(t)}onBreakpointsChange(t){a.setBreakpoints(t)}get menu(){return this.hostElement.querySelector("ix-menu")}onContentClick(){var t;if(n.isPinned){return}(t=this.menu)===null||t===void 0?void 0:t.toggleMenu(false)}componentWillLoad(){a.setBreakpoints(this.breakpoints);this.contextProvider=r(this.hostElement,s,{hideHeader:this.hideHeader,host:"basic-navigation"});this.modeDisposable=a.onChange.on((t=>{this.breakpoint=t}));this.breakpoint=a.breakpoint;if(this.forceBreakpoint){this.forceLayoutChange(this.forceBreakpoint)}}componentDidRender(){if(this.menu){this.menu.applicationName=this.applicationName}}disconnectedCallback(){var t;(t=this.modeDisposable)===null||t===void 0?void 0:t.dispose()}render(){return e(i,{"data-role":"",class:{"hide-header":this.hideHeader,[`breakpoint-${this.breakpoint}`]:true}},!this.hideHeader?e("ix-application-header",{name:this.applicationName},e("slot",{name:"logo",slot:"logo"})):null,e("div",{class:"navigation-content"},e("slot",{name:"menu"}),e("div",{class:"content",onClick:()=>this.onContentClick()},e("slot",null))))}get hostElement(){return o(this)}static get watchers(){return{hideHeader:["onHideHeaderChange"],breakpoints:["onBreakpointsChange"]}}};l.style=h;export{l as ix_basic_navigation};
2
+ //# sourceMappingURL=p-68809439.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["basicNavigationCss","BasicNavigation","onHideHeaderChange","_a","this","contextProvider","emit","hideHeader","host","breakpoint","applicationLayoutService","forceLayoutChange","newMode","enableBreakpointDetection","disableBreakpointDetection","setBreakpoint","onBreakpointsChange","breakpoints","setBreakpoints","menu","hostElement","querySelector","onContentClick","menuController","isPinned","toggleMenu","componentWillLoad","useContextProvider","ApplicationLayoutContext","modeDisposable","onChange","on","mode","forceBreakpoint","componentDidRender","applicationName","disconnectedCallback","dispose","render","h","Host","class","name","slot","onClick"],"sources":["./src/components/basic-navigation/basic-navigation.scss?tag=ix-basic-navigation&encapsulation=shadow","./src/components/basic-navigation/basic-navigation.tsx"],"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\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .content {\n display: flex;\n height: 100%;\n width: 100%;\n position: relative;\n margin-left: 3.25rem;\n overflow: auto;\n }\n\n .navigation-content {\n display: flex;\n position: relative;\n\n flex-direction: row;\n\n height: calc(100% - 2.75rem);\n width: 100%;\n }\n}\n\n:host(.hide-header) {\n .navigation-content,\n .content {\n height: 100%;\n }\n}\n\n:host(.breakpoint-lg) {\n .content {\n margin-left: 0rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .content {\n margin-left: 0px;\n width: 100%;\n }\n}\n","/*\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-basic-navigation',\n styleUrl: 'basic-navigation.scss',\n shadow: true,\n})\nexport class BasicNavigation {\n @Element() hostElement: HTMLIxBasicNavigationElement;\n\n /**\n * Application name\n */\n @Prop() applicationName: string;\n\n /**\n * Hide application header. Will disable responsive feature of basic navigation.\n */\n @Prop() hideHeader = false;\n @Watch('hideHeader')\n onHideHeaderChange() {\n this.contextProvider?.emit({\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n });\n\n this.breakpoint = applicationLayoutService.breakpoint;\n }\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n @State() breakpoint: Breakpoint = 'lg';\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n private modeDisposable: Disposable;\n private contextProvider: ContextProvider<typeof ApplicationLayoutContext>;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n }\n\n componentDidRender() {\n if (this.menu) {\n this.menu.applicationName = this.applicationName;\n }\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n 'hide-header': this.hideHeader,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n {!this.hideHeader ? (\n <ix-application-header name={this.applicationName}>\n <slot name=\"logo\" slot=\"logo\"></slot>\n </ix-application-header>\n ) : null}\n <div class=\"navigation-content\">\n <slot name=\"menu\"></slot>\n <div class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+LAAA,MAAMA,EAAqB,qrC,MCsBdC,EAAe,M,wEAWL,M,gDA4Be,CAAC,KAAM,KAAM,M,gBAMf,I,CAhClCC,qB,OACEC,EAAAC,KAAKC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,KAAK,CACzBC,WAAYH,KAAKG,WACjBC,KAAM,qBAGRJ,KAAKK,WAAaC,EAAyBD,U,CAO7CE,kBAAkBC,GAChB,IAAKA,EAAS,CACZF,EAAyBG,4BACzB,M,CAGFH,EAAyBI,6BACzBJ,EAAyBK,cAAcH,E,CAQzCI,oBAAoBC,GAClBP,EAAyBQ,eAAeD,E,CAKtCE,WACF,OAAOf,KAAKgB,YAAYC,cAAc,U,CAMhCC,iB,MACN,GAAIC,EAAeC,SAAU,CAC3B,M,EAEFrB,EAAAC,KAAKe,QAAI,MAAAhB,SAAA,SAAAA,EAAEsB,WAAW,M,CAGxBC,oBACEhB,EAAyBQ,eAAed,KAAKa,aAE7Cb,KAAKC,gBAAkBsB,EACrBvB,KAAKgB,YACLQ,EACA,CACErB,WAAYH,KAAKG,WACjBC,KAAM,qBAIVJ,KAAKyB,eAAiBnB,EAAyBoB,SAASC,IAAIC,IAC1D5B,KAAKK,WAAauB,CAAI,IAExB5B,KAAKK,WAAaC,EAAyBD,WAE3C,GAAIL,KAAK6B,gBAAiB,CACxB7B,KAAKO,kBAAkBP,KAAK6B,gB,EAIhCC,qBACE,GAAI9B,KAAKe,KAAM,CACbf,KAAKe,KAAKgB,gBAAkB/B,KAAK+B,e,EAIrCC,uB,OACEjC,EAAAC,KAAKyB,kBAAc,MAAA1B,SAAA,SAAAA,EAAEkC,S,CAGvBC,SACE,OACEC,EAACC,EAAI,aACO,GACVC,MAAO,CACL,cAAerC,KAAKG,WACpB,CAAC,cAAcH,KAAKK,cAAe,QAGnCL,KAAKG,WACLgC,EAAA,yBAAuBG,KAAMtC,KAAK+B,iBAChCI,EAAA,QAAMG,KAAK,OAAOC,KAAK,UAEvB,KACJJ,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMG,KAAK,SACXH,EAAA,OAAKE,MAAM,UAAUG,QAAS,IAAMxC,KAAKkB,kBACvCiB,EAAA,e"}
1
+ {"version":3,"names":["basicNavigationCss","BasicNavigation","onHideHeaderChange","_a","this","contextProvider","emit","hideHeader","host","breakpoint","applicationLayoutService","forceLayoutChange","newMode","enableBreakpointDetection","disableBreakpointDetection","setBreakpoint","onBreakpointsChange","breakpoints","setBreakpoints","menu","hostElement","querySelector","onContentClick","menuController","isPinned","toggleMenu","componentWillLoad","useContextProvider","ApplicationLayoutContext","modeDisposable","onChange","on","mode","forceBreakpoint","componentDidRender","applicationName","disconnectedCallback","dispose","render","h","Host","class","name","slot","onClick"],"sources":["./src/components/basic-navigation/basic-navigation.scss?tag=ix-basic-navigation&encapsulation=shadow","./src/components/basic-navigation/basic-navigation.tsx"],"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\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .content {\n display: flex;\n height: 100%;\n width: 100%;\n position: relative;\n margin-left: 3.25rem;\n overflow: auto;\n }\n\n .navigation-content {\n display: flex;\n position: relative;\n\n flex-direction: row;\n\n height: calc(100% - 2.75rem);\n width: 100%;\n }\n}\n\n:host(.hide-header) {\n .navigation-content,\n .content {\n height: 100%;\n }\n}\n\n:host(.breakpoint-lg) {\n .content {\n margin-left: 0rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .content {\n margin-left: 0px;\n width: 100%;\n }\n}\n","/*\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 { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { Disposable } from '../utils/typed-event';\n\n@Component({\n tag: 'ix-basic-navigation',\n styleUrl: 'basic-navigation.scss',\n shadow: true,\n})\nexport class BasicNavigation {\n @Element() hostElement: HTMLIxBasicNavigationElement;\n\n /**\n * Application name\n */\n @Prop() applicationName: string;\n\n /**\n * Hide application header. Will disable responsive feature of basic navigation.\n */\n @Prop() hideHeader = false;\n @Watch('hideHeader')\n onHideHeaderChange() {\n this.contextProvider?.emit({\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n });\n\n this.breakpoint = applicationLayoutService.breakpoint;\n }\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n @State() breakpoint: Breakpoint = 'lg';\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n private modeDisposable: Disposable;\n private contextProvider: ContextProvider<typeof ApplicationLayoutContext>;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: this.hideHeader,\n host: 'basic-navigation',\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n }\n\n componentDidRender() {\n if (this.menu) {\n this.menu.applicationName = this.applicationName;\n }\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n 'hide-header': this.hideHeader,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n {!this.hideHeader ? (\n <ix-application-header name={this.applicationName}>\n <slot name=\"logo\" slot=\"logo\"></slot>\n </ix-application-header>\n ) : null}\n <div class=\"navigation-content\">\n <slot name=\"menu\"></slot>\n <div class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"0LAAA,MAAMA,EAAqB,qrC,MCsBdC,EAAe,M,wEAWL,M,gDA4Be,CAAC,KAAM,KAAM,M,gBAMf,I,CAhClCC,qB,OACEC,EAAAC,KAAKC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,KAAK,CACzBC,WAAYH,KAAKG,WACjBC,KAAM,qBAGRJ,KAAKK,WAAaC,EAAyBD,U,CAO7CE,kBAAkBC,GAChB,IAAKA,EAAS,CACZF,EAAyBG,4BACzB,M,CAGFH,EAAyBI,6BACzBJ,EAAyBK,cAAcH,E,CAQzCI,oBAAoBC,GAClBP,EAAyBQ,eAAeD,E,CAKtCE,WACF,OAAOf,KAAKgB,YAAYC,cAAc,U,CAMhCC,iB,MACN,GAAIC,EAAeC,SAAU,CAC3B,M,EAEFrB,EAAAC,KAAKe,QAAI,MAAAhB,SAAA,SAAAA,EAAEsB,WAAW,M,CAGxBC,oBACEhB,EAAyBQ,eAAed,KAAKa,aAE7Cb,KAAKC,gBAAkBsB,EACrBvB,KAAKgB,YACLQ,EACA,CACErB,WAAYH,KAAKG,WACjBC,KAAM,qBAIVJ,KAAKyB,eAAiBnB,EAAyBoB,SAASC,IAAIC,IAC1D5B,KAAKK,WAAauB,CAAI,IAExB5B,KAAKK,WAAaC,EAAyBD,WAE3C,GAAIL,KAAK6B,gBAAiB,CACxB7B,KAAKO,kBAAkBP,KAAK6B,gB,EAIhCC,qBACE,GAAI9B,KAAKe,KAAM,CACbf,KAAKe,KAAKgB,gBAAkB/B,KAAK+B,e,EAIrCC,uB,OACEjC,EAAAC,KAAKyB,kBAAc,MAAA1B,SAAA,SAAAA,EAAEkC,S,CAGvBC,SACE,OACEC,EAACC,EAAI,aACO,GACVC,MAAO,CACL,cAAerC,KAAKG,WACpB,CAAC,cAAcH,KAAKK,cAAe,QAGnCL,KAAKG,WACLgC,EAAA,yBAAuBG,KAAMtC,KAAK+B,iBAChCI,EAAA,QAAMG,KAAK,OAAOC,KAAK,UAEvB,KACJJ,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMG,KAAK,SACXH,EAAA,OAAKE,MAAM,UAAUG,QAAS,IAAMxC,KAAKkB,kBACvCiB,EAAA,e"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as i,h as o,F as t,H as l,g as d}from"./p-76a509c7.js";import{a as r}from"./p-810b5232.js";import{a as n}from"./p-2fd30d79.js";const a=":host{display:flex;flex-direction:column;border-radius:var(--theme-blind--border-radius);overflow:hidden}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .blind-header-wrapper{display:block;position:relative;width:100%;min-height:3rem;height:3rem;overflow:hidden}:host .blind-header-content{display:flex;position:relative;align-items:center;justify-content:flex-start;width:100%;height:100%;z-index:1;pointer-events:none;padding-left:0.5rem}:host .blind-header-title{display:flex;position:relative;align-items:center;flex-grow:1;flex-shrink:0;margin-right:1rem}:host .blind-header{all:unset;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;position:absolute;top:0px;left:0px;pointer-events:all;padding-left:2.5rem;min-height:3rem;height:3rem;width:calc(100% - 2 * var(--theme-blind--border-thickness));border:solid var(--theme-blind--border-thickness) transparent;border-radius:var(--theme-blind--border-radius) var(--theme-blind--border-radius) 0 0;cursor:pointer}:host .blind-header:not(.disabled):not(:disabled):focus-visible{border-color:var(--theme-color-focus-bdr);outline:none}:host .blind-header-title-icon,:host .collapse-icon{margin-right:0.5rem}:host .blind-header-title-row{display:flex;flex-grow:1}:host .blind-header-title-col{flex-grow:1;flex-basis:0;display:inline-flex;align-items:center;min-width:0}:host .blind-header-title-col:not(:first-of-type){justify-content:flex-end}:host ix-typography{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .blind-header-title-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline-end:0.5rem}:host .blind-header-title-sublabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:0.5rem}:host .blind-header-title{display:flex;align-items:center;flex-grow:1;height:100%;min-width:0}:host .blind-header-labels{display:inline-flex;flex-grow:1;min-width:0}:host .blind-content{display:block;padding:1rem;transition-property:padding;transition-duration:150ms;transition-timing-function:ease-in}:host .blind-content.hide{max-height:0;padding-top:0px;padding-bottom:0px}:host .header-actions{pointer-events:all}:host(.blind-alarm){background-color:var(--theme-blind-base--background)}:host(.blind-alarm) .blind-header{background-color:var(--theme-color-alarm)}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-alarm--hover)}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-alarm) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-alarm--active)}:host(.blind-alarm) .blind-header-title-label,:host(.blind-alarm) .blind-header-title-sublabel{color:var(--theme-color-alarm--contrast)}:host(.blind-critical){background-color:var(--theme-blind-base--background)}:host(.blind-critical) .blind-header{background-color:var(--theme-color-critical)}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-critical--hover)}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-critical) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-critical) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-critical--active)}:host(.blind-critical) .blind-header-title-label,:host(.blind-critical) .blind-header-title-sublabel{color:var(--theme-color-critical--contrast)}:host(.blind-info){background-color:var(--theme-blind-base--background)}:host(.blind-info) .blind-header{background-color:var(--theme-color-info)}:host(.blind-info) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-info) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-info--hover)}:host(.blind-info) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-info) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-info) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-info--active)}:host(.blind-info) .blind-header-title-label,:host(.blind-info) .blind-header-title-sublabel{color:var(--theme-color-info--contrast)}:host(.blind-insight){background-color:var(--theme-blind-base--background)}:host(.blind-insight) .blind-header{background-color:var(--theme-color-insight)}:host(.blind-insight) .blind-header:not(.disabled):not(:disabled).hover,:host(.blind-insight) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}:host(.blind-insight) .blind-header:not(.disabled):not(:disabled).active,:host(.blind-insight) .blind-header:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}:host(.blind-insight) .blind-header-title-label{color:var(--theme-color-std-text)}:host(.blind-insight) .blind-header-title-sublabel{color:var(--theme-color-soft-text)}:host(.blind-neutral){background-color:var(--theme-blind-base--background)}:host(.blind-neutral) .blind-header{background-color:var(--theme-color-neutral)}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-neutral--hover)}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-neutral) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-neutral--active)}:host(.blind-neutral) .blind-header-title-label,:host(.blind-neutral) .blind-header-title-sublabel{color:var(--theme-color-neutral--contrast)}:host(.blind-notification){background-color:var(--theme-blind-base--background)}:host(.blind-notification) .blind-header{background-color:var(--theme-color-notification)}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-notification--hover)}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-notification) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-notification) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-notification--active)}:host(.blind-notification) .blind-header-title-label,:host(.blind-notification) .blind-header-title-sublabel{color:var(--theme-color-notification--contrast)}:host(.blind-success){background-color:var(--theme-blind-base--background)}:host(.blind-success) .blind-header{background-color:var(--theme-color-success)}:host(.blind-success) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-success) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-success--hover)}:host(.blind-success) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-success) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-success) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-success--active)}:host(.blind-success) .blind-header-title-label,:host(.blind-success) .blind-header-title-sublabel{color:var(--theme-color-success--contrast)}:host(.blind-warning){background-color:var(--theme-blind-base--background)}:host(.blind-warning) .blind-header{background-color:var(--theme-color-warning)}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-warning--hover)}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-warning) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-warning) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-warning--active)}:host(.blind-warning) .blind-header-title-label,:host(.blind-warning) .blind-header-title-sublabel{color:var(--theme-color-warning--contrast)}:host(.blind-primary){background-color:var(--theme-blind-base--background)}:host(.blind-primary) .blind-header{background-color:var(--theme-color-primary)}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-color-primary--hover)}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled){cursor:pointer}:host(.blind-primary) .blind-header:not(.disabled):not(:disabled):active,:host(.blind-primary) .blind-header:not(.disabled):not(:disabled).active{background-color:var(--theme-color-primary--active)}:host(.blind-primary) .blind-header-title-label,:host(.blind-primary) .blind-header-title-sublabel{color:var(--theme-color-primary--contrast)}:host(.blind-outline){border:solid var(--theme-blind--border-thickness) var(--theme-blind-base--border-color);border-color:var(--theme-color-soft-bdr)}:host(.blind-outline) .blind-header{background-color:var(--theme-color-ghost)}:host(.blind-outline) .blind-header:not(.disabled):not(:disabled).hover,:host(.blind-outline) .blind-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}:host(.blind-outline) .blind-header:not(.disabled):not(:disabled).active,:host(.blind-outline) .blind-header:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}:host(.blind-outline) .blind-header-title-label{color:var(--theme-color-std-text)}:host(.blind-outline) .blind-header-title-sublabel{color:var(--theme-color-soft-text)}";let s=0;const b=class{constructor(o){e(this,o);this.collapsedChange=i(this,"collapsedChange",7);this.blindId=++s;this.collapsed=false;this.label=undefined;this.sublabel=undefined;this.icon=undefined;this.variant="insight"}onHeaderClick(){this.collapsed=!this.collapsed;this.collapsedChange.emit(this.collapsed)}componentDidLoad(){this.animateCollapse(this.collapsed)}get content(){return this.hostElement.shadowRoot.querySelector(".blind-content")}animation(e){this.animateCollapse(e)}animateCollapse(e){if(e){this.rotateChevronRight()}else{this.rotateChevronDown()}}rotateChevronDown(){r({targets:this.chevronRef,duration:150,easing:"easeInOutSine",rotateZ:90});r({targets:this.content,duration:150,easing:"easeInOutSine",opacity:1})}rotateChevronRight(){r({targets:this.chevronRef,duration:150,easing:"easeInOutSine",rotateZ:0});r({targets:this.content,duration:150,easing:"easeInOutSine",opacity:0})}render(){return o(l,{class:{[`blind-${this.variant}`]:true}},o("div",{class:"blind-header-wrapper"},o("div",{class:"blind-header-content"},o("ix-icon",{class:"collapse-icon",name:"chevron-right-small",color:this.variant==="insight"||this.variant==="outline"?"color-primary":`color-${this.variant}--contrast`,ref:e=>this.chevronRef=e}),o("div",{class:"blind-header-title",id:`ix-blind-header-title-${this.blindId}`},this.label!==undefined?o(t,null,this.icon&&o("ix-icon",{class:"blind-header-title-icon",name:this.icon,color:this.variant==="insight"||this.variant==="outline"?"color-std-text":`color-${this.variant}--contrast`}),o("div",{class:"blind-header-title-row"},o("div",{class:"blind-header-title-col"},o("ix-typography",{title:this.label,format:"label-lg",bold:true},o("div",{class:"blind-header-title-label",title:this.label},this.label))),this.sublabel&&o("div",{class:"blind-header-title-col"},o("ix-typography",{title:this.sublabel},o("div",{class:"blind-header-title-sublabel"},this.sublabel)))),o("div",{class:"header-actions"},o("slot",{name:"header-actions"}))):null)),o("button",{class:{"blind-header":true,[`blind-${this.variant}`]:true,closed:this.collapsed},type:"button","aria-labelledby":`ix-blind-header-title-${this.blindId}`,"aria-controls":`ix-blind-content-section-${this.blindId}`,"aria-expanded":n(!this.collapsed),onClick:()=>this.onHeaderClick()},o("slot",{name:"custom-header"}))),o("section",{id:`ix-blind-content-section-${this.blindId}`,"aria-labelledby":`ix-blind-header-title-${this.blindId}`},o("div",{class:{"blind-content":true,hide:this.collapsed}},!this.collapsed?o("slot",null):null)))}get hostElement(){return d(this)}static get watchers(){return{collapsed:["animation"]}}};b.style=a;export{b as ix_blind};
2
+ //# sourceMappingURL=p-68b2dcca.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["blindCss","sequentialInstanceId","Blind","constructor","hostRef","this","blindId","onHeaderClick","collapsed","collapsedChange","emit","componentDidLoad","animateCollapse","content","hostElement","shadowRoot","querySelector","animation","isCollapsed","rotateChevronRight","rotateChevronDown","anime","targets","chevronRef","duration","easing","rotateZ","opacity","render","h","Host","class","variant","name","color","ref","id","label","undefined","Fragment","icon","title","format","bold","sublabel","closed","type","a11yBoolean","onClick","hide"],"sources":["./src/components/blind/blind.scss?tag=ix-blind&encapsulation=shadow","./src/components/blind/blind.tsx"],"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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n@mixin blind($variant: 'insight') {\n :host(.blind-#{$variant}) {\n @if $variant == 'outline' {\n border: solid\n var(--theme-blind--border-thickness)\n var(--theme-blind-base--border-color);\n }\n\n .blind-header {\n @if $variant == 'outline' {\n background-color: var(--theme-color-ghost);\n } @else {\n background-color: var(--theme-color-#{$variant});\n }\n\n @if $variant == 'insight' or $variant == 'outline' {\n @include ghost-hover-pressed;\n } @else {\n @include hover {\n background-color: var(--theme-color-#{$variant}--hover);\n }\n\n @include active {\n background-color: var(--theme-color-#{$variant}--active);\n }\n }\n }\n\n @if $variant == 'insight' or $variant == 'outline' {\n .blind-header-title-label {\n color: var(--theme-color-std-text);\n }\n .blind-header-title-sublabel {\n color: var(--theme-color-soft-text);\n }\n } @else {\n .blind-header-title-label,\n .blind-header-title-sublabel {\n color: var(--theme-color-#{$variant}--contrast);\n }\n }\n\n @if $variant == 'outline' {\n border-color: var(--theme-color-soft-bdr);\n } @else {\n background-color: var(--theme-blind-base--background);\n }\n }\n}\n\n:host {\n @include ix-component;\n display: flex;\n flex-direction: column;\n border-radius: var(--theme-blind--border-radius);\n overflow: hidden;\n\n .blind-header-wrapper {\n display: block;\n position: relative;\n width: 100%;\n min-height: 3rem;\n height: 3rem;\n overflow: hidden;\n }\n\n .blind-header-content {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n\n width: 100%;\n height: 100%;\n z-index: 1;\n\n pointer-events: none;\n padding-left: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n position: relative;\n align-items: center;\n flex-grow: 1;\n flex-shrink: 0;\n margin-right: 1rem;\n }\n\n .blind-header {\n all: unset;\n @include ellipsis;\n\n display: block;\n position: absolute;\n\n top: 0px;\n left: 0px;\n\n pointer-events: all;\n\n padding-left: 2.5rem;\n min-height: 3rem;\n height: 3rem;\n width: calc(100% - 2 * var(--theme-blind--border-thickness));\n border: solid var(--theme-blind--border-thickness) transparent;\n border-radius: var(--theme-blind--border-radius)\n var(--theme-blind--border-radius) 0 0;\n cursor: pointer;\n\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n outline: none;\n }\n }\n\n .blind-header-title-icon,\n .collapse-icon {\n margin-right: $small-space;\n }\n\n .blind-header-title-row {\n display: flex;\n flex-grow: 1;\n }\n\n .blind-header-title-col {\n flex-grow: 1;\n flex-basis: 0;\n display: inline-flex;\n align-items: center;\n min-width: 0;\n }\n\n .blind-header-title-col:not(:first-of-type) {\n justify-content: flex-end;\n }\n ix-typography {\n flex-grow: 1;\n @include ellipsis;\n }\n\n .blind-header-title-label {\n @include ellipsis;\n padding-inline-end: 0.5rem;\n }\n\n .blind-header-title-sublabel {\n @include ellipsis;\n padding-inline: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n min-width: 0;\n }\n\n .blind-header-labels {\n display: inline-flex;\n flex-grow: 1;\n min-width: 0;\n }\n\n .blind-content {\n display: block;\n padding: 1rem;\n transition-property: padding;\n transition-duration: $default-time;\n transition-timing-function: ease-in;\n\n &.hide {\n max-height: 0;\n padding-top: 0px;\n padding-bottom: 0px;\n }\n }\n\n .header-actions {\n pointer-events: all;\n }\n}\n\n$blind-variants: (\n alarm,\n critical,\n info,\n insight,\n neutral,\n notification,\n success,\n warning,\n primary,\n outline\n);\n\n@each $variant in $blind-variants {\n @include blind($variant);\n}\n","/*\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"],"mappings":"+IAAA,MAAMA,EAAW,4vUC0BjB,IAAIC,EAAuB,E,MAOdC,EAAK,MAuChBC,YAAAC,G,2DAFQC,KAAAC,UAAYL,E,eAjCgC,M,8EAuBpB,S,CAcxBM,gBACNF,KAAKG,WAAaH,KAAKG,UACvBH,KAAKI,gBAAgBC,KAAKL,KAAKG,U,CAGjCG,mBACEN,KAAKO,gBAAgBP,KAAKG,U,CAGxBK,cACF,OAAOR,KAAKS,YAAYC,WAAWC,cAAc,iB,CAInDC,UAAUC,GACRb,KAAKO,gBAAgBM,E,CAGfN,gBAAgBM,GACtB,GAAIA,EAAa,CACfb,KAAKc,oB,KACA,CACLd,KAAKe,mB,EAIDA,oBACNC,EAAM,CACJC,QAASjB,KAAKkB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,KAEXL,EAAM,CACJC,QAASjB,KAAKQ,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAILR,qBACNE,EAAM,CACJC,QAASjB,KAAKkB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,IAEXL,EAAM,CACJC,QAASjB,KAAKQ,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAIbC,SACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,SAAS1B,KAAK2B,WAAY,OAG7BH,EAAA,OAAKE,MAAO,wBACVF,EAAA,OAAKE,MAAO,wBACVF,EAAA,WACEE,MAAM,gBACNE,KAAM,sBACNC,MACE7B,KAAK2B,UAAY,WAAa3B,KAAK2B,UAAY,UAC3C,gBACA,SAAS3B,KAAK2B,oBAEpBG,IAAMA,GAAS9B,KAAKkB,WAAaY,IAEnCN,EAAA,OACEE,MAAM,qBACNK,GAAI,yBAAyB/B,KAAKC,WAEjCD,KAAKgC,QAAUC,UACdT,EAACU,EAAQ,KACNlC,KAAKmC,MACJX,EAAA,WACEE,MAAM,0BACNE,KAAM5B,KAAKmC,KACXN,MACE7B,KAAK2B,UAAY,WAAa3B,KAAK2B,UAAY,UAC3C,iBACA,SAAS3B,KAAK2B,sBAIxBH,EAAA,OAAKE,MAAO,0BACVF,EAAA,OAAKE,MAAM,0BACTF,EAAA,iBAAeY,MAAOpC,KAAKgC,MAAOK,OAAO,WAAWC,KAAI,MACtDd,EAAA,OACEE,MAAM,2BACNU,MAAOpC,KAAKgC,OAEXhC,KAAKgC,SAKXhC,KAAKuC,UACJf,EAAA,OAAKE,MAAM,0BACTF,EAAA,iBAAeY,MAAOpC,KAAKuC,UACzBf,EAAA,OAAKE,MAAM,+BACR1B,KAAKuC,aAMhBf,EAAA,OAAKE,MAAM,kBACTF,EAAA,QAAMI,KAAK,qBAGb,OAIRJ,EAAA,UACEE,MAAO,CACL,eAAgB,KAChB,CAAC,SAAS1B,KAAK2B,WAAY,KAC3Ba,OAAQxC,KAAKG,WAEfsC,KAAK,SAAQ,kBACI,yBAAyBzC,KAAKC,UAAS,gBACzC,4BAA4BD,KAAKC,UAAS,gBAC1CyC,GAAa1C,KAAKG,WACjCwC,QAAS,IAAM3C,KAAKE,iBAEpBsB,EAAA,QAAMI,KAAK,oBAGfJ,EAAA,WACEO,GAAI,4BAA4B/B,KAAKC,UAAS,kBAC7B,yBAAyBD,KAAKC,WAE/CuB,EAAA,OACEE,MAAO,CACL,gBAAiB,KACjBkB,KAAM5C,KAAKG,aAGXH,KAAKG,UAAYqB,EAAA,aAAgB,O"}