@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.
Files changed (210) hide show
  1. package/components/pds-icon2.js +38 -14
  2. package/components/pds-icon2.js.map +1 -1
  3. package/components/pds-link.js +4 -1
  4. package/components/pds-link.js.map +1 -1
  5. package/dist/cjs/{index-13500e25.js → index-0b3b1872.js} +25 -17
  6. package/dist/cjs/index-0b3b1872.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  10. package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
  11. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  12. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  13. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  14. package/dist/cjs/pds-icon.cjs.entry.js +37 -15
  15. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  16. package/dist/cjs/pds-image.cjs.entry.js +1 -1
  17. package/dist/cjs/pds-input.cjs.entry.js +2 -2
  18. package/dist/cjs/{pds-label-71ea2cad.js → pds-label-43804d0a.js} +2 -2
  19. package/dist/cjs/{pds-label-71ea2cad.js.map → pds-label-43804d0a.js.map} +1 -1
  20. package/dist/cjs/pds-link.cjs.entry.js +5 -2
  21. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  22. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  23. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  24. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  25. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  26. package/dist/cjs/pds-switch.cjs.entry.js +2 -2
  27. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  28. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  29. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  30. package/dist/cjs/pds-textarea.cjs.entry.js +2 -2
  31. package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
  32. package/dist/cjs/pine-core.cjs.js +3 -3
  33. package/dist/cjs/pine-core.cjs.js.map +1 -1
  34. package/dist/collection/collection-manifest.json +1 -1
  35. package/dist/collection/components/pds-link/pds-link.js +2 -1
  36. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  37. package/dist/docs.d.ts +1 -21
  38. package/dist/docs.json +2 -2
  39. package/dist/esm/{index-a58668b3.js → index-8f65139a.js} +25 -17
  40. package/dist/esm/index-8f65139a.js.map +1 -0
  41. package/dist/esm/loader.js +3 -3
  42. package/dist/esm/pds-avatar.entry.js +1 -1
  43. package/dist/esm/pds-button.entry.js +1 -1
  44. package/dist/esm/pds-checkbox.entry.js +2 -2
  45. package/dist/esm/pds-chip.entry.js +1 -1
  46. package/dist/esm/pds-copytext.entry.js +1 -1
  47. package/dist/esm/pds-divider.entry.js +1 -1
  48. package/dist/esm/pds-icon.entry.js +37 -15
  49. package/dist/esm/pds-icon.entry.js.map +1 -1
  50. package/dist/esm/pds-image.entry.js +1 -1
  51. package/dist/esm/pds-input.entry.js +2 -2
  52. package/dist/esm/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
  53. package/dist/esm/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +1 -1
  54. package/dist/esm/pds-link.entry.js +5 -2
  55. package/dist/esm/pds-link.entry.js.map +1 -1
  56. package/dist/esm/pds-progress.entry.js +1 -1
  57. package/dist/esm/pds-radio.entry.js +2 -2
  58. package/dist/esm/pds-sortable-item.entry.js +1 -1
  59. package/dist/esm/pds-sortable.entry.js +1 -1
  60. package/dist/esm/pds-switch.entry.js +2 -2
  61. package/dist/esm/pds-tab.entry.js +1 -1
  62. package/dist/esm/pds-tabpanel.entry.js +1 -1
  63. package/dist/esm/pds-tabs.entry.js +1 -1
  64. package/dist/esm/pds-textarea.entry.js +2 -2
  65. package/dist/esm/pds-tooltip.entry.js +1 -1
  66. package/dist/esm/pine-core.js +4 -4
  67. package/dist/esm/pine-core.js.map +1 -1
  68. package/dist/esm-es5/index-8f65139a.js +3 -0
  69. package/dist/esm-es5/index-8f65139a.js.map +1 -0
  70. package/dist/esm-es5/loader.js +1 -1
  71. package/dist/esm-es5/loader.js.map +1 -1
  72. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  73. package/dist/esm-es5/pds-button.entry.js +1 -1
  74. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  75. package/dist/esm-es5/pds-chip.entry.js +1 -1
  76. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  77. package/dist/esm-es5/pds-divider.entry.js +1 -1
  78. package/dist/esm-es5/pds-icon.entry.js +1 -1
  79. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  80. package/dist/esm-es5/pds-image.entry.js +1 -1
  81. package/dist/esm-es5/pds-input.entry.js +1 -1
  82. package/dist/esm-es5/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
  83. package/dist/esm-es5/pds-link.entry.js +1 -1
  84. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  85. package/dist/esm-es5/pds-progress.entry.js +1 -1
  86. package/dist/esm-es5/pds-radio.entry.js +1 -1
  87. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  88. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  89. package/dist/esm-es5/pds-switch.entry.js +1 -1
  90. package/dist/esm-es5/pds-tab.entry.js +1 -1
  91. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  92. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  93. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  94. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  95. package/dist/esm-es5/pine-core.js +1 -1
  96. package/dist/esm-es5/pine-core.js.map +1 -1
  97. package/dist/pine-core/p-0532f829.entry.js +2 -0
  98. package/dist/pine-core/p-0532f829.entry.js.map +1 -0
  99. package/dist/pine-core/{p-f2c3035d.system.entry.js → p-09573d54.system.entry.js} +2 -2
  100. package/dist/pine-core/{p-f09892d3.system.entry.js → p-150e12a5.system.entry.js} +2 -2
  101. package/dist/pine-core/{p-c8a41b43.system.entry.js → p-1a307cc4.system.entry.js} +2 -2
  102. package/dist/pine-core/{p-4fc42ff3.system.entry.js → p-1cb9fddf.system.entry.js} +2 -2
  103. package/dist/pine-core/{p-79d7e0b1.system.entry.js → p-237709cc.system.entry.js} +2 -2
  104. package/dist/pine-core/{p-8f62c812.entry.js → p-23b8d1bb.entry.js} +2 -2
  105. package/dist/pine-core/{p-22dd8116.entry.js → p-2847bd57.entry.js} +2 -2
  106. package/dist/pine-core/{p-f3af6d74.system.entry.js → p-34b29411.system.entry.js} +2 -2
  107. package/dist/pine-core/p-3d2843f8.system.js +2 -0
  108. package/dist/pine-core/{p-c4dbae0e.system.js.map → p-3d2843f8.system.js.map} +1 -1
  109. package/dist/pine-core/{p-73262287.system.entry.js → p-403d43d5.system.entry.js} +2 -2
  110. package/dist/pine-core/{p-669d948a.system.entry.js → p-4472b337.system.entry.js} +2 -2
  111. package/dist/pine-core/{p-f168654a.entry.js → p-465b7120.entry.js} +2 -2
  112. package/dist/pine-core/{p-401cd4bc.entry.js → p-5787d0c0.entry.js} +2 -2
  113. package/dist/pine-core/{p-7bc01826.entry.js → p-59334e35.entry.js} +2 -2
  114. package/dist/pine-core/{p-85f6a94e.system.entry.js → p-5d7bad14.system.entry.js} +2 -2
  115. package/dist/pine-core/{p-331cbf1d.entry.js → p-60930784.entry.js} +2 -2
  116. package/dist/pine-core/{p-bce2d5b5.system.entry.js → p-654295e2.system.entry.js} +2 -2
  117. package/dist/pine-core/{p-c0f9dbe1.system.entry.js → p-66f8fbb0.system.entry.js} +2 -2
  118. package/dist/pine-core/{p-0c26a00d.entry.js → p-6c295ed8.entry.js} +2 -2
  119. package/dist/pine-core/{p-0a776a7b.entry.js → p-6dd5d826.entry.js} +2 -2
  120. package/dist/pine-core/p-6f044e28.entry.js +2 -0
  121. package/dist/pine-core/{p-643f5378.entry.js.map → p-6f044e28.entry.js.map} +1 -1
  122. package/dist/pine-core/{p-5b37a4a2.system.entry.js → p-708a557d.system.entry.js} +2 -2
  123. package/dist/pine-core/{p-fba29e90.entry.js → p-7f16e44f.entry.js} +2 -2
  124. package/dist/pine-core/{p-22bd3102.system.entry.js → p-83040cfc.system.entry.js} +2 -2
  125. package/dist/pine-core/{p-bff583bd.system.js → p-9138d494.system.js} +2 -2
  126. package/dist/pine-core/{p-1c0ffcab.entry.js → p-978cad20.entry.js} +2 -2
  127. package/dist/pine-core/p-9830c8b4.system.js +3 -0
  128. package/dist/pine-core/p-9830c8b4.system.js.map +1 -0
  129. package/dist/pine-core/{p-4a804680.entry.js → p-9a184d74.entry.js} +2 -2
  130. package/dist/pine-core/{p-b17b818b.entry.js → p-aa9f027c.entry.js} +2 -2
  131. package/dist/pine-core/p-b199ca99.entry.js +2 -0
  132. package/dist/pine-core/p-b199ca99.entry.js.map +1 -0
  133. package/dist/pine-core/p-b8421db5.system.entry.js +2 -0
  134. package/dist/pine-core/p-b8421db5.system.entry.js.map +1 -0
  135. package/dist/pine-core/{p-d3e173ea.system.entry.js → p-bf6b565e.system.entry.js} +2 -2
  136. package/dist/pine-core/{p-938886d8.system.entry.js → p-c014702b.system.entry.js} +2 -2
  137. package/dist/pine-core/p-c209ff58.system.entry.js +2 -0
  138. package/dist/pine-core/p-c209ff58.system.entry.js.map +1 -0
  139. package/dist/pine-core/p-c81c20b7.js +3 -0
  140. package/dist/pine-core/p-c81c20b7.js.map +1 -0
  141. package/dist/pine-core/{p-27fd7f08.system.entry.js → p-d0446af7.system.entry.js} +2 -2
  142. package/dist/pine-core/{p-7fcd5f0b.entry.js → p-d1c7a84d.entry.js} +2 -2
  143. package/dist/pine-core/{p-930ab8a3.system.entry.js → p-d6e0c333.system.entry.js} +2 -2
  144. package/dist/pine-core/{p-97cb4285.entry.js → p-d8a277e5.entry.js} +2 -2
  145. package/dist/pine-core/{p-ac31a7c8.system.entry.js → p-da802c91.system.entry.js} +2 -2
  146. package/dist/pine-core/{p-24077dcd.entry.js → p-db6ea8de.entry.js} +2 -2
  147. package/dist/pine-core/{p-f1d7f16f.js → p-e893b132.js} +2 -2
  148. package/dist/pine-core/{p-0adb4b48.entry.js → p-f30549db.entry.js} +2 -2
  149. package/dist/pine-core/{p-af75cc15.entry.js → p-f3ee8a5e.entry.js} +2 -2
  150. package/dist/pine-core/pine-core.esm.js +1 -1
  151. package/dist/pine-core/pine-core.esm.js.map +1 -1
  152. package/dist/pine-core/pine-core.js +1 -1
  153. package/dist/pine-core/svg/blog-filled.svg +1 -1
  154. package/package.json +2 -2
  155. package/dist/cjs/index-13500e25.js.map +0 -1
  156. package/dist/esm/index-a58668b3.js.map +0 -1
  157. package/dist/esm-es5/index-a58668b3.js +0 -3
  158. package/dist/esm-es5/index-a58668b3.js.map +0 -1
  159. package/dist/pine-core/p-23fb6af2.system.entry.js +0 -2
  160. package/dist/pine-core/p-23fb6af2.system.entry.js.map +0 -1
  161. package/dist/pine-core/p-3386bfe1.system.entry.js +0 -2
  162. package/dist/pine-core/p-3386bfe1.system.entry.js.map +0 -1
  163. package/dist/pine-core/p-643f5378.entry.js +0 -2
  164. package/dist/pine-core/p-abdca153.js +0 -3
  165. package/dist/pine-core/p-abdca153.js.map +0 -1
  166. package/dist/pine-core/p-b79a8b07.entry.js +0 -2
  167. package/dist/pine-core/p-b79a8b07.entry.js.map +0 -1
  168. package/dist/pine-core/p-c4dbae0e.system.js +0 -2
  169. package/dist/pine-core/p-c6d878f8.entry.js +0 -2
  170. package/dist/pine-core/p-c6d878f8.entry.js.map +0 -1
  171. package/dist/pine-core/p-fa5d4e73.system.js +0 -3
  172. package/dist/pine-core/p-fa5d4e73.system.js.map +0 -1
  173. /package/dist/esm-es5/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +0 -0
  174. /package/dist/pine-core/{p-f2c3035d.system.entry.js.map → p-09573d54.system.entry.js.map} +0 -0
  175. /package/dist/pine-core/{p-f09892d3.system.entry.js.map → p-150e12a5.system.entry.js.map} +0 -0
  176. /package/dist/pine-core/{p-c8a41b43.system.entry.js.map → p-1a307cc4.system.entry.js.map} +0 -0
  177. /package/dist/pine-core/{p-4fc42ff3.system.entry.js.map → p-1cb9fddf.system.entry.js.map} +0 -0
  178. /package/dist/pine-core/{p-79d7e0b1.system.entry.js.map → p-237709cc.system.entry.js.map} +0 -0
  179. /package/dist/pine-core/{p-8f62c812.entry.js.map → p-23b8d1bb.entry.js.map} +0 -0
  180. /package/dist/pine-core/{p-22dd8116.entry.js.map → p-2847bd57.entry.js.map} +0 -0
  181. /package/dist/pine-core/{p-f3af6d74.system.entry.js.map → p-34b29411.system.entry.js.map} +0 -0
  182. /package/dist/pine-core/{p-73262287.system.entry.js.map → p-403d43d5.system.entry.js.map} +0 -0
  183. /package/dist/pine-core/{p-669d948a.system.entry.js.map → p-4472b337.system.entry.js.map} +0 -0
  184. /package/dist/pine-core/{p-f168654a.entry.js.map → p-465b7120.entry.js.map} +0 -0
  185. /package/dist/pine-core/{p-401cd4bc.entry.js.map → p-5787d0c0.entry.js.map} +0 -0
  186. /package/dist/pine-core/{p-7bc01826.entry.js.map → p-59334e35.entry.js.map} +0 -0
  187. /package/dist/pine-core/{p-85f6a94e.system.entry.js.map → p-5d7bad14.system.entry.js.map} +0 -0
  188. /package/dist/pine-core/{p-331cbf1d.entry.js.map → p-60930784.entry.js.map} +0 -0
  189. /package/dist/pine-core/{p-bce2d5b5.system.entry.js.map → p-654295e2.system.entry.js.map} +0 -0
  190. /package/dist/pine-core/{p-c0f9dbe1.system.entry.js.map → p-66f8fbb0.system.entry.js.map} +0 -0
  191. /package/dist/pine-core/{p-0c26a00d.entry.js.map → p-6c295ed8.entry.js.map} +0 -0
  192. /package/dist/pine-core/{p-0a776a7b.entry.js.map → p-6dd5d826.entry.js.map} +0 -0
  193. /package/dist/pine-core/{p-5b37a4a2.system.entry.js.map → p-708a557d.system.entry.js.map} +0 -0
  194. /package/dist/pine-core/{p-fba29e90.entry.js.map → p-7f16e44f.entry.js.map} +0 -0
  195. /package/dist/pine-core/{p-22bd3102.system.entry.js.map → p-83040cfc.system.entry.js.map} +0 -0
  196. /package/dist/pine-core/{p-bff583bd.system.js.map → p-9138d494.system.js.map} +0 -0
  197. /package/dist/pine-core/{p-1c0ffcab.entry.js.map → p-978cad20.entry.js.map} +0 -0
  198. /package/dist/pine-core/{p-4a804680.entry.js.map → p-9a184d74.entry.js.map} +0 -0
  199. /package/dist/pine-core/{p-b17b818b.entry.js.map → p-aa9f027c.entry.js.map} +0 -0
  200. /package/dist/pine-core/{p-d3e173ea.system.entry.js.map → p-bf6b565e.system.entry.js.map} +0 -0
  201. /package/dist/pine-core/{p-938886d8.system.entry.js.map → p-c014702b.system.entry.js.map} +0 -0
  202. /package/dist/pine-core/{p-27fd7f08.system.entry.js.map → p-d0446af7.system.entry.js.map} +0 -0
  203. /package/dist/pine-core/{p-7fcd5f0b.entry.js.map → p-d1c7a84d.entry.js.map} +0 -0
  204. /package/dist/pine-core/{p-930ab8a3.system.entry.js.map → p-d6e0c333.system.entry.js.map} +0 -0
  205. /package/dist/pine-core/{p-97cb4285.entry.js.map → p-d8a277e5.entry.js.map} +0 -0
  206. /package/dist/pine-core/{p-ac31a7c8.system.entry.js.map → p-da802c91.system.entry.js.map} +0 -0
  207. /package/dist/pine-core/{p-24077dcd.entry.js.map → p-db6ea8de.entry.js.map} +0 -0
  208. /package/dist/pine-core/{p-f1d7f16f.js.map → p-e893b132.js.map} +0 -0
  209. /package/dist/pine-core/{p-0adb4b48.entry.js.map → p-f30549db.entry.js.map} +0 -0
  210. /package/dist/pine-core/{p-af75cc15.entry.js.map → p-f3ee8a5e.entry.js.map} +0 -0
@@ -47,7 +47,11 @@ const getSrc = (src) => {
47
47
  return null;
48
48
  };
49
49
  const getUrl = (pdsIcon) => {
50
- let url = getName(pdsIcon.name, pdsIcon.icon);
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-ion-icon').trim());
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
- // we don't have a request
139
- req = fetch(url).then((rsp) => {
140
- if (rsp.ok) {
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
- pdsIconContent.set(url, '');
149
- });
150
- requests.set(url, req);
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}
@@ -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", { name: "launch", size: this.fontSize })));
32
+ h("pds-icon", { icon: launch, size: this.fontSize })));
30
33
  }
31
34
  static get style() { return pdsLinkCss; }
32
35
  }, [1, "pds-link", {