@pine-ds/core 3.28.0 → 3.29.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 (325) hide show
  1. package/components/pds-avatar.js +1 -1
  2. package/components/pds-link2.js +1 -1
  3. package/components/pds-tab.js +1 -1
  4. package/components/pds-tabpanel.js +1 -1
  5. package/components/pds-tabs.js +1 -1
  6. package/components/pds-text2.js +1 -1
  7. package/components/pds-textarea.js +1 -1
  8. package/components/pds-toast.js +1 -1
  9. package/components/pds-tooltip.js +1 -1
  10. package/dist/cjs/{index-DBhfI2Jq.js → index-BdFrBXCD.js} +5 -1
  11. package/dist/cjs/{index-DGBoDsAL.js → index-CKNNY-lQ.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +2 -2
  13. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  14. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  15. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  16. package/dist/cjs/pds-avatar.cjs.entry.js +38 -7
  17. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  18. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  19. package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/pds-chip.cjs.entry.js +2 -2
  21. package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
  22. package/dist/cjs/pds-container.cjs.entry.js +1 -1
  23. package/dist/cjs/pds-copytext.cjs.entry.js +2 -2
  24. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  25. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  26. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  27. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  28. package/dist/cjs/pds-filter.cjs.entry.js +2 -2
  29. package/dist/cjs/pds-filters.cjs.entry.js +1 -1
  30. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/pds-image.cjs.entry.js +1 -1
  32. package/dist/cjs/pds-input.cjs.entry.js +2 -2
  33. package/dist/cjs/pds-link.cjs.entry.js +12 -5
  34. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  35. package/dist/cjs/pds-modal-content.cjs.entry.js +1 -1
  36. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  37. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  38. package/dist/cjs/pds-modal.cjs.entry.js +1 -1
  39. package/dist/cjs/pds-multiselect.cjs.entry.js +2 -2
  40. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  41. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  42. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  43. package/dist/cjs/pds-radio-group.cjs.entry.js +2 -2
  44. package/dist/cjs/pds-radio.cjs.entry.js +2 -2
  45. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  46. package/dist/cjs/pds-select.cjs.entry.js +2 -2
  47. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  48. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  49. package/dist/cjs/pds-switch.cjs.entry.js +2 -2
  50. package/dist/cjs/pds-tab.cjs.entry.js +41 -6
  51. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  52. package/dist/cjs/pds-table-cell.cjs.entry.js +1 -1
  53. package/dist/cjs/pds-table-head-cell.cjs.entry.js +2 -2
  54. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  55. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  56. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  57. package/dist/cjs/pds-tabpanel.cjs.entry.js +8 -3
  58. package/dist/cjs/pds-tabs.cjs.entry.js +74 -3
  59. package/dist/cjs/pds-text.cjs.entry.js +2 -2
  60. package/dist/cjs/pds-textarea.cjs.entry.js +6 -6
  61. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  62. package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
  63. package/dist/cjs/pine-core.cjs.js +2 -2
  64. package/dist/collection/components/pds-avatar/pds-avatar.css +29 -0
  65. package/dist/collection/components/pds-avatar/pds-avatar.js +103 -4
  66. package/dist/collection/components/pds-avatar/stories/pds-avatar.stories.js +23 -0
  67. package/dist/collection/components/pds-button/pds-button.js +1 -1
  68. package/dist/collection/components/pds-button/stories/pds-button.stories.js +25 -0
  69. package/dist/collection/components/pds-link/pds-link.css +10 -0
  70. package/dist/collection/components/pds-link/pds-link.js +32 -2
  71. package/dist/collection/components/pds-link/stories/pds-link.stories.js +14 -0
  72. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.css +4 -4
  73. package/dist/collection/components/pds-tabs/pds-tab/pds-tab.js +161 -5
  74. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.css +9 -0
  75. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +29 -1
  76. package/dist/collection/components/pds-tabs/pds-tabs.css +14 -0
  77. package/dist/collection/components/pds-tabs/pds-tabs.js +146 -4
  78. package/dist/collection/components/pds-tabs/stories/pds-tabs.stories.js +43 -0
  79. package/dist/collection/components/pds-text/pds-text.js +1 -1
  80. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  81. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  82. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  83. package/dist/docs.json +360 -6
  84. package/dist/esm/{index-D4ys0pep.js → index-BjlFq0VD.js} +1 -1
  85. package/dist/esm/{index-CaRgVPt7.js → index-NNDTPCWx.js} +5 -2
  86. package/dist/esm/loader.js +3 -3
  87. package/dist/esm/mock-pds-modal.entry.js +1 -1
  88. package/dist/esm/pds-accordion.entry.js +2 -2
  89. package/dist/esm/pds-alert.entry.js +1 -1
  90. package/dist/esm/pds-avatar.entry.js +38 -7
  91. package/dist/esm/pds-box.entry.js +1 -1
  92. package/dist/esm/pds-button.entry.js +2 -2
  93. package/dist/esm/pds-checkbox.entry.js +2 -2
  94. package/dist/esm/pds-chip.entry.js +2 -2
  95. package/dist/esm/pds-combobox.entry.js +1 -1
  96. package/dist/esm/pds-container.entry.js +1 -1
  97. package/dist/esm/pds-copytext.entry.js +2 -2
  98. package/dist/esm/pds-divider.entry.js +1 -1
  99. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  100. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  101. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  102. package/dist/esm/pds-filter.entry.js +2 -2
  103. package/dist/esm/pds-filters.entry.js +1 -1
  104. package/dist/esm/pds-icon.entry.js +1 -1
  105. package/dist/esm/pds-image.entry.js +1 -1
  106. package/dist/esm/pds-input.entry.js +2 -2
  107. package/dist/esm/pds-link.entry.js +12 -5
  108. package/dist/esm/pds-loader.entry.js +1 -1
  109. package/dist/esm/pds-modal-content.entry.js +1 -1
  110. package/dist/esm/pds-modal-footer.entry.js +1 -1
  111. package/dist/esm/pds-modal-header.entry.js +1 -1
  112. package/dist/esm/pds-modal.entry.js +1 -1
  113. package/dist/esm/pds-multiselect.entry.js +2 -2
  114. package/dist/esm/pds-popover.entry.js +1 -1
  115. package/dist/esm/pds-progress.entry.js +1 -1
  116. package/dist/esm/pds-property.entry.js +1 -1
  117. package/dist/esm/pds-radio-group.entry.js +2 -2
  118. package/dist/esm/pds-radio.entry.js +2 -2
  119. package/dist/esm/pds-row.entry.js +1 -1
  120. package/dist/esm/pds-select.entry.js +2 -2
  121. package/dist/esm/pds-sortable-item.entry.js +2 -2
  122. package/dist/esm/pds-sortable.entry.js +1 -1
  123. package/dist/esm/pds-switch.entry.js +2 -2
  124. package/dist/esm/pds-tab.entry.js +41 -6
  125. package/dist/esm/pds-table-body.entry.js +1 -1
  126. package/dist/esm/pds-table-cell.entry.js +1 -1
  127. package/dist/esm/pds-table-head-cell.entry.js +2 -2
  128. package/dist/esm/pds-table-head.entry.js +1 -1
  129. package/dist/esm/pds-table-row.entry.js +1 -1
  130. package/dist/esm/pds-table.entry.js +1 -1
  131. package/dist/esm/pds-tabpanel.entry.js +8 -3
  132. package/dist/esm/pds-tabs.entry.js +74 -3
  133. package/dist/esm/pds-text.entry.js +2 -2
  134. package/dist/esm/pds-textarea.entry.js +6 -6
  135. package/dist/esm/pds-toast.entry.js +4 -4
  136. package/dist/esm/pds-tooltip.entry.js +3 -3
  137. package/dist/esm/pine-core.js +3 -3
  138. package/dist/esm-es5/{index-CaRgVPt7.js → index-NNDTPCWx.js} +2 -2
  139. package/dist/esm-es5/loader.js +1 -1
  140. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  141. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  142. package/dist/esm-es5/pds-alert.entry.js +1 -1
  143. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  144. package/dist/esm-es5/pds-box.entry.js +1 -1
  145. package/dist/esm-es5/pds-button.entry.js +1 -1
  146. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  147. package/dist/esm-es5/pds-chip.entry.js +1 -1
  148. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  149. package/dist/esm-es5/pds-container.entry.js +1 -1
  150. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  151. package/dist/esm-es5/pds-divider.entry.js +1 -1
  152. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  153. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  154. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  155. package/dist/esm-es5/pds-filter.entry.js +1 -1
  156. package/dist/esm-es5/pds-filters.entry.js +1 -1
  157. package/dist/esm-es5/pds-icon.entry.js +1 -1
  158. package/dist/esm-es5/pds-image.entry.js +1 -1
  159. package/dist/esm-es5/pds-input.entry.js +1 -1
  160. package/dist/esm-es5/pds-link.entry.js +1 -1
  161. package/dist/esm-es5/pds-loader.entry.js +1 -1
  162. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  163. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  164. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  165. package/dist/esm-es5/pds-modal.entry.js +1 -1
  166. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  167. package/dist/esm-es5/pds-popover.entry.js +1 -1
  168. package/dist/esm-es5/pds-progress.entry.js +1 -1
  169. package/dist/esm-es5/pds-property.entry.js +1 -1
  170. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  171. package/dist/esm-es5/pds-radio.entry.js +1 -1
  172. package/dist/esm-es5/pds-row.entry.js +1 -1
  173. package/dist/esm-es5/pds-select.entry.js +1 -1
  174. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  175. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  176. package/dist/esm-es5/pds-switch.entry.js +1 -1
  177. package/dist/esm-es5/pds-tab.entry.js +1 -1
  178. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  179. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  180. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  181. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  182. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  183. package/dist/esm-es5/pds-table.entry.js +1 -1
  184. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  185. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  186. package/dist/esm-es5/pds-text.entry.js +1 -1
  187. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  188. package/dist/esm-es5/pds-toast.entry.js +1 -1
  189. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  190. package/dist/esm-es5/pine-core.js +1 -1
  191. package/dist/pine-core/p-02805a93.system.entry.js +1 -0
  192. package/dist/pine-core/{p-e70c9002.entry.js → p-02977c6f.entry.js} +1 -1
  193. package/dist/pine-core/{p-4e49712d.entry.js → p-054f7011.entry.js} +1 -1
  194. package/dist/pine-core/{p-571d6bef.system.entry.js → p-076aaa00.system.entry.js} +1 -1
  195. package/dist/pine-core/{p-3fa80c5a.system.entry.js → p-092a72d2.system.entry.js} +1 -1
  196. package/dist/pine-core/p-0a09ccbe.entry.js +1 -0
  197. package/dist/pine-core/p-0a4f2d5f.system.entry.js +1 -0
  198. package/dist/pine-core/{p-f2cf8e76.entry.js → p-0d6daa35.entry.js} +1 -1
  199. package/dist/pine-core/p-12154189.system.entry.js +1 -0
  200. package/dist/pine-core/{p-44f58d33.system.entry.js → p-1deded6e.system.entry.js} +1 -1
  201. package/dist/pine-core/{p-fa81009f.system.entry.js → p-1f20608e.system.entry.js} +1 -1
  202. package/dist/pine-core/{p-27ac77c3.entry.js → p-1fb985bb.entry.js} +1 -1
  203. package/dist/pine-core/{p-855dfc31.system.entry.js → p-20e0d06c.system.entry.js} +1 -1
  204. package/dist/pine-core/p-24fcf841.system.entry.js +1 -0
  205. package/dist/pine-core/{p-c273210a.entry.js → p-292cf8f9.entry.js} +1 -1
  206. package/dist/pine-core/{p-db1572a3.entry.js → p-2a74b396.entry.js} +1 -1
  207. package/dist/pine-core/p-2d1cc047.entry.js +1 -0
  208. package/dist/pine-core/{p-002c420f.system.entry.js → p-2ec460e1.system.entry.js} +1 -1
  209. package/dist/pine-core/{p-e0cfb931.system.entry.js → p-2fc127b4.system.entry.js} +1 -1
  210. package/dist/pine-core/{p-d09ae46d.system.entry.js → p-3170d53b.system.entry.js} +1 -1
  211. package/dist/pine-core/{p-0451fdf7.entry.js → p-39ad92fc.entry.js} +1 -1
  212. package/dist/pine-core/{p-974bf0c5.entry.js → p-39c6e6c9.entry.js} +1 -1
  213. package/dist/pine-core/{p-d5c1f85e.system.entry.js → p-3c6300a8.system.entry.js} +1 -1
  214. package/dist/pine-core/{p-8a00e32b.system.entry.js → p-3e3b3bf6.system.entry.js} +1 -1
  215. package/dist/pine-core/{p-52f7115b.entry.js → p-43a1d9d7.entry.js} +1 -1
  216. package/dist/pine-core/{p-13ec2343.entry.js → p-43ef94bc.entry.js} +1 -1
  217. package/dist/pine-core/{p-618ba6d5.system.entry.js → p-464ec4eb.system.entry.js} +1 -1
  218. package/dist/pine-core/{p-ee6f914c.entry.js → p-47708864.entry.js} +1 -1
  219. package/dist/pine-core/{p-ccb889d8.system.entry.js → p-507e831f.system.entry.js} +1 -1
  220. package/dist/pine-core/p-5c229a7f.entry.js +1 -0
  221. package/dist/pine-core/{p-5c6c2f79.system.entry.js → p-5c7a72aa.system.entry.js} +1 -1
  222. package/dist/pine-core/{p-71ca8845.system.entry.js → p-5e6e8d4e.system.entry.js} +1 -1
  223. package/dist/pine-core/{p-3ad9bcef.system.entry.js → p-5f4d2c5c.system.entry.js} +1 -1
  224. package/dist/pine-core/{p-6a2373d0.system.entry.js → p-606418b7.system.entry.js} +1 -1
  225. package/dist/pine-core/{p-22bfa998.entry.js → p-6254d112.entry.js} +1 -1
  226. package/dist/pine-core/{p-5a2df1e2.entry.js → p-62f75f84.entry.js} +1 -1
  227. package/dist/pine-core/{p-835d9f18.system.entry.js → p-69e47ffc.system.entry.js} +1 -1
  228. package/dist/pine-core/p-6f82e8dc.system.entry.js +1 -0
  229. package/dist/pine-core/{p-b1b317a5.entry.js → p-6fb68ad1.entry.js} +1 -1
  230. package/dist/pine-core/{p-1e3beca4.system.entry.js → p-7153efaf.system.entry.js} +1 -1
  231. package/dist/pine-core/{p-a982ac91.system.entry.js → p-72a1b563.system.entry.js} +1 -1
  232. package/dist/pine-core/{p-7aca41d9.system.entry.js → p-7803c5b6.system.entry.js} +1 -1
  233. package/dist/pine-core/{p-74e06c8d.system.entry.js → p-78cd9f97.system.entry.js} +1 -1
  234. package/dist/pine-core/{p-edf4e4eb.system.entry.js → p-79598750.system.entry.js} +1 -1
  235. package/dist/pine-core/p-7a7954b2.system.entry.js +1 -0
  236. package/dist/pine-core/{p-3ba36512.system.entry.js → p-7b85115b.system.entry.js} +1 -1
  237. package/dist/pine-core/{p-83eb33d4.entry.js → p-7bac161d.entry.js} +1 -1
  238. package/dist/pine-core/{p-bdf18687.entry.js → p-7d15b65e.entry.js} +1 -1
  239. package/dist/pine-core/{p-621fdce1.entry.js → p-7e065b59.entry.js} +1 -1
  240. package/dist/pine-core/{p-041243ee.system.entry.js → p-82af7d58.system.entry.js} +1 -1
  241. package/dist/pine-core/{p-73b81009.entry.js → p-83e8f145.entry.js} +1 -1
  242. package/dist/pine-core/{p-c7c17fe3.system.entry.js → p-85f7428b.system.entry.js} +1 -1
  243. package/dist/pine-core/{p-ae840ec4.entry.js → p-87ba6d2b.entry.js} +1 -1
  244. package/dist/pine-core/{p-e48161a5.entry.js → p-8c0040c4.entry.js} +1 -1
  245. package/dist/pine-core/{p-a659cce1.entry.js → p-8c85f53a.entry.js} +1 -1
  246. package/dist/pine-core/{p-20f39b93.system.entry.js → p-8d6fd5a7.system.entry.js} +1 -1
  247. package/dist/pine-core/{p-7247fb4f.entry.js → p-902b5790.entry.js} +1 -1
  248. package/dist/pine-core/{p-3f19666c.entry.js → p-92f648ba.entry.js} +1 -1
  249. package/dist/pine-core/{p-e620e492.system.entry.js → p-9374cf48.system.entry.js} +1 -1
  250. package/dist/pine-core/p-978b848b.system.entry.js +1 -0
  251. package/dist/pine-core/{p-babd0607.system.entry.js → p-9aaee1e9.system.entry.js} +1 -1
  252. package/dist/pine-core/p-9ba86e34.entry.js +1 -0
  253. package/dist/pine-core/{p-4abec102.system.entry.js → p-9f041a63.system.entry.js} +2 -2
  254. package/dist/pine-core/p-B1rytYxP.system.js +1 -0
  255. package/dist/pine-core/{p-CdwliqhD.system.js → p-DVZjHa4_.system.js} +2 -2
  256. package/dist/pine-core/p-NNDTPCWx.js +2 -0
  257. package/dist/pine-core/{p-ba88ff60.system.entry.js → p-a03c12a4.system.entry.js} +1 -1
  258. package/dist/pine-core/{p-2cc1ec4c.entry.js → p-a9ef5295.entry.js} +1 -1
  259. package/dist/pine-core/{p-334b7c30.entry.js → p-ac2775b5.entry.js} +1 -1
  260. package/dist/pine-core/{p-a1750a54.entry.js → p-b0058cb0.entry.js} +1 -1
  261. package/dist/pine-core/p-b0674b8d.entry.js +1 -0
  262. package/dist/pine-core/{p-5f36fafa.system.entry.js → p-b5c760c8.system.entry.js} +1 -1
  263. package/dist/pine-core/{p-3a1b7302.system.entry.js → p-b6812452.system.entry.js} +1 -1
  264. package/dist/pine-core/{p-2b0cb8c4.system.entry.js → p-b89583e7.system.entry.js} +1 -1
  265. package/dist/pine-core/{p-5584a56b.entry.js → p-b9380ce8.entry.js} +1 -1
  266. package/dist/pine-core/{p-568bb210.system.entry.js → p-ba54470a.system.entry.js} +1 -1
  267. package/dist/pine-core/{p-7a4da839.entry.js → p-bf759fc0.entry.js} +1 -1
  268. package/dist/pine-core/{p-791d357a.entry.js → p-c1932447.entry.js} +1 -1
  269. package/dist/pine-core/{p-cce83ef0.entry.js → p-c2688710.entry.js} +1 -1
  270. package/dist/pine-core/{p-46de2438.entry.js → p-c35fe2e2.entry.js} +1 -1
  271. package/dist/pine-core/{p-ef71710b.system.entry.js → p-c3748812.system.entry.js} +2 -2
  272. package/dist/pine-core/{p-59a5dd77.system.entry.js → p-c52ad43b.system.entry.js} +1 -1
  273. package/dist/pine-core/{p-3876b9be.entry.js → p-ce715993.entry.js} +1 -1
  274. package/dist/pine-core/{p-587a15ee.system.entry.js → p-cf389430.system.entry.js} +1 -1
  275. package/dist/pine-core/{p-7874fe2b.entry.js → p-d037308b.entry.js} +1 -1
  276. package/dist/pine-core/{p-52e9ec4f.entry.js → p-d281464e.entry.js} +1 -1
  277. package/dist/pine-core/{p-04f8b32a.entry.js → p-d70201bb.entry.js} +1 -1
  278. package/dist/pine-core/{p-9865431f.system.entry.js → p-d9cb26fe.system.entry.js} +1 -1
  279. package/dist/pine-core/{p-44388b8f.system.entry.js → p-dc460e2d.system.entry.js} +1 -1
  280. package/dist/pine-core/{p-25f8690f.entry.js → p-dc48f603.entry.js} +1 -1
  281. package/dist/pine-core/{p-01dba061.entry.js → p-dcc4ee5e.entry.js} +1 -1
  282. package/dist/pine-core/{p-f366f064.entry.js → p-def5d3d3.entry.js} +1 -1
  283. package/dist/pine-core/{p-2af1d1d3.system.entry.js → p-e0fb06ea.system.entry.js} +1 -1
  284. package/dist/pine-core/{p-fda3f3c6.entry.js → p-e4b69d10.entry.js} +1 -1
  285. package/dist/pine-core/{p-ae2b466a.system.entry.js → p-e81b4d04.system.entry.js} +1 -1
  286. package/dist/pine-core/{p-c3a99f39.entry.js → p-eb42ca18.entry.js} +1 -1
  287. package/dist/pine-core/{p-59c60e5b.entry.js → p-ebe218f8.entry.js} +1 -1
  288. package/dist/pine-core/{p-889fce8a.entry.js → p-ec2c0e57.entry.js} +2 -2
  289. package/dist/pine-core/{p-fb68e503.system.entry.js → p-eed4b552.system.entry.js} +1 -1
  290. package/dist/pine-core/p-f6d1469d.entry.js +1 -0
  291. package/dist/pine-core/{p-65fb166c.system.entry.js → p-fb10caff.system.entry.js} +1 -1
  292. package/dist/pine-core/{p-0bf56f61.entry.js → p-ff1e9a32.entry.js} +1 -1
  293. package/dist/pine-core/p-ff3399ed.entry.js +1 -0
  294. package/dist/pine-core/pine-core.css +1 -1
  295. package/dist/pine-core/pine-core.esm.js +1 -1
  296. package/dist/pine-core/pine-core.js +1 -1
  297. package/dist/types/components/pds-avatar/pds-avatar.d.ts +24 -0
  298. package/dist/types/components/pds-button/pds-button.d.ts +1 -1
  299. package/dist/types/components/pds-link/pds-link.d.ts +7 -0
  300. package/dist/types/components/pds-tabs/pds-tab/pds-tab.d.ts +42 -0
  301. package/dist/types/components/pds-tabs/pds-tabpanel/pds-tabpanel.d.ts +5 -0
  302. package/dist/types/components/pds-tabs/pds-tabs.d.ts +25 -2
  303. package/dist/types/components.d.ts +134 -5
  304. package/hydrate/index.js +199 -33
  305. package/hydrate/index.mjs +199 -33
  306. package/package.json +2 -2
  307. package/dist/pine-core/p-003f91b1.system.entry.js +0 -1
  308. package/dist/pine-core/p-006398c3.system.entry.js +0 -1
  309. package/dist/pine-core/p-1f4910b0.system.entry.js +0 -1
  310. package/dist/pine-core/p-63e0d4a5.system.entry.js +0 -1
  311. package/dist/pine-core/p-6c5aacad.entry.js +0 -1
  312. package/dist/pine-core/p-73dd2a2b.entry.js +0 -1
  313. package/dist/pine-core/p-7520a715.system.entry.js +0 -1
  314. package/dist/pine-core/p-7766e970.entry.js +0 -1
  315. package/dist/pine-core/p-7b954dbf.entry.js +0 -1
  316. package/dist/pine-core/p-8065c732.entry.js +0 -1
  317. package/dist/pine-core/p-C61CFP22.system.js +0 -1
  318. package/dist/pine-core/p-CaRgVPt7.js +0 -2
  319. package/dist/pine-core/p-ab957ace.system.entry.js +0 -1
  320. package/dist/pine-core/p-af48e6ae.entry.js +0 -1
  321. package/dist/pine-core/p-e291db30.entry.js +0 -1
  322. package/dist/pine-core/p-e77c5c08.system.entry.js +0 -1
  323. /package/dist/esm-es5/{index-D4ys0pep.js → index-BjlFq0VD.js} +0 -0
  324. /package/dist/pine-core/{p-D4ys0pep.js → p-BjlFq0VD.js} +0 -0
  325. /package/dist/pine-core/{p-C62JIZmE.system.js → p-WYNNo1N0.system.js} +0 -0
package/hydrate/index.mjs CHANGED
@@ -3154,6 +3154,9 @@ var setContentReference = (elm) => {
3154
3154
  contentRefElm["s-cn"] = true;
3155
3155
  insertBefore(elm, contentRefElm, elm.firstChild);
3156
3156
  };
3157
+
3158
+ // src/runtime/fragment.ts
3159
+ var Fragment = (_, children) => children;
3157
3160
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
3158
3161
  if (listeners && win.document) {
3159
3162
  listeners.map(([flags, name, method]) => {
@@ -5547,7 +5550,7 @@ class MockPdsModal {
5547
5550
  }; }
5548
5551
  }
5549
5552
 
5550
- /* pds-icons v9.21.0, ES Modules */
5553
+ /* pds-icons v10.2.0, ES Modules */
5551
5554
 
5552
5555
  const addCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 0 1 1-1'/></svg>";
5553
5556
  const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
@@ -5709,7 +5712,7 @@ class PdsAlert {
5709
5712
  }; }
5710
5713
  }
