@siemens/ix-icons 0.0.0-20240422125504

Sign up to get free protection for your applications and to get access to all the features.
Files changed (802) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +69 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  4. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  5. package/dist/cjs/icon-58cf66e3.js +244 -0
  6. package/dist/cjs/icon-58cf66e3.js.map +1 -0
  7. package/dist/cjs/icons-0dd6f96e.js +1405 -0
  8. package/dist/cjs/icons-0dd6f96e.js.map +1 -0
  9. package/dist/cjs/index-af0541e0.js +1808 -0
  10. package/dist/cjs/index-af0541e0.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +12 -0
  12. package/dist/cjs/index.cjs.js.map +1 -0
  13. package/dist/cjs/ix-icon.cjs.entry.js +12 -0
  14. package/dist/cjs/ix-icon.cjs.entry.js.map +1 -0
  15. package/dist/cjs/ix-icons.cjs.js +27 -0
  16. package/dist/cjs/ix-icons.cjs.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +17 -0
  18. package/dist/cjs/loader.cjs.js.map +1 -0
  19. package/dist/collection/collection-manifest.json +12 -0
  20. package/dist/collection/components/icon/icon.css +54 -0
  21. package/dist/collection/components/icon/icon.js +165 -0
  22. package/dist/collection/components/icon/icon.js.map +1 -0
  23. package/dist/collection/components/icon/icons.js +702 -0
  24. package/dist/collection/components/icon/icons.js.map +1 -0
  25. package/dist/collection/components/icon/meta-tag.js +42 -0
  26. package/dist/collection/components/icon/meta-tag.js.map +1 -0
  27. package/dist/collection/components/icon/resolveIcon.js +131 -0
  28. package/dist/collection/components/icon/resolveIcon.js.map +1 -0
  29. package/dist/collection/components/icon/test/ix-icon.spec.js +61 -0
  30. package/dist/collection/components/icon/test/ix-icon.spec.js.map +1 -0
  31. package/dist/collection/components/icon/test/resolveIcon.spec.js +72 -0
  32. package/dist/collection/components/icon/test/resolveIcon.spec.js.map +1 -0
  33. package/dist/collection/components/icon/test/rocker-example.js +5 -0
  34. package/dist/collection/components/icon/test/rocker-example.js.map +1 -0
  35. package/dist/collection/index.js +2 -0
  36. package/dist/collection/index.js.map +1 -0
  37. package/dist/components/icon.js +266 -0
  38. package/dist/components/icon.js.map +1 -0
  39. package/dist/components/icons.js +705 -0
  40. package/dist/components/icons.js.map +1 -0
  41. package/dist/components/index.d.ts +33 -0
  42. package/dist/components/index.js +4 -0
  43. package/dist/components/index.js.map +1 -0
  44. package/dist/components/ix-icon.d.ts +11 -0
  45. package/dist/components/ix-icon.js +8 -0
  46. package/dist/components/ix-icon.js.map +1 -0
  47. package/dist/esm/app-globals-0f993ce5.js +5 -0
  48. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  49. package/dist/esm/icon-022f3b5e.js +242 -0
  50. package/dist/esm/icon-022f3b5e.js.map +1 -0
  51. package/dist/esm/icons-84dc9236.js +705 -0
  52. package/dist/esm/icons-84dc9236.js.map +1 -0
  53. package/dist/esm/index-8088fea1.js +1779 -0
  54. package/dist/esm/index-8088fea1.js.map +1 -0
  55. package/dist/esm/index.js +4 -0
  56. package/dist/esm/index.js.map +1 -0
  57. package/dist/esm/ix-icon.entry.js +4 -0
  58. package/dist/esm/ix-icon.entry.js.map +1 -0
  59. package/dist/esm/ix-icons.js +22 -0
  60. package/dist/esm/ix-icons.js.map +1 -0
  61. package/dist/esm/loader.js +13 -0
  62. package/dist/esm/loader.js.map +1 -0
  63. package/dist/esm/polyfills/core-js.js +11 -0
  64. package/dist/esm/polyfills/dom.js +79 -0
  65. package/dist/esm/polyfills/es5-html-element.js +1 -0
  66. package/dist/esm/polyfills/index.js +34 -0
  67. package/dist/esm/polyfills/system.js +6 -0
  68. package/dist/index.cjs.js +1 -0
  69. package/dist/index.js +1 -0
  70. package/dist/ix-icons/index.esm.js +2 -0
  71. package/dist/ix-icons/index.esm.js.map +1 -0
  72. package/dist/ix-icons/ix-icons.esm.js +2 -0
  73. package/dist/ix-icons/ix-icons.esm.js.map +1 -0
  74. package/dist/ix-icons/p-51684ec4.js +2 -0
  75. package/dist/ix-icons/p-51684ec4.js.map +1 -0
  76. package/dist/ix-icons/p-7d7f048e.js +2 -0
  77. package/dist/ix-icons/p-7d7f048e.js.map +1 -0
  78. package/dist/ix-icons/p-99baafb2.entry.js +2 -0
  79. package/dist/ix-icons/p-99baafb2.entry.js.map +1 -0
  80. package/dist/ix-icons/p-e1255160.js +2 -0
  81. package/dist/ix-icons/p-e1255160.js.map +1 -0
  82. package/dist/ix-icons/p-efdd4090.js +3 -0
  83. package/dist/ix-icons/p-efdd4090.js.map +1 -0
  84. package/dist/sample.json +703 -0
  85. package/dist/types/components/icon/icon.d.ts +32 -0
  86. package/dist/types/components/icon/icons.d.ts +700 -0
  87. package/dist/types/components/icon/meta-tag.d.ts +12 -0
  88. package/dist/types/components/icon/resolveIcon.d.ts +9 -0
  89. package/dist/types/components/icon/test/rocker-example.d.ts +1 -0
  90. package/dist/types/components.d.ts +63 -0
  91. package/dist/types/index.d.ts +2 -0
  92. package/dist/types/stencil-public-runtime.d.ts +1681 -0
  93. package/icons/index.d.ts +702 -0
  94. package/icons/index.js +702 -0
  95. package/icons/index.mjs +702 -0
  96. package/icons/package.json +8 -0
  97. package/loader/cdn.js +3 -0
  98. package/loader/index.cjs.js +3 -0
  99. package/loader/index.d.ts +21 -0
  100. package/loader/index.es2017.js +3 -0
  101. package/loader/index.js +4 -0
  102. package/loader/package.json +11 -0
  103. package/package.json +70 -0
  104. package/svg/about-filled.svg +1 -0
  105. package/svg/about.svg +1 -0
  106. package/svg/add-application.svg +1 -0
  107. package/svg/add-circle-filled.svg +1 -0
  108. package/svg/add-circle.svg +1 -0
  109. package/svg/add-document-note.svg +1 -0
  110. package/svg/add-eye-filled.svg +1 -0
  111. package/svg/add-eye.svg +1 -0
  112. package/svg/add-task-list.svg +1 -0
  113. package/svg/add-task.svg +1 -0
  114. package/svg/add-user-filled.svg +1 -0
  115. package/svg/add-user.svg +1 -0
  116. package/svg/add.svg +1 -0
  117. package/svg/ai.svg +1 -0
  118. package/svg/alarm-bell-cancelled-filled.svg +1 -0
  119. package/svg/alarm-bell-cancelled.svg +1 -0
  120. package/svg/alarm-bell-filled.svg +1 -0
  121. package/svg/alarm-bell.svg +1 -0
  122. package/svg/alarm-clock-filled.svg +1 -0
  123. package/svg/alarm-clock.svg +1 -0
  124. package/svg/alarm-filled.svg +1 -0
  125. package/svg/alarm.svg +1 -0
  126. package/svg/analyze.svg +1 -0
  127. package/svg/anomaly-found.svg +1 -0
  128. package/svg/anomaly.svg +1 -0
  129. package/svg/app-menu.svg +1 -0
  130. package/svg/application-screen.svg +1 -0
  131. package/svg/applications.svg +1 -0
  132. package/svg/apps.svg +1 -0
  133. package/svg/arrow-diagonal-bottom-left.svg +1 -0
  134. package/svg/arrow-diagonal-bottom-right.svg +1 -0
  135. package/svg/arrow-diagonal-top-left.svg +1 -0
  136. package/svg/arrow-diagonal-top-right.svg +1 -0
  137. package/svg/arrow-down-right.svg +1 -0
  138. package/svg/arrow-down.svg +1 -0
  139. package/svg/arrow-left.svg +1 -0
  140. package/svg/arrow-right-down.svg +1 -0
  141. package/svg/arrow-right.svg +1 -0
  142. package/svg/arrow-up.svg +1 -0
  143. package/svg/attach.svg +1 -0
  144. package/svg/attachment-upload.svg +1 -0
  145. package/svg/audio-description1.svg +1 -0
  146. package/svg/audio-description2.svg +1 -0
  147. package/svg/audit-report.svg +1 -0
  148. package/svg/average.svg +1 -0
  149. package/svg/backup-filled.svg +1 -0
  150. package/svg/backup.svg +1 -0
  151. package/svg/bar-code.svg +1 -0
  152. package/svg/barchart.svg +1 -0
  153. package/svg/battery-check.svg +1 -0
  154. package/svg/battery-empty-question.svg +1 -0
  155. package/svg/battery-empty.svg +1 -0
  156. package/svg/battery-exclamation.svg +1 -0
  157. package/svg/battery-full-check.svg +1 -0
  158. package/svg/battery-full.svg +1 -0
  159. package/svg/battery-half.svg +1 -0
  160. package/svg/battery-low.svg +1 -0
  161. package/svg/battery-quarter.svg +1 -0
  162. package/svg/battery-slash.svg +1 -0
  163. package/svg/battery-three-quarter.svg +1 -0
  164. package/svg/battery-xmark.svg +1 -0
  165. package/svg/bezier-curve.svg +1 -0
  166. package/svg/binoculars-filled.svg +1 -0
  167. package/svg/binoculars.svg +1 -0
  168. package/svg/blazor.svg +1 -0
  169. package/svg/book.svg +1 -0
  170. package/svg/bookmark-filled.svg +1 -0
  171. package/svg/bookmark.svg +1 -0
  172. package/svg/boundary-signals.svg +1 -0
  173. package/svg/building1-filled.svg +1 -0
  174. package/svg/building1.svg +1 -0
  175. package/svg/building2-filled.svg +1 -0
  176. package/svg/building2.svg +1 -0
  177. package/svg/bulb-filled.svg +1 -0
  178. package/svg/bulb.svg +1 -0
  179. package/svg/calendar-filled.svg +1 -0
  180. package/svg/calendar-settings.svg +1 -0
  181. package/svg/calendar.svg +1 -0
  182. package/svg/cancel.svg +1 -0
  183. package/svg/cancelled.svg +1 -0
  184. package/svg/capacity-filled.svg +1 -0
  185. package/svg/capacity.svg +1 -0
  186. package/svg/capture.svg +1 -0
  187. package/svg/car-filled.svg +1 -0
  188. package/svg/car.svg +1 -0
  189. package/svg/card-layout-filled.svg +1 -0
  190. package/svg/card-layout.svg +1 -0
  191. package/svg/certificate-error-filled.svg +1 -0
  192. package/svg/certificate-error.svg +1 -0
  193. package/svg/certificate-exclamation-filled.svg +1 -0
  194. package/svg/certificate-exclamation.svg +1 -0
  195. package/svg/certificate-success-filled.svg +1 -0
  196. package/svg/certificate-success.svg +1 -0
  197. package/svg/chart-cursor.svg +1 -0
  198. package/svg/chart-curve-linear.svg +1 -0
  199. package/svg/chart-curve-spline.svg +1 -0
  200. package/svg/chart-curve-stepped.svg +1 -0
  201. package/svg/chart-diagram-add.svg +1 -0
  202. package/svg/chart-diagram.svg +1 -0
  203. package/svg/chart-diagrams.svg +1 -0
  204. package/svg/chart-labels-filled.svg +1 -0
  205. package/svg/chart-labels.svg +1 -0
  206. package/svg/check-in.svg +1 -0
  207. package/svg/check-out.svg +1 -0
  208. package/svg/check.svg +1 -0
  209. package/svg/checkbox-component-checked.svg +1 -0
  210. package/svg/checkbox-component-mixed.svg +1 -0
  211. package/svg/checkbox-component-unchecked.svg +1 -0
  212. package/svg/checkbox-filled.svg +1 -0
  213. package/svg/checkbox.svg +1 -0
  214. package/svg/checkboxes-filled.svg +1 -0
  215. package/svg/checkboxes.svg +1 -0
  216. package/svg/chevron-down-small.svg +1 -0
  217. package/svg/chevron-down.svg +1 -0
  218. package/svg/chevron-left-small.svg +1 -0
  219. package/svg/chevron-left.svg +1 -0
  220. package/svg/chevron-right-small.svg +1 -0
  221. package/svg/chevron-right.svg +1 -0
  222. package/svg/chevron-up-small.svg +1 -0
  223. package/svg/chevron-up.svg +1 -0
  224. package/svg/circle-dot-filled.svg +1 -0
  225. package/svg/circle-dot.svg +1 -0
  226. package/svg/circle-filled.svg +1 -0
  227. package/svg/circle-pause-filled.svg +1 -0
  228. package/svg/circle-pause.svg +1 -0
  229. package/svg/circle-play-filled.svg +1 -0
  230. package/svg/circle-play.svg +1 -0
  231. package/svg/circle-stop-filled.svg +1 -0
  232. package/svg/circle-stop.svg +1 -0
  233. package/svg/circle.svg +1 -0
  234. package/svg/clear-filter-filled.svg +1 -0
  235. package/svg/clear-filter.svg +1 -0
  236. package/svg/clear.svg +1 -0
  237. package/svg/clock-filled.svg +1 -0
  238. package/svg/clock.svg +1 -0
  239. package/svg/close-small.svg +1 -0
  240. package/svg/close.svg +1 -0
  241. package/svg/cloud-download-add-filled.svg +1 -0
  242. package/svg/cloud-download-add.svg +1 -0
  243. package/svg/cloud-download-filled.svg +1 -0
  244. package/svg/cloud-download-list-filled.svg +1 -0
  245. package/svg/cloud-download-list.svg +1 -0
  246. package/svg/cloud-download.svg +1 -0
  247. package/svg/cloud-fail-filled.svg +1 -0
  248. package/svg/cloud-fail.svg +1 -0
  249. package/svg/cloud-filled.svg +1 -0
  250. package/svg/cloud-new-filled.svg +1 -0
  251. package/svg/cloud-new.svg +1 -0
  252. package/svg/cloud-success-filled.svg +1 -0
  253. package/svg/cloud-success.svg +1 -0
  254. package/svg/cloud-upload-filled.svg +1 -0
  255. package/svg/cloud-upload.svg +1 -0
  256. package/svg/cloud.svg +1 -0
  257. package/svg/code.svg +1 -0
  258. package/svg/coffee-empty-filled.svg +1 -0
  259. package/svg/coffee-empty.svg +1 -0
  260. package/svg/coffee-filled.svg +1 -0
  261. package/svg/coffee.svg +1 -0
  262. package/svg/cogwheel-filled.svg +1 -0
  263. package/svg/cogwheel.svg +1 -0
  264. package/svg/combine.svg +1 -0
  265. package/svg/compact-disc-filled.svg +1 -0
  266. package/svg/compact-disc.svg +1 -0
  267. package/svg/compound-block.svg +1 -0
  268. package/svg/configuration.svg +1 -0
  269. package/svg/configure-filled.svg +1 -0
  270. package/svg/configure.svg +1 -0
  271. package/svg/connected.svg +1 -0
  272. package/svg/connector-chart-filled.svg +1 -0
  273. package/svg/connector-chart.svg +1 -0
  274. package/svg/connector-filled.svg +1 -0
  275. package/svg/connector-hex-filled.svg +1 -0
  276. package/svg/connector-hex.svg +1 -0
  277. package/svg/connector-rect-filled.svg +1 -0
  278. package/svg/connector-rect.svg +1 -0
  279. package/svg/connector-rhomb-filled.svg +1 -0
  280. package/svg/connector-rhomb.svg +1 -0
  281. package/svg/connector.svg +1 -0
  282. package/svg/consistency-check.svg +1 -0
  283. package/svg/contact-details-filled.svg +1 -0
  284. package/svg/contact-details.svg +1 -0
  285. package/svg/context-menu.svg +1 -0
  286. package/svg/controlled-device.svg +1 -0
  287. package/svg/controller-device.svg +1 -0
  288. package/svg/copy.svg +1 -0
  289. package/svg/corner-arrow-up-left.svg +1 -0
  290. package/svg/couch-filled.svg +1 -0
  291. package/svg/couch.svg +1 -0
  292. package/svg/create-plant-filled.svg +1 -0
  293. package/svg/create-plant.svg +1 -0
  294. package/svg/cut.svg +1 -0
  295. package/svg/cycle.svg +1 -0
  296. package/svg/data-egress.svg +1 -0
  297. package/svg/data-ingress-egress.svg +1 -0
  298. package/svg/data-ingress.svg +1 -0
  299. package/svg/database-filled.svg +1 -0
  300. package/svg/database.svg +1 -0
  301. package/svg/details.svg +1 -0
  302. package/svg/diagram-module-library.svg +1 -0
  303. package/svg/diagram-module-new.svg +1 -0
  304. package/svg/diagram-module.svg +1 -0
  305. package/svg/diamond.svg +1 -0
  306. package/svg/disconnected.svg +1 -0
  307. package/svg/disk-filled.svg +1 -0
  308. package/svg/disk-pen.svg +1 -0
  309. package/svg/disk.svg +1 -0
  310. package/svg/distribution.svg +1 -0
  311. package/svg/doc-document.svg +1 -0
  312. package/svg/document-bulk.svg +1 -0
  313. package/svg/document-fail.svg +1 -0
  314. package/svg/document-info.svg +1 -0
  315. package/svg/document-link.svg +1 -0
  316. package/svg/document-management.svg +1 -0
  317. package/svg/document-reference.svg +1 -0
  318. package/svg/document-settings.svg +1 -0
  319. package/svg/document-success.svg +1 -0
  320. package/svg/document.svg +1 -0
  321. package/svg/double-check.svg +1 -0
  322. package/svg/double-chevron-down.svg +1 -0
  323. package/svg/double-chevron-left.svg +1 -0
  324. package/svg/double-chevron-right.svg +1 -0
  325. package/svg/double-chevron-up.svg +1 -0
  326. package/svg/doublet-filled.svg +1 -0
  327. package/svg/doublet.svg +1 -0
  328. package/svg/download-add.svg +1 -0
  329. package/svg/download-list.svg +1 -0
  330. package/svg/download.svg +1 -0
  331. package/svg/drop.svg +1 -0
  332. package/svg/duplicate-document.svg +1 -0
  333. package/svg/duplicate.svg +1 -0
  334. package/svg/e-mail-filled.svg +1 -0
  335. package/svg/e-mail.svg +1 -0
  336. package/svg/earth-filled.svg +1 -0
  337. package/svg/earth.svg +1 -0
  338. package/svg/edit-plant.svg +1 -0
  339. package/svg/electrical-energy-filled.svg +1 -0
  340. package/svg/electrical-energy.svg +1 -0
  341. package/svg/ellipse-arc.svg +1 -0
  342. package/svg/ellipse-filled.svg +1 -0
  343. package/svg/ellipse.svg +1 -0
  344. package/svg/error-filled.svg +1 -0
  345. package/svg/error.svg +1 -0
  346. package/svg/explore-filled.svg +1 -0
  347. package/svg/explore.svg +1 -0
  348. package/svg/export.svg +1 -0
  349. package/svg/eye-cancelled-filled.svg +1 -0
  350. package/svg/eye-cancelled.svg +1 -0
  351. package/svg/eye-filled.svg +1 -0
  352. package/svg/eye.svg +1 -0
  353. package/svg/factory-reset-filled.svg +1 -0
  354. package/svg/factory-reset.svg +1 -0
  355. package/svg/filter-filled.svg +1 -0
  356. package/svg/filter-outline.svg +1 -0
  357. package/svg/filter.svg +1 -0
  358. package/svg/fit-to-screen.svg +1 -0
  359. package/svg/flag-filled.svg +1 -0
  360. package/svg/flag.svg +1 -0
  361. package/svg/folder-down-filled.svg +1 -0
  362. package/svg/folder-down.svg +1 -0
  363. package/svg/folder-filled.svg +1 -0
  364. package/svg/folder-new-filled.svg +1 -0
  365. package/svg/folder-new-outline.svg +1 -0
  366. package/svg/folder-new.svg +1 -0
  367. package/svg/folder-open-filled.svg +1 -0
  368. package/svg/folder-open-outline.svg +1 -0
  369. package/svg/folder-open.svg +1 -0
  370. package/svg/folder-outline.svg +1 -0
  371. package/svg/folder-up-filled.svg +1 -0
  372. package/svg/folder-up.svg +1 -0
  373. package/svg/folder.svg +1 -0
  374. package/svg/full-screeen-exit.svg +1 -0
  375. package/svg/full-screeen.svg +1 -0
  376. package/svg/full-screen-exit.svg +1 -0
  377. package/svg/full-screen.svg +1 -0
  378. package/svg/function-block-library.svg +1 -0
  379. package/svg/function-block-new.svg +1 -0
  380. package/svg/function-block.svg +1 -0
  381. package/svg/function-diagram-new.svg +1 -0
  382. package/svg/function-diagram.svg +1 -0
  383. package/svg/gauge-filled.svg +1 -0
  384. package/svg/gauge.svg +1 -0
  385. package/svg/gaugechart.svg +1 -0
  386. package/svg/global-plant-filled.svg +1 -0
  387. package/svg/global-plant.svg +1 -0
  388. package/svg/globe-filled.svg +1 -0
  389. package/svg/globe.svg +1 -0
  390. package/svg/goto.svg +1 -0
  391. package/svg/group.svg +1 -0
  392. package/svg/hard-reset.svg +1 -0
  393. package/svg/hardware-cabinet.svg +1 -0
  394. package/svg/health-filled.svg +1 -0
  395. package/svg/health.svg +1 -0
  396. package/svg/heart-filled.svg +1 -0
  397. package/svg/heart.svg +1 -0
  398. package/svg/hexagon-vertical-bars-database-filled.svg +1 -0
  399. package/svg/hexagon-vertical-bars-database.svg +1 -0
  400. package/svg/hexagon-vertical-bars-filled.svg +1 -0
  401. package/svg/hexagon-vertical-bars.svg +1 -0
  402. package/svg/hierarchy.svg +1 -0
  403. package/svg/highlight-filled.svg +1 -0
  404. package/svg/highlight.svg +1 -0
  405. package/svg/history-list.svg +1 -0
  406. package/svg/history.svg +1 -0
  407. package/svg/home-filled.svg +1 -0
  408. package/svg/home.svg +1 -0
  409. package/svg/hourglass.svg +1 -0
  410. package/svg/image-filled.svg +1 -0
  411. package/svg/image.svg +1 -0
  412. package/svg/import.svg +1 -0
  413. package/svg/info-feed.svg +1 -0
  414. package/svg/info-filled.svg +1 -0
  415. package/svg/info.svg +1 -0
  416. package/svg/ingestion-report.svg +1 -0
  417. package/svg/ingestion.svg +1 -0
  418. package/svg/ink-pen.svg +1 -0
  419. package/svg/inquiry-filled.svg +1 -0
  420. package/svg/inquiry-mail.svg +1 -0
  421. package/svg/inquiry.svg +1 -0
  422. package/svg/item-details-filled.svg +1 -0
  423. package/svg/item-details.svg +1 -0
  424. package/svg/label-filled.svg +1 -0
  425. package/svg/label.svg +1 -0
  426. package/svg/landing-page-logo.svg +1 -0
  427. package/svg/language-filled.svg +1 -0
  428. package/svg/language.svg +1 -0
  429. package/svg/layers-filled.svg +1 -0
  430. package/svg/layers.svg +1 -0
  431. package/svg/leaf.svg +1 -0
  432. package/svg/legal.svg +1 -0
  433. package/svg/library-new.svg +1 -0
  434. package/svg/library.svg +1 -0
  435. package/svg/license.svg +1 -0
  436. package/svg/light-dark.svg +1 -0
  437. package/svg/line-diagonal.svg +1 -0
  438. package/svg/link.svg +1 -0
  439. package/svg/list.svg +1 -0
  440. package/svg/live-schedule.svg +1 -0
  441. package/svg/location-filled.svg +1 -0
  442. package/svg/location-outline.svg +1 -0
  443. package/svg/location.svg +1 -0
  444. package/svg/lock-filled.svg +1 -0
  445. package/svg/lock-key-filled.svg +1 -0
  446. package/svg/lock-key.svg +1 -0
  447. package/svg/lock.svg +1 -0
  448. package/svg/log-in.svg +1 -0
  449. package/svg/log-out.svg +1 -0
  450. package/svg/log.svg +1 -0
  451. package/svg/logic-diagram.svg +1 -0
  452. package/svg/lower-limit.svg +1 -0
  453. package/svg/mail-filled.svg +1 -0
  454. package/svg/mail.svg +1 -0
  455. package/svg/maintenance-documents.svg +1 -0
  456. package/svg/maintenance-info.svg +1 -0
  457. package/svg/maintenance-warning-filled.svg +1 -0
  458. package/svg/maintenance-warning.svg +1 -0
  459. package/svg/maintenance.svg +1 -0
  460. package/svg/mandatory-done.svg +1 -0
  461. package/svg/mandatory.svg +1 -0
  462. package/svg/map.svg +1 -0
  463. package/svg/maximize.svg +1 -0
  464. package/svg/microphone-filled.svg +1 -0
  465. package/svg/microphone.svg +1 -0
  466. package/svg/minimize.svg +1 -0
  467. package/svg/minus.svg +1 -0
  468. package/svg/missing-symbol.svg +1 -0
  469. package/svg/mix.svg +1 -0
  470. package/svg/monitor-filled.svg +1 -0
  471. package/svg/monitor-trend.svg +1 -0
  472. package/svg/monitor.svg +1 -0
  473. package/svg/monitoring-add.svg +1 -0
  474. package/svg/monitoring.svg +1 -0
  475. package/svg/monitorings.svg +1 -0
  476. package/svg/moon-filled.svg +1 -0
  477. package/svg/moon.svg +1 -0
  478. package/svg/more-menu.svg +1 -0
  479. package/svg/mouse-click-filled.svg +1 -0
  480. package/svg/mouse-click.svg +1 -0
  481. package/svg/mouse-select-filled.svg +1 -0
  482. package/svg/mouse-select.svg +1 -0
  483. package/svg/mp4-document.svg +1 -0
  484. package/svg/namur-check-function-filled.svg +1 -0
  485. package/svg/namur-check-function.svg +1 -0
  486. package/svg/namur-failure-filled.svg +1 -0
  487. package/svg/namur-failure.svg +1 -0
  488. package/svg/namur-maintenance-required-filled.svg +1 -0
  489. package/svg/namur-maintenance-required.svg +1 -0
  490. package/svg/namur-ok-filled.svg +1 -0
  491. package/svg/namur-ok.svg +1 -0
  492. package/svg/namur-out-of-spec-filled.svg +1 -0
  493. package/svg/namur-out-of-spec.svg +1 -0
  494. package/svg/navigation-filled.svg +1 -0
  495. package/svg/navigation-left.svg +1 -0
  496. package/svg/navigation-right.svg +1 -0
  497. package/svg/navigation.svg +1 -0
  498. package/svg/new-indicator-filled.svg +1 -0
  499. package/svg/new-indicator.svg +1 -0
  500. package/svg/no-filter-filled.svg +1 -0
  501. package/svg/no-filter.svg +1 -0
  502. package/svg/no-image.svg +1 -0
  503. package/svg/note-filled.svg +1 -0
  504. package/svg/note.svg +1 -0
  505. package/svg/notification-filled.svg +1 -0
  506. package/svg/notification.svg +1 -0
  507. package/svg/notifications-filled.svg +1 -0
  508. package/svg/notifications.svg +1 -0
  509. package/svg/ontology-filled.svg +1 -0
  510. package/svg/ontology.svg +1 -0
  511. package/svg/open-external.svg +1 -0
  512. package/svg/open-file-filled.svg +1 -0
  513. package/svg/open-file.svg +1 -0
  514. package/svg/operate-plant-filled.svg +1 -0
  515. package/svg/operate-plant.svg +1 -0
  516. package/svg/optimize.svg +1 -0
  517. package/svg/p-and-i-symbols.svg +1 -0
  518. package/svg/p-i-diagram.svg +1 -0
  519. package/svg/pan.svg +1 -0
  520. package/svg/paste.svg +1 -0
  521. package/svg/pause.svg +1 -0
  522. package/svg/pc-tower-filled.svg +1 -0
  523. package/svg/pc-tower.svg +1 -0
  524. package/svg/pdf-document.svg +1 -0
  525. package/svg/pen-filled.svg +1 -0
  526. package/svg/pen.svg +1 -0
  527. package/svg/phone-filled.svg +1 -0
  528. package/svg/phone.svg +1 -0
  529. package/svg/photo-camera-add.svg +1 -0
  530. package/svg/photo-camera-cancelled-filled.svg +1 -0
  531. package/svg/photo-camera-cancelled.svg +1 -0
  532. package/svg/photo-camera-filled.svg +1 -0
  533. package/svg/photo-camera.svg +1 -0
  534. package/svg/photo-cameras.svg +1 -0
  535. package/svg/piechart-filled.svg +1 -0
  536. package/svg/piechart.svg +1 -0
  537. package/svg/pin-filled.svg +1 -0
  538. package/svg/pin.svg +1 -0
  539. package/svg/plant-filled.svg +1 -0
  540. package/svg/plant-handbook-filled.svg +1 -0
  541. package/svg/plant-handbook.svg +1 -0
  542. package/svg/plant-outline.svg +1 -0
  543. package/svg/plant-security.svg +1 -0
  544. package/svg/plant-settings-filled.svg +1 -0
  545. package/svg/plant-settings.svg +1 -0
  546. package/svg/plant-user-filled.svg +1 -0
  547. package/svg/plant-user.svg +1 -0
  548. package/svg/plant.svg +1 -0
  549. package/svg/plants-filled.svg +1 -0
  550. package/svg/plants.svg +1 -0
  551. package/svg/play-filled.svg +1 -0
  552. package/svg/play-pause-filled.svg +1 -0
  553. package/svg/play-pause.svg +1 -0
  554. package/svg/play-stepwise-filled.svg +1 -0
  555. package/svg/play-stepwise.svg +1 -0
  556. package/svg/play.svg +1 -0
  557. package/svg/plus-minus-times-divide.svg +1 -0
  558. package/svg/plus.svg +1 -0
  559. package/svg/point-up-filled.svg +1 -0
  560. package/svg/point-up.svg +1 -0
  561. package/svg/polar-plot.svg +1 -0
  562. package/svg/polygon-filled.svg +1 -0
  563. package/svg/polygon-line.svg +1 -0
  564. package/svg/polygon.svg +1 -0
  565. package/svg/ppt-document.svg +1 -0
  566. package/svg/print-filled.svg +1 -0
  567. package/svg/print.svg +1 -0
  568. package/svg/prio-high.svg +1 -0
  569. package/svg/prio-low.svg +1 -0
  570. package/svg/prio-middle.svg +1 -0
  571. package/svg/product-catalog.svg +1 -0
  572. package/svg/product-management.svg +1 -0
  573. package/svg/product.svg +1 -0
  574. package/svg/project-configuration.svg +1 -0
  575. package/svg/project-new.svg +1 -0
  576. package/svg/project-scenarios.svg +1 -0
  577. package/svg/project-server-filled.svg +1 -0
  578. package/svg/project-server.svg +1 -0
  579. package/svg/project.svg +1 -0
  580. package/svg/protocol.svg +1 -0
  581. package/svg/publish-document.svg +1 -0
  582. package/svg/publish.svg +1 -0
  583. package/svg/qr-code.svg +1 -0
  584. package/svg/quality-report.svg +1 -0
  585. package/svg/question-filled.svg +1 -0
  586. package/svg/question.svg +1 -0
  587. package/svg/radarchart.svg +1 -0
  588. package/svg/radio-waves-off.svg +1 -0
  589. package/svg/radio-waves-warning.svg +1 -0
  590. package/svg/radio-waves.svg +1 -0
  591. package/svg/random-filled.svg +1 -0
  592. package/svg/random.svg +1 -0
  593. package/svg/reboot.svg +1 -0
  594. package/svg/rectangle-filled.svg +1 -0
  595. package/svg/rectangle.svg +1 -0
  596. package/svg/redo.svg +1 -0
  597. package/svg/reference.svg +1 -0
  598. package/svg/refresh-cancelled.svg +1 -0
  599. package/svg/refresh.svg +1 -0
  600. package/svg/reload.svg +1 -0
  601. package/svg/remove-application.svg +1 -0
  602. package/svg/remove-eye-filled.svg +1 -0
  603. package/svg/remove-eye.svg +1 -0
  604. package/svg/rename.svg +1 -0
  605. package/svg/replace.svg +1 -0
  606. package/svg/report-barchart.svg +1 -0
  607. package/svg/report-linechart.svg +1 -0
  608. package/svg/report-text.svg +1 -0
  609. package/svg/reset.svg +1 -0
  610. package/svg/restore-backup-filled.svg +1 -0
  611. package/svg/restore-backup-pc.svg +1 -0
  612. package/svg/restore-backup.svg +1 -0
  613. package/svg/rhomb-filled.svg +1 -0
  614. package/svg/rhomb.svg +1 -0
  615. package/svg/road-filled.svg +1 -0
  616. package/svg/road.svg +1 -0
  617. package/svg/rocket-filled.svg +1 -0
  618. package/svg/rocket.svg +1 -0
  619. package/svg/route-target.svg +1 -0
  620. package/svg/route.svg +1 -0
  621. package/svg/scatterplot.svg +1 -0
  622. package/svg/scheduler-filled.svg +1 -0
  623. package/svg/scheduler.svg +1 -0
  624. package/svg/screen-filled.svg +1 -0
  625. package/svg/screen.svg +1 -0
  626. package/svg/screenshot-filled.svg +1 -0
  627. package/svg/screenshot.svg +1 -0
  628. package/svg/script-add.svg +1 -0
  629. package/svg/script.svg +1 -0
  630. package/svg/scripts.svg +1 -0
  631. package/svg/search.svg +1 -0
  632. package/svg/share-filled.svg +1 -0
  633. package/svg/share.svg +1 -0
  634. package/svg/shopping-cart-filled.svg +1 -0
  635. package/svg/shopping-cart.svg +1 -0
  636. package/svg/shout-filled.svg +1 -0
  637. package/svg/shout.svg +1 -0
  638. package/svg/sign-language.svg +1 -0
  639. package/svg/signal-strength-0.svg +1 -0
  640. package/svg/signal-strength-1.svg +1 -0
  641. package/svg/signal-strength-2.svg +1 -0
  642. package/svg/signal-strength-3.svg +1 -0
  643. package/svg/signal-strength-4.svg +1 -0
  644. package/svg/signal-strength-5.svg +1 -0
  645. package/svg/signal-strength-6.svg +1 -0
  646. package/svg/signal-strength-7.svg +1 -0
  647. package/svg/signal-strength-8.svg +1 -0
  648. package/svg/simit-component.svg +1 -0
  649. package/svg/simit-macro-component-editor.svg +1 -0
  650. package/svg/simit-macro.svg +1 -0
  651. package/svg/single-check.svg +1 -0
  652. package/svg/skip-back-filled.svg +1 -0
  653. package/svg/skip-back.svg +1 -0
  654. package/svg/skip-filled.svg +1 -0
  655. package/svg/skip.svg +1 -0
  656. package/svg/snowflake.svg +1 -0
  657. package/svg/sort-ascending.svg +1 -0
  658. package/svg/sort-descending.svg +1 -0
  659. package/svg/sort.svg +1 -0
  660. package/svg/sound-loud-filled.svg +1 -0
  661. package/svg/sound-loud.svg +1 -0
  662. package/svg/sound-mute-filled.svg +1 -0
  663. package/svg/sound-mute.svg +1 -0
  664. package/svg/sound-off-filled.svg +1 -0
  665. package/svg/sound-off.svg +1 -0
  666. package/svg/sound-quiet-filled.svg +1 -0
  667. package/svg/sound-quiet.svg +1 -0
  668. package/svg/spatial.svg +1 -0
  669. package/svg/split-horizontally.svg +1 -0
  670. package/svg/split-vertically.svg +1 -0
  671. package/svg/stamp-filled.svg +1 -0
  672. package/svg/stamp.svg +1 -0
  673. package/svg/standby.svg +1 -0
  674. package/svg/star-add-filled.svg +1 -0
  675. package/svg/star-add.svg +1 -0
  676. package/svg/star-cancelled-filled.svg +1 -0
  677. package/svg/star-cancelled.svg +1 -0
  678. package/svg/star-filled.svg +1 -0
  679. package/svg/star-list-filled.svg +1 -0
  680. package/svg/star-list.svg +1 -0
  681. package/svg/star.svg +1 -0
  682. package/svg/start-data-analysis.svg +1 -0
  683. package/svg/steering-user-filled.svg +1 -0
  684. package/svg/steering-user.svg +1 -0
  685. package/svg/steering.svg +1 -0
  686. package/svg/stethoscope.svg +1 -0
  687. package/svg/stop-filled.svg +1 -0
  688. package/svg/stop.svg +1 -0
  689. package/svg/success-filled.svg +1 -0
  690. package/svg/success.svg +1 -0
  691. package/svg/sun-filled.svg +1 -0
  692. package/svg/sun.svg +1 -0
  693. package/svg/support.svg +1 -0
  694. package/svg/surveillance-cancelled-filled.svg +1 -0
  695. package/svg/surveillance-cancelled.svg +1 -0
  696. package/svg/surveillance-filled.svg +1 -0
  697. package/svg/surveillance.svg +1 -0
  698. package/svg/svg-document.svg +1 -0
  699. package/svg/swap-left-right.svg +1 -0
  700. package/svg/switch-slider.svg +1 -0
  701. package/svg/table-columns.svg +1 -0
  702. package/svg/table-rows.svg +1 -0
  703. package/svg/table-settings.svg +1 -0
  704. package/svg/table.svg +1 -0
  705. package/svg/tag-filled.svg +1 -0
  706. package/svg/tag-plus-filled.svg +1 -0
  707. package/svg/tag-plus.svg +1 -0
  708. package/svg/tag.svg +1 -0
  709. package/svg/tasks-all.svg +1 -0
  710. package/svg/tasks-done.svg +1 -0
  711. package/svg/tasks-open.svg +1 -0
  712. package/svg/text-circle-rectangle-filled.svg +1 -0
  713. package/svg/text-circle-rectangle.svg +1 -0
  714. package/svg/text-document.svg +1 -0
  715. package/svg/text.svg +1 -0
  716. package/svg/threshold-cancelled.svg +1 -0
  717. package/svg/threshold-off.svg +1 -0
  718. package/svg/threshold-on.svg +1 -0
  719. package/svg/to-be-published.svg +1 -0
  720. package/svg/to-search.svg +1 -0
  721. package/svg/topic-filled.svg +1 -0
  722. package/svg/topic.svg +1 -0
  723. package/svg/touch-filled.svg +1 -0
  724. package/svg/touch.svg +1 -0
  725. package/svg/trashcan-filled.svg +1 -0
  726. package/svg/trashcan.svg +1 -0
  727. package/svg/tree.svg +1 -0
  728. package/svg/trend-downward-filled.svg +1 -0
  729. package/svg/trend-downward.svg +1 -0
  730. package/svg/trend-sideways-filled.svg +1 -0
  731. package/svg/trend-sideways.svg +1 -0
  732. package/svg/trend-upward-filled.svg +1 -0
  733. package/svg/trend-upward.svg +1 -0
  734. package/svg/trend.svg +1 -0
  735. package/svg/triangle-filled.svg +1 -0
  736. package/svg/triangle.svg +1 -0
  737. package/svg/truck-filled.svg +1 -0
  738. package/svg/truck.svg +1 -0
  739. package/svg/tulip-filled.svg +1 -0
  740. package/svg/tulip.svg +1 -0
  741. package/svg/txt-document.svg +1 -0
  742. package/svg/undo.svg +1 -0
  743. package/svg/ungroup.svg +1 -0
  744. package/svg/unlock-filled.svg +1 -0
  745. package/svg/unlock-plant-filled.svg +1 -0
  746. package/svg/unlock-plant.svg +1 -0
  747. package/svg/unlock.svg +1 -0
  748. package/svg/upload-document-note.svg +1 -0
  749. package/svg/upload-fail.svg +1 -0
  750. package/svg/upload-success.svg +1 -0
  751. package/svg/upload.svg +1 -0
  752. package/svg/upper-limit.svg +1 -0
  753. package/svg/user-check-filled.svg +1 -0
  754. package/svg/user-check.svg +1 -0
  755. package/svg/user-fail-filled.svg +1 -0
  756. package/svg/user-fail.svg +1 -0
  757. package/svg/user-filled.svg +1 -0
  758. package/svg/user-management-filled.svg +1 -0
  759. package/svg/user-management.svg +1 -0
  760. package/svg/user-profile-filled.svg +1 -0
  761. package/svg/user-profile.svg +1 -0
  762. package/svg/user-reading-reading.svg +1 -0
  763. package/svg/user-reading.svg +1 -0
  764. package/svg/user-settings-filled.svg +1 -0
  765. package/svg/user-settings.svg +1 -0
  766. package/svg/user.svg +1 -0
  767. package/svg/validate.svg +1 -0
  768. package/svg/vdi-folder.svg +1 -0
  769. package/svg/version-history.svg +1 -0
  770. package/svg/video-file-filled.svg +1 -0
  771. package/svg/video-file.svg +1 -0
  772. package/svg/warning-filled.svg +1 -0
  773. package/svg/warning-rhomb-filled.svg +1 -0
  774. package/svg/warning-rhomb.svg +1 -0
  775. package/svg/warning.svg +1 -0
  776. package/svg/water-bathing.svg +1 -0
  777. package/svg/water-fish.svg +1 -0
  778. package/svg/water-plant.svg +1 -0
  779. package/svg/water-sunbathing.svg +1 -0
  780. package/svg/waveform.svg +1 -0
  781. package/svg/webcam-cancelled-filled.svg +1 -0
  782. package/svg/webcam-cancelled.svg +1 -0
  783. package/svg/webcam-filled.svg +1 -0
  784. package/svg/webcam.svg +1 -0
  785. package/svg/wlan-off.svg +1 -0
  786. package/svg/wlan-strength-0.svg +1 -0
  787. package/svg/wlan-strength-1.svg +1 -0
  788. package/svg/wlan-strength-2.svg +1 -0
  789. package/svg/wlan-strength-3.svg +1 -0
  790. package/svg/work-case-filled.svg +1 -0
  791. package/svg/work-case.svg +1 -0
  792. package/svg/workspace.svg +1 -0
  793. package/svg/workspaces.svg +1 -0
  794. package/svg/x-axis-settings.svg +1 -0
  795. package/svg/xls-document.svg +1 -0
  796. package/svg/xml-document.svg +1 -0
  797. package/svg/y-axis-settings.svg +1 -0
  798. package/svg/youtube-filled.svg +1 -0
  799. package/svg/youtube.svg +1 -0
  800. package/svg/zoom-in.svg +1 -0
  801. package/svg/zoom-out.svg +1 -0
  802. package/svg/zoom-selection.svg +1 -0
