@pine-ds/core 2.20.0-mercury.0 → 2.22.0-mercury.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 (442) hide show
  1. package/components/pds-accordion.js +6 -3
  2. package/components/pds-accordion.js.map +1 -1
  3. package/components/pds-avatar.js +6 -3
  4. package/components/pds-avatar.js.map +1 -1
  5. package/components/pds-button2.js +7 -4
  6. package/components/pds-button2.js.map +1 -1
  7. package/components/pds-checkbox2.js +8 -5
  8. package/components/pds-checkbox2.js.map +1 -1
  9. package/components/pds-chip.js +6 -3
  10. package/components/pds-chip.js.map +1 -1
  11. package/components/pds-copytext.js +6 -3
  12. package/components/pds-copytext.js.map +1 -1
  13. package/components/pds-divider.js +6 -3
  14. package/components/pds-divider.js.map +1 -1
  15. package/components/pds-image.js +7 -4
  16. package/components/pds-image.js.map +1 -1
  17. package/components/pds-input.js +8 -5
  18. package/components/pds-input.js.map +1 -1
  19. package/components/pds-link.js +7 -4
  20. package/components/pds-link.js.map +1 -1
  21. package/components/pds-loader.js +6 -3
  22. package/components/pds-loader.js.map +1 -1
  23. package/components/pds-progress.js +6 -3
  24. package/components/pds-progress.js.map +1 -1
  25. package/components/pds-radio.js +8 -5
  26. package/components/pds-radio.js.map +1 -1
  27. package/components/pds-sortable.js +6 -3
  28. package/components/pds-sortable.js.map +1 -1
  29. package/components/pds-switch.js +8 -5
  30. package/components/pds-switch.js.map +1 -1
  31. package/components/pds-table-body.js +6 -3
  32. package/components/pds-table-body.js.map +1 -1
  33. package/components/pds-table-cell2.js +7 -4
  34. package/components/pds-table-cell2.js.map +1 -1
  35. package/components/pds-table-head-cell2.js +7 -4
  36. package/components/pds-table-head-cell2.js.map +1 -1
  37. package/components/pds-table-head.js +6 -3
  38. package/components/pds-table-head.js.map +1 -1
  39. package/components/pds-table-row.js +6 -3
  40. package/components/pds-table-row.js.map +1 -1
  41. package/components/pds-table.js +6 -3
  42. package/components/pds-table.js.map +1 -1
  43. package/components/pds-tabs.js +6 -3
  44. package/components/pds-tabs.js.map +1 -1
  45. package/components/pds-textarea.js +9 -6
  46. package/components/pds-textarea.js.map +1 -1
  47. package/components/pds-tooltip.js +7 -4
  48. package/components/pds-tooltip.js.map +1 -1
  49. package/dist/cjs/pds-accordion.cjs.entry.js +6 -3
  50. package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -1
  51. package/dist/cjs/pds-avatar.cjs.entry.js +6 -3
  52. package/dist/cjs/pds-avatar.cjs.entry.js.map +1 -1
  53. package/dist/cjs/pds-button.cjs.entry.js +7 -4
  54. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/pds-checkbox.cjs.entry.js +8 -5
  56. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  57. package/dist/cjs/pds-chip.cjs.entry.js +6 -3
  58. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  59. package/dist/cjs/pds-copytext.cjs.entry.js +6 -3
  60. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  61. package/dist/cjs/pds-divider.cjs.entry.js +6 -3
  62. package/dist/cjs/pds-divider.cjs.entry.js.map +1 -1
  63. package/dist/cjs/pds-image.cjs.entry.js +7 -4
  64. package/dist/cjs/pds-image.cjs.entry.js.map +1 -1
  65. package/dist/cjs/pds-input.cjs.entry.js +8 -5
  66. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  67. package/dist/cjs/pds-link.cjs.entry.js +7 -4
  68. package/dist/cjs/pds-link.cjs.entry.js.map +1 -1
  69. package/dist/cjs/pds-loader.cjs.entry.js +6 -3
  70. package/dist/cjs/pds-loader.cjs.entry.js.map +1 -1
  71. package/dist/cjs/pds-progress.cjs.entry.js +6 -3
  72. package/dist/cjs/pds-progress.cjs.entry.js.map +1 -1
  73. package/dist/cjs/pds-radio.cjs.entry.js +8 -5
  74. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  75. package/dist/cjs/pds-sortable.cjs.entry.js +6 -3
  76. package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -1
  77. package/dist/cjs/pds-switch.cjs.entry.js +8 -5
  78. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  79. package/dist/cjs/pds-table-body.cjs.entry.js +6 -3
  80. package/dist/cjs/pds-table-body.cjs.entry.js.map +1 -1
  81. package/dist/cjs/pds-table-cell.cjs.entry.js +7 -4
  82. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  83. package/dist/cjs/pds-table-head-cell.cjs.entry.js +7 -4
  84. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  85. package/dist/cjs/pds-table-head.cjs.entry.js +6 -3
  86. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  87. package/dist/cjs/pds-table-row.cjs.entry.js +6 -3
  88. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  89. package/dist/cjs/pds-table.cjs.entry.js +6 -3
  90. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  91. package/dist/cjs/pds-tabs.cjs.entry.js +6 -3
  92. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  93. package/dist/cjs/pds-textarea.cjs.entry.js +9 -6
  94. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  95. package/dist/cjs/pds-tooltip.cjs.entry.js +7 -4
  96. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  97. package/dist/collection/components/pds-accordion/pds-accordion.js +4 -3
  98. package/dist/collection/components/pds-accordion/pds-accordion.js.map +1 -1
  99. package/dist/collection/components/pds-accordion/stories/pds-accordion.stories.js +11 -15
  100. package/dist/collection/components/pds-avatar/pds-avatar.js +3 -3
  101. package/dist/collection/components/pds-avatar/pds-avatar.js.map +1 -1
  102. package/dist/collection/components/pds-button/pds-button.css +1 -0
  103. package/dist/collection/components/pds-button/pds-button.js +3 -3
  104. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  105. package/dist/collection/components/pds-checkbox/pds-checkbox.js +5 -5
  106. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  107. package/dist/collection/components/pds-chip/pds-chip.js +3 -3
  108. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  109. package/dist/collection/components/pds-copytext/pds-copytext.js +3 -3
  110. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  111. package/dist/collection/components/pds-divider/pds-divider.js +3 -3
  112. package/dist/collection/components/pds-divider/pds-divider.js.map +1 -1
  113. package/dist/collection/components/pds-image/pds-image.js +4 -4
  114. package/dist/collection/components/pds-image/pds-image.js.map +1 -1
  115. package/dist/collection/components/pds-input/pds-input.js +5 -5
  116. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  117. package/dist/collection/components/pds-link/pds-link.js +4 -4
  118. package/dist/collection/components/pds-link/pds-link.js.map +1 -1
  119. package/dist/collection/components/pds-loader/pds-loader.js +3 -3
  120. package/dist/collection/components/pds-loader/pds-loader.js.map +1 -1
  121. package/dist/collection/components/pds-progress/pds-progress.js +3 -3
  122. package/dist/collection/components/pds-progress/pds-progress.js.map +1 -1
  123. package/dist/collection/components/pds-radio/pds-radio.js +5 -5
  124. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  125. package/dist/collection/components/pds-sortable/pds-sortable.js +3 -3
  126. package/dist/collection/components/pds-sortable/pds-sortable.js.map +1 -1
  127. package/dist/collection/components/pds-switch/pds-switch.js +5 -5
  128. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  129. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +3 -3
  130. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js.map +1 -1
  131. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +4 -4
  132. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js.map +1 -1
  133. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +3 -3
  134. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js.map +1 -1
  135. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +4 -4
  136. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js.map +1 -1
  137. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +3 -3
  138. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js.map +1 -1
  139. package/dist/collection/components/pds-table/pds-table.js +3 -3
  140. package/dist/collection/components/pds-table/pds-table.js.map +1 -1
  141. package/dist/collection/components/pds-tabs/pds-tabs.js +3 -3
  142. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  143. package/dist/collection/components/pds-textarea/pds-textarea.js +6 -6
  144. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  145. package/dist/collection/components/pds-tooltip/pds-tooltip.js +4 -4
  146. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  147. package/dist/collection/global/styles/base.css +113 -0
  148. package/dist/docs.json +9 -1
  149. package/dist/esm/pds-accordion.entry.js +6 -3
  150. package/dist/esm/pds-accordion.entry.js.map +1 -1
  151. package/dist/esm/pds-avatar.entry.js +6 -3
  152. package/dist/esm/pds-avatar.entry.js.map +1 -1
  153. package/dist/esm/pds-button.entry.js +7 -4
  154. package/dist/esm/pds-button.entry.js.map +1 -1
  155. package/dist/esm/pds-checkbox.entry.js +8 -5
  156. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  157. package/dist/esm/pds-chip.entry.js +6 -3
  158. package/dist/esm/pds-chip.entry.js.map +1 -1
  159. package/dist/esm/pds-copytext.entry.js +6 -3
  160. package/dist/esm/pds-copytext.entry.js.map +1 -1
  161. package/dist/esm/pds-divider.entry.js +6 -3
  162. package/dist/esm/pds-divider.entry.js.map +1 -1
  163. package/dist/esm/pds-image.entry.js +7 -4
  164. package/dist/esm/pds-image.entry.js.map +1 -1
  165. package/dist/esm/pds-input.entry.js +8 -5
  166. package/dist/esm/pds-input.entry.js.map +1 -1
  167. package/dist/esm/pds-link.entry.js +7 -4
  168. package/dist/esm/pds-link.entry.js.map +1 -1
  169. package/dist/esm/pds-loader.entry.js +6 -3
  170. package/dist/esm/pds-loader.entry.js.map +1 -1
  171. package/dist/esm/pds-progress.entry.js +6 -3
  172. package/dist/esm/pds-progress.entry.js.map +1 -1
  173. package/dist/esm/pds-radio.entry.js +8 -5
  174. package/dist/esm/pds-radio.entry.js.map +1 -1
  175. package/dist/esm/pds-sortable.entry.js +6 -3
  176. package/dist/esm/pds-sortable.entry.js.map +1 -1
  177. package/dist/esm/pds-switch.entry.js +8 -5
  178. package/dist/esm/pds-switch.entry.js.map +1 -1
  179. package/dist/esm/pds-table-body.entry.js +6 -3
  180. package/dist/esm/pds-table-body.entry.js.map +1 -1
  181. package/dist/esm/pds-table-cell.entry.js +7 -4
  182. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  183. package/dist/esm/pds-table-head-cell.entry.js +7 -4
  184. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  185. package/dist/esm/pds-table-head.entry.js +6 -3
  186. package/dist/esm/pds-table-head.entry.js.map +1 -1
  187. package/dist/esm/pds-table-row.entry.js +6 -3
  188. package/dist/esm/pds-table-row.entry.js.map +1 -1
  189. package/dist/esm/pds-table.entry.js +6 -3
  190. package/dist/esm/pds-table.entry.js.map +1 -1
  191. package/dist/esm/pds-tabs.entry.js +6 -3
  192. package/dist/esm/pds-tabs.entry.js.map +1 -1
  193. package/dist/esm/pds-textarea.entry.js +9 -6
  194. package/dist/esm/pds-textarea.entry.js.map +1 -1
  195. package/dist/esm/pds-tooltip.entry.js +7 -4
  196. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  197. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  198. package/dist/esm-es5/pds-accordion.entry.js.map +1 -1
  199. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  200. package/dist/esm-es5/pds-avatar.entry.js.map +1 -1
  201. package/dist/esm-es5/pds-button.entry.js +1 -1
  202. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  203. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  204. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  205. package/dist/esm-es5/pds-chip.entry.js +1 -1
  206. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  207. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  208. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  209. package/dist/esm-es5/pds-divider.entry.js +1 -1
  210. package/dist/esm-es5/pds-divider.entry.js.map +1 -1
  211. package/dist/esm-es5/pds-image.entry.js +1 -1
  212. package/dist/esm-es5/pds-image.entry.js.map +1 -1
  213. package/dist/esm-es5/pds-input.entry.js +1 -1
  214. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  215. package/dist/esm-es5/pds-link.entry.js +1 -1
  216. package/dist/esm-es5/pds-link.entry.js.map +1 -1
  217. package/dist/esm-es5/pds-loader.entry.js +1 -1
  218. package/dist/esm-es5/pds-loader.entry.js.map +1 -1
  219. package/dist/esm-es5/pds-progress.entry.js +1 -1
  220. package/dist/esm-es5/pds-progress.entry.js.map +1 -1
  221. package/dist/esm-es5/pds-radio.entry.js +1 -1
  222. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  223. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  224. package/dist/esm-es5/pds-sortable.entry.js.map +1 -1
  225. package/dist/esm-es5/pds-switch.entry.js +1 -1
  226. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  227. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  228. package/dist/esm-es5/pds-table-body.entry.js.map +1 -1
  229. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  230. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  231. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  232. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  233. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  234. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  235. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  236. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  237. package/dist/esm-es5/pds-table.entry.js +1 -1
  238. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  239. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  240. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  241. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  242. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  243. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  244. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  245. package/dist/pine-core/p-058ee4aa.entry.js +2 -0
  246. package/dist/pine-core/p-058ee4aa.entry.js.map +1 -0
  247. package/dist/pine-core/p-06f526e5.system.js +1 -1
  248. package/dist/pine-core/p-0a559f32.system.entry.js +2 -0
  249. package/dist/pine-core/p-0a559f32.system.entry.js.map +1 -0
  250. package/dist/pine-core/p-0fd90583.system.entry.js +2 -0
  251. package/dist/pine-core/p-0fd90583.system.entry.js.map +1 -0
  252. package/dist/pine-core/p-20bdacf6.entry.js +2 -0
  253. package/dist/pine-core/p-20bdacf6.entry.js.map +1 -0
  254. package/dist/pine-core/p-2258e023.entry.js +2 -0
  255. package/dist/pine-core/p-2258e023.entry.js.map +1 -0
  256. package/dist/pine-core/p-2598d875.system.entry.js +2 -0
  257. package/dist/pine-core/p-2598d875.system.entry.js.map +1 -0
  258. package/dist/pine-core/p-35d6c787.entry.js +2 -0
  259. package/dist/pine-core/p-35d6c787.entry.js.map +1 -0
  260. package/dist/pine-core/p-37dcefe3.entry.js +2 -0
  261. package/dist/pine-core/p-37dcefe3.entry.js.map +1 -0
  262. package/dist/pine-core/p-41141b0b.system.entry.js +2 -0
  263. package/dist/pine-core/p-41141b0b.system.entry.js.map +1 -0
  264. package/dist/pine-core/p-42ec166f.system.entry.js +2 -0
  265. package/dist/pine-core/p-42ec166f.system.entry.js.map +1 -0
  266. package/dist/pine-core/p-470a5e99.entry.js +2 -0
  267. package/dist/pine-core/p-470a5e99.entry.js.map +1 -0
  268. package/dist/pine-core/p-4a2d1c1a.system.entry.js +2 -0
  269. package/dist/pine-core/p-4a2d1c1a.system.entry.js.map +1 -0
  270. package/dist/pine-core/p-5563b90b.entry.js +2 -0
  271. package/dist/pine-core/p-5563b90b.entry.js.map +1 -0
  272. package/dist/pine-core/p-569e79e5.system.entry.js +2 -0
  273. package/dist/pine-core/p-569e79e5.system.entry.js.map +1 -0
  274. package/dist/pine-core/p-61176372.system.entry.js +2 -0
  275. package/dist/pine-core/p-61176372.system.entry.js.map +1 -0
  276. package/dist/pine-core/p-62789a79.system.entry.js +2 -0
  277. package/dist/pine-core/p-62789a79.system.entry.js.map +1 -0
  278. package/dist/pine-core/p-6428b918.entry.js +2 -0
  279. package/dist/pine-core/p-6428b918.entry.js.map +1 -0
  280. package/dist/pine-core/p-69f338ff.system.entry.js +2 -0
  281. package/dist/pine-core/p-69f338ff.system.entry.js.map +1 -0
  282. package/dist/pine-core/p-6df39072.system.entry.js +2 -0
  283. package/dist/pine-core/p-6df39072.system.entry.js.map +1 -0
  284. package/dist/pine-core/p-739f9ac1.system.entry.js +2 -0
  285. package/dist/pine-core/p-739f9ac1.system.entry.js.map +1 -0
  286. package/dist/pine-core/p-799c9bb7.entry.js +2 -0
  287. package/dist/pine-core/p-799c9bb7.entry.js.map +1 -0
  288. package/dist/pine-core/p-8048be9c.system.entry.js +2 -0
  289. package/dist/pine-core/p-8048be9c.system.entry.js.map +1 -0
  290. package/dist/pine-core/p-8368a4d0.entry.js +2 -0
  291. package/dist/pine-core/p-8368a4d0.entry.js.map +1 -0
  292. package/dist/pine-core/p-8835d0b2.entry.js +2 -0
  293. package/dist/pine-core/p-8835d0b2.entry.js.map +1 -0
  294. package/dist/pine-core/p-889b29d1.entry.js +2 -0
  295. package/dist/pine-core/p-889b29d1.entry.js.map +1 -0
  296. package/dist/pine-core/p-8a097891.system.entry.js +2 -0
  297. package/dist/pine-core/p-8a097891.system.entry.js.map +1 -0
  298. package/dist/pine-core/p-a05bfa39.system.entry.js +2 -0
  299. package/dist/pine-core/p-a05bfa39.system.entry.js.map +1 -0
  300. package/dist/pine-core/p-a9769abf.system.entry.js +2 -0
  301. package/dist/pine-core/p-a9769abf.system.entry.js.map +1 -0
  302. package/dist/pine-core/p-ac46b22e.entry.js +2 -0
  303. package/dist/pine-core/p-ac46b22e.entry.js.map +1 -0
  304. package/dist/pine-core/p-b1c7914b.entry.js +2 -0
  305. package/dist/pine-core/p-b1c7914b.entry.js.map +1 -0
  306. package/dist/pine-core/p-b4852304.system.entry.js +2 -0
  307. package/dist/pine-core/p-b4852304.system.entry.js.map +1 -0
  308. package/dist/pine-core/p-b844e85c.system.entry.js +2 -0
  309. package/dist/pine-core/p-b844e85c.system.entry.js.map +1 -0
  310. package/dist/pine-core/p-b9318435.entry.js +2 -0
  311. package/dist/pine-core/p-b9318435.entry.js.map +1 -0
  312. package/dist/pine-core/p-bc40df83.system.entry.js +2 -0
  313. package/dist/pine-core/p-bc40df83.system.entry.js.map +1 -0
  314. package/dist/pine-core/p-c0804c37.entry.js +2 -0
  315. package/dist/pine-core/p-c0804c37.entry.js.map +1 -0
  316. package/dist/pine-core/p-c6ca5a77.entry.js +2 -0
  317. package/dist/pine-core/p-c6ca5a77.entry.js.map +1 -0
  318. package/dist/pine-core/p-c8b3c512.entry.js +2 -0
  319. package/dist/pine-core/p-c8b3c512.entry.js.map +1 -0
  320. package/dist/pine-core/p-cf035857.system.entry.js +2 -0
  321. package/dist/pine-core/p-cf035857.system.entry.js.map +1 -0
  322. package/dist/pine-core/p-d6611903.entry.js +2 -0
  323. package/dist/pine-core/p-d6611903.entry.js.map +1 -0
  324. package/dist/pine-core/p-ddf4b172.entry.js +8 -0
  325. package/dist/pine-core/p-ddf4b172.entry.js.map +1 -0
  326. package/dist/pine-core/p-e3fd9a87.entry.js +2 -0
  327. package/dist/pine-core/p-e3fd9a87.entry.js.map +1 -0
  328. package/dist/pine-core/p-e6e198eb.system.entry.js +2 -0
  329. package/dist/pine-core/p-e6e198eb.system.entry.js.map +1 -0
  330. package/dist/pine-core/p-f0ea6124.entry.js +2 -0
  331. package/dist/pine-core/p-f0ea6124.entry.js.map +1 -0
  332. package/dist/pine-core/p-f1b34408.entry.js +2 -0
  333. package/dist/pine-core/p-f1b34408.entry.js.map +1 -0
  334. package/dist/pine-core/p-f2550a67.system.entry.js +2 -0
  335. package/dist/pine-core/p-f2550a67.system.entry.js.map +1 -0
  336. package/dist/pine-core/p-f682f33e.system.entry.js +9 -0
  337. package/dist/pine-core/{p-a6b486a4.entry.js.map → p-f682f33e.system.entry.js.map} +1 -1
  338. package/dist/pine-core/p-fc5ff4fe.entry.js +2 -0
  339. package/dist/pine-core/p-fc5ff4fe.entry.js.map +1 -0
  340. package/dist/pine-core/p-fdb6c6ea.system.entry.js +2 -0
  341. package/dist/pine-core/p-fdb6c6ea.system.entry.js.map +1 -0
  342. package/dist/pine-core/pine-core.css +1 -1
  343. package/dist/pine-core/pine-core.esm.js +1 -1
  344. package/dist/types/components/pds-accordion/pds-accordion.d.ts +1 -0
  345. package/hydrate/index.js +162 -89
  346. package/hydrate/index.mjs +162 -89
  347. package/package.json +2 -2
  348. package/dist/pine-core/p-0bf48e12.entry.js +0 -2
  349. package/dist/pine-core/p-0bf48e12.entry.js.map +0 -1
  350. package/dist/pine-core/p-12e1c54f.entry.js +0 -2
  351. package/dist/pine-core/p-12e1c54f.entry.js.map +0 -1
  352. package/dist/pine-core/p-20dae7d1.system.entry.js +0 -2
  353. package/dist/pine-core/p-20dae7d1.system.entry.js.map +0 -1
  354. package/dist/pine-core/p-2837aec3.system.entry.js +0 -2
  355. package/dist/pine-core/p-2837aec3.system.entry.js.map +0 -1
  356. package/dist/pine-core/p-2bce244c.entry.js +0 -2
  357. package/dist/pine-core/p-2bce244c.entry.js.map +0 -1
  358. package/dist/pine-core/p-2d3df02b.entry.js +0 -2
  359. package/dist/pine-core/p-2d3df02b.entry.js.map +0 -1
  360. package/dist/pine-core/p-2ed1ef67.system.entry.js +0 -2
  361. package/dist/pine-core/p-2ed1ef67.system.entry.js.map +0 -1
  362. package/dist/pine-core/p-307b87fc.system.entry.js +0 -2
  363. package/dist/pine-core/p-307b87fc.system.entry.js.map +0 -1
  364. package/dist/pine-core/p-41c843c5.system.entry.js +0 -2
  365. package/dist/pine-core/p-41c843c5.system.entry.js.map +0 -1
  366. package/dist/pine-core/p-4262c8d0.system.entry.js +0 -2
  367. package/dist/pine-core/p-4262c8d0.system.entry.js.map +0 -1
  368. package/dist/pine-core/p-43c37135.entry.js +0 -2
  369. package/dist/pine-core/p-43c37135.entry.js.map +0 -1
  370. package/dist/pine-core/p-45df80d3.entry.js +0 -2
  371. package/dist/pine-core/p-45df80d3.entry.js.map +0 -1
  372. package/dist/pine-core/p-479fd128.system.entry.js +0 -2
  373. package/dist/pine-core/p-479fd128.system.entry.js.map +0 -1
  374. package/dist/pine-core/p-4868ffe2.entry.js +0 -2
  375. package/dist/pine-core/p-4868ffe2.entry.js.map +0 -1
  376. package/dist/pine-core/p-4cfa45e5.system.entry.js +0 -2
  377. package/dist/pine-core/p-4cfa45e5.system.entry.js.map +0 -1
  378. package/dist/pine-core/p-4e5423ec.entry.js +0 -2
  379. package/dist/pine-core/p-4e5423ec.entry.js.map +0 -1
  380. package/dist/pine-core/p-5303452a.entry.js +0 -2
  381. package/dist/pine-core/p-5303452a.entry.js.map +0 -1
  382. package/dist/pine-core/p-59a88d32.entry.js +0 -2
  383. package/dist/pine-core/p-59a88d32.entry.js.map +0 -1
  384. package/dist/pine-core/p-5dab0de3.system.entry.js +0 -2
  385. package/dist/pine-core/p-5dab0de3.system.entry.js.map +0 -1
  386. package/dist/pine-core/p-63eacc4c.entry.js +0 -2
  387. package/dist/pine-core/p-63eacc4c.entry.js.map +0 -1
  388. package/dist/pine-core/p-64a079d4.entry.js +0 -2
  389. package/dist/pine-core/p-64a079d4.entry.js.map +0 -1
  390. package/dist/pine-core/p-64ec41b5.system.entry.js +0 -2
  391. package/dist/pine-core/p-64ec41b5.system.entry.js.map +0 -1
  392. package/dist/pine-core/p-669c5ccd.entry.js +0 -2
  393. package/dist/pine-core/p-669c5ccd.entry.js.map +0 -1
  394. package/dist/pine-core/p-74931ca7.entry.js +0 -2
  395. package/dist/pine-core/p-74931ca7.entry.js.map +0 -1
  396. package/dist/pine-core/p-7c029627.system.entry.js +0 -9
  397. package/dist/pine-core/p-7c029627.system.entry.js.map +0 -1
  398. package/dist/pine-core/p-80efeb1b.entry.js +0 -2
  399. package/dist/pine-core/p-80efeb1b.entry.js.map +0 -1
  400. package/dist/pine-core/p-8233b878.system.entry.js +0 -2
  401. package/dist/pine-core/p-8233b878.system.entry.js.map +0 -1
  402. package/dist/pine-core/p-82a927d0.system.entry.js +0 -2
  403. package/dist/pine-core/p-82a927d0.system.entry.js.map +0 -1
  404. package/dist/pine-core/p-9071a673.system.entry.js +0 -2
  405. package/dist/pine-core/p-9071a673.system.entry.js.map +0 -1
  406. package/dist/pine-core/p-9229e03e.system.entry.js +0 -2
  407. package/dist/pine-core/p-9229e03e.system.entry.js.map +0 -1
  408. package/dist/pine-core/p-94a76b90.system.entry.js +0 -2
  409. package/dist/pine-core/p-94a76b90.system.entry.js.map +0 -1
  410. package/dist/pine-core/p-967ab4b1.system.entry.js +0 -2
  411. package/dist/pine-core/p-967ab4b1.system.entry.js.map +0 -1
  412. package/dist/pine-core/p-a58de843.system.entry.js +0 -2
  413. package/dist/pine-core/p-a58de843.system.entry.js.map +0 -1
  414. package/dist/pine-core/p-a6b486a4.entry.js +0 -8
  415. package/dist/pine-core/p-ad7f960d.system.entry.js +0 -2
  416. package/dist/pine-core/p-ad7f960d.system.entry.js.map +0 -1
  417. package/dist/pine-core/p-b4fb6072.system.entry.js +0 -2
  418. package/dist/pine-core/p-b4fb6072.system.entry.js.map +0 -1
  419. package/dist/pine-core/p-b8cbff05.system.entry.js +0 -2
  420. package/dist/pine-core/p-b8cbff05.system.entry.js.map +0 -1
  421. package/dist/pine-core/p-b94d28cc.entry.js +0 -2
  422. package/dist/pine-core/p-b94d28cc.entry.js.map +0 -1
  423. package/dist/pine-core/p-c644e0b4.system.entry.js +0 -2
  424. package/dist/pine-core/p-c644e0b4.system.entry.js.map +0 -1
  425. package/dist/pine-core/p-cb0cccca.entry.js +0 -2
  426. package/dist/pine-core/p-cb0cccca.entry.js.map +0 -1
  427. package/dist/pine-core/p-dd40be84.entry.js +0 -2
  428. package/dist/pine-core/p-dd40be84.entry.js.map +0 -1
  429. package/dist/pine-core/p-e339312d.entry.js +0 -2
  430. package/dist/pine-core/p-e339312d.entry.js.map +0 -1
  431. package/dist/pine-core/p-e52afdbe.entry.js +0 -2
  432. package/dist/pine-core/p-e52afdbe.entry.js.map +0 -1
  433. package/dist/pine-core/p-e705a6ad.system.entry.js +0 -2
  434. package/dist/pine-core/p-e705a6ad.system.entry.js.map +0 -1
  435. package/dist/pine-core/p-ed4e6972.entry.js +0 -2
  436. package/dist/pine-core/p-ed4e6972.entry.js.map +0 -1
  437. package/dist/pine-core/p-f2e0fc56.entry.js +0 -2
  438. package/dist/pine-core/p-f2e0fc56.entry.js.map +0 -1
  439. package/dist/pine-core/p-f8c08ca7.system.entry.js +0 -2
  440. package/dist/pine-core/p-f8c08ca7.system.entry.js.map +0 -1
  441. package/dist/pine-core/p-f954f3af.entry.js +0 -2
  442. package/dist/pine-core/p-f954f3af.entry.js.map +0 -1
