@siemens/ix 0.0.0-pr-1974-20250627114851 → 0.0.0-pr-1974-20250627115746

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 (485) hide show
  1. package/components/custom-elements.d.ts +11 -0
  2. package/components/index.d.ts +33 -0
  3. package/components/index.js +122 -0
  4. package/components/index.js.map +1 -0
  5. package/components/ix-action-card.d.ts +11 -0
  6. package/components/ix-action-card.js +72 -0
  7. package/components/ix-action-card.js.map +1 -0
  8. package/components/ix-application-header.d.ts +11 -0
  9. package/components/ix-application-header.js +9 -0
  10. package/components/ix-application-header.js.map +1 -0
  11. package/components/ix-application-sidebar.d.ts +11 -0
  12. package/components/ix-application-sidebar.js +64 -0
  13. package/components/ix-application-sidebar.js.map +1 -0
  14. package/components/ix-application-switch-modal.d.ts +11 -0
  15. package/components/ix-application-switch-modal.js +106 -0
  16. package/components/ix-application-switch-modal.js.map +1 -0
  17. package/components/ix-application.d.ts +11 -0
  18. package/components/ix-application.js +148 -0
  19. package/components/ix-application.js.map +1 -0
  20. package/components/ix-avatar.d.ts +11 -0
  21. package/components/ix-avatar.js +9 -0
  22. package/components/ix-avatar.js.map +1 -0
  23. package/components/ix-basic-navigation.d.ts +11 -0
  24. package/components/ix-basic-navigation.js +154 -0
  25. package/components/ix-basic-navigation.js.map +1 -0
  26. package/components/ix-blind.d.ts +11 -0
  27. package/components/ix-blind.js +130 -0
  28. package/components/ix-blind.js.map +1 -0
  29. package/components/ix-breadcrumb-item.d.ts +11 -0
  30. package/components/ix-breadcrumb-item.js +9 -0
  31. package/components/ix-breadcrumb-item.js.map +1 -0
  32. package/components/ix-breadcrumb.d.ts +11 -0
  33. package/components/ix-breadcrumb.js +169 -0
  34. package/components/ix-breadcrumb.js.map +1 -0
  35. package/components/ix-button.d.ts +11 -0
  36. package/components/ix-button.js +9 -0
  37. package/components/ix-button.js.map +1 -0
  38. package/components/ix-card-accordion.d.ts +11 -0
  39. package/components/ix-card-accordion.js +9 -0
  40. package/components/ix-card-accordion.js.map +1 -0
  41. package/components/ix-card-content.d.ts +11 -0
  42. package/components/ix-card-content.js +9 -0
  43. package/components/ix-card-content.js.map +1 -0
  44. package/components/ix-card-list.d.ts +11 -0
  45. package/components/ix-card-list.js +256 -0
  46. package/components/ix-card-list.js.map +1 -0
  47. package/components/ix-card-title.d.ts +11 -0
  48. package/components/ix-card-title.js +9 -0
  49. package/components/ix-card-title.js.map +1 -0
  50. package/components/ix-card.d.ts +11 -0
  51. package/components/ix-card.js +9 -0
  52. package/components/ix-card.js.map +1 -0
  53. package/components/ix-category-filter.d.ts +11 -0
  54. package/components/ix-category-filter.js +600 -0
  55. package/components/ix-category-filter.js.map +1 -0
  56. package/components/ix-checkbox-group.d.ts +11 -0
  57. package/components/ix-checkbox-group.js +158 -0
  58. package/components/ix-checkbox-group.js.map +1 -0
  59. package/components/ix-checkbox.d.ts +11 -0
  60. package/components/ix-checkbox.js +163 -0
  61. package/components/ix-checkbox.js.map +1 -0
  62. package/components/ix-chip.d.ts +11 -0
  63. package/components/ix-chip.js +154 -0
  64. package/components/ix-chip.js.map +1 -0
  65. package/components/ix-col.d.ts +11 -0
  66. package/components/ix-col.js +9 -0
  67. package/components/ix-col.js.map +1 -0
  68. package/components/ix-content-header.d.ts +11 -0
  69. package/components/ix-content-header.js +73 -0
  70. package/components/ix-content-header.js.map +1 -0
  71. package/components/ix-content.d.ts +11 -0
  72. package/components/ix-content.js +49 -0
  73. package/components/ix-content.js.map +1 -0
  74. package/components/ix-css-grid-item.d.ts +11 -0
  75. package/components/ix-css-grid-item.js +40 -0
  76. package/components/ix-css-grid-item.js.map +1 -0
  77. package/components/ix-css-grid.d.ts +11 -0
  78. package/components/ix-css-grid.js +117 -0
  79. package/components/ix-css-grid.js.map +1 -0
  80. package/components/ix-custom-field.d.ts +11 -0
  81. package/components/ix-custom-field.js +112 -0
  82. package/components/ix-custom-field.js.map +1 -0
  83. package/components/ix-date-dropdown.d.ts +11 -0
  84. package/components/ix-date-dropdown.js +368 -0
  85. package/components/ix-date-dropdown.js.map +1 -0
  86. package/components/ix-date-input.d.ts +11 -0
  87. package/components/ix-date-input.js +393 -0
  88. package/components/ix-date-input.js.map +1 -0
  89. package/components/ix-date-picker.d.ts +11 -0
  90. package/components/ix-date-picker.js +9 -0
  91. package/components/ix-date-picker.js.map +1 -0
  92. package/components/ix-date-time-card.d.ts +11 -0
  93. package/components/ix-date-time-card.js +9 -0
  94. package/components/ix-date-time-card.js.map +1 -0
  95. package/components/ix-datetime-picker.d.ts +11 -0
  96. package/components/ix-datetime-picker.js +204 -0
  97. package/components/ix-datetime-picker.js.map +1 -0
  98. package/components/ix-divider.d.ts +11 -0
  99. package/components/ix-divider.js +9 -0
  100. package/components/ix-divider.js.map +1 -0
  101. package/components/ix-drawer.d.ts +11 -0
  102. package/components/ix-drawer.js +200 -0
  103. package/components/ix-drawer.js.map +1 -0
  104. package/components/ix-dropdown-button.d.ts +11 -0
  105. package/components/ix-dropdown-button.js +106 -0
  106. package/components/ix-dropdown-button.js.map +1 -0
  107. package/components/ix-dropdown-header.d.ts +11 -0
  108. package/components/ix-dropdown-header.js +44 -0
  109. package/components/ix-dropdown-header.js.map +1 -0
  110. package/components/ix-dropdown-item.d.ts +11 -0
  111. package/components/ix-dropdown-item.js +9 -0
  112. package/components/ix-dropdown-item.js.map +1 -0
  113. package/components/ix-dropdown-quick-actions.d.ts +11 -0
  114. package/components/ix-dropdown-quick-actions.js +36 -0
  115. package/components/ix-dropdown-quick-actions.js.map +1 -0
  116. package/components/ix-dropdown.d.ts +11 -0
  117. package/components/ix-dropdown.js +9 -0
  118. package/components/ix-dropdown.js.map +1 -0
  119. package/components/ix-empty-state.d.ts +11 -0
  120. package/components/ix-empty-state.js +65 -0
  121. package/components/ix-empty-state.js.map +1 -0
  122. package/components/ix-event-list-item.d.ts +11 -0
  123. package/components/ix-event-list-item.js +72 -0
  124. package/components/ix-event-list-item.js.map +1 -0
  125. package/components/ix-event-list.d.ts +11 -0
  126. package/components/ix-event-list.js +173 -0
  127. package/components/ix-event-list.js.map +1 -0
  128. package/components/ix-expanding-search.d.ts +11 -0
  129. package/components/ix-expanding-search.js +145 -0
  130. package/components/ix-expanding-search.js.map +1 -0
  131. package/components/ix-field-label.d.ts +11 -0
  132. package/components/ix-field-label.js +9 -0
  133. package/components/ix-field-label.js.map +1 -0
  134. package/components/ix-field-wrapper.d.ts +11 -0
  135. package/components/ix-field-wrapper.js +9 -0
  136. package/components/ix-field-wrapper.js.map +1 -0
  137. package/components/ix-filter-chip.d.ts +11 -0
  138. package/components/ix-filter-chip.js +9 -0
  139. package/components/ix-filter-chip.js.map +1 -0
  140. package/components/ix-flip-tile-content.d.ts +11 -0
  141. package/components/ix-flip-tile-content.js +44 -0
  142. package/components/ix-flip-tile-content.js.map +1 -0
  143. package/components/ix-flip-tile.d.ts +11 -0
  144. package/components/ix-flip-tile.js +153 -0
  145. package/components/ix-flip-tile.js.map +1 -0
  146. package/components/ix-group-context-menu.d.ts +11 -0
  147. package/components/ix-group-context-menu.js +9 -0
  148. package/components/ix-group-context-menu.js.map +1 -0
  149. package/components/ix-group-item.d.ts +11 -0
  150. package/components/ix-group-item.js +9 -0
  151. package/components/ix-group-item.js.map +1 -0
  152. package/components/ix-group.d.ts +11 -0
  153. package/components/ix-group.js +221 -0
  154. package/components/ix-group.js.map +1 -0
  155. package/components/ix-helper-text.d.ts +11 -0
  156. package/components/ix-helper-text.js +95 -0
  157. package/components/ix-helper-text.js.map +1 -0
  158. package/components/ix-icon-button.d.ts +11 -0
  159. package/components/ix-icon-button.js +9 -0
  160. package/components/ix-icon-button.js.map +1 -0
  161. package/components/ix-icon-toggle-button.d.ts +11 -0
  162. package/components/ix-icon-toggle-button.js +149 -0
  163. package/components/ix-icon-toggle-button.js.map +1 -0
  164. package/components/ix-input-group.d.ts +11 -0
  165. package/components/ix-input-group.js +152 -0
  166. package/components/ix-input-group.js.map +1 -0
  167. package/components/ix-input.d.ts +11 -0
  168. package/components/ix-input.js +248 -0
  169. package/components/ix-input.js.map +1 -0
  170. package/components/ix-key-value-list.d.ts +11 -0
  171. package/components/ix-key-value-list.js +42 -0
  172. package/components/ix-key-value-list.js.map +1 -0
  173. package/components/ix-key-value.d.ts +11 -0
  174. package/components/ix-key-value.js +48 -0
  175. package/components/ix-key-value.js.map +1 -0
  176. package/components/ix-kpi.d.ts +11 -0
  177. package/components/ix-kpi.js +74 -0
  178. package/components/ix-kpi.js.map +1 -0
  179. package/components/ix-layout-auto.d.ts +11 -0
  180. package/components/ix-layout-auto.js +113 -0
  181. package/components/ix-layout-auto.js.map +1 -0
  182. package/components/ix-layout-grid.d.ts +11 -0
  183. package/components/ix-layout-grid.js +9 -0
  184. package/components/ix-layout-grid.js.map +1 -0
  185. package/components/ix-link-button.d.ts +11 -0
  186. package/components/ix-link-button.js +57 -0
  187. package/components/ix-link-button.js.map +1 -0
  188. package/components/ix-map-navigation-overlay.d.ts +11 -0
  189. package/components/ix-map-navigation-overlay.js +9 -0
  190. package/components/ix-map-navigation-overlay.js.map +1 -0
  191. package/components/ix-map-navigation.d.ts +11 -0
  192. package/components/ix-map-navigation.js +240 -0
  193. package/components/ix-map-navigation.js.map +1 -0
  194. package/components/ix-menu-about-item.d.ts +11 -0
  195. package/components/ix-menu-about-item.js +51 -0
  196. package/components/ix-menu-about-item.js.map +1 -0
  197. package/components/ix-menu-about-news.d.ts +11 -0
  198. package/components/ix-menu-about-news.js +93 -0
  199. package/components/ix-menu-about-news.js.map +1 -0
  200. package/components/ix-menu-about.d.ts +11 -0
  201. package/components/ix-menu-about.js +89 -0
  202. package/components/ix-menu-about.js.map +1 -0
  203. package/components/ix-menu-avatar-item.d.ts +11 -0
  204. package/components/ix-menu-avatar-item.js +9 -0
  205. package/components/ix-menu-avatar-item.js.map +1 -0
  206. package/components/ix-menu-avatar.d.ts +11 -0
  207. package/components/ix-menu-avatar.js +115 -0
  208. package/components/ix-menu-avatar.js.map +1 -0
  209. package/components/ix-menu-category.d.ts +11 -0
  210. package/components/ix-menu-category.js +284 -0
  211. package/components/ix-menu-category.js.map +1 -0
  212. package/components/ix-menu-expand-icon.d.ts +11 -0
  213. package/components/ix-menu-expand-icon.js +9 -0
  214. package/components/ix-menu-expand-icon.js.map +1 -0
  215. package/components/ix-menu-item.d.ts +11 -0
  216. package/components/ix-menu-item.js +9 -0
  217. package/components/ix-menu-item.js.map +1 -0
  218. package/components/ix-menu-settings-item.d.ts +11 -0
  219. package/components/ix-menu-settings-item.js +51 -0
  220. package/components/ix-menu-settings-item.js.map +1 -0
  221. package/components/ix-menu-settings.d.ts +11 -0
  222. package/components/ix-menu-settings.js +9 -0
  223. package/components/ix-menu-settings.js.map +1 -0
  224. package/components/ix-menu.d.ts +11 -0
  225. package/components/ix-menu.js +590 -0
  226. package/components/ix-menu.js.map +1 -0
  227. package/components/ix-message-bar.d.ts +11 -0
  228. package/components/ix-message-bar.js +103 -0
  229. package/components/ix-message-bar.js.map +1 -0
  230. package/components/ix-modal-content.d.ts +11 -0
  231. package/components/ix-modal-content.js +9 -0
  232. package/components/ix-modal-content.js.map +1 -0
  233. package/components/ix-modal-footer.d.ts +11 -0
  234. package/components/ix-modal-footer.js +36 -0
  235. package/components/ix-modal-footer.js.map +1 -0
  236. package/components/ix-modal-header.d.ts +11 -0
  237. package/components/ix-modal-header.js +9 -0
  238. package/components/ix-modal-header.js.map +1 -0
  239. package/components/ix-modal-loading.d.ts +11 -0
  240. package/components/ix-modal-loading.js +42 -0
  241. package/components/ix-modal-loading.js.map +1 -0
  242. package/components/ix-modal.d.ts +11 -0
  243. package/components/ix-modal.js +241 -0
  244. package/components/ix-modal.js.map +1 -0
  245. package/components/ix-number-input.d.ts +11 -0
  246. package/components/ix-number-input.js +241 -0
  247. package/components/ix-number-input.js.map +1 -0
  248. package/components/ix-pagination.d.ts +11 -0
  249. package/components/ix-pagination.js +261 -0
  250. package/components/ix-pagination.js.map +1 -0
  251. package/components/ix-pane-layout.d.ts +11 -0
  252. package/components/ix-pane-layout.js +311 -0
  253. package/components/ix-pane-layout.js.map +1 -0
  254. package/components/ix-pane.d.ts +11 -0
  255. package/components/ix-pane.js +568 -0
  256. package/components/ix-pane.js.map +1 -0
  257. package/components/ix-pill.d.ts +11 -0
  258. package/components/ix-pill.js +127 -0
  259. package/components/ix-pill.js.map +1 -0
  260. package/components/ix-progress-indicator.d.ts +11 -0
  261. package/components/ix-progress-indicator.js +193 -0
  262. package/components/ix-progress-indicator.js.map +1 -0
  263. package/components/ix-push-card.d.ts +11 -0
  264. package/components/ix-push-card.js +82 -0
  265. package/components/ix-push-card.js.map +1 -0
  266. package/components/ix-radio-group.d.ts +11 -0
  267. package/components/ix-radio-group.js +195 -0
  268. package/components/ix-radio-group.js.map +1 -0
  269. package/components/ix-radio.d.ts +11 -0
  270. package/components/ix-radio.js +145 -0
  271. package/components/ix-radio.js.map +1 -0
  272. package/components/ix-row.d.ts +11 -0
  273. package/components/ix-row.js +9 -0
  274. package/components/ix-row.js.map +1 -0
  275. package/components/ix-select-item.d.ts +11 -0
  276. package/components/ix-select-item.js +9 -0
  277. package/components/ix-select-item.js.map +1 -0
  278. package/components/ix-select.d.ts +11 -0
  279. package/components/ix-select.js +9 -0
  280. package/components/ix-select.js.map +1 -0
  281. package/components/ix-slider.d.ts +11 -0
  282. package/components/ix-slider.js +255 -0
  283. package/components/ix-slider.js.map +1 -0
  284. package/components/ix-spinner.d.ts +11 -0
  285. package/components/ix-spinner.js +9 -0
  286. package/components/ix-spinner.js.map +1 -0
  287. package/components/ix-split-button.d.ts +11 -0
  288. package/components/ix-split-button.js +117 -0
  289. package/components/ix-split-button.js.map +1 -0
  290. package/components/ix-tab-item.d.ts +11 -0
  291. package/components/ix-tab-item.js +9 -0
  292. package/components/ix-tab-item.js.map +1 -0
  293. package/components/ix-tabs.d.ts +11 -0
  294. package/components/ix-tabs.js +9 -0
  295. package/components/ix-tabs.js.map +1 -0
  296. package/components/ix-textarea.d.ts +11 -0
  297. package/components/ix-textarea.js +192 -0
  298. package/components/ix-textarea.js.map +1 -0
  299. package/components/ix-tile.d.ts +11 -0
  300. package/components/ix-tile.js +63 -0
  301. package/components/ix-tile.js.map +1 -0
  302. package/components/ix-time-input.d.ts +11 -0
  303. package/components/ix-time-input.js +442 -0
  304. package/components/ix-time-input.js.map +1 -0
  305. package/components/ix-time-picker.d.ts +11 -0
  306. package/components/ix-time-picker.js +9 -0
  307. package/components/ix-time-picker.js.map +1 -0
  308. package/components/ix-toast-container.d.ts +11 -0
  309. package/components/ix-toast-container.js +143 -0
  310. package/components/ix-toast-container.js.map +1 -0
  311. package/components/ix-toast.d.ts +11 -0
  312. package/components/ix-toast.js +9 -0
  313. package/components/ix-toast.js.map +1 -0
  314. package/components/ix-toggle-button.d.ts +11 -0
  315. package/components/ix-toggle-button.js +128 -0
  316. package/components/ix-toggle-button.js.map +1 -0
  317. package/components/ix-toggle.d.ts +11 -0
  318. package/components/ix-toggle.js +188 -0
  319. package/components/ix-toggle.js.map +1 -0
  320. package/components/ix-tooltip.d.ts +11 -0
  321. package/components/ix-tooltip.js +9 -0
  322. package/components/ix-tooltip.js.map +1 -0
  323. package/components/ix-tree-item.d.ts +11 -0
  324. package/components/ix-tree-item.js +9 -0
  325. package/components/ix-tree-item.js.map +1 -0
  326. package/components/ix-tree.d.ts +11 -0
  327. package/components/ix-tree.js +610 -0
  328. package/components/ix-tree.js.map +1 -0
  329. package/components/ix-typography.d.ts +11 -0
  330. package/components/ix-typography.js +9 -0
  331. package/components/ix-typography.js.map +1 -0
  332. package/components/ix-upload.d.ts +11 -0
  333. package/components/ix-upload.js +234 -0
  334. package/components/ix-upload.js.map +1 -0
  335. package/components/ix-validation-tooltip.d.ts +11 -0
  336. package/components/ix-validation-tooltip.js +182 -0
  337. package/components/ix-validation-tooltip.js.map +1 -0
  338. package/components/ix-workflow-step.d.ts +11 -0
  339. package/components/ix-workflow-step.js +147 -0
  340. package/components/ix-workflow-step.js.map +1 -0
  341. package/components/ix-workflow-steps.d.ts +11 -0
  342. package/components/ix-workflow-steps.js +112 -0
  343. package/components/ix-workflow-steps.js.map +1 -0
  344. package/components/p--2LOMK-5.js +105 -0
  345. package/components/p--2LOMK-5.js.map +1 -0
  346. package/components/p-5uA5ifmT.js +72 -0
  347. package/components/p-5uA5ifmT.js.map +1 -0
  348. package/components/p-9dLpp1OQ.js +71 -0
  349. package/components/p-9dLpp1OQ.js.map +1 -0
  350. package/components/p-B1Gzt08S.js +51 -0
  351. package/components/p-B1Gzt08S.js.map +1 -0
  352. package/components/p-B3duqvjW.js +33 -0
  353. package/components/p-B3duqvjW.js.map +1 -0
  354. package/components/p-B6e7P4xT.js +42 -0
  355. package/components/p-B6e7P4xT.js.map +1 -0
  356. package/components/p-BGzrnl_l.js +21 -0
  357. package/components/p-BGzrnl_l.js.map +1 -0
  358. package/components/p-BH3f5fa3.js +37 -0
  359. package/components/p-BH3f5fa3.js.map +1 -0
  360. package/components/p-BJcX2_-N.js +110 -0
  361. package/components/p-BJcX2_-N.js.map +1 -0
  362. package/components/p-BMU8AlMD.js +107 -0
  363. package/components/p-BMU8AlMD.js.map +1 -0
  364. package/components/p-BNu7ac9R.js +79 -0
  365. package/components/p-BNu7ac9R.js.map +1 -0
  366. package/components/p-BP-8cvOJ.js +90 -0
  367. package/components/p-BP-8cvOJ.js.map +1 -0
  368. package/components/p-BQ6999e5.js +22 -0
  369. package/components/p-BQ6999e5.js.map +1 -0
  370. package/components/p-BXjBChze.js +130 -0
  371. package/components/p-BXjBChze.js.map +1 -0
  372. package/components/p-Bb7pDeaQ.js +144 -0
  373. package/components/p-Bb7pDeaQ.js.map +1 -0
  374. package/components/p-BcGAKMQ_.js +76 -0
  375. package/components/p-BcGAKMQ_.js.map +1 -0
  376. package/components/p-BdCnOrqW.js +47 -0
  377. package/components/p-BdCnOrqW.js.map +1 -0
  378. package/components/p-BedSAVZh.js +90 -0
  379. package/components/p-BedSAVZh.js.map +1 -0
  380. package/components/p-BhLbU_vK.js +129 -0
  381. package/components/p-BhLbU_vK.js.map +1 -0
  382. package/components/p-Bi1VyG64.js +46 -0
  383. package/components/p-Bi1VyG64.js.map +1 -0
  384. package/components/p-BkWbk29R.js +75 -0
  385. package/components/p-BkWbk29R.js.map +1 -0
  386. package/components/p-BmmgJGNd.js +64 -0
  387. package/components/p-BmmgJGNd.js.map +1 -0
  388. package/components/p-Bu-j8wxy.js +162 -0
  389. package/components/p-Bu-j8wxy.js.map +1 -0
  390. package/components/p-BuJ6BWIi.js +2042 -0
  391. package/components/p-BuJ6BWIi.js.map +1 -0
  392. package/components/p-Bvsx56zn.js +203 -0
  393. package/components/p-Bvsx56zn.js.map +1 -0
  394. package/components/p-BygLxZIM.js +54 -0
  395. package/components/p-BygLxZIM.js.map +1 -0
  396. package/components/p-Bzyt4nTL.js +110 -0
  397. package/components/p-Bzyt4nTL.js.map +1 -0
  398. package/components/p-C6o-AByw.js +33 -0
  399. package/components/p-C6o-AByw.js.map +1 -0
  400. package/components/p-CAqtPJ4-.js +1786 -0
  401. package/components/p-CAqtPJ4-.js.map +1 -0
  402. package/components/p-CGwHQeMX.js +54 -0
  403. package/components/p-CGwHQeMX.js.map +1 -0
  404. package/components/p-CKkTXQiw.js +164 -0
  405. package/components/p-CKkTXQiw.js.map +1 -0
  406. package/components/p-CX81WQtk.js +14 -0
  407. package/components/p-CX81WQtk.js.map +1 -0
  408. package/components/p-Cb-eBcUF.js +61 -0
  409. package/components/p-Cb-eBcUF.js.map +1 -0
  410. package/components/p-Cp5J1RZq.js +765 -0
  411. package/components/p-Cp5J1RZq.js.map +1 -0
  412. package/components/p-Cpxz1Kcs.js +19 -0
  413. package/components/p-Cpxz1Kcs.js.map +1 -0
  414. package/components/p-Cs8DEpjh.js +611 -0
  415. package/components/p-Cs8DEpjh.js.map +1 -0
  416. package/components/p-Cut5OrRw.js +461 -0
  417. package/components/p-Cut5OrRw.js.map +1 -0
  418. package/components/p-CvvOe8xV.js +151 -0
  419. package/components/p-CvvOe8xV.js.map +1 -0
  420. package/components/p-CyFFBc_G.js +100 -0
  421. package/components/p-CyFFBc_G.js.map +1 -0
  422. package/components/p-D3Aowo70.js +113 -0
  423. package/components/p-D3Aowo70.js.map +1 -0
  424. package/components/p-D3K9vmFp.js +157 -0
  425. package/components/p-D3K9vmFp.js.map +1 -0
  426. package/components/p-D6vSVaHq.js +26 -0
  427. package/components/p-D6vSVaHq.js.map +1 -0
  428. package/components/p-D9LaIICQ.js +118 -0
  429. package/components/p-D9LaIICQ.js.map +1 -0
  430. package/components/p-DCx3-1oU.js +310 -0
  431. package/components/p-DCx3-1oU.js.map +1 -0
  432. package/components/p-DDHkNPby.js +79 -0
  433. package/components/p-DDHkNPby.js.map +1 -0
  434. package/components/p-DJ7U7oUq.js +89 -0
  435. package/components/p-DJ7U7oUq.js.map +1 -0
  436. package/components/p-DMlmNp-B.js +33 -0
  437. package/components/p-DMlmNp-B.js.map +1 -0
  438. package/components/p-DWO4uklL.js +146 -0
  439. package/components/p-DWO4uklL.js.map +1 -0
  440. package/components/p-DaztMgDr.js +757 -0
  441. package/components/p-DaztMgDr.js.map +1 -0
  442. package/components/p-DbR-LZrk.js +33 -0
  443. package/components/p-DbR-LZrk.js.map +1 -0
  444. package/components/p-DfbCO042.js +207 -0
  445. package/components/p-DfbCO042.js.map +1 -0
  446. package/components/p-DkGdSI6e.js +103 -0
  447. package/components/p-DkGdSI6e.js.map +1 -0
  448. package/components/p-DojBQCbP.js +55 -0
  449. package/components/p-DojBQCbP.js.map +1 -0
  450. package/components/p-Dp15M30K.js +20 -0
  451. package/components/p-Dp15M30K.js.map +1 -0
  452. package/components/p-Dp4RJcgZ.js +125 -0
  453. package/components/p-Dp4RJcgZ.js.map +1 -0
  454. package/components/p-DyHdZRT0.js +359 -0
  455. package/components/p-DyHdZRT0.js.map +1 -0
  456. package/components/p-DyMgW0fR.js +65 -0
  457. package/components/p-DyMgW0fR.js.map +1 -0
  458. package/components/p-G0biE2Kx.js +33 -0
  459. package/components/p-G0biE2Kx.js.map +1 -0
  460. package/components/p-JJddxCCh.js +42 -0
  461. package/components/p-JJddxCCh.js.map +1 -0
  462. package/components/p-Ooq8eqJM.js +33 -0
  463. package/components/p-Ooq8eqJM.js.map +1 -0
  464. package/components/p-Ou74PMQs.js +1313 -0
  465. package/components/p-Ou74PMQs.js.map +1 -0
  466. package/components/p-PxA_udyJ.js +254 -0
  467. package/components/p-PxA_udyJ.js.map +1 -0
  468. package/components/p-TNoCM8Wi.js +83 -0
  469. package/components/p-TNoCM8Wi.js.map +1 -0
  470. package/components/p-UQa1aROL.js +23 -0
  471. package/components/p-UQa1aROL.js.map +1 -0
  472. package/components/p-bDicGJUN.js +7697 -0
  473. package/components/p-bDicGJUN.js.map +1 -0
  474. package/components/p-bcj7UEIC.js +24 -0
  475. package/components/p-bcj7UEIC.js.map +1 -0
  476. package/components/p-kY0vP3rC.js +122 -0
  477. package/components/p-kY0vP3rC.js.map +1 -0
  478. package/components/p-qauH9Ci4.js +54 -0
  479. package/components/p-qauH9Ci4.js.map +1 -0
  480. package/components/p-r63hglsv.js +90 -0
  481. package/components/p-r63hglsv.js.map +1 -0
  482. package/components/p-tH4n038Z.js +48 -0
  483. package/components/p-tH4n038Z.js.map +1 -0
  484. package/components/package.json +9 -0
  485. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"file":"p-D3K9vmFp.js","mappings":"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","names":[],"sources":["src/components/dropdown/dropdown-controller.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 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 { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item !== null &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private readonly dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n const id = dropdown.getId();\n this.removeFromSubmenuIds(id);\n this.dropdowns.delete(id);\n }\n\n removeFromSubmenuIds(id: string) {\n this.dropdowns.forEach((dropdown) => {\n const submenuIds = this.submenuIds[dropdown.getId()];\n if (submenuIds) {\n const index = submenuIds.indexOf(id);\n if (index > -1) {\n submenuIds.splice(index, 1);\n }\n }\n });\n\n delete this.submenuIds[id];\n }\n\n getDropdownById(id: string) {\n return this.dropdowns.get(id);\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent?.()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n const dropdown = this.dropdowns.get(id);\n if (dropdown) {\n this.dismiss(dropdown);\n }\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss?.()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: EventTarget) =>\n (element as HTMLElement).tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: MouseEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const dropdownController = new DropdownController();\n"],"version":3}
