@pine-ds/core 4.1.0 → 4.3.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 (481) hide show
  1. package/components/index.d.ts +8 -0
  2. package/components/index.js +1 -1
  3. package/components/mock-pds-modal.js +1 -1
  4. package/components/pds-button2.js +1 -1
  5. package/components/pds-checkbox2.js +1 -1
  6. package/components/pds-chip2.js +1 -1
  7. package/components/pds-combobox.js +1 -1
  8. package/components/pds-copytext.js +1 -1
  9. package/components/pds-drawer-content.d.ts +11 -0
  10. package/components/pds-drawer-content.js +1 -0
  11. package/components/pds-drawer-footer.d.ts +11 -0
  12. package/components/pds-drawer-footer.js +1 -0
  13. package/components/pds-drawer-header.d.ts +11 -0
  14. package/components/pds-drawer-header.js +1 -0
  15. package/components/pds-drawer.d.ts +11 -0
  16. package/components/pds-drawer.js +1 -0
  17. package/components/pds-dropdown-menu-item.js +1 -1
  18. package/components/pds-dropdown-menu-separator.js +1 -1
  19. package/components/pds-dropdown-menu.js +1 -1
  20. package/components/pds-filter.js +1 -1
  21. package/components/pds-filters.js +1 -1
  22. package/components/pds-icon2.js +1 -1
  23. package/components/pds-image.js +1 -1
  24. package/components/pds-input.js +1 -1
  25. package/components/pds-link2.js +1 -1
  26. package/components/pds-loader2.js +1 -1
  27. package/components/pds-modal-content.js +1 -1
  28. package/components/pds-modal-footer.js +1 -1
  29. package/components/pds-modal-header.js +1 -1
  30. package/components/pds-modal.js +1 -1
  31. package/components/pds-modal2.js +1 -0
  32. package/components/pds-multiselect.js +1 -1
  33. package/components/pds-popover.js +1 -1
  34. package/components/pds-progress.js +1 -1
  35. package/components/pds-property.js +1 -1
  36. package/components/pds-radio-group.js +1 -1
  37. package/components/pds-radio.js +1 -1
  38. package/components/pds-row.js +1 -1
  39. package/components/pds-select.js +1 -1
  40. package/components/pds-sortable-item.js +1 -1
  41. package/components/pds-sortable.js +2 -2
  42. package/components/pds-switch.js +1 -1
  43. package/components/pds-table-body.js +1 -1
  44. package/components/pds-table-cell2.js +1 -1
  45. package/components/pds-table-head-cell2.js +1 -1
  46. package/components/pds-table-head.js +1 -1
  47. package/components/pds-table-row.js +1 -1
  48. package/components/pds-tabpanel.js +1 -1
  49. package/components/pds-tabs.js +1 -1
  50. package/components/pds-text2.js +1 -1
  51. package/components/pds-textarea.js +1 -1
  52. package/components/pds-toast.js +1 -1
  53. package/components/pds-tooltip.js +1 -1
  54. package/components/truncation-tooltip.js +1 -1
  55. package/dist/cjs/{index-CuQil7H0.js → index-CaLa1zy9.js} +1 -1
  56. package/dist/cjs/{index-BMV0nzMk.js → index-DYvijwA6.js} +1 -1
  57. package/dist/cjs/index.cjs.js +20 -0
  58. package/dist/cjs/loader.cjs.js +2 -2
  59. package/dist/cjs/mock-pds-modal.cjs.entry.js +3 -3
  60. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  61. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  62. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  63. package/dist/cjs/pds-box.cjs.entry.js +2 -2
  64. package/dist/cjs/pds-button.cjs.entry.js +4 -4
  65. package/dist/cjs/pds-checkbox.cjs.entry.js +3 -3
  66. package/dist/cjs/pds-chip.cjs.entry.js +46 -12
  67. package/dist/cjs/pds-combobox.cjs.entry.js +3 -3
  68. package/dist/cjs/pds-container.cjs.entry.js +1 -1
  69. package/dist/cjs/pds-copytext.cjs.entry.js +8 -4
  70. package/dist/cjs/pds-divider.cjs.entry.js +1 -1
  71. package/dist/cjs/pds-drawer-content.cjs.entry.js +23 -0
  72. package/dist/cjs/pds-drawer-footer.cjs.entry.js +23 -0
  73. package/dist/cjs/pds-drawer-header.cjs.entry.js +23 -0
  74. package/dist/cjs/pds-drawer.cjs.entry.js +137 -0
  75. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  76. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
  77. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  78. package/dist/cjs/pds-filter.cjs.entry.js +3 -3
  79. package/dist/cjs/pds-filters.cjs.entry.js +2 -2
  80. package/dist/cjs/pds-icon.cjs.entry.js +2 -2
  81. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  82. package/dist/cjs/pds-input.cjs.entry.js +5 -5
  83. package/dist/cjs/pds-link.cjs.entry.js +5 -5
  84. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  85. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
  86. package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
  87. package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
  88. package/dist/cjs/pds-modal.cjs.entry.js +173 -14
  89. package/dist/cjs/pds-multiselect.cjs.entry.js +6 -6
  90. package/dist/cjs/pds-popover.cjs.entry.js +2 -2
  91. package/dist/cjs/pds-progress.cjs.entry.js +4 -2
  92. package/dist/cjs/pds-property.cjs.entry.js +2 -2
  93. package/dist/cjs/pds-radio-group.cjs.entry.js +5 -5
  94. package/dist/cjs/pds-radio.cjs.entry.js +6 -6
  95. package/dist/cjs/pds-row.cjs.entry.js +2 -2
  96. package/dist/cjs/pds-select.cjs.entry.js +3 -3
  97. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  98. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  99. package/dist/cjs/pds-switch.cjs.entry.js +6 -6
  100. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  101. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  102. package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
  103. package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
  104. package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
  105. package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
  106. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  107. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  108. package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
  109. package/dist/cjs/pds-text.cjs.entry.js +7 -25
  110. package/dist/cjs/pds-textarea.cjs.entry.js +7 -7
  111. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  112. package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
  113. package/dist/cjs/pine-core.cjs.js +2 -2
  114. package/dist/cjs/{truncation-tooltip-CVzAha5B.js → truncation-tooltip-Bps7_rUy.js} +51 -1
  115. package/dist/cjs/{utils-7jx8T2mW.js → utils-KWALOgy9.js} +16 -2
  116. package/dist/collection/collection-manifest.json +4 -0
  117. package/dist/collection/components/pds-button/pds-button.css +1 -2
  118. package/dist/collection/components/pds-checkbox/pds-checkbox.css +6 -4
  119. package/dist/collection/components/pds-chip/pds-chip.css +60 -6
  120. package/dist/collection/components/pds-chip/pds-chip.js +82 -8
  121. package/dist/collection/components/pds-chip/pds-chip.tokens.css +16 -0
  122. package/dist/collection/components/pds-chip/stories/pds-chip.stories.js +39 -1
  123. package/dist/collection/components/pds-combobox/pds-combobox.css +1 -2
  124. package/dist/collection/components/pds-combobox/pds-combobox.js +1 -1
  125. package/dist/collection/components/pds-copytext/pds-copytext.js +5 -1
  126. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
  127. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +29 -0
  128. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
  129. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +23 -0
  130. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
  131. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +23 -0
  132. package/dist/collection/components/pds-drawer/pds-drawer.css +36 -0
  133. package/dist/collection/components/pds-drawer/pds-drawer.js +362 -0
  134. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +72 -0
  135. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
  136. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  137. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  138. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  139. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  140. package/dist/collection/components/pds-image/pds-image.js +2 -2
  141. package/dist/collection/components/pds-input/pds-input.js +2 -2
  142. package/dist/collection/components/pds-link/pds-link.js +2 -2
  143. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  144. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  145. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  146. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  147. package/dist/collection/components/pds-modal/pds-modal.css +4 -0
  148. package/dist/collection/components/pds-modal/pds-modal.js +209 -16
  149. package/dist/collection/components/pds-modal/stories/pds-modal.stories.js +14 -0
  150. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  151. package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
  152. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  153. package/dist/collection/components/pds-progress/pds-progress.js +3 -1
  154. package/dist/collection/components/pds-property/pds-property.js +1 -1
  155. package/dist/collection/components/pds-radio/pds-radio.css +1 -2
  156. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  157. package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
  158. package/dist/collection/components/pds-row/pds-row.js +1 -1
  159. package/dist/collection/components/pds-select/pds-select.js +1 -1
  160. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  161. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  162. package/dist/collection/components/pds-switch/pds-switch.css +1 -1
  163. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  164. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  165. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +3 -3
  166. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  167. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  168. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  169. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  170. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  171. package/dist/collection/components/pds-text/pds-text.js +2 -2
  172. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  173. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  174. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  175. package/dist/collection/index.js +1 -0
  176. package/dist/collection/utils/test/reduced-motion.js +78 -0
  177. package/dist/collection/utils/truncation-tooltip.js +51 -1
  178. package/dist/collection/utils/utils.js +16 -2
  179. package/dist/docs.json +492 -15
  180. package/dist/esm/{index-Bu9gFIxM.js → index-BU1hN5Vy.js} +1 -1
  181. package/dist/esm/{index-CTLu1TM4.js → index-DcT8--Dn.js} +1 -1
  182. package/dist/esm/index.js +19 -0
  183. package/dist/esm/loader.js +3 -3
  184. package/dist/esm/mock-pds-modal.entry.js +3 -3
  185. package/dist/esm/pds-accordion.entry.js +2 -2
  186. package/dist/esm/pds-alert.entry.js +1 -1
  187. package/dist/esm/pds-avatar.entry.js +2 -2
  188. package/dist/esm/pds-box.entry.js +2 -2
  189. package/dist/esm/pds-button.entry.js +4 -4
  190. package/dist/esm/pds-checkbox.entry.js +3 -3
  191. package/dist/esm/pds-chip.entry.js +46 -12
  192. package/dist/esm/pds-combobox.entry.js +3 -3
  193. package/dist/esm/pds-container.entry.js +1 -1
  194. package/dist/esm/pds-copytext.entry.js +8 -4
  195. package/dist/esm/pds-divider.entry.js +1 -1
  196. package/dist/esm/pds-drawer-content.entry.js +21 -0
  197. package/dist/esm/pds-drawer-footer.entry.js +21 -0
  198. package/dist/esm/pds-drawer-header.entry.js +21 -0
  199. package/dist/esm/pds-drawer.entry.js +135 -0
  200. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  201. package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
  202. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  203. package/dist/esm/pds-filter.entry.js +3 -3
  204. package/dist/esm/pds-filters.entry.js +2 -2
  205. package/dist/esm/pds-icon.entry.js +2 -2
  206. package/dist/esm/pds-image.entry.js +3 -3
  207. package/dist/esm/pds-input.entry.js +5 -5
  208. package/dist/esm/pds-link.entry.js +5 -5
  209. package/dist/esm/pds-loader.entry.js +2 -2
  210. package/dist/esm/pds-modal-content.entry.js +3 -3
  211. package/dist/esm/pds-modal-footer.entry.js +2 -2
  212. package/dist/esm/pds-modal-header.entry.js +2 -2
  213. package/dist/esm/pds-modal.entry.js +173 -14
  214. package/dist/esm/pds-multiselect.entry.js +6 -6
  215. package/dist/esm/pds-popover.entry.js +2 -2
  216. package/dist/esm/pds-progress.entry.js +4 -2
  217. package/dist/esm/pds-property.entry.js +2 -2
  218. package/dist/esm/pds-radio-group.entry.js +5 -5
  219. package/dist/esm/pds-radio.entry.js +6 -6
  220. package/dist/esm/pds-row.entry.js +2 -2
  221. package/dist/esm/pds-select.entry.js +3 -3
  222. package/dist/esm/pds-sortable-item.entry.js +3 -3
  223. package/dist/esm/pds-sortable.entry.js +2 -2
  224. package/dist/esm/pds-switch.entry.js +6 -6
  225. package/dist/esm/pds-tab.entry.js +1 -1
  226. package/dist/esm/pds-table-body.entry.js +2 -2
  227. package/dist/esm/pds-table-cell.entry.js +4 -4
  228. package/dist/esm/pds-table-head-cell.entry.js +4 -4
  229. package/dist/esm/pds-table-head.entry.js +2 -2
  230. package/dist/esm/pds-table-row.entry.js +2 -2
  231. package/dist/esm/pds-table.entry.js +1 -1
  232. package/dist/esm/pds-tabpanel.entry.js +2 -2
  233. package/dist/esm/pds-tabs.entry.js +2 -2
  234. package/dist/esm/pds-text.entry.js +5 -23
  235. package/dist/esm/pds-textarea.entry.js +7 -7
  236. package/dist/esm/pds-toast.entry.js +4 -4
  237. package/dist/esm/pds-tooltip.entry.js +3 -3
  238. package/dist/esm/pine-core.js +3 -3
  239. package/dist/esm/{truncation-tooltip-Blk4GigP.js → truncation-tooltip-CdtEBn_5.js} +51 -1
  240. package/dist/esm/{utils-tJa4KYNO.js → utils-u_0lxWnH.js} +16 -2
  241. package/dist/esm-es5/{index-CTLu1TM4.js → index-DcT8--Dn.js} +2 -2
  242. package/dist/esm-es5/index.js +1 -0
  243. package/dist/esm-es5/loader.js +1 -1
  244. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  245. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  246. package/dist/esm-es5/pds-alert.entry.js +1 -1
  247. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  248. package/dist/esm-es5/pds-box.entry.js +1 -1
  249. package/dist/esm-es5/pds-button.entry.js +1 -1
  250. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  251. package/dist/esm-es5/pds-chip.entry.js +1 -1
  252. package/dist/esm-es5/pds-combobox.entry.js +2 -2
  253. package/dist/esm-es5/pds-container.entry.js +1 -1
  254. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  255. package/dist/esm-es5/pds-divider.entry.js +1 -1
  256. package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
  257. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
  258. package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
  259. package/dist/esm-es5/pds-drawer.entry.js +1 -0
  260. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  261. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  262. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  263. package/dist/esm-es5/pds-filter.entry.js +1 -1
  264. package/dist/esm-es5/pds-filters.entry.js +1 -1
  265. package/dist/esm-es5/pds-icon.entry.js +1 -1
  266. package/dist/esm-es5/pds-image.entry.js +1 -1
  267. package/dist/esm-es5/pds-input.entry.js +1 -1
  268. package/dist/esm-es5/pds-link.entry.js +1 -1
  269. package/dist/esm-es5/pds-loader.entry.js +1 -1
  270. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  271. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  272. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  273. package/dist/esm-es5/pds-modal.entry.js +1 -1
  274. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  275. package/dist/esm-es5/pds-popover.entry.js +1 -1
  276. package/dist/esm-es5/pds-progress.entry.js +1 -1
  277. package/dist/esm-es5/pds-property.entry.js +1 -1
  278. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  279. package/dist/esm-es5/pds-radio.entry.js +1 -1
  280. package/dist/esm-es5/pds-row.entry.js +1 -1
  281. package/dist/esm-es5/pds-select.entry.js +1 -1
  282. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  283. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  284. package/dist/esm-es5/pds-switch.entry.js +1 -1
  285. package/dist/esm-es5/pds-tab.entry.js +1 -1
  286. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  287. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  288. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  289. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  290. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  291. package/dist/esm-es5/pds-table.entry.js +1 -1
  292. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  293. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  294. package/dist/esm-es5/pds-text.entry.js +1 -1
  295. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  296. package/dist/esm-es5/pds-toast.entry.js +1 -1
  297. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  298. package/dist/esm-es5/pine-core.js +1 -1
  299. package/dist/esm-es5/truncation-tooltip-CdtEBn_5.js +1 -0
  300. package/dist/pine-core/index.esm.js +1 -0
  301. package/dist/pine-core/p-003df3b3.entry.js +1 -0
  302. package/dist/pine-core/{p-92ef1608.system.entry.js → p-02452806.system.entry.js} +1 -1
  303. package/dist/pine-core/{p-5d585aa8.entry.js → p-026ee6de.entry.js} +1 -1
  304. package/dist/pine-core/{p-463eb0e6.system.entry.js → p-03f3fc92.system.entry.js} +1 -1
  305. package/dist/pine-core/p-06375326.system.entry.js +1 -0
  306. package/dist/pine-core/p-08196d6c.entry.js +1 -0
  307. package/dist/pine-core/{p-bf3afa16.system.entry.js → p-089606b8.system.entry.js} +1 -1
  308. package/dist/pine-core/p-12941e0d.entry.js +1 -0
  309. package/dist/pine-core/{p-3b9e77b3.entry.js → p-13bb89ff.entry.js} +1 -1
  310. package/dist/pine-core/{p-1649dd61.system.entry.js → p-15a0fa0a.system.entry.js} +1 -1
  311. package/dist/pine-core/{p-3050c66f.entry.js → p-1abae35f.entry.js} +1 -1
  312. package/dist/pine-core/p-1df5e088.entry.js +1 -0
  313. package/dist/pine-core/{p-460aa66f.system.entry.js → p-20753e42.system.entry.js} +1 -1
  314. package/dist/pine-core/{p-12ec8186.system.entry.js → p-24214ab9.system.entry.js} +1 -1
  315. package/dist/pine-core/p-250011ba.entry.js +1 -0
  316. package/dist/pine-core/{p-9b68669f.entry.js → p-2b420257.entry.js} +1 -1
  317. package/dist/pine-core/{p-86bc2a0c.entry.js → p-2bb101c2.entry.js} +1 -1
  318. package/dist/pine-core/{p-6089d811.entry.js → p-2dbc90ba.entry.js} +1 -1
  319. package/dist/pine-core/{p-2fd71a0c.entry.js → p-317337e4.entry.js} +1 -1
  320. package/dist/pine-core/{p-a9e54964.entry.js → p-32fc82c2.entry.js} +1 -1
  321. package/dist/pine-core/{p-714bfdbd.entry.js → p-35edd8b0.entry.js} +1 -1
  322. package/dist/pine-core/p-375eb7f4.entry.js +1 -0
  323. package/dist/pine-core/{p-e1653d75.system.entry.js → p-3b555f06.system.entry.js} +1 -1
  324. package/dist/pine-core/p-3b796898.entry.js +1 -0
  325. package/dist/pine-core/{p-c0753d9f.entry.js → p-3c5489ce.entry.js} +1 -1
  326. package/dist/pine-core/{p-8702635d.system.entry.js → p-3e868906.system.entry.js} +1 -1
  327. package/dist/pine-core/{p-eb4058ed.system.entry.js → p-441682f4.system.entry.js} +1 -1
  328. package/dist/pine-core/{p-7b1e3e91.entry.js → p-44222439.entry.js} +1 -1
  329. package/dist/pine-core/p-45d55983.entry.js +1 -0
  330. package/dist/pine-core/{p-544ccf67.entry.js → p-464f23e6.entry.js} +1 -1
  331. package/dist/pine-core/{p-aecaff12.entry.js → p-49c6112a.entry.js} +1 -1
  332. package/dist/pine-core/p-4bd57896.system.entry.js +1 -0
  333. package/dist/pine-core/{p-b0531455.entry.js → p-4cbb691f.entry.js} +1 -1
  334. package/dist/pine-core/{p-46f0dda5.system.entry.js → p-4ebdb90b.system.entry.js} +1 -1
  335. package/dist/pine-core/{p-b109de2e.entry.js → p-4f5aacd9.entry.js} +1 -1
  336. package/dist/pine-core/{p-9187c26c.system.entry.js → p-55532d56.system.entry.js} +1 -1
  337. package/dist/pine-core/{p-f35596cd.entry.js → p-558ac401.entry.js} +1 -1
  338. package/dist/pine-core/{p-c09dab1a.system.entry.js → p-57784f2f.system.entry.js} +1 -1
  339. package/dist/pine-core/p-5a8345e2.entry.js +1 -0
  340. package/dist/pine-core/{p-4923a3fe.entry.js → p-5c5bd609.entry.js} +1 -1
  341. package/dist/pine-core/p-5d2f95bd.entry.js +1 -0
  342. package/dist/pine-core/p-5f3d0c86.system.entry.js +1 -0
  343. package/dist/pine-core/{p-a3c4c0ee.entry.js → p-5f5339ab.entry.js} +1 -1
  344. package/dist/pine-core/{p-bfa640f4.system.entry.js → p-67fc26e5.system.entry.js} +1 -1
  345. package/dist/pine-core/p-6a6a767b.system.entry.js +1 -0
  346. package/dist/pine-core/p-6b260a97.entry.js +1 -0
  347. package/dist/pine-core/{p-d804d37b.system.entry.js → p-6b3d8c2b.system.entry.js} +1 -1
  348. package/dist/pine-core/p-6dabeebc.system.entry.js +3 -0
  349. package/dist/pine-core/{p-d157a33a.entry.js → p-70891202.entry.js} +1 -1
  350. package/dist/pine-core/p-70fb83d4.entry.js +1 -0
  351. package/dist/pine-core/{p-7a1971ec.entry.js → p-73c3a73f.entry.js} +1 -1
  352. package/dist/pine-core/p-73fa955a.system.entry.js +1 -0
  353. package/dist/pine-core/p-755e0b3c.system.entry.js +1 -0
  354. package/dist/pine-core/p-77082557.system.entry.js +1 -0
  355. package/dist/pine-core/{p-65557500.entry.js → p-7e4729e0.entry.js} +1 -1
  356. package/dist/pine-core/p-8b051229.entry.js +1 -0
  357. package/dist/pine-core/{p-c713ffc6.system.entry.js → p-8d1e7b3c.system.entry.js} +1 -1
  358. package/dist/pine-core/{p-63f5f66f.system.entry.js → p-8d8a8550.system.entry.js} +1 -1
  359. package/dist/pine-core/{p-2d4b9253.entry.js → p-93486f2e.entry.js} +1 -1
  360. package/dist/pine-core/{p-b255d3b7.entry.js → p-93ae562d.entry.js} +1 -1
  361. package/dist/pine-core/{p-ce79321b.system.entry.js → p-93c52e2b.system.entry.js} +1 -1
  362. package/dist/pine-core/{p-08151143.system.entry.js → p-95b8bece.system.entry.js} +1 -1
  363. package/dist/pine-core/{p-af4a24d9.entry.js → p-95defb53.entry.js} +1 -1
  364. package/dist/pine-core/{p-92c79ed4.system.entry.js → p-99f300ef.system.entry.js} +1 -1
  365. package/dist/pine-core/p-9d77f2f8.system.entry.js +1 -0
  366. package/dist/pine-core/p-9d902000.system.entry.js +1 -0
  367. package/dist/pine-core/p-9ef355b7.entry.js +1 -0
  368. package/dist/pine-core/p-B2nn1gSd.js +1 -0
  369. package/dist/pine-core/{p-CRCxGYgw.system.js → p-B2qvvB3q.system.js} +1 -1
  370. package/dist/pine-core/p-BI7Ml0VF.system.js +1 -0
  371. package/dist/pine-core/p-CJ8t3EBJ.system.js +2 -0
  372. package/dist/pine-core/p-DcT8--Dn.js +2 -0
  373. package/dist/pine-core/p-G3CPPJEt.system.js +1 -0
  374. package/dist/pine-core/p-a009ab10.system.entry.js +1 -0
  375. package/dist/pine-core/p-a616385b.system.entry.js +1 -0
  376. package/dist/pine-core/{p-bba759f8.system.entry.js → p-a6a269da.system.entry.js} +1 -1
  377. package/dist/pine-core/p-a8cd2ab5.entry.js +1 -0
  378. package/dist/pine-core/p-a8f1a48d.entry.js +1 -0
  379. package/dist/pine-core/p-b0becff3.system.entry.js +1 -0
  380. package/dist/pine-core/p-b45b8f8b.system.entry.js +1 -0
  381. package/dist/pine-core/{p-e16dfb32.system.entry.js → p-b53d9620.system.entry.js} +1 -1
  382. package/dist/pine-core/p-b85bb61d.system.entry.js +1 -0
  383. package/dist/pine-core/{p-ae296598.entry.js → p-b8a5597d.entry.js} +1 -1
  384. package/dist/pine-core/p-b9a857fc.system.entry.js +1 -0
  385. package/dist/pine-core/p-bd9b2931.system.entry.js +1 -0
  386. package/dist/pine-core/p-bdded57a.system.entry.js +1 -0
  387. package/dist/pine-core/{p-4dad0878.entry.js → p-bf025e38.entry.js} +1 -1
  388. package/dist/pine-core/{p-0fcda1ec.entry.js → p-c08b1697.entry.js} +1 -1
  389. package/dist/pine-core/p-c1a65082.entry.js +1 -0
  390. package/dist/pine-core/p-c1d1befb.system.entry.js +1 -0
  391. package/dist/pine-core/{p-1e952dbb.entry.js → p-c5b6b545.entry.js} +2 -2
  392. package/dist/pine-core/{p-ce63f726.system.entry.js → p-c6426e16.system.entry.js} +1 -1
  393. package/dist/pine-core/{p-d54af26c.system.entry.js → p-cfcb89d1.system.entry.js} +1 -1
  394. package/dist/pine-core/{p-aa208514.entry.js → p-d33d65f6.entry.js} +1 -1
  395. package/dist/pine-core/p-d70aa0c7.system.entry.js +1 -0
  396. package/dist/pine-core/{p-902b3e8b.system.entry.js → p-d9c1ee36.system.entry.js} +1 -1
  397. package/dist/pine-core/{p-e450eb27.system.entry.js → p-df285ece.system.entry.js} +1 -1
  398. package/dist/pine-core/{p-04a30a2d.system.entry.js → p-e039ebb6.system.entry.js} +1 -1
  399. package/dist/pine-core/{p-4d6944aa.entry.js → p-e055c543.entry.js} +1 -1
  400. package/dist/pine-core/{p-2af19aa7.entry.js → p-e08e4ca7.entry.js} +1 -1
  401. package/dist/pine-core/p-ea986474.system.entry.js +1 -0
  402. package/dist/pine-core/{p-afd07d5b.entry.js → p-ec04d4c3.entry.js} +1 -1
  403. package/dist/pine-core/p-ee114aef.entry.js +1 -0
  404. package/dist/pine-core/{p-d415bb01.entry.js → p-ee997fbf.entry.js} +2 -2
  405. package/dist/pine-core/{p-8e6a8a8e.entry.js → p-f1365550.entry.js} +1 -1
  406. package/dist/pine-core/{p-fcf91f14.system.entry.js → p-f26dcbc2.system.entry.js} +1 -1
  407. package/dist/pine-core/{p-cf72e9b1.system.entry.js → p-f5cf98be.system.entry.js} +1 -1
  408. package/dist/pine-core/{p-b17fa86a.system.entry.js → p-f682f08a.system.entry.js} +1 -1
  409. package/dist/pine-core/p-f89197c9.entry.js +1 -0
  410. package/dist/pine-core/p-f9f7101e.entry.js +1 -0
  411. package/dist/pine-core/{p-226232a7.system.entry.js → p-fa2a786d.system.entry.js} +1 -1
  412. package/dist/pine-core/{p-7c18e9e8.system.entry.js → p-fa8d3155.system.entry.js} +2 -2
  413. package/dist/pine-core/p-fb774f89.system.entry.js +1 -0
  414. package/dist/pine-core/{p-ba8bd9dc.system.entry.js → p-fbb72e66.system.entry.js} +1 -1
  415. package/dist/pine-core/pine-core.css +1 -1
  416. package/dist/pine-core/pine-core.esm.js +1 -1
  417. package/dist/pine-core/pine-core.js +1 -1
  418. package/dist/types/components/pds-chip/pds-chip.d.ts +12 -0
  419. package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +11 -0
  420. package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +5 -0
  421. package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +5 -0
  422. package/dist/types/components/pds-drawer/pds-drawer.d.ts +78 -0
  423. package/dist/types/components/pds-modal/pds-modal.d.ts +47 -2
  424. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +2 -1
  425. package/dist/types/components/pds-text/pds-text.d.ts +2 -1
  426. package/dist/types/components.d.ts +253 -11
  427. package/dist/types/index.d.ts +1 -0
  428. package/dist/types/utils/test/reduced-motion.d.ts +30 -0
  429. package/dist/types/utils/truncation-tooltip.d.ts +12 -0
  430. package/dist/types/utils/types.d.ts +2 -1
  431. package/dist/types/utils/utils.d.ts +16 -1
  432. package/dist/vscode.html-data.json +169 -6
  433. package/hydrate/index.js +623 -115
  434. package/hydrate/index.mjs +623 -115
  435. package/package.json +7 -3
  436. package/dist/esm-es5/truncation-tooltip-Blk4GigP.js +0 -1
  437. package/dist/pine-core/p-056667f0.entry.js +0 -1
  438. package/dist/pine-core/p-0d73d473.entry.js +0 -1
  439. package/dist/pine-core/p-0e89a189.entry.js +0 -1
  440. package/dist/pine-core/p-1ba361cb.entry.js +0 -1
  441. package/dist/pine-core/p-210f0994.system.entry.js +0 -1
  442. package/dist/pine-core/p-222ff58e.system.entry.js +0 -1
  443. package/dist/pine-core/p-228a9068.system.entry.js +0 -1
  444. package/dist/pine-core/p-2e214db6.entry.js +0 -1
  445. package/dist/pine-core/p-33de0eb7.system.entry.js +0 -1
  446. package/dist/pine-core/p-3aec9079.entry.js +0 -1
  447. package/dist/pine-core/p-3cdc1a5b.entry.js +0 -1
  448. package/dist/pine-core/p-4faff617.entry.js +0 -1
  449. package/dist/pine-core/p-50e0f726.system.entry.js +0 -1
  450. package/dist/pine-core/p-520f7a5b.entry.js +0 -1
  451. package/dist/pine-core/p-53999cd6.system.entry.js +0 -1
  452. package/dist/pine-core/p-5c239f0a.entry.js +0 -1
  453. package/dist/pine-core/p-611f68b7.system.entry.js +0 -1
  454. package/dist/pine-core/p-7691a875.system.entry.js +0 -3
  455. package/dist/pine-core/p-85434de8.system.entry.js +0 -1
  456. package/dist/pine-core/p-897fe88c.entry.js +0 -1
  457. package/dist/pine-core/p-9487ff20.system.entry.js +0 -1
  458. package/dist/pine-core/p-9507eb49.system.entry.js +0 -1
  459. package/dist/pine-core/p-97198cb6.system.entry.js +0 -1
  460. package/dist/pine-core/p-9a7294e7.system.entry.js +0 -1
  461. package/dist/pine-core/p-9fd1e8f4.system.entry.js +0 -1
  462. package/dist/pine-core/p-BNSGedhN.js +0 -1
  463. package/dist/pine-core/p-CTLu1TM4.js +0 -2
  464. package/dist/pine-core/p-DAIsVNlL.system.js +0 -2
  465. package/dist/pine-core/p-Dr-FzkdE.system.js +0 -1
  466. package/dist/pine-core/p-YWpyar7R.system.js +0 -1
  467. package/dist/pine-core/p-a53222f7.entry.js +0 -1
  468. package/dist/pine-core/p-a7eabc0c.system.entry.js +0 -1
  469. package/dist/pine-core/p-a8ab4d9b.entry.js +0 -1
  470. package/dist/pine-core/p-b52deffb.entry.js +0 -1
  471. package/dist/pine-core/p-b6c2090f.system.entry.js +0 -1
  472. package/dist/pine-core/p-d27ef352.system.entry.js +0 -1
  473. package/dist/pine-core/p-e11795db.system.entry.js +0 -1
  474. package/dist/pine-core/p-f09ce49e.entry.js +0 -1
  475. package/dist/pine-core/p-f3683be8.entry.js +0 -1
  476. /package/dist/esm-es5/{index-Bu9gFIxM.js → index-BU1hN5Vy.js} +0 -0
  477. /package/dist/esm-es5/{utils-tJa4KYNO.js → utils-u_0lxWnH.js} +0 -0
  478. /package/dist/pine-core/{p-Bu9gFIxM.js → p-BU1hN5Vy.js} +0 -0
  479. /package/dist/pine-core/{p-BG6uGRQj.system.js → p-D_I-k33A.system.js} +0 -0
  480. /package/dist/pine-core/{p-Bjc6fc_Y.system.js → p-ctdGub9B.system.js} +0 -0
  481. /package/dist/pine-core/{p-tJa4KYNO.js → p-u_0lxWnH.js} +0 -0