@@ -0,0 +1,266 @@
1
+ import { getAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
2
+
3
+ /*
4
+ * COPYRIGHT (c) Siemens AG 2018-2024 ALL RIGHTS RESERVED.
5
+ */
6
+ function getV3PreviewMetaElement() {
7
+ return document.querySelector("meta[name='ix-icons:v3-preview']");
8
+ }
9
+ function getV3PreviewMetaContent() {
10
+ const v3PreviewMetaElement = getV3PreviewMetaElement();
11
+ if (v3PreviewMetaElement) {
12
+ return v3PreviewMetaElement.getAttribute('content').split(';');
13
+ }
14
+ return null;
15
+ }
16
+ /**
17
+ * Provide custom svg path for icons
18
+ *
19
+ * <meta name="ix-icons:path" content="/build/svg" />
20
+ */
21
+ function getCustomAssetUrl() {
22
+ const assetPath = document.querySelector("meta[name='ix-icons:path']");
23
+ if (assetPath) {
24
+ const path = assetPath.getAttribute('content');
25
+ return path;
26
+ }
27
+ return false;
28
+ }
29
+ /**
30
+ * Enable v3 preview features
31
+ *
32
+ * <meta name="ix-icons:v3-preview" content="svg-path-loading;" />
33
+ */
34
+ function isV3PreviewEnabled() {
35
+ const features = getV3PreviewMetaContent();
36
+ if (!features) {
37
+ return false;
38
+ }
39
+ if (features.includes('svg-path-loading')) {
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+
45
+ /*
46
+ * SPDX-FileCopyrightText: 2023 Siemens AG
47
+ *
48
+ * SPDX-License-Identifier: MIT
49
+ *
50
+ * This source code is licensed under the MIT license found in the
51
+ * LICENSE file in the root directory of this source tree.
52
+ */
53
+ let fetchCatch;
54
+ const requests = new Map();
55
+ let parser = null;
56
+ function toCamelCase(value) {
57
+ value = value.replace(/[\(\)\[\]\{\}\=\?\!\.\:,\-_\+\\\"#~\/]/g, ' ');
58
+ let returnValue = '';
59
+ let makeNextUppercase = true;
60
+ value = value.toLowerCase();
61
+ for (let i = 0; value.length > i; i++) {
62
+ let c = value.charAt(i);
63
+ if (c.match(/^\s+$/g) || c.match(/[\(\)\[\]\{\}\\\/]/g)) {
64
+ makeNextUppercase = true;
65
+ }
66
+ else if (makeNextUppercase) {
67
+ c = c.toUpperCase();
68
+ makeNextUppercase = false;
69
+ }
70
+ returnValue += c;
71
+ }
72
+ const normalized = returnValue.replace(/\s+/g, '');
73
+ return normalized.charAt(0).toUpperCase() + normalized.slice(1);
74
+ }
75
+ const getIconCacheMap = () => {
76
+ if (typeof window === 'undefined') {
77
+ return new Map();
78
+ }
79
+ if (!fetchCatch) {
80
+ window.IxIcons = window.IxIcons || {};
81
+ fetchCatch = window.IxIcons.map = window.IxIcons.map || new Map();
82
+ }
83
+ return fetchCatch;
84
+ };
85
+ const isSvgDataUrl = (url) => {
86
+ if (!url) {
87
+ return false;
88
+ }
89
+ if (typeof url !== 'string') {
90
+ return false;
91
+ }
92
+ return url.startsWith('data:image/svg+xml');
93
+ };
94
+ function parseSVGDataContent(content) {
95
+ if (typeof window['DOMParser'] === 'undefined') {
96
+ console.warn('DOMParser not supported by your browser.');
97
+ return;
98
+ }
99
+ if (parser === null) {
100
+ parser = new window['DOMParser']();
101
+ }
102
+ const svgDocument = parser.parseFromString(content, 'text/html');
103
+ const svgElement = svgDocument.querySelector('svg');
104
+ if (!svgElement) {
105
+ throw Error('No valid svg data provided');
106
+ }
107
+ return svgElement.outerHTML;
108
+ }
109
+ async function fetchSVG(url) {
110
+ const cache = getIconCacheMap();
111
+ if (cache.has(url)) {
112
+ return cache.get(url);
113
+ }
114
+ const response = await fetch(url);
115
+ const responseText = await response.text();
116
+ if (!response.ok) {
117
+ console.error(responseText);
118
+ throw Error(responseText);
119
+ }
120
+ const svgContent = parseSVGDataContent(responseText);
121
+ cache.set(url, svgContent);
122
+ return svgContent;
123
+ }
124
+ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\S+)(?:\S*)$/i;
125
+ function isValidUrl(url) {
126
+ return urlRegex.test(url);
127
+ }
128
+ function getAssetUrl(name) {
129
+ const customAssetUrl = getCustomAssetUrl();
130
+ if (customAssetUrl) {
131
+ return `${customAssetUrl}/${name}.svg`;
132
+ }
133
+ return getAssetPath(`svg/${name}.svg`);
134
+ }
135
+ async function getESMIcon(name) {
136
+ const esmIcon = await import('./icons.js');
137
+ let iconName = toCamelCase(name);
138
+ iconName = `icon${iconName}`;
139
+ return parseSVGDataContent(esmIcon[iconName]);
140
+ }
141
+ async function resolveIcon(iconName) {
142
+ if (!iconName) {
143
+ throw Error('No icon name provided');
144
+ }
145
+ if (isSvgDataUrl(iconName)) {
146
+ return parseSVGDataContent(iconName);
147
+ }
148
+ if (isValidUrl(iconName)) {
149
+ try {
150
+ return fetchSVG(iconName);
151
+ }
152
+ catch (error) {
153
+ throw error;
154
+ }
155
+ }
156
+ if (isV3PreviewEnabled()) {
157
+ console.warn('Using V3 preview feature for loading icons.');
158
+ try {
159
+ const request = requests.get(iconName);
160
+ if (!request) {
161
+ const fetching = fetchSVG(getAssetUrl(iconName));
162
+ requests.set(iconName, fetching);
163
+ return fetching;
164
+ }
165
+ return request;
166
+ }
167
+ catch (error) {
168
+ throw Error('Cannot resolve any icon');
169
+ }
170
+ }
171
+ return getESMIcon(iconName);
172
+ }
173
+
174
+ 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}";
175
+ const IxIconStyle0 = iconCss;
176
+
177
+ const iconMissingSymbol = "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>";
178
+ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends HTMLElement {
179
+ constructor() {
180
+ super();
181
+ this.__registerHost();
182
+ this.__attachShadow();
183
+ this.size = undefined;
184
+ this.color = undefined;
185
+ this.name = undefined;
186
+ this.lazyLoading = false;
187
+ this.svgContent = undefined;
188
+ this.isVisible = false;
189
+ }
190
+ connectedCallback() {
191
+ this.waitForRendering(() => {
192
+ this.isVisible = true;
193
+ this.loadIconContent();
194
+ });
195
+ }
196
+ async loadIconContent() {
197
+ try {
198
+ this.svgContent = await resolveIcon(this.name);
199
+ }
200
+ catch (error) {
201
+ this.svgContent = parseSVGDataContent(iconMissingSymbol);
202
+ }
203
+ }
204
+ waitForRendering(onRender) {
205
+ if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && window.IntersectionObserver) {
206
+ const observer = new IntersectionObserver(entries => {
207
+ entries.forEach(entry => {
208
+ if (entry.isIntersecting) {
209
+ onRender();
210
+ observer.disconnect();
211
+ }
212
+ });
213
+ }, {
214
+ rootMargin: '25px',
215
+ });
216
+ observer.observe(this.hostElement);
217
+ }
218
+ else {
219
+ onRender();
220
+ }
221
+ }
222
+ render() {
223
+ const style = {};
224
+ if (this.color) {
225
+ style['color'] = `var(--theme-${this.color})`;
226
+ }
227
+ return (h(Host, { key: '8dc18bf3b1ab1e2a521bd0fee33fa91b856dc52b', style: style, class: {
228
+ ['size-12']: this.size === '12',
229
+ ['size-16']: this.size === '16',
230
+ ['size-24']: this.size === '24',
231
+ ['size-32']: this.size === '32',
232
+ } }, h("div", { key: '48c3e8ae8e0d36be5fa112dbd408756f56c19535', class: 'svg-container', innerHTML: this.svgContent })));
233
+ }
234
+ static get assetsDirs() { return ["svg"]; }
235
+ get hostElement() { return this; }
236
+ static get watchers() { return {
237
+ "name": ["loadIconContent"]
238
+ }; }
239
+ static get style() { return IxIconStyle0; }
240
+ }, [1, "ix-icon", {
241
+ "size": [1],
242
+ "color": [1],
243
+ "name": [1],
244
+ "lazyLoading": [4, "lazy-loading"],
245
+ "svgContent": [32],
246
+ "isVisible": [32]
247
+ }, undefined, {
248
+ "name": ["loadIconContent"]
249
+ }]);
250
+ function defineCustomElement() {
251
+ if (typeof customElements === "undefined") {
252
+ return;
253
+ }
254
+ const components = ["ix-icon"];
255
+ components.forEach(tagName => { switch (tagName) {
256
+ case "ix-icon":
257
+ if (!customElements.get(tagName)) {
258
+ customElements.define(tagName, Icon);
259
+ }
260
+ break;
261
+ } });
262
+ }
263
+
264
+ export { Icon as I, defineCustomElement as d };
265
+
266
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"file":"icon.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 * COPYRIGHT (c) Siemens AG 2018-2024 ALL RIGHTS RESERVED.\n */\n\nfunction getV3PreviewMetaElement() {\n return document.querySelector(\"meta[name='ix-icons:v3-preview']\");\n}\n\nfunction getV3PreviewMetaContent() {\n const v3PreviewMetaElement = getV3PreviewMetaElement();\n if (v3PreviewMetaElement) {\n return v3PreviewMetaElement.getAttribute('content').split(';');\n }\n\n return null;\n}\n\n/**\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/**\n * Enable v3 preview features\n *\n * <meta name=\"ix-icons:v3-preview\" content=\"svg-path-loading;\" />\n */\nexport function isV3PreviewEnabled() {\n const features = getV3PreviewMetaContent();\n\n if (!features) {\n return false;\n }\n\n if (features.includes('svg-path-loading')) {\n return true;\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 } from '@stencil/core';\nimport { getCustomAssetUrl, isV3PreviewEnabled } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCatch: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nfunction toCamelCase(value: string) {\n value = value.replace(/[\\(\\)\\[\\]\\{\\}\\=\\?\\!\\.\\:,\\-_\\+\\\\\\\"#~\\/]/g, ' ');\n let returnValue = '';\n let makeNextUppercase = true;\n value = value.toLowerCase();\n for (let i = 0; value.length > i; i++) {\n let c = value.charAt(i);\n if (c.match(/^\\s+$/g) || c.match(/[\\(\\)\\[\\]\\{\\}\\\\\\/]/g)) {\n makeNextUppercase = true;\n } else if (makeNextUppercase) {\n c = c.toUpperCase();\n makeNextUppercase = false;\n }\n returnValue += c;\n }\n const normalized = returnValue.replace(/\\s+/g, '');\n return normalized.charAt(0).toUpperCase() + normalized.slice(1);\n}\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCatch) {\n window.IxIcons = window.IxIcons || {};\n fetchCatch = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCatch;\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 const response = await fetch(url);\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 return svgContent;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nfunction getAssetUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n return getAssetPath(`svg/${name}.svg`);\n}\n\nasync function getESMIcon(name: string) {\n const esmIcon = await import('./icons');\n let iconName = toCamelCase(name);\n iconName = `icon${iconName}`;\n\n return parseSVGDataContent(esmIcon[iconName]);\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 if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n if (isV3PreviewEnabled()) {\n console.warn('Using V3 preview feature for loading icons.');\n try {\n const request = requests.get(iconName);\n\n if (!request) {\n const fetching = fetchSVG(getAssetUrl(iconName));\n requests.set(iconName, fetching);\n return fetching;\n }\n\n return request;\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n }\n\n return getESMIcon(iconName);\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 connectedCallback() {\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}