@@ -2,8 +2,11 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { d as downSmall } from './index2.js';
3
3
  import { d as defineCustomElement$2 } from './pds-icon2.js';
4
4
 
5
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
6
+ const PdsAccordionStyle0 = baseCss;
7
+
5
8
  const pdsAccordionCss = ":host{display:block}details{--border-radius-default:var(--pine-border-radius-100);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--color-background-default:var(--pine-color-white);--color-background-hover:var(--pine-color-grey-150);--color-text-default:var(--pine-color-grey-700);--color-text-active:var(--pine-color-grey-950);--color-text-hover:var(--pine-color-grey-800);--font-weight-active:var(--pine-font-weight-semi-bold);--number-animation-transform-timing:200ms;--spacing-details-padding-inline:var(--pine-spacing-150);--spacing-details-padding-block-end:calc(var(--pine-spacing-200) + 2);--spacing-summary-padding-block:calc(var(--pine-spacing-150) / 2);--spacing-summary-padding-inline-start:var(--pine-spacing-100);--spacing-summary-padding-inline-end:var(--pine-spacing-050);--typography-default:var(--pine-font-weight-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-inter);border-radius:var(--border-radius-default)}details pds-icon{-webkit-transform:scaleY(1);transform:scaleY(1)}details[open]{background-color:var(--color-background-default)}details[open] summary{color:var(--color-text-active);font-weight:var(--font-weight-active)}details[open] summary pds-icon{-webkit-transform:scaleY(-1);transform:scaleY(-1)}summary{background-color:var(--color-background-default);border-radius:var(--border-radius-default);color:var(--color-text-default);font:var(--typography-default);padding-block:var(--spacing-summary-padding-block);-webkit-padding-end:var(--spacing-summary-padding-inline-end);padding-inline-end:var(--spacing-summary-padding-inline-end);-webkit-padding-start:var(--spacing-summary-padding-inline-start);padding-inline-start:var(--spacing-summary-padding-inline-start);-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}summary::-webkit-details-marker{display:none}summary:hover{background:var(--color-background-hover);color:var(--color-text-hover);cursor:pointer}summary:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none;position:relative}summary pds-icon{-webkit-margin-start:auto;margin-inline-start:auto}.pds-accordion__body{-webkit-padding-after:var(--spacing-details-padding-block-end);padding-block-end:var(--spacing-details-padding-block-end);padding-inline:var(--spacing-details-padding-inline)}";
6
- const PdsAccordionStyle0 = pdsAccordionCss;
9
+ const PdsAccordionStyle1 = pdsAccordionCss;
7
10
 
