@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
@@ -11,6 +11,8 @@ export default {
11
11
  image: null,
12
12
  initials: null,
13
13
  size: null,
14
+ status: null,
15
+ statusRing: false,
14
16
  variant: 'customer',
15
17
  },
16
18
  component: 'pds-avatar',
@@ -25,6 +27,8 @@ const BaseTemplate = (args) => html`<pds-avatar
25
27
  image="${args.image}"
26
28
  initials="${args.initials}"
27
29
  size="${args.size}"
30
+ status="${args.status}"
31
+ status-ring="${args.statusRing}"
28
32
  variant="${args.variant}"
29
33
  >
30
34
  </pds-avatar>`;
@@ -76,3 +80,22 @@ InitialsWithBadge.args = {
76
80
  initials: 'KJ',
77
81
  size: 'lg'
78
82
  }
83
+
84
+ export const Status = BaseTemplate.bind();
85
+ Status.args = {
86
+ initials: 'KJ',
87
+ size: 'lg',
88
+ status: 'online'
89
+ }
90
+
91
+ export const AllStatuses = () => html`<div style="display: flex; gap: 16px; align-items: center;">
92
+ <pds-avatar initials="KJ" size="lg" status="online"></pds-avatar>
93
+ <pds-avatar initials="KJ" size="lg" status="away"></pds-avatar>
94
+ <pds-avatar initials="KJ" size="lg" status="offline"></pds-avatar>
95
+ </div>`;
96
+
97
+ export const StatusRing = () => html`<div style="display: flex; gap: 16px; align-items: center;">
98
+ <pds-avatar initials="KJ" size="lg" status="online" status-ring="true"></pds-avatar>
99
+ <pds-avatar initials="KJ" size="lg" status="away" status-ring="true"></pds-avatar>
100
+ <pds-avatar initials="KJ" size="lg" status="offline" status-ring="true"></pds-avatar>
101
+ </div>`;
@@ -2,7 +2,7 @@ import { Host, h } from "@stencil/core";
2
2
  import { hasShadowDom } from "../../utils/utils";
3
3
  import { caretDown, addCircle } from "@pine-ds/icons/icons";
4
4
  /**
5
- * @part button - Exposes the button element for styling.
5
+ * @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).
6
6
  * @part button-content - Exposes the button content for styling.
7
7
  * @part button-text - Exposes the button text for styling.
8
8
  * @part caret - Exposes the caret icon component for styling. Appears only on the disclosure variant.
@@ -251,3 +251,28 @@ Sizes.args = {
251
251
  type: 'button',
252
252
  variant: 'primary'
253
253
  }
254
+
255
+ // Demonstrates the supported `::part(button)` hook: a compact fixed-size,
256
+ // inverse-surface icon button (e.g. a chat composer send affordance) that the
257
+ // stock size/variant props don't express.
258
+ export const CompactIconButtonViaPart = {
259
+ render: () => html`
260
+ <style>
261
+ .compact-inverse-icon-button::part(button) {
262
+ width: var(--pine-dimension-400);
263
+ height: var(--pine-dimension-400);
264
+ min-width: 0;
265
+ padding: 0;
266
+ border-radius: var(--pine-border-radius-md);
267
+ background: var(--pine-color-background-inverse-inset);
268
+ color: var(--pine-color-text-primary);
269
+ }
270
+ </style>
271
+ <pds-button class="compact-inverse-icon-button" variant="unstyled" icon-only icon="arrow-up">
272
+ Send message
273
+ </pds-button>
274
+ `,
275
+ parameters: {
276
+ controls: { exclude: ['icon'] },
277
+ },
278
+ };
@@ -70,4 +70,14 @@
70
70
  .pds-link--plain:hover {
71
71
  color: var(--color, var(--pds-context-link-color-hover, var(--pine-color-text-hover)));
72
72
  text-decoration: underline;
73
+ }
74
+
75
+ :host([active]) .pds-link {
76
+ color: var(--pds-context-link-color, var(--pine-color-text-strong));
77
+ text-decoration: underline;
78
+ }
79
+
80
+ :host([active]) .pds-link:hover {
81
+ color: var(--pds-context-link-color-hover, var(--pine-color-text-strong));
82
+ text-decoration: underline;
73
83
  }
@@ -7,6 +7,13 @@ import { launch } from "@pine-ds/icons/icons";
7
7
  */
