@siemens/ix 2.6.0 → 2.6.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 (311) hide show
  1. package/components/button.js +7 -2
  2. package/components/button.js.map +1 -1
  3. package/components/dropdown-item.js +1 -1
  4. package/components/dropdown-item.js.map +1 -1
  5. package/components/field-label.js +1 -1
  6. package/components/field-label.js.map +1 -1
  7. package/components/field-wrapper.js +2 -2
  8. package/components/field-wrapper.js.map +1 -1
  9. package/components/index3.js +2 -1
  10. package/components/index3.js.map +1 -1
  11. package/components/input.util.js +4 -8
  12. package/components/input.util.js.map +1 -1
  13. package/components/ix-date-input.js +6 -6
  14. package/components/ix-date-input.js.map +1 -1
  15. package/components/ix-input.js +3 -3
  16. package/components/ix-input.js.map +1 -1
  17. package/components/ix-number-input.js +5 -5
  18. package/components/ix-number-input.js.map +1 -1
  19. package/components/ix-textarea.js +2 -2
  20. package/components/ix-textarea.js.map +1 -1
  21. package/components/ix-toggle-button.js +2 -2
  22. package/components/ix-toggle.js +25 -5
  23. package/components/ix-toggle.js.map +1 -1
  24. package/components/ix-tree.js +330 -496
  25. package/components/ix-tree.js.map +1 -1
  26. package/components/ix-upload.js +3 -3
  27. package/components/ix-validation-tooltip.js +2 -2
  28. package/components/ix-workflow-step.js +3 -3
  29. package/components/ix-workflow-steps.js +1 -1
  30. package/components/modal.js +6 -0
  31. package/components/modal.js.map +1 -1
  32. package/components/select.js +68 -52
  33. package/components/select.js.map +1 -1
  34. package/components/tooltip.js +2 -2
  35. package/components/tree-item.js +6 -5
  36. package/components/tree-item.js.map +1 -1
  37. package/dist/cjs/{app-globals-3c9c6a50.js → app-globals-4d8f1524.js} +2 -2
  38. package/dist/cjs/{app-globals-3c9c6a50.js.map → app-globals-4d8f1524.js.map} +1 -1
  39. package/dist/cjs/core-js-b22adfab.js +26 -0
  40. package/dist/cjs/core-js-b22adfab.js.map +1 -0
  41. package/dist/cjs/{helper-text-util-3192e78f.js → helper-text-util-635a1877.js} +2 -2
  42. package/dist/cjs/{helper-text-util-3192e78f.js.map → helper-text-util-635a1877.js.map} +1 -1
  43. package/dist/cjs/{index-74904d8b.js → index-492e6488.js} +2 -2
  44. package/dist/cjs/{index-74904d8b.js.map → index-492e6488.js.map} +1 -1
  45. package/dist/cjs/{index-d2117dc0.js → index-b44a6617.js} +3 -1
  46. package/dist/cjs/index-b44a6617.js.map +1 -0
  47. package/dist/cjs/index.cjs.js +2 -2
  48. package/dist/cjs/{index.es2017-0c2b80b6.js → index.es2017-805b5876.js} +3 -3
  49. package/dist/cjs/{index.es2017-0c2b80b6.js.map → index.es2017-805b5876.js.map} +1 -1
  50. package/dist/cjs/{input.util-1c2fa43d.js → input.util-54d161e6.js} +5 -9
  51. package/dist/cjs/input.util-54d161e6.js.map +1 -0
  52. package/dist/cjs/ix-application-header.cjs.entry.js +2 -2
  53. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  54. package/dist/cjs/ix-button.cjs.entry.js +7 -2
  55. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ix-col_4.cjs.entry.js +1 -1
  57. package/dist/cjs/ix-date-input.cjs.entry.js +6 -6
  58. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ix-dropdown-item.cjs.entry.js +1 -1
  60. package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ix-field-label_3.cjs.entry.js +7 -7
  62. package/dist/cjs/ix-field-label_3.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
  64. package/dist/cjs/{ix-icon.entry-e95ddded.js → ix-icon.entry-e33446e2.js} +2 -2
  65. package/dist/cjs/{ix-icon.entry-e95ddded.js.map → ix-icon.entry-e33446e2.js.map} +1 -1
  66. package/dist/cjs/ix-input.cjs.entry.js +5 -5
  67. package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ix-menu.cjs.entry.js +2 -2
  69. package/dist/cjs/ix-number-input.cjs.entry.js +7 -7
  70. package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ix-select.cjs.entry.js +68 -52
  72. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ix-textarea.cjs.entry.js +3 -3
  74. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
  76. package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
  77. package/dist/cjs/ix-toggle.cjs.entry.js +17 -3
  78. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ix-tree-item.cjs.entry.js +6 -5
  80. package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ix-tree.cjs.entry.js +330 -489
  82. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  84. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
  85. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  86. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  87. package/dist/cjs/loader.cjs.js +3 -3
  88. package/dist/cjs/{modal-a49409aa.js → modal-923c83a6.js} +7 -1
  89. package/dist/cjs/modal-923c83a6.js.map +1 -0
  90. package/dist/cjs/{setup-86b7d543.js → setup-cc07fbfc.js} +2 -2
  91. package/dist/cjs/{setup-86b7d543.js.map → setup-cc07fbfc.js.map} +1 -1
  92. package/dist/cjs/siemens-ix.cjs.js +3 -3
  93. package/dist/collection/components/button/button.js +7 -2
  94. package/dist/collection/components/button/button.js.map +1 -1
  95. package/dist/collection/components/date-input/date-input.js +8 -6
  96. package/dist/collection/components/date-input/date-input.js.map +1 -1
  97. package/dist/collection/components/dropdown-item/dropdown-item.css +0 -3
  98. package/dist/collection/components/field-label/field-label.js +13 -5
  99. package/dist/collection/components/field-label/field-label.js.map +1 -1
  100. package/dist/collection/components/field-wrapper/field-wrapper.js +12 -4
  101. package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -1
  102. package/dist/collection/components/input/input.fc.js +4 -8
  103. package/dist/collection/components/input/input.fc.js.map +1 -1
  104. package/dist/collection/components/input/input.js +5 -3
  105. package/dist/collection/components/input/input.js.map +1 -1
  106. package/dist/collection/components/input/number-input.js +7 -5
  107. package/dist/collection/components/input/number-input.js.map +1 -1
  108. package/dist/collection/components/input/textarea.js +2 -2
  109. package/dist/collection/components/input/textarea.js.map +1 -1
  110. package/dist/collection/components/modal/test/modal.ct.js +57 -65
  111. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  112. package/dist/collection/components/select/select.js +68 -52
  113. package/dist/collection/components/select/select.js.map +1 -1
  114. package/dist/collection/components/select/test/select.ct.js +72 -100
  115. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  116. package/dist/collection/components/toggle/toggle.css +376 -161
  117. package/dist/collection/components/toggle/toggle.js +17 -3
  118. package/dist/collection/components/toggle/toggle.js.map +1 -1
  119. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  120. package/dist/collection/components/tooltip/tooltip.js +2 -2
  121. package/dist/collection/components/tree/tree.js +6 -3
  122. package/dist/collection/components/tree/tree.js.map +1 -1
  123. package/dist/collection/components/tree-item/tree-item.js +6 -5
  124. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  125. package/dist/collection/components/upload/upload.js +3 -3
  126. package/dist/collection/components/utils/lazy-list/index.js +2 -0
  127. package/dist/collection/components/utils/lazy-list/index.js.map +1 -0
  128. package/dist/collection/components/utils/lazy-list/lazy.js +343 -0
  129. package/dist/collection/components/utils/lazy-list/lazy.js.map +1 -0
  130. package/dist/collection/components/utils/modal/modal.js +6 -0
  131. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  132. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  133. package/dist/collection/components/workflow-step/workflow-step.js +3 -3
  134. package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
  135. package/dist/collection/tests/html-tags/html-tags.e2e.js +17 -0
  136. package/dist/collection/tests/html-tags/html-tags.e2e.js.map +1 -0
  137. package/dist/esm/app-globals-40082a83.js +7 -0
  138. package/dist/esm/{app-globals-ae0ca705.js.map → app-globals-40082a83.js.map} +1 -1
  139. package/dist/esm/{core-js-78b486a8.js → core-js-4a847feb.js} +2 -2
  140. package/dist/esm/{core-js-78b486a8.js.map → core-js-4a847feb.js.map} +1 -1
  141. package/dist/esm/{helper-text-util-10896253.js → helper-text-util-e47b864d.js} +2 -2
  142. package/dist/esm/{helper-text-util-10896253.js.map → helper-text-util-e47b864d.js.map} +1 -1
  143. package/dist/esm/{index-ad2af369.js → index-2b76ea55.js} +3 -2
  144. package/dist/esm/index-2b76ea55.js.map +1 -0
  145. package/dist/esm/{index-60d17930.js → index-7421df0c.js} +2 -2
  146. package/dist/esm/{index-60d17930.js.map → index-7421df0c.js.map} +1 -1
  147. package/dist/esm/{index.es2017-93ac816c.js → index.es2017-4e6fdf77.js} +3 -3
  148. package/dist/esm/{index.es2017-93ac816c.js.map → index.es2017-4e6fdf77.js.map} +1 -1
  149. package/dist/esm/index.js +3 -3
  150. package/dist/esm/{input.util-715860e3.js → input.util-c855b2ed.js} +5 -9
  151. package/dist/esm/input.util-c855b2ed.js.map +1 -0
  152. package/dist/esm/ix-application-header.entry.js +2 -2
  153. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  154. package/dist/esm/ix-button.entry.js +7 -2
  155. package/dist/esm/ix-button.entry.js.map +1 -1
  156. package/dist/esm/ix-col_4.entry.js +1 -1
  157. package/dist/esm/ix-date-input.entry.js +6 -6
  158. package/dist/esm/ix-date-input.entry.js.map +1 -1
  159. package/dist/esm/ix-dropdown-item.entry.js +1 -1
  160. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  161. package/dist/esm/ix-field-label_3.entry.js +7 -7
  162. package/dist/esm/ix-field-label_3.entry.js.map +1 -1
  163. package/dist/esm/ix-helper-text.entry.js +2 -2
  164. package/dist/esm/{ix-icon.entry-621b700a.js → ix-icon.entry-f5f7c268.js} +2 -2
  165. package/dist/esm/{ix-icon.entry-621b700a.js.map → ix-icon.entry-f5f7c268.js.map} +1 -1
  166. package/dist/esm/ix-input.entry.js +5 -5
  167. package/dist/esm/ix-input.entry.js.map +1 -1
  168. package/dist/esm/ix-menu.entry.js +2 -2
  169. package/dist/esm/ix-number-input.entry.js +7 -7
  170. package/dist/esm/ix-number-input.entry.js.map +1 -1
  171. package/dist/esm/ix-select.entry.js +68 -52
  172. package/dist/esm/ix-select.entry.js.map +1 -1
  173. package/dist/esm/ix-textarea.entry.js +3 -3
  174. package/dist/esm/ix-textarea.entry.js.map +1 -1
  175. package/dist/esm/ix-time-picker.entry.js +1 -1
  176. package/dist/esm/ix-toggle-button.entry.js +2 -2
  177. package/dist/esm/ix-toggle.entry.js +18 -4
  178. package/dist/esm/ix-toggle.entry.js.map +1 -1
  179. package/dist/esm/ix-tree-item.entry.js +6 -5
  180. package/dist/esm/ix-tree-item.entry.js.map +1 -1
  181. package/dist/esm/ix-tree.entry.js +330 -489
  182. package/dist/esm/ix-tree.entry.js.map +1 -1
  183. package/dist/esm/ix-upload.entry.js +3 -3
  184. package/dist/esm/ix-validation-tooltip.entry.js +2 -2
  185. package/dist/esm/ix-workflow-step.entry.js +3 -3
  186. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  187. package/dist/esm/loader.js +3 -3
  188. package/dist/esm/{modal-101eef04.js → modal-4b3f8800.js} +7 -1
  189. package/dist/{cjs/modal-a49409aa.js.map → esm/modal-4b3f8800.js.map} +1 -1
  190. package/dist/esm/{setup-d88021f8.js → setup-9c5fe321.js} +2 -2
  191. package/dist/esm/{setup-d88021f8.js.map → setup-9c5fe321.js.map} +1 -1
  192. package/dist/esm/siemens-ix.js +3 -3
  193. package/dist/siemens-ix/index.esm.js +1 -1
  194. package/dist/siemens-ix/{p-0dbc970e.entry.js → p-0b2f0536.entry.js} +2 -2
  195. package/dist/siemens-ix/{p-2b226409.entry.js → p-0b5c9f33.entry.js} +2 -2
  196. package/dist/siemens-ix/p-0b5c9f33.entry.js.map +1 -0
  197. package/dist/siemens-ix/{p-044c2a7b.entry.js → p-18542846.entry.js} +2 -2
  198. package/dist/siemens-ix/p-20938f73.entry.js +2 -0
  199. package/dist/siemens-ix/p-20938f73.entry.js.map +1 -0
  200. package/dist/siemens-ix/p-22cba43a.entry.js +2 -0
  201. package/dist/siemens-ix/p-22cba43a.entry.js.map +1 -0
  202. package/dist/siemens-ix/{p-9fe2759f.entry.js → p-243e8b32.entry.js} +2 -2
  203. package/dist/siemens-ix/p-243e8b32.entry.js.map +1 -0
  204. package/dist/siemens-ix/p-38d9d569.js +2 -0
  205. package/dist/siemens-ix/p-38d9d569.js.map +1 -0
  206. package/dist/siemens-ix/{p-d7aa00d6.js → p-3aaecbd9.js} +2 -2
  207. package/dist/siemens-ix/{p-175599e4.entry.js → p-42320fb3.entry.js} +2 -2
  208. package/dist/siemens-ix/p-44fa005c.js +4 -0
  209. package/dist/siemens-ix/{p-a2200306.js.map → p-44fa005c.js.map} +1 -1
  210. package/dist/siemens-ix/p-451551d1.js +2 -0
  211. package/dist/siemens-ix/p-451551d1.js.map +1 -0
  212. package/dist/siemens-ix/p-53fd545a.entry.js +2 -0
  213. package/dist/siemens-ix/p-53fd545a.entry.js.map +1 -0
  214. package/dist/siemens-ix/p-5fbdff13.entry.js +2 -0
  215. package/dist/siemens-ix/p-5fbdff13.entry.js.map +1 -0
  216. package/dist/siemens-ix/{p-1f6df0c6.js → p-738c2d1f.js} +2 -2
  217. package/dist/siemens-ix/{p-424e8092.entry.js → p-897c8e5b.entry.js} +2 -2
  218. package/dist/siemens-ix/p-897c8e5b.entry.js.map +1 -0
  219. package/dist/siemens-ix/{p-f35386ec.js → p-93d4d3c9.js} +2 -2
  220. package/dist/siemens-ix/{p-9948574f.entry.js → p-97d4b3bd.entry.js} +2 -2
  221. package/dist/siemens-ix/{p-6a4a2064.entry.js → p-9f960c0b.entry.js} +2 -2
  222. package/dist/siemens-ix/{p-0c89cbcc.entry.js → p-a4dc6824.entry.js} +2 -2
  223. package/dist/siemens-ix/{p-fe87443e.js → p-a6af13b0.js} +2 -2
  224. package/dist/siemens-ix/p-af7c4b16.entry.js +2 -0
  225. package/dist/siemens-ix/p-af7c4b16.entry.js.map +1 -0
  226. package/dist/siemens-ix/{p-a3364116.entry.js → p-afb4565c.entry.js} +2 -2
  227. package/dist/siemens-ix/{p-4c9b7548.entry.js → p-bc272f75.entry.js} +2 -2
  228. package/dist/siemens-ix/{p-3205726a.entry.js → p-bfe469e4.entry.js} +2 -2
  229. package/dist/siemens-ix/{p-792e1c52.entry.js → p-c07557b0.entry.js} +2 -2
  230. package/dist/siemens-ix/p-c07557b0.entry.js.map +1 -0
  231. package/dist/siemens-ix/p-c3ca17fc.js +2 -0
  232. package/dist/siemens-ix/p-c530de51.entry.js +2 -0
  233. package/dist/siemens-ix/p-c530de51.entry.js.map +1 -0
  234. package/dist/siemens-ix/p-d2f21544.js +2 -0
  235. package/dist/siemens-ix/{p-68bb2a09.entry.js → p-d9b654af.entry.js} +2 -2
  236. package/dist/siemens-ix/p-d9b654af.entry.js.map +1 -0
  237. package/dist/siemens-ix/{p-e9a37b3f.entry.js → p-ee0645f8.entry.js} +2 -2
  238. package/dist/siemens-ix/p-fe158b99.js +2 -0
  239. package/dist/siemens-ix/p-fe158b99.js.map +1 -0
  240. package/dist/siemens-ix/{p-f39048a2.entry.js → p-fe396297.entry.js} +2 -2
  241. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  242. package/dist/types/components/button/button.d.ts +1 -0
  243. package/dist/types/components/date-input/date-input.d.ts +2 -0
  244. package/dist/types/components/field-label/field-label.d.ts +1 -1
  245. package/dist/types/components/field-wrapper/field-wrapper.d.ts +1 -1
  246. package/dist/types/components/input/input.d.ts +2 -0
  247. package/dist/types/components/input/number-input.d.ts +2 -0
  248. package/dist/types/components/modal/test/modal.ct.d.ts +2 -1
  249. package/dist/types/components/select/select.d.ts +9 -8
  250. package/dist/types/components/utils/lazy-list/index.d.ts +2 -0
  251. package/dist/types/components/utils/lazy-list/lazy.d.ts +51 -0
  252. package/dist/types/components.d.ts +9 -3
  253. package/hydrate/index.js +499 -621
  254. package/package.json +1 -2
  255. package/dist/cjs/_commonjsHelpers-0192c5b3.js +0 -17
  256. package/dist/cjs/_commonjsHelpers-0192c5b3.js.map +0 -1
  257. package/dist/cjs/core-js-2fc351ee.js +0 -26
  258. package/dist/cjs/core-js-2fc351ee.js.map +0 -1
  259. package/dist/cjs/index-d2117dc0.js.map +0 -1
  260. package/dist/cjs/input.util-1c2fa43d.js.map +0 -1
  261. package/dist/esm/_commonjsHelpers-e557d4a5.js +0 -13
  262. package/dist/esm/_commonjsHelpers-e557d4a5.js.map +0 -1
  263. package/dist/esm/app-globals-ae0ca705.js +0 -7
  264. package/dist/esm/index-ad2af369.js.map +0 -1
  265. package/dist/esm/input.util-715860e3.js.map +0 -1
  266. package/dist/esm/modal-101eef04.js.map +0 -1
  267. package/dist/siemens-ix/p-0f0e7e14.entry.js +0 -2
  268. package/dist/siemens-ix/p-0f0e7e14.entry.js.map +0 -1
  269. package/dist/siemens-ix/p-23a4b81f.js +0 -2
  270. package/dist/siemens-ix/p-23a4b81f.js.map +0 -1
  271. package/dist/siemens-ix/p-2b226409.entry.js.map +0 -1
  272. package/dist/siemens-ix/p-424e8092.entry.js.map +0 -1
  273. package/dist/siemens-ix/p-45840cb9.js +0 -2
  274. package/dist/siemens-ix/p-45840cb9.js.map +0 -1
  275. package/dist/siemens-ix/p-4624a772.entry.js +0 -2
  276. package/dist/siemens-ix/p-4624a772.entry.js.map +0 -1
  277. package/dist/siemens-ix/p-50096707.js +0 -2
  278. package/dist/siemens-ix/p-5682e985.js +0 -2
  279. package/dist/siemens-ix/p-5db5a0b5.entry.js +0 -2
  280. package/dist/siemens-ix/p-5db5a0b5.entry.js.map +0 -1
  281. package/dist/siemens-ix/p-68bb2a09.entry.js.map +0 -1
  282. package/dist/siemens-ix/p-792e1c52.entry.js.map +0 -1
  283. package/dist/siemens-ix/p-79bb0d39.js +0 -2
  284. package/dist/siemens-ix/p-79bb0d39.js.map +0 -1
  285. package/dist/siemens-ix/p-857f99c8.entry.js +0 -2
  286. package/dist/siemens-ix/p-857f99c8.entry.js.map +0 -1
  287. package/dist/siemens-ix/p-9fe2759f.entry.js.map +0 -1
  288. package/dist/siemens-ix/p-a2200306.js +0 -4
  289. package/dist/siemens-ix/p-a427e6a2.js +0 -2
  290. package/dist/siemens-ix/p-a427e6a2.js.map +0 -1
  291. package/dist/siemens-ix/p-bded112a.entry.js +0 -2
  292. package/dist/siemens-ix/p-bded112a.entry.js.map +0 -1
  293. package/dist/siemens-ix/p-f7618d1d.entry.js +0 -2
  294. package/dist/siemens-ix/p-f7618d1d.entry.js.map +0 -1
  295. /package/dist/siemens-ix/{p-0dbc970e.entry.js.map → p-0b2f0536.entry.js.map} +0 -0
  296. /package/dist/siemens-ix/{p-044c2a7b.entry.js.map → p-18542846.entry.js.map} +0 -0
  297. /package/dist/siemens-ix/{p-d7aa00d6.js.map → p-3aaecbd9.js.map} +0 -0
  298. /package/dist/siemens-ix/{p-175599e4.entry.js.map → p-42320fb3.entry.js.map} +0 -0
  299. /package/dist/siemens-ix/{p-1f6df0c6.js.map → p-738c2d1f.js.map} +0 -0
  300. /package/dist/siemens-ix/{p-f35386ec.js.map → p-93d4d3c9.js.map} +0 -0
  301. /package/dist/siemens-ix/{p-9948574f.entry.js.map → p-97d4b3bd.entry.js.map} +0 -0
  302. /package/dist/siemens-ix/{p-6a4a2064.entry.js.map → p-9f960c0b.entry.js.map} +0 -0
  303. /package/dist/siemens-ix/{p-0c89cbcc.entry.js.map → p-a4dc6824.entry.js.map} +0 -0
  304. /package/dist/siemens-ix/{p-fe87443e.js.map → p-a6af13b0.js.map} +0 -0
  305. /package/dist/siemens-ix/{p-a3364116.entry.js.map → p-afb4565c.entry.js.map} +0 -0
  306. /package/dist/siemens-ix/{p-4c9b7548.entry.js.map → p-bc272f75.entry.js.map} +0 -0
  307. /package/dist/siemens-ix/{p-3205726a.entry.js.map → p-bfe469e4.entry.js.map} +0 -0
  308. /package/dist/siemens-ix/{p-5682e985.js.map → p-c3ca17fc.js.map} +0 -0
  309. /package/dist/siemens-ix/{p-50096707.js.map → p-d2f21544.js.map} +0 -0
  310. /package/dist/siemens-ix/{p-e9a37b3f.entry.js.map → p-ee0645f8.entry.js.map} +0 -0
  311. /package/dist/siemens-ix/{p-f39048a2.entry.js.map → p-fe396297.entry.js.map} +0 -0