@@ -42,7 +42,7 @@ export class PdsTableHead {
42
42
  }
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: '972440cfae0388fb28018929bcf79330cfc5f4d5', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '13080928a925352bd35318bb5871d2ad3041d616', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, !this.tableRef.disableSelectAll && (h("pds-checkbox", { key: '57e7872a8620a2a7a295f2bc5354bfbe75541eba', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" })))), h("slot", { key: 'e1d459755b5db56bbbbbaf69f40ed994d1604b83' })));
45
+ return (h(Host, { key: '5815389e77b61a323dd4430625b0917a7428bf02', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '161fdced5a7c7cd13a62fb7c1ed96e82ad2dbfd0', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, !this.tableRef.disableSelectAll && (h("pds-checkbox", { key: 'd6e90d844d314ef347ffb4db8b360ba36887c311', componentId: this.generateUniqueId(), indeterminate: this.indeterminate, onInput: this.handleInput, label: "Select All Rows", hideLabel: true, checked: this.isSelected, part: "select-all-checkbox" })))), h("slot", { key: '1dd5dd37d4fca230000a6eb4b96fee87e4e67802' })));
46
46
  }
47
47
  static get is() { return "pds-table-head"; }
48
48
  static get encapsulation() { return "shadow"; }
@@ -199,11 +199,11 @@ export class PdsTableHeadCell {
199
199
  return classNames.join(' ');
200
200
  }
201
201
  render() {
202
- return (h(Host, { key: 'a9862d24c53e7db944724d5bc351935ae7aea5b3', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
202
+ return (h(Host, { key: 'c30192a432bbd8868326fc7ed4199b98a33991ff', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, part: "head-cell", style: this.tableRef &&
203
203
  this.tableRef.fixedColumn &&
204
204
  this.tableRef.selectable
205
205
  ? { '--fixed-cell-position': '40px' }
206
- : {} }, h("slot", { key: '2a78068e2a35f0c7c608535784dafc1401727ecc' }), this.sortable && this.isActive && (h("pds-icon", { key: '7d4c28385f00450326b8796666dc81230ccb4f54', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
206
+ : {} }, h("slot", { key: 'e725a7e576f6bc56d385c8cb0822ce255544fbcb' }), this.sortable && this.isActive && (h("pds-icon", { key: '52068d114bfadcd6d4e02c86e703349bc7833716', icon: this.sortingDirection === 'asc' ? upSmall : downSmall, part: "sort-icon" }))));
207
207
  }
208
208
  static get is() { return "pds-table-head-cell"; }
209
209
  static get encapsulation() { return "shadow"; }
@@ -137,7 +137,7 @@ export class PdsTableRow {
137
137
  }
138
138
  }
139
139
  render() {
140
- return (h(Host, { key: '570628eae542c3962db9b2a81615cbc9d6b7bb3c', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '78fd4b1a2823759c0c113aa9a78ccaa0e859989d', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '953debb5b0537543185e0feb7c38947818964a96', componentId: this.generateUniqueId(), onPdsCheckboxChange: this.handleCheckboxChange, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: '357ace6cfc64552a6cd26c66801e131f9d5d1bed' })));
140
+ return (h(Host, { key: '4188f670137051d35cf73a5ca86566f65c3eca09', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '122ff6ec96ea4857b863f9283bd46946dc403bff', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: '9997b31c86190fe8f25ba4d1b42b8753facbba70', componentId: this.generateUniqueId(), onPdsCheckboxChange: this.handleCheckboxChange, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: 'f9bc0700386b11a35f78d639118351675ab7150d' })));
141
141
  }
142
142
  static get is() { return "pds-table-row"; }
143
143
  static get encapsulation() { return "shadow"; }
@@ -18,7 +18,7 @@ export class PdsTabpanel {
18
18
  unwrapReconnectedContent(this.el.querySelector('.pds-tabpanel'), '.pds-tabpanel');
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: 'be561d592a9c7d2458987bcc09fe5d8d253bd2ba', slot: "tabpanels", class: this.stretch && this.selected ? "pds-tabpanel--stretch-active" : undefined }, h("div", { key: '98cb5eda73378d95519de8ce24c60f9263e89add', 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: '27b707d8fae77685f0cea7b0dc8c8dbcdb808f65' }))));
21
+ return (h(Host, { key: 'e1dd3a854d6ceffff0688afb7ed02f3d56ae9333', slot: "tabpanels", class: this.stretch && this.selected ? "pds-tabpanel--stretch-active" : undefined }, h("div", { key: '381a763bc540659c8944ff48ccc1a41ad94dc087', 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: 'bdb11c6e68f701cf91fda68db5122bb9dfe7d894' }))));
22
22
  }