5711
5714
 
5712
- const pdsAvatarCss = () => `:host{display:inline-block}div{--color-background-container:var(--pine-color-background-container-hover);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-dimension-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-none)}.pds-avatar__button:focus-visible{outline:var(--pine-outline-focus)}.pds-avatar__badge{background-color:transparent;border:var(--pine-dimension-none);border-color:transparent;border-radius:var(--pine-border-radius-round);inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);position:absolute}img{border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.pds-avatar__initials{color:var(--pine-color-brand);fill:var(--pine-color-brand);font-size:var(--pine-font-size-085);font-weight:var(--pine-font-weight-semi-bold);height:100%;text-align:center;width:100%}.pds-avatar__initials text{text-anchor:middle}`;
5715
+ const pdsAvatarCss = () => `:host{display:inline-block}div{--color-background-container:var(--pine-color-background-container-hover);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-dimension-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-none)}.pds-avatar__button:focus-visible{outline:var(--pine-outline-focus)}.pds-avatar__badge{background-color:transparent;border:var(--pine-dimension-none);border-color:transparent;border-radius:var(--pine-border-radius-round);inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);position:absolute}:host([status=online]){--pds-avatar-status-color:var(--pine-color-green-500)}:host([status=away]){--pds-avatar-status-color:var(--pine-color-yellow-500)}:host([status=offline]){--pds-avatar-status-color:var(--pine-color-background-inset-emphasized)}.pds-avatar__status{background-color:var(--pds-avatar-status-color, var(--pine-color-background-inset-emphasized));block-size:28%;border-radius:var(--pine-border-radius-full);-webkit-box-shadow:0 0 0 var(--pine-border-width-thick) var(--pine-color-background-container);box-shadow:0 0 0 var(--pine-border-width-thick) var(--pine-color-background-container);inline-size:28%;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);min-block-size:var(--pine-dimension-100);min-inline-size:var(--pine-dimension-100);position:absolute}:host(.pds-avatar--status-ring) div{-webkit-box-shadow:0 0 0 var(--pine-border-width-thick) var(--pds-avatar-status-color, var(--pine-color-background-inset-emphasized));box-shadow:0 0 0 var(--pine-border-width-thick) var(--pds-avatar-status-color, var(--pine-color-background-inset-emphasized))}img{border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.pds-avatar__initials{color:var(--pine-color-brand);fill:var(--pine-color-brand);font-size:var(--pine-font-size-085);font-weight:var(--pine-font-weight-semi-bold);height:100%;text-align:center;width:100%}.pds-avatar__initials text{text-anchor:middle}`;
5713
5716
 