@@ -0,0 +1,343 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2024 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
+ // Manually forked from https://github.com/tbranyen/hyperlist to remove
10
+ // features a direct document calls
11
+ //
12
+ // Hyperlist is licensed MIT. https://github.com/tbranyen/hyperlist
13
+ const isNumber = (input) => !Number.isNaN(Number(input));
14
+ const addClass = (element, className) => {
15
+ element.classList.add(className);
16
+ };
17
+ export class VirtualList {
18
+ static create(element, userProvidedConfig = VirtualList.defaultConfig) {
19
+ return new VirtualList(element, userProvidedConfig);
20
+ }
21
+ static mergeStyle(element, style) {
22
+ for (let i in style) {
23
+ if (element.style[i] !== style[i]) {
24
+ element.style[i] = style[i];
25
+ }
26
+ }
27
+ }
28
+ static getMaxBrowserHeight() {
29
+ // Create two elements, the wrapper is `1px` tall and is transparent and
30
+ // positioned at the top of the page. Inside that is an element that gets
31
+ // set to 1 billion pixels. Then reads the max height the browser can
32
+ // calculate.
33
+ const wrapper = document.createElement('div');
34
+ const fixture = document.createElement('div');
35
+ // As said above, these values get set to put the fixture elements into the
36
+ // right visual state.
37
+ VirtualList.mergeStyle(wrapper, {
38
+ position: 'absolute',
39
+ height: '1px',
40
+ opacity: 0,
41
+ });
42
+ VirtualList.mergeStyle(fixture, { height: '1e7px' });
43
+ // Add the fixture into the wrapper element.
44
+ wrapper.appendChild(fixture);
45
+ // Apply to the page, the values won't kick in unless this is attached.
46
+ document.body.appendChild(wrapper);
47
+ // Get the maximum element height in pixels.
48
+ const maxElementHeight = fixture.offsetHeight;
49
+ // Remove the element immediately after reading the value.
50
+ document.body.removeChild(wrapper);
51
+ return maxElementHeight;
52
+ }
53
+ constructor(element, userProvidedConfig) {
54
+ this._lastRepaint = null;
55
+ this._maxElementHeight = VirtualList.getMaxBrowserHeight();
56
+ this.refresh(element, userProvidedConfig);
57
+ const config = this._config;
58
+ // Create internal render loop.
59
+ const render = () => {
60
+ const scrollTop = this._getScrollPosition();
61
+ const lastRepaint = this._lastRepaint;
62
+ this._renderAnimationFrame = window.requestAnimationFrame(render);
63
+ if (scrollTop === lastRepaint) {
64
+ return;
65
+ }
66
+ const diff = lastRepaint ? scrollTop - lastRepaint : 0;
67
+ if (!lastRepaint || diff < 0 || diff > this._averageHeight) {
68
+ let rendered = this._renderChunk();
69
+ this._lastRepaint = scrollTop;
70
+ if (rendered !== false && typeof config.afterRender === 'function') {
71
+ config.afterRender();
72
+ }
73
+ }
74
+ };
75
+ render();
76
+ }
77
+ destroy() {
78
+ window.cancelAnimationFrame(this._renderAnimationFrame);
79
+ }
80
+ refresh(element, userProvidedConfig = VirtualList.defaultConfig) {
81
+ this._config = userProvidedConfig;
82
+ if (!element || element.nodeType !== 1) {
83
+ throw new Error('HyperList requires a valid DOM Node container');
84
+ }
85
+ this._element = element;
86
+ const config = this._config;
87
+ const scroller = this._scroller ||
88
+ config.scroller ||
89
+ document.createElement(config.scrollerTagName || 'tr');
90
+ // Default configuration option `useFragment` to `true`.
91
+ if (typeof config.useFragment !== 'boolean') {
92
+ this._config.useFragment = true;
93
+ }
94
+ if (!config.generate) {
95
+ throw new Error('Missing required `generate` function');
96
+ }
97
+ if (!isNumber(config.total)) {
98
+ throw new Error('Invalid required `total` value, expected number');
99
+ }
100
+ if (!Array.isArray(config.itemHeight) && !isNumber(config.itemHeight)) {
101
+ throw new Error(`
102
+ Invalid required \`itemHeight\` value, expected number or array
103
+ `.trim());
104
+ }
105
+ else if (isNumber(config.itemHeight)) {
106
+ this._itemHeights = Array(config.total).fill(config.itemHeight);
107
+ }
108
+ else {
109
+ this._itemHeights = [config.itemHeight];
110
+ }
111
+ // Width and height should be coerced to string representations. Either in
112
+ // `%` or `px`.
113
+ Object.keys(VirtualList.defaultConfig)
114
+ .filter((prop) => prop in config)
115
+ .forEach((prop) => {
116
+ const value = config[prop];
117
+ const isValueNumber = isNumber(value);
118
+ if (value && typeof value !== 'string' && typeof value !== 'number') {
119
+ let msg = `Invalid optional \`${prop}\`, expected string or number`;
120
+ throw new Error(msg);
121
+ }
122
+ else if (isValueNumber) {
123
+ config[prop] = `${value}px`;
124
+ }
125
+ });
126
+ const isHorizontal = Boolean(config.horizontal);
127
+ const value = config[isHorizontal ? 'width' : 'height'];
128
+ if (value) {
129
+ const isValueNumber = isNumber(value);
130
+ const isValuePercent = isValueNumber ? false : value.slice(-1) === '%';
131
+ // Compute the containerHeight as number
132
+ const numberValue = isValueNumber
133
+ ? parseInt(value, 10)
134
+ : parseInt(value.replace(/px|%/, ''), 10);
135
+ const innerSize = window[isHorizontal ? 'innerWidth' : 'innerHeight'];
136
+ if (isValuePercent) {
137
+ this._containerSize = (innerSize * numberValue) / 100;
138
+ }
139
+ else {
140
+ this._containerSize = isNumber(value) ? value : numberValue;
141
+ }
142
+ }
143
+ const scrollContainer = config.scrollContainer;
144
+ const scrollerHeight = config.itemHeight * config.total;
145
+ const maxElementHeight = this._maxElementHeight;
146
+ if (scrollerHeight > maxElementHeight) {
147
+ console.warn([
148
+ 'HyperList: The maximum element height',
149
+ maxElementHeight + 'px has',
150
+ 'been exceeded; please reduce your item height.',
151
+ ].join(' '));
152
+ }
153
+ // Decorate the container element with styles that will match
154
+ // the user supplied configuration.
155
+ const elementStyle = {
156
+ width: `${config.width}`,
157
+ height: scrollContainer ? `${scrollerHeight}px` : `${config.height}`,
158
+ overflow: scrollContainer ? 'none' : 'auto',
159
+ position: 'relative',
160
+ };
161
+ VirtualList.mergeStyle(element, elementStyle);
162
+ if (scrollContainer) {
163
+ VirtualList.mergeStyle(config.scrollContainer, { overflow: 'auto' });
164
+ }
165
+ const scrollerStyle = {
166
+ opacity: '0',
167
+ position: 'absolute',
168
+ [isHorizontal ? 'height' : 'width']: '1px',
169
+ [isHorizontal ? 'width' : 'height']: `${scrollerHeight}px`,
170
+ };
171
+ VirtualList.mergeStyle(scroller, scrollerStyle);
172
+ // Only append the scroller element once.
173
+ if (!this._scroller) {
174
+ element.appendChild(scroller);
175
+ }
176
+ const padding = this._computeScrollPadding();
177
+ this._scrollPaddingBottom = padding.bottom;
178
+ this._scrollPaddingTop = padding.top;
179
+ // Set the scroller instance.
180
+ this._scroller = scroller;
181
+ this._scrollHeight = this._computeScrollHeight();
182
+ // Reuse the item positions if refreshed, otherwise set to empty array.
183
+ this._itemPositions = this._itemPositions || Array(config.total).fill(0);
184
+ // Each index in the array should represent the position in the DOM.
185
+ this._computePositions(0);
186
+ // Render after refreshing. Force render if we're calling refresh manually.
187
+ this._renderChunk(this._lastRepaint !== null);
188
+ if (typeof config.afterRender === 'function') {
189
+ config.afterRender();
190
+ }
191
+ }
192
+ _getRow(i) {
193
+ const config = this._config;
194
+ let item = config.generate(i);
195
+ let height = item.height;
196
+ if (height !== undefined && isNumber(height)) {
197
+ item = item.element;
198
+ // The height isn't the same as predicted, compute positions again
199
+ if (height !== this._itemHeights[i]) {
200
+ this._itemHeights[i] = height;
201
+ this._computePositions(i);
202
+ this._scrollHeight = this._computeScrollHeight();
203
+ }
204
+ }
205
+ else {
206
+ height = this._itemHeights[i];
207
+ }
208
+ if (!item || item.nodeType !== 1) {
209
+ throw new Error(`Generator did not return a DOM Node for index: ${i}`);
210
+ }
211
+ addClass(item, config.rowClassName || 'vrow');
212
+ const top = this._itemPositions[i] + this._scrollPaddingTop;
213
+ VirtualList.mergeStyle(item, {
214
+ position: 'absolute',
215
+ [config.horizontal ? 'left' : 'top']: `${top}px`,
216
+ });
217
+ return item;
218
+ }
219
+ _getScrollPosition() {
220
+ const config = this._config;
221
+ if (typeof config.overrideScrollPosition === 'function') {
222
+ return config.overrideScrollPosition();
223
+ }
224
+ return this._element[config.horizontal ? 'scrollLeft' : 'scrollTop'];
225
+ }
226
+ _renderChunk(force = false) {
227
+ const config = this._config;
228
+ const element = this._element;
229
+ const scrollTop = this._getScrollPosition();
230
+ const total = config.total;
231
+ let from = this._getFrom(scrollTop) - 1;
232
+ if (from < 0 || from - this._screenItemsLen < 0) {
233
+ from = 0;
234
+ }
235
+ if (!force && this._lastFrom === from) {
236
+ return false;
237
+ }
238
+ this._lastFrom = from;
239
+ let to = from + this._cachedItemsLen;
240
+ if (to > total || to + this._cachedItemsLen > total) {
241
+ to = total;
242
+ }
243
+ // Append all the new rows in a document fragment that we will later append
244
+ // to the parent node
245
+ const fragment = config.useFragment
246
+ ? document.createDocumentFragment()
247
+ : [
248
+ // Sometimes you'll pass fake elements to this tool and Fragments require
249
+ // real elements.
250
+ ];
251
+ // The element that forces the container to scroll.
252
+ const scroller = this._scroller;
253
+ // Keep the scroller in the list of children.
254
+ fragment[config.useFragment ? 'appendChild' : 'push'](scroller);
255
+ for (let i = from; i < to; i++) {
256
+ let row = this._getRow(i);
257
+ fragment[config.useFragment ? 'appendChild' : 'push'](row);
258
+ }
259
+ if (config.applyPatch) {
260
+ return config.applyPatch(element, fragment);
261
+ }
262
+ element.innerHTML = '';
263
+ element.appendChild(fragment);
264
+ }
265
+ _computePositions(from = 1) {
266
+ const config = this._config;
267
+ const total = config.total;
268
+ if (from < 1) {
269
+ from = 1;
270
+ }
271
+ for (let i = from; i < total; i++) {
272
+ this._itemPositions[i] =
273
+ this._itemHeights[i - 1] + this._itemPositions[i - 1];
274
+ }
275
+ }
276
+ _computeScrollHeight() {
277
+ const config = this._config;
278
+ const isHorizontal = Boolean(config.horizontal);
279
+ const total = config.total;
280
+ const scrollHeight = this._itemHeights.reduce((a, b) => a + b, 0) +
281
+ this._scrollPaddingBottom +
282
+ this._scrollPaddingTop;
283
+ VirtualList.mergeStyle(this._scroller, {
284
+ opacity: 0,
285
+ position: 'absolute',
286
+ top: '0px',
287
+ [isHorizontal ? 'height' : 'width']: '1px',
288
+ [isHorizontal ? 'width' : 'height']: `${scrollHeight}px`,
289
+ });
290
+ // Calculate the height median
291
+ const sortedItemHeights = this._itemHeights.slice(0).sort((a, b) => a - b);
292
+ const middle = Math.floor(total / 2);
293
+ const averageHeight = total % 2 === 0
294
+ ? (sortedItemHeights[middle] + sortedItemHeights[middle - 1]) / 2
295
+ : sortedItemHeights[middle];
296
+ const clientProp = isHorizontal ? 'clientWidth' : 'clientHeight';
297
+ const element = config.scrollContainer
298
+ ? config.scrollContainer
299
+ : this._element;
300
+ const containerHeight = element[clientProp]
301
+ ? element[clientProp]
302
+ : this._containerSize;
303
+ this._screenItemsLen = Math.ceil(containerHeight / averageHeight);
304
+ this._containerSize = containerHeight;
305
+ // Cache 3 times the number of items that fit in the container viewport.
306
+ this._cachedItemsLen = Math.max(this._cachedItemsLen || 0, this._screenItemsLen * 3);
307
+ this._averageHeight = averageHeight;
308
+ return scrollHeight;
309
+ }
310
+ _computeScrollPadding() {
311
+ const config = this._config;
312
+ const isHoriz = Boolean(config.horizontal);
313
+ const styles = window.getComputedStyle(this._element);
314
+ const padding = (location) => {
315
+ const cssValue = styles.getPropertyValue(`padding-${location}`);
316
+ return parseInt(cssValue, 10) || 0;
317
+ };
318
+ if (isHoriz) {
319
+ return {
320
+ bottom: padding('right'),
321
+ top: padding('left'),
322
+ };
323
+ }
324
+ else {
325
+ return {
326
+ bottom: padding('bottom'),
327
+ top: padding('top'),
328
+ };
329
+ }
330
+ }
331
+ _getFrom(scrollTop) {
332
+ let i = 0;
333
+ while (this._itemPositions[i] < scrollTop) {
334
+ i++;
335
+ }
336
+ return i;
337
+ }
338
+ }
339
+ VirtualList.defaultConfig = {
340
+ width: '100%',
341
+ height: '100%',
342
+ };
343
+ //# sourceMappingURL=lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../../src/components/utils/lazy-list/lazy.ts"],"names":[],"mappings":"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","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// Manually forked from https://github.com/tbranyen/hyperlist to remove\n// features a direct document calls\n//\n// Hyperlist is licensed MIT. https://github.com/tbranyen/hyperlist\n\nexport type VirtualListConfig = {\n applyPatch?: (\n element: HTMLElement,\n fragment: DocumentFragment | DocumentFragment[]\n ) => void;\n overrideScrollPosition?: () => void;\n rowClassName?: string;\n scrollContainer?: HTMLElement;\n width: string;\n height: string;\n afterRender?: () => void;\n scrollerTagName?: string;\n scroller?: HTMLElement;\n useFragment?: boolean;\n generate?: (index: number) => HTMLElement;\n total?: number;\n itemHeight?: number;\n horizontal?: boolean;\n};\n\nconst isNumber = (input: unknown) => !Number.isNaN(Number(input));\n\nconst addClass = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n};\n\nexport class VirtualList {\n _config: VirtualListConfig;\n _lastRepaint: null;\n _maxElementHeight: number;\n _renderAnimationFrame: number;\n _averageHeight: number;\n\n static readonly defaultConfig: VirtualListConfig = {\n width: '100%',\n height: '100%',\n };\n _element: any;\n _scroller: any;\n _itemHeights: number[];\n _containerSize: number | string;\n _scrollPaddingBottom: number;\n _scrollPaddingTop: number;\n _scrollHeight: any;\n _itemPositions: any;\n _screenItemsLen: number;\n _lastFrom: number;\n _cachedItemsLen: any;\n\n static create(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n return new VirtualList(element, userProvidedConfig);\n }\n\n static mergeStyle(element: HTMLElement, style) {\n for (let i in style) {\n if (element.style[i] !== style[i]) {\n element.style[i] = style[i];\n }\n }\n }\n\n static getMaxBrowserHeight() {\n // Create two elements, the wrapper is `1px` tall and is transparent and\n // positioned at the top of the page. Inside that is an element that gets\n // set to 1 billion pixels. Then reads the max height the browser can\n // calculate.\n const wrapper = document.createElement('div');\n const fixture = document.createElement('div');\n\n // As said above, these values get set to put the fixture elements into the\n // right visual state.\n VirtualList.mergeStyle(wrapper, {\n position: 'absolute',\n height: '1px',\n opacity: 0,\n });\n VirtualList.mergeStyle(fixture, { height: '1e7px' });\n\n // Add the fixture into the wrapper element.\n wrapper.appendChild(fixture);\n\n // Apply to the page, the values won't kick in unless this is attached.\n document.body.appendChild(wrapper);\n\n // Get the maximum element height in pixels.\n const maxElementHeight = fixture.offsetHeight;\n\n // Remove the element immediately after reading the value.\n document.body.removeChild(wrapper);\n\n return maxElementHeight;\n }\n\n constructor(element: HTMLElement, userProvidedConfig: VirtualListConfig) {\n this._lastRepaint = null;\n this._maxElementHeight = VirtualList.getMaxBrowserHeight();\n\n this.refresh(element, userProvidedConfig);\n\n const config = this._config;\n\n // Create internal render loop.\n const render = () => {\n const scrollTop = this._getScrollPosition();\n const lastRepaint = this._lastRepaint;\n\n this._renderAnimationFrame = window.requestAnimationFrame(render);\n\n if (scrollTop === lastRepaint) {\n return;\n }\n\n const diff = lastRepaint ? scrollTop - lastRepaint : 0;\n if (!lastRepaint || diff < 0 || diff > this._averageHeight) {\n let rendered = this._renderChunk();\n\n this._lastRepaint = scrollTop;\n\n if (rendered !== false && typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n };\n\n render();\n }\n\n destroy() {\n window.cancelAnimationFrame(this._renderAnimationFrame);\n }\n\n refresh(\n element: HTMLElement,\n userProvidedConfig: VirtualListConfig = VirtualList.defaultConfig\n ) {\n this._config = userProvidedConfig;\n\n if (!element || element.nodeType !== 1) {\n throw new Error('HyperList requires a valid DOM Node container');\n }\n\n this._element = element;\n\n const config = this._config;\n\n const scroller =\n this._scroller ||\n config.scroller ||\n document.createElement(config.scrollerTagName || 'tr');\n\n // Default configuration option `useFragment` to `true`.\n if (typeof config.useFragment !== 'boolean') {\n this._config.useFragment = true;\n }\n\n if (!config.generate) {\n throw new Error('Missing required `generate` function');\n }\n\n if (!isNumber(config.total)) {\n throw new Error('Invalid required `total` value, expected number');\n }\n\n if (!Array.isArray(config.itemHeight) && !isNumber(config.itemHeight)) {\n throw new Error(\n `\n Invalid required \\`itemHeight\\` value, expected number or array\n `.trim()\n );\n } else if (isNumber(config.itemHeight)) {\n this._itemHeights = Array(config.total).fill(config.itemHeight);\n } else {\n this._itemHeights = [config.itemHeight];\n }\n\n // Width and height should be coerced to string representations. Either in\n // `%` or `px`.\n Object.keys(VirtualList.defaultConfig)\n .filter((prop) => prop in config)\n .forEach((prop) => {\n const value = config[prop];\n const isValueNumber = isNumber(value);\n\n if (value && typeof value !== 'string' && typeof value !== 'number') {\n let msg = `Invalid optional \\`${prop}\\`, expected string or number`;\n throw new Error(msg);\n } else if (isValueNumber) {\n config[prop] = `${value}px`;\n }\n });\n\n const isHorizontal = Boolean(config.horizontal);\n const value = config[isHorizontal ? 'width' : 'height'];\n\n if (value) {\n const isValueNumber = isNumber(value);\n const isValuePercent = isValueNumber ? false : value.slice(-1) === '%';\n // Compute the containerHeight as number\n const numberValue = isValueNumber\n ? parseInt(value, 10)\n : parseInt(value.replace(/px|%/, ''), 10);\n const innerSize = window[isHorizontal ? 'innerWidth' : 'innerHeight'];\n\n if (isValuePercent) {\n this._containerSize = (innerSize * numberValue) / 100;\n } else {\n this._containerSize = isNumber(value) ? value : numberValue;\n }\n }\n\n const scrollContainer = config.scrollContainer;\n const scrollerHeight = config.itemHeight * config.total;\n const maxElementHeight = this._maxElementHeight;\n\n if (scrollerHeight > maxElementHeight) {\n console.warn(\n [\n 'HyperList: The maximum element height',\n maxElementHeight + 'px has',\n 'been exceeded; please reduce your item height.',\n ].join(' ')\n );\n }\n\n // Decorate the container element with styles that will match\n // the user supplied configuration.\n const elementStyle = {\n width: `${config.width}`,\n height: scrollContainer ? `${scrollerHeight}px` : `${config.height}`,\n overflow: scrollContainer ? 'none' : 'auto',\n position: 'relative',\n };\n\n VirtualList.mergeStyle(element, elementStyle);\n\n if (scrollContainer) {\n VirtualList.mergeStyle(config.scrollContainer, { overflow: 'auto' });\n }\n\n const scrollerStyle = {\n opacity: '0',\n position: 'absolute',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollerHeight}px`,\n };\n\n VirtualList.mergeStyle(scroller, scrollerStyle);\n\n // Only append the scroller element once.\n if (!this._scroller) {\n element.appendChild(scroller);\n }\n\n const padding = this._computeScrollPadding();\n this._scrollPaddingBottom = padding.bottom;\n this._scrollPaddingTop = padding.top;\n\n // Set the scroller instance.\n this._scroller = scroller;\n this._scrollHeight = this._computeScrollHeight();\n\n // Reuse the item positions if refreshed, otherwise set to empty array.\n this._itemPositions = this._itemPositions || Array(config.total).fill(0);\n\n // Each index in the array should represent the position in the DOM.\n this._computePositions(0);\n\n // Render after refreshing. Force render if we're calling refresh manually.\n this._renderChunk(this._lastRepaint !== null);\n\n if (typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n\n _getRow(i) {\n const config = this._config;\n let item = config.generate(i) as any;\n let height = item.height;\n\n if (height !== undefined && isNumber(height)) {\n item = item.element;\n\n // The height isn't the same as predicted, compute positions again\n if (height !== this._itemHeights[i]) {\n this._itemHeights[i] = height;\n this._computePositions(i);\n this._scrollHeight = this._computeScrollHeight();\n }\n } else {\n height = this._itemHeights[i];\n }\n\n if (!item || item.nodeType !== 1) {\n throw new Error(`Generator did not return a DOM Node for index: ${i}`);\n }\n\n addClass(item, config.rowClassName || 'vrow');\n\n const top = this._itemPositions[i] + this._scrollPaddingTop;\n\n VirtualList.mergeStyle(item, {\n position: 'absolute',\n [config.horizontal ? 'left' : 'top']: `${top}px`,\n });\n\n return item;\n }\n\n _getScrollPosition() {\n const config = this._config;\n\n if (typeof config.overrideScrollPosition === 'function') {\n return config.overrideScrollPosition();\n }\n\n return this._element[config.horizontal ? 'scrollLeft' : 'scrollTop'];\n }\n\n _renderChunk(force: boolean = false) {\n const config = this._config;\n const element = this._element;\n const scrollTop = this._getScrollPosition();\n const total = config.total;\n\n let from = this._getFrom(scrollTop) - 1;\n\n if (from < 0 || from - this._screenItemsLen < 0) {\n from = 0;\n }\n\n if (!force && this._lastFrom === from) {\n return false;\n }\n\n this._lastFrom = from;\n\n let to = from + this._cachedItemsLen;\n\n if (to > total || to + this._cachedItemsLen > total) {\n to = total;\n }\n\n // Append all the new rows in a document fragment that we will later append\n // to the parent node\n const fragment = config.useFragment\n ? document.createDocumentFragment()\n : [\n // Sometimes you'll pass fake elements to this tool and Fragments require\n // real elements.\n ];\n\n // The element that forces the container to scroll.\n const scroller = this._scroller;\n\n // Keep the scroller in the list of children.\n fragment[config.useFragment ? 'appendChild' : 'push'](scroller);\n\n for (let i = from; i < to; i++) {\n let row = this._getRow(i);\n\n fragment[config.useFragment ? 'appendChild' : 'push'](row);\n }\n\n if (config.applyPatch) {\n return config.applyPatch(element, fragment);\n }\n\n element.innerHTML = '';\n element.appendChild(fragment);\n }\n\n _computePositions(from = 1) {\n const config = this._config;\n const total = config.total;\n\n if (from < 1) {\n from = 1;\n }\n\n for (let i = from; i < total; i++) {\n this._itemPositions[i] =\n this._itemHeights[i - 1] + this._itemPositions[i - 1];\n }\n }\n\n _computeScrollHeight() {\n const config = this._config;\n const isHorizontal = Boolean(config.horizontal);\n const total = config.total;\n const scrollHeight =\n this._itemHeights.reduce((a, b) => a + b, 0) +\n this._scrollPaddingBottom +\n this._scrollPaddingTop;\n\n VirtualList.mergeStyle(this._scroller, {\n opacity: 0,\n position: 'absolute',\n top: '0px',\n [isHorizontal ? 'height' : 'width']: '1px',\n [isHorizontal ? 'width' : 'height']: `${scrollHeight}px`,\n });\n\n // Calculate the height median\n const sortedItemHeights = this._itemHeights.slice(0).sort((a, b) => a - b);\n const middle = Math.floor(total / 2);\n const averageHeight =\n total % 2 === 0\n ? (sortedItemHeights[middle] + sortedItemHeights[middle - 1]) / 2\n : sortedItemHeights[middle];\n\n const clientProp = isHorizontal ? 'clientWidth' : 'clientHeight';\n const element = config.scrollContainer\n ? config.scrollContainer\n : this._element;\n const containerHeight = element[clientProp]\n ? element[clientProp]\n : this._containerSize;\n this._screenItemsLen = Math.ceil(containerHeight / averageHeight);\n this._containerSize = containerHeight;\n\n // Cache 3 times the number of items that fit in the container viewport.\n this._cachedItemsLen = Math.max(\n this._cachedItemsLen || 0,\n this._screenItemsLen * 3\n );\n this._averageHeight = averageHeight;\n\n return scrollHeight;\n }\n\n _computeScrollPadding() {\n const config = this._config;\n const isHoriz = Boolean(config.horizontal);\n const styles = window.getComputedStyle(this._element);\n\n const padding = (location: string) => {\n const cssValue = styles.getPropertyValue(`padding-${location}`);\n return parseInt(cssValue, 10) || 0;\n };\n\n if (isHoriz) {\n return {\n bottom: padding('right'),\n top: padding('left'),\n };\n } else {\n return {\n bottom: padding('bottom'),\n top: padding('top'),\n };\n }\n }\n\n _getFrom(scrollTop: number) {\n let i = 0;\n\n while (this._itemPositions[i] < scrollTop) {\n i++;\n }\n\n return i;\n }\n}\n"]}
@@ -67,6 +67,12 @@ export async function showModal(config) {
67
67
  onDismiss.emit(detail);
68
68
  await delegate.removeView(dialogRef);
69
69
  });