@@ -0,0 +1,26 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2023 Siemens AG
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ // Implementation of scss breakpoints mixins/_break-points.scss
10
+ const mediaQueries = {
11
+ sm: '(max-width: 48em)',
12
+ md: '(min-width: 48.0625em) and (max-width: 80em)',
13
+ lg: '(min-width: 80.0625em)',
14
+ };
15
+ const matchBreakpoint = (breakpoint) => {
16
+ if (typeof window !== 'undefined' && window.matchMedia) {
17
+ const mediaQuery = mediaQueries[breakpoint];
18
+ return window.matchMedia(mediaQuery).matches;
19
+ }
20
+ return false;
21
+ };
22
+
23
+ export { matchBreakpoint as m };
24
+ //# sourceMappingURL=p-D6vSVaHq.js.map
25
+
26
+ //# sourceMappingURL=p-D6vSVaHq.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D6vSVaHq.js","mappings":"AAAA;;;;;;;AAOG;AAEH;AACA,MAAM,YAAY,GAAG;AACnB,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,EAAE,EAAE,8CAA8C;AAClD,IAAA,EAAE,EAAE,wBAAwB;CACpB;AAIG,MAAA,eAAe,GAAG,CAAC,UAAsB,KAAI;IACxD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,UAAU,EAAE;AAC/D,QAAA,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO;;AAE9C,IAAA,OAAO,KAAK;AACd;;;;","names":[],"sources":["src/components/utils/breakpoints.ts"],"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// Implementation of scss breakpoints mixins/_break-points.scss\nconst mediaQueries = {\n sm: '(max-width: 48em)',\n md: '(min-width: 48.0625em) and (max-width: 80em)',\n lg: '(min-width: 80.0625em)',\n} as const;\n\nexport type Breakpoint = keyof typeof mediaQueries;\n\nexport const matchBreakpoint = (breakpoint: Breakpoint) => {\n if (typeof window !== 'undefined' && (window as any).matchMedia) {\n const mediaQuery = mediaQueries[breakpoint];\n return window.matchMedia(mediaQuery).matches;\n }\n return false;\n};\n"],"version":3}
@@ -0,0 +1,118 @@
1
+ import { j as getElement } from './p-BuJ6BWIi.js';
2
+
3
+ /*
4
+ * SPDX-FileCopyrightText: 2024 Siemens AG
5
+ *
6
+ * SPDX-License-Identifier: MIT
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */
11
+ async function isTouched(host) {
12
+ if (typeof host.isTouched === 'function') {
13
+ return host.isTouched();
14
+ }
15
+ }
16
+ async function shouldSuppressInternalValidation(host) {
17
+ if (host.getAssociatedFormElement &&
18
+ typeof host.getAssociatedFormElement === 'function') {
19
+ const form = await host.getAssociatedFormElement();
20
+ if (!form) {
21
+ return false;
22
+ }
23
+ return form.noValidate;
24
+ }
25
+ return false;
26
+ }
27
+ function createClassMutationObserver(element, callback, options) {
28
+ const observer = new MutationObserver(callback);
29
+ observer.observe(element, {
30
+ subtree: options === null || options === void 0 ? void 0 : options.includeChildren,
31
+ childList: options === null || options === void 0 ? void 0 : options.includeChildren,
32
+ attributes: true,
33
+ attributeFilter: ['class'],
34
+ });
35
+ return {
36
+ destroy() {
37
+ observer.disconnect();
38
+ },
39
+ };
40
+ }
41
+ function containsClass(hostElement, className, includeChildren) {
42
+ return (hostElement.classList.contains(`${className}`) ||
43
+ (includeChildren ? !!hostElement.querySelector(`.${className}`) : false));
44
+ }
45
+ function checkFieldClasses(hostElement, includeChildren = false) {
46
+ return {
47
+ isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),
48
+ isInvalidByRequired: containsClass(hostElement, 'ix-invalid--required', includeChildren),
49
+ isValid: containsClass(hostElement, 'ix-valid', includeChildren),
50
+ isInfo: containsClass(hostElement, 'ix-info', includeChildren),
51
+ isWarning: containsClass(hostElement, 'ix-warning', includeChildren),
52
+ };
53
+ }
54
+ function HookValidationLifecycle(options) {
55
+ return (proto, methodName) => {
56
+ let checkIfRequiredFunction;
57
+ let classMutationObserver;
58
+ const { componentWillLoad, disconnectedCallback, connectedCallback } = proto;
59
+ proto.connectedCallback = function () {
60
+ const host = getElement(this);
61
+ checkIfRequiredFunction = async () => {
62
+ const skipValidation = await shouldSuppressInternalValidation(host);
63
+ if (skipValidation) {
64
+ return;
65
+ }
66
+ if (host.hasValidValue && typeof host.hasValidValue === 'function') {
67
+ const hasValue = await host.hasValidValue();
68
+ const touched = await isTouched(host);
69
+ if (host.required) {
70
+ host.classList.toggle('ix-invalid--required', !hasValue && touched);
71
+ }
72
+ else {
73
+ host.classList.remove('ix-invalid--required');
74
+ }
75
+ }
76
+ if (host.getValidityState &&
77
+ typeof host.getValidityState === 'function') {
78
+ const validityState = await host.getValidityState();
79
+ host.classList.toggle(`ix-invalid--validity-patternMismatch`, validityState.patternMismatch);
80
+ }
81
+ };
82
+ host.addEventListener('checkedChange', checkIfRequiredFunction);
83
+ host.addEventListener('valueChange', checkIfRequiredFunction);
84
+ host.addEventListener('ixBlur', checkIfRequiredFunction);
85
+ setTimeout(checkIfRequiredFunction);
86
+ return connectedCallback === null || connectedCallback === void 0 ? void 0 : connectedCallback.call(this);
87
+ };
88
+ proto.componentWillLoad = function () {
89
+ const host = getElement(this);
90
+ classMutationObserver = createClassMutationObserver(host, () => {
91
+ const result = checkFieldClasses(host, options === null || options === void 0 ? void 0 : options.includeChildren);
92
+ proto[methodName].call(this, result);
93
+ }, options);
94
+ const result = checkFieldClasses(host, options === null || options === void 0 ? void 0 : options.includeChildren);
95
+ proto[methodName].call(this, result);
96
+ return componentWillLoad === null || componentWillLoad === void 0 ? void 0 : componentWillLoad.call(this);
97
+ };
98
+ proto.disconnectedCallback = function () {
99
+ const host = getElement(this);
100
+ if (host && classMutationObserver) {
101
+ classMutationObserver.destroy();
102
+ classMutationObserver = null;
103
+ }
104
+ if (host && checkIfRequiredFunction) {
105
+ host.removeEventListener('checkedChange', checkIfRequiredFunction);
106
+ host.removeEventListener('valueChange', checkIfRequiredFunction);
107
+ host.removeEventListener('ixBlur', checkIfRequiredFunction);
108
+ checkIfRequiredFunction = null;
109
+ }
110
+ return disconnectedCallback === null || disconnectedCallback === void 0 ? void 0 : disconnectedCallback.call(this);
111
+ };
112
+ };
113
+ }
114
+
115
+ export { HookValidationLifecycle as H, checkFieldClasses as a, createClassMutationObserver as c, shouldSuppressInternalValidation as s };
116
+ //# sourceMappingURL=p-D9LaIICQ.js.map
117
+
118
+ //# sourceMappingURL=p-D9LaIICQ.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-D9LaIICQ.js","mappings":"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","names":[],"sources":["src/components/utils/input/validation.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 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 { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function isTouched<T>(host: IxFormComponent<T>) {\n if (typeof host.isTouched === 'function') {\n return host.isTouched();\n }\n}\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: (() => Promise<void>) | null;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n const touched = await isTouched(host);\n\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue && touched);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n\n host.classList.toggle(\n `ix-invalid--validity-patternMismatch`,\n validityState.patternMismatch\n );\n }\n };\n\n host.addEventListener('checkedChange', checkIfRequiredFunction);\n host.addEventListener('valueChange', checkIfRequiredFunction);\n host.addEventListener('ixBlur', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('checkedChange', checkIfRequiredFunction);\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n host.removeEventListener('ixBlur', checkIfRequiredFunction);\n checkIfRequiredFunction = null;\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"version":3}
@@ -0,0 +1,310 @@
1
+ import { p as proxyCustomElement, H, e as createEvent, h, d as Host } from './p-BuJ6BWIi.js';
2
+ import { b as iconChevronRightSmall, l as iconChevronLeftSmall } from './p-CGwHQeMX.js';
3
+
4
+ /*
5
+ * SPDX-FileCopyrightText: 2023 Siemens AG
6
+ *
7
+ * SPDX-License-Identifier: MIT
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ */
12
+ /**
13
+ * Prevents angular from change detection when requesting an animation frame
14
+ *
15
+ * Credits goes to:
16
+ * https://github.com/ionic-team/ionic-framework/blob/main/core/src/utils/helpers.ts
17
+ */
18
+ const requestAnimationFrameNoNgZone = (callback) => {
19
+ if (typeof __zone_symbol__requestAnimationFrame === 'function') {
20
+ return __zone_symbol__requestAnimationFrame(callback);
21
+ }
22
+ if (typeof requestAnimationFrame === 'function') {
23
+ return requestAnimationFrame(callback);
24
+ }
25
+ return setTimeout(callback);
26
+ };
27
+
28
+ const tabsCss = ":host{width:auto;display:flex;align-items:center;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .tab-items{overflow:hidden;scroll-behavior:smooth;width:100%}:host .tab-items .items-content{display:flex;align-items:center}:host .arrow{position:absolute;display:flex;align-items:center;justify-content:center;width:32px;height:32px;top:0;bottom:0;left:0;margin:auto 0;border-radius:4px;color:var(--theme-btn-invisible-primary--color);background-color:var(--theme-btn-invisible-primary--background);z-index:2}:host .arrow:hover{color:var(--theme-btn-invisible-primary--color--hover);background-color:var(--theme-btn-invisible-primary--background--hover)}:host .arrow:active{color:var(--theme-btn-invisible-primary--color--active);background-color:var(--theme-btn-invisible-primary--background--active)}:host .arrow.right{left:auto;right:0}:host .overflow-shadow{display:block;position:relative;height:100%;width:100%;pointer-events:all}:host .overflow-shadow.shadow-left{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px);mask-image:linear-gradient(90deg, transparent 0px, black 45px)}:host .overflow-shadow.shadow-right{-webkit-mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, black calc(100% - 45px), transparent 100%)}:host .overflow-shadow.shadow-both{-webkit-mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0px, black 45px, black calc(100% - 45px), transparent 100%)}";
29
+
30
+ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends H {
31
+ constructor() {
32
+ super();
33
+ this.__registerHost();
34
+ this.__attachShadow();
35
+ this.selectedChange = createEvent(this, "selectedChange", 7);
36
+ /**
37
+ * Set tab items to small size
38
+ */
39
+ this.small = false;
40
+ /**
41
+ * Set rounded tabs
42
+ */
43
+ this.rounded = false;
44
+ /**
45
+ * Set default selected tab by index
46
+ */
47
+ this.selected = 0;
48
+ /**
49
+ * Set layout width style
50
+ */
51
+ this.layout = 'auto';
52
+ /**
53
+ * Set placement style
54
+ */
55
+ this.placement = 'bottom';
56
+ this.totalItems = 0;
57
+ this.currentScrollAmount = 0;
58
+ this.scrollAmount = 100;
59
+ this.scrollActionAmount = 0;
60
+ this.showArrowPrevious = false;
61
+ this.showArrowNext = false;
62
+ this.windowStartSize = window.innerWidth;
63
+ this.clickAction = {
64
+ timeout: null,
65
+ isClick: true,
66
+ };
67
+ }
68
+ onWindowResize() {
69
+ this.totalItems = 0;
70
+ this.totalItems = this.getTabs().length;
71
+ if (this.windowStartSize === 0)
72
+ return (this.windowStartSize = window.innerWidth);
73
+ this.move(this.windowStartSize - window.innerWidth);
74
+ this.windowStartSize = window.innerWidth;
75
+ }
76
+ getTabs() {
77
+ return Array.from(this.hostElement.querySelectorAll('ix-tab-item'));
78
+ }
79
+ getTab(tabIndex) {
80
+ return this.getTabs()[tabIndex];
81
+ }
82
+ getTabsWrapper() {
83
+ var _a;
84
+ return (_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.items-content');
85
+ }
86
+ initResizeObserver() {
87
+ const parentElement = this.hostElement.parentElement;
88
+ if (!parentElement)
89
+ return;
90
+ this.resizeObserver = new ResizeObserver(() => {
91
+ this.renderArrows();
92
+ });
93
+ this.resizeObserver.observe(parentElement);
94
+ }
95
+ showArrows() {
96
+ try {
97
+ const tabWrapper = this.getTabsWrapper();
98
+ return (tabWrapper &&
99
+ tabWrapper.scrollWidth >
100
+ Math.ceil(tabWrapper.getBoundingClientRect().width) &&
101
+ this.layout === 'auto');
102
+ }
103
+ catch (error) {
104
+ return false;
105
+ }
106
+ }
107
+ showPreviousArrow() {
108
+ try {
109
+ return this.showArrows() === true && this.scrollActionAmount < 0;
110
+ }
111
+ catch (error) {
112
+ return false;
113
+ }
114
+ }
115
+ showNextArrow() {
116
+ try {
117
+ const tabWrapper = this.getTabsWrapper();
118
+ if (!tabWrapper) {
119
+ return false;
120
+ }
121
+ const tabWrapperRect = tabWrapper.getBoundingClientRect();
122
+ return (this.showArrows() === true &&
123
+ this.scrollActionAmount >
124
+ (tabWrapper.scrollWidth - tabWrapperRect.width) * -1);
125
+ }
126
+ catch (error) {
127
+ return false;
128
+ }
129
+ }
130
+ move(amount, click = false) {
131
+ const tabsWrapper = this.getTabsWrapper();
132
+ if (!tabsWrapper) {
133
+ return;
134
+ }
135
+ const tabsWrapperVisibleWidth = tabsWrapper.getBoundingClientRect().width;
136
+ const maxScrollWidth = -this.currentScrollAmount +
137
+ tabsWrapperVisibleWidth -
138
+ tabsWrapper.scrollWidth;
139
+ amount = amount < maxScrollWidth ? maxScrollWidth : amount;
140
+ amount += this.currentScrollAmount;
141
+ amount = Math.min(amount, 0);
142
+ const styles = [
143
+ `transform: translateX(${amount}px);`,
144
+ click ? 'transition: all ease-in-out 400ms;' : '',
145
+ ].join('');
146
+ tabsWrapper.setAttribute('style', styles);
147
+ if (click)
148
+ this.currentScrollAmount = this.scrollActionAmount = amount;
149
+ else
150
+ this.scrollActionAmount = amount;
151
+ }
152
+ onSelectedChange(newValue) {
153
+ var _a;
154
+ if (!this.showArrows())
155
+ return;
156
+ const tabRect = this.getTab(newValue).getBoundingClientRect();
157
+ const wrapperWidth = (_a = this.getTabsWrapper()) === null || _a === void 0 ? void 0 : _a.clientWidth;
158
+ const arrowWidth = 32;
159
+ if (tabRect.left < arrowWidth) {
160
+ this.move(-tabRect.left + arrowWidth, true);
161
+ }
162
+ else if (wrapperWidth && tabRect.right > wrapperWidth - arrowWidth) {
163
+ this.move(wrapperWidth - tabRect.right - arrowWidth, true);
164
+ }
165
+ }
166
+ setSelected(index) {
167
+ this.selected = index;
168
+ }
169
+ clickTab(index) {
170
+ if (!this.clickAction.isClick || this.dragStop()) {
171
+ return;
172
+ }
173
+ const { defaultPrevented } = this.selectedChange.emit(index);
174
+ if (defaultPrevented) {
175
+ return;
176
+ }
177
+ this.setSelected(index);
178
+ }
179
+ dragStart(element, event) {
180
+ if (!this.showArrows())
181
+ return;
182
+ if (event.button > 0)
183
+ return;
184
+ this.clickAction.timeout =
185
+ this.clickAction.timeout === null
186
+ ? setTimeout(() => (this.clickAction.isClick = false), 300)
187
+ : null;
188
+ const tabPositionX = parseFloat(window.getComputedStyle(element).left);
189
+ const mousedownPositionX = event.clientX;
190
+ const move = (event) => this.dragMove(event, tabPositionX, mousedownPositionX);
191
+ const windowClick = () => {
192
+ window.removeEventListener('mousemove', move, false);
193
+ window.removeEventListener('click', windowClick, false);
194
+ this.dragStop();
195
+ };
196
+ window.addEventListener('click', windowClick);
197
+ window.addEventListener('mousemove', move, false);
198
+ }
199
+ dragMove(event, tabX, mousedownX) {
200
+ this.move(event.clientX + tabX - mousedownX);
201
+ }
202
+ dragStop() {
203
+ if (this.clickAction.timeout) {
204
+ clearTimeout(this.clickAction.timeout);
205
+ this.clickAction.timeout = null;
206
+ }
207
+ if (this.clickAction.isClick)
208
+ return false;
209
+ this.currentScrollAmount = this.scrollActionAmount;
210
+ this.clickAction.isClick = true;
211
+ return true;
212
+ }
213
+ componentWillLoad() {
214
+ const tabs = this.getTabs();
215
+ tabs.map((element, index) => {
216
+ if (this.small)
217
+ element.setAttribute('small', 'true');
218
+ if (this.rounded)
219
+ element.setAttribute('rounded', 'true');
220
+ element.setAttribute('layout', this.layout);
221
+ element.setAttribute('selected', index === this.selected ? 'true' : 'false');
222
+ element.setAttribute('placement', this.placement);
223
+ });
224
+ this.initResizeObserver();
225
+ }
226
+ componentDidRender() {
227
+ const tabs = this.getTabs();
228
+ this.totalItems = tabs.length;
229
+ tabs.map((element, index) => {
230
+ element.setAttribute('selected', index === this.selected ? 'true' : 'false');
231
+ });
232
+ }
233
+ componentWillRender() {
234
+ this.renderArrows();
235
+ }
236
+ renderArrows() {
237
+ requestAnimationFrameNoNgZone(() => {
238
+ this.showArrowNext = this.showNextArrow();
239
+ this.showArrowPrevious = this.showPreviousArrow();
240
+ });
241
+ }
242
+ componentDidLoad() {
243
+ const tabs = this.getTabs();
244
+ tabs.forEach((element) => {
245
+ element.addEventListener('mousedown', (event) => this.dragStart(element, event));
246
+ });
247
+ }
248
+ disconnectedCallback() {
249
+ var _a;
250
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
251
+ }
252
+ onTabClick(event) {
253
+ if (event.defaultPrevented) {
254
+ return;
255
+ }
256
+ const target = event.target;
257
+ const tabs = this.getTabs();
258
+ tabs.forEach((tab, index) => {
259
+ if (!tab.disabled && tab === target) {
260
+ this.clickTab(index);
261
+ }
262
+ });
263
+ }
264
+ render() {
265
+ return (h(Host, { key: '3a5a12a358f96a6b3eb9d3c626cff46be9d12b20' }, this.showArrowPrevious && (h("div", { key: '03e87ff4152b6c41b4d20c57ae98f44e812b01dd', class: "arrow", onClick: () => this.move(this.scrollAmount, true) }, h("ix-icon", { key: 'accba6626cf7e29dc217d4eecb1dc63c13cc7e74', name: iconChevronLeftSmall }))), h("div", { key: '7c608a6a63d765019883a57038621daef3a99e99', class: {
266
+ 'tab-items': true,
267
+ 'overflow-shadow': true,
268
+ 'shadow-left': this.showArrowPrevious,
269
+ 'shadow-right': this.showArrowNext,
270
+ 'shadow-both': this.showArrowNext && this.showArrowPrevious,
271
+ } }, h("div", { key: 'f4eca9afba68f8acc61b08f47ac45306cb530843', class: "items-content" }, h("slot", { key: '2e16534b9365c6832929a64df055a9e8ec6231ff' }))), this.showArrowNext && (h("div", { key: '09f0cbbcb821f2d6a03090bfc04bac91f84277cc', class: "arrow right", onClick: () => this.move(-this.scrollAmount, true) }, h("ix-icon", { key: 'f09da2a9097ce727ae21b8b4c49daddb7b3714ad', name: iconChevronRightSmall })))));
272
+ }
273
+ get hostElement() { return this; }
274
+ static get watchers() { return {
275
+ "selected": ["onSelectedChange"]
276
+ }; }
277
+ static get style() { return tabsCss; }
278
+ }, [1, "ix-tabs", {
279
+ "small": [4],
280
+ "rounded": [4],
281
+ "selected": [1026],
282
+ "layout": [1],
283
+ "placement": [1],
284
+ "totalItems": [32],
285
+ "currentScrollAmount": [32],
286
+ "scrollAmount": [32],
287
+ "scrollActionAmount": [32],
288
+ "showArrowPrevious": [32],
289
+ "showArrowNext": [32]
290
+ }, [[9, "resize", "onWindowResize"], [0, "tabClick", "onTabClick"]], {
291
+ "selected": ["onSelectedChange"]
292
+ }]);
293
+ function defineCustomElement() {
294
+ if (typeof customElements === "undefined") {
295
+ return;
296
+ }
297
+ const components = ["ix-tabs"];
298
+ components.forEach(tagName => { switch (tagName) {
299
+ case "ix-tabs":
300
+ if (!customElements.get(tagName)) {
301
+ customElements.define(tagName, Tabs);
302
+ }
303
+ break;
304
+ } });
305
+ }
306
+
307
+ export { Tabs as T, defineCustomElement as d };
308
+ //# sourceMappingURL=p-DCx3-1oU.js.map
309
+
310
+ //# sourceMappingURL=p-DCx3-1oU.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-DCx3-1oU.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/utils/requestAnimationFrame.ts","src/components/tabs/tabs.scss?tag=ix-tabs&encapsulation=shadow","src/components/tabs/tabs.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\ndeclare const __zone_symbol__requestAnimationFrame: any;\n\n/**\n * Prevents angular from change detection when requesting an animation frame\n *\n * Credits goes to:\n * https://github.com/ionic-team/ionic-framework/blob/main/core/src/utils/helpers.ts\n */\nexport const requestAnimationFrameNoNgZone = (\n callback: (...args: any[]) => void\n) => {\n if (typeof __zone_symbol__requestAnimationFrame === 'function') {\n return __zone_symbol__requestAnimationFrame(callback);\n }\n if (typeof requestAnimationFrame === 'function') {\n return requestAnimationFrame(callback);\n }\n return setTimeout(callback);\n};\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n width: auto;\n display: flex;\n align-items: center;\n position: relative;\n\n .tab-items {\n overflow: hidden;\n scroll-behavior: smooth;\n width: 100%;\n\n .items-content {\n display: flex;\n align-items: center;\n }\n }\n\n .arrow {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n top: 0;\n bottom: 0;\n left: 0;\n margin: auto 0;\n border-radius: 4px;\n color: var(--theme-btn-invisible-primary--color);\n background-color: var(--theme-btn-invisible-primary--background);\n z-index: 2;\n\n &:hover {\n color: var(--theme-btn-invisible-primary--color--hover);\n background-color: var(--theme-btn-invisible-primary--background--hover);\n }\n\n &:active {\n color: var(--theme-btn-invisible-primary--color--active);\n background-color: var(--theme-btn-invisible-primary--background--active);\n }\n\n &.right {\n left: auto;\n right: 0;\n }\n }\n\n .overflow-shadow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n\n &.shadow-left {\n mask-image: linear-gradient(90deg, transparent 0px, black 45px);\n }\n\n &.shadow-right {\n mask-image: linear-gradient(\n 90deg,\n black calc(100% - 45px),\n transparent 100%\n );\n }\n\n &.shadow-both {\n mask-image: linear-gradient(\n 90deg,\n transparent 0px,\n black 45px,\n black calc(100% - 45px),\n transparent 100%\n );\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { requestAnimationFrameNoNgZone } from '../utils/requestAnimationFrame';\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-tabs',\n styleUrl: 'tabs.scss',\n shadow: true,\n})\nexport class Tabs {\n @Element() hostElement!: HTMLIxTabsElement;\n\n /**\n * Set tab items to small size\n */\n @Prop() small = false;\n\n /**\n * Set rounded tabs\n */\n @Prop() rounded = false;\n\n /**\n * Set default selected tab by index\n */\n @Prop({ mutable: true }) selected = 0;\n\n /**\n * Set layout width style\n */\n @Prop() layout: 'auto' | 'stretched' = 'auto';\n\n /**\n * Set placement style\n */\n @Prop() placement: 'bottom' | 'top' = 'bottom';\n\n /**\n * `selected` property changed\n */\n @Event() selectedChange!: EventEmitter<number>;\n\n @State() totalItems = 0;\n @State() currentScrollAmount = 0;\n @State() scrollAmount = 100;\n @State() scrollActionAmount = 0;\n @State() showArrowPrevious = false;\n @State() showArrowNext = false;\n\n private windowStartSize = window.innerWidth;\n private resizeObserver?: ResizeObserver;\n\n private clickAction: {\n timeout: NodeJS.Timeout | null;\n isClick: boolean;\n } = {\n timeout: null,\n isClick: true,\n };\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.totalItems = 0;\n this.totalItems = this.getTabs().length;\n\n if (this.windowStartSize === 0)\n return (this.windowStartSize = window.innerWidth);\n this.move(this.windowStartSize - window.innerWidth);\n this.windowStartSize = window.innerWidth;\n }\n\n private getTabs() {\n return Array.from(this.hostElement.querySelectorAll('ix-tab-item'));\n }\n\n private getTab(tabIndex: number) {\n return this.getTabs()[tabIndex];\n }\n\n private getTabsWrapper() {\n return this.hostElement.shadowRoot?.querySelector('.items-content');\n }\n\n private initResizeObserver() {\n const parentElement = this.hostElement.parentElement;\n if (!parentElement) return;\n this.resizeObserver = new ResizeObserver(() => {\n this.renderArrows();\n });\n this.resizeObserver.observe(parentElement);\n }\n\n private showArrows() {\n try {\n const tabWrapper = this.getTabsWrapper();\n return (\n tabWrapper &&\n tabWrapper.scrollWidth >\n Math.ceil(tabWrapper.getBoundingClientRect().width) &&\n this.layout === 'auto'\n );\n } catch (error) {\n return false;\n }\n }\n\n private showPreviousArrow() {\n try {\n return this.showArrows() === true && this.scrollActionAmount < 0;\n } catch (error) {\n return false;\n }\n }\n\n private showNextArrow() {\n try {\n const tabWrapper = this.getTabsWrapper();\n\n if (!tabWrapper) {\n return false;\n }\n\n const tabWrapperRect = tabWrapper.getBoundingClientRect();\n\n return (\n this.showArrows() === true &&\n this.scrollActionAmount >\n (tabWrapper.scrollWidth - tabWrapperRect.width) * -1\n );\n } catch (error) {\n return false;\n }\n }\n\n private move(amount: number, click = false) {\n const tabsWrapper = this.getTabsWrapper();\n\n if (!tabsWrapper) {\n return;\n }\n\n const tabsWrapperVisibleWidth = tabsWrapper.getBoundingClientRect().width;\n const maxScrollWidth =\n -this.currentScrollAmount +\n tabsWrapperVisibleWidth -\n tabsWrapper.scrollWidth;\n\n amount = amount < maxScrollWidth ? maxScrollWidth : amount;\n amount += this.currentScrollAmount;\n amount = Math.min(amount, 0);\n\n const styles = [\n `transform: translateX(${amount}px);`,\n click ? 'transition: all ease-in-out 400ms;' : '',\n ].join('');\n\n tabsWrapper.setAttribute('style', styles);\n\n if (click) this.currentScrollAmount = this.scrollActionAmount = amount;\n else this.scrollActionAmount = amount;\n }\n\n @Watch('selected')\n onSelectedChange(newValue: number) {\n if (!this.showArrows()) return;\n\n const tabRect = this.getTab(newValue).getBoundingClientRect();\n const wrapperWidth = this.getTabsWrapper()?.clientWidth;\n const arrowWidth = 32;\n\n if (tabRect.left < arrowWidth) {\n this.move(-tabRect.left + arrowWidth, true);\n } else if (wrapperWidth && tabRect.right > wrapperWidth - arrowWidth) {\n this.move(wrapperWidth - tabRect.right - arrowWidth, true);\n }\n }\n\n private setSelected(index: number) {\n this.selected = index;\n }\n\n private clickTab(index: number) {\n if (!this.clickAction.isClick || this.dragStop()) {\n return;\n }\n\n const { defaultPrevented } = this.selectedChange.emit(index);\n if (defaultPrevented) {\n return;\n }\n\n this.setSelected(index);\n }\n\n private dragStart(element: HTMLIxTabItemElement, event: MouseEvent) {\n if (!this.showArrows()) return;\n if (event.button > 0) return;\n\n this.clickAction.timeout =\n this.clickAction.timeout === null\n ? setTimeout(() => (this.clickAction.isClick = false), 300)\n : null;\n\n const tabPositionX = parseFloat(window.getComputedStyle(element).left);\n const mousedownPositionX = event.clientX;\n const move = (event: MouseEvent) =>\n this.dragMove(event, tabPositionX, mousedownPositionX);\n const windowClick = () => {\n window.removeEventListener('mousemove', move, false);\n window.removeEventListener('click', windowClick, false);\n this.dragStop();\n };\n window.addEventListener('click', windowClick);\n window.addEventListener('mousemove', move, false);\n }\n\n private dragMove(event: MouseEvent, tabX: number, mousedownX: number) {\n this.move(event.clientX + tabX - mousedownX);\n }\n\n private dragStop() {\n if (this.clickAction.timeout) {\n clearTimeout(this.clickAction.timeout);\n this.clickAction.timeout = null;\n }\n\n if (this.clickAction.isClick) return false;\n\n this.currentScrollAmount = this.scrollActionAmount;\n this.clickAction.isClick = true;\n\n return true;\n }\n\n componentWillLoad() {\n const tabs = this.getTabs();\n\n tabs.map((element, index) => {\n if (this.small) element.setAttribute('small', 'true');\n\n if (this.rounded) element.setAttribute('rounded', 'true');\n\n element.setAttribute('layout', this.layout);\n element.setAttribute(\n 'selected',\n index === this.selected ? 'true' : 'false'\n );\n\n element.setAttribute('placement', this.placement);\n });\n\n this.initResizeObserver();\n }\n\n componentDidRender() {\n const tabs = this.getTabs();\n this.totalItems = tabs.length;\n\n tabs.map((element, index) => {\n element.setAttribute(\n 'selected',\n index === this.selected ? 'true' : 'false'\n );\n });\n }\n\n componentWillRender() {\n this.renderArrows();\n }\n\n private renderArrows() {\n requestAnimationFrameNoNgZone(() => {\n this.showArrowNext = this.showNextArrow();\n this.showArrowPrevious = this.showPreviousArrow();\n });\n }\n\n componentDidLoad() {\n const tabs = this.getTabs();\n tabs.forEach((element) => {\n element.addEventListener('mousedown', (event) =>\n this.dragStart(element, event)\n );\n });\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n @Listen('tabClick')\n onTabClick(event: CustomEvent) {\n if (event.defaultPrevented) {\n return;\n }\n\n const target = event.target;\n const tabs = this.getTabs();\n\n tabs.forEach((tab, index) => {\n if (!tab.disabled && tab === target) {\n this.clickTab(index);\n }\n });\n }\n\n render() {\n return (\n <Host>\n {this.showArrowPrevious && (\n <div class=\"arrow\" onClick={() => this.move(this.scrollAmount, true)}>\n <ix-icon name={iconChevronLeftSmall}></ix-icon>\n </div>\n )}\n <div\n class={{\n 'tab-items': true,\n 'overflow-shadow': true,\n 'shadow-left': this.showArrowPrevious,\n 'shadow-right': this.showArrowNext,\n 'shadow-both': this.showArrowNext && this.showArrowPrevious,\n }}\n >\n <div class=\"items-content\">\n <slot></slot>\n </div>\n </div>\n {this.showArrowNext && (\n <div\n class=\"arrow right\"\n onClick={() => this.move(-this.scrollAmount, true)}\n >\n <ix-icon name={iconChevronRightSmall}></ix-icon>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,79 @@
1
+ import { T as TypedEvent } from './p-BdCnOrqW.js';
2
+
3
+ /*
4
+ * SPDX-FileCopyrightText: 2023 Siemens AG
5
+ *
6
+ * SPDX-License-Identifier: MIT
7
+ *
8
+ * This source code is licensed under the MIT license found in the
9
+ * LICENSE file in the root directory of this source tree.
10
+ */
11
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
17
+ if (kind === "m") throw new TypeError("Private method is not writable");
18
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
19
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
20
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
21
+ };
22
+ var _MenuService_menuElement, _MenuService_menuExpandChange, _MenuService_isPinned;
23
+ class MenuService {
24
+ constructor() {
25
+ _MenuService_menuElement.set(this, null);
26
+ _MenuService_menuExpandChange.set(this, new TypedEvent());
27
+ _MenuService_isPinned.set(this, false);
28
+ }
29
+ register(menuElement) {
30
+ if (__classPrivateFieldGet(this, _MenuService_menuElement, "f")) {
31
+ console.warn('Menu already defined');
32
+ return;
33
+ }
34
+ __classPrivateFieldSet(this, _MenuService_menuElement, menuElement, "f");
35
+ __classPrivateFieldGet(this, _MenuService_menuElement, "f").addEventListener('expandChange', (event) => {
36
+ __classPrivateFieldGet(this, _MenuService_menuExpandChange, "f").emit(event.detail);
37
+ });
38
+ }
39
+ setIsPinned(pinned) {
40
+ __classPrivateFieldSet(this, _MenuService_isPinned, pinned, "f");
41
+ }
42
+ async open() {
43
+ if (__classPrivateFieldGet(this, _MenuService_menuElement, "f")) {
44
+ __classPrivateFieldGet(this, _MenuService_menuElement, "f").toggleMenu(true);
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ async close() {
50
+ if (__classPrivateFieldGet(this, _MenuService_menuElement, "f")) {
51
+ __classPrivateFieldGet(this, _MenuService_menuElement, "f").toggleMenu(false);
52
+ return true;
53
+ }
54
+ return false;
55
+ }
56
+ async toggle() {
57
+ if (__classPrivateFieldGet(this, _MenuService_menuElement, "f")) {
58
+ __classPrivateFieldGet(this, _MenuService_menuElement, "f").toggleMenu();
59
+ return true;
60
+ }
61
+ return false;
62
+ }
63
+ get nativeElement() {
64
+ return __classPrivateFieldGet(this, _MenuService_menuElement, "f");
65
+ }
66
+ get expandChange() {
67
+ return __classPrivateFieldGet(this, _MenuService_menuExpandChange, "f");
68
+ }
69
+ get isPinned() {
70
+ return __classPrivateFieldGet(this, _MenuService_isPinned, "f");
71
+ }
72
+ }
73
+ _MenuService_menuElement = new WeakMap(), _MenuService_menuExpandChange = new WeakMap(), _MenuService_isPinned = new WeakMap();
74
+ const menuController = new MenuService();
75
+
76
+ export { menuController as m };
77
+ //# sourceMappingURL=p-DDHkNPby.js.map
78
+
79
+ //# sourceMappingURL=p-DDHkNPby.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-DDHkNPby.js","mappings":";;AAAA;;;;;;;AAOG;;;;;;;;;;;;;AAIH,MAAM,WAAW,CAAA;AAAjB,IAAA,WAAA,GAAA;AACE,QAAA,wBAAA,CAAA,GAAA,CAAA,IAAA,EAAyC,IAAI,CAAC;QAC9C,6BAAoB,CAAA,GAAA,CAAA,IAAA,EAAA,IAAI,UAAU,EAAW,CAAC;AAC9C,QAAA,qBAAA,CAAA,GAAA,CAAA,IAAA,EAAY,KAAK,CAAC;;AAElB,IAAA,QAAQ,CAAC,WAA8B,EAAA;AACrC,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,EAAE;AACrB,YAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpC;;AAEF,QAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAgB,WAAW,EAAA,GAAA,CAAA;QAC/B,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,CAAC,gBAAgB,CAChC,cAAc,EACd,CAAC,KAA2B,KAAI;YAC9B,sBAAA,CAAA,IAAI,qCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC3C,SAAC,CACF;;AAGI,IAAA,WAAW,CAAC,MAAe,EAAA;AAChC,QAAA,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAa,MAAM,EAAA,GAAA,CAAA;;AAGlB,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,EAAE;AACrB,YAAA,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,CAAC,UAAU,CAAC,IAAI,CAAC;AAClC,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,KAAK;;AAGP,IAAA,MAAM,KAAK,GAAA;AAChB,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,EAAE;AACrB,YAAA,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,CAAC,UAAU,CAAC,KAAK,CAAC;AACnC,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,KAAK;;AAGP,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAa,wBAAA,EAAA,GAAA,CAAA,EAAE;AACrB,YAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAa,CAAC,UAAU,EAAE;AAC9B,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAa;;AAG1B,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,sBAAA,CAAA,IAAI,EAAA,6BAAA,EAAA,GAAA,CAAkB;;AAG/B,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAA,GAAA,CAAU;;AAExB;;AAEY,MAAA,cAAc,GAAG,IAAI,WAAW;;;;","names":[],"sources":["src/components/utils/menu-service/menu-service.ts"],"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 { TypedEvent } from '../typed-event';\n\nclass MenuService {\n #menuElement: HTMLIxMenuElement | null = null;\n #menuExpandChange = new TypedEvent<boolean>();\n #isPinned = false;\n\n register(menuElement: HTMLIxMenuElement) {\n if (this.#menuElement) {\n console.warn('Menu already defined');\n return;\n }\n this.#menuElement = menuElement;\n this.#menuElement.addEventListener(\n 'expandChange',\n (event: CustomEvent<boolean>) => {\n this.#menuExpandChange.emit(event.detail);\n }\n );\n }\n\n public setIsPinned(pinned: boolean) {\n this.#isPinned = pinned;\n }\n\n public async open() {\n if (this.#menuElement) {\n this.#menuElement.toggleMenu(true);\n return true;\n }\n\n return false;\n }\n\n public async close() {\n if (this.#menuElement) {\n this.#menuElement.toggleMenu(false);\n return true;\n }\n\n return false;\n }\n\n public async toggle() {\n if (this.#menuElement) {\n this.#menuElement.toggleMenu();\n return true;\n }\n\n return false;\n }\n\n get nativeElement() {\n return this.#menuElement;\n }\n\n get expandChange() {\n return this.#menuExpandChange;\n }\n\n get isPinned() {\n return this.#isPinned;\n }\n}\n\nexport const menuController = new MenuService();\n"],"version":3}