@siemens/ix-icons 0.0.0-20250114162200 → 0.0.0-pr-69-20250130132918

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1094) hide show
  1. package/README.md +0 -15
  2. package/components/icon.js +31 -4
  3. package/components/icon.js.map +1 -1
  4. package/components/index.js +1 -1
  5. package/dist/cjs/{icon-7938bd17.js → icon-2c9dc943.js} +34 -6
  6. package/dist/cjs/icon-2c9dc943.js.map +1 -0
  7. package/dist/cjs/{index-12b9d30e.js → index-ea94711c.js} +9 -10
  8. package/dist/cjs/index-ea94711c.js.map +1 -0
  9. package/dist/cjs/index.cjs.js +4 -3
  10. package/dist/cjs/index.cjs.js.map +1 -1
  11. package/dist/cjs/ix-icon.cjs.entry.js +2 -2
  12. package/dist/cjs/ix-icons.cjs.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/components/icon/icon.js +1 -1
  15. package/dist/collection/components/icon/icon.js.map +1 -1
  16. package/dist/collection/components/icon/icons.js +503 -63
  17. package/dist/collection/components/icon/icons.js.map +1 -1
  18. package/dist/collection/components/icon/resolveIcon.js +29 -2
  19. package/dist/collection/components/icon/resolveIcon.js.map +1 -1
  20. package/dist/collection/index.js +1 -1
  21. package/dist/collection/index.js.map +1 -1
  22. package/dist/esm/{icon-7346da2f.js → icon-e3f6595d.js} +33 -6
  23. package/dist/esm/icon-e3f6595d.js.map +1 -0
  24. package/dist/esm/{index-05493327.js → index-050dd9d6.js} +9 -10
  25. package/dist/esm/index-050dd9d6.js.map +1 -0
  26. package/dist/esm/index.js +2 -2
  27. package/dist/esm/ix-icon.entry.js +2 -2
  28. package/dist/esm/ix-icons.js +2 -2
  29. package/dist/esm/loader.js +2 -2
  30. package/dist/ix-icons/index.esm.js +1 -1
  31. package/dist/ix-icons/ix-icons.esm.js +1 -1
  32. package/dist/ix-icons/{p-20132e89.js → p-0194ffaa.js} +3 -3
  33. package/dist/ix-icons/p-0194ffaa.js.map +1 -0
  34. package/dist/ix-icons/p-196f504a.js +2 -0
  35. package/dist/ix-icons/p-196f504a.js.map +1 -0
  36. package/dist/ix-icons/p-45457b43.entry.js +2 -0
  37. package/dist/ix-icons/svg/add-circle-small-filled.svg +1 -0
  38. package/dist/ix-icons/svg/add-circle-small.svg +1 -0
  39. package/dist/ix-icons/svg/agent-filled.svg +1 -0
  40. package/dist/ix-icons/svg/agent.svg +1 -0
  41. package/dist/ix-icons/svg/ai.svg +1 -1
  42. package/dist/ix-icons/svg/alarm-clock-cancelled.svg +1 -1
  43. package/dist/ix-icons/svg/align-center-horizontally.svg +1 -0
  44. package/dist/ix-icons/svg/align-center-vertically.svg +1 -0
  45. package/dist/ix-icons/svg/align-object-dimensions.svg +1 -0
  46. package/dist/ix-icons/svg/align-object-height.svg +1 -0
  47. package/dist/ix-icons/svg/align-object-width.svg +1 -0
  48. package/dist/ix-icons/svg/align-objects-bottom.svg +1 -0
  49. package/dist/ix-icons/svg/align-objects-centered.svg +1 -0
  50. package/dist/ix-icons/svg/align-objects-horizontally.svg +1 -0
  51. package/dist/ix-icons/svg/align-objects-left.svg +1 -0
  52. package/dist/ix-icons/svg/align-objects-right.svg +1 -0
  53. package/dist/ix-icons/svg/align-objects-top.svg +1 -0
  54. package/dist/ix-icons/svg/align-objects-vertically.svg +1 -0
  55. package/dist/ix-icons/svg/align-objects.svg +1 -0
  56. package/dist/ix-icons/svg/analysis-filled.svg +1 -0
  57. package/dist/ix-icons/svg/analysis.svg +1 -0
  58. package/dist/ix-icons/svg/anomaly-none.svg +1 -0
  59. package/dist/ix-icons/svg/app-document-filled.svg +1 -0
  60. package/dist/ix-icons/svg/app-document.svg +1 -0
  61. package/dist/ix-icons/svg/application-screen-alarm-classes.svg +1 -0
  62. package/dist/ix-icons/svg/application-screen-globe.svg +1 -0
  63. package/dist/ix-icons/svg/application-screen-play.svg +1 -0
  64. package/dist/ix-icons/svg/application-screens.svg +1 -0
  65. package/dist/ix-icons/svg/archive-document-filled.svg +1 -0
  66. package/dist/ix-icons/svg/archive-document.svg +1 -0
  67. package/dist/ix-icons/svg/areachart.svg +1 -0
  68. package/dist/ix-icons/svg/arrow-up-left.svg +1 -0
  69. package/dist/ix-icons/svg/aspects-filled.svg +1 -0
  70. package/dist/ix-icons/svg/aspects.svg +1 -0
  71. package/dist/ix-icons/svg/asset-network-filled.svg +1 -0
  72. package/dist/ix-icons/svg/asset-network.svg +1 -0
  73. package/dist/ix-icons/svg/asterisk.svg +1 -0
  74. package/dist/ix-icons/svg/axes-synchronous.svg +1 -0
  75. package/dist/ix-icons/svg/axis-positioning.svg +1 -0
  76. package/dist/ix-icons/svg/axis-rotation.svg +1 -0
  77. package/dist/ix-icons/svg/barchart-horizontal.svg +1 -0
  78. package/dist/ix-icons/svg/barchart.svg +1 -1
  79. package/dist/ix-icons/svg/bilibili-logo.svg +1 -0
  80. package/dist/ix-icons/svg/box-plot-filled.svg +1 -0
  81. package/dist/ix-icons/svg/box-plot.svg +1 -0
  82. package/dist/ix-icons/svg/bring-forward.svg +1 -0
  83. package/dist/ix-icons/svg/bring-to-front.svg +1 -0
  84. package/dist/ix-icons/svg/brush.svg +1 -0
  85. package/dist/ix-icons/svg/building-block-filled.svg +1 -0
  86. package/dist/ix-icons/svg/building-block.svg +1 -0
  87. package/dist/ix-icons/svg/calendar-day-filled.svg +1 -0
  88. package/dist/ix-icons/svg/calendar-day.svg +1 -0
  89. package/dist/ix-icons/svg/calendar-week-filled.svg +1 -0
  90. package/dist/ix-icons/svg/calendar-week.svg +1 -0
  91. package/dist/ix-icons/svg/cam-disk-10k.svg +1 -0
  92. package/dist/ix-icons/svg/cam-disk.svg +1 -0
  93. package/dist/ix-icons/svg/cam-track.svg +1 -0
  94. package/dist/ix-icons/svg/cam.svg +1 -0
  95. package/dist/ix-icons/svg/certificate.svg +1 -0
  96. package/dist/ix-icons/svg/chain-alternative.svg +1 -0
  97. package/dist/ix-icons/svg/chain-parallel.svg +1 -0
  98. package/dist/ix-icons/svg/chain-step.svg +1 -0
  99. package/dist/ix-icons/svg/chart-duration-curve.svg +1 -0
  100. package/dist/ix-icons/svg/chart-types-filled.svg +1 -0
  101. package/dist/ix-icons/svg/chart-types.svg +1 -0
  102. package/dist/ix-icons/svg/chart-value-horizontal.svg +1 -0
  103. package/dist/ix-icons/svg/chart-value-vertical.svg +1 -0
  104. package/dist/ix-icons/svg/checkbox-empty-filled.svg +1 -0
  105. package/dist/ix-icons/svg/checkbox-empty.svg +1 -0
  106. package/dist/ix-icons/svg/checkbox-mixed-filled.svg +1 -0
  107. package/dist/ix-icons/svg/checkbox-mixed.svg +1 -0
  108. package/dist/ix-icons/svg/checkboxes-empty-filled.svg +1 -0
  109. package/dist/ix-icons/svg/checkboxes-empty.svg +1 -0
  110. package/dist/ix-icons/svg/checkboxes-filled.svg +1 -1
  111. package/dist/ix-icons/svg/checkboxes.svg +1 -1
  112. package/dist/ix-icons/svg/client-interface.svg +1 -0
  113. package/dist/ix-icons/svg/clipboard-filled.svg +1 -0
  114. package/dist/ix-icons/svg/clipboard.svg +1 -0
  115. package/dist/ix-icons/svg/cloud-cancelled-filled.svg +1 -0
  116. package/dist/ix-icons/svg/cloud-cancelled.svg +1 -0
  117. package/dist/ix-icons/svg/cloud-rain-filled.svg +1 -0
  118. package/dist/ix-icons/svg/cloud-rain.svg +1 -0
  119. package/dist/ix-icons/svg/cloud-snow-filled.svg +1 -0
  120. package/dist/ix-icons/svg/cloud-snow.svg +1 -0
  121. package/dist/ix-icons/svg/cloud-thunder-filled.svg +1 -0
  122. package/dist/ix-icons/svg/cloud-thunder.svg +1 -0
  123. package/dist/ix-icons/svg/code-document-check.svg +1 -0
  124. package/dist/ix-icons/svg/code-function.svg +1 -0
  125. package/dist/ix-icons/svg/code-script.svg +1 -0
  126. package/dist/ix-icons/svg/coin-filled.svg +1 -0
  127. package/dist/ix-icons/svg/coin-stack-filled.svg +1 -0
  128. package/dist/ix-icons/svg/coin-stack.svg +1 -0
  129. package/dist/ix-icons/svg/coin.svg +1 -0
  130. package/dist/ix-icons/svg/coins-filled.svg +1 -0
  131. package/dist/ix-icons/svg/coins.svg +1 -0
  132. package/dist/ix-icons/svg/comment-alt-filled.svg +1 -0
  133. package/dist/ix-icons/svg/comment-alt.svg +1 -0
  134. package/dist/ix-icons/svg/connection-bulb.svg +1 -0
  135. package/dist/ix-icons/svg/connection-fail.svg +1 -0
  136. package/dist/ix-icons/svg/connection-local.svg +1 -0
  137. package/dist/ix-icons/svg/connection-signal.svg +1 -0
  138. package/dist/ix-icons/svg/connection-success.svg +1 -0
  139. package/dist/ix-icons/svg/connections-settings.svg +1 -0
  140. package/dist/ix-icons/svg/connections.svg +1 -0
  141. package/dist/ix-icons/svg/connectivity.svg +1 -0
  142. package/dist/ix-icons/svg/control-button.svg +1 -0
  143. package/dist/ix-icons/svg/control-checkbox.svg +1 -0
  144. package/dist/ix-icons/svg/control-io-field.svg +1 -0
  145. package/dist/ix-icons/svg/control-label.svg +1 -0
  146. package/dist/ix-icons/svg/control-list-box.svg +1 -0
  147. package/dist/ix-icons/svg/control-radiobutton.svg +1 -0
  148. package/dist/ix-icons/svg/control-select.svg +1 -0
  149. package/dist/ix-icons/svg/control-slider.svg +1 -0
  150. package/dist/ix-icons/svg/control-spinner.svg +1 -0
  151. package/dist/ix-icons/svg/control-switch.svg +1 -0
  152. package/dist/ix-icons/svg/control-text-button.svg +1 -0
  153. package/dist/ix-icons/svg/control-textbox.svg +1 -0
  154. package/dist/ix-icons/svg/control-touch-area.svg +1 -0
  155. package/dist/ix-icons/svg/control-value-bar.svg +1 -0
  156. package/dist/ix-icons/svg/conversation-filled.svg +1 -0
  157. package/dist/ix-icons/svg/conversation.svg +1 -0
  158. package/dist/ix-icons/svg/create-plant-filled.svg +1 -1
  159. package/dist/ix-icons/svg/create-plant.svg +1 -1
  160. package/dist/ix-icons/svg/cycle-alt.svg +1 -0
  161. package/dist/ix-icons/svg/dashboard-filled.svg +1 -0
  162. package/dist/ix-icons/svg/dashboard.svg +1 -0
  163. package/dist/ix-icons/svg/data-management-filled.svg +1 -0
  164. package/dist/ix-icons/svg/data-management.svg +1 -0
  165. package/dist/ix-icons/svg/data-type-boolean.svg +1 -0
  166. package/dist/ix-icons/svg/data-type-double.svg +1 -0
  167. package/dist/ix-icons/svg/data-type-enum.svg +1 -0
  168. package/dist/ix-icons/svg/data-type-integer.svg +1 -0
  169. package/dist/ix-icons/svg/data-type-string-list.svg +1 -0
  170. package/dist/ix-icons/svg/data-type-string.svg +1 -0
  171. package/dist/ix-icons/svg/database-arrow-left.svg +1 -0
  172. package/dist/ix-icons/svg/device-play-filled.svg +1 -0
  173. package/dist/ix-icons/svg/device-play.svg +1 -0
  174. package/dist/ix-icons/svg/device-view-flat.svg +1 -0
  175. package/dist/ix-icons/svg/device-view-hierarchical.svg +1 -0
  176. package/dist/ix-icons/svg/distribute-objects-horizontally.svg +1 -0
  177. package/dist/ix-icons/svg/distribute-objects-vertically.svg +1 -0
  178. package/dist/ix-icons/svg/document-code-filled.svg +1 -0
  179. package/dist/ix-icons/svg/document-code.svg +1 -0
  180. package/dist/ix-icons/svg/document-filled.svg +1 -0
  181. package/dist/ix-icons/svg/document-info.svg +1 -1
  182. package/dist/ix-icons/svg/document-mapping-filled.svg +1 -0
  183. package/dist/ix-icons/svg/document-mapping.svg +1 -0
  184. package/dist/ix-icons/svg/document-program-filled.svg +1 -0
  185. package/dist/ix-icons/svg/document-program.svg +1 -0
  186. package/dist/ix-icons/svg/doughnutchart-filled.svg +1 -0
  187. package/dist/ix-icons/svg/doughnutchart.svg +1 -0
  188. package/dist/ix-icons/svg/download-delta.svg +1 -0
  189. package/dist/ix-icons/svg/download-full.svg +1 -0
  190. package/dist/ix-icons/svg/downtime.svg +1 -0
  191. package/dist/ix-icons/svg/draw-circle-arc.svg +1 -0
  192. package/dist/ix-icons/svg/draw-circle-segment.svg +1 -0
  193. package/dist/ix-icons/svg/draw-circle.svg +1 -0
  194. package/dist/ix-icons/svg/draw-ellipse-segment.svg +1 -0
  195. package/dist/ix-icons/svg/drawer-documents.svg +1 -0
  196. package/dist/ix-icons/svg/drawing-document-filled.svg +1 -0
  197. package/dist/ix-icons/svg/drawing-document.svg +1 -0
  198. package/dist/ix-icons/svg/e-mail-filled.svg +1 -1
  199. package/dist/ix-icons/svg/e-mail.svg +1 -1
  200. package/dist/ix-icons/svg/edit-plant-filled.svg +1 -0
  201. package/dist/ix-icons/svg/edit-plant.svg +1 -1
  202. package/dist/ix-icons/svg/editor-grid-dots.svg +1 -0
  203. package/dist/ix-icons/svg/editor-grid-lines.svg +1 -0
  204. package/dist/ix-icons/svg/editor-grid-magnet.svg +1 -0
  205. package/dist/ix-icons/svg/editor-grid-none.svg +1 -0
  206. package/dist/ix-icons/svg/editor-grid.svg +1 -0
  207. package/dist/ix-icons/svg/editor-guide-lines-magnet.svg +1 -0
  208. package/dist/ix-icons/svg/editor-guides.svg +1 -0
  209. package/dist/ix-icons/svg/editor-resources.svg +1 -0
  210. package/dist/ix-icons/svg/element-filled.svg +1 -0
  211. package/dist/ix-icons/svg/element.svg +1 -0
  212. package/dist/ix-icons/svg/email-document-filled.svg +1 -0
  213. package/dist/ix-icons/svg/email-document.svg +1 -0
  214. package/dist/ix-icons/svg/emergency-stop.svg +1 -0
  215. package/dist/ix-icons/svg/emote-happy-filled.svg +1 -0
  216. package/dist/ix-icons/svg/emote-happy.svg +1 -0
  217. package/dist/ix-icons/svg/emote-neutral-filled.svg +1 -0
  218. package/dist/ix-icons/svg/emote-neutral.svg +1 -0
  219. package/dist/ix-icons/svg/emote-sad-filled.svg +1 -0
  220. package/dist/ix-icons/svg/emote-sad.svg +1 -0
  221. package/dist/ix-icons/svg/exclamation-mark.svg +1 -0
  222. package/dist/ix-icons/svg/external-encoder.svg +1 -0
  223. package/dist/ix-icons/svg/eye-focus.svg +1 -0
  224. package/dist/ix-icons/svg/eye-magnifying-glass.svg +1 -0
  225. package/dist/ix-icons/svg/facebook-logo.svg +1 -0
  226. package/dist/ix-icons/svg/faceplate-container.svg +1 -0
  227. package/dist/ix-icons/svg/fast-forward-filled.svg +1 -0
  228. package/dist/ix-icons/svg/fast-forward.svg +1 -0
  229. package/dist/ix-icons/svg/feedback-filled.svg +1 -0
  230. package/dist/ix-icons/svg/feedback.svg +1 -0
  231. package/dist/ix-icons/svg/filter-update.svg +1 -0
  232. package/dist/ix-icons/svg/flag-alt-filled.svg +1 -0
  233. package/dist/ix-icons/svg/flag-alt.svg +1 -0
  234. package/dist/ix-icons/svg/flow-physically.svg +1 -0
  235. package/dist/ix-icons/svg/folder-collapse-all.svg +1 -0
  236. package/dist/ix-icons/svg/folder-expand-all.svg +1 -0
  237. package/dist/ix-icons/svg/frames-filled.svg +1 -0
  238. package/dist/ix-icons/svg/frames.svg +1 -0
  239. package/dist/ix-icons/svg/ganttchart.svg +1 -0
  240. package/dist/ix-icons/svg/github-logo.svg +1 -0
  241. package/dist/ix-icons/svg/glasses-play.svg +1 -0
  242. package/dist/ix-icons/svg/global-plant-filled.svg +1 -1
  243. package/dist/ix-icons/svg/global-plant.svg +1 -1
  244. package/dist/ix-icons/svg/globe-filled.svg +1 -1
  245. package/dist/ix-icons/svg/globe-tag.svg +1 -0
  246. package/dist/ix-icons/svg/graph-filled.svg +1 -0
  247. package/dist/ix-icons/svg/graph.svg +1 -0
  248. package/dist/ix-icons/svg/group-objects.svg +1 -0
  249. package/dist/ix-icons/svg/hand-filled.svg +1 -0
  250. package/dist/ix-icons/svg/hand.svg +1 -0
  251. package/dist/ix-icons/svg/hat-man-filled.svg +1 -0
  252. package/dist/ix-icons/svg/hat-man.svg +1 -0
  253. package/dist/ix-icons/svg/heat-map-chart-filled.svg +1 -0
  254. package/dist/ix-icons/svg/heat-map-chart.svg +1 -0
  255. package/dist/ix-icons/svg/history-list.svg +1 -1
  256. package/dist/ix-icons/svg/history.svg +1 -1
  257. package/dist/ix-icons/svg/indicator-filled.svg +1 -0
  258. package/dist/ix-icons/svg/indicator.svg +1 -0
  259. package/dist/ix-icons/svg/ink-pen-add.svg +1 -0
  260. package/dist/ix-icons/svg/ink-pen-filled.svg +1 -0
  261. package/dist/ix-icons/svg/instagram-logo.svg +1 -0
  262. package/dist/ix-icons/svg/interpreter-filled.svg +1 -0
  263. package/dist/ix-icons/svg/interpreter.svg +1 -0
  264. package/dist/ix-icons/svg/java-script.svg +1 -0
  265. package/dist/ix-icons/svg/jigsaw-details-filled.svg +1 -0
  266. package/dist/ix-icons/svg/jigsaw-details.svg +1 -0
  267. package/dist/ix-icons/svg/jigsaw-filled.svg +1 -0
  268. package/dist/ix-icons/svg/jigsaw.svg +1 -0
  269. package/dist/ix-icons/svg/json-document-filled.svg +1 -0
  270. package/dist/ix-icons/svg/json-document.svg +1 -0
  271. package/dist/ix-icons/svg/key.svg +1 -0
  272. package/dist/ix-icons/svg/keyboard-docked-bottom.svg +1 -0
  273. package/dist/ix-icons/svg/keyboard-floating.svg +1 -0
  274. package/dist/ix-icons/svg/keyboard-framed.svg +1 -0
  275. package/dist/ix-icons/svg/keyboard.svg +1 -0
  276. package/dist/ix-icons/svg/kinematics.svg +1 -0
  277. package/dist/ix-icons/svg/kpi-filled.svg +1 -0
  278. package/dist/ix-icons/svg/kpi.svg +1 -0
  279. package/dist/ix-icons/svg/leading-axis-proxy.svg +1 -0
  280. package/dist/ix-icons/svg/legal-circle-filled.svg +1 -0
  281. package/dist/ix-icons/svg/legal-circle.svg +1 -0
  282. package/dist/ix-icons/svg/limits-cancelled.svg +1 -0
  283. package/dist/ix-icons/svg/limits-check.svg +1 -0
  284. package/dist/ix-icons/svg/line-cap-flat.svg +1 -0
  285. package/dist/ix-icons/svg/line-cap-round.svg +1 -0
  286. package/dist/ix-icons/svg/line-cap-square.svg +1 -0
  287. package/dist/ix-icons/svg/line-dash-dot-dot.svg +1 -0
  288. package/dist/ix-icons/svg/line-dash-dot.svg +1 -0
  289. package/dist/ix-icons/svg/line-dash.svg +1 -0
  290. package/dist/ix-icons/svg/line-dot.svg +1 -0
  291. package/dist/ix-icons/svg/line-solid.svg +1 -0
  292. package/dist/ix-icons/svg/linechart.svg +1 -0
  293. package/dist/ix-icons/svg/linkedin-logo.svg +1 -0
  294. package/dist/ix-icons/svg/list-add.svg +1 -0
  295. package/dist/ix-icons/svg/list-graphics-text.svg +1 -0
  296. package/dist/ix-icons/svg/list-graphics.svg +1 -0
  297. package/dist/ix-icons/svg/list-remove.svg +1 -0
  298. package/dist/ix-icons/svg/list-text.svg +1 -0
  299. package/dist/ix-icons/svg/lock-key-filled.svg +1 -1
  300. package/dist/ix-icons/svg/lock-key.svg +1 -1
  301. package/dist/ix-icons/svg/longer.svg +1 -0
  302. package/dist/ix-icons/svg/machine-a-filled.svg +1 -0
  303. package/dist/ix-icons/svg/machine-a.svg +1 -0
  304. package/dist/ix-icons/svg/machine-b-filled.svg +1 -0
  305. package/dist/ix-icons/svg/machine-b.svg +1 -0
  306. package/dist/ix-icons/svg/machine-c-filled.svg +1 -0
  307. package/dist/ix-icons/svg/machine-c.svg +1 -0
  308. package/dist/ix-icons/svg/magnet-cancelled.svg +1 -0
  309. package/dist/ix-icons/svg/magnet.svg +1 -0
  310. package/dist/ix-icons/svg/mail-alarm-analog.svg +1 -0
  311. package/dist/ix-icons/svg/mail-alarm-classes.svg +1 -0
  312. package/dist/ix-icons/svg/mail-alarm-discrete.svg +1 -0
  313. package/dist/ix-icons/svg/map-alt-1-filled.svg +1 -0
  314. package/dist/ix-icons/svg/map-alt-1.svg +1 -0
  315. package/dist/ix-icons/svg/map-alt-2-filled.svg +1 -0
  316. package/dist/ix-icons/svg/map-alt-2.svg +1 -0
  317. package/dist/ix-icons/svg/map-alt-3-filled.svg +1 -0
  318. package/dist/ix-icons/svg/map-alt-3.svg +1 -0
  319. package/dist/ix-icons/svg/mastodon-logo.svg +1 -0
  320. package/dist/ix-icons/svg/measuring-input.svg +1 -0
  321. package/dist/ix-icons/svg/media-player.svg +1 -0
  322. package/dist/ix-icons/svg/mobile-phone-filled.svg +1 -0
  323. package/dist/ix-icons/svg/mobile-phone.svg +1 -0
  324. package/dist/ix-icons/svg/moon-filled.svg +1 -1
  325. package/dist/ix-icons/svg/moon.svg +1 -1
  326. package/dist/ix-icons/svg/move-layer-down.svg +1 -0
  327. package/dist/ix-icons/svg/move-layer-up.svg +1 -0
  328. package/dist/ix-icons/svg/movie-filled.svg +1 -0
  329. package/dist/ix-icons/svg/movie.svg +1 -0
  330. package/dist/ix-icons/svg/mqtt-filled.svg +1 -0
  331. package/dist/ix-icons/svg/mqtt.svg +1 -0
  332. package/dist/ix-icons/svg/music-note.svg +1 -0
  333. package/dist/ix-icons/svg/namur-diagnostics-passive-filled.svg +1 -0
  334. package/dist/ix-icons/svg/namur-diagnostics-passive.svg +1 -0
  335. package/dist/ix-icons/svg/navigation-left-hide.svg +1 -0
  336. package/dist/ix-icons/svg/navigation-right-hide.svg +1 -0
  337. package/dist/ix-icons/svg/network-device-filled.svg +1 -0
  338. package/dist/ix-icons/svg/network-device-play-filled.svg +1 -0
  339. package/dist/ix-icons/svg/network-device-play.svg +1 -0
  340. package/dist/ix-icons/svg/network-device.svg +1 -0
  341. package/dist/ix-icons/svg/network-wired-wireless.svg +1 -0
  342. package/dist/ix-icons/svg/network-wired.svg +1 -0
  343. package/dist/ix-icons/svg/notebook-filled.svg +1 -0
  344. package/dist/ix-icons/svg/notebook.svg +1 -0
  345. package/dist/ix-icons/svg/objects-tree.svg +1 -0
  346. package/dist/ix-icons/svg/objects.svg +1 -0
  347. package/dist/ix-icons/svg/operate-plant-filled.svg +1 -1
  348. package/dist/ix-icons/svg/operate-plant.svg +1 -1
  349. package/dist/ix-icons/svg/package-filled.svg +1 -0
  350. package/dist/ix-icons/svg/package.svg +1 -0
  351. package/dist/ix-icons/svg/parameter.svg +1 -0
  352. package/dist/ix-icons/svg/paste-filled.svg +1 -0
  353. package/dist/ix-icons/svg/paste.svg +1 -1
  354. package/dist/ix-icons/svg/pc-tower-settings-filled.svg +1 -0
  355. package/dist/ix-icons/svg/pc-tower-settings.svg +1 -0
  356. package/dist/ix-icons/svg/pdf-document-filled.svg +1 -0
  357. package/dist/ix-icons/svg/pin-cancelled-filled.svg +1 -0
  358. package/dist/ix-icons/svg/pin-cancelled.svg +1 -0
  359. package/dist/ix-icons/svg/pin-filled.svg +1 -1
  360. package/dist/ix-icons/svg/pin.svg +1 -1
  361. package/dist/ix-icons/svg/plant-details-filled.svg +1 -0
  362. package/dist/ix-icons/svg/plant-details.svg +1 -0
  363. package/dist/ix-icons/svg/plant-handbook-filled.svg +1 -1
  364. package/dist/ix-icons/svg/plant-handbook.svg +1 -1
  365. package/dist/ix-icons/svg/plant-search-filled.svg +1 -0
  366. package/dist/ix-icons/svg/plant-search.svg +1 -0
  367. package/dist/ix-icons/svg/plant-security-filled.svg +1 -0
  368. package/dist/ix-icons/svg/plant-security.svg +1 -1
  369. package/dist/ix-icons/svg/plant-settings-filled.svg +1 -1
  370. package/dist/ix-icons/svg/plant-settings.svg +1 -1
  371. package/dist/ix-icons/svg/plc-device-tag.svg +1 -0
  372. package/dist/ix-icons/svg/plc-device-user-data-type.svg +1 -0
  373. package/dist/ix-icons/svg/plc-device.svg +1 -0
  374. package/dist/ix-icons/svg/plc-tag.svg +1 -0
  375. package/dist/ix-icons/svg/plc-user-data-type.svg +1 -0
  376. package/dist/ix-icons/svg/plc.svg +1 -0
  377. package/dist/ix-icons/svg/polarchart-filled.svg +1 -0
  378. package/dist/ix-icons/svg/polarchart.svg +1 -0
  379. package/dist/ix-icons/svg/process-control.svg +1 -0
  380. package/dist/ix-icons/svg/project-arrow-diagonal-top-right.svg +1 -0
  381. package/dist/ix-icons/svg/project-arrow-left.svg +1 -0
  382. package/dist/ix-icons/svg/project-arrow-right.svg +1 -0
  383. package/dist/ix-icons/svg/project-close.svg +1 -0
  384. package/dist/ix-icons/svg/project-duplicate.svg +1 -0
  385. package/dist/ix-icons/svg/project-history.svg +1 -0
  386. package/dist/ix-icons/svg/project-server-filled.svg +1 -1
  387. package/dist/ix-icons/svg/project-server.svg +1 -1
  388. package/dist/ix-icons/svg/project-settings.svg +1 -0
  389. package/dist/ix-icons/svg/project-simulation.svg +1 -0
  390. package/dist/ix-icons/svg/projects-close.svg +1 -0
  391. package/dist/ix-icons/svg/question-mark.svg +1 -0
  392. package/dist/ix-icons/svg/record-filled.svg +1 -0
  393. package/dist/ix-icons/svg/record.svg +1 -0
  394. package/dist/ix-icons/svg/reddit-logo.svg +1 -0
  395. package/dist/ix-icons/svg/reference-point-bottom-left.svg +1 -0
  396. package/dist/ix-icons/svg/reference-point-bottom-right.svg +1 -0
  397. package/dist/ix-icons/svg/reference-point-centered.svg +1 -0
  398. package/dist/ix-icons/svg/reference-point-top-left.svg +1 -0
  399. package/dist/ix-icons/svg/reference-point-top-right.svg +1 -0
  400. package/dist/ix-icons/svg/refresh-arrow-down.svg +1 -0
  401. package/dist/ix-icons/svg/remove-circle-filled.svg +1 -0
  402. package/dist/ix-icons/svg/remove-circle.svg +1 -0
  403. package/dist/ix-icons/svg/report-general.svg +1 -0
  404. package/dist/ix-icons/svg/restore.svg +1 -0
  405. package/dist/ix-icons/svg/rewind-filled.svg +1 -0
  406. package/dist/ix-icons/svg/rewind.svg +1 -0
  407. package/dist/ix-icons/svg/robotic-arm.svg +1 -0
  408. package/dist/ix-icons/svg/robotic-gripper.svg +1 -0
  409. package/dist/ix-icons/svg/roles-filled.svg +1 -0
  410. package/dist/ix-icons/svg/roles.svg +1 -0
  411. package/dist/ix-icons/svg/rotate-180.svg +1 -0
  412. package/dist/ix-icons/svg/rotate-90-left.svg +1 -0
  413. package/dist/ix-icons/svg/rotate-90-right.svg +1 -0
  414. package/dist/ix-icons/svg/rotate.svg +1 -0
  415. package/dist/ix-icons/svg/ruler-horizontal.svg +1 -0
  416. package/dist/ix-icons/svg/ruler-vertical.svg +1 -0
  417. package/dist/ix-icons/svg/rules-filled.svg +1 -0
  418. package/dist/ix-icons/svg/rules.svg +1 -0
  419. package/dist/ix-icons/svg/runtime-play.svg +1 -0
  420. package/dist/ix-icons/svg/runtime-settings.svg +1 -1
  421. package/dist/ix-icons/svg/runtime-stop.svg +1 -0
  422. package/dist/ix-icons/svg/sankeychart.svg +1 -0
  423. package/dist/ix-icons/svg/save-all.svg +1 -0
  424. package/dist/ix-icons/svg/scale.svg +1 -0
  425. package/dist/ix-icons/svg/screen-duplicate-filled.svg +1 -0
  426. package/dist/ix-icons/svg/screen-duplicate.svg +1 -0
  427. package/dist/ix-icons/svg/screen-pc-tower-filled.svg +1 -0
  428. package/dist/ix-icons/svg/screen-pc-tower-settings-filled.svg +1 -0
  429. package/dist/ix-icons/svg/screen-pc-tower-settings.svg +1 -0
  430. package/dist/ix-icons/svg/screen-pc-tower.svg +1 -0
  431. package/dist/ix-icons/svg/screen-settings-filled.svg +1 -0
  432. package/dist/ix-icons/svg/screen-settings.svg +1 -0
  433. package/dist/ix-icons/svg/screens-filled.svg +1 -0
  434. package/dist/ix-icons/svg/screens.svg +1 -0
  435. package/dist/ix-icons/svg/select-alt-filled.svg +1 -0
  436. package/dist/ix-icons/svg/select-alt.svg +1 -0
  437. package/dist/ix-icons/svg/send-backward.svg +1 -0
  438. package/dist/ix-icons/svg/send-to-back.svg +1 -0
  439. package/dist/ix-icons/svg/server-interface.svg +1 -0
  440. package/dist/ix-icons/svg/shapes-filled.svg +1 -0
  441. package/dist/ix-icons/svg/shapes.svg +1 -0
  442. package/dist/ix-icons/svg/share-alt-filled.svg +1 -0
  443. package/dist/ix-icons/svg/share-alt.svg +1 -0
  444. package/dist/ix-icons/svg/shield-broken-filled.svg +1 -1
  445. package/dist/ix-icons/svg/shield-broken.svg +1 -1
  446. package/dist/ix-icons/svg/shift-filled.svg +1 -0
  447. package/dist/ix-icons/svg/shift.svg +1 -0
  448. package/dist/ix-icons/svg/shopping-cart-filled.svg +1 -1
  449. package/dist/ix-icons/svg/shopping-cart.svg +1 -1
  450. package/dist/ix-icons/svg/shorter.svg +1 -0
  451. package/dist/ix-icons/svg/simulation-table.svg +1 -0
  452. package/dist/ix-icons/svg/sms.svg +1 -0
  453. package/dist/ix-icons/svg/spiderchart-filled.svg +1 -0
  454. package/dist/ix-icons/svg/spiderchart.svg +1 -0
  455. package/dist/ix-icons/svg/stacked-barchart.svg +1 -0
  456. package/dist/ix-icons/svg/star-half-filled.svg +1 -0
  457. package/dist/ix-icons/svg/stopwatch-filled.svg +1 -0
  458. package/dist/ix-icons/svg/stopwatch.svg +1 -0
  459. package/dist/ix-icons/svg/storage-filled.svg +1 -0
  460. package/dist/ix-icons/svg/storage.svg +1 -0
  461. package/dist/ix-icons/svg/subtitle-filled.svg +1 -0
  462. package/dist/ix-icons/svg/subtitle.svg +1 -0
  463. package/dist/ix-icons/svg/sun-cloud-filled.svg +1 -0
  464. package/dist/ix-icons/svg/sun-cloud.svg +1 -0
  465. package/dist/ix-icons/svg/sunrise-filled.svg +1 -0
  466. package/dist/ix-icons/svg/sunrise.svg +1 -0
  467. package/dist/ix-icons/svg/sunset-filled.svg +1 -0
  468. package/dist/ix-icons/svg/sunset.svg +1 -0
  469. package/dist/ix-icons/svg/table-tag.svg +1 -0
  470. package/dist/ix-icons/svg/tag-arrow-left-filled.svg +1 -0
  471. package/dist/ix-icons/svg/tag-arrow-left.svg +1 -0
  472. package/dist/ix-icons/svg/tag-arrow-right-filled.svg +1 -0
  473. package/dist/ix-icons/svg/tag-arrow-right.svg +1 -0
  474. package/dist/ix-icons/svg/tag-circle-arrow-down-filled.svg +1 -0
  475. package/dist/ix-icons/svg/tag-circle-arrow-down.svg +1 -0
  476. package/dist/ix-icons/svg/tag-connection-filled.svg +1 -0
  477. package/dist/ix-icons/svg/tag-connection.svg +1 -0
  478. package/dist/ix-icons/svg/tag-eye-filled.svg +1 -0
  479. package/dist/ix-icons/svg/tag-eye.svg +1 -0
  480. package/dist/ix-icons/svg/tag-filled.svg +1 -1
  481. package/dist/ix-icons/svg/tag-logging-filled.svg +1 -0
  482. package/dist/ix-icons/svg/tag-logging.svg +1 -0
  483. package/dist/ix-icons/svg/tag-plus-filled.svg +1 -1
  484. package/dist/ix-icons/svg/tag-plus.svg +1 -1
  485. package/dist/ix-icons/svg/tag.svg +1 -1
  486. package/dist/ix-icons/svg/telegram-logo.svg +1 -0
  487. package/dist/ix-icons/svg/text-alginment-center.svg +1 -0
  488. package/dist/ix-icons/svg/text-alginment-justified.svg +1 -0
  489. package/dist/ix-icons/svg/text-alginment-left.svg +1 -0
  490. package/dist/ix-icons/svg/text-alginment-right.svg +1 -0
  491. package/dist/ix-icons/svg/thermometer-filled.svg +1 -0
  492. package/dist/ix-icons/svg/threads-logo.svg +1 -0
  493. package/dist/ix-icons/svg/thumb-down-filled.svg +1 -0
  494. package/dist/ix-icons/svg/thumb-down.svg +1 -0
  495. package/dist/ix-icons/svg/thumb-up-filled.svg +1 -0
  496. package/dist/ix-icons/svg/thumb-up.svg +1 -0
  497. package/dist/ix-icons/svg/ticket-filled.svg +1 -0
  498. package/dist/ix-icons/svg/ticket.svg +1 -0
  499. package/dist/ix-icons/svg/tiktok-logo.svg +1 -0
  500. package/dist/ix-icons/svg/tiles-filled.svg +1 -0
  501. package/dist/ix-icons/svg/tiles.svg +1 -0
  502. package/dist/ix-icons/svg/time-zone-filled.svg +1 -0
  503. package/dist/ix-icons/svg/time-zone.svg +1 -0
  504. package/dist/ix-icons/svg/trace-eye.svg +1 -0
  505. package/dist/ix-icons/svg/train-filled.svg +1 -0
  506. package/dist/ix-icons/svg/train.svg +1 -0
  507. package/dist/ix-icons/svg/trend-companion.svg +1 -0
  508. package/dist/ix-icons/svg/txt-document-filled.svg +1 -0
  509. package/dist/ix-icons/svg/ungroup-objects.svg +1 -0
  510. package/dist/ix-icons/svg/unlock-plant-filled.svg +1 -1
  511. package/dist/ix-icons/svg/unlock-plant.svg +1 -1
  512. package/dist/ix-icons/svg/user-data-types.svg +1 -0
  513. package/dist/ix-icons/svg/user-group.svg +1 -0
  514. package/dist/ix-icons/svg/user-key.svg +1 -0
  515. package/dist/ix-icons/svg/user-manual-filled.svg +1 -0
  516. package/dist/ix-icons/svg/user-manual.svg +1 -0
  517. package/dist/ix-icons/svg/user-pen.svg +1 -0
  518. package/dist/ix-icons/svg/user-reading-filled.svg +1 -0
  519. package/dist/ix-icons/svg/user-reading.svg +1 -1
  520. package/dist/ix-icons/svg/variable.svg +1 -0
  521. package/dist/ix-icons/svg/video-camera-filled.svg +1 -0
  522. package/dist/ix-icons/svg/video-camera-record-filled.svg +1 -0
  523. package/dist/ix-icons/svg/video-camera-record.svg +1 -0
  524. package/dist/ix-icons/svg/video-camera.svg +1 -0
  525. package/dist/ix-icons/svg/viva-engage-logo.svg +1 -0
  526. package/dist/ix-icons/svg/voltage-filled.svg +1 -0
  527. package/dist/ix-icons/svg/voltage.svg +1 -0
  528. package/dist/ix-icons/svg/watch-table.svg +1 -0
  529. package/dist/ix-icons/svg/web-browser-screen.svg +1 -0
  530. package/dist/ix-icons/svg/wechat-logo.svg +1 -0
  531. package/dist/ix-icons/svg/weibo-logo.svg +1 -0
  532. package/dist/ix-icons/svg/wlan-strength-1-lock.svg +1 -0
  533. package/dist/ix-icons/svg/wlan-strength-2-lock.svg +1 -0
  534. package/dist/ix-icons/svg/wlan-strength-3-lock.svg +1 -0
  535. package/dist/ix-icons/svg/wlan-warning.svg +1 -0
  536. package/dist/ix-icons/svg/x-logo.svg +1 -0
  537. package/dist/ix-icons/svg/xls-document-filled.svg +1 -0
  538. package/dist/types/components/icon/icon.d.ts +1 -1
  539. package/dist/types/components/icon/icons.d.ts +504 -64
  540. package/dist/types/components/icon/resolveIcon.d.ts +4 -1
  541. package/dist/types/index.d.ts +1 -1
  542. package/icons/index.d.ts +459 -19
  543. package/icons/index.js +503 -63
  544. package/icons/index.mjs +503 -63
  545. package/icons/package.json +1 -1
  546. package/package.json +2 -2
  547. package/svg/add-circle-small-filled.svg +1 -0
  548. package/svg/add-circle-small.svg +1 -0
  549. package/svg/agent-filled.svg +1 -0
  550. package/svg/agent.svg +1 -0
  551. package/svg/ai.svg +1 -1
  552. package/svg/alarm-clock-cancelled.svg +1 -1
  553. package/svg/align-center-horizontally.svg +1 -0
  554. package/svg/align-center-vertically.svg +1 -0
  555. package/svg/align-object-dimensions.svg +1 -0
  556. package/svg/align-object-height.svg +1 -0
  557. package/svg/align-object-width.svg +1 -0
  558. package/svg/align-objects-bottom.svg +1 -0
  559. package/svg/align-objects-centered.svg +1 -0
  560. package/svg/align-objects-horizontally.svg +1 -0
  561. package/svg/align-objects-left.svg +1 -0
  562. package/svg/align-objects-right.svg +1 -0
  563. package/svg/align-objects-top.svg +1 -0
  564. package/svg/align-objects-vertically.svg +1 -0
  565. package/svg/align-objects.svg +1 -0
  566. package/svg/analysis-filled.svg +1 -0
  567. package/svg/analysis.svg +1 -0
  568. package/svg/anomaly-none.svg +1 -0
  569. package/svg/app-document-filled.svg +1 -0
  570. package/svg/app-document.svg +1 -0
  571. package/svg/application-screen-alarm-classes.svg +1 -0
  572. package/svg/application-screen-globe.svg +1 -0
  573. package/svg/application-screen-play.svg +1 -0
  574. package/svg/application-screens.svg +1 -0
  575. package/svg/archive-document-filled.svg +1 -0
  576. package/svg/archive-document.svg +1 -0
  577. package/svg/areachart.svg +1 -0
  578. package/svg/arrow-up-left.svg +1 -0
  579. package/svg/aspects-filled.svg +1 -0
  580. package/svg/aspects.svg +1 -0
  581. package/svg/asset-network-filled.svg +1 -0
  582. package/svg/asset-network.svg +1 -0
  583. package/svg/asterisk.svg +1 -0
  584. package/svg/axes-synchronous.svg +1 -0
  585. package/svg/axis-positioning.svg +1 -0
  586. package/svg/axis-rotation.svg +1 -0
  587. package/svg/barchart-horizontal.svg +1 -0
  588. package/svg/barchart.svg +1 -1
  589. package/svg/bilibili-logo.svg +1 -0
  590. package/svg/box-plot-filled.svg +1 -0
  591. package/svg/box-plot.svg +1 -0
  592. package/svg/bring-forward.svg +1 -0
  593. package/svg/bring-to-front.svg +1 -0
  594. package/svg/brush.svg +1 -0
  595. package/svg/building-block-filled.svg +1 -0
  596. package/svg/building-block.svg +1 -0
  597. package/svg/calendar-day-filled.svg +1 -0
  598. package/svg/calendar-day.svg +1 -0
  599. package/svg/calendar-week-filled.svg +1 -0
  600. package/svg/calendar-week.svg +1 -0
  601. package/svg/cam-disk-10k.svg +1 -0
  602. package/svg/cam-disk.svg +1 -0
  603. package/svg/cam-track.svg +1 -0
  604. package/svg/cam.svg +1 -0
  605. package/svg/certificate.svg +1 -0
  606. package/svg/chain-alternative.svg +1 -0
  607. package/svg/chain-parallel.svg +1 -0
  608. package/svg/chain-step.svg +1 -0
  609. package/svg/chart-duration-curve.svg +1 -0
  610. package/svg/chart-types-filled.svg +1 -0
  611. package/svg/chart-types.svg +1 -0
  612. package/svg/chart-value-horizontal.svg +1 -0
  613. package/svg/chart-value-vertical.svg +1 -0
  614. package/svg/checkbox-empty-filled.svg +1 -0
  615. package/svg/checkbox-empty.svg +1 -0
  616. package/svg/checkbox-mixed-filled.svg +1 -0
  617. package/svg/checkbox-mixed.svg +1 -0
  618. package/svg/checkboxes-empty-filled.svg +1 -0
  619. package/svg/checkboxes-empty.svg +1 -0
  620. package/svg/checkboxes-filled.svg +1 -1
  621. package/svg/checkboxes.svg +1 -1
  622. package/svg/client-interface.svg +1 -0
  623. package/svg/clipboard-filled.svg +1 -0
  624. package/svg/clipboard.svg +1 -0
  625. package/svg/cloud-cancelled-filled.svg +1 -0
  626. package/svg/cloud-cancelled.svg +1 -0
  627. package/svg/cloud-rain-filled.svg +1 -0
  628. package/svg/cloud-rain.svg +1 -0
  629. package/svg/cloud-snow-filled.svg +1 -0
  630. package/svg/cloud-snow.svg +1 -0
  631. package/svg/cloud-thunder-filled.svg +1 -0
  632. package/svg/cloud-thunder.svg +1 -0
  633. package/svg/code-document-check.svg +1 -0
  634. package/svg/code-function.svg +1 -0
  635. package/svg/code-script.svg +1 -0
  636. package/svg/coin-filled.svg +1 -0
  637. package/svg/coin-stack-filled.svg +1 -0
  638. package/svg/coin-stack.svg +1 -0
  639. package/svg/coin.svg +1 -0
  640. package/svg/coins-filled.svg +1 -0
  641. package/svg/coins.svg +1 -0
  642. package/svg/comment-alt-filled.svg +1 -0
  643. package/svg/comment-alt.svg +1 -0
  644. package/svg/connection-bulb.svg +1 -0
  645. package/svg/connection-fail.svg +1 -0
  646. package/svg/connection-local.svg +1 -0
  647. package/svg/connection-signal.svg +1 -0
  648. package/svg/connection-success.svg +1 -0
  649. package/svg/connections-settings.svg +1 -0
  650. package/svg/connections.svg +1 -0
  651. package/svg/connectivity.svg +1 -0
  652. package/svg/control-button.svg +1 -0
  653. package/svg/control-checkbox.svg +1 -0
  654. package/svg/control-io-field.svg +1 -0
  655. package/svg/control-label.svg +1 -0
  656. package/svg/control-list-box.svg +1 -0
  657. package/svg/control-radiobutton.svg +1 -0
  658. package/svg/control-select.svg +1 -0
  659. package/svg/control-slider.svg +1 -0
  660. package/svg/control-spinner.svg +1 -0
  661. package/svg/control-switch.svg +1 -0
  662. package/svg/control-text-button.svg +1 -0
  663. package/svg/control-textbox.svg +1 -0
  664. package/svg/control-touch-area.svg +1 -0
  665. package/svg/control-value-bar.svg +1 -0
  666. package/svg/conversation-filled.svg +1 -0
  667. package/svg/conversation.svg +1 -0
  668. package/svg/create-plant-filled.svg +1 -1
  669. package/svg/create-plant.svg +1 -1
  670. package/svg/cycle-alt.svg +1 -0
  671. package/svg/dashboard-filled.svg +1 -0
  672. package/svg/dashboard.svg +1 -0
  673. package/svg/data-management-filled.svg +1 -0
  674. package/svg/data-management.svg +1 -0
  675. package/svg/data-type-boolean.svg +1 -0
  676. package/svg/data-type-double.svg +1 -0
  677. package/svg/data-type-enum.svg +1 -0
  678. package/svg/data-type-integer.svg +1 -0
  679. package/svg/data-type-string-list.svg +1 -0
  680. package/svg/data-type-string.svg +1 -0
  681. package/svg/database-arrow-left.svg +1 -0
  682. package/svg/device-play-filled.svg +1 -0
  683. package/svg/device-play.svg +1 -0
  684. package/svg/device-view-flat.svg +1 -0
  685. package/svg/device-view-hierarchical.svg +1 -0
  686. package/svg/distribute-objects-horizontally.svg +1 -0
  687. package/svg/distribute-objects-vertically.svg +1 -0
  688. package/svg/document-code-filled.svg +1 -0
  689. package/svg/document-code.svg +1 -0
  690. package/svg/document-filled.svg +1 -0
  691. package/svg/document-info.svg +1 -1
  692. package/svg/document-mapping-filled.svg +1 -0
  693. package/svg/document-mapping.svg +1 -0
  694. package/svg/document-program-filled.svg +1 -0
  695. package/svg/document-program.svg +1 -0
  696. package/svg/doughnutchart-filled.svg +1 -0
  697. package/svg/doughnutchart.svg +1 -0
  698. package/svg/download-delta.svg +1 -0
  699. package/svg/download-full.svg +1 -0
  700. package/svg/downtime.svg +1 -0
  701. package/svg/draw-circle-arc.svg +1 -0
  702. package/svg/draw-circle-segment.svg +1 -0
  703. package/svg/draw-circle.svg +1 -0
  704. package/svg/draw-ellipse-segment.svg +1 -0
  705. package/svg/drawer-documents.svg +1 -0
  706. package/svg/drawing-document-filled.svg +1 -0
  707. package/svg/drawing-document.svg +1 -0
  708. package/svg/e-mail-filled.svg +1 -1
  709. package/svg/e-mail.svg +1 -1
  710. package/svg/edit-plant-filled.svg +1 -0
  711. package/svg/edit-plant.svg +1 -1
  712. package/svg/editor-grid-dots.svg +1 -0
  713. package/svg/editor-grid-lines.svg +1 -0
  714. package/svg/editor-grid-magnet.svg +1 -0
  715. package/svg/editor-grid-none.svg +1 -0
  716. package/svg/editor-grid.svg +1 -0
  717. package/svg/editor-guide-lines-magnet.svg +1 -0
  718. package/svg/editor-guides.svg +1 -0
  719. package/svg/editor-resources.svg +1 -0
  720. package/svg/element-filled.svg +1 -0
  721. package/svg/element.svg +1 -0
  722. package/svg/email-document-filled.svg +1 -0
  723. package/svg/email-document.svg +1 -0
  724. package/svg/emergency-stop.svg +1 -0
  725. package/svg/emote-happy-filled.svg +1 -0
  726. package/svg/emote-happy.svg +1 -0
  727. package/svg/emote-neutral-filled.svg +1 -0
  728. package/svg/emote-neutral.svg +1 -0
  729. package/svg/emote-sad-filled.svg +1 -0
  730. package/svg/emote-sad.svg +1 -0
  731. package/svg/exclamation-mark.svg +1 -0
  732. package/svg/external-encoder.svg +1 -0
  733. package/svg/eye-focus.svg +1 -0
  734. package/svg/eye-magnifying-glass.svg +1 -0
  735. package/svg/facebook-logo.svg +1 -0
  736. package/svg/faceplate-container.svg +1 -0
  737. package/svg/fast-forward-filled.svg +1 -0
  738. package/svg/fast-forward.svg +1 -0
  739. package/svg/feedback-filled.svg +1 -0
  740. package/svg/feedback.svg +1 -0
  741. package/svg/filter-update.svg +1 -0
  742. package/svg/flag-alt-filled.svg +1 -0
  743. package/svg/flag-alt.svg +1 -0
  744. package/svg/flow-physically.svg +1 -0
  745. package/svg/folder-collapse-all.svg +1 -0
  746. package/svg/folder-expand-all.svg +1 -0
  747. package/svg/frames-filled.svg +1 -0
  748. package/svg/frames.svg +1 -0
  749. package/svg/ganttchart.svg +1 -0
  750. package/svg/github-logo.svg +1 -0
  751. package/svg/glasses-play.svg +1 -0
  752. package/svg/global-plant-filled.svg +1 -1
  753. package/svg/global-plant.svg +1 -1
  754. package/svg/globe-filled.svg +1 -1
  755. package/svg/globe-tag.svg +1 -0
  756. package/svg/graph-filled.svg +1 -0
  757. package/svg/graph.svg +1 -0
  758. package/svg/group-objects.svg +1 -0
  759. package/svg/hand-filled.svg +1 -0
  760. package/svg/hand.svg +1 -0
  761. package/svg/hat-man-filled.svg +1 -0
  762. package/svg/hat-man.svg +1 -0
  763. package/svg/heat-map-chart-filled.svg +1 -0
  764. package/svg/heat-map-chart.svg +1 -0
  765. package/svg/history-list.svg +1 -1
  766. package/svg/history.svg +1 -1
  767. package/svg/indicator-filled.svg +1 -0
  768. package/svg/indicator.svg +1 -0
  769. package/svg/ink-pen-add.svg +1 -0
  770. package/svg/ink-pen-filled.svg +1 -0
  771. package/svg/instagram-logo.svg +1 -0
  772. package/svg/interpreter-filled.svg +1 -0
  773. package/svg/interpreter.svg +1 -0
  774. package/svg/java-script.svg +1 -0
  775. package/svg/jigsaw-details-filled.svg +1 -0
  776. package/svg/jigsaw-details.svg +1 -0
  777. package/svg/jigsaw-filled.svg +1 -0
  778. package/svg/jigsaw.svg +1 -0
  779. package/svg/json-document-filled.svg +1 -0
  780. package/svg/json-document.svg +1 -0
  781. package/svg/key.svg +1 -0
  782. package/svg/keyboard-docked-bottom.svg +1 -0
  783. package/svg/keyboard-floating.svg +1 -0
  784. package/svg/keyboard-framed.svg +1 -0
  785. package/svg/keyboard.svg +1 -0
  786. package/svg/kinematics.svg +1 -0
  787. package/svg/kpi-filled.svg +1 -0
  788. package/svg/kpi.svg +1 -0
  789. package/svg/leading-axis-proxy.svg +1 -0
  790. package/svg/legal-circle-filled.svg +1 -0
  791. package/svg/legal-circle.svg +1 -0
  792. package/svg/limits-cancelled.svg +1 -0
  793. package/svg/limits-check.svg +1 -0
  794. package/svg/line-cap-flat.svg +1 -0
  795. package/svg/line-cap-round.svg +1 -0
  796. package/svg/line-cap-square.svg +1 -0
  797. package/svg/line-dash-dot-dot.svg +1 -0
  798. package/svg/line-dash-dot.svg +1 -0
  799. package/svg/line-dash.svg +1 -0
  800. package/svg/line-dot.svg +1 -0
  801. package/svg/line-solid.svg +1 -0
  802. package/svg/linechart.svg +1 -0
  803. package/svg/linkedin-logo.svg +1 -0
  804. package/svg/list-add.svg +1 -0
  805. package/svg/list-graphics-text.svg +1 -0
  806. package/svg/list-graphics.svg +1 -0
  807. package/svg/list-remove.svg +1 -0
  808. package/svg/list-text.svg +1 -0
  809. package/svg/lock-key-filled.svg +1 -1
  810. package/svg/lock-key.svg +1 -1
  811. package/svg/longer.svg +1 -0
  812. package/svg/machine-a-filled.svg +1 -0
  813. package/svg/machine-a.svg +1 -0
  814. package/svg/machine-b-filled.svg +1 -0
  815. package/svg/machine-b.svg +1 -0
  816. package/svg/machine-c-filled.svg +1 -0
  817. package/svg/machine-c.svg +1 -0
  818. package/svg/magnet-cancelled.svg +1 -0
  819. package/svg/magnet.svg +1 -0
  820. package/svg/mail-alarm-analog.svg +1 -0
  821. package/svg/mail-alarm-classes.svg +1 -0
  822. package/svg/mail-alarm-discrete.svg +1 -0
  823. package/svg/map-alt-1-filled.svg +1 -0
  824. package/svg/map-alt-1.svg +1 -0
  825. package/svg/map-alt-2-filled.svg +1 -0
  826. package/svg/map-alt-2.svg +1 -0
  827. package/svg/map-alt-3-filled.svg +1 -0
  828. package/svg/map-alt-3.svg +1 -0
  829. package/svg/mastodon-logo.svg +1 -0
  830. package/svg/measuring-input.svg +1 -0
  831. package/svg/media-player.svg +1 -0
  832. package/svg/mobile-phone-filled.svg +1 -0
  833. package/svg/mobile-phone.svg +1 -0
  834. package/svg/moon-filled.svg +1 -1
  835. package/svg/moon.svg +1 -1
  836. package/svg/move-layer-down.svg +1 -0
  837. package/svg/move-layer-up.svg +1 -0
  838. package/svg/movie-filled.svg +1 -0
  839. package/svg/movie.svg +1 -0
  840. package/svg/mqtt-filled.svg +1 -0
  841. package/svg/mqtt.svg +1 -0
  842. package/svg/music-note.svg +1 -0
  843. package/svg/namur-diagnostics-passive-filled.svg +1 -0
  844. package/svg/namur-diagnostics-passive.svg +1 -0
  845. package/svg/navigation-left-hide.svg +1 -0
  846. package/svg/navigation-right-hide.svg +1 -0
  847. package/svg/network-device-filled.svg +1 -0
  848. package/svg/network-device-play-filled.svg +1 -0
  849. package/svg/network-device-play.svg +1 -0
  850. package/svg/network-device.svg +1 -0
  851. package/svg/network-wired-wireless.svg +1 -0
  852. package/svg/network-wired.svg +1 -0
  853. package/svg/notebook-filled.svg +1 -0
  854. package/svg/notebook.svg +1 -0
  855. package/svg/objects-tree.svg +1 -0
  856. package/svg/objects.svg +1 -0
  857. package/svg/operate-plant-filled.svg +1 -1
  858. package/svg/operate-plant.svg +1 -1
  859. package/svg/package-filled.svg +1 -0
  860. package/svg/package.svg +1 -0
  861. package/svg/parameter.svg +1 -0
  862. package/svg/paste-filled.svg +1 -0
  863. package/svg/paste.svg +1 -1
  864. package/svg/pc-tower-settings-filled.svg +1 -0
  865. package/svg/pc-tower-settings.svg +1 -0
  866. package/svg/pdf-document-filled.svg +1 -0
  867. package/svg/pin-cancelled-filled.svg +1 -0
  868. package/svg/pin-cancelled.svg +1 -0
  869. package/svg/pin-filled.svg +1 -1
  870. package/svg/pin.svg +1 -1
  871. package/svg/plant-details-filled.svg +1 -0
  872. package/svg/plant-details.svg +1 -0
  873. package/svg/plant-handbook-filled.svg +1 -1
  874. package/svg/plant-handbook.svg +1 -1
  875. package/svg/plant-search-filled.svg +1 -0
  876. package/svg/plant-search.svg +1 -0
  877. package/svg/plant-security-filled.svg +1 -0
  878. package/svg/plant-security.svg +1 -1
  879. package/svg/plant-settings-filled.svg +1 -1
  880. package/svg/plant-settings.svg +1 -1
  881. package/svg/plc-device-tag.svg +1 -0
  882. package/svg/plc-device-user-data-type.svg +1 -0
  883. package/svg/plc-device.svg +1 -0
  884. package/svg/plc-tag.svg +1 -0
  885. package/svg/plc-user-data-type.svg +1 -0
  886. package/svg/plc.svg +1 -0
  887. package/svg/polarchart-filled.svg +1 -0
  888. package/svg/polarchart.svg +1 -0
  889. package/svg/process-control.svg +1 -0
  890. package/svg/project-arrow-diagonal-top-right.svg +1 -0
  891. package/svg/project-arrow-left.svg +1 -0
  892. package/svg/project-arrow-right.svg +1 -0
  893. package/svg/project-close.svg +1 -0
  894. package/svg/project-duplicate.svg +1 -0
  895. package/svg/project-history.svg +1 -0
  896. package/svg/project-server-filled.svg +1 -1
  897. package/svg/project-server.svg +1 -1
  898. package/svg/project-settings.svg +1 -0
  899. package/svg/project-simulation.svg +1 -0
  900. package/svg/projects-close.svg +1 -0
  901. package/svg/question-mark.svg +1 -0
  902. package/svg/record-filled.svg +1 -0
  903. package/svg/record.svg +1 -0
  904. package/svg/reddit-logo.svg +1 -0
  905. package/svg/reference-point-bottom-left.svg +1 -0
  906. package/svg/reference-point-bottom-right.svg +1 -0
  907. package/svg/reference-point-centered.svg +1 -0
  908. package/svg/reference-point-top-left.svg +1 -0
  909. package/svg/reference-point-top-right.svg +1 -0
  910. package/svg/refresh-arrow-down.svg +1 -0
  911. package/svg/remove-circle-filled.svg +1 -0
  912. package/svg/remove-circle.svg +1 -0
  913. package/svg/report-general.svg +1 -0
  914. package/svg/restore.svg +1 -0
  915. package/svg/rewind-filled.svg +1 -0
  916. package/svg/rewind.svg +1 -0
  917. package/svg/robotic-arm.svg +1 -0
  918. package/svg/robotic-gripper.svg +1 -0
  919. package/svg/roles-filled.svg +1 -0
  920. package/svg/roles.svg +1 -0
  921. package/svg/rotate-180.svg +1 -0
  922. package/svg/rotate-90-left.svg +1 -0
  923. package/svg/rotate-90-right.svg +1 -0
  924. package/svg/rotate.svg +1 -0
  925. package/svg/ruler-horizontal.svg +1 -0
  926. package/svg/ruler-vertical.svg +1 -0
  927. package/svg/rules-filled.svg +1 -0
  928. package/svg/rules.svg +1 -0
  929. package/svg/runtime-play.svg +1 -0
  930. package/svg/runtime-settings.svg +1 -1
  931. package/svg/runtime-stop.svg +1 -0
  932. package/svg/sankeychart.svg +1 -0
  933. package/svg/save-all.svg +1 -0
  934. package/svg/scale.svg +1 -0
  935. package/svg/screen-duplicate-filled.svg +1 -0
  936. package/svg/screen-duplicate.svg +1 -0
  937. package/svg/screen-pc-tower-filled.svg +1 -0
  938. package/svg/screen-pc-tower-settings-filled.svg +1 -0
  939. package/svg/screen-pc-tower-settings.svg +1 -0
  940. package/svg/screen-pc-tower.svg +1 -0
  941. package/svg/screen-settings-filled.svg +1 -0
  942. package/svg/screen-settings.svg +1 -0
  943. package/svg/screens-filled.svg +1 -0
  944. package/svg/screens.svg +1 -0
  945. package/svg/select-alt-filled.svg +1 -0
  946. package/svg/select-alt.svg +1 -0
  947. package/svg/send-backward.svg +1 -0
  948. package/svg/send-to-back.svg +1 -0
  949. package/svg/server-interface.svg +1 -0
  950. package/svg/shapes-filled.svg +1 -0
  951. package/svg/shapes.svg +1 -0
  952. package/svg/share-alt-filled.svg +1 -0
  953. package/svg/share-alt.svg +1 -0
  954. package/svg/shield-broken-filled.svg +1 -1
  955. package/svg/shield-broken.svg +1 -1
  956. package/svg/shift-filled.svg +1 -0
  957. package/svg/shift.svg +1 -0
  958. package/svg/shopping-cart-filled.svg +1 -1
  959. package/svg/shopping-cart.svg +1 -1
  960. package/svg/shorter.svg +1 -0
  961. package/svg/simulation-table.svg +1 -0
  962. package/svg/sms.svg +1 -0
  963. package/svg/spiderchart-filled.svg +1 -0
  964. package/svg/spiderchart.svg +1 -0
  965. package/svg/stacked-barchart.svg +1 -0
  966. package/svg/star-half-filled.svg +1 -0
  967. package/svg/stopwatch-filled.svg +1 -0
  968. package/svg/stopwatch.svg +1 -0
  969. package/svg/storage-filled.svg +1 -0
  970. package/svg/storage.svg +1 -0
  971. package/svg/subtitle-filled.svg +1 -0
  972. package/svg/subtitle.svg +1 -0
  973. package/svg/sun-cloud-filled.svg +1 -0
  974. package/svg/sun-cloud.svg +1 -0
  975. package/svg/sunrise-filled.svg +1 -0
  976. package/svg/sunrise.svg +1 -0
  977. package/svg/sunset-filled.svg +1 -0
  978. package/svg/sunset.svg +1 -0
  979. package/svg/table-tag.svg +1 -0
  980. package/svg/tag-arrow-left-filled.svg +1 -0
  981. package/svg/tag-arrow-left.svg +1 -0
  982. package/svg/tag-arrow-right-filled.svg +1 -0
  983. package/svg/tag-arrow-right.svg +1 -0
  984. package/svg/tag-circle-arrow-down-filled.svg +1 -0
  985. package/svg/tag-circle-arrow-down.svg +1 -0
  986. package/svg/tag-connection-filled.svg +1 -0
  987. package/svg/tag-connection.svg +1 -0
  988. package/svg/tag-eye-filled.svg +1 -0
  989. package/svg/tag-eye.svg +1 -0
  990. package/svg/tag-filled.svg +1 -1
  991. package/svg/tag-logging-filled.svg +1 -0
  992. package/svg/tag-logging.svg +1 -0
  993. package/svg/tag-plus-filled.svg +1 -1
  994. package/svg/tag-plus.svg +1 -1
  995. package/svg/tag.svg +1 -1
  996. package/svg/telegram-logo.svg +1 -0
  997. package/svg/text-alginment-center.svg +1 -0
  998. package/svg/text-alginment-justified.svg +1 -0
  999. package/svg/text-alginment-left.svg +1 -0
  1000. package/svg/text-alginment-right.svg +1 -0
  1001. package/svg/thermometer-filled.svg +1 -0
  1002. package/svg/threads-logo.svg +1 -0
  1003. package/svg/thumb-down-filled.svg +1 -0
  1004. package/svg/thumb-down.svg +1 -0
  1005. package/svg/thumb-up-filled.svg +1 -0
  1006. package/svg/thumb-up.svg +1 -0
  1007. package/svg/ticket-filled.svg +1 -0
  1008. package/svg/ticket.svg +1 -0
  1009. package/svg/tiktok-logo.svg +1 -0
  1010. package/svg/tiles-filled.svg +1 -0
  1011. package/svg/tiles.svg +1 -0
  1012. package/svg/time-zone-filled.svg +1 -0
  1013. package/svg/time-zone.svg +1 -0
  1014. package/svg/trace-eye.svg +1 -0
  1015. package/svg/train-filled.svg +1 -0
  1016. package/svg/train.svg +1 -0
  1017. package/svg/trend-companion.svg +1 -0
  1018. package/svg/txt-document-filled.svg +1 -0
  1019. package/svg/ungroup-objects.svg +1 -0
  1020. package/svg/unlock-plant-filled.svg +1 -1
  1021. package/svg/unlock-plant.svg +1 -1
  1022. package/svg/user-data-types.svg +1 -0
  1023. package/svg/user-group.svg +1 -0
  1024. package/svg/user-key.svg +1 -0
  1025. package/svg/user-manual-filled.svg +1 -0
  1026. package/svg/user-manual.svg +1 -0
  1027. package/svg/user-pen.svg +1 -0
  1028. package/svg/user-reading-filled.svg +1 -0
  1029. package/svg/user-reading.svg +1 -1
  1030. package/svg/variable.svg +1 -0
  1031. package/svg/video-camera-filled.svg +1 -0
  1032. package/svg/video-camera-record-filled.svg +1 -0
  1033. package/svg/video-camera-record.svg +1 -0
  1034. package/svg/video-camera.svg +1 -0
  1035. package/svg/viva-engage-logo.svg +1 -0
  1036. package/svg/voltage-filled.svg +1 -0
  1037. package/svg/voltage.svg +1 -0
  1038. package/svg/watch-table.svg +1 -0
  1039. package/svg/web-browser-screen.svg +1 -0
  1040. package/svg/wechat-logo.svg +1 -0
  1041. package/svg/weibo-logo.svg +1 -0
  1042. package/svg/wlan-strength-1-lock.svg +1 -0
  1043. package/svg/wlan-strength-2-lock.svg +1 -0
  1044. package/svg/wlan-strength-3-lock.svg +1 -0
  1045. package/svg/wlan-warning.svg +1 -0
  1046. package/svg/x-logo.svg +1 -0
  1047. package/svg/xls-document-filled.svg +1 -0
  1048. package/dist/cjs/icon-7938bd17.js.map +0 -1
  1049. package/dist/cjs/index-12b9d30e.js.map +0 -1
  1050. package/dist/esm/icon-7346da2f.js.map +0 -1
  1051. package/dist/esm/index-05493327.js.map +0 -1
  1052. package/dist/ix-icons/p-07c8bd06.entry.js +0 -2
  1053. package/dist/ix-icons/p-20132e89.js.map +0 -1
  1054. package/dist/ix-icons/p-daba5432.js +0 -2
  1055. package/dist/ix-icons/p-daba5432.js.map +0 -1
  1056. package/dist/ix-icons/svg/checkbox-component-checked.svg +0 -1
  1057. package/dist/ix-icons/svg/checkbox-component-mixed.svg +0 -1
  1058. package/dist/ix-icons/svg/checkbox-component-unchecked.svg +0 -1
  1059. package/dist/ix-icons/svg/corner-arrow-up-left.svg +0 -1
  1060. package/dist/ix-icons/svg/filter-outline.svg +0 -1
  1061. package/dist/ix-icons/svg/folder-new-outline.svg +0 -1
  1062. package/dist/ix-icons/svg/folder-open-outline.svg +0 -1
  1063. package/dist/ix-icons/svg/folder-outline.svg +0 -1
  1064. package/dist/ix-icons/svg/full-screeen-exit.svg +0 -1
  1065. package/dist/ix-icons/svg/full-screeen.svg +0 -1
  1066. package/dist/ix-icons/svg/landing-page-logo.svg +0 -1
  1067. package/dist/ix-icons/svg/location-outline.svg +0 -1
  1068. package/dist/ix-icons/svg/new-indicator-filled.svg +0 -1
  1069. package/dist/ix-icons/svg/new-indicator.svg +0 -1
  1070. package/dist/ix-icons/svg/plant-outline.svg +0 -1
  1071. package/dist/ix-icons/svg/user-reading-reading.svg +0 -1
  1072. package/dist/ix-icons/svg/validate.svg +0 -1
  1073. package/svg/checkbox-component-checked.svg +0 -1
  1074. package/svg/checkbox-component-mixed.svg +0 -1
  1075. package/svg/checkbox-component-unchecked.svg +0 -1
  1076. package/svg/corner-arrow-up-left.svg +0 -1
  1077. package/svg/filter-outline.svg +0 -1
  1078. package/svg/folder-new-outline.svg +0 -1
  1079. package/svg/folder-open-outline.svg +0 -1
  1080. package/svg/folder-outline.svg +0 -1
  1081. package/svg/full-screeen-exit.svg +0 -1
  1082. package/svg/full-screeen.svg +0 -1
  1083. package/svg/landing-page-logo.svg +0 -1
  1084. package/svg/location-outline.svg +0 -1
  1085. package/svg/new-indicator-filled.svg +0 -1
  1086. package/svg/new-indicator.svg +0 -1
  1087. package/svg/plant-outline.svg +0 -1
  1088. package/svg/user-reading-reading.svg +0 -1
  1089. package/svg/validate.svg +0 -1
  1090. /package/dist/ix-icons/{p-07c8bd06.entry.js.map → p-45457b43.entry.js.map} +0 -0
  1091. /package/dist/ix-icons/svg/{battery-bolt.svg → battery-charge.svg} +0 -0
  1092. /package/dist/ix-icons/svg/{battery-upright-bolt.svg → battery-upright-charge.svg} +0 -0
  1093. /package/svg/{battery-bolt.svg → battery-charge.svg} +0 -0
  1094. /package/svg/{battery-upright-bolt.svg → battery-upright-charge.svg} +0 -0
