@siemens/ix 0.0.0-20240508065324 → 0.0.0-20240522074328

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 (508) hide show
  1. package/components/base-button.js +26 -3
  2. package/components/base-button.js.map +1 -1
  3. package/components/breadcrumb-item.js +1 -1
  4. package/components/breadcrumb-item.js.map +1 -1
  5. package/components/button.js +3 -3
  6. package/components/button.js.map +1 -1
  7. package/components/date-picker.js +4 -4
  8. package/components/date-picker.js.map +1 -1
  9. package/components/dropdown.js +29 -12
  10. package/components/dropdown.js.map +1 -1
  11. package/components/icon-button.js +2 -2
  12. package/components/icon-button.js.map +1 -1
  13. package/components/ix-blind.js +1 -1
  14. package/components/ix-blind.js.map +1 -1
  15. package/components/ix-category-filter.js +1 -1
  16. package/components/ix-category-filter.js.map +1 -1
  17. package/components/ix-date-dropdown.js +14 -5
  18. package/components/ix-date-dropdown.js.map +1 -1
  19. package/components/ix-icon-toggle-button.js +1 -1
  20. package/components/ix-icon-toggle-button.js.map +1 -1
  21. package/components/ix-pagination.js +1 -1
  22. package/components/ix-pagination.js.map +1 -1
  23. package/components/ix-workflow-step.js +4 -4
  24. package/components/ix-workflow-step.js.map +1 -1
  25. package/components/ix-workflow-steps.js +1 -1
  26. package/components/ix-workflow-steps.js.map +1 -1
  27. package/components/tooltip.js +5 -2
  28. package/components/tooltip.js.map +1 -1
  29. package/dist/cjs/{app-globals-7ea20f68.js → app-globals-5cfdf2a0.js} +2 -2
  30. package/dist/cjs/{app-globals-7ea20f68.js.map → app-globals-5cfdf2a0.js.map} +1 -1
  31. package/dist/cjs/{base-button-2f74b19d.js → base-button-7c45a6c4.js} +27 -4
  32. package/dist/cjs/base-button-7c45a6c4.js.map +1 -0
  33. package/dist/cjs/{base-icon-button-848c77f2.js → base-icon-button-ac2fcf4b.js} +2 -2
  34. package/dist/cjs/{base-icon-button-848c77f2.js.map → base-icon-button-ac2fcf4b.js.map} +1 -1
  35. package/dist/cjs/{core-js-a890bac8.js → core-js-2fc351ee.js} +1 -1
  36. package/dist/cjs/{core-js-a890bac8.js.map → core-js-2fc351ee.js.map} +1 -1
  37. package/dist/cjs/dom-83fb07d8.js.map +1 -1
  38. package/dist/cjs/{index.es2017-0db94b91.js → index.es2017-0c2b80b6.js} +3 -3
  39. package/dist/cjs/{index.es2017-0db94b91.js.map → index.es2017-0c2b80b6.js.map} +1 -1
  40. package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
  41. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  42. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  44. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ix-button.cjs.entry.js +4 -4
  46. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ix-category-filter.cjs.entry.js +2 -2
  48. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
  50. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ix-date-dropdown.cjs.entry.js +11 -4
  52. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ix-dropdown.cjs.entry.js +28 -12
  54. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ix-icon-button_2.cjs.entry.js +4 -4
  56. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +3 -3
  58. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ix-icon.entry-e95ddded.js +1533 -0
  60. package/dist/cjs/ix-icon.entry-e95ddded.js.map +1 -0
  61. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
  62. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  63. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ix-toggle-button.cjs.entry.js +1 -1
  65. package/dist/cjs/ix-tooltip.cjs.entry.js +5 -2
  66. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
  68. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  70. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  71. package/dist/cjs/loader.cjs.js +2 -2
  72. package/dist/cjs/siemens-ix.cjs.js +2 -2
  73. package/dist/collection/components/action-card/action-card.js.map +1 -1
  74. package/dist/collection/components/application/application.js.map +1 -1
  75. package/dist/collection/components/application-header/application-header.js.map +1 -1
  76. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
  77. package/dist/collection/components/application-header/test/application-header.ct.js.map +1 -1
  78. package/dist/collection/components/application-sidebar/application-sidebar.js.map +1 -1
  79. package/dist/collection/components/application-sidebar/events.js.map +1 -1
  80. package/dist/collection/components/avatar/avatar.js.map +1 -1
  81. package/dist/collection/components/avatar/test/avatar.ct.js.map +1 -1
  82. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  83. package/dist/collection/components/blind/blind.css +1 -1
  84. package/dist/collection/components/blind/blind.js.map +1 -1
  85. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  86. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  87. package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
  88. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +181 -0
  89. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  90. package/dist/collection/components/button/base-button.js +25 -2
  91. package/dist/collection/components/button/base-button.js.map +1 -1
  92. package/dist/collection/components/button/button.css +181 -0
  93. package/dist/collection/components/button/button.js +7 -4
  94. package/dist/collection/components/button/button.js.map +1 -1
  95. package/dist/collection/components/button/test/button.ct.js +11 -0
  96. package/dist/collection/components/button/test/button.ct.js.map +1 -1
  97. package/dist/collection/components/button/test/button.spec.js.map +1 -1
  98. package/dist/collection/components/card/card.js.map +1 -1
  99. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  100. package/dist/collection/components/card-content/card-content.js.map +1 -1
  101. package/dist/collection/components/card-list/card-list.js.map +1 -1
  102. package/dist/collection/components/card-title/card-title.js.map +1 -1
  103. package/dist/collection/components/category-filter/category-filter.css +181 -0
  104. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  105. package/dist/collection/components/category-filter/filter-state.js.map +1 -1
  106. package/dist/collection/components/category-filter/input-state.js.map +1 -1
  107. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  108. package/dist/collection/components/chip/chip.js.map +1 -1
  109. package/dist/collection/components/col/col.js.map +1 -1
  110. package/dist/collection/components/content/content.js.map +1 -1
  111. package/dist/collection/components/content-header/content-header.js.map +1 -1
  112. package/dist/collection/components/css-grid/builder.js.map +1 -1
  113. package/dist/collection/components/css-grid/css-grid-item.js.map +1 -1
  114. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  115. package/dist/collection/components/date-dropdown/date-dropdown.js +33 -3
  116. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  117. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js +43 -0
  118. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  119. package/dist/collection/components/date-picker/date-picker.js +4 -4
  120. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  121. package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
  122. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  123. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  124. package/dist/collection/components/datetime-picker/test/datetime-picker.ct.js.map +1 -1
  125. package/dist/collection/components/divider/divider.js.map +1 -1
  126. package/dist/collection/components/drawer/drawer.js.map +1 -1
  127. package/dist/collection/components/drawer/test/drawer.ct.js.map +1 -1
  128. package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
  129. package/dist/collection/components/dropdown/dropdown-controller.js +19 -6
  130. package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
  131. package/dist/collection/components/dropdown/dropdown.js +30 -6
  132. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  133. package/dist/collection/components/dropdown/placement.js.map +1 -1
  134. package/dist/collection/components/dropdown/test/dropdown-controller.spec.js.map +1 -1
  135. package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
  136. package/dist/collection/components/dropdown-button/dropdown-button.js +1 -1
  137. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  138. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  139. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  140. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js.map +1 -1
  141. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  142. package/dist/collection/components/event-list/event-list.js.map +1 -1
  143. package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -1
  144. package/dist/collection/components/event-list/test/event-list.spec.js.map +1 -1
  145. package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
  146. package/dist/collection/components/event-list-item/test/event-list-item.spec.js.map +1 -1
  147. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  148. package/dist/collection/components/expanding-search/test/expanding-search.ct.js.map +1 -1
  149. package/dist/collection/components/expanding-search/test/expanding-search.spec.js.map +1 -1
  150. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  151. package/dist/collection/components/flip-tile/flip-tile-state.js.map +1 -1
  152. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  153. package/dist/collection/components/flip-tile/test/flip-tile.ct.js.map +1 -1
  154. package/dist/collection/components/flip-tile-content/flip-tile-content.js.map +1 -1
  155. package/dist/collection/components/form-field/form-field.js.map +1 -1
  156. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  157. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  158. package/dist/collection/components/group/group.js.map +1 -1
  159. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  160. package/dist/collection/components/group-item/group-item.js.map +1 -1
  161. package/dist/collection/components/icon-button/base-icon-button.js.map +1 -1
  162. package/dist/collection/components/icon-button/icon-button.css +181 -0
  163. package/dist/collection/components/icon-button/icon-button.js +6 -3
  164. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  165. package/dist/collection/components/icon-button/test/icon-button.ct.js.map +1 -1
  166. package/dist/collection/components/icon-button/test/icon-button.spec.js.map +1 -1
  167. package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +181 -0
  168. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  169. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  170. package/dist/collection/components/input-group/input-group.js.map +1 -1
  171. package/dist/collection/components/input-group/tests/input-group.ct.js.map +1 -1
  172. package/dist/collection/components/key-value/key-value.js.map +1 -1
  173. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  174. package/dist/collection/components/kpi/kpi.js.map +1 -1
  175. package/dist/collection/components/link-button/link-button.js.map +1 -1
  176. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  177. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js.map +1 -1
  178. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  179. package/dist/collection/components/menu/menu.js.map +1 -1
  180. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  181. package/dist/collection/components/menu-about/menu-about.js.map +1 -1
  182. package/dist/collection/components/menu-about-item/menu-about-item.js.map +1 -1
  183. package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
  184. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  185. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js.map +1 -1
  186. package/dist/collection/components/menu-avatar-item/test/menu-avatar-item.ct.js.map +1 -1
  187. package/dist/collection/components/menu-category/enter-leave.js.map +1 -1
  188. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  189. package/dist/collection/components/menu-category/test/menu-category.ct.js.map +1 -1
  190. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  191. package/dist/collection/components/menu-item/test/menu-item.ct.js.map +1 -1
  192. package/dist/collection/components/menu-settings/menu-settings.js.map +1 -1
  193. package/dist/collection/components/menu-settings-item/menu-settings-item.js.map +1 -1
  194. package/dist/collection/components/message-bar/message-bar.js.map +1 -1
  195. package/dist/collection/components/message-bar/test/message-bar.spec.js.map +1 -1
  196. package/dist/collection/components/modal/modal.js.map +1 -1
  197. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  198. package/dist/collection/components/modal-content/modal-content.js.map +1 -1
  199. package/dist/collection/components/modal-footer/modal-footer.js.map +1 -1
  200. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  201. package/dist/collection/components/modal-loading/modal-loading.js.map +1 -1
  202. package/dist/collection/components/pagination/pagination.css +181 -0
  203. package/dist/collection/components/pagination/pagination.js.map +1 -1
  204. package/dist/collection/components/pagination/test/pagination.ct.js.map +1 -1
  205. package/dist/collection/components/pagination/test/pagination.spec.js.map +1 -1
  206. package/dist/collection/components/pane/pane.js.map +1 -1
  207. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  208. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  209. package/dist/collection/components/pane-layout/test/pane-layout.ct.js.map +1 -1
  210. package/dist/collection/components/pill/pill.js.map +1 -1
  211. package/dist/collection/components/playground/example-modal.js.map +1 -1
  212. package/dist/collection/components/playground/playground.js.map +1 -1
  213. package/dist/collection/components/push-card/push-card.js.map +1 -1
  214. package/dist/collection/components/row/row.js.map +1 -1
  215. package/dist/collection/components/select/select.js.map +1 -1
  216. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  217. package/dist/collection/components/select-item/events.js.map +1 -1
  218. package/dist/collection/components/select-item/select-item.js.map +1 -1
  219. package/dist/collection/components/select-item/test/select-item.spec.js.map +1 -1
  220. package/dist/collection/components/slider/slider.js.map +1 -1
  221. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  222. package/dist/collection/components/spinner/spinner.js.map +1 -1
  223. package/dist/collection/components/split-button/split-button.js +1 -1
  224. package/dist/collection/components/split-button/split-button.js.map +1 -1
  225. package/dist/collection/components/split-button-item/split-button-item.js.map +1 -1
  226. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  227. package/dist/collection/components/tabs/tabs.js.map +1 -1
  228. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  229. package/dist/collection/components/tile/tile.js.map +1 -1
  230. package/dist/collection/components/time-picker/test/time-picker.ct.js.map +1 -1
  231. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  232. package/dist/collection/components/toast/toast-container.js.map +1 -1
  233. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  234. package/dist/collection/components/toast/toast.js.map +1 -1
  235. package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
  236. package/dist/collection/components/toggle/toggle.js.map +1 -1
  237. package/dist/collection/components/toggle-button/toggle-button.js +1 -1
  238. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  239. package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
  240. package/dist/collection/components/tooltip/tooltip-controller.js.map +1 -1
  241. package/dist/collection/components/tooltip/tooltip.js +5 -2
  242. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  243. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  244. package/dist/collection/components/tree/tree-model.js.map +1 -1
  245. package/dist/collection/components/tree/tree.js.map +1 -1
  246. package/dist/collection/components/tree-item/default-tree-item.js.map +1 -1
  247. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  248. package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
  249. package/dist/collection/components/typography/type-mapping.js.map +1 -1
  250. package/dist/collection/components/typography/typography.js.map +1 -1
  251. package/dist/collection/components/upload/upload-file-state.js.map +1 -1
  252. package/dist/collection/components/upload/upload.js.map +1 -1
  253. package/dist/collection/components/utils/a11y.js.map +1 -1
  254. package/dist/collection/components/utils/animation.js.map +1 -1
  255. package/dist/collection/components/utils/app-switch/index.js.map +1 -1
  256. package/dist/collection/components/utils/application-layout/context.js.map +1 -1
  257. package/dist/collection/components/utils/application-layout/index.js.map +1 -1
  258. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  259. package/dist/collection/components/utils/breakpoints.js.map +1 -1
  260. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  261. package/dist/collection/components/utils/context.js.map +1 -1
  262. package/dist/collection/components/utils/debounce.js.map +1 -1
  263. package/dist/collection/components/utils/delegate.js.map +1 -1
  264. package/dist/collection/components/utils/focus.js.map +1 -1
  265. package/dist/collection/components/utils/internal/component.js.map +1 -1
  266. package/dist/collection/components/utils/internal/index.js.map +1 -1
  267. package/dist/collection/components/utils/listener.js.map +1 -1
  268. package/dist/collection/components/utils/make-ref.js.map +1 -1
  269. package/dist/collection/components/utils/menu-service/menu-service.js.map +1 -1
  270. package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
  271. package/dist/collection/components/utils/menu-tabs/menu-tabs-utils.js.map +1 -1
  272. package/dist/collection/components/utils/modal/index.js.map +1 -1
  273. package/dist/collection/components/utils/modal/loading.js.map +1 -1
  274. package/dist/collection/components/utils/modal/message.js.map +1 -1
  275. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  276. package/dist/collection/components/utils/mutation-observer.js.map +1 -1
  277. package/dist/collection/components/utils/notification-color.js.map +1 -1
  278. package/dist/collection/components/utils/overlay.js.map +1 -1
  279. package/dist/collection/components/utils/requestAnimationFrame.js.map +1 -1
  280. package/dist/collection/components/utils/rwd.util.js.map +1 -1
  281. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  282. package/dist/collection/components/utils/theme-switcher.js.map +1 -1
  283. package/dist/collection/components/utils/typed-event.js.map +1 -1
  284. package/dist/collection/components/utils/waitForElement.js.map +1 -1
  285. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  286. package/dist/collection/components/workflow-step/workflow-step.css +27 -7
  287. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  288. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  289. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  290. package/dist/collection/components/workflow-steps/test/workflow-steps.spec.js.map +1 -1
  291. package/dist/collection/components/workflow-steps/workflow-steps.css +9 -1
  292. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  293. package/dist/collection/index.js.map +1 -1
  294. package/dist/collection/setup.js.map +1 -1
  295. package/dist/collection/tests/action-card/action-card.e2e.js.map +1 -1
  296. package/dist/collection/tests/application/application.e2e.js.map +1 -1
  297. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  298. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  299. package/dist/collection/tests/basic-navigation/basic-navigation.e2e.js.map +1 -1
  300. package/dist/collection/tests/blind/blind.e2e.js.map +1 -1
  301. package/dist/collection/tests/breadcrumb/breadcrumb.e2e.js.map +1 -1
  302. package/dist/collection/tests/button/button.e2e.js.map +1 -1
  303. package/dist/collection/tests/card/card.e2e.js.map +1 -1
  304. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  305. package/dist/collection/tests/category-filter/category-filter.e2e.js.map +1 -1
  306. package/dist/collection/tests/checkbox/checkbox.e2e.js.map +1 -1
  307. package/dist/collection/tests/chip/chip.e2e.js.map +1 -1
  308. package/dist/collection/tests/content-header/content-header.e2e.js.map +1 -1
  309. package/dist/collection/tests/date-dropdown/date-dropdown.e2e.js.map +1 -1
  310. package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
  311. package/dist/collection/tests/date-picker-rework/date-picker-rework.e2e.js.map +1 -1
  312. package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
  313. package/dist/collection/tests/datetime-picker-rework/datetime-picker-rework.e2e.js.map +1 -1
  314. package/dist/collection/tests/divider/divider.e2e.js.map +1 -1
  315. package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
  316. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  317. package/dist/collection/tests/dropdown-button/dropdown-button.e2e.js.map +1 -1
  318. package/dist/collection/tests/dropdown-quick-actions/dropdown-quick-actions.e2e.js.map +1 -1
  319. package/dist/collection/tests/empty-state/empty-state.e2e.js.map +1 -1
  320. package/dist/collection/tests/event-list/event-list.e2e.js.map +1 -1
  321. package/dist/collection/tests/expanding-search/expanding-search.e2e.js.map +1 -1
  322. package/dist/collection/tests/flip-tile/flip-tile.e2e.js.map +1 -1
  323. package/dist/collection/tests/fonts/fonts.e2e.js.map +1 -1
  324. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  325. package/dist/collection/tests/html-table/html-table.e2e.js.map +1 -1
  326. package/dist/collection/tests/icon/icon.e2e.js.map +1 -1
  327. package/dist/collection/tests/icon-button/icon-button.e2e.js +34 -2
  328. package/dist/collection/tests/icon-button/icon-button.e2e.js.map +1 -1
  329. package/dist/collection/tests/icon-toggle-button/toggle-button.e2e.js.map +1 -1
  330. package/dist/collection/tests/input/input.e2e.js.map +1 -1
  331. package/dist/collection/tests/input-group/input-group.e2e.js.map +1 -1
  332. package/dist/collection/tests/key-value/key-value.e2e.js.map +1 -1
  333. package/dist/collection/tests/key-value-list/key-value-list.e2e.js.map +1 -1
  334. package/dist/collection/tests/kpi/kpi.e2e.js.map +1 -1
  335. package/dist/collection/tests/layout-grid/layout-grid.e2e.js.map +1 -1
  336. package/dist/collection/tests/link-button/link-button.e2e.js.map +1 -1
  337. package/dist/collection/tests/map-navigation/map-navigation.e2e.js.map +1 -1
  338. package/dist/collection/tests/map-navigation-overlay/map-navigation.e2e.js.map +1 -1
  339. package/dist/collection/tests/menu/menu.e2e.js.map +1 -1
  340. package/dist/collection/tests/menu-about/menu-about.e2e.js.map +1 -1
  341. package/dist/collection/tests/menu-about-news/menu-about-news.e2e.js.map +1 -1
  342. package/dist/collection/tests/menu-avatar/menu-avatar.e2e.js.map +1 -1
  343. package/dist/collection/tests/menu-settings/menu-settings.e2e.js.map +1 -1
  344. package/dist/collection/tests/message-bar/message-bar.e2e.js.map +1 -1
  345. package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
  346. package/dist/collection/tests/pagination/pagination.e2e.js.map +1 -1
  347. package/dist/collection/tests/panes/panes.e2e.js.map +1 -1
  348. package/dist/collection/tests/pill/pill.e2e.js.map +1 -1
  349. package/dist/collection/tests/push-card/push-card.e2e.js.map +1 -1
  350. package/dist/collection/tests/radiobutton/radiobutton.e2e.js.map +1 -1
  351. package/dist/collection/tests/select/select.e2e.js.map +1 -1
  352. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  353. package/dist/collection/tests/spinner/spinner.e2e.js.map +1 -1
  354. package/dist/collection/tests/split-button/split-button.e2e.js.map +1 -1
  355. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  356. package/dist/collection/tests/textarea/textarea.e2e.js.map +1 -1
  357. package/dist/collection/tests/tile/tile.e2e.js.map +1 -1
  358. package/dist/collection/tests/time-picker-rework/time-picker-rework.e2e.js.map +1 -1
  359. package/dist/collection/tests/toast/toast.e2e.js.map +1 -1
  360. package/dist/collection/tests/toggle/toggle.e2e.js.map +1 -1
  361. package/dist/collection/tests/toggle-button/toggle-button.e2e.js.map +1 -1
  362. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  363. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  364. package/dist/collection/tests/typography/typography.e2e.js.map +1 -1
  365. package/dist/collection/tests/upload/upload.e2e.js.map +1 -1
  366. package/dist/collection/tests/utils/test/index.js.map +1 -1
  367. package/dist/collection/tests/utils/test/page.js.map +1 -1
  368. package/dist/collection/tests/workflow-steps/workflow-steps.e2e.js.map +1 -1
  369. package/dist/esm/{app-globals-bdfc5499.js → app-globals-0cd07cd9.js} +2 -2
  370. package/dist/esm/{app-globals-bdfc5499.js.map → app-globals-0cd07cd9.js.map} +1 -1
  371. package/dist/esm/{base-button-37b915d6.js → base-button-3ac703a7.js} +27 -4
  372. package/dist/esm/base-button-3ac703a7.js.map +1 -0
  373. package/dist/esm/{base-icon-button-976ef0f6.js → base-icon-button-59eb1fe5.js} +2 -2
  374. package/dist/esm/{base-icon-button-976ef0f6.js.map → base-icon-button-59eb1fe5.js.map} +1 -1
  375. package/dist/esm/{core-js-1c33b685.js → core-js-78b486a8.js} +1 -1
  376. package/dist/esm/{core-js-1c33b685.js.map → core-js-78b486a8.js.map} +1 -1
  377. package/dist/esm/dom-64ac48b5.js.map +1 -1
  378. package/dist/esm/{index.es2017-45304832.js → index.es2017-93ac816c.js} +3 -3
  379. package/dist/esm/{index.es2017-45304832.js.map → index.es2017-93ac816c.js.map} +1 -1
  380. package/dist/esm/ix-avatar_2.entry.js +1 -1
  381. package/dist/esm/ix-blind.entry.js +1 -1
  382. package/dist/esm/ix-blind.entry.js.map +1 -1
  383. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  384. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  385. package/dist/esm/ix-button.entry.js +4 -4
  386. package/dist/esm/ix-button.entry.js.map +1 -1
  387. package/dist/esm/ix-category-filter.entry.js +2 -2
  388. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  389. package/dist/esm/ix-col_4.entry.js +4 -4
  390. package/dist/esm/ix-col_4.entry.js.map +1 -1
  391. package/dist/esm/ix-date-dropdown.entry.js +11 -4
  392. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  393. package/dist/esm/ix-dropdown.entry.js +28 -12
  394. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  395. package/dist/esm/ix-icon-button_2.entry.js +4 -4
  396. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  397. package/dist/esm/ix-icon-toggle-button.entry.js +3 -3
  398. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  399. package/dist/esm/ix-icon.entry-621b700a.js +1531 -0
  400. package/dist/esm/ix-icon.entry-621b700a.js.map +1 -0
  401. package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
  402. package/dist/esm/ix-pagination.entry.js +2 -2
  403. package/dist/esm/ix-pagination.entry.js.map +1 -1
  404. package/dist/esm/ix-toggle-button.entry.js +1 -1
  405. package/dist/esm/ix-tooltip.entry.js +5 -2
  406. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  407. package/dist/esm/ix-workflow-step.entry.js +4 -4
  408. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  409. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  410. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  411. package/dist/esm/loader.js +2 -2
  412. package/dist/esm/siemens-ix.js +2 -2
  413. package/dist/siemens-ix/p-01b8b98c.entry.js +2 -0
  414. package/dist/siemens-ix/{p-8d161202.entry.js.map → p-01b8b98c.entry.js.map} +1 -1
  415. package/dist/siemens-ix/p-0fee2dd5.entry.js +2 -0
  416. package/dist/siemens-ix/p-0fee2dd5.entry.js.map +1 -0
  417. package/dist/siemens-ix/p-18a1c4dd.entry.js +2 -0
  418. package/dist/siemens-ix/p-18a1c4dd.entry.js.map +1 -0
  419. package/dist/siemens-ix/p-18a27007.entry.js +2 -0
  420. package/dist/siemens-ix/p-18a27007.entry.js.map +1 -0
  421. package/dist/siemens-ix/{p-84430d2c.js → p-1f6df0c6.js} +2 -2
  422. package/dist/siemens-ix/{p-84430d2c.js.map → p-1f6df0c6.js.map} +1 -1
  423. package/dist/siemens-ix/p-213f16d5.entry.js +2 -0
  424. package/dist/siemens-ix/{p-64c895ac.entry.js.map → p-213f16d5.entry.js.map} +1 -1
  425. package/dist/siemens-ix/{p-7702a8c2.js → p-235c14ca.js} +2 -2
  426. package/dist/siemens-ix/p-2459f98f.entry.js +2 -0
  427. package/dist/siemens-ix/p-2459f98f.entry.js.map +1 -0
  428. package/dist/siemens-ix/p-2c14670e.entry.js +2 -0
  429. package/dist/siemens-ix/p-2c14670e.entry.js.map +1 -0
  430. package/dist/siemens-ix/{p-af74fc62.entry.js → p-306c5ab2.entry.js} +2 -2
  431. package/dist/siemens-ix/{p-bd310180.entry.js → p-4cf6e817.entry.js} +2 -2
  432. package/dist/siemens-ix/p-5d43cae8.js.map +1 -1
  433. package/dist/siemens-ix/p-8362e966.js +2 -0
  434. package/dist/siemens-ix/p-8362e966.js.map +1 -0
  435. package/dist/siemens-ix/p-a147b152.entry.js +2 -0
  436. package/dist/siemens-ix/p-a147b152.entry.js.map +1 -0
  437. package/dist/siemens-ix/{p-b5c53faf.js → p-a2200306.js} +1 -1
  438. package/dist/siemens-ix/{p-b5c53faf.js.map → p-a2200306.js.map} +1 -1
  439. package/dist/siemens-ix/p-a8838a77.js +2 -0
  440. package/dist/siemens-ix/p-bd576793.entry.js +2 -0
  441. package/dist/siemens-ix/p-bd576793.entry.js.map +1 -0
  442. package/dist/siemens-ix/p-bdc57334.entry.js +2 -0
  443. package/dist/siemens-ix/{p-f7e82b50.entry.js.map → p-bdc57334.entry.js.map} +1 -1
  444. package/dist/siemens-ix/{p-262026ab.entry.js → p-cf546284.entry.js} +2 -2
  445. package/dist/siemens-ix/p-cf546284.entry.js.map +1 -0
  446. package/dist/siemens-ix/{p-ac1d46d6.entry.js → p-def8b3a4.entry.js} +2 -2
  447. package/dist/siemens-ix/{p-ac1d46d6.entry.js.map → p-def8b3a4.entry.js.map} +1 -1
  448. package/dist/siemens-ix/p-e4e24f59.entry.js +2 -0
  449. package/dist/siemens-ix/{p-c29aff68.entry.js.map → p-e4e24f59.entry.js.map} +1 -1
  450. package/dist/siemens-ix/{p-b02fd2c5.entry.js → p-fb55854a.entry.js} +2 -2
  451. package/dist/siemens-ix/p-fe87443e.js +2 -0
  452. package/dist/siemens-ix/p-fe87443e.js.map +1 -0
  453. package/dist/siemens-ix/siemens-ix.css +72 -0
  454. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  455. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  456. package/dist/siemens-ix/theme/classic-dark.css +1 -1
  457. package/dist/siemens-ix/theme/classic-light.css +1 -1
  458. package/dist/types/components/button/base-button.d.ts +3 -0
  459. package/dist/types/components/button/button.d.ts +2 -1
  460. package/dist/types/components/date-dropdown/date-dropdown.d.ts +7 -0
  461. package/dist/types/components/dropdown/dropdown-controller.d.ts +2 -2
  462. package/dist/types/components/dropdown/dropdown.d.ts +2 -0
  463. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  464. package/dist/types/components.d.ts +15 -0
  465. package/package.json +1 -1
  466. package/scss/theme/classic-dark/_color.scss +36 -0
  467. package/scss/theme/classic-light/_color.scss +36 -0
  468. package/dist/cjs/base-button-2f74b19d.js.map +0 -1
  469. package/dist/cjs/ix-icon.entry-01b3822b.js +0 -1487
  470. package/dist/cjs/ix-icon.entry-01b3822b.js.map +0 -1
  471. package/dist/esm/base-button-37b915d6.js.map +0 -1
  472. package/dist/esm/ix-icon.entry-9fafcf35.js +0 -1485
  473. package/dist/esm/ix-icon.entry-9fafcf35.js.map +0 -1
  474. package/dist/playwright-ct.config.js +0 -23
  475. package/dist/playwright-ct.config.js.map +0 -1
  476. package/dist/playwright.config.js +0 -75
  477. package/dist/playwright.config.js.map +0 -1
  478. package/dist/siemens-ix/p-16826ff7.js +0 -2
  479. package/dist/siemens-ix/p-16d378f3.js +0 -2
  480. package/dist/siemens-ix/p-16d378f3.js.map +0 -1
  481. package/dist/siemens-ix/p-262026ab.entry.js.map +0 -1
  482. package/dist/siemens-ix/p-29b0bef3.entry.js +0 -2
  483. package/dist/siemens-ix/p-29b0bef3.entry.js.map +0 -1
  484. package/dist/siemens-ix/p-64c895ac.entry.js +0 -2
  485. package/dist/siemens-ix/p-6f097cae.entry.js +0 -2
  486. package/dist/siemens-ix/p-6f097cae.entry.js.map +0 -1
  487. package/dist/siemens-ix/p-8d161202.entry.js +0 -2
  488. package/dist/siemens-ix/p-a039faa9.entry.js +0 -2
  489. package/dist/siemens-ix/p-a039faa9.entry.js.map +0 -1
  490. package/dist/siemens-ix/p-a4e489ea.js +0 -2
  491. package/dist/siemens-ix/p-a4e489ea.js.map +0 -1
  492. package/dist/siemens-ix/p-acdeb192.entry.js +0 -2
  493. package/dist/siemens-ix/p-acdeb192.entry.js.map +0 -1
  494. package/dist/siemens-ix/p-c29aff68.entry.js +0 -2
  495. package/dist/siemens-ix/p-c4d3f089.entry.js +0 -2
  496. package/dist/siemens-ix/p-c4d3f089.entry.js.map +0 -1
  497. package/dist/siemens-ix/p-dbf234e5.entry.js +0 -2
  498. package/dist/siemens-ix/p-dbf234e5.entry.js.map +0 -1
  499. package/dist/siemens-ix/p-f7e82b50.entry.js +0 -2
  500. package/dist/siemens-ix/p-fe273de4.entry.js +0 -2
  501. package/dist/siemens-ix/p-fe273de4.entry.js.map +0 -1
  502. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright-ct.config.d.ts +0 -7
  503. package/dist/types/Users/daniel/dev/oss/ix/packages/core/.stencil/playwright.config.d.ts +0 -7
  504. /package/dist/siemens-ix/{p-7702a8c2.js.map → p-235c14ca.js.map} +0 -0
  505. /package/dist/siemens-ix/{p-af74fc62.entry.js.map → p-306c5ab2.entry.js.map} +0 -0
  506. /package/dist/siemens-ix/{p-bd310180.entry.js.map → p-4cf6e817.entry.js.map} +0 -0
  507. /package/dist/siemens-ix/{p-16826ff7.js.map → p-a8838a77.js.map} +0 -0
  508. /package/dist/siemens-ix/{p-b02fd2c5.entry.js.map → p-fb55854a.entry.js.map} +0 -0
