@pine-ds/core 4.8.0 → 4.9.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 (513) hide show
  1. package/components/attributes.js +1 -1
  2. package/components/floating-ui.dom.js +1 -1
  3. package/components/index.js +1 -1
  4. package/components/index2.js +1 -1
  5. package/components/keep-hydrated.js +1 -0
  6. package/components/mock-pds-modal.js +1 -1
  7. package/components/pds-alert.js +1 -1
  8. package/components/pds-avatar.js +1 -1
  9. package/components/pds-box2.js +1 -1
  10. package/components/pds-button2.js +1 -1
  11. package/components/pds-checkbox2.js +1 -1
  12. package/components/pds-chip2.js +1 -1
  13. package/components/pds-combobox.js +1 -1
  14. package/components/pds-container.js +1 -1
  15. package/components/pds-copytext.js +1 -1
  16. package/components/pds-datepicker.js +1 -1
  17. package/components/pds-divider.js +1 -1
  18. package/components/pds-drawer-content.js +1 -1
  19. package/components/pds-drawer-footer.js +1 -1
  20. package/components/pds-drawer-header.js +1 -1
  21. package/components/pds-drawer.js +1 -1
  22. package/components/pds-dropdown-menu-item.js +1 -1
  23. package/components/pds-dropdown-menu-separator.js +1 -1
  24. package/components/pds-dropdown-menu.js +1 -1
  25. package/components/pds-filter.js +1 -1
  26. package/components/pds-filters.js +1 -1
  27. package/components/pds-image.js +1 -1
  28. package/components/pds-input2.js +1 -1
  29. package/components/pds-link2.js +1 -1
  30. package/components/pds-loader2.js +1 -1
  31. package/components/pds-modal-content.js +1 -1
  32. package/components/pds-modal-footer.js +1 -1
  33. package/components/pds-modal-header.js +1 -1
  34. package/components/pds-modal2.js +1 -1
  35. package/components/pds-multiselect.js +1 -1
  36. package/components/pds-popover.js +1 -1
  37. package/components/pds-progress.js +1 -1
  38. package/components/pds-property.js +1 -1
  39. package/components/pds-radio-group.js +1 -1
  40. package/components/pds-radio.js +1 -1
  41. package/components/pds-row.js +1 -1
  42. package/components/pds-select.js +1 -1
  43. package/components/pds-sortable-item.js +1 -1
  44. package/components/pds-sortable.js +2 -2
  45. package/components/pds-switch.js +1 -1
  46. package/components/pds-table-body.js +1 -1
  47. package/components/pds-table-cell2.js +1 -1
  48. package/components/pds-table-head-cell2.js +1 -1
  49. package/components/pds-table-head.js +1 -1
  50. package/components/pds-table-row.js +1 -1
  51. package/components/pds-tabpanel.js +1 -1
  52. package/components/pds-tabs.js +1 -1
  53. package/components/pds-text2.js +1 -1
  54. package/components/pds-textarea.js +1 -1
  55. package/components/pds-toast.js +1 -1
  56. package/components/pds-tooltip.js +1 -1
  57. package/components/tabbable.js +1 -0
  58. package/dist/cjs/{attributes-BJ7KBHql.js → attributes-CW49XqaL.js} +1 -1
  59. package/dist/cjs/{floating-ui.dom-Dc8Anyel.js → floating-ui.dom-Dw41zbyY.js} +1 -0
  60. package/dist/cjs/{index-jl_Q819j.js → index-BsWY_xEJ.js} +1 -1
  61. package/dist/cjs/index.cjs.js +1 -1
  62. package/dist/cjs/{keep-hydrated-CiXgkEYd.js → keep-hydrated-AKoh0DG4.js} +1 -0
  63. package/dist/cjs/loader.cjs.js +3 -3
  64. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
  65. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  66. package/dist/cjs/pds-alert.cjs.entry.js +17 -4
  67. package/dist/cjs/pds-avatar.cjs.entry.js +21 -11
  68. package/dist/cjs/pds-box.cjs.entry.js +4 -4
  69. package/dist/cjs/pds-button.cjs.entry.js +57 -25
  70. package/dist/cjs/pds-checkbox.cjs.entry.js +15 -7
  71. package/dist/cjs/pds-chip.cjs.entry.js +6 -6
  72. package/dist/cjs/pds-combobox.cjs.entry.js +41 -11
  73. package/dist/cjs/pds-container.cjs.entry.js +3 -3
  74. package/dist/cjs/pds-copytext.cjs.entry.js +6 -6
  75. package/dist/cjs/pds-datepicker.cjs.entry.js +5 -5
  76. package/dist/cjs/pds-divider.cjs.entry.js +3 -3
  77. package/dist/cjs/pds-drawer-content.cjs.entry.js +3 -3
  78. package/dist/cjs/pds-drawer-footer.cjs.entry.js +3 -3
  79. package/dist/cjs/pds-drawer-header.cjs.entry.js +3 -3
  80. package/dist/cjs/pds-drawer.cjs.entry.js +4 -4
  81. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +4 -4
  82. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +3 -3
  83. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +5 -5
  84. package/dist/cjs/pds-filter.cjs.entry.js +3 -3
  85. package/dist/cjs/pds-filters.cjs.entry.js +3 -3
  86. package/dist/cjs/pds-icon.cjs.entry.js +2 -2
  87. package/dist/cjs/pds-image.cjs.entry.js +4 -4
  88. package/dist/cjs/pds-input.cjs.entry.js +5 -5
  89. package/dist/cjs/pds-link.cjs.entry.js +14 -5
  90. package/dist/cjs/pds-loader.cjs.entry.js +4 -4
  91. package/dist/cjs/pds-modal-content.cjs.entry.js +4 -4
  92. package/dist/cjs/pds-modal-footer.cjs.entry.js +3 -3
  93. package/dist/cjs/pds-modal-header.cjs.entry.js +3 -3
  94. package/dist/cjs/pds-modal.cjs.entry.js +8 -88
  95. package/dist/cjs/pds-multiselect.cjs.entry.js +6 -6
  96. package/dist/cjs/pds-popover.cjs.entry.js +230 -153
  97. package/dist/cjs/pds-progress.cjs.entry.js +4 -4
  98. package/dist/cjs/pds-property.cjs.entry.js +3 -3
  99. package/dist/cjs/pds-radio-group.cjs.entry.js +5 -5
  100. package/dist/cjs/pds-radio.cjs.entry.js +23 -10
  101. package/dist/cjs/pds-row.cjs.entry.js +4 -4
  102. package/dist/cjs/pds-select.cjs.entry.js +131 -20
  103. package/dist/cjs/pds-sortable-item.cjs.entry.js +4 -4
  104. package/dist/cjs/pds-sortable.cjs.entry.js +4 -4
  105. package/dist/cjs/pds-switch.cjs.entry.js +6 -6
  106. package/dist/cjs/pds-tab.cjs.entry.js +3 -3
  107. package/dist/cjs/pds-table-body.cjs.entry.js +3 -3
  108. package/dist/cjs/pds-table-cell.cjs.entry.js +6 -6
  109. package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
  110. package/dist/cjs/pds-table-head.cjs.entry.js +3 -3
  111. package/dist/cjs/pds-table-row.cjs.entry.js +3 -3
  112. package/dist/cjs/pds-table.cjs.entry.js +2 -2
  113. package/dist/cjs/pds-tabpanel.cjs.entry.js +4 -4
  114. package/dist/cjs/pds-tabs.cjs.entry.js +4 -4
  115. package/dist/cjs/pds-text.cjs.entry.js +5 -5
  116. package/dist/cjs/pds-textarea.cjs.entry.js +7 -7
  117. package/dist/cjs/pds-toast.cjs.entry.js +14 -8
  118. package/dist/cjs/pds-tooltip.cjs.entry.js +115 -44
  119. package/dist/cjs/pine-core.cjs.js +3 -3
  120. package/dist/cjs/tabbable-CddSt_Hi.js +85 -0
  121. package/dist/cjs/{truncation-tooltip-BtuiXLV0.js → truncation-tooltip-O5nQmXPw.js} +1 -1
  122. package/dist/collection/components/pds-alert/pds-alert.css +13 -0
  123. package/dist/collection/components/pds-alert/pds-alert.js +36 -1
  124. package/dist/collection/components/pds-alert/stories/pds-alert.stories.js +4 -0
  125. package/dist/collection/components/pds-avatar/pds-avatar.js +41 -9
  126. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +2 -0
  127. package/dist/collection/components/pds-box/pds-box.js +1 -1
  128. package/dist/collection/components/pds-button/pds-button.js +13 -23
  129. package/dist/collection/components/pds-checkbox/pds-checkbox.css +79 -0
  130. package/dist/collection/components/pds-checkbox/pds-checkbox.js +36 -5
  131. package/dist/collection/components/pds-checkbox/stories/pds-checkbox.stories.js +38 -0
  132. package/dist/collection/components/pds-chip/pds-chip.js +1 -1
  133. package/dist/collection/components/pds-combobox/pds-combobox.css +33 -0
  134. package/dist/collection/components/pds-combobox/pds-combobox.js +60 -7
  135. package/dist/collection/components/pds-combobox/stories/pds-combobox.stories.js +44 -0
  136. package/dist/collection/components/pds-container/pds-container.js +1 -1
  137. package/dist/collection/components/pds-copytext/pds-copytext.js +1 -1
  138. package/dist/collection/components/pds-datepicker/pds-datepicker.js +2 -2
  139. package/dist/collection/components/pds-divider/pds-divider.js +1 -1
  140. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +1 -1
  141. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +1 -1
  142. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +1 -1
  143. package/dist/collection/components/pds-drawer/pds-drawer.js +2 -2
  144. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +24 -2
  145. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  146. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  147. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  148. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  149. package/dist/collection/components/pds-image/pds-image.js +2 -2
  150. package/dist/collection/components/pds-input/pds-input.js +2 -2
  151. package/dist/collection/components/pds-input/stories/pds-input.stories.js +6 -6
  152. package/dist/collection/components/pds-link/pds-link.js +34 -3
  153. package/dist/collection/components/pds-link/stories/pds-link.stories.js +3 -2
  154. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  155. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  156. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  157. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  158. package/dist/collection/components/pds-modal/pds-modal.js +4 -84
  159. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  160. package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
  161. package/dist/collection/components/pds-popover/pds-popover.css +6 -0
  162. package/dist/collection/components/pds-popover/pds-popover.js +226 -149
  163. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  164. package/dist/collection/components/pds-property/pds-property.js +1 -1
  165. package/dist/collection/components/pds-radio/pds-radio.css +57 -0
  166. package/dist/collection/components/pds-radio/pds-radio.js +45 -9
  167. package/dist/collection/components/pds-radio/stories/pds-radio.stories.js +15 -0
  168. package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
  169. package/dist/collection/components/pds-radio-group/stories/pds-radio-group.stories.js +45 -0
  170. package/dist/collection/components/pds-row/pds-row.js +1 -1
  171. package/dist/collection/components/pds-select/pds-select.js +128 -17
  172. package/dist/collection/components/pds-select/stories/pds-select.stories.js +2 -2
  173. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  174. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  175. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  176. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  177. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +2 -2
  178. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  179. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  180. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  181. package/dist/collection/components/pds-table/stories/pds-table.stories.js +3 -3
  182. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  183. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  184. package/dist/collection/components/pds-text/pds-text.js +1 -1
  185. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  186. package/dist/collection/components/pds-textarea/stories/pds-textarea.stories.js +2 -2
  187. package/dist/collection/components/pds-toast/pds-toast.css +13 -0
  188. package/dist/collection/components/pds-toast/pds-toast.js +33 -5
  189. package/dist/collection/components/pds-toast/stories/pds-toast.stories.js +4 -1
  190. package/dist/collection/components/pds-tooltip/pds-tooltip.js +113 -41
  191. package/dist/collection/utils/aria-references.js +42 -0
  192. package/dist/collection/utils/tabbable.js +81 -0
  193. package/dist/docs.json +244 -7
  194. package/dist/esm/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  195. package/dist/esm/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  196. package/dist/esm/{index-Cw9J31qd.js → index-BFSwd-GQ.js} +1 -1
  197. package/dist/esm/{index-BWDu62Mo.js → index-m3pqpeWg.js} +1 -1
  198. package/dist/esm/index.js +1 -1
  199. package/dist/esm/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  200. package/dist/esm/loader.js +4 -4
  201. package/dist/esm/mock-pds-modal.entry.js +3 -3
  202. package/dist/esm/pds-accordion.entry.js +3 -3
  203. package/dist/esm/pds-alert.entry.js +17 -4
  204. package/dist/esm/pds-avatar.entry.js +22 -12
  205. package/dist/esm/pds-box.entry.js +4 -4
  206. package/dist/esm/pds-button.entry.js +58 -26
  207. package/dist/esm/pds-checkbox.entry.js +16 -8
  208. package/dist/esm/pds-chip.entry.js +7 -7
  209. package/dist/esm/pds-combobox.entry.js +41 -11
  210. package/dist/esm/pds-container.entry.js +3 -3
  211. package/dist/esm/pds-copytext.entry.js +7 -7
  212. package/dist/esm/pds-datepicker.entry.js +6 -6
  213. package/dist/esm/pds-divider.entry.js +3 -3
  214. package/dist/esm/pds-drawer-content.entry.js +3 -3
  215. package/dist/esm/pds-drawer-footer.entry.js +3 -3
  216. package/dist/esm/pds-drawer-header.entry.js +3 -3
  217. package/dist/esm/pds-drawer.entry.js +4 -4
  218. package/dist/esm/pds-dropdown-menu-item.entry.js +4 -4
  219. package/dist/esm/pds-dropdown-menu-separator.entry.js +3 -3
  220. package/dist/esm/pds-dropdown-menu.entry.js +5 -5
  221. package/dist/esm/pds-filter.entry.js +4 -4
  222. package/dist/esm/pds-filters.entry.js +3 -3
  223. package/dist/esm/pds-icon.entry.js +2 -2
  224. package/dist/esm/pds-image.entry.js +4 -4
  225. package/dist/esm/pds-input.entry.js +6 -6
  226. package/dist/esm/pds-link.entry.js +15 -6
  227. package/dist/esm/pds-loader.entry.js +4 -4
  228. package/dist/esm/pds-modal-content.entry.js +4 -4
  229. package/dist/esm/pds-modal-footer.entry.js +3 -3
  230. package/dist/esm/pds-modal-header.entry.js +3 -3
  231. package/dist/esm/pds-modal.entry.js +6 -86
  232. package/dist/esm/pds-multiselect.entry.js +7 -7
  233. package/dist/esm/pds-popover.entry.js +230 -153
  234. package/dist/esm/pds-progress.entry.js +4 -4
  235. package/dist/esm/pds-property.entry.js +3 -3
  236. package/dist/esm/pds-radio-group.entry.js +6 -6
  237. package/dist/esm/pds-radio.entry.js +24 -11
  238. package/dist/esm/pds-row.entry.js +4 -4
  239. package/dist/esm/pds-select.entry.js +132 -21
  240. package/dist/esm/pds-sortable-item.entry.js +5 -5
  241. package/dist/esm/pds-sortable.entry.js +4 -4
  242. package/dist/esm/pds-switch.entry.js +7 -7
  243. package/dist/esm/pds-tab.entry.js +3 -3
  244. package/dist/esm/pds-table-body.entry.js +3 -3
  245. package/dist/esm/pds-table-cell.entry.js +6 -6
  246. package/dist/esm/pds-table-head-cell.entry.js +5 -5
  247. package/dist/esm/pds-table-head.entry.js +3 -3
  248. package/dist/esm/pds-table-row.entry.js +3 -3
  249. package/dist/esm/pds-table.entry.js +2 -2
  250. package/dist/esm/pds-tabpanel.entry.js +4 -4
  251. package/dist/esm/pds-tabs.entry.js +4 -4
  252. package/dist/esm/pds-text.entry.js +5 -5
  253. package/dist/esm/pds-textarea.entry.js +8 -8
  254. package/dist/esm/pds-toast.entry.js +14 -8
  255. package/dist/esm/pds-tooltip.entry.js +115 -44
  256. package/dist/esm/pine-core.js +4 -4
  257. package/dist/esm/tabbable-DCKBKRUy.js +83 -0
  258. package/dist/esm/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-D_gvhB9r.js} +1 -1
  259. package/dist/esm-es5/{attributes-WXw_I_uJ.js → attributes-DkeVeN0g.js} +1 -1
  260. package/dist/esm-es5/{floating-ui.dom-BPqJgIq6.js → floating-ui.dom-Cuc0DYlm.js} +1 -1
  261. package/dist/esm-es5/{index-Cw9J31qd.js → index-BFSwd-GQ.js} +2 -2
  262. package/dist/esm-es5/{index-BWDu62Mo.js → index-m3pqpeWg.js} +1 -1
  263. package/dist/esm-es5/index.js +1 -1
  264. package/dist/esm-es5/{keep-hydrated-BLG6RDBt.js → keep-hydrated-BgNaWLoS.js} +1 -1
  265. package/dist/esm-es5/loader.js +1 -1
  266. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  267. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  268. package/dist/esm-es5/pds-alert.entry.js +1 -1
  269. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  270. package/dist/esm-es5/pds-box.entry.js +1 -1
  271. package/dist/esm-es5/pds-button.entry.js +1 -1
  272. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  273. package/dist/esm-es5/pds-chip.entry.js +1 -1
  274. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  275. package/dist/esm-es5/pds-container.entry.js +1 -1
  276. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  277. package/dist/esm-es5/pds-datepicker.entry.js +1 -1
  278. package/dist/esm-es5/pds-divider.entry.js +1 -1
  279. package/dist/esm-es5/pds-drawer-content.entry.js +1 -1
  280. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -1
  281. package/dist/esm-es5/pds-drawer-header.entry.js +1 -1
  282. package/dist/esm-es5/pds-drawer.entry.js +1 -1
  283. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  284. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  285. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  286. package/dist/esm-es5/pds-filter.entry.js +1 -1
  287. package/dist/esm-es5/pds-filters.entry.js +1 -1
  288. package/dist/esm-es5/pds-icon.entry.js +1 -1
  289. package/dist/esm-es5/pds-image.entry.js +1 -1
  290. package/dist/esm-es5/pds-input.entry.js +1 -1
  291. package/dist/esm-es5/pds-link.entry.js +1 -1
  292. package/dist/esm-es5/pds-loader.entry.js +1 -1
  293. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  294. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  295. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  296. package/dist/esm-es5/pds-modal.entry.js +1 -1
  297. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  298. package/dist/esm-es5/pds-popover.entry.js +1 -1
  299. package/dist/esm-es5/pds-progress.entry.js +1 -1
  300. package/dist/esm-es5/pds-property.entry.js +1 -1
  301. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  302. package/dist/esm-es5/pds-radio.entry.js +1 -1
  303. package/dist/esm-es5/pds-row.entry.js +1 -1
  304. package/dist/esm-es5/pds-select.entry.js +1 -1
  305. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  306. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  307. package/dist/esm-es5/pds-switch.entry.js +1 -1
  308. package/dist/esm-es5/pds-tab.entry.js +1 -1
  309. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  310. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  311. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  312. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  313. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  314. package/dist/esm-es5/pds-table.entry.js +1 -1
  315. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  316. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  317. package/dist/esm-es5/pds-text.entry.js +1 -1
  318. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  319. package/dist/esm-es5/pds-toast.entry.js +1 -1
  320. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  321. package/dist/esm-es5/pine-core.js +1 -1
  322. package/dist/esm-es5/tabbable-DCKBKRUy.js +1 -0
  323. package/dist/esm-es5/{truncation-tooltip-FaW67DiY.js → truncation-tooltip-D_gvhB9r.js} +1 -1
  324. package/dist/pine-core/index.esm.js +1 -1
  325. package/dist/pine-core/p-001d4b86.entry.js +1 -0
  326. package/dist/pine-core/p-06279b93.system.entry.js +1 -0
  327. package/dist/pine-core/{p-b75b0d09.system.entry.js → p-0790dd0d.system.entry.js} +1 -1
  328. package/dist/pine-core/p-079c39d1.entry.js +1 -0
  329. package/dist/pine-core/{p-158b2f51.entry.js → p-07b4524e.entry.js} +1 -1
  330. package/dist/pine-core/{p-4bfc8b3e.system.entry.js → p-08bbd3e6.system.entry.js} +1 -1
  331. package/dist/pine-core/{p-d3d69ca4.system.entry.js → p-0bd61097.system.entry.js} +1 -1
  332. package/dist/pine-core/p-0c60f577.system.entry.js +1 -0
  333. package/dist/pine-core/{p-acca5f7b.system.entry.js → p-110b4051.system.entry.js} +1 -1
  334. package/dist/pine-core/p-11e7d660.entry.js +1 -0
  335. package/dist/pine-core/p-14d872d3.entry.js +1 -0
  336. package/dist/pine-core/p-17fc76e7.system.entry.js +1 -0
  337. package/dist/pine-core/{p-0913f696.system.entry.js → p-1e5648bf.system.entry.js} +1 -1
  338. package/dist/pine-core/{p-ef13f665.system.entry.js → p-22ae92f7.system.entry.js} +1 -1
  339. package/dist/pine-core/p-239774c9.entry.js +1 -0
  340. package/dist/pine-core/{p-0b71ecb6.system.entry.js → p-25bf2f26.system.entry.js} +2 -2
  341. package/dist/pine-core/{p-719542e1.system.entry.js → p-272b24ad.system.entry.js} +1 -1
  342. package/dist/pine-core/{p-d2c91e7a.entry.js → p-2c0047cd.entry.js} +1 -1
  343. package/dist/pine-core/p-2d5b1deb.entry.js +1 -0
  344. package/dist/pine-core/{p-c97bfac9.entry.js → p-3556f6ad.entry.js} +1 -1
  345. package/dist/pine-core/{p-BGLP3keB.js → p-35s7h-dk.js} +1 -1
  346. package/dist/pine-core/{p-3c977d8d.system.entry.js → p-38b87aa2.system.entry.js} +1 -1
  347. package/dist/pine-core/{p-25ea48d1.entry.js → p-3afb1208.entry.js} +1 -1
  348. package/dist/pine-core/{p-9df5e204.entry.js → p-3b5b8f73.entry.js} +1 -1
  349. package/dist/pine-core/{p-8c8cc079.system.entry.js → p-3cc19ea8.system.entry.js} +1 -1
  350. package/dist/pine-core/{p-ca4ee736.system.entry.js → p-3ce7e72e.system.entry.js} +1 -1
  351. package/dist/pine-core/p-3f62581a.system.entry.js +1 -0
  352. package/dist/pine-core/p-414faecf.entry.js +1 -0
  353. package/dist/pine-core/p-463a29fa.entry.js +1 -0
  354. package/dist/pine-core/{p-f029b7da.system.entry.js → p-4ee44585.system.entry.js} +1 -1
  355. package/dist/pine-core/p-50af67ea.system.entry.js +1 -0
  356. package/dist/pine-core/p-5133e8be.system.entry.js +1 -0
  357. package/dist/pine-core/p-55fce29e.entry.js +1 -0
  358. package/dist/pine-core/{p-77395d62.system.entry.js → p-568a9a79.system.entry.js} +1 -1
  359. package/dist/pine-core/{p-5cfd4d41.system.entry.js → p-5967d9fa.system.entry.js} +1 -1
  360. package/dist/pine-core/{p-5870b092.system.entry.js → p-5c46553f.system.entry.js} +1 -1
  361. package/dist/pine-core/{p-ea340c55.system.entry.js → p-5ce5836e.system.entry.js} +1 -1
  362. package/dist/pine-core/p-5f3242c8.system.entry.js +1 -0
  363. package/dist/pine-core/{p-80e6f3a0.system.entry.js → p-60d27247.system.entry.js} +1 -1
  364. package/dist/pine-core/{p-90d5edc6.entry.js → p-60e3b1af.entry.js} +1 -1
  365. package/dist/pine-core/{p-ca0a8f5c.entry.js → p-64283f7b.entry.js} +1 -1
  366. package/dist/pine-core/p-6602b4d0.entry.js +1 -0
  367. package/dist/pine-core/p-6845867f.system.entry.js +1 -0
  368. package/dist/pine-core/{p-332590c7.system.entry.js → p-68fdfb8f.system.entry.js} +1 -1
  369. package/dist/pine-core/p-6b6ae1be.entry.js +1 -0
  370. package/dist/pine-core/{p-e5420660.entry.js → p-6d64e6c7.entry.js} +1 -1
  371. package/dist/pine-core/{p-121612a7.system.entry.js → p-6dad76cb.system.entry.js} +1 -1
  372. package/dist/pine-core/p-6f34ad9c.entry.js +1 -0
  373. package/dist/pine-core/{p-55224683.entry.js → p-7073146f.entry.js} +1 -1
  374. package/dist/pine-core/{p-f1702281.entry.js → p-735b3631.entry.js} +1 -1
  375. package/dist/pine-core/p-7a14473e.entry.js +1 -0
  376. package/dist/pine-core/{p-9880d251.system.entry.js → p-7a19477e.system.entry.js} +1 -1
  377. package/dist/pine-core/{p-ea8f5d29.entry.js → p-7d3a20ba.entry.js} +1 -1
  378. package/dist/pine-core/{p-a939b471.entry.js → p-7fcf3d37.entry.js} +1 -1
  379. package/dist/pine-core/{p-26642718.entry.js → p-87642228.entry.js} +1 -1
  380. package/dist/pine-core/{p-62433f32.entry.js → p-89fefe36.entry.js} +1 -1
  381. package/dist/pine-core/{p-cccfe60f.system.entry.js → p-8b97dd57.system.entry.js} +1 -1
  382. package/dist/pine-core/{p-0092444c.system.entry.js → p-9201b497.system.entry.js} +1 -1
  383. package/dist/pine-core/{p-631f5bcc.entry.js → p-92a8cf7d.entry.js} +1 -1
  384. package/dist/pine-core/{p-e836a041.entry.js → p-94597b73.entry.js} +1 -1
  385. package/dist/pine-core/p-9713d6a5.system.entry.js +1 -0
  386. package/dist/pine-core/p-97be00f4.system.entry.js +1 -0
  387. package/dist/pine-core/{p-2ac2457b.system.entry.js → p-98843402.system.entry.js} +1 -1
  388. package/dist/pine-core/{p-b914dde8.entry.js → p-98cc327b.entry.js} +2 -2
  389. package/dist/pine-core/p-9a8971e2.system.entry.js +1 -0
  390. package/dist/pine-core/p-9a8d2985.system.entry.js +3 -0
  391. package/dist/pine-core/{p-ee0e30bf.system.entry.js → p-9dbc017f.system.entry.js} +1 -1
  392. package/dist/pine-core/p-9fbcba0d.entry.js +1 -0
  393. package/dist/pine-core/p-9fe4a64a.entry.js +1 -0
  394. package/dist/pine-core/{p-COtCa1Md.system.js → p-BNTlHhoO.system.js} +1 -1
  395. package/dist/pine-core/p-BZ1l3LGl.system.js +1 -0
  396. package/dist/pine-core/p-BgNaWLoS.js +1 -0
  397. package/dist/pine-core/{p-CmSJytt1.js → p-BplEmwUQ.js} +2 -2
  398. package/dist/pine-core/{p-Cy8cvR7I.system.js → p-CANeE7Ss.system.js} +1 -1
  399. package/dist/pine-core/{p-XW4H0W6i.system.js → p-CNXspDYs.system.js} +1 -1
  400. package/dist/pine-core/{p-jrkGLEPe.js → p-CirzxZ33.js} +1 -1
  401. package/dist/pine-core/{p-CGRdQc49.system.js → p-CjRCtzPD.system.js} +2 -2
  402. package/dist/pine-core/{p-BPqJgIq6.js → p-Cuc0DYlm.js} +1 -1
  403. package/dist/pine-core/{p-D04W0cAO.system.js → p-D52aRqFx.system.js} +1 -1
  404. package/dist/pine-core/p-DCKBKRUy.js +1 -0
  405. package/dist/pine-core/p-DXO1yd32.system.js +1 -0
  406. package/dist/pine-core/{p-ClDiSG97.system.js → p-DaCT2ssj.system.js} +1 -1
  407. package/dist/pine-core/{p-295f64ea.entry.js → p-a2078add.entry.js} +1 -1
  408. package/dist/pine-core/{p-f3067d90.system.entry.js → p-a48b025a.system.entry.js} +1 -1
  409. package/dist/pine-core/{p-9713fb36.entry.js → p-a7d25143.entry.js} +1 -1
  410. package/dist/pine-core/{p-9dcd2cdb.entry.js → p-ad3b1ec3.entry.js} +1 -1
  411. package/dist/pine-core/p-b017eb99.system.entry.js +1 -0
  412. package/dist/pine-core/p-b037dcbd.system.entry.js +1 -0
  413. package/dist/pine-core/{p-db17c626.system.entry.js → p-b243767b.system.entry.js} +1 -1
  414. package/dist/pine-core/{p-0af0d752.system.entry.js → p-b33ad96e.system.entry.js} +1 -1
  415. package/dist/pine-core/p-b6edfdfe.entry.js +2 -0
  416. package/dist/pine-core/{p-8191498f.system.entry.js → p-b7cbd913.system.entry.js} +1 -1
  417. package/dist/pine-core/{p-8f531063.entry.js → p-b9d71b76.entry.js} +1 -1
  418. package/dist/pine-core/p-bcf57566.entry.js +1 -0
  419. package/dist/pine-core/{p-4fd454f6.entry.js → p-bda7e3be.entry.js} +1 -1
  420. package/dist/pine-core/{p-bdac8f2b.entry.js → p-bdde1e53.entry.js} +1 -1
  421. package/dist/pine-core/{p-cb6a3e4c.system.entry.js → p-be3b4f12.system.entry.js} +1 -1
  422. package/dist/pine-core/{p-b1548a20.entry.js → p-bfdfbe9f.entry.js} +1 -1
  423. package/dist/pine-core/{p-8e3ff75d.entry.js → p-c02a32ec.entry.js} +1 -1
  424. package/dist/pine-core/p-c1da80e5.entry.js +1 -0
  425. package/dist/pine-core/{p-eaf85be6.system.entry.js → p-c233866c.system.entry.js} +1 -1
  426. package/dist/pine-core/{p-ecc7a531.system.entry.js → p-cb560aab.system.entry.js} +1 -1
  427. package/dist/pine-core/{p-8c588ca0.entry.js → p-ce554098.entry.js} +1 -1
  428. package/dist/pine-core/p-ced6a814.system.entry.js +1 -0
  429. package/dist/pine-core/{p-9aaedded.entry.js → p-d7930540.entry.js} +1 -1
  430. package/dist/pine-core/{p-11d98408.system.entry.js → p-d7db749a.system.entry.js} +1 -1
  431. package/dist/pine-core/{p-7a5b21d2.system.entry.js → p-d8bedb58.system.entry.js} +1 -1
  432. package/dist/pine-core/{p-1dc5a7e0.system.entry.js → p-d9243653.system.entry.js} +1 -1
  433. package/dist/pine-core/{p-9ab95438.entry.js → p-d94ebe84.entry.js} +1 -1
  434. package/dist/pine-core/{p-9109b90a.entry.js → p-de176bd9.entry.js} +1 -1
  435. package/dist/pine-core/{p-57a2f927.entry.js → p-dea2a254.entry.js} +1 -1
  436. package/dist/pine-core/p-dfadfcd1.entry.js +1 -0
  437. package/dist/pine-core/{p-047433a4.system.entry.js → p-e1fdd53a.system.entry.js} +1 -1
  438. package/dist/pine-core/{p-8987fd45.system.entry.js → p-e70cb112.system.entry.js} +1 -1
  439. package/dist/pine-core/{p-b9d145f8.system.entry.js → p-e9a53a88.system.entry.js} +1 -1
  440. package/dist/pine-core/p-eb93cc6e.entry.js +1 -0
  441. package/dist/pine-core/{p-4d03d1e2.system.entry.js → p-ebf0c51b.system.entry.js} +1 -1
  442. package/dist/pine-core/p-ebf74c43.system.entry.js +1 -0
  443. package/dist/pine-core/{p-138b278b.entry.js → p-ee449a4b.entry.js} +1 -1
  444. package/dist/pine-core/p-ef4d8fea.entry.js +1 -0
  445. package/dist/pine-core/p-f09f27ab.system.entry.js +1 -0
  446. package/dist/pine-core/{p-c483997a.entry.js → p-f2c487e6.entry.js} +1 -1
  447. package/dist/pine-core/p-f549f2bc.entry.js +1 -0
  448. package/dist/pine-core/{p-717323e4.entry.js → p-fc743f6e.entry.js} +1 -1
  449. package/dist/pine-core/{p-BWDu62Mo.js → p-m3pqpeWg.js} +1 -1
  450. package/dist/pine-core/p-wXfuz0Bd.system.js +1 -0
  451. package/dist/pine-core/pine-core.esm.js +1 -1
  452. package/dist/pine-core/pine-core.js +1 -1
  453. package/dist/types/components/pds-alert/pds-alert.d.ts +10 -0
  454. package/dist/types/components/pds-avatar/pds-avatar.d.ts +8 -0
  455. package/dist/types/components/pds-button/pds-button.d.ts +2 -2
  456. package/dist/types/components/pds-checkbox/pds-checkbox.d.ts +7 -1
  457. package/dist/types/components/pds-combobox/pds-combobox.d.ts +9 -0
  458. package/dist/types/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.d.ts +7 -0
  459. package/dist/types/components/pds-link/pds-link.d.ts +8 -0
  460. package/dist/types/components/pds-popover/pds-popover.d.ts +44 -20
  461. package/dist/types/components/pds-radio/pds-radio.d.ts +9 -3
  462. package/dist/types/components/pds-select/pds-select.d.ts +32 -4
  463. package/dist/types/components/pds-toast/pds-toast.d.ts +9 -0
  464. package/dist/types/components/pds-tooltip/pds-tooltip.d.ts +31 -0
  465. package/dist/types/components.d.ts +96 -8
  466. package/dist/types/utils/aria-references.d.ts +24 -0
  467. package/dist/types/utils/tabbable.d.ts +2 -0
  468. package/dist/vscode.html-data.json +79 -7
  469. package/hydrate/index.js +724 -337
  470. package/hydrate/index.mjs +724 -337
  471. package/package.json +2 -2
  472. package/dist/pine-core/p-00a50de5.system.entry.js +0 -3
  473. package/dist/pine-core/p-049f126a.entry.js +0 -1
  474. package/dist/pine-core/p-089c3e60.entry.js +0 -1
  475. package/dist/pine-core/p-17f97f1a.entry.js +0 -1
  476. package/dist/pine-core/p-19ba2788.system.entry.js +0 -1
  477. package/dist/pine-core/p-208c7dbf.entry.js +0 -1
  478. package/dist/pine-core/p-29cd4113.system.entry.js +0 -1
  479. package/dist/pine-core/p-2cb5483a.system.entry.js +0 -1
  480. package/dist/pine-core/p-36cb4bf6.entry.js +0 -1
  481. package/dist/pine-core/p-3d51891a.entry.js +0 -1
  482. package/dist/pine-core/p-432d5ec7.entry.js +0 -1
  483. package/dist/pine-core/p-44f546ae.entry.js +0 -1
  484. package/dist/pine-core/p-5442d983.system.entry.js +0 -1
  485. package/dist/pine-core/p-5833a072.system.entry.js +0 -1
  486. package/dist/pine-core/p-602c197f.entry.js +0 -1
  487. package/dist/pine-core/p-73f931a1.entry.js +0 -1
  488. package/dist/pine-core/p-75ee0403.entry.js +0 -1
  489. package/dist/pine-core/p-7a287635.system.entry.js +0 -1
  490. package/dist/pine-core/p-86040cac.system.entry.js +0 -1
  491. package/dist/pine-core/p-875b0436.system.entry.js +0 -1
  492. package/dist/pine-core/p-884cb31d.system.entry.js +0 -1
  493. package/dist/pine-core/p-8cc302aa.system.entry.js +0 -1
  494. package/dist/pine-core/p-91f60173.entry.js +0 -1
  495. package/dist/pine-core/p-9265497e.system.entry.js +0 -1
  496. package/dist/pine-core/p-94593f20.system.entry.js +0 -1
  497. package/dist/pine-core/p-99459e27.entry.js +0 -1
  498. package/dist/pine-core/p-99fdf70f.entry.js +0 -1
  499. package/dist/pine-core/p-BLG6RDBt.js +0 -1
  500. package/dist/pine-core/p-BR5nujVX.system.js +0 -1
  501. package/dist/pine-core/p-CuSNnuFu.system.js +0 -1
  502. package/dist/pine-core/p-a0960b3d.system.entry.js +0 -1
  503. package/dist/pine-core/p-a1230a74.system.entry.js +0 -1
  504. package/dist/pine-core/p-a826f290.entry.js +0 -1
  505. package/dist/pine-core/p-acce8eb2.entry.js +0 -1
  506. package/dist/pine-core/p-aff411d0.entry.js +0 -1
  507. package/dist/pine-core/p-b182f806.entry.js +0 -2
  508. package/dist/pine-core/p-bb68431a.entry.js +0 -1
  509. package/dist/pine-core/p-be9b6e63.system.entry.js +0 -1
  510. package/dist/pine-core/p-bf30dec0.entry.js +0 -1
  511. package/dist/pine-core/p-c4e12f0a.entry.js +0 -1
  512. package/dist/pine-core/p-e0917a26.entry.js +0 -1
  513. package/dist/pine-core/p-ea4d4741.system.entry.js +0 -1
