@pine-ds/core 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (881) hide show
  1. package/components/form.js +16 -1
  2. package/components/form.js.map +1 -1
  3. package/components/index.d.ts +4 -0
  4. package/components/index.js +2 -0
  5. package/components/index.js.map +1 -1
  6. package/components/index2.js +4 -2
  7. package/components/index2.js.map +1 -1
  8. package/components/mock-pds-modal.js +2 -2
  9. package/components/mock-pds-modal.js.map +1 -1
  10. package/components/pds-avatar.js +1 -1
  11. package/components/pds-button2.js +7 -4
  12. package/components/pds-button2.js.map +1 -1
  13. package/components/pds-checkbox2.js +8 -5
  14. package/components/pds-checkbox2.js.map +1 -1
  15. package/components/pds-chip.js +1 -100
  16. package/components/pds-chip.js.map +1 -1
  17. package/components/pds-chip2.js +105 -0
  18. package/components/pds-chip2.js.map +1 -0
  19. package/components/pds-combobox.js +735 -54
  20. package/components/pds-combobox.js.map +1 -1
  21. package/components/pds-copytext.js +4 -4
  22. package/components/pds-copytext.js.map +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu-separator.js.map +1 -1
  25. package/components/pds-dropdown-menu.js +1 -1
  26. package/components/pds-dropdown-menu.js.map +1 -1
  27. package/components/pds-filter.d.ts +11 -0
  28. package/components/pds-filter.js +518 -0
  29. package/components/pds-filter.js.map +1 -0
  30. package/components/pds-filters.d.ts +11 -0
  31. package/components/pds-filters.js +38 -0
  32. package/components/pds-filters.js.map +1 -0
  33. package/components/pds-image.js +2 -2
  34. package/components/pds-input.js +3 -3
  35. package/components/pds-input.js.map +1 -1
  36. package/components/pds-link2.js +2 -2
  37. package/components/pds-loader2.js +1 -1
  38. package/components/pds-modal-content.js +2 -2
  39. package/components/pds-modal-footer.js +1 -1
  40. package/components/pds-modal-header.js +1 -1
  41. package/components/pds-modal.js +4 -4
  42. package/components/pds-modal.js.map +1 -1
  43. package/components/pds-popover.js +123 -15
  44. package/components/pds-popover.js.map +1 -1
  45. package/components/pds-progress.js +1 -1
  46. package/components/pds-property.js +1 -1
  47. package/components/pds-radio.js +11 -5
  48. package/components/pds-radio.js.map +1 -1
  49. package/components/pds-row.js +1 -1
  50. package/components/pds-select.js +22 -6
  51. package/components/pds-select.js.map +1 -1
  52. package/components/pds-sortable-item.js +1 -1
  53. package/components/pds-sortable.js +1 -1
  54. package/components/pds-switch.js +8 -5
  55. package/components/pds-switch.js.map +1 -1
  56. package/components/pds-tab.js +4 -4
  57. package/components/pds-tab.js.map +1 -1
  58. package/components/pds-table-body.js +1 -1
  59. package/components/pds-table-cell2.js +3 -3
  60. package/components/pds-table-cell2.js.map +1 -1
  61. package/components/pds-table-head-cell2.js +3 -3
  62. package/components/pds-table-head-cell2.js.map +1 -1
  63. package/components/pds-table-head.js +2 -2
  64. package/components/pds-table-head.js.map +1 -1
  65. package/components/pds-table-row.js +2 -2
  66. package/components/pds-table-row.js.map +1 -1
  67. package/components/pds-table.js +1 -1
  68. package/components/pds-table.js.map +1 -1
  69. package/components/pds-tabpanel.js +1 -1
  70. package/components/pds-tabs.js +14 -4
  71. package/components/pds-tabs.js.map +1 -1
  72. package/components/pds-text2.js +1 -1
  73. package/components/pds-textarea.js +10 -7
  74. package/components/pds-textarea.js.map +1 -1
  75. package/components/pds-toast.js +3 -3
  76. package/components/pds-tooltip.js +4 -4
  77. package/components/pds-tooltip.js.map +1 -1
  78. package/dist/cjs/{form-Bx4nzJBo.js → form-hmpgbT1I.js} +18 -2
  79. package/dist/cjs/form-hmpgbT1I.js.map +1 -0
  80. package/dist/cjs/{index-g-uSeICs.js → index-DDTyvZD7.js} +5 -2
  81. package/dist/cjs/index-DDTyvZD7.js.map +1 -0
  82. package/dist/cjs/{index-DVaLegMK.js → index-DtnvzYhe.js} +7 -3
  83. package/dist/cjs/index-DtnvzYhe.js.map +1 -0
  84. package/dist/cjs/index.cjs.js +1 -1
  85. package/dist/cjs/loader.cjs.js +2 -2
  86. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
  87. package/dist/cjs/mock-pds-modal.cjs.entry.js.map +1 -1
  88. package/dist/cjs/mock-pds-modal.entry.cjs.js.map +1 -1
  89. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  91. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  92. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  93. package/dist/cjs/pds-button.cjs.entry.js +8 -5
  94. package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
  95. package/dist/cjs/pds-button.entry.cjs.js.map +1 -1
  96. package/dist/cjs/pds-checkbox.cjs.entry.js +9 -6
  97. package/dist/cjs/pds-checkbox.cjs.entry.js.map +1 -1
  98. package/dist/cjs/pds-checkbox.entry.cjs.js.map +1 -1
  99. package/dist/cjs/pds-chip.cjs.entry.js +4 -4
  100. package/dist/cjs/pds-chip.cjs.entry.js.map +1 -1
  101. package/dist/cjs/pds-chip.entry.cjs.js.map +1 -1
  102. package/dist/cjs/pds-combobox.cjs.entry.js +719 -51
  103. package/dist/cjs/pds-combobox.cjs.entry.js.map +1 -1
  104. package/dist/cjs/pds-combobox.entry.cjs.js.map +1 -1
  105. package/dist/cjs/pds-copytext.cjs.entry.js +5 -5
  106. package/dist/cjs/pds-copytext.cjs.entry.js.map +1 -1
  107. package/dist/cjs/pds-copytext.entry.cjs.js.map +1 -1
  108. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  109. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  110. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
  111. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pds-dropdown-menu-separator.entry.cjs.js.map +1 -1
  113. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  114. package/dist/cjs/pds-dropdown-menu.cjs.entry.js.map +1 -1
  115. package/dist/cjs/pds-dropdown-menu.entry.cjs.js.map +1 -1
  116. package/dist/cjs/pds-filter.cjs.entry.js +488 -0
  117. package/dist/cjs/pds-filter.cjs.entry.js.map +1 -0
  118. package/dist/cjs/pds-filter.entry.cjs.js.map +1 -0
  119. package/dist/cjs/pds-filters.cjs.entry.js +20 -0
  120. package/dist/cjs/pds-filters.cjs.entry.js.map +1 -0
  121. package/dist/cjs/pds-filters.entry.cjs.js.map +1 -0
  122. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  123. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  124. package/dist/cjs/pds-input.cjs.entry.js +5 -5
  125. package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
  126. package/dist/cjs/pds-input.entry.cjs.js.map +1 -1
  127. package/dist/cjs/pds-link.cjs.entry.js +4 -4
  128. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  129. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
  130. package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
  131. package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
  132. package/dist/cjs/pds-modal.cjs.entry.js +5 -5
  133. package/dist/cjs/pds-modal.cjs.entry.js.map +1 -1
  134. package/dist/cjs/pds-modal.entry.cjs.js.map +1 -1
  135. package/dist/cjs/pds-popover.cjs.entry.js +118 -13
  136. package/dist/cjs/pds-popover.cjs.entry.js.map +1 -1
  137. package/dist/cjs/pds-popover.entry.cjs.js.map +1 -1
  138. package/dist/cjs/pds-progress.cjs.entry.js +2 -2
  139. package/dist/cjs/pds-property.cjs.entry.js +2 -2
  140. package/dist/cjs/pds-radio.cjs.entry.js +12 -6
  141. package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
  142. package/dist/cjs/pds-radio.entry.cjs.js.map +1 -1
  143. package/dist/cjs/pds-row.cjs.entry.js +2 -2
  144. package/dist/cjs/pds-select.cjs.entry.js +21 -6
  145. package/dist/cjs/pds-select.cjs.entry.js.map +1 -1
  146. package/dist/cjs/pds-select.entry.cjs.js.map +1 -1
  147. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  148. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  149. package/dist/cjs/pds-switch.cjs.entry.js +9 -6
  150. package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
  151. package/dist/cjs/pds-switch.entry.cjs.js.map +1 -1
  152. package/dist/cjs/pds-tab.cjs.entry.js +5 -5
  153. package/dist/cjs/pds-tab.cjs.entry.js.map +1 -1
  154. package/dist/cjs/pds-tab.entry.cjs.js.map +1 -1
  155. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  156. package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
  157. package/dist/cjs/pds-table-cell.cjs.entry.js.map +1 -1
  158. package/dist/cjs/pds-table-cell.entry.cjs.js.map +1 -1
  159. package/dist/cjs/pds-table-head-cell.cjs.entry.js +5 -5
  160. package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
  161. package/dist/cjs/pds-table-head-cell.entry.cjs.js.map +1 -1
  162. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  163. package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
  164. package/dist/cjs/pds-table-head.entry.cjs.js.map +1 -1
  165. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  166. package/dist/cjs/pds-table-row.cjs.entry.js.map +1 -1
  167. package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
  168. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  169. package/dist/cjs/pds-table.cjs.entry.js.map +1 -1
  170. package/dist/cjs/pds-table.entry.cjs.js.map +1 -1
  171. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  172. package/dist/cjs/pds-tabs.cjs.entry.js +15 -5
  173. package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
  174. package/dist/cjs/pds-tabs.entry.cjs.js.map +1 -1
  175. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  176. package/dist/cjs/pds-textarea.cjs.entry.js +11 -8
  177. package/dist/cjs/pds-textarea.cjs.entry.js.map +1 -1
  178. package/dist/cjs/pds-textarea.entry.cjs.js.map +1 -1
  179. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  180. package/dist/cjs/pds-tooltip.cjs.entry.js +5 -5
  181. package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
  182. package/dist/cjs/pds-tooltip.entry.cjs.js.map +1 -1
  183. package/dist/cjs/pine-core.cjs.js +2 -2
  184. package/dist/collection/collection-manifest.json +2 -0
  185. package/dist/collection/components/pds-button/pds-button.css +29 -3
  186. package/dist/collection/components/pds-button/pds-button.js +8 -5
  187. package/dist/collection/components/pds-button/pds-button.js.map +1 -1
  188. package/dist/collection/components/pds-button/stories/pds-button.stories.js +28 -1
  189. package/dist/collection/components/pds-checkbox/pds-checkbox.js +7 -4
  190. package/dist/collection/components/pds-checkbox/pds-checkbox.js.map +1 -1
  191. package/dist/collection/components/pds-chip/pds-chip.css +2 -2
  192. package/dist/collection/components/pds-chip/pds-chip.js +17 -5
  193. package/dist/collection/components/pds-chip/pds-chip.js.map +1 -1
  194. package/dist/collection/components/pds-combobox/pds-combobox.css +213 -4
  195. package/dist/collection/components/pds-combobox/pds-combobox.js +837 -54
  196. package/dist/collection/components/pds-combobox/pds-combobox.js.map +1 -1
  197. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +182 -2
  198. package/dist/collection/components/pds-copytext/pds-copytext.css +6 -3
  199. package/dist/collection/components/pds-copytext/pds-copytext.js +2 -2
  200. package/dist/collection/components/pds-copytext/pds-copytext.js.map +1 -1
  201. package/dist/collection/components/pds-copytext/stories/pds-copytext.stories.js +1 -1
  202. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.css +4 -1
  203. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.css +1 -1
  204. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js +2 -0
  205. package/dist/collection/components/pds-filters/pds-filter/filter-interface.js.map +1 -0
  206. package/dist/collection/components/pds-filters/pds-filter/pds-filter.css +193 -0
  207. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +732 -0
  208. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js.map +1 -0
  209. package/dist/collection/components/pds-filters/pds-filter/stories/pds-filter.stories.js +93 -0
  210. package/dist/collection/components/pds-filters/pds-filters.css +10 -0
  211. package/dist/collection/components/pds-filters/pds-filters.js +45 -0
  212. package/dist/collection/components/pds-filters/pds-filters.js.map +1 -0
  213. package/dist/collection/components/pds-filters/stories/pds-filters.stories.js +40 -0
  214. package/dist/collection/components/pds-image/pds-image.js +2 -2
  215. package/dist/collection/components/pds-input/pds-input.css +18 -3
  216. package/dist/collection/components/pds-input/pds-input.js +1 -1
  217. package/dist/collection/components/pds-input/stories/pds-input.stories.js +42 -0
  218. package/dist/collection/components/pds-link/pds-link.js +2 -2
  219. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  220. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  221. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  222. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  223. package/dist/collection/components/pds-modal/pds-modal.css +2 -2
  224. package/dist/collection/components/pds-modal/pds-modal.js +3 -3
  225. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  226. package/dist/collection/components/pds-popover/pds-popover.css +3 -0
  227. package/dist/collection/components/pds-popover/pds-popover.js +226 -17
  228. package/dist/collection/components/pds-popover/pds-popover.js.map +1 -1
  229. package/dist/collection/components/pds-popover/popover-interface.js +2 -0
  230. package/dist/collection/components/pds-popover/popover-interface.js.map +1 -0
  231. package/dist/collection/components/pds-popover/stories/pds-popover.stories.js +1 -1
  232. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  233. package/dist/collection/components/pds-property/pds-property.js +1 -1
  234. package/dist/collection/components/pds-radio/pds-radio.js +10 -4
  235. package/dist/collection/components/pds-radio/pds-radio.js.map +1 -1
  236. package/dist/collection/components/pds-row/pds-row.js +1 -1
  237. package/dist/collection/components/pds-select/pds-select.css +1 -1
  238. package/dist/collection/components/pds-select/pds-select.js +19 -2
  239. package/dist/collection/components/pds-select/pds-select.js.map +1 -1
  240. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  241. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  242. package/dist/collection/components/pds-switch/pds-switch.js +7 -4
  243. package/dist/collection/components/pds-switch/pds-switch.js.map +1 -1
  244. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  245. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.css +1 -1
  246. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  247. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.css +1 -1
  248. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  249. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +1 -1
  250. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  251. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -1
  252. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  253. package/dist/collection/components/pds-table/pds-table.css +1 -1
  254. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +5 -2
  255. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +3 -3
  256. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  257. package/dist/collection/components/pds-tabs/pds-tabs.js +15 -4
  258. package/dist/collection/components/pds-tabs/pds-tabs.js.map +1 -1
  259. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +1 -1
  260. package/dist/collection/components/pds-text/pds-text.js +1 -1
  261. package/dist/collection/components/pds-textarea/pds-textarea.css +1 -1
  262. package/dist/collection/components/pds-textarea/pds-textarea.js +8 -5
  263. package/dist/collection/components/pds-textarea/pds-textarea.js.map +1 -1
  264. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  265. package/dist/collection/components/pds-tooltip/pds-tooltip.css +1 -1
  266. package/dist/collection/components/pds-tooltip/pds-tooltip.js +3 -3
  267. package/dist/collection/components/pds-tooltip/pds-tooltip.js.map +1 -1
  268. package/dist/collection/utils/form.js +15 -0
  269. package/dist/collection/utils/form.js.map +1 -1
  270. package/dist/collection/utils/types.js.map +1 -1
  271. package/dist/docs.json +825 -84
  272. package/dist/esm/form-DwjNklzi.js +47 -0
  273. package/dist/esm/form-DwjNklzi.js.map +1 -0
  274. package/dist/esm/{index-BVCWKPy3.js → index-Bf1dou5H.js} +5 -2
  275. package/dist/esm/index-Bf1dou5H.js.map +1 -0
  276. package/dist/esm/{index-DrJ5r5Pu.js → index-D4zJBIgl.js} +6 -4
  277. package/dist/esm/index-D4zJBIgl.js.map +1 -0
  278. package/dist/esm/index.js +1 -1
  279. package/dist/esm/loader.js +3 -3
  280. package/dist/esm/mock-pds-modal.entry.js +3 -3
  281. package/dist/esm/mock-pds-modal.entry.js.map +1 -1
  282. package/dist/esm/pds-accordion.entry.js +2 -2
  283. package/dist/esm/pds-alert.entry.js +1 -1
  284. package/dist/esm/pds-avatar.entry.js +2 -2
  285. package/dist/esm/pds-box.entry.js +1 -1
  286. package/dist/esm/pds-button.entry.js +8 -5
  287. package/dist/esm/pds-button.entry.js.map +1 -1
  288. package/dist/esm/pds-checkbox.entry.js +9 -6
  289. package/dist/esm/pds-checkbox.entry.js.map +1 -1
  290. package/dist/esm/pds-chip.entry.js +4 -4
  291. package/dist/esm/pds-chip.entry.js.map +1 -1
  292. package/dist/esm/pds-combobox.entry.js +719 -51
  293. package/dist/esm/pds-combobox.entry.js.map +1 -1
  294. package/dist/esm/pds-copytext.entry.js +5 -5
  295. package/dist/esm/pds-copytext.entry.js.map +1 -1
  296. package/dist/esm/pds-divider.entry.js +1 -1
  297. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  298. package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
  299. package/dist/esm/pds-dropdown-menu-separator.entry.js.map +1 -1
  300. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  301. package/dist/esm/pds-dropdown-menu.entry.js.map +1 -1
  302. package/dist/esm/pds-filter.entry.js +486 -0
  303. package/dist/esm/pds-filter.entry.js.map +1 -0
  304. package/dist/esm/pds-filters.entry.js +18 -0
  305. package/dist/esm/pds-filters.entry.js.map +1 -0
  306. package/dist/esm/pds-icon.entry.js +1 -1
  307. package/dist/esm/pds-image.entry.js +3 -3
  308. package/dist/esm/pds-input.entry.js +5 -5
  309. package/dist/esm/pds-input.entry.js.map +1 -1
  310. package/dist/esm/pds-link.entry.js +4 -4
  311. package/dist/esm/pds-loader.entry.js +2 -2
  312. package/dist/esm/pds-modal-content.entry.js +3 -3
  313. package/dist/esm/pds-modal-footer.entry.js +2 -2
  314. package/dist/esm/pds-modal-header.entry.js +2 -2
  315. package/dist/esm/pds-modal.entry.js +5 -5
  316. package/dist/esm/pds-modal.entry.js.map +1 -1
  317. package/dist/esm/pds-popover.entry.js +118 -13
  318. package/dist/esm/pds-popover.entry.js.map +1 -1
  319. package/dist/esm/pds-progress.entry.js +2 -2
  320. package/dist/esm/pds-property.entry.js +2 -2
  321. package/dist/esm/pds-radio.entry.js +12 -6
  322. package/dist/esm/pds-radio.entry.js.map +1 -1
  323. package/dist/esm/pds-row.entry.js +2 -2
  324. package/dist/esm/pds-select.entry.js +21 -6
  325. package/dist/esm/pds-select.entry.js.map +1 -1
  326. package/dist/esm/pds-sortable-item.entry.js +3 -3
  327. package/dist/esm/pds-sortable.entry.js +2 -2
  328. package/dist/esm/pds-switch.entry.js +9 -6
  329. package/dist/esm/pds-switch.entry.js.map +1 -1
  330. package/dist/esm/pds-tab.entry.js +5 -5
  331. package/dist/esm/pds-tab.entry.js.map +1 -1
  332. package/dist/esm/pds-table-body.entry.js +2 -2
  333. package/dist/esm/pds-table-cell.entry.js +4 -4
  334. package/dist/esm/pds-table-cell.entry.js.map +1 -1
  335. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  336. package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
  337. package/dist/esm/pds-table-head.entry.js +3 -3
  338. package/dist/esm/pds-table-head.entry.js.map +1 -1
  339. package/dist/esm/pds-table-row.entry.js +3 -3
  340. package/dist/esm/pds-table-row.entry.js.map +1 -1
  341. package/dist/esm/pds-table.entry.js +2 -2
  342. package/dist/esm/pds-table.entry.js.map +1 -1
  343. package/dist/esm/pds-tabpanel.entry.js +2 -2
  344. package/dist/esm/pds-tabs.entry.js +15 -5
  345. package/dist/esm/pds-tabs.entry.js.map +1 -1
  346. package/dist/esm/pds-text.entry.js +2 -2
  347. package/dist/esm/pds-textarea.entry.js +11 -8
  348. package/dist/esm/pds-textarea.entry.js.map +1 -1
  349. package/dist/esm/pds-toast.entry.js +4 -4
  350. package/dist/esm/pds-tooltip.entry.js +5 -5
  351. package/dist/esm/pds-tooltip.entry.js.map +1 -1
  352. package/dist/esm/pine-core.js +3 -3
  353. package/dist/esm-es5/form-DwjNklzi.js +2 -0
  354. package/dist/esm-es5/form-DwjNklzi.js.map +1 -0
  355. package/dist/esm-es5/{index-BVCWKPy3.js → index-Bf1dou5H.js} +2 -2
  356. package/dist/esm-es5/index-Bf1dou5H.js.map +1 -0
  357. package/dist/esm-es5/index-D4zJBIgl.js +2 -0
  358. package/dist/esm-es5/index-D4zJBIgl.js.map +1 -0
  359. package/dist/esm-es5/index.js +1 -1
  360. package/dist/esm-es5/loader.js +1 -1
  361. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  362. package/dist/esm-es5/mock-pds-modal.entry.js.map +1 -1
  363. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  364. package/dist/esm-es5/pds-alert.entry.js +1 -1
  365. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  366. package/dist/esm-es5/pds-box.entry.js +1 -1
  367. package/dist/esm-es5/pds-button.entry.js +1 -1
  368. package/dist/esm-es5/pds-button.entry.js.map +1 -1
  369. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  370. package/dist/esm-es5/pds-checkbox.entry.js.map +1 -1
  371. package/dist/esm-es5/pds-chip.entry.js +1 -1
  372. package/dist/esm-es5/pds-chip.entry.js.map +1 -1
  373. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  374. package/dist/esm-es5/pds-combobox.entry.js.map +1 -1
  375. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  376. package/dist/esm-es5/pds-copytext.entry.js.map +1 -1
  377. package/dist/esm-es5/pds-divider.entry.js +1 -1
  378. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  379. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  380. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js.map +1 -1
  381. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  382. package/dist/esm-es5/pds-dropdown-menu.entry.js.map +1 -1
  383. package/dist/esm-es5/pds-filter.entry.js +2 -0
  384. package/dist/esm-es5/pds-filter.entry.js.map +1 -0
  385. package/dist/esm-es5/pds-filters.entry.js +2 -0
  386. package/dist/esm-es5/pds-filters.entry.js.map +1 -0
  387. package/dist/esm-es5/pds-icon.entry.js +1 -1
  388. package/dist/esm-es5/pds-image.entry.js +1 -1
  389. package/dist/esm-es5/pds-input.entry.js +1 -1
  390. package/dist/esm-es5/pds-input.entry.js.map +1 -1
  391. package/dist/esm-es5/pds-link.entry.js +1 -1
  392. package/dist/esm-es5/pds-loader.entry.js +1 -1
  393. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  394. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  395. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  396. package/dist/esm-es5/pds-modal.entry.js +1 -1
  397. package/dist/esm-es5/pds-modal.entry.js.map +1 -1
  398. package/dist/esm-es5/pds-popover.entry.js +1 -1
  399. package/dist/esm-es5/pds-popover.entry.js.map +1 -1
  400. package/dist/esm-es5/pds-progress.entry.js +1 -1
  401. package/dist/esm-es5/pds-property.entry.js +1 -1
  402. package/dist/esm-es5/pds-radio.entry.js +1 -1
  403. package/dist/esm-es5/pds-radio.entry.js.map +1 -1
  404. package/dist/esm-es5/pds-row.entry.js +1 -1
  405. package/dist/esm-es5/pds-select.entry.js +1 -1
  406. package/dist/esm-es5/pds-select.entry.js.map +1 -1
  407. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  408. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  409. package/dist/esm-es5/pds-switch.entry.js +1 -1
  410. package/dist/esm-es5/pds-switch.entry.js.map +1 -1
  411. package/dist/esm-es5/pds-tab.entry.js +1 -1
  412. package/dist/esm-es5/pds-tab.entry.js.map +1 -1
  413. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  414. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  415. package/dist/esm-es5/pds-table-cell.entry.js.map +1 -1
  416. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  417. package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
  418. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  419. package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
  420. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  421. package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
  422. package/dist/esm-es5/pds-table.entry.js +1 -1
  423. package/dist/esm-es5/pds-table.entry.js.map +1 -1
  424. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  425. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  426. package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
  427. package/dist/esm-es5/pds-text.entry.js +1 -1
  428. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  429. package/dist/esm-es5/pds-textarea.entry.js.map +1 -1
  430. package/dist/esm-es5/pds-toast.entry.js +1 -1
  431. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  432. package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
  433. package/dist/esm-es5/pine-core.js +1 -1
  434. package/dist/pine-core/index.esm.js +1 -1
  435. package/dist/pine-core/mock-pds-modal.entry.esm.js.map +1 -1
  436. package/dist/pine-core/p-00346c62.system.entry.js +2 -0
  437. package/dist/pine-core/p-00346c62.system.entry.js.map +1 -0
  438. package/dist/pine-core/{p-72b05928.system.entry.js → p-0486ecc6.system.entry.js} +2 -2
  439. package/dist/pine-core/{p-72b05928.system.entry.js.map → p-0486ecc6.system.entry.js.map} +1 -1
  440. package/dist/pine-core/p-07e129db.entry.js +2 -0
  441. package/dist/pine-core/{p-540cfd70.entry.js → p-1009009c.entry.js} +2 -2
  442. package/dist/pine-core/{p-349a8869.entry.js → p-100de2b7.entry.js} +2 -2
  443. package/dist/pine-core/p-1b932ee3.entry.js +2 -0
  444. package/dist/pine-core/p-1b932ee3.entry.js.map +1 -0
  445. package/dist/pine-core/{p-e2887e78.entry.js → p-1b9d4482.entry.js} +2 -2
  446. package/dist/pine-core/p-1c32ffb3.entry.js +2 -0
  447. package/dist/pine-core/p-1c32ffb3.entry.js.map +1 -0
  448. package/dist/pine-core/p-20466115.entry.js +2 -0
  449. package/dist/pine-core/p-20466115.entry.js.map +1 -0
  450. package/dist/pine-core/{p-dfc5ab34.system.entry.js → p-2054b5cb.system.entry.js} +2 -2
  451. package/dist/pine-core/{p-8726c99d.system.entry.js → p-2597bc59.system.entry.js} +2 -2
  452. package/dist/pine-core/{p-5a709348.entry.js → p-25cb810d.entry.js} +2 -2
  453. package/dist/pine-core/{p-a1b51557.system.entry.js → p-25cf2860.system.entry.js} +2 -2
  454. package/dist/pine-core/{p-54183d70.system.entry.js → p-2aab28b1.system.entry.js} +2 -2
  455. package/dist/pine-core/p-2b102034.system.entry.js +2 -0
  456. package/dist/pine-core/p-2b102034.system.entry.js.map +1 -0
  457. package/dist/pine-core/p-2b12bc55.system.entry.js +2 -0
  458. package/dist/pine-core/p-2efc646c.system.entry.js +2 -0
  459. package/dist/pine-core/{p-ecb9edf8.entry.js → p-2fb6f9d5.entry.js} +2 -2
  460. package/dist/pine-core/p-2fd7f74e.entry.js +2 -0
  461. package/dist/pine-core/{p-39488f2c.system.entry.js → p-302849cf.system.entry.js} +2 -2
  462. package/dist/pine-core/{p-51d83489.system.entry.js → p-307f415a.system.entry.js} +2 -2
  463. package/dist/pine-core/p-378df5eb.system.entry.js +2 -0
  464. package/dist/pine-core/{p-e08f492a.entry.js → p-39648ce2.entry.js} +2 -2
  465. package/dist/pine-core/p-3dce3bc0.system.entry.js +2 -0
  466. package/dist/pine-core/p-3dce3bc0.system.entry.js.map +1 -0
  467. package/dist/pine-core/{p-5f5b19f4.entry.js → p-41e2fe3a.entry.js} +2 -2
  468. package/dist/pine-core/p-449ebe39.system.entry.js +2 -0
  469. package/dist/pine-core/p-45d574f1.system.entry.js +2 -0
  470. package/dist/pine-core/p-45d574f1.system.entry.js.map +1 -0
  471. package/dist/pine-core/p-465e3418.system.entry.js +2 -0
  472. package/dist/pine-core/p-465e3418.system.entry.js.map +1 -0
  473. package/dist/pine-core/p-4xv5UVkx.system.js.map +1 -0
  474. package/dist/pine-core/p-538b3902.system.entry.js +2 -0
  475. package/dist/pine-core/p-538b3902.system.entry.js.map +1 -0
  476. package/dist/pine-core/{p-c13ef6a7.system.entry.js → p-55d06d0a.system.entry.js} +3 -3
  477. package/dist/pine-core/{p-075eecf9.entry.js → p-5ac7af9e.entry.js} +2 -2
  478. package/dist/pine-core/p-61a25ab2.entry.js +2 -0
  479. package/dist/pine-core/p-61a25ab2.entry.js.map +1 -0
  480. package/dist/pine-core/p-6381a811.system.entry.js +4 -0
  481. package/dist/pine-core/p-6381a811.system.entry.js.map +1 -0
  482. package/dist/pine-core/p-6c36cab6.entry.js +2 -0
  483. package/dist/pine-core/p-6c36cab6.entry.js.map +1 -0
  484. package/dist/pine-core/p-6ed297cb.entry.js +2 -0
  485. package/dist/pine-core/p-6ed297cb.entry.js.map +1 -0
  486. package/dist/pine-core/p-708e963c.system.entry.js +2 -0
  487. package/dist/pine-core/p-708e963c.system.entry.js.map +1 -0
  488. package/dist/pine-core/p-7090d42d.system.entry.js +2 -0
  489. package/dist/pine-core/p-7090d42d.system.entry.js.map +1 -0
  490. package/dist/pine-core/{p-4deb7b8c.entry.js → p-725c350c.entry.js} +2 -2
  491. package/dist/pine-core/{p-4deb7b8c.entry.js.map → p-725c350c.entry.js.map} +1 -1
  492. package/dist/pine-core/{p-b2b1b7a9.system.entry.js → p-73a2e028.system.entry.js} +2 -2
  493. package/dist/pine-core/p-75187352.system.entry.js +2 -0
  494. package/dist/pine-core/p-75187352.system.entry.js.map +1 -0
  495. package/dist/pine-core/p-786967e8.entry.js +2 -0
  496. package/dist/pine-core/p-79422986.entry.js +2 -0
  497. package/dist/pine-core/p-79422986.entry.js.map +1 -0
  498. package/dist/pine-core/p-81bc089e.entry.js +2 -0
  499. package/dist/pine-core/p-81bc089e.entry.js.map +1 -0
  500. package/dist/pine-core/p-85c41629.entry.js +2 -0
  501. package/dist/pine-core/p-85c41629.entry.js.map +1 -0
  502. package/dist/pine-core/p-86263a62.entry.js +2 -0
  503. package/dist/pine-core/p-86263a62.entry.js.map +1 -0
  504. package/dist/pine-core/p-875d5d5a.system.entry.js +2 -0
  505. package/dist/pine-core/p-87ed43d5.entry.js +2 -0
  506. package/dist/pine-core/p-87ed43d5.entry.js.map +1 -0
  507. package/dist/pine-core/{p-c8122bea.entry.js → p-88773b86.entry.js} +2 -2
  508. package/dist/pine-core/p-8b4fb3f0.entry.js +2 -0
  509. package/dist/pine-core/p-8b4fb3f0.entry.js.map +1 -0
  510. package/dist/pine-core/p-8b5fc4b4.system.entry.js +2 -0
  511. package/dist/pine-core/p-8b5fc4b4.system.entry.js.map +1 -0
  512. package/dist/pine-core/{p-e89cb1f2.system.entry.js → p-8f69dd71.system.entry.js} +2 -2
  513. package/dist/pine-core/p-94183716.entry.js +2 -0
  514. package/dist/pine-core/p-94183716.entry.js.map +1 -0
  515. package/dist/pine-core/p-96c27dba.entry.js +2 -0
  516. package/dist/pine-core/p-96c27dba.entry.js.map +1 -0
  517. package/dist/pine-core/p-9766923f.entry.js +2 -0
  518. package/dist/pine-core/p-9766923f.entry.js.map +1 -0
  519. package/dist/pine-core/p-9b335a9f.entry.js +2 -0
  520. package/dist/pine-core/p-9b335a9f.entry.js.map +1 -0
  521. package/dist/pine-core/p-9c579956.system.entry.js +2 -0
  522. package/dist/pine-core/p-9c579956.system.entry.js.map +1 -0
  523. package/dist/pine-core/p-9cf2b7a6.entry.js +2 -0
  524. package/dist/pine-core/p-9cf2b7a6.entry.js.map +1 -0
  525. package/dist/pine-core/{p-Dh7jcLgJ.system.js.map → p-B-Doh1Wu.system.js.map} +1 -1
  526. package/dist/pine-core/{p-B1fiSdbt.system.js.map → p-BEgEi4w5.system.js.map} +1 -1
  527. package/dist/pine-core/p-BG99uNIQ.system.js +2 -0
  528. package/dist/pine-core/p-BG99uNIQ.system.js.map +1 -0
  529. package/dist/pine-core/p-BHavepTY.system.js +2 -0
  530. package/dist/pine-core/p-BHavepTY.system.js.map +1 -0
  531. package/dist/pine-core/{p-_E9ZEzfO.system.js.map → p-BIjeWHX_.system.js.map} +1 -1
  532. package/dist/pine-core/{p-EYhpJx2s.system.js.map → p-BJjdD3yf.system.js.map} +1 -1
  533. package/dist/pine-core/p-BLC5kuro.system.js.map +1 -0
  534. package/dist/pine-core/p-BPjnTOEL.system.js +2 -0
  535. package/dist/pine-core/{p-De9tROL-.system.js.map → p-BPjnTOEL.system.js.map} +1 -1
  536. package/dist/pine-core/{p-D05FrqXr.system.js.map → p-BRIdBthP.system.js.map} +1 -1
  537. package/dist/pine-core/{p-BVCWKPy3.js → p-Bf1dou5H.js} +2 -2
  538. package/dist/pine-core/p-Bf1dou5H.js.map +1 -0
  539. package/dist/pine-core/{p-Kj_j7PHx.system.js.map → p-BkPtASB1.system.js.map} +1 -1
  540. package/dist/pine-core/p-Bkfqi7zE.system.js.map +1 -0
  541. package/dist/pine-core/p-ByzULH8m.system.js.map +1 -0
  542. package/dist/pine-core/p-C1KChp5Q.system.js.map +1 -0
  543. package/dist/pine-core/p-C2W-sHx5.system.js.map +1 -0
  544. package/dist/pine-core/{p-CE6b_LzB.system.js.map → p-C3iAHQC6.system.js.map} +1 -1
  545. package/dist/pine-core/{p-ACQU83St.system.js.map → p-CCQd5PVN.system.js.map} +1 -1
  546. package/dist/pine-core/{p-ChslVme6.system.js.map → p-CG2PKUWT.system.js.map} +1 -1
  547. package/dist/pine-core/p-CIBXMJd-.system.js.map +1 -0
  548. package/dist/pine-core/p-CJNB_wrl.system.js.map +1 -0
  549. package/dist/pine-core/p-CSa_b_JX.system.js.map +1 -0
  550. package/dist/pine-core/p-Cid662up.system.js.map +1 -0
  551. package/dist/pine-core/{p-CWdEolqa.system.js.map → p-Cl47ROcT.system.js.map} +1 -1
  552. package/dist/pine-core/{p-0KTU2Jt-.system.js.map → p-CnPN6prI.system.js.map} +1 -1
  553. package/dist/pine-core/p-Cqzmj3D8.system.js.map +1 -0
  554. package/dist/pine-core/{p-B1FQkx7R.system.js.map → p-Ctdx1tCG.system.js.map} +1 -1
  555. package/dist/pine-core/{p-3gYSFJIn.system.js.map → p-CwNRZQss.system.js.map} +1 -1
  556. package/dist/pine-core/p-Cxlv_2hD.system.js.map +1 -0
  557. package/dist/pine-core/{p-B_C-mRjx.system.js → p-Cxvdulqq.system.js} +2 -2
  558. package/dist/pine-core/p-Cxvdulqq.system.js.map +1 -0
  559. package/dist/pine-core/p-D0foS5EP.system.js.map +1 -0
  560. package/dist/pine-core/p-D4zJBIgl.js +2 -0
  561. package/dist/pine-core/p-D4zJBIgl.js.map +1 -0
  562. package/dist/pine-core/{p-MBv7PsKc.system.js.map → p-D52TGCLt.system.js.map} +1 -1
  563. package/dist/pine-core/{p-CHJgq_z7.system.js.map → p-D7B3vOdC.system.js.map} +1 -1
  564. package/dist/pine-core/p-DCjZr2HA.system.js.map +1 -0
  565. package/dist/pine-core/p-DN3VK2yy.system.js.map +1 -0
  566. package/dist/pine-core/{p-Df_3qA_L.system.js.map → p-DOqVoXeA.system.js.map} +1 -1
  567. package/dist/pine-core/p-DW3lkDNz.system.js.map +1 -0
  568. package/dist/pine-core/p-DfrSuf6X.system.js.map +1 -0
  569. package/dist/pine-core/{p-CLoi4eKt.system.js.map → p-DmWU0f_O.system.js.map} +1 -1
  570. package/dist/pine-core/p-DpemOPFJ.system.js.map +1 -0
  571. package/dist/pine-core/p-DpzRSULT.system.js.map +1 -0
  572. package/dist/pine-core/{p-DYb5Y47j.system.js.map → p-Dq7Wu9rr.system.js.map} +1 -1
  573. package/dist/pine-core/p-DtdXdmNp.system.js.map +1 -0
  574. package/dist/pine-core/p-Dw05F6Xg.system.js.map +1 -0
  575. package/dist/pine-core/p-Dw7zXw_6.system.js.map +1 -0
  576. package/dist/pine-core/p-DwjNklzi.js +2 -0
  577. package/dist/pine-core/p-DwjNklzi.js.map +1 -0
  578. package/dist/pine-core/p-GrmqKqN8.system.js.map +1 -0
  579. package/dist/pine-core/p-HHZU8rBT.system.js.map +1 -0
  580. package/dist/pine-core/{p-C5Y492i0.system.js.map → p-M-zMP2QX.system.js.map} +1 -1
  581. package/dist/pine-core/p-WWWd_vEd.system.js +2 -0
  582. package/dist/pine-core/p-WWWd_vEd.system.js.map +1 -0
  583. package/dist/pine-core/p-a2708028.entry.js +2 -0
  584. package/dist/pine-core/p-a2708028.entry.js.map +1 -0
  585. package/dist/pine-core/{p-72053224.entry.js → p-a2cb65df.entry.js} +3 -3
  586. package/dist/pine-core/{p-52d37cc1.entry.js → p-a3785977.entry.js} +2 -2
  587. package/dist/pine-core/p-a645818a.entry.js +2 -0
  588. package/dist/pine-core/p-a707a7da.system.entry.js +2 -0
  589. package/dist/pine-core/p-a707a7da.system.entry.js.map +1 -0
  590. package/dist/pine-core/{p-f583e5d4.entry.js → p-a9cfaa1f.entry.js} +2 -2
  591. package/dist/pine-core/p-acd87a10.entry.js +2 -0
  592. package/dist/pine-core/p-acd87a10.entry.js.map +1 -0
  593. package/dist/pine-core/p-ae4ec5cf.system.entry.js +2 -0
  594. package/dist/pine-core/p-ae4ec5cf.system.entry.js.map +1 -0
  595. package/dist/pine-core/p-b23dd01c.entry.js +2 -0
  596. package/dist/pine-core/p-b23dd01c.entry.js.map +1 -0
  597. package/dist/pine-core/p-b669e1d9.entry.js +2 -0
  598. package/dist/pine-core/p-b9aafec7.system.entry.js +2 -0
  599. package/dist/pine-core/p-b9aafec7.system.entry.js.map +1 -0
  600. package/dist/pine-core/{p-52cb152b.system.entry.js → p-bc2fecd4.system.entry.js} +2 -2
  601. package/dist/pine-core/{p-e3fb0bc2.system.entry.js → p-bc637bed.system.entry.js} +2 -2
  602. package/dist/pine-core/{p-b6ea3332.entry.js → p-be5ef841.entry.js} +2 -2
  603. package/dist/pine-core/p-c3579585.system.entry.js +2 -0
  604. package/dist/pine-core/p-c3579585.system.entry.js.map +1 -0
  605. package/dist/pine-core/{p-fcb39155.system.entry.js → p-c3f84df8.system.entry.js} +2 -2
  606. package/dist/pine-core/p-c44d3551.entry.js +2 -0
  607. package/dist/pine-core/{p-e8d76117.entry.js → p-c55fc47e.entry.js} +2 -2
  608. package/dist/pine-core/p-cffc98ae.entry.js +3 -0
  609. package/dist/pine-core/p-cffc98ae.entry.js.map +1 -0
  610. package/dist/pine-core/{p-5e8badb9.entry.js → p-d1b27fa4.entry.js} +2 -2
  611. package/dist/pine-core/p-d2b15290.system.entry.js +2 -0
  612. package/dist/pine-core/p-d2b15290.system.entry.js.map +1 -0
  613. package/dist/pine-core/p-d4d22aee.entry.js +2 -0
  614. package/dist/pine-core/p-d4d22aee.entry.js.map +1 -0
  615. package/dist/pine-core/{p-5da82e8c.system.entry.js → p-dace69e7.system.entry.js} +2 -2
  616. package/dist/pine-core/p-db12273e.system.entry.js +2 -0
  617. package/dist/pine-core/p-e34c1224.system.entry.js +2 -0
  618. package/dist/pine-core/p-e34c1224.system.entry.js.map +1 -0
  619. package/dist/pine-core/p-e5adbf74.system.entry.js +2 -0
  620. package/dist/pine-core/p-e5adbf74.system.entry.js.map +1 -0
  621. package/dist/pine-core/p-e6085566.system.entry.js +2 -0
  622. package/dist/pine-core/p-e6085566.system.entry.js.map +1 -0
  623. package/dist/pine-core/p-e683e197.system.entry.js +2 -0
  624. package/dist/pine-core/p-e683e197.system.entry.js.map +1 -0
  625. package/dist/pine-core/p-e6b051e8.system.entry.js +2 -0
  626. package/dist/pine-core/p-e6b051e8.system.entry.js.map +1 -0
  627. package/dist/pine-core/{p-f55b9f90.system.entry.js → p-e702a8dc.system.entry.js} +2 -2
  628. package/dist/pine-core/{p-6db1e029.system.entry.js → p-ee583234.system.entry.js} +2 -2
  629. package/dist/pine-core/p-f15cd180.entry.js +2 -0
  630. package/dist/pine-core/p-f15cd180.entry.js.map +1 -0
  631. package/dist/pine-core/{p-0066d249.entry.js → p-f5d78141.entry.js} +2 -2
  632. package/dist/pine-core/p-f61ee383.system.entry.js +2 -0
  633. package/dist/pine-core/p-f61ee383.system.entry.js.map +1 -0
  634. package/dist/pine-core/p-f6d0bd39.entry.js +2 -0
  635. package/dist/pine-core/p-f6d0bd39.entry.js.map +1 -0
  636. package/dist/pine-core/{p-52af1890.system.entry.js → p-f911dde3.system.entry.js} +2 -2
  637. package/dist/pine-core/p-f92d7570.system.entry.js +2 -0
  638. package/dist/pine-core/p-f92d7570.system.entry.js.map +1 -0
  639. package/dist/pine-core/{p-BZoPY2dP.system.js.map → p-iazk4jjL.system.js.map} +1 -1
  640. package/dist/pine-core/{p-CqzGa2j0.system.js.map → p-k9JOparb.system.js.map} +1 -1
  641. package/dist/pine-core/{p-B7S-9dbT.system.js.map → p-kcOuXqWo.system.js.map} +1 -1
  642. package/dist/pine-core/{p-c0df3222.entry.js.map → p-ozqEY4Zc.system.js.map} +1 -1
  643. package/dist/pine-core/{p-CqK-uhv8.system.js.map → p-yaM1kuaC.system.js.map} +1 -1
  644. package/dist/pine-core/pds-button.entry.esm.js.map +1 -1
  645. package/dist/pine-core/pds-checkbox.entry.esm.js.map +1 -1
  646. package/dist/pine-core/pds-chip.entry.esm.js.map +1 -1
  647. package/dist/pine-core/pds-combobox.entry.esm.js.map +1 -1
  648. package/dist/pine-core/pds-copytext.entry.esm.js.map +1 -1
  649. package/dist/pine-core/pds-dropdown-menu-separator.entry.esm.js.map +1 -1
  650. package/dist/pine-core/pds-dropdown-menu.entry.esm.js.map +1 -1
  651. package/dist/pine-core/pds-filter.entry.esm.js.map +1 -0
  652. package/dist/pine-core/pds-filters.entry.esm.js.map +1 -0
  653. package/dist/pine-core/pds-input.entry.esm.js.map +1 -1
  654. package/dist/pine-core/pds-modal.entry.esm.js.map +1 -1
  655. package/dist/pine-core/pds-popover.entry.esm.js.map +1 -1
  656. package/dist/pine-core/pds-radio.entry.esm.js.map +1 -1
  657. package/dist/pine-core/pds-select.entry.esm.js.map +1 -1
  658. package/dist/pine-core/pds-switch.entry.esm.js.map +1 -1
  659. package/dist/pine-core/pds-tab.entry.esm.js.map +1 -1
  660. package/dist/pine-core/pds-table-cell.entry.esm.js.map +1 -1
  661. package/dist/pine-core/pds-table-head-cell.entry.esm.js.map +1 -1
  662. package/dist/pine-core/pds-table-head.entry.esm.js.map +1 -1
  663. package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
  664. package/dist/pine-core/pds-table.entry.esm.js.map +1 -1
  665. package/dist/pine-core/pds-tabs.entry.esm.js.map +1 -1
  666. package/dist/pine-core/pds-textarea.entry.esm.js.map +1 -1
  667. package/dist/pine-core/pds-tooltip.entry.esm.js.map +1 -1
  668. package/dist/pine-core/pine-core.css +1 -1
  669. package/dist/pine-core/pine-core.esm.js +1 -1
  670. package/dist/pine-core/pine-core.js +1 -1
  671. package/dist/types/components/pds-button/pds-button.d.ts +1 -1
  672. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +1 -0
  673. package/dist/types/components/pds-chip/pds-chip.d.ts +3 -2
  674. package/dist/types/components/pds-combobox/pds-combobox.d.ts +84 -5
  675. package/dist/types/components/pds-filters/pds-filter/filter-interface.d.ts +19 -0
  676. package/dist/types/components/pds-filters/pds-filter/pds-filter.d.ts +133 -0
  677. package/dist/types/components/pds-filters/pds-filters.d.ts +11 -0
  678. package/dist/types/components/pds-popover/pds-popover.d.ts +33 -2
  679. package/dist/types/components/pds-popover/popover-interface.d.ts +8 -0
  680. package/dist/types/components/pds-radio/pds-radio.d.ts +3 -0
  681. package/dist/types/components/pds-select/pds-select.d.ts +6 -0
  682. package/dist/types/components/pds-switch/pds-switch.d.ts +1 -0
  683. package/dist/types/components/pds-tabs/pds-tabs.d.ts +1 -0
  684. package/dist/types/components/pds-textarea/pds-textarea.d.ts +1 -0
  685. package/dist/types/components.d.ts +227 -12
  686. package/dist/types/utils/form.d.ts +9 -0
  687. package/dist/types/utils/types.d.ts +2 -0
  688. package/hydrate/index.js +1529 -146
  689. package/hydrate/index.mjs +1529 -146
  690. package/package.json +2 -2
  691. package/dist/cjs/form-Bx4nzJBo.js.map +0 -1
  692. package/dist/cjs/index-DVaLegMK.js.map +0 -1
  693. package/dist/cjs/index-g-uSeICs.js.map +0 -1
  694. package/dist/esm/form-DTL_39D_.js +0 -32
  695. package/dist/esm/form-DTL_39D_.js.map +0 -1
  696. package/dist/esm/index-BVCWKPy3.js.map +0 -1
  697. package/dist/esm/index-DrJ5r5Pu.js.map +0 -1
  698. package/dist/esm-es5/form-DTL_39D_.js +0 -2
  699. package/dist/esm-es5/form-DTL_39D_.js.map +0 -1
  700. package/dist/esm-es5/index-BVCWKPy3.js.map +0 -1
  701. package/dist/esm-es5/index-DrJ5r5Pu.js +0 -2
  702. package/dist/esm-es5/index-DrJ5r5Pu.js.map +0 -1
  703. package/dist/pine-core/p-00616fc9.entry.js +0 -2
  704. package/dist/pine-core/p-00616fc9.entry.js.map +0 -1
  705. package/dist/pine-core/p-023d8b71.system.entry.js +0 -2
  706. package/dist/pine-core/p-023d8b71.system.entry.js.map +0 -1
  707. package/dist/pine-core/p-051ff780.system.entry.js +0 -2
  708. package/dist/pine-core/p-051ff780.system.entry.js.map +0 -1
  709. package/dist/pine-core/p-0TIvNV5c.system.js.map +0 -1
  710. package/dist/pine-core/p-0de9f8da.system.entry.js +0 -2
  711. package/dist/pine-core/p-0de9f8da.system.entry.js.map +0 -1
  712. package/dist/pine-core/p-14a52961.system.entry.js +0 -2
  713. package/dist/pine-core/p-14a52961.system.entry.js.map +0 -1
  714. package/dist/pine-core/p-232a2043.entry.js +0 -2
  715. package/dist/pine-core/p-25190921.entry.js +0 -2
  716. package/dist/pine-core/p-25190921.entry.js.map +0 -1
  717. package/dist/pine-core/p-297afc49.system.entry.js +0 -2
  718. package/dist/pine-core/p-297afc49.system.entry.js.map +0 -1
  719. package/dist/pine-core/p-2e19f167.system.entry.js +0 -2
  720. package/dist/pine-core/p-2e19f167.system.entry.js.map +0 -1
  721. package/dist/pine-core/p-318fd0cf.entry.js +0 -2
  722. package/dist/pine-core/p-318fd0cf.entry.js.map +0 -1
  723. package/dist/pine-core/p-346561a6.system.entry.js +0 -2
  724. package/dist/pine-core/p-346561a6.system.entry.js.map +0 -1
  725. package/dist/pine-core/p-3pEJO0vO.system.js.map +0 -1
  726. package/dist/pine-core/p-41d1b164.entry.js +0 -2
  727. package/dist/pine-core/p-41d1b164.entry.js.map +0 -1
  728. package/dist/pine-core/p-44087d1c.entry.js +0 -2
  729. package/dist/pine-core/p-44087d1c.entry.js.map +0 -1
  730. package/dist/pine-core/p-464dd476.entry.js +0 -2
  731. package/dist/pine-core/p-464dd476.entry.js.map +0 -1
  732. package/dist/pine-core/p-47670150.entry.js +0 -3
  733. package/dist/pine-core/p-47670150.entry.js.map +0 -1
  734. package/dist/pine-core/p-4bbf3e31.entry.js +0 -2
  735. package/dist/pine-core/p-4bbf3e31.entry.js.map +0 -1
  736. package/dist/pine-core/p-4c81420c.entry.js +0 -2
  737. package/dist/pine-core/p-4c81420c.entry.js.map +0 -1
  738. package/dist/pine-core/p-503cab1f.entry.js +0 -2
  739. package/dist/pine-core/p-503cab1f.entry.js.map +0 -1
  740. package/dist/pine-core/p-50c9e865.entry.js +0 -2
  741. package/dist/pine-core/p-50c9e865.entry.js.map +0 -1
  742. package/dist/pine-core/p-5708f95a.entry.js +0 -2
  743. package/dist/pine-core/p-651861ff.entry.js +0 -2
  744. package/dist/pine-core/p-651861ff.entry.js.map +0 -1
  745. package/dist/pine-core/p-66b10d29.entry.js +0 -2
  746. package/dist/pine-core/p-6d4d4705.system.entry.js +0 -2
  747. package/dist/pine-core/p-6d4d4705.system.entry.js.map +0 -1
  748. package/dist/pine-core/p-6f4a6d0b.entry.js +0 -2
  749. package/dist/pine-core/p-6f4a6d0b.entry.js.map +0 -1
  750. package/dist/pine-core/p-7004d1ea.system.entry.js +0 -2
  751. package/dist/pine-core/p-71169b66.system.entry.js +0 -2
  752. package/dist/pine-core/p-71169b66.system.entry.js.map +0 -1
  753. package/dist/pine-core/p-73158adf.system.entry.js +0 -2
  754. package/dist/pine-core/p-73158adf.system.entry.js.map +0 -1
  755. package/dist/pine-core/p-77336705.entry.js +0 -2
  756. package/dist/pine-core/p-77336705.entry.js.map +0 -1
  757. package/dist/pine-core/p-7cb4f0de.entry.js +0 -2
  758. package/dist/pine-core/p-7cb4f0de.entry.js.map +0 -1
  759. package/dist/pine-core/p-84949a12.entry.js +0 -2
  760. package/dist/pine-core/p-84949a12.entry.js.map +0 -1
  761. package/dist/pine-core/p-8722865f.system.entry.js +0 -2
  762. package/dist/pine-core/p-8722865f.system.entry.js.map +0 -1
  763. package/dist/pine-core/p-8999b63d.system.entry.js +0 -2
  764. package/dist/pine-core/p-8999b63d.system.entry.js.map +0 -1
  765. package/dist/pine-core/p-8ab7f0d7.system.entry.js +0 -4
  766. package/dist/pine-core/p-8ab7f0d7.system.entry.js.map +0 -1
  767. package/dist/pine-core/p-8d7abc83.entry.js +0 -2
  768. package/dist/pine-core/p-8d7abc83.entry.js.map +0 -1
  769. package/dist/pine-core/p-92c52409.system.entry.js +0 -2
  770. package/dist/pine-core/p-92c52409.system.entry.js.map +0 -1
  771. package/dist/pine-core/p-98fe56d9.entry.js +0 -2
  772. package/dist/pine-core/p-98fe56d9.entry.js.map +0 -1
  773. package/dist/pine-core/p-BEn3hirk.system.js +0 -2
  774. package/dist/pine-core/p-BEn3hirk.system.js.map +0 -1
  775. package/dist/pine-core/p-BG7_qxVr.system.js +0 -2
  776. package/dist/pine-core/p-BG7_qxVr.system.js.map +0 -1
  777. package/dist/pine-core/p-BGbUqsWH.system.js +0 -2
  778. package/dist/pine-core/p-BGbUqsWH.system.js.map +0 -1
  779. package/dist/pine-core/p-BKFboaI5.system.js.map +0 -1
  780. package/dist/pine-core/p-BRygGju8.system.js.map +0 -1
  781. package/dist/pine-core/p-BVCWKPy3.js.map +0 -1
  782. package/dist/pine-core/p-BVKCNX0X.system.js.map +0 -1
  783. package/dist/pine-core/p-B_C-mRjx.system.js.map +0 -1
  784. package/dist/pine-core/p-C0zqu7Gr.system.js.map +0 -1
  785. package/dist/pine-core/p-CCQUgOoR.system.js.map +0 -1
  786. package/dist/pine-core/p-CJT--ZXC.system.js.map +0 -1
  787. package/dist/pine-core/p-CQ8f8GnD.system.js.map +0 -1
  788. package/dist/pine-core/p-CcXaBX2A.system.js.map +0 -1
  789. package/dist/pine-core/p-CgyVIfOY.system.js.map +0 -1
  790. package/dist/pine-core/p-Cmzqpibo.system.js.map +0 -1
  791. package/dist/pine-core/p-Co5XZmTN.system.js.map +0 -1
  792. package/dist/pine-core/p-CpdNWpfd.system.js.map +0 -1
  793. package/dist/pine-core/p-Czoq9yJM.system.js.map +0 -1
  794. package/dist/pine-core/p-D9_z2w3q.system.js.map +0 -1
  795. package/dist/pine-core/p-DHmJZxQk.system.js.map +0 -1
  796. package/dist/pine-core/p-DTL_39D_.js +0 -2
  797. package/dist/pine-core/p-DTL_39D_.js.map +0 -1
  798. package/dist/pine-core/p-DXuK7cEc.system.js.map +0 -1
  799. package/dist/pine-core/p-De9tROL-.system.js +0 -2
  800. package/dist/pine-core/p-DrJ5r5Pu.js +0 -2
  801. package/dist/pine-core/p-DrJ5r5Pu.js.map +0 -1
  802. package/dist/pine-core/p-IhWWc2L_.system.js.map +0 -1
  803. package/dist/pine-core/p-UsEwlBJ0.system.js.map +0 -1
  804. package/dist/pine-core/p-WkrM7Vv0.system.js.map +0 -1
  805. package/dist/pine-core/p-a04556e4.system.entry.js +0 -2
  806. package/dist/pine-core/p-a04556e4.system.entry.js.map +0 -1
  807. package/dist/pine-core/p-a54f1d9e.entry.js +0 -2
  808. package/dist/pine-core/p-a54f1d9e.entry.js.map +0 -1
  809. package/dist/pine-core/p-a9895385.system.entry.js +0 -2
  810. package/dist/pine-core/p-a9895385.system.entry.js.map +0 -1
  811. package/dist/pine-core/p-aa645f28.system.entry.js +0 -2
  812. package/dist/pine-core/p-aa645f28.system.entry.js.map +0 -1
  813. package/dist/pine-core/p-ac37cf0d.entry.js +0 -2
  814. package/dist/pine-core/p-ac37cf0d.entry.js.map +0 -1
  815. package/dist/pine-core/p-ba187a35.entry.js +0 -2
  816. package/dist/pine-core/p-ba187a35.entry.js.map +0 -1
  817. package/dist/pine-core/p-bb8ef74a.system.entry.js +0 -2
  818. package/dist/pine-core/p-be939cb0.entry.js +0 -2
  819. package/dist/pine-core/p-c0df3222.entry.js +0 -2
  820. package/dist/pine-core/p-c1099665.system.entry.js +0 -2
  821. package/dist/pine-core/p-c2ffb466.system.entry.js +0 -2
  822. package/dist/pine-core/p-cd785026.system.entry.js +0 -2
  823. package/dist/pine-core/p-d8d8fe07.system.entry.js +0 -2
  824. package/dist/pine-core/p-d8d8fe07.system.entry.js.map +0 -1
  825. package/dist/pine-core/p-da367b5e.system.entry.js +0 -2
  826. package/dist/pine-core/p-da367b5e.system.entry.js.map +0 -1
  827. package/dist/pine-core/p-dc19ce6c.system.entry.js +0 -2
  828. package/dist/pine-core/p-dc19ce6c.system.entry.js.map +0 -1
  829. package/dist/pine-core/p-deb8a499.system.entry.js +0 -2
  830. package/dist/pine-core/p-deb8a499.system.entry.js.map +0 -1
  831. package/dist/pine-core/p-e65a7d1c.system.entry.js +0 -2
  832. package/dist/pine-core/p-efa788ea.entry.js +0 -2
  833. package/dist/pine-core/p-f880adaa.entry.js +0 -2
  834. package/dist/pine-core/p-fd091234.system.entry.js +0 -2
  835. package/dist/pine-core/p-fd091234.system.entry.js.map +0 -1
  836. package/dist/pine-core/p-m6UZWRsP.system.js.map +0 -1
  837. package/dist/pine-core/p-pQqXEKPh.system.js.map +0 -1
  838. /package/dist/pine-core/{p-66b10d29.entry.js.map → p-07e129db.entry.js.map} +0 -0
  839. /package/dist/pine-core/{p-540cfd70.entry.js.map → p-1009009c.entry.js.map} +0 -0
  840. /package/dist/pine-core/{p-349a8869.entry.js.map → p-100de2b7.entry.js.map} +0 -0
  841. /package/dist/pine-core/{p-e2887e78.entry.js.map → p-1b9d4482.entry.js.map} +0 -0
  842. /package/dist/pine-core/{p-dfc5ab34.system.entry.js.map → p-2054b5cb.system.entry.js.map} +0 -0
  843. /package/dist/pine-core/{p-8726c99d.system.entry.js.map → p-2597bc59.system.entry.js.map} +0 -0
  844. /package/dist/pine-core/{p-5a709348.entry.js.map → p-25cb810d.entry.js.map} +0 -0
  845. /package/dist/pine-core/{p-a1b51557.system.entry.js.map → p-25cf2860.system.entry.js.map} +0 -0
  846. /package/dist/pine-core/{p-54183d70.system.entry.js.map → p-2aab28b1.system.entry.js.map} +0 -0
  847. /package/dist/pine-core/{p-c2ffb466.system.entry.js.map → p-2b12bc55.system.entry.js.map} +0 -0
  848. /package/dist/pine-core/{p-cd785026.system.entry.js.map → p-2efc646c.system.entry.js.map} +0 -0
  849. /package/dist/pine-core/{p-ecb9edf8.entry.js.map → p-2fb6f9d5.entry.js.map} +0 -0
  850. /package/dist/pine-core/{p-efa788ea.entry.js.map → p-2fd7f74e.entry.js.map} +0 -0
  851. /package/dist/pine-core/{p-39488f2c.system.entry.js.map → p-302849cf.system.entry.js.map} +0 -0
  852. /package/dist/pine-core/{p-51d83489.system.entry.js.map → p-307f415a.system.entry.js.map} +0 -0
  853. /package/dist/pine-core/{p-bb8ef74a.system.entry.js.map → p-378df5eb.system.entry.js.map} +0 -0
  854. /package/dist/pine-core/{p-e08f492a.entry.js.map → p-39648ce2.entry.js.map} +0 -0
  855. /package/dist/pine-core/{p-5f5b19f4.entry.js.map → p-41e2fe3a.entry.js.map} +0 -0
  856. /package/dist/pine-core/{p-7004d1ea.system.entry.js.map → p-449ebe39.system.entry.js.map} +0 -0
  857. /package/dist/pine-core/{p-c13ef6a7.system.entry.js.map → p-55d06d0a.system.entry.js.map} +0 -0
  858. /package/dist/pine-core/{p-075eecf9.entry.js.map → p-5ac7af9e.entry.js.map} +0 -0
  859. /package/dist/pine-core/{p-b2b1b7a9.system.entry.js.map → p-73a2e028.system.entry.js.map} +0 -0
  860. /package/dist/pine-core/{p-be939cb0.entry.js.map → p-786967e8.entry.js.map} +0 -0
  861. /package/dist/pine-core/{p-e65a7d1c.system.entry.js.map → p-875d5d5a.system.entry.js.map} +0 -0
  862. /package/dist/pine-core/{p-c8122bea.entry.js.map → p-88773b86.entry.js.map} +0 -0
  863. /package/dist/pine-core/{p-e89cb1f2.system.entry.js.map → p-8f69dd71.system.entry.js.map} +0 -0
  864. /package/dist/pine-core/{p-72053224.entry.js.map → p-a2cb65df.entry.js.map} +0 -0
  865. /package/dist/pine-core/{p-52d37cc1.entry.js.map → p-a3785977.entry.js.map} +0 -0
  866. /package/dist/pine-core/{p-f880adaa.entry.js.map → p-a645818a.entry.js.map} +0 -0
  867. /package/dist/pine-core/{p-f583e5d4.entry.js.map → p-a9cfaa1f.entry.js.map} +0 -0
  868. /package/dist/pine-core/{p-5708f95a.entry.js.map → p-b669e1d9.entry.js.map} +0 -0
  869. /package/dist/pine-core/{p-52cb152b.system.entry.js.map → p-bc2fecd4.system.entry.js.map} +0 -0
  870. /package/dist/pine-core/{p-e3fb0bc2.system.entry.js.map → p-bc637bed.system.entry.js.map} +0 -0
  871. /package/dist/pine-core/{p-b6ea3332.entry.js.map → p-be5ef841.entry.js.map} +0 -0
  872. /package/dist/pine-core/{p-fcb39155.system.entry.js.map → p-c3f84df8.system.entry.js.map} +0 -0
  873. /package/dist/pine-core/{p-232a2043.entry.js.map → p-c44d3551.entry.js.map} +0 -0
  874. /package/dist/pine-core/{p-e8d76117.entry.js.map → p-c55fc47e.entry.js.map} +0 -0
  875. /package/dist/pine-core/{p-5e8badb9.entry.js.map → p-d1b27fa4.entry.js.map} +0 -0
  876. /package/dist/pine-core/{p-5da82e8c.system.entry.js.map → p-dace69e7.system.entry.js.map} +0 -0
  877. /package/dist/pine-core/{p-c1099665.system.entry.js.map → p-db12273e.system.entry.js.map} +0 -0
  878. /package/dist/pine-core/{p-f55b9f90.system.entry.js.map → p-e702a8dc.system.entry.js.map} +0 -0
  879. /package/dist/pine-core/{p-6db1e029.system.entry.js.map → p-ee583234.system.entry.js.map} +0 -0
  880. /package/dist/pine-core/{p-0066d249.entry.js.map → p-f5d78141.entry.js.map} +0 -0
  881. /package/dist/pine-core/{p-52af1890.system.entry.js.map → p-f911dde3.system.entry.js.map} +0 -0
