@pine-ds/core 0.0.2-alpha.0 → 0.0.2-rc.0
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/custom-elements.d.ts +2 -0
- package/components/index.d.ts +33 -0
- package/components/index.js +3 -0
- package/components/index.js.map +1 -0
- package/components/package.json +9 -0
- package/components/pds-avatar.d.ts +11 -0
- package/components/pds-avatar.js +98 -0
- package/components/pds-avatar.js.map +1 -0
- package/components/pds-button.d.ts +11 -0
- package/components/pds-button.js +8 -0
- package/components/pds-button.js.map +1 -0
- package/components/pds-button2.js +82 -0
- package/components/pds-button2.js.map +1 -0
- package/components/pds-checkbox.d.ts +11 -0
- package/components/pds-checkbox.js +83 -0
- package/components/pds-checkbox.js.map +1 -0
- package/components/pds-chip.d.ts +11 -0
- package/components/pds-chip.js +76 -0
- package/components/pds-chip.js.map +1 -0
- package/components/pds-copytext.d.ts +11 -0
- package/components/pds-copytext.js +100 -0
- package/components/pds-copytext.js.map +1 -0
- package/components/pds-divider.d.ts +11 -0
- package/components/pds-divider.js +53 -0
- package/components/pds-divider.js.map +1 -0
- package/components/pds-icon.js +8 -0
- package/components/pds-icon.js.map +1 -0
- package/components/pds-icon2.js +323 -0
- package/components/pds-icon2.js.map +1 -0
- package/components/pds-image.d.ts +11 -0
- package/components/pds-image.js +54 -0
- package/components/pds-image.js.map +1 -0
- package/components/pds-input.d.ts +11 -0
- package/components/pds-input.js +71 -0
- package/components/pds-input.js.map +1 -0
- package/components/pds-label.js +39 -0
- package/components/pds-label.js.map +1 -0
- package/components/pds-link.d.ts +11 -0
- package/components/pds-link.js +66 -0
- package/components/pds-link.js.map +1 -0
- package/components/pds-progress.d.ts +11 -0
- package/components/pds-progress.js +48 -0
- package/components/pds-progress.js.map +1 -0
- package/components/pds-radio.d.ts +11 -0
- package/components/pds-radio.js +77 -0
- package/components/pds-radio.js.map +1 -0
- package/components/pds-sortable-item.d.ts +11 -0
- package/components/pds-sortable-item.js +47 -0
- package/components/pds-sortable-item.js.map +1 -0
- package/components/pds-sortable.d.ts +11 -0
- package/components/pds-sortable.js +2724 -0
- package/components/pds-sortable.js.map +1 -0
- package/components/pds-switch.d.ts +11 -0
- package/components/pds-switch.js +81 -0
- package/components/pds-switch.js.map +1 -0
- package/components/pds-tab.d.ts +11 -0
- package/components/pds-tab.js +52 -0
- package/components/pds-tab.js.map +1 -0
- package/components/pds-tabpanel.d.ts +11 -0
- package/components/pds-tabpanel.js +44 -0
- package/components/pds-tabpanel.js.map +1 -0
- package/components/pds-tabs.d.ts +11 -0
- package/components/pds-tabs.js +118 -0
- package/components/pds-tabs.js.map +1 -0
- package/components/pds-textarea.d.ts +11 -0
- package/components/pds-textarea.js +81 -0
- package/components/pds-textarea.js.map +1 -0
- package/components/pds-tooltip.d.ts +11 -0
- package/components/pds-tooltip.js +177 -0
- package/components/pds-tooltip.js.map +1 -0
- package/dist/cjs/{index-13500e25.js → index-0b3b1872.js} +25 -17
- package/dist/cjs/index-0b3b1872.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +1 -1
- package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/pds-chip.cjs.entry.js +1 -1
- package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
- package/dist/cjs/pds-divider.cjs.entry.js +1 -1
- package/dist/cjs/pds-icon.cjs.entry.js +37 -15
- package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-image.cjs.entry.js +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +2 -2
- package/dist/cjs/{pds-label-71ea2cad.js → pds-label-43804d0a.js} +2 -2
- package/dist/cjs/{pds-label-71ea2cad.js.map → pds-label-43804d0a.js.map} +1 -1
- package/dist/cjs/pds-link.cjs.entry.js +5 -2
- package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-progress.cjs.entry.js +1 -1
- package/dist/cjs/pds-radio.cjs.entry.js +2 -2
- package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js +2 -2
- package/dist/cjs/pds-tab.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
- package/dist/cjs/pds-textarea.cjs.entry.js +2 -2
- package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/pine-core.cjs.js +3 -3
- package/dist/cjs/pine-core.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/pds-link/pds-link.js +2 -1
- package/dist/collection/components/pds-link/pds-link.js.map +1 -1
- package/dist/docs.d.ts +1 -21
- package/dist/docs.json +2 -2
- package/dist/esm/{index-a58668b3.js → index-8f65139a.js} +25 -17
- package/dist/esm/index-8f65139a.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/pds-avatar.entry.js +1 -1
- package/dist/esm/pds-button.entry.js +1 -1
- package/dist/esm/pds-checkbox.entry.js +2 -2
- package/dist/esm/pds-chip.entry.js +1 -1
- package/dist/esm/pds-copytext.entry.js +1 -1
- package/dist/esm/pds-divider.entry.js +1 -1
- package/dist/esm/pds-icon.entry.js +37 -15
- package/dist/esm/pds-icon.entry.js.map +1 -1
- package/dist/esm/pds-image.entry.js +1 -1
- package/dist/esm/pds-input.entry.js +2 -2
- package/dist/esm/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
- package/dist/esm/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +1 -1
- package/dist/esm/pds-link.entry.js +5 -2
- package/dist/esm/pds-link.entry.js.map +1 -1
- package/dist/esm/pds-progress.entry.js +1 -1
- package/dist/esm/pds-radio.entry.js +2 -2
- package/dist/esm/pds-sortable-item.entry.js +1 -1
- package/dist/esm/pds-sortable.entry.js +1 -1
- package/dist/esm/pds-switch.entry.js +2 -2
- package/dist/esm/pds-tab.entry.js +1 -1
- package/dist/esm/pds-tabpanel.entry.js +1 -1
- package/dist/esm/pds-tabs.entry.js +1 -1
- package/dist/esm/pds-textarea.entry.js +2 -2
- package/dist/esm/pds-tooltip.entry.js +1 -1
- package/dist/esm/pine-core.js +4 -4
- package/dist/esm/pine-core.js.map +1 -1
- package/dist/esm-es5/index-8f65139a.js +3 -0
- package/dist/esm-es5/index-8f65139a.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/pds-avatar.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-checkbox.entry.js +1 -1
- package/dist/esm-es5/pds-chip.entry.js +1 -1
- package/dist/esm-es5/pds-copytext.entry.js +1 -1
- package/dist/esm-es5/pds-divider.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js +1 -1
- package/dist/esm-es5/pds-icon.entry.js.map +1 -1
- package/dist/esm-es5/pds-image.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
- package/dist/esm-es5/pds-link.entry.js +1 -1
- package/dist/esm-es5/pds-link.entry.js.map +1 -1
- package/dist/esm-es5/pds-progress.entry.js +1 -1
- package/dist/esm-es5/pds-radio.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-tab.entry.js +1 -1
- package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-textarea.entry.js +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/esm-es5/pine-core.js.map +1 -1
- package/dist/pine-core/p-0532f829.entry.js +2 -0
- package/dist/pine-core/p-0532f829.entry.js.map +1 -0
- package/dist/pine-core/{p-f2c3035d.system.entry.js → p-09573d54.system.entry.js} +2 -2
- package/dist/pine-core/{p-f09892d3.system.entry.js → p-150e12a5.system.entry.js} +2 -2
- package/dist/pine-core/{p-c8a41b43.system.entry.js → p-1a307cc4.system.entry.js} +2 -2
- package/dist/pine-core/{p-4fc42ff3.system.entry.js → p-1cb9fddf.system.entry.js} +2 -2
- package/dist/pine-core/{p-79d7e0b1.system.entry.js → p-237709cc.system.entry.js} +2 -2
- package/dist/pine-core/{p-8f62c812.entry.js → p-23b8d1bb.entry.js} +2 -2
- package/dist/pine-core/{p-22dd8116.entry.js → p-2847bd57.entry.js} +2 -2
- package/dist/pine-core/{p-f3af6d74.system.entry.js → p-34b29411.system.entry.js} +2 -2
- package/dist/pine-core/p-3d2843f8.system.js +2 -0
- package/dist/pine-core/{p-c4dbae0e.system.js.map → p-3d2843f8.system.js.map} +1 -1
- package/dist/pine-core/{p-73262287.system.entry.js → p-403d43d5.system.entry.js} +2 -2
- package/dist/pine-core/{p-669d948a.system.entry.js → p-4472b337.system.entry.js} +2 -2
- package/dist/pine-core/{p-f168654a.entry.js → p-465b7120.entry.js} +2 -2
- package/dist/pine-core/{p-401cd4bc.entry.js → p-5787d0c0.entry.js} +2 -2
- package/dist/pine-core/{p-7bc01826.entry.js → p-59334e35.entry.js} +2 -2
- package/dist/pine-core/{p-85f6a94e.system.entry.js → p-5d7bad14.system.entry.js} +2 -2
- package/dist/pine-core/{p-331cbf1d.entry.js → p-60930784.entry.js} +2 -2
- package/dist/pine-core/{p-bce2d5b5.system.entry.js → p-654295e2.system.entry.js} +2 -2
- package/dist/pine-core/{p-c0f9dbe1.system.entry.js → p-66f8fbb0.system.entry.js} +2 -2
- package/dist/pine-core/{p-0c26a00d.entry.js → p-6c295ed8.entry.js} +2 -2
- package/dist/pine-core/{p-0a776a7b.entry.js → p-6dd5d826.entry.js} +2 -2
- package/dist/pine-core/p-6f044e28.entry.js +2 -0
- package/dist/pine-core/{p-643f5378.entry.js.map → p-6f044e28.entry.js.map} +1 -1
- package/dist/pine-core/{p-5b37a4a2.system.entry.js → p-708a557d.system.entry.js} +2 -2
- package/dist/pine-core/{p-fba29e90.entry.js → p-7f16e44f.entry.js} +2 -2
- package/dist/pine-core/{p-22bd3102.system.entry.js → p-83040cfc.system.entry.js} +2 -2
- package/dist/pine-core/{p-bff583bd.system.js → p-9138d494.system.js} +2 -2
- package/dist/pine-core/{p-1c0ffcab.entry.js → p-978cad20.entry.js} +2 -2
- package/dist/pine-core/p-9830c8b4.system.js +3 -0
- package/dist/pine-core/p-9830c8b4.system.js.map +1 -0
- package/dist/pine-core/{p-4a804680.entry.js → p-9a184d74.entry.js} +2 -2
- package/dist/pine-core/{p-b17b818b.entry.js → p-aa9f027c.entry.js} +2 -2
- package/dist/pine-core/p-b199ca99.entry.js +2 -0
- package/dist/pine-core/p-b199ca99.entry.js.map +1 -0
- package/dist/pine-core/p-b8421db5.system.entry.js +2 -0
- package/dist/pine-core/p-b8421db5.system.entry.js.map +1 -0
- package/dist/pine-core/{p-d3e173ea.system.entry.js → p-bf6b565e.system.entry.js} +2 -2
- package/dist/pine-core/{p-938886d8.system.entry.js → p-c014702b.system.entry.js} +2 -2
- package/dist/pine-core/p-c209ff58.system.entry.js +2 -0
- package/dist/pine-core/p-c209ff58.system.entry.js.map +1 -0
- package/dist/pine-core/p-c81c20b7.js +3 -0
- package/dist/pine-core/p-c81c20b7.js.map +1 -0
- package/dist/pine-core/{p-27fd7f08.system.entry.js → p-d0446af7.system.entry.js} +2 -2
- package/dist/pine-core/{p-7fcd5f0b.entry.js → p-d1c7a84d.entry.js} +2 -2
- package/dist/pine-core/{p-930ab8a3.system.entry.js → p-d6e0c333.system.entry.js} +2 -2
- package/dist/pine-core/{p-97cb4285.entry.js → p-d8a277e5.entry.js} +2 -2
- package/dist/pine-core/{p-ac31a7c8.system.entry.js → p-da802c91.system.entry.js} +2 -2
- package/dist/pine-core/{p-24077dcd.entry.js → p-db6ea8de.entry.js} +2 -2
- package/dist/pine-core/{p-f1d7f16f.js → p-e893b132.js} +2 -2
- package/dist/pine-core/{p-0adb4b48.entry.js → p-f30549db.entry.js} +2 -2
- package/dist/pine-core/{p-af75cc15.entry.js → p-f3ee8a5e.entry.js} +2 -2
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/pine-core/pine-core.esm.js.map +1 -1
- package/dist/pine-core/pine-core.js +1 -1
- package/dist/pine-core/svg/blog-filled.svg +1 -1
- package/package.json +3 -2
- package/dist/cjs/index-13500e25.js.map +0 -1
- package/dist/esm/index-a58668b3.js.map +0 -1
- package/dist/esm-es5/index-a58668b3.js +0 -3
- package/dist/esm-es5/index-a58668b3.js.map +0 -1
- package/dist/pine-core/p-23fb6af2.system.entry.js +0 -2
- package/dist/pine-core/p-23fb6af2.system.entry.js.map +0 -1
- package/dist/pine-core/p-3386bfe1.system.entry.js +0 -2
- package/dist/pine-core/p-3386bfe1.system.entry.js.map +0 -1
- package/dist/pine-core/p-643f5378.entry.js +0 -2
- package/dist/pine-core/p-abdca153.js +0 -3
- package/dist/pine-core/p-abdca153.js.map +0 -1
- package/dist/pine-core/p-b79a8b07.entry.js +0 -2
- package/dist/pine-core/p-b79a8b07.entry.js.map +0 -1
- package/dist/pine-core/p-c4dbae0e.system.js +0 -2
- package/dist/pine-core/p-c6d878f8.entry.js +0 -2
- package/dist/pine-core/p-c6d878f8.entry.js.map +0 -1
- package/dist/pine-core/p-fa5d4e73.system.js +0 -3
- package/dist/pine-core/p-fa5d4e73.system.js.map +0 -1
- /package/dist/esm-es5/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +0 -0
- /package/dist/pine-core/{p-f2c3035d.system.entry.js.map → p-09573d54.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f09892d3.system.entry.js.map → p-150e12a5.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c8a41b43.system.entry.js.map → p-1a307cc4.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4fc42ff3.system.entry.js.map → p-1cb9fddf.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-79d7e0b1.system.entry.js.map → p-237709cc.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-8f62c812.entry.js.map → p-23b8d1bb.entry.js.map} +0 -0
- /package/dist/pine-core/{p-22dd8116.entry.js.map → p-2847bd57.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f3af6d74.system.entry.js.map → p-34b29411.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-73262287.system.entry.js.map → p-403d43d5.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-669d948a.system.entry.js.map → p-4472b337.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f168654a.entry.js.map → p-465b7120.entry.js.map} +0 -0
- /package/dist/pine-core/{p-401cd4bc.entry.js.map → p-5787d0c0.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7bc01826.entry.js.map → p-59334e35.entry.js.map} +0 -0
- /package/dist/pine-core/{p-85f6a94e.system.entry.js.map → p-5d7bad14.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-331cbf1d.entry.js.map → p-60930784.entry.js.map} +0 -0
- /package/dist/pine-core/{p-bce2d5b5.system.entry.js.map → p-654295e2.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-c0f9dbe1.system.entry.js.map → p-66f8fbb0.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0c26a00d.entry.js.map → p-6c295ed8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-0a776a7b.entry.js.map → p-6dd5d826.entry.js.map} +0 -0
- /package/dist/pine-core/{p-5b37a4a2.system.entry.js.map → p-708a557d.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-fba29e90.entry.js.map → p-7f16e44f.entry.js.map} +0 -0
- /package/dist/pine-core/{p-22bd3102.system.entry.js.map → p-83040cfc.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-bff583bd.system.js.map → p-9138d494.system.js.map} +0 -0
- /package/dist/pine-core/{p-1c0ffcab.entry.js.map → p-978cad20.entry.js.map} +0 -0
- /package/dist/pine-core/{p-4a804680.entry.js.map → p-9a184d74.entry.js.map} +0 -0
- /package/dist/pine-core/{p-b17b818b.entry.js.map → p-aa9f027c.entry.js.map} +0 -0
- /package/dist/pine-core/{p-d3e173ea.system.entry.js.map → p-bf6b565e.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-938886d8.system.entry.js.map → p-c014702b.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-27fd7f08.system.entry.js.map → p-d0446af7.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-7fcd5f0b.entry.js.map → p-d1c7a84d.entry.js.map} +0 -0
- /package/dist/pine-core/{p-930ab8a3.system.entry.js.map → p-d6e0c333.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-97cb4285.entry.js.map → p-d8a277e5.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ac31a7c8.system.entry.js.map → p-da802c91.system.entry.js.map} +0 -0
- /package/dist/pine-core/{p-24077dcd.entry.js.map → p-db6ea8de.entry.js.map} +0 -0
- /package/dist/pine-core/{p-f1d7f16f.js.map → p-e893b132.js.map} +0 -0
- /package/dist/pine-core/{p-0adb4b48.entry.js.map → p-f30549db.entry.js.map} +0 -0
- /package/dist/pine-core/{p-af75cc15.entry.js.map → p-f3ee8a5e.entry.js.map} +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$3 } from './pds-button2.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './pds-icon2.js';
|
|
4
|
+
|
|
5
|
+
const pdsCopytextCss = ":host(.pds-copytext){--background:var(--pine-color-base-white);--background-hover:var(--pine-color-neutral-grey-200);--border:var(--pine-border-interactive);--border-hover:var(--pine-border-interactive-hover-color);--border-radius:var(--pine-border-radius-md);--box-shadow-focus:0 0 0 4px var(--pine-color-primary-200);--color-hover:var(--pine-color-neutral-charcoal-400);--font-size:var(--pine-font-size-body);--font-weight:var(--pine-font-weight-semibold);--line-height:var(--pine-line-height-md);--spacing-sm:var(--pine-spacing-sm);--spacing-xs:var(--pine-spacing-xs);--spacing-xxs:var(--pine-spacing-xxs)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--background);border:0;border-radius:var(--border-radius);display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size);font-weight:var(--font-weight);max-width:100%;padding:var(--spacing-xxs) var(--spacing-xs)}:host(.pds-copytext) pds-button:hover{background-color:var(--background-hover);color:var(--color-hover)}:host(.pds-copytext) pds-button:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}:host(.pds-copytext) pds-button span{line-height:var(--line-height);-webkit-margin-end:var(--spacing-xs);margin-inline-end:var(--spacing-xs);white-space:nowrap}:host(.pds-copytext) pds-button :nth-child(2){-ms-flex-negative:0;flex-shrink:0}:host(.pds-copytext):host(.pds-copytext--bordered){border:0;padding:0}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:0}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button:hover{background:none}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--border);border-radius:var(--border-radius);-webkit-margin-end:var(--spacing-sm);margin-inline-end:var(--spacing-sm);padding-block:var(--spacing-xs);padding-inline:var(--spacing-sm)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border-color:var(--border-hover)}:host(.pds-copytext):host(.pds-copytext--full-width){display:-ms-flexbox;display:flex;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;width:100%}:host(.pds-copytext):host(.pds-copytext--full-width) pds-button span{text-align:left;width:100%}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button{display:-ms-flexbox;display:flex;width:100%}:host(.pds-copytext):host(.pds-copytext--truncated) pds-button span{overflow:hidden;text-align:left;text-overflow:ellipsis;width:100%}";
|
|
6
|
+
|
|
7
|
+
const PdsCopytext$1 = /*@__PURE__*/ proxyCustomElement(class PdsCopytext extends HTMLElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
this.pdsCopyTextClick = createEvent(this, "pdsCopyTextClick", 7);
|
|
13
|
+
this.copyToClipboard = async (value) => {
|
|
14
|
+
try {
|
|
15
|
+
if (navigator.clipboard) {
|
|
16
|
+
await navigator.clipboard.writeText(value);
|
|
17
|
+
this.pdsCopyTextClick.emit('Copied to clipboard');
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// falback for safari
|
|
21
|
+
const el = document.createElement('textarea');
|
|
22
|
+
el.value = value;
|
|
23
|
+
el.setAttribute('readonly', '');
|
|
24
|
+
el.style.position = 'absolute';
|
|
25
|
+
el.style.left = '-9999px';
|
|
26
|
+
document.body.appendChild(el);
|
|
27
|
+
el.focus();
|
|
28
|
+
el.setSelectionRange(0, el.value.length);
|
|
29
|
+
document.execCommand('copy');
|
|
30
|
+
document.body.removeChild(el);
|
|
31
|
+
this.pdsCopyTextClick.emit('Copied to clipboard');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
this.handleClick = () => {
|
|
39
|
+
this.copyToClipboard(this.value);
|
|
40
|
+
};
|
|
41
|
+
this.border = true;
|
|
42
|
+
this.componentId = undefined;
|
|
43
|
+
this.fullWidth = false;
|
|
44
|
+
this.truncate = false;
|
|
45
|
+
this.value = undefined;
|
|
46
|
+
}
|
|
47
|
+
classNames() {
|
|
48
|
+
const classNames = ['pds-copytext'];
|
|
49
|
+
if (this.border) {
|
|
50
|
+
classNames.push('pds-copytext--bordered');
|
|
51
|
+
}
|
|
52
|
+
if (this.fullWidth) {
|
|
53
|
+
classNames.push('pds-copytext--full-width');
|
|
54
|
+
}
|
|
55
|
+
if (this.truncate) {
|
|
56
|
+
classNames.push('pds-copytext--truncated');
|
|
57
|
+
}
|
|
58
|
+
return classNames.join(' ');
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
return (h(Host, { class: this.classNames(), id: this.componentId }, h("pds-button", { type: "button", variant: "unstyled", onClick: this.handleClick }, h("span", null, this.value), h("pds-icon", { name: "copy", size: "16px" }))));
|
|
62
|
+
}
|
|
63
|
+
static get style() { return pdsCopytextCss; }
|
|
64
|
+
}, [1, "pds-copytext", {
|
|
65
|
+
"border": [516],
|
|
66
|
+
"componentId": [1, "component-id"],
|
|
67
|
+
"fullWidth": [4, "full-width"],
|
|
68
|
+
"truncate": [4],
|
|
69
|
+
"value": [1]
|
|
70
|
+
}]);
|
|
71
|
+
function defineCustomElement$1() {
|
|
72
|
+
if (typeof customElements === "undefined") {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const components = ["pds-copytext", "pds-button", "pds-icon"];
|
|
76
|
+
components.forEach(tagName => { switch (tagName) {
|
|
77
|
+
case "pds-copytext":
|
|
78
|
+
if (!customElements.get(tagName)) {
|
|
79
|
+
customElements.define(tagName, PdsCopytext$1);
|
|
80
|
+
}
|
|
81
|
+
break;
|
|
82
|
+
case "pds-button":
|
|
83
|
+
if (!customElements.get(tagName)) {
|
|
84
|
+
defineCustomElement$3();
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
case "pds-icon":
|
|
88
|
+
if (!customElements.get(tagName)) {
|
|
89
|
+
defineCustomElement$2();
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
} });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const PdsCopytext = PdsCopytext$1;
|
|
96
|
+
const defineCustomElement = defineCustomElement$1;
|
|
97
|
+
|
|
98
|
+
export { PdsCopytext, defineCustomElement };
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=pds-copytext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-copytext.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,ygFAAygF;;MCOnhFA,aAAW;;;;;;QAkCd,oBAAe,GAAG,OAAO,KAAa;YAC5C,IAAI;gBACF,IAAI,SAAS,CAAC,SAAS,EAAE;oBACvB,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBACnD;qBAAM;;oBAEL,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC9C,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;oBACjB,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAChC,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;oBAC/B,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACzC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBACnD;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;aACvE;SACF,CAAC;QAEM,gBAAW,GAAG;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClC,CAAC;sBAvDgC,IAAI;;yBAWlB,KAAK;wBAMN,KAAK;;;IAwChB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IAClD,kBAAY,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACpE,gBAAO,IAAI,CAAC,KAAK,CAAQ,EACzB,gBAAU,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,GAAY,CAClC,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsCopytext"],"sources":["src/components/pds-copytext/pds-copytext.scss?tag=pds-copytext&encapsulation=shadow","src/components/pds-copytext/pds-copytext.tsx"],"sourcesContent":[":host(.pds-copytext) {\n\n --background: var(--pine-color-base-white);\n --background-hover: var(--pine-color-neutral-grey-200);\n --border: var(--pine-border-interactive);\n --border-hover: var(--pine-border-interactive-hover-color);\n --border-radius: var(--pine-border-radius-md);\n --box-shadow-focus: 0 0 0 4px var(--pine-color-primary-200);\n --color-hover: var(--pine-color-neutral-charcoal-400);\n --font-size: var(--pine-font-size-body);\n --font-weight: var(--pine-font-weight-semibold);\n --line-height: var(--pine-line-height-md);\n --spacing-sm: var(--pine-spacing-sm);\n --spacing-xs: var(--pine-spacing-xs);\n --spacing-xxs: var(--pine-spacing-xxs);\n\n pds-button {\n align-items: center;\n background: var(--background);\n border: 0;\n border-radius: var(--border-radius);\n display: inline-flex;\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n max-width: 100%;\n padding: var(--spacing-xxs) var(--spacing-xs);\n\n &:hover {\n background-color: var(--background-hover);\n color: var(--color-hover);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n span {\n line-height: var(--line-height);\n margin-inline-end: var(--spacing-xs);\n white-space: nowrap;\n }\n\n :nth-child(2) {\n flex-shrink: 0;\n }\n }\n\n // bordered\n\n &:host(.pds-copytext--bordered) {\n border: 0;\n padding: 0;\n\n pds-button {\n padding: 0;\n\n &:hover {\n background: none;\n }\n }\n\n span {\n border: var(--border);\n border-radius: var(--border-radius);\n margin-inline-end: var(--spacing-sm);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-sm);\n }\n\n :hover {\n span {\n border-color: var(--border-hover)\n }\n }\n }\n\n // full width\n\n &:host(.pds-copytext--full-width) {\n display: flex;\n width: 100%;\n\n pds-button {\n display: flex;\n justify-content: space-between;\n width: 100%;\n\n span {\n text-align: left;\n width: 100%;\n }\n }\n }\n\n // truncated\n\n &:host(.pds-copytext--truncated) {\n pds-button {\n display: flex;\n width: 100%;\n\n span {\n overflow: hidden;\n text-align: left;\n text-overflow: ellipsis;\n width: 100%;\n }\n }\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pds-copytext',\n styleUrl: 'pds-copytext.scss',\n shadow: true,\n})\nexport class PdsCopytext {\n /**\n * Determines whether `copytext` should have a border.\n * @defaultValue true\n */\n @Prop({ reflect: true }) border = true;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether `copytext` should expand to the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth = false;\n\n /**\n * Determines whether the `value` should truncate and display with an ellipsis.\n * @defaultValue false\n */\n @Prop() truncate = false;\n\n /**\n * String that is displayed and that is also copied to the clipboard upon interaction.\n */\n @Prop() value!: string;\n\n /**\n * Event when copyText button is clicked.\n */\n @Event() pdsCopyTextClick: EventEmitter;\n\n private copyToClipboard = async (value: string) => {\n try {\n if (navigator.clipboard) {\n await navigator.clipboard.writeText(value);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n } else {\n // falback for safari\n const el = document.createElement('textarea');\n el.value = value;\n el.setAttribute('readonly', '');\n el.style.position = 'absolute';\n el.style.left = '-9999px';\n document.body.appendChild(el);\n el.focus();\n el.setSelectionRange(0, el.value.length);\n document.execCommand('copy');\n document.body.removeChild(el);\n this.pdsCopyTextClick.emit('Copied to clipboard');\n }\n } catch (err) {\n this.pdsCopyTextClick.emit(`Error writing text to clipboard: ${err}`);\n }\n };\n\n private handleClick = () => {\n this.copyToClipboard(this.value);\n };\n\n private classNames() {\n const classNames = ['pds-copytext'];\n\n if (this.border) {\n classNames.push('pds-copytext--bordered');\n }\n\n if (this.fullWidth) {\n classNames.push('pds-copytext--full-width');\n }\n\n if (this.truncate) {\n classNames.push('pds-copytext--truncated');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n <pds-button type=\"button\" variant=\"unstyled\" onClick={this.handleClick}>\n <span>{this.value}</span>\n <pds-icon name=\"copy\" size=\"16px\"></pds-icon>\n </pds-button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../dist/types/components";
|
|
2
|
+
|
|
3
|
+
interface PdsDivider extends Components.PdsDivider, HTMLElement {}
|
|
4
|
+
export const PdsDivider: {
|
|
5
|
+
prototype: PdsDivider;
|
|
6
|
+
new (): PdsDivider;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const pdsDividerCss = ":host{--background-color:var(--pine-color-neutral-grey-400);--offset-xxs:var(--pine-spacing-xxs);--offset-xs:var(--pine-spacing-xs);--offset-sm:var(--pine-spacing-sm);--offset-md:var(--pine-spacing-md);--offset-lg:var(--pine-spacing-lg);--offset-xxl:var(--pine-spacing-2xl)}.pds-divider{background:var(--background-color);border:0;display:-ms-flexbox;display:flex;height:1px;margin:0;width:100%}.pds-divider--vertical{height:100%;width:1px}.pds-divider--offset-xxs{margin:0 calc(var(--offset-xxs) * -1);padding:0 var(--offset-xxs)}.pds-divider--offset-xxs.pds-divider--vertical{margin:calc(var(--offset-xxs) * -1) 0;padding:var(--offset-xxs) 0}.pds-divider--offset-xs{margin:0 calc(var(--offset-xs) * -1);padding:0 var(--offset-xs)}.pds-divider--offset-xs.pds-divider--vertical{margin:calc(var(--offset-xs) * -1) 0;padding:var(--offset-xs) 0}.pds-divider--offset-sm{margin:0 calc(var(--offset-sm) * -1);padding:0 var(--offset-sm)}.pds-divider--offset-sm.pds-divider--vertical{margin:calc(var(--offset-sm) * -1) 0;padding:var(--offset-sm) 0}.pds-divider--offset-md{margin:0 calc(var(--offset-md) * -1);padding:0 var(--offset-md)}.pds-divider--offset-md.pds-divider--vertical{margin:calc(var(--offset-md) * -1) 0;padding:var(--offset-md) 0}.pds-divider--offset-lg{margin:0 calc(var(--offset-lg) * -1);padding:0 var(--offset-lg)}.pds-divider--offset-lg.pds-divider--vertical{margin:calc(var(--offset-lg) * -1) 0;padding:var(--offset-lg) 0}.pds-divider--offset-xl{margin:0 calc(var(--offset-xl) * -1);padding:0 var(--offset-xl)}.pds-divider--offset-xl.pds-divider--vertical{margin:calc(var(--offset-xl) * -1) 0;padding:var(--offset-xl) 0}.pds-divider--offset-xxl{margin:0 calc(var(--offset-xxl) * -1);padding:0 var(--offset-xxl)}.pds-divider--offset-xxl.pds-divider--vertical{margin:calc(var(--offset-xxl) * -1) 0;padding:var(--offset-xxl) 0}@media (max-width: 767px){.pds-divider--vertical{display:none}}";
|
|
4
|
+
|
|
5
|
+
const PdsDivider$1 = /*@__PURE__*/ proxyCustomElement(class PdsDivider extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
this.componentId = undefined;
|
|
11
|
+
this.offset = undefined;
|
|
12
|
+
this.vertical = false;
|
|
13
|
+
}
|
|
14
|
+
classNames() {
|
|
15
|
+
const classNames = ['pds-divider'];
|
|
16
|
+
if (this.vertical) {
|
|
17
|
+
classNames.push('pds-divider--vertical');
|
|
18
|
+
}
|
|
19
|
+
if (this.offset) {
|
|
20
|
+
const offsetClassName = 'pds-divider--offset-' + this.offset;
|
|
21
|
+
classNames.push(offsetClassName);
|
|
22
|
+
}
|
|
23
|
+
return classNames.join(' ');
|
|
24
|
+
}
|
|
25
|
+
render() {
|
|
26
|
+
return (h(Host, { id: this.componentId }, h("hr", { class: this.classNames() })));
|
|
27
|
+
}
|
|
28
|
+
static get style() { return pdsDividerCss; }
|
|
29
|
+
}, [1, "pds-divider", {
|
|
30
|
+
"componentId": [1, "component-id"],
|
|
31
|
+
"offset": [1],
|
|
32
|
+
"vertical": [4]
|
|
33
|
+
}]);
|
|
34
|
+
function defineCustomElement$1() {
|
|
35
|
+
if (typeof customElements === "undefined") {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const components = ["pds-divider"];
|
|
39
|
+
components.forEach(tagName => { switch (tagName) {
|
|
40
|
+
case "pds-divider":
|
|
41
|
+
if (!customElements.get(tagName)) {
|
|
42
|
+
customElements.define(tagName, PdsDivider$1);
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
} });
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const PdsDivider = PdsDivider$1;
|
|
49
|
+
const defineCustomElement = defineCustomElement$1;
|
|
50
|
+
|
|
51
|
+
export { PdsDivider, defineCustomElement };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=pds-divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-divider.js","mappings":";;AAAA,MAAM,aAAa,GAAG,+2DAA+2D;;MCOx3DA,YAAU;;;;;;;wBAeF,KAAK;;IAEhB,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,eAAe,GAAG,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAClC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IACxB,UAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAI,CAC3B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsDivider"],"sources":["src/components/pds-divider/pds-divider.scss?tag=pds-divider&encapsulation=shadow","src/components/pds-divider/pds-divider.tsx"],"sourcesContent":[":host {\n --background-color: var(--pine-color-neutral-grey-400);\n --offset-xxs: var(--pine-spacing-xxs);\n --offset-xs: var(--pine-spacing-xs);\n --offset-sm: var(--pine-spacing-sm);\n --offset-md: var(--pine-spacing-md);\n --offset-lg: var(--pine-spacing-lg);\n --offset-xxl: var(--pine-spacing-2xl);\n}\n\n$pds-divider-offsets: (\n xxs: var(--offset-xxs),\n xs: var(--offset-xs),\n sm: var(--offset-sm),\n md: var(--offset-md),\n lg: var(--offset-lg),\n xl: var(--offset-xl),\n xxl: var(--offset-xxl),\n);\n\n.pds-divider {\n background: var(--background-color);\n border: 0;\n display: flex;\n height: 1px;\n margin: 0;\n width: 100%;\n}\n\n.pds-divider--vertical {\n height: 100%;\n width: 1px;\n}\n\n@each $offset, $value in $pds-divider-offsets {\n .pds-divider--offset-#{$offset} {\n margin: 0 calc($value * -1);\n padding: 0 $value;\n\n &.pds-divider--vertical {\n margin: calc($value * -1) 0;\n padding: $value 0;\n }\n }\n}\n\n@media (max-width: 767px) {\n .pds-divider--vertical {\n display: none;\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-divider',\n styleUrl: 'pds-divider.scss',\n shadow: true,\n})\nexport class PdsDivider {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Adds offset margin/padding to expand the width (horizontal) or the height (vertical) of divider.\n */\n @Prop() offset: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';\n\n /**\n * Sets divider to display vertically\n * @defaultValue false\n */\n @Prop() vertical = false;\n\n private classNames() {\n const classNames = ['pds-divider'];\n\n if (this.vertical) {\n classNames.push('pds-divider--vertical');\n }\n\n if (this.offset) {\n const offsetClassName = 'pds-divider--offset-' + this.offset;\n classNames.push(offsetClassName);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host id={this.componentId}>\n <hr class={this.classNames()} />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-icon.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { getAssetPath, proxyCustomElement, HTMLElement, Build, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
let CACHED_MAP;
|
|
4
|
+
const getIconMap = () => {
|
|
5
|
+
if (typeof window === 'undefined') {
|
|
6
|
+
return new Map();
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
if (!CACHED_MAP) {
|
|
10
|
+
const win = window; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
11
|
+
win.PdsIcons = win.PdsIcons || {};
|
|
12
|
+
CACHED_MAP = win.PdsIcons.map = win.PdsIcons.map || new Map();
|
|
13
|
+
}
|
|
14
|
+
return CACHED_MAP;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const getName = (iconName, icon) => {
|
|
18
|
+
if (!iconName && icon && !isSrc(icon)) {
|
|
19
|
+
iconName = icon;
|
|
20
|
+
}
|
|
21
|
+
if (isStr(iconName)) {
|
|
22
|
+
iconName = toLower(iconName);
|
|
23
|
+
}
|
|
24
|
+
if (!isStr(iconName) || iconName.trim() === '') {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const invalidChars = iconName.replace(/[a-z]|-|\d/gi, '');
|
|
28
|
+
if (invalidChars != '') {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return iconName;
|
|
32
|
+
};
|
|
33
|
+
const getNamedUrl = (iconName) => {
|
|
34
|
+
const url = getIconMap().get(iconName);
|
|
35
|
+
if (url) {
|
|
36
|
+
return url;
|
|
37
|
+
}
|
|
38
|
+
return getAssetPath(`svg/${iconName}.svg`);
|
|
39
|
+
};
|
|
40
|
+
const getSrc = (src) => {
|
|
41
|
+
if (isStr(src)) {
|
|
42
|
+
src = src.trim();
|
|
43
|
+
if (isSrc(src)) {
|
|
44
|
+
return src;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
};
|
|
49
|
+
const getUrl = (pdsIcon) => {
|
|
50
|
+
let url = getSrc(pdsIcon.src);
|
|
51
|
+
if (url) {
|
|
52
|
+
return url;
|
|
53
|
+
}
|
|
54
|
+
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
|
+
const validateContent = (svgContent) => {
|
|
94
|
+
const div = document.createElement('div');
|
|
95
|
+
div.innerHTML = svgContent;
|
|
96
|
+
// setup this way to ensure it works on our buddy IE
|
|
97
|
+
for (let i = div.childNodes.length - 1; i >= 0; i--) {
|
|
98
|
+
if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {
|
|
99
|
+
div.removeChild(div.childNodes[i]);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// must only have 1 root element
|
|
103
|
+
const svgElm = div.firstElementChild;
|
|
104
|
+
if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {
|
|
105
|
+
const svgClass = svgElm.getAttribute('class') || '';
|
|
106
|
+
svgElm.setAttribute('class', (svgClass + ' s-pds-icon').trim());
|
|
107
|
+
// root element must be an svg
|
|
108
|
+
// lets double check we've got valid elements
|
|
109
|
+
// do not allow scripts
|
|
110
|
+
if (isValid(svgElm)) {
|
|
111
|
+
return div.innerHTML;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return '';
|
|
115
|
+
};
|
|
116
|
+
const isValid = (elm) => {
|
|
117
|
+
if (elm.nodeType === 1) {
|
|
118
|
+
if (elm.nodeName.toLowerCase() === 'script') {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
for (let i = 0; i < elm.attributes.length; i++) {
|
|
122
|
+
const name = elm.attributes[i].name;
|
|
123
|
+
if (isStr(name) && name.toLowerCase().indexOf('on') === 0) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
for (let i = 0; i < elm.childNodes.length; i++) {
|
|
128
|
+
if (!isValid(elm.childNodes[i])) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return true;
|
|
134
|
+
};
|
|
135
|
+
const isSvgDataUrl = (url) => url.startsWith('data:image/svg+xml');
|
|
136
|
+
const isEncodedDataUrl = (url) => url.indexOf(';utf8,') !== -1;
|
|
137
|
+
|
|
138
|
+
const pdsIconContent = new Map();
|
|
139
|
+
const requests = new Map(); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
140
|
+
let parser;
|
|
141
|
+
const getSvgContent = (url, sanitize = false) => {
|
|
142
|
+
let req = requests.get(url);
|
|
143
|
+
if (!req) {
|
|
144
|
+
if (typeof fetch != 'undefined' && typeof document !== 'undefined') {
|
|
145
|
+
if (isSvgDataUrl(url) && isEncodedDataUrl(url)) {
|
|
146
|
+
if (!parser) {
|
|
147
|
+
parser = new DOMParser();
|
|
148
|
+
}
|
|
149
|
+
const doc = parser.parseFromString(url, 'text/html');
|
|
150
|
+
const svg = doc.querySelector('svg');
|
|
151
|
+
if (svg) {
|
|
152
|
+
pdsIconContent.set(url, svg.outerHTML);
|
|
153
|
+
}
|
|
154
|
+
return Promise.resolve();
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// we don't have a request
|
|
158
|
+
req = fetch(url).then((rsp) => {
|
|
159
|
+
if (rsp.ok) {
|
|
160
|
+
return rsp.text().then((svgContent) => {
|
|
161
|
+
if (svgContent && sanitize !== false) {
|
|
162
|
+
svgContent = validateContent(svgContent);
|
|
163
|
+
}
|
|
164
|
+
pdsIconContent.set(url, svgContent || '');
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
pdsIconContent.set(url, '');
|
|
168
|
+
});
|
|
169
|
+
requests.set(url, req);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
pdsIconContent.set(url, '');
|
|
174
|
+
return Promise.resolve();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return req;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const pdsIconCss = ":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%}";
|
|
181
|
+
|
|
182
|
+
const PdsIcon = /*@__PURE__*/ proxyCustomElement(class PdsIcon extends HTMLElement {
|
|
183
|
+
constructor() {
|
|
184
|
+
super();
|
|
185
|
+
this.__registerHost();
|
|
186
|
+
this.__attachShadow();
|
|
187
|
+
this.inheritedAttributes = {}; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
188
|
+
this.hasAriaHidden = () => {
|
|
189
|
+
const { el } = this;
|
|
190
|
+
return el.hasAttribute('aria-hidden') && el.getAttribute('aria-hidden') === 'true';
|
|
191
|
+
};
|
|
192
|
+
this.ariaLabel = undefined;
|
|
193
|
+
this.isVisible = false;
|
|
194
|
+
this.svgContent = undefined;
|
|
195
|
+
this.color = undefined;
|
|
196
|
+
this.icon = undefined;
|
|
197
|
+
this.name = undefined;
|
|
198
|
+
this.size = 'regular';
|
|
199
|
+
this.src = undefined;
|
|
200
|
+
}
|
|
201
|
+
iconSize() {
|
|
202
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
203
|
+
const sizes = {
|
|
204
|
+
small: '12px',
|
|
205
|
+
regular: '16px',
|
|
206
|
+
medium: '20px',
|
|
207
|
+
large: '24px',
|
|
208
|
+
};
|
|
209
|
+
if (sizes[this.size]) {
|
|
210
|
+
return sizes[this.size];
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
return this.size;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
componentWillLoad() {
|
|
217
|
+
this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
|
|
218
|
+
}
|
|
219
|
+
connectedCallback() {
|
|
220
|
+
this.waitUntilVisible(this.el, '50px', () => {
|
|
221
|
+
this.isVisible = true;
|
|
222
|
+
this.loadIcon();
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
disconnectedCallback() {
|
|
226
|
+
if (this.io) {
|
|
227
|
+
this.io.disconnect();
|
|
228
|
+
this.io = undefined;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
loadIcon() {
|
|
232
|
+
if (Build.isBrowser && this.isVisible) {
|
|
233
|
+
const url = getUrl(this);
|
|
234
|
+
if (url) {
|
|
235
|
+
if (pdsIconContent.has(url)) {
|
|
236
|
+
this.svgContent = pdsIconContent.get(url);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
getSvgContent(url).then(() => (this.svgContent = pdsIconContent.get(url)));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
const label = getName(this.name, this.icon);
|
|
244
|
+
if (label) {
|
|
245
|
+
this.ariaLabel = label.replace(/\-/g, ' ');
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
render() {
|
|
249
|
+
const { ariaLabel, inheritedAttributes } = this;
|
|
250
|
+
const style = {
|
|
251
|
+
height: this.iconSize(),
|
|
252
|
+
width: this.iconSize(),
|
|
253
|
+
color: this.color,
|
|
254
|
+
};
|
|
255
|
+
return (h(Host, Object.assign({ "aria-label": ariaLabel !== undefined && !this.hasAriaHidden() ? ariaLabel : null, role: "img", style: style, class: Object.assign({}, createColorClasses(this.color)) }, inheritedAttributes), Build.isBrowser && this.svgContent ? (h("div", { class: "icon-inner", innerHTML: this.svgContent })) : (h("div", { class: "icon-inner" }))));
|
|
256
|
+
}
|
|
257
|
+
/*****
|
|
258
|
+
* Private Methods
|
|
259
|
+
****/
|
|
260
|
+
waitUntilVisible(el, rootMargin, cb) {
|
|
261
|
+
if (Build.isBrowser && typeof window !== 'undefined' && (window).IntersectionObserver) {
|
|
262
|
+
const io = (this.io = new (window).IntersectionObserver((data) => {
|
|
263
|
+
if (data[0].isIntersecting) {
|
|
264
|
+
io.disconnect();
|
|
265
|
+
this.io = undefined;
|
|
266
|
+
cb();
|
|
267
|
+
}
|
|
268
|
+
}, { rootMargin }));
|
|
269
|
+
io.observe(el);
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
// browser doesn't support IntersectionObserver
|
|
273
|
+
// so just fallback to always show it
|
|
274
|
+
cb();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
static get assetsDirs() { return ["svg"]; }
|
|
278
|
+
get el() { return this; }
|
|
279
|
+
static get watchers() { return {
|
|
280
|
+
"name": ["loadIcon"],
|
|
281
|
+
"src": ["loadIcon"],
|
|
282
|
+
"icon": ["loadIcon"]
|
|
283
|
+
}; }
|
|
284
|
+
static get style() { return pdsIconCss; }
|
|
285
|
+
}, [1, "pds-icon", {
|
|
286
|
+
"color": [1],
|
|
287
|
+
"icon": [8],
|
|
288
|
+
"name": [513],
|
|
289
|
+
"size": [513],
|
|
290
|
+
"src": [1],
|
|
291
|
+
"ariaLabel": [32],
|
|
292
|
+
"isVisible": [32],
|
|
293
|
+
"svgContent": [32]
|
|
294
|
+
}, undefined, {
|
|
295
|
+
"name": ["loadIcon"],
|
|
296
|
+
"src": ["loadIcon"],
|
|
297
|
+
"icon": ["loadIcon"]
|
|
298
|
+
}]);
|
|
299
|
+
const createColorClasses = (color) => {
|
|
300
|
+
return color
|
|
301
|
+
? {
|
|
302
|
+
'pds-color': true,
|
|
303
|
+
[`pds-color-${color}`]: true,
|
|
304
|
+
}
|
|
305
|
+
: null;
|
|
306
|
+
};
|
|
307
|
+
function defineCustomElement() {
|
|
308
|
+
if (typeof customElements === "undefined") {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
const components = ["pds-icon"];
|
|
312
|
+
components.forEach(tagName => { switch (tagName) {
|
|
313
|
+
case "pds-icon":
|
|
314
|
+
if (!customElements.get(tagName)) {
|
|
315
|
+
customElements.define(tagName, PdsIcon);
|
|
316
|
+
}
|
|
317
|
+
break;
|
|
318
|
+
} });
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export { PdsIcon as P, defineCustomElement as d };
|
|
322
|
+
|
|
323
|
+
//# sourceMappingURL=pds-icon2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pds-icon2.js","mappings":"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","names":[],"sources":["../../node_modules/@pine-ds/icons/dist/collection/components/pds-icon/utils.js","../../node_modules/@pine-ds/icons/dist/collection/components/pds-icon/validate.js","../../node_modules/@pine-ds/icons/dist/collection/components/pds-icon/request.js","../../node_modules/@pine-ds/icons/dist/collection/components/pds-icon/pds-icon.css?tag=pds-icon&encapsulation=shadow","../../node_modules/@pine-ds/icons/dist/collection/components/pds-icon/pds-icon.js"],"sourcesContent":["import { getAssetPath } from \"@stencil/core\";\nlet CACHED_MAP;\nexport const addIcons = (icons) => {\n const map = getIconMap();\n Object.keys(icons).forEach(name => map.set(name, icons[name]));\n};\nexport const getIconMap = () => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n else {\n if (!CACHED_MAP) {\n const win = window; // 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 return CACHED_MAP;\n }\n};\nexport const getName = (iconName, icon) => {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n const invalidChars = iconName.replace(/[a-z]|-|\\d/gi, '');\n if (invalidChars != '') {\n return null;\n }\n return iconName;\n};\nconst getNamedUrl = (iconName) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(`svg/${iconName}.svg`);\n};\nexport const getSrc = (src) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\nexport const getUrl = (pdsIcon) => {\n let url = getSrc(pdsIcon.src);\n if (url) {\n return url;\n }\n url = getName(pdsIcon.name, pdsIcon.icon);\n if (url) {\n return getNamedUrl(url);\n }\n if (pdsIcon.icon) {\n url = getSrc(pdsIcon.icon);\n if (url) {\n return url;\n }\n }\n return null;\n};\nexport const isSrc = (str) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val) => typeof val === 'string'; // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const toLower = (val) => val.toLowerCase();\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 */\nexport const inheritAttributes = (el, attributes = []) => {\n const attributeObject = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\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 return attributeObject;\n};\n//# sourceMappingURL=utils.js.map\n","import { isStr } from \"./utils\";\nexport const validateContent = (svgContent) => {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\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 // 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-pds-icon').trim());\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)) {\n return div.innerHTML;\n }\n }\n return '';\n};\nexport const isValid = (elm) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\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 for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i])) {\n return false;\n }\n }\n }\n return true;\n};\nexport const isSvgDataUrl = (url) => url.startsWith('data:image/svg+xml');\nexport const isEncodedDataUrl = (url) => url.indexOf(';utf8,') !== -1;\n//# sourceMappingURL=validate.js.map\n","import { isEncodedDataUrl, isSvgDataUrl, validateContent } from \"./validate\";\nexport const pdsIconContent = new Map();\nconst requests = new Map(); // eslint-disable-line @typescript-eslint/no-explicit-any\nlet parser;\nexport const getSvgContent = (url, sanitize = false) => {\n let req = requests.get(url);\n if (!req) {\n if (typeof fetch != 'undefined' && typeof document !== 'undefined') {\n if (isSvgDataUrl(url) && isEncodedDataUrl(url)) {\n if (!parser) {\n parser = new DOMParser();\n }\n const doc = parser.parseFromString(url, 'text/html');\n const svg = doc.querySelector('svg');\n if (svg) {\n pdsIconContent.set(url, svg.outerHTML);\n }\n return Promise.resolve();\n }\n else {\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 requests.set(url, req);\n }\n }\n else {\n pdsIconContent.set(url, '');\n return Promise.resolve();\n }\n }\n return req;\n};\n//# sourceMappingURL=request.js.map\n",":host {\n contain: strict;\n display: inline-block;\n fill: currentColor;\n height: 1em;\n width: 1em;\n}\n:host .pdsicon {\n fill: currentColor;\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}","import { Build, Host, h } from \"@stencil/core\";\nimport { getSvgContent, pdsIconContent } from \"./request\";\nimport { getName, getUrl, inheritAttributes } from \"./utils\";\nexport class PdsIcon {\n constructor() {\n this.inheritedAttributes = {}; // eslint-disable-line @typescript-eslint/no-explicit-any\n this.hasAriaHidden = () => {\n const { el } = this;\n return el.hasAttribute('aria-hidden') && el.getAttribute('aria-hidden') === 'true';\n };\n this.ariaLabel = undefined;\n this.isVisible = false;\n this.svgContent = undefined;\n this.color = undefined;\n this.icon = undefined;\n this.name = undefined;\n this.size = 'regular';\n this.src = undefined;\n }\n iconSize() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sizes = {\n small: '12px',\n regular: '16px',\n medium: '20px',\n large: '24px',\n };\n if (sizes[this.size]) {\n return sizes[this.size];\n }\n else {\n return this.size;\n }\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);\n }\n connectedCallback() {\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n });\n }\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\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 }\n else {\n getSvgContent(url).then(() => (this.svgContent = pdsIconContent.get(url)));\n }\n }\n }\n const label = getName(this.name, this.icon);\n if (label) {\n this.ariaLabel = label.replace(/\\-/g, ' ');\n }\n }\n render() {\n const { ariaLabel, inheritedAttributes } = this;\n const style = {\n height: this.iconSize(),\n width: this.iconSize(),\n color: this.color,\n };\n return (h(Host, Object.assign({ \"aria-label\": ariaLabel !== undefined && !this.hasAriaHidden() ? ariaLabel : null, role: \"img\", style: style, class: Object.assign({}, createColorClasses(this.color)) }, inheritedAttributes), Build.isBrowser && this.svgContent ? (h(\"div\", { class: \"icon-inner\", innerHTML: this.svgContent })) : (h(\"div\", { class: \"icon-inner\" }))));\n }\n /*****\n * Private Methods\n ****/\n waitUntilVisible(el, rootMargin, cb) {\n if (Build.isBrowser && typeof window !== 'undefined' && (window).IntersectionObserver) {\n const io = (this.io = new (window).IntersectionObserver((data) => {\n if (data[0].isIntersecting) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n }, { rootMargin }));\n io.observe(el);\n }\n else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n static get is() { return \"pds-icon\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"pds-icon.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"pds-icon.css\"]\n };\n }\n static get assetsDirs() { return [\"svg\"]; }\n static get properties() {\n return {\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\\nThe color of the icon\"\n },\n \"attribute\": \"color\",\n \"reflect\": false\n },\n \"icon\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This a combination of both `name` and `src`. If a `src` url is detected\\nit will set the `src` property. Otherwise it assumes it's a built-in named\\nSVG and set the `name` property.\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the icon to use from\\nthe built-in set.\"\n },\n \"attribute\": \"name\",\n \"reflect\": true\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"| 'small' // 12px\\n | 'regular' // 16px\\n | 'medium' // 20px\\n | 'large' // 24px\\n | 'auto'\\n | string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the icon. This can be\\n'small', 'regular', 'medium', large, or a\\ncustom value (40px, 1rem, etc)\"\n },\n \"attribute\": \"size\",\n \"reflect\": true,\n \"defaultValue\": \"'regular'\"\n },\n \"src\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\\nSpecifies the exact `src` of an SVG file to use.\"\n },\n \"attribute\": \"src\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"ariaLabel\": {},\n \"isVisible\": {},\n \"svgContent\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"name\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"src\",\n \"methodName\": \"loadIcon\"\n }, {\n \"propName\": \"icon\",\n \"methodName\": \"loadIcon\"\n }];\n }\n}\nconst createColorClasses = (color) => {\n return color\n ? {\n 'pds-color': true,\n [`pds-color-${color}`]: true,\n }\n : null;\n};\n//# sourceMappingURL=pds-icon.js.map\n"],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../dist/types/components";
|
|
2
|
+
|
|
3
|
+
interface PdsImage extends Components.PdsImage, HTMLElement {}
|
|
4
|
+
export const PdsImage: {
|
|
5
|
+
prototype: PdsImage;
|
|
6
|
+
new (): PdsImage;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const pdsImageCss = ":host{--image-aspect-ratio:auto;display:inline-block}img{aspect-ratio:var(--image-aspect-ratio);height:auto;width:100%}";
|
|
4
|
+
|
|
5
|
+
const PdsImage$1 = /*@__PURE__*/ proxyCustomElement(class PdsImage extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
this.alt = '';
|
|
11
|
+
this.componentId = undefined;
|
|
12
|
+
this.height = undefined;
|
|
13
|
+
this.loading = 'eager';
|
|
14
|
+
this.sizes = undefined;
|
|
15
|
+
this.src = undefined;
|
|
16
|
+
this.srcset = undefined;
|
|
17
|
+
this.width = undefined;
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return (h(Host, { class: {
|
|
21
|
+
'pds-image': true,
|
|
22
|
+
}, id: this.componentId }, h("img", { alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
|
|
23
|
+
}
|
|
24
|
+
static get style() { return pdsImageCss; }
|
|
25
|
+
}, [1, "pds-image", {
|
|
26
|
+
"alt": [1],
|
|
27
|
+
"componentId": [1, "component-id"],
|
|
28
|
+
"height": [2],
|
|
29
|
+
"loading": [1],
|
|
30
|
+
"sizes": [1],
|
|
31
|
+
"src": [1],
|
|
32
|
+
"srcset": [1],
|
|
33
|
+
"width": [2]
|
|
34
|
+
}]);
|
|
35
|
+
function defineCustomElement$1() {
|
|
36
|
+
if (typeof customElements === "undefined") {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const components = ["pds-image"];
|
|
40
|
+
components.forEach(tagName => { switch (tagName) {
|
|
41
|
+
case "pds-image":
|
|
42
|
+
if (!customElements.get(tagName)) {
|
|
43
|
+
customElements.define(tagName, PdsImage$1);
|
|
44
|
+
}
|
|
45
|
+
break;
|
|
46
|
+
} });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const PdsImage = PdsImage$1;
|
|
50
|
+
const defineCustomElement = defineCustomElement$1;
|
|
51
|
+
|
|
52
|
+
export { PdsImage, defineCustomElement };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=pds-image.js.map
|