5714
5717
  /**
5715
5718
  * @part asset-wrapper
@@ -5749,6 +5752,21 @@ class PdsAvatar {
5749
5752
  * @defaultValue lg
5750
5753
  */
5751
5754
  this.size = 'lg';
5755
+ /**
5756
+ * Displays a presence status indicator (a dot) on the avatar: `online`
5757
+ * (success), `away` (warning), or `offline` (neutral). For a simple
5758
+ * active/inactive presence, map active to `online` and inactive to `offline`.
5759
+ * Takes precedence over `badge` — they share the same corner, so the badge is
5760
+ * hidden while `status` is set.
5761
+ * @defaultValue null
5762
+ */
5763
+ this.status = null;
5764
+ /**
5765
+ * Determines whether a ring is shown around the avatar in the `status` color.
5766
+ * Has no effect unless `status` is set.
5767
+ * @defaultValue false
5768
+ */
5769
+ this.statusRing = false;
5752
5770
  /**
5753
5771
  * Determines the variant of avatar. Changes appearance accordingly.
5754
5772
  * @defaultValue customer
@@ -5765,7 +5783,7 @@ class PdsAvatar {
5765
5783
  height: this.avatarSize(),
5766
5784
  width: this.avatarSize()
5767
5785
  };
5768
- return (hAsync("div", { style: style, part: "asset-wrapper" }, this.renderIconOrImage(), this.renderBadge()));
5786
+ return (hAsync("div", { style: style, part: "asset-wrapper" }, this.renderIconOrImage(), this.renderBadge(), this.renderStatus()));
5769
5787
  };
5770
5788
  this.renderAvatar = () => {
5771
5789
  return (this.dropdown
@@ -5774,11 +5792,26 @@ class PdsAvatar {
5774
5792
  :
5775
5793
  this.renderAssetWrapper());
5776
5794
  };
5777
- this.renderBadge = () => (this.badge
5795
+ this.renderBadge = () => (
5796
+ // `badge` and `status` share the bottom-end corner; `status` wins so the
5797
+ // presence dot is never painted over the badge.
5798
+ this.badge && !this.status
5778
5799
  // Percentage is average size of icon in relation to total avatar size
5779
5800
  // of all preset sizes found in Figma.
5780
5801
  // Used to allow icons to scale to container size
5781
5802
  && hAsync("pds-icon", { color: "var(--pine-color-purple-600)", class: "pds-avatar__badge", icon: checkCircleFilled, size: "33.53%" }));
5803
+ this.renderStatus = () => {
5804
+ var _a;
5805
+ if (!this.status)
5806
+ return null;
5807
+ // Inside the dropdown trigger, the button's aria-label owns the accessible
5808
+ // name, so the dot's own label is never announced. Mark it decorative there
5809
+ // and let consumers convey presence via `triggerLabel`.
5810
+ if (this.dropdown) {
5811
+ return hAsync("span", { class: "pds-avatar__status", part: "status", "aria-hidden": "true" });
5812
+ }
5813
+ return (hAsync("span", { class: "pds-avatar__status", part: "status", role: "img", "aria-label": (_a = this.statusLabel) !== null && _a !== void 0 ? _a : `${this.status} status` }));
5814
+ };
5782
5815
  this.renderIconOrImage = () => {
5783
5816
  if (this.image) {
5784
5817
  return hAsync("img", { alt: this.alt, src: this.image });
@@ -5795,7 +5828,8 @@ class PdsAvatar {
5795
5828
  'pds-avatar': true,
5796
5829
  [`pds-avatar--has-image`]: this.image !== '' && this.image !== null, // Remove when FF supports :has selector
5797
5830
  [`pds-avatar--has-initials`]: this.initials !== '' && this.initials !== null,
5798
- [`pds-avatar--${this.variant}`]: this.variant === 'admin'
5831
+ [`pds-avatar--${this.variant}`]: this.variant === 'admin',
5832
+ [`pds-avatar--status-ring`]: !!this.status && this.statusRing,
5799
5833
  });
5800
5834
  }
5801
5835
  avatarSize() {
@@ -5814,7 +5848,7 @@ class PdsAvatar {
5814
5848
  }
5815
5849
  }
5816
5850
  render() {
5817
- return (hAsync(Host, { key: 'd8c417ed6fca497bac5bb51a184b1f7d0077bc03', id: this.componentId, class: Object.assign({}, this.classNames()) }, this.renderAvatar()));
5851
+ return (hAsync(Host, { key: '594604d25190002ec166626b4a4a1a9a6be875d8', id: this.componentId, class: Object.assign({}, this.classNames()) }, this.renderAvatar()));
5818
5852
  }
5819
5853
  static get style() { return pdsAvatarCss(); }
5820
5854
  static get cmpMeta() { return {
@@ -5828,12 +5862,15 @@ class PdsAvatar {
5828
5862
  "image": [1],
5829
5863
  "initials": [1],
5830
5864
  "size": [513],
5865
+ "status": [513],
5866
+ "statusLabel": [1, "status-label"],
5867
+ "statusRing": [4, "status-ring"],
5831
5868
  "variant": [513],
5832
5869
  "triggerLabel": [1, "trigger-label"]
5833
5870
  },
5834
5871
  "$listeners$": undefined,
5835
5872
  "$lazyBundleId$": "-",
5836
- "$attrsToReflect$": [["size", "size"], ["variant", "variant"]]
5873
+ "$attrsToReflect$": [["size", "size"], ["status", "status"], ["variant", "variant"]]
5837
5874
  }; }
5838
5875
  }
5839
5876
 
@@ -6178,7 +6215,7 @@ class PdsBox {
6178
6215
  const pdsButtonCss = () => `:host{--pds-button-background:var(--pds-button-color-background-default);--pds-button-border:var(--pine-border);--pds-button-border-radius:var(--pine-border-radius-full);--pds-button-border-radius-start-end:var(--pine-border-radius-full);--pds-button-border-radius-start-start:var(--pine-border-radius-full);--pds-button-border-radius-end-end:var(--pine-border-radius-full);--pds-button-border-radius-end-start:var(--pine-border-radius-full);--pds-button-min-height:var(--pine-dimension-450);--pds-button-outline-offset:var(--pine-border-width);--pds-button-color-border-default:transparent;--pds-button-color-border-disabled:transparent;--pds-button-color-border-focus:transparent;--pds-button-color-border-hover:transparent;--button-loader-color:var(--pds-button-color-text-default);display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}:host([full-width=true]){display:-ms-flexbox;display:flex;width:100%}:host([full-width=true]) a,:host([full-width=true]) button{-ms-flex-pack:center;justify-content:center;width:100%}:host([full-width=true]) .pds-button__content{-ms-flex-pack:center;justify-content:center;text-align:center}:host([loading=true]){cursor:wait;pointer-events:none}:host([aria-disabled=true]){pointer-events:none}.pds-button{--pds-loader-color:var(--pds-button-color-text-default);-ms-flex-align:center;align-items:center;background-color:var(--pds-button-background, var(--pds-button-color-background-default));border:var(--pds-button-border);border-color:var(--pds-button-color-border-default);border-radius:var(--pds-button-border-radius);border-end-end-radius:var(--pds-button-border-radius-end-end, var(--pds-button-border-radius));border-end-start-radius:var(--pds-button-border-radius-end-start, var(--pds-button-border-radius));border-start-end-radius:var(--pds-button-border-radius-start-end, var(--pds-button-border-radius));border-start-start-radius:var(--pds-button-border-radius-start-start, var(--pds-button-border-radius));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--pds-button-color-text-default);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body-brand-label);letter-spacing:var(--pine-letter-spacing);min-height:var(--pds-button-min-height);padding:calc(var(--pine-dimension-xs) - var(--pine-border-width)) var(--pine-dimension-sm);position:relative;text-decoration:none}.pds-button pds-icon{color:currentColor;fill:currentColor}.pds-button:hover{background-color:var(--pds-button-color-background-hover);border-color:var(--pds-button-color-border-hover)}.pds-button:focus-visible{border-color:var(--pds-button-color-border-focus);-webkit-box-shadow:var(--pds-button-box-shadow-focus, none);box-shadow:var(--pds-button-box-shadow-focus, none);outline:var(--pds-button-outline-focus, var(--pine-outline-focus));outline-offset:var(--pds-button-outline-offset)}.pds-button:disabled{background-color:var(--pds-button-color-background-disabled);border-color:var(--pds-button-color-border-disabled);color:var(--pds-button-color-text-disabled);pointer-events:none}.pds-button--primary{--pds-button-color-background-default:var(--pine-color-primary);--pds-button-color-background-hover:var(--pine-color-primary-hover);--pds-button-color-background-disabled:var(--pine-color-primary-disabled);--pds-button-color-border-default:var(--pine-color-primary);--pds-button-color-border-hover:var(--pine-color-primary-hover);--pds-button-color-text-default:var(--pine-color-text-primary);--pds-button-color-text-disabled:var(--pine-color-text-primary-disabled);--pds-button-color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--accent{--pds-button-color-background-default:var(--pine-color-accent);--pds-button-color-background-hover:var(--pine-color-accent-hover);--pds-button-color-background-disabled:var(--pine-color-accent-disabled);--pds-button-color-border-default:var(--pine-color-accent);--pds-button-color-border-hover:var(--pine-color-accent-hover);--pds-button-color-text-default:var(--pine-color-white);--pds-button-color-text-disabled:var(--pine-color-text-accent-disabled);--pds-button-color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive{--pds-button-color-background-default:var(--pine-color-danger);--pds-button-color-background-hover:var(--pine-color-danger-hover);--pds-button-color-background-disabled:var(--pine-color-danger-disabled);--pds-button-color-border-default:var(--pine-color-danger);--pds-button-color-border-hover:var(--pine-color-danger-hover);--pds-button-color-text-default:var(--pine-color-white);--pds-button-color-text-disabled:var(--pine-color-text-danger-disabled);--pds-button-color-outline:var(--pine-color-focus-ring-danger);--button-loader-color:var(--pine-color-text-primary)}.pds-button--destructive:focus-visible{outline-color:var(--pine-color-focus-ring-danger)}.pds-button--secondary,.pds-button--disclosure{--pds-button-color-background-default:var(--pine-color-secondary);--pds-button-color-background-hover:var(--pine-color-secondary-hover);--pds-button-color-background-disabled:var(--pine-color-secondary-disabled);--pds-button-color-border-disabled:var(--pine-color-border-disabled);--pds-button-color-border-focus:var(--pine-color-border);--pds-button-color-border-hover:var(--pine-color-border-hover);--pds-button-color-border-default:var(--pine-color-border);--pds-button-color-text-default:var(--pine-color-text-secondary);--pds-button-color-text-disabled:var(--pine-color-text-secondary-disabled);--pds-button-color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--secondary:hover,.pds-button--disclosure:hover{background-color:var(--pine-color-secondary-hover)}.pds-button--tertiary{--pds-button-color-background-default:transparent;--pds-button-color-background-hover:var(--pine-color-background-muted);--pds-button-color-background-disabled:transparent;--pds-button-color-border-default:transparent;--pds-button-color-border-hover:var(--pine-color-background-muted);--pds-button-color-border-disabled:transparent;--pds-button-color-text-default:var(--pine-color-text-secondary);--pds-button-color-text-disabled:var(--pine-color-text-secondary-disabled);--pds-button-color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary)}.pds-button--filter{--pds-button-color-background-default:var(--pine-color-background-container);--pds-button-color-background-hover:var(--pine-color-background-subtle);--pds-button-color-background-disabled:var(--pine-color-white);--pds-button-color-border-default:transparent;--pds-button-color-border-hover:transparent;--pds-button-color-border-focus:transparent;--pds-button-color-text-default:var(--pine-color-text-secondary);--pds-button-color-text-hover:var(--pine-color-text-hover);--pds-button-color-text-disabled:var(--pine-color-text-disabled);--pds-button-color-outline:var(--pine-color-focus-ring);--button-loader-color:var(--pine-color-text-secondary);--pds-button-border-radius:var(--pine-dimension-125);--pds-button-border-radius-start-end:var(--pine-dimension-125);--pds-button-border-radius-start-start:var(--pine-dimension-125);--pds-button-border-radius-end-end:var(--pine-dimension-125);--pds-button-border-radius-end-start:var(--pine-dimension-125);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-button--filter:disabled{background-color:var(--pine-color-background-container)}.pds-button--filter:hover{color:var(--pds-button-color-text-hover)}.pds-button--unstyled{--pds-button-color-background-default:transparent;--pds-button-color-background-hover:transparent;--pds-button-color-background-disabled:transparent;--pds-button-color-text-default:var(--pine-color-text);--button-loader-color:var(--pine-color-text);border-width:var(--pine-dimension-none);margin:var(--pine-dimension-none);min-height:auto;padding:var(--pine-dimension-none);width:inherit}.pds-button__content{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;gap:var(--pine-dimension-xs);position:relative;width:100%}.pds-button__icon{display:-ms-inline-flexbox;display:inline-flex}.pds-button__icon--empty{display:none}.pds-button__text{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap}.pds-button__icon--hidden,.pds-button__text--hidden{opacity:0}.pds-button__loader{height:var(--pine-dimension-250);left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);width:var(--pine-dimension-250)}.pds-button--loading{cursor:wait;pointer-events:none}.pds-button--loading .pds-button__loader pds-loader{--loader-color:var(--button-loader-color)}.pds-button--small{min-height:var(--pine-dimension-400);padding:calc(var(--pine-dimension-2xs) - var(--pine-border-width)) var(--pine-dimension-sm)}.pds-button--micro{font-size:var(--pine-font-size-085);min-height:var(--pine-dimension-300);padding:var(--pine-dimension-025) var(--pine-dimension-xs)}.pds-button--icon-only{-ms-flex-align:center;align-items:center;border-radius:var(--pine-border-radius-full);height:var(--button-dimension);-ms-flex-pack:center;justify-content:center;min-height:var(--button-dimension);min-width:var(--button-dimension);padding:var(--pine-dimension-xs);width:var(--button-dimension)}.pds-button--icon-only .pds-button__content{height:100%;-ms-flex-pack:center;justify-content:center;width:100%}.pds-button--icon-only .pds-button__text--hidden{border:0;clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pds-button--icon-only.pds-button--small{height:var(--pine-dimension-400);min-height:var(--pine-dimension-400);min-width:var(--pine-dimension-400);padding:var(--pine-dimension-2xs);width:var(--pine-dimension-400)}.pds-button--icon-only.pds-button--micro{height:var(--pine-dimension-300);min-height:var(--pine-dimension-300);min-width:var(--pine-dimension-300);padding:var(--pine-dimension-3xs);width:var(--pine-dimension-300)}`;
6179
6216
 
6180
6217
  /**
6181
- * @part button - Exposes the button element for styling.
6218
+ * @part button - Exposes the underlying button (or anchor) element for styling, including custom size, shape, or surface on icon-only placements (e.g. a compact square or inverse icon button).
6182
6219
  * @part button-content - Exposes the button content for styling.
6183
6220
  * @part button-text - Exposes the button text for styling.
6184
6221
  * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.
@@ -13724,7 +13761,7 @@ class PdsInput {
13724
13761
  }; }
13725
13762
  }
13726
13763
 
13727
- const pdsLinkCss = () => `:host{display:inline}:host pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color, var(--pds-context-link-color, var(--pine-color-text)));display:-ms-inline-flexbox;display:inline-flex;font-weight:var(--pine-font-weight-medium)}.pds-link:focus-visible{border-radius:var(--pine-dimension-2xs);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick);position:relative}.pds-link:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:none}:host([color=secondary]) .pds-link{color:var(--pine-color-text-primary)}:host([color=secondary]) .pds-link:hover{color:var(--pine-color-text-inverse-secondary)}:host([color=accent]) .pds-link{color:var(--pine-color-accent)}:host([color=accent]) .pds-link:hover{color:var(--pine-color-accent-hover)}:host([color=danger]) .pds-link{color:var(--pine-color-danger)}:host([color=danger]) .pds-link:hover{color:var(--pine-color-danger-hover)}.pds-link--sm{font-size:var(--pine-font-size-body-xs)}.pds-link--sm pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--md{font-size:var(--pine-font-size-body-sm)}.pds-link--md pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--lg{font-size:var(--pine-font-size-body-md)}.pds-link--lg pds-icon{height:var(--pine-dimension-sm);width:var(--pine-dimension-sm)}.pds-link--plain{text-decoration:none}.pds-link--plain:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:underline}`;
13764
+ const pdsLinkCss = () => `:host{display:inline}:host pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color, var(--pds-context-link-color, var(--pine-color-text)));display:-ms-inline-flexbox;display:inline-flex;font-weight:var(--pine-font-weight-medium)}.pds-link:focus-visible{border-radius:var(--pine-dimension-2xs);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick);position:relative}.pds-link:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:none}:host([color=secondary]) .pds-link{color:var(--pine-color-text-primary)}:host([color=secondary]) .pds-link:hover{color:var(--pine-color-text-inverse-secondary)}:host([color=accent]) .pds-link{color:var(--pine-color-accent)}:host([color=accent]) .pds-link:hover{color:var(--pine-color-accent-hover)}:host([color=danger]) .pds-link{color:var(--pine-color-danger)}:host([color=danger]) .pds-link:hover{color:var(--pine-color-danger-hover)}.pds-link--sm{font-size:var(--pine-font-size-body-xs)}.pds-link--sm pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--md{font-size:var(--pine-font-size-body-sm)}.pds-link--md pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--lg{font-size:var(--pine-font-size-body-md)}.pds-link--lg pds-icon{height:var(--pine-dimension-sm);width:var(--pine-dimension-sm)}.pds-link--plain{text-decoration:none}.pds-link--plain:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:underline}:host([active]) .pds-link{color:var(--pds-context-link-color, var(--pine-color-text-strong));text-decoration:underline}:host([active]) .pds-link:hover{color:var(--pds-context-link-color-hover, var(--pine-color-text-strong));text-decoration:underline}`;
13728
13765
 
13729
13766
  /**
13730
13767
  * @part link - Link element styles.
@@ -13733,6 +13770,13 @@ const pdsLinkCss = () => `:host{display:inline}:host pds-icon{-webkit-margin-sta
13733
13770
  class PdsLink {
13734
13771
  constructor(hostRef) {
13735
13772
  registerInstance(this, hostRef);
13773
+ /**
13774
+ * Marks the link as the current/active navigation item — for tab strips and
13775
+ * nav rails built from links. Applies the active treatment (persistent
13776
+ * underline + strong text) and sets `aria-current="page"`.
13777
+ * @defaultValue false
13778
+ */
13779
+ this.active = false;
13736
13780
  /**
13737
13781
  * Determines whether the link should open in a new tab.
13738
13782
  * @defaultValue false
@@ -13775,14 +13819,15 @@ class PdsLink {
13775
13819
  const targetValue = this.target || (this.external ? '_blank' : undefined);
13776
13820
  const showExternalIcon = this.external;
13777
13821
  const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
13778
- return (hAsync("a", { key: '314a6249f39716ab2e632c2cb4c588ce2c74a77b', class: this.classNames(), download: this.download, href: this.href, id: this.componentId, part: "link", 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 }, hAsync("slot", { key: 'ceab5601c349ece4b142f16f682d5a2d2d0ba59a' }, this.href), showExternalIcon &&
13779
- hAsync("pds-icon", { key: 'cba3137af21eb374c8318e43e279e77fefdc1b5c', icon: launch, size: this.fontSize })));
13822
+ return (hAsync("a", { key: '5d0c5a0a5b8b80a8cdff802a3d78dad85a9ccdc4', 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 }, hAsync("slot", { key: '06b7be14d867eae1b7acba8570f1e94bdf840fbb' }, this.href), showExternalIcon &&
13823
+ hAsync("pds-icon", { key: '678414f7d20fd20b6931cc401163180c3ad0094c', icon: launch, size: this.fontSize })));
13780
13824
  }
13781
13825
  static get style() { return pdsLinkCss(); }
13782
13826
  static get cmpMeta() { return {
13783
13827
  "$flags$": 265,
13784
13828
  "$tagName$": "pds-link",
13785
13829
  "$members$": {
13830
+ "active": [516],
13786
13831
  "color": [1],
13787
13832
  "download": [1],
13788
13833
  "componentId": [1, "component-id"],
@@ -13802,7 +13847,7 @@ class PdsLink {
13802
13847
  },
13803
13848
  "$listeners$": undefined,
13804
13849
  "$lazyBundleId$": "-",
13805
- "$attrsToReflect$": []
13850
+ "$attrsToReflect$": [["active", "active"]]
13806
13851
  }; }
13807
13852
  }
13808
13853
 
@@ -19794,7 +19839,7 @@ class PdsSwitch {
19794
19839
  }; }
19795
19840
  }
19796
19841
 
19797
- const pdsTabCss = () => `pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:"";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:"";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}`;
19842
+ const pdsTabCss = () => `pds-tab{-ms-flex-align:center;align-items:center;display:-ms-inline-flexbox;display:inline-flex;position:relative}.pds-tabs--pill pds-tab{-ms-flex:1;flex:1}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--pine-border-width-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--pine-dimension-none);-ms-flex-align:center;align-items:center;color:var(--pine-color-text-secondary);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--pine-color-text)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover:not(:disabled,.is-disabled){color:var(--pine-color-text)}.pds-tab:focus{outline:none}.pds-tab:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tab:disabled,.pds-tab.is-disabled{color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-tab .pds-tab__content{font-family:var(--pine-font-family-body);font-size:var(--pine-font-size);font-weight:var(--pine-font-weight-medium);letter-spacing:var(--pine-letter-spacing);line-height:var(--pine-line-height-body);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:var(--pine-color-brand);content:"";height:3px;inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);inset-inline-start:var(--pine-dimension-none);opacity:0;position:absolute}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:calc(var(--pine-dimension-xs) * 1.25) calc(var(--pine-dimension-xs) * 1.25) var(--pine-dimension-none) var(--pine-dimension-none);color:var(--pine-color-text-secondary);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-secondary);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:var(--pine-z-index-raised)}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled,.is-disabled){--color-background-tab:var(--pine-color-secondary-hover);color:var(--pine-color-text)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--pine-color-text-secondary)}.pds-tabs--availability .pds-tab:disabled,.pds-tabs--availability .pds-tab.is-disabled{--color-background-tab:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--availability .pds-tab__content{-webkit-padding-after:7px;padding-block-end:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:"";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter .pds-tab{background-color:var(--pine-color-background-muted);border-radius:50px;color:var(--pine-color-text);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{background-color:var(--pine-color-primary);color:var(--pine-color-text-primary)}.pds-tabs--filter .pds-tab.is-active:hover:not(:disabled,.is-disabled),.pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled,.is-disabled){background-color:var(--pine-color-primary-hover)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true],:disabled,.is-disabled){background-color:var(--pine-color-border-disabled)}.pds-tabs--filter .pds-tab:disabled,.pds-tabs--filter .pds-tab.is-disabled{background-color:transparent;color:var(--pine-color-text-disabled)}.pds-tabs--filter .pds-tab:disabled.is-active,.pds-tabs--filter .pds-tab:disabled[aria-selected=true],.pds-tabs--filter .pds-tab.is-disabled.is-active,.pds-tabs--filter .pds-tab.is-disabled[aria-selected=true]{background-color:var(--pine-color-primary-disabled)}.pds-tabs--filter .pds-tab__content{-webkit-padding-after:var(--pine-dimension-none);padding-block-end:var(--pine-dimension-none)}.pds-tabs--filter .pds-tab__content::after{content:unset}.pds-tabs--pill{--color-background-tab:transparent}.pds-tabs--pill .pds-tab{background-color:var(--color-background-tab);border:var(--pine-border-width-thin) solid transparent;border-radius:var(--pine-dimension-xs);color:var(--pine-color-text-muted);-ms-flex:1;flex:1;height:34px;-ms-flex-pack:center;justify-content:center}.pds-tabs--pill .pds-tab .pds-tab__content{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-webkit-padding-after:0;padding-block-end:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{--color-background-tab:var(--pine-color-background-container);border-color:var(--pine-color-border);-webkit-box-shadow:var(--pine-box-shadow-100);box-shadow:var(--pine-box-shadow-100);color:var(--pine-color-text-active)}.pds-tabs--pill .pds-tab.is-active:focus-visible,.pds-tabs--pill .pds-tab[aria-selected=true]:focus-visible{border-color:var(--color-border-focus);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab.is-active .pds-tab__content::after,.pds-tabs--pill .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:0}.pds-tabs--pill .pds-tab.is-active,.pds-tabs--pill .pds-tab[aria-selected=true]{}.pds-tabs--pill .pds-tab:disabled,.pds-tabs--pill .pds-tab.is-disabled{color:var(--pine-color-text-disabled)}`;
19798
19843
 
19799
19844
  class PdsTab {
19800
19845
  constructor(hostRef) {
@@ -19805,6 +19850,13 @@ class PdsTab {
19805
19850
  * @defaultValue false
19806
19851
  */