70
+ requestAnimationFrame(() => {
71
+ const autofocusElement = dialogRef.querySelector('[autofocus],[auto-focus]');
72
+ if (autofocusElement) {
73
+ autofocusElement.focus();
74
+ }
75
+ });
70
76
  return {
71
77
  htmlElement: dialogRef,
72
78
  onClose,
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/utils/modal/modal.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxModalSize } from '../../modal/modal';\nimport { getCoreDelegate, resolveDelegate } from '../delegate';\nimport { TypedEvent } from '../typed-event';\n\nexport function setA11yAttributes(element: HTMLElement, config: ModalConfig) {\n const ariaDescribedby = config.ariaDescribedby;\n const ariaLabelledby = config.ariaLabelledby;\n\n delete config['ariaDescribedby'];\n delete config['ariaLabelledby'];\n\n if (ariaDescribedby) {\n element.setAttribute('aria-describedby', ariaDescribedby);\n }\n\n if (ariaLabelledby) {\n element.setAttribute('aria-labelledby', ariaLabelledby);\n }\n}\n\nexport interface ModalConfig<TReason = any, CONTENT = any> {\n animation?: boolean;\n ariaDescribedby?: string;\n ariaLabelledby?: string;\n backdrop?: boolean;\n closeOnBackdropClick?: boolean;\n beforeDismiss?: (reason?: TReason) => boolean | Promise<boolean>;\n centered?: boolean;\n container?: string | HTMLElement;\n content: CONTENT | string;\n keyboard?: boolean;\n size?: IxModalSize;\n title?: string;\n}\n\nexport interface ModalInstance<TReason = any> {\n htmlElement: HTMLIxModalElement;\n onClose: TypedEvent<TReason>;\n onDismiss: TypedEvent<TReason>;\n}\n\nfunction getIxModal(element: Element) {\n return element.closest('ix-modal');\n}\n\nexport function closeModal<TClose = any>(\n element: Element,\n closeResult: TClose\n) {\n const dialog = getIxModal(element);\n if (dialog) {\n dialog.closeModal(closeResult);\n return;\n }\n}\n\nexport function dismissModal(element: Element, dismissResult?: any) {\n const dialog = getIxModal(element);\n if (dialog) {\n dialog.dismissModal(dismissResult);\n return;\n }\n}\n\nexport async function showModal<T>(\n config: ModalConfig<T>\n): Promise<ModalInstance<T>> {\n const delegate = resolveDelegate();\n let dialogRef: HTMLIxModalElement;\n const onClose = new TypedEvent<T>();\n const onDismiss = new TypedEvent<T>();\n\n if (typeof config.content === 'string') {\n const dialog = document.createElement('ix-modal');\n dialog.innerText = config.content;\n dialogRef = await getCoreDelegate().attachView(dialog);\n }\n\n if (\n config.content instanceof HTMLElement &&\n config.content.tagName !== 'IX-MODAL'\n ) {\n const dialog = document.createElement('ix-modal');\n dialog.appendChild(config.content);\n dialogRef = await getCoreDelegate().attachView(dialog);\n }\n if (!dialogRef) {\n dialogRef = await delegate.attachView<HTMLIxModalElement>(config.content);\n }\n\n setA11yAttributes(dialogRef, config);\n Object.assign(dialogRef, config);\n\n await dialogRef.showModal();\n dialogRef.addEventListener('dialogClose', async ({ detail }: CustomEvent) => {\n onClose.emit(detail);\n await delegate.removeView(dialogRef);\n });\n\n dialogRef.addEventListener(\n 'dialogDismiss',\n async ({ detail }: CustomEvent) => {\n onDismiss.emit(detail);\n await delegate.removeView(dialogRef);\n }\n );\n\n return {\n htmlElement: dialogRef,\n onClose,\n onDismiss,\n };\n}\n"]}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../../src/components/utils/modal/modal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,MAAmB;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAE7C,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEhC,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAuBD,SAAS,UAAU,CAAC,OAAgB;IAClC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,WAAmB;IAEnB,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,aAAmB;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB;IAEtB,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,SAAyC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,UAAU,EAAK,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,UAAU,EAAK,CAAC;IAEtC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,IACE,MAAM,CAAC,OAAO,YAAY,WAAW;QACrC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,EACrC,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAqB,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEjC,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAe,EAAE,EAAE;QAC1E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,gBAAgB,CACxB,eAAe,EACf,KAAK,EAAE,EAAE,MAAM,EAAe,EAAE,EAAE;QAChC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IAEF,qBAAqB,CAAC,GAAG,EAAE;QACzB,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,CAC9C,0BAA0B,CAC3B,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACpB,gBAAwC,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxModalSize } from '../../modal/modal';\nimport { getCoreDelegate, resolveDelegate } from '../delegate';\nimport { TypedEvent } from '../typed-event';\n\nexport function setA11yAttributes(element: HTMLElement, config: ModalConfig) {\n const ariaDescribedby = config.ariaDescribedby;\n const ariaLabelledby = config.ariaLabelledby;\n\n delete config['ariaDescribedby'];\n delete config['ariaLabelledby'];\n\n if (ariaDescribedby) {\n element.setAttribute('aria-describedby', ariaDescribedby);\n }\n\n if (ariaLabelledby) {\n element.setAttribute('aria-labelledby', ariaLabelledby);\n }\n}\n\nexport interface ModalConfig<TReason = any, CONTENT = any> {\n animation?: boolean;\n ariaDescribedby?: string;\n ariaLabelledby?: string;\n backdrop?: boolean;\n closeOnBackdropClick?: boolean;\n beforeDismiss?: (reason?: TReason) => boolean | Promise<boolean>;\n centered?: boolean;\n container?: string | HTMLElement;\n content: CONTENT | string;\n keyboard?: boolean;\n size?: IxModalSize;\n title?: string;\n}\n\nexport interface ModalInstance<TReason = any> {\n htmlElement: HTMLIxModalElement;\n onClose: TypedEvent<TReason>;\n onDismiss: TypedEvent<TReason>;\n}\n\nfunction getIxModal(element: Element) {\n return element.closest('ix-modal');\n}\n\nexport function closeModal<TClose = any>(\n element: Element,\n closeResult: TClose\n) {\n const dialog = getIxModal(element);\n if (dialog) {\n dialog.closeModal(closeResult);\n return;\n }\n}\n\nexport function dismissModal(element: Element, dismissResult?: any) {\n const dialog = getIxModal(element);\n if (dialog) {\n dialog.dismissModal(dismissResult);\n return;\n }\n}\n\nexport async function showModal<T>(\n config: ModalConfig<T>\n): Promise<ModalInstance<T>> {\n const delegate = resolveDelegate();\n let dialogRef: HTMLIxModalElement | undefined;\n const onClose = new TypedEvent<T>();\n const onDismiss = new TypedEvent<T>();\n\n if (typeof config.content === 'string') {\n const dialog = document.createElement('ix-modal');\n dialog.innerText = config.content;\n dialogRef = await getCoreDelegate().attachView(dialog);\n }\n\n if (\n config.content instanceof HTMLElement &&\n config.content.tagName !== 'IX-MODAL'\n ) {\n const dialog = document.createElement('ix-modal');\n dialog.appendChild(config.content);\n dialogRef = await getCoreDelegate().attachView(dialog);\n }\n if (!dialogRef) {\n dialogRef = await delegate.attachView<HTMLIxModalElement>(config.content);\n }\n\n setA11yAttributes(dialogRef, config);\n Object.assign(dialogRef, config);\n\n await dialogRef.showModal();\n dialogRef.addEventListener('dialogClose', async ({ detail }: CustomEvent) => {\n onClose.emit(detail);\n await delegate.removeView(dialogRef);\n });\n\n dialogRef.addEventListener(\n 'dialogDismiss',\n async ({ detail }: CustomEvent) => {\n onDismiss.emit(detail);\n await delegate.removeView(dialogRef);\n }\n );\n\n requestAnimationFrame(() => {\n const autofocusElement = dialogRef.querySelector(\n '[autofocus],[auto-focus]'\n );\n\n if (autofocusElement) {\n (autofocusElement as HTMLIxButtonElement).focus();\n }\n });\n\n return {\n htmlElement: dialogRef,\n onClose,\n onDismiss,\n };\n}\n"]}
@@ -135,13 +135,13 @@ export class ValidationTooltip {
135
135
  }
