@siemens/ix 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/components/_commonjsHelpers.js +21 -0
  2. package/components/_commonjsHelpers.js.map +1 -0
  3. package/components/a11y.js +79 -0
  4. package/components/a11y.js.map +1 -0
  5. package/components/animation.js +19 -0
  6. package/components/animation.js.map +1 -0
  7. package/components/anime.es.js +1311 -0
  8. package/components/anime.es.js.map +1 -0
  9. package/components/application-header.js +95 -0
  10. package/components/application-header.js.map +1 -0
  11. package/components/avatar.js +53 -0
  12. package/components/avatar.js.map +1 -0
  13. package/components/base-button.js +47 -0
  14. package/components/base-button.js.map +1 -0
  15. package/components/base-icon-button.js +18 -0
  16. package/components/base-icon-button.js.map +1 -0
  17. package/components/breadcrumb-item.js +92 -0
  18. package/components/breadcrumb-item.js.map +1 -0
  19. package/components/breakpoints.js +25 -0
  20. package/components/breakpoints.js.map +1 -0
  21. package/components/burger-menu.js +55 -0
  22. package/components/burger-menu.js.map +1 -0
  23. package/components/button.js +91 -0
  24. package/components/button.js.map +1 -0
  25. package/components/card-accordion.js +72 -0
  26. package/components/card-accordion.js.map +1 -0
  27. package/components/card-content.js +32 -0
  28. package/components/card-content.js.map +1 -0
  29. package/components/card-title.js +32 -0
  30. package/components/card-title.js.map +1 -0
  31. package/components/card.js +36 -0
  32. package/components/card.js.map +1 -0
  33. package/components/context.js +101 -0
  34. package/components/context.js.map +1 -0
  35. package/components/custom-elements.d.ts +10 -0
  36. package/components/date-picker.js +372 -0
  37. package/components/date-picker.js.map +1 -0
  38. package/components/date-time-card.js +45 -0
  39. package/components/date-time-card.js.map +1 -0
  40. package/components/default-tree-item.js +22 -0
  41. package/components/default-tree-item.js.map +1 -0
  42. package/components/divider.js +32 -0
  43. package/components/divider.js.map +1 -0
  44. package/components/dropdown-item.js +69 -0
  45. package/components/dropdown-item.js.map +1 -0
  46. package/components/dropdown.js +346 -0
  47. package/components/dropdown.js.map +1 -0
  48. package/components/filter-chip.js +56 -0
  49. package/components/filter-chip.js.map +1 -0
  50. package/components/flip-tile-state.js +20 -0
  51. package/components/flip-tile-state.js.map +1 -0
  52. package/components/floating-ui.dom.esm.js +1512 -0
  53. package/components/floating-ui.dom.esm.js.map +1 -0
  54. package/components/group-context-menu.js +73 -0
  55. package/components/group-context-menu.js.map +1 -0
  56. package/components/group-item.js +58 -0
  57. package/components/group-item.js.map +1 -0
  58. package/components/icon-button.js +99 -0
  59. package/components/icon-button.js.map +1 -0
  60. package/components/index.d.ts +27 -0
  61. package/components/index.js +101 -0
  62. package/components/index.js.map +1 -0
  63. package/components/ix-action-card.d.ts +11 -0
  64. package/components/ix-action-card.js +66 -0
  65. package/components/ix-action-card.js.map +1 -0
  66. package/components/ix-application-header.d.ts +11 -0
  67. package/components/ix-application-header.js +8 -0
  68. package/components/ix-application-header.js.map +1 -0
  69. package/components/ix-application-sidebar.d.ts +11 -0
  70. package/components/ix-application-sidebar.js +63 -0
  71. package/components/ix-application-sidebar.js.map +1 -0
  72. package/components/ix-application.d.ts +11 -0
  73. package/components/ix-application.js +128 -0
  74. package/components/ix-application.js.map +1 -0
  75. package/components/ix-avatar.d.ts +11 -0
  76. package/components/ix-avatar.js +8 -0
  77. package/components/ix-avatar.js.map +1 -0
  78. package/components/ix-basic-navigation.d.ts +11 -0
  79. package/components/ix-basic-navigation.js +132 -0
  80. package/components/ix-basic-navigation.js.map +1 -0
  81. package/components/ix-blind.d.ts +11 -0
  82. package/components/ix-blind.js +128 -0
  83. package/components/ix-blind.js.map +1 -0
  84. package/components/ix-breadcrumb-item.d.ts +11 -0
  85. package/components/ix-breadcrumb-item.js +8 -0
  86. package/components/ix-breadcrumb-item.js.map +1 -0
  87. package/components/ix-breadcrumb.d.ts +11 -0
  88. package/components/ix-breadcrumb.js +151 -0
  89. package/components/ix-breadcrumb.js.map +1 -0
  90. package/components/ix-burger-menu.d.ts +11 -0
  91. package/components/ix-burger-menu.js +8 -0
  92. package/components/ix-burger-menu.js.map +1 -0
  93. package/components/ix-button.d.ts +11 -0
  94. package/components/ix-button.js +8 -0
  95. package/components/ix-button.js.map +1 -0
  96. package/components/ix-card-accordion.d.ts +11 -0
  97. package/components/ix-card-accordion.js +8 -0
  98. package/components/ix-card-accordion.js.map +1 -0
  99. package/components/ix-card-content.d.ts +11 -0
  100. package/components/ix-card-content.js +8 -0
  101. package/components/ix-card-content.js.map +1 -0
  102. package/components/ix-card-list.d.ts +11 -0
  103. package/components/ix-card-list.js +228 -0
  104. package/components/ix-card-list.js.map +1 -0
  105. package/components/ix-card-title.d.ts +11 -0
  106. package/components/ix-card-title.js +8 -0
  107. package/components/ix-card-title.js.map +1 -0
  108. package/components/ix-card.d.ts +11 -0
  109. package/components/ix-card.js +8 -0
  110. package/components/ix-card.js.map +1 -0
  111. package/components/ix-category-filter.d.ts +11 -0
  112. package/components/ix-category-filter.js +464 -0
  113. package/components/ix-category-filter.js.map +1 -0
  114. package/components/ix-chip.d.ts +11 -0
  115. package/components/ix-chip.js +98 -0
  116. package/components/ix-chip.js.map +1 -0
  117. package/components/ix-col.d.ts +11 -0
  118. package/components/ix-col.js +96 -0
  119. package/components/ix-col.js.map +1 -0
  120. package/components/ix-content-header.d.ts +11 -0
  121. package/components/ix-content-header.js +63 -0
  122. package/components/ix-content-header.js.map +1 -0
  123. package/components/ix-content.d.ts +11 -0
  124. package/components/ix-content.js +48 -0
  125. package/components/ix-content.js.map +1 -0
  126. package/components/ix-css-grid-item.d.ts +11 -0
  127. package/components/ix-css-grid-item.js +40 -0
  128. package/components/ix-css-grid-item.js.map +1 -0
  129. package/components/ix-css-grid.d.ts +11 -0
  130. package/components/ix-css-grid.js +113 -0
  131. package/components/ix-css-grid.js.map +1 -0
  132. package/components/ix-date-picker.d.ts +11 -0
  133. package/components/ix-date-picker.js +8 -0
  134. package/components/ix-date-picker.js.map +1 -0
  135. package/components/ix-date-time-card.d.ts +11 -0
  136. package/components/ix-date-time-card.js +8 -0
  137. package/components/ix-date-time-card.js.map +1 -0
  138. package/components/ix-datetime-picker.d.ts +11 -0
  139. package/components/ix-datetime-picker.js +149 -0
  140. package/components/ix-datetime-picker.js.map +1 -0
  141. package/components/ix-divider.d.ts +11 -0
  142. package/components/ix-divider.js +8 -0
  143. package/components/ix-divider.js.map +1 -0
  144. package/components/ix-drawer.d.ts +11 -0
  145. package/components/ix-drawer.js +145 -0
  146. package/components/ix-drawer.js.map +1 -0
  147. package/components/ix-dropdown-button.d.ts +11 -0
  148. package/components/ix-dropdown-button.js +92 -0
  149. package/components/ix-dropdown-button.js.map +1 -0
  150. package/components/ix-dropdown-header.d.ts +11 -0
  151. package/components/ix-dropdown-header.js +44 -0
  152. package/components/ix-dropdown-header.js.map +1 -0
  153. package/components/ix-dropdown-item.d.ts +11 -0
  154. package/components/ix-dropdown-item.js +8 -0
  155. package/components/ix-dropdown-item.js.map +1 -0
  156. package/components/ix-dropdown-quick-actions.d.ts +11 -0
  157. package/components/ix-dropdown-quick-actions.js +35 -0
  158. package/components/ix-dropdown-quick-actions.js.map +1 -0
  159. package/components/ix-dropdown.d.ts +11 -0
  160. package/components/ix-dropdown.js +8 -0
  161. package/components/ix-dropdown.js.map +1 -0
  162. package/components/ix-empty-state.d.ts +11 -0
  163. package/components/ix-empty-state.js +65 -0
  164. package/components/ix-empty-state.js.map +1 -0
  165. package/components/ix-event-list-item.d.ts +11 -0
  166. package/components/ix-event-list-item.js +61 -0
  167. package/components/ix-event-list-item.js.map +1 -0
  168. package/components/ix-event-list.d.ts +11 -0
  169. package/components/ix-event-list.js +143 -0
  170. package/components/ix-event-list.js.map +1 -0
  171. package/components/ix-expanding-search.d.ts +11 -0
  172. package/components/ix-expanding-search.js +119 -0
  173. package/components/ix-expanding-search.js.map +1 -0
  174. package/components/ix-filter-chip.d.ts +11 -0
  175. package/components/ix-filter-chip.js +8 -0
  176. package/components/ix-filter-chip.js.map +1 -0
  177. package/components/ix-flip-tile-content.d.ts +11 -0
  178. package/components/ix-flip-tile-content.js +38 -0
  179. package/components/ix-flip-tile-content.js.map +1 -0
  180. package/components/ix-flip-tile.d.ts +11 -0
  181. package/components/ix-flip-tile.js +121 -0
  182. package/components/ix-flip-tile.js.map +1 -0
  183. package/components/ix-form-field.d.ts +11 -0
  184. package/components/ix-form-field.js +43 -0
  185. package/components/ix-form-field.js.map +1 -0
  186. package/components/ix-group-context-menu.d.ts +11 -0
  187. package/components/ix-group-context-menu.js +8 -0
  188. package/components/ix-group-context-menu.js.map +1 -0
  189. package/components/ix-group-item.d.ts +11 -0
  190. package/components/ix-group-item.js +8 -0
  191. package/components/ix-group-item.js.map +1 -0
  192. package/components/ix-group.d.ts +11 -0
  193. package/components/ix-group.js +178 -0
  194. package/components/ix-group.js.map +1 -0
  195. package/components/ix-icon-button.d.ts +11 -0
  196. package/components/ix-icon-button.js +8 -0
  197. package/components/ix-icon-button.js.map +1 -0
  198. package/components/ix-icon-toggle-button.d.ts +11 -0
  199. package/components/ix-icon-toggle-button.js +116 -0
  200. package/components/ix-icon-toggle-button.js.map +1 -0
  201. package/components/ix-input-group.d.ts +11 -0
  202. package/components/ix-input-group.js +130 -0
  203. package/components/ix-input-group.js.map +1 -0
  204. package/components/ix-key-value-list.d.ts +11 -0
  205. package/components/ix-key-value-list.js +38 -0
  206. package/components/ix-key-value-list.js.map +1 -0
  207. package/components/ix-key-value.d.ts +11 -0
  208. package/components/ix-key-value.js +47 -0
  209. package/components/ix-key-value.js.map +1 -0
  210. package/components/ix-kpi.d.ts +11 -0
  211. package/components/ix-kpi.js +69 -0
  212. package/components/ix-kpi.js.map +1 -0
  213. package/components/ix-layout-grid.d.ts +11 -0
  214. package/components/ix-layout-grid.js +47 -0
  215. package/components/ix-layout-grid.js.map +1 -0
  216. package/components/ix-link-button.d.ts +11 -0
  217. package/components/ix-link-button.js +48 -0
  218. package/components/ix-link-button.js.map +1 -0
  219. package/components/ix-map-navigation-overlay.d.ts +11 -0
  220. package/components/ix-map-navigation-overlay.js +8 -0
  221. package/components/ix-map-navigation-overlay.js.map +1 -0
  222. package/components/ix-map-navigation.d.ts +11 -0
  223. package/components/ix-map-navigation.js +226 -0
  224. package/components/ix-map-navigation.js.map +1 -0
  225. package/components/ix-menu-about-item.d.ts +11 -0
  226. package/components/ix-menu-about-item.js +38 -0
  227. package/components/ix-menu-about-item.js.map +1 -0
  228. package/components/ix-menu-about-news.d.ts +11 -0
  229. package/components/ix-menu-about-news.js +83 -0
  230. package/components/ix-menu-about-news.js.map +1 -0
  231. package/components/ix-menu-about.d.ts +11 -0
  232. package/components/ix-menu-about.js +119 -0
  233. package/components/ix-menu-about.js.map +1 -0
  234. package/components/ix-menu-avatar-item.d.ts +11 -0
  235. package/components/ix-menu-avatar-item.js +8 -0
  236. package/components/ix-menu-avatar-item.js.map +1 -0
  237. package/components/ix-menu-avatar.d.ts +11 -0
  238. package/components/ix-menu-avatar.js +77 -0
  239. package/components/ix-menu-avatar.js.map +1 -0
  240. package/components/ix-menu-category.d.ts +11 -0
  241. package/components/ix-menu-category.js +190 -0
  242. package/components/ix-menu-category.js.map +1 -0
  243. package/components/ix-menu-item.d.ts +11 -0
  244. package/components/ix-menu-item.js +8 -0
  245. package/components/ix-menu-item.js.map +1 -0
  246. package/components/ix-menu-settings-item.d.ts +11 -0
  247. package/components/ix-menu-settings-item.js +38 -0
  248. package/components/ix-menu-settings-item.js.map +1 -0
  249. package/components/ix-menu-settings.d.ts +11 -0
  250. package/components/ix-menu-settings.js +106 -0
  251. package/components/ix-menu-settings.js.map +1 -0
  252. package/components/ix-menu.d.ts +11 -0
  253. package/components/ix-menu.js +508 -0
  254. package/components/ix-menu.js.map +1 -0
  255. package/components/ix-message-bar.d.ts +11 -0
  256. package/components/ix-message-bar.js +87 -0
  257. package/components/ix-message-bar.js.map +1 -0
  258. package/components/ix-modal-content.d.ts +11 -0
  259. package/components/ix-modal-content.js +35 -0
  260. package/components/ix-modal-content.js.map +1 -0
  261. package/components/ix-modal-example.d.ts +11 -0
  262. package/components/ix-modal-example.js +58 -0
  263. package/components/ix-modal-example.js.map +1 -0
  264. package/components/ix-modal-footer.d.ts +11 -0
  265. package/components/ix-modal-footer.js +35 -0
  266. package/components/ix-modal-footer.js.map +1 -0
  267. package/components/ix-modal-header.d.ts +11 -0
  268. package/components/ix-modal-header.js +84 -0
  269. package/components/ix-modal-header.js.map +1 -0
  270. package/components/ix-modal-loading.d.ts +11 -0
  271. package/components/ix-modal-loading.js +41 -0
  272. package/components/ix-modal-loading.js.map +1 -0
  273. package/components/ix-modal.d.ts +11 -0
  274. package/components/ix-modal.js +156 -0
  275. package/components/ix-modal.js.map +1 -0
  276. package/components/ix-pagination.d.ts +11 -0
  277. package/components/ix-pagination.js +211 -0
  278. package/components/ix-pagination.js.map +1 -0
  279. package/components/ix-pill.d.ts +11 -0
  280. package/components/ix-pill.js +78 -0
  281. package/components/ix-pill.js.map +1 -0
  282. package/components/ix-push-card.d.ts +11 -0
  283. package/components/ix-push-card.js +80 -0
  284. package/components/ix-push-card.js.map +1 -0
  285. package/components/ix-row.d.ts +11 -0
  286. package/components/ix-row.js +35 -0
  287. package/components/ix-row.js.map +1 -0
  288. package/components/ix-select-item.d.ts +11 -0
  289. package/components/ix-select-item.js +8 -0
  290. package/components/ix-select-item.js.map +1 -0
  291. package/components/ix-select.d.ts +11 -0
  292. package/components/ix-select.js +8 -0
  293. package/components/ix-select.js.map +1 -0
  294. package/components/ix-slider.d.ts +11 -0
  295. package/components/ix-slider.js +192 -0
  296. package/components/ix-slider.js.map +1 -0
  297. package/components/ix-spinner.d.ts +11 -0
  298. package/components/ix-spinner.js +8 -0
  299. package/components/ix-spinner.js.map +1 -0
  300. package/components/ix-split-button-item.d.ts +11 -0
  301. package/components/ix-split-button-item.js +51 -0
  302. package/components/ix-split-button-item.js.map +1 -0
  303. package/components/ix-split-button.d.ts +11 -0
  304. package/components/ix-split-button.js +97 -0
  305. package/components/ix-split-button.js.map +1 -0
  306. package/components/ix-tab-item.d.ts +11 -0
  307. package/components/ix-tab-item.js +8 -0
  308. package/components/ix-tab-item.js.map +1 -0
  309. package/components/ix-tabs.d.ts +11 -0
  310. package/components/ix-tabs.js +8 -0
  311. package/components/ix-tabs.js.map +1 -0
  312. package/components/ix-tile.d.ts +11 -0
  313. package/components/ix-tile.js +59 -0
  314. package/components/ix-tile.js.map +1 -0
  315. package/components/ix-time-picker.d.ts +11 -0
  316. package/components/ix-time-picker.js +8 -0
  317. package/components/ix-time-picker.js.map +1 -0
  318. package/components/ix-toast-container.d.ts +11 -0
  319. package/components/ix-toast-container.js +124 -0
  320. package/components/ix-toast-container.js.map +1 -0
  321. package/components/ix-toast.d.ts +11 -0
  322. package/components/ix-toast.js +8 -0
  323. package/components/ix-toast.js.map +1 -0
  324. package/components/ix-toggle-button.d.ts +11 -0
  325. package/components/ix-toggle-button.js +105 -0
  326. package/components/ix-toggle-button.js.map +1 -0
  327. package/components/ix-toggle.d.ts +11 -0
  328. package/components/ix-toggle.js +62 -0
  329. package/components/ix-toggle.js.map +1 -0
  330. package/components/ix-tooltip.d.ts +11 -0
  331. package/components/ix-tooltip.js +8 -0
  332. package/components/ix-tooltip.js.map +1 -0
  333. package/components/ix-tree-item.d.ts +11 -0
  334. package/components/ix-tree-item.js +8 -0
  335. package/components/ix-tree-item.js.map +1 -0
  336. package/components/ix-tree.d.ts +11 -0
  337. package/components/ix-tree.js +727 -0
  338. package/components/ix-tree.js.map +1 -0
  339. package/components/ix-typography.d.ts +11 -0
  340. package/components/ix-typography.js +8 -0
  341. package/components/ix-typography.js.map +1 -0
  342. package/components/ix-upload.d.ts +11 -0
  343. package/components/ix-upload.js +147 -0
  344. package/components/ix-upload.js.map +1 -0
  345. package/components/ix-validation-tooltip.d.ts +11 -0
  346. package/components/ix-validation-tooltip.js +170 -0
  347. package/components/ix-validation-tooltip.js.map +1 -0
  348. package/components/ix-workflow-step.d.ts +11 -0
  349. package/components/ix-workflow-step.js +120 -0
  350. package/components/ix-workflow-step.js.map +1 -0
  351. package/components/ix-workflow-steps.d.ts +11 -0
  352. package/components/ix-workflow-steps.js +99 -0
  353. package/components/ix-workflow-steps.js.map +1 -0
  354. package/components/logical-filter-operator.js +35 -0
  355. package/components/logical-filter-operator.js.map +1 -0
  356. package/components/luxon.js +7828 -0
  357. package/components/luxon.js.map +1 -0
  358. package/components/map-navigation-overlay.js +89 -0
  359. package/components/map-navigation-overlay.js.map +1 -0
  360. package/components/menu-avatar-item.js +45 -0
  361. package/components/menu-avatar-item.js.map +1 -0
  362. package/components/menu-item.js +92 -0
  363. package/components/menu-item.js.map +1 -0
  364. package/components/menu-service.js +156 -0
  365. package/components/menu-service.js.map +1 -0
  366. package/components/modal.js +245 -0
  367. package/components/modal.js.map +1 -0
  368. package/components/mutation-observer.js +13 -0
  369. package/components/mutation-observer.js.map +1 -0
  370. package/components/my-component.d.ts +11 -0
  371. package/components/my-component.js +34 -0
  372. package/components/my-component.js.map +1 -0
  373. package/components/package.json +8 -0
  374. package/components/rwd.util.js +41 -0
  375. package/components/rwd.util.js.map +1 -0
  376. package/components/select-item.js +92 -0
  377. package/components/select-item.js.map +1 -0
  378. package/components/select.js +410 -0
  379. package/components/select.js.map +1 -0
  380. package/components/shadow-dom.js +21 -0
  381. package/components/shadow-dom.js.map +1 -0
  382. package/components/spinner.js +48 -0
  383. package/components/spinner.js.map +1 -0
  384. package/components/tab-item.js +87 -0
  385. package/components/tab-item.js.map +1 -0
  386. package/components/tabs.js +227 -0
  387. package/components/tabs.js.map +1 -0
  388. package/components/theme-switcher.js +123 -0
  389. package/components/theme-switcher.js.map +1 -0
  390. package/components/time-picker.js +252 -0
  391. package/components/time-picker.js.map +1 -0
  392. package/components/toast.js +105 -0
  393. package/components/toast.js.map +1 -0
  394. package/components/tooltip.js +197 -0
  395. package/components/tooltip.js.map +1 -0
  396. package/components/tree-item.js +51 -0
  397. package/components/tree-item.js.map +1 -0
  398. package/components/typed-event.js +46 -0
  399. package/components/typed-event.js.map +1 -0
  400. package/components/typography.js +76 -0
  401. package/components/typography.js.map +1 -0
  402. package/components/upload-file-state.js +19 -0
  403. package/components/upload-file-state.js.map +1 -0
  404. package/package.json +1 -1
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxFlipTileContent extends Components.IxFlipTileContent, HTMLElement {}
4
+ export const IxFlipTileContent: {
5
+ prototype: IxFlipTileContent;
6
+ new (): IxFlipTileContent;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,38 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const flipTileContentCss = ":host{display:block}";
4
+
5
+ const FlipTileContent = /*@__PURE__*/ proxyCustomElement(class FlipTileContent extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.contentVisible = false;
11
+ }
12
+ render() {
13
+ return h(Host, null, this.contentVisible ? h("slot", null) : null);
14
+ }
15
+ static get style() { return flipTileContentCss; }
16
+ }, [1, "ix-flip-tile-content", {
17
+ "contentVisible": [4, "content-visible"]
18
+ }]);
19
+ function defineCustomElement$1() {
20
+ if (typeof customElements === "undefined") {
21
+ return;
22
+ }
23
+ const components = ["ix-flip-tile-content"];
24
+ components.forEach(tagName => { switch (tagName) {
25
+ case "ix-flip-tile-content":
26
+ if (!customElements.get(tagName)) {
27
+ customElements.define(tagName, FlipTileContent);
28
+ }
29
+ break;
30
+ } });
31
+ }
32
+
33
+ const IxFlipTileContent = FlipTileContent;
34
+ const defineCustomElement = defineCustomElement$1;
35
+
36
+ export { IxFlipTileContent, defineCustomElement };
37
+
38
+ //# sourceMappingURL=ix-flip-tile-content.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-flip-tile-content.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,sBAAsB;;MCepC,eAAe;;;;;0BAMD,KAAK;;EAE9B,MAAM;IACJ,OAAO,EAAC,IAAI,QAAE,IAAI,CAAC,cAAc,GAAG,eAAa,GAAG,IAAI,CAAQ,CAAC;GAClE;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/flip-tile-content/flip-tile-content.css?tag=ix-flip-tile-content&encapsulation=shadow","./src/components/flip-tile-content/flip-tile-content.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-flip-tile-content',\n styleUrl: 'flip-tile-content.css',\n shadow: true,\n})\nexport class FlipTileContent {\n /**\n * Controls the visibility of the content\n *\n * @internal\n */\n @Prop() contentVisible = false;\n\n render() {\n return <Host>{this.contentVisible ? <slot></slot> : null}</Host>;\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxFlipTile extends Components.IxFlipTile, HTMLElement {}
4
+ export const IxFlipTile: {
5
+ prototype: IxFlipTile;
6
+ new (): IxFlipTile;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,121 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { c as createMutationObserver } from './mutation-observer.js';
3
+ import { F as FlipTileState } from './flip-tile-state.js';
4
+ import { d as defineCustomElement$3 } from './icon-button.js';
5
+ import { d as defineCustomElement$2 } from './spinner.js';
6
+
7
+ const flipTileCss = ".text-xs{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.625rem;font-weight:400;line-height:1.4em;color:var(--theme-color-std-text)}.text-s{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:400;line-height:1.5em;color:var(--theme-color-std-text)}.text-caption{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:700;line-height:1.5em;color:var(--theme-color-std-text)}.text-caption-single{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:700;line-height:1em;color:var(--theme-color-std-text)}.text-default{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text)}.text-default-single{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.143em;color:var(--theme-color-std-text)}.text-default-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.429em;color:var(--theme-color-std-text)}.text-default-title-single{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.143em;color:var(--theme-color-std-text)}.text-l{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:400;line-height:1.5em;color:var(--theme-color-std-text)}.text-l-single{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:400;line-height:1.25em;color:var(--theme-color-std-text)}.text-l-title{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:700;line-height:1.5em;color:var(--theme-color-std-text)}.text-l-title-single{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:700;line-height:1.25em;color:var(--theme-color-std-text)}.text-h2{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1.375rem;font-weight:700;line-height:1.455em;color:var(--theme-color-std-text)}.text-xl{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1.375rem;font-weight:400;line-height:1.091em;color:var(--theme-color-std-text)}a{color:var(--theme-color-primary)}@keyframes flip-animation{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}51%{transform:rotateY(270deg)}100%{transform:rotateY(360deg)}}:host{display:flex;flex-direction:column;perspective:1000px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .flip-tile-header{display:flex;align-items:center;height:2.5rem;padding:0 0.5rem 0 1rem}:host .flip-tile-header .header-slot-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;min-width:0}:host .content-container{flex-grow:1;margin:1rem}:host .flip-tile-container{display:flex;flex-direction:column;height:100%;background-color:var(--theme-blind-base--background);border:solid 1px var(--theme-blind-base--border-color);border-radius:var(--theme-flip-tile--border-radius) var(--theme-flip-tile--border-radius) 0 0;transform-style:preserve-3d}:host .flip-tile-container.flip-animation-active{animation:flip-animation 300ms, ease-in-out}:host .flip-tile-container .footer{display:flex;height:3rem;align-items:center;justify-content:center;padding:0 0.5rem;color:var(--theme-flip-footer--color);background-color:var(--theme-blind-base--background)}:host .flip-tile-container .footer :first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:100%}:host .flip-tile-container ::slotted(*){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;align-items:center;min-width:0}:host .flip-tile-container.primary{border-color:var(--theme-color-primary)}:host .flip-tile-container.primary .footer{background-color:var(--theme-color-primary);color:var(--theme-color-primary--contrast)}:host .flip-tile-container.info{border-color:var(--theme-color-info)}:host .flip-tile-container.info .footer{background-color:var(--theme-color-info);color:var(--theme-color-info--contrast)}:host .flip-tile-container.warning{border-color:var(--theme-color-warning)}:host .flip-tile-container.warning .footer{background-color:var(--theme-color-warning);color:var(--theme-color-warning--contrast)}:host .flip-tile-container.alarm{border-color:var(--theme-color-alarm)}:host .flip-tile-container.alarm .footer{background-color:var(--theme-color-alarm);color:var(--theme-color-alarm--contrast)}:host:hover .flip-tile-container .footer ix-icon{color:var(--theme-color-std-text)}";
8
+
9
+ const FlipTile = /*@__PURE__*/ proxyCustomElement(class FlipTile extends HTMLElement {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ this.__attachShadow();
14
+ this.ANIMATION_DURATION = 150;
15
+ this.state = undefined;
16
+ this.height = 15.125;
17
+ this.width = 16;
18
+ this.index = 0;
19
+ this.isFlipAnimationActive = undefined;
20
+ }
21
+ componentDidLoad() {
22
+ this.observer = createMutationObserver(() => this.updateContentItems());
23
+ this.observer.observe(this.hostElement, {
24
+ childList: true,
25
+ });
26
+ }
27
+ componentWillLoad() {
28
+ this.updateContentItems();
29
+ this.updateContentVisibility(this.index);
30
+ }
31
+ disconnectedCallback() {
32
+ if (this.observer) {
33
+ this.observer.disconnect();
34
+ }
35
+ }
36
+ updateContentItems() {
37
+ this.contentItems = Array.from(this.hostElement.querySelectorAll('ix-flip-tile-content'));
38
+ }
39
+ updateContentVisibility(indexVisible) {
40
+ this.contentItems.forEach((content, index) => (content.contentVisible = index === indexVisible));
41
+ }
42
+ toggleIndex() {
43
+ this.doFlipAnimation();
44
+ }
45
+ doFlipAnimation() {
46
+ this.isFlipAnimationActive = true;
47
+ setTimeout(() => {
48
+ this.updateContentVisibility(this.index);
49
+ if (this.index >= this.contentItems.length - 1) {
50
+ this.index = 0;
51
+ }
52
+ else {
53
+ this.index++;
54
+ }
55
+ this.updateContentVisibility(this.index);
56
+ }, this.ANIMATION_DURATION);
57
+ setTimeout(() => {
58
+ this.isFlipAnimationActive = false;
59
+ }, 2 * this.ANIMATION_DURATION);
60
+ }
61
+ render() {
62
+ return (h(Host, { style: {
63
+ height: `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
64
+ 'min-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
65
+ 'max-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
66
+ width: `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
67
+ 'min-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
68
+ 'max-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
69
+ } }, h("div", { class: {
70
+ 'flip-tile-container': true,
71
+ info: this.state === FlipTileState.Info,
72
+ warning: this.state === FlipTileState.Warning,
73
+ alarm: this.state === FlipTileState.Alarm,
74
+ primary: this.state === FlipTileState.Primary,
75
+ 'flip-animation-active': this.isFlipAnimationActive,
76
+ } }, h("div", { class: "flip-tile-header" }, h("div", { class: "header-slot-container text-l-title" }, h("slot", { name: "header" })), h("ix-icon-button", { icon: 'eye', variant: "primary", ghost: true, onClick: () => this.toggleIndex() })), h("div", { class: "content-container" }, h("slot", null)), h("div", { class: {
77
+ footer: true,
78
+ 'contrast-light': this.state === FlipTileState.Warning,
79
+ 'contrast-dark': this.state === FlipTileState.Info ||
80
+ this.state === FlipTileState.Alarm,
81
+ } }, h("slot", { name: "footer" })))));
82
+ }
83
+ get hostElement() { return this; }
84
+ static get style() { return flipTileCss; }
85
+ }, [1, "ix-flip-tile", {
86
+ "state": [1],
87
+ "height": [8],
88
+ "width": [8],
89
+ "index": [32],
90
+ "isFlipAnimationActive": [32]
91
+ }]);
92
+ function defineCustomElement$1() {
93
+ if (typeof customElements === "undefined") {
94
+ return;
95
+ }
96
+ const components = ["ix-flip-tile", "ix-icon-button", "ix-spinner"];
97
+ components.forEach(tagName => { switch (tagName) {
98
+ case "ix-flip-tile":
99
+ if (!customElements.get(tagName)) {
100
+ customElements.define(tagName, FlipTile);
101
+ }
102
+ break;
103
+ case "ix-icon-button":
104
+ if (!customElements.get(tagName)) {
105
+ defineCustomElement$3();
106
+ }
107
+ break;
108
+ case "ix-spinner":
109
+ if (!customElements.get(tagName)) {
110
+ defineCustomElement$2();
111
+ }
112
+ break;
113
+ } });
114
+ }
115
+
116
+ const IxFlipTile = FlipTile;
117
+ const defineCustomElement = defineCustomElement$1;
118
+
119
+ export { IxFlipTile, defineCustomElement };
120
+
121
+ //# sourceMappingURL=ix-flip-tile.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-flip-tile.js","mappings":"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","names":[],"sources":["./src/components/flip-tile/flip-tile.scss?tag=ix-flip-tile&encapsulation=shadow","./src/components/flip-tile/flip-tile.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/animations';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n@import 'legacy/fonts';\n\n@include keyframes(flip-animation) {\n 0% {\n transform: rotateY(0);\n }\n 50% {\n transform: rotateY(90deg);\n }\n 51% {\n transform: rotateY(270deg);\n }\n 100% {\n transform: rotateY(360deg);\n }\n}\n\n:host {\n @include ix-component;\n display: flex;\n flex-direction: column;\n perspective: 1000px;\n\n .flip-tile-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n padding: 0 $small-space 0 $default-space;\n\n .header-slot-container {\n @include ellipsis;\n flex-grow: 1;\n min-width: 0;\n }\n }\n\n .content-container {\n flex-grow: 1;\n margin: $default-space;\n }\n\n .flip-tile-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n background-color: var(--theme-blind-base--background);\n border: solid 1px var(--theme-blind-base--border-color);\n border-radius: var(--theme-flip-tile--border-radius)\n var(--theme-flip-tile--border-radius) 0 0;\n transform-style: preserve-3d;\n\n &.flip-animation-active {\n @include animation(flip-animation, 2 * $default-time, ease-in-out);\n }\n\n .footer {\n display: flex;\n height: 3rem;\n align-items: center;\n justify-content: center;\n padding: 0 $small-space;\n color: var(--theme-flip-footer--color);\n background-color: var(--theme-blind-base--background);\n\n :first-child {\n @include ellipsis;\n height: 100%;\n }\n }\n\n ::slotted(*) {\n @include ellipsis;\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 0;\n }\n\n &.primary {\n border-color: var(--theme-color-primary);\n\n .footer {\n background-color: var(--theme-color-primary);\n color: var(--theme-color-primary--contrast);\n }\n }\n\n &.info {\n border-color: var(--theme-color-info);\n\n .footer {\n background-color: var(--theme-color-info);\n color: var(--theme-color-info--contrast);\n }\n }\n\n &.warning {\n border-color: var(--theme-color-warning);\n\n .footer {\n background-color: var(--theme-color-warning);\n color: var(--theme-color-warning--contrast);\n }\n }\n\n &.alarm {\n border-color: var(--theme-color-alarm);\n\n .footer {\n background-color: var(--theme-color-alarm);\n color: var(--theme-color-alarm--contrast);\n }\n }\n }\n\n &:hover .flip-tile-container .footer ix-icon {\n color: var(--theme-color-std-text);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop, State } from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { FlipTileState } from './flip-tile-state';\n\n@Component({\n tag: 'ix-flip-tile',\n styleUrl: 'flip-tile.scss',\n shadow: true,\n})\nexport class FlipTile {\n @Element() hostElement!: HTMLIxFlipTileElement;\n\n /**\n * Variation of the Flip\n */\n @Prop() state: FlipTileState;\n\n /**\n * Height interpreted as REM\n * @since 1.5.0\n */\n @Prop() height: number | 'auto' = 15.125;\n\n /**\n * Width interpreted as REM\n * @since 1.5.0\n */\n @Prop() width: number | 'auto' = 16;\n\n @State() index = 0;\n @State() isFlipAnimationActive: boolean;\n\n private readonly ANIMATION_DURATION = 150;\n private contentItems: Array<HTMLIxFlipTileContentElement>;\n\n private observer: MutationObserver;\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => this.updateContentItems());\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n }\n\n componentWillLoad() {\n this.updateContentItems();\n this.updateContentVisibility(this.index);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n private updateContentItems() {\n this.contentItems = Array.from(\n this.hostElement.querySelectorAll('ix-flip-tile-content')\n );\n }\n\n private updateContentVisibility(indexVisible: number) {\n this.contentItems.forEach(\n (content, index) => (content.contentVisible = index === indexVisible)\n );\n }\n\n private toggleIndex() {\n this.doFlipAnimation();\n }\n\n private doFlipAnimation() {\n this.isFlipAnimationActive = true;\n\n setTimeout(() => {\n this.updateContentVisibility(this.index);\n\n if (this.index >= this.contentItems.length - 1) {\n this.index = 0;\n } else {\n this.index++;\n }\n\n this.updateContentVisibility(this.index);\n }, this.ANIMATION_DURATION);\n\n setTimeout(() => {\n this.isFlipAnimationActive = false;\n }, 2 * this.ANIMATION_DURATION);\n }\n\n render() {\n return (\n <Host\n style={{\n height: `${this.height}${this.height === 'auto' ? '' : 'rem'}`,\n 'min-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,\n 'max-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,\n width: `${this.width}${this.width === 'auto' ? '' : 'rem'}`,\n 'min-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,\n 'max-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,\n }}\n >\n <div\n class={{\n 'flip-tile-container': true,\n info: this.state === FlipTileState.Info,\n warning: this.state === FlipTileState.Warning,\n alarm: this.state === FlipTileState.Alarm,\n primary: this.state === FlipTileState.Primary,\n 'flip-animation-active': this.isFlipAnimationActive,\n }}\n >\n <div class=\"flip-tile-header\">\n <div class=\"header-slot-container text-l-title\">\n <slot name=\"header\"></slot>\n </div>\n <ix-icon-button\n icon={'eye'}\n variant=\"primary\"\n ghost\n onClick={() => this.toggleIndex()}\n ></ix-icon-button>\n </div>\n\n <div class=\"content-container\">\n <slot></slot>\n </div>\n <div\n class={{\n footer: true,\n 'contrast-light': this.state === FlipTileState.Warning,\n 'contrast-dark':\n this.state === FlipTileState.Info ||\n this.state === FlipTileState.Alarm,\n }}\n >\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxFormField extends Components.IxFormField, HTMLElement {}
4
+ export const IxFormField: {
5
+ prototype: IxFormField;
6
+ new (): IxFormField;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,43 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const formFieldCss = "label{color:var(--theme-color-soft-text);padding:2px 0px}label.label-alignment-left{padding:6px 0px}input,input:-webkit-autofill{font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;min-height:2rem;width:100%;padding:0.25rem 0.5rem;background-color:var(--theme-input--background);color:var(--theme-input--color);border:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);box-shadow:var(--theme-input--box-shadow)}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--theme-input--background) inset !important;-webkit-text-fill-color:var(--theme-input--color) !important;border-color:var(--theme-input--border-color) !important}input::-moz-placeholder{color:var(--theme-input-hint--color)}input::placeholder{color:var(--theme-input-hint--color)}input.hover,input:hover{border-color:var(--theme-input--border-color--hover);background-color:var(--theme-input--background--hover)}input.focus,input:focus{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-input--focus--outline-offset);border-color:var(--theme-input--border-color--focus)}input:-moz-read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}input.read-only,input:read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}input.read-only::-moz-placeholder,input:read-only::-moz-placeholder{color:transparent}input:-moz-read-only::placeholder{color:transparent}input.read-only::placeholder,input:read-only::placeholder{color:transparent}input:disabled{box-shadow:none;background-color:transparent;outline:none;border:none;color:var(--theme-input--color--disabled);border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--disabled)}input:disabled::-moz-placeholder{color:transparent}input:disabled::placeholder{color:transparent}input[type=number]{text-align:right}input[type=number]::-webkit-inner-spin-button{margin-right:-2px;margin-left:2px;display:none}textarea{height:3.25rem;padding:0.375rem 1.25rem 0.375rem 0.5rem}textarea,textarea:-webkit-autofill{font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;min-height:2rem;width:100%;padding:0.25rem 0.5rem;background-color:var(--theme-input--background);color:var(--theme-input--color);border:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);box-shadow:var(--theme-input--box-shadow)}textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--theme-input--background) inset !important;-webkit-text-fill-color:var(--theme-input--color) !important;border-color:var(--theme-input--border-color) !important}textarea::-moz-placeholder{color:var(--theme-input-hint--color)}textarea::placeholder{color:var(--theme-input-hint--color)}textarea.hover,textarea:hover{border-color:var(--theme-input--border-color--hover);background-color:var(--theme-input--background--hover)}textarea.focus,textarea:focus{outline:1px solid var(--theme-color-focus-bdr);outline-offset:var(--theme-input--focus--outline-offset);border-color:var(--theme-input--border-color--focus)}textarea:-moz-read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}textarea.read-only,textarea:read-only{box-shadow:none;background-color:transparent;outline:none;border:none;border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--readonly)}textarea.read-only::-moz-placeholder,textarea:read-only::-moz-placeholder{color:transparent}textarea:-moz-read-only::placeholder{color:transparent}textarea.read-only::placeholder,textarea:read-only::placeholder{color:transparent}textarea:disabled{box-shadow:none;background-color:transparent;outline:none;border:none;color:var(--theme-input--color--disabled);border-bottom:var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color-bottom--disabled)}textarea:disabled::-moz-placeholder{color:transparent}textarea:disabled::placeholder{color:transparent}textarea~.valid-feedback,textarea~.invalid-feedback,input~.valid-feedback,input~.invalid-feedback{display:none;font-feature-settings:\"clig\" off, \"liga\" off;font-family:Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;font-style:normal;font-size:var(--theme-ms-0);line-height:var(--theme-line-height-md);font-weight:var(--theme-font-weight-normal);letter-spacing:var(--theme-letter-spacing-xl);text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale}form textarea~.valid-feedback,form input~.valid-feedback{color:var(--theme-color-success)}form textarea~.invalid-feedback,form input~.invalid-feedback{color:var(--theme-color-alarm-text)}form:not([novalidate]) :invalid,form:not([novalidate]) .is-invalid,form.was-validated :invalid,form.was-validated .is-invalid{background-color:var(--theme-input-error--background);border-color:var(--theme-input-error--border-color);background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='512px' height='512px' viewBox='0 0 512 512' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: sketchtool 62 (101010) - https://sketch.com --%3E%3Ctitle%3Eerror%3C/title%3E%3Cdesc%3ECreated with sketchtool.%3C/desc%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.75'%3E%3Cg id='error' fill='%23ff2640'%3E%3Cg id='error/error'%3E%3Cpath d='M256,42.6666667 C373.626371,42.6666667 469.333333,138.373627 469.333333,256 C469.333333,373.626371 373.626371,469.333333 256,469.333333 C138.373627,469.333333 42.6666667,373.626371 42.6666667,256 C42.6666667,138.373627 138.373627,42.6666667 256,42.6666667 Z M256,85.3333333 C161.559631,85.3333333 85.3333333,161.559631 85.3333333,256 C85.3333333,350.44037 161.559631,426.666667 256,426.666667 C350.44037,426.666667 426.666667,350.44037 426.666667,256 C426.666667,161.559631 350.44037,85.3333333 256,85.3333333 Z M326.248389,155.581722 L356.418278,185.751611 L286.168667,255.999667 L356.418278,326.248389 L326.248389,356.418278 L255.999667,286.168667 L185.751611,356.418278 L155.581722,326.248389 L225.829667,255.999667 L155.581722,185.751611 L185.751611,155.581722 L255.999667,225.829667 L326.248389,155.581722 Z' id='Combined-Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\") !important;background-position:left calc(0.375em + 0.1875rem) center;padding-right:0.75rem;padding-left:calc(1.5em + 0.75rem);background-size:18px;background-repeat:no-repeat}form:not([novalidate]) :invalid~.invalid-feedback,form:not([novalidate]) .is-invalid~.invalid-feedback,form.was-validated :invalid~.invalid-feedback,form.was-validated .is-invalid~.invalid-feedback{display:block}form:not([novalidate]) :valid~.valid-feedback,form:not([novalidate]) .is-valid~.valid-feedback,form.was-validated :valid~.valid-feedback,form.was-validated .is-valid~.valid-feedback{display:block}:host{display:contents}";
4
+
5
+ const FormField = /*@__PURE__*/ proxyCustomElement(class FormField extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.label = undefined;
11
+ }
12
+ get inputElement() {
13
+ return this.hostElement.querySelector('input');
14
+ }
15
+ componentWillLoad() { }
16
+ render() {
17
+ return (h(Host, null, this.label ? (h("label", { htmlFor: this.inputElement.id }, this.label)) : null, h("slot", null)));
18
+ }
19
+ get hostElement() { return this; }
20
+ static get style() { return formFieldCss; }
21
+ }, [1, "ix-form-field", {
22
+ "label": [1]
23
+ }]);
24
+ function defineCustomElement$1() {
25
+ if (typeof customElements === "undefined") {
26
+ return;
27
+ }
28
+ const components = ["ix-form-field"];
29
+ components.forEach(tagName => { switch (tagName) {
30
+ case "ix-form-field":
31
+ if (!customElements.get(tagName)) {
32
+ customElements.define(tagName, FormField);
33
+ }
34
+ break;
35
+ } });
36
+ }
37
+
38
+ const IxFormField = FormField;
39
+ const defineCustomElement = defineCustomElement$1;
40
+
41
+ export { IxFormField, defineCustomElement };
42
+
43
+ //# sourceMappingURL=ix-form-field.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-form-field.js","mappings":";;AAAA,MAAM,YAAY,GAAG,ozPAAozP;;MCe5zP,SAAS;;;;;;;EAQpB,IAAY,YAAY;IACtB,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;GAChD;EAED,iBAAiB,MAAK;EAEtB,MAAM;IACJ,QACE,EAAC,IAAI,QACF,IAAI,CAAC,KAAK,IACT,aAAO,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAG,IAAI,CAAC,KAAK,CAAS,IACxD,IAAI,EACR,eAAa,CACR,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/form-field/form-field.scss?tag=ix-form-field&encapsulation=shadow","./src/components/form-field/form-field.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'components/form/input';\n\n:host {\n display: contents;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ix-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField {\n @Element() hostElement!: HTMLIxFormFieldElement;\n\n /**\n * Label\n */\n @Prop() label: string;\n\n private get inputElement() {\n return this.hostElement.querySelector('input');\n }\n\n componentWillLoad() {}\n\n render() {\n return (\n <Host>\n {this.label ? (\n <label htmlFor={this.inputElement.id}>{this.label}</label>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxGroupContextMenu extends Components.IxGroupContextMenu, HTMLElement {}
4
+ export const IxGroupContextMenu: {
5
+ prototype: IxGroupContextMenu;
6
+ new (): IxGroupContextMenu;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { G as GroupContextMenu, d as defineCustomElement$1 } from './group-context-menu.js';
2
+
3
+ const IxGroupContextMenu = GroupContextMenu;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { IxGroupContextMenu, defineCustomElement };
7
+
8
+ //# sourceMappingURL=ix-group-context-menu.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-group-context-menu.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxGroupItem extends Components.IxGroupItem, HTMLElement {}
4
+ export const IxGroupItem: {
5
+ prototype: IxGroupItem;
6
+ new (): IxGroupItem;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { G as GroupItem, d as defineCustomElement$1 } from './group-item.js';
2
+
3
+ const IxGroupItem = GroupItem;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { IxGroupItem, defineCustomElement };
7
+
8
+ //# sourceMappingURL=ix-group-item.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-group-item.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxGroup extends Components.IxGroup, HTMLElement {}
4
+ export const IxGroup: {
5
+ prototype: IxGroup;
6
+ new (): IxGroup;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,178 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
2
+ import { c as createMutationObserver } from './mutation-observer.js';
3
+ import { h as hasSlottedElements } from './shadow-dom.js';
4
+ import { d as defineCustomElement$5 } from './group-context-menu.js';
5
+ import { d as defineCustomElement$4 } from './group-item.js';
6
+ import { d as defineCustomElement$3 } from './icon-button.js';
7
+ import { d as defineCustomElement$2 } from './spinner.js';
8
+
9
+ const groupCss = ":host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;position:relative;max-width:19.75rem;border-color:var(--theme-group-item--border-color)}:host .group-header{height:4rem;min-height:4rem;max-height:4rem;border-radius:var(--theme-group--border-radius) var(--theme-group--border-radius) 0 0;display:flex;background-color:var(--theme-group-item--background);color:var(--theme-group-header--color);cursor:pointer}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover)}:host .group-header:not(.disabled):not(:disabled):hover.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):active,:host .group-header:not(.disabled):not(:disabled).active{background-color:var(--theme-group-item--background--active)}:host .group-header:not(.disabled):not(:disabled):active.selected,:host .group-header:not(.disabled):not(:disabled).active.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled):focus-visible{border:1px solid var(--theme-color-focus-bdr);border-radius:var(--theme-default-border-radius) var(--theme-default-border-radius) 0px 0px;outline:none}:host .group-header.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header.selected .group-header-selection-indicator{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header .group-header-selection-indicator{background-color:var(--theme-color-input--focus)}:host .group-header .group-header-selection-indicator.group-header-selection-indicator-item-selected{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header-clickable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;width:100%;min-width:0}:host .group-header-selection-indicator{width:0.25rem;border-top-left-radius:var(--theme-group--border-radius)}:host .group-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:row;justify-content:space-between;min-width:0;flex-grow:1;padding:0.5rem;padding-left:0}:host .group-header-content .group-header-props-container{width:100%}:host .group-header-content .group-header-title{display:flex;align-items:center;font-size:1rem;font-weight:700;height:1.5rem}:host .group-header-content .group-header-title>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:host .group-header-content .group-subheader{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.25rem;font-size:0.875rem;color:var(--theme-group-subheader--color)}:host .expand-icon{padding:0.125rem 0.437rem;color:var(--theme-color-std-text)}:host .btn-expand-header{margin:0.5rem;-webkit-margin-end:0.25rem;margin-inline-end:0.25rem;min-width:1.5rem}:host .group-content{display:flex;flex-direction:column;gap:1px;margin-top:1px}:host .footer{visibility:collapse;height:auto;min-height:0}:host .footer-visible{visibility:visible}:host .hidden{display:none}";
10
+
11
+ const Group = /*@__PURE__*/ proxyCustomElement(class Group extends HTMLElement {
12
+ constructor() {
13
+ super();
14
+ this.__registerHost();
15
+ this.__attachShadow();
16
+ this.selectGroup = createEvent(this, "selectGroup", 7);
17
+ this.selectItem = createEvent(this, "selectItem", 7);
18
+ this.collapsedChanged = createEvent(this, "collapsedChanged", 7);
19
+ this.suppressHeaderSelection = false;
20
+ this.header = undefined;
21
+ this.subHeader = undefined;
22
+ this.collapsed = true;
23
+ this.selected = undefined;
24
+ this.index = undefined;
25
+ this.expandOnHeaderClick = false;
26
+ this.itemSelected = false;
27
+ this.dropdownTriggerRef = undefined;
28
+ this.slotSize = this.groupItems.length;
29
+ this.footerVisible = false;
30
+ }
31
+ get dropdownItems() {
32
+ return Array.from(this.hostElement.querySelectorAll('ix-group-dropdown-item'));
33
+ }
34
+ get groupItems() {
35
+ return Array.from(this.hostElement.querySelectorAll('ix-group-item:not(.footer)'));
36
+ }
37
+ get groupContent() {
38
+ return this.hostElement.shadowRoot.querySelector('.group-content');
39
+ }
40
+ onExpandClick(event) {
41
+ this.collapsed = !this.collapsed;
42
+ this.collapsedChanged.emit(this.collapsed);
43
+ event.stopPropagation();
44
+ }
45
+ onHeaderClick(event) {
46
+ this.setGroupSelection(!this.selected);
47
+ if (this.suppressHeaderSelection) {
48
+ this.onExpandClick(event);
49
+ }
50
+ }
51
+ onItemClick(index) {
52
+ if (index === this.index) {
53
+ this.index = undefined;
54
+ this.selectItem.emit(undefined);
55
+ }
56
+ else {
57
+ this.index = index;
58
+ this.selectItem.emit(index);
59
+ }
60
+ if (this.index >= 0) {
61
+ this.itemSelected = true;
62
+ }
63
+ else
64
+ this.itemSelected = false;
65
+ this.setGroupSelection(false);
66
+ }
67
+ setGroupSelection(selection) {
68
+ if (!this.suppressHeaderSelection) {
69
+ this.selected = selection;
70
+ this.selectGroup.emit(this.selected);
71
+ }
72
+ }
73
+ onSlotChange() {
74
+ const slot = this.hostElement.shadowRoot.querySelector('slot[name="footer"]');
75
+ if (slot) {
76
+ this.footerVisible = hasSlottedElements(slot);
77
+ }
78
+ }
79
+ componentWillRender() {
80
+ this.groupItems.forEach((item, index) => {
81
+ if (this.selected === true) {
82
+ item.selected = false;
83
+ this.index = undefined;
84
+ this.itemSelected = false;
85
+ return;
86
+ }
87
+ item.selected = index === this.index;
88
+ item.index = index;
89
+ });
90
+ }
91
+ componentDidLoad() {
92
+ this.observer = createMutationObserver(() => {
93
+ this.slotSize = this.groupItems.length;
94
+ });
95
+ this.observer.observe(this.groupContent, {
96
+ childList: true,
97
+ });
98
+ this.groupContent.addEventListener('selectedChanged', (evt) => {
99
+ this.onItemClick(evt.detail.index);
100
+ });
101
+ }
102
+ disconnectedCallback() {
103
+ if (this.observer) {
104
+ this.observer.disconnect();
105
+ }
106
+ }
107
+ render() {
108
+ return (h(Host, null, h("div", { class: {
109
+ 'group-header': true,
110
+ expand: !this.collapsed,
111
+ selected: this.selected,
112
+ }, tabindex: "0" }, h("div", { class: "group-header-clickable", onClick: (e) => this.onHeaderClick(e) }, h("div", { class: {
113
+ 'group-header-selection-indicator': true,
114
+ 'group-header-selection-indicator-item-selected': this.itemSelected,
115
+ } }), h("div", { class: "btn-expand-header" }, h("ix-icon", { class: {
116
+ hidden: this.slotSize === 0,
117
+ }, name: this.collapsed ? 'chevron-right-small' : 'chevron-down-small', onClick: (e) => this.onExpandClick(e) })), h("div", { class: "group-header-content" }, this.header ? (h("div", { class: "group-header-props-container" }, h("div", { class: "group-header-title" }, h("span", { title: this.header }, this.header)), h("div", { class: "group-subheader", title: this.subHeader }, this.subHeader))) : null, h("slot", { name: "header" }))), h("ix-group-context-menu", null, h("slot", { name: "dropdown" }))), h("div", { class: {
118
+ 'group-content': true,
119
+ } }, !this.collapsed ? (h(Fragment, null, h("slot", null), h("ix-group-item", { suppressSelection: true, focusable: false, class: {
120
+ footer: true,
121
+ 'footer-visible': this.footerVisible,
122
+ } }, h("slot", { name: "footer", onSlotchange: () => this.onSlotChange() })))) : null)));
123
+ }
124
+ get hostElement() { return this; }
125
+ static get style() { return groupCss; }
126
+ }, [1, "ix-group", {
127
+ "suppressHeaderSelection": [4, "suppress-header-selection"],
128
+ "header": [1],
129
+ "subHeader": [1, "sub-header"],
130
+ "collapsed": [1540],
131
+ "selected": [1540],
132
+ "index": [1538],
133
+ "expandOnHeaderClick": [4, "expand-on-header-click"],
134
+ "itemSelected": [32],
135
+ "dropdownTriggerRef": [32],
136
+ "slotSize": [32],
137
+ "footerVisible": [32]
138
+ }]);
139
+ function defineCustomElement$1() {
140
+ if (typeof customElements === "undefined") {
141
+ return;
142
+ }
143
+ const components = ["ix-group", "ix-group-context-menu", "ix-group-item", "ix-icon-button", "ix-spinner"];
144
+ components.forEach(tagName => { switch (tagName) {
145
+ case "ix-group":
146
+ if (!customElements.get(tagName)) {
147
+ customElements.define(tagName, Group);
148
+ }
149
+ break;
150
+ case "ix-group-context-menu":
151
+ if (!customElements.get(tagName)) {
152
+ defineCustomElement$5();
153
+ }
154
+ break;
155
+ case "ix-group-item":
156
+ if (!customElements.get(tagName)) {
157
+ defineCustomElement$4();
158
+ }
159
+ break;
160
+ case "ix-icon-button":
161
+ if (!customElements.get(tagName)) {
162
+ defineCustomElement$3();
163
+ }
164
+ break;
165
+ case "ix-spinner":
166
+ if (!customElements.get(tagName)) {
167
+ defineCustomElement$2();
168
+ }
169
+ break;
170
+ } });
171
+ }
172
+
173
+ const IxGroup = Group;
174
+ const defineCustomElement = defineCustomElement$1;
175
+
176
+ export { IxGroup, defineCustomElement };
177
+
178
+ //# sourceMappingURL=ix-group.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-group.js","mappings":"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","names":[],"sources":["./src/components/group/group.scss?tag=ix-group&encapsulation=shadow","./src/components/group/group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: var(--theme-group--border-radius)\n var(--theme-group--border-radius) 0 0;\n display: flex;\n background-color: var(--theme-group-item--background);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n border-radius: var(--theme-default-border-radius)\n var(--theme-default-border-radius) 0px 0px;\n outline: none;\n }\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n\n .group-header-selection-indicator {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n\n &.group-header-selection-indicator-item-selected {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n border-top-left-radius: var(--theme-group--border-radius);\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n flex-grow: 1;\n padding: 0.5rem;\n padding-left: 0;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n min-width: 1.5rem;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: 1px;\n }\n\n .footer {\n visibility: collapse;\n height: auto;\n min-height: 0;\n }\n\n .footer-visible {\n visibility: visible;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n shadow: true,\n})\nexport class Group {\n @Element() hostElement!: HTMLIxGroupElement;\n\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected: boolean;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged: EventEmitter<boolean>;\n\n @State() itemSelected = false;\n @State() dropdownTriggerRef: HTMLElement;\n @State() slotSize = this.groupItems.length;\n @State() footerVisible = false;\n\n private observer: MutationObserver;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.shadowRoot.querySelector('.group-content');\n }\n\n private onExpandClick(event: Event) {\n this.collapsed = !this.collapsed;\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index: number) {\n if (index === this.index) {\n this.index = undefined;\n this.selectItem.emit(undefined);\n } else {\n this.index = index;\n this.selectItem.emit(index);\n }\n\n if (this.index >= 0) {\n this.itemSelected = true;\n } else this.itemSelected = false;\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector(\n 'slot[name=\"footer\"]'\n );\n\n if (slot) {\n this.footerVisible = hasSlottedElements(slot);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n if (this.selected === true) {\n item.selected = false;\n this.index = undefined;\n this.itemSelected = false;\n return;\n }\n item.selected = index === this.index;\n item.index = index;\n });\n }\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => {\n this.slotSize = this.groupItems.length;\n });\n\n this.observer.observe(this.groupContent, {\n childList: true,\n });\n\n this.groupContent.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div\n class={{\n 'group-header-selection-indicator': true,\n 'group-header-selection-indicator-item-selected':\n this.itemSelected,\n }}\n ></div>\n <div class=\"btn-expand-header\">\n <ix-icon\n class={{\n hidden: this.slotSize === 0,\n }}\n name={\n this.collapsed ? 'chevron-right-small' : 'chevron-down-small'\n }\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n </div>\n\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n }}\n >\n {!this.collapsed ? (\n <Fragment>\n <slot></slot>\n <ix-group-item\n suppressSelection={true}\n focusable={false}\n class={{\n footer: true,\n 'footer-visible': this.footerVisible,\n }}\n >\n <slot\n name=\"footer\"\n onSlotchange={() => this.onSlotChange()}\n ></slot>\n </ix-group-item>\n </Fragment>\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxIconButton extends Components.IxIconButton, HTMLElement {}
4
+ export const IxIconButton: {
5
+ prototype: IxIconButton;
6
+ new (): IxIconButton;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { I as IconButton, d as defineCustomElement$1 } from './icon-button.js';
2
+
3
+ const IxIconButton = IconButton;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { IxIconButton, defineCustomElement };
7
+
8
+ //# sourceMappingURL=ix-icon-button.js.map
@@ -0,0 +1 @@
1
+ {"file":"ix-icon-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IxIconToggleButton extends Components.IxIconToggleButton, HTMLElement {}
4
+ export const IxIconToggleButton: {
5
+ prototype: IxIconToggleButton;
6
+ new (): IxIconToggleButton;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;