@pine-ds/core 3.4.0 → 3.4.2

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 (562) hide show
  1. package/components/mock-pds-modal.js +1 -1
  2. package/components/mock-pds-modal.js.map +1 -1
  3. package/components/pds-box2.js +8 -4
  4. package/components/pds-box2.js.map +1 -1
  5. package/components/pds-button2.js +1 -1
  6. package/components/pds-button2.js.map +1 -1
  7. package/components/pds-checkbox2.js +45 -7
  8. package/components/pds-checkbox2.js.map +1 -1
  9. package/components/pds-input.js +56 -3
  10. package/components/pds-input.js.map +1 -1
  11. package/components/pds-modal.js +1 -1
  12. package/components/pds-modal.js.map +1 -1
  13. package/components/pds-radio.js +1 -1
  14. package/components/pds-radio.js.map +1 -1
  15. package/components/pds-select.js +77 -3
  16. package/components/pds-select.js.map +1 -1
  17. package/components/pds-switch.js +47 -4
  18. package/components/pds-switch.js.map +1 -1
  19. package/components/pds-textarea.js +56 -6
  20. package/components/pds-textarea.js.map +1 -1
  21. package/components/utils.js +38 -5
  22. package/components/utils.js.map +1 -1
  23. package/dist/cjs/{index-CxX7ua5d.js → index-g-uSeICs.js} +30 -2
  24. package/dist/cjs/index-g-uSeICs.js.map +1 -0
  25. package/dist/cjs/index.cjs.js +1 -1
  26. package/dist/cjs/loader.cjs.js +2 -2
  27. package/dist/cjs/mock-pds-modal.cjs.entry.js +2 -2
  28. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  29. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  30. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  31. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  32. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  33. package/dist/cjs/pds-box.cjs.entry.js +9 -5
  34. package/dist/cjs/pds-box.cjs.entry.js.map +1 -1
  35. package/dist/cjs/pds-box.entry.cjs.js.map +1 -1
  36. package/dist/cjs/pds-button.cjs.entry.js +3 -3
  37. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  38. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  39. package/dist/cjs/pds-checkbox.cjs.entry.js +44 -6
  40. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  41. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  42. package/dist/cjs/pds-chip.cjs.entry.js +1 -1
  43. package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
  44. package/dist/cjs/pds-copytext.cjs.entry.js +1 -1
  45. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  46. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  47. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  48. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  49. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/pds-image.cjs.entry.js +1 -1
  51. package/dist/cjs/pds-input.cjs.entry.js +56 -4
  52. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  53. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  54. package/dist/cjs/pds-link.cjs.entry.js +2 -2
  55. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  56. package/dist/cjs/pds-modal-content.cjs.entry.js +1 -1
  57. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  59. package/dist/cjs/pds-modal.cjs.entry.js +2 -2
  60. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  61. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  62. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  63. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  64. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  65. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  66. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  67. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  68. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  69. package/dist/cjs/pds-select.cjs.entry.js +77 -3
  70. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  71. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  72. package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
  73. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  74. package/dist/cjs/pds-switch.cjs.entry.js +45 -4
  75. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  76. package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
  77. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  79. package/dist/cjs/pds-table-cell.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
  81. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  82. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  83. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  84. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  86. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  87. package/dist/cjs/pds-textarea.cjs.entry.js +57 -7
  88. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  89. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  90. package/dist/cjs/pds-toast.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-tooltip.cjs.entry.js +1 -1
  92. package/dist/cjs/pine-core.cjs.js +2 -2
  93. package/dist/cjs/utils-7jx8T2mW.js +79 -0
  94. package/dist/cjs/utils-7jx8T2mW.js.map +1 -0
  95. package/dist/collection/components/pds-box/pds-box.css +1 -1
  96. package/dist/collection/components/pds-box/pds-box.js +10 -6
  97. package/dist/collection/components/pds-box/pds-box.js.map +1 -1
  98. package/dist/collection/components/pds-button/pds-button.css +3 -2
  99. package/dist/collection/components/pds-checkbox/pds-checkbox.css +1 -0
  100. package/dist/collection/components/pds-checkbox/pds-checkbox.js +44 -3
  101. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  102. package/dist/collection/components/pds-input/pds-input.css +10 -6
  103. package/dist/collection/components/pds-input/pds-input.js +72 -1
  104. package/dist/collection/components/pds-input/pds-input.js.map +1 -1
  105. package/dist/collection/components/pds-input/stories/pds-input.stories.js +11 -0
  106. package/dist/collection/components/pds-modal/pds-modal.css +1 -1
  107. package/dist/collection/components/pds-radio/pds-radio.css +1 -0
  108. package/dist/collection/components/pds-select/pds-select.css +2 -1
  109. package/dist/collection/components/pds-select/pds-select.js +75 -1
  110. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  111. package/dist/collection/components/pds-switch/pds-switch.js +47 -3
  112. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  113. package/dist/collection/components/pds-textarea/pds-textarea.css +1 -1
  114. package/dist/collection/components/pds-textarea/pds-textarea.js +54 -4
  115. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  116. package/dist/collection/utils/utils.js +37 -4
  117. package/dist/collection/utils/utils.js.map +1 -1
  118. package/dist/docs.json +28 -14
  119. package/dist/esm/{index-Uh5ntVcq.js → index-BVCWKPy3.js} +30 -2
  120. package/dist/esm/index-BVCWKPy3.js.map +1 -0
  121. package/dist/esm/index.js +1 -1
  122. package/dist/esm/loader.js +3 -3
  123. package/dist/esm/mock-pds-modal.entry.js +2 -2
  124. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  125. package/dist/esm/pds-accordion.entry.js +1 -1
  126. package/dist/esm/pds-alert.entry.js +1 -1
  127. package/dist/esm/pds-avatar.entry.js +1 -1
  128. package/dist/esm/pds-box.entry.js +9 -5
  129. package/dist/esm/pds-box.entry.js.map +1 -1
  130. package/dist/esm/pds-button.entry.js +3 -3
  131. package/dist/esm/pds-button.entry.js.map +1 -1
  132. package/dist/esm/pds-checkbox.entry.js +44 -6
  133. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  134. package/dist/esm/pds-chip.entry.js +1 -1
  135. package/dist/esm/pds-combobox.entry.js +1 -1
  136. package/dist/esm/pds-copytext.entry.js +1 -1
  137. package/dist/esm/pds-divider.entry.js +1 -1
  138. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  139. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  140. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  141. package/dist/esm/pds-icon.entry.js +1 -1
  142. package/dist/esm/pds-image.entry.js +1 -1
  143. package/dist/esm/pds-input.entry.js +56 -4
  144. package/dist/esm/pds-input.entry.js.map +1 -1
  145. package/dist/esm/pds-link.entry.js +2 -2
  146. package/dist/esm/pds-loader.entry.js +1 -1
  147. package/dist/esm/pds-modal-content.entry.js +1 -1
  148. package/dist/esm/pds-modal-footer.entry.js +1 -1
  149. package/dist/esm/pds-modal-header.entry.js +1 -1
  150. package/dist/esm/pds-modal.entry.js +2 -2
  151. package/dist/esm/pds-modal.entry.js.map +1 -1
  152. package/dist/esm/pds-popover.entry.js +1 -1
  153. package/dist/esm/pds-progress.entry.js +1 -1
  154. package/dist/esm/pds-property.entry.js +1 -1
  155. package/dist/esm/pds-radio.entry.js +2 -2
  156. package/dist/esm/pds-radio.entry.js.map +1 -1
  157. package/dist/esm/pds-row.entry.js +1 -1
  158. package/dist/esm/pds-select.entry.js +77 -3
  159. package/dist/esm/pds-select.entry.js.map +1 -1
  160. package/dist/esm/pds-sortable-item.entry.js +1 -1
  161. package/dist/esm/pds-sortable.entry.js +1 -1
  162. package/dist/esm/pds-switch.entry.js +45 -4
  163. package/dist/esm/pds-switch.entry.js.map +1 -1
  164. package/dist/esm/pds-tab.entry.js +1 -1
  165. package/dist/esm/pds-table-body.entry.js +1 -1
  166. package/dist/esm/pds-table-cell.entry.js +1 -1
  167. package/dist/esm/pds-table-head-cell.entry.js +1 -1
  168. package/dist/esm/pds-table-head.entry.js +1 -1
  169. package/dist/esm/pds-table-row.entry.js +1 -1
  170. package/dist/esm/pds-table.entry.js +1 -1
  171. package/dist/esm/pds-tabpanel.entry.js +1 -1
  172. package/dist/esm/pds-tabs.entry.js +1 -1
  173. package/dist/esm/pds-text.entry.js +2 -2
  174. package/dist/esm/pds-textarea.entry.js +57 -7
  175. package/dist/esm/pds-textarea.entry.js.map +1 -1
  176. package/dist/esm/pds-toast.entry.js +1 -1
  177. package/dist/esm/pds-tooltip.entry.js +1 -1
  178. package/dist/esm/pine-core.js +3 -3
  179. package/dist/esm/utils-tJa4KYNO.js +74 -0
  180. package/dist/esm/utils-tJa4KYNO.js.map +1 -0
  181. package/dist/esm-es5/index-BVCWKPy3.js +3 -0
  182. package/dist/esm-es5/index-BVCWKPy3.js.map +1 -0
  183. package/dist/esm-es5/index.js +1 -1
  184. package/dist/esm-es5/loader.js +1 -1
  185. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  186. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  187. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  188. package/dist/esm-es5/pds-alert.entry.js +1 -1
  189. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  190. package/dist/esm-es5/pds-box.entry.js +1 -1
  191. package/dist/esm-es5/pds-box.entry.js.map +1 -1
  192. package/dist/esm-es5/pds-button.entry.js +1 -1
  193. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  194. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  195. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  196. package/dist/esm-es5/pds-chip.entry.js +1 -1
  197. package/dist/esm-es5/pds-combobox.entry.js +1 -1
  198. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  199. package/dist/esm-es5/pds-divider.entry.js +1 -1
  200. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  201. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  202. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  203. package/dist/esm-es5/pds-icon.entry.js +1 -1
  204. package/dist/esm-es5/pds-image.entry.js +1 -1
  205. package/dist/esm-es5/pds-input.entry.js +1 -1
  206. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  207. package/dist/esm-es5/pds-link.entry.js +1 -1
  208. package/dist/esm-es5/pds-loader.entry.js +1 -1
  209. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  210. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  211. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  212. package/dist/esm-es5/pds-modal.entry.js +1 -1
  213. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  214. package/dist/esm-es5/pds-popover.entry.js +1 -1
  215. package/dist/esm-es5/pds-progress.entry.js +1 -1
  216. package/dist/esm-es5/pds-property.entry.js +1 -1
  217. package/dist/esm-es5/pds-radio.entry.js +1 -1
  218. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  219. package/dist/esm-es5/pds-row.entry.js +1 -1
  220. package/dist/esm-es5/pds-select.entry.js +1 -1
  221. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  222. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  223. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  224. package/dist/esm-es5/pds-switch.entry.js +1 -1
  225. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  226. package/dist/esm-es5/pds-tab.entry.js +1 -1
  227. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  228. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  229. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  230. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  231. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  232. package/dist/esm-es5/pds-table.entry.js +1 -1
  233. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  234. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  235. package/dist/esm-es5/pds-text.entry.js +1 -1
  236. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  237. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  238. package/dist/esm-es5/pds-toast.entry.js +1 -1
  239. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  240. package/dist/esm-es5/pine-core.js +1 -1
  241. package/dist/esm-es5/utils-tJa4KYNO.js +2 -0
  242. package/dist/esm-es5/utils-tJa4KYNO.js.map +1 -0
  243. package/dist/pine-core/index.esm.js +1 -1
  244. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  245. package/dist/pine-core/{p-fd3b7077.entry.js → p-0066d249.entry.js} +2 -2
  246. package/dist/pine-core/{p-c5da4a97.system.entry.js → p-0199e3e9.system.entry.js} +2 -2
  247. package/dist/pine-core/{p-982edcaf.system.entry.js → p-03d17841.system.entry.js} +2 -2
  248. package/dist/pine-core/p-03d17841.system.entry.js.map +1 -0
  249. package/dist/pine-core/p-042ee55c.entry.js +2 -0
  250. package/dist/pine-core/p-042ee55c.entry.js.map +1 -0
  251. package/dist/pine-core/{p-9d8bb7f7.system.entry.js → p-051ff780.system.entry.js} +2 -2
  252. package/dist/pine-core/{p-2a2cd90d.entry.js → p-064e3d73.entry.js} +2 -2
  253. package/dist/pine-core/{p-90a8d1bd.entry.js → p-075eecf9.entry.js} +2 -2
  254. package/dist/pine-core/{p-3df372d1.entry.js → p-0a4fc9c7.entry.js} +3 -3
  255. package/dist/pine-core/{p-30449e82.entry.js → p-0dbb2ae9.entry.js} +2 -2
  256. package/dist/pine-core/{p-667eb50e.entry.js → p-11d4036e.entry.js} +2 -2
  257. package/dist/pine-core/{p-f29baa16.entry.js → p-126197e5.entry.js} +2 -2
  258. package/dist/pine-core/{p-b6d18604.entry.js → p-13ac0852.entry.js} +2 -2
  259. package/dist/pine-core/{p-d64527b2.system.entry.js → p-14b424ab.system.entry.js} +2 -2
  260. package/dist/pine-core/{p-eef645bd.system.entry.js → p-1858ad6d.system.entry.js} +2 -2
  261. package/dist/pine-core/p-19d08886.system.entry.js +2 -0
  262. package/dist/pine-core/p-19d08886.system.entry.js.map +1 -0
  263. package/dist/pine-core/{p-f7c02b89.entry.js → p-1a5e79af.entry.js} +2 -2
  264. package/dist/pine-core/p-209b1d69.entry.js +2 -0
  265. package/dist/pine-core/p-209b1d69.entry.js.map +1 -0
  266. package/dist/pine-core/p-2436cb86.system.entry.js +2 -0
  267. package/dist/pine-core/p-2436cb86.system.entry.js.map +1 -0
  268. package/dist/pine-core/{p-383af1d4.system.entry.js → p-276a6a8b.system.entry.js} +2 -2
  269. package/dist/pine-core/{p-e7322ff9.system.entry.js → p-280a0ec1.system.entry.js} +2 -2
  270. package/dist/pine-core/{p-160c6806.system.entry.js → p-2aad0209.system.entry.js} +2 -2
  271. package/dist/pine-core/{p-357b6dd6.system.entry.js → p-2fb60757.system.entry.js} +2 -2
  272. package/dist/pine-core/{p-ClrDO1lY.system.js.map → p-2kXtbFXu.system.js.map} +1 -1
  273. package/dist/pine-core/{p-5a1af174.entry.js → p-33016dd0.entry.js} +2 -2
  274. package/dist/pine-core/p-380d1056.entry.js +2 -0
  275. package/dist/pine-core/p-380d1056.entry.js.map +1 -0
  276. package/dist/pine-core/{p-d451c7b5.system.entry.js → p-39488f2c.system.entry.js} +2 -2
  277. package/dist/pine-core/p-3EWr6ZgL.system.js.map +1 -0
  278. package/dist/pine-core/{p-000ed179.entry.js → p-3e6229cc.entry.js} +3 -3
  279. package/dist/pine-core/{p-e0a6ba6f.system.entry.js → p-3f83d4c4.system.entry.js} +2 -2
  280. package/dist/pine-core/{p-e8a4eafa.system.entry.js → p-4066a9c0.system.entry.js} +2 -2
  281. package/dist/pine-core/{p-e8a4eafa.system.entry.js.map → p-4066a9c0.system.entry.js.map} +1 -1
  282. package/dist/pine-core/{p-2fbc5f8c.system.entry.js → p-41bf807f.system.entry.js} +2 -2
  283. package/dist/pine-core/{p-91520803.system.entry.js → p-487552a9.system.entry.js} +2 -2
  284. package/dist/pine-core/{p-b214c043.entry.js → p-4e5b9d19.entry.js} +2 -2
  285. package/dist/pine-core/{p-62bc2080.system.entry.js → p-51d83489.system.entry.js} +2 -2
  286. package/dist/pine-core/{p-a4d19fb1.entry.js → p-51e463bf.entry.js} +2 -2
  287. package/dist/pine-core/{p-a4d19fb1.entry.js.map → p-51e463bf.entry.js.map} +1 -1
  288. package/dist/pine-core/{p-f4fff209.system.entry.js → p-52af1890.system.entry.js} +2 -2
  289. package/dist/pine-core/{p-256d15bc.system.entry.js → p-55bf6be2.system.entry.js} +2 -2
  290. package/dist/pine-core/{p-47a7a65b.entry.js → p-5a709348.entry.js} +2 -2
  291. package/dist/pine-core/{p-fe73a67f.entry.js → p-63ef55dd.entry.js} +2 -2
  292. package/dist/pine-core/{p-fe73a67f.entry.js.map → p-63ef55dd.entry.js.map} +1 -1
  293. package/dist/pine-core/{p-d6b1f60d.system.entry.js → p-6438a29d.system.entry.js} +2 -2
  294. package/dist/pine-core/p-65275835.system.entry.js +2 -0
  295. package/dist/pine-core/p-65275835.system.entry.js.map +1 -0
  296. package/dist/pine-core/{p-6ef51211.entry.js → p-66b10d29.entry.js} +2 -2
  297. package/dist/pine-core/p-6bd5811c.system.entry.js +2 -0
  298. package/dist/pine-core/p-6bd5811c.system.entry.js.map +1 -0
  299. package/dist/pine-core/{p-b93825c4.system.entry.js → p-6d601fc2.system.entry.js} +2 -2
  300. package/dist/pine-core/{p-5fdbbab9.entry.js → p-6fd385ec.entry.js} +2 -2
  301. package/dist/pine-core/{p-7da6180d.system.entry.js → p-7a95a90f.system.entry.js} +2 -2
  302. package/dist/pine-core/{p-d989287d.entry.js → p-7c867f1b.entry.js} +2 -2
  303. package/dist/pine-core/{p-e416f7a8.system.entry.js → p-7eb4ac7c.system.entry.js} +2 -2
  304. package/dist/pine-core/{p-61b7ff04.system.entry.js → p-8096b988.system.entry.js} +2 -2
  305. package/dist/pine-core/p-8096b988.system.entry.js.map +1 -0
  306. package/dist/pine-core/{p-e53547e2.system.entry.js → p-81a28f54.system.entry.js} +2 -2
  307. package/dist/pine-core/{p-faaa1caa.system.entry.js → p-89d9f273.system.entry.js} +3 -3
  308. package/dist/pine-core/{p-36d3352a.entry.js → p-8cb99f2f.entry.js} +2 -2
  309. package/dist/pine-core/{p-82388e60.entry.js → p-91c6bd68.entry.js} +2 -2
  310. package/dist/pine-core/{p-64c897bb.entry.js → p-94982c57.entry.js} +2 -2
  311. package/dist/pine-core/{p-ef08f005.entry.js → p-978e722a.entry.js} +2 -2
  312. package/dist/pine-core/{p-cc15bf6c.system.entry.js → p-9860d0a8.system.entry.js} +2 -2
  313. package/dist/pine-core/p-987a7e4f.entry.js +2 -0
  314. package/dist/pine-core/p-987a7e4f.entry.js.map +1 -0
  315. package/dist/pine-core/{p-Bgszb25I.system.js.map → p-ACQU83St.system.js.map} +1 -1
  316. package/dist/pine-core/p-B0PUl1_1.system.js.map +1 -0
  317. package/dist/pine-core/{p-Cly-fzRE.system.js.map → p-B4ww2WM0.system.js.map} +1 -1
  318. package/dist/pine-core/{p-ydqm5FGv.system.js.map → p-B6IFMveo.system.js.map} +1 -1
  319. package/dist/pine-core/{p-B2gfQpwn.system.js.map → p-B7S-9dbT.system.js.map} +1 -1
  320. package/dist/pine-core/{p-DKGUedTE.system.js.map → p-BCZ4LK15.system.js.map} +1 -1
  321. package/dist/pine-core/{p-CLscfXhT.system.js.map → p-BEky6idI.system.js.map} +1 -1
  322. package/dist/pine-core/p-BG6uGRQj.system.js +2 -0
  323. package/dist/pine-core/p-BG6uGRQj.system.js.map +1 -0
  324. package/dist/pine-core/p-BGbUqsWH.system.js +2 -0
  325. package/dist/pine-core/p-BGbUqsWH.system.js.map +1 -0
  326. package/dist/pine-core/p-BVCWKPy3.js +3 -0
  327. package/dist/pine-core/p-BVCWKPy3.js.map +1 -0
  328. package/dist/pine-core/{p-B-xQ7Q5Y.system.js.map → p-BY7O1nGC.system.js.map} +1 -1
  329. package/dist/pine-core/p-B_C-mRjx.system.js +3 -0
  330. package/dist/pine-core/p-B_C-mRjx.system.js.map +1 -0
  331. package/dist/pine-core/{p-PwBWYqtO.system.js.map → p-B_c-HOvq.system.js.map} +1 -1
  332. package/dist/pine-core/p-BdBU6s5P.system.js.map +1 -0
  333. package/dist/pine-core/p-BmoX08WO.system.js.map +1 -0
  334. package/dist/pine-core/{p-Ci1ZzxGS.system.js.map → p-Bw9e5h_G.system.js.map} +1 -1
  335. package/dist/pine-core/{p-b6lYO9O3.system.js.map → p-C36pvE-A.system.js.map} +1 -1
  336. package/dist/pine-core/{p-CaJHqbdu.system.js.map → p-C3lnYhcV.system.js.map} +1 -1
  337. package/dist/pine-core/{p-CtuIf6LK.system.js.map → p-C5Wo1bN2.system.js.map} +1 -1
  338. package/dist/pine-core/{p-CTJnwc4I.system.js.map → p-C5Y492i0.system.js.map} +1 -1
  339. package/dist/pine-core/{p-lWwPttyv.system.js.map → p-CG_aggl0.system.js.map} +1 -1
  340. package/dist/pine-core/{p-zZHye4hT.system.js.map → p-CMLxdmO2.system.js.map} +1 -1
  341. package/dist/pine-core/{p-C47kwjaJ.system.js.map → p-CNOeJ6ra.system.js.map} +1 -1
  342. package/dist/pine-core/p-CXLBzkzl.system.js.map +1 -0
  343. package/dist/pine-core/{p-DQCWs_Ih.system.js.map → p-CbDQeXQ4.system.js.map} +1 -1
  344. package/dist/pine-core/{p-Bdnq3aMi.system.js.map → p-ChslVme6.system.js.map} +1 -1
  345. package/dist/pine-core/p-CmJBNVRO.system.js.map +1 -0
  346. package/dist/pine-core/{p-BPlIGHM4.system.js.map → p-CoHBlcHu.system.js.map} +1 -1
  347. package/dist/pine-core/{p-DX9uSGoE.system.js.map → p-CqzGa2j0.system.js.map} +1 -1
  348. package/dist/pine-core/{p-y1DacLeb.system.js.map → p-DCdSlcTO.system.js.map} +1 -1
  349. package/dist/pine-core/{p-mWJg54bF.system.js.map → p-DKuFjXiD.system.js.map} +1 -1
  350. package/dist/pine-core/{p-PuPjQNmU.system.js.map → p-DMNp4slx.system.js.map} +1 -1
  351. package/dist/pine-core/{p-CD40xhZg.system.js.map → p-DQ-QGnGf.system.js.map} +1 -1
  352. package/dist/pine-core/{p-DwwM3-D4.system.js.map → p-DQnK6lQ2.system.js.map} +1 -1
  353. package/dist/pine-core/{p-Gn2xhxDz.system.js.map → p-DRqkTTfb.system.js.map} +1 -1
  354. package/dist/pine-core/{p-CuHZffVk.system.js.map → p-DXuK7cEc.system.js.map} +1 -1
  355. package/dist/pine-core/{p-B-hSZadO.system.js.map → p-DYb5Y47j.system.js.map} +1 -1
  356. package/dist/pine-core/{p-D1LdgjO0.system.js.map → p-DdEbUZw3.system.js.map} +1 -1
  357. package/dist/pine-core/p-De9tROL-.system.js +2 -0
  358. package/dist/pine-core/{p-BsL2GDnH.system.js.map → p-De9tROL-.system.js.map} +1 -1
  359. package/dist/pine-core/p-DgMvQlxU.system.js.map +1 -0
  360. package/dist/pine-core/{p-BJRnZhwF.system.js.map → p-DvZWnvRb.system.js.map} +1 -1
  361. package/dist/pine-core/{p-ipxZYSGJ.system.js.map → p-EytFbMH4.system.js.map} +1 -1
  362. package/dist/pine-core/{p-Bpn2QYa2.system.js.map → p-KkT5zjJU.system.js.map} +1 -1
  363. package/dist/pine-core/{p-Bok_Wwo5.system.js.map → p-PgQPKVDh.system.js.map} +1 -1
  364. package/dist/pine-core/{p-BSg_Clcf.system.js.map → p-REBgf8JA.system.js.map} +1 -1
  365. package/dist/pine-core/{p-6tdMlyau.system.js.map → p-XHvXi3U6.system.js.map} +1 -1
  366. package/dist/pine-core/{p-2f0aedfa.entry.js → p-a2d16624.entry.js} +2 -2
  367. package/dist/pine-core/{p-3b43a1ea.entry.js → p-a54f1d9e.entry.js} +2 -2
  368. package/dist/pine-core/p-a7204f01.entry.js +2 -0
  369. package/dist/pine-core/p-a7cb24c3.system.entry.js +2 -0
  370. package/dist/pine-core/p-a7cb24c3.system.entry.js.map +1 -0
  371. package/dist/pine-core/p-aafb6e06.system.entry.js +2 -0
  372. package/dist/pine-core/p-aafb6e06.system.entry.js.map +1 -0
  373. package/dist/pine-core/{p-9df7ba40.system.entry.js → p-adf2449e.system.entry.js} +2 -2
  374. package/dist/pine-core/{p-e0a35811.system.entry.js → p-b2b405ca.system.entry.js} +3 -3
  375. package/dist/pine-core/p-b649d711.entry.js +2 -0
  376. package/dist/pine-core/p-b649d711.entry.js.map +1 -0
  377. package/dist/pine-core/{p-d21156cf.entry.js → p-b956922a.entry.js} +2 -2
  378. package/dist/pine-core/{p-5706c81b.system.entry.js → p-b9fe17b8.system.entry.js} +2 -2
  379. package/dist/pine-core/{p-af5c9fbd.system.entry.js → p-c1099665.system.entry.js} +2 -2
  380. package/dist/pine-core/{p-0c6e9ba0.system.entry.js → p-c1115d78.system.entry.js} +2 -2
  381. package/dist/pine-core/{p-6d36fae0.entry.js → p-c16d01cc.entry.js} +2 -2
  382. package/dist/pine-core/{p-b5dc7a18.entry.js → p-c1a1475e.entry.js} +2 -2
  383. package/dist/pine-core/{p-27b52fc5.entry.js → p-c1f5148f.entry.js} +2 -2
  384. package/dist/pine-core/p-c1f5148f.entry.js.map +1 -0
  385. package/dist/pine-core/{p-9e22eab5.system.entry.js → p-c3f32f26.system.entry.js} +2 -2
  386. package/dist/pine-core/{p-9e22eab5.system.entry.js.map → p-c3f32f26.system.entry.js.map} +1 -1
  387. package/dist/pine-core/{p-5033d9e8.entry.js → p-c652847a.entry.js} +2 -2
  388. package/dist/pine-core/{p-31fe86a6.entry.js → p-c7075f11.entry.js} +2 -2
  389. package/dist/pine-core/p-c7075f11.entry.js.map +1 -0
  390. package/dist/pine-core/p-c721e8cf.entry.js +2 -0
  391. package/dist/pine-core/p-c721e8cf.entry.js.map +1 -0
  392. package/dist/pine-core/{p-4d22ca40.entry.js → p-c82c277f.entry.js} +2 -2
  393. package/dist/pine-core/{p-f9005ac9.entry.js → p-c82d0a99.entry.js} +2 -2
  394. package/dist/pine-core/{p-c93786f1.system.entry.js → p-ce0d9f05.system.entry.js} +2 -2
  395. package/dist/pine-core/{p-9b8a3659.system.entry.js → p-cf5506db.system.entry.js} +2 -2
  396. package/dist/pine-core/{p-c5a7c8e9.system.entry.js → p-d08ecd18.system.entry.js} +2 -2
  397. package/dist/pine-core/{p-4a69106a.system.entry.js → p-d6d87fbc.system.entry.js} +2 -2
  398. package/dist/pine-core/{p-80246c79.entry.js → p-df15e16a.entry.js} +2 -2
  399. package/dist/pine-core/{p-d0ec666b.entry.js → p-e05135c5.entry.js} +2 -2
  400. package/dist/pine-core/{p-39fbd912.entry.js → p-e30601a6.entry.js} +2 -2
  401. package/dist/pine-core/{p-1e056ca3.system.entry.js → p-e3fb0bc2.system.entry.js} +2 -2
  402. package/dist/pine-core/{p-3bbb6fc1.entry.js → p-e8d76117.entry.js} +2 -2
  403. package/dist/pine-core/{p-f30b1479.entry.js → p-ed94947b.entry.js} +2 -2
  404. package/dist/pine-core/{p-822e90ee.entry.js → p-f35a5afa.entry.js} +2 -2
  405. package/dist/pine-core/{p-9cc1844a.system.entry.js → p-f647c1af.system.entry.js} +2 -2
  406. package/dist/pine-core/{p-1ef5f46b.system.entry.js → p-f9bd0bc2.system.entry.js} +2 -2
  407. package/dist/pine-core/{p-7a431264.system.entry.js → p-ffe867ef.system.entry.js} +2 -2
  408. package/dist/pine-core/{p-U_efBpHV.system.js.map → p-lMetQ5Q0.system.js.map} +1 -1
  409. package/dist/pine-core/{p-Bq1H4MPi.system.js.map → p-pm8ElBzm.system.js.map} +1 -1
  410. package/dist/pine-core/p-qjvXmIGJ.system.js.map +1 -0
  411. package/dist/pine-core/p-tJa4KYNO.js +2 -0
  412. package/dist/pine-core/p-tJa4KYNO.js.map +1 -0
  413. package/dist/pine-core/pds-box.entry.esm.js.map +1 -1
  414. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  415. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  416. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  417. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  418. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  419. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  420. package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
  421. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  422. package/dist/pine-core/pine-core.esm.js +1 -1
  423. package/dist/pine-core/pine-core.js +1 -1
  424. package/dist/types/components/pds-box/pds-box.d.ts +2 -1
  425. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +6 -0
  426. package/dist/types/components/pds-input/pds-input.d.ts +22 -0
  427. package/dist/types/components/pds-select/pds-select.d.ts +19 -0
  428. package/dist/types/components/pds-switch/pds-switch.d.ts +6 -0
  429. package/dist/types/components/pds-textarea/pds-textarea.d.ts +17 -0
  430. package/dist/types/components.d.ts +12 -4
  431. package/dist/types/utils/utils.d.ts +10 -3
  432. package/hydrate/index.js +359 -67
  433. package/hydrate/index.mjs +359 -67
  434. package/package.json +2 -2
  435. package/dist/cjs/index-CxX7ua5d.js.map +0 -1
  436. package/dist/cjs/utils-jWx-Mf12.js +0 -45
  437. package/dist/cjs/utils-jWx-Mf12.js.map +0 -1
  438. package/dist/esm/index-Uh5ntVcq.js.map +0 -1
  439. package/dist/esm/utils-DkabwBZT.js +0 -41
  440. package/dist/esm/utils-DkabwBZT.js.map +0 -1
  441. package/dist/esm-es5/index-Uh5ntVcq.js +0 -3
  442. package/dist/esm-es5/index-Uh5ntVcq.js.map +0 -1
  443. package/dist/esm-es5/utils-DkabwBZT.js +0 -2
  444. package/dist/esm-es5/utils-DkabwBZT.js.map +0 -1
  445. package/dist/pine-core/p-27b52fc5.entry.js.map +0 -1
  446. package/dist/pine-core/p-307b456a.entry.js +0 -2
  447. package/dist/pine-core/p-307b456a.entry.js.map +0 -1
  448. package/dist/pine-core/p-31fe86a6.entry.js.map +0 -1
  449. package/dist/pine-core/p-38248640.entry.js +0 -2
  450. package/dist/pine-core/p-38248640.entry.js.map +0 -1
  451. package/dist/pine-core/p-3fd658ad.system.entry.js +0 -2
  452. package/dist/pine-core/p-3fd658ad.system.entry.js.map +0 -1
  453. package/dist/pine-core/p-447fa824.system.entry.js +0 -2
  454. package/dist/pine-core/p-447fa824.system.entry.js.map +0 -1
  455. package/dist/pine-core/p-495a206d.entry.js +0 -2
  456. package/dist/pine-core/p-495a206d.entry.js.map +0 -1
  457. package/dist/pine-core/p-61b7ff04.system.entry.js.map +0 -1
  458. package/dist/pine-core/p-708c66c2.entry.js +0 -2
  459. package/dist/pine-core/p-708c66c2.entry.js.map +0 -1
  460. package/dist/pine-core/p-73412ca9.system.entry.js +0 -2
  461. package/dist/pine-core/p-73412ca9.system.entry.js.map +0 -1
  462. package/dist/pine-core/p-982edcaf.system.entry.js.map +0 -1
  463. package/dist/pine-core/p-BHZ6CSg4.system.js.map +0 -1
  464. package/dist/pine-core/p-BhPuKJbQ.system.js +0 -2
  465. package/dist/pine-core/p-BhPuKJbQ.system.js.map +0 -1
  466. package/dist/pine-core/p-BlpTiOHo.system.js.map +0 -1
  467. package/dist/pine-core/p-BsL2GDnH.system.js +0 -2
  468. package/dist/pine-core/p-CLsVcJCa.system.js.map +0 -1
  469. package/dist/pine-core/p-CUHK9C55.system.js.map +0 -1
  470. package/dist/pine-core/p-C_8VmA8d.system.js +0 -3
  471. package/dist/pine-core/p-C_8VmA8d.system.js.map +0 -1
  472. package/dist/pine-core/p-Ctwx2R4g.system.js.map +0 -1
  473. package/dist/pine-core/p-CuIq_L5Z.system.js +0 -2
  474. package/dist/pine-core/p-CuIq_L5Z.system.js.map +0 -1
  475. package/dist/pine-core/p-DJPo1iGw.system.js.map +0 -1
  476. package/dist/pine-core/p-DNqc41uY.system.js.map +0 -1
  477. package/dist/pine-core/p-DkabwBZT.js +0 -2
  478. package/dist/pine-core/p-DkabwBZT.js.map +0 -1
  479. package/dist/pine-core/p-DxydR7R6.system.js.map +0 -1
  480. package/dist/pine-core/p-Uh5ntVcq.js +0 -3
  481. package/dist/pine-core/p-Uh5ntVcq.js.map +0 -1
  482. package/dist/pine-core/p-d2d6b3a6.system.entry.js +0 -2
  483. package/dist/pine-core/p-d2d6b3a6.system.entry.js.map +0 -1
  484. package/dist/pine-core/p-e68dd704.system.entry.js +0 -2
  485. package/dist/pine-core/p-e68dd704.system.entry.js.map +0 -1
  486. package/dist/pine-core/p-ec1c3452.system.entry.js +0 -2
  487. package/dist/pine-core/p-ec1c3452.system.entry.js.map +0 -1
  488. package/dist/pine-core/p-ee0117a2.entry.js +0 -2
  489. package/dist/pine-core/p-ee0117a2.entry.js.map +0 -1
  490. package/dist/pine-core/p-f256dd8a.entry.js +0 -2
  491. package/dist/pine-core/p-f256dd8a.entry.js.map +0 -1
  492. package/dist/pine-core/p-f455deb5.entry.js +0 -2
  493. /package/dist/pine-core/{p-fd3b7077.entry.js.map → p-0066d249.entry.js.map} +0 -0
  494. /package/dist/pine-core/{p-c5da4a97.system.entry.js.map → p-0199e3e9.system.entry.js.map} +0 -0
  495. /package/dist/pine-core/{p-9d8bb7f7.system.entry.js.map → p-051ff780.system.entry.js.map} +0 -0
  496. /package/dist/pine-core/{p-2a2cd90d.entry.js.map → p-064e3d73.entry.js.map} +0 -0
  497. /package/dist/pine-core/{p-90a8d1bd.entry.js.map → p-075eecf9.entry.js.map} +0 -0
  498. /package/dist/pine-core/{p-3df372d1.entry.js.map → p-0a4fc9c7.entry.js.map} +0 -0
  499. /package/dist/pine-core/{p-30449e82.entry.js.map → p-0dbb2ae9.entry.js.map} +0 -0
  500. /package/dist/pine-core/{p-667eb50e.entry.js.map → p-11d4036e.entry.js.map} +0 -0
  501. /package/dist/pine-core/{p-f29baa16.entry.js.map → p-126197e5.entry.js.map} +0 -0
  502. /package/dist/pine-core/{p-b6d18604.entry.js.map → p-13ac0852.entry.js.map} +0 -0
  503. /package/dist/pine-core/{p-d64527b2.system.entry.js.map → p-14b424ab.system.entry.js.map} +0 -0
  504. /package/dist/pine-core/{p-eef645bd.system.entry.js.map → p-1858ad6d.system.entry.js.map} +0 -0
  505. /package/dist/pine-core/{p-f7c02b89.entry.js.map → p-1a5e79af.entry.js.map} +0 -0
  506. /package/dist/pine-core/{p-383af1d4.system.entry.js.map → p-276a6a8b.system.entry.js.map} +0 -0
  507. /package/dist/pine-core/{p-e7322ff9.system.entry.js.map → p-280a0ec1.system.entry.js.map} +0 -0
  508. /package/dist/pine-core/{p-160c6806.system.entry.js.map → p-2aad0209.system.entry.js.map} +0 -0
  509. /package/dist/pine-core/{p-357b6dd6.system.entry.js.map → p-2fb60757.system.entry.js.map} +0 -0
  510. /package/dist/pine-core/{p-5a1af174.entry.js.map → p-33016dd0.entry.js.map} +0 -0
  511. /package/dist/pine-core/{p-d451c7b5.system.entry.js.map → p-39488f2c.system.entry.js.map} +0 -0
  512. /package/dist/pine-core/{p-000ed179.entry.js.map → p-3e6229cc.entry.js.map} +0 -0
  513. /package/dist/pine-core/{p-e0a6ba6f.system.entry.js.map → p-3f83d4c4.system.entry.js.map} +0 -0
  514. /package/dist/pine-core/{p-2fbc5f8c.system.entry.js.map → p-41bf807f.system.entry.js.map} +0 -0
  515. /package/dist/pine-core/{p-91520803.system.entry.js.map → p-487552a9.system.entry.js.map} +0 -0
  516. /package/dist/pine-core/{p-b214c043.entry.js.map → p-4e5b9d19.entry.js.map} +0 -0
  517. /package/dist/pine-core/{p-62bc2080.system.entry.js.map → p-51d83489.system.entry.js.map} +0 -0
  518. /package/dist/pine-core/{p-f4fff209.system.entry.js.map → p-52af1890.system.entry.js.map} +0 -0
  519. /package/dist/pine-core/{p-256d15bc.system.entry.js.map → p-55bf6be2.system.entry.js.map} +0 -0
  520. /package/dist/pine-core/{p-47a7a65b.entry.js.map → p-5a709348.entry.js.map} +0 -0
  521. /package/dist/pine-core/{p-d6b1f60d.system.entry.js.map → p-6438a29d.system.entry.js.map} +0 -0
  522. /package/dist/pine-core/{p-6ef51211.entry.js.map → p-66b10d29.entry.js.map} +0 -0
  523. /package/dist/pine-core/{p-b93825c4.system.entry.js.map → p-6d601fc2.system.entry.js.map} +0 -0
  524. /package/dist/pine-core/{p-5fdbbab9.entry.js.map → p-6fd385ec.entry.js.map} +0 -0
  525. /package/dist/pine-core/{p-7da6180d.system.entry.js.map → p-7a95a90f.system.entry.js.map} +0 -0
  526. /package/dist/pine-core/{p-d989287d.entry.js.map → p-7c867f1b.entry.js.map} +0 -0
  527. /package/dist/pine-core/{p-e416f7a8.system.entry.js.map → p-7eb4ac7c.system.entry.js.map} +0 -0
  528. /package/dist/pine-core/{p-e53547e2.system.entry.js.map → p-81a28f54.system.entry.js.map} +0 -0
  529. /package/dist/pine-core/{p-faaa1caa.system.entry.js.map → p-89d9f273.system.entry.js.map} +0 -0
  530. /package/dist/pine-core/{p-36d3352a.entry.js.map → p-8cb99f2f.entry.js.map} +0 -0
  531. /package/dist/pine-core/{p-82388e60.entry.js.map → p-91c6bd68.entry.js.map} +0 -0
  532. /package/dist/pine-core/{p-64c897bb.entry.js.map → p-94982c57.entry.js.map} +0 -0
  533. /package/dist/pine-core/{p-ef08f005.entry.js.map → p-978e722a.entry.js.map} +0 -0
  534. /package/dist/pine-core/{p-cc15bf6c.system.entry.js.map → p-9860d0a8.system.entry.js.map} +0 -0
  535. /package/dist/pine-core/{p-2f0aedfa.entry.js.map → p-a2d16624.entry.js.map} +0 -0
  536. /package/dist/pine-core/{p-3b43a1ea.entry.js.map → p-a54f1d9e.entry.js.map} +0 -0
  537. /package/dist/pine-core/{p-f455deb5.entry.js.map → p-a7204f01.entry.js.map} +0 -0
  538. /package/dist/pine-core/{p-9df7ba40.system.entry.js.map → p-adf2449e.system.entry.js.map} +0 -0
  539. /package/dist/pine-core/{p-e0a35811.system.entry.js.map → p-b2b405ca.system.entry.js.map} +0 -0
  540. /package/dist/pine-core/{p-d21156cf.entry.js.map → p-b956922a.entry.js.map} +0 -0
  541. /package/dist/pine-core/{p-5706c81b.system.entry.js.map → p-b9fe17b8.system.entry.js.map} +0 -0
  542. /package/dist/pine-core/{p-af5c9fbd.system.entry.js.map → p-c1099665.system.entry.js.map} +0 -0
  543. /package/dist/pine-core/{p-0c6e9ba0.system.entry.js.map → p-c1115d78.system.entry.js.map} +0 -0
  544. /package/dist/pine-core/{p-6d36fae0.entry.js.map → p-c16d01cc.entry.js.map} +0 -0
  545. /package/dist/pine-core/{p-b5dc7a18.entry.js.map → p-c1a1475e.entry.js.map} +0 -0
  546. /package/dist/pine-core/{p-5033d9e8.entry.js.map → p-c652847a.entry.js.map} +0 -0
  547. /package/dist/pine-core/{p-4d22ca40.entry.js.map → p-c82c277f.entry.js.map} +0 -0
  548. /package/dist/pine-core/{p-f9005ac9.entry.js.map → p-c82d0a99.entry.js.map} +0 -0
  549. /package/dist/pine-core/{p-c93786f1.system.entry.js.map → p-ce0d9f05.system.entry.js.map} +0 -0
  550. /package/dist/pine-core/{p-9b8a3659.system.entry.js.map → p-cf5506db.system.entry.js.map} +0 -0
  551. /package/dist/pine-core/{p-c5a7c8e9.system.entry.js.map → p-d08ecd18.system.entry.js.map} +0 -0
  552. /package/dist/pine-core/{p-4a69106a.system.entry.js.map → p-d6d87fbc.system.entry.js.map} +0 -0
  553. /package/dist/pine-core/{p-80246c79.entry.js.map → p-df15e16a.entry.js.map} +0 -0
  554. /package/dist/pine-core/{p-d0ec666b.entry.js.map → p-e05135c5.entry.js.map} +0 -0
  555. /package/dist/pine-core/{p-39fbd912.entry.js.map → p-e30601a6.entry.js.map} +0 -0
  556. /package/dist/pine-core/{p-1e056ca3.system.entry.js.map → p-e3fb0bc2.system.entry.js.map} +0 -0
  557. /package/dist/pine-core/{p-3bbb6fc1.entry.js.map → p-e8d76117.entry.js.map} +0 -0
  558. /package/dist/pine-core/{p-f30b1479.entry.js.map → p-ed94947b.entry.js.map} +0 -0
  559. /package/dist/pine-core/{p-822e90ee.entry.js.map → p-f35a5afa.entry.js.map} +0 -0
  560. /package/dist/pine-core/{p-9cc1844a.system.entry.js.map → p-f647c1af.system.entry.js.map} +0 -0
  561. /package/dist/pine-core/{p-1ef5f46b.system.entry.js.map → p-f9bd0bc2.system.entry.js.map} +0 -0
  562. /package/dist/pine-core/{p-7a431264.system.entry.js.map → p-ffe867ef.system.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{__spreadArray}from"tslib";var hasShadowDom=function(r){return!!r.shadowRoot&&!!r.attachShadow};var debounceEvent=function(r,e){var o=r._original||r;return{_original:r,emit:debounce(o.emit.bind(o),e)}};var debounce=function(r,e){if(e===void 0){e=0}var o;return function(){var a=[];for(var n=0;n<arguments.length;n++){a[n]=arguments[n]}clearTimeout(o);o=setTimeout.apply(void 0,__spreadArray([r,e],a,false))}};var setColor=function(r,e){var o;if(!r)return;var a={primary:"var(--pine-color-text-primary)",secondary:"var(--pine-color-text-secondary)",neutral:"var(--pine-color-text-neutral)",accent:"var(--pine-color-text-accent)",danger:"var(--pine-color-text-danger)",info:"var(--pine-color-text-info)",success:"var(--pine-color-text-success)",warning:"var(--pine-color-text-warning)"};var n=e||a;return{"--color":(o=n[r])!==null&&o!==void 0?o:r.startsWith("--")?"var(".concat(r,")"):r}};export{debounceEvent as d,hasShadowDom as h,setColor as s};
2
- //# sourceMappingURL=utils-DkabwBZT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-DkabwBZT.js","sources":["src/utils/utils.ts"],"sourcesContent":["import type { EventEmitter } from \"@stencil/core\";\n\nexport const hasShadowDom = (el: HTMLElement) => {\n return !!el.shadowRoot && !!(el as any).attachShadow\n}\n\nexport const debounceEvent = (event: EventEmitter, wait: number): EventEmitter => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (func: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const setColor = (color: string, customColors?: Record<string, string>) => {\n if (!color) return;\n\n const defaultColors: Record<string, string> = {\n primary: 'var(--pine-color-text-primary)',\n secondary: 'var(--pine-color-text-secondary)',\n neutral: 'var(--pine-color-text-neutral)',\n accent: 'var(--pine-color-text-accent)',\n danger: 'var(--pine-color-text-danger)',\n info: 'var(--pine-color-text-info)',\n success: 'var(--pine-color-text-success)',\n warning: 'var(--pine-color-text-warning)',\n };\n\n const colors = customColors || defaultColors;\n\n return {\n '--color': colors[color] ?? (color.startsWith('--') ? `var(${color})` : color)\n };\n}\n"],"names":[],"mappings":"AAEa,MAAA,YAAY,GAAG,CAAC,EAAe,KAAI;IAC9C,OAAO,CAAC,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAE,EAAU,CAAC,YAAY;AACtD;MAEa,aAAa,GAAG,CAAC,KAAmB,EAAE,IAAY,KAAkB;AAC/E,IAAA,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,IAAI,KAAK;IAClD,OAAO;AACL,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KACnC;AACnB;AAEO,MAAM,QAAQ,GAAG,CAAC,IAA8B,EAAE,IAAI,GAAG,CAAC,KAAI;AACnE,IAAA,IAAI,KAAU;AACd,IAAA,OAAO,CAAC,GAAG,IAAW,KAAS;QAC7B,YAAY,CAAC,KAAK,CAAC;QACnB,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;AACzC,KAAC;AACH,CAAC;MAEY,QAAQ,GAAG,CAAC,KAAa,EAAE,YAAqC,KAAI;;AAC/E,IAAA,IAAI,CAAC,KAAK;QAAE;AAEZ,IAAA,MAAM,aAAa,GAA2B;AAC5C,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,SAAS,EAAE,kCAAkC;AAC7C,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,MAAM,EAAE,+BAA+B;AACvC,QAAA,MAAM,EAAE,+BAA+B;AACvC,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,OAAO,EAAE,gCAAgC;AACzC,QAAA,OAAO,EAAE,gCAAgC;KAC1C;AAED,IAAA,MAAM,MAAM,GAAG,YAAY,IAAI,aAAa;IAE5C,OAAO;QACL,SAAS,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,IAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAO,IAAA,EAAA,KAAK,GAAG,GAAG,KAAK;KAC9E;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["labelCss","pdsRadioCss","PdsRadio","constructor","hostRef","this","checked","disabled","invalid","required","handleRadioChange","e","target","isChecked","pdsRadioChange","emit","classNames","push","join","render","h","Host","key","class","htmlFor","componentId","assignDescription","helperMessage","undefined","type","id","name","value","onChange","hideLabel","label","messageId","errorMessage","icon","danger","size"],"sources":["src/global/styles/utils/label.scss?tag=pds-radio&encapsulation=scoped","src/components/pds-radio/pds-radio.scss?tag=pds-radio&encapsulation=scoped","src/components/pds-radio/pds-radio.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --sizing-check-size: 6px;\n --sizing-input-size: var(--pine-dimension-sm);\n --sizing-margin-block-start: 6px;\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(--pine-color-border-danger);\n\n &:checked {\n background: var(--pine-color-border-danger);\n\n &:hover {\n background: var(--pine-color-border-danger-hover);\n border-color: var(--pine-color-border-danger-hover);\n }\n }\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n\n label,\n .pds-radio__message--error {\n color: var(--pine-color-text-message-danger);\n }\n}\n\ninput {\n appearance: none;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n flex: none;\n height: var(--sizing-input-size);\n margin: 0;\n margin-block-start: var(--pine-dimension-025);\n position: relative;\n width: var(--sizing-input-size);\n\n &:hover {\n background: var(--pine-color-background-container-hover);\n border: var(--pine-border-hover);\n }\n\n &:checked {\n background: var(--pine-color-accent);\n border-color: var(--pine-color-accent);\n\n &:hover {\n background: var(--pine-color-accent-hover);\n border-color: var(--pine-color-accent-hover);\n }\n\n &::after {\n background: var(--pine-color-background-container);\n border-radius: var(--pine-border-radius-full);\n content: \"\";\n display: block;\n height: var(--sizing-check-size);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--sizing-check-size);\n }\n }\n\n &:disabled {\n background: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n cursor: not-allowed;\n\n &:checked {\n background-color: var(--pine-color-accent-disabled);\n border-color: var(--pine-color-border-disabled);\n\n &::after {\n border-color: var(--pine-color-border-disabled);\n }\n }\n\n + label {\n cursor: not-allowed;\n }\n\n ~ .pds-radio__message {\n color: var(--pine-color-text-message-disabled);\n }\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n }\n\n}\n\nlabel {\n display: flex;\n gap: var(--pine-dimension-xs);\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-radio__message {\n color: var(--pine-color-text-message);\n margin-block-start: var(--sizing-margin-block-start);\n margin-inline-start: var(--pine-dimension-md);\n width: 100%;\n}\n\n.pds-radio__message--error {\n display: flex;\n font-size: var(--pine-font-size-body-sm);\n gap: var(--pine-dimension-2xs);\n\n pds-icon {\n margin-block-start: var(--pine-dimension-025);\n }\n}\n","import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { danger } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-radio',\n styleUrls: ['../../global/styles/utils/label.scss', 'pds-radio.scss'],\n scoped: true,\n})\nexport class PdsRadio {\n /**\n * Determines whether or not the radio is checked.\n * @defaultValue false\n */\n @Prop() checked = 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 * Determines whether or not the radio is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Displays helper message text below radio.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the radio is invalid.\n * @defaultValue false\n */\n @Prop() invalid = false;\n\n /**\n * String used for label text next to radio.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the radio should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * String used for radio `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * Determines whether or not the radio is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value of the radio that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Emits a boolean indicating whether the checkbox is currently checked or unchecked.\n */\n @Event() pdsRadioChange: EventEmitter<boolean>;\n\n private handleRadioChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n const isChecked = target.checked;\n\n this.pdsRadioChange.emit(isChecked);\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) {\n classNames.push('is-invalid');\n }\n if (this.disabled) {\n classNames.push('is-disabled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <label htmlFor={this.componentId}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n type=\"radio\"\n id={this.componentId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleRadioChange}\n />\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {this.helperMessage &&\n <div\n class={'pds-radio__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-radio__message pds-radio__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAW,sXCAjB,MAAMC,EAAc,21G,MCSPC,EAAQ,MALrB,WAAAC,CAAAC,G,uDAUUC,KAAOC,QAAG,MAWVD,KAAQE,SAAG,MAgBTF,KAAOG,QAAG,MAqBZH,KAAQI,SAAG,MAYXJ,KAAAK,kBAAqBC,IAC3B,GAAIN,KAAKE,SAAU,CACjB,M,CAGF,MAAMK,EAASD,EAAEC,OACjB,MAAMC,EAAYD,EAAON,QAEzBD,KAAKS,eAAeC,KAAKF,EAAU,CAyDtC,CAtDS,UAAAG,GACN,MAAMA,EAAa,GAEnB,GAAIX,KAAKG,QAAS,CAChBQ,EAAWC,KAAK,a,CAElB,GAAIZ,KAAKE,SAAU,CACjBS,EAAWC,KAAK,c,CAGlB,OAAOD,EAAWE,KAAK,K,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOlB,KAAKW,cAChBI,EAAA,SAAAE,IAAA,2CAAOE,QAASnB,KAAKoB,aACnBL,EAAA,SAAAE,IAAA,8DACoBI,EAAkBrB,KAAKoB,YAAapB,KAAKG,QAASH,KAAKsB,eAAc,eACzEtB,KAAKG,QAAU,OAASoB,UACtCC,KAAK,QACLC,GAAIzB,KAAKoB,YACTM,KAAM1B,KAAK0B,KACXC,MAAO3B,KAAK2B,MACZ1B,QAASD,KAAKC,QACdG,SAAUJ,KAAKI,SACfF,SAAUF,KAAKE,SACf0B,SAAU5B,KAAKK,oBAEjBU,EAAA,QAAAE,IAAA,2CAAMC,MAAOlB,KAAK6B,UAAY,kBAAoB,IAC/C7B,KAAK8B,QAGT9B,KAAKsB,eACJP,EAAA,OAAAE,IAAA,2CACEC,MAAO,qBACPO,GAAIM,EAAU/B,KAAKoB,YAAa,WAE/BpB,KAAKsB,eAGTtB,KAAKgC,cACJjB,EAAA,OAAAE,IAAA,2CACEC,MAAO,+CACPO,GAAIM,EAAU/B,KAAKoB,YAAa,SAAQ,YAC9B,aAEVL,EAAA,YAAAE,IAAA,2CAAUgB,KAAMC,EAAQC,KAAK,UAC5BnC,KAAKgC,c","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as a,h as i,H as t,g as s}from"./p-Uh5ntVcq.js";import{i as r,a as n,m as o}from"./p-DTL_39D_.js";import{d as l}from"./p-DkabwBZT.js";import{i as d,a as c}from"./p-C0M1gTKv.js";import{f as p}from"./p-CzVv99mW.js";const h=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";const b=":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";const f=":host{display:inline}:host([aria-readonly=true]) textarea{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}.pds-textarea{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.pds-textarea__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{display:block;-webkit-margin-after:var(--pine-dimension-xs);margin-block-end:var(--pine-dimension-xs)}.pds-textarea__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}.pds-textarea__field{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:calc(var(--pine-dimension-xs) * 1.25);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-textarea__field:hover:not(:disabled,.is-invalid){border:var(--pine-border-hover)}.pds-textarea__field:disabled{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-textarea__field:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-textarea__field::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field::placeholder{color:var(--pine-color-text-placeholder)}.pds-textarea__field.is-invalid{background-color:var(--pine-input-color-background-danger);border-color:var(--pine-color-border-danger)}.pds-textarea__field.is-invalid:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-textarea__error-message,.pds-textarea__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-before:var(--pine-dimension-xs);margin-block-start:var(--pine-dimension-xs)}.pds-textarea__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";const u=class{constructor(i){e(this,i);this.pdsBlur=a(this,"pdsBlur");this.pdsFocus=a(this,"pdsFocus");this.pdsInput=a(this,"pdsInput");this.pdsTextareaChange=a(this,"pdsTextareaChange");this.inheritedAttributes={};this.disabled=false;this.invalid=false;this.name=this.componentId;this.readonly=false;this.required=false;this.value="";this.hasFocus=false;this.hasAction=false;this.onBlur=e=>{this.hasFocus=false;if(this.focusedValue!==this.value){this.emitValueChange(e)}this.pdsBlur.emit(e)};this.onFocus=e=>{this.hasFocus=true;this.focusedValue=this.value;this.pdsFocus.emit(e)};this.onInput=e=>{const a=e.target;if(a){this.value=a.value||""}this.emitInputChange(e)};this.onTextareaChange=e=>{this.emitValueChange(e)}}async setFocus(){if(this.nativeTextarea){this.nativeTextarea.focus()}}debounceChanged(){const{pdsInput:e,debounce:a,originalPdsInput:i}=this;this.pdsInput=a===undefined?i!==null&&i!==void 0?i:e:l(e,a)}valueChanged(){const e=this.nativeTextarea;const a=this.getValue();if(e&&e.value!==a){e.value=a}}emitInputChange(e){const{value:a}=this;this.pdsInput.emit({value:a,event:e})}emitValueChange(e){const a=e.target;r(a,this);const{value:i}=a;const t=i==null?i:i.toString();this.focusedValue=t;this.pdsTextareaChange.emit({value:t,event:e})}getValue(){return this.value||""}textareaClassNames(){const e=["pds-textarea__field"];if(this.invalid&&this.invalid===true){e.push("is-invalid")}return e.join(" ")}connectedCallback(){this.debounceChanged()}componentWillLoad(){this.inheritedAttributes=Object.assign(Object.assign({},d(this.el)),c(this.el));this.hasAction=this.el.querySelector('[slot="action"]')!==null}componentDidLoad(){this.originalPdsInput=this.pdsInput}renderAction(){const e=this.el.querySelector('[slot="action"]')!==null;if(e){return i("div",{class:"pds-textarea__action",part:"action"},i("slot",{name:"action"}))}return null}render(){const e=this.getValue();return i(t,{key:"fa16663adc15f59b07b1d9b6f0ce4ae7d4664967","aria-disabled":this.disabled?"true":null,"aria-readonly":this.readonly?"true":null,"has-action":this.hasAction?"true":null},i("div",{key:"5f3406c079111f605a38da627db564ab8f1d2dbb",class:"pds-textarea"},this.label&&i("div",{key:"00cea607a59cdf31adb21c3b7d92b8dc21560fe8",class:"pds-textarea__label-wrapper"},i("label",{key:"e94c947240141495b83329ae9bbc38aefe77cee1",htmlFor:this.componentId},this.label),this.renderAction()),i("textarea",Object.assign({key:"d29a1cc338533a20808060f37af1f784f4556a02",ref:e=>this.nativeTextarea=e,"aria-describedby":n(this.componentId,this.invalid,this.helperMessage),"aria-invalid":this.invalid?"true":undefined,autocomplete:this.autocomplete,class:this.textareaClassNames(),disabled:this.disabled,id:this.componentId,name:this.name,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,rows:this.rows,onBlur:this.onBlur,onChange:this.onTextareaChange,onFocus:this.onFocus,onInput:this.onInput},this.inheritedAttributes),e),this.helperMessage&&i("p",{key:"be35def46c67b7b333be13e0d0ccbf47b4db3e15",class:"pds-textarea__helper-message",id:o(this.componentId,"helper")},this.helperMessage),this.invalid&&i("p",{key:"e4636cb54fea2071896a03e17c965039f58ec790","aria-live":"assertive",class:"pds-textarea__error-message",id:o(this.componentId,"error")},i("pds-icon",{key:"dec05eb0d1b7713c96148725a9278f0f62361ba5",icon:p,size:"small"}),this.errorMessage)))}get el(){return s(this)}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"]}}};u.style=h+(b+f);export{u as pds_textarea};
2
- //# sourceMappingURL=p-307b456a.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["labelCss","pdsInputTokensCss","pdsTextareaCss","PdsTextarea","constructor","hostRef","this","inheritedAttributes","disabled","invalid","name","componentId","readonly","required","value","hasFocus","hasAction","onBlur","ev","focusedValue","emitValueChange","pdsBlur","emit","onFocus","pdsFocus","onInput","input","target","emitInputChange","onTextareaChange","setFocus","nativeTextarea","focus","debounceChanged","pdsInput","debounce","originalPdsInput","undefined","debounceEvent","valueChanged","getValue","event","textarea","isRequired","newValue","toString","pdsTextareaChange","textareaClassNames","classNames","push","join","connectedCallback","componentWillLoad","Object","assign","inheritAriaAttributes","el","inheritAttributes","querySelector","componentDidLoad","renderAction","h","class","part","render","Host","key","label","htmlFor","ref","assignDescription","helperMessage","autocomplete","id","placeholder","readOnly","rows","onChange","messageId","icon","danger","size","errorMessage"],"sources":["src/global/styles/utils/label.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-input/pds-input.tokens.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.scss?tag=pds-textarea&encapsulation=shadow","src/components/pds-textarea/pds-textarea.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n","@use '~@kajabi-ui/styles/dist/pine/components/pds-input/pds-input.tokens'\n",":host {\n display: inline;\n}\n\n:host([aria-readonly=\"true\"]) {\n textarea {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-readonly);\n }\n}\n\n.pds-textarea {\n display: flex;\n flex-direction: column;\n}\n\n.pds-textarea__label-wrapper {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-block-end: var(--pine-dimension-xs);\n}\n\n.pds-textarea__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\nlabel {\n display: block;\n margin-block-end: var(--pine-dimension-xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-textarea__label-wrapper label {\n margin-block-end: 0;\n}\n\n.pds-textarea__field {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: calc(var(--pine-dimension-xs) * 1.25);\n font: var(--pine-typography-body);\n letter-spacing: var(--pine-letter-spacing);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:hover:not(:disabled, .is-invalid) {\n border: var(--pine-border-hover);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &::placeholder {\n color: var(--pine-color-text-placeholder);\n }\n\n &.is-invalid {\n background-color: var(--pine-input-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-textarea__error-message,\n.pds-textarea__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-start: var(--pine-dimension-xs);\n}\n\n.pds-textarea__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, isRequired, messageId } from '../../utils/form';\nimport { TextareaChangeEventDetail, TextareaInputEventDetail } from './textarea-interface';\nimport { debounceEvent } from '@utils/utils';\nimport type { Attributes } from '@utils/attributes';\nimport { inheritAttributes, inheritAriaAttributes } from '@utils/attributes';\nimport { danger } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-textarea',\n styleUrls: [\n '../../global/styles/utils/label.scss',\n '../pds-input/pds-input.tokens.scss',\n 'pds-textarea.scss'\n ],\n shadow: true,\n})\nexport class PdsTextarea {\n private nativeTextarea?: HTMLTextAreaElement\n private focusedValue?: string | null;\n private inheritedAttributes: Attributes = {};\n private originalPdsInput?: EventEmitter<TextareaInputEventDetail>;\n\n @Element() el: HTMLPdsTextareaElement;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n @Event() pdsInput: EventEmitter<TextareaInputEventDetail>;\n\n /**\n * Event emitted whenever the value of the textarea changes.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsTextareaChange: EventEmitter<TextareaChangeEventDetail>;\n\n /**\n * Sets focus on the native `textarea` in the `pds-texarea`. Use this method instead of the global\n * `textarea.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeTextarea) {\n this.nativeTextarea.focus();\n }\n }\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Determines whether or not the textarea is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the event after each keystroke.\n */\n @Prop() debounce?: number;\n\n /**\n * Displays an error message below the textarea field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the textarea field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the textarea is invalid or throws an error.\n * @defaultValue false\n */\n @Prop({mutable: true}) invalid = false; // eslint-disable-line @stencil-community/strict-mutable\n\n /**\n * Text to be displayed as the textarea label.\n */\n @Prop() label?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair. This value will mirror the componentId.\n */\n @Prop() name: string = this.componentId;\n\n /**\n * Specifies a short hint that describes the expected value of the textarea.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the textarea is readonly.\n * @defaultValue false\n */\n @Prop() readonly = false;\n\n /**\n * Determines whether or not the textarea is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * Sets number of rows of text visible without needing to scroll in the textarea.\n */\n @Prop() rows?: number;\n\n /**\n * The value of the textarea.\n */\n @Prop({mutable: true}) value?: string | null = '';\n\n @State() hasFocus = false;\n\n /**\n * If true, the textarea has action content in the label area\n */\n @State() hasAction = false;\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n const nativeTextarea = this.nativeTextarea;\n const value = this.getValue();\n\n if (nativeTextarea && nativeTextarea.value !== value) {\n nativeTextarea.value = value;\n }\n }\n\n /**\n * Emits an `pdsInput` event.\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n this.pdsInput.emit({ value, event });\n }\n\n /**\n * Emits an `pdsTextareaChange` event.\n */\n private emitValueChange(event?: Event) {\n const textarea = event.target as HTMLTextAreaElement;\n isRequired(textarea, this);\n\n const { value } = textarea;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n this.focusedValue = newValue;\n this.pdsTextareaChange.emit({ value: newValue, event });\n }\n\n private getValue(): string {\n return this.value || '';\n }\n\n private onBlur = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocus = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLTextAreaElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onTextareaChange = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private textareaClassNames() {\n const classNames = ['pds-textarea__field'];\n\n if (this.invalid && this.invalid === true) {\n classNames.push('is-invalid');\n }\n\n return classNames.join(' ');\n }\n\n connectedCallback() {\n this.debounceChanged();\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el),\n ...inheritAttributes(this.el),\n };\n this.hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n }\n\n componentDidLoad() {\n this.originalPdsInput = this.pdsInput;\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-textarea__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n render() {\n const value = this.getValue();\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n has-action={this.hasAction ? 'true' : null}\n >\n <div class=\"pds-textarea\">\n {this.label &&\n <div class=\"pds-textarea__label-wrapper\">\n <label htmlFor={this.componentId}>{this.label}</label>\n {this.renderAction()}\n </div>\n }\n <textarea\n ref={(el) => this.nativeTextarea = el }\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n class={this.textareaClassNames()}\n disabled={this.disabled}\n id={this.componentId}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n rows={this.rows}\n onBlur={this.onBlur}\n onChange={this.onTextareaChange}\n onFocus={this.onFocus}\n onInput={this.onInput}\n {...this.inheritedAttributes}\n >\n {value}\n </textarea>\n {this.helperMessage &&\n <p\n class=\"pds-textarea__helper-message\"\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </p>\n }\n {this.invalid &&\n <p\n aria-live=\"assertive\"\n class=\"pds-textarea__error-message\"\n id={messageId(this.componentId, 'error')}\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </p>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["labelCss","pdsCheckboxCss","PdsCheckbox","constructor","hostRef","this","inheritedAttributes","checked","handleCheckboxChange","e","disabled","target","pdsCheckboxChange","emit","value","handleInput","pdsCheckboxInput","updateIndeterminate","indeterminate","undefined","classNames","invalid","push","join","componentWillLoad","Object","assign","inheritAriaAttributes","el","render","h","Host","key","class","htmlFor","componentId","type","assignDescription","errorMessage","helperMessage","id","name","required","onChange","onInput","hideLabel","label","messageId","icon","danger","size"],"sources":["src/global/styles/utils/label.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":[":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--pine-color-border-danger);\n\n &:checked {\n background: var( --pine-color-danger);\n\n &:hover {\n background: var(--pine-color-danger-hover);\n border-color: var(--pine-color-border-danger-hover);\n }\n }\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--pine-color-text-message-danger);\n }\n}\n\n:host(.is-indeterminate) {\n input {\n background: var(--pine-color-accent);\n border-color: var(--pine-color-accent);\n\n &:hover {\n background: var(--pine-color-accent);\n border-color: var(--pine-color-accent-hover);\n }\n\n &::after {\n border: 1px solid var(--pine-color-secondary);\n border-block-end: var(--pine-border-width-none);\n border-block-start: var(--pine-border-width-none);\n border-inline-start: var(--pine-border-width-none);\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(90deg) translate3d(-103%, 32%, 0);\n width: 4px;\n }\n }\n}\n\ninput {\n appearance: none;\n background: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-2xs);\n flex: none;\n height: var(--pine-dimension-sm);\n margin: 0;\n margin-block-start: var(--pine-dimension-025);\n position: relative;\n width: var(--pine-dimension-sm);\n\n &:hover {\n background: var(--pine-color-background-container-hover);\n border: var(--pine-border-hover);\n }\n\n &:checked {\n background: var(--pine-color-accent);\n border-color: var(--pine-color-accent);\n\n &:hover {\n background: var(--pine-color-accent-hover);\n border-color: var(--pine-color-accent-hover);\n }\n\n &::after {\n border: 1px solid var(--pine-color-secondary);\n border-block-start: var(--pine-border-width-none);\n border-inline-start: var(--pine-border-width-none);\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(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n\n &::after {\n border-color: var(--pine-color-grey-300);\n }\n }\n\n + label {\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--pine-color-text-disabled);\n }\n }\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n }\n}\n\nlabel {\n display: flex;\n gap: var(--pine-dimension-xs);\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(--pine-color-text-message);\n margin-block-start: 6px;\n margin-inline-start: var(--pine-dimension-md);\n width: 100%;\n}\n\n.pds-checkbox__message--error {\n display: flex;\n font-size: var(--pine-font-size-085);\n gap: var(--pine-dimension-050);\n\n pds-icon {\n margin-block-start: var(--pine-dimension-025);\n }\n}\n","import { Component, Element, h, Prop, Host, Event, EventEmitter, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\nimport { danger } from '@pine-ds/icons/icons';\n\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrls: ['../../global/styles/utils/label.scss', 'pds-checkbox.scss'],\n shadow: true,\n})\nexport class PdsCheckbox {\n private inheritedAttributes: Attributes = {};\n\n @Element() el: HTMLPdsCheckboxElement;\n\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() hideLabel: 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 componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n }\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <label htmlFor={this.componentId}>\n <input\n type=\"checkbox\"\n aria-describedby={assignDescription(this.componentId, this.invalid, this.errorMessage || 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 {...this.inheritedAttributes}\n />\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\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 <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"mLAAA,MAAMA,EAAW,qTCAjB,MAAMC,EAAiB,guH,MCaVC,EAAW,MALxB,WAAAC,CAAAC,G,8GAMUC,KAAmBC,oBAAe,GAOjBD,KAAOE,QAAa,MAsErCF,KAAAG,qBAAwBC,IAC9B,GAAIJ,KAAKK,SAAU,CACjB,M,CAGF,MAAMC,EAASF,EAAEE,OACjBN,KAAKE,QAAUI,EAAOJ,QAEtBF,KAAKO,kBAAkBC,KAAK,CAC1BN,QAASI,EAAOJ,QAChBO,MAAOT,KAAKS,OACZ,EAGIT,KAAWU,YAAG,KACpBV,KAAKW,iBAAiBH,KAAK,CACzBN,QAASF,KAAKE,QACdO,MAAOT,KAAKS,OACZ,CA+DL,CArFC,mBAAAG,GACEZ,KAAKa,cAAgBC,S,CAwBf,UAAAC,GACN,MAAMA,EAAa,GAEnB,GAAIf,KAAKgB,QAAS,CAAED,EAAWE,KAAK,a,CACpC,GAAIjB,KAAKa,cAAe,CAAEE,EAAWE,KAAK,mB,CAC1C,GAAIjB,KAAKK,SAAU,CAAEU,EAAWE,KAAK,c,CAErC,OAAOF,EAAWG,KAAK,K,CAGzB,iBAAAC,GACEnB,KAAKC,oBAAmBmB,OAAAC,OAAA,GACnBC,EAAsBtB,KAAKuB,I,CAIlC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO5B,KAAKe,cAChBU,EAAA,SAAAE,IAAA,2CAAOE,QAAS7B,KAAK8B,aACnBL,EACE,QAAAL,OAAAC,OAAA,CAAAM,IAAA,2CAAAI,KAAK,WAAU,mBACGC,EAAkBhC,KAAK8B,YAAa9B,KAAKgB,QAAShB,KAAKiC,cAAgBjC,KAAKkC,eAAc,eAC9FlC,KAAKgB,QAAU,OAASF,UACtCqB,GAAInC,KAAK8B,YACTjB,cAAeb,KAAKa,cACpBuB,KAAMpC,KAAKoC,KACX3B,MAAOT,KAAKS,MACZP,QAASF,KAAKE,QACdmC,SAAUrC,KAAKqC,SACfhC,SAAUL,KAAKK,SACfiC,SAAUtC,KAAKG,qBACfoC,QAASvC,KAAKU,aACVV,KAAKC,sBAEXwB,EAAA,QAAAE,IAAA,2CAAMC,MAAO5B,KAAKwC,UAAY,kBAAoB,IAC/CxC,KAAKyC,QAGTzC,KAAKkC,eACJT,EAAA,OAAAE,IAAA,2CACEC,MAAO,wBACPO,GAAIO,EAAU1C,KAAK8B,YAAa,WAE/B9B,KAAKkC,eAGTlC,KAAKiC,cACJR,EAAA,OAAAE,IAAA,2CACEC,MAAO,qDACPO,GAAIO,EAAU1C,KAAK8B,YAAa,SAAQ,YAC9B,aAEVL,EAAA,YAAAE,IAAA,2CAAUgB,KAAMC,EAAQC,KAAK,UAC5B7C,KAAKiC,c","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r,c as o,h as t,H as e,g as n}from"./p-Uh5ntVcq.js";import{h as i}from"./p-DkabwBZT.js";import{b as d}from"./p-CzVv99mW.js";const a=":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:40px;--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-radius:var(--pds-button-border-radius);border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--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}";const s=class{constructor(t){r(this,t);this.pdsClick=o(this,"pdsClick");this.disabled=false;this.fullWidth=false;this.icon=null;this.iconOnly=false;this.loading=false;this.type="button";this.variant="primary";this.handleClick=r=>{if(this.loading){r.preventDefault();return}if(!this.href&&this.type!="button"){if(i(this.el)){const o=this.el.closest("form");if(o){r.preventDefault();const t=document.createElement("button");t.type=this.type;t.style.display="none";o.appendChild(t);t.click();t.remove()}}}this.pdsClick.emit(r)}}classNames(){const r=["pds-button"];if(this.variant){r.push("pds-button--"+this.variant)}if(this.iconOnly){r.push("pds-button--icon-only")}if(this.loading){r.push("pds-button--loading")}return r.join(" ")}hasSlotContent(r){const o=this.el.querySelectorAll(`[slot="${r}"]`);return o.length>0}renderStartContent(){const r=this.icon&&this.variant!=="disclosure";const o=this.hasSlotContent("start");if(Boolean(r)){return t("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",name:this.icon,part:"icon","aria-hidden":"true"})}else if(Boolean(o)){return t("span",{class:`pds-button__icon ${this.loading?"pds-button__icon--hidden":""}`},t("slot",{name:"start"}))}return null}renderEndContent(){if(this.iconOnly){return null}if(this.variant==="disclosure"){return t("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:d,part:"caret","aria-hidden":"true"})}else if(this.hasSlotContent("end")){return t("span",{class:`pds-button__icon ${this.loading?"pds-button__icon--hidden":""}`},t("slot",{name:"end"}))}return null}render(){const r={class:this.classNames(),part:"button"};const o=()=>{if(this.href){return Object.assign(Object.assign({},r),{href:this.disabled?null:this.href,target:this.target})}return Object.assign(Object.assign({},r),{"aria-busy":this.loading?"true":null,"aria-live":this.loading?"polite":null,disabled:this.disabled,name:this.name,type:this.type,value:this.value})};const n=this.href?"a":"button";const i=this.loading||this.iconOnly;const d=t("div",{class:"pds-button__content",part:"button-content"},this.renderStartContent(),t("span",{class:`pds-button__text ${i?"pds-button__text--hidden":""}`,part:"button-text"},t("slot",null)),this.loading&&t("span",{class:"pds-button__loader"},t("pds-loader",{"is-loading":true,size:"var(--pine-font-size-body-2xl)",variant:"spinner"},"Loading...")),this.renderEndContent());return t(e,{"aria-disabled":this.disabled?"true":null,id:this.componentId,onClick:this.handleClick,variant:this.variant},t(n,Object.assign({},o()),d))}get el(){return n(this)}};s.style=a;export{s as pds_button};
2
- //# sourceMappingURL=p-38248640.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pdsButtonCss","PdsButton","constructor","hostRef","this","disabled","fullWidth","icon","iconOnly","loading","type","variant","handleClick","ev","preventDefault","href","hasShadowDom","el","form","closest","fakeButton","document","createElement","style","display","appendChild","click","remove","pdsClick","emit","classNames","push","join","hasSlotContent","slotName","elements","querySelectorAll","length","renderStartContent","hasIcon","hasStartSlot","Boolean","h","class","name","part","renderEndContent","caretDown","render","commonProps","attributes","Object","assign","target","value","ContentElement","hideText","content","size","Host","id","componentId","onClick"],"sources":["src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":[":host {\n --pds-button-background: var(--color-background-default);\n --pds-button-border: var(--pine-border);\n --pds-button-border-radius: var(--pine-border-radius-full);\n --pds-button-border-radius-start-end: var(--pine-border-radius-full);\n --pds-button-border-radius-start-start: var(--pine-border-radius-full);\n --pds-button-border-radius-end-end: var(--pine-border-radius-full);\n --pds-button-border-radius-end-start: var(--pine-border-radius-full);\n --pds-button-min-height: 40px;\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n --button-loader-color: var(--color-text-default);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n:host([full-width=\"true\"]) {\n display: flex;\n width: 100%;\n\n button {\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__content {\n justify-content: center;\n text-align: center;\n }\n}\n\n:host([loading=\"true\"]) {\n cursor: wait;\n pointer-events: none;\n}\n\n:host([disabled=\"true\"]) {\n pointer-events: none;\n}\n\n.pds-button {\n --pds-loader-color: var(--color-text-default);\n align-items: center;\n background-color: var(--pds-button-background, var(--color-background-default));\n border: var(--pds-button-border);\n border-color: var(--color-border-default);\n border-end-end-radius: var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));\n border-end-start-radius: var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));\n border-radius: var(--pds-button-border-radius);\n border-start-end-radius: var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));\n border-start-start-radius: var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));\n box-sizing: border-box;\n color: var(--color-text-default);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body-brand-label);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-button-min-height);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n position: relative;\n text-decoration: none;\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n border-color: var(--color-border-focus);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\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 pointer-events: none;\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--pine-color-primary);\n --color-background-hover: var(--pine-color-primary-hover);\n --color-background-disabled: var(--pine-color-primary-disabled);\n --color-border-default: var(--pine-color-primary);\n --color-border-hover: var(--pine-color-primary-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-primary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--pine-color-accent);\n --color-background-hover: var(--pine-color-accent-hover);\n --color-background-disabled: var(--pine-color-accent-disabled);\n --color-border-default: var(--pine-color-accent);\n --color-border-hover: var(--pine-color-accent-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-accent-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--pine-color-danger);\n --color-background-hover: var(--pine-color-danger-hover);\n --color-background-disabled: var(--pine-color-danger-disabled);\n --color-border-default: var(--pine-color-danger);\n --color-border-hover: var(--pine-color-danger-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-danger-disabled);\n --color-outline: var(--pine-color-focus-ring-danger);\n --button-loader-color: var(--pine-color-text-primary);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: var(--pine-color-secondary);\n --color-background-hover: var(--pine-color-secondary-hover);\n --color-background-disabled: var(--pine-color-secondary-disabled);\n --color-border-disabled: var(--pine-color-border-disabled);\n --color-border-focus: var(--pine-color-border);\n --color-border-hover: var(--pine-color-border-hover);\n --color-border-default: var(--pine-color-border);\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-disabled: var(--pine-color-text-secondary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\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 --button-loader-color: inherit;\n border-width: var(--pine-dimension-none);\n margin: var(--pine-dimension-none);\n min-height: auto;\n padding: var(--pine-dimension-none);\n width: inherit;\n}\n\n.pds-button__content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n.pds-button__icon {\n display: inline-flex;\n}\n\n.pds-button__text {\n align-items: center;\n display: inline-flex;\n}\n\n.pds-button__icon--hidden,\n.pds-button__text--hidden {\n opacity: 0;\n}\n\n.pds-button__loader {\n height: var(--pine-dimension-250);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--pine-dimension-250);\n}\n\n.pds-button--loading {\n cursor: wait;\n pointer-events: none;\n\n .pds-button__loader {\n pds-loader {\n --loader-color: var(--button-loader-color);\n }\n }\n}\n\n.pds-button--icon-only {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n height: var(--button-dimension);\n justify-content: center;\n min-height: var(--button-dimension);\n min-width: var(--button-dimension);\n padding: var(--pine-dimension-xs);\n width: var(--button-dimension);\n\n .pds-button__content {\n height: 100%;\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__text--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","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['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 * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && 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 this.pdsClick.emit(ev);\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 if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private hasSlotContent(slotName: string): boolean {\n const elements = this.el.querySelectorAll(`[slot=\"${slotName}\"]`);\n return elements.length > 0;\n }\n\n private renderStartContent() {\n const hasIcon = this.icon && this.variant !== 'disclosure';\n const hasStartSlot = this.hasSlotContent('start');\n\n if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasStartSlot)) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"start\" /></span>;\n }\n\n return null;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (this.hasSlotContent('end')) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"end\" /></span>;\n }\n\n return null;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\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 <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- System.register(["./p-C_8VmA8d.system.js","./p-BhPuKJbQ.system.js","./p-DiBM9O5Q.system.js"],(function(r){"use strict";var o,t,e,n,i,a,d;return{setters:[function(r){o=r.r;t=r.c;e=r.h;n=r.H;i=r.g},function(r){a=r.h},function(r){d=r.b}],execute:function(){var s=":host{--pds-button-background:var(--color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:40px;--color-border-default:transparent;--color-border-disabled:transparent;--color-border-focus:transparent;--color-border-hover:transparent;--button-loader-color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--color-background-default));border:var(--pds-button-border);border-color:var(--color-border-default);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-radius:var(--pds-button-border-radius);border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover)}.pds-button:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-button:disabled{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);color:var(--color-text-disabled);pointer-events:none}.pds-button--primary{--color-background-default:var(--pine-color-primary);--color-background-hover:var(--pine-color-primary-hover);--color-background-disabled:var(--pine-color-primary-disabled);--color-border-default:var(--pine-color-primary);--color-border-hover:var(--pine-color-primary-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-primary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--color-background-default:var(--pine-color-accent);--color-background-hover:var(--pine-color-accent-hover);--color-background-disabled:var(--pine-color-accent-disabled);--color-border-default:var(--pine-color-accent);--color-border-hover:var(--pine-color-accent-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-accent-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--color-background-default:var(--pine-color-danger);--color-background-hover:var(--pine-color-danger-hover);--color-background-disabled:var(--pine-color-danger-disabled);--color-border-default:var(--pine-color-danger);--color-border-hover:var(--pine-color-danger-hover);--color-text-default:var(--pine-color-text-primary);--color-text-disabled:var(--pine-color-text-danger-disabled);--color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--color-background-default:var(--pine-color-secondary);--color-background-hover:var(--pine-color-secondary-hover);--color-background-disabled:var(--pine-color-secondary-disabled);--color-border-disabled:var(--pine-color-border-disabled);--color-border-focus:var(--pine-color-border);--color-border-hover:var(--pine-color-border-hover);--color-border-default:var(--pine-color-border);--color-text-default:var(--pine-color-text-secondary);--color-text-disabled:var(--pine-color-text-secondary-disabled);--color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--unstyled{--color-background-default:transparent;--color-background-hover:transparent;--color-background-disabled:transparent;--color-text-default:inherit;--button-loader-color:inherit;border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--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}";var l=r("pds_button",function(){function r(r){var e=this;o(this,r);this.pdsClick=t(this,"pdsClick");this.disabled=false;this.fullWidth=false;this.icon=null;this.iconOnly=false;this.loading=false;this.type="button";this.variant="primary";this.handleClick=function(r){if(e.loading){r.preventDefault();return}if(!e.href&&e.type!="button"){if(a(e.el)){var o=e.el.closest("form");if(o){r.preventDefault();var t=document.createElement("button");t.type=e.type;t.style.display="none";o.appendChild(t);t.click();t.remove()}}}e.pdsClick.emit(r)}}r.prototype.classNames=function(){var r=["pds-button"];if(this.variant){r.push("pds-button--"+this.variant)}if(this.iconOnly){r.push("pds-button--icon-only")}if(this.loading){r.push("pds-button--loading")}return r.join(" ")};r.prototype.hasSlotContent=function(r){var o=this.el.querySelectorAll('[slot="'.concat(r,'"]'));return o.length>0};r.prototype.renderStartContent=function(){var r=this.icon&&this.variant!=="disclosure";var o=this.hasSlotContent("start");if(Boolean(r)){return e("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",name:this.icon,part:"icon","aria-hidden":"true"})}else if(Boolean(o)){return e("span",{class:"pds-button__icon ".concat(this.loading?"pds-button__icon--hidden":"")},e("slot",{name:"start"}))}return null};r.prototype.renderEndContent=function(){if(this.iconOnly){return null}if(this.variant==="disclosure"){return e("pds-icon",{class:this.loading?"pds-button__icon--hidden":"",icon:d,part:"caret","aria-hidden":"true"})}else if(this.hasSlotContent("end")){return e("span",{class:"pds-button__icon ".concat(this.loading?"pds-button__icon--hidden":"")},e("slot",{name:"end"}))}return null};r.prototype.render=function(){var r=this;var o={class:this.classNames(),part:"button"};var t=function(){if(r.href){return Object.assign(Object.assign({},o),{href:r.disabled?null:r.href,target:r.target})}return Object.assign(Object.assign({},o),{"aria-busy":r.loading?"true":null,"aria-live":r.loading?"polite":null,disabled:r.disabled,name:r.name,type:r.type,value:r.value})};var i=this.href?"a":"button";var a=this.loading||this.iconOnly;var d=e("div",{class:"pds-button__content",part:"button-content"},this.renderStartContent(),e("span",{class:"pds-button__text ".concat(a?"pds-button__text--hidden":""),part:"button-text"},e("slot",null)),this.loading&&e("span",{class:"pds-button__loader"},e("pds-loader",{"is-loading":true,size:"var(--pine-font-size-body-2xl)",variant:"spinner"},"Loading...")),this.renderEndContent());return e(n,{"aria-disabled":this.disabled?"true":null,id:this.componentId,onClick:this.handleClick,variant:this.variant},e(i,Object.assign({},t()),d))};Object.defineProperty(r.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});return r}());l.style=s}}}));
2
- //# sourceMappingURL=p-3fd658ad.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pdsButtonCss","PdsButton","exports","class_1","hostRef","_this","this","disabled","fullWidth","icon","iconOnly","loading","type","variant","handleClick","ev","preventDefault","href","hasShadowDom","el","form","closest","fakeButton","document","createElement","style","display","appendChild","click","remove","pdsClick","emit","prototype","classNames","push","join","hasSlotContent","slotName","elements","querySelectorAll","concat","length","renderStartContent","hasIcon","hasStartSlot","Boolean","h","class","name","part","renderEndContent","caretDown","render","commonProps","attributes","Object","assign","target","value","ContentElement","hideText","content","size","Host","id","componentId","onClick"],"sources":["src/components/pds-button/pds-button.scss?tag=pds-button&encapsulation=shadow","src/components/pds-button/pds-button.tsx"],"sourcesContent":[":host {\n --pds-button-background: var(--color-background-default);\n --pds-button-border: var(--pine-border);\n --pds-button-border-radius: var(--pine-border-radius-full);\n --pds-button-border-radius-start-end: var(--pine-border-radius-full);\n --pds-button-border-radius-start-start: var(--pine-border-radius-full);\n --pds-button-border-radius-end-end: var(--pine-border-radius-full);\n --pds-button-border-radius-end-start: var(--pine-border-radius-full);\n --pds-button-min-height: 40px;\n --color-border-default: transparent;\n --color-border-disabled: transparent;\n --color-border-focus: transparent;\n --color-border-hover: transparent;\n --button-loader-color: var(--color-text-default);\n\n display: inline-flex;\n vertical-align: middle;\n}\n\n:host([full-width=\"true\"]) {\n display: flex;\n width: 100%;\n\n button {\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__content {\n justify-content: center;\n text-align: center;\n }\n}\n\n:host([loading=\"true\"]) {\n cursor: wait;\n pointer-events: none;\n}\n\n:host([disabled=\"true\"]) {\n pointer-events: none;\n}\n\n.pds-button {\n --pds-loader-color: var(--color-text-default);\n align-items: center;\n background-color: var(--pds-button-background, var(--color-background-default));\n border: var(--pds-button-border);\n border-color: var(--color-border-default);\n border-end-end-radius: var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));\n border-end-start-radius: var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));\n border-radius: var(--pds-button-border-radius);\n border-start-end-radius: var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));\n border-start-start-radius: var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));\n box-sizing: border-box;\n color: var(--color-text-default);\n cursor: pointer;\n display: flex;\n font: var(--pine-typography-body-brand-label);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-button-min-height);\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n position: relative;\n text-decoration: none;\n\n pds-icon {\n color: currentColor;\n fill: currentColor;\n }\n\n &:hover {\n background-color: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:focus-visible {\n border-color: var(--color-border-focus);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\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 pointer-events: none;\n }\n}\n\n.pds-button--primary {\n --color-background-default: var(--pine-color-primary);\n --color-background-hover: var(--pine-color-primary-hover);\n --color-background-disabled: var(--pine-color-primary-disabled);\n --color-border-default: var(--pine-color-primary);\n --color-border-hover: var(--pine-color-primary-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-primary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--accent {\n --color-background-default: var(--pine-color-accent);\n --color-background-hover: var(--pine-color-accent-hover);\n --color-background-disabled: var(--pine-color-accent-disabled);\n --color-border-default: var(--pine-color-accent);\n --color-border-hover: var(--pine-color-accent-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-accent-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-primary);\n}\n\n.pds-button--destructive {\n --color-background-default: var(--pine-color-danger);\n --color-background-hover: var(--pine-color-danger-hover);\n --color-background-disabled: var(--pine-color-danger-disabled);\n --color-border-default: var(--pine-color-danger);\n --color-border-hover: var(--pine-color-danger-hover);\n --color-text-default: var(--pine-color-text-primary);\n --color-text-disabled: var(--pine-color-text-danger-disabled);\n --color-outline: var(--pine-color-focus-ring-danger);\n --button-loader-color: var(--pine-color-text-primary);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n}\n\n.pds-button--secondary,\n.pds-button--disclosure {\n --color-background-default: var(--pine-color-secondary);\n --color-background-hover: var(--pine-color-secondary-hover);\n --color-background-disabled: var(--pine-color-secondary-disabled);\n --color-border-disabled: var(--pine-color-border-disabled);\n --color-border-focus: var(--pine-color-border);\n --color-border-hover: var(--pine-color-border-hover);\n --color-border-default: var(--pine-color-border);\n --color-text-default: var(--pine-color-text-secondary);\n --color-text-disabled: var(--pine-color-text-secondary-disabled);\n --color-outline: var(--pine-color-focus-ring);\n --button-loader-color: var(--pine-color-text-secondary);\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\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 --button-loader-color: inherit;\n border-width: var(--pine-dimension-none);\n margin: var(--pine-dimension-none);\n min-height: auto;\n padding: var(--pine-dimension-none);\n width: inherit;\n}\n\n.pds-button__content {\n align-items: center;\n display: inline-flex;\n gap: var(--pine-dimension-xs);\n position: relative;\n width: 100%;\n}\n\n.pds-button__icon {\n display: inline-flex;\n}\n\n.pds-button__text {\n align-items: center;\n display: inline-flex;\n}\n\n.pds-button__icon--hidden,\n.pds-button__text--hidden {\n opacity: 0;\n}\n\n.pds-button__loader {\n height: var(--pine-dimension-250);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--pine-dimension-250);\n}\n\n.pds-button--loading {\n cursor: wait;\n pointer-events: none;\n\n .pds-button__loader {\n pds-loader {\n --loader-color: var(--button-loader-color);\n }\n }\n}\n\n.pds-button--icon-only {\n align-items: center;\n border-radius: var(--pine-border-radius-full);\n height: var(--button-dimension);\n justify-content: center;\n min-height: var(--button-dimension);\n min-width: var(--button-dimension);\n padding: var(--pine-dimension-xs);\n width: var(--button-dimension);\n\n .pds-button__content {\n height: 100%;\n justify-content: center;\n width: 100%;\n }\n\n .pds-button__text--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","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { hasShadowDom } from '../../utils/utils';\n\nimport { caretDown } from '@pine-ds/icons/icons';\n\n/**\n * @part button - Exposes the button element for styling.\n * @part button-content - Exposes the button content for styling.\n * @part button-text - Exposes the button text for styling.\n * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.\n * @part icon - Exposes the icon component for styling.\n * @slot (default) - Button text.\n * @slot start - Content to display before the button text.\n * @slot end - Content to display after the button text.\n*/\n\n@Component({\n tag: 'pds-button',\n styleUrls: ['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 * Determines the button's disabled state.\n * @defaultValue false\n */\n @Prop() disabled? = false;\n\n /**\n * Determines if the button should take up the full width of its container.\n * @defaultValue false\n */\n @Prop() fullWidth? = false;\n\n /**\n * If provided, renders the component as an anchor (`<a>`) element instead of a button.\n * When using href, button-specific props (type, name, value, loading) will be ignored.\n */\n @Prop() href?: string;\n\n /**\n * Displays a leading icon in the button. DEPRECATED.\n * @defaultValue null\n * @deprecated Use `start` slot instead.\n */\n @Prop() icon?: string = null;\n\n /**\n * When true, displays only the icon and visually hides the text (keeping it accessible).\n */\n @Prop() iconOnly? = false;\n\n /**\n * Determines if the button is in a loading state.\n * When true, displays a loader and hides the button text.\n * @defaultValue false\n */\n @Prop() loading? = false;\n\n /**\n * Provides the button with a submittable name.\n */\n @Prop() name?: string;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Only applies when href is set.\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Provides button with a type.\n * @defaultValue button\n */\n @Prop() type?: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * Provides button with a submittable value\n */\n @Prop() value?: string;\n\n /**\n * Sets the style variant of the button.\n * @defaultValue primary\n */\n @Prop() variant: 'primary' | 'secondary' | 'accent' | 'disclosure' | 'destructive' | 'unstyled' = 'primary';\n\n @Event() pdsClick: EventEmitter;\n\n private handleClick = (ev: Event) => {\n if (this.loading) {\n ev.preventDefault();\n return;\n }\n\n if (!this.href && 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 this.pdsClick.emit(ev);\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 if (this.iconOnly) {\n classNames.push('pds-button--icon-only');\n }\n\n if (this.loading) {\n classNames.push('pds-button--loading');\n }\n\n return classNames.join(' ');\n }\n\n private hasSlotContent(slotName: string): boolean {\n const elements = this.el.querySelectorAll(`[slot=\"${slotName}\"]`);\n return elements.length > 0;\n }\n\n private renderStartContent() {\n const hasIcon = this.icon && this.variant !== 'disclosure';\n const hasStartSlot = this.hasSlotContent('start');\n\n if (Boolean(hasIcon)) {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} name={this.icon} part=\"icon\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (Boolean(hasStartSlot)) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"start\" /></span>;\n }\n\n return null;\n }\n\n private renderEndContent() {\n if (this.iconOnly) {\n return null;\n }\n\n if (this.variant === 'disclosure') {\n return (\n <pds-icon class={this.loading ? 'pds-button__icon--hidden' : ''} icon={caretDown} part=\"caret\" aria-hidden=\"true\"></pds-icon>\n );\n } else if (this.hasSlotContent('end')) {\n return <span class={`pds-button__icon ${this.loading ? 'pds-button__icon--hidden' : ''}`}><slot name=\"end\" /></span>;\n }\n\n return null;\n }\n\n render() {\n // Common props for both button and anchor elements\n const commonProps = {\n class: this.classNames(),\n part: 'button',\n };\n\n const attributes = () => {\n if (this.href) {\n return {\n // Anchor element props\n ...commonProps,\n href: this.disabled ? null : this.href,\n target: this.target,\n };\n }\n\n return {\n // Button element props\n ...commonProps,\n 'aria-busy': this.loading ? 'true' : null,\n 'aria-live': this.loading ? 'polite' : null,\n 'disabled': this.disabled,\n 'name': this.name,\n 'type': this.type,\n 'value': this.value,\n };\n };\n\n const ContentElement = this.href ? 'a' : 'button';\n\n // Hide text when loading or iconOnly is true\n const hideText = this.loading || this.iconOnly;\n\n const content = (\n <div class=\"pds-button__content\" part=\"button-content\">\n {this.renderStartContent()}\n\n <span class={`pds-button__text ${hideText ? 'pds-button__text--hidden' : ''}`} part=\"button-text\">\n <slot />\n </span>\n\n {this.loading && (\n <span class=\"pds-button__loader\">\n <pds-loader is-loading={true} size=\"var(--pine-font-size-body-2xl)\" variant=\"spinner\">\n Loading...\n </pds-loader>\n </span>\n )}\n\n {this.renderEndContent()}\n </div>\n );\n\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 <ContentElement {...attributes()}>\n {content}\n </ContentElement>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- System.register(["./p-C_8VmA8d.system.js","./p-BG7_qxVr.system.js","./p-DiBM9O5Q.system.js"],(function(e){"use strict";var r,i,s,n,t,a,o,l;return{setters:[function(e){r=e.r;i=e.c;s=e.h;n=e.H;t=e.g},function(e){a=e.m},function(e){o=e.f;l=e.g}],execute:function(){var d=":host{--pine-select-color-background-danger:var(--pine-color-red-050)}";var c=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";var p=':host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-radius:var(--pds-select-border-radius);border-bottom-left-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-bottom-right-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-top-left-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));border-top-right-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:1}.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}';var f=e("pds_select",function(){function e(e){var s=this;r(this,e);this.pdsSelectChange=i(this,"pdsSelectChange");this.disabled=false;this.multiple=false;this.required=false;this.onSelectUpdate=function(e){var r=e.target;var i=Array.from(r.options).filter((function(e){return e.selected})).map((function(e){return e.value}));if(i.length===1&&!s.multiple){s.value=i[0]}else{s.value=i}s.pdsSelectChange.emit(e)};this.handleSlotChange=function(){var e=s.slotContainer.querySelector("slot");s.selectEl.innerHTML="";var r=e.assignedElements({flatten:true});r.forEach((function(e){if(["OPTION","OPTGROUP"].includes(e.tagName)){var r=e.cloneNode(true);if(r.tagName==="OPTION"&&r.value===s.value){r.selected=true}s.selectEl.appendChild(r)}}));s.updateSelectedOption()}}e.prototype.valueChanged=function(){this.updateSelectedOption()};e.prototype.componentWillLoad=function(){this.updateSelectedOption()};e.prototype.updateSelectedOption=function(){var e=this;if(this.selectEl){var r=this.selectEl.options;Array.from(r).map((function(r){if(Array.isArray(e.value)){r.selected=e.value.includes(r.value)}else{r.selected=e.value===r.value}}))}};e.prototype.getHelperMessage=function(){return this.helperMessage&&s("p",{class:"pds-select__helper-message",id:a(this.componentId,"helper")},this.helperMessage)};e.prototype.getErrorMessage=function(){return this.errorMessage&&s("p",{class:"pds-select__error-message",id:a(this.componentId,"error"),"aria-live":"assertive"},s("pds-icon",{icon:o,size:"small"}),this.errorMessage)};e.prototype.renderMessages=function(){if(!this.helperMessage&&!this.errorMessage)return null;return s("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage())};e.prototype.classNames=function(){var e=[];if(this.invalid){e.push("is-invalid")}if(this.disabled){e.push("is-disabled")}return e.join(" ")};e.prototype.renderAction=function(){var e=this.el.querySelector('[slot="action"]')!==null;if(e){return s("div",{class:"pds-select__action",part:"action"},s("slot",{name:"action"}))}return null};e.prototype.render=function(){var e=this;var r=this.el.querySelector('[slot="action"]')!==null;return s(n,{key:"7bbdad147f68a6b000d738c991c4f77e7ba6d934","aria-disabled":this.disabled?"true":null,class:this.classNames(),"has-action":r&&!this.hideLabel?"true":null},s("div",{key:"d8b3ba6fcaa63435c919083760573d4a94394f56",class:"pds-select"},!this.hideLabel&&s("div",{key:"01edc2b7f833d71da9c440ee9e35327210b233d1",class:"pds-select__label-wrapper"},s("label",{key:"5a7743e84be49edf04deed503a27929d15fa8515",htmlFor:this.componentId},s("span",{key:"df5e57ac95def4069ff07f081226d70ca5a15cc8",class:this.hideLabel?"visually-hidden":""},this.label)),r&&this.renderAction()),s("select",{key:"3e9faea02fe9449fdda224bf4f3ee157217640ff","aria-label":this.hideLabel?this.label:undefined,autocomplete:this.autocomplete||undefined,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onChange:this.onSelectUpdate,part:"select",required:this.required,ref:function(r){return e.selectEl=r}}),s("div",{key:"1a75cbfdca145e1d303c8c07de9cb8df5afa267e","aria-hidden":"true",class:"hidden",ref:function(r){return e.slotContainer=r}},s("slot",{key:"2656e9edc098798b4a118c2a8b8a0f6283fc6f9a",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&s("pds-icon",{key:"ca5831acc4a4f72221a2d26be14e076daabd35b1",class:"pds-select__select-icon",icon:l})))};Object.defineProperty(e.prototype,"el",{get:function(){return t(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["valueChanged"]}},enumerable:false,configurable:true});return e}());f.style=d+(c+p)}}}));
2
- //# sourceMappingURL=p-447fa824.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pdsSelectTokensCss","labelCss","pdsSelectCss","PdsSelect","exports","class_1","hostRef","_this","this","disabled","multiple","required","onSelectUpdate","e","target","values","Array","from","options","filter","option","map","length","value","pdsSelectChange","emit","handleSlotChange","slot","slotContainer","querySelector","selectEl","innerHTML","assignedElements","flatten","forEach","item","includes","tagName","clonedItem","cloneNode","selected","appendChild","updateSelectedOption","prototype","valueChanged","componentWillLoad","isArray","getHelperMessage","helperMessage","h","class","id","messageId","componentId","getErrorMessage","errorMessage","icon","danger","size","renderMessages","classNames","invalid","push","join","renderAction","hasAction","el","part","name","render","Host","key","hideLabel","htmlFor","label","undefined","autocomplete","onChange","ref","onSlotchange","enlarge"],"sources":["src/components/pds-select/pds-select.tokens.scss?tag=pds-select&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-select/pds-select.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --pds-select-background: var(--pine-color-background-container);\n --pds-select-border: var(--pine-border);\n --pds-select-border-radius: var(--pine-dimension-125);\n --pds-select-border-radius-start-end: var(--pine-dimension-125);\n --pds-select-border-radius-start-start: var(--pine-dimension-125);\n --pds-select-border-radius-end-end: var(--pine-dimension-125);\n --pds-select-border-radius-end-start: var(--pine-dimension-125);\n --pds-select-min-height: 36px;\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n .hidden,\n :host([hidden]) {\n display: none;\n }\n}\n\n.pds-select {\n display: grid;\n flex-direction: column;\n grid-template-areas:\n 'label label'\n 'field field'\n 'message message';\n grid-template-columns: 1fr minmax(2rem, min-content);\n grid-template-rows: min-content min-content min-content;\n position: relative;\n width: 100%;\n}\n\n.pds-select__label-wrapper {\n align-items: center;\n display: flex;\n grid-area: label;\n justify-content: space-between;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-select__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\nlabel {\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-select__label-wrapper label {\n margin-block-end: 0;\n}\n\nselect {\n appearance: none;\n background-color: var(--pds-select-background);\n border: var(--pds-select-border);\n border-radius: var(--pds-select-border-radius);\n border-bottom-left-radius: var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));\n border-bottom-right-radius: var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));\n border-top-left-radius: var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));\n border-top-right-radius: var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));\n font: var(--pine-typography-body);\n grid-area: field;\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-select-min-height);\n padding: var(--pine-dimension-xs) var(--pine-dimension-150);\n padding-inline-end: var(--pine-dimension-450);\n position: relative;\n\n &:hover {\n border-color: var(--pine-color-border-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:has(~ .pds-select__message .pds-select__error-message) {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n:host(.is-invalid) {\n select {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-select__error-message,\n.pds-select__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: 0;\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-select__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-select__message {\n grid-area: message;\n}\n\n.pds-select__select-icon {\n align-items: center;\n display: flex;\n grid-column: -1 / -2;\n grid-row: 2 / 3;\n height: var(--pds-select-min-height);\n pointer-events: none;\n position: relative;\n z-index: 1;\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","import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n @Element() el: HTMLPdsSelectElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: 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() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-select__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n render() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()} has-action={hasAction && !this.hideLabel ? 'true' : null}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <div class=\"pds-select__label-wrapper\">\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {hasAction && this.renderAction()}\n </div>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as r,h as i,H as n,g as d}from"./p-Uh5ntVcq.js";import{a as s,m as t}from"./p-DTL_39D_.js";import{i as o}from"./p-C0M1gTKv.js";import{d as a}from"./p-DkabwBZT.js";import{f as p}from"./p-CzVv99mW.js";const l=":host{--pine-input-color-background-danger:var(--pine-color-red-050)}";const u=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";const c=":host{--pds-input-background:var(--pine-color-background-container);--pds-input-border-color:var(--pine-color-border);--pds-input-border-color-hover:var(--pine-color-border-hover);--pds-input-border-color-disabled:var(--pine-color-border-disabled);--pds-input-border-radius:var(--pine-dimension-125);--pds-input-border-width:var(--pine-border-width-thin);--pds-input-padding-x:var(--pine-dimension-150);--pds-input-padding-y:var(--pine-dimension-xs);--pds-input-font:var(--pine-typography-body);--pds-input-text-color:var(--pine-color-text-active);--pds-input-placeholder-color:var(--pine-color-text-placeholder);--pds-input-icon-color:var(--pine-color-text-secondary);--pds-input-disabled-background:var(--pine-color-background-container-disabled);--pds-input-disabled-text-color:var(--pine-color-text-disabled);--pds-input-error-color:var(--pine-color-text-message-danger);--pds-input-error-background:var(--pine-input-color-background-danger);--pds-input-error-border:var(--pine-color-border-danger);--pds-input-error-border-hover:var(--pine-color-border-danger-hover);--pds-input-addon-background:var(--pine-color-background-subtle);--pds-input-addon-color:var(--pine-color-text-secondary);--pds-input-field-min-height:calc(var(--pine-dimension-450) + 2px);--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);display:inline}:host pds-select::part(select){background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}:host::part(prefix),:host::part(suffix){-ms-flex-align:center;align-items:center;color:var(--pine-color-text-label-readonly);display:-ms-flexbox;display:flex;height:100%;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:nowrap;z-index:1}:host::part(prefix){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius);left:var(--pds-input-padding-x)}:host::part(suffix){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius);right:var(--pds-input-padding-x)}:host::part(prepend),:host::part(append){-ms-flex-align:center;align-items:center;background-color:var(--pds-input-addon-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);color:var(--pds-input-addon-color);display:-ms-flexbox;display:flex}:host::part(prepend){border-end-start-radius:var(--pds-input-border-radius);-webkit-border-end:var(--pine-border-width-none);border-inline-end:var(--pine-border-width-none);border-start-start-radius:var(--pds-input-border-radius)}:host::part(append){border-end-end-radius:var(--pds-input-border-radius);-webkit-border-start:var(--pine-border-width-none);border-inline-start:var(--pine-border-width-none);border-start-end-radius:var(--pds-input-border-radius)}:host([has-prepend]) ::slotted(pds-button[slot=prepend]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-end:var(--pine-dimension-none);--pds-button-border-radius-start-end:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-append]) ::slotted(pds-button[slot=append]){--pds-button-background:var(--pds-input-addon-background);--pds-button-border:var(--pine-border-width-none);--pds-button-border-radius-end-start:var(--pine-dimension-none);--pds-button-border-radius-start-start:var(--pine-dimension-none);--pds-button-min-height:var(--pine-dimension-450)}:host([has-prepend]) ::slotted(pds-select[slot=prepend]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-end:var(--pine-dimension-none);--pds-select-border-radius-start-end:var(--pine-dimension-none);--pds-select-min-height:var(--pine-dimension-450)}:host([has-append]) ::slotted(pds-select[slot=append]){--pds-select-background:var(--pds-input-addon-background);--pds-select-border:var(--pine-border-width-none);--pds-select-border-radius-end-start:var(--pine-dimension-none);--pds-select-border-radius-start-start:var(--pine-dimension-none);--pds-select-min-height:var(--pine-dimension-450)}:host([aria-readonly=true]) input{background-color:var(--pine-color-background-container-disabled);color:var(--pine-color-text-readonly)}:host([disabled=true])::part(prepend),:host([disabled=true])::part(append){background-color:var(--pds-input-disabled-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color-disabled)}:host([invalid=true])::part(prepend),:host([invalid=true])::part(append){background-color:var(--pds-input-error-background);border:var(--pds-input-border-width) solid var(--pds-input-error-border)}.pds-input{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;gap:var(--pine-dimension-2xs)}.pds-input__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label{color:var(--pine-color-text-active);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-input__label-wrapper .pds-input__label{-webkit-margin-after:0;margin-block-end:0}.pds-input__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}.pds-input__field-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;position:relative;width:100%}.pds-input__field-wrapper.has-prefix .pds-input__field{-webkit-padding-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));padding-inline-start:calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em))}.pds-input__field-wrapper.has-suffix .pds-input__field{-webkit-padding-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));padding-inline-end:calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em))}.pds-input__field-wrapper.has-prepend .pds-input__field{border-end-start-radius:var(--pine-dimension-none);border-start-start-radius:var(--pine-dimension-none)}.pds-input__field-wrapper.has-append .pds-input__field{border-end-end-radius:var(--pine-dimension-none);border-start-end-radius:var(--pine-dimension-none)}.pds-input__field{background:var(--pds-input-background);border:var(--pds-input-border-width) solid var(--pds-input-border-color);border-radius:var(--pds-input-border-radius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-input-text-color);-ms-flex:1;flex:1;font:var(--pds-input-font);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-input-field-min-height);min-width:var(--pine-dimension-none);padding:var(--pds-input-padding-y) var(--pds-input-padding-x);-webkit-transition:border-color 0.2s ease;transition:border-color 0.2s ease;width:100%}.pds-input__field:hover:not(:disabled){border-color:var(--pds-input-border-color-hover)}.pds-input__field:disabled{background:var(--pds-input-disabled-background);border-color:var(--pine-color-border-disabled);color:var(--pds-input-disabled-text-color);cursor:not-allowed}.pds-input__field:disabled::-webkit-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-moz-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled:-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::-ms-input-placeholder{color:var(--pine-color-text-placeholder-disabled)}.pds-input__field:disabled::placeholder{color:var(--pine-color-text-placeholder-disabled)}.has-error .pds-input__field:hover:not(:disabled){border-color:var(--pds-input-error-border-hover)}.pds-input__field:focus-visible:not(.has-error){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host([has-prepend]) .pds-input__field:focus-visible:not(.has-error),:host([has-append]) .pds-input__field:focus-visible:not(.has-error),:host([has-prefix]) .pds-input__field:focus-visible:not(.has-error),:host([has-suffix]) .pds-input__field:focus-visible:not(.has-error){outline-offset:var(--pine-dimension-none)}.pds-input__field::-webkit-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-moz-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field:-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::-ms-input-placeholder{color:var(--pds-input-placeholder-color)}.pds-input__field::placeholder{color:var(--pds-input-placeholder-color)}.has-error .pds-input__field{background-color:var(--pds-input-error-background);border-color:var(--pds-input-error-border)}.has-error .pds-input__field:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-input__error-message,.pds-input__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:var(--pine-dimension-none);margin-block-end:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-input__error-message{-ms-flex-align:center;align-items:center;color:var(--pds-input-error-color);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}";const h=class{constructor(i){e(this,i);this.pdsBlur=r(this,"pdsBlur");this.pdsChange=r(this,"pdsChange");this.pdsFocus=r(this,"pdsFocus");this.pdsInput=r(this,"pdsInput");this.inheritedAttributes={};this.isComposing=false;this.hasPrefix=false;this.hasSuffix=false;this.hasPrepend=false;this.hasAppend=false;this.hasAction=false;this.type="text";this.value="";this.hasFocus=false;this.onInputEvent=e=>{const r=e.target;if(r){this.value=r.value||""}this.emitInputChange(e)};this.onChangeEvent=e=>{this.emitValueChange(e)};this.onBlurEvent=e=>{this.hasFocus=false;if(this.focusedValue!==this.value){this.emitValueChange(e)}this.pdsBlur.emit(e)};this.onFocusEvent=e=>{this.hasFocus=true;this.focusedValue=this.value;this.pdsFocus.emit(e)};this.onCompositionStart=()=>{this.isComposing=true};this.onCompositionEnd=()=>{this.isComposing=false}}async setFocus(){if(this.nativeInput){this.nativeInput.focus()}}updateAddonWidths(){requestAnimationFrame((()=>{if(this.prefixEl){const e=this.prefixEl.offsetWidth;this.el.style.setProperty("--prefix-width",`${e}px`)}if(this.suffixEl){const e=this.suffixEl.offsetWidth;this.el.style.setProperty("--suffix-width",`${e}px`)}}))}renderPrefix(){const e=this.el.querySelector('[slot="prefix"]')!==null;if(e){return i("div",{class:"pds-input__prefix",part:"prefix",ref:e=>this.prefixEl=e},i("slot",{name:"prefix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderSuffix(){const e=this.el.querySelector('[slot="suffix"]')!==null;if(e){return i("div",{class:"pds-input__suffix",part:"suffix",ref:e=>this.suffixEl=e},i("slot",{name:"suffix",onSlotchange:()=>this.updateAddonWidths()}))}return null}renderPrepend(){const e=this.el.querySelector('[slot="prepend"]')!==null;if(e){return i("div",{class:"pds-input__prepend",part:"prepend"},i("slot",{name:"prepend"}))}return null}renderAppend(){const e=this.el.querySelector('[slot="append"]')!==null;if(e){return i("div",{class:"pds-input__append",part:"append"},i("slot",{name:"append"}))}return null}renderAction(){const e=this.el.querySelector('[slot="action"]')!==null;if(e){return i("div",{class:"pds-input__action",part:"action"},i("slot",{name:"action"}))}return null}componentWillLoad(){this.inheritedAttributes=Object.assign({},o(this.el));this.hasPrefix=this.el.querySelector('[slot="prefix"]')!==null;this.hasSuffix=this.el.querySelector('[slot="suffix"]')!==null;this.hasPrepend=this.el.querySelector('[slot="prepend"]')!==null;this.hasAppend=this.el.querySelector('[slot="append"]')!==null;this.hasAction=this.el.querySelector('[slot="action"]')!==null;this.originalPdsInput=this.pdsInput}componentDidLoad(){this.debounceChanged();this.updateAddonWidths()}componentDidUpdate(){this.updateAddonWidths()}debounceChanged(){const{pdsInput:e,debounce:r,originalPdsInput:i}=this;this.pdsInput=r===undefined?i!==null&&i!==void 0?i:e:a(e,r)}valueChanged(){const e=this.nativeInput;const r=this.getValue();if(e&&e.value!==r&&!this.isComposing){e.value=r}}getValue(){return typeof this.value==="number"?this.value.toString():(this.value||"").toString()}emitValueChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.focusedValue=i;this.pdsChange.emit({value:i,event:e})}emitInputChange(e){const{value:r}=this;const i=r==null?r:r.toString();this.pdsInput.emit({value:i,event:e})}render(){const{componentId:e,disabled:r,errorMessage:d,helperMessage:o,invalid:a=false,label:l}=this;const u=this.getValue();const c={"pds-input__field-wrapper":true,"has-focus":this.hasFocus,"has-error":a||!!d,"is-disabled":r,"has-prefix":this.hasPrefix,"has-suffix":this.hasSuffix,"has-prepend":this.hasPrepend,"has-append":this.hasAppend};return i(n,{key:"a8cf9aaa6dc90cb0790a7cad75603a2ebf48451a","aria-disabled":this.disabled?"true":null,"aria-readonly":this.readonly?"true":null,"has-prefix":this.hasPrefix?"true":null,"has-suffix":this.hasSuffix?"true":null,"has-prepend":this.hasPrepend?"true":null,"has-append":this.hasAppend?"true":null,"has-action":this.hasAction?"true":null},i("div",{key:"355f87099825b4db4d97500dac2b94a5892a3981",class:"pds-input"},l&&i("div",{key:"ee7bdec715478f0945cd1bf6ba435c50e885ebda",class:"pds-input__label-wrapper"},i("label",{key:"56622a09c8f7313f8c2276363ded8efd2e985fb7",htmlFor:e,class:"pds-input__label"},l,this.required&&i("span",{key:"fb95186cd446e4d338822840423566110ac9dbd0",class:"pds-input__required-indicator"}," *")),this.renderAction()),i("div",{key:"c7b209515121ab4e44f054eb817f61e6d9241323",class:c},this.renderPrepend(),this.renderPrefix(),i("input",Object.assign({key:"02f8238ee2b87b7484da0b4b5282ce22c7dd3de1",ref:e=>this.nativeInput=e,class:"pds-input__field","aria-describedby":s(e,a,o),"aria-invalid":a?"true":undefined,autocomplete:this.autocomplete,disabled:r,id:e,max:this.max,maxlength:this.maxlength,min:this.min,minlength:this.minlength,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readOnly:this.readonly,required:this.required,step:this.step,type:this.type,value:u,onInput:this.onInputEvent,onChange:this.onChangeEvent,onBlur:this.onBlurEvent,onFocus:this.onFocusEvent,onCompositionstart:this.onCompositionStart,onCompositionend:this.onCompositionEnd},this.inheritedAttributes)),this.renderSuffix(),this.renderAppend()),o&&i("p",{key:"b93e6b54755d300e9093ac78854b52d296703a00",class:"pds-input__helper-message",id:t(e,"helper")},o),d&&i("p",{key:"bc16a204c2ad99b28759cde1f066b6ba790a5c80",class:"pds-input__error-message",id:t(e,"error")},i("pds-icon",{key:"354293fa6512ff16603e7190a4131096f58ca819",icon:p,size:"small"}),d)))}get el(){return d(this)}static get watchers(){return{debounce:["debounceChanged"],value:["valueChanged"]}}};h.style=l+(u+c);export{h as pds_input};
2
- //# sourceMappingURL=p-495a206d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pdsInputTokensCss","labelCss","pdsInputCss","PdsInput","constructor","hostRef","this","inheritedAttributes","isComposing","hasPrefix","hasSuffix","hasPrepend","hasAppend","hasAction","type","value","hasFocus","onInputEvent","ev","input","target","emitInputChange","onChangeEvent","emitValueChange","onBlurEvent","focusedValue","pdsBlur","emit","onFocusEvent","pdsFocus","onCompositionStart","onCompositionEnd","setFocus","nativeInput","focus","updateAddonWidths","requestAnimationFrame","prefixEl","prefixWidth","offsetWidth","el","style","setProperty","suffixEl","suffixWidth","renderPrefix","querySelector","h","class","part","ref","name","onSlotchange","renderSuffix","renderPrepend","renderAppend","renderAction","componentWillLoad","Object","assign","inheritAriaAttributes","originalPdsInput","pdsInput","componentDidLoad","debounceChanged","componentDidUpdate","debounce","undefined","debounceEvent","valueChanged","getValue","toString","event","newValue","pdsChange","render","componentId","disabled","errorMessage","helperMessage","invalid","label","inputWrapperClasses","Host","key","readonly","htmlFor","required","assignDescription","autocomplete","id","max","maxlength","min","minlength","pattern","placeholder","readOnly","step","onInput","onChange","onBlur","onFocus","onCompositionstart","onCompositionend","messageId","icon","danger","size"],"sources":["src/components/pds-input/pds-input.tokens.scss?tag=pds-input&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-input&encapsulation=shadow","src/components/pds-input/pds-input.scss?tag=pds-input&encapsulation=shadow","src/components/pds-input/pds-input.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-input/pds-input.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --pds-input-background: var(--pine-color-background-container);\n --pds-input-border-color: var(--pine-color-border);\n --pds-input-border-color-hover: var(--pine-color-border-hover);\n --pds-input-border-color-disabled: var(--pine-color-border-disabled);\n\n --pds-input-border-radius: var(--pine-dimension-125);\n --pds-input-border-width: var(--pine-border-width-thin);\n --pds-input-padding-x: var(--pine-dimension-150);\n --pds-input-padding-y: var(--pine-dimension-xs);\n --pds-input-font: var(--pine-typography-body);\n --pds-input-text-color: var(--pine-color-text-active);\n --pds-input-placeholder-color: var(--pine-color-text-placeholder);\n --pds-input-icon-color: var(--pine-color-text-secondary);\n --pds-input-disabled-background: var(--pine-color-background-container-disabled);\n --pds-input-disabled-text-color: var(--pine-color-text-disabled);\n --pds-input-error-color: var(--pine-color-text-message-danger);\n --pds-input-error-background: var(--pine-input-color-background-danger);\n --pds-input-error-border: var(--pine-color-border-danger);\n --pds-input-error-border-hover: var(--pine-color-border-danger-hover);\n --pds-input-addon-background: var(--pine-color-background-subtle);\n --pds-input-addon-color: var(--pine-color-text-secondary);\n --pds-input-field-min-height: calc(var(--pine-dimension-450) + 2px);\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n display: inline;\n\n pds-select::part(select) {\n background-color: var(--pds-input-error-background);\n border-color: var(--pds-input-error-border);\n }\n\n &::part(prefix),\n &::part(suffix) {\n align-items: center;\n color: var(--pine-color-text-label-readonly);\n display: flex;\n height: 100%;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n white-space: nowrap;\n z-index: 1;\n }\n\n &::part(prefix) {\n border-end-start-radius: var(--pds-input-border-radius);\n border-inline-end: var(--pine-border-width-none);\n border-start-start-radius: var(--pds-input-border-radius);\n left: var(--pds-input-padding-x);\n }\n\n &::part(suffix) {\n border-end-end-radius: var(--pds-input-border-radius);\n border-inline-start: var(--pine-border-width-none);\n border-start-end-radius: var(--pds-input-border-radius);\n right: var(--pds-input-padding-x);\n }\n\n &::part(prepend),\n &::part(append) {\n align-items: center;\n background-color: var(--pds-input-addon-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color);\n color: var(--pds-input-addon-color);\n display: flex;\n }\n\n &::part(prepend) {\n border-end-start-radius: var(--pds-input-border-radius);\n border-inline-end: var(--pine-border-width-none);\n border-start-start-radius: var(--pds-input-border-radius);\n }\n\n &::part(append) {\n border-end-end-radius: var(--pds-input-border-radius);\n border-inline-start: var(--pine-border-width-none);\n border-start-end-radius: var(--pds-input-border-radius);\n }\n}\n\n/* stylelint-disable-next-line */\n:host([has-prepend]) ::slotted(pds-button[slot=\"prepend\"]) {\n --pds-button-background: var(--pds-input-addon-background);\n --pds-button-border: var(--pine-border-width-none);\n --pds-button-border-radius-end-end: var(--pine-dimension-none);\n --pds-button-border-radius-start-end: var(--pine-dimension-none);\n --pds-button-min-height: var(--pine-dimension-450);\n}\n\n/* stylelint-disable-next-line */\n:host([has-append]) ::slotted(pds-button[slot=\"append\"]) {\n --pds-button-background: var(--pds-input-addon-background);\n --pds-button-border: var(--pine-border-width-none);\n --pds-button-border-radius-end-start: var(--pine-dimension-none);\n --pds-button-border-radius-start-start: var(--pine-dimension-none);\n --pds-button-min-height: var(--pine-dimension-450);\n}\n\n/* stylelint-disable-next-line */\n:host([has-prepend]) ::slotted(pds-select[slot=\"prepend\"]) {\n --pds-select-background: var(--pds-input-addon-background);\n --pds-select-border: var(--pine-border-width-none);\n --pds-select-border-radius-end-end: var(--pine-dimension-none);\n --pds-select-border-radius-start-end: var(--pine-dimension-none);\n --pds-select-min-height: var(--pine-dimension-450);\n}\n\n/* stylelint-disable-next-line */\n:host([has-append]) ::slotted(pds-select[slot=\"append\"]) {\n --pds-select-background: var(--pds-input-addon-background);\n --pds-select-border: var(--pine-border-width-none);\n --pds-select-border-radius-end-start: var(--pine-dimension-none);\n --pds-select-border-radius-start-start: var(--pine-dimension-none);\n --pds-select-min-height: var(--pine-dimension-450);\n}\n\n:host([aria-readonly=\"true\"]) {\n input {\n background-color: var(--pine-color-background-container-disabled);\n color: var(--pine-color-text-readonly);\n }\n}\n\n:host([disabled=\"true\"]) {\n &::part(prepend),\n &::part(append) {\n background-color: var(--pds-input-disabled-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color-disabled);\n }\n}\n\n:host([invalid=\"true\"]) {\n &::part(prepend),\n &::part(append) {\n background-color: var(--pds-input-error-background);\n border: var(--pds-input-border-width) solid var(--pds-input-error-border);\n }\n}\n\n.pds-input {\n display: flex;\n flex-direction: column;\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-input__label-wrapper {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-input__label {\n color: var(--pine-color-text-active);\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-input__label-wrapper .pds-input__label {\n margin-block-end: 0;\n}\n\n.pds-input__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\n.pds-input__field-wrapper {\n align-items: center;\n display: flex;\n position: relative;\n width: 100%;\n\n &.has-prefix .pds-input__field {\n padding-inline-start: calc(2 * var(--pds-input-padding-x) + var(--prefix-width, 1em));\n }\n\n &.has-suffix .pds-input__field {\n padding-inline-end: calc(2 * var(--pds-input-padding-x) + var(--suffix-width, 1em));\n }\n\n &.has-prepend .pds-input__field {\n border-end-start-radius: var(--pine-dimension-none);\n border-start-start-radius: var(--pine-dimension-none);\n }\n\n &.has-append .pds-input__field {\n border-end-end-radius: var(--pine-dimension-none);\n border-start-end-radius: var(--pine-dimension-none);\n }\n}\n\n.pds-input__field {\n background: var(--pds-input-background);\n border: var(--pds-input-border-width) solid var(--pds-input-border-color);\n border-radius: var(--pds-input-border-radius);\n box-sizing: border-box;\n color: var(--pds-input-text-color);\n flex: 1;\n font: var(--pds-input-font);\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-input-field-min-height);\n min-width: var(--pine-dimension-none);\n padding: var(--pds-input-padding-y) var(--pds-input-padding-x);\n transition: border-color 0.2s ease;\n width: 100%;\n\n &:hover:not(:disabled) {\n border-color: var(--pds-input-border-color-hover);\n }\n\n &:disabled {\n background: var(--pds-input-disabled-background);\n border-color: var(--pine-color-border-disabled);\n color: var(--pds-input-disabled-text-color);\n cursor: not-allowed;\n\n &::placeholder {\n color: var(--pine-color-text-placeholder-disabled);\n }\n }\n\n .has-error &:hover:not(:disabled) {\n border-color: var(--pds-input-error-border-hover);\n }\n\n &:focus-visible:not(.has-error) {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n\n :host([has-prepend]) &,\n :host([has-append]) &,\n :host([has-prefix]) &,\n :host([has-suffix]) & {\n outline-offset: var(--pine-dimension-none);\n }\n }\n\n &::placeholder {\n color: var(--pds-input-placeholder-color);\n }\n\n .has-error & {\n background-color: var(--pds-input-error-background);\n border-color: var(--pds-input-error-border);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-input__error-message,\n.pds-input__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: var(--pine-dimension-none);\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-input__error-message {\n align-items: center;\n color: var(--pds-input-error-color);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\nimport { InputChangeEventDetail, InputInputEventDetail } from './input-interface';\nimport { debounceEvent } from '@utils/utils';\nimport { danger } from '@pine-ds/icons/icons';\n\n/**\n * @slot append - Content to be displayed after the input field\n * @slot prefix - Content that is displayed visually within the input field before the input field\n * @slot prepend - Content to be displayed before the input field\n * @slot suffix - Content that is displayed visually within the input field after the input field\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-input',\n styleUrls: ['pds-input.tokens.scss', '../../global/styles/utils/label.scss', 'pds-input.scss'],\n shadow: true,\n})\nexport class PdsInput {\n private nativeInput?: HTMLInputElement;\n private inheritedAttributes: Attributes = {};\n private isComposing = false;\n private prefixEl?: HTMLElement;\n private suffixEl?: HTMLElement;\n private focusedValue?: string | number | null;\n private originalPdsInput?: EventEmitter<InputInputEventDetail>;\n\n @Element() el!: HTMLPdsInputElement;\n\n /**\n * If true, the input has prefix content (non-focusable)\n */\n @State() hasPrefix = false;\n\n /**\n * If true, the input has suffix content (non-focusable)\n */\n @State() hasSuffix = false;\n\n /**\n * If true, the input has prepend content (focusable)\n */\n @State() hasPrepend = false;\n\n /**\n * If true, the input has append content (focusable)\n */\n @State() hasAppend = false;\n\n /**\n * If true, the input has action content in the label area\n */\n @State() hasAction = false;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() pdsBlur!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the value has changed.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n @Event() pdsChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() pdsFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsInput: EventEmitter<InputInputEventDetail>;\n\n /**\n * Sets focus on the native `input` in the `pds-input`. Use this method instead of the global\n * `input.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets the number of milliseconds to wait before updating the value.\n */\n @Prop() debounce?: number;\n\n /**\n * Determines whether or not the input field is disabled.\n */\n @Prop() disabled?: boolean;\n\n /**\n * Specifies the error message and provides an error-themed treatment to the field.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays a message or hint below the input field.\n */\n @Prop() helperMessage?: string;\n\n /**\n * Determines whether or not the input field is invalid or throws an error.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the input label.\n */\n @Prop() label?: string;\n\n /**\n * Specifies the maximum value for the input field.\n */\n @Prop() max?: string;\n\n /**\n * Specifies the maximum number of characters allowed in the input field.\n */\n @Prop() maxlength?: string;\n\n /**\n * Specifies the minimum value for the input field.\n */\n @Prop() min?: string;\n\n /**\n * Specifies the minimum number of characters allowed in the input field.\n */\n @Prop() minlength?: string;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name?: string;\n\n /**\n * Specifies the regular expression that the input value is checked against.\n */\n @Prop() pattern?: string;\n\n /**\n * Specifies a short hint that describes the expected value of the input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Determines whether or not the input field is readonly.\n */\n @Prop() readonly?: boolean;\n\n /**\n * Determines whether or not the input field is required.\n */\n @Prop() required?: boolean;\n\n /**\n * Works with the `min` and `max` attributes to define increments for the input field.\n */\n @Prop() step?: string;\n\n /**\n * Determines the type of control that will be displayed\n * `'email'`, `'number'`, `'password'`, `'tel'`, `'text'`, `'url'`\n * @defaultValue \"text\"\n */\n @Prop() type = 'text';\n\n /**\n * The value of the input.\n */\n @Prop({mutable: true}) value?: string | number | null = '';\n\n /**\n * Determines if the input has focus.\n */\n @State() hasFocus = false;\n\n private updateAddonWidths() {\n requestAnimationFrame(() => {\n if (this.prefixEl) {\n const prefixWidth = this.prefixEl.offsetWidth;\n this.el.style.setProperty('--prefix-width', `${prefixWidth}px`);\n }\n\n if (this.suffixEl) {\n const suffixWidth = this.suffixEl.offsetWidth;\n this.el.style.setProperty('--suffix-width', `${suffixWidth}px`);\n }\n });\n }\n\n private renderPrefix() {\n const hasPrefix = this.el.querySelector('[slot=\"prefix\"]') !== null;\n if (hasPrefix) {\n return (\n <div class=\"pds-input__prefix\" part=\"prefix\" ref={(el) => this.prefixEl = el as HTMLElement}>\n <slot name=\"prefix\" onSlotchange={() => this.updateAddonWidths()}></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderSuffix() {\n const hasSuffix = this.el.querySelector('[slot=\"suffix\"]') !== null;\n if (hasSuffix) {\n return (\n <div class=\"pds-input__suffix\" part=\"suffix\" ref={(el) => this.suffixEl = el as HTMLElement}>\n <slot name=\"suffix\" onSlotchange={() => this.updateAddonWidths()}></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderPrepend() {\n const hasPrepend = this.el.querySelector('[slot=\"prepend\"]') !== null;\n if (hasPrepend) {\n return (\n <div class=\"pds-input__prepend\" part=\"prepend\">\n <slot name=\"prepend\"></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderAppend() {\n const hasAppend = this.el.querySelector('[slot=\"append\"]') !== null;\n if (hasAppend) {\n return (\n <div class=\"pds-input__append\" part=\"append\">\n <slot name=\"append\"></slot>\n </div>\n );\n }\n return null;\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-input__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n };\n this.hasPrefix = this.el.querySelector('[slot=\"prefix\"]') !== null;\n this.hasSuffix = this.el.querySelector('[slot=\"suffix\"]') !== null;\n this.hasPrepend = this.el.querySelector('[slot=\"prepend\"]') !== null;\n this.hasAppend = this.el.querySelector('[slot=\"append\"]') !== null;\n this.hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n // Store the original pdsInput event emitter\n this.originalPdsInput = this.pdsInput;\n }\n\n componentDidLoad() {\n this.debounceChanged();\n this.updateAddonWidths();\n }\n\n componentDidUpdate() {\n this.updateAddonWidths();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n const { pdsInput, debounce, originalPdsInput } = this;\n\n /**\n * If debounce is undefined, we have to manually revert the pdsInput emitter in case\n * debounce used to be set to a number. Otherwise, the event would stay debounced.\n */\n this.pdsInput = debounce === undefined ? originalPdsInput ?? pdsInput : debounceEvent(pdsInput, debounce);\n }\n\n @Watch('value')\n protected valueChanged() {\n const nativeInput = this.nativeInput;\n const value = this.getValue();\n\n if (nativeInput && nativeInput.value !== value && !this.isComposing) {\n nativeInput.value = value;\n }\n }\n\n private getValue(): string {\n return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();\n }\n\n private onInputEvent = (ev: Event) => {\n const input = ev.target as HTMLInputElement | null;\n if (input) {\n this.value = input.value || '';\n }\n this.emitInputChange(ev);\n };\n\n private onChangeEvent = (ev: Event) => {\n this.emitValueChange(ev);\n };\n\n private onBlurEvent = (ev: FocusEvent) => {\n this.hasFocus = false;\n\n if (this.focusedValue !== this.value) {\n /**\n * Emits the `pdsChange` event when the input value\n * is different than the value when the input was focused.\n */\n this.emitValueChange(ev);\n }\n\n this.pdsBlur.emit(ev);\n };\n\n private onFocusEvent = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.focusedValue = this.value;\n\n this.pdsFocus.emit(ev);\n };\n\n private onCompositionStart = () => {\n this.isComposing = true;\n }\n\n private onCompositionEnd = () => {\n this.isComposing = false;\n }\n\n /**\n * Emits a pdsChange event\n */\n private emitValueChange(event?: Event) {\n const { value } = this;\n const newValue = value == null ? value : value.toString();\n\n this.focusedValue = newValue;\n this.pdsChange.emit({ value: newValue, event });\n }\n\n /**\n * Emits a `pdsInput` event\n */\n private emitInputChange(event?: Event) {\n const { value } = this;\n\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n\n this.pdsInput.emit({ value: newValue, event });\n }\n\n render() {\n const {\n componentId,\n disabled,\n errorMessage,\n helperMessage,\n invalid = false,\n label,\n } = this;\n\n const value = this.getValue();\n\n const inputWrapperClasses = {\n 'pds-input__field-wrapper': true,\n 'has-focus': this.hasFocus,\n 'has-error': invalid || !!errorMessage,\n 'is-disabled': disabled,\n 'has-prefix': this.hasPrefix,\n 'has-suffix': this.hasSuffix,\n 'has-prepend': this.hasPrepend,\n 'has-append': this.hasAppend,\n };\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n aria-readonly={this.readonly ? 'true' : null}\n has-prefix={this.hasPrefix ? 'true' : null}\n has-suffix={this.hasSuffix ? 'true' : null}\n has-prepend={this.hasPrepend ? 'true' : null}\n has-append={this.hasAppend ? 'true' : null}\n has-action={this.hasAction ? 'true' : null}\n >\n <div class=\"pds-input\">\n {label && (\n <div class=\"pds-input__label-wrapper\">\n <label htmlFor={componentId} class=\"pds-input__label\">\n {label}\n {this.required && <span class=\"pds-input__required-indicator\"> *</span>}\n </label>\n {this.renderAction()}\n </div>\n )}\n\n <div class={inputWrapperClasses}>\n {this.renderPrepend()}\n {this.renderPrefix()}\n <input\n ref={(input) => (this.nativeInput = input)}\n class=\"pds-input__field\"\n aria-describedby={assignDescription(componentId, invalid, helperMessage)}\n aria-invalid={invalid ? \"true\" : undefined}\n autocomplete={this.autocomplete}\n disabled={disabled}\n id={componentId}\n max={this.max}\n maxlength={this.maxlength}\n min={this.min}\n minlength={this.minlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n step={this.step}\n type={this.type}\n value={value}\n onInput={this.onInputEvent}\n onChange={this.onChangeEvent}\n onBlur={this.onBlurEvent}\n onFocus={this.onFocusEvent}\n onCompositionstart={this.onCompositionStart}\n onCompositionend={this.onCompositionEnd}\n {...this.inheritedAttributes}\n />\n {this.renderSuffix()}\n {this.renderAppend()}\n </div>\n\n {helperMessage && (\n <p class=\"pds-input__helper-message\" id={messageId(componentId, 'helper')}>\n {helperMessage}\n </p>\n )}\n\n {errorMessage && (\n <p class=\"pds-input__error-message\" id={messageId(componentId, 'error')}>\n <pds-icon icon={danger} size=\"small\" />\n {errorMessage}\n </p>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["labelCss","pdsSwitchCss","PdsSwitch","exports","class_1","hostRef","_this","this","inheritedAttributes","checked","disabled","invalid","required","onSwitchUpdate","e","input","target","pdsSwitchChange","emit","switchClassNames","switchClasses","helperMessage","undefined","prototype","componentWillLoad","Object","assign","inheritAriaAttributes","el","render","h","Host","key","class","htmlFor","componentId","assignDescription","errorMessage","id","name","onChange","type","value","hideLabel","label","messageId","icon","danger","size"],"sources":["src/global/styles/utils/label.scss?tag=pds-switch&encapsulation=shadow","src/components/pds-switch/pds-switch.scss?tag=pds-switch&encapsulation=shadow","src/components/pds-switch/pds-switch.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n// Need discussions\n --sizing-input-toggle-size: calc(var(--pine-dimension-250) - (var(--pine-dimension-025) * 2));\n --pine-dimension-025: 2px;\n --spacing-message-inline: calc(var(--pine-dimension-450) + var(--pine-dimension-150));\n --number-transition-timing: 0.15s ease-out;\n\n align-items: flex-start;\n color: var(--pine-color-text);\n display: inline-flex;\n flex-flow: row wrap;\n position: relative;\n}\n\n:host(.pds-switch--error) {\n color: var(--pine-color-text-message-danger);\n\n input,\n input:checked,\n input:hover:not(:disabled):not(:checked) {\n background-color: var(--pine-color-danger);\n }\n\n input:focus-visible:not(:disabled):not(:checked) {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n\n label {\n color: var(--color-text-error);\n }\n}\n\n// switch container\ninput {\n appearance: none;\n background: var(--pine-color-neutral);\n border: 0;\n border-radius: var(--pine-dimension-sm);\n cursor: pointer;\n display: inline-block;\n flex-shrink: 0;\n height: var(--pine-dimension-250);\n margin: 0;\n padding: 0;\n position: relative;\n transition: var(--number-transition-timing);\n transition-property: background, border, color;\n width: var(--pine-dimension-450);\n\n // switch toggle\n &::after {\n background: var(--pine-color-secondary);\n border-radius: var(--pine-border-radius-full);\n box-shadow: var(--pine-box-shadow);\n content: \"\";\n display: block;\n height: var(--sizing-input-toggle-size);\n inset-block-start: 50%;\n inset-inline-start: 50%;\n position: absolute;\n transform: translate3d(-100%, -50%, 0);\n transition: transform var(--number-transition-timing);\n width: var(--sizing-input-toggle-size);\n }\n}\n\nlabel {\n display: flex;\n gap: var(--pine-dimension-150);\n\n .pds-switch--error & {\n color: inherit;\n }\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// Help and error messages\n.pds-switch__message {\n color: var(--pine-color-text-message);\n font: var(--pine-typography-body-sm-medium);\n margin-block-start: var(--pine-dimension-xs);\n margin-inline-start: var(--spacing-message-inline);\n width: 100%;\n\n + .pds-switch__message {\n margin-block-start: var(--spacing-message-inline);\n }\n}\n\n.pds-switch__message--error {\n color: inherit;\n display: flex;\n gap: var(--pine-dimension-2xs);\n\n pds-icon {\n margin-block-start: var(--pine-dimension-025);\n }\n}\n\n// Disabled state\ninput:disabled {\n background-color: var(--pine-color-neutral-disabled);\n cursor: not-allowed;\n\n ~ label {\n cursor: initial;\n }\n\n &:hover::after {\n background-color: var(--pine-color-background-container-disabled);\n }\n\n .pds-switch__message {\n color: initial;\n }\n}\n\n// Hover state\ninput:hover:not(:disabled) {\n background-color: var(--pine-color-neutral-hover);\n}\n\n // Focus state\ninput:focus-visible:not(:disabled) {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n}\n\n// 'Checked' state\n// switch toggle\ninput:checked::after {\n transform: translate3d(0, -50%, 0);\n}\n\n// switch container\ninput:checked:not(:disabled) {\n background-color: currentColor;\n color: var(--pine-color-accent);\n\n &:hover {\n border-color: currentColor;\n color: var(--pine-color-accent-hover);\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { danger } from '@pine-ds/icons/icons';\n\nimport { inheritAriaAttributes } from '@utils/attributes';\nimport type { Attributes } from '@utils/attributes';\n\n@Component({\n tag: 'pds-switch',\n styleUrls: ['../../global/styles/utils/label.scss', 'pds-switch.scss'],\n shadow: true,\n})\nexport class PdsSwitch {\n private inheritedAttributes: Attributes = {};\n\n @Element() el: HTMLPdsSwitchElement;\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 * Determines the input 'checked' state.\n */\n @Prop({ mutable: true }) checked = false;\n\n /**\n * Determines the input 'disabled' state, preventing user interaction.\n */\n @Prop() disabled? = false;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage?: string;\n\n /**\n * Visually hides the label text for instances where only the switch should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() hideLabel: boolean;\n\n /**\n * Displays help text for additional description of an input.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines the input 'invalid' state, signifying an error is present.\n */\n @Prop() invalid? = false;\n\n /**\n * Displays text to describe the input.\n */\n @Prop() label!: string;\n\n /**\n * Identifies form data and unifies a group of radio inputs for toggling a single property/value.\n */\n @Prop() name: string;\n\n /**\n * Determines the 'required' state of the input.\n */\n @Prop() required? = false;\n\n /**\n * Provides input with a string submitted in form data.\n */\n @Prop() value: string;\n\n /**\n * Emits an event on input change.\n */\n @Event() pdsSwitchChange: EventEmitter<InputEvent>;\n\n private onSwitchUpdate = (e: Event) => {\n if (this.disabled) return;\n\n const input = e.target as HTMLInputElement;\n this.checked = input.checked;\n this.pdsSwitchChange.emit(e as InputEvent);\n };\n\n private switchClassNames = () => {\n let switchClasses = `pds-switch`;\n\n if (this.invalid === true) {\n switchClasses += \" pds-switch--error\";\n }\n if (this.helperMessage !== undefined) {\n switchClasses += \" pds-switch--message\";\n }\n return switchClasses;\n };\n\n componentWillLoad() {\n this.inheritedAttributes = {\n ...inheritAriaAttributes(this.el)\n }\n }\n\n render() {\n return (\n <Host class={this.switchClassNames()} aria-disabled={this.disabled ? 'true' : null}>\n <label htmlFor={this.componentId}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.errorMessage || this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n checked={this.checked}\n class=\"pds-switch__input\"\n disabled={this.disabled}\n id={this.componentId}\n name={this.name ? this.name : this.componentId}\n onChange={this.onSwitchUpdate}\n required={this.required}\n type=\"checkbox\"\n value={this.value}\n {...this.inheritedAttributes}\n />\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {this.helperMessage &&\n <div\n class={`pds-switch__message`}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-switch__message pds-switch__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n <pds-icon icon={danger} size=\"small\" />\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"oTAAA,IAAMA,EAAW,qTCAjB,IAAMC,EAAe,+vH,ICYRC,EAASC,EAAA,wBALtB,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,K,yDAMUA,KAAmBC,oBAAe,GAYjBD,KAAOE,QAAG,MAK3BF,KAAQG,SAAI,MAoBZH,KAAOI,QAAI,MAeXJ,KAAQK,SAAI,MAYZL,KAAAM,eAAiB,SAACC,GACxB,GAAIR,EAAKI,SAAU,OAEnB,IAAMK,EAAQD,EAAEE,OAChBV,EAAKG,QAAUM,EAAMN,QACrBH,EAAKW,gBAAgBC,KAAKJ,EAC5B,EAEQP,KAAgBY,iBAAG,WACzB,IAAIC,EAAgB,aAEpB,GAAId,EAAKK,UAAY,KAAM,CACzBS,GAAiB,oB,CAEnB,GAAId,EAAKe,gBAAkBC,UAAW,CACpCF,GAAiB,sB,CAEnB,OAAOA,CACT,CAmDD,CAjDChB,EAAAmB,UAAAC,kBAAA,WACEjB,KAAKC,oBAAmBiB,OAAAC,OAAA,GACnBC,EAAsBpB,KAAKqB,I,EAIlCxB,EAAAmB,UAAAM,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO1B,KAAKY,mBAAkB,gBAAiBZ,KAAKG,SAAW,OAAS,MAC5EoB,EAAA,SAAAE,IAAA,2CAAOE,QAAS3B,KAAK4B,aACnBL,EACoB,QAAAL,OAAAC,OAAA,CAAAM,IAAA,8DAAAI,EAAkB7B,KAAK4B,YAAa5B,KAAKI,QAASJ,KAAK8B,cAAgB9B,KAAKc,eAAc,eAC9Fd,KAAKI,QAAU,OAASW,UACtCb,QAASF,KAAKE,QACdwB,MAAM,oBACNvB,SAAUH,KAAKG,SACf4B,GAAI/B,KAAK4B,YACTI,KAAMhC,KAAKgC,KAAOhC,KAAKgC,KAAOhC,KAAK4B,YACnCK,SAAUjC,KAAKM,eACfD,SAAUL,KAAKK,SACf6B,KAAK,WACLC,MAAOnC,KAAKmC,OACRnC,KAAKC,sBAEXsB,EAAA,QAAAE,IAAA,2CAAMC,MAAO1B,KAAKoC,UAAY,kBAAoB,IAC/CpC,KAAKqC,QAGTrC,KAAKc,eACJS,EAAA,OAAAE,IAAA,2CACEC,MAAO,sBACPK,GAAIO,EAAUtC,KAAK4B,YAAa,WAE/B5B,KAAKc,eAGTd,KAAK8B,cACJP,EAAA,OAAAE,IAAA,2CACEC,MAAO,iDACPK,GAAIO,EAAUtC,KAAK4B,YAAa,SAAQ,YAC9B,aAEVL,EAAA,YAAAE,IAAA,2CAAUc,KAAMC,EAAQC,KAAK,UAC5BzC,KAAK8B,c,uHAhII,I","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as s,h as r,H as i,g as t}from"./p-Uh5ntVcq.js";import{m as a}from"./p-DTL_39D_.js";import{f as n,g as o}from"./p-CzVv99mW.js";const d=":host{--pine-select-color-background-danger:var(--pine-color-red-050)}";const l=":host{display:inline-block}:host([aria-disabled=true]) label{color:var(--pine-color-text-label-disabled)}:host([aria-readonly=true]) label{color:var(--pine-color-text-label-readonly)}label{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";const c=':host{--pds-select-background:var(--pine-color-background-container);--pds-select-border:var(--pine-border);--pds-select-border-radius:var(--pine-dimension-125);--pds-select-border-radius-start-end:var(--pine-dimension-125);--pds-select-border-radius-start-start:var(--pine-dimension-125);--pds-select-border-radius-end-end:var(--pine-dimension-125);--pds-select-border-radius-end-start:var(--pine-dimension-125);--pds-select-min-height:36px;--box-shadow-focus:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);--box-shadow-focus-error:0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger)}:host .hidden,:host :host([hidden]){display:none}.pds-select{display:grid;-ms-flex-direction:column;flex-direction:column;grid-template-areas:"label label" "field field" "message message";grid-template-columns:1fr minmax(2rem, -webkit-min-content);grid-template-columns:1fr minmax(2rem, min-content);grid-template-rows:-webkit-min-content -webkit-min-content -webkit-min-content;grid-template-rows:min-content min-content min-content;position:relative;width:100%}.pds-select__label-wrapper{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-area:label;-ms-flex-pack:justify;justify-content:space-between;-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__action{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);-webkit-margin-start:var(--pine-dimension-xs);margin-inline-start:var(--pine-dimension-xs)}label{-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-select__label-wrapper label{-webkit-margin-after:0;margin-block-end:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--pds-select-background);border:var(--pds-select-border);border-radius:var(--pds-select-border-radius);border-bottom-left-radius:var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));border-bottom-right-radius:var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));border-top-left-radius:var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));border-top-right-radius:var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));font:var(--pine-typography-body);grid-area:field;letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-select-min-height);padding:var(--pine-dimension-xs) var(--pine-dimension-150);-webkit-padding-end:var(--pine-dimension-450);padding-inline-end:var(--pine-dimension-450);position:relative}select:hover{border-color:var(--pine-color-border-hover);cursor:pointer}select:focus-visible{border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}select:disabled{background-color:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}select:has(~.pds-select__message .pds-select__error-message){background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}select:has(~.pds-select__message .pds-select__error-message):focus-visible{outline-color:var(--pine-color-focus-ring-danger)}:host(.is-invalid) select{background-color:var(--pine-select-color-background-danger);border-color:var(--pine-color-border-danger)}:host(.is-invalid) select:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-select__error-message,.pds-select__helper-message{font:var(--pine-typography-body-sm-medium);-webkit-margin-after:0;margin-block-end:0;-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs)}.pds-select__error-message{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-2xs)}.pds-select__message{grid-area:message}.pds-select__select-icon{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;grid-column:-1/-2;grid-row:2/3;height:var(--pds-select-min-height);pointer-events:none;position:relative;z-index:1}.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}';const p=class{constructor(r){e(this,r);this.pdsSelectChange=s(this,"pdsSelectChange");this.disabled=false;this.multiple=false;this.required=false;this.onSelectUpdate=e=>{const s=e.target;const r=Array.from(s.options).filter((e=>e.selected)).map((e=>e.value));if(r.length===1&&!this.multiple){this.value=r[0]}else{this.value=r}this.pdsSelectChange.emit(e)};this.handleSlotChange=()=>{const e=this.slotContainer.querySelector("slot");this.selectEl.innerHTML="";const s=e.assignedElements({flatten:true});s.forEach((e=>{if(["OPTION","OPTGROUP"].includes(e.tagName)){const s=e.cloneNode(true);if(s.tagName==="OPTION"&&s.value===this.value){s.selected=true}this.selectEl.appendChild(s)}}));this.updateSelectedOption()}}valueChanged(){this.updateSelectedOption()}componentWillLoad(){this.updateSelectedOption()}updateSelectedOption(){if(this.selectEl){const e=this.selectEl.options;Array.from(e).map((e=>{if(Array.isArray(this.value)){e.selected=this.value.includes(e.value)}else{e.selected=this.value===e.value}}))}}getHelperMessage(){return this.helperMessage&&r("p",{class:"pds-select__helper-message",id:a(this.componentId,"helper")},this.helperMessage)}getErrorMessage(){return this.errorMessage&&r("p",{class:"pds-select__error-message",id:a(this.componentId,"error"),"aria-live":"assertive"},r("pds-icon",{icon:n,size:"small"}),this.errorMessage)}renderMessages(){if(!this.helperMessage&&!this.errorMessage)return null;return r("div",{class:"pds-select__message"},this.getHelperMessage(),this.getErrorMessage())}classNames(){const e=[];if(this.invalid){e.push("is-invalid")}if(this.disabled){e.push("is-disabled")}return e.join(" ")}renderAction(){const e=this.el.querySelector('[slot="action"]')!==null;if(e){return r("div",{class:"pds-select__action",part:"action"},r("slot",{name:"action"}))}return null}render(){const e=this.el.querySelector('[slot="action"]')!==null;return r(i,{key:"7bbdad147f68a6b000d738c991c4f77e7ba6d934","aria-disabled":this.disabled?"true":null,class:this.classNames(),"has-action":e&&!this.hideLabel?"true":null},r("div",{key:"d8b3ba6fcaa63435c919083760573d4a94394f56",class:"pds-select"},!this.hideLabel&&r("div",{key:"01edc2b7f833d71da9c440ee9e35327210b233d1",class:"pds-select__label-wrapper"},r("label",{key:"5a7743e84be49edf04deed503a27929d15fa8515",htmlFor:this.componentId},r("span",{key:"df5e57ac95def4069ff07f081226d70ca5a15cc8",class:this.hideLabel?"visually-hidden":""},this.label)),e&&this.renderAction()),r("select",{key:"3e9faea02fe9449fdda224bf4f3ee157217640ff","aria-label":this.hideLabel?this.label:undefined,autocomplete:this.autocomplete||undefined,class:"pds-select__field",disabled:this.disabled,id:this.componentId,multiple:this.multiple,name:this.name,onChange:this.onSelectUpdate,part:"select",required:this.required,ref:e=>this.selectEl=e}),r("div",{key:"1a75cbfdca145e1d303c8c07de9cb8df5afa267e","aria-hidden":"true",class:"hidden",ref:e=>this.slotContainer=e},r("slot",{key:"2656e9edc098798b4a118c2a8b8a0f6283fc6f9a",onSlotchange:this.handleSlotChange})),this.renderMessages(),!this.multiple&&r("pds-icon",{key:"ca5831acc4a4f72221a2d26be14e076daabd35b1",class:"pds-select__select-icon",icon:o})))}get el(){return t(this)}static get watchers(){return{value:["valueChanged"]}}};p.style=d+(l+c);export{p as pds_select};
2
- //# sourceMappingURL=p-708c66c2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["pdsSelectTokensCss","labelCss","pdsSelectCss","PdsSelect","constructor","hostRef","this","disabled","multiple","required","onSelectUpdate","e","target","values","Array","from","options","filter","option","map","length","value","pdsSelectChange","emit","handleSlotChange","slot","slotContainer","querySelector","selectEl","innerHTML","assignedElements","flatten","forEach","item","includes","tagName","clonedItem","cloneNode","selected","appendChild","updateSelectedOption","valueChanged","componentWillLoad","isArray","getHelperMessage","helperMessage","h","class","id","messageId","componentId","getErrorMessage","errorMessage","icon","danger","size","renderMessages","classNames","invalid","push","join","renderAction","hasAction","el","part","name","render","Host","key","hideLabel","htmlFor","label","undefined","autocomplete","onChange","ref","onSlotchange","enlarge"],"sources":["src/components/pds-select/pds-select.tokens.scss?tag=pds-select&encapsulation=shadow","src/global/styles/utils/label.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.scss?tag=pds-select&encapsulation=shadow","src/components/pds-select/pds-select.tsx"],"sourcesContent":["@use '~@kajabi-ui/styles/dist/pine/components/pds-select/pds-select.tokens'\n",":host {\n display: inline-block;\n}\n\n:host([aria-disabled=\"true\"]) label {\n color: var(--pine-color-text-label-disabled);\n}\n\n:host([aria-readonly=\"true\"]) {\n label {\n color: var(--pine-color-text-label-readonly);\n }\n}\n\nlabel {\n color: var(--pine-color-text-label);\n font: var(--pine-typography-body-medium);\n letter-spacing: var(--pine-letter-spacing);\n}\n",":host {\n --pds-select-background: var(--pine-color-background-container);\n --pds-select-border: var(--pine-border);\n --pds-select-border-radius: var(--pine-dimension-125);\n --pds-select-border-radius-start-end: var(--pine-dimension-125);\n --pds-select-border-radius-start-start: var(--pine-dimension-125);\n --pds-select-border-radius-end-end: var(--pine-dimension-125);\n --pds-select-border-radius-end-start: var(--pine-dimension-125);\n --pds-select-min-height: 36px;\n --box-shadow-focus: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring);\n --box-shadow-focus-error: 0 0 0 1px #ffffff, 0 0 0 3px var(--pine-color-focus-ring-danger);\n\n .hidden,\n :host([hidden]) {\n display: none;\n }\n}\n\n.pds-select {\n display: grid;\n flex-direction: column;\n grid-template-areas:\n 'label label'\n 'field field'\n 'message message';\n grid-template-columns: 1fr minmax(2rem, min-content);\n grid-template-rows: min-content min-content min-content;\n position: relative;\n width: 100%;\n}\n\n.pds-select__label-wrapper {\n align-items: center;\n display: flex;\n grid-area: label;\n justify-content: space-between;\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n.pds-select__action {\n align-items: center;\n display: flex;\n gap: var(--pine-dimension-xs);\n margin-inline-start: var(--pine-dimension-xs);\n}\n\nlabel {\n margin-block-end: var(--pine-dimension-2xs);\n}\n\n// When label is inside wrapper, remove its margin\n.pds-select__label-wrapper label {\n margin-block-end: 0;\n}\n\nselect {\n appearance: none;\n background-color: var(--pds-select-background);\n border: var(--pds-select-border);\n border-radius: var(--pds-select-border-radius);\n border-bottom-left-radius: var(--pds-select-border-radius-end-start, var(--pds-select-border-radius));\n border-bottom-right-radius: var(--pds-select-border-radius-end-end, var(--pds-select-border-radius));\n border-top-left-radius: var(--pds-select-border-radius-start-start, var(--pds-select-border-radius));\n border-top-right-radius: var(--pds-select-border-radius-start-end, var(--pds-select-border-radius));\n font: var(--pine-typography-body);\n grid-area: field;\n letter-spacing: var(--pine-letter-spacing);\n min-height: var(--pds-select-min-height);\n padding: var(--pine-dimension-xs) var(--pine-dimension-150);\n padding-inline-end: var(--pine-dimension-450);\n position: relative;\n\n &:hover {\n border-color: var(--pine-color-border-hover);\n cursor: pointer;\n }\n\n &:focus-visible {\n border-color: var(--pine-color-border-active);\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:disabled {\n background-color: var(--pine-color-background-container-disabled);\n border-color: var(--pine-color-border-disabled);\n color: var(--pine-color-text-disabled);\n cursor: not-allowed;\n }\n\n &:has(~ .pds-select__message .pds-select__error-message) {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n:host(.is-invalid) {\n select {\n background-color: var(--pine-select-color-background-danger);\n border-color: var(--pine-color-border-danger);\n\n &:focus-visible {\n outline-color: var(--pine-color-focus-ring-danger);\n }\n }\n}\n\n.pds-select__error-message,\n.pds-select__helper-message {\n font: var(--pine-typography-body-sm-medium);\n margin-block-end: 0;\n margin-block-start: var(--pine-dimension-2xs);\n}\n\n.pds-select__error-message {\n align-items: center;\n color: var(--pine-color-text-message-danger);\n display: flex;\n gap: var(--pine-dimension-2xs);\n}\n\n.pds-select__message {\n grid-area: message;\n}\n\n.pds-select__select-icon {\n align-items: center;\n display: flex;\n grid-column: -1 / -2;\n grid-row: 2 / 3;\n height: var(--pds-select-min-height);\n pointer-events: none;\n position: relative;\n z-index: 1;\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","import { Component, Element, Event, EventEmitter, Host, h, Prop, Watch } from '@stencil/core';\nimport { messageId } from '../../utils/form';\nimport { danger, enlarge } from '@pine-ds/icons/icons';\n\n/**\n * @slot action - Content to be displayed in the label area, typically for help icons or links\n */\n@Component({\n tag: 'pds-select',\n styleUrls: ['pds-select.tokens.scss', '../../global/styles/utils/label.scss', 'pds-select.scss'],\n shadow: true,\n})\nexport class PdsSelect {\n\n private selectEl!: HTMLSelectElement;\n private slotContainer!: HTMLDivElement;\n\n @Element() el: HTMLPdsSelectElement;\n\n /**\n * Specifies if and how the browser provides `autocomplete` assistance for the field.\n */\n @Prop() autocomplete: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Indicates whether or not the select field is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false\n\n /**\n * Displays error message text describing an invalid state.\n */\n @Prop() errorMessage: 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() hideLabel: boolean;\n\n /**\n * Displays helper message text below select.\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines whether or not the select is invalid.\n */\n @Prop() invalid?: boolean;\n\n /**\n * Text to be displayed as the select label.\n */\n @Prop() label?: string;\n\n /**\n * Indicates whether multiple options can be selected.\n * @defaultValue false\n */\n @Prop() multiple = false;\n\n /**\n * Specifies the name. Submitted with the form name/value pair.\n */\n @Prop() name!: string;\n\n /**\n * Indicates whether or not the select field is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value(s) of the selected option(s).\n *\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when a keyboard input occurs.\n */\n @Event() pdsSelectChange: EventEmitter<InputEvent>;\n\n @Watch('value')\n /**\n * Handles the change in the value of the select component.\n * This method is called whenever the value of the select component changes.\n * It updates the selected option accordingly.\n */\n valueChanged() {\n this.updateSelectedOption();\n }\n\n componentWillLoad() {\n this.updateSelectedOption();\n }\n\n /**\n * Updates the selected option in the select element based on the current value.\n *\n * This method iterates through all the options of the select element and sets the\n * 'selected' attribute on the option that matches the current value. If an option\n * does not match the current value, the 'selected' attribute is removed.\n *\n * @private\n * @returns {void}\n */\n private updateSelectedOption() {\n if (this.selectEl) {\n const options = this.selectEl.options;\n\n // Update the selected attribute for all options.\n Array.from(options).map((option: HTMLOptionElement) => {\n if (Array.isArray(this.value)) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n };\n }\n\n /**\n * Emits an event on input change.\n */\n private onSelectUpdate = (e: Event) => {\n const target = e.target as HTMLSelectElement\n\n const values = Array.from(target.options)\n .filter((option) => ( option.selected))\n .map((option) => ( option.value));\n\n if (values.length === 1 && !this.multiple) {\n this.value = values[0];\n } else {\n this.value = values;\n }\n\n this.pdsSelectChange.emit(e as InputEvent);\n };\n\n /**\n * Handles the change event for the slot element.\n * This method is triggered when the slot content changes.\n * It updates the inner HTML of the select element by cloning and appending\n * the assigned <option> elements from the slot.\n */\n private handleSlotChange = () => {\n const slot = this.slotContainer.querySelector('slot') as HTMLSlotElement;\n\n this.selectEl.innerHTML = '';\n const assignedElements = slot.assignedElements({ flatten: true }) as (HTMLOptionElement | HTMLOptGroupElement)[];\n\n assignedElements.forEach((item) => {\n if ( ['OPTION', 'OPTGROUP'].includes(item.tagName)) {\n const clonedItem = item.cloneNode(true) as HTMLOptionElement | HTMLOptGroupElement;\n if (clonedItem.tagName === 'OPTION' && (clonedItem as HTMLOptionElement).value === this.value) {\n (clonedItem as HTMLOptionElement).selected = true;\n }\n this.selectEl.appendChild(clonedItem);\n }\n });\n\n this.updateSelectedOption();\n };\n\n private getHelperMessage() {\n return this.helperMessage && (\n <p class=\"pds-select__helper-message\" id={messageId(this.componentId, 'helper')}>\n {this.helperMessage}\n </p>\n );\n }\n\n private getErrorMessage() {\n return this.errorMessage && (\n <p class=\"pds-select__error-message\" id={messageId(this.componentId, 'error')} aria-live=\"assertive\">\n <pds-icon icon={danger} size=\"small\"></pds-icon>\n {this.errorMessage}\n </p>\n );\n }\n\n private renderMessages() {\n if (!this.helperMessage && !this.errorMessage) return null;\n\n return (\n <div class=\"pds-select__message\">\n {this.getHelperMessage()}\n {this.getErrorMessage()}\n </div>\n );\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n private renderAction() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n if (hasAction) {\n return (\n <div class=\"pds-select__action\" part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n );\n }\n return null;\n }\n\n render() {\n const hasAction = this.el.querySelector('[slot=\"action\"]') !== null;\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.classNames()} has-action={hasAction && !this.hideLabel ? 'true' : null}>\n <div class=\"pds-select\">\n {!this.hideLabel && (\n <div class=\"pds-select__label-wrapper\">\n <label htmlFor={this.componentId}>\n <span class={this.hideLabel ? 'visually-hidden' : ''}>\n {this.label}\n </span>\n </label>\n {hasAction && this.renderAction()}\n </div>\n )}\n <select\n aria-label={this.hideLabel ? this.label : undefined}\n autocomplete={this.autocomplete || undefined}\n class=\"pds-select__field\"\n disabled={this.disabled}\n id={this.componentId}\n multiple={this.multiple}\n name={this.name}\n onChange={this.onSelectUpdate}\n part=\"select\"\n required={this.required}\n ref={(el) => (this.selectEl = el as HTMLSelectElement)}\n ></select>\n <div aria-hidden=\"true\" class=\"hidden\" ref={(el) => (this.slotContainer = el)}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n {this.renderMessages()}\n {!this.multiple && <pds-icon class=\"pds-select__select-icon\" icon={enlarge} />}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}