136
136
  render() {
137
137
  var _a, _b;
138
- return (h(Host, { key: 'a7c567c374504ae7465ed32cf3baec6a286038ad' }, h("slot", { key: 'c2e5e2095c1c531b80e2e1ee6f679d7ee795f940' }), h("div", { key: '9270d9a3615c623ba683f8def7596c193c2219f6', role: "tooltip", style: {
138
+ return (h(Host, { key: '460aa78f5dd3391a92b14828692f2fa110793b13' }, h("slot", { key: '37e66c6a6bc556d95717378e974a0f991317e66f' }), h("div", { key: 'cde0b66e90021043c49614a8b76a97e07b72d318', role: "tooltip", style: {
139
139
  display: 'none',
140
140
  position: 'fixed',
141
141
  top: '0',
142
142
  left: '0',
143
143
  transform: `translate(${Math.round(((_a = this.tooltipPosition) === null || _a === void 0 ? void 0 : _a.x) || 0)}px,${Math.round(((_b = this.tooltipPosition) === null || _b === void 0 ? void 0 : _b.y) || 0)}px)`,
144
- }, class: "validation-tooltip text-default" }, this.message, h("slot", { key: 'b3853acb6a7b9807460884e65aecd5502f18853c', name: "tooltip-message" }), h("div", { key: 'f420e4b62b79cb14dc94e5552ba2ea012d274e83', id: "arrow" }))));
144
+ }, class: "validation-tooltip text-default" }, this.message, h("slot", { key: 'b933fa0044dda7b423ed095c1c6f142bd4cbb32b', name: "tooltip-message" }), h("div", { key: '26fd0871dee60e14fc3a4c4c8fb42afb67758cd4', id: "arrow" }))));
145
145
  }