19807
19852
  this.disabled = false;
19853
+ /**
19854
+ * Marks this tab as the current one in navigation mode (`href` set). Applies
19855
+ * the active treatment and `aria-current="page"`. Ignored in panel mode, where
19856
+ * the active tab is derived from the parent's `activeTabName`.
19857
+ * @defaultValue false
19858
+ */
19859
+ this.active = false;
19808
19860
  /**
19809
19861
  * Keeps track of the tabpanel selected state, this property is passed by parent component
19810
19862
  */
@@ -19816,18 +19868,46 @@ class PdsTab {
19816
19868
  return;
19817
19869
  this.pdsTabClick.emit([index, parentComponentId]);
19818
19870
  }
19871
+ // An empty string is treated as "no destination" everywhere (isNav fallback,
19872
+ // href attribute, role) so a nav tab never renders `href=""` (which would
19873
+ // navigate to the current page).
19874
+ get hasHref() {
19875
+ return this.href != null && this.href !== '';
19876
+ }
19877
+ get isNav() {
19878
+ var _a;
19879
+ // The parent `pds-tabs` is authoritative when present (via `navMode`), so its
19880
+ // tabs share one mode. Standalone, fall back to a usable `href`.
19881
+ return (_a = this.navMode) !== null && _a !== void 0 ? _a : this.hasHref;
19882
+ }
19883
+ get isActive() {
19884
+ // Navigation mode is server-driven via `active`; panel mode is parent-driven
19885
+ // via `selected` (from `activeTabName`).
19886
+ return this.isNav ? this.active : this.selected;
19887
+ }
19819
19888
  classNames() {
19820
19889
  const classes = [
19821
19890
  'pds-tab',
19822
- this.selected && 'is-active',
19891
+ this.isActive && 'is-active',
19823
19892
  this.disabled && 'is-disabled',
19824
19893
  ];
19825
19894
  return classes.filter(Boolean).join(' ');
19826
19895
  }