@@ -209,6 +209,187 @@
209
209
  cursor: default;
210
210
  }
211
211
 
212
+ :host .btn-danger {
213
+ border-radius: var(--theme-btn--border-radius);
214
+ }
215
+ :host .btn-danger, :host .btn-danger.focus, :host .btn-danger:focus-visible {
216
+ background-color: var(--theme-btn-danger--background);
217
+ color: var(--theme-btn-danger--color);
218
+ --ix-button-color: var(--theme-btn-danger--color);
219
+ border-width: var(--theme-btn--border-thickness);
220
+ border-color: var(--theme-btn-danger--border-color);
221
+ border-style: solid;
222
+ }
223
+ :host .btn-danger:not(.disabled):not(:disabled):focus-visible {
224
+ outline: 1px solid var(--theme-color-focus-bdr);
225
+ outline-offset: var(--theme-btn--focus--outline-offset);
226
+ }
227
+ :host .btn-danger.selected {
228
+ background-color: var(--theme-color-ghost--selected);
229
+ color: var(--theme-color-dynamic);
230
+ }
231
+ :host .btn-danger.selected:not(.disabled):not(:disabled) {
232
+ cursor: pointer;
233
+ }
234
+ :host .btn-danger.selected:not(.disabled):not(:disabled):hover, :host .btn-danger.selected:not(.disabled):not(:disabled):hover {
235
+ background-color: var(--theme-color-ghost--selected-hover);
236
+ color: var(--theme-color-dynamic);
237
+ }
238
+ :host .btn-danger.selected:not(.disabled):not(:disabled) {
239
+ cursor: pointer;
240
+ }
241
+ :host .btn-danger.selected:not(.disabled):not(:disabled):active, :host .btn-danger.selected:not(.disabled):not(:disabled).active {
242
+ background-color: var(--theme-color-ghost--selected-active);
243
+ color: var(--theme-color-dynamic);
244
+ }
245
+ :host .btn-danger:not(.disabled):not(:disabled) {
246
+ cursor: pointer;
247
+ }
248
+ :host .btn-danger:not(.disabled):not(:disabled):hover, :host .btn-danger:not(.disabled):not(:disabled):hover {
249
+ border-color: var(--theme-btn-danger--border-color--hover);
250
+ background-color: var(--theme-btn-danger--background--hover);
251
+ color: var(--theme-btn-danger--color--hover);
252
+ }
253
+ :host .btn-danger:not(.disabled):not(:disabled) {
254
+ cursor: pointer;
255
+ }
256
+ :host .btn-danger:not(.disabled):not(:disabled):active, :host .btn-danger:not(.disabled):not(:disabled).active {
257
+ border-color: var(--theme-btn-danger--border-color--active);
258
+ background-color: var(--theme-btn-danger--background--active);
259
+ color: var(--theme-btn-danger--color--active);
260
+ }
261
+
262
+ :host(.disabled) {
263
+ pointer-events: none;
264
+ }
265
+ :host(.disabled) .btn-danger.disabled, :host(.disabled) .btn-danger:disabled {
266
+ pointer-events: none;
267
+ border-color: var(--theme-btn-danger--border-color--disabled);
268
+ background-color: var(--theme-btn-danger--background--disabled);
269
+ color: var(--theme-btn-danger--color--disabled);
270
+ opacity: 1;
271
+ --ix-button-color: var(--theme-btn-danger--color--disabled);
272
+ }
273
+
274
+ :host .btn-outline-danger {
275
+ border-radius: var(--theme-btn--border-radius);
276
+ }
277
+ :host .btn-outline-danger, :host .btn-outline-danger.focus, :host .btn-outline-danger:focus-visible {
278
+ background-color: var(--theme-btn-outline-danger--background);
279
+ color: var(--theme-btn-outline-danger--color);
280
+ --ix-button-color: var(--theme-btn-outline-danger--color);
281
+ border-width: var(--theme-btn--border-thickness);
282
+ border-color: var(--theme-btn-outline-danger--border-color);
283
+ border-style: solid;
284
+ }
285
+ :host .btn-outline-danger:not(.disabled):not(:disabled):focus-visible {
286
+ outline: 1px solid var(--theme-color-focus-bdr);
287
+ outline-offset: var(--theme-btn--focus--outline-offset);
288
+ }
289
+ :host .btn-outline-danger.selected {
290
+ background-color: var(--theme-color-ghost--selected);
291
+ color: var(--theme-color-dynamic);
292
+ }
293
+ :host .btn-outline-danger.selected:not(.disabled):not(:disabled) {
294
+ cursor: pointer;
295
+ }
296
+ :host .btn-outline-danger.selected:not(.disabled):not(:disabled):hover, :host .btn-outline-danger.selected:not(.disabled):not(:disabled):hover {
297
+ background-color: var(--theme-color-ghost--selected-hover);
298
+ color: var(--theme-color-dynamic);
299
+ }
300
+ :host .btn-outline-danger.selected:not(.disabled):not(:disabled) {
301
+ cursor: pointer;
302
+ }
303
+ :host .btn-outline-danger.selected:not(.disabled):not(:disabled):active, :host .btn-outline-danger.selected:not(.disabled):not(:disabled).active {
304
+ background-color: var(--theme-color-ghost--selected-active);
305
+ color: var(--theme-color-dynamic);
306
+ }
307
+ :host .btn-outline-danger:not(.disabled):not(:disabled) {
308
+ cursor: pointer;
309
+ }
310
+ :host .btn-outline-danger:not(.disabled):not(:disabled):hover, :host .btn-outline-danger:not(.disabled):not(:disabled):hover {
311
+ border-color: var(--theme-btn-outline-danger--border-color--hover);
312
+ background-color: var(--theme-btn-outline-danger--background--hover);
313
+ color: var(--theme-btn-outline-danger--color--hover);
314
+ }
315
+ :host .btn-outline-danger:not(.disabled):not(:disabled) {
316
+ cursor: pointer;
317
+ }
318
+ :host .btn-outline-danger:not(.disabled):not(:disabled):active, :host .btn-outline-danger:not(.disabled):not(:disabled).active {
319
+ border-color: var(--theme-btn-outline-danger--border-color--active);
320
+ background-color: var(--theme-btn-outline-danger--background--active);
321
+ color: var(--theme-btn-outline-danger--color--active);
322
+ }
323
+
324
+ :host(.disabled) {
325
+ pointer-events: none;
326
+ }
327
+ :host(.disabled) .btn-outline-danger.disabled, :host(.disabled) .btn-outline-danger:disabled {
328
+ pointer-events: none;
329
+ border-color: var(--theme-btn-outline-danger--border-color--disabled);
330
+ background-color: var(--theme-btn-outline-danger--background--disabled);
331
+ color: var(--theme-btn-outline-danger--color--disabled);
332
+ opacity: 1;
333
+ --ix-button-color: var(--theme-btn-outline-danger--color--disabled);
334
+ }
335
+
336
+ :host .btn-invisible-danger {
337
+ border-radius: var(--theme-btn--border-radius);
338
+ }
339
+ :host .btn-invisible-danger, :host .btn-invisible-danger.focus, :host .btn-invisible-danger:focus-visible {
340
+ background-color: var(--theme-btn-invisible-danger--background);
341
+ color: var(--theme-btn-invisible-danger--color);
342
+ --ix-button-color: var(--theme-btn-invisible-danger--color);
343
+ border-color: transparent;
344
+ }
345
+ :host .btn-invisible-danger:not(.disabled):not(:disabled):focus-visible {
346
+ outline: 1px solid var(--theme-color-focus-bdr);
347
+ outline-offset: var(--theme-btn--focus--outline-offset);
348
+ }
349
+ :host .btn-invisible-danger.selected {
350
+ background-color: var(--theme-color-ghost--selected);
351
+ color: var(--theme-color-dynamic);
352
+ }
353
+ :host .btn-invisible-danger.selected:not(.disabled):not(:disabled) {
354
+ cursor: pointer;
355
+ }
356
+ :host .btn-invisible-danger.selected:not(.disabled):not(:disabled):hover, :host .btn-invisible-danger.selected:not(.disabled):not(:disabled):hover {
357
+ background-color: var(--theme-color-ghost--selected-hover);
358
+ color: var(--theme-color-dynamic);
359
+ }
360
+ :host .btn-invisible-danger.selected:not(.disabled):not(:disabled) {
361
+ cursor: pointer;
362
+ }
363
+ :host .btn-invisible-danger.selected:not(.disabled):not(:disabled):active, :host .btn-invisible-danger.selected:not(.disabled):not(:disabled).active {
364
+ background-color: var(--theme-color-ghost--selected-active);
365
+ color: var(--theme-color-dynamic);
366
+ }
367
+ :host .btn-invisible-danger:not(.disabled):not(:disabled) {
368
+ cursor: pointer;
369
+ }
370
+ :host .btn-invisible-danger:not(.disabled):not(:disabled):hover, :host .btn-invisible-danger:not(.disabled):not(:disabled):hover {
371
+ background-color: var(--theme-btn-invisible-danger--background--hover);
372
+ color: var(--theme-btn-invisible-danger--color--hover);
373
+ }
374
+ :host .btn-invisible-danger:not(.disabled):not(:disabled) {
375
+ cursor: pointer;
376
+ }
377
+ :host .btn-invisible-danger:not(.disabled):not(:disabled):active, :host .btn-invisible-danger:not(.disabled):not(:disabled).active {
378
+ background-color: var(--theme-btn-invisible-danger--background--active);
379
+ color: var(--theme-btn-invisible-danger--color--active);
380
+ }
381
+
382
+ :host(.disabled) {
383
+ pointer-events: none;
384
+ }
385
+ :host(.disabled) .btn-invisible-danger.disabled, :host(.disabled) .btn-invisible-danger:disabled {
386
+ pointer-events: none;
387
+ background-color: var(--theme-btn-invisible-danger--background--disabled);
388
+ color: var(--theme-btn-invisible-danger--color--disabled);
389
+ opacity: 1;
390
+ --ix-button-color: var(--theme-btn-invisible-danger--color--disabled);
391
+ }
392
+
212
393
  :host .btn-primary {
213
394
  border-radius: var(--theme-btn--border-radius);
214
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"category-filter.js","sourceRoot":"","sources":["../../../../src/components/category-filter/category-filter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() showDropdown: boolean;\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty: boolean;\n\n @Element() hostElement: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder: string;\n\n /**\n * Configuration object hash used to populate the dropwdown menu for typeahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as typeahead suggestions not tied to any categories.\n */\n @Prop() suggestions: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n *\n * @since 2.2.0\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever the a category gets selected in the dropdown\n */\n @Event() categoryChanged: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged: EventEmitter<FilterState>;\n\n get dropdown() {\n return this.hostElement.shadowRoot.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown.show) {\n this.openDropdown();\n }\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = false;\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = true;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${\n this.category !== undefined ? 'value' : 'id'\n }`;\n let item = this.hostElement.shadowRoot.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.shadowRoot.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category !== undefined) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== undefined) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== undefined) {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={() => this.addToken(id, this.category)}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== undefined) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === undefined,\n }}\n ghost\n oval\n icon={'clear'}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': this.category === undefined,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly ||\n this.disabled ||\n this.category !== undefined,\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"category-filter.js","sourceRoot":"","sources":["../../../src/components/category-filter/category-filter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() showDropdown: boolean;\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty: boolean;\n\n @Element() hostElement: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder: string;\n\n /**\n * Configuration object hash used to populate the dropwdown menu for typeahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as typeahead suggestions not tied to any categories.\n */\n @Prop() suggestions: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n *\n * @since 2.2.0\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever the a category gets selected in the dropdown\n */\n @Event() categoryChanged: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged: EventEmitter<FilterState>;\n\n get dropdown() {\n return this.hostElement.shadowRoot.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown.show) {\n this.openDropdown();\n }\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = false;\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = true;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${\n this.category !== undefined ? 'value' : 'id'\n }`;\n let item = this.hostElement.shadowRoot.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.shadowRoot.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category !== undefined) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== undefined) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== undefined) {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={() => this.addToken(id, this.category)}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== undefined) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === undefined,\n }}\n ghost\n oval\n icon={'clear'}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': this.category === undefined,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly ||\n this.disabled ||\n this.category !== undefined,\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"filter-state.js","sourceRoot":"","sources":["../../../../src/components/category-filter/filter-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,MAAM,OAAO,WAAW;CAOvB","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LogicalFilterOperator } from './logical-filter-operator';\nexport class FilterState {\n public tokens: string[];\n public categories: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }[];\n}\n"]}
1
+ {"version":3,"file":"filter-state.js","sourceRoot":"","sources":["../../../src/components/category-filter/filter-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,MAAM,OAAO,WAAW;CAOvB","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LogicalFilterOperator } from './logical-filter-operator';\nexport class FilterState {\n public tokens: string[];\n public categories: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"input-state.js","sourceRoot":"","sources":["../../../../src/components/category-filter/input-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,UAAU;IAId,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrC,CAAC;IAED,YAAY,KAAa,EAAE,QAAgB;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport class InputState {\n public token: string;\n public category: string;\n\n public hasCategory() {\n return this.category !== undefined;\n }\n\n constructor(token: string, category: string) {\n this.token = token;\n this.category = category;\n }\n}\n"]}
1
+ {"version":3,"file":"input-state.js","sourceRoot":"","sources":["../../../src/components/category-filter/input-state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,OAAO,UAAU;IAId,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;IACrC,CAAC;IAED,YAAY,KAAa,EAAE,QAAgB;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport class InputState {\n public token: string;\n public category: string;\n\n public hasCategory() {\n return this.category !== undefined;\n }\n\n constructor(token: string, category: string) {\n this.token = token;\n this.category = category;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"logical-filter-operator.js","sourceRoot":"","sources":["../../../../src/components/category-filter/logical-filter-operator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uEAAuE;AACvE,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,gDAAuB,CAAA;AACzB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC","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// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum LogicalFilterOperator {\n EQUAL = 'Equal',\n NOT_EQUAL = 'Not equal',\n}\n"]}
1
+ {"version":3,"file":"logical-filter-operator.js","sourceRoot":"","sources":["../../../src/components/category-filter/logical-filter-operator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uEAAuE;AACvE,MAAM,CAAN,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC/B,wCAAe,CAAA;IACf,gDAAuB,CAAA;AACzB,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,QAGhC","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// eslint-disable-next-line @stencil-community/ban-exported-const-enums\nexport enum LogicalFilterOperator {\n EQUAL = 'Equal',\n NOT_EQUAL = 'Not equal',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../../src/components/chip/chip.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-chip',\n styleUrl: 'chip.scss',\n shadow: true,\n})\nexport class Chip {\n @Element() el: HTMLIxChipElement;\n\n /**\n * Chip variant\n */\n @Prop({ reflect: true }) variant:\n | 'primary'\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'info'\n | 'neutral'\n | 'success'\n | 'custom' = 'primary';\n\n /**\n * Determines if the chip is interactive. If false no user input (e.g. mouse states, keyboard navigation)\n * will be possible and also the close button will not be present.\n */\n @Prop() active = true;\n\n /**\n * Show close icon\n */\n @Prop() closable = false;\n\n /**\n * Show icon\n */\n @Prop() icon: string;\n\n /**\n * Custom background color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() background: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n *\n * @deprecated since 2.1.0 use `chip-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() chipColor: string | undefined;\n\n /**\n * Show chip with outline style\n */\n @Prop() outline = false;\n\n /**\n * Fire event if close button is clicked\n *\n * @since 1.5.0\n */\n @Event() closeChip: EventEmitter;\n\n private getCloseButton() {\n return (\n <div class=\"close-button-container\">\n <ix-icon-button\n type=\"button\"\n variant=\"secondary\"\n icon={'close-small'}\n class=\"close-button\"\n oval\n size=\"16\"\n style={\n this.variant === 'custom'\n ? { color: this.chipColor ?? this.color }\n : {}\n }\n ghost\n onClick={(event) => {\n this.closeChip.emit(event);\n event.stopPropagation();\n }}\n ></ix-icon-button>\n </div>\n );\n }\n\n render() {\n const isInactive = this.active === false;\n\n let customStyle = {};\n\n if (this.variant === 'custom') {\n customStyle = {\n color: this.chipColor ?? this.color,\n [this.outline ? 'borderColor' : 'backgroundColor']: this.background,\n };\n }\n\n return (\n <Host\n tabIndex=\"-1\"\n title={this.el.textContent}\n style={\n this.variant === 'custom'\n ? {\n '--ix-icon-button-color': this.chipColor ?? this.color,\n }\n : {}\n }\n >\n <div\n style={{ ...customStyle }}\n class={{\n container: true,\n outline: this.outline,\n inactive: isInactive,\n alarm: this.variant === 'alarm',\n critical: this.variant === 'critical',\n info: this.variant === 'info',\n neutral: this.variant === 'neutral',\n primary: this.variant === 'primary',\n success: this.variant === 'success',\n warning: this.variant === 'warning',\n custom: this.variant === 'custom',\n closable: this.closable,\n icon: !!this.icon,\n }}\n >\n <ix-icon\n class={{\n 'with-icon': true,\n hidden: !this.icon,\n }}\n name={this.icon}\n size={'24'}\n />\n <span class=\"slot-container\">\n <slot></slot>\n </span>\n {isInactive === false && this.closable ? this.getCloseButton() : null}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../src/components/chip/chip.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-chip',\n styleUrl: 'chip.scss',\n shadow: true,\n})\nexport class Chip {\n @Element() el: HTMLIxChipElement;\n\n /**\n * Chip variant\n */\n @Prop({ reflect: true }) variant:\n | 'primary'\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'info'\n | 'neutral'\n | 'success'\n | 'custom' = 'primary';\n\n /**\n * Determines if the chip is interactive. If false no user input (e.g. mouse states, keyboard navigation)\n * will be possible and also the close button will not be present.\n */\n @Prop() active = true;\n\n /**\n * Show close icon\n */\n @Prop() closable = false;\n\n /**\n * Show icon\n */\n @Prop() icon: string;\n\n /**\n * Custom background color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() background: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n *\n * @deprecated since 2.1.0 use `chip-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() chipColor: string | undefined;\n\n /**\n * Show chip with outline style\n */\n @Prop() outline = false;\n\n /**\n * Fire event if close button is clicked\n *\n * @since 1.5.0\n */\n @Event() closeChip: EventEmitter;\n\n private getCloseButton() {\n return (\n <div class=\"close-button-container\">\n <ix-icon-button\n type=\"button\"\n variant=\"secondary\"\n icon={'close-small'}\n class=\"close-button\"\n oval\n size=\"16\"\n style={\n this.variant === 'custom'\n ? { color: this.chipColor ?? this.color }\n : {}\n }\n ghost\n onClick={(event) => {\n this.closeChip.emit(event);\n event.stopPropagation();\n }}\n ></ix-icon-button>\n </div>\n );\n }\n\n render() {\n const isInactive = this.active === false;\n\n let customStyle = {};\n\n if (this.variant === 'custom') {\n customStyle = {\n color: this.chipColor ?? this.color,\n [this.outline ? 'borderColor' : 'backgroundColor']: this.background,\n };\n }\n\n return (\n <Host\n tabIndex=\"-1\"\n title={this.el.textContent}\n style={\n this.variant === 'custom'\n ? {\n '--ix-icon-button-color': this.chipColor ?? this.color,\n }\n : {}\n }\n >\n <div\n style={{ ...customStyle }}\n class={{\n container: true,\n outline: this.outline,\n inactive: isInactive,\n alarm: this.variant === 'alarm',\n critical: this.variant === 'critical',\n info: this.variant === 'info',\n neutral: this.variant === 'neutral',\n primary: this.variant === 'primary',\n success: this.variant === 'success',\n warning: this.variant === 'warning',\n custom: this.variant === 'custom',\n closable: this.closable,\n icon: !!this.icon,\n }}\n >\n <ix-icon\n class={{\n 'with-icon': true,\n hidden: !this.icon,\n }}\n name={this.icon}\n size={'24'}\n />\n <span class=\"slot-container\">\n <slot></slot>\n </span>\n {isInactive === false && this.closable ? this.getCloseButton() : null}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"col.js","sourceRoot":"","sources":["../../../../src/components/col/col.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAc,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmBnE;;GAEG;AAMH,MAAM,OAAO,GAAG;;;;;;;IAwBd,QAAQ;QACN,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,OAAO,CAAC,UAA0B;QACxC,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAgB,CAAC;QACrB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACrC,MAAM,kBAAkB,GACtB,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE7C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,GAAG,WAAW,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,MAAM;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,IAAI,2CAA2C,CAAC;QAE7E,OAAO;YACL,IAAI,EAAE,OAAO,OAAO,EAAE;YACtB,KAAK,EAAE,GAAG,OAAO,EAAE;YACnB,WAAW,EAAE,GAAG,OAAO,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,oBACA,IAAI,CAAC,oBAAoB,EAAE;YAGhC,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnGM,eAAW,GAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,AAA3C,CAA4C","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\n\ntype GridBreakpoint = Breakpoint | '';\n\nexport type ColumnSize =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8'\n | '9'\n | '10'\n | '11'\n | '12'\n | 'auto';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-col',\n styleUrl: 'col.scss',\n shadow: true,\n})\nexport class Col {\n static Breakpoints: GridBreakpoint[] = ['', 'sm', 'md', 'lg'];\n\n /**\n * Size of the column\n */\n @Prop() size?: ColumnSize;\n\n /**\n * Size of the column for sm screens\n */\n @Prop() sizeSm?: ColumnSize;\n\n /**\n * Size of the column for md screens\n */\n @Prop() sizeMd?: ColumnSize;\n\n /**\n * Size of the column for lg screens\n */\n @Prop() sizeLg?: ColumnSize;\n\n @Listen('resize', { target: 'window' })\n onResize() {\n forceUpdate(this);\n }\n\n private getSize(breakpoint: GridBreakpoint) {\n if (breakpoint === '') {\n return this.size;\n }\n\n if (breakpoint === 'sm') {\n return this.sizeSm;\n }\n\n if (breakpoint === 'md') {\n return this.sizeMd;\n }\n\n if (breakpoint === 'lg') {\n return this.sizeLg;\n }\n }\n\n private getColumnSize() {\n let size: ColumnSize;\n Col.Breakpoints.forEach((breakpoint) => {\n const isMediaQueryActive =\n breakpoint !== '' ? matchBreakpoint(breakpoint) : true;\n\n if (!isMediaQueryActive) {\n return;\n }\n\n const currentSize = this.getSize(breakpoint);\n\n if (currentSize) {\n size = currentSize;\n }\n });\n\n return size;\n }\n\n private getColumnSizeStyling() {\n const size = this.getColumnSize();\n\n if (!size) {\n return;\n }\n\n if (size === 'auto') {\n return {\n flex: '0 0 auto',\n width: 'auto',\n 'max-width': 'auto',\n };\n }\n\n const colSize = `calc(calc(${size} / var(--ix-layout-grid-columns)) * 100%)`;\n\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n ...this.getColumnSizeStyling(),\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"col.js","sourceRoot":"","sources":["../../../src/components/col/col.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAc,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmBnE;;GAEG;AAMH,MAAM,OAAO,GAAG;;;;;;;IAwBd,QAAQ;QACN,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,OAAO,CAAC,UAA0B;QACxC,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,IAAgB,CAAC;QACrB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACrC,MAAM,kBAAkB,GACtB,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE7C,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,GAAG,WAAW,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAElC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,MAAM;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,IAAI,2CAA2C,CAAC;QAE7E,OAAO;YACL,IAAI,EAAE,OAAO,OAAO,EAAE;YACtB,KAAK,EAAE,GAAG,OAAO,EAAE;YACnB,WAAW,EAAE,GAAG,OAAO,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,oBACA,IAAI,CAAC,oBAAoB,EAAE;YAGhC,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnGM,eAAW,GAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,AAA3C,CAA4C","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, forceUpdate, h, Host, Listen, Prop } from '@stencil/core';\nimport { Breakpoint, matchBreakpoint } from '../utils/breakpoints';\n\ntype GridBreakpoint = Breakpoint | '';\n\nexport type ColumnSize =\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | '8'\n | '9'\n | '10'\n | '11'\n | '12'\n | 'auto';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-col',\n styleUrl: 'col.scss',\n shadow: true,\n})\nexport class Col {\n static Breakpoints: GridBreakpoint[] = ['', 'sm', 'md', 'lg'];\n\n /**\n * Size of the column\n */\n @Prop() size?: ColumnSize;\n\n /**\n * Size of the column for sm screens\n */\n @Prop() sizeSm?: ColumnSize;\n\n /**\n * Size of the column for md screens\n */\n @Prop() sizeMd?: ColumnSize;\n\n /**\n * Size of the column for lg screens\n */\n @Prop() sizeLg?: ColumnSize;\n\n @Listen('resize', { target: 'window' })\n onResize() {\n forceUpdate(this);\n }\n\n private getSize(breakpoint: GridBreakpoint) {\n if (breakpoint === '') {\n return this.size;\n }\n\n if (breakpoint === 'sm') {\n return this.sizeSm;\n }\n\n if (breakpoint === 'md') {\n return this.sizeMd;\n }\n\n if (breakpoint === 'lg') {\n return this.sizeLg;\n }\n }\n\n private getColumnSize() {\n let size: ColumnSize;\n Col.Breakpoints.forEach((breakpoint) => {\n const isMediaQueryActive =\n breakpoint !== '' ? matchBreakpoint(breakpoint) : true;\n\n if (!isMediaQueryActive) {\n return;\n }\n\n const currentSize = this.getSize(breakpoint);\n\n if (currentSize) {\n size = currentSize;\n }\n });\n\n return size;\n }\n\n private getColumnSizeStyling() {\n const size = this.getColumnSize();\n\n if (!size) {\n return;\n }\n\n if (size === 'auto') {\n return {\n flex: '0 0 auto',\n width: 'auto',\n 'max-width': 'auto',\n };\n }\n\n const colSize = `calc(calc(${size} / var(--ix-layout-grid-columns)) * 100%)`;\n\n return {\n flex: `0 0 ${colSize}`,\n width: `${colSize}`,\n 'max-width': `${colSize}`,\n };\n }\n\n render() {\n return (\n <Host\n style={{\n ...this.getColumnSizeStyling(),\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../src/components/content/content.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,OAAO;;sCAGgB,KAAK;;IAEvC,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAC9C,sBAAsB,CACJ,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DACE,KAAK,EAAE;oBACL,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,IAAI,CAAC,sBAAsB;iBACrC;gBAED,6DACE,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,GAAG,EAAE;wBACjB,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAC9C,IAAI,CAAC,iBAAiB,CACvB,CAAC;oBACJ,CAAC,GACK,CACJ;YACN,4DAAK,KAAK,EAAC,SAAS;gBAClB,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, State } from '@stencil/core';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n/**\n * @since 2.1.0\n * @slot header - Display content at the top of the content page\n */\n@Component({\n tag: 'ix-content',\n styleUrl: 'content.scss',\n shadow: true,\n})\nexport class Content {\n @Element() hostElement!: HTMLIxContentElement;\n\n @State() isContentHeaderSlotted = false;\n\n get contentHeaderSlot() {\n return this.hostElement.shadowRoot.querySelector(\n '.content-header slot'\n ) as HTMLSlotElement;\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'content-header': true,\n slotted: this.isContentHeaderSlotted,\n }}\n >\n <slot\n name=\"header\"\n onSlotchange={() => {\n this.isContentHeaderSlotted = hasSlottedElements(\n this.contentHeaderSlot\n );\n }}\n ></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/components/content/content.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,OAAO;;sCAGgB,KAAK;;IAEvC,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAC9C,sBAAsB,CACJ,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DACE,KAAK,EAAE;oBACL,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,IAAI,CAAC,sBAAsB;iBACrC;gBAED,6DACE,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,GAAG,EAAE;wBACjB,IAAI,CAAC,sBAAsB,GAAG,kBAAkB,CAC9C,IAAI,CAAC,iBAAiB,CACvB,CAAC;oBACJ,CAAC,GACK,CACJ;YACN,4DAAK,KAAK,EAAC,SAAS;gBAClB,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, State } from '@stencil/core';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n/**\n * @since 2.1.0\n * @slot header - Display content at the top of the content page\n */\n@Component({\n tag: 'ix-content',\n styleUrl: 'content.scss',\n shadow: true,\n})\nexport class Content {\n @Element() hostElement!: HTMLIxContentElement;\n\n @State() isContentHeaderSlotted = false;\n\n get contentHeaderSlot() {\n return this.hostElement.shadowRoot.querySelector(\n '.content-header slot'\n ) as HTMLSlotElement;\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'content-header': true,\n slotted: this.isContentHeaderSlotted,\n }}\n >\n <slot\n name=\"header\"\n onSlotchange={() => {\n this.isContentHeaderSlotted = hasSlottedElements(\n this.contentHeaderSlot\n );\n }}\n ></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"content-header.js","sourceRoot":"","sources":["../../../../src/components/content-header/content-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAS9E,MAAM,OAAO,aAAa;;uBAIgB,SAAS;;8BAUJ,SAAS;6BAKrB,KAAK;;IAOtC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACpB,sBACE,KAAK,EAAE,YAAY,EACnB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAC1B,CACnB,CAAC,CAAC,CAAC,IAAI;YAER,4DAAK,KAAK,EAAC,YAAY;gBACrB,sEACE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAE5D,IAAI,CAAC,WAAW,CACH;gBACf,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CACnC,qBAAe,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,UAAU,IAC/D,IAAI,CAAC,cAAc,CACN,CACjB,CAAC,CAAC,CAAC,IAAI,CACJ;YACN,4DAAK,KAAK,EAAC,SAAS;gBAClB,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\nexport type ContentHeaderVariant = 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-content-header',\n styleUrl: 'content-header.scss',\n shadow: true,\n})\nexport class ContentHeader {\n /**\n * Variant of content header\n */\n @Prop() variant: ContentHeaderVariant = 'primary';\n\n /**\n * Title of Header\n */\n @Prop() headerTitle: string;\n\n /**\n * Subtitle of Header\n */\n @Prop() headerSubtitle: string | undefined = undefined;\n\n /**\n * Display a back button\n */\n @Prop() hasBackButton: boolean = false;\n\n /**\n * Triggered when back button is clicked\n */\n @Event() backButtonClick: EventEmitter<void>;\n\n render() {\n return (\n <Host>\n {this.hasBackButton ? (\n <ix-icon-button\n class={'backButton'}\n variant=\"primary\"\n icon={'arrow-left'}\n ghost={true}\n onClick={() => this.backButtonClick.emit()}\n ></ix-icon-button>\n ) : null}\n\n <div class=\"titleGroup\">\n <ix-typography\n variant={this.variant === 'secondary' ? 'large-single' : 'h2'}\n >\n {this.headerTitle}\n </ix-typography>\n {this.headerSubtitle !== undefined ? (\n <ix-typography variant={'caption'} color={'soft'} class=\"subtitle\">\n {this.headerSubtitle}\n </ix-typography>\n ) : null}\n </div>\n <div class=\"buttons\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"content-header.js","sourceRoot":"","sources":["../../../src/components/content-header/content-header.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAS9E,MAAM,OAAO,aAAa;;uBAIgB,SAAS;;8BAUJ,SAAS;6BAKrB,KAAK;;IAOtC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CACpB,sBACE,KAAK,EAAE,YAAY,EACnB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAC1B,CACnB,CAAC,CAAC,CAAC,IAAI;YAER,4DAAK,KAAK,EAAC,YAAY;gBACrB,sEACE,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAE5D,IAAI,CAAC,WAAW,CACH;gBACf,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CACnC,qBAAe,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,UAAU,IAC/D,IAAI,CAAC,cAAc,CACN,CACjB,CAAC,CAAC,CAAC,IAAI,CACJ;YACN,4DAAK,KAAK,EAAC,SAAS;gBAClB,8DAAQ,CACJ,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\n\nexport type ContentHeaderVariant = 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-content-header',\n styleUrl: 'content-header.scss',\n shadow: true,\n})\nexport class ContentHeader {\n /**\n * Variant of content header\n */\n @Prop() variant: ContentHeaderVariant = 'primary';\n\n /**\n * Title of Header\n */\n @Prop() headerTitle: string;\n\n /**\n * Subtitle of Header\n */\n @Prop() headerSubtitle: string | undefined = undefined;\n\n /**\n * Display a back button\n */\n @Prop() hasBackButton: boolean = false;\n\n /**\n * Triggered when back button is clicked\n */\n @Event() backButtonClick: EventEmitter<void>;\n\n render() {\n return (\n <Host>\n {this.hasBackButton ? (\n <ix-icon-button\n class={'backButton'}\n variant=\"primary\"\n icon={'arrow-left'}\n ghost={true}\n onClick={() => this.backButtonClick.emit()}\n ></ix-icon-button>\n ) : null}\n\n <div class=\"titleGroup\">\n <ix-typography\n variant={this.variant === 'secondary' ? 'large-single' : 'h2'}\n >\n {this.headerTitle}\n </ix-typography>\n {this.headerSubtitle !== undefined ? (\n <ix-typography variant={'caption'} color={'soft'} class=\"subtitle\">\n {this.headerSubtitle}\n </ix-typography>\n ) : null}\n </div>\n <div class=\"buttons\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/components/css-grid/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,aAAyB;IACvD,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,cAAc,IAAI,GAAG,CAAC;QACtB,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACrC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACvB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,cAAc,IAAI,KAAK,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport function templateBuilder(inputTemplate: string[][]) {\n let templateString = '';\n\n inputTemplate.forEach((row) => {\n templateString += '\"';\n templateString = row.reduce((pV, cV) => {\n return `${pV} ${cV}`;\n }, templateString);\n templateString += '\"\\n';\n });\n\n return templateString;\n}\n"]}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/components/css-grid/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,aAAyB;IACvD,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,cAAc,IAAI,GAAG,CAAC;QACtB,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;YACrC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACvB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,cAAc,IAAI,KAAK,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport function templateBuilder(inputTemplate: string[][]) {\n let templateString = '';\n\n inputTemplate.forEach((row) => {\n templateString += '\"';\n templateString = row.reduce((pV, cV) => {\n return `${pV} ${cV}`;\n }, templateString);\n templateString += '\"\\n';\n });\n\n return templateString;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"css-grid-item.js","sourceRoot":"","sources":["../../../../src/components/css-grid/css-grid-item.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAMH,MAAM,OAAO,WAAW;;;;IAMtB,MAAM;QACJ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid-item',\n styleUrl: 'css-grid-item.scss',\n shadow: true,\n})\nexport class CssGridItem {\n /**\n * Grid item name\n */\n @Prop() itemName: string;\n\n render() {\n const style = {};\n style['grid-area'] = this.itemName;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"css-grid-item.js","sourceRoot":"","sources":["../../../src/components/css-grid/css-grid-item.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAMH,MAAM,OAAO,WAAW;;;;IAMtB,MAAM;QACJ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid-item',\n styleUrl: 'css-grid-item.scss',\n shadow: true,\n})\nexport class CssGridItem {\n /**\n * Grid item name\n */\n @Prop() itemName: string;\n\n render() {\n const style = {};\n style['grid-area'] = this.itemName;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"css-grid.js","sourceRoot":"","sources":["../../../../src/components/css-grid/css-grid.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAIrD,MAAM,oBAAoB,GAGrB;IACH,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;CAC/B,CAAC;AAEF;;GAEG;AAMH,MAAM,OAAO,OAAO;;QAQV,8BAAyB,GAC/B,EAAE,CAAC;QACG,iBAAY,GAId,EAAE,CAAC;;;;IAET,mBAAmB;QACjB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEhD,uCACK,KAAK,KACR,UAAU,IACV;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACtC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAC/B,QAAQ,EACR,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAyB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,aAAa;QACnB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM;;QACJ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop, State } from '@stencil/core';\nimport { templateBuilder } from './builder';\n\nconst smQuery = 'only screen and (max-width: 576px)';\nconst mdQuery = 'only screen and (max-width: 768px)';\nconst lgQuery = 'only screen and (max-width: 992px)';\n\nexport type CssGridTemplateType = 'sm' | 'md' | 'lg';\n\nconst mediaQueryCollection: Array<{\n name: CssGridTemplateType;\n query: string;\n}> = [\n { name: 'sm', query: smQuery },\n { name: 'md', query: mdQuery },\n { name: 'lg', query: lgQuery },\n];\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid',\n styleUrl: 'css-grid.scss',\n shadow: true,\n})\nexport class CssGrid {\n /**\n * Define css grid template\n */\n @Prop() templates: Partial<Record<CssGridTemplateType, string[][]>>;\n\n @State() currentTemplate: string[][];\n\n private disposeMediaQueryListener: ((event: MediaQueryListEvent) => void)[] =\n [];\n private mediaQueries: {\n mediaQuery: MediaQueryList;\n name: CssGridTemplateType;\n query: string;\n }[] = [];\n\n componentWillRender() {\n this.mediaQueries = mediaQueryCollection.map((query) => {\n const mediaQuery = window.matchMedia(query.query);\n\n const callback = () => {\n this.applyTemplate();\n };\n this.disposeMediaQueryListener.push(callback);\n mediaQuery.addEventListener('change', callback);\n\n return {\n ...query,\n mediaQuery,\n };\n });\n\n this.applyTemplate();\n }\n\n disconnectedCallback() {\n this.mediaQueries.forEach((mq, index) => {\n mq.mediaQuery.removeEventListener(\n 'change',\n this.disposeMediaQueryListener[index]\n );\n });\n }\n\n private findNextTemplate(type: CssGridTemplateType) {\n const typeIndex = this.mediaQueries.findIndex((mq) => mq.name === type);\n const nextTemplate = this.templates[this.mediaQueries[typeIndex + 1].name];\n if (!nextTemplate) {\n return this.findNextTemplate(this.mediaQueries[typeIndex + 1].name);\n }\n return nextTemplate;\n }\n\n private applyTemplate() {\n let active = this.mediaQueries.find((mq) => mq.mediaQuery.matches);\n\n if (!active) {\n active = this.mediaQueries[this.mediaQueries.length - 1];\n }\n\n const template = this.templates[active.name];\n\n if (template) {\n this.currentTemplate = template;\n } else {\n this.currentTemplate = this.findNextTemplate(active.name);\n }\n }\n\n render() {\n const style = {};\n if (this.currentTemplate?.length !== 0) {\n style['grid-template-areas'] = templateBuilder(this.currentTemplate);\n }\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"css-grid.js","sourceRoot":"","sources":["../../../src/components/css-grid/css-grid.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,OAAO,GAAG,oCAAoC,CAAC;AACrD,MAAM,OAAO,GAAG,oCAAoC,CAAC;AAIrD,MAAM,oBAAoB,GAGrB;IACH,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;CAC/B,CAAC;AAEF;;GAEG;AAMH,MAAM,OAAO,OAAO;;QAQV,8BAAyB,GAC/B,EAAE,CAAC;QACG,iBAAY,GAId,EAAE,CAAC;;;;IAET,mBAAmB;QACjB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEhD,uCACK,KAAK,KACR,UAAU,IACV;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACtC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAC/B,QAAQ,EACR,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,IAAyB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,aAAa;QACnB,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,MAAM;;QACJ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,MAAK,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,KAAK;YAChB,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop, State } from '@stencil/core';\nimport { templateBuilder } from './builder';\n\nconst smQuery = 'only screen and (max-width: 576px)';\nconst mdQuery = 'only screen and (max-width: 768px)';\nconst lgQuery = 'only screen and (max-width: 992px)';\n\nexport type CssGridTemplateType = 'sm' | 'md' | 'lg';\n\nconst mediaQueryCollection: Array<{\n name: CssGridTemplateType;\n query: string;\n}> = [\n { name: 'sm', query: smQuery },\n { name: 'md', query: mdQuery },\n { name: 'lg', query: lgQuery },\n];\n\n/**\n * @internal\n */\n@Component({\n tag: 'ix-css-grid',\n styleUrl: 'css-grid.scss',\n shadow: true,\n})\nexport class CssGrid {\n /**\n * Define css grid template\n */\n @Prop() templates: Partial<Record<CssGridTemplateType, string[][]>>;\n\n @State() currentTemplate: string[][];\n\n private disposeMediaQueryListener: ((event: MediaQueryListEvent) => void)[] =\n [];\n private mediaQueries: {\n mediaQuery: MediaQueryList;\n name: CssGridTemplateType;\n query: string;\n }[] = [];\n\n componentWillRender() {\n this.mediaQueries = mediaQueryCollection.map((query) => {\n const mediaQuery = window.matchMedia(query.query);\n\n const callback = () => {\n this.applyTemplate();\n };\n this.disposeMediaQueryListener.push(callback);\n mediaQuery.addEventListener('change', callback);\n\n return {\n ...query,\n mediaQuery,\n };\n });\n\n this.applyTemplate();\n }\n\n disconnectedCallback() {\n this.mediaQueries.forEach((mq, index) => {\n mq.mediaQuery.removeEventListener(\n 'change',\n this.disposeMediaQueryListener[index]\n );\n });\n }\n\n private findNextTemplate(type: CssGridTemplateType) {\n const typeIndex = this.mediaQueries.findIndex((mq) => mq.name === type);\n const nextTemplate = this.templates[this.mediaQueries[typeIndex + 1].name];\n if (!nextTemplate) {\n return this.findNextTemplate(this.mediaQueries[typeIndex + 1].name);\n }\n return nextTemplate;\n }\n\n private applyTemplate() {\n let active = this.mediaQueries.find((mq) => mq.mediaQuery.matches);\n\n if (!active) {\n active = this.mediaQueries[this.mediaQueries.length - 1];\n }\n\n const template = this.templates[active.name];\n\n if (template) {\n this.currentTemplate = template;\n } else {\n this.currentTemplate = this.findNextTemplate(active.name);\n }\n }\n\n render() {\n const style = {};\n if (this.currentTemplate?.length !== 0) {\n style['grid-template-areas'] = templateBuilder(this.currentTemplate);\n }\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -14,6 +14,7 @@ import { DateTime } from "luxon";
14
14
  export class DateDropdown {
15
15
  constructor() {
16
16
  this.datePickerTouched = false;
17
+ this.disabled = false;
17
18
  this.format = 'yyyy/LL/dd';
18
19
  this.range = true;
19
20
  this.from = undefined;
@@ -45,6 +46,11 @@ export class DateDropdown {
45
46
  this.initialize();
46
47
  this.onDateRangeIdChange();
47
48
  }
49
+ onDisabledChange() {
50
+ if (this.disabled) {
51
+ this.closeDropdown();
52
+ }
53
+ }
48
54
  componentWillLoad() {
49
55
  this.initialize();
50
56
  this.setDateRangeSelection(this.dateRangeId);
@@ -126,16 +132,16 @@ export class DateDropdown {
126
132
  }
127
133
  render() {
128
134
  var _a, _b, _c;
129
- return (h(Host, { key: 'c1460a1ff367334dd5dccd26ddfdb8dbe333d1f9' }, h("ix-button", { key: '5cfaf26928ec4afd00986e9c2d9c912776d208fb', "data-date-dropdown-trigger": true, variant: "primary", icon: "history", ref: (ref) => (this.triggerRef = ref) }, this.getButtonLabel()), h("ix-dropdown", { key: '55678d235dae3f2171863921b67943e15f555f9d', "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef, "close-behavior": "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
135
+ return (h(Host, { key: 'd66ef545b12f469b74a6693942a4fdbd7eb60382' }, h("ix-button", { key: '8b6c5227aaf9d39fa6b8aa209170f10d9f4e46e8', "data-testid": "date-dropdown-trigger", "data-date-dropdown-trigger": true, variant: "primary", icon: "history", ref: (ref) => (this.triggerRef = ref), disabled: this.disabled }, this.getButtonLabel()), h("ix-dropdown", { key: '909f713bc65e1371143ce50b438d5222319b794e', "data-testid": "date-dropdown", "data-date-dropdown": true, class: "min-width max-height", trigger: this.triggerRef, closeBehavior: "outside", placement: "bottom-start", onShowChanged: ({ detail: show }) => {
130
136
  if (!show &&
131
137
  this.selectedDateRangeId === 'custom' &&
132
138
  this.datePickerTouched) {
133
139
  this.onDateSelect(this.currentRangeValue);
134
140
  }
135
- } }, h("ix-layout-grid", { key: '8c278991b47f5feeff74df783f37dfae99027a3a', "no-margin": "true" }, h("ix-row", { key: 'f7b9d0cbae4cae970df394aaa17a1e2907c3c661' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { class: {
141
+ } }, h("ix-layout-grid", { key: 'b8d09d4ddac4960ee2ea23ed9ec6bf5ecb59c5ae', "no-margin": "true" }, h("ix-row", { key: 'fa9099679383056a268265eec7316ced4cd0085a' }, ((_a = this.dateRangeOptions) === null || _a === void 0 ? void 0 : _a.length) > 1 && (h("ix-col", { class: {
136
142
  'no-margin': true,
137
143
  'border-right': this.selectedDateRangeId === 'custom',
138
- } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { hidden: !this.customRangeAllowed }, h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: '7a5b3ed06d888f5b90f34901e83dfbbda898e7a8', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, null, h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
144
+ } }, this.dateRangeOptions.map((dateRangeOption) => (h("ix-dropdown-item", { label: dateRangeOption.label, onClick: () => this.onRangeListSelect(dateRangeOption.id), checked: this.selectedDateRangeId === dateRangeOption.id }))), h("div", { hidden: !this.customRangeAllowed }, h("ix-dropdown-item", { label: this.i18nCustomItem, checked: this.selectedDateRangeId === 'custom', onClick: () => this.onRangeListSelect('custom') })))), h("ix-col", { key: '614659cb9511b4bf5267e9ecb3c5a122d91e103a', class: "no-margin" }, this.selectedDateRangeId === 'custom' && (h(Fragment, null, h("ix-date-picker", { standaloneAppearance: false, onDateChange: (e) => {
139
145
  e.stopPropagation();
140
146
  this.currentRangeValue = Object.assign(Object.assign({}, e.detail), { id: 'custom' });
141
147
  this.datePickerTouched = true;
@@ -157,6 +163,27 @@ export class DateDropdown {
157
163
  }
158
164
  static get properties() {
159
165
  return {
166
+ "disabled": {
167
+ "type": "boolean",
168
+ "mutable": false,
169
+ "complexType": {
170
+ "original": "boolean",
171
+ "resolved": "boolean",
172
+ "references": {}
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [{
178
+ "name": "since",
179
+ "text": "2.3.0"
180
+ }],
181
+ "text": "Disable the button that opens the dropdown containing the date picker."
182
+ },
183
+ "attribute": "disabled",
184
+ "reflect": false,
185
+ "defaultValue": "false"
186
+ },
160
187
  "format": {
161
188
  "type": "string",
162
189
  "mutable": false,
@@ -470,6 +497,9 @@ export class DateDropdown {
470
497
  }, {
471
498
  "propName": "dateRangeOptions",
472
499
  "methodName": "onDateRangeOptionsChange"
500
+ }, {
501
+ "propName": "disabled",
502
+ "methodName": "onDisabledChange"
473
503
  }];
474
504
  }
475
505
  }