146
146
  static get is() { return "ix-validation-tooltip"; }
147
147
  static get encapsulation() { return "shadow"; }
@@ -70,18 +70,18 @@ export class WorkflowStep {
70
70
  }
71
71
  render() {
72
72
  const icons = !this.customIconSlot ? (h(Fragment, null, h("ix-icon", { color: "color-1", name: this.iconName === 'warning' ? 'triangle-filled' : 'circle-filled', class: "absolute", size: "24" }), h("ix-icon", { color: this.iconColor, name: this.iconName, class: "absolute", size: "24" }))) : null;
73
- return (h(Host, { key: 'dfef5de6ba87c5215d96526679a96fe51ceaeaa8', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '86892c228e9a43bd73d14475199dde851080b71a', tabIndex: 0, class: {
73
+ return (h(Host, { key: 'c7a9468843919209ac0aea64ec545b06b1ff1c94', class: { 'host-vertical': this.vertical }, onClick: () => this.onStepClick() }, h("div", { key: '8ed70b6fe5c65b483da3fbf557dc175bc7c3d526', tabIndex: 0, class: {
74
74
  step: true,
75
75
  selected: this.selected,
76
76
  vertical: this.vertical,
77
77
  disabled: this.disabled,
78
78
  clickable: this.clickable && !this.disabled,
79
- } }, h("div", { key: '757a08cd0fd27e11b64cdf5b589ff1fdb304b0bb', class: "wrapper" }, h("div", { key: '75385ba1e0ecbeee170685880c9301ad1d28958a', class: {
79
+ } }, h("div", { key: '11667e23f833fc8a05092d13e1df7d3eef0b7e10', class: "wrapper" }, h("div", { key: '0861c819a27d729817f5394c2e79772a38930f5d', class: {
80
80
  line: true,
81
81
  selected: this.selected,
82
82
  [this.status]: true,
83
83
  [this.position]: true,
84
- } }), h("div", { key: '7ec8eb93ab1547766b3fb5b30d4f341877ab941c', class: "iconWrapper" }, icons, h("slot", { key: 'f71aca96785073d647f977c95c8cdcc6fe654410', name: "custom-icon" }))), h("div", { key: '614c89c615bef9e1c13fe17ea6e712b573cebdc6', class: "text" }, h("slot", { key: '3025c556cdf6fcbc422c675a85cf9d524b8ee19d' })))));
84
+ } }), h("div", { key: '1a60733de3019590a691c9d46db45369a8b8eca6', class: "iconWrapper" }, icons, h("slot", { key: '031bc2ce3930fb0692bad430e54fffda8d609997', name: "custom-icon" }))), h("div", { key: 'b6dec2578d5517d27c255460d089221f0e2a6ea2', class: "text" }, h("slot", { key: 'dbeb4ebe5075bb2fa92b93978b6864b05154791f' })))));
85
85
  }
