@pine-ds/icons 3.3.0 → 3.3.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.d.ts +5 -0
- package/components/index.js +1 -1
- package/components/package.json +1 -1
- package/components/pds-icon.js +129 -16
- package/components/pds-icon.js.map +1 -1
- package/dist/cheatsheet.html +3 -3
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +32 -14
- package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-icons.cjs.js +1 -1
- package/dist/cjs/{utils-8c57ce6a.js → utils-66fa4942.js} +6 -2
- package/dist/cjs/utils-66fa4942.js.map +1 -0
- package/dist/collection/components/pds-icon/pds-icon.js +21 -0
- package/dist/collection/components/pds-icon/pds-icon.js.map +1 -1
- package/dist/collection/components/pds-icon/request.js +27 -13
- package/dist/collection/components/pds-icon/request.js.map +1 -1
- package/dist/collection/components/pds-icon/utils.js +5 -1
- package/dist/collection/components/pds-icon/utils.js.map +1 -1
- package/dist/collection/components/pds-icon/validate.js +3 -1
- package/dist/collection/components/pds-icon/validate.js.map +1 -1
- package/dist/docs.json +22 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-icon.entry.js +32 -14
- package/dist/esm/pds-icon.entry.js.map +1 -1
- package/dist/esm/pds-icons.js +1 -1
- package/dist/esm/{utils-15462a67.js → utils-c7e6be67.js} +6 -2
- package/dist/esm/utils-c7e6be67.js.map +1 -0
- package/dist/pds-icons/index.esm.js +1 -1
- package/dist/pds-icons/p-7ef171e4.js +2 -0
- package/dist/pds-icons/p-7ef171e4.js.map +1 -0
- package/dist/pds-icons/p-c34805d3.entry.js +2 -0
- package/dist/pds-icons/p-c34805d3.entry.js.map +1 -0
- package/dist/pds-icons/pds-icons.esm.js +1 -1
- package/dist/pds-icons/pds-icons.esm.js.map +1 -1
- package/dist/pds-icons/svg/access-key.svg +1 -0
- package/dist/pds-icons/svg/add-circle.svg +1 -0
- package/dist/pds-icons/svg/add-image.svg +1 -0
- package/dist/pds-icons/svg/add-small.svg +1 -0
- package/dist/pds-icons/svg/add.svg +1 -0
- package/dist/pds-icons/svg/ai-sparkle.svg +1 -0
- package/dist/pds-icons/svg/ai-writer-filled.svg +1 -0
- package/dist/pds-icons/svg/ai-writer.svg +1 -0
- package/dist/pds-icons/svg/align-center.svg +1 -0
- package/dist/pds-icons/svg/align-justify.svg +1 -0
- package/dist/pds-icons/svg/align-left.svg +1 -0
- package/dist/pds-icons/svg/align-right.svg +1 -0
- package/dist/pds-icons/svg/analytics-filled.svg +1 -0
- package/dist/pds-icons/svg/analytics-outline.svg +1 -0
- package/dist/pds-icons/svg/app-store.svg +1 -0
- package/dist/pds-icons/svg/archive.svg +1 -0
- package/dist/pds-icons/svg/arrow-corner.svg +1 -0
- package/dist/pds-icons/svg/arrow-down.svg +1 -0
- package/dist/pds-icons/svg/arrow-left.svg +1 -0
- package/dist/pds-icons/svg/arrow-right.svg +1 -0
- package/dist/pds-icons/svg/arrow-up.svg +1 -0
- package/dist/pds-icons/svg/assessment.svg +1 -0
- package/dist/pds-icons/svg/at-sign.svg +1 -0
- package/dist/pds-icons/svg/attach.svg +1 -0
- package/dist/pds-icons/svg/automations.svg +1 -0
- package/dist/pds-icons/svg/ban.svg +1 -0
- package/dist/pds-icons/svg/bank.svg +1 -0
- package/dist/pds-icons/svg/bell.svg +1 -0
- package/dist/pds-icons/svg/blog-filled.svg +1 -0
- package/dist/pds-icons/svg/blog.svg +1 -0
- package/dist/pds-icons/svg/bold.svg +1 -0
- package/dist/pds-icons/svg/broadcast.svg +1 -0
- package/dist/pds-icons/svg/calendar-date.svg +1 -0
- package/dist/pds-icons/svg/calendar-schedule.svg +1 -0
- package/dist/pds-icons/svg/calendar-simple.svg +1 -0
- package/dist/pds-icons/svg/card-bw-amex.svg +1 -0
- package/dist/pds-icons/svg/card-bw-apple-card.svg +1 -0
- package/dist/pds-icons/svg/card-bw-diners-club.svg +1 -0
- package/dist/pds-icons/svg/card-bw-discover.svg +1 -0
- package/dist/pds-icons/svg/card-bw-gpay-card.svg +1 -0
- package/dist/pds-icons/svg/card-bw-mastercard.svg +1 -0
- package/dist/pds-icons/svg/card-bw-paypal.svg +1 -0
- package/dist/pds-icons/svg/card-bw-stripe.svg +1 -0
- package/dist/pds-icons/svg/card-bw-visa.svg +1 -0
- package/dist/pds-icons/svg/card-update.svg +1 -0
- package/dist/pds-icons/svg/caret-down.svg +1 -0
- package/dist/pds-icons/svg/caret-left.svg +1 -0
- package/dist/pds-icons/svg/caret-right.svg +1 -0
- package/dist/pds-icons/svg/caret-up.svg +1 -0
- package/dist/pds-icons/svg/cart-add.svg +1 -0
- package/dist/pds-icons/svg/cart.svg +1 -0
- package/dist/pds-icons/svg/certificate.svg +1 -0
- package/dist/pds-icons/svg/check-circle-filled.svg +1 -0
- package/dist/pds-icons/svg/check-circle.svg +1 -0
- package/dist/pds-icons/svg/check.svg +1 -0
- package/dist/pds-icons/svg/circle-1.svg +1 -0
- package/dist/pds-icons/svg/circle-2.svg +1 -0
- package/dist/pds-icons/svg/circle-3.svg +1 -0
- package/dist/pds-icons/svg/circle-4.svg +1 -0
- package/dist/pds-icons/svg/circle-5.svg +1 -0
- package/dist/pds-icons/svg/circle-6.svg +1 -0
- package/dist/pds-icons/svg/circle-7.svg +1 -0
- package/dist/pds-icons/svg/circle-8.svg +1 -0
- package/dist/pds-icons/svg/circle-9.svg +1 -0
- package/dist/pds-icons/svg/clock.svg +1 -0
- package/dist/pds-icons/svg/closed-captions.svg +1 -0
- package/dist/pds-icons/svg/cloud-upload.svg +1 -0
- package/dist/pds-icons/svg/code.svg +1 -0
- package/dist/pds-icons/svg/color.svg +1 -0
- package/dist/pds-icons/svg/columns.svg +1 -0
- package/dist/pds-icons/svg/comment.svg +1 -0
- package/dist/pds-icons/svg/connect.svg +1 -0
- package/dist/pds-icons/svg/contact.svg +1 -0
- package/dist/pds-icons/svg/contacts-filled.svg +1 -0
- package/dist/pds-icons/svg/contacts-outline.svg +1 -0
- package/dist/pds-icons/svg/conversation.svg +1 -0
- package/dist/pds-icons/svg/copy.svg +1 -0
- package/dist/pds-icons/svg/coupon.svg +1 -0
- package/dist/pds-icons/svg/course.svg +1 -0
- package/dist/pds-icons/svg/creator-studio-filled.svg +1 -0
- package/dist/pds-icons/svg/creator-studio.svg +1 -0
- package/dist/pds-icons/svg/credit-card.svg +1 -0
- package/dist/pds-icons/svg/custom-field.svg +1 -0
- package/dist/pds-icons/svg/customize.svg +1 -0
- package/dist/pds-icons/svg/danger-filled.svg +1 -0
- package/dist/pds-icons/svg/danger.svg +1 -0
- package/dist/pds-icons/svg/dashboard-filled.svg +1 -0
- package/dist/pds-icons/svg/dashboard-outline.svg +1 -0
- package/dist/pds-icons/svg/delete-circle.svg +1 -0
- package/dist/pds-icons/svg/delete-key.svg +1 -0
- package/dist/pds-icons/svg/delete-x.svg +1 -0
- package/dist/pds-icons/svg/dollar-sign.svg +1 -0
- package/dist/pds-icons/svg/dot-menu-horizontal.svg +1 -0
- package/dist/pds-icons/svg/down-small.svg +1 -0
- package/dist/pds-icons/svg/download.svg +1 -0
- package/dist/pds-icons/svg/downsell.svg +1 -0
- package/dist/pds-icons/svg/draft.svg +1 -0
- package/dist/pds-icons/svg/drop.svg +1 -0
- package/dist/pds-icons/svg/duplicate.svg +1 -0
- package/dist/pds-icons/svg/email-activity.svg +1 -0
- package/dist/pds-icons/svg/emoji.svg +1 -0
- package/dist/pds-icons/svg/enlarge-vertical.svg +1 -0
- package/dist/pds-icons/svg/enlarge.svg +1 -0
- package/dist/pds-icons/svg/expand.svg +1 -0
- package/dist/pds-icons/svg/facebook-2.svg +1 -0
- package/dist/pds-icons/svg/facebook.svg +1 -0
- package/dist/pds-icons/svg/favorite.svg +1 -0
- package/dist/pds-icons/svg/feedback.svg +1 -0
- package/dist/pds-icons/svg/file-money.svg +1 -0
- package/dist/pds-icons/svg/file.svg +1 -0
- package/dist/pds-icons/svg/filter.svg +1 -0
- package/dist/pds-icons/svg/flag.svg +1 -0
- package/dist/pds-icons/svg/flash-filled.svg +1 -0
- package/dist/pds-icons/svg/flash.svg +1 -0
- package/dist/pds-icons/svg/folder-group.svg +1 -0
- package/dist/pds-icons/svg/folder.svg +1 -0
- package/dist/pds-icons/svg/form-field.svg +1 -0
- package/dist/pds-icons/svg/form-filled.svg +1 -0
- package/dist/pds-icons/svg/form.svg +1 -0
- package/dist/pds-icons/svg/fullscreen.svg +1 -0
- package/dist/pds-icons/svg/funnel.svg +1 -0
- package/dist/pds-icons/svg/grant-offer.svg +1 -0
- package/dist/pds-icons/svg/handle-2-vertical.svg +1 -0
- package/dist/pds-icons/svg/handle-2.svg +1 -0
- package/dist/pds-icons/svg/handle.svg +1 -0
- package/dist/pds-icons/svg/hashtag.svg +1 -0
- package/dist/pds-icons/svg/hd-video.svg +1 -0
- package/dist/pds-icons/svg/heading-large.svg +1 -0
- package/dist/pds-icons/svg/heading-small.svg +1 -0
- package/dist/pds-icons/svg/headset.svg +1 -0
- package/dist/pds-icons/svg/help-filled.svg +1 -0
- package/dist/pds-icons/svg/help-outline.svg +1 -0
- package/dist/pds-icons/svg/home-alt.svg +1 -0
- package/dist/pds-icons/svg/horizontal-line.svg +1 -0
- package/dist/pds-icons/svg/image.svg +1 -0
- package/dist/pds-icons/svg/info-circle-filled.svg +1 -0
- package/dist/pds-icons/svg/info-circle.svg +1 -0
- package/dist/pds-icons/svg/instagram.svg +1 -0
- package/dist/pds-icons/svg/ios-battery.svg +1 -0
- package/dist/pds-icons/svg/ios-data.svg +1 -0
- package/dist/pds-icons/svg/ios-wifi.svg +1 -0
- package/dist/pds-icons/svg/italic.svg +1 -0
- package/dist/pds-icons/svg/kajabi-filled.svg +1 -0
- package/dist/pds-icons/svg/kajabi-outlined.svg +1 -0
- package/dist/pds-icons/svg/lab.svg +1 -0
- package/dist/pds-icons/svg/launch.svg +1 -0
- package/dist/pds-icons/svg/layout-grid.svg +1 -0
- package/dist/pds-icons/svg/layout-list.svg +1 -0
- package/dist/pds-icons/svg/left-small.svg +1 -0
- package/dist/pds-icons/svg/linkedin.svg +1 -0
- package/dist/pds-icons/svg/list-bullet.svg +1 -0
- package/dist/pds-icons/svg/list-numbers.svg +1 -0
- package/dist/pds-icons/svg/location.svg +1 -0
- package/dist/pds-icons/svg/lock-alt.svg +1 -0
- package/dist/pds-icons/svg/lock.svg +1 -0
- package/dist/pds-icons/svg/logo-afterpay.svg +1 -0
- package/dist/pds-icons/svg/loop.svg +1 -0
- package/dist/pds-icons/svg/mail-filled.svg +1 -0
- package/dist/pds-icons/svg/mail.svg +1 -0
- package/dist/pds-icons/svg/map.svg +1 -0
- package/dist/pds-icons/svg/mapped.svg +1 -0
- package/dist/pds-icons/svg/margin-left.svg +1 -0
- package/dist/pds-icons/svg/margin-right.svg +1 -0
- package/dist/pds-icons/svg/marker-filled.svg +1 -0
- package/dist/pds-icons/svg/marker.svg +1 -0
- package/dist/pds-icons/svg/marketing-filled.svg +1 -0
- package/dist/pds-icons/svg/marketing-outline.svg +1 -0
- package/dist/pds-icons/svg/menu-2.svg +1 -0
- package/dist/pds-icons/svg/menu-alt.svg +1 -0
- package/dist/pds-icons/svg/menu.svg +1 -0
- package/dist/pds-icons/svg/merge.svg +1 -0
- package/dist/pds-icons/svg/microphone-off.svg +1 -0
- package/dist/pds-icons/svg/microphone.svg +1 -0
- package/dist/pds-icons/svg/move-left.svg +1 -0
- package/dist/pds-icons/svg/move-right.svg +1 -0
- package/dist/pds-icons/svg/multi-pay.svg +1 -0
- package/dist/pds-icons/svg/newsletter.svg +1 -0
- package/dist/pds-icons/svg/one-off-session.svg +1 -0
- package/dist/pds-icons/svg/one-time.svg +1 -0
- package/dist/pds-icons/svg/partners-filled.svg +1 -0
- package/dist/pds-icons/svg/partners-outline.svg +1 -0
- package/dist/pds-icons/svg/pause-circle.svg +1 -0
- package/dist/pds-icons/svg/pause.svg +1 -0
- package/dist/pds-icons/svg/payout.svg +1 -0
- package/dist/pds-icons/svg/pen.svg +1 -0
- package/dist/pds-icons/svg/phone-portrait.svg +1 -0
- package/dist/pds-icons/svg/phone-toolbar.svg +1 -0
- package/dist/pds-icons/svg/play-circle.svg +1 -0
- package/dist/pds-icons/svg/play-outline.svg +1 -0
- package/dist/pds-icons/svg/play-store.svg +1 -0
- package/dist/pds-icons/svg/play.svg +1 -0
- package/dist/pds-icons/svg/plug.svg +1 -0
- package/dist/pds-icons/svg/premium.svg +1 -0
- package/dist/pds-icons/svg/present.svg +1 -0
- package/dist/pds-icons/svg/preview-off.svg +1 -0
- package/dist/pds-icons/svg/preview-on.svg +1 -0
- package/dist/pds-icons/svg/products-filled.svg +1 -0
- package/dist/pds-icons/svg/products-outline.svg +1 -0
- package/dist/pds-icons/svg/question-circle.svg +1 -0
- package/dist/pds-icons/svg/quote.svg +1 -0
- package/dist/pds-icons/svg/redo.svg +1 -0
- package/dist/pds-icons/svg/refresh.svg +1 -0
- package/dist/pds-icons/svg/remove-circle.svg +1 -0
- package/dist/pds-icons/svg/remove.svg +1 -0
- package/dist/pds-icons/svg/rename.svg +1 -0
- package/dist/pds-icons/svg/reset-password.svg +1 -0
- package/dist/pds-icons/svg/restore.svg +1 -0
- package/dist/pds-icons/svg/right-small.svg +1 -0
- package/dist/pds-icons/svg/round-dollar.svg +1 -0
- package/dist/pds-icons/svg/rows.svg +1 -0
- package/dist/pds-icons/svg/sales-filled.svg +1 -0
- package/dist/pds-icons/svg/sales-outline.svg +1 -0
- package/dist/pds-icons/svg/scissor.svg +1 -0
- package/dist/pds-icons/svg/screen-share-off.svg +1 -0
- package/dist/pds-icons/svg/screen-share-on.svg +1 -0
- package/dist/pds-icons/svg/search-small.svg +1 -0
- package/dist/pds-icons/svg/search.svg +1 -0
- package/dist/pds-icons/svg/send-message.svg +1 -0
- package/dist/pds-icons/svg/sequences.svg +1 -0
- package/dist/pds-icons/svg/series.svg +1 -0
- package/dist/pds-icons/svg/settings-filled.svg +1 -0
- package/dist/pds-icons/svg/settings-outline.svg +1 -0
- package/dist/pds-icons/svg/share.svg +1 -0
- package/dist/pds-icons/svg/skipped.svg +1 -0
- package/dist/pds-icons/svg/slash-divider.svg +1 -0
- package/dist/pds-icons/svg/sparkle-filled.svg +1 -0
- package/dist/pds-icons/svg/sparkle.svg +1 -0
- package/dist/pds-icons/svg/speaker.svg +1 -0
- package/dist/pds-icons/svg/stack.svg +1 -0
- package/dist/pds-icons/svg/star.svg +1 -0
- package/dist/pds-icons/svg/stop.svg +1 -0
- package/dist/pds-icons/svg/stopwatch.svg +1 -0
- package/dist/pds-icons/svg/strikethrough.svg +1 -0
- package/dist/pds-icons/svg/subscript.svg +1 -0
- package/dist/pds-icons/svg/subscriptions.svg +1 -0
- package/dist/pds-icons/svg/super-admin.svg +1 -0
- package/dist/pds-icons/svg/superscript.svg +1 -0
- package/dist/pds-icons/svg/sync.svg +1 -0
- package/dist/pds-icons/svg/tablet-landscape.svg +1 -0
- package/dist/pds-icons/svg/tablet-portrait.svg +1 -0
- package/dist/pds-icons/svg/text-styles.svg +1 -0
- package/dist/pds-icons/svg/theme-store-filled.svg +1 -0
- package/dist/pds-icons/svg/theme-store.svg +1 -0
- package/dist/pds-icons/svg/thumbs-down-filled.svg +1 -0
- package/dist/pds-icons/svg/thumbs-down.svg +1 -0
- package/dist/pds-icons/svg/thumbs-up-filled.svg +1 -0
- package/dist/pds-icons/svg/thumbs-up.svg +1 -0
- package/dist/pds-icons/svg/tiktok.svg +1 -0
- package/dist/pds-icons/svg/trash.svg +1 -0
- package/dist/pds-icons/svg/twitter.svg +1 -0
- package/dist/pds-icons/svg/underline.svg +1 -0
- package/dist/pds-icons/svg/undo.svg +1 -0
- package/dist/pds-icons/svg/unlock.svg +1 -0
- package/dist/pds-icons/svg/unmapped.svg +1 -0
- package/dist/pds-icons/svg/up-small.svg +1 -0
- package/dist/pds-icons/svg/upload.svg +1 -0
- package/dist/pds-icons/svg/url.svg +1 -0
- package/dist/pds-icons/svg/user-filled.svg +1 -0
- package/dist/pds-icons/svg/user.svg +1 -0
- package/dist/pds-icons/svg/users-wm.svg +1 -0
- package/dist/pds-icons/svg/users.svg +1 -0
- package/dist/pds-icons/svg/video-off.svg +1 -0
- package/dist/pds-icons/svg/video-on.svg +1 -0
- package/dist/pds-icons/svg/warning-filled.svg +1 -0
- package/dist/pds-icons/svg/warning.svg +1 -0
- package/dist/pds-icons/svg/website-filled.svg +1 -0
- package/dist/pds-icons/svg/website-outline.svg +1 -0
- package/dist/pds-icons/svg/window-paragraph.svg +1 -0
- package/dist/pds-icons/svg/world.svg +1 -0
- package/dist/pds-icons/svg/wrench.svg +1 -0
- package/dist/pds-icons/svg/youtube.svg +1 -0
- package/dist/pds-icons.json +1 -1
- package/dist/pds-icons.symbols.svg +1 -1
- package/dist/types/components/pds-icon/pds-icon.d.ts +5 -0
- package/dist/types/components/pds-icon/validate.d.ts +2 -0
- package/dist/types/components.d.ts +8 -0
- package/icons/index.d.ts +1 -1
- package/icons/index.js +1 -1
- package/icons/index.mjs +1 -1
- package/icons/package.json +2 -2
- package/package.json +1 -1
- package/components/utils.js +0 -95
- package/components/utils.js.map +0 -1
- package/dist/cjs/utils-8c57ce6a.js.map +0 -1
- package/dist/esm/utils-15462a67.js.map +0 -1
- package/dist/pds-icons/p-229b8f4e.entry.js +0 -2
- package/dist/pds-icons/p-229b8f4e.entry.js.map +0 -1
- package/dist/pds-icons/p-f0b1dbd6.js +0 -2
- package/dist/pds-icons/p-f0b1dbd6.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M16 1.333a.667.667 0 0 0-.828-.646l-5.145 1.286L6.21.7a.667.667 0 0 0-.373-.014L.505 2.02A.667.667 0 0 0 0 2.667v12a.667.667 0 0 0 .828.646l5.334-1.333a.667.667 0 1 0-.324-1.293l-4.505 1.126V3.187l4.64-1.16L9.79 3.3c.12.04.25.045.373.014l4.505-1.126v5.146a.667.667 0 1 0 1.333 0v-6Zm-2.862 6.862a.667.667 0 0 0-.943 0l-4 4a.667.667 0 0 0-.195.472v2c0 .368.298.666.667.666h2c.177 0 .346-.07.471-.195l4-4a.667.667 0 0 0 0-.943l-2-2ZM9.333 14v-1.057l3.334-3.334 1.057 1.058L10.39 14H9.333Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M7.15 5.594a.889.889 0 0 1 1.256 0l3.556 3.555a.889.889 0 0 1-1.257 1.257L7.778 7.48 4.85 10.406A.889.889 0 1 1 3.594 9.15l3.555-3.555Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M.727 10.182c.402 0 .728.325.728.727v3.636h13.09V10.91a.727.727 0 1 1 1.455 0v4.364a.727.727 0 0 1-.727.727H.727A.727.727 0 0 1 0 15.273v-4.364c0-.402.326-.727.727-.727Z"/><path fill-rule="evenodd" d="M8 0c.402 0 .727.326.727.727v10.91a.727.727 0 0 1-1.454 0V.726C7.273.326 7.598 0 8 0Z"/><path fill-rule="evenodd" d="M7.486.213a.727.727 0 0 1 1.028 0l4.364 4.364a.727.727 0 0 1-1.029 1.028L8 1.755l-3.85 3.85a.727.727 0 1 1-1.028-1.028L7.486.213Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path d="M9.518 2.758 7.805 4.47a.667.667 0 1 1-.943-.942l1.722-1.723a4.007 4.007 0 0 1 5.598 0l-.465.477.477-.465a4.008 4.008 0 0 1 0 5.598l-.006.005-1.717 1.717a.667.667 0 1 1-.942-.943l1.713-1.713a2.674 2.674 0 0 0 .003-3.727 2.674 2.674 0 0 0-3.727.003ZM4.471 6.862c.26.26.26.682 0 .943L2.758 9.518a2.674 2.674 0 0 0-.003 3.727 2.674 2.674 0 0 0 3.727-.003l1.713-1.713a.667.667 0 1 1 .943.942l-1.722 1.723a4.008 4.008 0 0 1-5.598 0l.465-.477-.477.465a4.007 4.007 0 0 1 0-5.598l.006-.005 1.717-1.717c.26-.26.682-.26.942 0Z"/><path d="M11.138 5.805a.667.667 0 0 0-.943-.943l-5.333 5.333a.667.667 0 1 0 .943.943l5.333-5.333Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 17" class="pdsicon"><path fill-rule="evenodd" d="M11.667 3.697C11.667 5.687 10.067 8 8 8 5.933 8 4.333 5.687 4.333 3.697a3.667 3.667 0 1 1 7.334 0Zm-8.77 7.2c1-1 2.356-1.562 3.77-1.564h2.666a5.34 5.34 0 0 1 5.334 5.334.667.667 0 0 1-.464.635A22.19 22.19 0 0 1 8 16a22.19 22.19 0 0 1-6.203-.698.667.667 0 0 1-.464-.635 5.34 5.34 0 0 1 1.564-3.77Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M10.88 8.34a4.667 4.667 0 1 0-5.758 0 7.336 7.336 0 0 0-5.122 6.993.667.667 0 1 0 1.333 0 6 6 0 0 1 6-6h1.334a6 6 0 0 1 6 6 .667.667 0 1 0 1.333 0 7.336 7.336 0 0 0-5.12-6.993ZM4.666 4.667a3.333 3.333 0 1 1 6.666 0 3.333 3.333 0 0 1-6.666 0Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M15.167 9.867a1.334 1.334 0 0 1 .833 1.24v3.546h-4V13.32h2.667v-2.213l-2.494-1a1.312 1.312 0 0 1-.606-.487 1.302 1.302 0 0 1-.234-.747V7.9l.334-.187a1.967 1.967 0 0 0 1-1.72V4.66c0-.353-.094-.693-.267-1a1.985 1.985 0 0 0-.733-.733 2.02 2.02 0 0 0-2 0l-.58.333-.667-1.153.58-.334a3.377 3.377 0 0 1 3.333 0c.507.294.927.714 1.22 1.22A3.32 3.32 0 0 1 14 4.66v1.333c0 .58-.16 1.16-.447 1.66a3.327 3.327 0 0 1-.886.994v.226l2.5.994Zm-7.427-.16 2.087.833c.246.1.46.267.613.493.147.22.227.48.227.747v2.88H0v-2.88a1.344 1.344 0 0 1 .84-1.247L2.927 9.7C1.273 9.253.793 8.407.74 8.293l-.22-.426.34-.347C1.18 7.2 2 6.187 2 5.327c0-.894.347-1.727.973-2.36a3.34 3.34 0 0 1 2.36-.974 3.34 3.34 0 0 1 2.36.974 3.34 3.34 0 0 1 .974 2.36c0 .86.82 1.873 1.14 2.2l.34.34-.22.433c-.062.11-.537.954-2.187 1.407ZM1.333 11.78v1.54h7.994v-1.547l-2.494-1A1.312 1.312 0 0 1 6 9.54v-.887l.58-.073c.973-.127 1.54-.4 1.847-.613-.454-.58-1.094-1.574-1.094-2.64a1.97 1.97 0 0 0-.586-1.414c-.754-.753-2.074-.753-2.827 0-.38.38-.587.88-.587 1.414 0 1.066-.64 2.066-1.093 2.633.307.213.867.48 1.847.613l.58.08v.887a1.34 1.34 0 0 1-.84 1.24l-2.494 1Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path d="M15.388 14.715H12.71c-.4 0-.668-.267-.668-.669 0-.401.267-.669.668-.669h2.008V11.17l-2.476-1.003c-.267-.067-.468-.268-.602-.468-.134-.201-.2-.469-.2-.736V8.36c0-.268.133-.469.334-.603.334-.2.535-.4.736-.735.134-.335.2-.67.2-1.004V4.68c0-.335-.066-.67-.267-1.004a1.944 1.944 0 0 0-.736-.736 2.133 2.133 0 0 0-2.007 0c-.335.201-.736.067-.937-.267-.2-.335-.067-.736.268-.937a3.323 3.323 0 0 1 3.345 0c.535.268.937.736 1.204 1.204.335.536.469 1.138.469 1.74v1.338a3.02 3.02 0 0 1-.469 1.673c-.2.401-.535.736-.87 1.003v.2l2.476 1.004c.268.067.468.268.602.469.134.2.2.468.2.736v2.943c.068.335-.2.67-.601.67ZM10.035 14.715H.67c-.401 0-.669-.267-.669-.669V11.84c0-.268.067-.536.2-.736.135-.201.335-.402.603-.469l2.542-1.07v-.2c-.334-.268-.669-.603-.87-1.004a3.02 3.02 0 0 1-.468-1.673V5.349c0-.87.335-1.74 1.004-2.342.602-.669 1.471-1.003 2.341-1.003.87 0 1.74.334 2.342 1.003.669.603 1.003 1.472 1.003 2.342v1.338A3.02 3.02 0 0 1 8.23 8.36c-.2.401-.535.736-.87 1.003v.2l2.476 1.004c.267.067.468.268.602.469.134.2.2.468.2.736v2.274c.067.335-.2.67-.602.67Zm-8.697-1.338h8.028v-1.539l-2.475-1.003c-.268-.067-.468-.268-.602-.468a1.286 1.286 0 0 1-.268-.803v-.602c0-.268.134-.469.335-.602.334-.201.535-.402.736-.736.2-.268.267-.602.267-.937V5.349c0-.535-.2-1.07-.602-1.405-.736-.803-2.074-.803-2.81 0-.401.335-.602.87-.602 1.405v1.338c0 .335.067.67.268 1.004.2.334.401.535.736.736.2.066.334.334.334.535v.602c0 .267-.067.535-.2.736-.134.2-.335.401-.603.468l-2.542 1.07v1.54Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M15.133 1.8a.644.644 0 0 0 0-.933.644.644 0 0 0-.933 0l-2.867 2.866c-.066-.466-.266-.866-.6-1.133-.333-.4-.866-.6-1.4-.6H2c-.533 0-1.067.2-1.4.6-.4.333-.6.867-.6 1.4v8c0 .533.2 1.067.6 1.4.2.2.4.333.6.4l-.333.333a.645.645 0 0 0 0 .934.645.645 0 0 0 .933 0L15.133 1.8ZM2.4 12.667l7.6-7.6V4c0-.2-.067-.333-.2-.467a.605.605 0 0 0-.467-.2H2c-.2 0-.333.067-.467.2a.605.605 0 0 0-.2.467v8c0 .2.067.333.2.467.134.133.267.2.467.2h.4Zm13.333-8.534c.2.134.267.334.267.534v6.666c0 .2-.067.4-.267.534-.133.133-.4.133-.6.133l-3.8-1.133V12c0 .533-.2 1.067-.6 1.4-.333.4-.866.6-1.4.6H5.467c-.4 0-.667-.267-.667-.667s.267-.666.667-.666h3.866c.2 0 .334-.067.467-.2A.605.605 0 0 0 10 12v-2c0-.2.067-.4.267-.533.133-.134.4-.134.6-.134l3.8 1.067V5.533l-.8.2c-.334.134-.734-.133-.8-.466-.134-.334.133-.734.466-.8l1.6-.467c.2 0 .467 0 .6.133Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M1.333 4c0-.4.267-.667.667-.667h7.333c.4 0 .667.267.667.667v8c0 .4-.267.667-.667.667H2c-.4 0-.667-.267-.667-.667V4Zm10 6.333V12c0 1.133-.866 2-2 2H2c-1.133 0-2-.867-2-2V4c0-1.133.867-2 2-2h7.333c1.134 0 2 .867 2 2v1.667l3.734-1.6c.2-.067.466-.067.6.066.2.134.333.334.333.534v6.666c0 .2-.133.4-.267.534-.2.133-.4.133-.6.066l-3.8-1.6Zm0-1.466 3.334 1.4V5.6L11.333 7v1.867Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 16" class="pdsicon"><path d="M15.8 12.526 9.485.88A1.668 1.668 0 0 0 8.8.2a1.693 1.693 0 0 0-2.284.68L.2 12.526A1.678 1.678 0 0 0 1.687 15h12.628a1.7 1.7 0 0 0 1.308-.615 1.675 1.675 0 0 0 .178-1.859ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-3.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path d="M8 6.667c.368 0 .667.298.667.666V10a.667.667 0 1 1-1.334 0V7.333c0-.368.299-.666.667-.666ZM8.667 12a.667.667 0 1 1-1.334 0 .667.667 0 0 1 1.334 0Z"/><path fill-rule="evenodd" d="M8 1.333c.248 0 .475.137.59.357l6.667 12.666a.666.666 0 0 1-.59.977H1.333a.666.666 0 0 1-.59-.977L7.41 1.69A.667.667 0 0 1 8 1.333ZM13.562 14 8 3.431 2.438 14h11.124Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path d="M14 0H2a2 2 0 0 0-2 2v9.333a2 2 0 0 0 2 2h4.667v1.334H4A.667.667 0 1 0 4 16h8a.667.667 0 0 0 0-1.333H9.333v-1.334H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2Zm.667 10.667H1.333V2A.667.667 0 0 1 2 1.333h12a.667.667 0 0 1 .667.667v8.667Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M2 1.333A.666.666 0 0 0 1.333 2v7.333h13.334V2A.666.666 0 0 0 14 1.333H2Zm12.667 9.334H1.333v.666c0 .369.299.667.667.667h12a.666.666 0 0 0 .667-.667v-.666ZM0 10v1.333a2 2 0 0 0 2 2h5.333v1.334H4A.667.667 0 1 0 4 16h8a.667.667 0 0 0 0-1.333H8.667v-1.334H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M3.333.667H0v14.666h16V.667H3.333Zm0 1.333h-2v1.333h2V2Zm1.334 2.667H1.333V14h13.334V4.667h-10Zm0-1.334V2h10v1.333h-10Zm-2 3.334H8V12H2.667V6.667ZM4 8v2.667h2.667V8H4Zm9.333-1.333h-4V8h4V6.667Zm-4 2.666H12v1.334H9.333V9.333Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M5.39 1.864a6.672 6.672 0 0 0-4.024 5.47h1.986c.12-2.1.805-4.026 2.038-5.47ZM1.366 8.667a6.672 6.672 0 0 0 4.024 5.47c-1.233-1.445-1.919-3.372-2.038-5.47H1.366Zm9.244 5.47a6.672 6.672 0 0 0 4.024-5.47h-1.986c-.12 2.099-.805 4.025-2.038 5.47Zm4.024-6.804a6.672 6.672 0 0 0-4.024-5.47c1.233 1.445 1.919 3.371 2.038 5.47h1.986ZM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm-.667 14.146c-1.564-1.184-2.497-3.141-2.645-5.48h2.645v5.48ZM4.688 7.333h2.645V1.854C5.77 3.038 4.836 4.995 4.688 7.334Zm3.979 6.813v-5.48h2.645c-.148 2.339-1.08 4.295-2.645 5.48Zm0-6.813h2.645c-.148-2.338-1.08-4.295-2.645-5.479v5.48Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path fill-rule="evenodd" d="M11.228 0a6.024 6.024 0 0 1 1.694.23l1.094.312-2.387 2.377 1.455 1.448L15.44 2.02l.334 1.034a4.6 4.6 0 0 1 .08 2.55l-.003.011-.003.01a4.467 4.467 0 0 1-3.384 3.129l-.019.004-.02.003a5.165 5.165 0 0 1-1.785-.05l-5.549 6.24a2.862 2.862 0 0 1-4.28.166l-.002-.003a2.951 2.951 0 0 1 .177-4.232l.004-.002 6.252-5.512a3.482 3.482 0 0 1-.104-.877 4.416 4.416 0 0 1 4.037-4.49L11.202 0h.026Zm.037 1.333a3.083 3.083 0 0 0-2.793 3.14v.024c-.003.285.05.569.158.833l.177.438-6.932 6.11-.001.001a1.617 1.617 0 0 0-.097 2.318 1.529 1.529 0 0 0 2.29-.097l.01-.012 6.116-6.878.405.119a3.832 3.832 0 0 0 1.615.116 3.134 3.134 0 0 0 2.353-2.18 3.26 3.26 0 0 0 .091-.583l-1.573 1.566-3.345-3.33 1.592-1.584h-.066Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="pdsicon"><path d="M15.867 4.8s-.134-1.133-.667-1.6c-.6-.667-1.267-.667-1.6-.667C11.333 2.4 8 2.4 8 2.4s-3.333 0-5.6.133C2.067 2.6 1.4 2.6.8 3.2.333 3.667.133 4.8.133 4.8S0 6.067 0 7.4v1.2c0 1.267.133 2.6.133 2.6s.134 1.133.667 1.6c.6.667 1.4.6 1.733.667C3.8 13.6 8 13.6 8 13.6s3.333 0 5.6-.2c.333-.067 1-.067 1.6-.667.467-.466.667-1.6.667-1.6S16 9.867 16 8.533v-1.2c0-1.266-.133-2.533-.133-2.533Zm-9.534 5.267V5.6l4.334 2.267-4.334 2.2Z"/></svg>
|
package/dist/pds-icons.json
CHANGED
|
@@ -29,6 +29,11 @@ export declare class PdsIcon {
|
|
|
29
29
|
*
|
|
30
30
|
*/
|
|
31
31
|
size?: 'small' | 'regular' | 'medium' | 'large' | 'auto' | string;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* Specifies the exact `src` of an SVG file to use.
|
|
35
|
+
*/
|
|
36
|
+
src?: string;
|
|
32
37
|
private iconSize;
|
|
33
38
|
componentWillLoad(): void;
|
|
34
39
|
connectedCallback(): void;
|
|
@@ -28,6 +28,10 @@ export namespace Components {
|
|
|
28
28
|
| 'large' // 24px
|
|
29
29
|
| 'auto'
|
|
30
30
|
| string;
|
|
31
|
+
/**
|
|
32
|
+
* Specifies the exact `src` of an SVG file to use.
|
|
33
|
+
*/
|
|
34
|
+
"src"?: string;
|
|
31
35
|
}
|
|
32
36
|
}
|
|
33
37
|
declare global {
|
|
@@ -64,6 +68,10 @@ declare namespace LocalJSX {
|
|
|
64
68
|
| 'large' // 24px
|
|
65
69
|
| 'auto'
|
|
66
70
|
| string;
|
|
71
|
+
/**
|
|
72
|
+
* Specifies the exact `src` of an SVG file to use.
|
|
73
|
+
*/
|
|
74
|
+
"src"?: string;
|
|
67
75
|
}
|
|
68
76
|
interface IntrinsicElements {
|
|
69
77
|
"pds-icon": PdsIcon;
|
package/icons/index.d.ts
CHANGED
package/icons/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* pds-icons v3.3.
|
|
1
|
+
/* pds-icons v3.3.1-rc.1, CommonJs */
|
|
2
2
|
|
|
3
3
|
exports.accessKey = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='m14.193 2.75 1.571-1.572c.315-.314.315-.733 0-.942-.314-.315-.733-.315-.942 0L12.727 2.33l-2.095 2.095-2.933 2.828c-1.886-1.467-4.609-1.257-6.285.419-1.885 1.885-1.885 5.027 0 6.913 1.886 1.885 5.028 1.885 6.913 0a4.817 4.817 0 0 0 .42-6.39l2.409-2.409 1.57 1.571c.315.315.734.315.943 0l2.095-2.095c.315-.314.315-.733 0-.942l-1.57-1.571ZM7.28 13.643a3.477 3.477 0 0 1-4.923 0 3.477 3.477 0 0 1 0-4.923 3.477 3.477 0 0 1 4.923 0 3.477 3.477 0 0 1 0 4.923Zm5.97-7.646-1.152-1.152 1.152-1.153 1.153 1.153-1.153 1.152Z'/></svg>"
|
|
4
4
|
exports.add = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='M8 2a.628.628 0 0 0-.628.628v4.744H2.628a.628.628 0 0 0 0 1.256h4.744v4.744a.628.628 0 1 0 1.256 0V8.628h4.744a.628.628 0 1 0 0-1.256H8.628V2.628A.628.628 0 0 0 8 2Z'/></svg>"
|
package/icons/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* pds-icons v3.3.
|
|
1
|
+
/* pds-icons v3.3.1-rc.1, ES Modules */
|
|
2
2
|
|
|
3
3
|
export const accessKey = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='m14.193 2.75 1.571-1.572c.315-.314.315-.733 0-.942-.314-.315-.733-.315-.942 0L12.727 2.33l-2.095 2.095-2.933 2.828c-1.886-1.467-4.609-1.257-6.285.419-1.885 1.885-1.885 5.027 0 6.913 1.886 1.885 5.028 1.885 6.913 0a4.817 4.817 0 0 0 .42-6.39l2.409-2.409 1.57 1.571c.315.315.734.315.943 0l2.095-2.095c.315-.314.315-.733 0-.942l-1.57-1.571ZM7.28 13.643a3.477 3.477 0 0 1-4.923 0 3.477 3.477 0 0 1 0-4.923 3.477 3.477 0 0 1 4.923 0 3.477 3.477 0 0 1 0 4.923Zm5.97-7.646-1.152-1.152 1.152-1.153 1.153 1.153-1.153 1.152Z'/></svg>"
|
|
4
4
|
export const add = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' class='pdsicon'><path fill-rule='evenodd' d='M8 2a.628.628 0 0 0-.628.628v4.744H2.628a.628.628 0 0 0 0 1.256h4.744v4.744a.628.628 0 1 0 1.256 0V8.628h4.744a.628.628 0 1 0 0-1.256H8.628V2.628A.628.628 0 0 0 8 2Z'/></svg>"
|
package/icons/package.json
CHANGED
package/package.json
CHANGED
package/components/utils.js
DELETED
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { getAssetPath } from '@stencil/core/internal/client';
|
|
2
|
-
|
|
3
|
-
let CACHED_MAP;
|
|
4
|
-
const addIcons = (icons) => {
|
|
5
|
-
const map = getIconMap();
|
|
6
|
-
Object.keys(icons).forEach(name => map.set(name, icons[name]));
|
|
7
|
-
};
|
|
8
|
-
const getIconMap = () => {
|
|
9
|
-
if (typeof window === 'undefined') {
|
|
10
|
-
return new Map();
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
if (!CACHED_MAP) {
|
|
14
|
-
const win = window; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
15
|
-
win.PdsIcons = win.PdsIcons || {};
|
|
16
|
-
CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();
|
|
17
|
-
}
|
|
18
|
-
return CACHED_MAP;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
const getName = (iconName, icon) => {
|
|
22
|
-
if (!iconName && icon && !isSrc(icon)) {
|
|
23
|
-
iconName = icon;
|
|
24
|
-
}
|
|
25
|
-
if (isStr(iconName)) {
|
|
26
|
-
iconName = toLower(iconName);
|
|
27
|
-
}
|
|
28
|
-
if (!isStr(iconName) || iconName.trim() === '') {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const invalidChars = iconName.replace(/[a-z]|-|\d/gi, '');
|
|
32
|
-
if (invalidChars != '') {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
return iconName;
|
|
36
|
-
};
|
|
37
|
-
const getNamedUrl = (iconName) => {
|
|
38
|
-
const url = getIconMap().get(iconName);
|
|
39
|
-
if (url) {
|
|
40
|
-
return url;
|
|
41
|
-
}
|
|
42
|
-
return getAssetPath(`svg/${iconName}.svg`);
|
|
43
|
-
};
|
|
44
|
-
const getSrc = (src) => {
|
|
45
|
-
if (isStr(src)) {
|
|
46
|
-
src = src.trim();
|
|
47
|
-
if (isSrc(src)) {
|
|
48
|
-
return src;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
};
|
|
53
|
-
const getUrl = (pdsIcon) => {
|
|
54
|
-
let url = getName(pdsIcon.name, pdsIcon.icon);
|
|
55
|
-
if (url) {
|
|
56
|
-
return getNamedUrl(url);
|
|
57
|
-
}
|
|
58
|
-
if (pdsIcon.icon) {
|
|
59
|
-
url = getSrc(pdsIcon.icon);
|
|
60
|
-
if (url) {
|
|
61
|
-
return url;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return null;
|
|
65
|
-
};
|
|
66
|
-
const isSrc = (str) => str.length > 0 && /(\/|\.)/.test(str);
|
|
67
|
-
const isStr = (val) => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
68
|
-
const toLower = (val) => val.toLowerCase();
|
|
69
|
-
/**
|
|
70
|
-
* Elements inside of web components sometimes need to inherit global attributes
|
|
71
|
-
* set on the host. For example, the inner input in `ion-input` should inherit
|
|
72
|
-
* the `title` attribute that developers set directly on `ion-input`. This
|
|
73
|
-
* helper function should be called in componentWillLoad and assigned to a variable
|
|
74
|
-
* that is later used in the render function.
|
|
75
|
-
*
|
|
76
|
-
* This does not need to be reactive as changing attributes on the host element
|
|
77
|
-
* does not trigger a re-render.
|
|
78
|
-
*/
|
|
79
|
-
const inheritAttributes = (el, attributes = []) => {
|
|
80
|
-
const attributeObject = {}; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
81
|
-
attributes.forEach(attr => {
|
|
82
|
-
if (el.hasAttribute(attr)) {
|
|
83
|
-
const value = el.getAttribute(attr);
|
|
84
|
-
if (value !== null) {
|
|
85
|
-
attributeObject[attr] = el.getAttribute(attr);
|
|
86
|
-
}
|
|
87
|
-
el.removeAttribute(attr);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return attributeObject;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export { addIcons as a, inheritAttributes as b, getName as c, getUrl as g, isStr as i };
|
|
94
|
-
|
|
95
|
-
//# sourceMappingURL=utils.js.map
|
package/components/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"utils.js","mappings":";;AAGA,IAAI,UAA+B,CAAC;MAEvB,QAAQ,GAAG,CAAC,KAAkC;IACzD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,EAAC;AAEM,MAAM,UAAU,GAAG;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,IAAI,GAAG,EAAE,CAAC;KAClB;SAAO;QACN,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,GAAG,GAAG,MAAa,CAAC;YAC1B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;SAC/D;QAED,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAA;MAEY,OAAO,GAAG,CACrB,QAA4B,EAC5B,IAAwB;IAGxB,IAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACpC,QAAQ,GAAG,IAAI,CAAC;KACjB;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QACnB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAC,EAAE,CAAC,CAAC;IACzD,IAAI,YAAY,IAAI,EAAE,EAAE;QAAE,OAAO,IAAI,CAAC;KAAE;IAExC,OAAO,QAAQ,CAAC;AAClB,EAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAAgB;IACnC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,GAAG,EAAE;QACP,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,YAAY,CAAC,OAAO,QAAQ,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,GAAuB;IAC5C,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QACd,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;YACd,OAAO,GAAG,CAAC;SACZ;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;MAEY,MAAM,GAAG,CAAC,OAAgB;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,GAAG,EAAE;QACP,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAG,GAAG,EAAE;YACN,OAAO,GAAG,CAAC;SACZ;KACF;IAED,OAAO,IAAI,CAAC;AACd,EAAE;AAGK,MAAM,KAAK,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;MAC/D,KAAK,GAAG,CAAC,GAAQ,KAAoB,OAAO,GAAG,KAAK,SAAS;AACnE,MAAM,OAAO,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;AAE1D;;;;;;;;;;MAUc,iBAAiB,GAAG,CAAC,EAAe,EAAE,aAAuB,EAAE;IAC3E,MAAM,eAAe,GAAyB,EAAE,CAAC;IAEjD,UAAU,CAAC,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/C;YACD,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC1B;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB;;;;","names":[],"sources":["src/components/pds-icon/utils.ts"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"utils-8c57ce6a.js","mappings":"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","names":["getAssetPath"],"sources":["src/components/pds-icon/utils.ts"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"utils-15462a67.js","mappings":";;AAGA,IAAI,UAA+B,CAAC;MAEvB,QAAQ,GAAG,CAAC,KAAkC;IACzD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjE,EAAC;AAEM,MAAM,UAAU,GAAG;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,IAAI,GAAG,EAAE,CAAC;KAClB;SAAO;QACN,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,GAAG,GAAG,MAAa,CAAC;YAC1B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;SAC/D;QAED,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAA;MAEY,OAAO,GAAG,CACrB,QAA4B,EAC5B,IAAwB;IAGxB,IAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACpC,QAAQ,GAAG,IAAI,CAAC;KACjB;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QACnB,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAC,EAAE,CAAC,CAAC;IACzD,IAAI,YAAY,IAAI,EAAE,EAAE;QAAE,OAAO,IAAI,CAAC;KAAE;IAExC,OAAO,QAAQ,CAAC;AAClB,EAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAAgB;IACnC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,GAAG,EAAE;QACP,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,YAAY,CAAC,OAAO,QAAQ,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,GAAuB;IAC5C,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;QACd,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;YACd,OAAO,GAAG,CAAC;SACZ;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;MAEY,MAAM,GAAG,CAAC,OAAgB;IACrC,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,GAAG,EAAE;QACP,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAG,GAAG,EAAE;YACN,OAAO,GAAG,CAAC;SACZ;KACF;IAED,OAAO,IAAI,CAAC;AACd,EAAE;AAGK,MAAM,KAAK,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;MAC/D,KAAK,GAAG,CAAC,GAAQ,KAAoB,OAAO,GAAG,KAAK,SAAS;AACnE,MAAM,OAAO,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;AAE1D;;;;;;;;;;MAUc,iBAAiB,GAAG,CAAC,EAAe,EAAE,aAAuB,EAAE;IAC3E,MAAM,eAAe,GAAyB,EAAE,CAAC;IAEjD,UAAU,CAAC,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/C;YACD,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC1B;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB;;;;","names":[],"sources":["src/components/pds-icon/utils.ts"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as t,H as s,a as e}from"./p-19d7058a.js";import{i as n,b as r,g as o,c}from"./p-f0b1dbd6.js";const l=i=>{const t=document.createElement("div");t.innerHTML=i;for(let i=t.childNodes.length-1;i>=0;i--){if(t.childNodes[i].nodeName.toLowerCase()!=="svg"){t.removeChild(t.childNodes[i])}}const s=t.firstElementChild;if(s&&s.nodeName.toLowerCase()==="svg"){const i=s.getAttribute("class")||"";s.setAttribute("class",(i+" s-ion-icon").trim());if(a(s)){return t.innerHTML}}return""};const a=i=>{if(i.nodeType===1){if(i.nodeName.toLowerCase()==="script"){return false}for(let t=0;t<i.attributes.length;t++){const s=i.attributes[t].name;if(n(s)&&s.toLowerCase().indexOf("on")===0){return false}}for(let t=0;t<i.childNodes.length;t++){if(!a(i.childNodes[t])){return false}}}return true};const d=new Map;const h=new Map;const f=(i,t=false)=>{let s=h.get(i);if(!s){if(typeof fetch!="undefined"&&typeof document!=="undefined"){s=fetch(i).then((s=>{if(s.ok){return s.text().then((s=>{if(s&&t!==false){s=l(s)}d.set(i,s||"")}))}d.set(i,"")}));h.set(i,s)}else{d.set(i,"");return Promise.resolve()}}return s};const u=":host{contain:strict;display:inline-block;fill:currentColor;height:1em;width:1em}:host .pdsicon{fill:currentColor}.pds-icon-fill-none{fill:none}.icon-inner,.pds-icon,svg{display:block;height:100%;width:100%}";const p=class{constructor(t){i(this,t);this.inheritedAttributes={};this.hasAriaHidden=()=>{const{el:i}=this;return i.hasAttribute("aria-hidden")&&i.getAttribute("aria-hidden")==="true"};this.ariaLabel=undefined;this.isVisible=false;this.svgContent=undefined;this.color=undefined;this.icon=undefined;this.name=undefined;this.size="regular"}iconSize(){const i={small:"12px",regular:"16px",medium:"20px",large:"24px"};if(i[this.size]){return i[this.size]}else{return this.size}}componentWillLoad(){this.inheritedAttributes=r(this.el,["aria-label"])}connectedCallback(){this.waitUntilVisible(this.el,"50px",(()=>{this.isVisible=true;this.loadIcon()}))}disconnectedCallback(){if(this.io){this.io.disconnect();this.io=undefined}}loadIcon(){if(this.isVisible){const i=o(this);if(i){if(d.has(i)){this.svgContent=d.get(i)}else{f(i).then((()=>this.svgContent=d.get(i)))}}}const i=c(this.name,this.icon);if(i){this.ariaLabel=i.replace(/\-/g," ")}}render(){const{ariaLabel:i,inheritedAttributes:e}=this;const n={height:this.iconSize(),width:this.iconSize(),color:this.color};return t(s,Object.assign({"aria-label":i!==undefined&&!this.hasAriaHidden()?i:null,role:"img",style:n,class:Object.assign({},g(this.color))},e),this.svgContent?t("div",{class:"icon-inner",innerHTML:this.svgContent}):t("div",{class:"icon-inner"}))}waitUntilVisible(i,t,s){if(typeof window!=="undefined"&&window.IntersectionObserver){const e=this.io=new window.IntersectionObserver((i=>{if(i[0].isIntersecting){e.disconnect();this.io=undefined;s()}}),{rootMargin:t});e.observe(i)}else{s()}}static get assetsDirs(){return["svg"]}get el(){return e(this)}static get watchers(){return{name:["loadIcon"],icon:["loadIcon"]}}};const g=i=>i?{"pds-color":true,[`pds-color-${i}`]:true}:null;p.style=u;export{p as pds_icon};
|
|
2
|
-
//# sourceMappingURL=p-229b8f4e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["validateContent","svgContent","div","document","createElement","innerHTML","i","childNodes","length","nodeName","toLowerCase","removeChild","svgElm","firstElementChild","svgClass","getAttribute","setAttribute","trim","isValid","elm","nodeType","attributes","name","isStr","indexOf","pdsIconContent","Map","requests","getSvgContent","url","sanitize","req","get","fetch","then","rsp","ok","text","set","Promise","resolve","pdsIconCss","PdsIcon","this","inheritedAttributes","hasAriaHidden","el","hasAttribute","iconSize","sizes","small","regular","medium","large","size","componentWillLoad","inheritAttributes","connectedCallback","waitUntilVisible","isVisible","loadIcon","disconnectedCallback","io","disconnect","undefined","getUrl","has","label","getName","icon","ariaLabel","replace","render","style","height","width","color","h","Host","Object","assign","role","class","createColorClasses","rootMargin","cb","window","IntersectionObserver","data","isIntersecting","observe"],"sources":["src/components/pds-icon/validate.ts","src/components/pds-icon/request.ts","src/components/pds-icon/pds-icon.scss?tag=pds-icon&encapsulation=shadow","src/components/pds-icon/pds-icon.tsx"],"sourcesContent":["import { isStr } from './utils';\n\nexport const validateContent = (svgContent: string) => {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute('class', (svgClass + ' s-ion-icon').trim());\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as HTMLElement)) {\n return div.innerHTML;\n }\n }\n return '';\n};\n\nexport const isValid = (elm: HTMLElement) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n for (let i = 0; i < elm.attributes.length; i++) {\n const name = elm.attributes[i].name;\n if (isStr(name) && name.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i] as HTMLElement)) {\n return false;\n }\n }\n }\n return true;\n};\n","import { validateContent } from './validate';\n\nexport const pdsIconContent = new Map<string, string>();\nconst requests = new Map<string, Promise<any>>(); // eslint-disable-line @typescript-eslint/no-explicit-any\n\nexport const getSvgContent = (url: string, sanitize = false) => {\n let req = requests.get(url);\n\n if(!req) {\n if (typeof fetch != 'undefined' && typeof document !== 'undefined') {\n // we don't have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n if (svgContent && sanitize !== false) {\n svgContent = validateContent(svgContent);\n }\n pdsIconContent.set(url, svgContent || '');\n });\n }\n pdsIconContent.set(url, '');\n });\n\n requests.set(url, req);\n } else {\n pdsIconContent.set(url, '');\n return Promise.resolve();\n }\n }\n return req;\n}\n",":host {\n contain: strict;\n display: inline-block;\n fill: currentColor;\n height: 1em;\n width: 1em;\n\n .pdsicon {\n fill: currentColor;\n }\n}\n\n.pds-icon-fill-none {\n fill: none;\n}\n\n.icon-inner,\n.pds-icon,\nsvg {\n display: block;\n height: 100%;\n width: 100%;\n}\n","import { Build, Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';\nimport { getSvgContent, pdsIconContent } from './request';\nimport { getName, getUrl, inheritAttributes } from './utils';\n\n@Component({\n tag: 'pds-icon',\n assetsDirs: ['svg'],\n styleUrl: 'pds-icon.scss',\n shadow: true,\n})\nexport class PdsIcon {\n private io?: IntersectionObserver;\n private inheritedAttributes: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n @Element() el!: HTMLPdsIconElement;\n\n @State() private ariaLabel?: string;\n @State() private isVisible = false;\n @State() private svgContent?: string;\n\n /**\n *\n * The color of the icon\n *\n */\n @Prop() color?: string;\n\n /**\n * This a combination of both `name` and `src`. If a `src` url is detected\n * it will set the `src` property. Otherwise it assumes it's a built-in named\n * SVG and set the `name` property.\n */\n @Prop() icon?: any;\n\n /**\n * The name of the icon to use from\n * the built-in set.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The size of the icon. This can be\n * 'small', 'regular', 'medium', large, or a\n * custom value (40px, 1rem, etc)\n *\n */\n @Prop({ reflect: true }) size?:\n | 'small' // 12px\n | 'regular' // 16px\n | 'medium' // 20px\n | 'large' // 24px\n | 'auto'\n | string = 'regular'\n\n private iconSize() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sizes: { [key: string]: any } = {\n small: '12px',\n regular: '16px',\n medium: '20px',\n large: '24px',\n }\n\n if (sizes[this.size]) {\n return sizes[this.size];\n } else {\n return this.size;\n }\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);\n }\n\n connectedCallback() {\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n })\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n @Watch('name')\n @Watch('icon')\n loadIcon() {\n if (Build.isBrowser && this.isVisible) {\n const url = getUrl(this);\n if (url) {\n if (pdsIconContent.has(url)) {\n this.svgContent = pdsIconContent.get(url);\n } else {\n getSvgContent(url).then(() => (this.svgContent = pdsIconContent.get(url)));\n }\n }\n }\n\n const label = getName(this.name, this.icon);\n\n if (label) {\n this.ariaLabel = label.replace(/\\-/g, ' ');\n }\n }\n\n render() {\n const { ariaLabel, inheritedAttributes } = this;\n\n const style = {\n height: this.iconSize(),\n width: this.iconSize(),\n color: this.color,\n }\n\n return (\n\n <Host\n aria-label={ariaLabel !== undefined && !this.hasAriaHidden() ? ariaLabel : null }\n role=\"img\"\n style={style}\n class={{\n ...createColorClasses(this.color),\n }}\n {...inheritedAttributes}\n >\n {Build.isBrowser && this.svgContent ? (\n <div class=\"icon-inner\" innerHTML={this.svgContent}></div>\n ) : (\n <div class=\"icon-inner\"></div>\n )}\n </Host>\n )\n }\n\n /*****\n * Private Methods\n ****/\n\n private waitUntilVisible(el: HTMLElement, rootMargin: string, cb: () => void) {\n if (Build.isBrowser && typeof window !== 'undefined' && (window).IntersectionObserver) {\n const io = (this.io = new (window).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n },\n { rootMargin },\n ));\n\n io.observe(el);\n } else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n\n private hasAriaHidden = () => {\n const { el } = this;\n\n return el.hasAttribute('aria-hidden') && el.getAttribute('aria-hidden') === 'true';\n }\n}\n\nconst createColorClasses = (color: string | undefined) => {\n return color\n ? {\n 'pds-color': true,\n [`pds-color-${color}`]: true,\n }\n : null;\n };\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g as n}from"./p-19d7058a.js";let t;const r=n=>{const t=s();Object.keys(n).forEach((r=>t.set(r,n[r])))};const s=()=>{if(typeof window==="undefined"){return new Map}else{if(!t){const n=window;n.PdsIcons=n.PdsIcons||{};t=n.PdsIcons.map=n.PdsIcons.map||new Map}return t}};const e=(n,t)=>{if(!n&&t&&!c(t)){n=t}if(f(n)){n=l(n)}if(!f(n)||n.trim()===""){return null}const r=n.replace(/[a-z]|-|\d/gi,"");if(r!=""){return null}return n};const o=t=>{const r=s().get(t);if(r){return r}return n(`svg/${t}.svg`)};const i=n=>{if(f(n)){n=n.trim();if(c(n)){return n}}return null};const u=n=>{let t=e(n.name,n.icon);if(t){return o(t)}if(n.icon){t=i(n.icon);if(t){return t}}return null};const c=n=>n.length>0&&/(\/|\.)/.test(n);const f=n=>typeof n==="string";const l=n=>n.toLowerCase();const a=(n,t=[])=>{const r={};t.forEach((t=>{if(n.hasAttribute(t)){const s=n.getAttribute(t);if(s!==null){r[t]=n.getAttribute(t)}n.removeAttribute(t)}}));return r};export{r as a,a as b,e as c,u as g,f as i};
|
|
2
|
-
//# sourceMappingURL=p-f0b1dbd6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CACHED_MAP","addIcons","icons","map","getIconMap","Object","keys","forEach","name","set","window","Map","win","PdsIcons","getName","iconName","icon","isSrc","isStr","toLower","trim","invalidChars","replace","getNamedUrl","url","get","getAssetPath","getSrc","src","getUrl","pdsIcon","str","length","test","val","toLowerCase","inheritAttributes","el","attributes","attributeObject","attr","hasAttribute","value","getAttribute","removeAttribute"],"sources":["src/components/pds-icon/utils.ts"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { PdsIcon } from './pds-icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const addIcons = (icons: { [name: string]: string; }) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n}\n\nexport const getIconMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n } else {\n if (!CACHED_MAP) {\n const win = window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n win.PdsIcons = win.PdsIcons || {};\n CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();\n }\n\n return CACHED_MAP;\n }\n}\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n ) => {\n\n if(!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi,'');\n if (invalidChars != '') { return null; }\n\n return iconName;\n}\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n\n return getAssetPath(`svg/${iconName}.svg`);\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n\n if (isSrc(src)) {\n return src;\n }\n }\n\n return null;\n}\n\nexport const getUrl = (pdsIcon: PdsIcon) => {\n let url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n\n if(url) {\n return url;\n }\n }\n\n return null;\n};\n\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val: string) => val.toLowerCase();\n\n/**\n * Elements inside of web components sometimes need to inherit global attributes\n * set on the host. For example, the inner input in `ion-input` should inherit\n * the `title` attribute that developers set directly on `ion-input`. This\n * helper function should be called in componentWillLoad and assigned to a variable\n * that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\n export const inheritAttributes = (el: HTMLElement, attributes: string[] = []) => {\n const attributeObject: { [k: string]: any } = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n attributes.forEach(attr => {\n if (el.hasAttribute(attr)) {\n const value = el.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = el.getAttribute(attr);\n }\n el.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n}\n"],"mappings":"oCAGA,IAAIA,E,MAESC,EAAYC,IACvB,MAAMC,EAAMC,IACZC,OAAOC,KAAKJ,GAAOK,SAAQC,GAAQL,EAAIM,IAAID,EAAMN,EAAMM,KAAO,EAGzD,MAAMJ,EAAa,KACxB,UAAWM,SAAW,YAAa,CACjC,OAAO,IAAIC,G,KACL,CACN,IAAKX,EAAY,CACf,MAAMY,EAAMF,OACZE,EAAIC,SAAWD,EAAIC,UAAY,GAC/Bb,EAAaY,EAAIC,SAASV,IAAMS,EAAIC,SAASV,KAAO,IAAIQ,G,CAG1D,OAAOX,C,SAIEc,EAAU,CACrBC,EACAC,KAGA,IAAID,GAAYC,IAASC,EAAMD,GAAO,CACpCD,EAAWC,C,CAGb,GAAIE,EAAMH,GAAW,CACnBA,EAAWI,EAAQJ,E,CAGrB,IAAKG,EAAMH,IAAaA,EAASK,SAAW,GAAI,CAC9C,OAAO,I,CAGT,MAAMC,EAAeN,EAASO,QAAQ,eAAe,IACrD,GAAID,GAAgB,GAAI,CAAE,OAAO,I,CAEjC,OAAON,CAAQ,EAGjB,MAAMQ,EAAeR,IACnB,MAAMS,EAAMpB,IAAaqB,IAAIV,GAC7B,GAAIS,EAAK,CACP,OAAOA,C,CAGT,OAAOE,EAAa,OAAOX,QAAe,EAGrC,MAAMY,EAAUC,IACrB,GAAIV,EAAMU,GAAM,CACdA,EAAMA,EAAIR,OAEV,GAAIH,EAAMW,GAAM,CACd,OAAOA,C,EAIX,OAAO,IAAI,E,MAGAC,EAAUC,IACrB,IAAIN,EAAMV,EAAQgB,EAAQtB,KAAMsB,EAAQd,MACxC,GAAIQ,EAAK,CACP,OAAOD,EAAYC,E,CAGrB,GAAIM,EAAQd,KAAM,CAChBQ,EAAMG,EAAOG,EAAQd,MAErB,GAAGQ,EAAK,CACN,OAAOA,C,EAIX,OAAO,IAAI,EAIN,MAAMP,EAASc,GAAgBA,EAAIC,OAAS,GAAK,UAAUC,KAAKF,G,MAC1Db,EAASgB,UAAmCA,IAAQ,SAC1D,MAAMf,EAAWe,GAAgBA,EAAIC,c,MAY9BC,EAAoB,CAACC,EAAiBC,EAAuB,MACzE,MAAMC,EAAwC,GAE9CD,EAAW/B,SAAQiC,IACjB,GAAIH,EAAGI,aAAaD,GAAO,CACzB,MAAME,EAAQL,EAAGM,aAAaH,GAC9B,GAAIE,IAAU,KAAM,CAClBH,EAAgBC,GAAQH,EAAGM,aAAaH,E,CAE1CH,EAAGO,gBAAgBJ,E,KAIvB,OAAOD,CAAe,S"}
|