@redvars/peacock 3.1.1 → 3.1.3

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 (411) hide show
  1. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/LoaderUtils.d.ts +0 -1
  2. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/LoaderUtils.js +0 -1
  3. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/LoaderUtils.js.map +1 -1
  4. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.css.js.map +1 -1
  5. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.d.ts +20 -1
  6. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.js +20 -1
  7. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.js.map +1 -1
  8. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.d.ts +0 -7
  9. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.js +0 -7
  10. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.js.map +1 -1
  11. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.css.js +5 -4
  12. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.css.js.map +1 -1
  13. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.d.ts +16 -2
  14. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.js +28 -11
  15. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.js.map +1 -1
  16. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.d.ts +0 -5
  17. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.js +0 -5
  18. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.js.map +1 -1
  19. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/button.d.ts +99 -0
  20. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/button.js +292 -0
  21. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/button.js.map +1 -0
  22. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/index.d.ts +1 -0
  23. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/index.js +2 -0
  24. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/button/index.js.map +1 -0
  25. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/ClockController.d.ts +10 -0
  26. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/ClockController.js +22 -0
  27. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/ClockController.js.map +1 -0
  28. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.d.ts +1 -0
  29. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.js +12 -0
  30. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.js.map +1 -0
  31. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.d.ts +25 -0
  32. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.js +41 -0
  33. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.js.map +1 -0
  34. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.d.ts +1 -0
  35. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.js +2 -0
  36. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.js.map +1 -0
  37. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/code-highlighter.d.ts +26 -0
  38. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/code-highlighter.js +60 -0
  39. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/code-highlighter.js.map +1 -0
  40. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/index.d.ts +1 -0
  41. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/index.js +2 -0
  42. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/index.js.map +1 -0
  43. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/local.d.ts +6 -0
  44. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/local.js +7 -0
  45. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/code-highlighter/local.js.map +1 -0
  46. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.d.ts +1 -0
  47. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.js +58 -0
  48. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.js.map +1 -0
  49. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.d.ts +27 -0
  50. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.js +61 -0
  51. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.js.map +1 -0
  52. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.d.ts +1 -0
  53. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.js +2 -0
  54. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.js.map +1 -0
  55. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.css.d.ts +1 -0
  56. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.css.js +47 -0
  57. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.css.js.map +1 -0
  58. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.d.ts +27 -0
  59. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.js +31 -0
  60. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/elevation.js.map +1 -0
  61. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/index.d.ts +1 -0
  62. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/index.js +2 -0
  63. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/elevation/index.js.map +1 -0
  64. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/FocusAttachableController.d.ts +9 -0
  65. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/FocusAttachableController.js +25 -0
  66. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/FocusAttachableController.js.map +1 -0
  67. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/focus-ring.d.ts +35 -0
  68. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/focus-ring.js +81 -0
  69. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/focus-ring.js.map +1 -0
  70. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/index.d.ts +1 -0
  71. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/index.js +2 -0
  72. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/focus-ring/index.js.map +1 -0
  73. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.d.ts +23 -2
  74. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.js +20 -4
  75. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.js.map +1 -1
  76. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.d.ts +0 -7
  77. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.js +0 -7
  78. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.js.map +1 -1
  79. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.d.ts +6 -0
  80. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.js +6 -0
  81. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.js.map +1 -1
  82. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/peacock-loader.js +35 -19
  83. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/peacock-loader.js.map +1 -1
  84. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/index.d.ts +1 -0
  85. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/index.js +2 -0
  86. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/index.js.map +1 -0
  87. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/ripple.d.ts +9 -0
  88. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/ripple.js +125 -0
  89. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/ripple/ripple.js.map +1 -0
  90. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.d.ts +5 -0
  91. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.js +54 -1
  92. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.js.map +1 -1
  93. package/.rollup.cache/E/git/redvars/peacock/components/dist/tsconfig.tsbuildinfo +1 -1
  94. package/bin/typedoc-gen.mjs +63 -0
  95. package/custom-elements-manifest.config.mjs +5 -6
  96. package/demo/index.html +45 -42
  97. package/dist/LoaderUtils.d.ts +23 -0
  98. package/dist/LoaderUtils.d.ts.map +1 -0
  99. package/dist/assets/styles/tokens.css +21 -53
  100. package/dist/avatar/avatar.d.ts +28 -0
  101. package/dist/avatar/avatar.d.ts.map +1 -0
  102. package/dist/avatar/index.d.ts +2 -0
  103. package/dist/avatar/index.d.ts.map +1 -0
  104. package/dist/avatar/p-avatar.d.ts +4 -0
  105. package/dist/avatar/p-avatar.d.ts.map +1 -0
  106. package/dist/avatar.js +100 -0
  107. package/dist/avatar.js.map +1 -0
  108. package/dist/badge/badge.d.ts +24 -0
  109. package/dist/badge/badge.d.ts.map +1 -0
  110. package/dist/badge/index.d.ts +2 -0
  111. package/dist/badge/index.d.ts.map +1 -0
  112. package/dist/badge/p-badge.d.ts +4 -0
  113. package/dist/badge/p-badge.d.ts.map +1 -0
  114. package/dist/badge.js +90 -0
  115. package/dist/badge.js.map +1 -0
  116. package/dist/button/button.d.ts +103 -0
  117. package/dist/button/button.d.ts.map +1 -0
  118. package/dist/button/index.d.ts +2 -0
  119. package/dist/button/index.d.ts.map +1 -0
  120. package/dist/button.js +710 -0
  121. package/dist/button.js.map +1 -0
  122. package/dist/class-map-BzIzngvN.js +89 -0
  123. package/dist/class-map-BzIzngvN.js.map +1 -0
  124. package/dist/class-map-CBk4-iMN.js +11 -0
  125. package/dist/class-map-CBk4-iMN.js.map +1 -0
  126. package/dist/class-map-Cavm-B1S.js +11 -0
  127. package/dist/class-map-Cavm-B1S.js.map +1 -0
  128. package/dist/class-map-DL5vM0J2.js +11 -0
  129. package/dist/class-map-DL5vM0J2.js.map +1 -0
  130. package/dist/class-map-DpvLRi0h.js +11 -0
  131. package/dist/class-map-DpvLRi0h.js.map +1 -0
  132. package/dist/class-map-IbP5VjmB.js +11 -0
  133. package/dist/class-map-IbP5VjmB.js.map +1 -0
  134. package/dist/clock/ClockController.d.ts +11 -0
  135. package/dist/clock/ClockController.d.ts.map +1 -0
  136. package/dist/clock/clock.d.ts +26 -0
  137. package/dist/clock/clock.d.ts.map +1 -0
  138. package/dist/clock/index.d.ts +2 -0
  139. package/dist/clock/index.d.ts.map +1 -0
  140. package/dist/clock.js +77 -0
  141. package/dist/clock.js.map +1 -0
  142. package/dist/code-highlighter/code-highlighter.d.ts +27 -0
  143. package/dist/code-highlighter/code-highlighter.d.ts.map +1 -0
  144. package/dist/code-highlighter/index.d.ts +2 -0
  145. package/dist/code-highlighter/index.d.ts.map +1 -0
  146. package/dist/code-highlighter/local.d.ts +7 -0
  147. package/dist/code-highlighter/local.d.ts.map +1 -0
  148. package/dist/code-highlighter.js +66 -0
  149. package/dist/code-highlighter.js.map +1 -0
  150. package/dist/custom-elements-jsdocs.json +1211 -0
  151. package/dist/directive-BKuZRRPO.js +9 -0
  152. package/dist/directive-BKuZRRPO.js.map +1 -0
  153. package/dist/directive-CkFJvUQK.js +45 -0
  154. package/dist/directive-CkFJvUQK.js.map +1 -0
  155. package/dist/divider/divider.d.ts +28 -0
  156. package/dist/divider/divider.d.ts.map +1 -0
  157. package/dist/divider/index.d.ts +2 -0
  158. package/dist/divider/index.d.ts.map +1 -0
  159. package/dist/divider.js +117 -0
  160. package/dist/divider.js.map +1 -0
  161. package/dist/elevation/elevation.d.ts +28 -0
  162. package/dist/elevation/elevation.d.ts.map +1 -0
  163. package/dist/elevation/index.d.ts +2 -0
  164. package/dist/elevation/index.d.ts.map +1 -0
  165. package/dist/elevation-Bl1N6qEq.js +100 -0
  166. package/dist/elevation-Bl1N6qEq.js.map +1 -0
  167. package/dist/elevation-CbF5he8B.js +103 -0
  168. package/dist/elevation-CbF5he8B.js.map +1 -0
  169. package/dist/elevation-D3F6Z1jU.js +100 -0
  170. package/dist/elevation-D3F6Z1jU.js.map +1 -0
  171. package/dist/elevation.js +77 -0
  172. package/dist/elevation.js.map +1 -0
  173. package/dist/focus-ring/FocusAttachableController.d.ts +10 -0
  174. package/dist/focus-ring/FocusAttachableController.d.ts.map +1 -0
  175. package/dist/focus-ring/focus-ring.d.ts +36 -0
  176. package/dist/focus-ring/focus-ring.d.ts.map +1 -0
  177. package/dist/focus-ring/index.d.ts +2 -0
  178. package/dist/focus-ring/index.d.ts.map +1 -0
  179. package/dist/focus-ring.js +105 -0
  180. package/dist/focus-ring.js.map +1 -0
  181. package/dist/icon/datasource.d.ts +3 -0
  182. package/dist/icon/datasource.d.ts.map +1 -0
  183. package/dist/icon/icon.d.ts +42 -0
  184. package/dist/icon/icon.d.ts.map +1 -0
  185. package/dist/icon/index.d.ts +2 -0
  186. package/dist/icon/index.d.ts.map +1 -0
  187. package/dist/icon/p-icon.d.ts +4 -0
  188. package/dist/icon/p-icon.d.ts.map +1 -0
  189. package/dist/{component/icon.js → icon.js} +43 -124
  190. package/dist/icon.js.map +1 -0
  191. package/dist/index.d.ts +9 -0
  192. package/dist/index.d.ts.map +1 -0
  193. package/dist/index.js +15 -67
  194. package/dist/index.js.map +1 -1
  195. package/dist/link/link.css.d.ts +3 -0
  196. package/dist/link/link.css.d.ts.map +1 -0
  197. package/dist/lit-element-B7NX__Gq.js +2851 -0
  198. package/dist/lit-element-B7NX__Gq.js.map +1 -0
  199. package/dist/lit-element-Bq5B2QNv.js +28 -0
  200. package/dist/lit-element-Bq5B2QNv.js.map +1 -0
  201. package/dist/lit-element-CkD27PXL.js +28 -0
  202. package/dist/lit-element-CkD27PXL.js.map +1 -0
  203. package/dist/lit-element-DHH1_Q-3.js +28 -0
  204. package/dist/lit-element-DHH1_Q-3.js.map +1 -0
  205. package/dist/peacock-loader.d.ts +2 -0
  206. package/dist/peacock-loader.d.ts.map +1 -0
  207. package/dist/peacock-loader.js +479 -121
  208. package/dist/peacock-loader.js.map +1 -1
  209. package/dist/property-BXcRN0hQ.js +39 -0
  210. package/dist/property-BXcRN0hQ.js.map +1 -0
  211. package/dist/property-CR1ZrEd9.js +45 -0
  212. package/dist/property-CR1ZrEd9.js.map +1 -0
  213. package/dist/property-CqSbFxyM.js +45 -0
  214. package/dist/property-CqSbFxyM.js.map +1 -0
  215. package/dist/{directive-CKEA2P55.js → property-D4Kn9TsY.js} +6 -13
  216. package/dist/property-D4Kn9TsY.js.map +1 -0
  217. package/dist/property-DNaigT7h.js +39 -0
  218. package/dist/property-DNaigT7h.js.map +1 -0
  219. package/dist/property-yt9tIYgR.js +39 -0
  220. package/dist/property-yt9tIYgR.js.map +1 -0
  221. package/dist/query-CV342L_h.js +189 -0
  222. package/dist/query-CV342L_h.js.map +1 -0
  223. package/dist/ripple-Blc5Rqhb.js +102 -0
  224. package/dist/ripple-Blc5Rqhb.js.map +1 -0
  225. package/dist/ripple-BqTcEQAP.js +102 -0
  226. package/dist/ripple-BqTcEQAP.js.map +1 -0
  227. package/dist/ripple-BqUjb18i.js +105 -0
  228. package/dist/ripple-BqUjb18i.js.map +1 -0
  229. package/dist/ripple-Buzs-MON.js +106 -0
  230. package/dist/ripple-Buzs-MON.js.map +1 -0
  231. package/dist/ripple-Bz5B_LoE.js +102 -0
  232. package/dist/ripple-Bz5B_LoE.js.map +1 -0
  233. package/dist/ripple-CAq7Ix6x.js +106 -0
  234. package/dist/ripple-CAq7Ix6x.js.map +1 -0
  235. package/dist/ripple-CDqSm_Vy.js +106 -0
  236. package/dist/ripple-CDqSm_Vy.js.map +1 -0
  237. package/dist/ripple-CJtPH28B.js +102 -0
  238. package/dist/ripple-CJtPH28B.js.map +1 -0
  239. package/dist/ripple-CKTd8obC.js +92 -0
  240. package/dist/ripple-CKTd8obC.js.map +1 -0
  241. package/dist/ripple-CKnDWTVQ.js +107 -0
  242. package/dist/ripple-CKnDWTVQ.js.map +1 -0
  243. package/dist/ripple-CeR8eLuc.js +93 -0
  244. package/dist/ripple-CeR8eLuc.js.map +1 -0
  245. package/dist/ripple-Czp3eR6w.js +127 -0
  246. package/dist/ripple-Czp3eR6w.js.map +1 -0
  247. package/dist/ripple-DIab1MaY.js +106 -0
  248. package/dist/ripple-DIab1MaY.js.map +1 -0
  249. package/dist/ripple-DUFMimxZ.js +120 -0
  250. package/dist/ripple-DUFMimxZ.js.map +1 -0
  251. package/dist/ripple-DVmDdoNV.js +102 -0
  252. package/dist/ripple-DVmDdoNV.js.map +1 -0
  253. package/dist/ripple-DYnhXK5d.js +118 -0
  254. package/dist/ripple-DYnhXK5d.js.map +1 -0
  255. package/dist/ripple-DnudV47f.js +102 -0
  256. package/dist/ripple-DnudV47f.js.map +1 -0
  257. package/dist/ripple-DsC-h31M.js +119 -0
  258. package/dist/ripple-DsC-h31M.js.map +1 -0
  259. package/dist/ripple-DvM0SPd9.js +128 -0
  260. package/dist/ripple-DvM0SPd9.js.map +1 -0
  261. package/dist/ripple-NWIiDgX2.js +128 -0
  262. package/dist/ripple-NWIiDgX2.js.map +1 -0
  263. package/dist/ripple-X3U_R8lT.js +106 -0
  264. package/dist/ripple-X3U_R8lT.js.map +1 -0
  265. package/dist/ripple.js +128 -0
  266. package/dist/ripple.js.map +1 -0
  267. package/dist/src/LoaderUtils.d.ts +0 -1
  268. package/dist/src/avatar/avatar.d.ts +20 -1
  269. package/dist/src/avatar/p-avatar.d.ts +0 -7
  270. package/dist/src/badge/badge.d.ts +16 -2
  271. package/dist/src/badge/p-badge.d.ts +0 -5
  272. package/dist/src/button/button.d.ts +99 -0
  273. package/dist/src/button/index.d.ts +1 -0
  274. package/dist/src/clock/ClockController.d.ts +10 -0
  275. package/dist/src/clock/clock.css.d.ts +1 -0
  276. package/dist/src/clock/clock.d.ts +25 -0
  277. package/dist/src/clock/index.d.ts +1 -0
  278. package/dist/src/code-highlighter/code-highlighter.d.ts +26 -0
  279. package/dist/src/code-highlighter/index.d.ts +1 -0
  280. package/dist/src/code-highlighter/local.d.ts +6 -0
  281. package/dist/src/divider/divider.css.d.ts +1 -0
  282. package/dist/src/divider/divider.d.ts +27 -0
  283. package/dist/src/divider/index.d.ts +1 -0
  284. package/dist/src/elevation/elevation.css.d.ts +1 -0
  285. package/dist/src/elevation/elevation.d.ts +27 -0
  286. package/dist/src/elevation/index.d.ts +1 -0
  287. package/dist/src/focus-ring/FocusAttachableController.d.ts +9 -0
  288. package/dist/src/focus-ring/focus-ring.d.ts +35 -0
  289. package/dist/src/focus-ring/index.d.ts +1 -0
  290. package/dist/src/icon/icon.d.ts +23 -2
  291. package/dist/src/icon/p-icon.d.ts +0 -7
  292. package/dist/src/index.d.ts +6 -0
  293. package/dist/src/ripple/index.d.ts +1 -0
  294. package/dist/src/ripple/ripple.d.ts +9 -0
  295. package/dist/src/utils.d.ts +5 -0
  296. package/dist/state-BXOdKkbT.js +10 -0
  297. package/dist/state-BXOdKkbT.js.map +1 -0
  298. package/dist/state-BfUul2Gq.js +10 -0
  299. package/dist/state-BfUul2Gq.js.map +1 -0
  300. package/dist/state-CNX6DhqO.js +10 -0
  301. package/dist/state-CNX6DhqO.js.map +1 -0
  302. package/dist/state-Cl3mjeR1.js +10 -0
  303. package/dist/state-Cl3mjeR1.js.map +1 -0
  304. package/dist/state-CxzmLNIi.js +10 -0
  305. package/dist/state-CxzmLNIi.js.map +1 -0
  306. package/dist/state-WDFgnqnd.js +36 -0
  307. package/dist/state-WDFgnqnd.js.map +1 -0
  308. package/dist/style-inject.es--nCJ9F_D.js +55 -0
  309. package/dist/style-inject.es--nCJ9F_D.js.map +1 -0
  310. package/dist/style-inject.es-tgCJW-Cu.js +29 -0
  311. package/dist/style-inject.es-tgCJW-Cu.js.map +1 -0
  312. package/dist/styleMixins.css-0Uq-6ouM.js +14 -0
  313. package/dist/styleMixins.css-0Uq-6ouM.js.map +1 -0
  314. package/dist/styleMixins.css-B8H9wDNA.js +17 -0
  315. package/dist/styleMixins.css-B8H9wDNA.js.map +1 -0
  316. package/dist/styleMixins.css-CivfMYtB.js +17 -0
  317. package/dist/styleMixins.css-CivfMYtB.js.map +1 -0
  318. package/dist/styleMixins.css-DrUsqddl.js +17 -0
  319. package/dist/styleMixins.css-DrUsqddl.js.map +1 -0
  320. package/dist/styleMixins.css-fokZCyF-.js +17 -0
  321. package/dist/styleMixins.css-fokZCyF-.js.map +1 -0
  322. package/dist/styleMixins.css.d.ts +10 -0
  323. package/dist/styleMixins.css.d.ts.map +1 -0
  324. package/dist/text/text.css.d.ts +3 -0
  325. package/dist/text/text.css.d.ts.map +1 -0
  326. package/dist/tsconfig.tsbuildinfo +1 -1
  327. package/dist/typedoc.json +340489 -0
  328. package/dist/utils-BVap5huR.js +157 -0
  329. package/dist/utils-BVap5huR.js.map +1 -0
  330. package/dist/utils-CY3RyfcA.js +157 -0
  331. package/dist/utils-CY3RyfcA.js.map +1 -0
  332. package/dist/utils-CdOdn2dW.js +149 -0
  333. package/dist/utils-CdOdn2dW.js.map +1 -0
  334. package/dist/utils-DD_cg6Ms.js +157 -0
  335. package/dist/utils-DD_cg6Ms.js.map +1 -0
  336. package/dist/utils-_5no4mk7.js +128 -0
  337. package/dist/utils-_5no4mk7.js.map +1 -0
  338. package/dist/utils.d.ts +8 -0
  339. package/dist/utils.d.ts.map +1 -0
  340. package/package.json +11 -9
  341. package/readme.md +5 -17
  342. package/rollup.config.js +79 -37
  343. package/scratch.mjs +0 -0
  344. package/scss/mixin.scss +50 -0
  345. package/src/LoaderUtils.ts +122 -122
  346. package/src/avatar/avatar.scss +38 -0
  347. package/src/avatar/avatar.ts +20 -1
  348. package/src/avatar/p-avatar.ts +0 -7
  349. package/src/badge/badge.scss +31 -0
  350. package/src/badge/badge.ts +31 -9
  351. package/src/badge/demo/index.html +9 -1
  352. package/src/badge/p-badge.ts +0 -5
  353. package/src/button/_button-sizes.scss +59 -0
  354. package/src/button/button.scss +430 -0
  355. package/src/button/button.ts +304 -0
  356. package/src/button/demo/index.html +42 -0
  357. package/src/button/index.ts +1 -0
  358. package/src/clock/ClockController.ts +32 -0
  359. package/src/clock/clock.scss +9 -0
  360. package/src/clock/clock.ts +39 -0
  361. package/{demo/int.html → src/clock/demo/index.html} +7 -10
  362. package/src/clock/index.ts +1 -0
  363. package/src/code-highlighter/code-highlighter.scss +0 -0
  364. package/src/code-highlighter/code-highlighter.ts +58 -0
  365. package/src/code-highlighter/demo/index.html +58 -0
  366. package/src/code-highlighter/index.ts +1 -0
  367. package/src/code-highlighter/local.ts +11 -0
  368. package/src/divider/demo/index.html +58 -0
  369. package/src/divider/divider.scss +56 -0
  370. package/src/divider/divider.ts +59 -0
  371. package/src/divider/index.ts +1 -0
  372. package/src/elevation/demo/index.html +58 -0
  373. package/src/elevation/elevation.scss +61 -0
  374. package/src/elevation/elevation.ts +32 -0
  375. package/src/elevation/index.ts +1 -0
  376. package/src/focus-ring/FocusAttachableController.ts +36 -0
  377. package/src/focus-ring/demo/index.html +58 -0
  378. package/src/focus-ring/focus-ring.scss +22 -0
  379. package/src/focus-ring/focus-ring.ts +83 -0
  380. package/src/focus-ring/index.ts +1 -0
  381. package/src/icon/icon.scss +19 -0
  382. package/src/icon/icon.ts +131 -111
  383. package/src/icon/p-icon.ts +0 -7
  384. package/src/index.ts +9 -3
  385. package/src/link/demo/index.html +34 -0
  386. package/src/link/link.scss +24 -0
  387. package/src/peacock-loader.ts +69 -55
  388. package/src/ripple/index.ts +1 -0
  389. package/src/ripple/ripple.ts +134 -0
  390. package/src/styles.d.ts +3 -1
  391. package/src/text/text.scss +48 -0
  392. package/src/utils.ts +72 -1
  393. package/tsconfig.json +23 -22
  394. package/assets/tokens.css +0 -522
  395. package/copyDesignFiles.js +0 -11
  396. package/custom-elements.md +0 -192
  397. package/dist/avatar-GQwWRGRw.js +0 -418
  398. package/dist/avatar-GQwWRGRw.js.map +0 -1
  399. package/dist/avatar-jfcIDB8G.js +0 -424
  400. package/dist/avatar-jfcIDB8G.js.map +0 -1
  401. package/dist/component/avatar.js +0 -92
  402. package/dist/component/avatar.js.map +0 -1
  403. package/dist/component/icon.js.map +0 -1
  404. package/dist/directive-CKEA2P55.js.map +0 -1
  405. package/dist/utils-CSwoJIcG.js +0 -171
  406. package/dist/utils-CSwoJIcG.js.map +0 -1
  407. package/dist/web-types.json +0 -78
  408. package/readme-gen.mjs +0 -24
  409. package/src/avatar/avatar.css.ts +0 -41
  410. package/src/badge/badge.css.ts +0 -33
  411. package/src/icon/icon.css.ts +0 -22