8
8
  export class PdsLink {
9
9
  constructor() {
10
+ /**
11
+ * Marks the link as the current/active navigation item — for tab strips and
12
+ * nav rails built from links. Applies the active treatment (persistent
13
+ * underline + strong text) and sets `aria-current="page"`.
14
+ * @defaultValue false
15
+ */
16
+ this.active = false;
10
17
  /**
11
18
  * Determines whether the link should open in a new tab.
12
19
  * @defaultValue false
@@ -49,8 +56,8 @@ export class PdsLink {
49
56
  const targetValue = this.target || (this.external ? '_blank' : undefined);
50
57
  const showExternalIcon = this.external;
51
58
  const relValue = targetValue === '_blank' ? 'noopener noreferrer' : undefined;
52
- return (h("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 }, h("slot", { key: 'ceab5601c349ece4b142f16f682d5a2d2d0ba59a' }, this.href), showExternalIcon &&
53
- h("pds-icon", { key: 'cba3137af21eb374c8318e43e279e77fefdc1b5c', icon: launch, size: this.fontSize })));
59
+ return (h("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 }, h("slot", { key: '06b7be14d867eae1b7acba8570f1e94bdf840fbb' }, this.href), showExternalIcon &&
60
+ h("pds-icon", { key: '678414f7d20fd20b6931cc401163180c3ad0094c', icon: launch, size: this.fontSize })));
54
61
  }
55
62
  static get is() { return "pds-link"; }
56
63
  static get encapsulation() { return "shadow"; }
@@ -66,6 +73,29 @@ export class PdsLink {
66
73
  }
67
74
  static get properties() {
68
75
  return {
76
+ "active": {
77
+ "type": "boolean",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "boolean",
81
+ "resolved": "boolean",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [{
88
+ "name": "defaultValue",
89
+ "text": "false"
90
+ }],
91
+ "text": "Marks the link as the current/active navigation item \u2014 for tab strips and\nnav rails built from links. Applies the active treatment (persistent\nunderline + strong text) and sets `aria-current=\"page\"`."
92
+ },
93
+ "getter": false,
94
+ "setter": false,
95
+ "reflect": true,
96
+ "attribute": "active",
97
+ "defaultValue": "false"
98
+ },
69
99
  "color": {
70
100
  "type": "string",
71
101
  "mutable": false,
@@ -58,3 +58,17 @@ WithoutCustomTextInSlot.args = {
58
58
  fontSize: 'lg',
59
59
  variant: 'inline'
60
60
  };
61
+
62
+ // A per-URL tab strip built from links (pds-tabs is an in-page panel switcher,
63
+ // not navigation). `active` marks the current destination — persistent underline
64
+ // + strong text, and `aria-current="page"`, which is the correct ARIA token for
65
+ // links that navigate to distinct pages.
66
+ export const NavTabs = {
67
+ render: () => html`
68
+ <nav aria-label="Club sections" style="display: flex; gap: var(--pine-dimension-md);">
69
+ <pds-link href="/clubs/1/chat" font-size="md" ?active=${true}>Chat</pds-link>
70
+ <pds-link href="/clubs/1/resources" font-size="md" variant="plain">Resources</pds-link>
71
+ <pds-link href="/clubs/1/members" font-size="md" variant="plain">Members</pds-link>
72
+ </nav>
73
+ `,
74
+ };
@@ -29,7 +29,7 @@ pds-tab {
29
29
  .pds-tab.is-active .pds-tab__content::after, .pds-tab[aria-selected=true] .pds-tab__content::after {
30
30
  opacity: 1;
31
31
  }
32
- .pds-tab:hover:not(:disabled) {
32
+ .pds-tab:hover:not(:disabled, .is-disabled) {
33
33
  color: var(--pine-color-text);
34
34
  }
35
35
  .pds-tab:focus {
@@ -85,7 +85,7 @@ pds-tab {
85
85
  .pds-tabs--availability .pds-tab.is-active .pds-tab-edge, .pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge {
86
86
  z-index: var(--pine-z-index-raised);
87
87
  }
88
- .pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
88
+ .pds-tabs--availability .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled, .is-disabled) {
89
89
  --color-background-tab: var(--pine-color-secondary-hover);
90
90
  color: var(--pine-color-text);
91
91
  }
@@ -139,10 +139,10 @@ pds-tab {
139
139
  background-color: var(--pine-color-primary);
140
140
  color: var(--pine-color-text-primary);
141
141
  }
142
- .pds-tabs--filter .pds-tab.is-active:hover:not(:disabled), .pds-tabs--filter .pds-tab[aria-selected=true]:hover:not(:disabled) {
142
+ .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) {
143
143
  background-color: var(--pine-color-primary-hover);
144
144
  }
145
- .pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled) {
145
+ .pds-tabs--filter .pds-tab:hover:not(.is-active, [aria-selected=true], :disabled, .is-disabled) {
146
146
  background-color: var(--pine-color-border-disabled);
147
147
  }
148
148
  .pds-tabs--filter .pds-tab:disabled, .pds-tabs--filter .pds-tab.is-disabled {
@@ -1,4 +1,4 @@
1
- import { Host, h } from "@stencil/core";
1
+ import { Fragment, Host, h } from "@stencil/core";
2
2
  export class PdsTab {
3
3
  constructor() {
4
4
  /**
@@ -6,6 +6,13 @@ export class PdsTab {
6
6
  * @defaultValue false
7
7
  */
8
8
  this.disabled = false;
9
+ /**
10
+ * Marks this tab as the current one in navigation mode (`href` set). Applies
11
+ * the active treatment and `aria-current="page"`. Ignored in panel mode, where
12
+ * the active tab is derived from the parent's `activeTabName`.
13
+ * @defaultValue false
14
+ */
15
+ this.active = false;
9
16
  /**
10
17
  * Keeps track of the tabpanel selected state, this property is passed by parent component
11
18
  */
@@ -17,18 +24,46 @@ export class PdsTab {
17
24
  return;
18
25
  this.pdsTabClick.emit([index, parentComponentId]);
19
26
  }
27
+ // An empty string is treated as "no destination" everywhere (isNav fallback,
28
+ // href attribute, role) so a nav tab never renders `href=""` (which would
29
+ // navigate to the current page).
30
+ get hasHref() {
31
+ return this.href != null && this.href !== '';
32
+ }
33
+ get isNav() {
34
+ var _a;
35
+ // The parent `pds-tabs` is authoritative when present (via `navMode`), so its
36
+ // tabs share one mode. Standalone, fall back to a usable `href`.
37
+ return (_a = this.navMode) !== null && _a !== void 0 ? _a : this.hasHref;
38
+ }
39
+ get isActive() {
40
+ // Navigation mode is server-driven via `active`; panel mode is parent-driven
41
+ // via `selected` (from `activeTabName`).
42
+ return this.isNav ? this.active : this.selected;
43
+ }
20
44
  classNames() {
21
45
  const classes = [
22
46
  'pds-tab',
23
- this.selected && 'is-active',
47
+ this.isActive && 'is-active',
24
48
  this.disabled && 'is-disabled',
25
49
  ];
26
50
  return classes.filter(Boolean).join(' ');
27
51
  }
28
52
  render() {
29
- const availabilityTabEdgeInlineStart = (h("span", { key: '934d84846bd84471047f9ab7503e5bb151426cbc', class: "pds-tab-edge", role: "presentation" }));
30
- const availabilityTabEdgeInlineEnd = (h("span", { key: 'e35b9da7b312ed95dab7bf803c40a22b3485ee05', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
31
- return (h(Host, { key: '310188521230d3e16cff23b857769c4b5d04fd8d', variant: this.variant, slot: "tabs", index: this.index }, h("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, h("div", { key: '4936599dd547f236880ea9a0ccabc4b50836d1d5', class: "pds-tab__content" }, h("slot", { key: '567388faf912bb307676cea9a4626ce9669087dd' })))));
53
+ const availabilityTabEdgeInlineStart = (h("span", { class: "pds-tab-edge", role: "presentation" }));
54
+ const availabilityTabEdgeInlineEnd = (h("span", { class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
55
+ const content = (h(Fragment, null, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { class: "pds-tab__content" }, h("slot", null))));
56
+ // Navigation mode: a real anchor, so keyboard activation and navigation are
57
+ // native (and Turbo-driven when framed) with no controller — and the current
58
+ // item carries `aria-current="page"` rather than `role="tab"`/`aria-selected`.
59
+ if (this.isNav) {
60
+ return (h(Host, { variant: this.variant, slot: "tabs", index: this.index }, h("a", { href: this.disabled || !this.hasHref ? undefined : this.href,
61
+ // An anchor without an href (disabled, or forced into nav mode with no
62
+ // usable href) loses its implicit link role; restore it explicitly so
63
+ // assistive tech still announces the item rather than as plain text.
64
+ 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)));
65
+ }
66
+ return (h(Host, { variant: this.variant, slot: "tabs", index: this.index }, h("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)));
32
67
  }
33
68
  static get is() { return "pds-tab"; }
34
69
  static get originalStyleUrls() {
@@ -66,6 +101,105 @@ export class PdsTab {
66
101
  "attribute": "disabled",
67
102
  "defaultValue": "false"
68
103
  },
104
+ "href": {
105
+ "type": "string",
106
+ "mutable": false,
107
+ "complexType": {
108
+ "original": "string",
109
+ "resolved": "string",
110
+ "references": {}
111
+ },
112
+ "required": false,
113
+ "optional": true,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": "Turns the tab into a navigation link to this URL. When set, the tab renders\nan `<a href>` (marked `aria-current=\"page\"` when `active`) instead of a\n`role=\"tab\"` button, so each tab is its own page/URL \u2014 for tab strips that\nnavigate rather than switch in-page panels. Pairs with `pds-tabs` navigation\nmode; no `pds-tabpanel`s are needed. Apply `href` to all tabs in a\n`pds-tabs` or none \u2014 mixing navigation and panel tabs is not supported."
117
+ },
118
+ "getter": false,
119
+ "setter": false,
120
+ "reflect": false,
121
+ "attribute": "href"
122
+ },
123
+ "active": {
124
+ "type": "boolean",
125
+ "mutable": false,
126
+ "complexType": {
127
+ "original": "boolean",
128
+ "resolved": "boolean",
129
+ "references": {}
130
+ },
131
+ "required": false,
132
+ "optional": true,
133
+ "docs": {
134
+ "tags": [{
135
+ "name": "defaultValue",
136
+ "text": "false"
137
+ }],
138
+ "text": "Marks this tab as the current one in navigation mode (`href` set). Applies\nthe active treatment and `aria-current=\"page\"`. Ignored in panel mode, where\nthe active tab is derived from the parent's `activeTabName`."
139
+ },
140
+ "getter": false,
141
+ "setter": false,
142
+ "reflect": false,
143
+ "attribute": "active",
144
+ "defaultValue": "false"
145
+ },
146
+ "target": {
147
+ "type": "string",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "'_blank' | '_self' | '_parent' | '_top'",
151
+ "resolved": "\"_blank\" | \"_parent\" | \"_self\" | \"_top\"",
152
+ "references": {}
153
+ },
154
+ "required": false,
155
+ "optional": true,
156
+ "docs": {
157
+ "tags": [],
158
+ "text": "Where to open the linked URL, in navigation mode. Maps to the anchor's\n`target` attribute."
159
+ },
160
+ "getter": false,
161
+ "setter": false,
162
+ "reflect": false,
163
+ "attribute": "target"
164
+ },
165
+ "turboFrame": {
166
+ "type": "string",
167
+ "mutable": false,
168
+ "complexType": {
169
+ "original": "string",
170
+ "resolved": "string",
171
+ "references": {}
172
+ },
173
+ "required": false,
174
+ "optional": true,
175
+ "docs": {
176
+ "tags": [],
177
+ "text": "Navigation mode: the Turbo Frame to target. Maps to `data-turbo-frame` on the\nanchor, so a tab can swap a single frame (e.g. a page body) while leaving the\nrest of the page in place."
178
+ },
179
+ "getter": false,
180
+ "setter": false,
181
+ "reflect": false,
182
+ "attribute": "turbo-frame"
183
+ },
184
+ "turboAction": {
185
+ "type": "string",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "'advance' | 'replace'",
189
+ "resolved": "\"advance\" | \"replace\"",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": true,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": "Navigation mode: the Turbo visit action. Maps to `data-turbo-action` on the\nanchor (`advance` gives each tab its own history entry)."
197
+ },
198
+ "getter": false,
199
+ "setter": false,
200
+ "reflect": false,
201
+ "attribute": "turbo-action"
202
+ },
69
203
  "name": {
70
204
  "type": "string",
71
205
  "mutable": false,
@@ -173,6 +307,28 @@ export class PdsTab {
173
307
  "reflect": false,
174
308
  "attribute": "selected",
175
309
  "defaultValue": "false"
310
+ },
311
+ "navMode": {
312
+ "type": "boolean",
313
+ "mutable": false,
314
+ "complexType": {
315
+ "original": "boolean",
316
+ "resolved": "boolean",
317
+ "references": {}
318
+ },
319
+ "required": false,
320
+ "optional": true,
321
+ "docs": {
322
+ "tags": [{
323
+ "name": "internal",
324
+ "text": undefined
325
+ }],
326
+ "text": ""
327
+ },
328
+ "getter": false,
329
+ "setter": false,
330
+ "reflect": false,
331
+ "attribute": "nav-mode"
176
332
  }
177
333
  };
178
334
  }
@@ -2,6 +2,15 @@
2
2
  display: block;
3
3
  }
4
4
 
5
+ :host(.pds-tabpanel--stretch-active) {
6
+ flex: 1 1 auto;
7
+ min-block-size: 0;
8
+ }
9
+
10
+ :host(.pds-tabpanel--stretch-active) .pds-tabpanel.is-active {
11
+ block-size: 100%;
12
+ }
13
+
5
14
  .pds-tabpanel {
6
15
  display: none;
7
16
  margin-top: var(--tabs-dimension-panel-margin-top);
@@ -6,9 +6,14 @@ export class PdsTabpanel {
6
6
  */
7
7
  /** @internal */
8
8
  this.selected = false; // eslint-disable-line @stencil-community/strict-mutable
9
+ /**
10
+ * Keeps track of the parent `stretch` state so the active panel can fill height, this property is passed by parent component
11
+ */
12
+ /** @internal */
13
+ this.stretch = false;
9
14
  }
10
15
  render() {
11
- return (h(Host, { key: '6ba83ea71c899d61f67884780731591a05aa1894', slot: "tabpanels" }, h("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" }, h("slot", { key: 'b80ecc1380f424d545b31843b53de1b2854e9f28' }))));
16
+ return (h(Host, { key: '88dfc12ce8b2413824e6d3425aa38674fa14c764', slot: "tabpanels", class: this.stretch && this.selected ? "pds-tabpanel--stretch-active" : undefined }, h("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" }, h("slot", { key: '96ee87a0917e5f538a5c053045a5d6821684cf3a' }))));
12
17
  }
13
18
  static get is() { return "pds-tabpanel"; }
14
19
  static get originalStyleUrls() {
@@ -108,6 +113,29 @@ export class PdsTabpanel {
108
113
  "reflect": false,
109
114
  "attribute": "selected",
110
115
  "defaultValue": "false"
116
+ },
117
+ "stretch": {
118
+ "type": "boolean",
119
+ "mutable": false,
120
+ "complexType": {
121
+ "original": "boolean",
122
+ "resolved": "boolean",
123
+ "references": {}
124
+ },
125
+ "required": false,
126
+ "optional": false,
127
+ "docs": {
128
+ "tags": [{
129
+ "name": "internal",
130
+ "text": undefined
131
+ }],
132
+ "text": ""
133
+ },
134
+ "getter": false,
135
+ "setter": false,
136
+ "reflect": false,
137
+ "attribute": "stretch",
138
+ "defaultValue": "false"
111
139
  }
112
140
  };
113
141
  }
@@ -16,6 +16,20 @@
16
16
  gap: var(--pine-dimension-md);
17
17
  }
18
18
 
19
+ :host(.pds-tabs--divider) .pds-tabs__tablist {
20
+ border-block-end: var(--pine-border-width-thin) solid var(--pine-color-border-subtle);
21
+ }
22
+
23
+ :host(.pds-tabs--stretch) {
24
+ block-size: 100%;
25
+ display: flex;
26
+ flex-direction: column;
27
+ }
28
+
29
+ :host(.pds-tabs--stretch) .pds-tabs__tablist {
30
+ flex: 0 0 auto;
31
+ }
32
+
19
33
  :host(.pds-tabs--availability) .pds-tabs__tablist {
20
34
  gap: var(--pine-dimension-xs);
21
35
  }