19827
19896
  render() {
19828
- const availabilityTabEdgeInlineStart = (hAsync("span", { key: '934d84846bd84471047f9ab7503e5bb151426cbc', class: "pds-tab-edge", role: "presentation" }));
19829
- const availabilityTabEdgeInlineEnd = (hAsync("span", { key: 'e35b9da7b312ed95dab7bf803c40a22b3485ee05', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
19830
- return (hAsync(Host, { key: '310188521230d3e16cff23b857769c4b5d04fd8d', variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { key: '9df38c2aa1fa29487fdce62ce7dc5f67df6bcde1', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.disabled ? "-1" : (this.selected ? "0" : "-1"), "aria-selected": this.selected ? "true" : "false", "aria-disabled": this.disabled ? "true" : null, disabled: this.disabled, class: this.classNames(), onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { key: '4936599dd547f236880ea9a0ccabc4b50836d1d5', class: "pds-tab__content" }, hAsync("slot", { key: '567388faf912bb307676cea9a4626ce9669087dd' })))));
19897
+ const availabilityTabEdgeInlineStart = (hAsync("span", { class: "pds-tab-edge", role: "presentation" }));
19898
+ const availabilityTabEdgeInlineEnd = (hAsync("span", { class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
19899
+ const content = (hAsync(Fragment, null, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, hAsync("div", { class: "pds-tab__content" }, hAsync("slot", null))));
19900
+ // Navigation mode: a real anchor, so keyboard activation and navigation are
19901
+ // native (and Turbo-driven when framed) with no controller — and the current
19902
+ // item carries `aria-current="page"` rather than `role="tab"`/`aria-selected`.
19903
+ if (this.isNav) {
19904
+ return (hAsync(Host, { variant: this.variant, slot: "tabs", index: this.index }, hAsync("a", { href: this.disabled || !this.hasHref ? undefined : this.href,
19905
+ // An anchor without an href (disabled, or forced into nav mode with no
19906
+ // usable href) loses its implicit link role; restore it explicitly so
19907
+ // assistive tech still announces the item rather than as plain text.
19908
+ role: this.disabled || !this.hasHref ? "link" : undefined, id: this.parentComponentId + "__" + this.name, class: this.classNames(), target: this.target, rel: this.target === "_blank" ? "noopener noreferrer" : undefined, "aria-current": this.isActive ? "page" : undefined, "aria-disabled": this.disabled ? "true" : null, "data-turbo-frame": this.turboFrame || undefined, "data-turbo-action": this.turboAction || undefined }, content)));
19909
+ }
19910
+ return (hAsync(Host, { variant: this.variant, slot: "tabs", index: this.index }, hAsync("button", { role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.disabled ? "-1" : (this.selected ? "0" : "-1"), "aria-selected": this.selected ? "true" : "false", "aria-disabled": this.disabled ? "true" : null, disabled: this.disabled, class: this.classNames(), onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, content)));
19831
19911
  }
19832
19912
  get el() { return getElement(this); }
19833
19913
  static get style() { return pdsTabCss(); }
@@ -19836,11 +19916,17 @@ class PdsTab {
19836
19916
  "$tagName$": "pds-tab",
19837
19917
  "$members$": {
19838
19918
  "disabled": [4],
19919
+ "href": [1],
19920
+ "active": [4],
19921
+ "target": [1],
19922
+ "turboFrame": [1, "turbo-frame"],
19923
+ "turboAction": [1, "turbo-action"],
19839
19924
  "name": [1],
19840
19925
  "parentComponentId": [1, "parent-component-id"],
19841
19926
  "variant": [1],
19842
19927
  "index": [2],
19843
- "selected": [4]
19928
+ "selected": [4],
19929
+ "navMode": [4, "nav-mode"]
19844
19930
  },
19845
19931
  "$listeners$": undefined,
19846
19932
  "$lazyBundleId$": "-",
@@ -20756,7 +20842,7 @@ class PdsTableRow {
20756
20842
  }; }
20757
20843
  }
20758
20844
 
20759
- const pdsTabpanelCss = () => `:host{display:block}.pds-tabpanel{display:none;margin-top:var(--tabs-dimension-panel-margin-top);padding:var(--tabs-dimension-panel-padding)}.pds-tabpanel:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabpanel.is-active{display:block}`;
20845
+ const pdsTabpanelCss = () => `:host{display:block}:host(.pds-tabpanel--stretch-active){-ms-flex:1 1 auto;flex:1 1 auto;min-block-size:0}:host(.pds-tabpanel--stretch-active) .pds-tabpanel.is-active{block-size:100%}.pds-tabpanel{display:none;margin-top:var(--tabs-dimension-panel-margin-top);padding:var(--tabs-dimension-panel-padding)}.pds-tabpanel:focus-visible{outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-tabpanel.is-active{display:block}`;
20760
20846
 
20761
20847
  class PdsTabpanel {
20762
20848
  constructor(hostRef) {
@@ -20766,9 +20852,14 @@ class PdsTabpanel {
20766
20852
  */
20767
20853
  /** @internal */
20768
20854
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
20855
+ /**
20856
+ * Keeps track of the parent `stretch` state so the active panel can fill height, this property is passed by parent component
20857
+ */
20858
+ /** @internal */
20859
+ this.stretch = false;
20769
20860
  }
20770
20861
  render() {
20771
- return (hAsync(Host, { key: '6ba83ea71c899d61f67884780731591a05aa1894', slot: "tabpanels" }, hAsync("div", { key: 'abaa610f7a68a3977303e08f1221976ae2840272', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: 'b80ecc1380f424d545b31843b53de1b2854e9f28' }))));
20862
+ return (hAsync(Host, { key: '88dfc12ce8b2413824e6d3425aa38674fa14c764', slot: "tabpanels", class: this.stretch && this.selected ? "pds-tabpanel--stretch-active" : undefined }, hAsync("div", { key: 'bcfe8be6480dc253b10d63d6e37caacec4a8fe7f', role: "tabpanel", id: this.parentComponentId + "__" + this.name + '-panel', tabindex: "0", "aria-labelledby": this.parentComponentId + "__" + this.name, class: this.selected ? "pds-tabpanel is-active" : "pds-tabpanel" }, hAsync("slot", { key: '96ee87a0917e5f538a5c053045a5d6821684cf3a' }))));
20772
20863
  }
20773
20864
  get el() { return getElement(this); }
20774
20865
  static get style() { return pdsTabpanelCss(); }
@@ -20779,7 +20870,8 @@ class PdsTabpanel {
20779
20870
  "name": [1],
20780
20871
  "parentComponentId": [1, "parent-component-id"],
20781
20872
  "variant": [1],
20782
- "selected": [1028]
20873
+ "selected": [1028],
20874
+ "stretch": [4]
20783
20875
  },
20784
20876
  "$listeners$": undefined,
20785
20877
  "$lazyBundleId$": "-",
@@ -20787,7 +20879,7 @@ class PdsTabpanel {
20787
20879
  }; }
20788
20880
  }
20789
20881
 
20790
- const pdsTabsCss = () => `:host{--tabs-dimension-panel-margin-top:var(--pine-dimension-none);--tabs-dimension-panel-padding:0;display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-md)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--pine-dimension-xs)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--pine-dimension-sm)}:host(.pds-tabs--pill) .pds-tabs__tablist{background-color:var(--pine-color-background-app);border:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-radius:var(--pine-dimension-100);display:-ms-inline-flexbox;display:inline-flex;display:-ms-flexbox;display:flex;gap:0;height:var(--pine-dimension-450)}`;
20882
+ const pdsTabsCss = () => `:host{--tabs-dimension-panel-margin-top:var(--pine-dimension-none);--tabs-dimension-panel-padding:0;display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-md)}:host(.pds-tabs--divider) .pds-tabs__tablist{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.pds-tabs--stretch){block-size:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.pds-tabs--stretch) .pds-tabs__tablist{-ms-flex:0 0 auto;flex:0 0 auto}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--pine-dimension-xs)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--pine-dimension-sm)}:host(.pds-tabs--pill) .pds-tabs__tablist{background-color:var(--pine-color-background-app);border:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-radius:var(--pine-dimension-100);display:-ms-inline-flexbox;display:inline-flex;display:-ms-flexbox;display:flex;gap:0;height:var(--pine-dimension-450)}`;
20791
20883
 
20792
20884
  /**
20793
20885
  * @slot tabs - Content is placed within the `div[role="tablist"]` element as children
@@ -20797,6 +20889,25 @@ const pdsTabsCss = () => `:host{--tabs-dimension-panel-margin-top:var(--pine-dim
20797
20889
  class PdsTabs {
20798
20890
  constructor(hostRef) {
20799
20891
  registerInstance(this, hostRef);
20892
+ /**
20893
+ * Adds a divider rule beneath the tab list.
20894
+ * @defaultValue false
20895
+ */
20896
+ this.divider = false;
20897
+ /**
20898
+ * Stretches the component so the active tab panel fills the remaining height.
20899
+ * Requires the component to have a constrained height (e.g. a flex parent).
20900
+ * @defaultValue false
20901
+ */
20902
+ this.stretch = false;
20903
+ /**
20904
+ * Renders the tab strip as navigation instead of an in-page panel switcher: each
20905
+ * `pds-tab` becomes an `<a href>` inside a `<nav>` landmark (with `aria-current`
20906
+ * on the `active` tab) rather than a `role="tab"` button over a `pds-tabpanel`.
20907
+ * Give every `pds-tab` an `href` and omit `pds-tabpanel`s.
20908
+ * @defaultValue false
20909
+ */
20910
+ this.nav = false;
20800
20911
  }
20801
20912
  tabClickHandler(event) {
20802
20913
  if (this.componentId === event.detail[1]) {
@@ -20805,6 +20916,10 @@ class PdsTabs {
20805
20916
  }
20806
20917
  }
20807
20918
  handleKeyDown(ev) {
20919
+ // Navigation mode uses real links: Tab moves focus, Enter follows the href.
20920
+ // The roving/arrow model is a panel-mode (role=tab) concern only.
20921
+ if (this.isNav)
20922
+ return;
20808
20923
  const keySet = ["ArrowLeft", "ArrowRight", "Home", "End"];
20809
20924
  // Only handle keyboard navigation if the event originated from a tab button
20810
20925
  // that belongs to THIS tabs component
@@ -20817,6 +20932,32 @@ class PdsTabs {
20817
20932
  this.moveActiveTab(ev.key);
20818
20933
  }
20819
20934
  }
20935
+ // Navigation mode is an explicit, single source of truth: `nav` drives both the
20936
+ // container (<nav> of links vs role=tablist of buttons) and every child tab (via
20937
+ // `navMode`), so the tabs present when the strip initializes can't mix the two.
20938
+ // (Child discovery is load-time only, like `variant`/`id`; tabs added after load
20939
+ // aren't managed.)
20940
+ get isNav() {
20941
+ return !!this.nav;
20942
+ }
20943
+ // `nav` and per-tab `href` should agree. Warn on the two authoring mistakes
20944
+ // rather than silently rendering a link with no destination, or ignoring an href.
20945
+ warnOnNavConfig() {
20946
+ var _a;
20947
+ if (!((_a = this.tabs) === null || _a === void 0 ? void 0 : _a.length))
20948
+ return;
20949
+ // An empty `href=""` is not a usable destination, so it counts as missing.
20950
+ const withHref = this.tabs.filter((tab) => {
20951
+ const href = tab.getAttribute('href');
20952
+ return href != null && href !== '';
20953
+ }).length;
20954
+ if (this.nav && withHref < this.tabs.length) {
20955
+ console.warn('pds-tabs: `nav` is set, so every pds-tab needs an `href`.');
20956
+ }
20957
+ else if (!this.nav && withHref > 0) {
20958
+ console.warn('pds-tabs: a pds-tab has an `href` but `nav` is not set — add `nav` to pds-tabs for navigation mode; the href is ignored in panel mode.');
20959
+ }
20960
+ }
20820
20961
  moveActiveTab(key) {
20821
20962
  const firstTabNumber = 0;
20822
20963
  const lastTabNumber = this.tabs.length - 1;
@@ -20855,13 +20996,25 @@ class PdsTabs {
20855
20996
  child['index'] = index;
20856
20997
  }
20857
20998
  passPropsToChildren() {
20999
+ var _a;
21000
+ // Panel mode needs a selected tab so the tablist stays keyboard-reachable
21001
+ // (an all-unselected tablist has every button at tabindex="-1"). Default to
21002
+ // the first ENABLED tab when the consumer omits `activeTabName` — a disabled
21003
+ // tab is itself tabindex="-1", so selecting it would recreate the trap. Nav
21004
+ // mode has no roving/selection, so it's left unset there.
21005
+ if (!this.nav && this.activeTabName == null && this.tabs.length) {
21006
+ const firstEnabled = (_a = this.tabs.find((tab) => !tab.disabled)) !== null && _a !== void 0 ? _a : this.tabs[0];
21007
+ this.activeTabName = firstEnabled.name;
21008
+ }
20858
21009
  this.tabs.forEach((child, index) => {
20859
21010
  if (this.activeTabName === child.name)
20860
21011
  this.activeTabIndex = index;
20861
21012
  this.propGeneration(child, index);
21013
+ child.navMode = this.nav;
20862
21014
  });
20863
21015
  this.tabPanels.forEach((child) => {
20864
21016
  this.propGeneration(child);
21017
+ child.stretch = this.stretch;
20865
21018
  });
20866
21019
  }
20867
21020
  classNames() {
@@ -20870,17 +21023,27 @@ class PdsTabs {
20870
21023
  const variantClassName = `pds-tabs--${this.variant}`;
20871
21024
  className += ' ' + variantClassName;
20872
21025
  }
21026
+ if (this.divider) {
21027
+ className += ' pds-tabs--divider';
21028
+ }
21029
+ if (this.stretch) {
21030
+ className += ' pds-tabs--stretch';
21031
+ }
20873
21032
  return className;
20874
21033
  }
20875
21034
  ;
20876
21035
  componentWillLoad() {
20877
21036
  this.findAllChildren();
21037
+ this.warnOnNavConfig();
20878
21038
  }
20879
21039
  componentWillRender() {
20880
21040
  this.passPropsToChildren();
20881
21041
  }
20882
21042
  render() {
20883
- return (hAsync(Host, { key: '213dfbe8f2828b430ab81dce23f43c2137206861', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, hAsync("div", { key: '68989e852e2eeed180f91e5ac901c4318d6c0d70', class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, hAsync("slot", { key: '4a06996745c049fdaf830460e8d57caefd50900b', name: "tabs" })), hAsync("slot", { key: 'e0558392bff0955defb133b36dd4e7360f33acce', name: "tabpanels" })));
21043
+ // Navigation mode: a <nav> landmark of links (aria-current marks the current
21044
+ // page). Panel mode: the ARIA tablist of role=tab buttons over tabpanels.
21045
+ const tabList = this.isNav ? (hAsync("nav", { class: "pds-tabs__tablist", "aria-label": this.tablistLabel || undefined, part: "tab-list" }, hAsync("slot", { name: "tabs" }))) : (hAsync("div", { class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, hAsync("slot", { name: "tabs" })));
21046
+ return (hAsync(Host, { key: '97bb6d788bd7bdf393b46eaecea612d9b0c9dee4', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, tabList, hAsync("slot", { key: '252855bfa496bc3e04fbe6dc0bcb7597c7360407', name: "tabpanels" })));
20884
21047
  }
20885
21048
  get el() { return getElement(this); }
20886
21049
  static get style() { return pdsTabsCss(); }
@@ -20891,6 +21054,9 @@ class PdsTabs {
20891
21054
  "tablistLabel": [1, "tablist-label"],
20892
21055
  "componentId": [1, "component-id"],
20893
21056
  "variant": [1],
21057
+ "divider": [4],
21058
+ "stretch": [4],
21059
+ "nav": [4],
20894
21060
  "activeTabName": [1025, "active-tab-name"],
20895
21061
  "activeTabIndex": [1026, "active-tab-index"]
20896
21062
  },
@@ -21003,7 +21169,7 @@ class PdsText {
21003
21169
  ? `pds-text--decoration-${this.decoration}`
21004
21170
  : ''}
21005
21171
  `;
21006
- return (hAsync(Tag, { key: '36278c42c1669a3d2ff3ac2973727c03f2498023', ref: (el) => (this.contentEl = el), style: this.color && setColor(this.color), class: typeClasses, part: "content", tabIndex: this.truncate ? 0 : undefined }, hAsync("slot", { key: 'cb3c83b54cb84fe485fd14c7073148fc037d78cd' })));
21172
+ return (hAsync(Tag, { key: '9ae3d5a57202ca1308c69b76645168fc8e18953b', ref: (el) => (this.contentEl = el), style: this.color && setColor(this.color), class: typeClasses, part: "content", tabIndex: this.truncate ? 0 : undefined }, hAsync("slot", { key: 'e6c95b8240690a9c83927e206096bbd7615dd4d2' })));
21007
21173
  }
21008
21174
  get el() { return getElement(this); }
21009
21175
  static get watchers() { return {
@@ -21344,10 +21510,10 @@ class PdsTextarea {
21344
21510
  }
21345
21511
  render() {
21346
21512
  const value = this.getValue();
21347
- return (hAsync(Host, { key: '838d12ba686fb041996c44522d3fd30e1b56c610', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: 'bd3eef138a5c8f2cd4e48c007561bb1b12f4e575', class: "pds-textarea" }, this.label &&
21348
- hAsync("div", { key: 'f83f23b17cd157d48bb5c0c5067ca5f611d73529', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: '896b7b495ad6f7deb8d4738e623f0676f0a98c1f', htmlFor: this.componentId }, hAsync("span", { key: '02b06db969467f6c4e83e0f713bee0be76f8dfff', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), hAsync("div", { key: '15c5964576e73db36cee4a9ca868c28571250a27', class: "pds-textarea__field-wrapper" }, hAsync("textarea", Object.assign({ key: '74713a5d438fc01103ca99f0c77abd84b7d2d16a', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, maxlength: this.maxLength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown }, this.inheritedAttributes), value), this.renderCharacterCounter()), this.helperMessage &&
21349
- hAsync("p", { key: 'e42f174f4153363ce745db264fd3a9ee46178a03', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
21350
- hAsync("p", { key: '44189515611ff9fa51d2815a7066626b6ba5df2c', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: '64d275da09cdf1c2cc27d4c0a780dd414c265534', icon: danger, size: "small" }), this.errorMessage))));
21513
+ return (hAsync(Host, { key: 'd13869d989752c76c80a46ebb0291df2c0546cc2', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, hAsync("div", { key: '19454f642896485dc22bc5dac8b6ed3b4ae5627a', class: "pds-textarea" }, this.label &&
21514
+ hAsync("div", { key: 'def9e117ba3667a542e8cec32c2eabfa701c3305', class: "pds-textarea__label-wrapper" }, hAsync("label", { key: '893a1db325ece460c627e72b765289098823e49e', htmlFor: this.componentId }, hAsync("span", { key: 'd047f17441aa81800057d7403af15f6e38c53f6c', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), hAsync("div", { key: '7d0f2fab56fee9b9d9e0facabc7e607cb6bee23b', class: "pds-textarea__field-wrapper" }, hAsync("textarea", Object.assign({ key: 'a3ecb78c5b8f42f8350abe623bacb55be6c4a0c0', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage), "aria-invalid": this.invalid ? "true" : undefined, autocomplete: this.autocomplete, class: this.textareaClassNames(), disabled: this.disabled, id: this.componentId, maxlength: this.maxLength, name: this.name, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, rows: this.rows, onBlur: this.onBlur, onChange: this.onTextareaChange, onFocus: this.onFocus, onInput: this.onInput, onKeyDown: this.onKeyDown }, this.inheritedAttributes), value), this.renderCharacterCounter()), this.helperMessage &&
21515
+ hAsync("p", { key: 'b5229a6ef0b2c4ee5dcb820ce2b9bbf6334adef8', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
21516
+ hAsync("p", { key: '8e6dfa97496d553b8e1e2a50c1221fad3ddb539a', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, hAsync("pds-icon", { key: 'f3ed2677239e6d135480cf55d1d908936d746322', icon: danger, size: "small" }), this.errorMessage))));
21351
21517
  }
21352
21518
  static get formAssociated() { return true; }
21353
21519
  get el() { return getElement(this); }
@@ -21521,13 +21687,13 @@ class PdsToast {
21521
21687
  return this.icon && hAsync("pds-icon", { name: this.icon, class: "pds-toast__icon" });
21522
21688
  }
21523
21689
  render() {
21524
- return (hAsync(Host, { key: 'a1ec97158a6665aa25b58b1954b4b5c622590615', hidden: !this.isVisible }, hAsync("div", { key: 'd9b01164364c76512852a260cede50000b73a563', class: {
21690
+ return (hAsync(Host, { key: '87c9b15656a2765eb9e722c85dba5c5edbe07c42', hidden: !this.isVisible }, hAsync("div", { key: 'bd8b26ef0c33b96603313bce74505953d8fe7410', class: {
21525
21691
  'pds-toast': true,
21526
21692
  [`pds-toast--${this.type}`]: this.type !== 'default',
21527
21693
  'pds-toast--animating-out': this.isAnimatingOut
21528
- }, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '1f581c7c29ea3fc795dfca061d3575c5a9895b3c', class: "pds-toast__message" }, hAsync("slot", { key: '645b31eae3be23de63ab2562234caf0be2510645' })), this.dismissible && (hAsync("button", { key: '44a62b304468c0fca0b8d490ad9c8b5932176ac9', type: "button", part: "dismiss", class: "pds-toast__button", onClick: () => {
21694
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), hAsync("span", { key: '5f7fd6b70fe130d8b0915da07640bec01b3b2bcb', class: "pds-toast__message" }, hAsync("slot", { key: '4aa0cf737b420ae51297126b423b44d2a8610226' })), this.dismissible && (hAsync("button", { key: 'a8b8e5e9ba956b2d9cca284d114afa37b80570cf', type: "button", part: "dismiss", class: "pds-toast__button", onClick: () => {
21529
21695
  this.dismiss();
21530
- }, "aria-label": this.dismissLabel }, hAsync("pds-icon", { key: 'fde63f279f696d9f02875cc1beee3542c97f0c7e', name: "remove" }))))));
21696
+ }, "aria-label": this.dismissLabel }, hAsync("pds-icon", { key: 'dac8f2099b2ab8a68d208aac288d48019df6d7e7', name: "remove" }))))));
21531
21697
  }
21532
21698
  get el() { return getElement(this); }
21533
21699
  static get watchers() { return {
@@ -21871,9 +22037,9 @@ class PdsTooltip {
21871
22037
  }
21872
22038
  render() {
21873
22039
  const hostId = this.componentId || undefined;
21874
- return (hAsync(Host, { key: '4e6188e03c2f1d33e571b96a3006a585840716bd', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '0b82d180295421c32548577fb2038422b8ebd3be', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
22040
+ return (hAsync(Host, { key: '6af9c969e0dae4f3969cba2153797a1bccfc6d21', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, hAsync("span", { key: '97c48a8b8d626ee913412bd55aefb17f36fad401', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
21875
22041
  /* focusin/out bubble; ensure keyboard users see tooltips */
21876
- onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '661014ee46b11bcc906e7b64ef8c8a5739d459f0' })), hAsync("div", { key: '1861ce9b260f5f7d2eb0a1f337dadd63a0dfee97', class: "pds-tooltip__content-slot-wrapper", hidden: true }, hAsync("slot", { key: '963fb263c72fba432c2b672a2c3e85ca524f2b67', name: "content" }))));
22042
+ onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, hAsync("slot", { key: '37715fc0bf525695a62af1944ff853228080302a' })), hAsync("div", { key: 'a9a925b1de9ea45d2f6b9f39ec5e386537313217', class: "pds-tooltip__content-slot-wrapper", hidden: true }, hAsync("slot", { key: '1486b30af21dc69758d7dc9890cbaf227bafffc7', name: "content" }))));
21877
22043
  }
21878
22044
  get el() { return getElement(this); }
21879
22045
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pine-ds/core",
3
- "version": "3.28.0",
3
+ "version": "3.29.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Base components for Pine Design System",
@@ -86,7 +86,7 @@
86
86
  "@babel/preset-env": "^7.22.10",
87
87
  "@chromatic-com/storybook": "^4.1.3",
88
88
  "@mdx-js/rollup": "^3.1.1",
89
- "@pine-ds/doc-components": "^3.28.0",
89
+ "@pine-ds/doc-components": "^3.29.0",
90
90
  "@stencil-community/eslint-plugin": "^0.8.0",
91
91
  "@stencil/react-output-target": "^0.5.3",
92
92
  "@stencil/sass": "^3.2.0",
@@ -1 +0,0 @@
1
- System.register(["./p-CdwliqhD.system.js","./p-BG6uGRQj.system.js","./p-C62JIZmE.system.js"],(function(n){"use strict";var i,e,o,r;return{setters:[function(n){i=n.r;e=n.h},function(n){o=n.s},function(n){r=n.l}],execute:function(){var t=function(){return":host{display:inline}:host pds-icon{-webkit-margin-start:var(--pine-dimension-2xs);margin-inline-start:var(--pine-dimension-2xs)}.pds-link{-ms-flex-align:center;align-items:center;color:var(--color, var(--pds-context-link-color, var(--pine-color-text)));display:-ms-inline-flexbox;display:inline-flex;font-weight:var(--pine-font-weight-medium)}.pds-link:focus-visible{border-radius:var(--pine-dimension-2xs);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width-thick);position:relative}.pds-link:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:none}:host([color=secondary]) .pds-link{color:var(--pine-color-text-primary)}:host([color=secondary]) .pds-link:hover{color:var(--pine-color-text-inverse-secondary)}:host([color=accent]) .pds-link{color:var(--pine-color-accent)}:host([color=accent]) .pds-link:hover{color:var(--pine-color-accent-hover)}:host([color=danger]) .pds-link{color:var(--pine-color-danger)}:host([color=danger]) .pds-link:hover{color:var(--pine-color-danger-hover)}.pds-link--sm{font-size:var(--pine-font-size-body-xs)}.pds-link--sm pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--md{font-size:var(--pine-font-size-body-sm)}.pds-link--md pds-icon{height:var(--pine-dimension-xs);width:var(--pine-dimension-xs)}.pds-link--lg{font-size:var(--pine-font-size-body-md)}.pds-link--lg pds-icon{height:var(--pine-dimension-sm);width:var(--pine-dimension-sm)}.pds-link--plain{text-decoration:none}.pds-link--plain:hover{color:var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));text-decoration:underline}"};var s=n("pds_link",function(){function n(n){i(this,n);this.external=false;this.variant="inline";this.fontSize="lg"}n.prototype.classNames=function(){var n=["pds-link"];if(this.fontSize){n.push("pds-link--"+this.fontSize)}if(this.variant){n.push("pds-link--"+this.variant)}return n.join(" ")};n.prototype.setLinkStyles=function(){if(!this.color)return;var n={secondary:"var(--pine-color-text-primary)",accent:"var(--pine-color-accent)",danger:"var(--pine-color-danger)"};var i=o(this.color,n);return i};n.prototype.render=function(){var n=this.target||(this.external?"_blank":undefined);var i=this.external;var o=n==="_blank"?"noopener noreferrer":undefined;return e("a",{key:"314a6249f39716ab2e632c2cb4c588ce2c74a77b",class:this.classNames(),download:this.download,href:this.href,id:this.componentId,part:"link",target:n,rel:o,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},e("slot",{key:"ceab5601c349ece4b142f16f682d5a2d2d0ba59a"},this.href),i&&e("pds-icon",{key:"cba3137af21eb374c8318e43e279e77fefdc1b5c",icon:r,size:this.fontSize}))};return n}());s.style=t()}}}));
@@ -1 +0,0 @@
1
- System.register(["./p-CdwliqhD.system.js"],(function(e){"use strict";var s,t,i;return{setters:[function(e){s=e.r;t=e.h;i=e.H}],execute:function(){var a=function(){return":host{display:block}.pds-filters{-ms-flex-align:start;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--pine-dimension-100)}"};var f=e("pds_filters",function(){function e(e){s(this,e)}e.prototype.render=function(){return t(i,{key:"7007a635d3866781dfd67bd2d3b2dab46d36cffc",id:this.componentId},t("div",{key:"e6eb4c76bfb39050aaa01ad297df995de7df484b",class:"pds-filters"},t("slot",{key:"543c83c7422b3e1e9a2446618fe8119d76478df4"})))};return e}());f.style=a()}}}));
@@ -1 +0,0 @@
1
- System.register(["./p-CdwliqhD.system.js","./p-C62JIZmE.system.js"],(function(r){"use strict";var n,i,e,a,t;return{setters:[function(r){n=r.r;i=r.h;e=r.H},function(r){a=r.c;t=r.u}],execute:function(){var o=function(){return":host{display:inline-block}div{--color-background-container:var(--pine-color-background-container-hover);-ms-flex-align:center;align-items:center;background-color:var(--color-background-container);border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;position:relative}:host(.pds-avatar--admin) div{--border-radius-admin-round:var(--pine-dimension-150);border-radius:var(--border-radius-admin-round)}:host(.pds-avatar--has-image) div{background:transparent}@supports selector(:has){div:has(img){background-color:transparent}}.pds-avatar__button{-ms-flex-align:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:var(--pine-dimension-none);border-radius:var(--pine-border-radius-full);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-none)}.pds-avatar__button:focus-visible{outline:var(--pine-outline-focus)}.pds-avatar__badge{background-color:transparent;border:var(--pine-dimension-none);border-color:transparent;border-radius:var(--pine-border-radius-round);inset-block-end:var(--pine-dimension-none);inset-inline-end:var(--pine-dimension-none);position:absolute}img{border-radius:var(--border-radius-admin-round, var(--pine-border-radius-full));height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.pds-avatar__initials{color:var(--pine-color-brand);fill:var(--pine-color-brand);font-size:var(--pine-font-size-085);font-weight:var(--pine-font-weight-semi-bold);height:100%;text-align:center;width:100%}.pds-avatar__initials text{text-anchor:middle}"};var s=r("pds_avatar",function(){function r(r){var e=this;n(this,r);this.alt=null;this.badge=false;this.dropdown=false;this.image=null;this.initials=null;this.size="lg";this.variant="customer";this.triggerLabel="Avatar dropdown trigger";this.renderAssetWrapper=function(){var r={height:e.avatarSize(),width:e.avatarSize()};return i("div",{style:r,part:"asset-wrapper"},e.renderIconOrImage(),e.renderBadge())};this.renderAvatar=function(){return e.dropdown?i("button",{class:"pds-avatar__button",type:"button",part:"button","aria-label":e.triggerLabel},e.renderAssetWrapper()):e.renderAssetWrapper()};this.renderBadge=function(){return e.badge&&i("pds-icon",{color:"var(--pine-color-purple-600)",class:"pds-avatar__badge",icon:a,size:"33.53%"})};this.renderIconOrImage=function(){if(e.image){return i("img",{alt:e.alt,src:e.image})}if(e.initials){return i("svg",{class:"pds-avatar__initials",viewBox:"0 0 32 32"},i("text",{x:"16",y:"20"},e.initials))}return i("pds-icon",{color:"var(--pine-color-brand)",icon:t,size:"33.53%"})};this.classNames=function(){var r;return r={"pds-avatar":true},r["pds-avatar--has-image"]=e.image!==""&&e.image!==null,r["pds-avatar--has-initials"]=e.initials!==""&&e.initials!==null,r["pds-avatar--".concat(e.variant)]=e.variant==="admin",r}}r.prototype.avatarSize=function(){var r={xs:"24px",sm:"32px",md:"40px",lg:"56px",xl:"64px"};if(r[this.size]){return r[this.size]}else{return this.size}};r.prototype.render=function(){return i(e,{key:"d8c417ed6fca497bac5bb51a184b1f7d0077bc03",id:this.componentId,class:Object.assign({},this.classNames())},this.renderAvatar())};return r}());s.style=o()}}}));