@@ -1,17 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
4
 
5
- const pdsPopoverCss = ":host{--sizing-max-width-default:352px;display:inline-block}:host [popover]{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200);margin:var(--pine-dimension-none);max-width:var(--sizing-max-width-default);padding:var(--pine-dimension-md);position:fixed}:host button{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-secondary);border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--pine-color-text-secondary);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);font-family:var(--pine-font-family-heading);letter-spacing:var(--pine-letter-spacing);min-height:40px;padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}:host button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host button:hover{background-color:var(--pine-color-secondary-hover)}";
5
+ const pdsPopoverCss = ":host{--sizing-max-width-default:352px;display:inline-block}:host [popover]{background-color:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow-200);box-shadow:var(--pine-box-shadow-200);margin:var(--pine-dimension-none);max-width:var(--sizing-max-width-default);padding:var(--pine-dimension-md);position:fixed}:host [popover]:popover-open:not(.pds-popover--positioned){visibility:hidden}:host button{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-secondary);border:var(--pine-border);border-radius:var(--pine-border-radius-full);color:var(--pine-color-text-secondary);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-medium);font-family:var(--pine-font-family-heading);letter-spacing:var(--pine-letter-spacing);min-height:40px;padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}:host button:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}:host button:hover{background-color:var(--pine-color-secondary-hover)}";
6
6
 