@@ -0,0 +1,58 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+
6
+ --divider-color: var(--color-outline-variant);
7
+ --divider-padding: var(--spacing-200);
8
+ }
9
+
10
+ .divider {
11
+ display: flex;
12
+ margin: 0;
13
+ @include get-typography(body-small-emphasized);
14
+ color: var(--divider-color);
15
+
16
+ &:not(.vertical) {
17
+ width: 100%;
18
+ padding: var(--divider-padding) 0;
19
+ align-items: center;
20
+ justify-content: center;
21
+
22
+ .line {
23
+ width: 100%;
24
+ border-top: 1px solid var(--divider-color);
25
+ }
26
+
27
+ &.slot-has-content .slot-container {
28
+ padding: 0 var(--spacing-200);
29
+ }
30
+ }
31
+
32
+ &.vertical {
33
+ height: 100%;
34
+ padding: 0 var(--divider-padding);
35
+ flex-direction: column;
36
+ align-items: center;
37
+ justify-content: center;
38
+
39
+ .line {
40
+ height: 100%;
41
+ border-right: 1px solid var(--divider-color);
42
+ }
43
+
44
+ &.slot-has-content .slot-container {
45
+ padding: var(--spacing-200) 0;
46
+ }
47
+ }
48
+ }
49
+
50
+ :host(:not([vertical])) {
51
+ width: auto;
52
+ }
53
+
54
+ :host([vertical]) {
55
+ height: auto;
56
+ }
57
+ `;
58
+ //# sourceMappingURL=divider.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider.css.js","sourceRoot":"","sources":["../../../src/divider/divider.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: block;\n\n --divider-color: var(--color-outline-variant);\n --divider-padding: var(--spacing-200);\n }\n\n .divider {\n display: flex;\n margin: 0;\n @include get-typography(body-small-emphasized);\n color: var(--divider-color);\n\n &:not(.vertical) {\n width: 100%;\n padding: var(--divider-padding) 0;\n align-items: center;\n justify-content: center;\n\n .line {\n width: 100%;\n border-top: 1px solid var(--divider-color);\n }\n\n &.slot-has-content .slot-container {\n padding: 0 var(--spacing-200);\n }\n }\n\n &.vertical {\n height: 100%;\n padding: 0 var(--divider-padding);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .line {\n height: 100%;\n border-right: 1px solid var(--divider-color);\n }\n\n &.slot-has-content .slot-container {\n padding: var(--spacing-200) 0;\n }\n }\n }\n\n :host(:not([vertical])) {\n width: auto;\n }\n\n :host([vertical]) {\n height: auto;\n }\n`;\n"]}
@@ -0,0 +1,27 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Divider
4
+ * @tag p-divider
5
+ * @rawTag divider
6
+ *
7
+ * @summary The divider component is used to visually separate content.
8
+ * @overview
9
+ * - Dividers are used to separate content into clear groups, making it easier for users to scan and understand the information presented.
10
+ * - They can be oriented either vertically or horizontally, depending on the layout requirements.
11
+ *
12
+ * @cssprop --divider-color - Controls the color of the divider.
13
+ * @cssprop --divider-padding - Controls the padding of the divider.
14
+ *
15
+ * @example
16
+ * ```html
17
+ * <p-divider style="width: 12rem;">or</p-divider>
18
+ * ```
19
+ * @tags display
20
+ */
21
+ export declare class Divider extends LitElement {
22
+ static styles: import("lit").CSSResultGroup[];
23
+ vertical: boolean;
24
+ slotHasContent: boolean;
25
+ firstUpdated(): void;
26
+ render(): import("lit-html").TemplateResult<1>;
27
+ }
@@ -0,0 +1,61 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, LitElement } from 'lit';
3
+ import { property, state } from 'lit/decorators.js';
4
+ import { classMap } from 'lit/directives/class-map.js';
5
+ import styles from './divider.scss';
6
+ import { observerSlotChangesWithCallback } from '../utils.js';
7
+ /**
8
+ * @label Divider
9
+ * @tag p-divider
10
+ * @rawTag divider
11
+ *
12
+ * @summary The divider component is used to visually separate content.
13
+ * @overview
14
+ * - Dividers are used to separate content into clear groups, making it easier for users to scan and understand the information presented.
15
+ * - They can be oriented either vertically or horizontally, depending on the layout requirements.
16
+ *
17
+ * @cssprop --divider-color - Controls the color of the divider.
18
+ * @cssprop --divider-padding - Controls the padding of the divider.
19
+ *
20
+ * @example
21
+ * ```html
22
+ * <p-divider style="width: 12rem;">or</p-divider>
23
+ * ```
24
+ * @tags display
25
+ */
26
+ export class Divider extends LitElement {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.vertical = false;
30
+ this.slotHasContent = false;
31
+ }
32
+ firstUpdated() {
33
+ observerSlotChangesWithCallback(this.renderRoot.querySelector('slot'), hasContent => {
34
+ this.slotHasContent = hasContent;
35
+ this.requestUpdate();
36
+ });
37
+ }
38
+ render() {
39
+ return html `<div
40
+ class=${classMap({
41
+ divider: true,
42
+ vertical: this.vertical,
43
+ 'slot-has-content': this.slotHasContent,
44
+ })}
45
+ >
46
+ <div class="line"></div>
47
+ <div class="slot-container">
48
+ <slot></slot>
49
+ </div>
50
+ <div class="line"></div>
51
+ </div>`;
52
+ }
53
+ }
54
+ Divider.styles = [styles];
55
+ __decorate([
56
+ property({ type: Boolean, reflect: true })
57
+ ], Divider.prototype, "vertical", void 0);
58
+ __decorate([
59
+ state()
60
+ ], Divider.prototype, "slotHasContent", void 0);
61
+ //# sourceMappingURL=divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider.js","sourceRoot":"","sources":["../../../src/divider/divider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,OAAQ,SAAQ,UAAU;IAAvC;;QAG8C,aAAQ,GAAG,KAAK,CAAC;QAG7D,mBAAc,GAAG,KAAK,CAAC;IA2BzB,CAAC;IAzBC,YAAY;QACV,+BAA+B,CAC7B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,EACrC,UAAU,CAAC,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;cACD,QAAQ,CAAC;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,kBAAkB,EAAE,IAAI,CAAC,cAAc;SACxC,CAAC;;;;;;;WAOG,CAAC;IACV,CAAC;;AA/BM,cAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAEmB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAkB;AAG7D;IADC,KAAK,EAAE;+CACe","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './divider.scss';\nimport { observerSlotChangesWithCallback } from '../utils.js';\n\n/**\n * @label Divider\n * @tag p-divider\n * @rawTag divider\n *\n * @summary The divider component is used to visually separate content.\n * @overview\n * - Dividers are used to separate content into clear groups, making it easier for users to scan and understand the information presented.\n * - They can be oriented either vertically or horizontally, depending on the layout requirements.\n *\n * @cssprop --divider-color - Controls the color of the divider.\n * @cssprop --divider-padding - Controls the padding of the divider.\n *\n * @example\n * ```html\n * <p-divider style=\"width: 12rem;\">or</p-divider>\n * ```\n * @tags display\n */\nexport class Divider extends LitElement {\n static styles = [styles];\n\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n @state()\n slotHasContent = false;\n\n firstUpdated() {\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('slot'),\n hasContent => {\n this.slotHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n render() {\n return html`<div\n class=${classMap({\n divider: true,\n vertical: this.vertical,\n 'slot-has-content': this.slotHasContent,\n })}\n >\n <div class=\"line\"></div>\n <div class=\"slot-container\">\n <slot></slot>\n </div>\n <div class=\"line\"></div>\n </div>`;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { Divider } from './divider.js';
@@ -0,0 +1,2 @@
1
+ export { Divider } from './divider.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/divider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { Divider } from './divider.js';\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,47 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ /**
4
+ * Derived from Material Design Elevation
5
+ * https://github.com/material-components/material-web/blob/main/elevation/internal/_elevation.scss
6
+ */
7
+
8
+ :host,
9
+ .shadow,
10
+ .shadow::before,
11
+ .shadow::after {
12
+ border-radius: inherit;
13
+ inset: 0;
14
+ position: absolute;
15
+ transition-duration: inherit;
16
+ transition-property: inherit;
17
+ transition-timing-function: inherit;
18
+ }
19
+
20
+ :host {
21
+ display: flex;
22
+ pointer-events: none;
23
+ transition-property: box-shadow, opacity;
24
+ --elevation-level: 0;
25
+ --elevation-color: #000;
26
+ }
27
+
28
+ .shadow::before,
29
+ .shadow::after {
30
+ content: '';
31
+ transition-property: box-shadow, opacity;
32
+
33
+ --_level: var(--elevation-level);
34
+ --_shadow-color: var(--elevation-color);
35
+ }
36
+
37
+ // Key box shadow
38
+ .shadow::before {
39
+ opacity: 0.3;
40
+ }
41
+
42
+ // Ambient box shadow
43
+ .shadow::after {
44
+ opacity: 0.15;
45
+ }
46
+ `;
47
+ //# sourceMappingURL=elevation.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevation.css.js","sourceRoot":"","sources":["../../../src/elevation/elevation.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AAErC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CxB,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\n\nexport const styles = css`\n /**\n * Derived from Material Design Elevation\n * https://github.com/material-components/material-web/blob/main/elevation/internal/_elevation.scss\n */\n\n :host,\n .shadow,\n .shadow::before,\n .shadow::after {\n border-radius: inherit;\n inset: 0;\n position: absolute;\n transition-duration: inherit;\n transition-property: inherit;\n transition-timing-function: inherit;\n }\n\n :host {\n display: flex;\n pointer-events: none;\n transition-property: box-shadow, opacity;\n --elevation-level: 0;\n --elevation-color: #000;\n }\n\n .shadow::before,\n .shadow::after {\n content: '';\n transition-property: box-shadow, opacity;\n\n --_level: var(--elevation-level);\n --_shadow-color: var(--elevation-color);\n }\n\n // Key box shadow\n .shadow::before {\n opacity: 0.3;\n }\n\n // Ambient box shadow\n .shadow::after {\n opacity: 0.15;\n }\n`;\n"]}
@@ -0,0 +1,27 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Elevation
4
+ * @tag p-elevation
5
+ * @rawTag elevation
6
+ *
7
+ * @summary Adds elevation to an element.
8
+ * @overview
9
+ * - Elevation adds a shadow effect to an element to give it depth.
10
+ * - It can be used to create a sense of hierarchy or to draw attention to a particular element.
11
+ *
12
+ * @cssprop --elevation-level - Controls the elevation level of the shadow.
13
+ * @cssprop --elevation-color - Controls the color of the shadow.
14
+ *
15
+ * @example
16
+ * ```html
17
+ * <div style="position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);">
18
+ * <p-elevation style='--elevation-level: 2'></p-elevation>
19
+ * Level 2
20
+ * </div>
21
+ * ```
22
+ * @tags display
23
+ */
24
+ export declare class Elevation extends LitElement {
25
+ static styles: import("lit").CSSResultGroup[];
26
+ render(): import("lit-html").TemplateResult<1>;
27
+ }
@@ -0,0 +1,31 @@
1
+ import { html, LitElement } from 'lit';
2
+ import styles from './elevation.scss';
3
+ /**
4
+ * @label Elevation
5
+ * @tag p-elevation
6
+ * @rawTag elevation
7
+ *
8
+ * @summary Adds elevation to an element.
9
+ * @overview
10
+ * - Elevation adds a shadow effect to an element to give it depth.
11
+ * - It can be used to create a sense of hierarchy or to draw attention to a particular element.
12
+ *
13
+ * @cssprop --elevation-level - Controls the elevation level of the shadow.
14
+ * @cssprop --elevation-color - Controls the color of the shadow.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <div style="position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);">
19
+ * <p-elevation style='--elevation-level: 2'></p-elevation>
20
+ * Level 2
21
+ * </div>
22
+ * ```
23
+ * @tags display
24
+ */
25
+ export class Elevation extends LitElement {
26
+ render() {
27
+ return html `<span class="shadow"></span>`;
28
+ }
29
+ }
30
+ Elevation.styles = [styles];
31
+ //# sourceMappingURL=elevation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevation.js","sourceRoot":"","sources":["../../../src/elevation/elevation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAGvC,MAAM;QACJ,OAAO,IAAI,CAAA,8BAA8B,CAAC;IAC5C,CAAC;;AAJM,gBAAM,GAAG,CAAC,MAAM,CAAC,CAAC","sourcesContent":["import { html, LitElement } from 'lit';\nimport styles from './elevation.scss';\n\n/**\n * @label Elevation\n * @tag p-elevation\n * @rawTag elevation\n *\n * @summary Adds elevation to an element.\n * @overview\n * - Elevation adds a shadow effect to an element to give it depth.\n * - It can be used to create a sense of hierarchy or to draw attention to a particular element.\n *\n * @cssprop --elevation-level - Controls the elevation level of the shadow.\n * @cssprop --elevation-color - Controls the color of the shadow.\n *\n * @example\n * ```html\n * <div style=\"position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);\">\n * <p-elevation style='--elevation-level: 2'></p-elevation>\n * Level 2\n * </div>\n * ```\n * @tags display\n */\nexport class Elevation extends LitElement {\n static styles = [styles];\n\n render() {\n return html`<span class=\"shadow\"></span>`;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { Elevation } from './elevation.js';
@@ -0,0 +1,2 @@
1
+ export { Elevation } from './elevation.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/elevation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { Elevation } from './elevation.js';\n"]}
@@ -0,0 +1,9 @@
1
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ export declare class FocusAttachableController implements ReactiveController {
3
+ host: ReactiveControllerHost;
4
+ getControlElement: () => HTMLElement;
5
+ visible: boolean;
6
+ constructor(host: ReactiveControllerHost, getControlElement: () => HTMLElement);
7
+ hostConnected(): void;
8
+ hostDisconnected(): void;
9
+ }
@@ -0,0 +1,25 @@
1
+ export class FocusAttachableController {
2
+ constructor(host, getControlElement) {
3
+ this.visible = false;
4
+ (this.host = host).addController(this);
5
+ this.getControlElement = getControlElement;
6
+ }
7
+ hostConnected() {
8
+ // Start a timer when the host is connected
9
+ console.log('connected');
10
+ if (this.getControlElement) {
11
+ const element = this.getControlElement();
12
+ element.addEventListener('focus', () => {
13
+ console.log('focus');
14
+ // @ts-ignore
15
+ this.host.handleEvent();
16
+ this.host.requestUpdate();
17
+ });
18
+ }
19
+ }
20
+ // eslint-disable-next-line class-methods-use-this
21
+ hostDisconnected() {
22
+ console.log('disconnected');
23
+ }
24
+ }
25
+ //# sourceMappingURL=FocusAttachableController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusAttachableController.js","sourceRoot":"","sources":["../../../src/focus-ring/FocusAttachableController.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,yBAAyB;IAOpC,YACE,IAA4B,EAC5B,iBAAoC;QAJtC,YAAO,GAAG,KAAK,CAAC;QAMd,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAED,aAAa;QACX,2CAA2C;QAC3C,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,aAAa;gBACb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,gBAAgB;QACd,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;CACF","sourcesContent":["import { ReactiveController, ReactiveControllerHost } from 'lit';\r\n\r\nexport class FocusAttachableController implements ReactiveController {\r\n host: ReactiveControllerHost;\r\n\r\n getControlElement: () => HTMLElement;\r\n\r\n visible = false;\r\n\r\n constructor(\r\n host: ReactiveControllerHost,\r\n getControlElement: () => HTMLElement,\r\n ) {\r\n (this.host = host).addController(this);\r\n this.getControlElement = getControlElement;\r\n }\r\n\r\n hostConnected() {\r\n // Start a timer when the host is connected\r\n console.log('connected');\r\n if (this.getControlElement) {\r\n const element = this.getControlElement();\r\n element.addEventListener('focus', () => {\r\n console.log('focus');\r\n // @ts-ignore\r\n this.host.handleEvent();\r\n this.host.requestUpdate();\r\n });\r\n }\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n hostDisconnected() {\r\n console.log('disconnected');\r\n }\r\n}\r\n"]}
@@ -0,0 +1,35 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Elevation
4
+ * @tag p-elevation
5
+ * @rawTag elevation
6
+ *
7
+ * @summary Adds elevation to an element.
8
+ * @overview
9
+ * - Elevation adds a shadow effect to an element to give it depth.
10
+ * - It can be used to create a sense of hierarchy or to draw attention to a particular element.
11
+ *
12
+ * @cssprop --elevation-level - Controls the elevation level of the shadow.
13
+ * @cssprop --elevation-color - Controls the color of the shadow.
14
+ *
15
+ * @example
16
+ * ```html
17
+ * <div style="position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);">
18
+ * <p-elevation style='--elevation-level: 2'></p-elevation>
19
+ * Level 2
20
+ * </div>
21
+ * ```
22
+ * @tags display
23
+ */
24
+ export declare class FocusRing extends LitElement {
25
+ static styles: import("lit").CSSResultGroup[];
26
+ visible: boolean;
27
+ render(): symbol;
28
+ _control?: HTMLElement;
29
+ get control(): HTMLElement | null;
30
+ set control(control: HTMLElement | null);
31
+ connectedCallback(): void;
32
+ disconnectedCallback(): void;
33
+ attach(): void;
34
+ detach(): void;
35
+ }
@@ -0,0 +1,81 @@
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, nothing } from 'lit';
3
+ import { property } from 'lit/decorators.js';
4
+ import styles from './focus-ring.scss';
5
+ /**
6
+ * @label Elevation
7
+ * @tag p-elevation
8
+ * @rawTag elevation
9
+ *
10
+ * @summary Adds elevation to an element.
11
+ * @overview
12
+ * - Elevation adds a shadow effect to an element to give it depth.
13
+ * - It can be used to create a sense of hierarchy or to draw attention to a particular element.
14
+ *
15
+ * @cssprop --elevation-level - Controls the elevation level of the shadow.
16
+ * @cssprop --elevation-color - Controls the color of the shadow.
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <div style="position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);">
21
+ * <p-elevation style='--elevation-level: 2'></p-elevation>
22
+ * Level 2
23
+ * </div>
24
+ * ```
25
+ * @tags display
26
+ */
27
+ export class FocusRing extends LitElement {
28
+ constructor() {
29
+ super(...arguments);
30
+ this.visible = false;
31
+ }
32
+ render() {
33
+ return nothing;
34
+ }
35
+ get control() {
36
+ return this._control || null;
37
+ }
38
+ set control(control) {
39
+ if (control) {
40
+ this._control = control;
41
+ }
42
+ else {
43
+ this.detach();
44
+ }
45
+ }
46
+ connectedCallback() {
47
+ super.connectedCallback();
48
+ this.attach();
49
+ }
50
+ disconnectedCallback() {
51
+ this.detach();
52
+ super.disconnectedCallback();
53
+ }
54
+ attach() {
55
+ // @ts-ignore - buttonElement is not defined on the base class
56
+ this._control?.buttonElement?.addEventListener('focusin', () => {
57
+ this.visible =
58
+ // @ts-ignore - buttonElement is not defined on the base class
59
+ this._control?.buttonElement?.matches(':focus-visible') ?? false;
60
+ });
61
+ // @ts-ignore - buttonElement is not defined on the base class
62
+ this._control?.buttonElement?.addEventListener('focusout', () => {
63
+ this.visible = false;
64
+ });
65
+ // @ts-ignore - buttonElement is not defined on the base class
66
+ this._control?.buttonElement?.addEventListener('pointerdown', () => {
67
+ this.visible = false;
68
+ });
69
+ }
70
+ detach() {
71
+ this._control?.removeEventListener('focusin', () => { });
72
+ this._control?.removeEventListener('focusout', () => { });
73
+ this._control?.removeEventListener('pointerdown', () => { });
74
+ this._control = undefined;
75
+ }
76
+ }
77
+ FocusRing.styles = [styles];
78
+ __decorate([
79
+ property({ type: Boolean, reflect: true })
80
+ ], FocusRing.prototype, "visible", void 0);
81
+ //# sourceMappingURL=focus-ring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-ring.js","sourceRoot":"","sources":["../../../src/focus-ring/focus-ring.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAAzC;;QAG8C,YAAO,GAAY,KAAK,CAAC;IAqDvE,CAAC;IAnDC,MAAM;QACJ,OAAO,OAAO,CAAC;IACjB,CAAC;IAID,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,OAA2B;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7D,IAAI,CAAC,OAAO;gBACV,8DAA8D;gBAC9D,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAC9D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE;YACjE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;;AAtDM,gBAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAEmB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAA0B","sourcesContent":["import { LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './focus-ring.scss';\n\n/**\n * @label Elevation\n * @tag p-elevation\n * @rawTag elevation\n *\n * @summary Adds elevation to an element.\n * @overview\n * - Elevation adds a shadow effect to an element to give it depth.\n * - It can be used to create a sense of hierarchy or to draw attention to a particular element.\n *\n * @cssprop --elevation-level - Controls the elevation level of the shadow.\n * @cssprop --elevation-color - Controls the color of the shadow.\n *\n * @example\n * ```html\n * <div style=\"position: relative; padding: var(--spacing-200); border-radius: var(--shape-corner-small);\">\n * <p-elevation style='--elevation-level: 2'></p-elevation>\n * Level 2\n * </div>\n * ```\n * @tags display\n */\nexport class FocusRing extends LitElement {\n static styles = [styles];\n\n @property({ type: Boolean, reflect: true }) visible: boolean = false;\n\n render() {\n return nothing;\n }\n\n _control?: HTMLElement;\n\n get control() {\n return this._control || null;\n }\n\n set control(control: HTMLElement | null) {\n if (control) {\n this._control = control;\n } else {\n this.detach();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.attach();\n }\n\n disconnectedCallback() {\n this.detach();\n super.disconnectedCallback();\n }\n\n attach() {\n // @ts-ignore - buttonElement is not defined on the base class\n this._control?.buttonElement?.addEventListener('focusin', () => {\n this.visible =\n // @ts-ignore - buttonElement is not defined on the base class\n this._control?.buttonElement?.matches(':focus-visible') ?? false;\n });\n // @ts-ignore - buttonElement is not defined on the base class\n this._control?.buttonElement?.addEventListener('focusout', () => {\n this.visible = false;\n });\n // @ts-ignore - buttonElement is not defined on the base class\n this._control?.buttonElement?.addEventListener('pointerdown', () => {\n this.visible = false;\n });\n }\n\n detach() {\n this._control?.removeEventListener('focusin', () => {});\n this._control?.removeEventListener('focusout', () => {});\n this._control?.removeEventListener('pointerdown', () => {});\n this._control = undefined;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ export { FocusRing } from './focus-ring.js';
@@ -0,0 +1,2 @@
1
+ export { FocusRing } from './focus-ring.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/focus-ring/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { FocusRing } from './focus-ring.js';\n"]}
@@ -1,9 +1,30 @@
1
1
  import { LitElement } from 'lit';
