@pine-ds/core 0.0.2-alpha.1 → 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/pds-icon2.js +38 -14
- package/components/pds-icon2.js.map +1 -1
- package/components/pds-link.js +4 -1
- package/components/pds-link.js.map +1 -1
- 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 +2 -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
package/components/pds-icon2.js
CHANGED
|
@@ -47,7 +47,11 @@ const getSrc = (src) => {
|
|
|
47
47
|
return null;
|
|
48
48
|
};
|
|
49
49
|
const getUrl = (pdsIcon) => {
|
|
50
|
-
let url =
|
|
50
|
+
let url = getSrc(pdsIcon.src);
|
|
51
|
+
if (url) {
|
|
52
|
+
return url;
|
|
53
|
+
}
|
|
54
|
+
url = getName(pdsIcon.name, pdsIcon.icon);
|
|
51
55
|
if (url) {
|
|
52
56
|
return getNamedUrl(url);
|
|
53
57
|
}
|
|
@@ -99,7 +103,7 @@ const validateContent = (svgContent) => {
|
|
|
99
103
|
const svgElm = div.firstElementChild;
|
|
100
104
|
if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {
|
|
101
105
|
const svgClass = svgElm.getAttribute('class') || '';
|
|
102
|
-
svgElm.setAttribute('class', (svgClass + ' s-
|
|
106
|
+
svgElm.setAttribute('class', (svgClass + ' s-pds-icon').trim());
|
|
103
107
|
// root element must be an svg
|
|
104
108
|
// lets double check we've got valid elements
|
|
105
109
|
// do not allow scripts
|
|
@@ -128,26 +132,42 @@ const isValid = (elm) => {
|
|
|
128
132
|
}
|
|
129
133
|
return true;
|
|
130
134
|
};
|
|
135
|
+
const isSvgDataUrl = (url) => url.startsWith('data:image/svg+xml');
|
|
136
|
+
const isEncodedDataUrl = (url) => url.indexOf(';utf8,') !== -1;
|
|
131
137
|
|
|
132
138
|
const pdsIconContent = new Map();
|
|
133
139
|
const requests = new Map(); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
140
|
+
let parser;
|
|
134
141
|
const getSvgContent = (url, sanitize = false) => {
|
|
135
142
|
let req = requests.get(url);
|
|
136
143
|
if (!req) {
|
|
137
144
|
if (typeof fetch != 'undefined' && typeof document !== 'undefined') {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return rsp.text().then((svgContent) => {
|
|
142
|
-
if (svgContent && sanitize !== false) {
|
|
143
|
-
svgContent = validateContent(svgContent);
|
|
144
|
-
}
|
|
145
|
-
pdsIconContent.set(url, svgContent || '');
|
|
146
|
-
});
|
|
145
|
+
if (isSvgDataUrl(url) && isEncodedDataUrl(url)) {
|
|
146
|
+
if (!parser) {
|
|
147
|
+
parser = new DOMParser();
|
|
147
148
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
+
}
|
|
151
171
|
}
|
|
152
172
|
else {
|
|
153
173
|
pdsIconContent.set(url, '');
|
|
@@ -176,6 +196,7 @@ const PdsIcon = /*@__PURE__*/ proxyCustomElement(class PdsIcon extends HTMLEleme
|
|
|
176
196
|
this.icon = undefined;
|
|
177
197
|
this.name = undefined;
|
|
178
198
|
this.size = 'regular';
|
|
199
|
+
this.src = undefined;
|
|
179
200
|
}
|
|
180
201
|
iconSize() {
|
|
181
202
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -257,6 +278,7 @@ const PdsIcon = /*@__PURE__*/ proxyCustomElement(class PdsIcon extends HTMLEleme
|
|
|
257
278
|
get el() { return this; }
|
|
258
279
|
static get watchers() { return {
|
|
259
280
|
"name": ["loadIcon"],
|
|
281
|
+
"src": ["loadIcon"],
|
|
260
282
|
"icon": ["loadIcon"]
|
|
261
283
|
}; }
|
|
262
284
|
static get style() { return pdsIconCss; }
|
|
@@ -265,11 +287,13 @@ const PdsIcon = /*@__PURE__*/ proxyCustomElement(class PdsIcon extends HTMLEleme
|
|
|
265
287
|
"icon": [8],
|
|
266
288
|
"name": [513],
|
|
267
289
|
"size": [513],
|
|
290
|
+
"src": [1],
|
|
268
291
|
"ariaLabel": [32],
|
|
269
292
|
"isVisible": [32],
|
|
270
293
|
"svgContent": [32]
|
|
271
294
|
}, undefined, {
|
|
272
295
|
"name": ["loadIcon"],
|
|
296
|
+
"src": ["loadIcon"],
|
|
273
297
|
"icon": ["loadIcon"]
|
|
274
298
|
}]);
|
|
275
299
|
const createColorClasses = (color) => {
|
|
@@ -1 +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 = 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-ion-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};\n//# sourceMappingURL=validate.js.map\n","import { validateContent } from \"./validate\";\nexport const pdsIconContent = new Map();\nconst requests = new Map(); // eslint-disable-line @typescript-eslint/no-explicit-any\nexport const getSvgContent = (url, sanitize = false) => {\n let req = requests.get(url);\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 requests.set(url, req);\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 }\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 };\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\": \"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}
|
|
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}
|
package/components/pds-link.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
2
|
import { d as defineCustomElement$2 } from './pds-icon2.js';
|
|
3
3
|
|
|
4
|
+
/* pds-icons v3.4.0, ES Modules */
|
|
5
|
+
const launch = "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='M15.138.862a.665.665 0 0 1 .195.461v5.344a.667.667 0 0 1-1.333 0V2.943L7.805 9.138a.667.667 0 1 1-.943-.943L13.057 2H9.333a.667.667 0 0 1 0-1.333h5.334c.17 0 .34.065.471.195ZM1.333 2a.667.667 0 0 0-.666.667v12c0 .368.298.666.666.666h12a.667.667 0 0 0 .667-.666V10a.667.667 0 0 0-1.333 0v4H2V3.333h4A.667.667 0 1 0 6 2H1.333Z'/></svg>";
|
|
6
|
+
|
|
4
7
|
const pdsLinkCss = ":host{--border-radius:var(--pine-border-radius-sm);--color:var(--pine-color-neutral-charcoal-400);--font-size:var(--pine-font-size-body);--font-size-sm:var(--pine-font-size-body-sm);--font-size-xs:var(--pine-font-size-body-xs);--font-weight:var(--pine-font-weight-medium);--margin-inline-start:var(--pine-spacing-xxs);--outline:4px solid var(--pine-color-primary-200);--svg-lg:15px;--svg-md:13px;--svg-sm:11px;display:inline}:host pds-icon{-webkit-margin-start:var(--margin-inline-start);margin-inline-start:var(--margin-inline-start)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color);display:-ms-inline-flexbox;display:inline-flex;font-weight:inherit}.pds-link:focus{border-radius:var(--border-radius);outline:var(--outline)}.pds-link--sm{font-size:var(--font-size-xs)}.pds-link--sm pds-icon{height:var(--svg-sm);width:var(--svg-sm)}.pds-link--md{font-size:var(--font-size-sm)}.pds-link--md pds-icon{height:var(--svg-md);width:var(--svg-md)}.pds-link--lg{font-size:var(--font-size)}.pds-link--lg pds-icon{height:var(--svg-lg);width:var(--svg-lg)}.pds-link--plain{font-weight:var(--font-weight);text-decoration:none}.pds-link--plain:hover{text-decoration:underline}.pds-link--default{text-decoration:underline}.pds-link--default:hover{text-decoration:none}";
|
|
5
8
|
|
|
6
9
|
const PdsLink$1 = /*@__PURE__*/ proxyCustomElement(class PdsLink extends HTMLElement {
|
|
@@ -26,7 +29,7 @@ const PdsLink$1 = /*@__PURE__*/ proxyCustomElement(class PdsLink extends HTMLEle
|
|
|
26
29
|
}
|
|
27
30
|
render() {
|
|
28
31
|
return (h("a", { class: this.classNames(), href: this.href, id: this.componentId, target: this.external ? '_blank' : undefined }, h("slot", null, this.href), this.external &&
|
|
29
|
-
h("pds-icon", {
|
|
32
|
+
h("pds-icon", { icon: launch, size: this.fontSize })));
|
|
30
33
|
}
|
|
31
34
|
static get style() { return pdsLinkCss; }
|
|
32
35
|
}, [1, "pds-link", {
|