86
86
  static get is() { return "ix-workflow-step"; }
87
87
  static get encapsulation() { return "shadow"; }
@@ -72,7 +72,7 @@ export class WorkflowSteps {
72
72
  this.updateSteps();
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: '052bc92640371b56974c12c8b07b49cc24233a4f' }, h("div", { key: '00d19de2fda034b1024c0a793e46ad401eed46ee', class: { steps: true, vertical: this.vertical } }, h("slot", { key: '4a6a73538d83c4d8f49c2404dadc5e130e6ba6e7' }))));
75
+ return (h(Host, { key: '66d54af6c64b30b77aeb613c12fca16b9f4db815' }, h("div", { key: 'c808cfa588110a8df4d2266cc55e6211a0afb697', class: { steps: true, vertical: this.vertical } }, h("slot", { key: 'f713ffae56fdb063c5161965581f19eaef5798d3' }))));
76
76
  }
77
77
  static get is() { return "ix-workflow-steps"; }
78
78
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * SPDX-FileCopyrightText: 2024 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
+ import { expect } from "@playwright/test";
10
+ import { regressionTest } from "../utils/test/index";
11
+ regressionTest.describe('html-tags', () => {
12
+ regressionTest('basic', async ({ page }) => {
13
+ await page.goto('html-tags/basic');
14
+ expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
15
+ });
16
+ });
17
+ //# sourceMappingURL=html-tags.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-tags.e2e.js","sourceRoot":"","sources":["../../../src/tests/html-tags/html-tags.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACxC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","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 { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('html-tags', () => {\n regressionTest('basic', async ({ page }) => {\n await page.goto('html-tags/basic');\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n"]}
@@ -0,0 +1,7 @@
1
+ import { a as appGlobalScript } from './setup-9c5fe321.js';
2
+
3
+ const globalScripts = appGlobalScript;
4
+
5
+ export { globalScripts as g };
6
+
7
+ //# sourceMappingURL=app-globals-40082a83.js.map
@@ -1 +1 @@
1
- {"file":"app-globals-ae0ca705.js","mappings":";;AACY,MAAC,aAAa,GAAG;;;;","names":[],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["import appGlobalScript from '/home/runner/work/ix/ix/packages/core/src/setup.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
1
+ {"file":"app-globals-40082a83.js","mappings":";;AACY,MAAC,aAAa,GAAG;;;;","names":[],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["import appGlobalScript from '/home/runner/work/ix/ix/packages/core/src/setup.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { a as commonjsGlobal } from './_commonjsHelpers-e557d4a5.js';
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
2
 
3
3
  var coreJs$1 = {};
4
4
 
@@ -21,4 +21,4 @@ const coreJs = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.assign(/*#__PURE__
21
21
 
22
22
  export { coreJs as c };
23
23
 
24
- //# sourceMappingURL=core-js-78b486a8.js.map
24
+ //# sourceMappingURL=core-js-4a847feb.js.map