2
+ export type IconProvider = 'material-symbols' | 'material-icons';
3
+ /**
4
+ * @label Icon
5
+ * @tag p-icon
6
+ * @rawTag icon
7
+ * @summary Icons are visual symbols used to represent ideas, objects, or actions.
8
+ * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
9
+ *
10
+ * @cssprop --icon-color - Controls the color of the icon.
11
+ * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <p-icon name="home"></p-icon>
16
+ * ```
17
+ *
18
+ */
2
19
  export declare class Icon extends LitElement {
3
- static styles: import("lit").CSSResult[];
20
+ static styles: import("lit").CSSResultGroup[];
21
+ /**
22
+ * The identifier for the icon.
23
+ * This name corresponds to a specific SVG asset in the icon set.
24
+ */
4
25
  name?: string;
5
26
  src?: string;
6
- provider?: 'material-symbols' | 'carbon';
27
+ provider: IconProvider;
7
28
  private svgContent;
8
29
  private loading;
9
30
  private error;
@@ -4,7 +4,23 @@ import { property, state } from 'lit/decorators.js';
4
4
  import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
5
5
  import { fetchIcon, fetchSVG } from './datasource.js';
6
6
  import { sanitizeSvg } from '../utils.js';
7
- import { styles } from './icon.css.js';
7
+ import styles from './icon.scss';
8
+ /**
9
+ * @label Icon
10
+ * @tag p-icon
11
+ * @rawTag icon
12
+ * @summary Icons are visual symbols used to represent ideas, objects, or actions.
13
+ * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
14
+ *
15
+ * @cssprop --icon-color - Controls the color of the icon.
16
+ * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
17
+ *
18
+ * @example
19
+ * ```html
20
+ * <p-icon name="home"></p-icon>
21
+ * ```
22
+ *
23
+ */
8
24
  export class Icon extends LitElement {
9
25
  constructor() {
10
26
  super(...arguments);
@@ -28,10 +44,10 @@ export class Icon extends LitElement {
28
44
  }
29
45
  render() {
30
46
  // accessible wrapper; consumers can provide a fallback via <slot name="fallback">.
31
- return html ` <div class="icon">
47
+ return html ` <div class="icon">
32
48
  ${this.svgContent
33
49
  ? unsafeSVG(this.svgContent)
34
- : html `<slot name="fallback"></slot>`}
50
+ : html `<slot name="fallback"></slot>`}
35
51
  </div>`;
36
52
  }
37
53
  // small debounce to coalesce rapid changes (50ms)
@@ -104,7 +120,7 @@ __decorate([
104
120
  state()
105
121
  ], Icon.prototype, "svgContent", void 0);
106
122
  __decorate([
107
- state()
123
+ state() // @ts-ignore
108
124
  ], Icon.prototype, "loading", void 0);
109
125
  __decorate([
110
126
  state()
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/icon/icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { fetchIcon, fetchSVG } from './datasource.js';\nimport { sanitizeSvg } from '../utils.js';\nimport { styles } from './icon.css.js';\n\nexport class Icon extends LitElement {\n static styles = [styles];\n\n @property({ type: String, reflect: true }) name?: string;\n\n @property({ type: String, reflect: true }) src?: string;\n\n @property({ type: String }) provider?: 'material-symbols' | 'carbon' =\n 'material-symbols';\n\n @state()\n private svgContent: string = '';\n\n // loading + error states for consumers/tests\n @state()\n private loading: boolean = false;\n\n @state()\n private error: Error | null = null;\n\n // token to avoid race conditions when multiple fetches overlap\n private _fetchId = 0;\n\n // optional debounce for rapid property changes\n private _debounceTimer: number | undefined;\n\n firstUpdated() {\n // perform initial fetch once component is connected and rendered\n this.__scheduleUpdate();\n }\n\n updated(changedProperties: any) {\n // only refetch when name or src changed\n if (changedProperties.has('name') || changedProperties.has('src')) {\n this.__scheduleUpdate();\n }\n }\n\n render() {\n // accessible wrapper; consumers can provide a fallback via <slot name=\"fallback\">.\n return html` <div class=\"icon\">\n ${this.svgContent\n ? unsafeSVG(this.svgContent)\n : html`<slot name=\"fallback\"></slot>`}\n </div>`;\n }\n\n // small debounce to coalesce rapid changes (50ms)\n private __scheduleUpdate() {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer as any);\n }\n // @ts-ignore - setTimeout in DOM returns number\n this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);\n }\n\n /**\n * @internal\n */\n private async __updateSvg() {\n this._fetchId += 1;\n const currentId = this._fetchId;\n this.loading = true;\n this.error = null;\n\n try {\n let raw: string | undefined;\n\n if (this.name) {\n raw = await fetchIcon(this.name, this.provider);\n } else if (this.src) {\n raw = await fetchSVG(this.src);\n } else {\n raw = '';\n }\n\n // If another fetch started after this one, ignore this result\n if (currentId !== this._fetchId) return;\n\n if (raw) {\n this.svgContent = sanitizeSvg(raw);\n } else {\n this.svgContent = '';\n }\n } catch (err: any) {\n // capture and surface error, but avoid throwing\n this.error = err instanceof Error ? err : new Error(String(err));\n this.svgContent = '';\n // bubble an event so consumers can react\n this.dispatchEvent(\n new CustomEvent('icon-error', {\n detail: { name: this.name, src: this.src, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n // ensure loading is cleared unless another fetch started\n if (currentId === this._fetchId) {\n this.loading = false;\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/icon/icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,IAAK,SAAQ,UAAU;IAApC;;QAW8B,aAAQ,GAAiB,kBAAkB,CAAC;QAGhE,eAAU,GAAW,EAAE,CAAC;QAEhC,6CAA6C;QAErC,YAAO,GAAY,KAAK,CAAC;QAGzB,UAAK,GAAiB,IAAI,CAAC;QAEnC,+DAA+D;QACvD,aAAQ,GAAG,CAAC,CAAC;IAkFvB,CAAC;IA7EC,YAAY;QACV,iEAAiE;QACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,iBAAsB;QAC5B,wCAAwC;QACxC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,MAAM;QACJ,mFAAmF;QACnF,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAA,+BAA+B;WAClC,CAAC;IACV,CAAC;IAED,kDAAkD;IAC1C,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,cAAqB,CAAC,CAAC;QAC3C,CAAC;QACD,gDAAgD;QAChD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC;YACH,IAAI,GAAuB,CAAC;YAE5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,EAAE,CAAC;YACX,CAAC;YAED,8DAA8D;YAC9D,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAExC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,gDAAgD;YAChD,IAAI,CAAC,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,yCAAyC;YACzC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,YAAY,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC7D,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,yDAAyD;YACzD,IAAI,SAAS,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;;AAxGM,WAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAMkB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kCAAe;AAEd;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iCAAc;AAE5B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCAA6C;AAGhE;IADP,KAAK,EAAE;wCACwB;AAIxB;IADP,KAAK,EAAE,CAAC,aAAa;qCACW;AAGzB;IADP,KAAK,EAAE;mCAC2B","sourcesContent":["import { html, LitElement } from 'lit';\r\nimport { property, state } from 'lit/decorators.js';\r\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\r\nimport { fetchIcon, fetchSVG } from './datasource.js';\r\nimport { sanitizeSvg } from '../utils.js';\r\nimport styles from './icon.scss';\r\n\r\nexport type IconProvider = 'material-symbols' | 'material-icons';\r\n/**\r\n * @label Icon\r\n * @tag p-icon\r\n * @rawTag icon\r\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\r\n * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.\r\n *\r\n * @cssprop --icon-color - Controls the color of the icon.\r\n * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to \"1rem\"\r\n *\r\n * @example\r\n * ```html\r\n * <p-icon name=\"home\"></p-icon>\r\n * ```\r\n *\r\n */\r\nexport class Icon extends LitElement {\r\n static styles = [styles];\r\n\r\n /**\r\n * The identifier for the icon.\r\n * This name corresponds to a specific SVG asset in the icon set.\r\n */\r\n @property({ type: String, reflect: true }) name?: string;\r\n\r\n @property({ type: String, reflect: true }) src?: string;\r\n\r\n @property({ type: String }) provider: IconProvider = 'material-symbols';\r\n\r\n @state()\r\n private svgContent: string = '';\r\n\r\n // loading + error states for consumers/tests\r\n @state() // @ts-ignore\r\n private loading: boolean = false;\r\n\r\n @state()\r\n private error: Error | null = null;\r\n\r\n // token to avoid race conditions when multiple fetches overlap\r\n private _fetchId = 0;\r\n\r\n // optional debounce for rapid property changes\r\n private _debounceTimer: number | undefined;\r\n\r\n firstUpdated() {\r\n // perform initial fetch once component is connected and rendered\r\n this.__scheduleUpdate();\r\n }\r\n\r\n updated(changedProperties: any) {\r\n // only refetch when name or src changed\r\n if (changedProperties.has('name') || changedProperties.has('src')) {\r\n this.__scheduleUpdate();\r\n }\r\n }\r\n\r\n render() {\r\n // accessible wrapper; consumers can provide a fallback via <slot name=\"fallback\">.\r\n return html` <div class=\"icon\">\r\n ${this.svgContent\r\n ? unsafeSVG(this.svgContent)\r\n : html`<slot name=\"fallback\"></slot>`}\r\n </div>`;\r\n }\r\n\r\n // small debounce to coalesce rapid changes (50ms)\r\n private __scheduleUpdate() {\r\n if (this._debounceTimer) {\r\n clearTimeout(this._debounceTimer as any);\r\n }\r\n // @ts-ignore - setTimeout in DOM returns number\r\n this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n private async __updateSvg() {\r\n this._fetchId += 1;\r\n const currentId = this._fetchId;\r\n this.loading = true;\r\n this.error = null;\r\n\r\n try {\r\n let raw: string | undefined;\r\n\r\n if (this.name) {\r\n raw = await fetchIcon(this.name, this.provider);\r\n } else if (this.src) {\r\n raw = await fetchSVG(this.src);\r\n } else {\r\n raw = '';\r\n }\r\n\r\n // If another fetch started after this one, ignore this result\r\n if (currentId !== this._fetchId) return;\r\n\r\n if (raw) {\r\n this.svgContent = sanitizeSvg(raw);\r\n } else {\r\n this.svgContent = '';\r\n }\r\n } catch (err: any) {\r\n // capture and surface error, but avoid throwing\r\n this.error = err instanceof Error ? err : new Error(String(err));\r\n this.svgContent = '';\r\n // bubble an event so consumers can react\r\n this.dispatchEvent(\r\n new CustomEvent('icon-error', {\r\n detail: { name: this.name, src: this.src, error: this.error },\r\n bubbles: true,\r\n composed: true,\r\n }),\r\n );\r\n } finally {\r\n // ensure loading is cleared unless another fetch started\r\n if (currentId === this._fetchId) {\r\n this.loading = false;\r\n }\r\n }\r\n }\r\n}\r\n"]}
@@ -1,10 +1,3 @@
1
1
  import { Icon } from './icon.js';
2
- /**
3
- * @name Icon
4
- * @summary Icons are visual symbols used to represent ideas, objects, or actions.
5
- *
6
- * @cssprop --icon-color - Controls the color of the icon.
7
- * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
8
- */
9
2
  export declare class PIcon extends Icon {
10
3
  }
@@ -1,13 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { customElement } from 'lit/decorators.js';
3
3
  import { Icon } from './icon.js';
4
- /**
5
- * @name Icon
6
- * @summary Icons are visual symbols used to represent ideas, objects, or actions.
7
- *
8
- * @cssprop --icon-color - Controls the color of the icon.
9
- * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
10
- */
11
4
  let PIcon = class PIcon extends Icon {
12
5
  };
13
6
  PIcon = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"p-icon.js","sourceRoot":"","sources":["../../../src/icon/p-icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;GAMG;AAEI,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,IAAI;CAAG,CAAA;AAArB,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAAgB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport { Icon } from './icon.js';\n\n/**\n * @name Icon\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\n *\n * @cssprop --icon-color - Controls the color of the icon.\n * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to \"1rem\"\n */\n@customElement('p-icon')\nexport class PIcon extends Icon {}\n"]}
1
+ {"version":3,"file":"p-icon.js","sourceRoot":"","sources":["../../../src/icon/p-icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1B,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,IAAI;CAAG,CAAA;AAArB,KAAK;IADjB,aAAa,CAAC,QAAQ,CAAC;GACX,KAAK,CAAgB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport { Icon } from './icon.js';\n\n@customElement('p-icon')\nexport class PIcon extends Icon {}\n"]}