8
11
  const PdsAccordion$1 = /*@__PURE__*/ proxyCustomElement(class PdsAccordion extends HTMLElement {
9
12
  constructor() {
@@ -29,12 +32,12 @@ const PdsAccordion$1 = /*@__PURE__*/ proxyCustomElement(class PdsAccordion exten
29
32
  this.detailsEl.addEventListener('toggle', this.handleToggle);
30
33
  }
31
34
  render() {
32
- return (h(Host, { key: '7789d456b8a8415a7860754f374c5dad138216b8', class: "pds-accordion", id: this.componentId }, h("details", Object.assign({ key: 'e81776ae675f74cd5584c668d717ba0ca91c314c' }, this.getOpenAttribute(), { ref: (el) => (this.detailsEl = el) }), h("summary", { key: 'ae8e7ed87ec55bcb51dfe44ed648f9cd0f416aa9' }, h("slot", { key: '0840b76aa1e6d84f0b0bec40e37a26f243a4bbe3', name: "label" }, "Details"), h("pds-icon", { key: 'b41cb7c07dfb4a73f97d5a2bd5ec86316d5148f8', icon: downSmall })), h("div", { key: 'ed5c79c4930d94105343f0512ab9059ff30b7365', part: "accordion-body", class: "pds-accordion__body" }, h("slot", { key: '9f1c522f1343b19b482a24c2ad063c8ec0e2457b' })))));
35
+ return (h(Host, { key: '9a8c2f915879f63d8a7255cf0f58b55f4b590eed', class: "pds-accordion", id: this.componentId }, h("details", Object.assign({ key: 'f5428c5e340c55750fb94d85dfd7cdbb853c32de' }, this.getOpenAttribute(), { ref: (el) => (this.detailsEl = el) }), h("summary", { key: '9255f9c850016e964d468ed35578c01159b7f234', part: "accordion-button" }, h("slot", { key: '2b1dba36c97ed9c46b1efe7aac44cae4203e7a50', name: "label" }, "Details"), h("pds-icon", { key: '9185cfd595c09a15c57fe1e1d89a2895c461aa46', icon: downSmall })), h("div", { key: '41d030c5ffc2cee2099f141e80695c1f4e6ddcb0', part: "accordion-body", class: "pds-accordion__body" }, h("slot", { key: 'b10afd83e6bec657dfa88cdf4a73f32f12d46935' })))));
33
36
  }
34
37
  static get watchers() { return {
35
38
  "isOpen": ["handleOpenState"]
36
39
  }; }
37
- static get style() { return PdsAccordionStyle0; }
40
+ static get style() { return PdsAccordionStyle0 + PdsAccordionStyle1; }
38
41
  }, [1, "pds-accordion", {
39
42
  "componentId": [1, "component-id"],
40
43
  "isOpen": [1540, "open"]
@@ -1 +1 @@
1
- {"file":"pds-accordion.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,40EAA40E,CAAC;AACr2E,2BAAe,eAAe;;MCYjBA,cAAY;;;;;QAwBf,iBAAY,GAAG;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACnC,CAAC;QAEM,qBAAgB,GAAG;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aACvB;YACD,OAAO,EAAE,CAAC;SACX,CAAC;;sBAhBmB,KAAK;;IAG1B,eAAe,CAAC,QAAiB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;KACxB;IAaD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9D;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IAC9C,gFAAa,IAAI,CAAC,gBAAgB,EAAE,IAAE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAwB,CAAC,KAC5F,kEACE,6DAAM,IAAI,EAAC,OAAO,cAAe,EACjC,iEAAU,IAAI,EAAE,SAAS,GAAI,CACrB,EACV,4DAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,qBAAqB,IACpD,8DAAQ,CACJ,CACE,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsAccordion"],"sources":["src/components/pds-accordion/pds-accordion.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\ndetails {\n --border-radius-default: var(--pine-border-radius-100);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n\n --color-background-default: var(--pine-color-white);\n --color-background-hover: var(--pine-color-grey-150);\n --color-text-default: var(--pine-color-grey-700);\n --color-text-active: var(--pine-color-grey-950);\n --color-text-hover: var(--pine-color-grey-800);\n\n --font-weight-active: var(--pine-font-weight-semi-bold);\n\n --number-animation-transform-timing: 200ms;\n\n --spacing-details-padding-inline: var(--pine-spacing-150);\n --spacing-details-padding-block-end: calc(var(--pine-spacing-200) + 2); //18 + 2 = 18px\n --spacing-summary-padding-block: calc(var(--pine-spacing-150) / 2); //12 / 2 = 6px\n --spacing-summary-padding-inline-start: var(--pine-spacing-100);\n --spacing-summary-padding-inline-end: var(--pine-spacing-050);\n\n --typography-default: var(--pine-font-weight-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-inter);\n\n border-radius: var(--border-radius-default);\n\n pds-icon {\n transform: scaleY(1);\n }\n}\n\n/* stylelint-disable-next-line */\ndetails[open] {\n background-color: var(--color-background-default);\n\n summary {\n color: var(--color-text-active);\n font-weight: var(--font-weight-active);\n\n pds-icon {\n transform: scaleY(-1);\n }\n }\n}\n\nsummary {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-default);\n color: var(--color-text-default);\n font: var(--typography-default);\n padding-block: var(--spacing-summary-padding-block);\n padding-inline-end: var(--spacing-summary-padding-inline-end);\n padding-inline-start: var(--spacing-summary-padding-inline-start);\n\n // Removes marker on Firefox/Chrome\n /* stylelint-disable-next-line */\n align-items: center;\n display: flex;\n\n // Removes marker on Safari\n &::-webkit-details-marker {\n display: none;\n }\n\n &:hover {\n background: var(--color-background-hover);\n color: var(--color-text-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n position: relative;\n }\n\n pds-icon {\n margin-inline-start: auto;\n }\n}\n\n.pds-accordion__body {\n padding-block-end: var(--spacing-details-padding-block-end);\n padding-inline: var(--spacing-details-padding-inline);\n}\n","import { Component, h, Host, Prop, Watch } from '@stencil/core';\nimport { downSmall } from '@pine-ds/icons/icons';\n\n/**\n * @part accordion-body - Accordion body styles.\n * @slot (default) - Accordion body content.\n * @slot label - Accordion trigger button content.\n */\n@Component({\n tag: 'pds-accordion',\n styleUrl: 'pds-accordion.scss',\n shadow: true,\n})\nexport class PdsAccordion {\n private detailsEl: HTMLDetailsElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n * @defaultValue null\n */\n @Prop() componentId: string;\n\n /**\n * Can be used to manually set the open state of the accordion.\n * @defaultValue false\n */\n @Prop({\n attribute: 'open',\n mutable: true,\n reflect: true,\n }) isOpen: boolean = false;\n\n @Watch('isOpen')\n handleOpenState(newValue: boolean) {\n this.isOpen = newValue;\n }\n\n private handleToggle = () => {\n this.isOpen = this.detailsEl.open;\n };\n\n private getOpenAttribute = () => {\n if (this.isOpen !== false) {\n return { open: true };\n }\n return '';\n };\n\n componentDidLoad() {\n this.detailsEl.addEventListener('toggle', this.handleToggle);\n }\n\n render() {\n return (\n <Host class=\"pds-accordion\" id={this.componentId}>\n <details {...this.getOpenAttribute()} ref={(el) => (this.detailsEl = el as HTMLDetailsElement)}>\n <summary>\n <slot name=\"label\">Details</slot>\n <pds-icon icon={downSmall} />\n </summary>\n <div part=\"accordion-body\" class=\"pds-accordion__body\">\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-accordion.js","mappings":";;;;AAAA,MAAM,OAAO,GAAG,m2DAAm2D,CAAC;AACp3D,2BAAe,OAAO;;ACDtB,MAAM,eAAe,GAAG,40EAA40E,CAAC;AACr2E,2BAAe,eAAe;;MCajBA,cAAY;;;;;QAwBf,iBAAY,GAAG;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACnC,CAAC;QAEM,qBAAgB,GAAG;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aACvB;YACD,OAAO,EAAE,CAAC;SACX,CAAC;;sBAhBmB,KAAK;;IAG1B,eAAe,CAAC,QAAiB;QAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;KACxB;IAaD,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9D;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAC,eAAe,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IAC9C,gFAAa,IAAI,CAAC,gBAAgB,EAAE,IAAE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,GAAG,EAAwB,CAAC,KAC5F,gEAAS,IAAI,EAAC,kBAAkB,IAC9B,6DAAM,IAAI,EAAC,OAAO,cAAe,EACjC,iEAAU,IAAI,EAAE,SAAS,GAAI,CACrB,EACV,4DAAK,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,qBAAqB,IACpD,8DAAQ,CACJ,CACE,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsAccordion"],"sources":["src/global/styles/base.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.scss?tag=pds-accordion&encapsulation=shadow","src/components/pds-accordion/pds-accordion.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font-family: var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(p) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n display: block;\n}\n\ndetails {\n --border-radius-default: var(--pine-border-radius-100);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n\n --color-background-default: var(--pine-color-white);\n --color-background-hover: var(--pine-color-grey-150);\n --color-text-default: var(--pine-color-grey-700);\n --color-text-active: var(--pine-color-grey-950);\n --color-text-hover: var(--pine-color-grey-800);\n\n --font-weight-active: var(--pine-font-weight-semi-bold);\n\n --number-animation-transform-timing: 200ms;\n\n --spacing-details-padding-inline: var(--pine-spacing-150);\n --spacing-details-padding-block-end: calc(var(--pine-spacing-200) + 2); //18 + 2 = 18px\n --spacing-summary-padding-block: calc(var(--pine-spacing-150) / 2); //12 / 2 = 6px\n --spacing-summary-padding-inline-start: var(--pine-spacing-100);\n --spacing-summary-padding-inline-end: var(--pine-spacing-050);\n\n --typography-default: var(--pine-font-weight-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-inter);\n\n border-radius: var(--border-radius-default);\n\n pds-icon {\n transform: scaleY(1);\n }\n}\n\n/* stylelint-disable-next-line */\ndetails[open] {\n background-color: var(--color-background-default);\n\n summary {\n color: var(--color-text-active);\n font-weight: var(--font-weight-active);\n\n pds-icon {\n transform: scaleY(-1);\n }\n }\n}\n\nsummary {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-default);\n color: var(--color-text-default);\n font: var(--typography-default);\n padding-block: var(--spacing-summary-padding-block);\n padding-inline-end: var(--spacing-summary-padding-inline-end);\n padding-inline-start: var(--spacing-summary-padding-inline-start);\n\n // Removes marker on Firefox/Chrome\n /* stylelint-disable-next-line */\n align-items: center;\n display: flex;\n\n // Removes marker on Safari\n &::-webkit-details-marker {\n display: none;\n }\n\n &:hover {\n background: var(--color-background-hover);\n color: var(--color-text-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n position: relative;\n }\n\n pds-icon {\n margin-inline-start: auto;\n }\n}\n\n.pds-accordion__body {\n padding-block-end: var(--spacing-details-padding-block-end);\n padding-inline: var(--spacing-details-padding-inline);\n}\n","import { Component, h, Host, Prop, Watch } from '@stencil/core';\nimport { downSmall } from '@pine-ds/icons/icons';\n\n/**\n * @part accordion-body - Accordion body styles.\n * @part accordion-button - Accordion button/trigger styles.\n * @slot (default) - Accordion body content.\n * @slot label - Accordion trigger button content.\n */\n@Component({\n tag: 'pds-accordion',\n styleUrls: ['../../global/styles/base.scss','pds-accordion.scss'],\n shadow: true,\n})\nexport class PdsAccordion {\n private detailsEl: HTMLDetailsElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n * @defaultValue null\n */\n @Prop() componentId: string;\n\n /**\n * Can be used to manually set the open state of the accordion.\n * @defaultValue false\n */\n @Prop({\n attribute: 'open',\n mutable: true,\n reflect: true,\n }) isOpen: boolean = false;\n\n @Watch('isOpen')\n handleOpenState(newValue: boolean) {\n this.isOpen = newValue;\n }\n\n private handleToggle = () => {\n this.isOpen = this.detailsEl.open;\n };\n\n private getOpenAttribute = () => {\n if (this.isOpen !== false) {\n return { open: true };\n }\n return '';\n };\n\n componentDidLoad() {\n this.detailsEl.addEventListener('toggle', this.handleToggle);\n }\n\n render() {\n return (\n <Host class=\"pds-accordion\" id={this.componentId}>\n <details {...this.getOpenAttribute()} ref={(el) => (this.detailsEl = el as HTMLDetailsElement)}>\n <summary part=\"accordion-button\">\n <slot name=\"label\">Details</slot>\n <pds-icon icon={downSmall} />\n </summary>\n <div part=\"accordion-body\" class=\"pds-accordion__body\">\n <slot />\n </div>\n </details>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,8 +2,11 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { c as checkCircleFilled, u as userFilled } from './index2.js';
3
3
  import { d as defineCustomElement$2 } from './pds-icon2.js';
4
4
 
5
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
6
+ const PdsAvatarStyle0 = baseCss;
7
+
5
8
  const pdsAvatarCss = ":host{display:inline-block}div{--color-background-container:var(--pine-color-blue-100);--color-background-badge:var(--pine-color-white);--color-border-badge:var(--pine-color-white);--border-default:var(--pine-border-width-thin) solid var(--pine-color-grey-300);--border-radius-round:var(--pine-border-radius-round);--border-radius-none:var(--pine-border-radius-0);--spacing-none:var(--pine-spacing-0);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--border-radius-round));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-spacing-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--border-radius-round:var(--pine-border-radius-round);-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--border-radius-none);border-radius:var(--border-radius-round);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--spacing-none)}.pds-avatar__button:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-avatar__badge{background-color:var(--color-background-badge);border:var(--border-default);border-color:var(--color-border-badge);border-radius:var(--border-radius-round);bottom:var(--spacing-none);position:absolute;right:var(--spacing-none)}img{border-radius:var(--border-radius-admin-round, var(--border-radius-round));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}";
6
- const PdsAvatarStyle0 = pdsAvatarCss;
9
+ const PdsAvatarStyle1 = pdsAvatarCss;
7
10
 
8
11
  const PdsAvatar$1 = /*@__PURE__*/ proxyCustomElement(class PdsAvatar extends HTMLElement {
9
12
  constructor() {
@@ -64,9 +67,9 @@ const PdsAvatar$1 = /*@__PURE__*/ proxyCustomElement(class PdsAvatar extends HTM
64
67
  }
65
68
  }
66
69
  render() {
67
- return (h(Host, { key: '8c43a9de8b7799b5aafff0c12c2e95e53bed2041', id: this.componentId, class: Object.assign({}, this.classNames()) }, this.renderAvatar()));
70
+ return (h(Host, { key: '3ca2ea6a15dd0ab841dcc4ec9d8fd0e57e908f53', id: this.componentId, class: Object.assign({}, this.classNames()) }, this.renderAvatar()));
68
71
  }
69
- static get style() { return PdsAvatarStyle0; }
72
+ static get style() { return PdsAvatarStyle0 + PdsAvatarStyle1; }
70
73
  }, [1, "pds-avatar", {
71
74
  "alt": [1],
72
75
  "badge": [4],
@@ -1 +1 @@
1
- {"file":"pds-avatar.js","mappings":";;;;AAAA,MAAM,YAAY,GAAG,60DAA60D,CAAC;AACn2D,wBAAe,YAAY;;MCUdA,WAAS;;;;;QAiEZ,uBAAkB,GAAG;YAC3B,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;gBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;aACzB,CAAC;YAEF,QACE,WAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,eAAe,IACpC,IAAI,CAAC,iBAAiB,EAAE,EACxB,IAAI,CAAC,WAAW,EAAE,CACf,EACP;SACF,CAAC;QAEM,iBAAY,GAAG;YACrB,QACE,IAAI,CAAC,QAAQ;;oBAEX,cAAQ,KAAK,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,gBAAY,yBAAyB,IACpF,IAAI,CAAC,kBAAkB,EAAE,CACjB;;oBAET,IAAI,CAAC,kBAAkB,EAAE,EAC5B;SACF,CAAC;QAEM,gBAAW,GAAG,OACpB,IAAI,CAAC,KAAK;;;;eAIL,gBAAU,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,QAAQ,GAAY,CAC5F,CAAC;QAEM,sBAAiB,GAAG,OAC1B,IAAI,CAAC,KAAK;cACN,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI;;;;cAIvC,gBAAU,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAC,QAAQ,GAAY,CAC7F,CAAC;QAEM,eAAU,GAAG,OACnB;YACE,YAAY,EAAE,IAAI;YAClB,CAAC,uBAAuB,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YACnE,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO;SAC1D,CACF,CAAC;mBA5G4B,IAAI;qBAMjB,KAAK;;wBAWF,KAAK;qBAMO,IAAI;oBAYzB,IAAI;uBAM2C,UAAU;;IAE5D,UAAU;QAChB,MAAM,KAAK,GAA2B;YACpC,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;SACX,CAAA;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAA;SACjB;KACF;IAqDD,MAAM;QAEJ,QACE,EAAC,IAAI,qDACH,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,KAAK,oBAAM,IAAI,CAAC,UAAU,EAAE,KAE3B,IAAI,CAAC,YAAY,EAAE,CACf,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsAvatar"],"sources":["src/components/pds-avatar/pds-avatar.scss?tag=pds-avatar&encapsulation=shadow","src/components/pds-avatar/pds-avatar.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\ndiv {\n // These custom props are not reachable\n --color-background-container: var(--pine-color-blue-100);\n --color-background-badge: var(--pine-color-white);\n --color-border-badge: var(--pine-color-white);\n\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --border-radius-round: var(--pine-border-radius-round);\n --border-radius-none: var(--pine-border-radius-0);\n\n --spacing-none: var(--pine-spacing-0);\n\n align-items: center;\n background-color: var(--color-background-container);\n border-radius: var(--border-radius-admin-round, var(--border-radius-round));\n display: inline-flex;\n justify-content: center;\n position: relative;\n\n :host(.pds-avatar--admin) & {\n --border-radius-admin-round: var(--pine-spacing-150);\n border-radius: var(--border-radius-admin-round);\n }\n\n // Remove when FF has support for :has\n :host(.pds-avatar--has-image) & {\n background: transparent\n }\n\n @supports selector(:has) {\n &:has(img) {\n background-color: transparent\n }\n }\n}\n\n.pds-avatar__button {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius-round: var(--pine-border-radius-round);\n\n align-items: center;\n appearance: none;\n background: transparent;\n border: var(--border-radius-none);\n border-radius: var(--border-radius-round);\n cursor: pointer;\n display: flex;\n padding: var(--spacing-none);\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-avatar__badge {\n background-color: var(--color-background-badge);\n border: var(--border-default);\n border-color: var(--color-border-badge);\n border-radius: var(--border-radius-round);\n bottom: var(--spacing-none);\n position: absolute;\n right: var(--spacing-none);\n}\n\nimg {\n border-radius: var(--border-radius-admin-round, var(--border-radius-round));\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { checkCircleFilled, userFilled } from '@pine-ds/icons/icons';\n\n/**\n * @part image - The main image element that represents the avatar component.\n*/\n@Component({\n tag: 'pds-avatar',\n styleUrl: 'pds-avatar.scss',\n shadow: true,\n})\nexport class PdsAvatar {\n\n /**\n * The alt for a custom user image.\n * @defaultValue null\n */\n @Prop() alt?: string | null = null;\n\n /**\n * Determines whether the badge is visible or not.\n * @defaultValue false\n */\n @Prop() badge? = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether the avatar functions as a dropdown trigger.\n * @defaultValue false\n */\n @Prop() dropdown? = false;\n\n /**\n * The src for a custom user image.\n * @defaultValue null\n */\n @Prop() image?: string | null = null;\n\n /**\n * Size of the avatar. Value can be preset or custom.\n * @defaultValue lg\n */\n @Prop({ reflect: true }) size?:\n | 'xl' // 64px\n | 'lg' // 56px\n | 'md' // 40px\n | 'sm' // 32px\n | 'xs' // 24px\n | string = 'lg';\n\n /**\n * Determines the variant of avatar. Changes appearance accordingly.\n * @defaultValue customer\n */\n @Prop({ reflect: true }) variant?: 'customer' | 'admin' = 'customer';\n\n private avatarSize() {\n const sizes: { [key: string]: any } = {\n xs: '24px',\n sm: '32px',\n md: '40px',\n lg: '56px',\n xl: '64px',\n }\n\n if (sizes[this.size]) {\n return sizes[this.size];\n } else {\n return this.size\n }\n }\n\n private renderAssetWrapper = () => {\n const style = {\n height: this.avatarSize(),\n width: this.avatarSize()\n };\n\n return (\n <div style={style} part=\"asset-wrapper\">\n {this.renderIconOrImage()}\n {this.renderBadge()}\n </div>\n )\n };\n\n private renderAvatar = () => {\n return (\n this.dropdown\n ?\n <button class=\"pds-avatar__button\" type=\"button\" aria-label=\"Avatar dropdown trigger\">\n {this.renderAssetWrapper()}\n </button>\n :\n this.renderAssetWrapper()\n )\n };\n\n private renderBadge = () => (\n this.badge\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n && <pds-icon class=\"pds-avatar__badge\" icon={checkCircleFilled} size=\"33.53%\"></pds-icon>\n );\n\n private renderIconOrImage = () => (\n this.image\n ? <img alt={this.alt} src={this.image} />\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n : <pds-icon color=\"var(--pine-color-blue-400)\" icon={userFilled} size=\"33.53%\"></pds-icon>\n );\n\n private classNames = () => (\n {\n 'pds-avatar': true,\n [`pds-avatar--has-image`]: this.image !== '' && this.image !== null, // Remove when FF supports :has selector\n [`pds-avatar--${this.variant}`]: this.variant === 'admin'\n }\n );\n\n render() {\n\n return (\n <Host\n id={this.componentId}\n class={{...this.classNames()}}\n >\n {this.renderAvatar()}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-avatar.js","mappings":";;;;AAAA,MAAM,OAAO,GAAG,m2DAAm2D,CAAC;AACp3D,wBAAe,OAAO;;ACDtB,MAAM,YAAY,GAAG,60DAA60D,CAAC;AACn2D,wBAAe,YAAY;;MCUdA,WAAS;;;;;QAiEZ,uBAAkB,GAAG;YAC3B,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;gBACzB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;aACzB,CAAC;YAEF,QACE,WAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,eAAe,IACpC,IAAI,CAAC,iBAAiB,EAAE,EACxB,IAAI,CAAC,WAAW,EAAE,CACf,EACP;SACF,CAAC;QAEM,iBAAY,GAAG;YACrB,QACE,IAAI,CAAC,QAAQ;;oBAEX,cAAQ,KAAK,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,gBAAY,yBAAyB,IACpF,IAAI,CAAC,kBAAkB,EAAE,CACjB;;oBAET,IAAI,CAAC,kBAAkB,EAAE,EAC5B;SACF,CAAC;QAEM,gBAAW,GAAG,OACpB,IAAI,CAAC,KAAK;;;;eAIL,gBAAU,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAC,QAAQ,GAAY,CAC5F,CAAC;QAEM,sBAAiB,GAAG,OAC1B,IAAI,CAAC,KAAK;cACN,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI;;;;cAIvC,gBAAU,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAC,QAAQ,GAAY,CAC7F,CAAC;QAEM,eAAU,GAAG,OACnB;YACE,YAAY,EAAE,IAAI;YAClB,CAAC,uBAAuB,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YACnE,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO;SAC1D,CACF,CAAC;mBA5G4B,IAAI;qBAMjB,KAAK;;wBAWF,KAAK;qBAMO,IAAI;oBAYzB,IAAI;uBAM2C,UAAU;;IAE5D,UAAU;QAChB,MAAM,KAAK,GAA2B;YACpC,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;SACX,CAAA;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAA;SACjB;KACF;IAqDD,MAAM;QAEJ,QACE,EAAC,IAAI,qDACH,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,KAAK,oBAAM,IAAI,CAAC,UAAU,EAAE,KAE3B,IAAI,CAAC,YAAY,EAAE,CACf,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsAvatar"],"sources":["src/global/styles/base.scss?tag=pds-avatar&encapsulation=shadow","src/components/pds-avatar/pds-avatar.scss?tag=pds-avatar&encapsulation=shadow","src/components/pds-avatar/pds-avatar.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font-family: var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(p) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n display: inline-block;\n}\n\ndiv {\n // These custom props are not reachable\n --color-background-container: var(--pine-color-blue-100);\n --color-background-badge: var(--pine-color-white);\n --color-border-badge: var(--pine-color-white);\n\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --border-radius-round: var(--pine-border-radius-round);\n --border-radius-none: var(--pine-border-radius-0);\n\n --spacing-none: var(--pine-spacing-0);\n\n align-items: center;\n background-color: var(--color-background-container);\n border-radius: var(--border-radius-admin-round, var(--border-radius-round));\n display: inline-flex;\n justify-content: center;\n position: relative;\n\n :host(.pds-avatar--admin) & {\n --border-radius-admin-round: var(--pine-spacing-150);\n border-radius: var(--border-radius-admin-round);\n }\n\n // Remove when FF has support for :has\n :host(.pds-avatar--has-image) & {\n background: transparent\n }\n\n @supports selector(:has) {\n &:has(img) {\n background-color: transparent\n }\n }\n}\n\n.pds-avatar__button {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius-round: var(--pine-border-radius-round);\n\n align-items: center;\n appearance: none;\n background: transparent;\n border: var(--border-radius-none);\n border-radius: var(--border-radius-round);\n cursor: pointer;\n display: flex;\n padding: var(--spacing-none);\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-avatar__badge {\n background-color: var(--color-background-badge);\n border: var(--border-default);\n border-color: var(--color-border-badge);\n border-radius: var(--border-radius-round);\n bottom: var(--spacing-none);\n position: absolute;\n right: var(--spacing-none);\n}\n\nimg {\n border-radius: var(--border-radius-admin-round, var(--border-radius-round));\n height: 100%;\n object-fit: cover;\n width: 100%;\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { checkCircleFilled, userFilled } from '@pine-ds/icons/icons';\n\n/**\n * @part image - The main image element that represents the avatar component.\n*/\n@Component({\n tag: 'pds-avatar',\n styleUrls: ['../../global/styles/base.scss', 'pds-avatar.scss'],\n shadow: true,\n})\nexport class PdsAvatar {\n\n /**\n * The alt for a custom user image.\n * @defaultValue null\n */\n @Prop() alt?: string | null = null;\n\n /**\n * Determines whether the badge is visible or not.\n * @defaultValue false\n */\n @Prop() badge? = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether the avatar functions as a dropdown trigger.\n * @defaultValue false\n */\n @Prop() dropdown? = false;\n\n /**\n * The src for a custom user image.\n * @defaultValue null\n */\n @Prop() image?: string | null = null;\n\n /**\n * Size of the avatar. Value can be preset or custom.\n * @defaultValue lg\n */\n @Prop({ reflect: true }) size?:\n | 'xl' // 64px\n | 'lg' // 56px\n | 'md' // 40px\n | 'sm' // 32px\n | 'xs' // 24px\n | string = 'lg';\n\n /**\n * Determines the variant of avatar. Changes appearance accordingly.\n * @defaultValue customer\n */\n @Prop({ reflect: true }) variant?: 'customer' | 'admin' = 'customer';\n\n private avatarSize() {\n const sizes: { [key: string]: any } = {\n xs: '24px',\n sm: '32px',\n md: '40px',\n lg: '56px',\n xl: '64px',\n }\n\n if (sizes[this.size]) {\n return sizes[this.size];\n } else {\n return this.size\n }\n }\n\n private renderAssetWrapper = () => {\n const style = {\n height: this.avatarSize(),\n width: this.avatarSize()\n };\n\n return (\n <div style={style} part=\"asset-wrapper\">\n {this.renderIconOrImage()}\n {this.renderBadge()}\n </div>\n )\n };\n\n private renderAvatar = () => {\n return (\n this.dropdown\n ?\n <button class=\"pds-avatar__button\" type=\"button\" aria-label=\"Avatar dropdown trigger\">\n {this.renderAssetWrapper()}\n </button>\n :\n this.renderAssetWrapper()\n )\n };\n\n private renderBadge = () => (\n this.badge\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n && <pds-icon class=\"pds-avatar__badge\" icon={checkCircleFilled} size=\"33.53%\"></pds-icon>\n );\n\n private renderIconOrImage = () => (\n this.image\n ? <img alt={this.alt} src={this.image} />\n // Percentage is average size of icon in relation to total avatar size\n // of all preset sizes found in Figma.\n // Used to allow icons to scale to container size\n : <pds-icon color=\"var(--pine-color-blue-400)\" icon={userFilled} size=\"33.53%\"></pds-icon>\n );\n\n private classNames = () => (\n {\n 'pds-avatar': true,\n [`pds-avatar--has-image`]: this.image !== '' && this.image !== null, // Remove when FF supports :has selector\n [`pds-avatar--${this.variant}`]: this.variant === 'admin'\n }\n );\n\n render() {\n\n return (\n <Host\n id={this.componentId}\n class={{...this.classNames()}}\n >\n {this.renderAvatar()}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -6,8 +6,11 @@ const hasShadowDom = (el) => {
6
6
  return !!el.shadowRoot && !!el.attachShadow;
7
7
  };
8
8
 
9
- const pdsButtonCss = ":host{--border-radius-default:var(--pine-border-radius-round);--border-width-default:var(--pine-border-width-thin);--border-width-unstyled:var(--pine-border-radius-0);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--color-background-primary-default:var(--pine-color-grey-900);--color-background-primary-disabled:var(--pine-color-grey-300);--color-background-primary-hover:var(--pine-color-grey-950);--color-text-primary-default:var(--pine-color-white);--color-text-primary-disabled:var(--pine-color-grey-600);--color-outline-primary:var(--pine-color-blue-200);--color-border-secondary-default:var(--pine-color-grey-400);--color-border-secondary-disabled:var(--pine-color-grey-300);--color-border-secondary-focus:var(--pine-color-grey-300);--color-border-secondary-hover:var(--pine-color-grey-500);--color-text-secondary-default:var(--pine-color-grey-900);--color-text-secondary-disabled:var(--pine-color-grey-600);--color-outline-secondary:var(--pine-color-blue-200);--color-background-accent-default:var(--pine-color-purple-500);--color-background-accent-disabled:var(--pine-color-purple-150);--color-background-accent-hover:var(--pine-color-purple-600);--color-text-accent-default:var(--pine-color-white);--color-text-accent-disabled:var(--pine-color-purple-300);--color-outline-accent:var(--pine-color-purple-300);--color-background-destructive-default:var(--pine-color-red-300);--color-background-destructive-disabled:var(--pine-color-red-100);--color-background-destructive-hover:var(--pine-color-red-400);--color-text-destructive-default:var(--pine-color-white);--color-text-destructive-disabled:var(--pine-color-red-200);--color-outline-destructive:var(--pine-color-red-200);--spacing-disclosure-icon-margin-inline-end:var(--pine-spacing-0);--spacing-disclosure-margin-inline-start:var(--pine-spacing-100);--spacing-icon-margin-inline-end:var(--pine-spacing-100);--spacing-padding-block:var(--pine-spacing-100);--spacing-padding-inline:var(--pine-spacing-200);--spacing-unstyled:var(--pine-spacing-0);--typography-default:var(--pine-font-weight-semi-bold) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.pds-button{-ms-flex-align:center;align-items:center;background-color:var(--color-background-default);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--pine-border-radius-125);color:var(--color-text-default);display:-ms-flexbox;display:flex;font:var(--typography-default);min-height:40px;padding:var(--spacing-padding-block) var(--spacing-padding-inline)}.pds-button pds-icon{fill:currentColor;-webkit-margin-end:var(--spacing-icon-margin-inline-end);margin-inline-end:var(--spacing-icon-margin-inline-end)}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);border-color:var(--color-border-focus);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled)}.pds-button--primary{--color-background-default:var(--color-background-primary-default);--color-background-hover:var(--color-background-primary-hover);--color-background-disabled:var(--color-background-primary-disabled);--color-text-default:var(--color-text-primary-default);--color-text-disabled:var(--color-text-primary-disabled);--color-outline:var(--color-outline-primary)}.pds-button--accent{--color-background-default:var(--color-background-accent-default);--color-background-hover:var(--color-background-accent-hover);--color-background-disabled:var(--color-background-accent-disabled);--color-text-default:var(--color-text-accent-default);--color-text-disabled:var(--color-text-accent-disabled);--color-outline:var(--color-outline-accent)}.pds-button--destructive{--color-background-default:var(--color-background-destructive-default);--color-background-hover:var(--color-background-destructive-hover);--color-background-disabled:var(--color-background-destructive-disabled);--color-text-default:var(--color-text-destructive-default);--color-text-disabled:var(--color-text-destructive-disabled);--color-outline:var(--color-outline-destructive)}.pds-button--destructive:focus-visible{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-button--secondary,.pds-button--disclosure{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-border-disabled:var(--color-border-secondary-disabled);--color-border-focus:var(--color-border-secondary-focus);--color-border-hover:var(--color-border-secondary-hover);--color-border-default:var(--color-border-secondary-default);--color-text-default:var(--color-text-secondary-default);--color-text-disabled:var(--color-text-secondary-disabled);--color-outline:var(--color-outline-secondary)}.pds-button--disclosure pds-icon{-webkit-margin-end:var(--spacing-disclosure-icon-margin-inline-end);margin-inline-end:var(--spacing-disclosure-icon-margin-inline-end);-webkit-margin-start:var(--spacing-disclosure-margin-inline-start);margin-inline-start:var(--spacing-disclosure-margin-inline-start)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;border:var(--border-width-unstyled);margin:var(--spacing-unstyled);min-height:auto;padding:var(--spacing-unstyled);width:inherit}";
10
- const PdsButtonStyle0 = pdsButtonCss;
9
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
10
+ const PdsButtonStyle0 = baseCss;
11
+
12
+ const pdsButtonCss = ":host{--border-radius-default:var(--pine-border-radius-round);--border-width-default:var(--pine-border-width-thin);--border-width-unstyled:var(--pine-border-radius-0);--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--color-background-primary-default:var(--pine-color-grey-900);--color-background-primary-disabled:var(--pine-color-grey-300);--color-background-primary-hover:var(--pine-color-grey-950);--color-text-primary-default:var(--pine-color-white);--color-text-primary-disabled:var(--pine-color-grey-600);--color-outline-primary:var(--pine-color-blue-200);--color-border-secondary-default:var(--pine-color-grey-400);--color-border-secondary-disabled:var(--pine-color-grey-300);--color-border-secondary-focus:var(--pine-color-grey-300);--color-border-secondary-hover:var(--pine-color-grey-500);--color-text-secondary-default:var(--pine-color-grey-900);--color-text-secondary-disabled:var(--pine-color-grey-600);--color-outline-secondary:var(--pine-color-blue-200);--color-background-accent-default:var(--pine-color-purple-500);--color-background-accent-disabled:var(--pine-color-purple-150);--color-background-accent-hover:var(--pine-color-purple-600);--color-text-accent-default:var(--pine-color-white);--color-text-accent-disabled:var(--pine-color-purple-300);--color-outline-accent:var(--pine-color-purple-300);--color-background-destructive-default:var(--pine-color-red-300);--color-background-destructive-disabled:var(--pine-color-red-100);--color-background-destructive-hover:var(--pine-color-red-400);--color-text-destructive-default:var(--pine-color-white);--color-text-destructive-disabled:var(--pine-color-red-200);--color-outline-destructive:var(--pine-color-red-200);--spacing-disclosure-icon-margin-inline-end:var(--pine-spacing-0);--spacing-disclosure-margin-inline-start:var(--pine-spacing-100);--spacing-icon-margin-inline-end:var(--pine-spacing-100);--spacing-padding-block:var(--pine-spacing-100);--spacing-padding-inline:var(--pine-spacing-200);--spacing-unstyled:var(--pine-spacing-0);--typography-default:var(--pine-font-weight-semi-bold) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.pds-button{-ms-flex-align:center;align-items:center;background-color:var(--color-background-default);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--pine-border-radius-125);color:var(--color-text-default);display:-ms-flexbox;display:flex;font:var(--typography-default);min-height:40px;padding:var(--spacing-padding-block) var(--spacing-padding-inline)}.pds-button pds-icon{color:currentColor;fill:currentColor;-webkit-margin-end:var(--spacing-icon-margin-inline-end);margin-inline-end:var(--spacing-icon-margin-inline-end)}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);border-color:var(--color-border-focus);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled)}.pds-button--primary{--color-background-default:var(--color-background-primary-default);--color-background-hover:var(--color-background-primary-hover);--color-background-disabled:var(--color-background-primary-disabled);--color-text-default:var(--color-text-primary-default);--color-text-disabled:var(--color-text-primary-disabled);--color-outline:var(--color-outline-primary)}.pds-button--accent{--color-background-default:var(--color-background-accent-default);--color-background-hover:var(--color-background-accent-hover);--color-background-disabled:var(--color-background-accent-disabled);--color-text-default:var(--color-text-accent-default);--color-text-disabled:var(--color-text-accent-disabled);--color-outline:var(--color-outline-accent)}.pds-button--destructive{--color-background-default:var(--color-background-destructive-default);--color-background-hover:var(--color-background-destructive-hover);--color-background-disabled:var(--color-background-destructive-disabled);--color-text-default:var(--color-text-destructive-default);--color-text-disabled:var(--color-text-destructive-disabled);--color-outline:var(--color-outline-destructive)}.pds-button--destructive:focus-visible{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-button--secondary,.pds-button--disclosure{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-border-disabled:var(--color-border-secondary-disabled);--color-border-focus:var(--color-border-secondary-focus);--color-border-hover:var(--color-border-secondary-hover);--color-border-default:var(--color-border-secondary-default);--color-text-default:var(--color-text-secondary-default);--color-text-disabled:var(--color-text-secondary-disabled);--color-outline:var(--color-outline-secondary)}.pds-button--disclosure pds-icon{-webkit-margin-end:var(--spacing-disclosure-icon-margin-inline-end);margin-inline-end:var(--spacing-disclosure-icon-margin-inline-end);-webkit-margin-start:var(--spacing-disclosure-margin-inline-start);margin-inline-start:var(--spacing-disclosure-margin-inline-start)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;border:var(--border-width-unstyled);margin:var(--spacing-unstyled);min-height:auto;padding:var(--spacing-unstyled);width:inherit}";
13
+ const PdsButtonStyle1 = pdsButtonCss;
11
14
 
12
15
  const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLElement {
13
16
  constructor() {
@@ -47,10 +50,10 @@ const PdsButton = /*@__PURE__*/ proxyCustomElement(class PdsButton extends HTMLE
47
50
  return classNames.join(' ');
48
51
  }
49
52
  render() {
50
- return (h(Host, { key: '453a94093ba7bb8aa0fdea470cd9008e96601dcf', "aria-disabled": this.disabled ? 'true' : null, id: this.componentId, onClick: this.handleClick, variant: this.variant }, h("button", { key: 'ec841dfb0b026d1c3376f686f6d9187cdecb1762', class: this.classNames(), disabled: this.disabled, name: this.name, part: "button", type: this.type, value: this.value }, this.icon && this.variant !== 'disclosure' && h("pds-icon", { key: '926395c361f5b94f9c4d12980c4a93a52bf79c41', name: this.icon, part: "icon" }), h("slot", { key: '4a74b8b6cd711fee67622c92b515cf329964da64' }), this.variant === 'disclosure' && h("pds-icon", { key: 'e2d356d80d03c3d8a8fc1259528e13a1c88e1307', icon: caretDown, part: "caret" }))));
53
+ return (h(Host, { key: '4c63b9a386ed3d9d9f3516648ec26c3823ac6fa6', "aria-disabled": this.disabled ? 'true' : null, id: this.componentId, onClick: this.handleClick, variant: this.variant }, h("button", { key: '50cdc14ea87c350f2e173fb38006021bfe0b78d7', class: this.classNames(), disabled: this.disabled, name: this.name, part: "button", type: this.type, value: this.value }, this.icon && this.variant !== 'disclosure' && h("pds-icon", { key: '94e7c0b1b6b8223b78afe5b61a6073b907afc6e1', name: this.icon, part: "icon" }), h("slot", { key: '736b97d814d34eb8a01ddd22ade8d9ee5a35de82' }), this.variant === 'disclosure' && h("pds-icon", { key: 'f7bea88482de7bfaf23c74e71d9748a403df6a76', icon: caretDown, part: "caret" }))));
51
54
  }
52
55
  get el() { return this; }
53
- static get style() { return PdsButtonStyle0; }
56
+ static get style() { return PdsButtonStyle0 + PdsButtonStyle1; }
54
57
  }, [1, "pds-button", {
55
58
  "componentId": [1, "component-id"],
56
59
  "disabled": [4],
@@ -1 +1 @@
1
- {"file":"pds-button2.js","mappings":";;;;AAIO,MAAM,YAAY,GAAG,CAAC,EAAe;IAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC;;ACND,MAAM,YAAY,GAAG,gvLAAgvL,CAAC;AACtwL,wBAAe,YAAY;;MCed,SAAS;;;;;QAwCZ,gBAAW,GAAG,CAAC,EAAS;YAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;;gBAEzB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACpC,IAAI,IAAI,EAAE;wBACR,EAAE,CAAC,cAAc,EAAE,CAAA;wBAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;wBACnD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;wBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;wBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;wBAClB,UAAU,CAAC,MAAM,EAAE,CAAA;qBACpB;iBACF;aACF;SACF,CAAA;;wBA7CmB,KAAK;oBAKD,IAAI;;;oBAgBmB,QAAQ;uBAK2C,SAAS;;IAqBnG,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAErB,+DACE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,GAAY,EACjG,8DAAQ,EACP,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,GAAY,CAC9E,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/utils.ts","src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n",":host {\n --border-radius-default: var(--pine-border-radius-round);\n\n --border-width-default: var(--pine-border-width-thin);\n --border-width-unstyled: var(--pine-border-radius-0);\n\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n\n // primary\n --color-background-primary-default: var(--pine-color-grey-900);\n --color-background-primary-disabled: var(--pine-color-grey-300);\n --color-background-primary-hover: var(--pine-color-grey-950);\n --color-text-primary-default: var(--pine-color-white);\n --color-text-primary-disabled: var(--pine-color-grey-600);\n --color-outline-primary: var(--pine-color-blue-200);\n\n // secondary\n --color-border-secondary-default: var(--pine-color-grey-400);\n --color-border-secondary-disabled: var(--pine-color-grey-300);\n --color-border-secondary-focus: var(--pine-color-grey-300);\n --color-border-secondary-hover: var(--pine-color-grey-500);\n --color-text-secondary-default: var(--pine-color-grey-900);\n --color-text-secondary-disabled: var(--pine-color-grey-600);\n --color-outline-secondary: var(--pine-color-blue-200);\n\n // accent\n --color-background-accent-default: var(--pine-color-purple-500);\n --color-background-accent-disabled: var(--pine-color-purple-150);\n --color-background-accent-hover: var(--pine-color-purple-600);\n --color-text-accent-default: var(--pine-color-white);\n --color-text-accent-disabled: var(--pine-color-purple-300);\n --color-outline-accent: var(--pine-color-purple-300);\n\n // destructive\n --color-background-destructive-default: var(--pine-color-red-300);\n --color-background-destructive-disabled: var(--pine-color-red-100);\n --color-background-destructive-hover: var(--pine-color-red-400);\n --color-text-destructive-default: var(--pine-color-white);\n --color-text-destructive-disabled: var(--pine-color-red-200);\n --color-outline-destructive: var(--pine-color-red-200);\n\n --spacing-disclosure-icon-margin-inline-end: var(--pine-spacing-0);\n --spacing-disclosure-margin-inline-start: var(--pine-spacing-100);\n --spacing-icon-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-100);\n --spacing-padding-inline: var(--pine-spacing-200);\n --spacing-unstyled: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-semi-bold) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n.pds-button {\n align-items: center;\n background-color: var(--color-background-default);\n border: var(--border-width-default) solid var(--color-border-default);\n border-radius: var(--pine-border-radius-125);\n color: var(--color-text-default);\n display: flex;\n font: var(--typography-default);\n min-height: 40px;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n pds-icon {\n fill: currentColor;\n margin-inline-end: var(--spacing-icon-margin-inline-end);\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n border-color: var(--color-border-focus);\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--color-background-primary-default);\n --color-background-hover: var(--color-background-primary-hover);\n --color-background-disabled: var(--color-background-primary-disabled);\n --color-text-default: var(--color-text-primary-default);\n --color-text-disabled: var(--color-text-primary-disabled);\n --color-outline: var(--color-outline-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--color-background-accent-default);\n --color-background-hover: var(--color-background-accent-hover);\n --color-background-disabled: var(--color-background-accent-disabled);\n --color-text-default: var(--color-text-accent-default);\n --color-text-disabled: var(--color-text-accent-disabled);\n --color-outline: var(--color-outline-accent);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--color-background-destructive-default);\n --color-background-hover: var(--color-background-destructive-hover);\n --color-background-disabled: var(--color-background-destructive-disabled);\n --color-text-default: var(--color-text-destructive-default);\n --color-text-disabled: var(--color-text-destructive-disabled);\n --color-outline: var(--color-outline-destructive);\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-border-disabled: var(--color-border-secondary-disabled);\n --color-border-focus: var(--color-border-secondary-focus);\n --color-border-hover: var(--color-border-secondary-hover);\n --color-border-default: var(--color-border-secondary-default);\n --color-text-default: var(--color-text-secondary-default);\n --color-text-disabled: var(--color-text-secondary-disabled);\n --color-outline: var(--color-outline-secondary);\n}\n\n.pds-button--disclosure {\n pds-icon {\n margin-inline-end: var(--spacing-disclosure-icon-margin-inline-end);\n margin-inline-start: var(--spacing-disclosure-margin-inline-start);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n border: var(--border-width-unstyled);\n margin: var(--spacing-unstyled);\n min-height: auto;\n padding: var(--spacing-unstyled);\n width: inherit;\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - The main button element that represents the button component.\n * @part caret - The caret icon element that appears when the button variant is 'disclosure'.\n * @part icon - The icon element that appears before the text in the button, if provided.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrl: 'pds-button.scss',\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Toggles disabled state of button\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Displays icon before text when icon string matches an icon name\n */\n @Prop() icon?: string = null;\n\n /**\n * Provides button with a submittable name\n */\n @Prop() name?: string;\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Provides button with a type\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Sets button variant styles as outlined in Figma documentation\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n private handleClick = (ev: Event) => {\n if (this.type != 'button') {\n // If button clicked IS NOT associated with a form\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form')\n if (form) {\n ev.preventDefault()\n\n const fakeButton = document.createElement('button')\n fakeButton.type = this.type\n fakeButton.style.display = 'none'\n form.appendChild(fakeButton)\n fakeButton.click()\n fakeButton.remove()\n }\n }\n }\n }\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <button\n class={this.classNames()}\n disabled={this.disabled}\n name={this.name}\n part=\"button\"\n type={this.type}\n value={this.value}\n >\n {this.icon && this.variant !== 'disclosure' && <pds-icon name={this.icon} part=\"icon\"></pds-icon>}\n <slot />\n {this.variant === 'disclosure' && <pds-icon icon={caretDown} part=\"caret\"></pds-icon>}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-button2.js","mappings":";;;;AAIO,MAAM,YAAY,GAAG,CAAC,EAAe;IAC1C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY,CAAA;AACtD,CAAC;;ACND,MAAM,OAAO,GAAG,m2DAAm2D,CAAC;AACp3D,wBAAe,OAAO;;ACDtB,MAAM,YAAY,GAAG,mwLAAmwL,CAAC;AACzxL,wBAAe,YAAY;;MCed,SAAS;;;;;QAwCZ,gBAAW,GAAG,CAAC,EAAS;YAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE;;gBAEzB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBACpC,IAAI,IAAI,EAAE;wBACR,EAAE,CAAC,cAAc,EAAE,CAAA;wBAEnB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;wBACnD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;wBAC3B,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;wBACjC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;wBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;wBAClB,UAAU,CAAC,MAAM,EAAE,CAAA;qBACpB;iBACF;aACF;SACF,CAAA;;wBA7CmB,KAAK;oBAKD,IAAI;;;oBAgBmB,QAAQ;uBAK2C,SAAS;;IAqBnG,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,sEACY,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAC5C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAErB,+DACE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,GAAY,EACjG,8DAAQ,EACP,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,iEAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,OAAO,GAAY,CAC9E,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/utils/utils.ts","src/global/styles/base.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n","// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font-family: var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(p) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-radius-default: var(--pine-border-radius-round);\n\n --border-width-default: var(--pine-border-width-thin);\n --border-width-unstyled: var(--pine-border-radius-0);\n\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n\n // primary\n --color-background-primary-default: var(--pine-color-grey-900);\n --color-background-primary-disabled: var(--pine-color-grey-300);\n --color-background-primary-hover: var(--pine-color-grey-950);\n --color-text-primary-default: var(--pine-color-white);\n --color-text-primary-disabled: var(--pine-color-grey-600);\n --color-outline-primary: var(--pine-color-blue-200);\n\n // secondary\n --color-border-secondary-default: var(--pine-color-grey-400);\n --color-border-secondary-disabled: var(--pine-color-grey-300);\n --color-border-secondary-focus: var(--pine-color-grey-300);\n --color-border-secondary-hover: var(--pine-color-grey-500);\n --color-text-secondary-default: var(--pine-color-grey-900);\n --color-text-secondary-disabled: var(--pine-color-grey-600);\n --color-outline-secondary: var(--pine-color-blue-200);\n\n // accent\n --color-background-accent-default: var(--pine-color-purple-500);\n --color-background-accent-disabled: var(--pine-color-purple-150);\n --color-background-accent-hover: var(--pine-color-purple-600);\n --color-text-accent-default: var(--pine-color-white);\n --color-text-accent-disabled: var(--pine-color-purple-300);\n --color-outline-accent: var(--pine-color-purple-300);\n\n // destructive\n --color-background-destructive-default: var(--pine-color-red-300);\n --color-background-destructive-disabled: var(--pine-color-red-100);\n --color-background-destructive-hover: var(--pine-color-red-400);\n --color-text-destructive-default: var(--pine-color-white);\n --color-text-destructive-disabled: var(--pine-color-red-200);\n --color-outline-destructive: var(--pine-color-red-200);\n\n --spacing-disclosure-icon-margin-inline-end: var(--pine-spacing-0);\n --spacing-disclosure-margin-inline-start: var(--pine-spacing-100);\n --spacing-icon-margin-inline-end: var(--pine-spacing-100);\n --spacing-padding-block: var(--pine-spacing-100);\n --spacing-padding-inline: var(--pine-spacing-200);\n --spacing-unstyled: var(--pine-spacing-0);\n\n --typography-default: var(--pine-font-weight-semi-bold) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-greet);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n.pds-button {\n align-items: center;\n background-color: var(--color-background-default);\n border: var(--border-width-default) solid var(--color-border-default);\n border-radius: var(--pine-border-radius-125);\n color: var(--color-text-default);\n display: flex;\n font: var(--typography-default);\n min-height: 40px;\n padding: var(--spacing-padding-block) var(--spacing-padding-inline);\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n margin-inline-end: var(--spacing-icon-margin-inline-end);\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n border-color: var(--color-border-focus);\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n\n &:disabled {\n background-color: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n color: var(--color-text-disabled);\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--color-background-primary-default);\n --color-background-hover: var(--color-background-primary-hover);\n --color-background-disabled: var(--color-background-primary-disabled);\n --color-text-default: var(--color-text-primary-default);\n --color-text-disabled: var(--color-text-primary-disabled);\n --color-outline: var(--color-outline-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--color-background-accent-default);\n --color-background-hover: var(--color-background-accent-hover);\n --color-background-disabled: var(--color-background-accent-disabled);\n --color-text-default: var(--color-text-accent-default);\n --color-text-disabled: var(--color-text-accent-disabled);\n --color-outline: var(--color-outline-accent);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--color-background-destructive-default);\n --color-background-hover: var(--color-background-destructive-hover);\n --color-background-disabled: var(--color-background-destructive-disabled);\n --color-text-default: var(--color-text-destructive-default);\n --color-text-disabled: var(--color-text-destructive-disabled);\n --color-outline: var(--color-outline-destructive);\n\n &:focus-visible {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--color-background-destructive-default);\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-border-disabled: var(--color-border-secondary-disabled);\n --color-border-focus: var(--color-border-secondary-focus);\n --color-border-hover: var(--color-border-secondary-hover);\n --color-border-default: var(--color-border-secondary-default);\n --color-text-default: var(--color-text-secondary-default);\n --color-text-disabled: var(--color-text-secondary-disabled);\n --color-outline: var(--color-outline-secondary);\n}\n\n.pds-button--disclosure {\n pds-icon {\n margin-inline-end: var(--spacing-disclosure-icon-margin-inline-end);\n margin-inline-start: var(--spacing-disclosure-margin-inline-start);\n }\n}\n\n.pds-button--unstyled {\n --color-background-default: transparent;\n --color-background-hover: transparent;\n --color-background-disabled: transparent;\n --color-text-default: inherit;\n border: var(--border-width-unstyled);\n margin: var(--spacing-unstyled);\n min-height: auto;\n padding: var(--spacing-unstyled);\n width: inherit;\n}\n","import { Component, Element, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - The main button element that represents the button component.\n * @part caret - The caret icon element that appears when the button variant is 'disclosure'.\n * @part icon - The icon element that appears before the text in the button, if provided.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['../../global/styles/base.scss', 'pds-button.scss'],\n shadow: true,\n})\nexport class PdsButton {\n @Element() el: HTMLPdsButtonElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Toggles disabled state of button\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Displays icon before text when icon string matches an icon name\n */\n @Prop() icon?: string = null;\n\n /**\n * Provides button with a submittable name\n */\n @Prop() name?: string;\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Provides button with a type\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Sets button variant styles as outlined in Figma documentation\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n private handleClick = (ev: Event) => {\n if (this.type != 'button') {\n // If button clicked IS NOT associated with a form\n if (hasShadowDom(this.el)) {\n const form = this.el.closest('form')\n if (form) {\n ev.preventDefault()\n\n const fakeButton = document.createElement('button')\n fakeButton.type = this.type\n fakeButton.style.display = 'none'\n form.appendChild(fakeButton)\n fakeButton.click()\n fakeButton.remove()\n }\n }\n }\n }\n\n private classNames() {\n const classNames = ['pds-button'];\n\n if (this.variant) {\n classNames.push('pds-button--' + this.variant);\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n id={this.componentId}\n onClick={this.handleClick}\n variant={this.variant}\n >\n <button\n class={this.classNames()}\n disabled={this.disabled}\n name={this.name}\n part=\"button\"\n type={this.type}\n value={this.value}\n >\n {this.icon && this.variant !== 'disclosure' && <pds-icon name={this.icon} part=\"icon\"></pds-icon>}\n <slot />\n {this.variant === 'disclosure' && <pds-icon icon={caretDown} part=\"caret\"></pds-icon>}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,11 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import { a as assignDescription, P as PdsLabel, m as messageId } from './pds-label.js';
3
3
 
4
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
5
+ const PdsCheckboxStyle0 = baseCss;
6
+
4
7
  const pdsCheckboxCss = ":host{--border-default:var(--pine-border-width-thin) solid var(--pine-color-grey-400);--border-color-interactive-hover:var(--pine-border-width-thin) solid var(--pine-color-grey-500);--border-radius:var(--pine-border-radius-050);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--box-shadow-focus-invalid:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);--color-background:var(--pine-color-white);--color-background-disabled:var(--pine-color-grey-200);--color-background-hover:var(--pine-color-grey-100);--color-border-disabled:var(--pine-color-grey-600);--color-border-icon:var(--pine-color-white);--color-checked:var(--pine-color-grey-950);--color-disabled:var(--pine-color-grey-300);--color-invalid:var(--pine-color-red-300);--color-text-disabled:var(--pine-color-grey-500);--color-text-message:var(--pine-color-grey-700);--sizing-input:var(--pine-font-size-100);-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}:host(.is-invalid) input{border-color:var(--color-invalid)}:host(.is-invalid) input:checked{background:var(--color-invalid)}:host(.is-invalid) input:focus-visible{-webkit-box-shadow:var(--box-shadow-focus-invalid);box-shadow:var(--box-shadow-focus-invalid);outline:none}:host(.is-invalid) label,:host(.is-invalid) .pds-checkbox__message--error{color:var(--color-invalid)}:host(.is-indeterminate) input{background:var(--color-checked);border-color:var(--color-checked)}:host(.is-indeterminate) input::after{border:1px solid var(--color-border-icon);border-bottom:0;border-left:0;border-top:0;content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(87deg) translate3d(-114%, 25%, 0);transform:rotate(87deg) translate3d(-114%, 25%, 0);width:4px}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--color-background);border:var(--border-default);border-radius:var(--border-radius);height:var(--sizing-input);margin:0;position:relative;width:var(--sizing-input)}input:hover{background:var(--color-background-hover);border:var(--border-color-interactive-hover)}input:checked{background:var(--color-checked);border-color:var(--color-checked)}input:checked::after{border:1px solid var(--color-border-icon);border-left:0;border-top:0;content:\"\";display:block;height:7px;left:50%;position:absolute;top:50%;-webkit-transform:rotate(43deg) translate3d(-110%, -30%, 0);transform:rotate(43deg) translate3d(-110%, -30%, 0);width:4px}input:disabled{background:var(--color-background-disabled);border-color:var(--color-disabled);cursor:not-allowed}input:disabled:checked{background:var(--color-disabled);border-color:var(--color-disabled)}input:disabled:checked::after{border-color:var(--color-border-disabled)}input:disabled+label{color:var(--color-text-disabled);cursor:not-allowed}input:disabled~.pds-checkbox__message{color:var(--color-text-disabled)}input:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}label{-webkit-margin-start:10px;margin-inline-start:10px}.visually-hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-checkbox__message{color:var(--color-text-message);font-size:14px;-webkit-margin-before:6px;margin-block-start:6px;-webkit-margin-start:26px;margin-inline-start:26px;width:100%}";
5
- const PdsCheckboxStyle0 = pdsCheckboxCss;
8
+ const PdsCheckboxStyle1 = pdsCheckboxCss;
6
9
 
7
10
  const PdsCheckbox = /*@__PURE__*/ proxyCustomElement(class PdsCheckbox extends HTMLElement {
8
11
  constructor() {
@@ -58,14 +61,14 @@ const PdsCheckbox = /*@__PURE__*/ proxyCustomElement(class PdsCheckbox extends H
58
61
  return classNames.join(' ');
59
62
  }
60
63
  render() {
61
- return (h(Host, { key: 'ad7d0dd8ce09b69abc0024541ff2b2d69a8db0b0', class: this.classNames() }, h("input", { key: 'fbc513372055e685d3beb16fba9c404db3d0528a', type: "checkbox", "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, id: this.componentId, indeterminate: this.indeterminate, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleCheckboxChange, onInput: this.handleInput }), h(PdsLabel, { key: '12444bd716bc8ae952a0bf38471d00e6d3a9fe3b', htmlFor: this.componentId, text: this.label, classNames: this.labelHidden ? 'visually-hidden' : '' }), this.helperMessage &&
62
- h("div", { key: 'e85ffb338c44a3f924b75d1869c781db9a93350b', class: 'pds-checkbox__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
63
- h("div", { key: '8071425f43f89ff44ce8bdb608737b1f574e2440', class: `pds-checkbox__message pds-checkbox__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, this.errorMessage)));
64
+ return (h(Host, { key: '445bf52e75b4d45cffa0621550c3221da77cd28a', class: this.classNames() }, h("input", { key: '326a380543328244ad71da4188d3a18561a8ddd3', type: "checkbox", "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, id: this.componentId, indeterminate: this.indeterminate, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleCheckboxChange, onInput: this.handleInput }), h(PdsLabel, { key: 'eb22531287c39f53ad02eeba93e3845ead776f01', htmlFor: this.componentId, text: this.label, classNames: this.labelHidden ? 'visually-hidden' : '' }), this.helperMessage &&
65
+ h("div", { key: 'f434bc8e221fcd55d864c40de9b030066bbfc028', class: 'pds-checkbox__message', id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
66
+ h("div", { key: 'b3193bc5239041909f7d256e8ad20d23dfab0ef3', class: `pds-checkbox__message pds-checkbox__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, this.errorMessage)));
64
67
  }
65
68
  static get watchers() { return {
66
69
  "checked": ["updateIndeterminate"]
67
70
  }; }
68
- static get style() { return PdsCheckboxStyle0; }
71
+ static get style() { return PdsCheckboxStyle0 + PdsCheckboxStyle1; }
69
72
  }, [1, "pds-checkbox", {
70
73
  "checked": [1028],
71
74
  "componentId": [1, "component-id"],
@@ -1 +1 @@
1
- {"file":"pds-checkbox2.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,46GAA46G,CAAC;AACp8G,0BAAe,cAAc;;MCShB,WAAW;;;;;;;QA0Ed,yBAAoB,GAAG,CAAC,CAAQ;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;QAEO,gBAAW,GAAG;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;uBAzF4C,KAAK;;;;;;;;;;;;;IAkElD,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;KAC/B;IAuBO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAAE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAAE;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAC5B,8DACE,IAAI,EAAC,UAAU,sBACG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACF,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,iBAAiB,GAAG,EAAE,GAAI,EAC/G,IAAI,CAAC,aAAa;YACjB,4DACE,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACf,EAEP,IAAI,CAAC,YAAY;YAChB,4DACE,KAAK,EAAE,oDAAoD,EAC3D,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAC9B,WAAW,IAEpB,IAAI,CAAC,YAAY,CACd,CAEH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx"],"sourcesContent":[":host {\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --border-color-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-500);\n\n --border-radius: var(--pine-border-radius-050);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --box-shadow-focus-invalid: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);\n\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-background-hover: var(--pine-color-grey-100);\n --color-border-disabled: var(--pine-color-grey-600);\n --color-border-icon: var(--pine-color-white);\n --color-checked: var(--pine-color-grey-950);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-300);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-grey-700);\n\n --sizing-input: var(--pine-font-size-100);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-bottom: 0;\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(87deg) translate3d(-114%, 25%, 0);\n width: 4px;\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-color-interactive-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n font-size: 14px;\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrl: 'pds-checkbox.scss',\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked?: boolean = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop({ mutable: true }) indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n @Event() pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;\n\n @Watch('checked')\n updateIndeterminate() {\n this.indeterminate = undefined\n }\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private handleInput = () => {\n this.pdsCheckboxInput.emit({\n checked: this.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n id={this.componentId}\n indeterminate={this.indeterminate}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n onInput={this.handleInput}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-checkbox2.js","mappings":";;;AAAA,MAAM,OAAO,GAAG,m2DAAm2D,CAAC;AACp3D,0BAAe,OAAO;;ACDtB,MAAM,cAAc,GAAG,46GAA46G,CAAC;AACp8G,0BAAe,cAAc;;MCShB,WAAW;;;;;;;QA0Ed,yBAAoB,GAAG,CAAC,CAAQ;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAE9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;QAEO,gBAAW,GAAG;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;SACJ,CAAA;uBAzF4C,KAAK;;;;;;;;;;;;;IAkElD,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAA;KAC/B;IAuBO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAAE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAAE;QAEtD,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAC5B,8DACE,IAAI,EAAC,UAAU,sBACG,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,GACzB,EACF,EAAC,QAAQ,qDAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,GAAG,iBAAiB,GAAG,EAAE,GAAI,EAC/G,IAAI,CAAC,aAAa;YACjB,4DACE,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACf,EAEP,IAAI,CAAC,YAAY;YAChB,4DACE,KAAK,EAAE,oDAAoD,EAC3D,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAC9B,WAAW,IAEpB,IAAI,CAAC,YAAY,CACd,CAEH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/global/styles/base.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font-family: var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(p) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --border-color-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-500);\n\n --border-radius: var(--pine-border-radius-050);\n\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --box-shadow-focus-invalid: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-red-200);\n\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-background-hover: var(--pine-color-grey-100);\n --color-border-disabled: var(--pine-color-grey-600);\n --color-border-icon: var(--pine-color-white);\n --color-checked: var(--pine-color-grey-950);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-300);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-grey-700);\n\n --sizing-input: var(--pine-font-size-100);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-bottom: 0;\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(87deg) translate3d(-114%, 25%, 0);\n width: 4px;\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-color-interactive-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n font-size: 14px;\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrls: ['../../global/styles/base.scss', 'pds-checkbox.scss'],\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked?: boolean = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop({ mutable: true }) indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n @Event() pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;\n\n @Watch('checked')\n updateIndeterminate() {\n this.indeterminate = undefined\n }\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private handleInput = () => {\n this.pdsCheckboxInput.emit({\n checked: this.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n id={this.componentId}\n indeterminate={this.indeterminate}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n onInput={this.handleInput}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,8 +2,11 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { d as downSmall, r as remove } from './index2.js';
3
3
  import { d as defineCustomElement$2 } from './pds-icon2.js';
4
4
 
5
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
6
+ const PdsChipStyle0 = baseCss;
7
+
5
8
  const pdsChipCss = ":host{--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--border-radius:var(--pine-border-radius-200);--color-background-accent:var(--pine-color-purple-100);--color-background-accent-dot:var(--pine-color-purple-300);--color-background-accent-interactive:var(--pine-color-purple-200);--color-background-danger:var(--pine-color-red-100);--color-background-danger-dot:var(--pine-color-red-300);--color-background-danger-interactive:var(--pine-color-red-200);--color-background-info:var(--pine-color-blue-100);--color-background-info-dot:var(--pine-color-blue-300);--color-background-info-interactive:var(--pine-color-blue-200);--color-background-neutral:var(--pine-color-grey-300);--color-background-neutral-dot:var(--pine-color-grey-600);--color-background-neutral-interactive:var(--pine-color-grey-400);--color-background-success:var(--pine-color-green-100);--color-background-success-dot:var(--pine-color-green-300);--color-background-success-interactive:var(--pine-color-green-200);--color-background-warning:var(--pine-color-yellow-100);--color-background-warning-dot:var(--pine-color-yellow-300);--color-background-warning-interactive:var(--pine-color-yellow-200);--font-size-sm:var(--pine-font-size-085);--font-size-body:var(--pine-font-size-100);--font-weight:var(--pine-font-weight-medium);--line-height:var(--pine-line-height-100);--spacing-xxs:calc(var(--pine-spacing-050) / 2);--spacing-xs:var(--pine-spacing-050);--spacing-sm:calc(var(--pine-spacing-150) / 2);--spacing-md:var(--pine-spacing-100);--spacing-lg:calc(var(--pine-spacing-250) / 2);--spacing-xl:var(--pine-spacing-150);--spacing-xxl:calc(var(--pine-spacing-350) / 2);--sizing-close:10px;--sizing-close-lg:24px;--sizing-dot:4px;-ms-flex-align:center;align-items:center;border-radius:var(--border-radius);display:-ms-inline-flexbox;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight);line-height:var(--line-height);padding-block:var(--spacing-xs);padding-inline:var(--spacing-lg)}:host(.pds-chip--accent){background:var(--color-background-accent)}:host(.pds-chip--accent) .pds-chip__dot{background:var(--color-background-accent-dot)}:host(.pds-chip--accent) .pds-chip__close:hover{background:var(--color-background-accent-interactive)}:host(.pds-chip--accent.pds-chip--dropdown:hover){background:var(--color-background-accent-interactive)}:host(.pds-chip--danger){background:var(--color-background-danger)}:host(.pds-chip--danger) .pds-chip__dot{background:var(--color-background-danger-dot)}:host(.pds-chip--danger) .pds-chip__close:hover{background:var(--color-background-danger-interactive)}:host(.pds-chip--danger.pds-chip--dropdown:hover){background:var(--color-background-danger-interactive)}:host(.pds-chip--info){background:var(--color-background-info)}:host(.pds-chip--info) .pds-chip__dot{background:var(--color-background-info-dot)}:host(.pds-chip--info) .pds-chip__close:hover{background:var(--color-background-info-interactive)}:host(.pds-chip--info.pds-chip--dropdown:hover){background:var(--color-background-info-interactive)}:host(.pds-chip--neutral){background:var(--color-background-neutral)}:host(.pds-chip--neutral) .pds-chip__dot{background:var(--color-background-neutral-dot)}:host(.pds-chip--neutral) .pds-chip__close:hover{background:var(--color-background-neutral-interactive)}:host(.pds-chip--neutral.pds-chip--dropdown:hover){background:var(--color-background-neutral-interactive)}:host(.pds-chip--success){background:var(--color-background-success)}:host(.pds-chip--success) .pds-chip__dot{background:var(--color-background-success-dot)}:host(.pds-chip--success) .pds-chip__close:hover{background:var(--color-background-success-interactive)}:host(.pds-chip--success.pds-chip--dropdown:hover){background:var(--color-background-success-interactive)}:host(.pds-chip--warning){background:var(--color-background-warning)}:host(.pds-chip--warning) .pds-chip__dot{background:var(--color-background-warning-dot)}:host(.pds-chip--warning) .pds-chip__close:hover{background:var(--color-background-warning-interactive)}:host(.pds-chip--warning.pds-chip--dropdown:hover){background:var(--color-background-warning-interactive)}.pds-chip__dot{border:1px solid transparent;border-radius:50%;display:inline-block;height:var(--sizing-dot);-webkit-margin-after:var(--spacing-xxs);margin-block-end:var(--spacing-xxs);-webkit-margin-end:var(--spacing-xs);margin-inline-end:var(--spacing-xs);width:var(--sizing-dot)}:host(.pds-chip--dropdown){padding:0}:host(.pds-chip--dropdown) .pds-chip__dot{-webkit-margin-after:calc(var(--spacing-xxs) / 4);margin-block-end:calc(var(--spacing-xxs) / 4);-webkit-margin-before:var(--spacing-xxs);margin-block-start:var(--spacing-xxs)}.pds-chip__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight);line-height:var(--line-height);padding-block:var(--spacing-xs);padding-inline:var(--spacing-lg)}.pds-chip__button:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-chip__button pds-icon{-webkit-margin-end:calc(var(--spacing-xxs) * -1);margin-inline-end:calc(var(--spacing-xxs) * -1);-webkit-margin-start:var(--spacing-xs);margin-inline-start:var(--spacing-xs)}:host(.pds-chip--tag){padding-block:var(--spacing-xxs)}.pds-chip__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-radius:50%;height:var(--sizing-close);-webkit-margin-end:calc(var(--spacing-md) * -1);margin-inline-end:calc(var(--spacing-md) * -1);-webkit-margin-start:var(--spacing-xs);margin-inline-start:var(--spacing-xs);padding:var(--sizing-close);position:relative;width:var(--sizing-close)}.pds-chip__close pds-icon{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.pds-chip__close:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}:host(.pds-chip--large){font-size:var(--font-size-body);padding-block:var(--spacing-sm);padding-inline:var(--spacing-xxl)}:host(.pds-chip--large):host(.pds-chip--dropdown){padding-block:var(--spacing-xs);padding-inline:var(--spacing-xxs)}:host(.pds-chip--large):host(.pds-chip--dropdown) .pds-chip__dot{-webkit-margin-after:0;margin-block-end:0}:host(.pds-chip--large) .pds-chip__button{font-size:var(--font-size-body);padding-inline:var(--spacing-xl)}:host(.pds-chip--large) .pds-chip__close{height:var(--sizing-close-lg);-webkit-margin-end:calc(var(--spacing-xl) * -1);margin-inline-end:calc(var(--spacing-xl) * -1);width:var(--sizing-close-lg)}:host(.pds-chip--large):host(.pds-chip--tag){padding-block:var(--spacing-xs)}";
6
- const PdsChipStyle0 = pdsChipCss;
9
+ const PdsChipStyle1 = pdsChipCss;
7
10
 
8
11
  const PdsChip$1 = /*@__PURE__*/ proxyCustomElement(class PdsChip extends HTMLElement {
9
12
  constructor() {
@@ -40,9 +43,9 @@ const PdsChip$1 = /*@__PURE__*/ proxyCustomElement(class PdsChip extends HTMLEle
40
43
  return chipContent;
41
44
  }
42
45
  render() {
43
- return (h(Host, { key: 'a2ad8c6a371ab1bead7715cdf7bbe684ce0d73a5', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.variant === 'tag' && (h("button", { key: '83d2273a0785c4516a57ed618645d937ba33f9f5', class: "pds-chip__close", type: "button", onClick: this.handleCloseClick, "aria-label": "Remove" }, h("pds-icon", { key: '6ca04621d1acd134ce3352a034ea69ea7f794fbd', icon: remove, size: "12px" })))));
46
+ return (h(Host, { key: 'b49508fac6a1006cb9a52010644307e4528b1920', class: this.classNames(), id: this.componentId }, this.setChipContent(), this.variant === 'tag' && (h("button", { key: '7156f121be5ac59ce77aba3b2e7bf3aa8c4d9d37', class: "pds-chip__close", type: "button", onClick: this.handleCloseClick, "aria-label": "Remove" }, h("pds-icon", { key: '47663af897eab3f9e0288b0f92cb57ea42cdb77a', icon: remove, size: "12px" })))));
44
47
  }
45
- static get style() { return PdsChipStyle0; }
48
+ static get style() { return PdsChipStyle0 + PdsChipStyle1; }
46
49
  }, [1, "pds-chip", {
47
50
  "componentId": [1, "component-id"],
48
51
  "sentiment": [1],
@@ -1 +1 @@
1
- {"file":"pds-chip.js","mappings":";;;;AAAA,MAAM,UAAU,GAAG,2sNAA2sN,CAAC;AAC/tN,sBAAe,UAAU;;MCOZA,SAAO;;;;;;QAwCV,qBAAgB,GAAG;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9B,CAAA;;yBAhCqF,SAAS;mBAMjF,KAAK;;qBAWH,KAAK;uBAM0B,MAAM;;IAW7C,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,cAAc;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,UAAU,IAC5B,cAAQ,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,IAC3C,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,EACX,gBAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,iBAAa,MAAM,GAAY,CAC9D,KAET,YAAM,KAAK,EAAC,iBAAiB,IAC1B,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,CACN,CACR,CAAC;QAEF,OAAO,WAAW,CAAC;KACpB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IACjD,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,OAAO,KAAK,KAAK,KACrB,+DAAQ,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBAAa,QAAQ,IAC/F,iEAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAY,CACxC,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsChip"],"sources":["src/components/pds-chip/pds-chip.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.tsx"],"sourcesContent":[":host {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius: var(--pine-border-radius-200);\n\n --color-background-accent: var(--pine-color-purple-100);\n --color-background-accent-dot: var(--pine-color-purple-300);\n --color-background-accent-interactive: var(--pine-color-purple-200);\n --color-background-danger: var(--pine-color-red-100);\n --color-background-danger-dot: var(--pine-color-red-300);\n --color-background-danger-interactive: var(--pine-color-red-200);\n --color-background-info: var(--pine-color-blue-100);\n --color-background-info-dot: var(--pine-color-blue-300);\n --color-background-info-interactive: var(--pine-color-blue-200);\n --color-background-neutral: var(--pine-color-grey-300);\n --color-background-neutral-dot: var(--pine-color-grey-600);\n --color-background-neutral-interactive: var(--pine-color-grey-400);\n --color-background-success: var(--pine-color-green-100);\n --color-background-success-dot: var(--pine-color-green-300);\n --color-background-success-interactive: var(--pine-color-green-200);\n --color-background-warning: var(--pine-color-yellow-100);\n --color-background-warning-dot: var(--pine-color-yellow-300);\n --color-background-warning-interactive: var(--pine-color-yellow-200);\n\n --font-size-sm: var(--pine-font-size-085);\n --font-size-body: var(--pine-font-size-100);\n --font-weight: var(--pine-font-weight-medium);\n --line-height: var(--pine-line-height-100);\n\n --spacing-xxs: calc(var(--pine-spacing-050) / 2);\n --spacing-xs: var(--pine-spacing-050);\n --spacing-sm: calc(var(--pine-spacing-150) / 2);\n --spacing-md: var(--pine-spacing-100);\n --spacing-lg: calc(var(--pine-spacing-250) / 2);\n --spacing-xl: var(--pine-spacing-150);\n --spacing-xxl: calc(var(--pine-spacing-350) / 2);\n\n --sizing-close: 10px;\n --sizing-close-lg: 24px;\n --sizing-dot: 4px;\n\n align-items: center;\n border-radius: var(--border-radius);\n display: inline-flex;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n line-height: var(--line-height);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n}\n\n$pds-chip-sentiment: (\n accent: var(--color-background-accent),\n danger: var(--color-background-danger),\n info: var(--color-background-info),\n neutral: var(--color-background-neutral),\n success: var(--color-background-success),\n warning: var(--color-background-warning),\n);\n\n$pds-chip-sentiment-dots: (\n accent: var(--color-background-accent-dot),\n danger: var(--color-background-danger-dot),\n info: var(--color-background-info-dot),\n neutral: var(--color-background-neutral-dot),\n success: var(--color-background-success-dot),\n warning: var(--color-background-warning-dot),\n);\n\n$pds-chip-sentiment-interactive: (\n accent: var(--color-background-accent-interactive),\n danger: var(--color-background-danger-interactive),\n info: var(--color-background-info-interactive),\n neutral: var(--color-background-neutral-interactive),\n success: var(--color-background-success-interactive),\n warning: var(--color-background-warning-interactive),\n);\n\n@each $sentiment, $value in $pds-chip-sentiment {\n :host(.pds-chip--#{$sentiment}) {\n background: $value;\n\n // dot colors\n .pds-chip__dot {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-dots, $sentiment);\n }\n\n // tag close hover colors\n .pds-chip__close:hover {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-interactive, $sentiment);\n }\n }\n // dropdown hover colors\n :host(.pds-chip--#{$sentiment}.pds-chip--dropdown:hover) {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-interactive, $sentiment);\n }\n}\n\n.pds-chip__dot {\n border: 1px solid transparent;\n border-radius: 50%;\n display: inline-block;\n height: var(--sizing-dot);\n margin-block-end: var(--spacing-xxs);\n margin-inline-end: var(--spacing-xs);\n width: var(--sizing-dot);\n}\n\n// dropdown\n\n:host(.pds-chip--dropdown) {\n padding: 0;\n\n .pds-chip__dot {\n margin-block-end: calc(var(--spacing-xxs) / 4);\n margin-block-start: var(--spacing-xxs);\n }\n}\n\n.pds-chip__button {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--border-radius);\n display: flex;\n font-family: inherit;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n line-height: var(--line-height);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n pds-icon {\n margin-inline-end: calc(var(--spacing-xxs) * -1);\n margin-inline-start: var(--spacing-xs);\n }\n}\n\n// tag\n\n:host(.pds-chip--tag) {\n padding-block: var(--spacing-xxs);\n}\n\n.pds-chip__close {\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: 50%;\n height: var(--sizing-close);\n margin-inline-end: calc(var(--spacing-md) * -1);\n margin-inline-start: var(--spacing-xs);\n padding: var(--sizing-close);\n position: relative;\n width: var(--sizing-close);\n\n pds-icon {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n// large\n\n:host(.pds-chip--large) {\n font-size: var(--font-size-body);\n padding-block: var(--spacing-sm);\n padding-inline: var(--spacing-xxl);\n\n &:host(.pds-chip--dropdown) {\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-xxs);\n\n .pds-chip__dot {\n margin-block-end: 0;\n }\n }\n\n .pds-chip__button {\n font-size: var(--font-size-body);\n padding-inline: var(--spacing-xl)\n }\n\n .pds-chip__close {\n height: var(--sizing-close-lg);\n margin-inline-end: calc(var(--spacing-xl) * -1);\n width: var(--sizing-close-lg);\n }\n\n &:host(.pds-chip--tag) {\n padding-block: var(--spacing-xs);\n }\n}\n","import { downSmall, remove } from '@pine-ds/icons/icons';\nimport { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-chip',\n styleUrl: 'pds-chip.scss',\n shadow: true,\n})\nexport class PdsChip {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Sets the color scheme of the chip.\n * @defaultValue 'neutral'\n */\n @Prop() sentiment: 'accent' | 'danger' | 'info' | 'neutral' | 'success' | 'warning' = 'neutral';\n\n /**\n * Determines whether a dot should be displayed on the chip.\n * @defaultValue false\n */\n @Prop() dot = false;\n\n /**\n * Sets the text label content of the chip.\n */\n @Prop() label: string;\n\n /**\n * Determines whether the chip should be rendered in a larger size.\n * @defaultValue false\n */\n @Prop() large = false;\n\n /**\n * Sets the style variant of the chip.\n * @defaultValue 'text'\n */\n @Prop() variant: 'text' | 'tag' | 'dropdown' = 'text';\n\n /**\n * Event when close button is clicked on tag variant.\n */\n @Event() pdsTagCloseClick: EventEmitter;\n\n private handleCloseClick = () => {\n this.pdsTagCloseClick.emit();\n }\n\n private classNames() {\n const classNames = ['pds-chip'];\n\n if (this.large) {\n classNames.push('pds-chip--large');\n }\n if (this.variant) {\n classNames.push('pds-chip--' + this.variant);\n }\n if (this.sentiment) {\n classNames.push('pds-chip--' + this.sentiment);\n }\n\n return classNames.join(' ');\n }\n\n private setChipContent() {\n const isDropdown = this.variant === 'dropdown';\n const chipContent = isDropdown ? (\n <button class=\"pds-chip__button\" type=\"button\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n <pds-icon icon={downSmall} size=\"12px\" aria-hidden=\"true\"></pds-icon>\n </button>\n ) : (\n <span class=\"pds-chip__label\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n </span>\n );\n\n return chipContent;\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n {this.setChipContent()}\n {this.variant === 'tag' && (\n <button class=\"pds-chip__close\" type=\"button\" onClick={this.handleCloseClick} aria-label=\"Remove\">\n <pds-icon icon={remove} size=\"12px\"></pds-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-chip.js","mappings":";;;;AAAA,MAAM,OAAO,GAAG,m2DAAm2D,CAAC;AACp3D,sBAAe,OAAO;;ACDtB,MAAM,UAAU,GAAG,2sNAA2sN,CAAC;AAC/tN,sBAAe,UAAU;;MCOZA,SAAO;;;;;;QAwCV,qBAAgB,GAAG;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9B,CAAA;;yBAhCqF,SAAS;mBAMjF,KAAK;;qBAWH,KAAK;uBAM0B,MAAM;;IAW7C,UAAU;QAChB,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SAChD;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,cAAc;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC;QAC/C,MAAM,WAAW,GAAG,UAAU,IAC5B,cAAQ,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,IAC3C,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,EACX,gBAAU,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,iBAAa,MAAM,GAAY,CAC9D,KAET,YAAM,KAAK,EAAC,iBAAiB,IAC1B,IAAI,CAAC,GAAG,IAAI,SAAG,KAAK,EAAC,eAAe,iBAAa,MAAM,GAAK,EAC5D,IAAI,CAAC,KAAK,CACN,CACR,CAAC;QAEF,OAAO,WAAW,CAAC;KACpB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,IACjD,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,OAAO,KAAK,KAAK,KACrB,+DAAQ,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,gBAAa,QAAQ,IAC/F,iEAAU,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAY,CACxC,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsChip"],"sources":["src/global/styles/base.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.scss?tag=pds-chip&encapsulation=shadow","src/components/pds-chip/pds-chip.tsx"],"sourcesContent":["// TODO: replace core tokens with semantic\n// Heading color + outline\n\n/*\n Josh's Custom CSS Reset\n https://www.joshwcomeau.com/css/custom-css-reset/\n*/\n:where(*:not(slot), *:not(slot)::before, *:not(slot)::after) {\n box-sizing: border-box;\n}\n\n:where(*:not(slot)) {\n margin: 0;\n}\n\n:where(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n}\n\n:where(input, button, textarea, select) {\n font: inherit;\n}\n\n:where(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n}\n\n/*\n Additional Reset Styles\n*/\n:where(a:not([href]):not([class])) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(a:not([href]):not([class]):hover) {\n color: currentColor;\n text-decoration: none;\n}\n\n:where(ul[role='list'], ol[role='list']) {\n list-style: none;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n/*\n Mercury Base Styles\n*/\n// Typography\n:where(*:not(slot)) {\n font-family: var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\n:where(h1, h2, h3, h4, h5, h6) {\n font-family: var(--pine-font-family-heading);\n color: var(--pine-color-grey-950);\n}\n\n:where(h1) {\n font: var(--pine-typography-heading-h1);\n letter-spacing: var(--pine-letter-spacing-heading-h1);\n}\n\n:where(h2) {\n font: var(--pine-typography-heading-h2);\n letter-spacing: var(--pine-letter-spacing-heading-h2);\n}\n\n:where(h3) {\n font: var(--pine-typography-heading-h3);\n letter-spacing: var(--pine-letter-spacing-heading-h3);\n}\n\n:where(h4) {\n font: var(--pine-typography-heading-h4);\n letter-spacing: var(--pine-letter-spacing-heading-h4);\n}\n\n:where(h5) {\n font: var(--pine-typography-heading-h5);\n letter-spacing: var(--pine-letter-spacing-heading-h5);\n}\n\n:where(h6) {\n font: var(--pine-typography-heading-h6);\n letter-spacing: var(--pine-letter-spacing-heading-h6);\n}\n\n:where(p) {\n font: var(--pine-typography-body-md-default);\n letter-spacing: var(--pine-letter-spacing-body-md);\n}\n\n:where(code, kbd, pre, samp) {\n font-family: monospace;\n}\n\n// Accessibility\n:where([role=\"button\"]) {\n cursor: pointer;\n}\n\n:where(:focus) {\n outline: 0;\n}\n\n:where(:focus-visible) {\n outline: var(--pine-border-width-thick) solid var(--pine-color-purple-500);\n}\n\n// Misc.\n:where([hidden]) {\n display: none !important;\n}\n",":host {\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);\n --border-radius: var(--pine-border-radius-200);\n\n --color-background-accent: var(--pine-color-purple-100);\n --color-background-accent-dot: var(--pine-color-purple-300);\n --color-background-accent-interactive: var(--pine-color-purple-200);\n --color-background-danger: var(--pine-color-red-100);\n --color-background-danger-dot: var(--pine-color-red-300);\n --color-background-danger-interactive: var(--pine-color-red-200);\n --color-background-info: var(--pine-color-blue-100);\n --color-background-info-dot: var(--pine-color-blue-300);\n --color-background-info-interactive: var(--pine-color-blue-200);\n --color-background-neutral: var(--pine-color-grey-300);\n --color-background-neutral-dot: var(--pine-color-grey-600);\n --color-background-neutral-interactive: var(--pine-color-grey-400);\n --color-background-success: var(--pine-color-green-100);\n --color-background-success-dot: var(--pine-color-green-300);\n --color-background-success-interactive: var(--pine-color-green-200);\n --color-background-warning: var(--pine-color-yellow-100);\n --color-background-warning-dot: var(--pine-color-yellow-300);\n --color-background-warning-interactive: var(--pine-color-yellow-200);\n\n --font-size-sm: var(--pine-font-size-085);\n --font-size-body: var(--pine-font-size-100);\n --font-weight: var(--pine-font-weight-medium);\n --line-height: var(--pine-line-height-100);\n\n --spacing-xxs: calc(var(--pine-spacing-050) / 2);\n --spacing-xs: var(--pine-spacing-050);\n --spacing-sm: calc(var(--pine-spacing-150) / 2);\n --spacing-md: var(--pine-spacing-100);\n --spacing-lg: calc(var(--pine-spacing-250) / 2);\n --spacing-xl: var(--pine-spacing-150);\n --spacing-xxl: calc(var(--pine-spacing-350) / 2);\n\n --sizing-close: 10px;\n --sizing-close-lg: 24px;\n --sizing-dot: 4px;\n\n align-items: center;\n border-radius: var(--border-radius);\n display: inline-flex;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n line-height: var(--line-height);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n}\n\n$pds-chip-sentiment: (\n accent: var(--color-background-accent),\n danger: var(--color-background-danger),\n info: var(--color-background-info),\n neutral: var(--color-background-neutral),\n success: var(--color-background-success),\n warning: var(--color-background-warning),\n);\n\n$pds-chip-sentiment-dots: (\n accent: var(--color-background-accent-dot),\n danger: var(--color-background-danger-dot),\n info: var(--color-background-info-dot),\n neutral: var(--color-background-neutral-dot),\n success: var(--color-background-success-dot),\n warning: var(--color-background-warning-dot),\n);\n\n$pds-chip-sentiment-interactive: (\n accent: var(--color-background-accent-interactive),\n danger: var(--color-background-danger-interactive),\n info: var(--color-background-info-interactive),\n neutral: var(--color-background-neutral-interactive),\n success: var(--color-background-success-interactive),\n warning: var(--color-background-warning-interactive),\n);\n\n@each $sentiment, $value in $pds-chip-sentiment {\n :host(.pds-chip--#{$sentiment}) {\n background: $value;\n\n // dot colors\n .pds-chip__dot {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-dots, $sentiment);\n }\n\n // tag close hover colors\n .pds-chip__close:hover {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-interactive, $sentiment);\n }\n }\n // dropdown hover colors\n :host(.pds-chip--#{$sentiment}.pds-chip--dropdown:hover) {\n /* stylelint-disable-next-line */\n background: map-get($pds-chip-sentiment-interactive, $sentiment);\n }\n}\n\n.pds-chip__dot {\n border: 1px solid transparent;\n border-radius: 50%;\n display: inline-block;\n height: var(--sizing-dot);\n margin-block-end: var(--spacing-xxs);\n margin-inline-end: var(--spacing-xs);\n width: var(--sizing-dot);\n}\n\n// dropdown\n\n:host(.pds-chip--dropdown) {\n padding: 0;\n\n .pds-chip__dot {\n margin-block-end: calc(var(--spacing-xxs) / 4);\n margin-block-start: var(--spacing-xxs);\n }\n}\n\n.pds-chip__button {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--border-radius);\n display: flex;\n font-family: inherit;\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight);\n line-height: var(--line-height);\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-lg);\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n pds-icon {\n margin-inline-end: calc(var(--spacing-xxs) * -1);\n margin-inline-start: var(--spacing-xs);\n }\n}\n\n// tag\n\n:host(.pds-chip--tag) {\n padding-block: var(--spacing-xxs);\n}\n\n.pds-chip__close {\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: 50%;\n height: var(--sizing-close);\n margin-inline-end: calc(var(--spacing-md) * -1);\n margin-inline-start: var(--spacing-xs);\n padding: var(--sizing-close);\n position: relative;\n width: var(--sizing-close);\n\n pds-icon {\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n}\n\n// large\n\n:host(.pds-chip--large) {\n font-size: var(--font-size-body);\n padding-block: var(--spacing-sm);\n padding-inline: var(--spacing-xxl);\n\n &:host(.pds-chip--dropdown) {\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-xxs);\n\n .pds-chip__dot {\n margin-block-end: 0;\n }\n }\n\n .pds-chip__button {\n font-size: var(--font-size-body);\n padding-inline: var(--spacing-xl)\n }\n\n .pds-chip__close {\n height: var(--sizing-close-lg);\n margin-inline-end: calc(var(--spacing-xl) * -1);\n width: var(--sizing-close-lg);\n }\n\n &:host(.pds-chip--tag) {\n padding-block: var(--spacing-xs);\n }\n}\n","import { downSmall, remove } from '@pine-ds/icons/icons';\nimport { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-chip',\n styleUrls: ['../../global/styles/base.scss', 'pds-chip.scss'],\n shadow: true,\n})\nexport class PdsChip {\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Sets the color scheme of the chip.\n * @defaultValue 'neutral'\n */\n @Prop() sentiment: 'accent' | 'danger' | 'info' | 'neutral' | 'success' | 'warning' = 'neutral';\n\n /**\n * Determines whether a dot should be displayed on the chip.\n * @defaultValue false\n */\n @Prop() dot = false;\n\n /**\n * Sets the text label content of the chip.\n */\n @Prop() label: string;\n\n /**\n * Determines whether the chip should be rendered in a larger size.\n * @defaultValue false\n */\n @Prop() large = false;\n\n /**\n * Sets the style variant of the chip.\n * @defaultValue 'text'\n */\n @Prop() variant: 'text' | 'tag' | 'dropdown' = 'text';\n\n /**\n * Event when close button is clicked on tag variant.\n */\n @Event() pdsTagCloseClick: EventEmitter;\n\n private handleCloseClick = () => {\n this.pdsTagCloseClick.emit();\n }\n\n private classNames() {\n const classNames = ['pds-chip'];\n\n if (this.large) {\n classNames.push('pds-chip--large');\n }\n if (this.variant) {\n classNames.push('pds-chip--' + this.variant);\n }\n if (this.sentiment) {\n classNames.push('pds-chip--' + this.sentiment);\n }\n\n return classNames.join(' ');\n }\n\n private setChipContent() {\n const isDropdown = this.variant === 'dropdown';\n const chipContent = isDropdown ? (\n <button class=\"pds-chip__button\" type=\"button\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n <pds-icon icon={downSmall} size=\"12px\" aria-hidden=\"true\"></pds-icon>\n </button>\n ) : (\n <span class=\"pds-chip__label\">\n {this.dot && <i class=\"pds-chip__dot\" aria-hidden=\"true\"></i>}\n {this.label}\n </span>\n );\n\n return chipContent;\n }\n\n render() {\n return (\n <Host class={this.classNames()} id={this.componentId}>\n {this.setChipContent()}\n {this.variant === 'tag' && (\n <button class=\"pds-chip__close\" type=\"button\" onClick={this.handleCloseClick} aria-label=\"Remove\">\n <pds-icon icon={remove} size=\"12px\"></pds-icon>\n </button>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -3,8 +3,11 @@ import { a as copy } from './index2.js';
3
3
  import { d as defineCustomElement$3 } from './pds-button2.js';
4
4
  import { d as defineCustomElement$2 } from './pds-icon2.js';
5
5
 
6
+ const baseCss = ":where(*:not(slot),*:not(slot)::before,*:not(slot)::after){-webkit-box-sizing:border-box;box-sizing:border-box}:where(*:not(slot)){margin:0}:where(img,picture,video,canvas,svg){display:block;max-width:100%}:where(input,button,textarea,select){font:inherit}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(a:not([href]):not([class])){color:currentColor;text-decoration:none}:where(a:not([href]):not([class]):hover){color:currentColor;text-decoration:none}:where(ul[role=list],ol[role=list]){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(*:not(slot)){font-family:var(--pine-font-family-body), -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Ubuntu\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}:where(h1,h2,h3,h4,h5,h6){font-family:var(--pine-font-family-heading);color:var(--pine-color-grey-950)}:where(h1){font:var(--pine-typography-heading-h1);letter-spacing:var(--pine-letter-spacing-heading-h1)}:where(h2){font:var(--pine-typography-heading-h2);letter-spacing:var(--pine-letter-spacing-heading-h2)}:where(h3){font:var(--pine-typography-heading-h3);letter-spacing:var(--pine-letter-spacing-heading-h3)}:where(h4){font:var(--pine-typography-heading-h4);letter-spacing:var(--pine-letter-spacing-heading-h4)}:where(h5){font:var(--pine-typography-heading-h5);letter-spacing:var(--pine-letter-spacing-heading-h5)}:where(h6){font:var(--pine-typography-heading-h6);letter-spacing:var(--pine-letter-spacing-heading-h6)}:where(p){font:var(--pine-typography-body-md-default);letter-spacing:var(--pine-letter-spacing-body-md)}:where(code,kbd,pre,samp){font-family:monospace}:where([role=button]){cursor:pointer}:where(:focus){outline:0}:where(:focus-visible){outline:var(--pine-border-width-thick) solid var(--pine-color-purple-500)}:where([hidden]){display:none !important}";
7
+ const PdsCopytextStyle0 = baseCss;
8
+
6
9
  const pdsCopytextCss = ":host(.pds-copytext){--border-interactive-default:var(--pine-border-width-thin) solid var(--pine-color-grey-300);--border-interactive-hover:var(--pine-border-width-thin) solid var(--pine-color-grey-400);--border-radius-default:var(--pine-border-radius-125);--border-radius-hover:var(--pine-border-radius-0);--border-width-default:var(--pine-border-width-none);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-purple-300);--color-background-default:var(--pine-color-white);--color-border-interactive-hover:var(--pine-color-grey-400);--color-text-hover:var(--pine-color-grey-900);--copytext-color-background-hover:var(--pine-color-grey-200);--font-size-default:var(--pine-font-size-100);--font-weight-default:var(--pine-font-weight-semi-bold);--spacing-bordered-margin-inline-end:var(--pine-spacing-200);--spacing-bordered-padding-block:var(--pine-spacing-100);--spacing-bordered-padding-inline:var(--pine-spacing-200);--spacing-margin-inline-end:var(--pine-spacing-100);--spacing-padding-block:var(--pine-spacing-050);--spacing-padding-inline:var(--pine-spacing-100);--spacing-padding-none:var(--pine-spacing-0);--typography-default:var(--pine-font-weight-medium) var(--pine-font-size-100)/var(--pine-line-height-150) var(--pine-font-family-circular)}:host(.pds-copytext) pds-button{-ms-flex-align:center;align-items:center;background:var(--color-background-default);border:var(--border-width-default);border-radius:var(--border-radius-default);display:-ms-inline-flexbox;display:inline-flex;font:var(--typography-default);max-width:100%;padding:var(--spacing-padding-block) var(--spacing-padding-inline)}:host(.pds-copytext) pds-button::part(button):hover{background-color:var(--copytext-color-background-hover);border-radius:var(--border-radius-hover);color:var(--color-text-hover)}:host(.pds-copytext) pds-button span{-webkit-margin-end:var(--spacing-margin-inline-end);margin-inline-end:var(--spacing-margin-inline-end);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:var(--border-width-default);padding:var(--spacing-padding-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button{padding:var(--spacing-padding-none)}:host(.pds-copytext):host(.pds-copytext--bordered) pds-button:hover{background:none}:host(.pds-copytext):host(.pds-copytext--bordered) span{border:var(--border-interactive-default);border-radius:var(--border-radius-default);-webkit-margin-end:var(--spacing-bordered-margin-inline-end);margin-inline-end:var(--spacing-bordered-margin-inline-end);padding-block:var(--spacing-bordered-padding-block);padding-inline:var(--spacing-bordered-padding-inline)}:host(.pds-copytext):host(.pds-copytext--bordered) :hover span{border:var(--border-interactive-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%}";
7
- const PdsCopytextStyle0 = pdsCopytextCss;
10
+ const PdsCopytextStyle1 = pdsCopytextCss;
8
11
 
9
12
  const PdsCopytext$1 = /*@__PURE__*/ proxyCustomElement(class PdsCopytext extends HTMLElement {
10
13
  constructor() {
@@ -46,9 +49,9 @@ const PdsCopytext$1 = /*@__PURE__*/ proxyCustomElement(class PdsCopytext extends
46
49
  return classNames.join(' ');
47
50
  }
48
51
  render() {
49
- return (h(Host, { key: '9960146a3ac3810bc14834a976f2e50627569dad', class: this.classNames(), id: this.componentId }, h("pds-button", { key: '9d8c6dc9824be2483982d4362a5c8d8c4c232432', type: "button", variant: "unstyled", onClick: this.handleClick }, h("span", { key: '7c093ec0ae96afdbad02adda3901be87989c9ce4' }, this.value), h("pds-icon", { key: '466f5c685e32be0067938869afee751db522d3d3', icon: copy, size: "16px" }))));
52
+ return (h(Host, { key: '24f8ccba6099b5a4f283fe049dc38e32c916c80e', class: this.classNames(), id: this.componentId }, h("pds-button", { key: '7b4d6703944df7a4a3932663b5c09b496d642f0c', type: "button", variant: "unstyled", onClick: this.handleClick }, h("span", { key: '68ab90f525b04edc3d708d7405d34558aee8c98e' }, this.value), h("pds-icon", { key: '06a24c4577dc10917e69314a6d19db8e6a88e7f7', icon: copy, size: "16px" }))));
50
53
  }
51
- static get style() { return PdsCopytextStyle0; }
54
+ static get style() { return PdsCopytextStyle0 + PdsCopytextStyle1; }
52
55
  }, [1, "pds-copytext", {
53
56
  "border": [516],
54
57
  "componentId": [1, "component-id"],