@siemens/ix-icons 0.0.0-20240827093643 → 0.0.0-20240827131228
Sign up to get free protection for your applications and to get access to all the features.
- package/{dist/components → components}/icon.js +13 -4
- package/components/icon.js.map +1 -0
- package/{dist/components → components}/ix-icon.d.ts +1 -1
- package/dist/cjs/{icon-1370f4c0.js → icon-93104dbb.js} +13 -4
- package/dist/cjs/icon-93104dbb.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-icon.cjs.entry.js +1 -1
- package/dist/collection/components/icon/resolveIcon.js +13 -4
- package/dist/collection/components/icon/resolveIcon.js.map +1 -1
- package/dist/collection/components/icon/test/resolveIcon.spec.js +3 -3
- package/dist/collection/components/icon/test/resolveIcon.spec.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/esm/{icon-dd32731a.js → icon-97776d4a.js} +14 -5
- package/dist/esm/icon-97776d4a.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/ix-icon.entry.js +1 -1
- package/dist/ix-icons/index.esm.js +1 -1
- package/dist/ix-icons/ix-icons.esm.js +1 -1
- package/dist/ix-icons/p-60aebf69.entry.js +2 -0
- package/dist/ix-icons/p-cf592f05.js +2 -0
- package/dist/ix-icons/p-cf592f05.js.map +1 -0
- package/dist/ix-icons/svg/about-filled.svg +1 -0
- package/dist/ix-icons/svg/about.svg +1 -0
- package/dist/ix-icons/svg/add-application.svg +1 -0
- package/dist/ix-icons/svg/add-circle-filled.svg +1 -0
- package/dist/ix-icons/svg/add-circle.svg +1 -0
- package/dist/ix-icons/svg/add-document-note.svg +1 -0
- package/dist/ix-icons/svg/add-eye-filled.svg +1 -0
- package/dist/ix-icons/svg/add-eye.svg +1 -0
- package/dist/ix-icons/svg/add-filter-filled.svg +1 -0
- package/dist/ix-icons/svg/add-filter.svg +1 -0
- package/dist/ix-icons/svg/add-selection.svg +1 -0
- package/dist/ix-icons/svg/add-shield-half.svg +1 -0
- package/dist/ix-icons/svg/add-task-list.svg +1 -0
- package/dist/ix-icons/svg/add-task.svg +1 -0
- package/dist/ix-icons/svg/add-user-filled.svg +1 -0
- package/dist/ix-icons/svg/add-user.svg +1 -0
- package/dist/ix-icons/svg/add.svg +1 -0
- package/dist/ix-icons/svg/ai.svg +1 -0
- package/dist/ix-icons/svg/alarm-bell-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/alarm-bell-cancelled.svg +1 -0
- package/dist/ix-icons/svg/alarm-bell-filled.svg +1 -0
- package/dist/ix-icons/svg/alarm-bell.svg +1 -0
- package/dist/ix-icons/svg/alarm-clock-cancelled.svg +1 -0
- package/dist/ix-icons/svg/alarm-clock-filled.svg +1 -0
- package/dist/ix-icons/svg/alarm-clock-success.svg +1 -0
- package/dist/ix-icons/svg/alarm-clock.svg +1 -0
- package/dist/ix-icons/svg/alarm-filled.svg +1 -0
- package/dist/ix-icons/svg/alarm.svg +1 -0
- package/dist/ix-icons/svg/analyze.svg +1 -0
- package/dist/ix-icons/svg/anomaly-found.svg +1 -0
- package/dist/ix-icons/svg/anomaly.svg +1 -0
- package/dist/ix-icons/svg/app-menu.svg +1 -0
- package/dist/ix-icons/svg/application-screen.svg +1 -0
- package/dist/ix-icons/svg/applications.svg +1 -0
- package/dist/ix-icons/svg/apps.svg +1 -0
- package/dist/ix-icons/svg/arrow-diagonal-bottom-left.svg +1 -0
- package/dist/ix-icons/svg/arrow-diagonal-bottom-right.svg +1 -0
- package/dist/ix-icons/svg/arrow-diagonal-top-left.svg +1 -0
- package/dist/ix-icons/svg/arrow-diagonal-top-right.svg +1 -0
- package/dist/ix-icons/svg/arrow-down-right.svg +1 -0
- package/dist/ix-icons/svg/arrow-down.svg +1 -0
- package/dist/ix-icons/svg/arrow-left.svg +1 -0
- package/dist/ix-icons/svg/arrow-right-down.svg +1 -0
- package/dist/ix-icons/svg/arrow-right.svg +1 -0
- package/dist/ix-icons/svg/arrow-up.svg +1 -0
- package/dist/ix-icons/svg/attach.svg +1 -0
- package/dist/ix-icons/svg/attachment-upload.svg +1 -0
- package/dist/ix-icons/svg/audio-description1.svg +1 -0
- package/dist/ix-icons/svg/audio-description2.svg +1 -0
- package/dist/ix-icons/svg/audit-report.svg +1 -0
- package/dist/ix-icons/svg/average.svg +1 -0
- package/dist/ix-icons/svg/backup-filled.svg +1 -0
- package/dist/ix-icons/svg/backup.svg +1 -0
- package/dist/ix-icons/svg/bar-code.svg +1 -0
- package/dist/ix-icons/svg/barchart.svg +1 -0
- package/dist/ix-icons/svg/battery-bolt.svg +1 -0
- package/dist/ix-icons/svg/battery-check.svg +1 -0
- package/dist/ix-icons/svg/battery-empty-question.svg +1 -0
- package/dist/ix-icons/svg/battery-empty.svg +1 -0
- package/dist/ix-icons/svg/battery-exclamation.svg +1 -0
- package/dist/ix-icons/svg/battery-full-check.svg +1 -0
- package/dist/ix-icons/svg/battery-full.svg +1 -0
- package/dist/ix-icons/svg/battery-half.svg +1 -0
- package/dist/ix-icons/svg/battery-low.svg +1 -0
- package/dist/ix-icons/svg/battery-quarter.svg +1 -0
- package/dist/ix-icons/svg/battery-slash.svg +1 -0
- package/dist/ix-icons/svg/battery-three-quarter.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-bolt.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-check.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-empty.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-exclamation.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-full-check.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-full.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-half.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-low.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-quarter.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-question.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-slash.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-three-quarter.svg +1 -0
- package/dist/ix-icons/svg/battery-upright-xmark.svg +1 -0
- package/dist/ix-icons/svg/battery-xmark.svg +1 -0
- package/dist/ix-icons/svg/bezier-curve.svg +1 -0
- package/dist/ix-icons/svg/binoculars-filled.svg +1 -0
- package/dist/ix-icons/svg/binoculars.svg +1 -0
- package/dist/ix-icons/svg/blazor.svg +1 -0
- package/dist/ix-icons/svg/book.svg +1 -0
- package/dist/ix-icons/svg/bookmark-filled.svg +1 -0
- package/dist/ix-icons/svg/bookmark.svg +1 -0
- package/dist/ix-icons/svg/boundary-signals.svg +1 -0
- package/dist/ix-icons/svg/box-closed.svg +1 -0
- package/dist/ix-icons/svg/box-ipc-fail.svg +1 -0
- package/dist/ix-icons/svg/box-ipc-question.svg +1 -0
- package/dist/ix-icons/svg/box-ipc-success.svg +1 -0
- package/dist/ix-icons/svg/box-ipc.svg +1 -0
- package/dist/ix-icons/svg/box-open.svg +1 -0
- package/dist/ix-icons/svg/bug-filled.svg +1 -0
- package/dist/ix-icons/svg/bug.svg +1 -0
- package/dist/ix-icons/svg/building1-filled.svg +1 -0
- package/dist/ix-icons/svg/building1.svg +1 -0
- package/dist/ix-icons/svg/building2-filled.svg +1 -0
- package/dist/ix-icons/svg/building2.svg +1 -0
- package/dist/ix-icons/svg/bulb-filled.svg +1 -0
- package/dist/ix-icons/svg/bulb.svg +1 -0
- package/dist/ix-icons/svg/calculator.svg +1 -0
- package/dist/ix-icons/svg/calendar-filled.svg +1 -0
- package/dist/ix-icons/svg/calendar-settings.svg +1 -0
- package/dist/ix-icons/svg/calendar.svg +1 -0
- package/dist/ix-icons/svg/cancel.svg +1 -0
- package/dist/ix-icons/svg/cancelled.svg +1 -0
- package/dist/ix-icons/svg/capacity-filled.svg +1 -0
- package/dist/ix-icons/svg/capacity.svg +1 -0
- package/dist/ix-icons/svg/capture.svg +1 -0
- package/dist/ix-icons/svg/car-filled.svg +1 -0
- package/dist/ix-icons/svg/car.svg +1 -0
- package/dist/ix-icons/svg/card-layout-filled.svg +1 -0
- package/dist/ix-icons/svg/card-layout.svg +1 -0
- package/dist/ix-icons/svg/certificate-error-filled.svg +1 -0
- package/dist/ix-icons/svg/certificate-error.svg +1 -0
- package/dist/ix-icons/svg/certificate-exclamation-filled.svg +1 -0
- package/dist/ix-icons/svg/certificate-exclamation.svg +1 -0
- package/dist/ix-icons/svg/certificate-success-filled.svg +1 -0
- package/dist/ix-icons/svg/certificate-success.svg +1 -0
- package/dist/ix-icons/svg/chart-cursor.svg +1 -0
- package/dist/ix-icons/svg/chart-curve-linear.svg +1 -0
- package/dist/ix-icons/svg/chart-curve-spline.svg +1 -0
- package/dist/ix-icons/svg/chart-curve-stepped.svg +1 -0
- package/dist/ix-icons/svg/chart-diagram-add.svg +1 -0
- package/dist/ix-icons/svg/chart-diagram.svg +1 -0
- package/dist/ix-icons/svg/chart-diagrams.svg +1 -0
- package/dist/ix-icons/svg/chart-labels-filled.svg +1 -0
- package/dist/ix-icons/svg/chart-labels.svg +1 -0
- package/dist/ix-icons/svg/check-in.svg +1 -0
- package/dist/ix-icons/svg/check-out.svg +1 -0
- package/dist/ix-icons/svg/check.svg +1 -0
- package/dist/ix-icons/svg/checkbox-component-checked.svg +1 -0
- package/dist/ix-icons/svg/checkbox-component-mixed.svg +1 -0
- package/dist/ix-icons/svg/checkbox-component-unchecked.svg +1 -0
- package/dist/ix-icons/svg/checkbox-filled.svg +1 -0
- package/dist/ix-icons/svg/checkbox.svg +1 -0
- package/dist/ix-icons/svg/checkboxes-filled.svg +1 -0
- package/dist/ix-icons/svg/checkboxes.svg +1 -0
- package/dist/ix-icons/svg/chevron-down-bar-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-down-bar.svg +1 -0
- package/dist/ix-icons/svg/chevron-down-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-down.svg +1 -0
- package/dist/ix-icons/svg/chevron-left-bar-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-left-bar.svg +1 -0
- package/dist/ix-icons/svg/chevron-left-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-left.svg +1 -0
- package/dist/ix-icons/svg/chevron-right-bar-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-right-bar.svg +1 -0
- package/dist/ix-icons/svg/chevron-right-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-right.svg +1 -0
- package/dist/ix-icons/svg/chevron-up-bar-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-up-bar.svg +1 -0
- package/dist/ix-icons/svg/chevron-up-small.svg +1 -0
- package/dist/ix-icons/svg/chevron-up.svg +1 -0
- package/dist/ix-icons/svg/circle-dot-filled.svg +1 -0
- package/dist/ix-icons/svg/circle-dot.svg +1 -0
- package/dist/ix-icons/svg/circle-filled.svg +1 -0
- package/dist/ix-icons/svg/circle-pause-filled.svg +1 -0
- package/dist/ix-icons/svg/circle-pause.svg +1 -0
- package/dist/ix-icons/svg/circle-play-filled.svg +1 -0
- package/dist/ix-icons/svg/circle-play.svg +1 -0
- package/dist/ix-icons/svg/circle-stop-filled.svg +1 -0
- package/dist/ix-icons/svg/circle-stop.svg +1 -0
- package/dist/ix-icons/svg/circle.svg +1 -0
- package/dist/ix-icons/svg/clear-filter-filled.svg +1 -0
- package/dist/ix-icons/svg/clear-filter.svg +1 -0
- package/dist/ix-icons/svg/clear.svg +1 -0
- package/dist/ix-icons/svg/clock-filled.svg +1 -0
- package/dist/ix-icons/svg/clock.svg +1 -0
- package/dist/ix-icons/svg/close-small.svg +1 -0
- package/dist/ix-icons/svg/close.svg +1 -0
- package/dist/ix-icons/svg/cloud-download-add-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-download-add.svg +1 -0
- package/dist/ix-icons/svg/cloud-download-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-download-list-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-download-list.svg +1 -0
- package/dist/ix-icons/svg/cloud-download.svg +1 -0
- package/dist/ix-icons/svg/cloud-fail-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-fail.svg +1 -0
- package/dist/ix-icons/svg/cloud-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-new-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-new.svg +1 -0
- package/dist/ix-icons/svg/cloud-success-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-success.svg +1 -0
- package/dist/ix-icons/svg/cloud-upload-filled.svg +1 -0
- package/dist/ix-icons/svg/cloud-upload.svg +1 -0
- package/dist/ix-icons/svg/cloud.svg +1 -0
- package/dist/ix-icons/svg/code.svg +1 -0
- package/dist/ix-icons/svg/coffee-empty-filled.svg +1 -0
- package/dist/ix-icons/svg/coffee-empty.svg +1 -0
- package/dist/ix-icons/svg/coffee-filled.svg +1 -0
- package/dist/ix-icons/svg/coffee.svg +1 -0
- package/dist/ix-icons/svg/cogwheel-filled.svg +1 -0
- package/dist/ix-icons/svg/cogwheel.svg +1 -0
- package/dist/ix-icons/svg/combine.svg +1 -0
- package/dist/ix-icons/svg/compact-disc-filled.svg +1 -0
- package/dist/ix-icons/svg/compact-disc.svg +1 -0
- package/dist/ix-icons/svg/compare.svg +1 -0
- package/dist/ix-icons/svg/compound-block.svg +1 -0
- package/dist/ix-icons/svg/configuration.svg +1 -0
- package/dist/ix-icons/svg/configure-filled.svg +1 -0
- package/dist/ix-icons/svg/configure.svg +1 -0
- package/dist/ix-icons/svg/connected.svg +1 -0
- package/dist/ix-icons/svg/connector-chart-filled.svg +1 -0
- package/dist/ix-icons/svg/connector-chart.svg +1 -0
- package/dist/ix-icons/svg/connector-filled.svg +1 -0
- package/dist/ix-icons/svg/connector-hex-filled.svg +1 -0
- package/dist/ix-icons/svg/connector-hex.svg +1 -0
- package/dist/ix-icons/svg/connector-rect-filled.svg +1 -0
- package/dist/ix-icons/svg/connector-rect.svg +1 -0
- package/dist/ix-icons/svg/connector-rhomb-filled.svg +1 -0
- package/dist/ix-icons/svg/connector-rhomb.svg +1 -0
- package/dist/ix-icons/svg/connector.svg +1 -0
- package/dist/ix-icons/svg/consistency-check.svg +1 -0
- package/dist/ix-icons/svg/contact-details-filled.svg +1 -0
- package/dist/ix-icons/svg/contact-details.svg +1 -0
- package/dist/ix-icons/svg/context-menu.svg +1 -0
- package/dist/ix-icons/svg/controlled-device.svg +1 -0
- package/dist/ix-icons/svg/controller-device.svg +1 -0
- package/dist/ix-icons/svg/copy-filled.svg +1 -0
- package/dist/ix-icons/svg/copy.svg +1 -0
- package/dist/ix-icons/svg/corner-arrow-up-left.svg +1 -0
- package/dist/ix-icons/svg/couch-filled.svg +1 -0
- package/dist/ix-icons/svg/couch.svg +1 -0
- package/dist/ix-icons/svg/counter.svg +1 -0
- package/dist/ix-icons/svg/create-plant-filled.svg +1 -0
- package/dist/ix-icons/svg/create-plant.svg +1 -0
- package/dist/ix-icons/svg/crosshairs-filled.svg +1 -0
- package/dist/ix-icons/svg/crosshairs.svg +1 -0
- package/dist/ix-icons/svg/customer-filled.svg +1 -0
- package/dist/ix-icons/svg/customer.svg +1 -0
- package/dist/ix-icons/svg/cut-filled.svg +1 -0
- package/dist/ix-icons/svg/cut.svg +1 -0
- package/dist/ix-icons/svg/cycle.svg +1 -0
- package/dist/ix-icons/svg/data-egress.svg +1 -0
- package/dist/ix-icons/svg/data-ingress-egress.svg +1 -0
- package/dist/ix-icons/svg/data-ingress.svg +1 -0
- package/dist/ix-icons/svg/database-filled.svg +1 -0
- package/dist/ix-icons/svg/database.svg +1 -0
- package/dist/ix-icons/svg/details.svg +1 -0
- package/dist/ix-icons/svg/device-driver.svg +1 -0
- package/dist/ix-icons/svg/device-fan.svg +1 -0
- package/dist/ix-icons/svg/diagram-module-library.svg +1 -0
- package/dist/ix-icons/svg/diagram-module-new.svg +1 -0
- package/dist/ix-icons/svg/diagram-module.svg +1 -0
- package/dist/ix-icons/svg/diamond.svg +1 -0
- package/dist/ix-icons/svg/disconnected.svg +1 -0
- package/dist/ix-icons/svg/disk-filled.svg +1 -0
- package/dist/ix-icons/svg/disk-pen.svg +1 -0
- package/dist/ix-icons/svg/disk.svg +1 -0
- package/dist/ix-icons/svg/distribution.svg +1 -0
- package/dist/ix-icons/svg/doc-document.svg +1 -0
- package/dist/ix-icons/svg/document-bulk.svg +1 -0
- package/dist/ix-icons/svg/document-fail.svg +1 -0
- package/dist/ix-icons/svg/document-info.svg +1 -0
- package/dist/ix-icons/svg/document-link.svg +1 -0
- package/dist/ix-icons/svg/document-management.svg +1 -0
- package/dist/ix-icons/svg/document-reference.svg +1 -0
- package/dist/ix-icons/svg/document-settings.svg +1 -0
- package/dist/ix-icons/svg/document-success.svg +1 -0
- package/dist/ix-icons/svg/document.svg +1 -0
- package/dist/ix-icons/svg/double-check.svg +1 -0
- package/dist/ix-icons/svg/double-chevron-down.svg +1 -0
- package/dist/ix-icons/svg/double-chevron-left.svg +1 -0
- package/dist/ix-icons/svg/double-chevron-right.svg +1 -0
- package/dist/ix-icons/svg/double-chevron-up.svg +1 -0
- package/dist/ix-icons/svg/doublet-filled.svg +1 -0
- package/dist/ix-icons/svg/doublet.svg +1 -0
- package/dist/ix-icons/svg/download-add.svg +1 -0
- package/dist/ix-icons/svg/download-list.svg +1 -0
- package/dist/ix-icons/svg/download.svg +1 -0
- package/dist/ix-icons/svg/drag-and-drop.svg +1 -0
- package/dist/ix-icons/svg/drag-gripper.svg +1 -0
- package/dist/ix-icons/svg/drop-zone.svg +1 -0
- package/dist/ix-icons/svg/drop.svg +1 -0
- package/dist/ix-icons/svg/duplicate-document.svg +1 -0
- package/dist/ix-icons/svg/duplicate-filled.svg +1 -0
- package/dist/ix-icons/svg/duplicate.svg +1 -0
- package/dist/ix-icons/svg/e-mail-filled.svg +1 -0
- package/dist/ix-icons/svg/e-mail.svg +1 -0
- package/dist/ix-icons/svg/earth-filled.svg +1 -0
- package/dist/ix-icons/svg/earth.svg +1 -0
- package/dist/ix-icons/svg/edit-document-filled.svg +1 -0
- package/dist/ix-icons/svg/edit-document.svg +1 -0
- package/dist/ix-icons/svg/edit-plant.svg +1 -0
- package/dist/ix-icons/svg/electrical-energy-filled.svg +1 -0
- package/dist/ix-icons/svg/electrical-energy.svg +1 -0
- package/dist/ix-icons/svg/ellipse-arc.svg +1 -0
- package/dist/ix-icons/svg/ellipse-filled.svg +1 -0
- package/dist/ix-icons/svg/ellipse.svg +1 -0
- package/dist/ix-icons/svg/error-filled.svg +1 -0
- package/dist/ix-icons/svg/error.svg +1 -0
- package/dist/ix-icons/svg/explore-filled.svg +1 -0
- package/dist/ix-icons/svg/explore.svg +1 -0
- package/dist/ix-icons/svg/export.svg +1 -0
- package/dist/ix-icons/svg/eye-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/eye-cancelled.svg +1 -0
- package/dist/ix-icons/svg/eye-filled.svg +1 -0
- package/dist/ix-icons/svg/eye.svg +1 -0
- package/dist/ix-icons/svg/factory-reset-filled.svg +1 -0
- package/dist/ix-icons/svg/factory-reset.svg +1 -0
- package/dist/ix-icons/svg/filter-filled.svg +1 -0
- package/dist/ix-icons/svg/filter-outline.svg +1 -0
- package/dist/ix-icons/svg/filter.svg +1 -0
- package/dist/ix-icons/svg/firmware.svg +1 -0
- package/dist/ix-icons/svg/fit-to-screen.svg +1 -0
- package/dist/ix-icons/svg/flag-filled.svg +1 -0
- package/dist/ix-icons/svg/flag.svg +1 -0
- package/dist/ix-icons/svg/flashing.svg +1 -0
- package/dist/ix-icons/svg/folder-down-filled.svg +1 -0
- package/dist/ix-icons/svg/folder-down.svg +1 -0
- package/dist/ix-icons/svg/folder-filled.svg +1 -0
- package/dist/ix-icons/svg/folder-new-filled.svg +1 -0
- package/dist/ix-icons/svg/folder-new-outline.svg +1 -0
- package/dist/ix-icons/svg/folder-new.svg +1 -0
- package/dist/ix-icons/svg/folder-open-filled.svg +1 -0
- package/dist/ix-icons/svg/folder-open-outline.svg +1 -0
- package/dist/ix-icons/svg/folder-open.svg +1 -0
- package/dist/ix-icons/svg/folder-outline.svg +1 -0
- package/dist/ix-icons/svg/folder-up-filled.svg +1 -0
- package/dist/ix-icons/svg/folder-up.svg +1 -0
- package/dist/ix-icons/svg/folder.svg +1 -0
- package/dist/ix-icons/svg/full-screeen-exit.svg +1 -0
- package/dist/ix-icons/svg/full-screeen.svg +1 -0
- package/dist/ix-icons/svg/full-screen-exit.svg +1 -0
- package/dist/ix-icons/svg/full-screen.svg +1 -0
- package/dist/ix-icons/svg/function-block-library.svg +1 -0
- package/dist/ix-icons/svg/function-block-new.svg +1 -0
- package/dist/ix-icons/svg/function-block.svg +1 -0
- package/dist/ix-icons/svg/function-diagram-new.svg +1 -0
- package/dist/ix-icons/svg/function-diagram.svg +1 -0
- package/dist/ix-icons/svg/gauge-filled.svg +1 -0
- package/dist/ix-icons/svg/gauge.svg +1 -0
- package/dist/ix-icons/svg/gaugechart.svg +1 -0
- package/dist/ix-icons/svg/global-plant-filled.svg +1 -0
- package/dist/ix-icons/svg/global-plant.svg +1 -0
- package/dist/ix-icons/svg/globe-filled.svg +1 -0
- package/dist/ix-icons/svg/globe.svg +1 -0
- package/dist/ix-icons/svg/goto.svg +1 -0
- package/dist/ix-icons/svg/group.svg +1 -0
- package/dist/ix-icons/svg/handshake.svg +1 -0
- package/dist/ix-icons/svg/hard-disk-drive.svg +1 -0
- package/dist/ix-icons/svg/hard-reset.svg +1 -0
- package/dist/ix-icons/svg/hardware-cabinet.svg +1 -0
- package/dist/ix-icons/svg/heading.svg +1 -0
- package/dist/ix-icons/svg/health-filled.svg +1 -0
- package/dist/ix-icons/svg/health.svg +1 -0
- package/dist/ix-icons/svg/heart-filled.svg +1 -0
- package/dist/ix-icons/svg/heart.svg +1 -0
- package/dist/ix-icons/svg/height.svg +1 -0
- package/dist/ix-icons/svg/hexagon-vertical-bars-database-filled.svg +1 -0
- package/dist/ix-icons/svg/hexagon-vertical-bars-database.svg +1 -0
- package/dist/ix-icons/svg/hexagon-vertical-bars-filled.svg +1 -0
- package/dist/ix-icons/svg/hexagon-vertical-bars.svg +1 -0
- package/dist/ix-icons/svg/hierarchy.svg +1 -0
- package/dist/ix-icons/svg/highlight-filled.svg +1 -0
- package/dist/ix-icons/svg/highlight.svg +1 -0
- package/dist/ix-icons/svg/history-list.svg +1 -0
- package/dist/ix-icons/svg/history.svg +1 -0
- package/dist/ix-icons/svg/home-filled.svg +1 -0
- package/dist/ix-icons/svg/home.svg +1 -0
- package/dist/ix-icons/svg/hourglass-empty.svg +1 -0
- package/dist/ix-icons/svg/hourglass-end.svg +1 -0
- package/dist/ix-icons/svg/hourglass-filled.svg +1 -0
- package/dist/ix-icons/svg/hourglass-start.svg +1 -0
- package/dist/ix-icons/svg/hourglass.svg +1 -0
- package/dist/ix-icons/svg/image-filled.svg +1 -0
- package/dist/ix-icons/svg/image.svg +1 -0
- package/dist/ix-icons/svg/import.svg +1 -0
- package/dist/ix-icons/svg/info-feed.svg +1 -0
- package/dist/ix-icons/svg/info-filled.svg +1 -0
- package/dist/ix-icons/svg/info.svg +1 -0
- package/dist/ix-icons/svg/ingestion-report.svg +1 -0
- package/dist/ix-icons/svg/ingestion.svg +1 -0
- package/dist/ix-icons/svg/ink-pen.svg +1 -0
- package/dist/ix-icons/svg/inquiry-filled.svg +1 -0
- package/dist/ix-icons/svg/inquiry-mail.svg +1 -0
- package/dist/ix-icons/svg/inquiry.svg +1 -0
- package/dist/ix-icons/svg/ipcs.svg +1 -0
- package/dist/ix-icons/svg/item-details-filled.svg +1 -0
- package/dist/ix-icons/svg/item-details.svg +1 -0
- package/dist/ix-icons/svg/join.svg +1 -0
- package/dist/ix-icons/svg/label-filled.svg +1 -0
- package/dist/ix-icons/svg/label.svg +1 -0
- package/dist/ix-icons/svg/landing-page-logo.svg +1 -0
- package/dist/ix-icons/svg/language-filled.svg +1 -0
- package/dist/ix-icons/svg/language.svg +1 -0
- package/dist/ix-icons/svg/layers-filled.svg +1 -0
- package/dist/ix-icons/svg/layers.svg +1 -0
- package/dist/ix-icons/svg/leaf.svg +1 -0
- package/dist/ix-icons/svg/legal.svg +1 -0
- package/dist/ix-icons/svg/library-new.svg +1 -0
- package/dist/ix-icons/svg/library.svg +1 -0
- package/dist/ix-icons/svg/license.svg +1 -0
- package/dist/ix-icons/svg/light-dark.svg +1 -0
- package/dist/ix-icons/svg/line-diagonal.svg +1 -0
- package/dist/ix-icons/svg/link-break.svg +1 -0
- package/dist/ix-icons/svg/link-diagonal.svg +1 -0
- package/dist/ix-icons/svg/link.svg +1 -0
- package/dist/ix-icons/svg/list-sorted-alt.svg +1 -0
- package/dist/ix-icons/svg/list-sorted.svg +1 -0
- package/dist/ix-icons/svg/list.svg +1 -0
- package/dist/ix-icons/svg/live-schedule.svg +1 -0
- package/dist/ix-icons/svg/location-filled.svg +1 -0
- package/dist/ix-icons/svg/location-outline.svg +1 -0
- package/dist/ix-icons/svg/location.svg +1 -0
- package/dist/ix-icons/svg/lock-filled.svg +1 -0
- package/dist/ix-icons/svg/lock-key-filled.svg +1 -0
- package/dist/ix-icons/svg/lock-key.svg +1 -0
- package/dist/ix-icons/svg/lock.svg +1 -0
- package/dist/ix-icons/svg/log-in.svg +1 -0
- package/dist/ix-icons/svg/log-out.svg +1 -0
- package/dist/ix-icons/svg/log.svg +1 -0
- package/dist/ix-icons/svg/logic-diagram.svg +1 -0
- package/dist/ix-icons/svg/lower-limit.svg +1 -0
- package/dist/ix-icons/svg/mail-filled.svg +1 -0
- package/dist/ix-icons/svg/mail.svg +1 -0
- package/dist/ix-icons/svg/maintenance-documents.svg +1 -0
- package/dist/ix-icons/svg/maintenance-info.svg +1 -0
- package/dist/ix-icons/svg/maintenance-warning-filled.svg +1 -0
- package/dist/ix-icons/svg/maintenance-warning.svg +1 -0
- package/dist/ix-icons/svg/maintenance.svg +1 -0
- package/dist/ix-icons/svg/mandatory-done.svg +1 -0
- package/dist/ix-icons/svg/mandatory.svg +1 -0
- package/dist/ix-icons/svg/map.svg +1 -0
- package/dist/ix-icons/svg/maximize.svg +1 -0
- package/dist/ix-icons/svg/microphone-filled.svg +1 -0
- package/dist/ix-icons/svg/microphone.svg +1 -0
- package/dist/ix-icons/svg/minimize.svg +1 -0
- package/dist/ix-icons/svg/minus.svg +1 -0
- package/dist/ix-icons/svg/missing-symbol.svg +1 -0
- package/dist/ix-icons/svg/mix.svg +1 -0
- package/dist/ix-icons/svg/monitor-filled.svg +1 -0
- package/dist/ix-icons/svg/monitor-trend.svg +1 -0
- package/dist/ix-icons/svg/monitor.svg +1 -0
- package/dist/ix-icons/svg/monitoring-add.svg +1 -0
- package/dist/ix-icons/svg/monitoring.svg +1 -0
- package/dist/ix-icons/svg/monitorings.svg +1 -0
- package/dist/ix-icons/svg/moon-filled.svg +1 -0
- package/dist/ix-icons/svg/moon.svg +1 -0
- package/dist/ix-icons/svg/more-menu.svg +1 -0
- package/dist/ix-icons/svg/mouse-click-filled.svg +1 -0
- package/dist/ix-icons/svg/mouse-click.svg +1 -0
- package/dist/ix-icons/svg/mouse-select-filled.svg +1 -0
- package/dist/ix-icons/svg/mouse-select.svg +1 -0
- package/dist/ix-icons/svg/move.svg +1 -0
- package/dist/ix-icons/svg/mp4-document.svg +1 -0
- package/dist/ix-icons/svg/namur-check-function-filled.svg +1 -0
- package/dist/ix-icons/svg/namur-check-function.svg +1 -0
- package/dist/ix-icons/svg/namur-failure-filled.svg +1 -0
- package/dist/ix-icons/svg/namur-failure.svg +1 -0
- package/dist/ix-icons/svg/namur-maintenance-required-filled.svg +1 -0
- package/dist/ix-icons/svg/namur-maintenance-required.svg +1 -0
- package/dist/ix-icons/svg/namur-ok-filled.svg +1 -0
- package/dist/ix-icons/svg/namur-ok.svg +1 -0
- package/dist/ix-icons/svg/namur-out-of-spec-filled.svg +1 -0
- package/dist/ix-icons/svg/namur-out-of-spec.svg +1 -0
- package/dist/ix-icons/svg/navigation-filled.svg +1 -0
- package/dist/ix-icons/svg/navigation-left.svg +1 -0
- package/dist/ix-icons/svg/navigation-right.svg +1 -0
- package/dist/ix-icons/svg/navigation.svg +1 -0
- package/dist/ix-icons/svg/new-indicator-filled.svg +1 -0
- package/dist/ix-icons/svg/new-indicator.svg +1 -0
- package/dist/ix-icons/svg/no-filter-filled.svg +1 -0
- package/dist/ix-icons/svg/no-filter.svg +1 -0
- package/dist/ix-icons/svg/no-image.svg +1 -0
- package/dist/ix-icons/svg/note-filled.svg +1 -0
- package/dist/ix-icons/svg/note.svg +1 -0
- package/dist/ix-icons/svg/notification-filled.svg +1 -0
- package/dist/ix-icons/svg/notification.svg +1 -0
- package/dist/ix-icons/svg/notifications-filled.svg +1 -0
- package/dist/ix-icons/svg/notifications.svg +1 -0
- package/dist/ix-icons/svg/ontology-filled.svg +1 -0
- package/dist/ix-icons/svg/ontology.svg +1 -0
- package/dist/ix-icons/svg/open-external.svg +1 -0
- package/dist/ix-icons/svg/open-file-filled.svg +1 -0
- package/dist/ix-icons/svg/open-file.svg +1 -0
- package/dist/ix-icons/svg/operate-plant-filled.svg +1 -0
- package/dist/ix-icons/svg/operate-plant.svg +1 -0
- package/dist/ix-icons/svg/operating-system.svg +1 -0
- package/dist/ix-icons/svg/optimize.svg +1 -0
- package/dist/ix-icons/svg/p-and-i-symbols.svg +1 -0
- package/dist/ix-icons/svg/p-i-diagram.svg +1 -0
- package/dist/ix-icons/svg/pan.svg +1 -0
- package/dist/ix-icons/svg/panel-ipc-fail.svg +1 -0
- package/dist/ix-icons/svg/panel-ipc-question.svg +1 -0
- package/dist/ix-icons/svg/panel-ipc-success.svg +1 -0
- package/dist/ix-icons/svg/panel-ipc.svg +1 -0
- package/dist/ix-icons/svg/paste.svg +1 -0
- package/dist/ix-icons/svg/pause.svg +1 -0
- package/dist/ix-icons/svg/pc-tower-filled.svg +1 -0
- package/dist/ix-icons/svg/pc-tower.svg +1 -0
- package/dist/ix-icons/svg/pdf-document.svg +1 -0
- package/dist/ix-icons/svg/pen-filled.svg +1 -0
- package/dist/ix-icons/svg/pen.svg +1 -0
- package/dist/ix-icons/svg/phone-filled.svg +1 -0
- package/dist/ix-icons/svg/phone.svg +1 -0
- package/dist/ix-icons/svg/photo-camera-add.svg +1 -0
- package/dist/ix-icons/svg/photo-camera-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/photo-camera-cancelled.svg +1 -0
- package/dist/ix-icons/svg/photo-camera-filled.svg +1 -0
- package/dist/ix-icons/svg/photo-camera.svg +1 -0
- package/dist/ix-icons/svg/photo-cameras.svg +1 -0
- package/dist/ix-icons/svg/piechart-filled.svg +1 -0
- package/dist/ix-icons/svg/piechart.svg +1 -0
- package/dist/ix-icons/svg/pin-filled.svg +1 -0
- package/dist/ix-icons/svg/pin.svg +1 -0
- package/dist/ix-icons/svg/plant-filled.svg +1 -0
- package/dist/ix-icons/svg/plant-handbook-filled.svg +1 -0
- package/dist/ix-icons/svg/plant-handbook.svg +1 -0
- package/dist/ix-icons/svg/plant-outline.svg +1 -0
- package/dist/ix-icons/svg/plant-security.svg +1 -0
- package/dist/ix-icons/svg/plant-settings-filled.svg +1 -0
- package/dist/ix-icons/svg/plant-settings.svg +1 -0
- package/dist/ix-icons/svg/plant-user-filled.svg +1 -0
- package/dist/ix-icons/svg/plant-user.svg +1 -0
- package/dist/ix-icons/svg/plant.svg +1 -0
- package/dist/ix-icons/svg/plants-filled.svg +1 -0
- package/dist/ix-icons/svg/plants.svg +1 -0
- package/dist/ix-icons/svg/play-filled.svg +1 -0
- package/dist/ix-icons/svg/play-pause-filled.svg +1 -0
- package/dist/ix-icons/svg/play-pause.svg +1 -0
- package/dist/ix-icons/svg/play-stepwise-filled.svg +1 -0
- package/dist/ix-icons/svg/play-stepwise.svg +1 -0
- package/dist/ix-icons/svg/play.svg +1 -0
- package/dist/ix-icons/svg/plus-minus-times-divide.svg +1 -0
- package/dist/ix-icons/svg/plus.svg +1 -0
- package/dist/ix-icons/svg/point-up-filled.svg +1 -0
- package/dist/ix-icons/svg/point-up.svg +1 -0
- package/dist/ix-icons/svg/polar-plot.svg +1 -0
- package/dist/ix-icons/svg/polygon-filled.svg +1 -0
- package/dist/ix-icons/svg/polygon-line.svg +1 -0
- package/dist/ix-icons/svg/polygon.svg +1 -0
- package/dist/ix-icons/svg/power-supply.svg +1 -0
- package/dist/ix-icons/svg/ppt-document.svg +1 -0
- package/dist/ix-icons/svg/print-filled.svg +1 -0
- package/dist/ix-icons/svg/print.svg +1 -0
- package/dist/ix-icons/svg/prio-high.svg +1 -0
- package/dist/ix-icons/svg/prio-low.svg +1 -0
- package/dist/ix-icons/svg/prio-middle.svg +1 -0
- package/dist/ix-icons/svg/product-catalog.svg +1 -0
- package/dist/ix-icons/svg/product-management.svg +1 -0
- package/dist/ix-icons/svg/product.svg +1 -0
- package/dist/ix-icons/svg/project-configuration.svg +1 -0
- package/dist/ix-icons/svg/project-new.svg +1 -0
- package/dist/ix-icons/svg/project-scenarios.svg +1 -0
- package/dist/ix-icons/svg/project-server-filled.svg +1 -0
- package/dist/ix-icons/svg/project-server.svg +1 -0
- package/dist/ix-icons/svg/project.svg +1 -0
- package/dist/ix-icons/svg/protocol.svg +1 -0
- package/dist/ix-icons/svg/publish-document.svg +1 -0
- package/dist/ix-icons/svg/publish.svg +1 -0
- package/dist/ix-icons/svg/qr-code.svg +1 -0
- package/dist/ix-icons/svg/quality-report.svg +1 -0
- package/dist/ix-icons/svg/question-filled.svg +1 -0
- package/dist/ix-icons/svg/question.svg +1 -0
- package/dist/ix-icons/svg/quote.svg +1 -0
- package/dist/ix-icons/svg/rack-ipc-fail.svg +1 -0
- package/dist/ix-icons/svg/rack-ipc-question.svg +1 -0
- package/dist/ix-icons/svg/rack-ipc-success.svg +1 -0
- package/dist/ix-icons/svg/rack-ipc.svg +1 -0
- package/dist/ix-icons/svg/radarchart.svg +1 -0
- package/dist/ix-icons/svg/radio-waves-off.svg +1 -0
- package/dist/ix-icons/svg/radio-waves-warning.svg +1 -0
- package/dist/ix-icons/svg/radio-waves.svg +1 -0
- package/dist/ix-icons/svg/random-filled.svg +1 -0
- package/dist/ix-icons/svg/random.svg +1 -0
- package/dist/ix-icons/svg/reboot.svg +1 -0
- package/dist/ix-icons/svg/rectangle-filled.svg +1 -0
- package/dist/ix-icons/svg/rectangle.svg +1 -0
- package/dist/ix-icons/svg/redo.svg +1 -0
- package/dist/ix-icons/svg/reference.svg +1 -0
- package/dist/ix-icons/svg/refresh-cancelled.svg +1 -0
- package/dist/ix-icons/svg/refresh-exclamation.svg +1 -0
- package/dist/ix-icons/svg/refresh-settings.svg +1 -0
- package/dist/ix-icons/svg/refresh.svg +1 -0
- package/dist/ix-icons/svg/reload.svg +1 -0
- package/dist/ix-icons/svg/remove-application.svg +1 -0
- package/dist/ix-icons/svg/remove-eye-filled.svg +1 -0
- package/dist/ix-icons/svg/remove-eye.svg +1 -0
- package/dist/ix-icons/svg/rename.svg +1 -0
- package/dist/ix-icons/svg/reorder.svg +1 -0
- package/dist/ix-icons/svg/replace.svg +1 -0
- package/dist/ix-icons/svg/report-barchart.svg +1 -0
- package/dist/ix-icons/svg/report-linechart.svg +1 -0
- package/dist/ix-icons/svg/report-text.svg +1 -0
- package/dist/ix-icons/svg/reset.svg +1 -0
- package/dist/ix-icons/svg/restore-backup-filled.svg +1 -0
- package/dist/ix-icons/svg/restore-backup-pc.svg +1 -0
- package/dist/ix-icons/svg/restore-backup.svg +1 -0
- package/dist/ix-icons/svg/rhomb-filled.svg +1 -0
- package/dist/ix-icons/svg/rhomb.svg +1 -0
- package/dist/ix-icons/svg/road-filled.svg +1 -0
- package/dist/ix-icons/svg/road.svg +1 -0
- package/dist/ix-icons/svg/rocket-filled.svg +1 -0
- package/dist/ix-icons/svg/rocket.svg +1 -0
- package/dist/ix-icons/svg/route-target.svg +1 -0
- package/dist/ix-icons/svg/route.svg +1 -0
- package/dist/ix-icons/svg/runtime-settings.svg +1 -0
- package/dist/ix-icons/svg/scatterplot.svg +1 -0
- package/dist/ix-icons/svg/scheduler-filled.svg +1 -0
- package/dist/ix-icons/svg/scheduler.svg +1 -0
- package/dist/ix-icons/svg/screen-filled.svg +1 -0
- package/dist/ix-icons/svg/screen.svg +1 -0
- package/dist/ix-icons/svg/screenshot-filled.svg +1 -0
- package/dist/ix-icons/svg/screenshot.svg +1 -0
- package/dist/ix-icons/svg/script-add.svg +1 -0
- package/dist/ix-icons/svg/script.svg +1 -0
- package/dist/ix-icons/svg/scripts.svg +1 -0
- package/dist/ix-icons/svg/sd-card-filled.svg +1 -0
- package/dist/ix-icons/svg/sd-card-micro-filled.svg +1 -0
- package/dist/ix-icons/svg/sd-card-micro.svg +1 -0
- package/dist/ix-icons/svg/sd-card.svg +1 -0
- package/dist/ix-icons/svg/search.svg +1 -0
- package/dist/ix-icons/svg/separator-line.svg +1 -0
- package/dist/ix-icons/svg/share-filled.svg +1 -0
- package/dist/ix-icons/svg/share.svg +1 -0
- package/dist/ix-icons/svg/shield-broken-filled.svg +1 -0
- package/dist/ix-icons/svg/shield-broken.svg +1 -0
- package/dist/ix-icons/svg/shield-check-filled.svg +1 -0
- package/dist/ix-icons/svg/shield-check.svg +1 -0
- package/dist/ix-icons/svg/shield-filled.svg +1 -0
- package/dist/ix-icons/svg/shield-half.svg +1 -0
- package/dist/ix-icons/svg/shield.svg +1 -0
- package/dist/ix-icons/svg/shopping-cart-filled.svg +1 -0
- package/dist/ix-icons/svg/shopping-cart.svg +1 -0
- package/dist/ix-icons/svg/shout-filled.svg +1 -0
- package/dist/ix-icons/svg/shout.svg +1 -0
- package/dist/ix-icons/svg/sign-language.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-0.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-1.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-2.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-3.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-4.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-5.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-6.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-7.svg +1 -0
- package/dist/ix-icons/svg/signal-strength-8.svg +1 -0
- package/dist/ix-icons/svg/simit-component.svg +1 -0
- package/dist/ix-icons/svg/simit-macro-component-editor.svg +1 -0
- package/dist/ix-icons/svg/simit-macro.svg +1 -0
- package/dist/ix-icons/svg/single-check.svg +1 -0
- package/dist/ix-icons/svg/skip-back-filled.svg +1 -0
- package/dist/ix-icons/svg/skip-back.svg +1 -0
- package/dist/ix-icons/svg/skip-filled.svg +1 -0
- package/dist/ix-icons/svg/skip.svg +1 -0
- package/dist/ix-icons/svg/snowflake.svg +1 -0
- package/dist/ix-icons/svg/solid-state-drive.svg +1 -0
- package/dist/ix-icons/svg/sort-alt.svg +1 -0
- package/dist/ix-icons/svg/sort-ascending.svg +1 -0
- package/dist/ix-icons/svg/sort-descending.svg +1 -0
- package/dist/ix-icons/svg/sort.svg +1 -0
- package/dist/ix-icons/svg/sound-loud-filled.svg +1 -0
- package/dist/ix-icons/svg/sound-loud.svg +1 -0
- package/dist/ix-icons/svg/sound-mute-filled.svg +1 -0
- package/dist/ix-icons/svg/sound-mute.svg +1 -0
- package/dist/ix-icons/svg/sound-off-filled.svg +1 -0
- package/dist/ix-icons/svg/sound-off.svg +1 -0
- package/dist/ix-icons/svg/sound-quiet-filled.svg +1 -0
- package/dist/ix-icons/svg/sound-quiet.svg +1 -0
- package/dist/ix-icons/svg/spatial.svg +1 -0
- package/dist/ix-icons/svg/split-horizontally.svg +1 -0
- package/dist/ix-icons/svg/split-vertically.svg +1 -0
- package/dist/ix-icons/svg/split.svg +1 -0
- package/dist/ix-icons/svg/stamp-filled.svg +1 -0
- package/dist/ix-icons/svg/stamp.svg +1 -0
- package/dist/ix-icons/svg/standby.svg +1 -0
- package/dist/ix-icons/svg/star-add-filled.svg +1 -0
- package/dist/ix-icons/svg/star-add.svg +1 -0
- package/dist/ix-icons/svg/star-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/star-cancelled.svg +1 -0
- package/dist/ix-icons/svg/star-filled.svg +1 -0
- package/dist/ix-icons/svg/star-list-filled.svg +1 -0
- package/dist/ix-icons/svg/star-list.svg +1 -0
- package/dist/ix-icons/svg/star.svg +1 -0
- package/dist/ix-icons/svg/start-data-analysis.svg +1 -0
- package/dist/ix-icons/svg/steering-user-filled.svg +1 -0
- package/dist/ix-icons/svg/steering-user.svg +1 -0
- package/dist/ix-icons/svg/steering.svg +1 -0
- package/dist/ix-icons/svg/stethoscope.svg +1 -0
- package/dist/ix-icons/svg/stop-filled.svg +1 -0
- package/dist/ix-icons/svg/stop.svg +1 -0
- package/dist/ix-icons/svg/success-filled.svg +1 -0
- package/dist/ix-icons/svg/success.svg +1 -0
- package/dist/ix-icons/svg/sun-filled.svg +1 -0
- package/dist/ix-icons/svg/sun.svg +1 -0
- package/dist/ix-icons/svg/support.svg +1 -0
- package/dist/ix-icons/svg/surveillance-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/surveillance-cancelled.svg +1 -0
- package/dist/ix-icons/svg/surveillance-filled.svg +1 -0
- package/dist/ix-icons/svg/surveillance.svg +1 -0
- package/dist/ix-icons/svg/svg-document.svg +1 -0
- package/dist/ix-icons/svg/swap-left-right.svg +1 -0
- package/dist/ix-icons/svg/switch-slider.svg +1 -0
- package/dist/ix-icons/svg/sword-swing.svg +1 -0
- package/dist/ix-icons/svg/table-columns.svg +1 -0
- package/dist/ix-icons/svg/table-rows.svg +1 -0
- package/dist/ix-icons/svg/table-settings.svg +1 -0
- package/dist/ix-icons/svg/table.svg +1 -0
- package/dist/ix-icons/svg/tag-filled.svg +1 -0
- package/dist/ix-icons/svg/tag-plus-filled.svg +1 -0
- package/dist/ix-icons/svg/tag-plus.svg +1 -0
- package/dist/ix-icons/svg/tag.svg +1 -0
- package/dist/ix-icons/svg/tasks-all.svg +1 -0
- package/dist/ix-icons/svg/tasks-done.svg +1 -0
- package/dist/ix-icons/svg/tasks-open.svg +1 -0
- package/dist/ix-icons/svg/text-bold.svg +1 -0
- package/dist/ix-icons/svg/text-circle-rectangle-filled.svg +1 -0
- package/dist/ix-icons/svg/text-circle-rectangle.svg +1 -0
- package/dist/ix-icons/svg/text-document.svg +1 -0
- package/dist/ix-icons/svg/text-italic.svg +1 -0
- package/dist/ix-icons/svg/text-strike-through.svg +1 -0
- package/dist/ix-icons/svg/text-underline.svg +1 -0
- package/dist/ix-icons/svg/text.svg +1 -0
- package/dist/ix-icons/svg/thermometer.svg +1 -0
- package/dist/ix-icons/svg/threshold-cancelled.svg +1 -0
- package/dist/ix-icons/svg/threshold-off.svg +1 -0
- package/dist/ix-icons/svg/threshold-on.svg +1 -0
- package/dist/ix-icons/svg/to-be-published.svg +1 -0
- package/dist/ix-icons/svg/to-search.svg +1 -0
- package/dist/ix-icons/svg/topic-filled.svg +1 -0
- package/dist/ix-icons/svg/topic.svg +1 -0
- package/dist/ix-icons/svg/touch-filled.svg +1 -0
- package/dist/ix-icons/svg/touch.svg +1 -0
- package/dist/ix-icons/svg/trashcan-filled.svg +1 -0
- package/dist/ix-icons/svg/trashcan.svg +1 -0
- package/dist/ix-icons/svg/tree.svg +1 -0
- package/dist/ix-icons/svg/trend-downward-circle.svg +1 -0
- package/dist/ix-icons/svg/trend-downward-filled.svg +1 -0
- package/dist/ix-icons/svg/trend-downward.svg +1 -0
- package/dist/ix-icons/svg/trend-sideways-circle.svg +1 -0
- package/dist/ix-icons/svg/trend-sideways-filled.svg +1 -0
- package/dist/ix-icons/svg/trend-sideways.svg +1 -0
- package/dist/ix-icons/svg/trend-upward-circle.svg +1 -0
- package/dist/ix-icons/svg/trend-upward-filled.svg +1 -0
- package/dist/ix-icons/svg/trend-upward.svg +1 -0
- package/dist/ix-icons/svg/trend.svg +1 -0
- package/dist/ix-icons/svg/triangle-filled.svg +1 -0
- package/dist/ix-icons/svg/triangle.svg +1 -0
- package/dist/ix-icons/svg/trophy-filled.svg +1 -0
- package/dist/ix-icons/svg/trophy.svg +1 -0
- package/dist/ix-icons/svg/truck-filled.svg +1 -0
- package/dist/ix-icons/svg/truck.svg +1 -0
- package/dist/ix-icons/svg/tulip-filled.svg +1 -0
- package/dist/ix-icons/svg/tulip.svg +1 -0
- package/dist/ix-icons/svg/txt-document.svg +1 -0
- package/dist/ix-icons/svg/undo.svg +1 -0
- package/dist/ix-icons/svg/ungroup.svg +1 -0
- package/dist/ix-icons/svg/unlock-filled.svg +1 -0
- package/dist/ix-icons/svg/unlock-plant-filled.svg +1 -0
- package/dist/ix-icons/svg/unlock-plant.svg +1 -0
- package/dist/ix-icons/svg/unlock.svg +1 -0
- package/dist/ix-icons/svg/upload-document-note.svg +1 -0
- package/dist/ix-icons/svg/upload-fail.svg +1 -0
- package/dist/ix-icons/svg/upload-success.svg +1 -0
- package/dist/ix-icons/svg/upload.svg +1 -0
- package/dist/ix-icons/svg/upper-limit.svg +1 -0
- package/dist/ix-icons/svg/usb-drive.svg +1 -0
- package/dist/ix-icons/svg/user-check-filled.svg +1 -0
- package/dist/ix-icons/svg/user-check.svg +1 -0
- package/dist/ix-icons/svg/user-fail-filled.svg +1 -0
- package/dist/ix-icons/svg/user-fail.svg +1 -0
- package/dist/ix-icons/svg/user-filled.svg +1 -0
- package/dist/ix-icons/svg/user-management-filled.svg +1 -0
- package/dist/ix-icons/svg/user-management.svg +1 -0
- package/dist/ix-icons/svg/user-profile-filled.svg +1 -0
- package/dist/ix-icons/svg/user-profile.svg +1 -0
- package/dist/ix-icons/svg/user-reading-reading.svg +1 -0
- package/dist/ix-icons/svg/user-reading.svg +1 -0
- package/dist/ix-icons/svg/user-settings-filled.svg +1 -0
- package/dist/ix-icons/svg/user-settings.svg +1 -0
- package/dist/ix-icons/svg/user-success-filled.svg +1 -0
- package/dist/ix-icons/svg/user-success.svg +1 -0
- package/dist/ix-icons/svg/user.svg +1 -0
- package/dist/ix-icons/svg/validate.svg +1 -0
- package/dist/ix-icons/svg/vdi-folder.svg +1 -0
- package/dist/ix-icons/svg/version-history.svg +1 -0
- package/dist/ix-icons/svg/video-file-filled.svg +1 -0
- package/dist/ix-icons/svg/video-file.svg +1 -0
- package/dist/ix-icons/svg/warning-filled.svg +1 -0
- package/dist/ix-icons/svg/warning-rhomb-filled.svg +1 -0
- package/dist/ix-icons/svg/warning-rhomb.svg +1 -0
- package/dist/ix-icons/svg/warning.svg +1 -0
- package/dist/ix-icons/svg/water-bathing.svg +1 -0
- package/dist/ix-icons/svg/water-fish.svg +1 -0
- package/dist/ix-icons/svg/water-plant.svg +1 -0
- package/dist/ix-icons/svg/water-sunbathing.svg +1 -0
- package/dist/ix-icons/svg/waveform.svg +1 -0
- package/dist/ix-icons/svg/webcam-cancelled-filled.svg +1 -0
- package/dist/ix-icons/svg/webcam-cancelled.svg +1 -0
- package/dist/ix-icons/svg/webcam-filled.svg +1 -0
- package/dist/ix-icons/svg/webcam.svg +1 -0
- package/dist/ix-icons/svg/width.svg +1 -0
- package/dist/ix-icons/svg/wlan-off.svg +1 -0
- package/dist/ix-icons/svg/wlan-strength-0.svg +1 -0
- package/dist/ix-icons/svg/wlan-strength-1.svg +1 -0
- package/dist/ix-icons/svg/wlan-strength-2.svg +1 -0
- package/dist/ix-icons/svg/wlan-strength-3.svg +1 -0
- package/dist/ix-icons/svg/work-case-filled.svg +1 -0
- package/dist/ix-icons/svg/work-case.svg +1 -0
- package/dist/ix-icons/svg/workspace.svg +1 -0
- package/dist/ix-icons/svg/workspaces.svg +1 -0
- package/dist/ix-icons/svg/x-axis-settings.svg +1 -0
- package/dist/ix-icons/svg/xls-document.svg +1 -0
- package/dist/ix-icons/svg/xml-document.svg +1 -0
- package/dist/ix-icons/svg/y-axis-settings.svg +1 -0
- package/dist/ix-icons/svg/youtube-filled.svg +1 -0
- package/dist/ix-icons/svg/youtube.svg +1 -0
- package/dist/ix-icons/svg/zone.svg +1 -0
- package/dist/ix-icons/svg/zoom-in.svg +1 -0
- package/dist/ix-icons/svg/zoom-out.svg +1 -0
- package/dist/ix-icons/svg/zoom-selection.svg +1 -0
- package/dist/types/components/icon/resolveIcon.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/icons/package.json +1 -1
- package/package.json +4 -3
- package/dist/cjs/icon-1370f4c0.js.map +0 -1
- package/dist/components/icon.js.map +0 -1
- package/dist/css/ix-icons.css +0 -13
- package/dist/esm/icon-dd32731a.js.map +0 -1
- package/dist/ix-icons/p-6f9cf0ab.js +0 -2
- package/dist/ix-icons/p-6f9cf0ab.js.map +0 -1
- package/dist/ix-icons/p-94e1b534.entry.js +0 -2
- package/dist/sample.json +0 -819
- /package/{dist/components → components}/index.d.ts +0 -0
- /package/{dist/components → components}/index.js +0 -0
- /package/{dist/components → components}/index.js.map +0 -0
- /package/{dist/components → components}/ix-icon.js +0 -0
- /package/{dist/components → components}/ix-icon.js.map +0 -0
- /package/dist/ix-icons/{p-94e1b534.entry.js.map → p-60aebf69.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
|
1
|
+
import { getAssetPath, setAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
|
2
2
|
|
3
3
|
/**
|
4
4
|
* Provide custom SVG path for icons
|
@@ -84,12 +84,21 @@ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\
|
|
84
84
|
function isValidUrl(url) {
|
85
85
|
return urlRegex.test(url);
|
86
86
|
}
|
87
|
-
function
|
87
|
+
function getIconUrl(name) {
|
88
88
|
const customAssetUrl = getCustomAssetUrl();
|
89
89
|
if (customAssetUrl) {
|
90
90
|
return `${customAssetUrl}/${name}.svg`;
|
91
91
|
}
|
92
|
-
|
92
|
+
let url = `svg/${name}.svg`;
|
93
|
+
try {
|
94
|
+
url = getAssetPath(url);
|
95
|
+
}
|
96
|
+
catch (error) {
|
97
|
+
console.warn(error);
|
98
|
+
setAssetPath(`${window.location.origin}/`);
|
99
|
+
url = getAssetPath(url);
|
100
|
+
}
|
101
|
+
return url;
|
93
102
|
}
|
94
103
|
async function resolveIcon(iconName) {
|
95
104
|
if (!iconName) {
|
@@ -107,7 +116,7 @@ async function resolveIcon(iconName) {
|
|
107
116
|
}
|
108
117
|
}
|
109
118
|
try {
|
110
|
-
return fetchSVG(
|
119
|
+
return fetchSVG(getIconUrl(iconName));
|
111
120
|
}
|
112
121
|
catch (error) {
|
113
122
|
throw Error('Cannot resolve any icon');
|
@@ -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 * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { parseSVGDataContent, resolveIcon } from './resolveIcon';\n\nconst iconMissingSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32';\n\n /**\n * Color of the icon\n */\n @Prop() color: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name: string;\n\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n 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}
|
@@ -86,12 +86,21 @@ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\
|
|
86
86
|
function isValidUrl(url) {
|
87
87
|
return urlRegex.test(url);
|
88
88
|
}
|
89
|
-
function
|
89
|
+
function getIconUrl(name) {
|
90
90
|
const customAssetUrl = getCustomAssetUrl();
|
91
91
|
if (customAssetUrl) {
|
92
92
|
return `${customAssetUrl}/${name}.svg`;
|
93
93
|
}
|
94
|
-
|
94
|
+
let url = `svg/${name}.svg`;
|
95
|
+
try {
|
96
|
+
url = index.getAssetPath(url);
|
97
|
+
}
|
98
|
+
catch (error) {
|
99
|
+
console.warn(error);
|
100
|
+
index.setAssetPath(`${window.location.origin}/`);
|
101
|
+
url = index.getAssetPath(url);
|
102
|
+
}
|
103
|
+
return url;
|
95
104
|
}
|
96
105
|
async function resolveIcon(iconName) {
|
97
106
|
if (!iconName) {
|
@@ -109,7 +118,7 @@ async function resolveIcon(iconName) {
|
|
109
118
|
}
|
110
119
|
}
|
111
120
|
try {
|
112
|
-
return fetchSVG(
|
121
|
+
return fetchSVG(getIconUrl(iconName));
|
113
122
|
}
|
114
123
|
catch (error) {
|
115
124
|
throw Error('Cannot resolve any icon');
|
@@ -184,4 +193,4 @@ Icon.style = IxIconStyle0;
|
|
184
193
|
|
185
194
|
exports.Icon = Icon;
|
186
195
|
|
187
|
-
//# sourceMappingURL=icon-
|
196
|
+
//# sourceMappingURL=icon-93104dbb.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"icon-93104dbb.js","mappings":"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","names":["getAssetPath","setAssetPath","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 * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { parseSVGDataContent, resolveIcon } from './resolveIcon';\n\nconst iconMissingSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32';\n\n /**\n * Color of the icon\n */\n @Prop() color: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name: string;\n\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n 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}
|
package/dist/cjs/index.cjs.js
CHANGED
@@ -2,13 +2,12 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const icon = require('./icon-
|
5
|
+
const icon = require('./icon-93104dbb.js');
|
6
6
|
const index = require('./index-8f585802.js');
|
7
7
|
|
8
8
|
|
9
9
|
|
10
10
|
exports.Icon = icon.Icon;
|
11
|
-
exports.getAssetPath = index.getAssetPath;
|
12
11
|
exports.setAssetPath = index.setAssetPath;
|
13
12
|
|
14
13
|
//# sourceMappingURL=index.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"index.cjs.js","mappings":"
|
1
|
+
{"file":"index.cjs.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
@@ -6,7 +6,7 @@
|
|
6
6
|
* This source code is licensed under the MIT license found in the
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
8
8
|
*/
|
9
|
-
import { getAssetPath } from "@stencil/core";
|
9
|
+
import { getAssetPath, setAssetPath } from "@stencil/core";
|
10
10
|
import { getCustomAssetUrl } from "./meta-tag";
|
11
11
|
let fetchCache;
|
12
12
|
const requests = new Map();
|
@@ -70,12 +70,21 @@ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\
|
|
70
70
|
function isValidUrl(url) {
|
71
71
|
return urlRegex.test(url);
|
72
72
|
}
|
73
|
-
export function
|
73
|
+
export function getIconUrl(name) {
|
74
74
|
const customAssetUrl = getCustomAssetUrl();
|
75
75
|
if (customAssetUrl) {
|
76
76
|
return `${customAssetUrl}/${name}.svg`;
|
77
77
|
}
|
78
|
-
|
78
|
+
let url = `svg/${name}.svg`;
|
79
|
+
try {
|
80
|
+
url = getAssetPath(url);
|
81
|
+
}
|
82
|
+
catch (error) {
|
83
|
+
console.warn(error);
|
84
|
+
setAssetPath(`${window.location.origin}/`);
|
85
|
+
url = getAssetPath(url);
|
86
|
+
}
|
87
|
+
return url;
|
79
88
|
}
|
80
89
|
export async function resolveIcon(iconName) {
|
81
90
|
if (!iconName) {
|
@@ -93,7 +102,7 @@ export async function resolveIcon(iconName) {
|
|
93
102
|
}
|
94
103
|
}
|
95
104
|
try {
|
96
|
-
return fetchSVG(
|
105
|
+
return fetchSVG(getIconUrl(iconName));
|
97
106
|
}
|
98
107
|
catch (error) {
|
99
108
|
throw Error('Cannot resolve any icon');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolveIcon.js","sourceRoot":"","sources":["../../../src/components/icon/resolveIcon.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"resolveIcon.js","sourceRoot":"","sources":["../../../src/components/icon/resolveIcon.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n}\n"]}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* COPYRIGHT (c) Siemens AG 2018-2023 ALL RIGHTS RESERVED.
|
3
3
|
*/
|
4
4
|
import { iconStar } from "../icons";
|
5
|
-
import { resolveIcon, getIconCacheMap,
|
5
|
+
import { resolveIcon, getIconCacheMap, getIconUrl, parseSVGDataContent } from "../resolveIcon";
|
6
6
|
const exampleSvg = `
|
7
7
|
<?xml version="1.0" encoding="UTF-8"?>
|
8
8
|
<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
@@ -75,13 +75,13 @@ test('fill cache map if not loaded', async () => {
|
|
75
75
|
expect(cacheMap.size).toBe(0);
|
76
76
|
const data = await resolveIcon('star');
|
77
77
|
expect(data).toBe(parseSVGDataContent(iconStar));
|
78
|
-
expect(cacheMap.get(
|
78
|
+
expect(cacheMap.get(getIconUrl('star'))).toBe(parseSVGDataContent(iconStar));
|
79
79
|
});
|
80
80
|
test('preload custom icon', async () => {
|
81
81
|
fetch.mockClear();
|
82
82
|
const cacheMap = getIconCacheMap();
|
83
83
|
cacheMap.clear();
|
84
|
-
cacheMap.set(
|
84
|
+
cacheMap.set(getIconUrl('star'), '<svg>Test</svg>');
|
85
85
|
const data = await resolveIcon('star');
|
86
86
|
expect(data).toBe('<svg>Test</svg>');
|
87
87
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolveIcon.spec.js","sourceRoot":"","sources":["../../../../src/components/icon/test/resolveIcon.spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,
|
1
|
+
{"version":3,"file":"resolveIcon.spec.js","sourceRoot":"","sources":["../../../../src/components/icon/test/resolveIcon.spec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * COPYRIGHT (c) Siemens AG 2018-2023 ALL RIGHTS RESERVED.\n */\nimport { iconStar } from '../icons';\nimport { resolveIcon, getIconCacheMap, getIconUrl, parseSVGDataContent } from '../resolveIcon';\nconst exampleSvg = `\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"512px\" height=\"512px\" viewBox=\"0 0 512 512\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>add</title>\n <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g id=\"Shape\" fill=\"#000000\" transform=\"translate(65.929697, 65.929697)\">\n <polygon points=\"211.189225 2.36847579e-14 211.189225 168.95138 380.140606 168.95138 380.140606 211.189225 211.189225 211.189225 211.189225 380.140606 168.95138 380.140606 168.95138 211.189225 -1.42108547e-14 211.189225 -1.42108547e-14 168.95138 168.95138 168.95138 168.95138 -1.42108547e-14\"></polygon>\n </g>\n </g>\n</svg>\n`;\n\nconst invalidexampleSvg = `\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<script>\n alert('Test!');\n</script>\n`;\n\njest.mock('../meta-tag');\njest.mock('../icons', () => ({\n iconStar: exampleSvg,\n}));\nlet fetch = (global.fetch = jest.fn((url: string) => {\n console.log(url);\n\n if (url === '/svg/star.svg') {\n return Promise.resolve({\n text: () => Promise.resolve(iconStar),\n ok: true,\n });\n }\n\n if (url === '/svg/bulb.svg') {\n return Promise.resolve({\n text: () => Promise.resolve(exampleSvg),\n ok: true,\n });\n }\n\n if (url === 'http://localhost/test.svg') {\n return Promise.resolve({\n text: () => Promise.resolve(exampleSvg),\n ok: true,\n });\n }\n\n if (url === 'http://localhost/invalid.svg') {\n return Promise.resolve({\n text: () => Promise.resolve(invalidexampleSvg),\n ok: true,\n });\n }\n}) as jest.Mock);\n\ndescribe('resolve icon', () => {\n beforeEach(() => {\n fetch.mockClear();\n });\n\n it('should resolve svg from name', async () => {\n const data = await resolveIcon('bulb');\n\n expect(data).toBe(\n `<svg width=\\\"512px\\\" height=\\\"512px\\\" viewBox=\\\"0 0 512 512\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>add</title> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"Shape\\\" fill=\\\"#000000\\\" transform=\\\"translate(65.929697, 65.929697)\\\"> <polygon points=\\\"211.189225 2.36847579e-14 211.189225 168.95138 380.140606 168.95138 380.140606 211.189225 211.189225 211.189225 211.189225 380.140606 168.95138 380.140606 168.95138 211.189225 -1.42108547e-14 211.189225 -1.42108547e-14 168.95138 168.95138 168.95138 168.95138 -1.42108547e-14\\\"></polygon> </g> </g> </svg>`,\n );\n });\n\n it('should resolve svg from src', async () => {\n const expectedName = await resolveIcon('http://localhost/test.svg');\n\n expect(expectedName).toEqual(\n `<svg width=\\\"512px\\\" height=\\\"512px\\\" viewBox=\\\"0 0 512 512\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>add</title> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"Shape\\\" fill=\\\"#000000\\\" transform=\\\"translate(65.929697, 65.929697)\\\"> <polygon points=\\\"211.189225 2.36847579e-14 211.189225 168.95138 380.140606 168.95138 380.140606 211.189225 211.189225 211.189225 211.189225 380.140606 168.95138 380.140606 168.95138 211.189225 -1.42108547e-14 211.189225 -1.42108547e-14 168.95138 168.95138 168.95138 168.95138 -1.42108547e-14\\\"></polygon> </g> </g> </svg>`,\n );\n });\n\n it('should not resolve invalid svg from src', async () => {\n const icon = 'http://localhost/invalid.svg';\n\n await expect(resolveIcon(icon)).rejects.toThrow('No valid svg data provided');\n });\n});\n\ntest('fill cache map if not loaded', async () => {\n fetch.mockClear();\n\n const cacheMap = getIconCacheMap();\n cacheMap.clear();\n\n expect(cacheMap.size).toBe(0);\n\n const data = await resolveIcon('star');\n\n expect(data).toBe(parseSVGDataContent(iconStar));\n expect(cacheMap.get(getIconUrl('star'))).toBe(parseSVGDataContent(iconStar));\n});\n\ntest('preload custom icon', async () => {\n fetch.mockClear();\n\n const cacheMap = getIconCacheMap();\n cacheMap.clear();\n\n cacheMap.set(getIconUrl('star'), '<svg>Test</svg>');\n\n const data = await resolveIcon('star');\n expect(data).toBe('<svg>Test</svg>');\n});\n"]}
|
package/dist/collection/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export type { Components, JSX } from './components';\nexport * from './components/icon/icon';\nexport { setAssetPath } from '@stencil/core';\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { g as getAssetPath, r as registerInstance, h, H as Host, c as getElement } from './index-d1072d3f.js';
|
1
|
+
import { g as getAssetPath, a as setAssetPath, r as registerInstance, h, H as Host, c as getElement } from './index-d1072d3f.js';
|
2
2
|
|
3
3
|
/**
|
4
4
|
* Provide custom SVG path for icons
|
@@ -84,12 +84,21 @@ const urlRegex = /^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\
|
|
84
84
|
function isValidUrl(url) {
|
85
85
|
return urlRegex.test(url);
|
86
86
|
}
|
87
|
-
function
|
87
|
+
function getIconUrl(name) {
|
88
88
|
const customAssetUrl = getCustomAssetUrl();
|
89
89
|
if (customAssetUrl) {
|
90
90
|
return `${customAssetUrl}/${name}.svg`;
|
91
91
|
}
|
92
|
-
|
92
|
+
let url = `svg/${name}.svg`;
|
93
|
+
try {
|
94
|
+
url = getAssetPath(url);
|
95
|
+
}
|
96
|
+
catch (error) {
|
97
|
+
console.warn(error);
|
98
|
+
setAssetPath(`${window.location.origin}/`);
|
99
|
+
url = getAssetPath(url);
|
100
|
+
}
|
101
|
+
return url;
|
93
102
|
}
|
94
103
|
async function resolveIcon(iconName) {
|
95
104
|
if (!iconName) {
|
@@ -107,7 +116,7 @@ async function resolveIcon(iconName) {
|
|
107
116
|
}
|
108
117
|
}
|
109
118
|
try {
|
110
|
-
return fetchSVG(
|
119
|
+
return fetchSVG(getIconUrl(iconName));
|
111
120
|
}
|
112
121
|
catch (error) {
|
113
122
|
throw Error('Cannot resolve any icon');
|
@@ -182,4 +191,4 @@ Icon.style = IxIconStyle0;
|
|
182
191
|
|
183
192
|
export { Icon as I };
|
184
193
|
|
185
|
-
//# sourceMappingURL=icon-
|
194
|
+
//# sourceMappingURL=icon-97776d4a.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"icon-97776d4a.js","mappings":"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","names":[],"sources":["src/components/icon/meta-tag.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { parseSVGDataContent, resolveIcon } from './resolveIcon';\n\nconst iconMissingSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32';\n\n /**\n * Color of the icon\n */\n @Prop() color: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name: string;\n\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n 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}
|
package/dist/esm/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
export { I as Icon } from './icon-
|
2
|
-
export {
|
1
|
+
export { I as Icon } from './icon-97776d4a.js';
|
2
|
+
export { a as setAssetPath } from './index-d1072d3f.js';
|
3
3
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export{I as Icon}from"./p-
|
1
|
+
export{I as Icon}from"./p-cf592f05.js";export{a as setAssetPath}from"./p-05455ad0.js";
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{p as o,b as n}from"./p-05455ad0.js";export{s as setNonce}from"./p-05455ad0.js";import{g as a}from"./p-e1255160.js";const t=()=>{const n=import.meta.url;const a={};if(n!==""){a.resourcesUrl=new URL(".",n).href}return o(a)};t().then((async o=>{await a();return n([["p-
|
1
|
+
import{p as o,b as n}from"./p-05455ad0.js";export{s as setNonce}from"./p-05455ad0.js";import{g as a}from"./p-e1255160.js";const t=()=>{const n=import.meta.url;const a={};if(n!==""){a.resourcesUrl=new URL(".",n).href}return o(a)};t().then((async o=>{await a();return n([["p-60aebf69",[[1,"ix-icon",{size:[1],color:[1],name:[1],lazyLoading:[4,"lazy-loading"],svgContent:[32],isVisible:[32]},null,{name:["loadIconContent"]}]]]],o)}));
|
2
2
|
//# sourceMappingURL=ix-icons.esm.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{g as t,a as e,r as n,h as i,H as r,c as s}from"./p-05455ad0.js";function o(){const t=document.querySelector("meta[name='ix-icons:path']");if(t){const e=t.getAttribute("content");return e}return false}let h;const a=new Map;let c=null;const d=()=>{if(typeof window==="undefined"){return new Map}if(!h){window.IxIcons=window.IxIcons||{};h=window.IxIcons.map=window.IxIcons.map||new Map}return h};const f=t=>{if(!t){return false}if(typeof t!=="string"){return false}return t.startsWith("data:image/svg+xml")};function w(t){if(typeof window["DOMParser"]==="undefined"){console.warn("DOMParser not supported by your browser.");return}if(c===null){c=new window["DOMParser"]}const e=c.parseFromString(t,"text/html");const n=e.querySelector("svg");if(!n){throw Error("No valid svg data provided")}return n.outerHTML}async function l(t){const e=d();if(e.has(t)){return e.get(t)}if(a.has(t)){return a.get(t)}const n=fetch(t).then((async n=>{const i=await n.text();if(!n.ok){console.error(i);throw Error(i)}const r=w(i);e.set(t,r);return r}));a.set(t,n);return n}const u=/^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\S+)(?:\S*)$/i;function g(t){return u.test(t)}function m(n){const i=o();if(i){return`${i}/${n}.svg`}let r=`svg/${n}.svg`;try{r=t(r)}catch(n){console.warn(n);e(`${window.location.origin}/`);r=t(r)}return r}async function v(t){if(!t){throw Error("No icon name provided")}if(f(t)){return w(t)}if(g(t)){try{return l(t)}catch(t){throw t}}try{return l(m(t))}catch(t){throw Error("Cannot resolve any icon")}}const p=":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}";const y=p;const L="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>";const b=class{constructor(t){n(this,t);this.size=undefined;this.color=undefined;this.name=undefined;this.lazyLoading=false;this.svgContent=undefined;this.isVisible=false}connectedCallback(){this.waitForRendering((()=>{this.isVisible=true;this.loadIconContent()}))}async loadIconContent(){try{this.svgContent=await v(this.name)}catch(t){this.svgContent=w(L)}}waitForRendering(t){if(this.lazyLoading&&typeof window!=="undefined"&&window.IntersectionObserver){const e=new IntersectionObserver((n=>{n.forEach((n=>{if(n.isIntersecting){t();e.disconnect()}}))}),{rootMargin:"25px"});e.observe(this.hostElement)}else{t()}}render(){const t={};if(this.color){t["color"]=`var(--theme-${this.color})`}return i(r,{key:"8dc18bf3b1ab1e2a521bd0fee33fa91b856dc52b",style:t,class:{["size-12"]:this.size==="12",["size-16"]:this.size==="16",["size-24"]:this.size==="24",["size-32"]:this.size==="32"}},i("div",{key:"48c3e8ae8e0d36be5fa112dbd408756f56c19535",class:"svg-container",innerHTML:this.svgContent}))}static get assetsDirs(){return["svg"]}get hostElement(){return s(this)}static get watchers(){return{name:["loadIconContent"]}}};b.style=y;export{b as I};
|
2
|
+
//# sourceMappingURL=p-cf592f05.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["getCustomAssetUrl","assetPath","document","querySelector","path","getAttribute","fetchCache","requests","Map","parser","getIconCacheMap","window","IxIcons","map","isSvgDataUrl","url","startsWith","parseSVGDataContent","content","console","warn","svgDocument","parseFromString","svgElement","Error","outerHTML","async","fetchSVG","cache","has","get","fetching","fetch","then","response","responseText","text","ok","error","svgContent","set","urlRegex","isValidUrl","test","getIconUrl","name","customAssetUrl","getAssetPath","setAssetPath","location","origin","resolveIcon","iconName","iconCss","IxIconStyle0","iconMissingSymbol","Icon","connectedCallback","this","waitForRendering","isVisible","loadIconContent","onRender","lazyLoading","IntersectionObserver","observer","entries","forEach","entry","isIntersecting","disconnect","rootMargin","observe","hostElement","render","style","color","h","Host","key","class","size","innerHTML"],"sources":["src/components/icon/meta-tag.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath, setAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\nlet parser = null;\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nexport function parseSVGDataContent(content: string) {\n if (typeof window['DOMParser'] === 'undefined') {\n console.warn('DOMParser not supported by your browser.');\n return;\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n throw Error('No valid svg data provided');\n }\n\n return svgElement.outerHTML;\n}\n\nasync function fetchSVG(url: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url);\n }\n\n if (requests.has(url)) {\n return requests.get(url);\n }\n\n const fetching = fetch(url).then(async response => {\n const responseText = await response.text();\n\n if (!response.ok) {\n console.error(responseText);\n throw Error(responseText);\n }\n\n const svgContent = parseSVGDataContent(responseText);\n cache.set(url, svgContent);\n\n return svgContent;\n });\n\n requests.set(url, fetching);\n return fetching;\n}\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string) {\n const customAssetUrl = getCustomAssetUrl();\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(error);\n setAssetPath(`${window.location.origin}/`);\n url = getAssetPath(url);\n }\n\n return url;\n}\n\nexport async function resolveIcon(iconName: string) {\n if (!iconName) {\n throw Error('No icon name provided');\n }\n\n if (isSvgDataUrl(iconName)) {\n return parseSVGDataContent(iconName);\n }\n\n if (isValidUrl(iconName)) {\n try {\n return fetchSVG(iconName);\n } catch (error) {\n throw error;\n }\n }\n\n try {\n return fetchSVG(getIconUrl(iconName));\n } catch (error) {\n throw Error('Cannot resolve any icon');\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { parseSVGDataContent, resolveIcon } from './resolveIcon';\n\nconst iconMissingSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32';\n\n /**\n * Color of the icon\n */\n @Prop() color: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name: string;\n\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n 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"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="drop" transform="translate(42.666667, 42.666667)"><path d="M213.333333,3.55271368e-14 C331.154987,3.55271368e-14 426.666667,95.51168 426.666667,213.333333 C426.666667,331.153707 331.154987,426.666667 213.333333,426.666667 C95.51296,426.666667 3.55271368e-14,331.153707 3.55271368e-14,213.333333 C3.55271368e-14,95.51168 95.51296,3.55271368e-14 213.333333,3.55271368e-14 Z M234.713387,192 L192.04672,192 L192.04672,320 L234.713387,320 L234.713387,192 Z M213.55008,101.333333 C197.99616,101.333333 186.713387,112.5536 186.713387,127.704107 C186.713387,143.46752 197.698773,154.666667 213.55008,154.666667 C228.785067,154.666667 240.04672,143.46752 240.04672,128 C240.04672,112.5536 228.785067,101.333333 213.55008,101.333333 Z" id="Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="about-white" transform="translate(42.666667, 42.666667)"><path d="M213.333333,3.55271368e-14 C95.51296,3.55271368e-14 3.55271368e-14,95.51168 3.55271368e-14,213.333333 C3.55271368e-14,331.153707 95.51296,426.666667 213.333333,426.666667 C331.154987,426.666667 426.666667,331.153707 426.666667,213.333333 C426.666667,95.51168 331.154987,3.55271368e-14 213.333333,3.55271368e-14 Z M213.333333,384 C119.227947,384 42.6666667,307.43872 42.6666667,213.333333 C42.6666667,119.227947 119.227947,42.6666667 213.333333,42.6666667 C307.44,42.6666667 384,119.227947 384,213.333333 C384,307.43872 307.44,384 213.333333,384 Z M240.04672,128 C240.04672,143.46752 228.785067,154.666667 213.55008,154.666667 C197.698773,154.666667 186.713387,143.46752 186.713387,127.704107 C186.713387,112.5536 197.99616,101.333333 213.55008,101.333333 C228.785067,101.333333 240.04672,112.5536 240.04672,128 Z M192.04672,192 L234.713387,192 L234.713387,320 L192.04672,320 L192.04672,192 Z" id="Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><g fill-rule="evenodd" transform="translate(64 64)"><path fill-rule="nonzero" d="M170.666667 0 170.666667 170.666667 0 170.666667 0 0 170.666667 0ZM128 42.6666667 42.6666667 42.6666667 42.6666667 128 128 128 128 42.6666667ZM170.666667 213.333333 170.666667 384 0 384 0 213.333333 170.666667 213.333333ZM128 256 42.6666667 256 42.6666667 341.333333 128 341.333333 128 256ZM384 0 384 170.666667 213.333333 170.666667 213.333333 0 384 0ZM341.333333 42.6666667 256 42.6666667 256 128 341.333333 128 341.333333 42.6666667Z"/><rect width="42.667" height="170.667" x="277.333" y="213.333"/><rect width="170.667" height="42.667" x="213.333" y="277.333"/></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="drop" transform="translate(42.666667, 42.666667)"><path d="M213.333333,3.55271368e-14 C269.912851,3.55271368e-14 324.175019,22.4761259 364.18278,62.4838867 C404.190541,102.491647 426.666667,156.753816 426.666667,213.333333 C426.666667,331.15408 331.15408,426.666667 213.333333,426.666667 C95.5125867,426.666667 3.55271368e-14,331.15408 3.55271368e-14,213.333333 C3.55271368e-14,95.5125867 95.5125867,3.55271368e-14 213.333333,3.55271368e-14 Z M234.666667,106.666667 L192,106.666667 L192,192 L106.666667,192 L106.666667,234.666667 L192,234.666 L192,320 L234.666667,320 L234.666,234.666 L320,234.666667 L320,192 L234.666,192 L234.666667,106.666667 Z" id="add-workorder"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="drop" transform="translate(42.666667, 42.666667)"><path d="M213.333333,3.55271368e-14 C269.912851,3.55271368e-14 324.175019,22.4761259 364.18278,62.4838867 C404.190541,102.491647 426.666667,156.753816 426.666667,213.333333 C426.666667,331.15408 331.15408,426.666667 213.333333,426.666667 C95.5125867,426.666667 3.55271368e-14,331.15408 3.55271368e-14,213.333333 C3.55271368e-14,95.5125867 95.5125867,3.55271368e-14 213.333333,3.55271368e-14 Z M213.333333,42.6666667 C119.076736,42.6666667 42.6666667,119.076736 42.6666667,213.333333 C42.6666667,307.589931 119.076736,384 213.333333,384 C258.596948,384 302.006682,366.019099 334.012891,334.012891 C366.019099,302.006682 384,258.596948 384,213.333333 C384,119.076736 307.589931,42.6666667 213.333333,42.6666667 Z M234.666667,106.666667 L234.666,192 L320,192 L320,234.666667 L234.666,234.666 L234.666667,320 L192,320 L192,234.666 L106.666667,234.666667 L106.666667,192 L192,192 L192,106.666667 L234.666667,106.666667 Z" id="add-workorder"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(85.333333, 42.666667)"><path d="M341.333333,277.333333 L341.332667,341.332333 L405.333333,341.333333 L405.333333,384 L341.332667,383.999333 L341.333333,448 L298.666667,448 L298.666667,383.999333 L234.666667,384 L234.666667,341.333333 L298.666667,341.332333 L298.666667,277.333333 L341.333333,277.333333 Z M234.666667,3.55271368e-14 L341.333333,106.666667 L341.333,256 L298.666,256 L298.666667,124.339779 L216.993555,42.6666667 L42.6666667,42.6666667 L42.6666667,384 L213.333,383.999 L213.333333,405.333333 L277.333333,405.333333 L277.333,426.666 L1.42108547e-14,426.666667 L1.42108547e-14,3.55271368e-14 L234.666667,3.55271368e-14 Z M213.333333,298.666667 L213.333333,341.333333 L64,341.333333 L64,298.666667 L213.333333,298.666667 Z M196,85.3333333 L256,145.333333 L124,277.333333 L64,277.333333 L64,217.333333 L196,85.3333333 Z M157.304,169.265333 L96,230.570667 L96,245.333333 L110.72,245.333333 L172.046,184.007333 L157.304,169.265333 Z M195.989333,130.581333 L179.932,146.637333 L194.674,161.379333 L210.730667,145.322667 L195.989333,130.581333 Z" id="Combined-Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(42.666667, 85.333333)"><path d="M384,234.666667 L383.999333,298.666667 L448,298.666667 L448,341.333333 L383.999333,341.332667 L384,405.333333 L341.333333,405.333333 L341.333333,341.332667 L277.333333,341.333333 L277.333333,298.666667 L341.333333,298.666667 L341.333333,234.666667 L384,234.666667 Z M213.333333,1.42108547e-14 C362.666667,1.42108547e-14 426.666667,170.666667 426.666667,170.666667 C426.666667,170.666667 419.806465,188.960536 405.337387,213.569457 L405.333333,213.333333 L320,213.333333 L320,277.333333 L256,277.333333 L256.002911,336.459508 C242.636019,339.591402 228.420159,341.333333 213.333333,341.333333 C64,341.333333 3.55271368e-14,170.666667 3.55271368e-14,170.666667 C3.55271368e-14,170.666667 64,1.42108547e-14 213.333333,1.42108547e-14 Z M213.333333,96 C172.096427,96 138.666667,129.42976 138.666667,170.666667 C138.666667,211.903573 172.096427,245.333333 213.333333,245.333333 C254.57024,245.333333 288,211.903573 288,170.666667 C288,129.42976 254.57024,96 213.333333,96 Z M213.333333,138.666667 C230.97792,138.666667 245.333333,153.02208 245.333333,170.666667 C245.333333,188.311253 230.97792,202.666667 213.333333,202.666667 C195.688747,202.666667 181.333333,188.311253 181.333333,170.666667 C181.333333,153.02208 195.688747,138.666667 213.333333,138.666667 Z" id="Combined-Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(42.666667, 85.333333)"><path d="M384,234.666667 L383.999333,298.666667 L448,298.666667 L448,341.333333 L383.999333,341.332667 L384,405.333333 L341.333333,405.333333 L341.332333,341.332667 L277.333333,341.333333 L277.333333,298.666667 L341.332333,298.666667 L341.333333,234.666667 L384,234.666667 Z M213.333333,1.42108547e-14 C362.666667,1.42108547e-14 426.666667,170.666667 426.666667,170.666667 C426.666667,170.666667 419.806465,188.960536 405.337387,213.569457 L405.333333,213.333333 L354.651041,213.332518 C366.256821,196.877829 374.660833,181.433195 379.954347,170.658773 C361.9296,133.970133 307.595093,42.6666667 213.333333,42.6666667 C119.114667,42.6666667 64.7850667,133.88928 46.7136,170.67328 C64.7370667,207.3632 119.071573,298.666667 213.333333,298.666667 C228.597918,298.666667 242.815495,296.272256 256.00151,292.102854 L256.001906,336.459743 C242.635306,339.59149 228.419781,341.333333 213.333333,341.333333 C64,341.333333 3.55271368e-14,170.666667 3.55271368e-14,170.666667 C3.55271368e-14,170.666667 64,1.42108547e-14 213.333333,1.42108547e-14 Z M213.333333,96 C254.57024,96 288,129.42976 288,170.666667 C288,211.903573 254.57024,245.333333 213.333333,245.333333 C172.096427,245.333333 138.666667,211.903573 138.666667,170.666667 C138.666667,129.42976 172.096427,96 213.333333,96 Z M213.333333,138.666667 C195.688747,138.666667 181.333333,153.02208 181.333333,170.666667 C181.333333,188.311253 195.688747,202.666667 213.333333,202.666667 C230.97792,202.666667 245.333333,188.311253 245.333333,170.666667 C245.333333,153.02208 230.97792,138.666667 213.333333,138.666667 Z" id="Combined-Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M234.667 267.333L384 85.3334H42.6665L192 267.333V389.333H234.667V267.333ZM426.666 320V384H490.666V426.667H426.666V490.667H384V426.667H320V384H384V320H426.666Z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M192 267.333V389.333H234.667V267.333L384 85.3334H42.6665L192 267.333ZM293.781 128H132.864L213.333 226.048L293.781 128ZM426.666 320V384H490.666V426.667H426.666V490.667H384V426.667H320V384H384V320H426.666Z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M128 106.667H106.667V128H64L64 106.667V64H106.667H128V106.667ZM64 170.667V234.667H106.667V170.667H64ZM64 341.333L64 277.333H106.667V341.333H64ZM405.333 170.667V234.667H448V170.667H405.333ZM170.667 64H234.667V106.667H170.667V64ZM341.333 64H277.333V106.667H341.333V64ZM170.667 405.333H234.667V448H170.667V405.333ZM106.667 405.333V384H64L64 405.333V448H106.667H128V405.333H106.667ZM405.333 106.667V128H448V106.667V64H405.333H384V106.667H405.333ZM426.667 384V320H384V384H320V426.667H384V490.667H426.667V426.667H490.667V384H426.667Z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M426.667 120.242L256 42.6667L85.3333 120.242V236.606C85.3333 344.243 158.151 444.896 256 469.333L261.617 467.84C274.46 464.213 286.848 459.273 298.667 453.176V362.667H362.667V298.667H418.609C423.861 278.598 426.667 257.737 426.667 236.606V120.242ZM128 147.712L256 89.5148V424.939L251.339 423.341C180.854 397.666 128 319.868 128 236.606V147.712ZM384 490.667V426.667H320V384H384V320H426.667V384H490.667V426.667H426.667V490.667H384Z"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(70.530593, 46.125620)"><path d="M185.469407,39.207713 L356.136074,39.207713 L356.136074,81.8743797 L185.469407,81.8743797 L185.469407,39.207713 Z M185.469407,188.541046 L356.136074,188.541046 L356.136074,231.207713 L185.469407,231.207713 L185.469407,188.541046 Z M119.285384,7.10542736e-15 L144.649352,19.5107443 L68.6167605,118.353113 L-4.26325641e-14,58.3134476 L21.0721475,34.2309934 L64.0400737,71.8050464 L119.285384,7.10542736e-15 Z M119.285384,149.333333 L144.649352,168.844078 L68.6167605,267.686446 L-4.26325641e-14,207.646781 L21.0721475,183.564327 L64.0400737,221.13838 L119.285384,149.333333 Z M356.136074,273.87438 L356.135407,337.87338 L420.136074,337.87438 L420.136074,380.541046 L356.135407,380.54038 L356.136074,444.541046 L313.469407,444.541046 L313.469407,380.54038 L249.469407,380.541046 L249.469407,337.87438 L313.469407,337.87338 L313.469407,273.87438 L356.136074,273.87438 Z" id="Combined-Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(42.666667, 128.000000)"><path d="M384,192 L383.999,256 L448,256 L448,298.666667 L383.999,298.666 L384,362.666667 L341.333333,362.666667 L341.333,298.666 L277.333333,298.666667 L277.333333,256 L341.333,256 L341.333333,192 L384,192 Z M149.333333,0 L149.333333,149.333333 L3.55271368e-14,149.333333 L3.55271368e-14,0 L149.333333,0 Z M106.666667,42.6666667 L42.6666667,42.6666667 L42.6666667,106.666667 L106.666667,106.666667 L106.666667,42.6666667 Z M213.333333,64 L426.666667,64 L426.666667,106.666667 L213.333333,106.666667 L213.333333,64 Z" id="Combined-Shape"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><path fill-rule="evenodd" d="M362.666667,277.333333 L362.666667,341.333333 L426.666667,341.333333 L426.666667,384 L362.666667,384 L362.666667,448 L320,448 L320,384 L256,384 L256,341.333333 L320,341.333333 L320,277.333333 L362.666667,277.333333 Z M186.666667,192 C246.976162,192 296.152141,241.030193 298.573248,302.451465 L298.666667,307.2 L298.666667,320 L234.666667,320 L234.666667,384 L0,384 L0,307.2 C0,245.167377 47.6682428,194.586368 107.383368,192.09609 L112,192 L186.666667,192 Z M149.333333,3.55271368e-14 C190.570594,3.55271368e-14 224,33.4294054 224,74.6666667 C224,114.529353 192.762078,147.096031 153.430084,149.222851 L149.333333,149.333333 C108.096072,149.333333 74.6666667,115.903928 74.6666667,74.6666667 C74.6666667,34.8039808 105.904589,2.2373024 145.236582,0.110482347 L149.333333,3.55271368e-14 Z" transform="translate(64 42.667)"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><path fill-rule="evenodd" d="M362.666667,277.333333 L362.666667,341.333333 L426.666667,341.333333 L426.666667,384 L362.666667,384 L362.666667,448 L320,448 L320,384 L256,384 L256,341.333333 L320,341.333333 L320,277.333333 L362.666667,277.333333 Z M186.666667,192 C246.976162,192 296.152141,241.030193 298.573248,302.451465 L298.666667,307.2 L298.666667,320 L256,320 L256,307.2 C256,268.266624 226.807633,236.897658 190.574699,234.780576 L186.666667,234.666667 L112,234.666667 C75.2924237,234.666667 44.8342773,264.693103 42.777363,303.0585 L42.6666667,307.2 L42.6666667,341.333333 L234.666667,341.333333 L234.666667,384 L0,384 L0,307.2 C0,245.167377 47.6682428,194.586368 107.383368,192.09609 L112,192 L186.666667,192 Z M149.333333,3.55271368e-14 C190.570594,3.55271368e-14 224,33.4294054 224,74.6666667 C224,114.529353 192.762078,147.096031 153.430084,149.222851 L149.333333,149.333333 C108.096072,149.333333 74.6666667,115.903928 74.6666667,74.6666667 C74.6666667,34.8039808 105.904589,2.2373024 145.236582,0.110482347 L149.333333,3.55271368e-14 Z M149.333333,42.6666667 C131.660221,42.6666667 117.333333,56.9935548 117.333333,74.6666667 C117.333333,92.3397786 131.660221,106.666667 149.333333,106.666667 C167.006445,106.666667 181.333333,92.3397786 181.333333,74.6666667 C181.333333,56.9935548 167.006445,42.6666667 149.333333,42.6666667 Z" transform="translate(64 42.667)"/></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Shape" transform="translate(65.929697, 65.929697)"><polygon points="211.189225 2.36847579e-14 211.189225 168.95138 380.140606 168.95138 380.140606 211.189225 211.189225 211.189225 211.189225 380.140606 168.95138 380.140606 168.95138 211.189225 -1.42108547e-14 211.189225 -1.42108547e-14 168.95138 168.95138 168.95138 168.95138 -1.42108547e-14"/></g></g></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="icon" transform="translate(64.000000, 64.000000)"><path d="M320,64 L320,320 L64,320 L64,64 L320,64 Z M171.749388,128 L146.817842,128 L99.4840387,256 L121.976629,256 L130.913039,230.977 L187.575039,230.977 L196.319607,256 L220.167172,256 L171.749388,128 Z M260.093778,128 L237.691519,128 L237.691519,256 L260.093778,256 L260.093778,128 Z M159.094727,149.47526 L181.409039,213.333 L137.135039,213.333 L159.094727,149.47526 Z M341.333333,256 L384,256 L384,298.666667 L341.333333,298.666667 L341.333333,256 Z M85.3333333,341.333333 L128,341.333333 L128,384 L85.3333333,384 L85.3333333,341.333333 Z M170.666667,341.333333 L213.333333,341.333333 L213.333333,384 L170.666667,384 L170.666667,341.333333 Z M85.3333333,0 L128,0 L128,42.6666667 L85.3333333,42.6666667 L85.3333333,0 Z M256,341.333333 L298.666667,341.333333 L298.666667,384 L256,384 L256,341.333333 Z M170.666667,0 L213.333333,0 L213.333333,42.6666667 L170.666667,42.6666667 L170.666667,0 Z M256,0 L298.666667,0 L298.666667,42.6666667 L256,42.6666667 L256,0 Z M341.333333,170.666667 L384,170.666667 L384,213.333333 L341.333333,213.333333 L341.333333,170.666667 Z M0,256 L42.6666667,256 L42.6666667,298.666667 L0,298.666667 L0,256 Z M341.333333,85.3333333 L384,85.3333333 L384,128 L341.333333,128 L341.333333,85.3333333 Z M0,170.666667 L42.6666667,170.666667 L42.6666667,213.333333 L0,213.333333 L0,170.666667 Z M0,85.3333333 L42.6666667,85.3333333 L42.6666667,128 L0,128 L0,85.3333333 Z" id="Combined-Shape"/></g></g></svg>
|