@@ -83,7 +83,7 @@ export class PdsDropdownMenuItem {
83
83
  }, role: "menuitem", "aria-disabled": "true", part: "button", tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleInformationalKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("slot", null)));
84
84
  }
85
85
  if (this.href != null) {
86
- return (h("pds-link", { download: this.download, href: this.disabled ? null : this.href, external: this.external, target: this.target, class: {
86
+ return (h("pds-link", { download: this.download, href: this.disabled ? null : this.href, external: this.external, externalLabel: this.externalLabel, target: this.target, class: {
87
87
  'pds-dropdown-menu-item__content': true,
88
88
  'has-focus': this.hasFocus
89
89
  }, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, "aria-disabled": this.disabled ? 'true' : null }, h("slot", null)));
@@ -94,7 +94,7 @@ export class PdsDropdownMenuItem {
94
94
  }, tabIndex: this.disabled ? -1 : 0, type: "button", part: "button", onKeyDown: this.handleKeyDown, onFocus: this.handleFocus, onBlur: this.handleBlur, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : null }, h("slot", null)));
95
95
  }
96
96
  render() {
97
- return (h(Host, { key: '47a62550fde33f892d7af4f4e71b67ebf7aa2c3f', id: this.componentId, class: {
97
+ return (h(Host, { key: 'a69947d99160783919f711d7c53e0592694f9565', id: this.componentId, class: {
98
98
  'is-disabled': this.disabled,
99
99
  'is-informational': this.informational,
100
100
  'destructive': !this.disabled && !this.informational && this.destructive
@@ -266,6 +266,28 @@ export class PdsDropdownMenuItem {
266
266
  "attribute": "external",
267
267
  "defaultValue": "false"
268
268
  },
269
+ "externalLabel": {
270
+ "type": "string",
271
+ "mutable": false,
272
+ "complexType": {
273
+ "original": "string",
274
+ "resolved": "string",
275
+ "references": {}
276
+ },
277
+ "required": false,
278
+ "optional": true,
279
+ "docs": {
280
+ "tags": [{
281
+ "name": "defaultValue",
282
+ "text": "'(opens in a new tab)'"
283
+ }],
284
+ "text": "Accessible label for the external-link icon, passed to the inner\n`pds-link`. Pass a translated string to localize it; defaults to English.\nPass an empty string to make the icon decorative."
285
+ },
286
+ "getter": false,
287
+ "setter": false,
288
+ "reflect": false,
289
+ "attribute": "external-label"
290
+ },
269
291
  "target": {
270
292
  "type": "string",
271
293
  "mutable": false,
@@ -8,7 +8,7 @@ export class PdsDropdownMenuSeparator {
8
8
  this.disabled = false;
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '60407a2edc8b4667d39cbd1ba9a859d09b0b8ff1', id: this.componentId }, h("hr", { key: '8485d1c8508c5fe5e3635505f25e278f45f45b82' })));
11
+ return (h(Host, { key: '72f29c5015d2379d9986c90ec966f34f41298226', id: this.componentId }, h("hr", { key: '72c2155d0fbee6346f3f38997009a7d9e14ad0c8' })));
12
12
  }
13
13
  static get is() { return "pds-dropdown-menu-separator"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -357,7 +357,7 @@ export class PdsDropdownMenu {
357
357
  }
358
358
  }
359
359
  render() {
360
- return (h(Host, { key: '1765909c8c3c140e52dc3f6b50693c97d6bcc003', id: this.componentId }, h("slot", { key: '0b566cd288428a0694a2d61d4a73bd79def4bfad', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), h("pds-box", { key: '16cdfc208cfe7f6e074289c30aa0e1188a34876d', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", part: "menu-panel" }, h("div", { key: 'a28c1736ad02e8ac3d82c0fe1933606a7216989b', class: { 'pds-dropdown-menu__header': true, 'is-hidden': !this.hasHeader } }, h("slot", { key: '9c6dfddefb266083f68aa27d6cc01127a69cd1cf', name: "header", onSlotchange: this.handleHeaderSlotChange })), h("div", { key: '8cfe85c10f92d4a4ec6b5d2d0264d054a74ba29b', class: "pds-dropdown-menu__items", role: "menu", "aria-orientation": "vertical" }, h("slot", { key: '1a5b4aa406d2706ca8cef49deb05140a5763be1c', onSlotchange: this.handleSlotChange })))));
360
+ return (h(Host, { key: '0ed3d8ee889a5423ca9de66a86791d084f75abf0', id: this.componentId }, h("slot", { key: '6bab71652d6afe094075623d3a48641a4d89b232', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), h("pds-box", { key: 'fcef0667f999ae5b8cd03eb94a0db0be7be502cb', "border-radius": "sm", display: "flex", direction: "column", class: "pds-dropdown-menu--panel is-hidden", shadow: "100", part: "menu-panel" }, h("div", { key: 'c78d5bd7e48c5483b12171341271f9132f4b2ff9', class: { 'pds-dropdown-menu__header': true, 'is-hidden': !this.hasHeader } }, h("slot", { key: '6464994260720d6046da548f4aad0896965cc47c', name: "header", onSlotchange: this.handleHeaderSlotChange })), h("div", { key: '3e97dfc4e1911f91ce8917faf981d436e71e5c24', class: "pds-dropdown-menu__items", role: "menu", "aria-orientation": "vertical" }, h("slot", { key: 'dfd77a8b73df5ce9eef3e661d3f9501cb8bfdba2', onSlotchange: this.handleSlotChange })))));
361
361
  }
362
362
  static get is() { return "pds-dropdown-menu"; }
363
363
  static get encapsulation() { return "shadow"; }
@@ -485,7 +485,7 @@ export class PdsFilter {
485
485
  return null;
486
486
  }
487
487
  render() {
488
- return (h(Host, { key: '3cae951aee1f9c75f3e207cf6c68633a23f8f6dc', id: this.componentId }, h("button", { key: 'f4c644710dc936248995be9a49cef8ad13031d61', class: this.getTriggerClasses(), type: "button", popoverTarget: this.variant !== 'clear' ? `${this.componentId}-popover` : undefined, popoverTargetAction: this.variant !== 'clear' ? 'toggle' : undefined, onKeyDown: this.variant === 'clear' ? this.handleKeyDown : undefined, onClick: (event) => this.handleClick(event), part: "button", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": this.variant !== 'clear' ? 'true' : undefined, "aria-controls": this.variant !== 'clear' ? `${this.componentId}-popover` : undefined }, h("span", { key: '2dd87e53f363118becc762051ea1be664258b8b6', class: "pds-filter__button-content", part: "button-content" }, this.renderIcon(), this.text && (h("span", { key: '733ceb5e07198e844fbdc1af294d2046c4c571d8', class: "pds-filter__button-text", part: "button-text" }, this.text)), this.renderDropdownIcon())), this.variant !== 'clear' && (h("div", { key: 'beb65a21192c6f5c16703aec7ab9a92ea378ef3c', ref: el => this.popoverEl = el, id: `${this.componentId}-popover`, class: "pds-filter__popover", popover: "auto", part: "popover" }, h("slot", { key: '5a481cc6b143b059a5fc33d377abe5ab79aefb4e' })))));
488
+ return (h(Host, { key: '9b2286e9a0d7f88b7f6bc90f8444185cfec832c8', id: this.componentId }, h("button", { key: '968953600d615f2739757a91422dafdb817c9a6f', class: this.getTriggerClasses(), type: "button", popoverTarget: this.variant !== 'clear' ? `${this.componentId}-popover` : undefined, popoverTargetAction: this.variant !== 'clear' ? 'toggle' : undefined, onKeyDown: this.variant === 'clear' ? this.handleKeyDown : undefined, onClick: (event) => this.handleClick(event), part: "button", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": this.variant !== 'clear' ? 'true' : undefined, "aria-controls": this.variant !== 'clear' ? `${this.componentId}-popover` : undefined }, h("span", { key: 'ee479f7e510ffcb54f7857cb7d1345f2a5c1d76a', class: "pds-filter__button-content", part: "button-content" }, this.renderIcon(), this.text && (h("span", { key: 'e98aa8b915a2460f3c7d49e20ec7d43853ee5f9f', class: "pds-filter__button-text", part: "button-text" }, this.text)), this.renderDropdownIcon())), this.variant !== 'clear' && (h("div", { key: '3084babfba2d96880b2829a60d2ef00140a6813b', ref: el => this.popoverEl = el, id: `${this.componentId}-popover`, class: "pds-filter__popover", popover: "auto", part: "popover" }, h("slot", { key: 'e901488be75a18bedc6b2c42be5c398fd2cf2a29' })))));
489
489
  }
490
490
  static get is() { return "pds-filter"; }
491
491
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ import { Host, h } from "@stencil/core";
4
4
  */
5
5
  export class PdsFilters {
6
6
  render() {
7
- return (h(Host, { key: '8688235fe7cdea1b4fc540156ff21bb9711b41b6', id: this.componentId }, h("div", { key: 'e51a37977df8c31f99b28d8c7e4bedb0d63e53c6', class: "pds-filters" }, h("slot", { key: '8ce936da4d3f0213408090bc3eeb011920f9aa6c' }))));
7
+ return (h(Host, { key: '6f785fc222e3b5b7cf932f704b56aa7f1f52ead3', id: this.componentId }, h("div", { key: '0ffd2894cdeb1e632228b4c3fa523069dcffa4b2', class: "pds-filters" }, h("slot", { key: 'a3f42dedcda1b0fec78a33793d085791d9b9fc5c' }))));
8
8
  }
9
9
  static get is() { return "pds-filters"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -15,9 +15,9 @@ export class PdsImage {
15
15
  this.loading = 'eager';
16
16
  }
17
17
  render() {
18
- return (h(Host, { key: '1e8bb3882c2a629004ce1441e85d5c5a75a84e98', class: {
18
+ return (h(Host, { key: '6d2d48c468c39f53d67e63999dd83f3ad61053b5', class: {
19
19
  'pds-image': true,
20
- }, id: this.componentId }, h("img", { key: 'b50b19d51431d45027c7a918a4ba4c38493741d5', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
20
+ }, id: this.componentId }, h("img", { key: '393cc584586e37e8d5b602fbdcda1783bf80cf9b', alt: this.alt, height: this.height, loading: this.loading, sizes: this.sizes, src: this.src, srcset: this.srcset, width: this.width })));
21
21
  }
22
22
  static get is() { return "pds-image"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -289,10 +289,10 @@ export class PdsInput {
289
289
  'has-prepend': this.hasPrepend,
290
290
  'has-append': this.hasAppend,
291
291
  };
292
- return (h(Host, { key: '75eb8bc6cda5e947f8677ebefe7995688f03f947', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-prefix": this.hasPrefix ? 'true' : null, "has-suffix": this.hasSuffix ? 'true' : null, "has-prepend": this.hasPrepend ? 'true' : null, "has-append": this.hasAppend ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null, "full-width": this.fullWidth ? 'true' : null }, h("div", { key: '93d7f90b9a64daccea1533abc08a8cb18825b828', class: "pds-input" }, label && (h("div", { key: '948109b3bfa1a1b8171572da9160425e3e35a7a6', class: {
292
+ return (h(Host, { key: '1706e29a68d25a8bb83c36d6bddace04a448f6f5', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-prefix": this.hasPrefix ? 'true' : null, "has-suffix": this.hasSuffix ? 'true' : null, "has-prepend": this.hasPrepend ? 'true' : null, "has-append": this.hasAppend ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null, "full-width": this.fullWidth ? 'true' : null }, h("div", { key: '1488b6ea995c4ffc4068757f566494c0ac073950', class: "pds-input" }, label && (h("div", { key: 'e2fe4e461e626648ec51882e92e02fea179e3e13', class: {
293
293
  'pds-input__label-wrapper': true,
294
294
  'visually-hidden': this.hideLabel,
295
- } }, h("label", { key: 'bb0e6c6febb97ad4aa3942ac5e67ac42dc1bde0a', htmlFor: componentId, class: "pds-input__label" }, h("span", { key: 'c6a122f829aa3b92ccb715c3f3975f6baadb3028' }, label, this.required && h("span", { key: 'dce7d1a9c010a545992734bd238e9f6a4ca7b4ce', class: "pds-input__required-indicator" }, " *"))), !this.hideLabel && this.renderAction())), h("div", { key: '1b92ab5d649a4a9cf8112ea9b8a8a1095714f6d0', class: inputWrapperClasses }, this.renderPrepend(), this.renderPrefix(), h("input", Object.assign({ key: 'bc3c4b907312149d375bb78f9912e4501da59348', ref: (input) => (this.nativeInput = input), class: "pds-input__field", "aria-describedby": assignDescription(componentId, invalid, helperMessage, errorMessage), "aria-invalid": invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: disabled, id: componentId, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onKeyDown: this.onKeyDownEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.renderSuffix(), this.renderAppend()), helperMessage && (h("p", { key: 'f7bcbafc17a20310d602fce14a0adad522acbcb1', class: "pds-input__helper-message", id: messageId(componentId, 'helper') }, helperMessage)), errorMessage && (h("p", { key: 'bbbd6dc3203b89e5759587147de74d2ce3ce6177', class: "pds-input__error-message", id: messageId(componentId, 'error') }, h("pds-icon", { key: '68a6a92c82c1756ad99f431e0cb56756e3cdf75c', "aria-hidden": "true", icon: danger, size: "small" }), errorMessage)))));
295
+ } }, h("label", { key: 'c926a6fbb3130afdc6c86d509b92fb6650391c4b', htmlFor: componentId, class: "pds-input__label" }, h("span", { key: 'dbbaf9d0db49f949f69f1faf848e7c6193e32793' }, label, this.required && h("span", { key: '42e6325a0f5ee276ed92cf2eb71942c268c3d1aa', class: "pds-input__required-indicator" }, " *"))), !this.hideLabel && this.renderAction())), h("div", { key: '4715743733f2d7d3e4edf9ac4ab6d69ffde04d00', class: inputWrapperClasses }, this.renderPrepend(), this.renderPrefix(), h("input", Object.assign({ key: '438ac0fc6d497a8227c83e628d29d4633ffc208a', ref: (input) => (this.nativeInput = input), class: "pds-input__field", "aria-describedby": assignDescription(componentId, invalid, helperMessage, errorMessage), "aria-invalid": invalid ? "true" : undefined, autocomplete: this.autocomplete, disabled: disabled, id: componentId, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, step: this.step, type: this.type, value: value, onInput: this.onInputEvent, onChange: this.onChangeEvent, onBlur: this.onBlurEvent, onFocus: this.onFocusEvent, onKeyDown: this.onKeyDownEvent, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), this.renderSuffix(), this.renderAppend()), helperMessage && (h("p", { key: '43b5c3a332072f19a38be316565602932c61504d', class: "pds-input__helper-message", id: messageId(componentId, 'helper') }, helperMessage)), errorMessage && (h("p", { key: '54fd4fc2dcbc645377edbe4d04cfd82c7d1591e8', class: "pds-input__error-message", id: messageId(componentId, 'error') }, h("pds-icon", { key: '2bd509a575ec5c7a548955dd7f706d7c1d42557e', "aria-hidden": "true", icon: danger, size: "small" }), errorMessage)))));
296
296
  }
297
297
  static get is() { return "pds-input"; }
298
298
  static get encapsulation() { return "shadow"; }
@@ -211,8 +211,8 @@ export const withSuffixButton = (args) => html`<pds-input
211
211
  ?required=${args.required}
212
212
  type="text"
213
213
  value="${args.value}">
214
- <pds-button slot="suffix" variant="unstyled" class="pds-input__suffix">
215
- <pds-icon name="search" size="small"></pds-icon>
214
+ <pds-button slot="suffix" variant="unstyled" class="pds-input__suffix" aria-label="Submit search">
215
+ <pds-icon name="search" size="small" aria-hidden="true"></pds-icon>
216
216
  </pds-button>
217
217
  </pds-input>`;
218
218
 
@@ -355,8 +355,8 @@ export const withPrependAndSuffix = (args) => html`<pds-input
355
355
  <option value="EUR">EUR</option>
356
356
  <option value="GBP">GBP</option>
357
357
  </pds-select>
358
- <pds-button slot="suffix" variant="unstyled" class="pds-input__suffix">
359
- <pds-icon name="remove-circle" size="small"></pds-icon>
358
+ <pds-button slot="suffix" variant="unstyled" class="pds-input__suffix" aria-label="Clear amount">
359
+ <pds-icon name="remove-circle" size="small" aria-hidden="true"></pds-icon>
360
360
  </pds-button>
361
361
  </pds-input>`;
362
362
 
@@ -399,7 +399,7 @@ export const withActionButton = (args) => html`<pds-input
399
399
  ?required=${args.required}
400
400
  type="text"
401
401
  value="${args.value}">
402
- <pds-button slot="action" variant="unstyled">
403
- <pds-icon name="question-circle"></pds-icon>
402
+ <pds-button slot="action" variant="unstyled" aria-label="Help with username">
403
+ <pds-icon name="question-circle" aria-hidden="true"></pds-icon>
404
404
  </pds-button>
405
405
  </pds-input>`;
@@ -1,6 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { setColor } from "../../utils/utils";
3
3
  import { launch } from "@pine-ds/icons/icons";
4
+ // Used when `externalLabel` is unset; an empty string hides the icon instead.
5
+ const DEFAULT_EXTERNAL_LABEL = '(opens in a new tab)';
4
6
  /**
5
7
  * @part link - Link element styles.
6
8
  * @slot (default) - Text content placed between the opening and closing tags. If no text is provided, the **href** will be used as a fallback.
@@ -53,11 +55,18 @@ export class PdsLink {
53
55
  return linkStyles;
54
56
  }
55
57
  render() {
58
+ var _a;
56
59
  const targetValue = this.target || (this.external ? '_blank' : undefined);
57
60
  const showExternalIcon = this.external;
58
- const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
59
- return (h("a", { key: '3b6f9d19d7f50d0606cf5f3c3a97b85ee4aa63b0', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", "aria-current": this.active ? 'page' : undefined, target: targetValue, rel: relValue, style: this.setLinkStyles(), "data-turbo": this.turbo || undefined, "data-turbo-frame": this.turboFrame || undefined, "data-turbo-action": this.turboAction || undefined, "data-turbo-method": this.turboMethod || undefined, "data-turbo-confirm": this.turboConfirm || undefined, "data-turbo-stream": this.turboStream || undefined, "data-turbo-prefetch": this.turboPrefetch || undefined, "data-turbo-preload": this.turboPreload || undefined }, h("slot", { key: 'a265f1c4c9b6ff089b23906d8f650bfd65b25013' }, this.href), showExternalIcon &&
60
- h("pds-icon", { key: '9553a8256b6811296ea4b762e32662c1a2f4aecf', icon: launch, size: this.fontSize })));
61
+ const opensInNewTab = targetValue === '_blank';
62
+ const relValue = opensInNewTab ? 'noopener noreferrer' : undefined;
63
+ // A `target` other than _blank overrides `external`, and then the label
64
+ // would be false, so the icon is decorative there, as it is when the
65
+ // label is empty.
66
+ const externalLabel = (_a = this.externalLabel) !== null && _a !== void 0 ? _a : DEFAULT_EXTERNAL_LABEL;
67
+ const externalIconLabel = opensInNewTab && externalLabel !== '' ? externalLabel : undefined;
68
+ return (h("a", { key: 'ae7928aa6dce42657545a1d17581818d3724746f', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", "aria-current": this.active ? 'page' : undefined, target: targetValue, rel: relValue, style: this.setLinkStyles(), "data-turbo": this.turbo || undefined, "data-turbo-frame": this.turboFrame || undefined, "data-turbo-action": this.turboAction || undefined, "data-turbo-method": this.turboMethod || undefined, "data-turbo-confirm": this.turboConfirm || undefined, "data-turbo-stream": this.turboStream || undefined, "data-turbo-prefetch": this.turboPrefetch || undefined, "data-turbo-preload": this.turboPreload || undefined }, h("slot", { key: 'e61374c58fddec869f2f5dda54634a0b1ba9f345' }, this.href), showExternalIcon &&
69
+ h("pds-icon", { key: '161657146e5f3ce360480c573ea8f14c9012cb1f', icon: launch, size: this.fontSize, "aria-label": externalIconLabel, "aria-hidden": externalIconLabel === undefined ? 'true' : undefined })));
61
70
  }
62
71
  static get is() { return "pds-link"; }
63
72
  static get encapsulation() { return "shadow"; }
@@ -179,6 +188,28 @@ export class PdsLink {
179
188
  "attribute": "external",
180
189
  "defaultValue": "false"
181
190
  },
191
+ "externalLabel": {
192
+ "type": "string",
193
+ "mutable": false,
194
+ "complexType": {
195
+ "original": "string",
196
+ "resolved": "string",
197
+ "references": {}
198
+ },
199
+ "required": false,
200
+ "optional": true,
201
+ "docs": {
202
+ "tags": [{
203
+ "name": "defaultValue",
204
+ "text": "'(opens in a new tab)'"
205
+ }],
206
+ "text": "Accessible label for the icon that `external` shows, appended to the\nlink's name. It isn't announced when `target` keeps the link in the same\ntab. Pass a translated string to localize it; defaults to English. Pass an\nempty string to make the icon decorative."
207
+ },
208
+ "getter": false,
209
+ "setter": false,
210
+ "reflect": false,
211
+ "attribute": "external-label"
212
+ },
182
213
  "target": {
183
214
  "type": "string",
184
215
  "mutable": false,
@@ -1,4 +1,5 @@
1
1
  import { html } from 'lit';
2
+ import { ifDefined } from 'lit/directives/if-defined.js';
2
3
 
3
4
  export default {
4
5
  args: { href: '#some-anchor' },
@@ -12,8 +13,8 @@ export default {
12
13
  title: 'components/Link'
13
14
  }
14
15
 
15
- const BaseTemplate = (args) => html`<pds-link color=${args.color} ?external=${args.external} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}></pds-link>`;
16
- const BaseTemplateWithSlot = (args) => html` <pds-link color=${args.color} ?external=${args.external} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}>${args.slot}</pds-link>`;
16
+ const BaseTemplate = (args) => html`<pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}></pds-link>`;
17
+ const BaseTemplateWithSlot = (args) => html` <pds-link color=${args.color} ?external=${args.external} external-label=${ifDefined(args.externalLabel)} font-size=${args.fontSize} href=${args.href} component-id=${args.componentId} variant=${args.variant}>${args.slot}</pds-link>`;
17
18
 
18
19
  export const Colors = BaseTemplate.bind();
19
20
  Colors.args = {
@@ -66,7 +66,7 @@ export class PdsLoader {
66
66
  'aria-live': 'polite',
67
67
  };
68
68
  this.hostKeeper.record(hostClass, {}, hostAttributes);
69
- return (h(Host, Object.assign({ key: 'c42c1aeec5c8db9a1065f35492734a8cb265f3ce', class: hostClass }, hostAttributes), this.variant === 'spinner' && (h("div", { key: 'dc1b7943709d03e02467cca0817fb6a7ad5ed10a', class: "pds-loader--spinner" }, h("svg", { key: 'db38e607541ac1eb91be87b2cd0240341c8fb51d', style: this.getSvgStyle(), viewBox: "0 0 200 200", fill: "none", part: "loader-svg" }, h("defs", { key: 'd734ef70b0039758a25881c22bb3e6453ac40012' }, h("linearGradient", { key: '697627f516c5f7b4cd5351dd39de231c0cb9e429', id: "spinner-secondHalf" }, h("stop", { key: '03082c0ec354685eebf7d0132202d54b083d26df', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), h("stop", { key: '181b661b36aeb44943e20dec513f7265a9487004', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), h("linearGradient", { key: '67f6c51aefe99bcbfdb741290337364501fc4fcb', id: "spinner-firstHalf" }, h("stop", { key: 'cb6adf27ecb06b42ba572a702153de960491b0b6', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), h("stop", { key: 'aeebabfa1ac00391937388feefa120bd0bb4d26c', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), h("g", { key: 'f06ca75e4df171b6db426fce9bc34076cfee5bca', class: "pds-loader__spinner-path" }, h("path", { key: 'a278b37de8f77a1000efecb62b89e3f751712a98', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), h("path", { key: 'a035add4d01b60bcebf7625c8730d6a41ddf40ff', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), h("path", { key: '1189c8299d33a2a6bb6a8345b60f22bf4ad9beee', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (h("div", { key: '39826fae20e8826d9c73cf57ba938583d610e1ea', class: "pds-loader--typing" }, h("span", { key: '8f2b837c79548a1080710a7cc30c3be3a051e1dd' }), h("span", { key: '8efb1193ef51f110950861767eccc3896e90b81e' }), h("span", { key: '366f2d205adbb043691c253cff17d2d29d56a2cc' }))), h("div", { key: 'aeaa4aa12863b34088e84fd2791c2ce32dc05248', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, h("slot", { key: '7a8ec45aed1cd6f9e60f4db2ec5376439fa41c81', name: "label" }, "Loading..."))));
69
+ return (h(Host, Object.assign({ key: 'eaf8a64d5c2e37349ed2d2426a6c6bf1df68005f', class: hostClass }, hostAttributes), this.variant === 'spinner' && (h("div", { key: '216143117aabd29ca52c56cd7951a27f9742e466', class: "pds-loader--spinner" }, h("svg", { key: '9c9db37e883fb3a4ba5e0c7c173a5d7a76cdadda', style: this.getSvgStyle(), viewBox: "0 0 200 200", fill: "none", part: "loader-svg" }, h("defs", { key: '8f65f537290ea2dd96b66343324851d243fec3dd' }, h("linearGradient", { key: '8b1a53bcc9401b98dafa805cae8e417af7646bfd', id: "spinner-secondHalf" }, h("stop", { key: 'f06605f7180e9c07d5eb4c9dbadcdb87cee0dd70', offset: "0%", "stop-opacity": "0", "stop-color": "currentColor" }), h("stop", { key: '0bf492e4d5578bd0d98a2f7570a1dd21ca2ecf3d', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" })), h("linearGradient", { key: '6c7038c158d786866a408063b07b236bf17cefc1', id: "spinner-firstHalf" }, h("stop", { key: '916502c73bc4b78368bb210aed318537841917b9', offset: "0%", "stop-opacity": "1", "stop-color": "currentColor" }), h("stop", { key: '2d20708106bb3a685fbaf4bdcf099684a36359c0', offset: "100%", "stop-opacity": "0.5", "stop-color": "currentColor" }))), h("g", { key: '93165f80e7d5155b3dc8f2fc62e326bec7604c57', class: "pds-loader__spinner-path" }, h("path", { key: '4b1e39a899aadf9d4b4cbf954c783c1103c43c24', stroke: "url(#spinner-secondHalf)", d: "M 4 100 A 96 96 0 0 1 196 100" }), h("path", { key: '0aa1683dc97e2a01cc076a52a4883388c1d09c6f', stroke: "url(#spinner-firstHalf)", d: "M 196 100 A 96 96 0 0 1 4 100" }), h("path", { key: '9839fb9e0b473814d3b10eb27f7be87990b6c088', stroke: "currentColor", "stroke-linecap": "round", d: "M 4 100 A 96 96 0 0 1 4 98" }))))), this.variant === 'typing' && (h("div", { key: 'd83e4625ea2d41a545a98e08edb3033b83e7eb5b', class: "pds-loader--typing" }, h("span", { key: '2e793f3f5b17cb7709c8fc89e2054d7cd77fafd4' }), h("span", { key: 'c266ad3b8edf6c1cc392c544027f7cfd543b711c' }), h("span", { key: '061f9e3030cce603e50e8d86d3aa5036800c1324' }))), h("div", { key: '747c1c6c28136cfb9ba9dac0d4944bc6281af075', class: `pds-loader__label ${this.showLabel ? '' : 'pds-loader--hidden'}` }, h("slot", { key: '5eb5a5710deafa10bd269429edff0ac677546cf5', name: "label" }, "Loading..."))));
70
70
  }
71
71
  static get is() { return "pds-loader"; }
72
72
  static get encapsulation() { return "shadow"; }
@@ -183,10 +183,10 @@ export class PdsModalContent {
183
183
  render() {
184
184
  // Only apply max-height style if it's not 'none'
185
185
  const styleObj = this.contentMaxHeight !== 'none' ? { maxHeight: this.contentMaxHeight } : {};
186
- return (h(Host, { key: 'c83e230d23444e3d5358d995170e2b8386884fe8' }, h("div", { key: 'b91de2c71e693b5a1ba2b257d741e7b0418c2d76', class: {
186
+ return (h(Host, { key: 'b4200778f186c45a1917646ba2e0e4e623959951' }, h("div", { key: '39eaaf228e5441f5c0fd628c47be079fb4e07e0f', class: {
187
187
  'pds-modal-content': true,
188
188
  [`pds-modal-content--border-${this.border}`]: true
189
- }, style: styleObj, tabindex: "-1" }, h("slot", { key: '971cbd44ffeac4bb13a651948a119c603bed9e4f' }))));
189
+ }, style: styleObj, tabindex: "-1" }, h("slot", { key: 'ac31a9b81941b8b3abbac3a67c25bacaa54e6840' }))));
190
190
  }
191
191
  static get is() { return "pds-modal-content"; }
192
192
  static get originalStyleUrls() {
@@ -9,7 +9,7 @@ export class PdsModalFooter {
9
9
  unwrapReconnectedContent(this.el.querySelector('.pds-modal__footer'), '.pds-modal__footer');
10
10
  }
11
11
  render() {
12
- return (h("footer", { key: '030153b84f1ea1cb133c9ccec3ad86583995974f', class: "pds-modal__footer" }, h("slot", { key: '3a479e7047f3e845a65c37d60539648c8ff78602' })));
12
+ return (h("footer", { key: 'c0d50408471355d80759112e63f58c8a34fb7906', class: "pds-modal__footer" }, h("slot", { key: '6566d446457be8b57e37bf1542a5863b0018d233' })));
13
13
  }
14
14
  static get is() { return "pds-modal-footer"; }
15
15
  static get originalStyleUrls() {
@@ -9,7 +9,7 @@ export class PdsModalHeader {
9
9
  unwrapReconnectedContent(this.el.querySelector('.pds-modal__header'), '.pds-modal__header');
10
10
  }
11
11
  render() {
12
- return (h("header", { key: 'ee3ac5fb9b00a943aa86c3434ea07291b74d776c', class: "pds-modal__header" }, h("slot", { key: '0b0f7ff257635723099c536648a826be8dcc05e7' })));
12
+ return (h("header", { key: 'eb295ff36fd23b7965296b6dfcfcf783a32079a0', class: "pds-modal__header" }, h("slot", { key: '9c97566ff79f8d9b233d814395d5a7e893751a06' })));
13
13
  }
14
14
  static get is() { return "pds-modal-header"; }
15
15
  static get originalStyleUrls() {
@@ -1,91 +1,11 @@
1
1
  import { h } from "@stencil/core";
2
2
  import { closest } from "../../utils/closest";
3
+ import { tabbableIn } from "../../utils/tabbable";
3
4
  import { unwrapReconnectedContent } from "../../utils/reconnected-content";
4
5
  const PRESET_SIZES = ['sm', 'md', 'lg', 'fullscreen'];
5
6
  const isCustomLength = (value) => /^[a-z0-9.%+\-*/(), ]+$/i.test(value) &&
6
7
  /\d/.test(value) &&
7
8
  (typeof CSS === 'undefined' || CSS.supports('max-width', value));
8
- const TABBABLE = [
9
- 'a[href]',
10
- 'area[href]',
11
- 'button',
12
- 'input:not([type="hidden"])',
13
- 'select',
14
- 'textarea',
15
- 'iframe',
16
- 'summary',
17
- '[contenteditable]:not([contenteditable="false"])',
18
- '[tabindex]',
19
- ].join(',');
20
- /**
21
- * Collects the tabbable elements under `root` in focus order, walking into open shadow roots and
22
- * following slots, so a component's own controls (the input inside pds-combobox or pds-textarea)
23
- * count without being registered here by tag name. Positive tabindex values are not reordered,
24
- * and a closed shadow root can't be seen into.
25
- */
26
- function collectTabbable(root, found) {
27
- for (const child of Array.from(root.children))
28
- visitTabbable(child, found);
29
- }
30
- // An editing host reports tabIndex -1 but is still a Tab stop; editable content inside it is not.
31
- const isTabStop = (el) => { var _a; return el.tabIndex >= 0 || (el.isContentEditable && !el.hasAttribute('tabindex') && !((_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.isContentEditable)); };
32
- function visitTabbable(el, found) {
33
- var _a, _b, _c, _d;
34
- if (el.hasAttribute('inert'))
35
- return;
36
- if (el.localName === 'slot') {
37
- const slot = el;
38
- // Fallback content renders only when nothing at all is assigned, text included.
39
- if (((_b = (_a = slot.assignedNodes) === null || _a === void 0 ? void 0 : _a.call(slot, { flatten: true })) !== null && _b !== void 0 ? _b : []).length === 0)
40
- return collectTabbable(el, found);
41
- for (const slotted of slot.assignedElements({ flatten: true }))
42
- visitTabbable(slotted, found);
43
- return;
44
- }
45
- // A delegatesFocus host passes focus to its first control, which the walk below finds.
46
- const delegates = ((_c = el.shadowRoot) === null || _c === void 0 ? void 0 : _c.delegatesFocus) === true;
47
- if (el instanceof HTMLElement && !delegates && isTabStop(el) && el.matches(TABBABLE) && !el.matches(':disabled')) {
48
- found.push(el);
49
- }
50
- // A shadow host's light children render only through its slots, which the walk reaches.
51
- collectTabbable((_d = el.shadowRoot) !== null && _d !== void 0 ? _d : el, found);
52
- }
53
- /** The element as a radio in a named group, or `null`. */
54
- const groupedRadio = (el) => el instanceof HTMLInputElement && el.type === 'radio' && el.name !== '' ? el : null;
55
- /**
56
- * Keeps one radio per named group, as the browser does: the checked one, or the first. The others
57
- * are reached with the arrow keys, so they can't be the first or last stop of the trap.
58
- */
59
- function oneRadioPerGroup(elements) {
60
- // Radios group by name and form within one tree, so each shadow root starts its own groups.
61
- const groups = [];
62
- for (const el of elements) {
63
- const radio = groupedRadio(el);
64
- if (radio === null)
65
- continue;
66
- const group = groups.find(([first]) => first.name === radio.name && first.form === radio.form && first.getRootNode() === radio.getRootNode());
67
- if (group)
68
- group.push(radio);
69
- else
70
- groups.push([radio]);
71
- }
72
- const stops = new Set(groups.map((radios) => { var _a; return (_a = radios.find((radio) => radio.checked)) !== null && _a !== void 0 ? _a : radios[0]; }));
73
- return elements.filter((el) => groupedRadio(el) === null || stops.has(el));
74
- }
75
- /** The controls Tab reaches in `root`, in order: visible ones, and one radio per group. */
76
- function tabbableIn(root) {
77
- const found = [];
78
- collectTabbable(root, found);
79
- // checkVisibility() also drops an element inside a hidden ancestor, whose own computed
80
- // display isn't none; such an element can't take focus.
81
- const visible = found.filter(el => {
82
- if (typeof el.checkVisibility === 'function')
83
- return el.checkVisibility({ checkVisibilityCSS: true });
84
- const style = window.getComputedStyle(el);
85
- return style.display !== 'none' && style.visibility !== 'hidden';
86
- });
87
- return oneRadioPerGroup(visible);
88
- }
89
9
  /** Whether `node` is `ancestor` or inside it, crossing shadow roots, which `Node.contains` doesn't. */
90
10
  function containsComposed(ancestor, node) {
91
11
  for (let current = node; current; current = current instanceof ShadowRoot ? current.host : current.parentNode) {
@@ -645,14 +565,14 @@ export class PdsModal {
645
565
  }
646
566
  render() {
647
567
  const [sizeClass = 'md', customSize] = this.resolveSize();
648
- return (h("dialog", { key: '0a3ea92246b5ae704bc7dcbadf4f4e0d5a54e9e6', class: {
568
+ return (h("dialog", { key: 'cd574868a46b69185e2058c60374dbec34677732', class: {
649
569
  'pds-modal__backdrop': true,
650
570
  'open': this.open
651
- }, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: 'a38029c2284ed345bec2ce7638fc3415818cd609', class: {
571
+ }, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick, onCancel: this.handleCancel }, h("div", { key: '8c50fb4810b4bb07d62348fed44df30b14a52acd', class: {
652
572
  'pds-modal': true,
653
573
  [`pds-modal--${sizeClass}`]: true,
654
574
  'pds-modal--scrollable': this.scrollable
655
- }, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: '396da81af42685f5c083f853afa207a6844e444e' }))));
575
+ }, style: customSize !== undefined ? { '--pds-modal-max-width': customSize } : undefined, part: "modal" }, h("slot", { key: '25a71c95dfeff4648a28edef21bf510b1743ed7c' }))));
656
576
  }
657
577
  static get is() { return "pds-modal"; }
658
578
  static get originalStyleUrls() {
@@ -77,7 +77,7 @@ export class MockPdsModal {
77
77
  'pds-modal__backdrop': true,
78
78
  'open': this.open,
79
79
  };
80
- return (h("div", { key: '3a526f6883d7e7df35985a145962f656621535c1', class: backdropClasses }, h("div", { key: '3af0487dc8c8831903cd7c22ffbf3e708b067ad7', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null, part: "modal" }, h("div", { key: '94e6205042ee91dac0823901cc97b79e93a515f2', class: "pds-modal__header" }, h("slot", { key: 'ca04b575ccceabd431e3f5c57189f17f9aae6089', name: "header" })), h("div", { key: 'f8327a261e70b622add1dd4ee21b5f8e8d91e603', class: "pds-modal-content" }, h("slot", { key: 'a1a9c30d0f5479b0004ace4544e3d96ae87465be' })), h("div", { key: 'af5fa59922047eeec7cbf0a0e1ee4b472b16079c', class: "pds-modal__footer" }, h("slot", { key: '3c469bf94bb3a26dfd8046a5eda481f9d55edca1', name: "footer" })))));
80
+ return (h("div", { key: '6e165638f8f4699fa242f3045155c392f9f529b2', class: backdropClasses }, h("div", { key: 'f4b8db3093a6fbe24be8035a826e8289815e4afb', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null, part: "modal" }, h("div", { key: 'fa846f66e539ea0d1b73820abb991fdb02902499', class: "pds-modal__header" }, h("slot", { key: '0faaa6858fecd9d0c48c7f183d4f2101c1bed785', name: "header" })), h("div", { key: 'a896fba9494fcdee9dde7e0d9f7baf708095ee6f', class: "pds-modal-content" }, h("slot", { key: '4091e70b2a744c36c8249aa8664937d227145c14' })), h("div", { key: 'cbf4bdd80cc3575d8c7e2e0e2078e28c4f185920', class: "pds-modal__footer" }, h("slot", { key: '56ed3a26c36fd70d7ec9f033951d1b1d9e044957', name: "footer" })))));
81
81
  }
82
82
  static get is() { return "mock-pds-modal"; }
83
83
  static get originalStyleUrls() {
@@ -1260,10 +1260,10 @@ export class PdsMultiselect {
1260
1260
  }
1261
1261
  render() {
1262
1262
  const hasSelections = this.selectedItems.length > 0;
1263
- return (h(Host, { key: 'd0879469e6ff943374c2f035c0a8d6d57c25dc5f', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '80caa694099218561b85c93d547ec9208def0ec7', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: 'b4eaa2c9e2901c28ecb0b8f55e63e33ad899e945', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
1263
+ return (h(Host, { key: 'a92086af75e20b9b37b147365bfa517d96021700', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: 'd49e0442e3a348248e5ac3b37afc9f128b34956b', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: '41a081803dfd784e20a7135ecf5f5c4657908dd1', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
1264
1264
  'pds-multiselect__label': true,
1265
1265
  'visually-hidden': this.hideLabel,
1266
- } }, this.label)), h("div", { key: '404ed58aa6bfb2248ffad5e56ebabfe65149b9a4', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.slottedTriggerEl ? (h("slot", { name: "trigger" })) : this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
1266
+ } }, this.label)), h("div", { key: '0e3c8a3aaf7c70b4ff71972c29b8d5599f62ec97', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.slottedTriggerEl ? (h("slot", { name: "trigger" })) : this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
1267
1267
  'pds-multiselect__trigger': true,
1268
1268
  'pds-multiselect__trigger--open': this.isOpen,
1269
1269
  'pds-multiselect__trigger--disabled': this.disabled,
@@ -1279,7 +1279,7 @@ export class PdsMultiselect {
1279
1279
  }, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, h("span", { class: {
1280
1280
  'pds-multiselect__trigger-text': true,
1281
1281
  'pds-multiselect__trigger-text--placeholder': !hasSelections || (this.selectedDisplay === 'pill' && this.pillPosition === 'below'),
1282
- } }, this.getTriggerText()), h("pds-icon", { "aria-hidden": "true", class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '73f17916a37722fefebd6b5a184a7b3dca6f4a9d', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: '1a987562b21da6f8d2f8c9f94e93e8c99a7abd74', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'ce1f7f48d6f8dee320d87cb7088f084e68cb3ab5', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '8347dfdec6ef1b81d4cf9f72cba3d9ec965dcf08', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)), h("div", { key: '74cd840e102ad635d2f4bc23cf3bcfaa61d5cea1', style: { display: 'none' } }, h("slot", { key: 'c2fd9e71363a9661062c8d88be0dd78fc98b964d' })))));
1282
+ } }, this.getTriggerText()), h("pds-icon", { "aria-hidden": "true", class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: 'd5cddc1d3374d94ecf0cce1bcaf7c7125bf3128d', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: 'e3cb958b6fd2b1e138b769de0f53be1b8564902d', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'f6c2a30cc192391973d9b22fbb6732ce387832ac', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'f437effafaa383b81aec7b5bf635598c8b0075b8', "aria-hidden": "true", icon: danger, size: "small" }), this.errorMessage)), h("div", { key: 'f1e747137f2dc7cad3d4e1ff8fc293401e3173e1', style: { display: 'none' } }, h("slot", { key: 'f337137b3ca5983dc6641361101f6d19c972778c' })))));
1283
1283
  }
1284
1284
  static get is() { return "pds-multiselect"; }
1285
1285
  static get encapsulation() { return "shadow"; }
@@ -5,6 +5,12 @@
5
5
  :host .pds-popover__trigger-wrapper {
6
6
  display: inline-block;
7
7
  }
8
+ :host .pds-popover__tab-guard {
9
+ opacity: 0;
10
+ outline: none;
11
+ pointer-events: none;
12
+ position: fixed;
13
+ }
8
14
  :host .pds-popover__content-slot-wrapper {
9
15
  display: none;
10
16
  }