@siemens/ix 2.0.0-beta.0 → 2.0.0-beta.1

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 (1215) hide show
  1. package/dist/cjs/base-button-c158438e.js +50 -0
  2. package/dist/cjs/base-button-c158438e.js.map +1 -0
  3. package/dist/cjs/base-icon-button-bbca2582.js +20 -0
  4. package/dist/cjs/base-icon-button-bbca2582.js.map +1 -0
  5. package/dist/cjs/breakpoints-e19e827e.js +27 -0
  6. package/dist/cjs/breakpoints-e19e827e.js.map +1 -0
  7. package/dist/cjs/context-0fdf2fa1.js +106 -0
  8. package/dist/cjs/context-0fdf2fa1.js.map +1 -0
  9. package/dist/cjs/{floating-ui.dom.esm-b79b633f.js → floating-ui.dom.esm-3b936e26.js} +654 -534
  10. package/dist/cjs/floating-ui.dom.esm-3b936e26.js.map +1 -0
  11. package/dist/cjs/{icon-eeb2940a.js → icon-9e9f2faf.js} +2 -2
  12. package/dist/cjs/{icon-eeb2940a.js.map → icon-9e9f2faf.js.map} +1 -1
  13. package/dist/cjs/index-1061a1c1.js +8 -0
  14. package/dist/cjs/index-1061a1c1.js.map +1 -0
  15. package/dist/cjs/{index-e56a1d39.js → index-be499a74.js} +45 -398
  16. package/dist/cjs/index-be499a74.js.map +1 -0
  17. package/dist/cjs/index.cjs.js +4 -4
  18. package/dist/cjs/ix-action-card.cjs.entry.js +3 -3
  19. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ix-application-header.cjs.entry.js +10 -5
  21. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ix-application-sidebar.cjs.entry.js +47 -0
  23. package/dist/cjs/ix-application-sidebar.cjs.entry.js.map +1 -0
  24. package/dist/cjs/ix-application.cjs.entry.js +109 -0
  25. package/dist/cjs/ix-application.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ix-avatar.cjs.entry.js +1 -1
  27. package/dist/cjs/ix-basic-navigation.cjs.entry.js +44 -10
  28. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ix-blind.cjs.entry.js +5 -4
  30. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +100 -92
  32. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ix-burger-menu.cjs.entry.js +3 -3
  34. package/dist/cjs/ix-burger-menu.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ix-button.cjs.entry.js +22 -7
  36. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  38. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ix-card-list.cjs.entry.js +2 -2
  40. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ix-card_2.cjs.entry.js +3 -3
  42. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ix-category-filter.cjs.entry.js +73 -40
  44. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ix-chip.cjs.entry.js +2 -2
  46. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ix-col.cjs.entry.js +77 -0
  48. package/dist/cjs/ix-col.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
  50. package/dist/cjs/ix-content.cjs.entry.js +32 -0
  51. package/dist/cjs/ix-content.cjs.entry.js.map +1 -0
  52. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  53. package/dist/cjs/ix-css-grid-item.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
  55. package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ix-date-picker_2.cjs.entry.js +4 -4
  57. package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ix-date-time-card.cjs.entry.js +2 -2
  59. package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  61. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  63. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  64. package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ix-dropdown-button.cjs.entry.js +4 -3
  66. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  68. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  70. package/dist/cjs/ix-dropdown_2.cjs.entry.js +6 -8
  71. package/dist/cjs/ix-dropdown_2.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  73. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ix-event-list_2.cjs.entry.js +3 -3
  75. package/dist/cjs/ix-event-list_2.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ix-expanding-search.cjs.entry.js +2 -2
  77. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ix-filter-chip.cjs.entry.js +4 -3
  79. package/dist/cjs/ix-filter-chip.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +28 -18
  81. package/dist/cjs/ix-flip-tile_2.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ix-form-field.cjs.entry.js +27 -0
  83. package/dist/cjs/ix-form-field.cjs.entry.js.map +1 -0
  84. package/dist/cjs/ix-grid.cjs.entry.js +29 -0
  85. package/dist/cjs/ix-grid.cjs.entry.js.map +1 -0
  86. package/dist/cjs/ix-group-context-menu.cjs.entry.js +2 -2
  87. package/dist/cjs/ix-group_2.cjs.entry.js +4 -4
  88. package/dist/cjs/ix-group_2.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ix-icon-button.cjs.entry.js +21 -13
  90. package/dist/cjs/ix-icon-button.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +88 -0
  92. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -0
  93. package/dist/cjs/ix-icon.cjs.entry.js +2 -2
  94. package/dist/cjs/ix-input-group.cjs.entry.js +85 -18
  95. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  97. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  98. package/dist/cjs/ix-kpi.cjs.entry.js +2 -2
  99. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ix-link-button.cjs.entry.js +2 -2
  101. package/dist/cjs/ix-link-button.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ix-map-navigation_2.cjs.entry.js +11 -3
  103. package/dist/cjs/ix-map-navigation_2.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -5
  105. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ix-menu_9.cjs.entry.js +101 -75
  107. package/dist/cjs/ix-menu_9.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  109. package/dist/cjs/ix-message-bar.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ix-modal-content.cjs.entry.js +2 -2
  111. package/dist/cjs/ix-modal-content.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  113. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  114. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ix-modal-header.cjs.entry.js +2 -2
  116. package/dist/cjs/ix-modal-header.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  118. package/dist/cjs/ix-modal.cjs.entry.js +2 -2
  119. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ix-pagination.cjs.entry.js +32 -15
  121. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ix-pill.cjs.entry.js +2 -2
  123. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ix-push-card.cjs.entry.js +5 -2
  125. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ix-row.cjs.entry.js +21 -0
  127. package/dist/cjs/ix-row.cjs.entry.js.map +1 -0
  128. package/dist/cjs/ix-select_2.cjs.entry.js +68 -49
  129. package/dist/cjs/ix-select_2.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ix-spinner.cjs.entry.js +2 -2
  131. package/dist/cjs/ix-spinner.cjs.entry.js.map +1 -1
  132. package/dist/cjs/ix-split-button_2.cjs.entry.js +7 -5
  133. package/dist/cjs/ix-split-button_2.cjs.entry.js.map +1 -1
  134. package/dist/cjs/ix-tab-item.cjs.entry.js +11 -3
  135. package/dist/cjs/ix-tab-item.cjs.entry.js.map +1 -1
  136. package/dist/cjs/ix-tabs.cjs.entry.js +22 -7
  137. package/dist/cjs/ix-tabs.cjs.entry.js.map +1 -1
  138. package/dist/cjs/ix-tile.cjs.entry.js +2 -2
  139. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  140. package/dist/cjs/ix-toast_2.cjs.entry.js +2 -2
  141. package/dist/cjs/ix-toast_2.cjs.entry.js.map +1 -1
  142. package/dist/cjs/ix-toggle-button.cjs.entry.js +77 -0
  143. package/dist/cjs/ix-toggle-button.cjs.entry.js.map +1 -0
  144. package/dist/cjs/ix-toggle.cjs.entry.js +2 -2
  145. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  146. package/dist/cjs/ix-tooltip.cjs.entry.js +2 -2
  147. package/dist/cjs/ix-tree_2.cjs.entry.js +16 -9
  148. package/dist/cjs/ix-tree_2.cjs.entry.js.map +1 -1
  149. package/dist/cjs/ix-typography.cjs.entry.js +25 -12
  150. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  151. package/dist/cjs/ix-upload.cjs.entry.js +2 -2
  152. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  153. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +8 -8
  154. package/dist/cjs/ix-validation-tooltip.cjs.entry.js.map +1 -1
  155. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +14 -18
  156. package/dist/cjs/ix-workflow-step_2.cjs.entry.js.map +1 -1
  157. package/dist/cjs/loader.cjs.js +2 -2
  158. package/dist/cjs/menu-service-f7ef5265.js +159 -0
  159. package/dist/cjs/menu-service-f7ef5265.js.map +1 -0
  160. package/dist/cjs/my-component.cjs.entry.js +1 -1
  161. package/dist/cjs/my-component.cjs.entry.js.map +1 -1
  162. package/dist/cjs/{shadow-dom-f9b90696.js → shadow-dom-9b10f758.js} +4 -1
  163. package/dist/cjs/shadow-dom-9b10f758.js.map +1 -0
  164. package/dist/cjs/siemens-ix.cjs.js +2 -2
  165. package/dist/cjs/{theme-switcher-bdbd0d30.js → theme-switcher-d0386ac9.js} +36 -4
  166. package/dist/cjs/theme-switcher-d0386ac9.js.map +1 -0
  167. package/dist/collection/collection-manifest.json +13 -13
  168. package/dist/collection/components/action-card/action-card.css +36 -0
  169. package/dist/collection/components/action-card/action-card.js +1 -1
  170. package/dist/collection/components/action-card/action-card.js.map +1 -1
  171. package/dist/collection/components/application/application.css +106 -0
  172. package/dist/collection/components/application/application.js +220 -0
  173. package/dist/collection/components/application/application.js.map +1 -0
  174. package/dist/collection/components/application-header/application-header.css +4 -2
  175. package/dist/collection/components/application-header/application-header.js +8 -28
  176. package/dist/collection/components/application-header/application-header.js.map +1 -1
  177. package/dist/collection/components/application-header/test/application-headet.ct.js +20 -0
  178. package/dist/collection/components/application-header/test/application-headet.ct.js.map +1 -0
  179. package/dist/collection/components/application-sidebar/application-sidebar.css +69 -0
  180. package/dist/collection/components/application-sidebar/application-sidebar.js +70 -0
  181. package/dist/collection/components/application-sidebar/application-sidebar.js.map +1 -0
  182. package/dist/collection/components/application-sidebar/events.js +15 -0
  183. package/dist/collection/components/application-sidebar/events.js.map +1 -0
  184. package/dist/collection/components/basic-navigation/basic-navigation.css +39 -2
  185. package/dist/collection/components/basic-navigation/basic-navigation.js +91 -8
  186. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  187. package/dist/collection/components/blind/blind.css +23 -8
  188. package/dist/collection/components/blind/blind.js +23 -2
  189. package/dist/collection/components/blind/blind.js.map +1 -1
  190. package/dist/collection/components/breadcrumb/breadcrumb.css +49 -153
  191. package/dist/collection/components/breadcrumb/breadcrumb.js +80 -92
  192. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  193. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js +97 -0
  194. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -0
  195. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +1063 -1
  196. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +153 -3
  197. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  198. package/dist/collection/components/button/base-button.js +10 -1
  199. package/dist/collection/components/button/base-button.js.map +1 -1
  200. package/dist/collection/components/button/button.css +287 -208
  201. package/dist/collection/components/button/button.js +62 -44
  202. package/dist/collection/components/button/button.js.map +1 -1
  203. package/dist/collection/components/card/card.css +36 -0
  204. package/dist/collection/components/card-accordion/card-accordion.css +37 -0
  205. package/dist/collection/components/card-content/card-content.css +36 -0
  206. package/dist/collection/components/card-list/card-list.css +36 -0
  207. package/dist/collection/components/category-filter/category-filter.css +1303 -4
  208. package/dist/collection/components/category-filter/category-filter.js +115 -55
  209. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  210. package/dist/collection/components/chip/chip.css +36 -0
  211. package/dist/collection/components/col/col.css +19 -0
  212. package/dist/collection/components/col/col.js +189 -0
  213. package/dist/collection/components/col/col.js.map +1 -0
  214. package/dist/collection/components/content/content.css +75 -0
  215. package/dist/collection/components/content/content.js +46 -0
  216. package/dist/collection/components/content/content.js.map +1 -0
  217. package/dist/collection/components/css-grid/builder.js.map +1 -0
  218. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -0
  219. package/dist/collection/components/{layout/css-grid → css-grid}/css-grid.js +1 -1
  220. package/dist/collection/components/css-grid/css-grid.js.map +1 -0
  221. package/dist/collection/components/date-picker/date-picker.css +38 -0
  222. package/dist/collection/components/date-time-card/date-time-card.css +38 -0
  223. package/dist/collection/components/datetime-picker/datetime-picker.css +36 -0
  224. package/dist/collection/components/drawer/drawer.css +36 -0
  225. package/dist/collection/components/dropdown/dropdown.css +36 -0
  226. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  227. package/dist/collection/components/dropdown-button/dropdown-button.css +46 -4
  228. package/dist/collection/components/dropdown-button/dropdown-button.js +27 -1
  229. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  230. package/dist/collection/components/dropdown-header/dropdown-header.css +36 -0
  231. package/dist/collection/components/dropdown-item/dropdown-item.css +36 -0
  232. package/dist/collection/components/empty-state/empty-state.css +38 -0
  233. package/dist/collection/components/event-list/event-list.css +36 -0
  234. package/dist/collection/components/event-list-item/event-list-item.css +42 -4
  235. package/dist/collection/components/expanding-search/expanding-search.css +47 -4
  236. package/dist/collection/components/filter-chip/filter-chip.css +48 -1
  237. package/dist/collection/components/filter-chip/filter-chip.js +23 -1
  238. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  239. package/dist/collection/components/flip-tile/flip-tile.css +208 -0
  240. package/dist/collection/components/flip-tile/flip-tile.js +25 -36
  241. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  242. package/dist/collection/components/flip-tile/test/flip-tile.ct.js +57 -0
  243. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +1 -0
  244. package/dist/collection/components/flip-tile-content/flip-tile-content.js +29 -1
  245. package/dist/collection/components/flip-tile-content/flip-tile-content.js.map +1 -1
  246. package/dist/collection/components/form-field/form-field.css +234 -0
  247. package/dist/collection/components/form-field/form-field.js +56 -0
  248. package/dist/collection/components/form-field/form-field.js.map +1 -0
  249. package/dist/collection/components/grid/grid.css +26 -0
  250. package/dist/collection/components/grid/grid.js +98 -0
  251. package/dist/collection/components/grid/grid.js.map +1 -0
  252. package/dist/collection/components/group/group.css +4 -4
  253. package/dist/collection/components/group-item/group-item.css +36 -0
  254. package/dist/collection/components/icon-button/base-icon-button.js +14 -0
  255. package/dist/collection/components/icon-button/base-icon-button.js.map +1 -0
  256. package/dist/collection/components/icon-button/icon-button.css +383 -173
  257. package/dist/collection/components/icon-button/icon-button.js +18 -49
  258. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  259. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +618 -0
  260. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +274 -0
  261. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -0
  262. package/dist/collection/components/input-group/input-group.css +54 -1
  263. package/dist/collection/components/input-group/input-group.js +92 -17
  264. package/dist/collection/components/input-group/input-group.js.map +1 -1
  265. package/dist/collection/components/kpi/kpi.css +38 -2
  266. package/dist/collection/components/link-button/link-button.css +72 -66
  267. package/dist/collection/components/map-navigation/map-navigation.css +36 -0
  268. package/dist/collection/components/map-navigation/map-navigation.js +8 -0
  269. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  270. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.css +56 -0
  271. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +1 -1
  272. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  273. package/dist/collection/components/menu/burger-menu.css +104 -62
  274. package/dist/collection/components/menu/menu.css +45 -6
  275. package/dist/collection/components/menu/menu.js +66 -103
  276. package/dist/collection/components/menu/menu.js.map +1 -1
  277. package/dist/collection/components/menu/test/menu.ct.js +8 -10
  278. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  279. package/dist/collection/components/menu-about/menu-about.css +2 -2
  280. package/dist/collection/components/menu-about/menu-about.js +3 -3
  281. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  282. package/dist/collection/components/menu-about-news/menu-about-news.css +36 -0
  283. package/dist/collection/components/menu-avatar/menu-avatar.css +46 -2
  284. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  285. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  286. package/dist/collection/components/menu-avatar-item/menu-avatar-item.css +36 -1
  287. package/dist/collection/components/menu-category/menu-category.css +41 -0
  288. package/dist/collection/components/menu-category/menu-category.js +3 -3
  289. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  290. package/dist/collection/components/menu-category/test/menu-category.ct.js +27 -10
  291. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +1 -1
  292. package/dist/collection/components/menu-item/menu-item.css +11 -6
  293. package/dist/collection/components/menu-item/menu-item.js +7 -1
  294. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  295. package/dist/collection/components/menu-settings/menu-settings.css +40 -1
  296. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  297. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  298. package/dist/collection/components/message-bar/message-bar.css +38 -0
  299. package/dist/collection/components/modal/modal.css +3 -3
  300. package/dist/collection/components/modal-content/modal-content.css +36 -0
  301. package/dist/collection/components/modal-footer/modal-footer.css +36 -0
  302. package/dist/collection/components/modal-header/modal-header.css +36 -0
  303. package/dist/collection/components/my-component/my-component.js +1 -1
  304. package/dist/collection/components/my-component/my-component.js.map +1 -1
  305. package/dist/collection/components/pagination/pagination.css +919 -2
  306. package/dist/collection/components/pagination/pagination.js +31 -14
  307. package/dist/collection/components/pagination/pagination.js.map +1 -1
  308. package/dist/collection/components/pill/pill.css +36 -0
  309. package/dist/collection/components/push-card/push-card.js +4 -1
  310. package/dist/collection/components/push-card/push-card.js.map +1 -1
  311. package/dist/collection/components/{animated-tab/animated-tab.css → row/row.css} +7 -4
  312. package/dist/collection/components/row/row.js +30 -0
  313. package/dist/collection/components/row/row.js.map +1 -0
  314. package/dist/collection/components/select/select.css +71 -6
  315. package/dist/collection/components/select/select.js +118 -55
  316. package/dist/collection/components/select/select.js.map +1 -1
  317. package/dist/collection/components/select/test/select.ct.js +10 -6
  318. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  319. package/dist/collection/components/select-item/select-item.js +1 -1
  320. package/dist/collection/components/select-item/select-item.js.map +1 -1
  321. package/dist/collection/components/spinner/spinner.css +148 -0
  322. package/dist/collection/components/split-button/split-button.css +36 -0
  323. package/dist/collection/components/split-button/split-button.js +1 -2
  324. package/dist/collection/components/split-button/split-button.js.map +1 -1
  325. package/dist/collection/components/split-button-item/split-button-item.js +4 -1
  326. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  327. package/dist/collection/components/tab-item/tab-item.css +36 -1
  328. package/dist/collection/components/tab-item/tab-item.js +34 -1
  329. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  330. package/dist/collection/components/tabs/tabs.css +36 -0
  331. package/dist/collection/components/tabs/tabs.js +46 -5
  332. package/dist/collection/components/tabs/tabs.js.map +1 -1
  333. package/dist/collection/components/tabs/test/tabs.ct.js +84 -0
  334. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -0
  335. package/dist/collection/components/tile/tile.css +36 -0
  336. package/dist/collection/components/time-picker/time-picker.css +274 -13
  337. package/dist/collection/components/time-picker/time-picker.js +1 -1
  338. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  339. package/dist/collection/components/toast/toast.css +36 -0
  340. package/dist/collection/components/toggle/toggle.css +36 -0
  341. package/dist/collection/components/toggle-button/toggle-button.css +447 -0
  342. package/dist/collection/components/toggle-button/toggle-button.js +246 -0
  343. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -0
  344. package/dist/collection/components/tree/test/tree.ct.js +154 -0
  345. package/dist/collection/components/tree/test/tree.ct.js.map +1 -0
  346. package/dist/collection/components/tree/tree.js +14 -7
  347. package/dist/collection/components/tree/tree.js.map +1 -1
  348. package/dist/collection/components/tree-item/tree-item.css +56 -14
  349. package/dist/collection/components/tree-item/tree-item.js +1 -1
  350. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  351. package/dist/collection/components/typography/typography.css +391 -0
  352. package/dist/collection/components/typography/typography.js +95 -14
  353. package/dist/collection/components/typography/typography.js.map +1 -1
  354. package/dist/collection/components/upload/upload.css +36 -0
  355. package/dist/collection/components/utils/application-layout/context.js +19 -0
  356. package/dist/collection/components/utils/application-layout/context.js.map +1 -0
  357. package/dist/collection/components/utils/{screen → application-layout}/index.js +1 -1
  358. package/dist/collection/components/utils/application-layout/index.js.map +1 -0
  359. package/dist/collection/components/utils/application-layout/service.js +92 -0
  360. package/dist/collection/components/utils/application-layout/service.js.map +1 -0
  361. package/dist/collection/components/utils/breakpoints.js +22 -0
  362. package/dist/collection/components/utils/breakpoints.js.map +1 -0
  363. package/dist/collection/components/utils/context.js +79 -0
  364. package/dist/collection/components/utils/context.js.map +1 -0
  365. package/dist/collection/components/utils/shadow-dom.js +6 -0
  366. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  367. package/dist/collection/components/utils/theme-switcher.js +35 -3
  368. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  369. package/dist/collection/components/validation-tooltip/validation-tooltip.js +6 -6
  370. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  371. package/dist/collection/components/workflow-step/workflow-step.css +40 -2
  372. package/dist/collection/components/workflow-step/workflow-step.js +6 -13
  373. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  374. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +74 -0
  375. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -0
  376. package/dist/collection/components/workflow-steps/workflow-steps.css +38 -0
  377. package/dist/collection/components/workflow-steps/workflow-steps.js +8 -26
  378. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  379. package/dist/components/application-header.js +9 -5
  380. package/dist/components/application-header.js.map +1 -1
  381. package/dist/components/base-button.js +16 -2
  382. package/dist/components/base-button.js.map +1 -1
  383. package/dist/components/base-icon-button.js +18 -0
  384. package/dist/components/base-icon-button.js.map +1 -0
  385. package/dist/components/breadcrumb-item.js +99 -0
  386. package/dist/components/breadcrumb-item.js.map +1 -0
  387. package/dist/components/breakpoints.js +25 -0
  388. package/dist/components/breakpoints.js.map +1 -0
  389. package/dist/components/burger-menu.js +1 -1
  390. package/dist/components/burger-menu.js.map +1 -1
  391. package/dist/components/button.js +24 -9
  392. package/dist/components/button.js.map +1 -1
  393. package/dist/components/card-accordion.js +1 -1
  394. package/dist/components/card-accordion.js.map +1 -1
  395. package/dist/components/card-content.js +1 -1
  396. package/dist/components/card-content.js.map +1 -1
  397. package/dist/components/card.js +1 -1
  398. package/dist/components/card.js.map +1 -1
  399. package/dist/components/context.js +86 -7
  400. package/dist/components/context.js.map +1 -1
  401. package/dist/components/date-picker.js +1 -1
  402. package/dist/components/date-picker.js.map +1 -1
  403. package/dist/components/date-time-card.js +1 -1
  404. package/dist/components/date-time-card.js.map +1 -1
  405. package/dist/components/dropdown-item.js +2 -4
  406. package/dist/components/dropdown-item.js.map +1 -1
  407. package/dist/components/dropdown.js +1 -1
  408. package/dist/components/dropdown.js.map +1 -1
  409. package/dist/components/filter-chip.js +5 -3
  410. package/dist/components/filter-chip.js.map +1 -1
  411. package/dist/components/floating-ui.dom.esm.js +653 -533
  412. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  413. package/dist/components/group-context-menu.js +2 -16
  414. package/dist/components/group-context-menu.js.map +1 -1
  415. package/dist/components/group-item.js +1 -1
  416. package/dist/components/group-item.js.map +1 -1
  417. package/dist/components/icon-button.js +19 -14
  418. package/dist/components/icon-button.js.map +1 -1
  419. package/dist/components/index.js +1 -1
  420. package/dist/components/index2.js +6 -0
  421. package/dist/components/index2.js.map +1 -0
  422. package/dist/components/ix-action-card.js +2 -2
  423. package/dist/components/ix-action-card.js.map +1 -1
  424. package/dist/components/ix-application-sidebar.d.ts +11 -0
  425. package/dist/components/ix-application-sidebar.js +63 -0
  426. package/dist/components/ix-application-sidebar.js.map +1 -0
  427. package/dist/components/{ix-animated-tab.d.ts → ix-application.d.ts} +4 -4
  428. package/dist/components/ix-application.js +128 -0
  429. package/dist/components/ix-application.js.map +1 -0
  430. package/dist/components/ix-basic-navigation.js +45 -10
  431. package/dist/components/ix-basic-navigation.js.map +1 -1
  432. package/dist/components/ix-blind.js +13 -5
  433. package/dist/components/ix-blind.js.map +1 -1
  434. package/dist/components/ix-breadcrumb-item.js +1 -32
  435. package/dist/components/ix-breadcrumb-item.js.map +1 -1
  436. package/dist/components/ix-breadcrumb.js +76 -98
  437. package/dist/components/ix-breadcrumb.js.map +1 -1
  438. package/dist/components/ix-card-list.js +1 -1
  439. package/dist/components/ix-card-list.js.map +1 -1
  440. package/dist/components/ix-category-filter.js +76 -41
  441. package/dist/components/ix-category-filter.js.map +1 -1
  442. package/dist/components/ix-chip.js +1 -1
  443. package/dist/components/ix-chip.js.map +1 -1
  444. package/dist/components/{ix-index-button.d.ts → ix-col.d.ts} +4 -4
  445. package/dist/components/ix-col.js +96 -0
  446. package/dist/components/ix-col.js.map +1 -0
  447. package/dist/components/ix-content.d.ts +11 -0
  448. package/dist/components/ix-content.js +48 -0
  449. package/dist/components/ix-content.js.map +1 -0
  450. package/dist/components/ix-css-grid-item.js.map +1 -1
  451. package/dist/components/ix-css-grid.js.map +1 -1
  452. package/dist/components/ix-datetime-picker.js +23 -17
  453. package/dist/components/ix-datetime-picker.js.map +1 -1
  454. package/dist/components/ix-drawer.js +1 -1
  455. package/dist/components/ix-drawer.js.map +1 -1
  456. package/dist/components/ix-dropdown-button.js +4 -2
  457. package/dist/components/ix-dropdown-button.js.map +1 -1
  458. package/dist/components/ix-dropdown-header.js +1 -1
  459. package/dist/components/ix-dropdown-header.js.map +1 -1
  460. package/dist/components/ix-empty-state.js +1 -1
  461. package/dist/components/ix-empty-state.js.map +1 -1
  462. package/dist/components/ix-event-list-item.js +1 -1
  463. package/dist/components/ix-event-list-item.js.map +1 -1
  464. package/dist/components/ix-event-list.js +1 -1
  465. package/dist/components/ix-event-list.js.map +1 -1
  466. package/dist/components/ix-expanding-search.js +1 -1
  467. package/dist/components/ix-expanding-search.js.map +1 -1
  468. package/dist/components/ix-flip-tile-content.js +5 -2
  469. package/dist/components/ix-flip-tile-content.js.map +1 -1
  470. package/dist/components/ix-flip-tile.js +27 -18
  471. package/dist/components/ix-flip-tile.js.map +1 -1
  472. package/dist/components/ix-form-field.d.ts +11 -0
  473. package/dist/components/ix-form-field.js +43 -0
  474. package/dist/components/ix-form-field.js.map +1 -0
  475. package/dist/components/ix-grid.d.ts +11 -0
  476. package/dist/components/ix-grid.js +47 -0
  477. package/dist/components/ix-grid.js.map +1 -0
  478. package/dist/components/ix-group.js +3 -2
  479. package/dist/components/ix-group.js.map +1 -1
  480. package/dist/components/ix-icon-toggle-button.d.ts +11 -0
  481. package/dist/components/ix-icon-toggle-button.js +122 -0
  482. package/dist/components/ix-icon-toggle-button.js.map +1 -0
  483. package/dist/components/ix-input-group.js +89 -18
  484. package/dist/components/ix-input-group.js.map +1 -1
  485. package/dist/components/ix-kpi.js +1 -1
  486. package/dist/components/ix-kpi.js.map +1 -1
  487. package/dist/components/ix-link-button.js +1 -1
  488. package/dist/components/ix-link-button.js.map +1 -1
  489. package/dist/components/ix-map-navigation.js +8 -1
  490. package/dist/components/ix-map-navigation.js.map +1 -1
  491. package/dist/components/ix-menu-about-news.js +1 -1
  492. package/dist/components/ix-menu-about-news.js.map +1 -1
  493. package/dist/components/ix-menu-about.js +4 -4
  494. package/dist/components/ix-menu-about.js.map +1 -1
  495. package/dist/components/ix-menu-avatar.js +3 -3
  496. package/dist/components/ix-menu-avatar.js.map +1 -1
  497. package/dist/components/ix-menu-category.js +4 -4
  498. package/dist/components/ix-menu-category.js.map +1 -1
  499. package/dist/components/ix-menu-settings.js +2 -2
  500. package/dist/components/ix-menu-settings.js.map +1 -1
  501. package/dist/components/ix-menu.js +80 -62
  502. package/dist/components/ix-menu.js.map +1 -1
  503. package/dist/components/ix-message-bar.js +1 -1
  504. package/dist/components/ix-message-bar.js.map +1 -1
  505. package/dist/components/ix-modal-content.js +1 -1
  506. package/dist/components/ix-modal-content.js.map +1 -1
  507. package/dist/components/ix-modal-footer.js +1 -1
  508. package/dist/components/ix-modal-footer.js.map +1 -1
  509. package/dist/components/ix-modal-header.js +1 -1
  510. package/dist/components/ix-modal-header.js.map +1 -1
  511. package/dist/components/ix-modal.js +1 -1
  512. package/dist/components/ix-modal.js.map +1 -1
  513. package/dist/components/ix-pagination.js +42 -24
  514. package/dist/components/ix-pagination.js.map +1 -1
  515. package/dist/components/ix-pill.js +1 -1
  516. package/dist/components/ix-pill.js.map +1 -1
  517. package/dist/components/ix-push-card.js +4 -1
  518. package/dist/components/ix-push-card.js.map +1 -1
  519. package/dist/components/ix-row.d.ts +11 -0
  520. package/dist/components/ix-row.js +35 -0
  521. package/dist/components/ix-row.js.map +1 -0
  522. package/dist/components/ix-split-button-item.js +4 -1
  523. package/dist/components/ix-split-button-item.js.map +1 -1
  524. package/dist/components/ix-split-button.js +2 -3
  525. package/dist/components/ix-split-button.js.map +1 -1
  526. package/dist/components/ix-tile.js +1 -1
  527. package/dist/components/ix-tile.js.map +1 -1
  528. package/dist/components/{ix-animated-tabs.d.ts → ix-toggle-button.d.ts} +4 -4
  529. package/dist/components/ix-toggle-button.js +111 -0
  530. package/dist/components/ix-toggle-button.js.map +1 -0
  531. package/dist/components/ix-toggle.js +1 -1
  532. package/dist/components/ix-toggle.js.map +1 -1
  533. package/dist/components/ix-tree.js +16 -8
  534. package/dist/components/ix-tree.js.map +1 -1
  535. package/dist/components/ix-upload.js +1 -1
  536. package/dist/components/ix-upload.js.map +1 -1
  537. package/dist/components/ix-validation-tooltip.js +8 -7
  538. package/dist/components/ix-validation-tooltip.js.map +1 -1
  539. package/dist/components/ix-workflow-step.js +5 -12
  540. package/dist/components/ix-workflow-step.js.map +1 -1
  541. package/dist/components/ix-workflow-steps.js +9 -7
  542. package/dist/components/ix-workflow-steps.js.map +1 -1
  543. package/dist/components/map-navigation-overlay.js +3 -2
  544. package/dist/components/map-navigation-overlay.js.map +1 -1
  545. package/dist/components/menu-avatar-item.js +1 -1
  546. package/dist/components/menu-avatar-item.js.map +1 -1
  547. package/dist/components/menu-item.js +8 -2
  548. package/dist/components/menu-item.js.map +1 -1
  549. package/dist/components/menu-service.js +79 -1
  550. package/dist/components/menu-service.js.map +1 -1
  551. package/dist/components/my-component.js.map +1 -1
  552. package/dist/components/select-item.js +3 -2
  553. package/dist/components/select-item.js.map +1 -1
  554. package/dist/components/select.js +70 -49
  555. package/dist/components/select.js.map +1 -1
  556. package/dist/{esm/shadow-dom-6860b1c4.js → components/shadow-dom.js} +4 -1
  557. package/dist/components/shadow-dom.js.map +1 -0
  558. package/dist/components/spinner.js +1 -1
  559. package/dist/components/spinner.js.map +1 -1
  560. package/dist/components/tab-item.js +11 -3
  561. package/dist/components/tab-item.js.map +1 -1
  562. package/dist/components/tabs.js +23 -8
  563. package/dist/components/tabs.js.map +1 -1
  564. package/dist/components/theme-switcher.js +35 -3
  565. package/dist/components/theme-switcher.js.map +1 -1
  566. package/dist/components/time-picker.js +18 -12
  567. package/dist/components/time-picker.js.map +1 -1
  568. package/dist/components/toast.js +1 -1
  569. package/dist/components/toast.js.map +1 -1
  570. package/dist/components/tree-item.js +3 -2
  571. package/dist/components/tree-item.js.map +1 -1
  572. package/dist/components/typography.js +28 -12
  573. package/dist/components/typography.js.map +1 -1
  574. package/dist/esm/base-button-87048318.js +47 -0
  575. package/dist/esm/base-button-87048318.js.map +1 -0
  576. package/dist/esm/base-icon-button-afac2d95.js +18 -0
  577. package/dist/esm/base-icon-button-afac2d95.js.map +1 -0
  578. package/dist/esm/breakpoints-b8d59fd9.js +25 -0
  579. package/dist/esm/breakpoints-b8d59fd9.js.map +1 -0
  580. package/dist/esm/context-6a3bc77f.js +101 -0
  581. package/dist/esm/context-6a3bc77f.js.map +1 -0
  582. package/dist/esm/{floating-ui.dom.esm-9b203a02.js → floating-ui.dom.esm-cbe44820.js} +654 -534
  583. package/dist/esm/floating-ui.dom.esm-cbe44820.js.map +1 -0
  584. package/dist/esm/{icon-4ac90a6d.js → icon-f54a8bc4.js} +2 -2
  585. package/dist/esm/{icon-4ac90a6d.js.map → icon-f54a8bc4.js.map} +1 -1
  586. package/dist/esm/index-7b24b7fa.js +6 -0
  587. package/dist/esm/index-7b24b7fa.js.map +1 -0
  588. package/dist/esm/{index-7334ee80.js → index-eb0be730.js} +46 -398
  589. package/dist/esm/index-eb0be730.js.map +1 -0
  590. package/dist/esm/index.js +3 -3
  591. package/dist/esm/ix-action-card.entry.js +3 -3
  592. package/dist/esm/ix-action-card.entry.js.map +1 -1
  593. package/dist/esm/ix-application-header.entry.js +10 -5
  594. package/dist/esm/ix-application-header.entry.js.map +1 -1
  595. package/dist/esm/ix-application-sidebar.entry.js +43 -0
  596. package/dist/esm/ix-application-sidebar.entry.js.map +1 -0
  597. package/dist/esm/ix-application.entry.js +105 -0
  598. package/dist/esm/ix-application.entry.js.map +1 -0
  599. package/dist/esm/ix-avatar.entry.js +1 -1
  600. package/dist/esm/ix-basic-navigation.entry.js +44 -10
  601. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  602. package/dist/esm/ix-blind.entry.js +5 -4
  603. package/dist/esm/ix-blind.entry.js.map +1 -1
  604. package/dist/esm/ix-breadcrumb_2.entry.js +100 -92
  605. package/dist/esm/ix-breadcrumb_2.entry.js.map +1 -1
  606. package/dist/esm/ix-burger-menu.entry.js +3 -3
  607. package/dist/esm/ix-burger-menu.entry.js.map +1 -1
  608. package/dist/esm/ix-button.entry.js +22 -7
  609. package/dist/esm/ix-button.entry.js.map +1 -1
  610. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  611. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  612. package/dist/esm/ix-card-list.entry.js +2 -2
  613. package/dist/esm/ix-card-list.entry.js.map +1 -1
  614. package/dist/esm/ix-card_2.entry.js +3 -3
  615. package/dist/esm/ix-card_2.entry.js.map +1 -1
  616. package/dist/esm/ix-category-filter.entry.js +73 -40
  617. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  618. package/dist/esm/ix-chip.entry.js +2 -2
  619. package/dist/esm/ix-chip.entry.js.map +1 -1
  620. package/dist/esm/ix-col.entry.js +73 -0
  621. package/dist/esm/ix-col.entry.js.map +1 -0
  622. package/dist/esm/ix-content-header.entry.js +1 -1
  623. package/dist/esm/ix-content.entry.js +28 -0
  624. package/dist/esm/ix-content.entry.js.map +1 -0
  625. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  626. package/dist/esm/ix-css-grid-item.entry.js.map +1 -1
  627. package/dist/esm/ix-css-grid.entry.js +1 -1
  628. package/dist/esm/ix-css-grid.entry.js.map +1 -1
  629. package/dist/esm/ix-date-picker_2.entry.js +4 -4
  630. package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
  631. package/dist/esm/ix-date-time-card.entry.js +2 -2
  632. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  633. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  634. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  635. package/dist/esm/ix-divider.entry.js +1 -1
  636. package/dist/esm/ix-drawer.entry.js +2 -2
  637. package/dist/esm/ix-drawer.entry.js.map +1 -1
  638. package/dist/esm/ix-dropdown-button.entry.js +4 -3
  639. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  640. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  641. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  642. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  643. package/dist/esm/ix-dropdown_2.entry.js +5 -7
  644. package/dist/esm/ix-dropdown_2.entry.js.map +1 -1
  645. package/dist/esm/ix-empty-state.entry.js +2 -2
  646. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  647. package/dist/esm/ix-event-list_2.entry.js +3 -3
  648. package/dist/esm/ix-event-list_2.entry.js.map +1 -1
  649. package/dist/esm/ix-expanding-search.entry.js +2 -2
  650. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  651. package/dist/esm/ix-filter-chip.entry.js +4 -3
  652. package/dist/esm/ix-filter-chip.entry.js.map +1 -1
  653. package/dist/esm/ix-flip-tile_2.entry.js +28 -18
  654. package/dist/esm/ix-flip-tile_2.entry.js.map +1 -1
  655. package/dist/esm/ix-form-field.entry.js +23 -0
  656. package/dist/esm/ix-form-field.entry.js.map +1 -0
  657. package/dist/esm/ix-grid.entry.js +25 -0
  658. package/dist/esm/ix-grid.entry.js.map +1 -0
  659. package/dist/esm/ix-group-context-menu.entry.js +2 -2
  660. package/dist/esm/ix-group_2.entry.js +4 -4
  661. package/dist/esm/ix-group_2.entry.js.map +1 -1
  662. package/dist/esm/ix-icon-button.entry.js +21 -13
  663. package/dist/esm/ix-icon-button.entry.js.map +1 -1
  664. package/dist/esm/ix-icon-toggle-button.entry.js +84 -0
  665. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -0
  666. package/dist/esm/ix-icon.entry.js +2 -2
  667. package/dist/esm/ix-input-group.entry.js +85 -18
  668. package/dist/esm/ix-input-group.entry.js.map +1 -1
  669. package/dist/esm/ix-key-value-list.entry.js +1 -1
  670. package/dist/esm/ix-key-value.entry.js +1 -1
  671. package/dist/esm/ix-kpi.entry.js +2 -2
  672. package/dist/esm/ix-kpi.entry.js.map +1 -1
  673. package/dist/esm/ix-link-button.entry.js +2 -2
  674. package/dist/esm/ix-link-button.entry.js.map +1 -1
  675. package/dist/esm/ix-map-navigation_2.entry.js +11 -3
  676. package/dist/esm/ix-map-navigation_2.entry.js.map +1 -1
  677. package/dist/esm/ix-menu-category.entry.js +6 -5
  678. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  679. package/dist/esm/ix-menu_9.entry.js +101 -75
  680. package/dist/esm/ix-menu_9.entry.js.map +1 -1
  681. package/dist/esm/ix-message-bar.entry.js +2 -2
  682. package/dist/esm/ix-message-bar.entry.js.map +1 -1
  683. package/dist/esm/ix-modal-content.entry.js +2 -2
  684. package/dist/esm/ix-modal-content.entry.js.map +1 -1
  685. package/dist/esm/ix-modal-example.entry.js +1 -1
  686. package/dist/esm/ix-modal-footer.entry.js +2 -2
  687. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  688. package/dist/esm/ix-modal-header.entry.js +2 -2
  689. package/dist/esm/ix-modal-header.entry.js.map +1 -1
  690. package/dist/esm/ix-modal-loading.entry.js +1 -1
  691. package/dist/esm/ix-modal.entry.js +2 -2
  692. package/dist/esm/ix-modal.entry.js.map +1 -1
  693. package/dist/esm/ix-pagination.entry.js +32 -15
  694. package/dist/esm/ix-pagination.entry.js.map +1 -1
  695. package/dist/esm/ix-pill.entry.js +2 -2
  696. package/dist/esm/ix-pill.entry.js.map +1 -1
  697. package/dist/esm/ix-push-card.entry.js +5 -2
  698. package/dist/esm/ix-push-card.entry.js.map +1 -1
  699. package/dist/esm/ix-row.entry.js +17 -0
  700. package/dist/esm/ix-row.entry.js.map +1 -0
  701. package/dist/esm/ix-select_2.entry.js +68 -49
  702. package/dist/esm/ix-select_2.entry.js.map +1 -1
  703. package/dist/esm/ix-spinner.entry.js +2 -2
  704. package/dist/esm/ix-spinner.entry.js.map +1 -1
  705. package/dist/esm/ix-split-button_2.entry.js +7 -5
  706. package/dist/esm/ix-split-button_2.entry.js.map +1 -1
  707. package/dist/esm/ix-tab-item.entry.js +11 -3
  708. package/dist/esm/ix-tab-item.entry.js.map +1 -1
  709. package/dist/esm/ix-tabs.entry.js +22 -7
  710. package/dist/esm/ix-tabs.entry.js.map +1 -1
  711. package/dist/esm/ix-tile.entry.js +2 -2
  712. package/dist/esm/ix-tile.entry.js.map +1 -1
  713. package/dist/esm/ix-toast_2.entry.js +2 -2
  714. package/dist/esm/ix-toast_2.entry.js.map +1 -1
  715. package/dist/esm/ix-toggle-button.entry.js +73 -0
  716. package/dist/esm/ix-toggle-button.entry.js.map +1 -0
  717. package/dist/esm/ix-toggle.entry.js +2 -2
  718. package/dist/esm/ix-toggle.entry.js.map +1 -1
  719. package/dist/esm/ix-tooltip.entry.js +2 -2
  720. package/dist/esm/ix-tree_2.entry.js +16 -9
  721. package/dist/esm/ix-tree_2.entry.js.map +1 -1
  722. package/dist/esm/ix-typography.entry.js +25 -12
  723. package/dist/esm/ix-typography.entry.js.map +1 -1
  724. package/dist/esm/ix-upload.entry.js +2 -2
  725. package/dist/esm/ix-upload.entry.js.map +1 -1
  726. package/dist/esm/ix-validation-tooltip.entry.js +8 -8
  727. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -1
  728. package/dist/esm/ix-workflow-step_2.entry.js +14 -18
  729. package/dist/esm/ix-workflow-step_2.entry.js.map +1 -1
  730. package/dist/esm/loader.js +3 -3
  731. package/dist/esm/menu-service-12a09006.js +156 -0
  732. package/dist/esm/menu-service-12a09006.js.map +1 -0
  733. package/dist/esm/my-component.entry.js +1 -1
  734. package/dist/esm/my-component.entry.js.map +1 -1
  735. package/dist/esm/shadow-dom-b9df3d9b.js +21 -0
  736. package/dist/esm/shadow-dom-b9df3d9b.js.map +1 -0
  737. package/dist/esm/siemens-ix.js +3 -3
  738. package/dist/esm/{theme-switcher-7498e4f2.js → theme-switcher-9ede3823.js} +36 -4
  739. package/dist/esm/theme-switcher-9ede3823.js.map +1 -0
  740. package/dist/siemens-ix/index.esm.js +1 -1
  741. package/dist/siemens-ix/index.esm.js.map +1 -1
  742. package/dist/siemens-ix/p-00616f87.entry.js +2 -0
  743. package/dist/siemens-ix/{p-8c14a4a3.entry.js.map → p-00616f87.entry.js.map} +1 -1
  744. package/dist/siemens-ix/p-00df4a8c.js +2 -0
  745. package/dist/siemens-ix/p-00df4a8c.js.map +1 -0
  746. package/dist/siemens-ix/p-04eeba9e.js +2 -0
  747. package/dist/siemens-ix/p-04eeba9e.js.map +1 -0
  748. package/dist/siemens-ix/{p-b89172b4.entry.js → p-0e2045b9.entry.js} +2 -2
  749. package/dist/siemens-ix/p-0e2045b9.entry.js.map +1 -0
  750. package/dist/siemens-ix/p-134b6bd5.js +2 -0
  751. package/dist/siemens-ix/p-134b6bd5.js.map +1 -0
  752. package/dist/siemens-ix/p-14621fbd.entry.js +2 -0
  753. package/dist/siemens-ix/p-14621fbd.entry.js.map +1 -0
  754. package/dist/siemens-ix/p-1b705d7b.js +2 -0
  755. package/dist/siemens-ix/p-1b705d7b.js.map +1 -0
  756. package/dist/siemens-ix/p-1b9b19e6.js +2 -0
  757. package/dist/siemens-ix/p-1b9b19e6.js.map +1 -0
  758. package/dist/siemens-ix/p-1fc8e513.entry.js +2 -0
  759. package/dist/siemens-ix/p-1fc8e513.entry.js.map +1 -0
  760. package/dist/siemens-ix/{p-157f7ec0.entry.js → p-26855b3f.entry.js} +2 -2
  761. package/dist/siemens-ix/p-281fa225.entry.js +2 -0
  762. package/dist/siemens-ix/{p-33670e98.entry.js.map → p-281fa225.entry.js.map} +1 -1
  763. package/dist/siemens-ix/p-2a29e187.entry.js +2 -0
  764. package/dist/siemens-ix/{p-5fedb19b.entry.js.map → p-2a29e187.entry.js.map} +1 -1
  765. package/dist/siemens-ix/p-36c48f12.entry.js +2 -0
  766. package/dist/siemens-ix/p-36c48f12.entry.js.map +1 -0
  767. package/dist/siemens-ix/p-36f0b470.entry.js +2 -0
  768. package/dist/siemens-ix/p-36f0b470.entry.js.map +1 -0
  769. package/dist/siemens-ix/p-37dd62fc.entry.js +2 -0
  770. package/dist/siemens-ix/p-37dd62fc.entry.js.map +1 -0
  771. package/dist/siemens-ix/{p-0e86b47b.entry.js → p-3983ee89.entry.js} +2 -2
  772. package/dist/siemens-ix/p-3dbeeecf.entry.js +2 -0
  773. package/dist/siemens-ix/p-3dbeeecf.entry.js.map +1 -0
  774. package/dist/siemens-ix/p-3eabf464.entry.js +2 -0
  775. package/dist/siemens-ix/p-3eabf464.entry.js.map +1 -0
  776. package/dist/siemens-ix/p-40ecc8be.entry.js +2 -0
  777. package/dist/siemens-ix/p-40ecc8be.entry.js.map +1 -0
  778. package/dist/siemens-ix/{p-918450cd.entry.js → p-43497703.entry.js} +2 -2
  779. package/dist/siemens-ix/p-43497703.entry.js.map +1 -0
  780. package/dist/siemens-ix/{p-0fab8cae.entry.js → p-4659c550.entry.js} +2 -2
  781. package/dist/siemens-ix/p-475d8732.entry.js +2 -0
  782. package/dist/siemens-ix/p-475d8732.entry.js.map +1 -0
  783. package/dist/siemens-ix/p-49b9f9f5.entry.js +2 -0
  784. package/dist/siemens-ix/{p-c0345859.entry.js.map → p-49b9f9f5.entry.js.map} +1 -1
  785. package/dist/siemens-ix/{p-02f01e39.entry.js → p-4dbae019.entry.js} +2 -2
  786. package/dist/siemens-ix/p-4f8954a7.entry.js +2 -0
  787. package/dist/siemens-ix/p-4f8954a7.entry.js.map +1 -0
  788. package/dist/siemens-ix/p-5017cf39.entry.js +2 -0
  789. package/dist/siemens-ix/p-5017cf39.entry.js.map +1 -0
  790. package/dist/siemens-ix/p-5029fd0f.entry.js +2 -0
  791. package/dist/siemens-ix/p-5029fd0f.entry.js.map +1 -0
  792. package/dist/siemens-ix/p-553ebcb1.entry.js +2 -0
  793. package/dist/siemens-ix/{p-b6d52b6f.entry.js.map → p-553ebcb1.entry.js.map} +1 -1
  794. package/dist/siemens-ix/p-5650383d.entry.js +2 -0
  795. package/dist/siemens-ix/p-5650383d.entry.js.map +1 -0
  796. package/dist/siemens-ix/p-567f71a2.entry.js +2 -0
  797. package/dist/siemens-ix/p-567f71a2.entry.js.map +1 -0
  798. package/dist/siemens-ix/p-5d132cc5.entry.js +2 -0
  799. package/dist/siemens-ix/p-5d132cc5.entry.js.map +1 -0
  800. package/dist/siemens-ix/p-5e3f8c0b.entry.js +2 -0
  801. package/dist/siemens-ix/p-5e3f8c0b.entry.js.map +1 -0
  802. package/dist/siemens-ix/p-61ffc6e1.entry.js +2 -0
  803. package/dist/siemens-ix/p-61ffc6e1.entry.js.map +1 -0
  804. package/dist/siemens-ix/p-655d177c.entry.js +2 -0
  805. package/dist/siemens-ix/p-655d177c.entry.js.map +1 -0
  806. package/dist/siemens-ix/p-737fca1b.entry.js +2 -0
  807. package/dist/siemens-ix/{p-1b1bc523.entry.js.map → p-737fca1b.entry.js.map} +1 -1
  808. package/dist/siemens-ix/p-76a509c7.js +3 -0
  809. package/dist/siemens-ix/p-76a509c7.js.map +1 -0
  810. package/dist/siemens-ix/{p-4d194d55.entry.js → p-7918fd50.entry.js} +2 -2
  811. package/dist/siemens-ix/p-7918fd50.entry.js.map +1 -0
  812. package/dist/siemens-ix/p-7a884056.entry.js +2 -0
  813. package/dist/siemens-ix/{p-c4ea8815.entry.js.map → p-7a884056.entry.js.map} +1 -1
  814. package/dist/siemens-ix/p-7b536489.entry.js +2 -0
  815. package/dist/siemens-ix/p-7b536489.entry.js.map +1 -0
  816. package/dist/siemens-ix/p-85f39bd4.js +2 -0
  817. package/dist/siemens-ix/p-85f39bd4.js.map +1 -0
  818. package/dist/siemens-ix/{p-db74796e.js → p-8c7d1e06.js} +2 -2
  819. package/dist/siemens-ix/p-8e39298f.js +2 -0
  820. package/dist/siemens-ix/p-8e39298f.js.map +1 -0
  821. package/dist/siemens-ix/p-94ecb1af.entry.js +2 -0
  822. package/dist/siemens-ix/p-94ecb1af.entry.js.map +1 -0
  823. package/dist/siemens-ix/p-9848e4de.entry.js +2 -0
  824. package/dist/siemens-ix/p-9848e4de.entry.js.map +1 -0
  825. package/dist/siemens-ix/p-98b03a9b.entry.js +2 -0
  826. package/dist/siemens-ix/p-98b03a9b.entry.js.map +1 -0
  827. package/dist/siemens-ix/p-9a05ac00.js +2 -0
  828. package/dist/siemens-ix/p-9a05ac00.js.map +1 -0
  829. package/dist/siemens-ix/p-9b6075de.entry.js +2 -0
  830. package/dist/siemens-ix/p-9b6075de.entry.js.map +1 -0
  831. package/dist/siemens-ix/p-a0fdaa04.entry.js +2 -0
  832. package/dist/siemens-ix/p-a18f1744.entry.js +2 -0
  833. package/dist/siemens-ix/p-a18f1744.entry.js.map +1 -0
  834. package/dist/siemens-ix/p-a3d6abfb.entry.js +2 -0
  835. package/dist/siemens-ix/p-a3d6abfb.entry.js.map +1 -0
  836. package/dist/siemens-ix/p-a5ae7bfa.entry.js +2 -0
  837. package/dist/siemens-ix/p-a5ae7bfa.entry.js.map +1 -0
  838. package/dist/siemens-ix/p-a6345f97.entry.js +2 -0
  839. package/dist/siemens-ix/p-a6345f97.entry.js.map +1 -0
  840. package/dist/siemens-ix/p-a8424ce3.entry.js +2 -0
  841. package/dist/siemens-ix/p-a8424ce3.entry.js.map +1 -0
  842. package/dist/siemens-ix/p-a85299c6.entry.js +2 -0
  843. package/dist/siemens-ix/p-a85299c6.entry.js.map +1 -0
  844. package/dist/siemens-ix/p-ab452b82.js +2 -0
  845. package/dist/siemens-ix/p-ab452b82.js.map +1 -0
  846. package/dist/siemens-ix/p-ab4bdb4e.entry.js +2 -0
  847. package/dist/siemens-ix/p-ab4bdb4e.entry.js.map +1 -0
  848. package/dist/siemens-ix/p-ac00ae47.entry.js +2 -0
  849. package/dist/siemens-ix/p-ac00ae47.entry.js.map +1 -0
  850. package/dist/siemens-ix/p-b007e4b4.entry.js +2 -0
  851. package/dist/siemens-ix/{p-b21bc31c.entry.js.map → p-b007e4b4.entry.js.map} +1 -1
  852. package/dist/siemens-ix/p-b0a1930d.entry.js +2 -0
  853. package/dist/siemens-ix/p-b0a1930d.entry.js.map +1 -0
  854. package/dist/siemens-ix/{p-34807901.entry.js → p-b25c770f.entry.js} +2 -2
  855. package/dist/siemens-ix/{p-34807901.entry.js.map → p-b25c770f.entry.js.map} +1 -1
  856. package/dist/siemens-ix/{p-f38e7420.entry.js → p-b38eff08.entry.js} +2 -2
  857. package/dist/siemens-ix/p-b45ca515.entry.js +2 -0
  858. package/dist/siemens-ix/p-b45ca515.entry.js.map +1 -0
  859. package/dist/siemens-ix/{p-f0219d7a.entry.js → p-b735ee5e.entry.js} +2 -2
  860. package/dist/siemens-ix/p-c1ac2d01.entry.js +2 -0
  861. package/dist/siemens-ix/{p-06603826.entry.js.map → p-c1ac2d01.entry.js.map} +1 -1
  862. package/dist/siemens-ix/p-c1f5a59a.entry.js +2 -0
  863. package/dist/siemens-ix/p-c1f5a59a.entry.js.map +1 -0
  864. package/dist/siemens-ix/p-c75264af.entry.js +2 -0
  865. package/dist/siemens-ix/p-c75264af.entry.js.map +1 -0
  866. package/dist/siemens-ix/p-cd0e77f1.entry.js +2 -0
  867. package/dist/siemens-ix/{p-9547706d.entry.js.map → p-cd0e77f1.entry.js.map} +1 -1
  868. package/dist/siemens-ix/{p-d48d74af.entry.js → p-cd1e0061.entry.js} +2 -2
  869. package/dist/siemens-ix/p-ce0a7c1a.entry.js +2 -0
  870. package/dist/siemens-ix/{p-07a0b330.entry.js.map → p-ce0a7c1a.entry.js.map} +1 -1
  871. package/dist/siemens-ix/p-d214f57a.entry.js +2 -0
  872. package/dist/siemens-ix/{p-a9619a92.entry.js.map → p-d214f57a.entry.js.map} +1 -1
  873. package/dist/siemens-ix/p-d29bcf75.entry.js +2 -0
  874. package/dist/siemens-ix/p-d29bcf75.entry.js.map +1 -0
  875. package/dist/siemens-ix/{p-0dea55bf.entry.js → p-d87de06f.entry.js} +2 -2
  876. package/dist/siemens-ix/{p-d7e8417d.entry.js → p-da133606.entry.js} +2 -2
  877. package/dist/siemens-ix/p-da133606.entry.js.map +1 -0
  878. package/dist/siemens-ix/p-db174600.entry.js +2 -0
  879. package/dist/siemens-ix/p-db2f237f.entry.js +2 -0
  880. package/dist/siemens-ix/p-db2f237f.entry.js.map +1 -0
  881. package/dist/siemens-ix/p-dc77f962.entry.js +2 -0
  882. package/dist/siemens-ix/{p-d81d0f62.entry.js.map → p-dc77f962.entry.js.map} +1 -1
  883. package/dist/siemens-ix/{p-81333042.entry.js → p-de013166.entry.js} +2 -2
  884. package/dist/siemens-ix/p-de013166.entry.js.map +1 -0
  885. package/dist/siemens-ix/p-e2c200f3.entry.js +2 -0
  886. package/dist/siemens-ix/{p-2ea3d53a.entry.js.map → p-e2c200f3.entry.js.map} +1 -1
  887. package/dist/siemens-ix/p-e610b2b8.entry.js +2 -0
  888. package/dist/siemens-ix/{p-e8f2e141.entry.js.map → p-e610b2b8.entry.js.map} +1 -1
  889. package/dist/siemens-ix/p-eb29049a.entry.js +2 -0
  890. package/dist/siemens-ix/p-eb29049a.entry.js.map +1 -0
  891. package/dist/siemens-ix/p-eb3f1ef6.entry.js +2 -0
  892. package/dist/siemens-ix/p-eb3f1ef6.entry.js.map +1 -0
  893. package/dist/siemens-ix/p-ebeef6fd.entry.js +2 -0
  894. package/dist/siemens-ix/p-ebeef6fd.entry.js.map +1 -0
  895. package/dist/siemens-ix/p-f71da594.entry.js +2 -0
  896. package/dist/siemens-ix/{p-7d2aec76.entry.js.map → p-f71da594.entry.js.map} +1 -1
  897. package/dist/siemens-ix/{p-20aa7350.entry.js → p-f88b25d7.entry.js} +2 -2
  898. package/dist/siemens-ix/p-f9b004ba.entry.js +2 -0
  899. package/dist/siemens-ix/{p-bf019e35.entry.js.map → p-f9b004ba.entry.js.map} +1 -1
  900. package/dist/siemens-ix/p-f9d4ca13.entry.js +2 -0
  901. package/dist/siemens-ix/p-f9d4ca13.entry.js.map +1 -0
  902. package/dist/siemens-ix/p-feb80449.entry.js +2 -0
  903. package/dist/siemens-ix/{p-a64d88de.entry.js.map → p-feb80449.entry.js.map} +1 -1
  904. package/dist/siemens-ix/siemens-ix-core.css +1 -12289
  905. package/dist/siemens-ix/siemens-ix.css +8249 -11730
  906. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  907. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  908. package/dist/siemens-ix/theme/classic-dark.css +1 -1062
  909. package/dist/siemens-ix/theme/classic-light.css +1 -1062
  910. package/dist/siemens-ix/theme/legacy-classic-dark.css +1 -1061
  911. package/dist/siemens-ix/theme/legacy-classic-light.css +1 -1061
  912. package/dist/types/components/application/application.d.ts +36 -0
  913. package/dist/types/components/application-header/application-header.d.ts +2 -5
  914. package/dist/types/components/application-header/test/application-headet.ct.d.ts +1 -0
  915. package/dist/types/components/application-sidebar/application-sidebar.d.ts +7 -0
  916. package/dist/types/components/application-sidebar/events.d.ts +4 -0
  917. package/dist/types/components/basic-navigation/basic-navigation.d.ts +14 -2
  918. package/dist/types/components/blind/blind.d.ts +5 -0
  919. package/dist/types/components/breadcrumb/breadcrumb.d.ts +15 -14
  920. package/dist/types/components/breadcrumb/test/breadcrumb.ct.d.ts +1 -0
  921. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +15 -0
  922. package/dist/types/components/button/base-button.d.ts +25 -0
  923. package/dist/types/components/button/button.d.ts +4 -10
  924. package/dist/types/components/category-filter/category-filter.d.ts +12 -5
  925. package/dist/types/components/col/col.d.ts +31 -0
  926. package/dist/types/components/content/content.d.ts +7 -0
  927. package/dist/types/components/dropdown-button/dropdown-button.d.ts +7 -0
  928. package/dist/types/components/filter-chip/filter-chip.d.ts +5 -0
  929. package/dist/types/components/flip-tile/flip-tile.d.ts +9 -11
  930. package/dist/types/components/flip-tile/test/flip-tile.ct.d.ts +1 -0
  931. package/dist/types/components/flip-tile-content/flip-tile-content.d.ts +6 -0
  932. package/dist/types/components/form-field/form-field.d.ts +10 -0
  933. package/dist/types/components/grid/grid.d.ts +18 -0
  934. package/dist/types/components/icon-button/base-icon-button.d.ts +2 -0
  935. package/dist/types/components/icon-button/icon-button.d.ts +2 -13
  936. package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +54 -0
  937. package/dist/types/components/input-group/input-group.d.ts +11 -1
  938. package/dist/types/components/map-navigation/map-navigation.d.ts +1 -0
  939. package/dist/types/components/menu/menu.d.ts +9 -14
  940. package/dist/types/components/menu-item/menu-item.d.ts +2 -0
  941. package/dist/types/components/pagination/pagination.d.ts +1 -1
  942. package/dist/types/components/row/row.d.ts +6 -0
  943. package/dist/types/components/select/select.d.ts +23 -7
  944. package/dist/types/components/tab-item/tab-item.d.ts +10 -0
  945. package/dist/types/components/tabs/tabs.d.ts +8 -0
  946. package/dist/types/components/tabs/test/tabs.ct.d.ts +1 -0
  947. package/dist/types/components/toggle-button/toggle-button.d.ts +48 -0
  948. package/dist/types/components/tree/test/tree.ct.d.ts +1 -0
  949. package/dist/types/components/tree/tree.d.ts +2 -1
  950. package/dist/types/components/typography/typography.d.ts +24 -1
  951. package/dist/types/components/utils/application-layout/context.d.ts +6 -0
  952. package/dist/types/components/utils/application-layout/index.d.ts +1 -0
  953. package/dist/types/components/utils/application-layout/service.d.ts +16 -0
  954. package/dist/types/components/utils/breakpoints.d.ts +8 -0
  955. package/dist/types/components/utils/context.d.ts +57 -0
  956. package/dist/types/components/utils/shadow-dom.d.ts +1 -1
  957. package/dist/types/components/utils/theme-switcher.d.ts +10 -3
  958. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +1 -1
  959. package/dist/types/components/workflow-step/workflow-step.d.ts +1 -2
  960. package/dist/types/components/workflow-steps/test/workflow-steps.ct.d.ts +1 -0
  961. package/dist/types/components/workflow-steps/workflow-steps.d.ts +0 -5
  962. package/dist/types/components.d.ts +556 -167
  963. package/package.json +7 -5
  964. package/scss/_core.scss +66 -0
  965. package/scss/components/_checkboxes.scss +9 -3
  966. package/scss/components/_fonts.scss +131 -0
  967. package/scss/components/_table.scss +1 -1
  968. package/scss/components/form/_input.scss +155 -0
  969. package/scss/ix-core.scss +2 -75
  970. package/scss/ix.scss +3 -74
  971. package/scss/{_fonts.scss → legacy/_fonts.scss} +1 -1
  972. package/scss/{components → legacy/components}/_buttons.scss +14 -12
  973. package/scss/{components → legacy/components}/_dropdown.scss +1 -1
  974. package/scss/{components → legacy/components}/_forms.scss +6 -1
  975. package/scss/{components → legacy/components}/_modal.scss +1 -1
  976. package/scss/legacy/mixins/_fonts.scss +166 -0
  977. package/scss/mixins/_break-points.scss +25 -0
  978. package/scss/mixins/_fonts.scss +149 -105
  979. package/scss/mixins/_hover.scss +3 -1
  980. package/scss/mixins/_scrollbar.scss +44 -0
  981. package/scss/mixins/shadow-dom/_component.scss +4 -0
  982. package/scss/theme/classic-dark/_boxShadow.scss +5 -5
  983. package/scss/theme/classic-dark/_fontFamilies.scss +2 -1
  984. package/scss/theme/classic-dark/_fontSizes.scss +11 -0
  985. package/scss/theme/classic-dark/_fontWeights.scss +2 -1
  986. package/scss/theme/classic-dark/_index.scss +7 -0
  987. package/scss/theme/classic-dark/_letterSpacing.scss +13 -0
  988. package/scss/theme/classic-dark/_lineHeights.scss +4 -1
  989. package/scss/theme/classic-dark/_sizing.scss +12 -0
  990. package/scss/theme/classic-dark/_spacing.scss +12 -0
  991. package/scss/theme/classic-dark/_typography.scss +39 -16
  992. package/scss/theme/classic-light/_boxShadow.scss +5 -5
  993. package/scss/theme/classic-light/_fontFamilies.scss +2 -1
  994. package/scss/theme/classic-light/_fontSizes.scss +11 -0
  995. package/scss/theme/classic-light/_fontWeights.scss +2 -1
  996. package/scss/theme/classic-light/_index.scss +7 -0
  997. package/scss/theme/classic-light/_letterSpacing.scss +13 -0
  998. package/scss/theme/classic-light/_lineHeights.scss +4 -1
  999. package/scss/theme/classic-light/_sizing.scss +12 -0
  1000. package/scss/theme/classic-light/_spacing.scss +12 -0
  1001. package/scss/theme/classic-light/_typography.scss +39 -16
  1002. package/scss/theme/legacy-classic-dark/_fontFamilies.scss +2 -1
  1003. package/scss/theme/legacy-classic-dark/_fontSizes.scss +11 -0
  1004. package/scss/theme/legacy-classic-dark/_fontWeights.scss +2 -1
  1005. package/scss/theme/legacy-classic-dark/_index.scss +7 -0
  1006. package/scss/theme/legacy-classic-dark/_letterSpacing.scss +13 -0
  1007. package/scss/theme/legacy-classic-dark/_lineHeights.scss +4 -1
  1008. package/scss/theme/legacy-classic-dark/_sizing.scss +12 -0
  1009. package/scss/theme/legacy-classic-dark/_spacing.scss +12 -0
  1010. package/scss/theme/legacy-classic-dark/_typography.scss +39 -16
  1011. package/scss/theme/legacy-classic-light/_fontFamilies.scss +2 -1
  1012. package/scss/theme/legacy-classic-light/_fontSizes.scss +11 -0
  1013. package/scss/theme/legacy-classic-light/_fontWeights.scss +2 -1
  1014. package/scss/theme/legacy-classic-light/_index.scss +7 -0
  1015. package/scss/theme/legacy-classic-light/_letterSpacing.scss +13 -0
  1016. package/scss/theme/legacy-classic-light/_lineHeights.scss +4 -1
  1017. package/scss/theme/legacy-classic-light/_sizing.scss +12 -0
  1018. package/scss/theme/legacy-classic-light/_spacing.scss +12 -0
  1019. package/scss/theme/legacy-classic-light/_typography.scss +39 -16
  1020. package/dist/cjs/base-button-497db257.js +0 -35
  1021. package/dist/cjs/base-button-497db257.js.map +0 -1
  1022. package/dist/cjs/context-2ce9a350.js +0 -26
  1023. package/dist/cjs/context-2ce9a350.js.map +0 -1
  1024. package/dist/cjs/floating-ui.dom.esm-b79b633f.js.map +0 -1
  1025. package/dist/cjs/index-e56a1d39.js.map +0 -1
  1026. package/dist/cjs/ix-animated-tab_2.cjs.entry.js +0 -214
  1027. package/dist/cjs/ix-animated-tab_2.cjs.entry.js.map +0 -1
  1028. package/dist/cjs/ix-index-button.cjs.entry.js +0 -28
  1029. package/dist/cjs/ix-index-button.cjs.entry.js.map +0 -1
  1030. package/dist/cjs/menu-service-d1b87142.js +0 -80
  1031. package/dist/cjs/menu-service-d1b87142.js.map +0 -1
  1032. package/dist/cjs/service-0e27b06b.js +0 -145
  1033. package/dist/cjs/service-0e27b06b.js.map +0 -1
  1034. package/dist/cjs/shadow-dom-f9b90696.js.map +0 -1
  1035. package/dist/cjs/theme-switcher-bdbd0d30.js.map +0 -1
  1036. package/dist/collection/components/animated-tab/animated-tab.js +0 -69
  1037. package/dist/collection/components/animated-tab/animated-tab.js.map +0 -1
  1038. package/dist/collection/components/animated-tabs/animated-tabs.css +0 -158
  1039. package/dist/collection/components/animated-tabs/animated-tabs.js +0 -303
  1040. package/dist/collection/components/animated-tabs/animated-tabs.js.map +0 -1
  1041. package/dist/collection/components/index-button/index-button.css +0 -31
  1042. package/dist/collection/components/index-button/index-button.js +0 -83
  1043. package/dist/collection/components/index-button/index-button.js.map +0 -1
  1044. package/dist/collection/components/layout/css-grid/builder.js.map +0 -1
  1045. package/dist/collection/components/layout/css-grid/css-grid-item.js.map +0 -1
  1046. package/dist/collection/components/layout/css-grid/css-grid.js.map +0 -1
  1047. package/dist/collection/components/utils/screen/context.js +0 -34
  1048. package/dist/collection/components/utils/screen/context.js.map +0 -1
  1049. package/dist/collection/components/utils/screen/index.js.map +0 -1
  1050. package/dist/collection/components/utils/screen/mode.js +0 -85
  1051. package/dist/collection/components/utils/screen/mode.js.map +0 -1
  1052. package/dist/collection/components/utils/screen/service.js +0 -68
  1053. package/dist/collection/components/utils/screen/service.js.map +0 -1
  1054. package/dist/components/index-button.js +0 -41
  1055. package/dist/components/index-button.js.map +0 -1
  1056. package/dist/components/ix-animated-tab.js +0 -39
  1057. package/dist/components/ix-animated-tab.js.map +0 -1
  1058. package/dist/components/ix-animated-tabs.js +0 -224
  1059. package/dist/components/ix-animated-tabs.js.map +0 -1
  1060. package/dist/components/ix-index-button.js +0 -8
  1061. package/dist/components/ix-index-button.js.map +0 -1
  1062. package/dist/components/service.js +0 -143
  1063. package/dist/components/service.js.map +0 -1
  1064. package/dist/esm/base-button-5bfeb71c.js +0 -33
  1065. package/dist/esm/base-button-5bfeb71c.js.map +0 -1
  1066. package/dist/esm/context-381170ae.js +0 -22
  1067. package/dist/esm/context-381170ae.js.map +0 -1
  1068. package/dist/esm/floating-ui.dom.esm-9b203a02.js.map +0 -1
  1069. package/dist/esm/index-7334ee80.js.map +0 -1
  1070. package/dist/esm/ix-animated-tab_2.entry.js +0 -209
  1071. package/dist/esm/ix-animated-tab_2.entry.js.map +0 -1
  1072. package/dist/esm/ix-index-button.entry.js +0 -24
  1073. package/dist/esm/ix-index-button.entry.js.map +0 -1
  1074. package/dist/esm/menu-service-b3076949.js +0 -78
  1075. package/dist/esm/menu-service-b3076949.js.map +0 -1
  1076. package/dist/esm/service-586129b5.js +0 -143
  1077. package/dist/esm/service-586129b5.js.map +0 -1
  1078. package/dist/esm/shadow-dom-6860b1c4.js.map +0 -1
  1079. package/dist/esm/theme-switcher-7498e4f2.js.map +0 -1
  1080. package/dist/siemens-ix/p-00f74fc9.entry.js +0 -2
  1081. package/dist/siemens-ix/p-00f74fc9.entry.js.map +0 -1
  1082. package/dist/siemens-ix/p-01c37ebe.entry.js +0 -2
  1083. package/dist/siemens-ix/p-01c37ebe.entry.js.map +0 -1
  1084. package/dist/siemens-ix/p-0574cf88.entry.js +0 -2
  1085. package/dist/siemens-ix/p-0574cf88.entry.js.map +0 -1
  1086. package/dist/siemens-ix/p-06603826.entry.js +0 -2
  1087. package/dist/siemens-ix/p-06fcaee3.entry.js +0 -2
  1088. package/dist/siemens-ix/p-06fcaee3.entry.js.map +0 -1
  1089. package/dist/siemens-ix/p-07a0b330.entry.js +0 -2
  1090. package/dist/siemens-ix/p-09ce5f12.entry.js +0 -2
  1091. package/dist/siemens-ix/p-09ce5f12.entry.js.map +0 -1
  1092. package/dist/siemens-ix/p-0c9ead45.entry.js +0 -2
  1093. package/dist/siemens-ix/p-0c9ead45.entry.js.map +0 -1
  1094. package/dist/siemens-ix/p-15996fa7.entry.js +0 -2
  1095. package/dist/siemens-ix/p-15996fa7.entry.js.map +0 -1
  1096. package/dist/siemens-ix/p-1b1bc523.entry.js +0 -2
  1097. package/dist/siemens-ix/p-2ea3d53a.entry.js +0 -2
  1098. package/dist/siemens-ix/p-303b8c2f.entry.js +0 -2
  1099. package/dist/siemens-ix/p-303b8c2f.entry.js.map +0 -1
  1100. package/dist/siemens-ix/p-323d5529.js +0 -2
  1101. package/dist/siemens-ix/p-323d5529.js.map +0 -1
  1102. package/dist/siemens-ix/p-33670e98.entry.js +0 -2
  1103. package/dist/siemens-ix/p-34633470.entry.js +0 -2
  1104. package/dist/siemens-ix/p-34633470.entry.js.map +0 -1
  1105. package/dist/siemens-ix/p-38e69215.entry.js +0 -2
  1106. package/dist/siemens-ix/p-38e69215.entry.js.map +0 -1
  1107. package/dist/siemens-ix/p-3a99b0c8.entry.js +0 -2
  1108. package/dist/siemens-ix/p-3a99b0c8.entry.js.map +0 -1
  1109. package/dist/siemens-ix/p-45738e84.js +0 -2
  1110. package/dist/siemens-ix/p-45738e84.js.map +0 -1
  1111. package/dist/siemens-ix/p-4d194d55.entry.js.map +0 -1
  1112. package/dist/siemens-ix/p-56a27b34.entry.js +0 -2
  1113. package/dist/siemens-ix/p-56a27b34.entry.js.map +0 -1
  1114. package/dist/siemens-ix/p-5b39e04e.js +0 -2
  1115. package/dist/siemens-ix/p-5b39e04e.js.map +0 -1
  1116. package/dist/siemens-ix/p-5fedb19b.entry.js +0 -2
  1117. package/dist/siemens-ix/p-627148db.entry.js +0 -2
  1118. package/dist/siemens-ix/p-627148db.entry.js.map +0 -1
  1119. package/dist/siemens-ix/p-62f4db99.entry.js +0 -2
  1120. package/dist/siemens-ix/p-62f4db99.entry.js.map +0 -1
  1121. package/dist/siemens-ix/p-63b82e40.entry.js +0 -2
  1122. package/dist/siemens-ix/p-63b82e40.entry.js.map +0 -1
  1123. package/dist/siemens-ix/p-68c44614.entry.js +0 -2
  1124. package/dist/siemens-ix/p-68c44614.entry.js.map +0 -1
  1125. package/dist/siemens-ix/p-7021c2d1.entry.js +0 -2
  1126. package/dist/siemens-ix/p-7021c2d1.entry.js.map +0 -1
  1127. package/dist/siemens-ix/p-709d38fe.entry.js +0 -2
  1128. package/dist/siemens-ix/p-709d38fe.entry.js.map +0 -1
  1129. package/dist/siemens-ix/p-785726e8.entry.js +0 -2
  1130. package/dist/siemens-ix/p-785726e8.entry.js.map +0 -1
  1131. package/dist/siemens-ix/p-7d2aec76.entry.js +0 -2
  1132. package/dist/siemens-ix/p-81333042.entry.js.map +0 -1
  1133. package/dist/siemens-ix/p-8c14a4a3.entry.js +0 -2
  1134. package/dist/siemens-ix/p-8ce73af1.entry.js +0 -2
  1135. package/dist/siemens-ix/p-8ce73af1.entry.js.map +0 -1
  1136. package/dist/siemens-ix/p-904aa275.entry.js +0 -2
  1137. package/dist/siemens-ix/p-904aa275.entry.js.map +0 -1
  1138. package/dist/siemens-ix/p-918450cd.entry.js.map +0 -1
  1139. package/dist/siemens-ix/p-9547706d.entry.js +0 -2
  1140. package/dist/siemens-ix/p-9903e755.entry.js +0 -2
  1141. package/dist/siemens-ix/p-9903e755.entry.js.map +0 -1
  1142. package/dist/siemens-ix/p-9d264ca8.entry.js +0 -2
  1143. package/dist/siemens-ix/p-9d264ca8.entry.js.map +0 -1
  1144. package/dist/siemens-ix/p-a64d88de.entry.js +0 -2
  1145. package/dist/siemens-ix/p-a8e8a942.entry.js +0 -2
  1146. package/dist/siemens-ix/p-a9619a92.entry.js +0 -2
  1147. package/dist/siemens-ix/p-b21bc31c.entry.js +0 -2
  1148. package/dist/siemens-ix/p-b6d52b6f.entry.js +0 -2
  1149. package/dist/siemens-ix/p-b89172b4.entry.js.map +0 -1
  1150. package/dist/siemens-ix/p-b899b25b.js +0 -3
  1151. package/dist/siemens-ix/p-b899b25b.js.map +0 -1
  1152. package/dist/siemens-ix/p-bf019e35.entry.js +0 -2
  1153. package/dist/siemens-ix/p-c0345859.entry.js +0 -2
  1154. package/dist/siemens-ix/p-c4ea8815.entry.js +0 -2
  1155. package/dist/siemens-ix/p-c84a43ef.entry.js +0 -2
  1156. package/dist/siemens-ix/p-c84a43ef.entry.js.map +0 -1
  1157. package/dist/siemens-ix/p-d0a8aa6f.entry.js +0 -2
  1158. package/dist/siemens-ix/p-d43bf856.js +0 -2
  1159. package/dist/siemens-ix/p-d43bf856.js.map +0 -1
  1160. package/dist/siemens-ix/p-d737ad96.js +0 -2
  1161. package/dist/siemens-ix/p-d737ad96.js.map +0 -1
  1162. package/dist/siemens-ix/p-d7e8417d.entry.js.map +0 -1
  1163. package/dist/siemens-ix/p-d81d0f62.entry.js +0 -2
  1164. package/dist/siemens-ix/p-d991a3d6.entry.js +0 -2
  1165. package/dist/siemens-ix/p-d991a3d6.entry.js.map +0 -1
  1166. package/dist/siemens-ix/p-dbca4dd5.entry.js +0 -2
  1167. package/dist/siemens-ix/p-dbca4dd5.entry.js.map +0 -1
  1168. package/dist/siemens-ix/p-e1c92dcb.entry.js +0 -2
  1169. package/dist/siemens-ix/p-e1c92dcb.entry.js.map +0 -1
  1170. package/dist/siemens-ix/p-e275814e.js +0 -2
  1171. package/dist/siemens-ix/p-e275814e.js.map +0 -1
  1172. package/dist/siemens-ix/p-e3db25ef.entry.js +0 -2
  1173. package/dist/siemens-ix/p-e3db25ef.entry.js.map +0 -1
  1174. package/dist/siemens-ix/p-e8f2e141.entry.js +0 -2
  1175. package/dist/siemens-ix/p-eca0b89c.entry.js +0 -2
  1176. package/dist/siemens-ix/p-eca0b89c.entry.js.map +0 -1
  1177. package/dist/siemens-ix/p-ef73f7e3.entry.js +0 -2
  1178. package/dist/siemens-ix/p-ef73f7e3.entry.js.map +0 -1
  1179. package/dist/siemens-ix/p-f22423c2.js +0 -2
  1180. package/dist/siemens-ix/p-f22423c2.js.map +0 -1
  1181. package/dist/siemens-ix/p-f4d634f5.entry.js +0 -2
  1182. package/dist/siemens-ix/p-f4d634f5.entry.js.map +0 -1
  1183. package/dist/siemens-ix/p-fafe1aeb.entry.js +0 -2
  1184. package/dist/siemens-ix/p-fafe1aeb.entry.js.map +0 -1
  1185. package/dist/siemens-ix/p-fe073f2a.entry.js +0 -2
  1186. package/dist/siemens-ix/p-fe073f2a.entry.js.map +0 -1
  1187. package/dist/siemens-ix/p-ff17104c.entry.js +0 -2
  1188. package/dist/siemens-ix/p-ff17104c.entry.js.map +0 -1
  1189. package/dist/types/components/animated-tab/animated-tab.d.ts +0 -11
  1190. package/dist/types/components/animated-tabs/animated-tabs.d.ts +0 -44
  1191. package/dist/types/components/index-button/index-button.d.ts +0 -16
  1192. package/dist/types/components/utils/screen/context.d.ts +0 -5
  1193. package/dist/types/components/utils/screen/index.d.ts +0 -1
  1194. package/dist/types/components/utils/screen/mode.d.ts +0 -13
  1195. package/dist/types/components/utils/screen/service.d.ts +0 -15
  1196. /package/dist/collection/components/{layout/css-grid → css-grid}/builder.js +0 -0
  1197. /package/dist/collection/components/{layout/css-grid → css-grid}/css-grid-item.css +0 -0
  1198. /package/dist/collection/components/{layout/css-grid → css-grid}/css-grid-item.js +0 -0
  1199. /package/dist/collection/components/{layout/css-grid → css-grid}/css-grid.css +0 -0
  1200. /package/dist/siemens-ix/{p-157f7ec0.entry.js.map → p-26855b3f.entry.js.map} +0 -0
  1201. /package/dist/siemens-ix/{p-0e86b47b.entry.js.map → p-3983ee89.entry.js.map} +0 -0
  1202. /package/dist/siemens-ix/{p-0fab8cae.entry.js.map → p-4659c550.entry.js.map} +0 -0
  1203. /package/dist/siemens-ix/{p-02f01e39.entry.js.map → p-4dbae019.entry.js.map} +0 -0
  1204. /package/dist/siemens-ix/{p-db74796e.js.map → p-8c7d1e06.js.map} +0 -0
  1205. /package/dist/siemens-ix/{p-a8e8a942.entry.js.map → p-a0fdaa04.entry.js.map} +0 -0
  1206. /package/dist/siemens-ix/{p-f38e7420.entry.js.map → p-b38eff08.entry.js.map} +0 -0
  1207. /package/dist/siemens-ix/{p-f0219d7a.entry.js.map → p-b735ee5e.entry.js.map} +0 -0
  1208. /package/dist/siemens-ix/{p-d48d74af.entry.js.map → p-cd1e0061.entry.js.map} +0 -0
  1209. /package/dist/siemens-ix/{p-0dea55bf.entry.js.map → p-d87de06f.entry.js.map} +0 -0
  1210. /package/dist/siemens-ix/{p-d0a8aa6f.entry.js.map → p-db174600.entry.js.map} +0 -0
  1211. /package/dist/siemens-ix/{p-20aa7350.entry.js.map → p-f88b25d7.entry.js.map} +0 -0
  1212. /package/dist/types/components/{layout/css-grid → css-grid}/builder.d.ts +0 -0
  1213. /package/dist/types/components/{layout/css-grid → css-grid}/css-grid-item.d.ts +0 -0
  1214. /package/dist/types/components/{layout/css-grid → css-grid}/css-grid.d.ts +0 -0
  1215. /package/scss/{components → legacy/components}/_button-group.scss +0 -0