23
23
  static get is() { return "pds-tabpanel"; }
24
24
  static get originalStyleUrls() {
@@ -160,7 +160,7 @@ export class PdsTabs {
160
160
  // Navigation mode: a <nav> landmark of links (aria-current marks the current
161
161
  // page). Panel mode: the ARIA tablist of role=tab buttons over tabpanels.
162
162
  const tabList = this.isNav ? (h("nav", { class: "pds-tabs__tablist", "aria-label": this.tablistLabel || undefined, part: "tab-list" }, h("slot", { name: "tabs" }))) : (h("div", { class: "pds-tabs__tablist", role: "tablist", "aria-label": this.tablistLabel, part: "tab-list" }, h("slot", { name: "tabs" })));
163
- return (h(Host, { key: '43be427fec88d758d9caa2200320a0a327ac9e4d', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, tabList, h("slot", { key: 'e4b1db5920dc0264811f08706406fd45c48106f9', name: "tabpanels" })));
163
+ return (h(Host, { key: 'f9d0e94dcacd7b94691368f08eb77b45475c0a35', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, tabList, h("slot", { key: '93c605b2bd4b8ad3dcd8f494a82fd30833e8b300', name: "tabpanels" })));
164
164
  }
165
165
  static get is() { return "pds-tabs"; }
166
166
  static get encapsulation() { return "shadow"; }
@@ -83,7 +83,7 @@ export class PdsText {
83
83
  ? `pds-text--decoration-${this.decoration}`
84
84
  : ''}
85
85
  `;
86
- return (h(Tag, { key: 'deef66327ac6089ba6b32d80d41c0be60b5ee768', ref: (el) => (this.contentEl = el), style: this.color && setColor(this.color), class: typeClasses, part: "content", tabIndex: this.truncate ? 0 : undefined }, h("slot", { key: 'b58f1d01a19f2da255abaed9c0e3e2d8fea30019' })));
86
+ return (h(Tag, { key: 'cf597479ded618a0674d68fd726b828d88c0e642', ref: (el) => (this.contentEl = el), style: this.color && setColor(this.color), class: typeClasses, part: "content" }, h("slot", { key: 'f9c163be5662522b012bca6b0a23cfe00860e474' })));
87
87
  }
88
88
  static get is() { return "pds-text"; }
89
89
  static get encapsulation() { return "shadow"; }
@@ -271,7 +271,7 @@ export class PdsText {
271
271
  "optional": true,
272
272
  "docs": {
273
273
  "tags": [],
274
- "text": "If set or `true`, the text will be truncated. Must add a `width` to the element.\nWhen text overflows, a tooltip showing the full text will appear on hover/focus.\nNote: When truncate is enabled, the element automatically receives tabindex=\"0\" for keyboard accessibility."
274
+ "text": "If set or `true`, the text will be truncated. Must add a `width` to the element.\nWhen text overflows, a tooltip showing the full text will appear on hover/focus.\nNote: While the text is overflowing, the element receives tabindex=\"0\" so the\ntooltip can be reached by keyboard. Text that fits is left out of the tab order."
275
275
  },
276
276
  "getter": false,
277
277
  "setter": false,
@@ -301,10 +301,10 @@ export class PdsTextarea {
301
301
  }
302
302
  render() {
303
303
  const value = this.getValue();
304
- return (h(Host, { key: '07e82bbbcc38d04c540b8576fadb366797c9bae3', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: 'fd9f64b75ff5ab4e7a1ec40fbb9f5288efee80b3', class: "pds-textarea" }, this.label &&
305
- h("div", { key: 'a1004e2af8d34ab2a43d2f97efeffac5e61bc8d6', class: "pds-textarea__label-wrapper" }, h("label", { key: 'cb1bb601f4e2f085bdabd1fe4f4706b1cc9b3d1e', htmlFor: this.componentId }, h("span", { key: '350b9c9b9ea1774a48721cc316df8ebb4aaa4764', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: '3e471b7a666640e042fb8051a0759c8cab3440db', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: 'ccab2538b28689d3c0a78b541b4c9cff70b98396', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "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 &&
306
- h("p", { key: '2e50b8cbab077ab6c9149d2c5b5fbb4c6de067c4', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
307
- h("p", { key: '58fbf2e03ec60524a9c4830dc5adc9d816d7d100', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '144b6e6133d9970c4969f27d1e719216a416991f', icon: danger, size: "small" }), this.errorMessage))));
304
+ return (h(Host, { key: '838d12ba686fb041996c44522d3fd30e1b56c610', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: 'bd3eef138a5c8f2cd4e48c007561bb1b12f4e575', class: "pds-textarea" }, this.label &&
305
+ h("div", { key: 'f83f23b17cd157d48bb5c0c5067ca5f611d73529', class: "pds-textarea__label-wrapper" }, h("label", { key: '896b7b495ad6f7deb8d4738e623f0676f0a98c1f', htmlFor: this.componentId }, h("span", { key: '02b06db969467f6c4e83e0f713bee0be76f8dfff', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: '15c5964576e73db36cee4a9ca868c28571250a27', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: '4493797e03322993a8cbe5530a18a9ef984b9796', ref: (el) => this.nativeTextarea = el, "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "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 &&
306
+ h("p", { key: '9c8794ec733a3ece5eaeac74ef6a1ebb223558c3', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
307
+ h("p", { key: 'c4b9be66c3f3c39ddf495708f0f03cfda03e7fc6', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'c117b8d62c055382f5d43caa7f2cb880796c495b', icon: danger, size: "small" }), this.errorMessage))));
308
308
  }
309
309
  static get is() { return "pds-textarea"; }
310
310
  static get encapsulation() { return "shadow"; }
@@ -121,13 +121,13 @@ export class PdsToast {
121
121
  return this.icon && h("pds-icon", { name: this.icon, class: "pds-toast__icon" });
122
122
  }
123
123
  render() {
124
- return (h(Host, { key: 'aa1d20ad8b511950338a16cd9277f33a6438bfe5', hidden: !this.isVisible }, h("div", { key: 'b19ddfcdec17bd3339cf6b283cca475ad8dda75b', class: {
124
+ return (h(Host, { key: 'a1ec97158a6665aa25b58b1954b4b5c622590615', hidden: !this.isVisible }, h("div", { key: 'd9b01164364c76512852a260cede50000b73a563', class: {
125
125
  'pds-toast': true,
126
126
  [`pds-toast--${this.type}`]: this.type !== 'default',
127
127
  'pds-toast--animating-out': this.isAnimatingOut
128
- }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: '8f4553ac467032c6e398e1665b41d78eedc56e30', class: "pds-toast__message" }, h("slot", { key: '0a04edffd081298f6cd7f6feb3f50e89276d4e09' })), this.dismissible && (h("button", { key: 'b42a2ab16a011b42e278e77fa4c0698eea3950e0', type: "button", part: "dismiss", class: "pds-toast__button", onClick: () => {
128
+ }, role: "alert", "aria-live": "polite" }, this.renderIcon(), h("span", { key: '1f581c7c29ea3fc795dfca061d3575c5a9895b3c', class: "pds-toast__message" }, h("slot", { key: '645b31eae3be23de63ab2562234caf0be2510645' })), this.dismissible && (h("button", { key: '44a62b304468c0fca0b8d490ad9c8b5932176ac9', type: "button", part: "dismiss", class: "pds-toast__button", onClick: () => {
129
129
  this.dismiss();
130
- }, "aria-label": this.dismissLabel }, h("pds-icon", { key: 'e5ea3485a7d943ba3be144506eecb9a25b55b07d', name: "remove" }))))));
130
+ }, "aria-label": this.dismissLabel }, h("pds-icon", { key: 'fde63f279f696d9f02875cc1beee3542c97f0c7e', name: "remove" }))))));
131
131
  }
132
132
  static get is() { return "pds-toast"; }
133
133
  static get encapsulation() { return "shadow"; }
@@ -342,9 +342,9 @@ export class PdsTooltip {
342
342
  }
343
343
  render() {
344
344
  const hostId = this.componentId || undefined;
345
- return (h(Host, { key: 'd9fa5c688ba3baeac14334ec9c03e887ef16115e', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: '44ee5332139567d3f25070f73c1e73630f00eec4', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
345
+ return (h(Host, { key: 'a4f25d10de27757ab2551af0e5b8a53336bf8cb4', id: hostId, class: { 'pds-tooltip--is-open': this.opened } }, h("span", { key: '5e9f9afbecbb335ad68b02edf999d2ec62f31a8e', class: "pds-tooltip__trigger", onMouseEnter: this.handleShow, onMouseLeave: this.handleHide,
346
346
  /* focusin/out bubble; ensure keyboard users see tooltips */
347
- onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: '4eb9c2f891c8cdb9d7f9d944d99bf423908cbc0f' })), h("div", { key: '985b373be21f07c14cd5c8c3095d5e8d290d3e7f', class: "pds-tooltip__content-slot-wrapper", hidden: true }, h("slot", { key: 'cd8d6c2dca87b7d72fd01f51e5b1d538c2d93531', name: "content" }))));
347
+ onFocusin: this.handleShow, onFocusout: this.handleHide, ref: el => this.triggerEl = el }, h("slot", { key: 'e142f4f09406b7bd3d1ce9005f624b91cf7ec176' })), h("div", { key: 'ebe0faae0af623477486dbba56c24bc3e0a6bc66', class: "pds-tooltip__content-slot-wrapper", hidden: true }, h("slot", { key: '833d31509ba48f10cd0b5eb2f5e8dc509854c25e', name: "content" }))));
348
348
  }
349
349
  static get is() { return "pds-tooltip"; }
350
350
  static get originalStyleUrls() {
@@ -1,2 +1,3 @@
1
1
  export * from './components';
2
+ export { TEXT_SIZES } from './utils/types';
2
3
  import "@pine-ds/icons";
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Reads a target's computed `transition-duration` from within `hostTag`,
3
+ * optionally on a pseudo-element (e.g. `::after`). Works whether `hostTag`
4
+ * renders to a real shadow root (`shadow: true`) or scoped/light DOM
5
+ * (`shadow: false` / `scoped: true`) — Pine components use both.
6
+ *
7
+ * `innerSelector` may be omitted (or `null`) to read the host element itself.
8
+ *
9
+ * Embeds the arguments in a string-evaluated IIFE, the same workaround
10
+ * `runAxe` uses, rather than passing a real function to `page.$eval`: under
11
+ * Jest's coverage instrumentation, a function reference gets serialized with
12
+ * injected `cov_*` counter calls that don't exist in the browser's isolated
13
+ * execution context, throwing a `ReferenceError` there.
14
+ */
15
+ async function readTransitionDuration(page, hostTag, innerSelector, pseudoElement) {
16
+ // Normalise to the `::` form. Chrome, which is what these e2e tests drive,
17
+ // accepts a bare `after` and returns the pseudo-element's style -- verified,
18
+ // so no assertion is wrong today. The CSSOM spec treats a colonless value as
19
+ // invalid and returns the originating element's style instead, which would
20
+ // turn a knob assertion into a silent re-test of its host. Cheap to not
21
+ // depend on the lenient reading.
22
+ const normalisedPseudo = pseudoElement
23
+ ? `::${pseudoElement.replace(/^:{1,2}/, '')}`
24
+ : null;
25
+ const argsJson = JSON.stringify({ hostTag, innerSelector, pseudoElement: normalisedPseudo });
26
+ return page.evaluate(`
27
+ (() => {
28
+ const args = ${argsJson};
29
+ const el = document.querySelector(args.hostTag);
30
+ const root = el.shadowRoot || el;
31
+ const target = args.innerSelector ? root.querySelector(args.innerSelector) : el;
32
+ return getComputedStyle(target, args.pseudoElement || null).transitionDuration;
33
+ })()
34
+ `);
35
+ }
36
+ /**
37
+ * Asserts that an element's `transition-duration` collapses to `0s` once the
38
+ * page emulates `prefers-reduced-motion: reduce`.
39
+ *
40
+ * This is the runtime counterpart to the `pine-design-system/no-hardcoded-motion`
41
+ * Stylelint rule: the rule can only see a component's *source* — that it
42
+ * references `var(--pine-motion-duration-*)` somewhere. It can't see whether
43
+ * that reference actually reaches the declaration that runs at render time
44
+ * (a `var()` could be shadowed, overridden, or simply never wired up right).
45
+ * This closes that gap by reading the real computed style before and after
46
+ * emulating the preference, so a target that *doesn't* zero out fails loudly
47
+ * here even if it fooled the lint rule.
48
+ *
49
+ * Usage:
50
+ *
51
+ * ```ts
52
+ * const page = await newE2EPage();
53
+ * await page.setContent('<pds-switch></pds-switch>');
54
+ * await expectRespectsReducedMotion(page, 'pds-switch', 'input', 'after');
55
+ * ```
56
+ *
57
+ * @param page Stencil E2E page.
58
+ * @param hostTag Custom element tag hosting the shadow root to read from.
59
+ * @param innerSelector Selector for the element within `hostTag`'s shadow
60
+ * root, or `null`/omitted to read `hostTag` itself.
61
+ * @param pseudoElement Pseudo-element to read from the target (e.g. `'after'`
62
+ * for `::after`), or `null`/omitted to read the element's own style.
63
+ */
64
+ export async function expectRespectsReducedMotion(page, hostTag, innerSelector = null, pseudoElement = null) {
65
+ const before = await readTransitionDuration(page, hostTag, innerSelector, pseudoElement);
66
+ await page.emulateMediaFeatures([{ name: 'prefers-reduced-motion', value: 'reduce' }]);
67
+ await page.waitForChanges();
68
+ const after = await readTransitionDuration(page, hostTag, innerSelector, pseudoElement);
69
+ // `transitionDuration` can list one value per transitioned property
70
+ // (e.g. "0.2s, 0.2s"); every one of them must have zeroed out.
71
+ const allZero = after.split(',').every((part) => parseFloat(part.trim()) === 0);
72
+ if (!allZero) {
73
+ const target = `${hostTag}${innerSelector ? ` >>> ${innerSelector}` : ''}${pseudoElement ? `::${pseudoElement}` : ''}`;
74
+ throw new Error(`Expected "${target}" to have a zero transition-duration under prefers-reduced-motion, ` +
75
+ `but got "${after}" (was "${before}" before emulating the preference). Its transition ` +
76
+ `is not actually routed through a --pine-motion-duration-* token at render time.`);
77
+ }
78
+ }
@@ -64,10 +64,12 @@ function isOverflowing(el) {
64
64
  * will display a tooltip showing the full text content. The tooltip is
65
65
  * rendered as a portal on document.body and positioned with Floating UI.
66
66
  *
67
+ * Also owns the element's `tabindex` while it is clipped — see syncTabIndex.
68
+ *
67
69
  * @returns A cleanup function that removes all listeners, observers, and DOM elements.
68
70
  */
69
71
  export function setupTruncationTooltip(options) {
70
- const { hostEl, contentEl, getTooltipText, placement = 'top' } = options;
72
+ const { hostEl, contentEl, getTooltipText, placement = 'top', manageTabIndex = true } = options;
71
73
  injectStyles();
72
74
  let portalEl = null;
73
75
  let isHovering = false;
@@ -76,6 +78,34 @@ export function setupTruncationTooltip(options) {
76
78
  let hideTimeout = null;
77
79
  let resizeObserver = null;
78
80
  let resizeDebounce = null;
81
+ let ownsTabIndex = false;
82
+ let disposed = false;
83
+ /**
84
+ * The tab stop exists only to give the tooltip a focusable anchor, so it
85
+ * belongs on the element while the text is actually clipped and not a moment
86
+ * longer. Deriving it from the caller's prop instead leaves a dead stop on
87
+ * every element that opted into truncation but happens to fit — in a row of
88
+ * chips that doubles the tab stops, half of them landing on a span with no
89
+ * role, no name of its own, and nothing to reveal.
90
+ *
91
+ * Ownership is tracked rather than inferred from the value: if the consumer
92
+ * already put a tabindex on the element (a roving -1, say), that is theirs
93
+ * and we never touch it.
94
+ */
95
+ function syncTabIndex() {
96
+ if (!manageTabIndex)
97
+ return;
98
+ if (isOverflowing(contentEl)) {
99
+ if (!ownsTabIndex && contentEl.hasAttribute('tabindex'))
100
+ return;
101
+ ownsTabIndex = true;
102
+ contentEl.setAttribute('tabindex', '0');
103
+ }
104
+ else if (ownsTabIndex) {
105
+ ownsTabIndex = false;
106
+ contentEl.removeAttribute('tabindex');
107
+ }
108
+ }
79
109
  // Use ResizeObserver to re-evaluate overflow when the element resizes
80
110
  // Debounced to prevent performance issues during rapid window resizing
81
111
  if (typeof ResizeObserver !== 'undefined') {
@@ -85,6 +115,7 @@ export function setupTruncationTooltip(options) {
85
115
  }
86
116
  resizeDebounce = setTimeout(() => {
87
117
  resizeDebounce = null;
118
+ syncTabIndex();
88
119
  // If tooltip is showing but text no longer overflows, hide it
89
120
  if (portalEl && portalEl.isConnected && !isOverflowing(contentEl)) {
90
121
  hideTooltip();
@@ -93,6 +124,18 @@ export function setupTruncationTooltip(options) {
93
124
  });
94
125
  resizeObserver.observe(contentEl);
95
126
  }
127
+ // Measure now so the common case is right on the first paint, rather than
128
+ // waiting out the observer's debounce.
129
+ syncTabIndex();
130
+ // A web font swapping in changes scrollWidth without changing the clipped
131
+ // box's size, so ResizeObserver never fires for it — the element would keep
132
+ // whatever the fallback font measured. Re-measure once the fonts settle.
133
+ if (typeof document !== 'undefined' && document.fonts !== undefined) {
134
+ document.fonts.ready.then(() => {
135
+ if (!disposed)
136
+ syncTabIndex();
137
+ });
138
+ }
96
139
  function createPortal() {
97
140
  if (portalEl)
98
141
  return;
@@ -224,6 +267,7 @@ export function setupTruncationTooltip(options) {
224
267
  hostEl.addEventListener('focusout', handleFocusOut);
225
268
  // Return cleanup function
226
269
  return () => {
270
+ disposed = true;
227
271
  cancelHideTimeout();
228
272
  if (resizeDebounce) {
229
273
  clearTimeout(resizeDebounce);
@@ -232,6 +276,12 @@ export function setupTruncationTooltip(options) {
232
276
  if (resizeObserver) {
233
277
  resizeObserver.disconnect();
234
278
  }
279
+ // Hand the element back as we found it — truncation may simply have been
280
+ // turned off, in which case the element outlives this teardown.
281
+ if (ownsTabIndex) {
282
+ ownsTabIndex = false;
283
+ contentEl.removeAttribute('tabindex');
284
+ }
235
285
  hostEl.removeEventListener('mouseenter', handleMouseEnter);
236
286
  hostEl.removeEventListener('mouseleave', handleMouseLeave);
237
287
  hostEl.removeEventListener('focusin', handleFocusIn);
@@ -15,9 +15,16 @@ export const debounce = (func, wait = 0) => {
15
15
  timer = setTimeout(func, wait, ...args);
16
16
  };
17
17
  };
18
- // Add shared color normalization utility to unify token handling across components
19
18
  /**
20
- * Normalizes color values to ensure consistent CSS variable usage
19
+ * Normalizes color values to ensure consistent CSS variable usage.
20
+ *
21
+ * This is the single low-level primitive for color-prop normalization in
22
+ * Pine. A component with its own semantic-keyword set (e.g. pds-chip's
23
+ * sentiment-to-dot-color map) should call this directly with its own
24
+ * `semanticMap` rather than inventing a new normalization helper. Reach for
25
+ * `setColor` below only when its specific text-role semantic set and
26
+ * `--color` output key already match what the component needs.
27
+ *
21
28
  * @param value - Raw token (--token), CSS variable (var(--token)), semantic name, or literal color
22
29
  * @param options.semanticMap - Optional mapping of semantic names to CSS variables
23
30
  * @returns Normalized color value or undefined for invalid inputs
@@ -42,6 +49,13 @@ export const normalizeColorValue = (value, options) => {
42
49
  // Otherwise treat as literal CSS color value
43
50
  return trimmed;
44
51
  };
52
+ /**
53
+ * Convenience wrapper around `normalizeColorValue` for the common text-role
54
+ * semantic set (primary/secondary/accent/etc.), returned as a `--color`
55
+ * custom property. If a component needs a different semantic map or a
56
+ * different custom-property name (e.g. pds-chip's dot/icon-specific tokens),
57
+ * call `normalizeColorValue` directly instead of extending this function.
58
+ */
45
59
  export const setColor = (color, customColors) => {
46
60
  // Return an empty object for empty/whitespace/undefined inputs to avoid invalid CSS styles
47
61
  if (!color)