@@ -97,6 +97,10 @@ export async function resolveIcon(iconName) {
97
97
  return await loadIcon(iconName);
98
98
  }
99
99
  async function loadIcon(iconName) {
100
+ const cache = getIconCacheMap();
101
+ if (cache.has(iconName)) {
102
+ return cache.get(iconName);
103
+ }
100
104
  if (isValidUrl(iconName)) {
101
105
  try {
102
106
  return fetchSVG(iconName);
@@ -112,7 +116,30 @@ async function loadIcon(iconName) {
112
116
  throw Error(`Could not resolve ${iconName}`);
113
117
  }
114
118
  }
115
- export function loadIcons(icons) {
116
- icons.map(icon => loadIcon(icon));
119
+ function removePrefix(name, prefix) {
120
+ if (name.startsWith(prefix)) {
121
+ name = name.slice(prefix.length);
122
+ return name.replace(/^(\w)/, (_match, p1) => p1.toLowerCase());
123
+ }
124
+ return name;
125
+ }
126
+ export function addIcons(icons) {
127
+ Object.keys(icons).forEach(name => {
128
+ const icon = icons[name];
129
+ name = removePrefix(name, 'icon');
130
+ addIconToCache(name, icon);
131
+ });
132
+ }
133
+ export function addIconToCache(name, icon) {
134
+ const cache = getIconCacheMap();
135
+ if (cache.has(name)) {
136
+ console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);
137
+ }
138
+ const svg = parseSVGDataContent(icon);
139
+ cache.set(name, svg);
140
+ const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();
141
+ if (name != toKebabCase) {
142
+ cache.set(toKebabCase, svg);
143
+ }
117
144
  }
118
145
  //# sourceMappingURL=resolveIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveIcon.js","sourceRoot":"","sources":["../../../src/components/icon/resolveIcon.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 */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n requests.delete(url);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n return await loadIcon(iconName);\n}\n\nasync function loadIcon(iconName: string) {\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error(`Could not resolve ${iconName}`);\n }\n}\n\nexport function loadIcons(icons: string[]) {\n icons.map(icon => loadIcon(icon));\n}\n"]}
1
+ {"version":3,"file":"resolveIcon.js","sourceRoot":"","sources":["../../../src/components/icon/resolveIcon.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 */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n requests.delete(url);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n return await loadIcon(iconName);\n}\n\nasync function loadIcon(iconName: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error(`Could not resolve ${iconName}`);\n }\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  export * from './components/icon/icon';
2
- export { loadIcons } from './components/icon/resolveIcon';
2
+ export { addIcons, addIconToCache } from './components/icon/resolveIcon';
3
3
  export { setAssetPath } from '@stencil/core';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export type { Components, JSX } from './components';\nexport * from './components/icon/icon';\nexport { loadIcons } from './components/icon/resolveIcon';\nexport { setAssetPath } from '@stencil/core';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export type { Components, JSX } from './components';\nexport * from './components/icon/icon';\nexport { addIcons, addIconToCache } from './components/icon/resolveIcon';\nexport { setAssetPath } from '@stencil/core';\n"]}
@@ -1,4 +1,4 @@
1
- import { g as getAssetPath, a as setAssetPath, r as registerInstance, h, H as Host, c as getElement } from './index-05493327.js';
1
+ import { g as getAssetPath, a as setAssetPath, r as registerInstance, h, H as Host, c as getElement } from './index-050dd9d6.js';
2
2
 
3
3
  /**
4
4
  * Provide custom SVG path for icons
@@ -111,6 +111,10 @@ async function resolveIcon(iconName) {
111
111
  return await loadIcon(iconName);
112
112
  }
113
113
  async function loadIcon(iconName) {
114
+ const cache = getIconCacheMap();
115
+ if (cache.has(iconName)) {
116
+ return cache.get(iconName);
117
+ }
114
118
  if (isValidUrl(iconName)) {
115
119
  try {
116
120
  return fetchSVG(iconName);
@@ -126,8 +130,31 @@ async function loadIcon(iconName) {
126
130
  throw Error(`Could not resolve ${iconName}`);
127
131
  }
128
132
  }
129
- function loadIcons(icons) {
130
- icons.map(icon => loadIcon(icon));
133
+ function removePrefix(name, prefix) {
134
+ if (name.startsWith(prefix)) {
135
+ name = name.slice(prefix.length);
136
+ return name.replace(/^(\w)/, (_match, p1) => p1.toLowerCase());
137
+ }
138
+ return name;
139
+ }
140
+ function addIcons(icons) {
141
+ Object.keys(icons).forEach(name => {
142
+ const icon = icons[name];
143
+ name = removePrefix(name, 'icon');
144
+ addIconToCache(name, icon);
145
+ });
146
+ }
147
+ function addIconToCache(name, icon) {
148
+ const cache = getIconCacheMap();
149
+ if (cache.has(name)) {
150
+ console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);
151
+ }
152
+ const svg = parseSVGDataContent(icon);
153
+ cache.set(name, svg);
154
+ const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();
155
+ if (name != toKebabCase) {
156
+ cache.set(toKebabCase, svg);
157
+ }
131
158
  }
132
159
 
133
160
  const iconCss = ":host{display:inline-flex;height:1.5rem;width:1.5rem;min-height:1.5rem;min-width:1.5rem;color:inherit}:host .svg-container{display:block;position:relative;width:100%;height:100%}:host .svg-container svg{display:block;position:relative;height:100%;width:100%}:host .svg-container svg,:host .svg-container svg[fill],:host .svg-container svg [fill]{fill:currentColor !important}:host(.size-12){height:0.75rem;width:0.75rem;min-height:0.75rem;min-width:0.75rem}:host(.size-16){height:1rem;width:1rem;min-height:1rem;min-width:1rem}:host(.size-32){height:2rem;width:2rem;min-height:2rem;min-width:2rem}";
@@ -144,7 +171,7 @@ const Icon = class {
144
171
  this.svgContent = undefined;
145
172
  this.isVisible = false;
146
173
  }
147
- connectedCallback() {
174
+ componentWillLoad() {
148
175
  this.waitForRendering(() => {
149
176
  this.isVisible = true;
150
177
  this.loadIconContent();
@@ -196,6 +223,6 @@ const Icon = class {
196
223
  };
197
224
  Icon.style = IxIconStyle0;
198
225
 
199
- export { Icon as I, loadIcons as l };
226
+ export { Icon as I, addIcons as a, addIconToCache as b };
200
227
 
201
- //# sourceMappingURL=icon-7346da2f.js.map
228
+ //# sourceMappingURL=icon-e3f6595d.js.map
@@ -0,0 +1 @@
1
+ {"file":"icon-e3f6595d.js","mappings":"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","names":[],"sources":["src/components/icon/meta-tag.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n requests.delete(url);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n return await loadIcon(iconName);\n}\n\nasync function loadIcon(iconName: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error(`Could not resolve ${iconName}`);\n }\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { parseSVGDataContent, resolveIcon } from './resolveIcon';\n\nconst iconMissingSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32';\n\n /**\n * Color of the icon\n */\n @Prop() color: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name: string;\n\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n componentWillLoad() {\n this.waitForRendering(() => {\n this.isVisible = true;\n this.loadIconContent();\n });\n }\n\n @Watch('name')\n async loadIconContent() {\n try {\n this.svgContent = await resolveIcon(this.name);\n } catch (error) {\n this.svgContent = parseSVGDataContent(iconMissingSymbol);\n }\n }\n\n private waitForRendering(onRender: () => void) {\n if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && (window as any).IntersectionObserver) {\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n onRender();\n observer.disconnect();\n }\n });\n },\n {\n rootMargin: '25px',\n },\n );\n\n observer.observe(this.hostElement);\n } else {\n onRender();\n }\n }\n\n render() {\n const style: {\n [key: string]: string;\n } = {};\n\n if (this.color) {\n style['color'] = `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n style={style}\n class={{\n ['size-12']: this.size === '12',\n ['size-16']: this.size === '16',\n ['size-24']: this.size === '24',\n ['size-32']: this.size === '32',\n }}\n >\n <div class={'svg-container'} innerHTML={this.svgContent}></div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'ix-icons';
2
- const BUILD = /* ix-icons */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: false, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: false, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: false, vdomXlink: false, watchCallback: true };
2
+ const BUILD = /* ix-icons */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: false, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: false, vdomXlink: false, watchCallback: true };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.21.0 | MIT Licensed | https://stenciljs.com
@@ -726,6 +726,11 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
726
726
  );
727
727
  }
728
728
  let maybePromise;
729
+ if (isInitialLoad) {
730
+ {
731
+ maybePromise = safeCall(instance, "componentWillLoad");
732
+ }
733
+ }
729
734
  endSchedule();
730
735
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
731
736
  };
@@ -983,7 +988,6 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
983
988
  hostRef.$flags$ |= 128 /* isWatchReady */;
984
989
  }
985
990
  endNewInstance();
986
- fireConnectedCallback(hostRef.$lazyInstance$);
987
991
  } else {
988
992
  Cstr = elm.constructor;
989
993
  const cmpTag = elm.localName;
@@ -1011,9 +1015,6 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1011
1015
  }
1012
1016
  };
1013
1017
  var fireConnectedCallback = (instance) => {
1014
- {
1015
- safeCall(instance, "connectedCallback");
1016
- }
1017
1018
  };
1018
1019
 
1019
1020
  // src/runtime/connected-callback.ts
@@ -1046,10 +1047,8 @@ var connectedCallback = (elm) => {
1046
1047
  initializeComponent(elm, hostRef, cmpMeta);
1047
1048
  }
1048
1049
  } else {
1049
- if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1050
- fireConnectedCallback(hostRef.$lazyInstance$);
1051
- } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1052
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
1050
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1051
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1053
1052
  }
1054
1053
  }
1055
1054
  endConnected();
@@ -1188,4 +1187,4 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
1188
1187
 
1189
1188
  export { Host as H, setAssetPath as a, bootstrapLazy as b, getElement as c, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1190
1189
 
1191
- //# sourceMappingURL=index-05493327.js.map
1190
+ //# sourceMappingURL=index-050dd9d6.js.map