@@ -1,7 +1,7 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$1 } from './icon.js';
3
3
 
4
- const tabsCss = ":host{width:auto;display:flex;align-items:center;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host .tab-items{overflow:hidden;scroll-behavior:smooth;width:100%}:host .tab-items .items-content{display:flex;align-items:center}:host .arrow{position:absolute;display:flex;align-items:center;justify-content:center;width:32px;height:32px;top:0;bottom:0;left:0;margin:auto 0;border-radius:4px;color:var(--theme-btn-invisible-primary--color);background-color:var(--theme-btn-invisible-primary--background);z-index:2}:host .arrow:hover{color:var(--theme-btn-invisible-primary--color--hover);background-color:var(--theme-btn-invisible-primary--background--hover)}:host .arrow:active{color:var(--theme-btn-invisible-primary--color--active);background-color:var(--theme-btn-invisible-primary--background--active)}:host .arrow.right{left:auto;right:0}:host .overflow-shadow{display:block;position:relative;height:100%;width:100%;pointer-events:all}:host .overflow-shadow.shadow-left{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px);mask-image:linear-gradient(90deg, transparent 0px, black 45px)}:host .overflow-shadow.shadow-right{-webkit-mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%)}:host .overflow-shadow.shadow-both{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%)}";
4
+ const tabsCss = ":host{width:auto;display:flex;align-items:center;position:relative}: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 .tab-items{overflow:hidden;scroll-behavior:smooth;width:100%}:host .tab-items .items-content{display:flex;align-items:center}:host .arrow{position:absolute;display:flex;align-items:center;justify-content:center;width:32px;height:32px;top:0;bottom:0;left:0;margin:auto 0;border-radius:4px;color:var(--theme-btn-invisible-primary--color);background-color:var(--theme-btn-invisible-primary--background);z-index:2}:host .arrow:hover{color:var(--theme-btn-invisible-primary--color--hover);background-color:var(--theme-btn-invisible-primary--background--hover)}:host .arrow:active{color:var(--theme-btn-invisible-primary--color--active);background-color:var(--theme-btn-invisible-primary--background--active)}:host .arrow.right{left:auto;right:0}:host .overflow-shadow{display:block;position:relative;height:100%;width:100%;pointer-events:all}:host .overflow-shadow.shadow-left{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px);mask-image:linear-gradient(90deg, transparent 0px, black 45px)}:host .overflow-shadow.shadow-right{-webkit-mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%)}:host .overflow-shadow.shadow-both{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%)}";
5
5
 
