@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.
Files changed (276) hide show
  1. package/components/custom-elements.d.ts +2 -0
  2. package/components/index.d.ts +33 -0
  3. package/components/index.js +3 -0
  4. package/components/index.js.map +1 -0
  5. package/components/package.json +9 -0
  6. package/components/pds-avatar.d.ts +11 -0
  7. package/components/pds-avatar.js +98 -0
  8. package/components/pds-avatar.js.map +1 -0
  9. package/components/pds-button.d.ts +11 -0
  10. package/components/pds-button.js +8 -0
  11. package/components/pds-button.js.map +1 -0
  12. package/components/pds-button2.js +82 -0
  13. package/components/pds-button2.js.map +1 -0
  14. package/components/pds-checkbox.d.ts +11 -0
  15. package/components/pds-checkbox.js +83 -0
  16. package/components/pds-checkbox.js.map +1 -0
  17. package/components/pds-chip.d.ts +11 -0
  18. package/components/pds-chip.js +76 -0
  19. package/components/pds-chip.js.map +1 -0
  20. package/components/pds-copytext.d.ts +11 -0
  21. package/components/pds-copytext.js +100 -0
  22. package/components/pds-copytext.js.map +1 -0
  23. package/components/pds-divider.d.ts +11 -0
  24. package/components/pds-divider.js +53 -0
  25. package/components/pds-divider.js.map +1 -0
  26. package/components/pds-icon.js +8 -0
  27. package/components/pds-icon.js.map +1 -0
  28. package/components/pds-icon2.js +323 -0
  29. package/components/pds-icon2.js.map +1 -0
  30. package/components/pds-image.d.ts +11 -0
  31. package/components/pds-image.js +54 -0
  32. package/components/pds-image.js.map +1 -0
  33. package/components/pds-input.d.ts +11 -0
  34. package/components/pds-input.js +71 -0
  35. package/components/pds-input.js.map +1 -0
  36. package/components/pds-label.js +39 -0
  37. package/components/pds-label.js.map +1 -0
  38. package/components/pds-link.d.ts +11 -0
  39. package/components/pds-link.js +66 -0
  40. package/components/pds-link.js.map +1 -0
  41. package/components/pds-progress.d.ts +11 -0
  42. package/components/pds-progress.js +48 -0
  43. package/components/pds-progress.js.map +1 -0
  44. package/components/pds-radio.d.ts +11 -0
  45. package/components/pds-radio.js +77 -0
  46. package/components/pds-radio.js.map +1 -0
  47. package/components/pds-sortable-item.d.ts +11 -0
  48. package/components/pds-sortable-item.js +47 -0
  49. package/components/pds-sortable-item.js.map +1 -0
  50. package/components/pds-sortable.d.ts +11 -0
  51. package/components/pds-sortable.js +2724 -0
  52. package/components/pds-sortable.js.map +1 -0
  53. package/components/pds-switch.d.ts +11 -0
  54. package/components/pds-switch.js +81 -0
  55. package/components/pds-switch.js.map +1 -0
  56. package/components/pds-tab.d.ts +11 -0
  57. package/components/pds-tab.js +52 -0
  58. package/components/pds-tab.js.map +1 -0
  59. package/components/pds-tabpanel.d.ts +11 -0
  60. package/components/pds-tabpanel.js +44 -0
  61. package/components/pds-tabpanel.js.map +1 -0
  62. package/components/pds-tabs.d.ts +11 -0
  63. package/components/pds-tabs.js +118 -0
  64. package/components/pds-tabs.js.map +1 -0
  65. package/components/pds-textarea.d.ts +11 -0
  66. package/components/pds-textarea.js +81 -0
  67. package/components/pds-textarea.js.map +1 -0
  68. package/components/pds-tooltip.d.ts +11 -0
  69. package/components/pds-tooltip.js +177 -0
  70. package/components/pds-tooltip.js.map +1 -0
  71. package/dist/cjs/{index-13500e25.js → index-0b3b1872.js} +25 -17
  72. package/dist/cjs/index-0b3b1872.js.map +1 -0
  73. package/dist/cjs/loader.cjs.js +2 -2
  74. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  75. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
  77. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-icon.cjs.entry.js +37 -15
  81. package/dist/cjs/pds-icon.cjs.entry.js.map +1 -1
  82. package/dist/cjs/pds-image.cjs.entry.js +1 -1
  83. package/dist/cjs/pds-input.cjs.entry.js +2 -2
  84. package/dist/cjs/{pds-label-71ea2cad.js → pds-label-43804d0a.js} +2 -2
  85. package/dist/cjs/{pds-label-71ea2cad.js.map → pds-label-43804d0a.js.map} +1 -1
  86. package/dist/cjs/pds-link.cjs.entry.js +5 -2
  87. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  88. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  89. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  92. package/dist/cjs/pds-switch.cjs.entry.js +2 -2
  93. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  94. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  95. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  96. package/dist/cjs/pds-textarea.cjs.entry.js +2 -2
  97. package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
  98. package/dist/cjs/pine-core.cjs.js +3 -3
  99. package/dist/cjs/pine-core.cjs.js.map +1 -1
  100. package/dist/collection/collection-manifest.json +1 -1
  101. package/dist/collection/components/pds-link/pds-link.js +2 -1
  102. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  103. package/dist/docs.d.ts +1 -21
  104. package/dist/docs.json +2 -2
  105. package/dist/esm/{index-a58668b3.js → index-8f65139a.js} +25 -17
  106. package/dist/esm/index-8f65139a.js.map +1 -0
  107. package/dist/esm/loader.js +3 -3
  108. package/dist/esm/pds-avatar.entry.js +1 -1
  109. package/dist/esm/pds-button.entry.js +1 -1
  110. package/dist/esm/pds-checkbox.entry.js +2 -2
  111. package/dist/esm/pds-chip.entry.js +1 -1
  112. package/dist/esm/pds-copytext.entry.js +1 -1
  113. package/dist/esm/pds-divider.entry.js +1 -1
  114. package/dist/esm/pds-icon.entry.js +37 -15
  115. package/dist/esm/pds-icon.entry.js.map +1 -1
  116. package/dist/esm/pds-image.entry.js +1 -1
  117. package/dist/esm/pds-input.entry.js +2 -2
  118. package/dist/esm/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
  119. package/dist/esm/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +1 -1
  120. package/dist/esm/pds-link.entry.js +5 -2
  121. package/dist/esm/pds-link.entry.js.map +1 -1
  122. package/dist/esm/pds-progress.entry.js +1 -1
  123. package/dist/esm/pds-radio.entry.js +2 -2
  124. package/dist/esm/pds-sortable-item.entry.js +1 -1
  125. package/dist/esm/pds-sortable.entry.js +1 -1
  126. package/dist/esm/pds-switch.entry.js +2 -2
  127. package/dist/esm/pds-tab.entry.js +1 -1
  128. package/dist/esm/pds-tabpanel.entry.js +1 -1
  129. package/dist/esm/pds-tabs.entry.js +1 -1
  130. package/dist/esm/pds-textarea.entry.js +2 -2
  131. package/dist/esm/pds-tooltip.entry.js +1 -1
  132. package/dist/esm/pine-core.js +4 -4
  133. package/dist/esm/pine-core.js.map +1 -1
  134. package/dist/esm-es5/index-8f65139a.js +3 -0
  135. package/dist/esm-es5/index-8f65139a.js.map +1 -0
  136. package/dist/esm-es5/loader.js +1 -1
  137. package/dist/esm-es5/loader.js.map +1 -1
  138. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  139. package/dist/esm-es5/pds-button.entry.js +1 -1
  140. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  141. package/dist/esm-es5/pds-chip.entry.js +1 -1
  142. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  143. package/dist/esm-es5/pds-divider.entry.js +1 -1
  144. package/dist/esm-es5/pds-icon.entry.js +1 -1
  145. package/dist/esm-es5/pds-icon.entry.js.map +1 -1
  146. package/dist/esm-es5/pds-image.entry.js +1 -1
  147. package/dist/esm-es5/pds-input.entry.js +1 -1
  148. package/dist/esm-es5/{pds-label-a26dd876.js → pds-label-85f84612.js} +2 -2
  149. package/dist/esm-es5/pds-link.entry.js +1 -1
  150. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  151. package/dist/esm-es5/pds-progress.entry.js +1 -1
  152. package/dist/esm-es5/pds-radio.entry.js +1 -1
  153. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  154. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  155. package/dist/esm-es5/pds-switch.entry.js +1 -1
  156. package/dist/esm-es5/pds-tab.entry.js +1 -1
  157. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  158. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  159. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  160. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  161. package/dist/esm-es5/pine-core.js +1 -1
  162. package/dist/esm-es5/pine-core.js.map +1 -1
  163. package/dist/pine-core/p-0532f829.entry.js +2 -0
  164. package/dist/pine-core/p-0532f829.entry.js.map +1 -0
  165. package/dist/pine-core/{p-f2c3035d.system.entry.js → p-09573d54.system.entry.js} +2 -2
  166. package/dist/pine-core/{p-f09892d3.system.entry.js → p-150e12a5.system.entry.js} +2 -2
  167. package/dist/pine-core/{p-c8a41b43.system.entry.js → p-1a307cc4.system.entry.js} +2 -2
  168. package/dist/pine-core/{p-4fc42ff3.system.entry.js → p-1cb9fddf.system.entry.js} +2 -2
  169. package/dist/pine-core/{p-79d7e0b1.system.entry.js → p-237709cc.system.entry.js} +2 -2
  170. package/dist/pine-core/{p-8f62c812.entry.js → p-23b8d1bb.entry.js} +2 -2
  171. package/dist/pine-core/{p-22dd8116.entry.js → p-2847bd57.entry.js} +2 -2
  172. package/dist/pine-core/{p-f3af6d74.system.entry.js → p-34b29411.system.entry.js} +2 -2
  173. package/dist/pine-core/p-3d2843f8.system.js +2 -0
  174. package/dist/pine-core/{p-c4dbae0e.system.js.map → p-3d2843f8.system.js.map} +1 -1
  175. package/dist/pine-core/{p-73262287.system.entry.js → p-403d43d5.system.entry.js} +2 -2
  176. package/dist/pine-core/{p-669d948a.system.entry.js → p-4472b337.system.entry.js} +2 -2
  177. package/dist/pine-core/{p-f168654a.entry.js → p-465b7120.entry.js} +2 -2
  178. package/dist/pine-core/{p-401cd4bc.entry.js → p-5787d0c0.entry.js} +2 -2
  179. package/dist/pine-core/{p-7bc01826.entry.js → p-59334e35.entry.js} +2 -2
  180. package/dist/pine-core/{p-85f6a94e.system.entry.js → p-5d7bad14.system.entry.js} +2 -2
  181. package/dist/pine-core/{p-331cbf1d.entry.js → p-60930784.entry.js} +2 -2
  182. package/dist/pine-core/{p-bce2d5b5.system.entry.js → p-654295e2.system.entry.js} +2 -2
  183. package/dist/pine-core/{p-c0f9dbe1.system.entry.js → p-66f8fbb0.system.entry.js} +2 -2
  184. package/dist/pine-core/{p-0c26a00d.entry.js → p-6c295ed8.entry.js} +2 -2
  185. package/dist/pine-core/{p-0a776a7b.entry.js → p-6dd5d826.entry.js} +2 -2
  186. package/dist/pine-core/p-6f044e28.entry.js +2 -0
  187. package/dist/pine-core/{p-643f5378.entry.js.map → p-6f044e28.entry.js.map} +1 -1
  188. package/dist/pine-core/{p-5b37a4a2.system.entry.js → p-708a557d.system.entry.js} +2 -2
  189. package/dist/pine-core/{p-fba29e90.entry.js → p-7f16e44f.entry.js} +2 -2
  190. package/dist/pine-core/{p-22bd3102.system.entry.js → p-83040cfc.system.entry.js} +2 -2
  191. package/dist/pine-core/{p-bff583bd.system.js → p-9138d494.system.js} +2 -2
  192. package/dist/pine-core/{p-1c0ffcab.entry.js → p-978cad20.entry.js} +2 -2
  193. package/dist/pine-core/p-9830c8b4.system.js +3 -0
  194. package/dist/pine-core/p-9830c8b4.system.js.map +1 -0
  195. package/dist/pine-core/{p-4a804680.entry.js → p-9a184d74.entry.js} +2 -2
  196. package/dist/pine-core/{p-b17b818b.entry.js → p-aa9f027c.entry.js} +2 -2
  197. package/dist/pine-core/p-b199ca99.entry.js +2 -0
  198. package/dist/pine-core/p-b199ca99.entry.js.map +1 -0
  199. package/dist/pine-core/p-b8421db5.system.entry.js +2 -0
  200. package/dist/pine-core/p-b8421db5.system.entry.js.map +1 -0
  201. package/dist/pine-core/{p-d3e173ea.system.entry.js → p-bf6b565e.system.entry.js} +2 -2
  202. package/dist/pine-core/{p-938886d8.system.entry.js → p-c014702b.system.entry.js} +2 -2
  203. package/dist/pine-core/p-c209ff58.system.entry.js +2 -0
  204. package/dist/pine-core/p-c209ff58.system.entry.js.map +1 -0
  205. package/dist/pine-core/p-c81c20b7.js +3 -0
  206. package/dist/pine-core/p-c81c20b7.js.map +1 -0
  207. package/dist/pine-core/{p-27fd7f08.system.entry.js → p-d0446af7.system.entry.js} +2 -2
  208. package/dist/pine-core/{p-7fcd5f0b.entry.js → p-d1c7a84d.entry.js} +2 -2
  209. package/dist/pine-core/{p-930ab8a3.system.entry.js → p-d6e0c333.system.entry.js} +2 -2
  210. package/dist/pine-core/{p-97cb4285.entry.js → p-d8a277e5.entry.js} +2 -2
  211. package/dist/pine-core/{p-ac31a7c8.system.entry.js → p-da802c91.system.entry.js} +2 -2
  212. package/dist/pine-core/{p-24077dcd.entry.js → p-db6ea8de.entry.js} +2 -2
  213. package/dist/pine-core/{p-f1d7f16f.js → p-e893b132.js} +2 -2
  214. package/dist/pine-core/{p-0adb4b48.entry.js → p-f30549db.entry.js} +2 -2
  215. package/dist/pine-core/{p-af75cc15.entry.js → p-f3ee8a5e.entry.js} +2 -2
  216. package/dist/pine-core/pine-core.esm.js +1 -1
  217. package/dist/pine-core/pine-core.esm.js.map +1 -1
  218. package/dist/pine-core/pine-core.js +1 -1
  219. package/dist/pine-core/svg/blog-filled.svg +1 -1
  220. package/package.json +3 -2
  221. package/dist/cjs/index-13500e25.js.map +0 -1
  222. package/dist/esm/index-a58668b3.js.map +0 -1
  223. package/dist/esm-es5/index-a58668b3.js +0 -3
  224. package/dist/esm-es5/index-a58668b3.js.map +0 -1
  225. package/dist/pine-core/p-23fb6af2.system.entry.js +0 -2
  226. package/dist/pine-core/p-23fb6af2.system.entry.js.map +0 -1
  227. package/dist/pine-core/p-3386bfe1.system.entry.js +0 -2
  228. package/dist/pine-core/p-3386bfe1.system.entry.js.map +0 -1
  229. package/dist/pine-core/p-643f5378.entry.js +0 -2
  230. package/dist/pine-core/p-abdca153.js +0 -3
  231. package/dist/pine-core/p-abdca153.js.map +0 -1
  232. package/dist/pine-core/p-b79a8b07.entry.js +0 -2
  233. package/dist/pine-core/p-b79a8b07.entry.js.map +0 -1
  234. package/dist/pine-core/p-c4dbae0e.system.js +0 -2
  235. package/dist/pine-core/p-c6d878f8.entry.js +0 -2
  236. package/dist/pine-core/p-c6d878f8.entry.js.map +0 -1
  237. package/dist/pine-core/p-fa5d4e73.system.js +0 -3
  238. package/dist/pine-core/p-fa5d4e73.system.js.map +0 -1
  239. /package/dist/esm-es5/{pds-label-a26dd876.js.map → pds-label-85f84612.js.map} +0 -0
  240. /package/dist/pine-core/{p-f2c3035d.system.entry.js.map → p-09573d54.system.entry.js.map} +0 -0
  241. /package/dist/pine-core/{p-f09892d3.system.entry.js.map → p-150e12a5.system.entry.js.map} +0 -0
  242. /package/dist/pine-core/{p-c8a41b43.system.entry.js.map → p-1a307cc4.system.entry.js.map} +0 -0
  243. /package/dist/pine-core/{p-4fc42ff3.system.entry.js.map → p-1cb9fddf.system.entry.js.map} +0 -0
  244. /package/dist/pine-core/{p-79d7e0b1.system.entry.js.map → p-237709cc.system.entry.js.map} +0 -0
  245. /package/dist/pine-core/{p-8f62c812.entry.js.map → p-23b8d1bb.entry.js.map} +0 -0
  246. /package/dist/pine-core/{p-22dd8116.entry.js.map → p-2847bd57.entry.js.map} +0 -0
  247. /package/dist/pine-core/{p-f3af6d74.system.entry.js.map → p-34b29411.system.entry.js.map} +0 -0
  248. /package/dist/pine-core/{p-73262287.system.entry.js.map → p-403d43d5.system.entry.js.map} +0 -0
  249. /package/dist/pine-core/{p-669d948a.system.entry.js.map → p-4472b337.system.entry.js.map} +0 -0
  250. /package/dist/pine-core/{p-f168654a.entry.js.map → p-465b7120.entry.js.map} +0 -0
  251. /package/dist/pine-core/{p-401cd4bc.entry.js.map → p-5787d0c0.entry.js.map} +0 -0
  252. /package/dist/pine-core/{p-7bc01826.entry.js.map → p-59334e35.entry.js.map} +0 -0
  253. /package/dist/pine-core/{p-85f6a94e.system.entry.js.map → p-5d7bad14.system.entry.js.map} +0 -0
  254. /package/dist/pine-core/{p-331cbf1d.entry.js.map → p-60930784.entry.js.map} +0 -0
  255. /package/dist/pine-core/{p-bce2d5b5.system.entry.js.map → p-654295e2.system.entry.js.map} +0 -0
  256. /package/dist/pine-core/{p-c0f9dbe1.system.entry.js.map → p-66f8fbb0.system.entry.js.map} +0 -0
  257. /package/dist/pine-core/{p-0c26a00d.entry.js.map → p-6c295ed8.entry.js.map} +0 -0
  258. /package/dist/pine-core/{p-0a776a7b.entry.js.map → p-6dd5d826.entry.js.map} +0 -0
  259. /package/dist/pine-core/{p-5b37a4a2.system.entry.js.map → p-708a557d.system.entry.js.map} +0 -0
  260. /package/dist/pine-core/{p-fba29e90.entry.js.map → p-7f16e44f.entry.js.map} +0 -0
  261. /package/dist/pine-core/{p-22bd3102.system.entry.js.map → p-83040cfc.system.entry.js.map} +0 -0
  262. /package/dist/pine-core/{p-bff583bd.system.js.map → p-9138d494.system.js.map} +0 -0
  263. /package/dist/pine-core/{p-1c0ffcab.entry.js.map → p-978cad20.entry.js.map} +0 -0
  264. /package/dist/pine-core/{p-4a804680.entry.js.map → p-9a184d74.entry.js.map} +0 -0
  265. /package/dist/pine-core/{p-b17b818b.entry.js.map → p-aa9f027c.entry.js.map} +0 -0
  266. /package/dist/pine-core/{p-d3e173ea.system.entry.js.map → p-bf6b565e.system.entry.js.map} +0 -0
  267. /package/dist/pine-core/{p-938886d8.system.entry.js.map → p-c014702b.system.entry.js.map} +0 -0
  268. /package/dist/pine-core/{p-27fd7f08.system.entry.js.map → p-d0446af7.system.entry.js.map} +0 -0
  269. /package/dist/pine-core/{p-7fcd5f0b.entry.js.map → p-d1c7a84d.entry.js.map} +0 -0
  270. /package/dist/pine-core/{p-930ab8a3.system.entry.js.map → p-d6e0c333.system.entry.js.map} +0 -0
  271. /package/dist/pine-core/{p-97cb4285.entry.js.map → p-d8a277e5.entry.js.map} +0 -0
  272. /package/dist/pine-core/{p-ac31a7c8.system.entry.js.map → p-da802c91.system.entry.js.map} +0 -0
  273. /package/dist/pine-core/{p-24077dcd.entry.js.map → p-db6ea8de.entry.js.map} +0 -0
  274. /package/dist/pine-core/{p-f1d7f16f.js.map → p-e893b132.js.map} +0 -0
  275. /package/dist/pine-core/{p-0adb4b48.entry.js.map → p-f30549db.entry.js.map} +0 -0
  276. /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,8 @@
1
+ import { P as PdsIcon$1, d as defineCustomElement$1 } from './pds-icon2.js';
2
+
3
+ const PdsIcon = PdsIcon$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PdsIcon, defineCustomElement };
7
+
8
+ //# sourceMappingURL=pds-icon.js.map
@@ -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