7
7
  const PdsPopover = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
+ this.pdsPopoverOpen = index.createEvent(this, "pdsPopoverOpen");
11
+ this.pdsPopoverClose = index.createEvent(this, "pdsPopoverClose");
10
12
  /**
11
13
  * Determines when the popover is active
12
14
  * @defaultValue false
13
15
  */
14
16
  this.active = false;
17
+ /**
18
+ * Tracks if the component is still mounted to prevent memory leaks
19
+ */
20
+ this.isComponentMounted = true;
15
21
  /**
16
22
  * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.
17
23
  * @defaultValue "show"
@@ -33,24 +39,123 @@ const PdsPopover = class {
33
39
  */
34
40
  this.placement = 'right';
35
41
  }
36
- componentWillRender() {
37
- this.handlePopoverPositioning();
42
+ componentDidLoad() {
43
+ var _a;
44
+ // Attach toggle event listener to the popover element
45
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
46
+ if (popoverEl != null) {
47
+ this.boundToggleHandler = this.handleToggle.bind(this);
48
+ popoverEl.addEventListener('toggle', this.boundToggleHandler);
49
+ }
50
+ }
51
+ disconnectedCallback() {
52
+ var _a;
53
+ this.isComponentMounted = false;
54
+ // Clean up event listener
55
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
56
+ if (popoverEl != null && this.boundToggleHandler != null) {
57
+ popoverEl.removeEventListener('toggle', this.boundToggleHandler);
58
+ }
59
+ }
60
+ /**
61
+ * Opens the popover programmatically
62
+ */
63
+ async show() {
64
+ var _a;
65
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
66
+ if (popoverEl != null && typeof popoverEl.showPopover === 'function') {
67
+ try {
68
+ popoverEl.showPopover();
69
+ }
70
+ catch (e) {
71
+ // Popover might already be open
72
+ console.warn('Failed to show popover:', e);
73
+ }
74
+ }
38
75
  }
39
- handleClick() {
40
- this.active = !this.active;
76
+ /**
77
+ * Closes the popover programmatically
78
+ */
79
+ async hide() {
80
+ var _a;
81
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
82
+ if (popoverEl != null && typeof popoverEl.hidePopover === 'function') {
83
+ try {
84
+ popoverEl.hidePopover();
85
+ }
86
+ catch (e) {
87
+ // Popover might already be closed
88
+ console.warn('Failed to hide popover:', e);
89
+ }
90
+ }
91
+ }
92
+ /**
93
+ * Toggles the popover open/closed state programmatically
94
+ */
95
+ async toggle() {
96
+ var _a;
97
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
98
+ if (popoverEl != null && typeof popoverEl.togglePopover === 'function') {
99
+ try {
100
+ popoverEl.togglePopover();
101
+ }
102
+ catch (e) {
103
+ console.warn('Failed to toggle popover:', e);
104
+ }
105
+ }
106
+ }
107
+ handleToggle(event) {
108
+ var _a;
109
+ const toggleEvent = event;
110
+ // Prepare event detail
111
+ const eventDetail = {
112
+ componentId: this.componentId,
113
+ popoverType: this.popoverType,
114
+ text: this.text,
115
+ };
116
+ // Update internal state based on native popover state
117
+ if (toggleEvent.newState === 'open') {
118
+ this.active = true;
119
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
120
+ // Remove positioned class to hide popover via CSS
121
+ if (popoverEl != null) {
122
+ popoverEl.classList.remove('pds-popover--positioned');
123
+ }
124
+ // Position after the browser has rendered the popover, then show it
125
+ requestAnimationFrame(() => {
126
+ // Prevent memory leak if component unmounts during animation frame
127
+ if (!this.isComponentMounted)
128
+ return;
129
+ this.handlePopoverPositioning();
130
+ if (popoverEl != null) {
131
+ popoverEl.classList.add('pds-popover--positioned');
132
+ }
133
+ });
134
+ this.pdsPopoverOpen.emit(eventDetail);
135
+ }
136
+ else if (toggleEvent.newState === 'closed') {
137
+ this.active = false;
138
+ this.pdsPopoverClose.emit(eventDetail);
139
+ }
41
140
  }
42
141
  handleScroll() {
43
- if (this.active) {
142
+ var _a;
143
+ // Only reposition if the popover is actually open
144
+ const popoverEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('div[popover]');
145
+ if (popoverEl != null && this.active === true) {
44
146
  this.handlePopoverPositioning();
45
147
  }
46
148
  }
47
149
  handlePopoverPositioning() {
48
150
  const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger');
49
151
  const popoverEl = this.el.shadowRoot.querySelector('div[popover]');
50
- if (!triggerEl || !popoverEl)
152
+ if (triggerEl == null || popoverEl == null)
51
153
  return;
52
- const triggerRect = triggerEl.getBoundingClientRect();
53
- const popoverRect = popoverEl.getBoundingClientRect();
154
+ // Cast to HTMLElement after null check for proper typing
155
+ const triggerElement = triggerEl;
156
+ const popoverElement = popoverEl;
157
+ const triggerRect = triggerElement.getBoundingClientRect();
158
+ const popoverRect = popoverElement.getBoundingClientRect();
54
159
  let top = 0;
55
160
  let left = 0;
56
161
  const offset = 8;
@@ -104,11 +209,11 @@ const PdsPopover = class {
104
209
  left = triggerRect.left - popoverRect.width - offset;
105
210
  break;
106
211
  }
107
- popoverEl.style.top = `${top}px`;
108
- popoverEl.style.left = `${left}px`;
212
+ popoverElement.style.top = `${top}px`;
213
+ popoverElement.style.left = `${left}px`;
109
214
  }
110
215
  render() {
111
- return (index.h(index.Host, { key: '2a46550245e4718ba7aa89ee518f8ac7b1ff9d94' }, index.h("button", { key: 'd5a93a38a8f3b6daa6c22afd2324f37a66e0d8c3', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction, onClick: this.handleClick }, this.text), index.h("div", { key: '212800e683ed451561c4b0fb9d539f514072ef3a', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, index.h("slot", { key: '46b2f86f847a3549452b413860e270f1a4e1de0d' }))));
216
+ return (index.h(index.Host, { key: 'c3da1b2ab23b4678aeb2f7fdfe59383c1c5e6766' }, index.h("button", { key: 'd426d0c3145820c161858123cb71cdf92a6da3f6', class: "pds-popover__trigger", popoverTarget: this.componentId, popoverTargetAction: this.popoverTargetAction }, this.text), index.h("div", { key: 'aad97aedfc716085d1e7609649cc7aaeb7de7358', class: `pds-popover ${this.active ? 'pds-popover--active' : ''}`, id: this.componentId, popover: this.popoverType, style: { maxWidth: `${this.maxWidth}px` } }, index.h("slot", { key: '1b5dde4a0643ee6dbdf4116cc74fff8b188e498b' }))));
112
217
  }
113
218
  get el() { return index.getElement(this); }
114
219
  };
@@ -1 +1 @@
1
- {"file":"pds-popover.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Host, Listen, h, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentWillRender() {\n this.handlePopoverPositioning();\n }\n\n @Listen('click', {\n capture: true\n })\n handleClick() {\n this.active = !this.active;\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n if (this.active) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger') as HTMLElement;\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]') as HTMLElement;\n\n if (!triggerEl || !popoverEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popoverRect = popoverEl.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverEl.style.top = `${top}px`;\n popoverEl.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n onClick={this.handleClick}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pds-popover.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n\n // Hide popover initially to prevent flash before positioning\n // stylelint-disable-next-line selector-pseudo-class-no-unknown\n &:popover-open:not(.pds-popover--positioned) {\n visibility: hidden;\n }\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, h, Method, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport { PdsPopoverEventDetail, ToggleEvent } from './popover-interface';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Bound reference to the toggle handler for proper cleanup\n */\n private boundToggleHandler: (event: Event) => void;\n\n /**\n * Tracks if the component is still mounted to prevent memory leaks\n */\n private isComponentMounted = true;\n\n /**\n * Emitted when the popover is opened\n */\n @Event() pdsPopoverOpen: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Emitted when the popover is closed\n */\n @Event() pdsPopoverClose: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentDidLoad() {\n // Attach toggle event listener to the popover element\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null) {\n this.boundToggleHandler = this.handleToggle.bind(this);\n popoverEl.addEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n disconnectedCallback() {\n this.isComponentMounted = false;\n\n // Clean up event listener\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.boundToggleHandler != null) {\n popoverEl.removeEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n /**\n * Opens the popover programmatically\n */\n @Method()\n async show() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { showPopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.showPopover === 'function') {\n try {\n popoverEl.showPopover();\n } catch (e) {\n // Popover might already be open\n console.warn('Failed to show popover:', e);\n }\n }\n }\n\n /**\n * Closes the popover programmatically\n */\n @Method()\n async hide() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { hidePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.hidePopover === 'function') {\n try {\n popoverEl.hidePopover();\n } catch (e) {\n // Popover might already be closed\n console.warn('Failed to hide popover:', e);\n }\n }\n }\n\n /**\n * Toggles the popover open/closed state programmatically\n */\n @Method()\n async toggle() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { togglePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.togglePopover === 'function') {\n try {\n popoverEl.togglePopover();\n } catch (e) {\n console.warn('Failed to toggle popover:', e);\n }\n }\n }\n\n private handleToggle(event: Event) {\n const toggleEvent = event as ToggleEvent;\n\n // Prepare event detail\n const eventDetail: PdsPopoverEventDetail = {\n componentId: this.componentId,\n popoverType: this.popoverType,\n text: this.text,\n };\n\n // Update internal state based on native popover state\n if (toggleEvent.newState === 'open') {\n this.active = true;\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n\n // Remove positioned class to hide popover via CSS\n if (popoverEl != null) {\n popoverEl.classList.remove('pds-popover--positioned');\n }\n\n // Position after the browser has rendered the popover, then show it\n requestAnimationFrame(() => {\n // Prevent memory leak if component unmounts during animation frame\n if (!this.isComponentMounted) return;\n\n this.handlePopoverPositioning();\n if (popoverEl != null) {\n popoverEl.classList.add('pds-popover--positioned');\n }\n });\n this.pdsPopoverOpen.emit(eventDetail);\n } else if (toggleEvent.newState === 'closed') {\n this.active = false;\n this.pdsPopoverClose.emit(eventDetail);\n }\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n // Only reposition if the popover is actually open\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.active === true) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger');\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]');\n\n if (triggerEl == null || popoverEl == null) return;\n\n // Cast to HTMLElement after null check for proper typing\n const triggerElement = triggerEl as HTMLElement;\n const popoverElement = popoverEl as HTMLElement;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const popoverRect = popoverElement.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverElement.style.top = `${top}px`;\n popoverElement.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"pds-popover.entry.cjs.js","sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Host, Listen, h, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentWillRender() {\n this.handlePopoverPositioning();\n }\n\n @Listen('click', {\n capture: true\n })\n handleClick() {\n this.active = !this.active;\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n if (this.active) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger') as HTMLElement;\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]') as HTMLElement;\n\n if (!triggerEl || !popoverEl) return;\n\n const triggerRect = triggerEl.getBoundingClientRect();\n const popoverRect = popoverEl.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverEl.style.top = `${top}px`;\n popoverEl.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n onClick={this.handleClick}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"pds-popover.entry.cjs.js","sources":["src/components/pds-popover/pds-popover.scss?tag=pds-popover&encapsulation=shadow","src/components/pds-popover/pds-popover.tsx"],"sourcesContent":[":host {\n --sizing-max-width-default: 352px;\n\n display: inline-block;\n\n [popover] {\n background-color: var(--pine-color-background-container);\n border: var(--pine-border);\n border-radius: var(--pine-dimension-125);\n box-shadow: var(--pine-box-shadow-200);\n margin: var(--pine-dimension-none);\n max-width: var(--sizing-max-width-default);\n padding: var(--pine-dimension-md);\n position: fixed;\n\n // Hide popover initially to prevent flash before positioning\n // stylelint-disable-next-line selector-pseudo-class-no-unknown\n &:popover-open:not(.pds-popover--positioned) {\n visibility: hidden;\n }\n }\n\n button {\n align-items: center;\n background-color: var(--pine-color-secondary);\n border: var(--pine-border);\n border-radius: var(--pine-border-radius-full);\n color: var(--pine-color-text-secondary);\n display: flex;\n font: var(--pine-typography-body-medium);\n font-family: var(--pine-font-family-heading);\n letter-spacing: var(--pine-letter-spacing);\n min-height: 40px;\n padding: var(--pine-dimension-xs) var(--pine-dimension-sm);\n\n &:focus-visible {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n &:hover {\n background-color: var(--pine-color-secondary-hover);\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, Listen, h, Method, Prop, State } from '@stencil/core';\nimport { PlacementType } from '@utils/types';\nimport { PdsPopoverEventDetail, ToggleEvent } from './popover-interface';\n\n@Component({\n tag: 'pds-popover',\n styleUrl: 'pds-popover.scss',\n shadow: true,\n})\nexport class PdsPopover {\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsPopoverElement;\n\n /**\n * Determines when the popover is active\n * @defaultValue false\n */\n @State() active = false;\n\n /**\n * Bound reference to the toggle handler for proper cleanup\n */\n private boundToggleHandler: (event: Event) => void;\n\n /**\n * Tracks if the component is still mounted to prevent memory leaks\n */\n private isComponentMounted = true;\n\n /**\n * Emitted when the popover is opened\n */\n @Event() pdsPopoverOpen: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Emitted when the popover is closed\n */\n @Event() pdsPopoverClose: EventEmitter<PdsPopoverEventDetail>;\n\n /**\n * Determines the action that triggers the popover. For manual popovers, the consumer is responsible for toggling this value.\n * @defaultValue \"show\"\n */\n @Prop() popoverTargetAction: 'show' | 'toggle' | 'hide' = 'show';\n\n /**\n * Determines the type of popover. Auto popovers can be \"light dismissed\" by clicking outside of the popover.\n * Manual popovers require the consumer to handle the visibility of the popover.\n */\n @Prop() popoverType: 'auto' | 'manual' = 'auto';\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Text that appears on the trigger element\n */\n @Prop() text: string;\n\n /**\n * Sets the maximum width of the popover content\n * @defaultValue 352\n */\n @Prop() maxWidth?: number = 352;\n\n /**\n * Determines the preferred position of the popover\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement: PlacementType = 'right';\n\n componentDidLoad() {\n // Attach toggle event listener to the popover element\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null) {\n this.boundToggleHandler = this.handleToggle.bind(this);\n popoverEl.addEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n disconnectedCallback() {\n this.isComponentMounted = false;\n\n // Clean up event listener\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.boundToggleHandler != null) {\n popoverEl.removeEventListener('toggle', this.boundToggleHandler);\n }\n }\n\n /**\n * Opens the popover programmatically\n */\n @Method()\n async show() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { showPopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.showPopover === 'function') {\n try {\n popoverEl.showPopover();\n } catch (e) {\n // Popover might already be open\n console.warn('Failed to show popover:', e);\n }\n }\n }\n\n /**\n * Closes the popover programmatically\n */\n @Method()\n async hide() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { hidePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.hidePopover === 'function') {\n try {\n popoverEl.hidePopover();\n } catch (e) {\n // Popover might already be closed\n console.warn('Failed to hide popover:', e);\n }\n }\n }\n\n /**\n * Toggles the popover open/closed state programmatically\n */\n @Method()\n async toggle() {\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]') as HTMLElement & { togglePopover?: () => void } | null;\n if (popoverEl != null && typeof popoverEl.togglePopover === 'function') {\n try {\n popoverEl.togglePopover();\n } catch (e) {\n console.warn('Failed to toggle popover:', e);\n }\n }\n }\n\n private handleToggle(event: Event) {\n const toggleEvent = event as ToggleEvent;\n\n // Prepare event detail\n const eventDetail: PdsPopoverEventDetail = {\n componentId: this.componentId,\n popoverType: this.popoverType,\n text: this.text,\n };\n\n // Update internal state based on native popover state\n if (toggleEvent.newState === 'open') {\n this.active = true;\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n\n // Remove positioned class to hide popover via CSS\n if (popoverEl != null) {\n popoverEl.classList.remove('pds-popover--positioned');\n }\n\n // Position after the browser has rendered the popover, then show it\n requestAnimationFrame(() => {\n // Prevent memory leak if component unmounts during animation frame\n if (!this.isComponentMounted) return;\n\n this.handlePopoverPositioning();\n if (popoverEl != null) {\n popoverEl.classList.add('pds-popover--positioned');\n }\n });\n this.pdsPopoverOpen.emit(eventDetail);\n } else if (toggleEvent.newState === 'closed') {\n this.active = false;\n this.pdsPopoverClose.emit(eventDetail);\n }\n }\n\n @Listen('scroll', {\n target: 'window',\n capture: true\n })\n handleScroll() {\n // Only reposition if the popover is actually open\n const popoverEl = this.el.shadowRoot?.querySelector('div[popover]');\n if (popoverEl != null && this.active === true) {\n this.handlePopoverPositioning();\n }\n }\n\n private handlePopoverPositioning() {\n const triggerEl = this.el.shadowRoot.querySelector('.pds-popover__trigger');\n const popoverEl = this.el.shadowRoot.querySelector('div[popover]');\n\n if (triggerEl == null || popoverEl == null) return;\n\n // Cast to HTMLElement after null check for proper typing\n const triggerElement = triggerEl as HTMLElement;\n const popoverElement = popoverEl as HTMLElement;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const popoverRect = popoverElement.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n const offset = 8\n\n switch (this.placement) {\n case 'top':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'top-start':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.left;\n break;\n case 'top-end':\n top = triggerRect.top - popoverRect.height - offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'right':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.right + offset;\n break;\n case 'right-start':\n top = triggerRect.top;\n left = triggerRect.right + offset;\n break;\n case 'right-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.right + offset;\n break;\n case 'bottom':\n top = triggerRect.bottom + offset;\n left = triggerRect.left + (triggerRect.width - popoverRect.width) / 2;\n break;\n case 'bottom-start':\n top = triggerRect.bottom + offset;\n left = triggerRect.left;\n break;\n case 'bottom-end':\n top = triggerRect.bottom + offset;\n left = triggerRect.right - popoverRect.width;\n break;\n case 'left':\n top = triggerRect.top + (triggerRect.height - popoverRect.height) / 2;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-start':\n top = triggerRect.top;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n case 'left-end':\n top = triggerRect.bottom - popoverRect.height;\n left = triggerRect.left - popoverRect.width - offset;\n break;\n }\n\n popoverElement.style.top = `${top}px`;\n popoverElement.style.left = `${left}px`;\n }\n\n render() {\n return (\n <Host>\n <button\n class=\"pds-popover__trigger\"\n popoverTarget={this.componentId}\n popoverTargetAction={this.popoverTargetAction}\n >\n {this.text}\n </button>\n <div\n class={`pds-popover ${this.active ? 'pds-popover--active' : ''}`}\n id={this.componentId}\n popover={this.popoverType}\n style={{ maxWidth: `${this.maxWidth}px` }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
4
 
5
5
  const pdsProgressCss = ":host{--color-progress-fill:var(--pine-color-brand);--sizing-progress-bar-width:100%;-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;width:var(--sizing-progress-bar-width)}@-webkit-keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}@keyframes progressBar{0%{width:0}100%{width:var(--sizing-progress-bar-width)}}.pds-progress{-ms-flex-align:center;align-items:center;background-color:var(--pine-color-background-container-disabled);border-radius:var(--pine-dimension-2xs);display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;height:var(--pine-dimension-xs);position:relative;width:100%}:host(.is-animated) progress,:host(.is-animated) progress::-webkit-progress-bar{-webkit-animation:progressBar 3s ease;animation:progressBar 3s ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}progress,progress::-webkit-progress-bar{background-color:transparent;border:0;height:var(--pine-dimension-xs);width:100%}progress::-webkit-progress-value{background-color:var(--color-progress-fill, var(--pine-color-brand));border-radius:var(--pine-dimension-2xs)}progress::-moz-progress-bar{background-color:var(--color-progress-fill, var(--pine-color-brand));border-radius:var(--pine-dimension-2xs)}.pds-progress__label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pds-progress__percentage{font-weight:var(--pine-font-weight-medium);-webkit-margin-start:calc(var(--pine-dimension-md) / 2);margin-inline-start:calc(var(--pine-dimension-md) / 2)}";
6
6
 
@@ -24,7 +24,7 @@ const PdsProgress = class {
24
24
  this.showPercent = false;
25
25
  }
26
26
  render() {
27
- return (index.h(index.Host, { key: '17be876c948e7f0dc3d22889901d2073cfea3fbc', class: this.animated ? { 'is-animated': this.animated } : '' }, index.h("div", { key: '07a801720eb26ae76ba931b04294d7815f7caaa4', class: "pds-progress" }, index.h("label", { key: '39572b5ec58c1b47b59fd34be71f713e680b01c0', class: "pds-progress__label", htmlFor: this.componentId }, this.label), index.h("progress", { key: '89a07e62b943ded0bd24d99bc93d140d088f50d3', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && index.h("div", { key: 'a7682be6b110db79f95be6f53ce463ff1ffd0212', class: "pds-progress__percentage" }, this.percent, "%")));
27
+ return (index.h(index.Host, { key: '4b85286ee1fcc7ae77f733b915a996bb82aecb5b', class: this.animated ? { 'is-animated': this.animated } : '' }, index.h("div", { key: 'ea3dfbafae2d416aac9903ec50dfade77c315e05', class: "pds-progress" }, index.h("label", { key: '3ece69ae8b90e968d7f86b986faee633d7802a0b', class: "pds-progress__label", htmlFor: this.componentId }, this.label), index.h("progress", { key: '68beb43763d001495159e253562b0934521072d9', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && index.h("div", { key: '8480b66191aec536b0c2c588e71e5c568f5d0eeb', class: "pds-progress__percentage" }, this.percent, "%")));
28
28
  }
29
29
  };
30
30
  PdsProgress.style = pdsProgressCss;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
4
 
5
5
  const pdsPropertyCss = ":host{color:var(--pine-color-text-message);font:var(--pine-typography-body-medium)}";
6
6
 
@@ -13,7 +13,7 @@ const PdsProperty = class {
13
13
  this.icon = 'star';
14
14
  }
15
15
  render() {
16
- return (index.h(index.Host, { key: 'd02756e0996d0544bafd8a0e5160151344e8dd5f', id: this.componentId }, index.h("pds-box", { key: 'f2f53ba33e75bc1dbea374ba57fac2fd7e11a43c', "align-items": "center", gap: "xs" }, index.h("pds-icon", { key: '62e87401c8ab443583c33a07266377484bfdc72a', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), index.h("slot", { key: 'e8461312f8135f07218b604ce9ff6efcf48bfc1b' }))));
16
+ return (index.h(index.Host, { key: '4ff2ed5a1b7e551b6c4d86fb43fa64bc83b4e785', id: this.componentId }, index.h("pds-box", { key: '0420487b64550d42621b9548e67c3a79e14b4c91', "align-items": "center", gap: "xs" }, index.h("pds-icon", { key: 'dc8e675839b1f7a6fbce5c7fc10ece743f4a1905', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), index.h("slot", { key: '9b01e2e02d26f8e7629612c617405b9ce7e5397b' }))));
17
17
  }
18
18
  };
19
19
  PdsProperty.style = pdsPropertyCss;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
4
- var form = require('./form-Bx4nzJBo.js');
5
- var index$1 = require('./index-DVaLegMK.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
+ var form = require('./form-hmpgbT1I.js');
5
+ var index$1 = require('./index-DtnvzYhe.js');
6
6
 
7
7
  const labelCss = ".sc-pds-radio-h{display:inline-block}[aria-disabled=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-disabled)}[aria-readonly=true].sc-pds-radio-h label.sc-pds-radio{color:var(--pine-color-text-label-readonly)}label.sc-pds-radio{color:var(--pine-color-text-label);font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing)}";
8
8
 
@@ -12,6 +12,7 @@ const PdsRadio = class {
12
12
  constructor(hostRef) {
13
13
  index.registerInstance(this, hostRef);
14
14
  this.pdsRadioChange = index.createEvent(this, "pdsRadioChange");
15
+ this._type = 'radio';
15
16
  /**
16
17
  * Determines whether or not the radio is checked.
17
18
  * @defaultValue false
@@ -51,11 +52,16 @@ const PdsRadio = class {
51
52
  }
52
53
  return classNames.join(' ');
53
54
  }
55
+ connectedCallback() {
56
+ // Expose type property on the element instance to match native form element behavior
57
+ form.exposeTypeProperty(this.el, () => this._type);
58
+ }
54
59
  render() {
55
- return (index.h(index.Host, { key: '07bc6e41d1f10d256b3b0ed1512374ad94d2d395', class: this.classNames() }, index.h("label", { key: 'b3c40d9894a449f6471b4b05373cb2b08811dbd2', htmlFor: this.componentId }, index.h("input", { key: 'c4222e2fa2fa88f32c365bdd09f7cbf9fe6e8dcf', "aria-describedby": form.assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), index.h("span", { key: 'da54747a57ef58df02ef3eaa6c5fa64306c308dd', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
56
- index.h("div", { key: 'd569355b7ddf0dcb9ca37341cb301c911ec20357', class: 'pds-radio__message', id: form.messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
57
- index.h("div", { key: '7ab12a87da2935f64b99eef4c3e31f4745d182bf', class: `pds-radio__message pds-radio__message--error`, id: form.messageId(this.componentId, 'error'), "aria-live": "assertive" }, index.h("pds-icon", { key: '088239c13a84b6a948f211a2cab75e6e0a850662', icon: index$1.danger, size: "small" }), this.errorMessage)));
60
+ return (index.h(index.Host, { key: '06e5b348a9fe664ac157f0383dab869885644f28', class: this.classNames() }, index.h("label", { key: '12d203aa9a181de09a4323b0644905f308209e10', htmlFor: this.componentId }, index.h("input", { key: '693af2832937dfa368859bc5d34e33813093bd19', "aria-describedby": form.assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange }), index.h("span", { key: '12cbafe6f967b0336e12083e506d0347fd60bb1a', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
61
+ index.h("div", { key: 'd4c416a2c24331bb23c6bd829aff51dfe142ac4a', class: 'pds-radio__message', id: form.messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
62
+ index.h("div", { key: '8b973854356bdf1d36401bb7f818bacf573da010', class: `pds-radio__message pds-radio__message--error`, id: form.messageId(this.componentId, 'error'), "aria-live": "assertive" }, index.h("pds-icon", { key: '85abae586504b4d64a19bf078ddd5fab099e4e06', icon: index$1.danger, size: "small" }), this.errorMessage)));
58
63
  }
64
+ get el() { return index.getElement(this); }
59
65
  };
60
66
  PdsRadio.style = labelCss + pdsRadioCss;
61
67
 
@@ -1 +1 @@
1
- {"file":"pds-radio.entry.cjs.js","mappings":"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","names":["h","Host","assignDescription","messageId","danger"],"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 font: var(--pine-typography-body-sm-medium);\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"],"version":3}
1
+ {"file":"pds-radio.entry.cjs.js","mappings":"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","names":["exposeTypeProperty","h","Host","assignDescription","messageId","danger"],"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 font: var(--pine-typography-body-sm-medium);\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, Element } from '@stencil/core';\nimport { assignDescription, messageId, exposeTypeProperty } 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 private readonly _type = 'radio' as const;\n\n @Element() el: HTMLPdsRadioElement;\n\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 /**\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 connectedCallback() {\n // Expose type property on the element instance to match native form element behavior\n exposeTypeProperty(this.el, () => this._type);\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"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"pds-radio.entry.cjs.js","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 font: var(--pine-typography-body-sm-medium);\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"],"names":["h","Host","assignDescription","messageId","danger"],"mappings":"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"}
1
+ {"version":3,"file":"pds-radio.entry.cjs.js","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 font: var(--pine-typography-body-sm-medium);\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, Element } from '@stencil/core';\nimport { assignDescription, messageId, exposeTypeProperty } 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 private readonly _type = 'radio' as const;\n\n @Element() el: HTMLPdsRadioElement;\n\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 /**\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 connectedCallback() {\n // Expose type property on the element instance to match native form element behavior\n exposeTypeProperty(this.el, () => this._type);\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"],"names":["exposeTypeProperty","h","Host","assignDescription","messageId","danger"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
4
 
5
5
  const pdsRowCss = ":host {\n --row-gap-y: var(--pine-dimension-125);\n --row-gap-x: var(--pine-dimension-125);\n display: block;\n -webkit-margin-after: calc(var(--row-gap-y) * -1);\n margin-block-end: calc(var(--row-gap-y) * -1);\n -webkit-margin-before: calc(var(--row-gap-y) * -1);\n margin-block-start: calc(var(--row-gap-y) * -1);\n -webkit-margin-end: calc(var(--row-gap-x) * -0.5);\n margin-inline-end: calc(var(--row-gap-x) * -0.5);\n -webkit-margin-start: calc(var(--row-gap-x) * -0.5);\n margin-inline-start: calc(var(--row-gap-x) * -0.5);\n}\n\n.pds-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-margin-after: calc(var(--row-gap-y) * -1);\n margin-block-end: calc(var(--row-gap-y) * -1);\n -webkit-margin-before: calc(var(--row-gap-y) * -1);\n margin-block-start: calc(var(--row-gap-y) * -1);\n -webkit-margin-end: calc(var(--row-gap-x) * -1);\n margin-inline-end: calc(var(--row-gap-x) * -1);\n -webkit-margin-start: calc(var(--row-gap-x) * -1);\n margin-inline-start: calc(var(--row-gap-x) * -1);\n}\n@layer layout {\n .pds-row > * {\n -webkit-padding-after: calc(var(--row-gap-y));\n padding-block-end: calc(var(--row-gap-y));\n -webkit-padding-before: calc(var(--row-gap-y));\n padding-block-start: calc(var(--row-gap-y));\n -webkit-padding-end: calc(var(--row-gap-x));\n padding-inline-end: calc(var(--row-gap-x));\n -webkit-padding-start: calc(var(--row-gap-x));\n padding-inline-start: calc(var(--row-gap-x));\n }\n}\n\n.pds-row--no-wrap {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.pds-row--border {\n border: var(--pine-border);\n}\n\n.pds-justify-content-start {\n -ms-flex-pack: start;\n justify-content: start;\n}\n\n.pds-justify-content-center {\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.pds-justify-content-end {\n -ms-flex-pack: end;\n justify-content: end;\n}\n\n.pds-justify-content-space-between {\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.pds-justify-content-space-around {\n -ms-flex-pack: distribute;\n justify-content: space-around;\n}\n\n.pds-justify-content-space-evenly {\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n}\n\n.pds-align-items-start {\n -ms-flex-align: start;\n align-items: start;\n}\n\n.pds-align-items-center {\n -ms-flex-align: center;\n align-items: center;\n}\n\n.pds-align-items-end {\n -ms-flex-align: end;\n align-items: end;\n}\n\n.pds-align-items-stretch {\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n\n.pds-align-items-baseline {\n -ms-flex-align: baseline;\n align-items: baseline;\n}";
6
6
 
@@ -43,7 +43,7 @@ const PdsRow = class {
43
43
  })), (this.minHeight && {
44
44
  'min-height': this.minHeight,
45
45
  }));
46
- return index.h(index.Host, { key: '5cfdc14486ad24d42751624d37ff6ef38f611b12', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
46
+ return index.h(index.Host, { key: 'd9fd2087c959b16ca168ee2b011a3d4bd466c113', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
47
47
  }
48
48
  };
49
49
  PdsRow.style = pdsRowCss;
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-g-uSeICs.js');
4
- var form = require('./form-Bx4nzJBo.js');
5
- var index$1 = require('./index-DVaLegMK.js');
3
+ var index = require('./index-DDTyvZD7.js');
4
+ var form = require('./form-hmpgbT1I.js');
5
+ var index$1 = require('./index-DtnvzYhe.js');
6
6
 
7
7
  const pdsSelectTokensCss = ":host{--pine-select-color-background-danger:var(--pine-color-red-050)}";
8
8
 
9
9
  const labelCss = ":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)}";
10
10
 
11
- const pdsSelectCss = ":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:calc(var(--pine-dimension-xs) - var(--pine-border-width)) 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{color:var(--pine-color-text-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}";
11
+ const pdsSelectCss = ":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:calc(var(--pine-dimension-xs) - var(--pine-border-width)) 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{color:var(--pine-color-text-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:var(--pine-z-index-raised)}.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}";
12
12
 
13
13
  const PdsSelect = class {
14
14
  constructor(hostRef) {
15
15
  index.registerInstance(this, hostRef);
16
16
  this.pdsSelectChange = index.createEvent(this, "pdsSelectChange");
17
+ this._type = 'select-one';
17
18
  /**
18
19
  * Indicates whether or not the select field is disabled.
19
20
  * @defaultValue false
@@ -76,13 +77,26 @@ const PdsSelect = class {
76
77
  this.updateSelectedOption();
77
78
  this.updateFormValue();
78
79
  }
80
+ /**
81
+ * Updates the type property when multiple changes to match native select behavior.
82
+ */
83
+ multipleChanged() {
84
+ this.updateType();
85
+ }
86
+ updateType() {
87
+ this._type = this.multiple ? 'select-multiple' : 'select-one';
88
+ }
79
89
  connectedCallback() {
80
90
  // Initialize ElementInternals for form association
81
91
  if (this.el.attachInternals) {
82
92
  this.internals = this.el.attachInternals();
83
93
  }
94
+ // Expose type property on the element instance to match native form element behavior
95
+ form.exposeTypeProperty(this.el, () => this._type);
84
96
  }
85
97
  componentWillLoad() {
98
+ // Set initial type based on multiple prop
99
+ this.updateType();
86
100
  this.updateSelectedOption();
87
101
  }
88
102
  componentDidLoad() {
@@ -205,12 +219,13 @@ const PdsSelect = class {
205
219
  }
206
220
  render() {
207
221
  const hasAction = this.el.querySelector('[slot="action"]') !== null;
208
- return (index.h(index.Host, { key: '1433acf644d6ee97fd10d317416addea8e411b23', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, index.h("div", { key: '63af968e3d7c2d0ceea1bcbaee045979ef546188', class: "pds-select" }, !this.hideLabel && (index.h("div", { key: 'a209ceef42be283287fd3dfc93cc89e5af142ab5', class: "pds-select__label-wrapper" }, index.h("label", { key: 'e9504a280358f717dac11a8b87e313368c458d48', htmlFor: this.componentId }, index.h("span", { key: '420f9159d8d1b001f9fe3dfbd6663d77d47eade0', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), index.h("select", { key: '413ad9963bad818f06cbf2775fabf582b6d69104', "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: (el) => (this.selectEl = el) }), index.h("div", { key: '92be560d834e33f5ef009f091c3bf74ff7e5db32', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, index.h("slot", { key: '7dc0bde05b59acb0a87c75331805dfe7f0638d9e', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && index.h("pds-icon", { key: 'e6b0edd05a3e76f3a0ca35fb663a68964e2b4c1b', class: "pds-select__select-icon", icon: index$1.enlarge }))));
222
+ return (index.h(index.Host, { key: '807a2ecdb0734b8c91936ec4c46e4d4f08572ccb', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, index.h("div", { key: 'febbc7cac34855dc9574ba5b1ab1edef4acef664', class: "pds-select" }, !this.hideLabel && (index.h("div", { key: '92d97d395ac108616a67111a8dc25ee554a33c12', class: "pds-select__label-wrapper" }, index.h("label", { key: '42885b3d3d01af615e248655308324ba843dab42', htmlFor: this.componentId }, index.h("span", { key: '24ffeb13dafc9a042c4099442a81d020732f0336', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), index.h("select", { key: '7be3328511bb074844715ed649e22ef6d0d9866a', "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: (el) => (this.selectEl = el) }), index.h("div", { key: '0febab292f965293e53be574c492619294fcbe26', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, index.h("slot", { key: 'e8022a71a6391c72388a681ee47c8720d751afb8', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && index.h("pds-icon", { key: 'cb196851d9afacd32c81d64922492fda1b937d74', class: "pds-select__select-icon", icon: index$1.enlarge }))));
209
223
  }
210
224
  static get formAssociated() { return true; }
211
225
  get el() { return index.getElement(this); }
212
226
  static get watchers() { return {
213
- "value": ["valueChanged"]
227
+ "value": ["valueChanged"],
228
+ "multiple": ["multipleChanged"]
214
229
  }; }
215
230
  };
216
231
  PdsSelect.style = pdsSelectTokensCss + (labelCss + pdsSelectCss);