6
6
  let windowStartSize = window.innerWidth;
7
7
  const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
@@ -9,6 +9,7 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
9
9
  super();
10
10
  this.__registerHost();
11
11
  this.__attachShadow();
12
+ this.selectedChange = createEvent(this, "selectedChange", 7);
12
13
  this.clickAction = {
13
14
  timeout: null,
14
15
  isClick: true,
@@ -105,8 +106,13 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
105
106
  this.selected = index;
106
107
  }
107
108
  clickTab(index) {
108
- if (this.dragStop())
109
+ if (this.dragStop()) {
109
110
  return;
111
+ }
112
+ const { defaultPrevented } = this.selectedChange.emit(index);
113
+ if (defaultPrevented) {
114
+ return;
115
+ }
110
116
  this.setSelected(index);
111
117
  this.moveTabToView(index);
112
118
  }
@@ -163,13 +169,22 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
163
169
  }
164
170
  componentDidLoad() {
165
171
  const tabs = this.getTabs();
166
- tabs.forEach((element, index) => {
167
- const isDisabled = element.getAttribute('disabled') !== null;
168
- if (!isDisabled)
169
- element.addEventListener('click', () => this.clickTab(index));
172
+ tabs.forEach((element) => {
170
173
  element.addEventListener('mousedown', (event) => this.dragStart(element, event));
171
174
  });
172
175
  }
176
+ onTabClick(event) {
177
+ if (event.defaultPrevented) {
178
+ return;
179
+ }
180
+ const target = event.target;
181
+ const tabs = this.getTabs();
182
+ tabs.forEach((tab, index) => {
183
+ if (!tab.disabled && tab === target) {
184
+ this.clickTab(index);
185
+ }
186
+ });
187
+ }
173
188
  render() {
174
189
  return (h(Host, null, h("div", { class: "arrow", style: this.stylePreviousArrow, onClick: () => this.move(this.scrollAmount, true) }, h("ix-icon", { name: "chevron-left-small" })), h("div", { class: {
175
190
  'tab-items': true,
@@ -193,7 +208,7 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
193
208
  "styleNextArrow": [32],
194
209
  "stylePreviousArrow": [32],
195
210
  "scrollActionAmount": [32]
196
- }, [[9, "resize", "onWindowResize"]]]);
211
+ }, [[9, "resize", "onWindowResize"], [0, "tabClick", "onTabClick"]]]);
197
212
  function defineCustomElement() {
198
213
  if (typeof customElements === "undefined") {
199
214
  return;
@@ -1 +1 @@
1
- {"file":"tabs.js","mappings":"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","names":[],"sources":["./src/components/tabs/tabs.scss?tag=ix-tabs&encapsulation=shadow","./src/components/tabs/tabs.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 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n width: auto;\n display: flex;\n align-items: center;\n position: relative;\n\n .tab-items {\n overflow: hidden;\n scroll-behavior: smooth;\n width: 100%;\n\n .items-content {\n display: flex;\n align-items: center;\n }\n }\n\n .arrow {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n top: 0;\n bottom: 0;\n left: 0;\n margin: auto 0;\n border-radius: 4px;\n color: var(--theme-btn-invisible-primary--color);\n background-color: var(--theme-btn-invisible-primary--background);\n z-index: 2;\n\n &:hover {\n color: var(--theme-btn-invisible-primary--color--hover);\n background-color: var(--theme-btn-invisible-primary--background--hover);\n }\n\n &:active {\n color: var(--theme-btn-invisible-primary--color--active);\n background-color: var(--theme-btn-invisible-primary--background--active);\n }\n\n &.right {\n left: auto;\n right: 0;\n }\n }\n\n .overflow-shadow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n\n &.shadow-left {\n mask-image: linear-gradient(90deg, transparent 0px, black 45px);\n }\n\n &.shadow-right {\n mask-image: linear-gradient(\n 90deg,\n black calc(100% - 45px),\n transparent 100%\n );\n }\n\n &.shadow-both {\n mask-image: linear-gradient(\n 90deg,\n transparent 0px,\n black 45px,\n black calc(100% - 45px),\n transparent 100%\n );\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\nimport {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\n\nlet windowStartSize = window.innerWidth;\n\n@Component({\n tag: 'ix-tabs',\n styleUrl: 'tabs.scss',\n shadow: true,\n})\nexport class Tabs {\n @Element() hostElement!: HTMLIxTabsElement;\n\n /**\n * Set tab items to small size\n */\n @Prop() small = false;\n\n /**\n * Set rounded tabs\n */\n @Prop() rounded = false;\n\n /**\n * Set default selected tab by index\n */\n @Prop({ mutable: true }) selected = 0;\n\n /**\n * Set layout width style\n */\n @Prop() layout: 'auto' | 'stretched' = 'auto';\n\n /**\n * Set placement style\n */\n @Prop() placement: 'bottom' | 'top' = 'bottom';\n\n @State() totalItems = 0;\n @State() currentScrollAmount = 0;\n @State() scrollAmount = 100;\n @State() styleNextArrow = {};\n @State() stylePreviousArrow = {};\n\n @State() scrollActionAmount = 0;\n private clickAction: {\n timeout: NodeJS.Timeout;\n isClick: boolean;\n } = {\n timeout: null,\n isClick: true,\n };\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.totalItems = 0;\n this.totalItems = this.getTabs().length;\n\n if (windowStartSize === 0) return (windowStartSize = window.innerWidth);\n this.move(windowStartSize - window.innerWidth);\n windowStartSize = window.innerWidth;\n }\n\n private getTabs() {\n return Array.from(this.hostElement.querySelectorAll('ix-tab-item'));\n }\n\n private getTab(tabIndex: number) {\n return this.getTabs()[tabIndex];\n }\n\n private getTabsWrapper() {\n return this.hostElement.shadowRoot.querySelector('.items-content');\n }\n\n private showArrows() {\n try {\n const tabWrapper = this.getTabsWrapper();\n return (\n tabWrapper.scrollWidth >\n Math.ceil(tabWrapper.getBoundingClientRect().width) &&\n this.layout === 'auto'\n );\n } catch (error) {\n return false;\n }\n }\n\n private showPreviousArrow() {\n try {\n return this.showArrows() && this.scrollActionAmount < 0;\n } catch (error) {\n return false;\n }\n }\n\n private showNextArrow() {\n try {\n const tabWrapper = this.getTabsWrapper();\n const tabWrapperRect = tabWrapper.getBoundingClientRect();\n\n return (\n this.showArrows() &&\n this.scrollActionAmount >\n (tabWrapper.scrollWidth - tabWrapperRect.width) * -1\n );\n } catch (error) {\n return false;\n }\n }\n\n private getArrowStyle(condition: boolean) {\n return {\n opacity: condition ? '1' : '0',\n zIndex: condition ? '1' : '-1',\n };\n }\n\n private move(amount: number, click = false) {\n const tabWrapper = this.getTabsWrapper();\n const maxScrollWidth =\n (tabWrapper.scrollWidth - tabWrapper.getBoundingClientRect().width) * -1;\n\n amount = this.currentScrollAmount + amount;\n amount = amount > 0 ? 0 : amount < maxScrollWidth ? maxScrollWidth : amount;\n\n const styles = [\n `transform: translateX(${amount}px);`,\n click ? 'transition: all ease-in-out 400ms;' : '',\n ].join('');\n\n tabWrapper.setAttribute('style', styles);\n\n if (click) this.currentScrollAmount = this.scrollActionAmount = amount;\n else this.scrollActionAmount = amount;\n }\n\n private moveTabToView(tabIndex: number) {\n if (!this.showArrows()) return;\n\n const tab = this.getTab(tabIndex).getBoundingClientRect();\n const amount = tab.x * -1;\n this.move(amount, true);\n }\n\n private setSelected(index: number) {\n this.selected = index;\n }\n\n private clickTab(index: number) {\n if (this.dragStop()) return;\n\n this.setSelected(index);\n this.moveTabToView(index);\n }\n\n private dragStart(element: HTMLIxTabItemElement, event: MouseEvent) {\n if (!this.showArrows()) return;\n if (event.button > 0) return;\n\n this.clickAction.timeout =\n this.clickAction.timeout === null\n ? setTimeout(() => (this.clickAction.isClick = false), 300)\n : null;\n\n const tabPositionX = parseFloat(window.getComputedStyle(element).left);\n const mousedownPositionX = event.clientX;\n const move = (event: MouseEvent) =>\n this.dragMove(event, tabPositionX, mousedownPositionX);\n\n window.addEventListener('mouseup', () => {\n window.removeEventListener('mousemove', move, false);\n this.dragStop();\n });\n window.addEventListener('mousemove', move, false);\n }\n\n private dragMove(event: MouseEvent, tabX: number, mousedownX: number) {\n this.move(event.clientX + tabX - mousedownX);\n }\n\n private dragStop() {\n clearTimeout(this.clickAction.timeout);\n this.clickAction.timeout = null;\n\n if (this.clickAction.isClick) return false;\n\n this.currentScrollAmount = this.scrollActionAmount;\n this.clickAction.isClick = true;\n\n return true;\n }\n\n componentDidRender() {\n const tabs = this.getTabs();\n this.totalItems = tabs.length;\n\n tabs.forEach((element, index) => {\n if (this.small) element.setAttribute('small', 'true');\n\n if (this.rounded) element.setAttribute('rounded', 'true');\n\n element.setAttribute('layout', this.layout);\n element.setAttribute(\n 'selected',\n index === this.selected ? 'true' : 'false'\n );\n element.setAttribute('placement', this.placement);\n });\n }\n\n componentWillRender() {\n requestAnimationFrame(() => {\n const showNextArrow = this.showNextArrow();\n const previousArrow = this.showPreviousArrow();\n this.styleNextArrow = this.getArrowStyle(showNextArrow);\n this.stylePreviousArrow = this.getArrowStyle(previousArrow);\n });\n }\n\n componentDidLoad() {\n const tabs = this.getTabs();\n tabs.forEach((element, index) => {\n const isDisabled = element.getAttribute('disabled') !== null;\n if (!isDisabled)\n element.addEventListener('click', () => this.clickTab(index));\n\n element.addEventListener('mousedown', (event) =>\n this.dragStart(element, event)\n );\n });\n }\n\n render() {\n return (\n <Host>\n <div\n class=\"arrow\"\n style={this.stylePreviousArrow}\n onClick={() => this.move(this.scrollAmount, true)}\n >\n <ix-icon name=\"chevron-left-small\"></ix-icon>\n </div>\n <div\n class={{\n 'tab-items': true,\n 'overflow-shadow': true,\n 'shadow-left': this.showPreviousArrow(),\n 'shadow-right': this.showNextArrow(),\n 'shadow-both': this.showNextArrow() && this.showPreviousArrow(),\n }}\n >\n <div class=\"items-content\">\n <slot></slot>\n </div>\n </div>\n <div\n class=\"arrow right\"\n style={this.styleNextArrow}\n onClick={() => this.move(-this.scrollAmount, true)}\n >\n <ix-icon name=\"chevron-right-small\"></ix-icon>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"tabs.js","mappings":"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","names":[],"sources":["./src/components/tabs/tabs.scss?tag=ix-tabs&encapsulation=shadow","./src/components/tabs/tabs.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 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n width: auto;\n display: flex;\n align-items: center;\n position: relative;\n\n .tab-items {\n overflow: hidden;\n scroll-behavior: smooth;\n width: 100%;\n\n .items-content {\n display: flex;\n align-items: center;\n }\n }\n\n .arrow {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n top: 0;\n bottom: 0;\n left: 0;\n margin: auto 0;\n border-radius: 4px;\n color: var(--theme-btn-invisible-primary--color);\n background-color: var(--theme-btn-invisible-primary--background);\n z-index: 2;\n\n &:hover {\n color: var(--theme-btn-invisible-primary--color--hover);\n background-color: var(--theme-btn-invisible-primary--background--hover);\n }\n\n &:active {\n color: var(--theme-btn-invisible-primary--color--active);\n background-color: var(--theme-btn-invisible-primary--background--active);\n }\n\n &.right {\n left: auto;\n right: 0;\n }\n }\n\n .overflow-shadow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n\n &.shadow-left {\n mask-image: linear-gradient(90deg, transparent 0px, black 45px);\n }\n\n &.shadow-right {\n mask-image: linear-gradient(\n 90deg,\n black calc(100% - 45px),\n transparent 100%\n );\n }\n\n &.shadow-both {\n mask-image: linear-gradient(\n 90deg,\n transparent 0px,\n black 45px,\n black calc(100% - 45px),\n transparent 100%\n );\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\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\n\nlet windowStartSize = window.innerWidth;\n\n@Component({\n tag: 'ix-tabs',\n styleUrl: 'tabs.scss',\n shadow: true,\n})\nexport class Tabs {\n @Element() hostElement!: HTMLIxTabsElement;\n\n /**\n * Set tab items to small size\n */\n @Prop() small = false;\n\n /**\n * Set rounded tabs\n */\n @Prop() rounded = false;\n\n /**\n * Set default selected tab by index\n */\n @Prop({ mutable: true }) selected = 0;\n\n /**\n * Set layout width style\n */\n @Prop() layout: 'auto' | 'stretched' = 'auto';\n\n /**\n * Set placement style\n */\n @Prop() placement: 'bottom' | 'top' = 'bottom';\n\n /**\n * `selected` property changed\n *\n * @since 2.0.0\n */\n @Event() selectedChange: EventEmitter<number>;\n\n @State() totalItems = 0;\n @State() currentScrollAmount = 0;\n @State() scrollAmount = 100;\n @State() styleNextArrow = {};\n @State() stylePreviousArrow = {};\n\n @State() scrollActionAmount = 0;\n private clickAction: {\n timeout: NodeJS.Timeout;\n isClick: boolean;\n } = {\n timeout: null,\n isClick: true,\n };\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.totalItems = 0;\n this.totalItems = this.getTabs().length;\n\n if (windowStartSize === 0) return (windowStartSize = window.innerWidth);\n this.move(windowStartSize - window.innerWidth);\n windowStartSize = window.innerWidth;\n }\n\n private getTabs() {\n return Array.from(this.hostElement.querySelectorAll('ix-tab-item'));\n }\n\n private getTab(tabIndex: number) {\n return this.getTabs()[tabIndex];\n }\n\n private getTabsWrapper() {\n return this.hostElement.shadowRoot.querySelector('.items-content');\n }\n\n private showArrows() {\n try {\n const tabWrapper = this.getTabsWrapper();\n return (\n tabWrapper.scrollWidth >\n Math.ceil(tabWrapper.getBoundingClientRect().width) &&\n this.layout === 'auto'\n );\n } catch (error) {\n return false;\n }\n }\n\n private showPreviousArrow() {\n try {\n return this.showArrows() && this.scrollActionAmount < 0;\n } catch (error) {\n return false;\n }\n }\n\n private showNextArrow() {\n try {\n const tabWrapper = this.getTabsWrapper();\n const tabWrapperRect = tabWrapper.getBoundingClientRect();\n\n return (\n this.showArrows() &&\n this.scrollActionAmount >\n (tabWrapper.scrollWidth - tabWrapperRect.width) * -1\n );\n } catch (error) {\n return false;\n }\n }\n\n private getArrowStyle(condition: boolean) {\n return {\n opacity: condition ? '1' : '0',\n zIndex: condition ? '1' : '-1',\n };\n }\n\n private move(amount: number, click = false) {\n const tabWrapper = this.getTabsWrapper();\n const maxScrollWidth =\n (tabWrapper.scrollWidth - tabWrapper.getBoundingClientRect().width) * -1;\n\n amount = this.currentScrollAmount + amount;\n amount = amount > 0 ? 0 : amount < maxScrollWidth ? maxScrollWidth : amount;\n\n const styles = [\n `transform: translateX(${amount}px);`,\n click ? 'transition: all ease-in-out 400ms;' : '',\n ].join('');\n\n tabWrapper.setAttribute('style', styles);\n\n if (click) this.currentScrollAmount = this.scrollActionAmount = amount;\n else this.scrollActionAmount = amount;\n }\n\n private moveTabToView(tabIndex: number) {\n if (!this.showArrows()) return;\n\n const tab = this.getTab(tabIndex).getBoundingClientRect();\n const amount = tab.x * -1;\n this.move(amount, true);\n }\n\n private setSelected(index: number) {\n this.selected = index;\n }\n\n private clickTab(index: number) {\n if (this.dragStop()) {\n return;\n }\n\n const { defaultPrevented } = this.selectedChange.emit(index);\n if (defaultPrevented) {\n return;\n }\n\n this.setSelected(index);\n this.moveTabToView(index);\n }\n\n private dragStart(element: HTMLIxTabItemElement, event: MouseEvent) {\n if (!this.showArrows()) return;\n if (event.button > 0) return;\n\n this.clickAction.timeout =\n this.clickAction.timeout === null\n ? setTimeout(() => (this.clickAction.isClick = false), 300)\n : null;\n\n const tabPositionX = parseFloat(window.getComputedStyle(element).left);\n const mousedownPositionX = event.clientX;\n const move = (event: MouseEvent) =>\n this.dragMove(event, tabPositionX, mousedownPositionX);\n\n window.addEventListener('mouseup', () => {\n window.removeEventListener('mousemove', move, false);\n this.dragStop();\n });\n window.addEventListener('mousemove', move, false);\n }\n\n private dragMove(event: MouseEvent, tabX: number, mousedownX: number) {\n this.move(event.clientX + tabX - mousedownX);\n }\n\n private dragStop() {\n clearTimeout(this.clickAction.timeout);\n this.clickAction.timeout = null;\n\n if (this.clickAction.isClick) return false;\n\n this.currentScrollAmount = this.scrollActionAmount;\n this.clickAction.isClick = true;\n\n return true;\n }\n\n componentDidRender() {\n const tabs = this.getTabs();\n this.totalItems = tabs.length;\n\n tabs.forEach((element, index) => {\n if (this.small) element.setAttribute('small', 'true');\n\n if (this.rounded) element.setAttribute('rounded', 'true');\n\n element.setAttribute('layout', this.layout);\n element.setAttribute(\n 'selected',\n index === this.selected ? 'true' : 'false'\n );\n element.setAttribute('placement', this.placement);\n });\n }\n\n componentWillRender() {\n requestAnimationFrame(() => {\n const showNextArrow = this.showNextArrow();\n const previousArrow = this.showPreviousArrow();\n this.styleNextArrow = this.getArrowStyle(showNextArrow);\n this.stylePreviousArrow = this.getArrowStyle(previousArrow);\n });\n }\n\n componentDidLoad() {\n const tabs = this.getTabs();\n tabs.forEach((element) => {\n element.addEventListener('mousedown', (event) =>\n this.dragStart(element, event)\n );\n });\n }\n\n @Listen('tabClick')\n onTabClick(event: CustomEvent) {\n if (event.defaultPrevented) {\n return;\n }\n\n const target = event.target;\n const tabs = this.getTabs();\n\n tabs.forEach((tab, index) => {\n if (!tab.disabled && tab === target) {\n this.clickTab(index);\n }\n });\n }\n\n render() {\n return (\n <Host>\n <div\n class=\"arrow\"\n style={this.stylePreviousArrow}\n onClick={() => this.move(this.scrollAmount, true)}\n >\n <ix-icon name=\"chevron-left-small\"></ix-icon>\n </div>\n <div\n class={{\n 'tab-items': true,\n 'overflow-shadow': true,\n 'shadow-left': this.showPreviousArrow(),\n 'shadow-right': this.showNextArrow(),\n 'shadow-both': this.showNextArrow() && this.showPreviousArrow(),\n }}\n >\n <div class=\"items-content\">\n <slot></slot>\n </div>\n </div>\n <div\n class=\"arrow right\"\n style={this.styleNextArrow}\n onClick={() => this.move(-this.scrollAmount, true)}\n >\n <ix-icon name=\"chevron-right-small\"></ix-icon>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -11,10 +11,19 @@ class ThemeSwitcher {
11
11
  isThemeClass(className) {
12
12
  return (className.startsWith(this.prefixTheme) && this.hasVariantSuffix(className));
13
13
  }
14
- setTheme(themeName) {
15
- if (!this.isThemeClass(themeName)) {
14
+ setTheme(themeName, systemAppearance = false) {
15
+ if (!this.isThemeClass(themeName) && systemAppearance === false) {
16
16
  throw Error(`Provided theme name ${themeName} does not match our naming conventions. (theme-<name>-(dark,light))`);
17
17
  }
18
+ if (systemAppearance) {
19
+ const currentSystemAppearance = getCurrentSystemAppearance();
20
+ this.replaceBodyThemeClass(themeName);
21
+ this.setVariant(currentSystemAppearance);
22
+ return;
23
+ }
24
+ this.replaceBodyThemeClass(themeName);
25
+ }
26
+ replaceBodyThemeClass(themeName) {
18
27
  const oldThemes = [];
19
28
  document.body.classList.forEach((className) => {
20
29
  if (this.isThemeClass(className)) {
@@ -39,6 +48,22 @@ class ThemeSwitcher {
39
48
  document.body.classList.replace(themeName, this.getOppositeMode(themeName));
40
49
  });
41
50
  }
51
+ getCurrentTheme() {
52
+ var _a;
53
+ return ((_a = Array.from(document.body.classList).find((className) => this.isThemeClass(className))) !== null && _a !== void 0 ? _a : `theme-${window
54
+ .getComputedStyle(document.body)
55
+ .getPropertyValue('--ix-theme-name')}`);
56
+ }
57
+ setVariant(variant = getCurrentSystemAppearance()) {
58
+ const currentTheme = this.getCurrentTheme();
59
+ document.body.classList.remove(currentTheme);
60
+ if (currentTheme.endsWith(this.suffixDark)) {
61
+ document.body.classList.add(currentTheme.replace(/-dark$/g, `-${variant}`));
62
+ }
63
+ if (currentTheme.endsWith(this.suffixLight)) {
64
+ document.body.classList.add(currentTheme.replace(/-light$/g, `-${variant}`));
65
+ }
66
+ }
42
67
  getOppositeMode(themeName) {
43
68
  if (themeName.endsWith(this.suffixDark)) {
44
69
  return themeName.replace(/-dark$/g, this.suffixLight);
@@ -84,8 +109,15 @@ class ThemeSwitcher {
84
109
  this.registerMutationObserver();
85
110
  }
86
111
  }
112
+ const getCurrentSystemAppearance = () => {
113
+ const matchMedia = window.matchMedia('(prefers-color-scheme: dark)');
114
+ if (matchMedia.matches) {
115
+ return 'dark';
116
+ }
117
+ return 'light';
118
+ };
87
119
  const themeSwitcher = new ThemeSwitcher();
88
120
 
89
- export { ThemeSwitcher as T, themeSwitcher as t };
121
+ export { getCurrentSystemAppearance as g, themeSwitcher as t };
90
122
 
91
123
  //# sourceMappingURL=theme-switcher.js.map
@@ -1 +1 @@
1
- {"file":"theme-switcher.js","mappings":"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","names":[],"sources":["./src/components/utils/theme-switcher.ts"],"sourcesContent":["import { TypedEvent } from './typed-event';\n\nexport class ThemeSwitcher {\n readonly prefixTheme = 'theme-';\n readonly suffixLight = '-light';\n readonly suffixDark = '-dark';\n readonly defaultTheme = 'theme-classic-dark';\n\n mutationObserver: MutationObserver;\n _themeChanged = new TypedEvent<string>();\n\n public get themeChanged() {\n return this._themeChanged;\n }\n\n private hasVariantSuffix(className: string) {\n return (\n className.endsWith(this.suffixDark) ||\n className.endsWith(this.suffixLight)\n );\n }\n\n private isThemeClass(className: string) {\n return (\n className.startsWith(this.prefixTheme) && this.hasVariantSuffix(className)\n );\n }\n\n public setTheme(themeName: string) {\n if (!this.isThemeClass(themeName)) {\n throw Error(\n `Provided theme name ${themeName} does not match our naming conventions. (theme-<name>-(dark,light))`\n );\n }\n\n const oldThemes: string[] = [];\n\n document.body.classList.forEach((className) => {\n if (this.isThemeClass(className)) {\n oldThemes.push(className);\n }\n });\n\n document.body.classList.remove(...oldThemes);\n document.body.classList.add(themeName);\n }\n\n public toggleMode() {\n const oldThemes: string[] = [];\n\n document.body.classList.forEach((className) => {\n if (this.isThemeClass(className)) {\n oldThemes.push(className);\n }\n });\n\n if (oldThemes.length === 0) {\n document.body.classList.add(this.getOppositeMode(this.defaultTheme));\n return;\n }\n\n oldThemes.forEach((themeName) => {\n document.body.classList.replace(\n themeName,\n this.getOppositeMode(themeName)\n );\n });\n }\n\n private getOppositeMode(themeName: string) {\n if (themeName.endsWith(this.suffixDark)) {\n return themeName.replace(/-dark$/g, this.suffixLight);\n }\n\n if (themeName.endsWith(this.suffixLight)) {\n return themeName.replace(/-light$/g, this.suffixDark);\n }\n }\n\n private handleMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n (target as HTMLElement).classList.forEach((className) => {\n if (\n this.isThemeClass(className) &&\n !mutation.oldValue?.includes(className)\n ) {\n this._themeChanged.emit(className);\n }\n });\n });\n }\n\n private registerMutationObserver() {\n if (typeof (window as any) === 'undefined') {\n return;\n }\n\n if (!('MutationObserver' in window)) {\n console.warn(\n 'ThemeSwitcher not supported by your browser. Missing MutationObserver API'\n );\n return;\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n this.handleMutations(mutations);\n });\n\n this.mutationObserver.observe(document.body, {\n attributeFilter: ['class'],\n attributeOldValue: true,\n });\n }\n\n public constructor() {\n this.registerMutationObserver();\n }\n}\n\nexport const themeSwitcher = new ThemeSwitcher();\n"],"version":3}
1
+ {"file":"theme-switcher.js","mappings":"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","names":[],"sources":["./src/components/utils/theme-switcher.ts"],"sourcesContent":["import { TypedEvent } from './typed-event';\n\nexport type ThemeVariant = 'light' | 'dark';\n\nclass ThemeSwitcher {\n readonly prefixTheme = 'theme-';\n readonly suffixLight = '-light';\n readonly suffixDark = '-dark';\n readonly defaultTheme = 'theme-classic-dark';\n\n mutationObserver: MutationObserver;\n _themeChanged = new TypedEvent<string>();\n\n public get themeChanged() {\n return this._themeChanged;\n }\n\n public hasVariantSuffix(className: string) {\n return (\n className.endsWith(this.suffixDark) ||\n className.endsWith(this.suffixLight)\n );\n }\n\n private isThemeClass(className: string) {\n return (\n className.startsWith(this.prefixTheme) && this.hasVariantSuffix(className)\n );\n }\n\n public setTheme(themeName: string, systemAppearance = false) {\n if (!this.isThemeClass(themeName) && systemAppearance === false) {\n throw Error(\n `Provided theme name ${themeName} does not match our naming conventions. (theme-<name>-(dark,light))`\n );\n }\n\n if (systemAppearance) {\n const currentSystemAppearance = getCurrentSystemAppearance();\n this.replaceBodyThemeClass(themeName);\n this.setVariant(currentSystemAppearance);\n return;\n }\n\n this.replaceBodyThemeClass(themeName);\n }\n\n private replaceBodyThemeClass(themeName: string) {\n const oldThemes: string[] = [];\n document.body.classList.forEach((className) => {\n if (this.isThemeClass(className)) {\n oldThemes.push(className);\n }\n });\n\n document.body.classList.remove(...oldThemes);\n document.body.classList.add(themeName);\n }\n\n public toggleMode() {\n const oldThemes: string[] = [];\n\n document.body.classList.forEach((className) => {\n if (this.isThemeClass(className)) {\n oldThemes.push(className);\n }\n });\n\n if (oldThemes.length === 0) {\n document.body.classList.add(this.getOppositeMode(this.defaultTheme));\n return;\n }\n\n oldThemes.forEach((themeName) => {\n document.body.classList.replace(\n themeName,\n this.getOppositeMode(themeName)\n );\n });\n }\n\n public getCurrentTheme() {\n return (\n Array.from(document.body.classList).find((className) =>\n this.isThemeClass(className)\n ) ??\n `theme-${window\n .getComputedStyle(document.body)\n .getPropertyValue('--ix-theme-name')}`\n );\n }\n\n public setVariant(variant: ThemeVariant = getCurrentSystemAppearance()) {\n const currentTheme = this.getCurrentTheme();\n document.body.classList.remove(currentTheme);\n\n if (currentTheme.endsWith(this.suffixDark)) {\n document.body.classList.add(\n currentTheme.replace(/-dark$/g, `-${variant}`)\n );\n }\n\n if (currentTheme.endsWith(this.suffixLight)) {\n document.body.classList.add(\n currentTheme.replace(/-light$/g, `-${variant}`)\n );\n }\n }\n\n private getOppositeMode(themeName: string) {\n if (themeName.endsWith(this.suffixDark)) {\n return themeName.replace(/-dark$/g, this.suffixLight);\n }\n\n if (themeName.endsWith(this.suffixLight)) {\n return themeName.replace(/-light$/g, this.suffixDark);\n }\n }\n\n private handleMutations(mutations: MutationRecord[]) {\n return mutations.forEach((mutation) => {\n const { target } = mutation;\n (target as HTMLElement).classList.forEach((className) => {\n if (\n this.isThemeClass(className) &&\n !mutation.oldValue?.includes(className)\n ) {\n this._themeChanged.emit(className);\n }\n });\n });\n }\n\n private registerMutationObserver() {\n if (typeof (window as any) === 'undefined') {\n return;\n }\n\n if (!('MutationObserver' in window)) {\n console.warn(\n 'ThemeSwitcher not supported by your browser. Missing MutationObserver API'\n );\n return;\n }\n\n this.mutationObserver = new MutationObserver((mutations) => {\n this.handleMutations(mutations);\n });\n\n this.mutationObserver.observe(document.body, {\n attributeFilter: ['class'],\n attributeOldValue: true,\n });\n }\n\n public constructor() {\n this.registerMutationObserver();\n }\n}\n\nexport type IxTheme =\n | 'classic'\n | 'classic-dark'\n | 'classic-light'\n | (string & {});\n\nexport const getCurrentSystemAppearance = (): ThemeVariant => {\n const matchMedia = window.matchMedia('(prefers-color-scheme: dark)');\n\n if (matchMedia.matches) {\n return 'dark';\n }\n\n return 'light';\n};\n\nexport const themeSwitcher = new ThemeSwitcher();\n"],"version":3}
@@ -1,12 +1,13 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { l as luxon } from './luxon.js';
3
- import { d as defineCustomElement$5 } from './button.js';
4
- import { d as defineCustomElement$4 } from './date-time-card.js';
5
- import { d as defineCustomElement$3 } from './icon.js';
6
- import { d as defineCustomElement$2 } from './icon-button.js';
7
- import { d as defineCustomElement$1 } from './spinner.js';
3
+ import { d as defineCustomElement$6 } from './button.js';
4
+ import { d as defineCustomElement$5 } from './date-time-card.js';
5
+ import { d as defineCustomElement$4 } from './icon.js';
6
+ import { d as defineCustomElement$3 } from './icon-button.js';
7
+ import { d as defineCustomElement$2 } from './spinner.js';
8
+ import { d as defineCustomElement$1 } from './typography.js';
8
9
 
9
- const timePickerCss = ":host{}:host *,:host *::after,:host *::before{box-sizing:border-box}:host .form-control,:host .form-control-plaintext{-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);color:var(--theme-input--color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--theme-input--border-radius);height:2rem;min-height:2rem;min-width:2rem;background-color:var(--theme-input--background);border:solid 1px var(--theme-input--border-color);box-shadow:var(--theme-input--box-shadow);-webkit-padding-start:0.5rem;padding-inline-start:0.5rem;-webkit-padding-end:0.5rem;padding-inline-end:0.5rem}:host .form-control::-moz-placeholder,:host .form-control-plaintext::-moz-placeholder{color:var(--theme-input-hint--color)}:host .form-control::placeholder,:host .form-control-plaintext::placeholder{color:var(--theme-input-hint--color)}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled),:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled){cursor:pointer}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled),:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled){cursor:pointer}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover,:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover);cursor:auto}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover,:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover);cursor:auto}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible,:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline-offset:var(--theme-input--focus--outline-offset);box-shadow:var(--theme-input--box-shadow);outline:1px solid var(--theme-color-focus-bdr)}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible,:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline-offset:var(--theme-input--focus--outline-offset);box-shadow:var(--theme-input--box-shadow);outline:1px solid var(--theme-color-focus-bdr)}:host .form-control:focus-visible{color:var(--theme-input--color)}:host .form-control[type=number]{text-align:right}:host .form-control[type=number]::-webkit-inner-spin-button{margin-right:-2px;margin-left:2px;display:none}:host .form-control.readonly,:host .form-control[readonly]{background:transparent !important;-webkit-border-before:none !important;border-block-start:none !important;-webkit-border-start:none !important;border-inline-start:none !important;-webkit-border-end:none !important;border-inline-end:none !important;border-radius:0rem}:host .form-control:-moz-read-only{box-shadow:none !important;outline:none !important;border-color:var(--theme-input--border-color);cursor:default !important}:host .form-control:read-only,:host .form-control[readonly],:host .form-control[readOnly],:host .form-control.readonly{box-shadow:none !important;outline:none !important;border-color:var(--theme-input--border-color);cursor:default !important}:host .form-control:read-only::-moz-placeholder,:host .form-control[readonly]::-moz-placeholder,:host .form-control[readOnly]::-moz-placeholder,:host .form-control.readonly::-moz-placeholder{color:transparent}:host .form-control:-moz-read-only::placeholder{color:transparent}:host .form-control:read-only::placeholder,:host .form-control[readonly]::placeholder,:host .form-control[readOnly]::placeholder,:host .form-control.readonly::placeholder{color:transparent}:host .form-control:disabled,:host .form-control.disabled{background:transparent !important;-webkit-border-before:none !important;border-block-start:none !important;-webkit-border-start:none !important;border-inline-start:none !important;-webkit-border-end:none !important;border-inline-end:none !important;border-radius:0rem;color:var(--theme-color-weak-text);border-color:var(--theme-input--border-color-bottom--disabled)}:host .form-control:disabled::-moz-placeholder,:host .form-control.disabled::-moz-placeholder{color:transparent}:host .form-control:disabled::placeholder,:host .form-control.disabled::placeholder{color:transparent}:host .form-control-plaintext{outline:0}:host .form-group{position:relative}:host .input-wrapper{display:flex;position:relative;align-items:center;flex-wrap:nowrap}:host .input-wrapper>.glyph{display:block;position:absolute;-webkit-margin-start:0.312rem;margin-inline-start:0.312rem;color:var(--theme-color-std-text)}:host .input-wrapper>input{-webkit-padding-start:2.2rem;padding-inline-start:2.2rem}:host select.form-control{padding:0 0.312rem}:host textarea.form-control{padding:0.375rem 0.5rem}:host .was-validated .form-control:invalid,:host .was-validated .is-invalid{background-color:var(--theme-input-error--background);background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: sketchtool 62 (101010) - https://sketch.com --%3E%3Ctitle%3Eerror%3C/title%3E%3Cdesc%3ECreated with sketchtool.%3C/desc%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.75'%3E%3Cg id='error' fill='%23ff2640'%3E%3Cg id='error/error'%3E%3Cpath d='M256,42.6666667 C373.626371,42.6666667 469.333333,138.373627 469.333333,256 C469.333333,373.626371 373.626371,469.333333 256,469.333333 C138.373627,469.333333 42.6666667,373.626371 42.6666667,256 C42.6666667,138.373627 138.373627,42.6666667 256,42.6666667 Z M256,85.3333333 C161.559631,85.3333333 85.3333333,161.559631 85.3333333,256 C85.3333333,350.44037 161.559631,426.666667 256,426.666667 C350.44037,426.666667 426.666667,350.44037 426.666667,256 C426.666667,161.559631 350.44037,85.3333333 256,85.3333333 Z M326.248389,155.581722 L356.418278,185.751611 L286.168667,255.999667 L356.418278,326.248389 L326.248389,356.418278 L255.999667,286.168667 L185.751611,356.418278 L155.581722,326.248389 L225.829667,255.999667 L155.581722,185.751611 L185.751611,155.581722 L255.999667,225.829667 L326.248389,155.581722 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\") !important;background-position:left calc(0.375em + 0.1875rem) center !important;padding-right:0.75rem;padding-left:calc(1.5em + 0.75rem);background-size:18px;background-repeat:no-repeat}:host input.disabled,:host input:disabled{color:var(--theme-input--color--disabled)}:host .header{display:flex;align-items:center;justify-content:center}:host .title{display:flex;align-items:center;font:var(--theme-text-default-title);min-height:2.5rem;color:var(--theme-datepicker-time-header--color)}:host .clock{display:flex;justify-content:center;align-items:center;padding:5rem 0}:host input,:host .time-reference{width:2.625rem;height:1.5rem;text-align:center;margin-top:0.5rem;margin-bottom:0.5rem;}:host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button,:host .time-reference::-webkit-outer-spin-button,:host .time-reference::-webkit-inner-spin-button{-webkit-appearance:none;margin:0 0.3125rem}:host input[type=number],:host .time-reference[type=number]{-moz-appearance:textfield}:host .form-control[type=number]{text-align:center}:host .columns{display:flex;flex-direction:column;align-items:center;justify-content:space-around}:host .column-seperator{display:flex;align-items:center;margin:0 0.25rem}:host .button{display:flex;justify-content:flex-end}:host .default-space{margin-left:1rem}:host .text-align{text-align:center}:host .hidden{display:none}:host .time-reference{margin:0.75rem 0}";
10
+ const timePickerCss = "label{color:var(--theme-color-soft-text)}input,input:-webkit-autofill{font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;min-height:2rem;width:100%;padding:0.25rem 0.5rem;background-color:var(--theme-input--background);color:var(--theme-input--color);border:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);box-shadow:var(--theme-input--box-shadow)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--theme-input--background) inset !important;-webkit-text-fill-color:var(--theme-input--color) !important;border-color:var(--theme-input--border-color) !important}input::-moz-placeholder{color:var(--theme-input-hint--color)}input::placeholder{color:var(--theme-input-hint--color)}input.hover,input:hover{border-color:var(--theme-input--border-color--hover);background-color:var(--theme-input--background--hover)}input.focus,input:focus{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-input--focus--outline-offset);border-color:var(--theme-input--border-color--focus)}input:-moz-read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}input.read-only,input:read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}input:disabled{box-shadow:none;background-color:transparent;outline:none;border:none;color:var(--theme-input--color--disabled);border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--disabled)}input[type=number]{text-align:right}input[type=number]::-webkit-inner-spin-button{margin-right:-2px;margin-left:2px;display:none}textarea{height:3.25rem;padding:0.375rem 1.25rem 0.375rem 0.5rem}textarea,textarea:-webkit-autofill{font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;min-height:2rem;width:100%;padding:0.25rem 0.5rem;background-color:var(--theme-input--background);color:var(--theme-input--color);border:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);box-shadow:var(--theme-input--box-shadow)}textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--theme-input--background) inset !important;-webkit-text-fill-color:var(--theme-input--color) !important;border-color:var(--theme-input--border-color) !important}textarea::-moz-placeholder{color:var(--theme-input-hint--color)}textarea::placeholder{color:var(--theme-input-hint--color)}textarea.hover,textarea:hover{border-color:var(--theme-input--border-color--hover);background-color:var(--theme-input--background--hover)}textarea.focus,textarea:focus{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-input--focus--outline-offset);border-color:var(--theme-input--border-color--focus)}textarea:-moz-read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}textarea.read-only,textarea:read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}textarea:disabled{box-shadow:none;background-color:transparent;outline:none;border:none;color:var(--theme-input--color--disabled);border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--disabled)}textarea~.valid-feedback,textarea~.invalid-feedback,input~.valid-feedback,input~.invalid-feedback{display:none;font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale}form textarea~.valid-feedback,form input~.valid-feedback{color:var(--theme-color-success)}form textarea~.invalid-feedback,form input~.invalid-feedback{color:var(--theme-color-alarm-text)}form:not([novalidate]) :invalid,form:not([novalidate]) .is-invalid,form.was-validated :invalid,form.was-validated .is-invalid{background-color:var(--theme-input-error--background);border-color:var(--theme-input-error--border-color);background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: sketchtool 62 (101010) - https://sketch.com --%3E%3Ctitle%3Eerror%3C/title%3E%3Cdesc%3ECreated with sketchtool.%3C/desc%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.75'%3E%3Cg id='error' fill='%23ff2640'%3E%3Cg id='error/error'%3E%3Cpath d='M256,42.6666667 C373.626371,42.6666667 469.333333,138.373627 469.333333,256 C469.333333,373.626371 373.626371,469.333333 256,469.333333 C138.373627,469.333333 42.6666667,373.626371 42.6666667,256 C42.6666667,138.373627 138.373627,42.6666667 256,42.6666667 Z M256,85.3333333 C161.559631,85.3333333 85.3333333,161.559631 85.3333333,256 C85.3333333,350.44037 161.559631,426.666667 256,426.666667 C350.44037,426.666667 426.666667,350.44037 426.666667,256 C426.666667,161.559631 350.44037,85.3333333 256,85.3333333 Z M326.248389,155.581722 L356.418278,185.751611 L286.168667,255.999667 L356.418278,326.248389 L326.248389,356.418278 L255.999667,286.168667 L185.751611,356.418278 L155.581722,326.248389 L225.829667,255.999667 L155.581722,185.751611 L185.751611,155.581722 L255.999667,225.829667 L326.248389,155.581722 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\") !important;background-position:left calc(0.375em + 0.1875rem) center;padding-right:0.75rem;padding-left:calc(1.5em + 0.75rem);background-size:18px;background-repeat:no-repeat}form:not([novalidate]) :invalid~.invalid-feedback,form:not([novalidate]) .is-invalid~.invalid-feedback,form.was-validated :invalid~.invalid-feedback,form.was-validated .is-invalid~.invalid-feedback{display:block}form:not([novalidate]) :valid~.valid-feedback,form:not([novalidate]) .is-valid~.valid-feedback,form.was-validated :valid~.valid-feedback,form.was-validated .is-valid~.valid-feedback{display:block}:host{}: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 .form-control,:host .form-control-plaintext{-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);color:var(--theme-input--color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--theme-input--border-radius);height:2rem;min-height:2rem;min-width:2rem;background-color:var(--theme-input--background);border:solid 1px var(--theme-input--border-color);box-shadow:var(--theme-input--box-shadow);-webkit-padding-start:0.5rem;padding-inline-start:0.5rem;-webkit-padding-end:0.5rem;padding-inline-end:0.5rem}:host .form-control::-moz-placeholder,:host .form-control-plaintext::-moz-placeholder{color:var(--theme-input-hint--color)}:host .form-control::placeholder,:host .form-control-plaintext::placeholder{color:var(--theme-input-hint--color)}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled),:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled){cursor:pointer}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled),:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled){cursor:pointer}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover,:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover);cursor:auto}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover,:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover);cursor:auto}:host .form-control:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible,:host .form-control-plaintext:not(:-moz-read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline-offset:var(--theme-input--focus--outline-offset);box-shadow:var(--theme-input--box-shadow);outline:1px solid var(--theme-color-focus-bdr)}:host .form-control:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible,:host .form-control-plaintext:not(:read-only):not([readonly]):not([readOnly]):not(.readonly):not(.disabled):not(:disabled):focus-visible{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline-offset:var(--theme-input--focus--outline-offset);box-shadow:var(--theme-input--box-shadow);outline:1px solid var(--theme-color-focus-bdr)}:host .form-control:focus-visible{color:var(--theme-input--color)}:host .form-control[type=number]{text-align:right}:host .form-control[type=number]::-webkit-inner-spin-button{margin-right:-2px;margin-left:2px;display:none}:host .form-control.readonly,:host .form-control[readonly]{background:transparent !important;-webkit-border-before:none !important;border-block-start:none !important;-webkit-border-start:none !important;border-inline-start:none !important;-webkit-border-end:none !important;border-inline-end:none !important;border-radius:0rem}:host .form-control:-moz-read-only{box-shadow:none !important;outline:none !important;border-color:var(--theme-input--border-color);cursor:default !important}:host .form-control:read-only,:host .form-control[readonly],:host .form-control[readOnly],:host .form-control.readonly{box-shadow:none !important;outline:none !important;border-color:var(--theme-input--border-color);cursor:default !important}:host .form-control:read-only::-moz-placeholder,:host .form-control[readonly]::-moz-placeholder,:host .form-control[readOnly]::-moz-placeholder,:host .form-control.readonly::-moz-placeholder{color:transparent}:host .form-control:-moz-read-only::placeholder{color:transparent}:host .form-control:read-only::placeholder,:host .form-control[readonly]::placeholder,:host .form-control[readOnly]::placeholder,:host .form-control.readonly::placeholder{color:transparent}:host .form-control:disabled,:host .form-control.disabled{background:transparent !important;-webkit-border-before:none !important;border-block-start:none !important;-webkit-border-start:none !important;border-inline-start:none !important;-webkit-border-end:none !important;border-inline-end:none !important;border-radius:0rem;color:var(--theme-color-weak-text);border-color:var(--theme-input--border-color-bottom--disabled)}:host .form-control:disabled::-moz-placeholder,:host .form-control.disabled::-moz-placeholder{color:transparent}:host .form-control:disabled::placeholder,:host .form-control.disabled::placeholder{color:transparent}:host .form-control-plaintext{outline:0}:host .form-group{position:relative}:host .input-wrapper{display:flex;position:relative;align-items:center;flex-wrap:nowrap}:host .input-wrapper>.glyph{display:block;position:absolute;-webkit-margin-start:0.312rem;margin-inline-start:0.312rem;color:var(--theme-color-std-text)}:host .input-wrapper>input{-webkit-padding-start:2.2rem;padding-inline-start:2.2rem}:host select.form-control{padding:0 0.312rem}:host textarea.form-control{padding:0.375rem 0.5rem}:host .was-validated .form-control:invalid,:host .was-validated .is-invalid{background-color:var(--theme-input-error--background);background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: sketchtool 62 (101010) - https://sketch.com --%3E%3Ctitle%3Eerror%3C/title%3E%3Cdesc%3ECreated with sketchtool.%3C/desc%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.75'%3E%3Cg id='error' fill='%23ff2640'%3E%3Cg id='error/error'%3E%3Cpath d='M256,42.6666667 C373.626371,42.6666667 469.333333,138.373627 469.333333,256 C469.333333,373.626371 373.626371,469.333333 256,469.333333 C138.373627,469.333333 42.6666667,373.626371 42.6666667,256 C42.6666667,138.373627 138.373627,42.6666667 256,42.6666667 Z M256,85.3333333 C161.559631,85.3333333 85.3333333,161.559631 85.3333333,256 C85.3333333,350.44037 161.559631,426.666667 256,426.666667 C350.44037,426.666667 426.666667,350.44037 426.666667,256 C426.666667,161.559631 350.44037,85.3333333 256,85.3333333 Z M326.248389,155.581722 L356.418278,185.751611 L286.168667,255.999667 L356.418278,326.248389 L326.248389,356.418278 L255.999667,286.168667 L185.751611,356.418278 L155.581722,326.248389 L225.829667,255.999667 L155.581722,185.751611 L185.751611,155.581722 L255.999667,225.829667 L326.248389,155.581722 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\") !important;background-position:left calc(0.375em + 0.1875rem) center !important;padding-right:0.75rem;padding-left:calc(1.5em + 0.75rem);background-size:18px;background-repeat:no-repeat}:host input.disabled,:host input:disabled{color:var(--theme-input--color--disabled)}:host input:-moz-read-only{cursor:default}:host input:read-only,:host input.readonly{cursor:default}:host .header{display:flex;align-items:center;justify-content:center;height:2.5rem}:host .clock{display:flex;justify-content:center;align-items:center;padding:4.25rem 0}:host input,:host .time-reference{width:2.625rem;height:1.5rem;text-align:center;margin-top:0.25rem;margin-bottom:0.25rem;}:host input::-webkit-outer-spin-button,:host input::-webkit-inner-spin-button,:host .time-reference::-webkit-outer-spin-button,:host .time-reference::-webkit-inner-spin-button{-webkit-appearance:none;margin:0 0.3125rem}:host input[type=number],:host .time-reference[type=number]{-moz-appearance:textfield}:host .form-control[type=number]{text-align:center}:host .columns{display:flex;flex-direction:column;align-items:center;justify-content:space-around}:host .column-seperator{display:flex;align-items:center;margin:0 0.25rem}:host .button{display:flex;justify-content:flex-end}:host .default-space{margin-left:1rem}:host .text-align{text-align:center}:host .hidden{display:none}:host .time-reference{margin-top:0.5rem;margin-bottom:0.5rem}";
10
11
 
11
12
  const TimePicker = /*@__PURE__*/ proxyCustomElement(class TimePicker extends HTMLElement {
12
13
  constructor() {
@@ -184,7 +185,7 @@ const TimePicker = /*@__PURE__*/ proxyCustomElement(class TimePicker extends HTM
184
185
  }
185
186
  const hideHourSeperator = hideMinutes || hideHour;
186
187
  const hideMinutesSeperator = hideSeconds || hideMinutes;
187
- return (h(Host, null, h("ix-date-time-card", { individual: this.individual, corners: this.corners }, h("div", { class: "header", slot: "header" }, h("div", { class: "title" }, "Time")), h("div", { class: "clock" }, h("div", { class: { columns: true, hidden: hideHour } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { hours: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "hours", type: "number", placeholder: "HH", min: "0", max: this.getMaxDisplayedHour(), value: this.getDisplayedHour(), ref: (ref) => (this.hourInputRef = ref), onChange: () => this.setInputValue(this.hourInputRef, Number(this.hourInputRef.value), this.getMaxDisplayedHour()) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { hours: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: { 'column-seperator': true, hidden: hideHourSeperator } }, ":"), h("div", { class: { columns: true, hidden: hideMinutes } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { minutes: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "minutes", type: "number", placeholder: "MM", min: "0", max: "59", value: this.minutes, ref: (ref) => (this.minuteInputRef = ref), onChange: () => this.setInputValue(this.minuteInputRef, Number(this.minuteInputRef.value), 59) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { minutes: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: { 'column-seperator': true, hidden: hideMinutesSeperator } }, ":"), h("div", { class: { columns: true, hidden: hideSeconds } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { seconds: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "seconds", type: "number", placeholder: "SS", min: "0", max: "59", value: this.seconds, ref: (ref) => (this.secondInputRef = ref), onChange: () => this.setInputValue(this.secondInputRef, Number(this.secondInputRef.value), 59) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { seconds: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: {
188
+ return (h(Host, null, h("ix-date-time-card", { individual: this.individual, corners: this.corners }, h("div", { class: "header", slot: "header" }, h("ix-typography", { variant: "default-title" }, "Time")), h("div", { class: "clock" }, h("div", { class: { columns: true, hidden: hideHour } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { hours: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "hours", type: "number", placeholder: "HH", min: "0", max: this.getMaxDisplayedHour(), value: this.getDisplayedHour(), ref: (ref) => (this.hourInputRef = ref), onChange: () => this.setInputValue(this.hourInputRef, Number(this.hourInputRef.value), this.getMaxDisplayedHour()) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { hours: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: { 'column-seperator': true, hidden: hideHourSeperator } }, ":"), h("div", { class: { columns: true, hidden: hideMinutes } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { minutes: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "minutes", type: "number", placeholder: "MM", min: "0", max: "59", value: this.minutes, ref: (ref) => (this.minuteInputRef = ref), onChange: () => this.setInputValue(this.minuteInputRef, Number(this.minuteInputRef.value), 59) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { minutes: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: { 'column-seperator': true, hidden: hideMinutesSeperator } }, ":"), h("div", { class: { columns: true, hidden: hideSeconds } }, h("ix-icon-button", { size: "16", onClick: () => this.updateInput('up', { seconds: true }), ghost: true, icon: "chevron-up", variant: "primary", class: "arrows" }), h("input", { class: "form-control", name: "seconds", type: "number", placeholder: "SS", min: "0", max: "59", value: this.seconds, ref: (ref) => (this.secondInputRef = ref), onChange: () => this.setInputValue(this.secondInputRef, Number(this.secondInputRef.value), 59) }), h("ix-icon-button", { size: "16", onClick: () => this.updateInput('down', { seconds: true }), ghost: true, icon: "chevron-down", variant: "primary", class: "arrows" })), h("div", { class: {
188
189
  columns: true,
189
190
  'default-space': true,
190
191
  hidden: hideTimeReference,
@@ -212,7 +213,7 @@ function defineCustomElement() {
212
213
  if (typeof customElements === "undefined") {
213
214
  return;
214
215
  }
215
- const components = ["ix-time-picker", "ix-button", "ix-date-time-card", "ix-icon", "ix-icon-button", "ix-spinner"];
216
+ const components = ["ix-time-picker", "ix-button", "ix-date-time-card", "ix-icon", "ix-icon-button", "ix-spinner", "ix-typography"];
216
217
  components.forEach(tagName => { switch (tagName) {
217
218
  case "ix-time-picker":
218
219
  if (!customElements.get(tagName)) {
@@ -221,25 +222,30 @@ function defineCustomElement() {
221
222
  break;
222
223
  case "ix-button":
223
224
  if (!customElements.get(tagName)) {
224
- defineCustomElement$5();
225
+ defineCustomElement$6();
225
226
  }
226
227
  break;
227
228
  case "ix-date-time-card":
228
229
  if (!customElements.get(tagName)) {
229
- defineCustomElement$4();
230
+ defineCustomElement$5();
230
231
  }
231
232
  break;
232
233
  case "ix-icon":
233
234
  if (!customElements.get(tagName)) {
234
- defineCustomElement$3();
235
+ defineCustomElement$4();
235
236
  }
236
237
  break;
237
238
  case "ix-icon-button":
238
239
  if (!customElements.get(tagName)) {
239
- defineCustomElement$2();
240
+ defineCustomElement$3();
240
241
  }
241
242
  break;
242
243
  case "ix-spinner":
244
+ if (!customElements.get(tagName)) {
245
+ defineCustomElement$2();
246
+ }
247
+ break;
248
+ case "ix-typography":
243
249
  if (!customElements.get(tagName)) {
244
250
  defineCustomElement$1();
245
251
  }
@@ -1 +1 @@
1
- {"file":"time-picker.js","mappings":"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","names":["DateTime"],"sources":["./src/components/time-picker/time-picker.scss?tag=ix-time-picker&encapsulation=shadow","./src/components/time-picker/time-picker.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n @import 'components/forms';\n\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .title {\n display: flex;\n align-items: center;\n font: var(--theme-text-default-title);\n min-height: $large-control-height;\n color: var(--theme-datepicker-time-header--color);\n }\n\n .clock {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 5rem 0;\n }\n\n input,\n .time-reference {\n width: 2.625rem;\n height: $large-space;\n text-align: center;\n margin-top: $small-space;\n margin-bottom: $small-space;\n\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0 0.3125rem;\n }\n\n /* Firefox */\n &[type='number'] {\n -moz-appearance: textfield;\n }\n }\n\n .form-control[type='number'] {\n text-align: center;\n }\n\n .columns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n }\n\n .column-seperator {\n display: flex;\n align-items: center;\n margin: 0 $tiny-space;\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n }\n\n .default-space {\n margin-left: $default-space;\n }\n\n .text-align {\n text-align: center;\n }\n\n .hidden {\n display: none;\n }\n\n .time-reference {\n margin: $medium-space 0;\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 Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { DateTimeCardCorners } from '../date-time-card/date-time-card';\n\nexport type TimePickerCorners = DateTimeCardCorners;\n\n@Component({\n tag: 'ix-time-picker',\n styleUrl: 'time-picker.scss',\n shadow: true,\n})\nexport class TimePicker {\n /**\n * Format of time string\n *\n * @since 1.1.0\n */\n @Prop() format: string = 'TT';\n\n /**\n * Corner style\n */\n @Prop() corners: TimePickerCorners = 'rounded';\n\n /**\n * @deprecated Will be removed in 2.0.0\n */\n @Prop() individual: boolean = true;\n\n /**\n * Show hour input\n */\n @Prop() showHour = false;\n\n /**\n * Show minutes input\n */\n @Prop() showMinutes = false;\n\n /**\n * Show seconds input\n */\n @Prop() showSeconds = false;\n\n /**\n * Select time with format string\n *\n * @since 1.1.0\n */\n @Prop() time: string = DateTime.now().toFormat(this.format);\n\n /**\n * Show time reference input\n *\n * @since 1.1.0 time reference is default aligned with formt tt\n */\n @Prop({ mutable: true }) showTimeReference = undefined;\n\n /**\n * Set time reference\n */\n @Prop({ mutable: true }) timeReference: 'AM' | 'PM' = DateTime.fromFormat(\n this.time,\n this.format\n ).toFormat('a') as 'PM' | 'AM';\n\n /**\n * Text of date select button\n *\n * @since 1.1.0\n */\n @Prop() textSelectTime = 'Done';\n\n /**\n * Time event\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Time change event\n */\n @Event() timeChange: EventEmitter<string>;\n\n @State() hourInputRef: HTMLInputElement;\n @State() minuteInputRef: HTMLInputElement;\n @State() secondInputRef: HTMLInputElement;\n @State() referenceInputRef: HTMLInputElement;\n\n get hour() {\n return this._time.hour;\n }\n\n get minutes() {\n return this._time.minute;\n }\n\n get seconds() {\n return this._time.second;\n }\n\n private _time: DateTime = DateTime.now();\n\n private setInputValue(\n inputElement: HTMLInputElement,\n value: number,\n max: number\n ) {\n if (value > max) {\n inputElement.value = max.toString();\n } else if (value < 0) {\n inputElement.value = '0';\n } else {\n inputElement.value = value.toString();\n }\n\n this.updateAndEmitTime();\n }\n\n private updateAndEmitTime() {\n this._time = this._time.set({\n hour: Number(this.hourInputRef.value),\n minute: Number(this.minuteInputRef.value),\n second: Number(this.secondInputRef.value),\n });\n\n this.setHourAccordingToReference();\n\n this.emitTimeChange();\n }\n\n private toggleInputValue(\n inputElement: HTMLInputElement,\n currentValue: number,\n step: 'up' | 'down',\n max: number\n ) {\n if (step === 'up') {\n if (currentValue === max) {\n inputElement.value = '0';\n } else {\n inputElement.stepUp();\n }\n } else {\n if (currentValue === 0) {\n inputElement.value = max.toString();\n } else {\n inputElement.stepDown();\n }\n }\n }\n\n private toggleHourInputWithRef(\n inputElement: HTMLInputElement,\n currentValue: number,\n step: 'up' | 'down'\n ) {\n if (step === 'up') {\n if (currentValue === this.getMaxHour()) {\n inputElement.value = '0';\n } else {\n inputElement.stepUp();\n }\n } else {\n if (\n (this.showTimeReference &&\n this.timeReference === 'PM' &&\n currentValue === 12) ||\n currentValue === 0\n ) {\n inputElement.value = this.getMaxDisplayedHour().toString();\n } else {\n inputElement.stepDown();\n }\n }\n }\n\n private updateInput(\n step: 'up' | 'down',\n { hours = undefined, minutes = undefined, seconds = undefined }\n ) {\n if (hours) {\n if (this.showTimeReference) {\n this.toggleHourInputWithRef(this.hourInputRef, this.hour, step);\n } else {\n this.toggleInputValue(this.hourInputRef, this.hour, step, 23);\n }\n }\n\n if (minutes) {\n this.toggleInputValue(this.minuteInputRef, this.minutes, step, 59);\n }\n\n if (seconds) {\n this.toggleInputValue(this.secondInputRef, this.seconds, step, 59);\n }\n\n this.updateAndEmitTime();\n }\n\n private changeReference() {\n if (this.timeReference === 'AM') {\n this.timeReference = 'PM';\n } else {\n this.timeReference = 'AM';\n }\n\n this.setHourAccordingToReference();\n\n this.emitTimeChange();\n }\n\n private setHourAccordingToReference() {\n if (!this.showTimeReference) {\n return;\n }\n\n let hour = Number(this.hourInputRef.value);\n\n if (this.timeReference === 'PM') hour += 12;\n\n this._time = this._time.set({ hour });\n }\n\n private emitTimeChange() {\n const time = this._time.toFormat(this.format);\n this.timeChange.emit(time);\n }\n\n componentWillLoad() {\n this._time = DateTime.fromFormat(this.time, this.format);\n if (this.showTimeReference === undefined) {\n const matchedKeys = Object.keys(\n DateTime.fromFormatExplain(this.time, this.format).matches\n );\n this.showTimeReference = matchedKeys.includes('a');\n }\n }\n\n /**\n * Get current time\n */\n @Method()\n async getCurrentTime() {\n return this._time.toFormat(this.format);\n }\n\n private getDisplayedHour() {\n if (this.showTimeReference && this.timeReference === 'PM') {\n return this._time.hour - 12;\n }\n\n return this._time.hour;\n }\n\n private getMaxDisplayedHour() {\n if (this.showTimeReference) {\n return 11;\n }\n\n return 23;\n }\n\n private getMaxHour() {\n if (this.showTimeReference && this.timeReference === 'AM') {\n return 11;\n }\n\n return 23;\n }\n\n render() {\n let hideHour = !this.showHour;\n let hideMinutes = !this.showMinutes;\n let hideSeconds = !this.showSeconds;\n const hideTimeReference = !this.showTimeReference;\n const hideIndividual = !this.individual;\n\n if (hideHour && hideMinutes && hideSeconds) {\n hideHour = false;\n hideMinutes = false;\n hideSeconds = false;\n }\n\n const hideHourSeperator = hideMinutes || hideHour;\n const hideMinutesSeperator = hideSeconds || hideMinutes;\n\n return (\n <Host>\n <ix-date-time-card individual={this.individual} corners={this.corners}>\n <div class=\"header\" slot=\"header\">\n <div class=\"title\">Time</div>\n </div>\n\n <div class=\"clock\">\n <div class={{ columns: true, hidden: hideHour }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { hours: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"hours\"\n type=\"number\"\n placeholder=\"HH\"\n min=\"0\"\n max={this.getMaxDisplayedHour()}\n value={this.getDisplayedHour()}\n ref={(ref) => (this.hourInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.hourInputRef,\n Number(this.hourInputRef.value),\n this.getMaxDisplayedHour()\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { hours: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{ 'column-seperator': true, hidden: hideHourSeperator }}\n >\n :\n </div>\n\n <div class={{ columns: true, hidden: hideMinutes }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { minutes: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"minutes\"\n type=\"number\"\n placeholder=\"MM\"\n min=\"0\"\n max=\"59\"\n value={this.minutes}\n ref={(ref) => (this.minuteInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.minuteInputRef,\n Number(this.minuteInputRef.value),\n 59\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { minutes: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{ 'column-seperator': true, hidden: hideMinutesSeperator }}\n >\n :\n </div>\n\n <div class={{ columns: true, hidden: hideSeconds }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { seconds: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"seconds\"\n type=\"number\"\n placeholder=\"SS\"\n min=\"0\"\n max=\"59\"\n value={this.seconds}\n ref={(ref) => (this.secondInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.secondInputRef,\n Number(this.secondInputRef.value),\n 59\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { seconds: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{\n columns: true,\n 'default-space': true,\n hidden: hideTimeReference,\n }}\n >\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeReference()}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"time-reference\">{this.timeReference}</div>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeReference()}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n </div>\n\n <div class={{ button: true, hidden: hideIndividual }}>\n <ix-button\n onClick={() => this.done.emit(this._time.toFormat(this.format))}\n >\n {this.textSelectTime}\n </ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"time-picker.js","mappings":"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","names":["DateTime"],"sources":["./src/components/time-picker/time-picker.scss?tag=ix-time-picker&encapsulation=shadow","./src/components/time-picker/time-picker.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 'mixins/shadow-dom/component';\n@import 'components/form/input';\n\n:host {\n @include ix-component;\n\n @import 'legacy/components/forms';\n\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n height: $large-control-height;\n }\n\n .clock {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 4.25rem 0;\n }\n\n input,\n .time-reference {\n width: 2.625rem;\n height: $large-space;\n text-align: center;\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0 0.3125rem;\n }\n\n /* Firefox */\n &[type='number'] {\n -moz-appearance: textfield;\n }\n }\n\n .form-control[type='number'] {\n text-align: center;\n }\n\n .columns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n }\n\n .column-seperator {\n display: flex;\n align-items: center;\n margin: 0 $tiny-space;\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n }\n\n .default-space {\n margin-left: $default-space;\n }\n\n .text-align {\n text-align: center;\n }\n\n .hidden {\n display: none;\n }\n\n .time-reference {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\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 Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { DateTimeCardCorners } from '../date-time-card/date-time-card';\n\nexport type TimePickerCorners = DateTimeCardCorners;\n\n@Component({\n tag: 'ix-time-picker',\n styleUrl: 'time-picker.scss',\n shadow: true,\n})\nexport class TimePicker {\n /**\n * Format of time string\n *\n * @since 1.1.0\n */\n @Prop() format: string = 'TT';\n\n /**\n * Corner style\n */\n @Prop() corners: TimePickerCorners = 'rounded';\n\n /**\n * @deprecated Will be removed in 2.0.0\n */\n @Prop() individual: boolean = true;\n\n /**\n * Show hour input\n */\n @Prop() showHour = false;\n\n /**\n * Show minutes input\n */\n @Prop() showMinutes = false;\n\n /**\n * Show seconds input\n */\n @Prop() showSeconds = false;\n\n /**\n * Select time with format string\n *\n * @since 1.1.0\n */\n @Prop() time: string = DateTime.now().toFormat(this.format);\n\n /**\n * Show time reference input\n *\n * @since 1.1.0 time reference is default aligned with formt tt\n */\n @Prop({ mutable: true }) showTimeReference = undefined;\n\n /**\n * Set time reference\n */\n @Prop({ mutable: true }) timeReference: 'AM' | 'PM' = DateTime.fromFormat(\n this.time,\n this.format\n ).toFormat('a') as 'PM' | 'AM';\n\n /**\n * Text of date select button\n *\n * @since 1.1.0\n */\n @Prop() textSelectTime = 'Done';\n\n /**\n * Time event\n */\n @Event() done: EventEmitter<string>;\n\n /**\n * Time change event\n */\n @Event() timeChange: EventEmitter<string>;\n\n @State() hourInputRef: HTMLInputElement;\n @State() minuteInputRef: HTMLInputElement;\n @State() secondInputRef: HTMLInputElement;\n @State() referenceInputRef: HTMLInputElement;\n\n get hour() {\n return this._time.hour;\n }\n\n get minutes() {\n return this._time.minute;\n }\n\n get seconds() {\n return this._time.second;\n }\n\n private _time: DateTime = DateTime.now();\n\n private setInputValue(\n inputElement: HTMLInputElement,\n value: number,\n max: number\n ) {\n if (value > max) {\n inputElement.value = max.toString();\n } else if (value < 0) {\n inputElement.value = '0';\n } else {\n inputElement.value = value.toString();\n }\n\n this.updateAndEmitTime();\n }\n\n private updateAndEmitTime() {\n this._time = this._time.set({\n hour: Number(this.hourInputRef.value),\n minute: Number(this.minuteInputRef.value),\n second: Number(this.secondInputRef.value),\n });\n\n this.setHourAccordingToReference();\n\n this.emitTimeChange();\n }\n\n private toggleInputValue(\n inputElement: HTMLInputElement,\n currentValue: number,\n step: 'up' | 'down',\n max: number\n ) {\n if (step === 'up') {\n if (currentValue === max) {\n inputElement.value = '0';\n } else {\n inputElement.stepUp();\n }\n } else {\n if (currentValue === 0) {\n inputElement.value = max.toString();\n } else {\n inputElement.stepDown();\n }\n }\n }\n\n private toggleHourInputWithRef(\n inputElement: HTMLInputElement,\n currentValue: number,\n step: 'up' | 'down'\n ) {\n if (step === 'up') {\n if (currentValue === this.getMaxHour()) {\n inputElement.value = '0';\n } else {\n inputElement.stepUp();\n }\n } else {\n if (\n (this.showTimeReference &&\n this.timeReference === 'PM' &&\n currentValue === 12) ||\n currentValue === 0\n ) {\n inputElement.value = this.getMaxDisplayedHour().toString();\n } else {\n inputElement.stepDown();\n }\n }\n }\n\n private updateInput(\n step: 'up' | 'down',\n { hours = undefined, minutes = undefined, seconds = undefined }\n ) {\n if (hours) {\n if (this.showTimeReference) {\n this.toggleHourInputWithRef(this.hourInputRef, this.hour, step);\n } else {\n this.toggleInputValue(this.hourInputRef, this.hour, step, 23);\n }\n }\n\n if (minutes) {\n this.toggleInputValue(this.minuteInputRef, this.minutes, step, 59);\n }\n\n if (seconds) {\n this.toggleInputValue(this.secondInputRef, this.seconds, step, 59);\n }\n\n this.updateAndEmitTime();\n }\n\n private changeReference() {\n if (this.timeReference === 'AM') {\n this.timeReference = 'PM';\n } else {\n this.timeReference = 'AM';\n }\n\n this.setHourAccordingToReference();\n\n this.emitTimeChange();\n }\n\n private setHourAccordingToReference() {\n if (!this.showTimeReference) {\n return;\n }\n\n let hour = Number(this.hourInputRef.value);\n\n if (this.timeReference === 'PM') hour += 12;\n\n this._time = this._time.set({ hour });\n }\n\n private emitTimeChange() {\n const time = this._time.toFormat(this.format);\n this.timeChange.emit(time);\n }\n\n componentWillLoad() {\n this._time = DateTime.fromFormat(this.time, this.format);\n if (this.showTimeReference === undefined) {\n const matchedKeys = Object.keys(\n DateTime.fromFormatExplain(this.time, this.format).matches\n );\n this.showTimeReference = matchedKeys.includes('a');\n }\n }\n\n /**\n * Get current time\n */\n @Method()\n async getCurrentTime() {\n return this._time.toFormat(this.format);\n }\n\n private getDisplayedHour() {\n if (this.showTimeReference && this.timeReference === 'PM') {\n return this._time.hour - 12;\n }\n\n return this._time.hour;\n }\n\n private getMaxDisplayedHour() {\n if (this.showTimeReference) {\n return 11;\n }\n\n return 23;\n }\n\n private getMaxHour() {\n if (this.showTimeReference && this.timeReference === 'AM') {\n return 11;\n }\n\n return 23;\n }\n\n render() {\n let hideHour = !this.showHour;\n let hideMinutes = !this.showMinutes;\n let hideSeconds = !this.showSeconds;\n const hideTimeReference = !this.showTimeReference;\n const hideIndividual = !this.individual;\n\n if (hideHour && hideMinutes && hideSeconds) {\n hideHour = false;\n hideMinutes = false;\n hideSeconds = false;\n }\n\n const hideHourSeperator = hideMinutes || hideHour;\n const hideMinutesSeperator = hideSeconds || hideMinutes;\n\n return (\n <Host>\n <ix-date-time-card individual={this.individual} corners={this.corners}>\n <div class=\"header\" slot=\"header\">\n <ix-typography variant=\"default-title\">Time</ix-typography>\n </div>\n\n <div class=\"clock\">\n <div class={{ columns: true, hidden: hideHour }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { hours: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"hours\"\n type=\"number\"\n placeholder=\"HH\"\n min=\"0\"\n max={this.getMaxDisplayedHour()}\n value={this.getDisplayedHour()}\n ref={(ref) => (this.hourInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.hourInputRef,\n Number(this.hourInputRef.value),\n this.getMaxDisplayedHour()\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { hours: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{ 'column-seperator': true, hidden: hideHourSeperator }}\n >\n :\n </div>\n\n <div class={{ columns: true, hidden: hideMinutes }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { minutes: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"minutes\"\n type=\"number\"\n placeholder=\"MM\"\n min=\"0\"\n max=\"59\"\n value={this.minutes}\n ref={(ref) => (this.minuteInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.minuteInputRef,\n Number(this.minuteInputRef.value),\n 59\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { minutes: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{ 'column-seperator': true, hidden: hideMinutesSeperator }}\n >\n :\n </div>\n\n <div class={{ columns: true, hidden: hideSeconds }}>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('up', { seconds: true })}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <input\n class=\"form-control\"\n name=\"seconds\"\n type=\"number\"\n placeholder=\"SS\"\n min=\"0\"\n max=\"59\"\n value={this.seconds}\n ref={(ref) => (this.secondInputRef = ref)}\n onChange={() =>\n this.setInputValue(\n this.secondInputRef,\n Number(this.secondInputRef.value),\n 59\n )\n }\n ></input>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.updateInput('down', { seconds: true })}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n <div\n class={{\n columns: true,\n 'default-space': true,\n hidden: hideTimeReference,\n }}\n >\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeReference()}\n ghost\n icon=\"chevron-up\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"time-reference\">{this.timeReference}</div>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeReference()}\n ghost\n icon=\"chevron-down\"\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n </div>\n\n <div class={{ button: true, hidden: hideIndividual }}>\n <ix-button\n onClick={() => this.done.emit(this._time.toFormat(this.format))}\n >\n {this.textSelectTime}\n </ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@ import { d as defineCustomElement$3 } from './icon.js';
3
3
  import { d as defineCustomElement$2 } from './icon-button.js';
4
4
  import { d as defineCustomElement$1 } from './spinner.js';
5
5
 
6
- const toastCss = ":host{display:flex;flex-direction:column;position:relative;min-width:17.5rem;max-width:17.5rem;min-height:3.5rem;pointer-events:all;background-color:var(--theme-toast--background);border:var(--theme-toast--border-thickness) solid var(--theme-toast--border-color);border-radius:var(--theme-toast--border-radius);box-shadow:var(--theme-toast--box-shadow);--animate-duration:300ms}:host *,:host *::after,:host *::before{box-sizing:border-box}:host .toast-body{display:flex;position:relative;width:100%;flex-grow:1}:host .toast-body .toast-icon{display:flex;align-items:flex-start;margin:1rem}:host .toast-body .toast-content{overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%;max-width:10.25rem;margin-top:calc(\n 1rem + var(--theme-toast--border-thickness)\n );margin-bottom:0.75rem}:host .toast-body .toast-content .toast-title{-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.143em;color:var(--theme-color-std-text)}:host .toast-body .toast-content .toast-message{min-width:0;-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)}:host .toast-close{display:flex;position:relative;margin:0.75rem;pointer-events:all}:host .toast-progress-bar{position:absolute;bottom:0;height:0.25rem;width:100%;background-color:var(--theme-toast-timer-value--background);transform-origin:left}:host .toast-progress-bar--animated{animation:trackProgress linear 1 forwards}@keyframes trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}";
6
+ const toastCss = ":host{display:flex;flex-direction:column;position:relative;min-width:17.5rem;max-width:17.5rem;min-height:3.5rem;pointer-events:all;background-color:var(--theme-toast--background);border:var(--theme-toast--border-thickness) solid var(--theme-toast--border-color);border-radius:var(--theme-toast--border-radius);box-shadow:var(--theme-toast--box-shadow);--animate-duration:300ms}: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 .toast-body{display:flex;position:relative;width:100%;flex-grow:1}:host .toast-body .toast-icon{display:flex;align-items:flex-start;margin:1rem}:host .toast-body .toast-content{overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%;max-width:10.25rem;margin-top:calc(\n 1rem + var(--theme-toast--border-thickness)\n );margin-bottom:0.75rem}:host .toast-body .toast-content .toast-title{-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.143em;color:var(--theme-color-std-text)}:host .toast-body .toast-content .toast-message{min-width:0;-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)}:host .toast-close{display:flex;position:relative;margin:0.75rem;pointer-events:all}:host .toast-progress-bar{position:absolute;bottom:0;height:0.25rem;width:100%;background-color:var(--theme-toast-timer-value--background);transform-origin:left}:host .toast-progress-bar--animated{animation:trackProgress linear 1 forwards}@keyframes trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}";
7
7
 
8
8
  const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
9
9
  constructor() {
@@ -1 +1 @@
1
- {"file":"toast.js","mappings":"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","names":[],"sources":["./src/components/toast/toast.scss?tag=ix-toast&encapsulation=shadow","./src/components/toast/toast.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 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: 17.5rem;\n max-width: 17.5rem;\n min-height: 3.5rem;\n\n pointer-events: all;\n\n background-color: var(--theme-toast--background);\n border: var(--theme-toast--border-thickness) solid\n var(--theme-toast--border-color);\n border-radius: var(--theme-toast--border-radius);\n box-shadow: var(--theme-toast--box-shadow);\n\n --animate-duration: #{$medium-time};\n\n .toast-body {\n display: flex;\n position: relative;\n width: 100%;\n flex-grow: 1;\n\n .toast-icon {\n display: flex;\n align-items: flex-start;\n margin: $default-space;\n }\n\n .toast-content {\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n width: 100%;\n max-width: 10.25rem;\n margin-top: calc(\n #{$default-space} + var(--theme-toast--border-thickness)\n );\n margin-bottom: $medium-space;\n\n .toast-title {\n @include text-default-title-single;\n }\n .toast-message {\n min-width: 0;\n\n @include text-default;\n }\n }\n }\n\n .toast-close {\n display: flex;\n position: relative;\n margin: $medium-space;\n pointer-events: all;\n }\n\n .toast-progress-bar {\n position: absolute;\n bottom: 0;\n height: $tiny-space;\n width: 100%;\n background-color: var(--theme-toast-timer-value--background);\n transform-origin: left;\n\n &--animated {\n animation: trackProgress linear 1 forwards;\n }\n }\n\n @keyframes trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\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\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { ToastType } from './toast-utils';\n\n@Component({\n tag: 'ix-toast',\n styleUrl: 'toast.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * Toast type\n */\n @Prop() type: ToastType = 'info';\n\n /**\n * Toast title\n */\n @Prop() toastTitle: string;\n\n /**\n * Autoclose title after delay\n */\n @Prop() autoCloseDelay = 5000;\n\n /**\n * Autoclose behavior\n */\n @Prop() autoClose = true;\n\n /**\n * Icon of toast\n */\n @Prop() icon: string;\n\n /**\n * Icon color of toast\n */\n @Prop() iconColor: string;\n\n /**\n * Toast closed\n */\n @Event() closeToast: EventEmitter;\n\n @State() progress = 0;\n @State() touched = false;\n\n @Element() hostElement!: HTMLIxToastElement;\n\n private getIcon() {\n if (this.icon) {\n return <ix-icon name={this.icon} color={this.iconColor} size=\"24\" />;\n }\n\n switch (this.type) {\n case 'info':\n return <ix-icon name={'info'} size=\"24\" color=\"color-std-text\" />;\n\n case 'error':\n return <ix-icon name={'error'} size=\"24\" color=\"color-alarm\" />;\n\n case 'success':\n return <ix-icon name={'success'} size=\"24\" color=\"color-success\" />;\n\n case 'warning':\n return <ix-icon name={'warning'} size=\"24\" color=\"color-warning\" />;\n\n default:\n return '';\n }\n }\n\n private close() {\n if (this.hostElement) {\n this.hostElement.classList.add('animate__fadeOut');\n }\n setTimeout(() => {\n this.closeToast.emit();\n }, 250);\n }\n\n render() {\n let progressBarStyle: Record<string, string> = {};\n\n const progressBarClass = ['toast-progress-bar'];\n\n progressBarStyle = {\n animationDuration: `${this.autoCloseDelay}ms`,\n animationPlayState: this.touched ? 'paused' : 'running',\n };\n\n progressBarClass.push('toast-progress-bar--animated');\n\n return (\n <Host class=\"animate__animated animate__fadeIn\">\n <div\n class=\"toast-body\"\n onPointerLeave={() => {\n this.touched = false;\n }}\n onPointerEnter={() => {\n this.touched = true;\n }}\n >\n {this.type || this.icon ? (\n <div class=\"toast-icon\">{this.getIcon()}</div>\n ) : null}\n <div class=\"toast-content\">\n {this.toastTitle ? (\n <div class=\"toast-title\">{this.toastTitle}</div>\n ) : null}\n <div class=\"toast-message\">\n <slot></slot>\n </div>\n </div>\n <div class=\"toast-close\">\n <ix-icon-button\n icon=\"close\"\n size=\"24\"\n ghost\n onClick={() => this.closeToast.emit()}\n />\n </div>\n </div>\n {this.autoClose ? (\n <div\n class={progressBarClass.join(' ')}\n style={progressBarStyle}\n onAnimationEnd={() => {\n this.close();\n }}\n onTransitionEnd={() => {\n if (this.progress === 0) {\n this.close();\n }\n }}\n ></div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"toast.js","mappings":"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","names":[],"sources":["./src/components/toast/toast.scss?tag=ix-toast&encapsulation=shadow","./src/components/toast/toast.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 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'legacy/mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: flex;\n flex-direction: column;\n position: relative;\n min-width: 17.5rem;\n max-width: 17.5rem;\n min-height: 3.5rem;\n\n pointer-events: all;\n\n background-color: var(--theme-toast--background);\n border: var(--theme-toast--border-thickness) solid\n var(--theme-toast--border-color);\n border-radius: var(--theme-toast--border-radius);\n box-shadow: var(--theme-toast--box-shadow);\n\n --animate-duration: #{$medium-time};\n\n .toast-body {\n display: flex;\n position: relative;\n width: 100%;\n flex-grow: 1;\n\n .toast-icon {\n display: flex;\n align-items: flex-start;\n margin: $default-space;\n }\n\n .toast-content {\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n width: 100%;\n max-width: 10.25rem;\n margin-top: calc(\n #{$default-space} + var(--theme-toast--border-thickness)\n );\n margin-bottom: $medium-space;\n\n .toast-title {\n @include text-default-title-single;\n }\n .toast-message {\n min-width: 0;\n\n @include text-default;\n }\n }\n }\n\n .toast-close {\n display: flex;\n position: relative;\n margin: $medium-space;\n pointer-events: all;\n }\n\n .toast-progress-bar {\n position: absolute;\n bottom: 0;\n height: $tiny-space;\n width: 100%;\n background-color: var(--theme-toast-timer-value--background);\n transform-origin: left;\n\n &--animated {\n animation: trackProgress linear 1 forwards;\n }\n }\n\n @keyframes trackProgress {\n 0% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(0);\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\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { ToastType } from './toast-utils';\n\n@Component({\n tag: 'ix-toast',\n styleUrl: 'toast.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * Toast type\n */\n @Prop() type: ToastType = 'info';\n\n /**\n * Toast title\n */\n @Prop() toastTitle: string;\n\n /**\n * Autoclose title after delay\n */\n @Prop() autoCloseDelay = 5000;\n\n /**\n * Autoclose behavior\n */\n @Prop() autoClose = true;\n\n /**\n * Icon of toast\n */\n @Prop() icon: string;\n\n /**\n * Icon color of toast\n */\n @Prop() iconColor: string;\n\n /**\n * Toast closed\n */\n @Event() closeToast: EventEmitter;\n\n @State() progress = 0;\n @State() touched = false;\n\n @Element() hostElement!: HTMLIxToastElement;\n\n private getIcon() {\n if (this.icon) {\n return <ix-icon name={this.icon} color={this.iconColor} size=\"24\" />;\n }\n\n switch (this.type) {\n case 'info':\n return <ix-icon name={'info'} size=\"24\" color=\"color-std-text\" />;\n\n case 'error':\n return <ix-icon name={'error'} size=\"24\" color=\"color-alarm\" />;\n\n case 'success':\n return <ix-icon name={'success'} size=\"24\" color=\"color-success\" />;\n\n case 'warning':\n return <ix-icon name={'warning'} size=\"24\" color=\"color-warning\" />;\n\n default:\n return '';\n }\n }\n\n private close() {\n if (this.hostElement) {\n this.hostElement.classList.add('animate__fadeOut');\n }\n setTimeout(() => {\n this.closeToast.emit();\n }, 250);\n }\n\n render() {\n let progressBarStyle: Record<string, string> = {};\n\n const progressBarClass = ['toast-progress-bar'];\n\n progressBarStyle = {\n animationDuration: `${this.autoCloseDelay}ms`,\n animationPlayState: this.touched ? 'paused' : 'running',\n };\n\n progressBarClass.push('toast-progress-bar--animated');\n\n return (\n <Host class=\"animate__animated animate__fadeIn\">\n <div\n class=\"toast-body\"\n onPointerLeave={() => {\n this.touched = false;\n }}\n onPointerEnter={() => {\n this.touched = true;\n }}\n >\n {this.type || this.icon ? (\n <div class=\"toast-icon\">{this.getIcon()}</div>\n ) : null}\n <div class=\"toast-content\">\n {this.toastTitle ? (\n <div class=\"toast-title\">{this.toastTitle}</div>\n ) : null}\n <div class=\"toast-message\">\n <slot></slot>\n </div>\n </div>\n <div class=\"toast-close\">\n <ix-icon-button\n icon=\"close\"\n size=\"24\"\n ghost\n onClick={() => this.closeToast.emit()}\n />\n </div>\n </div>\n {this.autoClose ? (\n <div\n class={progressBarClass.join(' ')}\n style={progressBarStyle}\n onAnimationEnd={() => {\n this.close();\n }}\n onTransitionEnd={() => {\n if (this.progress === 0) {\n this.close();\n }\n }}\n ></div>\n ) : null}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,12 +1,13 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { d as defineCustomElement$1 } from './icon.js';
3
3
 
4
- const treeItemCss = ".sc-ix-tree-item-h{display:flex;align-items:center;height:32px;width:100%;cursor:pointer}.sc-ix-tree-item-h:not(.disabled):not(:disabled):not(.selected).hover,.sc-ix-tree-item-h:not(.disabled):not(:disabled):not(.selected):hover{background-color:var(--theme-tree-item--background--hover)}.sc-ix-tree-item-h:not(.disabled):not(:disabled):not(.selected).active,.sc-ix-tree-item-h:not(.disabled):not(:disabled):not(.selected):active{background-color:var(--theme-tree-item--background--active)}.selected.sc-ix-tree-item-h{background-color:var(--theme-tree-item--background--selected)}.selected.hover.sc-ix-tree-item-h,.selected.sc-ix-tree-item-h:hover{background-color:var(--theme-tree-item--background--selected-hover)}.selected.active.sc-ix-tree-item-h,.selected.sc-ix-tree-item-h:active{background-color:var(--theme-tree-item--background--selected-active)}.sc-ix-tree-item-h .tree-node-container.sc-ix-tree-item{display:flex;align-items:center;height:2rem;flex-grow:1;align-items:center}.sc-ix-tree-item-h .icon-toggle-container.sc-ix-tree-item{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.sc-ix-tree-item-h .icon-toggle-container.sc-ix-tree-item ix-icon.sc-ix-tree-item{transition:transform 150ms ease-in-out}.sc-ix-tree-item-h .icon-toggle-container.sc-ix-tree-item ix-icon.icon-toggle-down.sc-ix-tree-item{transform:rotate(90deg)}";
4
+ const treeItemCss = ":host{display:flex;align-items:center;height:32px;width:100%;cursor:pointer}: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 .tree-node-container{display:flex;align-items:center;height:2rem;flex-grow:1;align-items:center}:host .icon-toggle-container{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}:host .icon-toggle-container ix-icon{transition:transform 150ms ease-in-out}:host .icon-toggle-container ix-icon.icon-toggle-down{transform:rotate(90deg)}:host(:not(.disabled):not(:disabled):not(.selected).hover),:host(:not(.disabled):not(:disabled):not(.selected):hover){background-color:var(--theme-tree-item--background--hover)}:host(:not(.disabled):not(:disabled):not(.selected).active),:host(:not(.disabled):not(:disabled):not(.selected):active){background-color:var(--theme-tree-item--background--active)}:host(.selected){background-color:var(--theme-tree-item--background--selected)}:host(.selected.hover),:host(.selected:hover){background-color:var(--theme-tree-item--background--selected-hover)}:host(.selected.active),:host(.selected:active){background-color:var(--theme-tree-item--background--selected-active)}";
5
5
 
6
6
  const TreeItem = /*@__PURE__*/ proxyCustomElement(class TreeItem extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
10
+ this.__attachShadow();
10
11
  this.toggle = createEvent(this, "toggle", 7);
11
12
  this.itemClick = createEvent(this, "itemClick", 7);
12
13
  this.text = undefined;
@@ -27,7 +28,7 @@ const TreeItem = /*@__PURE__*/ proxyCustomElement(class TreeItem extends HTMLEle
27
28
  } }, this.text, h("slot", null))));
28
29
  }
29
30
  static get style() { return treeItemCss; }
30
- }, [6, "ix-tree-item", {
31
+ }, [1, "ix-tree-item", {
31
32
  "text": [1],
32
33
  "hasChildren": [4, "has-children"],
33
34
  "context": [16]