@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
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Siemens AG
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,69 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2022 Siemens AG
3
+
4
+ SPDX-License-Identifier: MIT
5
+ -->
6
+
7
+ ![iX](./logo.svg)
8
+
9
+ > Siemens Industrial Experience Icons
10
+
11
+ [![License: SEE LICENSE IN <LICENSE.md>](https://img.shields.io/badge/License-SEE%20LICENSE%20IN%20LICENSE.md-yellow.svg)](./LICENSE.md)
12
+
13
+ ## Usage
14
+
15
+ Using icons within your project. You need to:
16
+
17
+ - Install `@siemens/ix-icons` e.g. `npm install --save @siemens/ix-icons`
18
+
19
+ ```javascript
20
+ import { defineCustomElements } from '@siemens/ix-icons/loader';
21
+
22
+ (async () => {
23
+ await defineCustomElements();
24
+ })();
25
+ ```
26
+
27
+ ### Angular / Web Component
28
+
29
+ ```html
30
+ <ix-icon name="rocket"></ix-icon>
31
+ ```
32
+
33
+ ### React and Vue
34
+
35
+ ```tsx
36
+ import { rocket } from '@siemens/ix-icons/icons';
37
+
38
+ <ix-icon name={rocket}></ix-icon>;
39
+ ```
40
+
41
+ ### Use `ix-icon` component with custom svg's
42
+
43
+ ```tsx
44
+ <ix-icon name="/your/asset/path/my-icon.svg"></ix-icon>;
45
+ ```
46
+
47
+ ## Development
48
+
49
+ ### Installation
50
+
51
+ ```sh
52
+ pnpm install
53
+ ```
54
+
55
+ ### Build
56
+
57
+ ```sh
58
+ pnpm build
59
+ ```
60
+
61
+ ## 🤝 Contributing
62
+
63
+ Contributions, issues and feature requests are welcome!
64
+
65
+ ## 📝 License
66
+
67
+ Copyright © 2019–2023 [Siemens AG](https://www.siemens.com/).
68
+
69
+ This project is MIT licensed.
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ const globalScripts = () => {};
4
+
5
+ exports.globalScripts = globalScripts;
6
+
7
+ //# sourceMappingURL=app-globals-3a1e7e63.js.map
@@ -0,0 +1 @@
1
+ {"file":"app-globals-3a1e7e63.js","mappings":";;AAAY,MAAC,aAAa,GAAG,MAAM;;;;","names":[],"sources":["@stencil/core/internal/app-globals"],"sourcesContent":["export const globalScripts = () => {};\n"],"version":3}
@@ -0,0 +1,244 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index-af0541e0.js');
4
+
5
+ /*
6
+ * COPYRIGHT (c) Siemens AG 2018-2024 ALL RIGHTS RESERVED.
7
+ */
8
+ function getV3PreviewMetaElement() {
9
+ return document.querySelector("meta[name='ix-icons:v3-preview']");
10
+ }
11
+ function getV3PreviewMetaContent() {
12
+ const v3PreviewMetaElement = getV3PreviewMetaElement();
13
+ if (v3PreviewMetaElement) {
14
+ return v3PreviewMetaElement.getAttribute('content').split(';');
15
+ }
16
+ return null;
17
+ }
18
+ /**
19
+ * Provide custom svg path for icons
20
+ *
21
+ * <meta name="ix-icons:path" content="/build/svg" />
22
+ */
23
+ function getCustomAssetUrl() {
24
+ const assetPath = document.querySelector("meta[name='ix-icons:path']");
25
+ if (assetPath) {
26
+ const path = assetPath.getAttribute('content');
27
+ return path;
28
+ }
29
+ return false;
30
+ }
31
+ /**
32
+ * Enable v3 preview features
33
+ *
34
+ * <meta name="ix-icons:v3-preview" content="svg-path-loading;" />
35
+ */
36
+ function isV3PreviewEnabled() {
37
+ const features = getV3PreviewMetaContent();
38
+ if (!features) {
39
+ return false;
40
+ }
41
+ if (features.includes('svg-path-loading')) {
42
+ return true;
43
+ }
44
+ return false;
45
+ }
46
+
47
+ /*
48
+ * SPDX-FileCopyrightText: 2023 Siemens AG
49
+ *
50
+ * SPDX-License-Identifier: MIT
51
+ *
52
+ * This source code is licensed under the MIT license found in the
53
+ * LICENSE file in the root directory of this source tree.
54
+ */
55
+ let fetchCatch;
56
+ const requests = new Map();
57
+ let parser = null;
58
+ function toCamelCase(value) {
59
+ value = value.replace(/[\(\)\[\]\{\}\=\?\!\.\:,\-_\+\\\"#~\/]/g, ' ');
60
+ let returnValue = '';
61
+ let makeNextUppercase = true;
62
+ value = value.toLowerCase();
63
+ for (let i = 0; value.length > i; i++) {
64
+ let c = value.charAt(i);
65
+ if (c.match(/^\s+$/g) || c.match(/[\(\)\[\]\{\}\\\/]/g)) {
66
+ makeNextUppercase = true;
67
+ }
68
+ else if (makeNextUppercase) {
69
+ c = c.toUpperCase();
70
+ makeNextUppercase = false;
71
+ }
72
+ returnValue += c;
73
+ }
74
+ const normalized = returnValue.replace(/\s+/g, '');
75
+ return normalized.charAt(0).toUpperCase() + normalized.slice(1);
76
+ }
77
+ const getIconCacheMap = () => {
78
+ if (typeof window === 'undefined') {
79
+ return new Map();
80
+ }
81
+ if (!fetchCatch) {
82
+ window.IxIcons = window.IxIcons || {};
83
+ fetchCatch = window.IxIcons.map = window.IxIcons.map || new Map();
84
+ }
85
+ return fetchCatch;
86
+ };
87
+ const isSvgDataUrl = (url) => {
88
+ if (!url) {
89
+ return false;
90
+ }
91
+ if (typeof url !== 'string') {
92
+ return false;
93
+ }
94
+ return url.startsWith('data:image/svg+xml');
95
+ };
96
+ function parseSVGDataContent(content) {
97
+ if (typeof window['DOMParser'] === 'undefined') {
98
+ console.warn('DOMParser not supported by your browser.');
99
+ return;
100
+ }
101
+ if (parser === null) {
102
+ parser = new window['DOMParser']();
103
+ }
104
+ const svgDocument = parser.parseFromString(content, 'text/html');
105
+ const svgElement = svgDocument.querySelector('svg');
106
+ if (!svgElement) {
107
+ throw Error('No valid svg data provided');
108
+ }
109
+ return svgElement.outerHTML;
110
+ }
111
+ async function fetchSVG(url) {
112
+ const cache = getIconCacheMap();
113
+ if (cache.has(url)) {
114
+ return cache.get(url);
115
+ }
116
+ const response = await fetch(url);
117
+ const responseText = await response.text();
118
+ if (!response.ok) {
119
+ console.error(responseText);
120
+ throw Error(responseText);
121
+ }
122
+ const svgContent = parseSVGDataContent(responseText);
123
+ cache.set(url, svgContent);
124
+ return svgContent;
125
+ }
126
+ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\S+)(?:\S*)$/i;
127
+ function isValidUrl(url) {
128
+ return urlRegex.test(url);
129
+ }
130
+ function getAssetUrl(name) {
131
+ const customAssetUrl = getCustomAssetUrl();
132
+ if (customAssetUrl) {
133
+ return `${customAssetUrl}/${name}.svg`;
134
+ }
135
+ return index.getAssetPath(`svg/${name}.svg`);
136
+ }
137
+ async function getESMIcon(name) {
138
+ const esmIcon = await Promise.resolve().then(function () { return require('./icons-0dd6f96e.js'); });
139
+ let iconName = toCamelCase(name);
140
+ iconName = `icon${iconName}`;
141
+ return parseSVGDataContent(esmIcon[iconName]);
142
+ }
143
+ async function resolveIcon(iconName) {
144
+ if (!iconName) {
145
+ throw Error('No icon name provided');
146
+ }
147
+ if (isSvgDataUrl(iconName)) {
148
+ return parseSVGDataContent(iconName);
149
+ }
150
+ if (isValidUrl(iconName)) {
151
+ try {
152
+ return fetchSVG(iconName);
153
+ }
154
+ catch (error) {
155
+ throw error;
156
+ }
157
+ }
158
+ if (isV3PreviewEnabled()) {
159
+ console.warn('Using V3 preview feature for loading icons.');
160
+ try {
161
+ const request = requests.get(iconName);
162
+ if (!request) {
163
+ const fetching = fetchSVG(getAssetUrl(iconName));
164
+ requests.set(iconName, fetching);
165
+ return fetching;
166
+ }
167
+ return request;
168
+ }
169
+ catch (error) {
170
+ throw Error('Cannot resolve any icon');
171
+ }
172
+ }
173
+ return getESMIcon(iconName);
174
+ }
175
+
176
+ 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}";
177
+ const IxIconStyle0 = iconCss;
178
+
179
+ 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>";
180
+ const Icon = class {
181
+ constructor(hostRef) {
182
+ index.registerInstance(this, hostRef);
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 (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 (index.h(index.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
+ } }, index.h("div", { key: '48c3e8ae8e0d36be5fa112dbd408756f56c19535', class: 'svg-container', innerHTML: this.svgContent })));
233
+ }
234
+ static get assetsDirs() { return ["svg"]; }
235
+ get hostElement() { return index.getElement(this); }
236
+ static get watchers() { return {
237
+ "name": ["loadIconContent"]
238
+ }; }
239
+ };
240
+ Icon.style = IxIconStyle0;
241
+
242
+ exports.Icon = Icon;
243
+
244
+ //# sourceMappingURL=icon-58cf66e3.js.map
@@ -0,0 +1 @@
1
+ {"file":"icon-58cf66e3.js","mappings":"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","names":["getAssetPath","h","Host"],"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}