@pine-ds/core 4.1.0 → 4.2.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 (394) 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-chip2.js +1 -1
  5. package/components/pds-copytext.js +1 -1
  6. package/components/pds-drawer-content.d.ts +11 -0
  7. package/components/pds-drawer-content.js +1 -0
  8. package/components/pds-drawer-footer.d.ts +11 -0
  9. package/components/pds-drawer-footer.js +1 -0
  10. package/components/pds-drawer-header.d.ts +11 -0
  11. package/components/pds-drawer-header.js +1 -0
  12. package/components/pds-drawer.d.ts +11 -0
  13. package/components/pds-drawer.js +1 -0
  14. package/components/pds-dropdown-menu-item.js +1 -1
  15. package/components/pds-dropdown-menu-separator.js +1 -1
  16. package/components/pds-dropdown-menu.js +1 -1
  17. package/components/pds-filter.js +1 -1
  18. package/components/pds-filters.js +1 -1
  19. package/components/pds-image.js +1 -1
  20. package/components/pds-input.js +1 -1
  21. package/components/pds-link2.js +1 -1
  22. package/components/pds-loader2.js +1 -1
  23. package/components/pds-modal-content.js +1 -1
  24. package/components/pds-modal-footer.js +1 -1
  25. package/components/pds-modal-header.js +1 -1
  26. package/components/pds-modal.js +1 -1
  27. package/components/pds-modal2.js +1 -0
  28. package/components/pds-multiselect.js +1 -1
  29. package/components/pds-popover.js +1 -1
  30. package/components/pds-progress.js +1 -1
  31. package/components/pds-property.js +1 -1
  32. package/components/pds-radio-group.js +1 -1
  33. package/components/pds-radio.js +1 -1
  34. package/components/pds-row.js +1 -1
  35. package/components/pds-select.js +1 -1
  36. package/components/pds-sortable-item.js +1 -1
  37. package/components/pds-sortable.js +2 -2
  38. package/components/pds-switch.js +1 -1
  39. package/components/pds-table-body.js +1 -1
  40. package/components/pds-table-cell2.js +1 -1
  41. package/components/pds-table-head-cell2.js +1 -1
  42. package/components/pds-table-head.js +1 -1
  43. package/components/pds-table-row.js +1 -1
  44. package/components/pds-tabpanel.js +1 -1
  45. package/components/pds-tabs.js +1 -1
  46. package/components/pds-text2.js +1 -1
  47. package/components/pds-textarea.js +1 -1
  48. package/components/pds-toast.js +1 -1
  49. package/components/pds-tooltip.js +1 -1
  50. package/components/truncation-tooltip.js +1 -1
  51. package/dist/cjs/{index-BMV0nzMk.js → index-Bu3NXpbK.js} +1 -1
  52. package/dist/cjs/index.cjs.js +20 -0
  53. package/dist/cjs/loader.cjs.js +1 -1
  54. package/dist/cjs/mock-pds-modal.cjs.entry.js +1 -1
  55. package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
  56. package/dist/cjs/pds-avatar.cjs.entry.js +1 -1
  57. package/dist/cjs/pds-button.cjs.entry.js +1 -1
  58. package/dist/cjs/pds-checkbox.cjs.entry.js +1 -1
  59. package/dist/cjs/pds-chip.cjs.entry.js +17 -8
  60. package/dist/cjs/pds-copytext.cjs.entry.js +7 -3
  61. package/dist/cjs/pds-drawer-content.cjs.entry.js +23 -0
  62. package/dist/cjs/pds-drawer-footer.cjs.entry.js +23 -0
  63. package/dist/cjs/pds-drawer-header.cjs.entry.js +23 -0
  64. package/dist/cjs/pds-drawer.cjs.entry.js +137 -0
  65. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
  66. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +1 -1
  67. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +1 -1
  68. package/dist/cjs/pds-filter.cjs.entry.js +2 -2
  69. package/dist/cjs/pds-filters.cjs.entry.js +1 -1
  70. package/dist/cjs/pds-image.cjs.entry.js +2 -2
  71. package/dist/cjs/pds-input.cjs.entry.js +3 -3
  72. package/dist/cjs/pds-link.cjs.entry.js +3 -3
  73. package/dist/cjs/pds-loader.cjs.entry.js +1 -1
  74. package/dist/cjs/pds-modal-content.cjs.entry.js +2 -2
  75. package/dist/cjs/pds-modal-footer.cjs.entry.js +1 -1
  76. package/dist/cjs/pds-modal-header.cjs.entry.js +1 -1
  77. package/dist/cjs/pds-modal.cjs.entry.js +141 -10
  78. package/dist/cjs/pds-multiselect.cjs.entry.js +4 -4
  79. package/dist/cjs/pds-popover.cjs.entry.js +1 -1
  80. package/dist/cjs/pds-progress.cjs.entry.js +1 -1
  81. package/dist/cjs/pds-property.cjs.entry.js +1 -1
  82. package/dist/cjs/pds-radio-group.cjs.entry.js +4 -4
  83. package/dist/cjs/pds-radio.cjs.entry.js +4 -4
  84. package/dist/cjs/pds-row.cjs.entry.js +1 -1
  85. package/dist/cjs/pds-select.cjs.entry.js +2 -2
  86. package/dist/cjs/pds-sortable-item.cjs.entry.js +2 -2
  87. package/dist/cjs/pds-sortable.cjs.entry.js +1 -1
  88. package/dist/cjs/pds-switch.cjs.entry.js +5 -5
  89. package/dist/cjs/pds-table-body.cjs.entry.js +1 -1
  90. package/dist/cjs/pds-table-cell.cjs.entry.js +3 -3
  91. package/dist/cjs/pds-table-head-cell.cjs.entry.js +3 -3
  92. package/dist/cjs/pds-table-head.cjs.entry.js +1 -1
  93. package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
  94. package/dist/cjs/pds-tabpanel.cjs.entry.js +1 -1
  95. package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
  96. package/dist/cjs/pds-text.cjs.entry.js +5 -23
  97. package/dist/cjs/pds-textarea.cjs.entry.js +5 -5
  98. package/dist/cjs/pds-toast.cjs.entry.js +3 -3
  99. package/dist/cjs/pds-tooltip.cjs.entry.js +2 -2
  100. package/dist/cjs/pine-core.cjs.js +1 -1
  101. package/dist/cjs/{truncation-tooltip-CVzAha5B.js → truncation-tooltip-Bps7_rUy.js} +51 -1
  102. package/dist/collection/collection-manifest.json +4 -0
  103. package/dist/collection/components/pds-chip/pds-chip.js +15 -6
  104. package/dist/collection/components/pds-copytext/pds-copytext.js +5 -1
  105. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
  106. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +29 -0
  107. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
  108. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +23 -0
  109. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
  110. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +23 -0
  111. package/dist/collection/components/pds-drawer/pds-drawer.css +36 -0
  112. package/dist/collection/components/pds-drawer/pds-drawer.js +362 -0
  113. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +72 -0
  114. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
  115. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  116. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  117. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  118. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  119. package/dist/collection/components/pds-image/pds-image.js +2 -2
  120. package/dist/collection/components/pds-input/pds-input.js +2 -2
  121. package/dist/collection/components/pds-link/pds-link.js +2 -2
  122. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  123. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  124. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  125. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  126. package/dist/collection/components/pds-modal/pds-modal.js +164 -10
  127. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  128. package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
  129. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  130. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  131. package/dist/collection/components/pds-property/pds-property.js +1 -1
  132. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  133. package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
  134. package/dist/collection/components/pds-row/pds-row.js +1 -1
  135. package/dist/collection/components/pds-select/pds-select.js +1 -1
  136. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  137. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  138. package/dist/collection/components/pds-switch/pds-switch.css +1 -1
  139. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  140. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  141. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +3 -3
  142. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  143. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  144. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  145. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  146. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  147. package/dist/collection/components/pds-text/pds-text.js +2 -2
  148. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  149. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  150. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  151. package/dist/collection/index.js +1 -0
  152. package/dist/collection/utils/test/reduced-motion.js +78 -0
  153. package/dist/collection/utils/truncation-tooltip.js +51 -1
  154. package/dist/docs.json +385 -5
  155. package/dist/esm/{index-Bu9gFIxM.js → index-DdPaBxPo.js} +1 -1
  156. package/dist/esm/index.js +19 -0
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/esm/mock-pds-modal.entry.js +1 -1
  159. package/dist/esm/pds-accordion.entry.js +1 -1
  160. package/dist/esm/pds-avatar.entry.js +1 -1
  161. package/dist/esm/pds-button.entry.js +1 -1
  162. package/dist/esm/pds-checkbox.entry.js +1 -1
  163. package/dist/esm/pds-chip.entry.js +17 -8
  164. package/dist/esm/pds-copytext.entry.js +7 -3
  165. package/dist/esm/pds-drawer-content.entry.js +21 -0
  166. package/dist/esm/pds-drawer-footer.entry.js +21 -0
  167. package/dist/esm/pds-drawer-header.entry.js +21 -0
  168. package/dist/esm/pds-drawer.entry.js +135 -0
  169. package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
  170. package/dist/esm/pds-dropdown-menu-separator.entry.js +1 -1
  171. package/dist/esm/pds-dropdown-menu.entry.js +1 -1
  172. package/dist/esm/pds-filter.entry.js +2 -2
  173. package/dist/esm/pds-filters.entry.js +1 -1
  174. package/dist/esm/pds-image.entry.js +2 -2
  175. package/dist/esm/pds-input.entry.js +3 -3
  176. package/dist/esm/pds-link.entry.js +3 -3
  177. package/dist/esm/pds-loader.entry.js +1 -1
  178. package/dist/esm/pds-modal-content.entry.js +2 -2
  179. package/dist/esm/pds-modal-footer.entry.js +1 -1
  180. package/dist/esm/pds-modal-header.entry.js +1 -1
  181. package/dist/esm/pds-modal.entry.js +141 -10
  182. package/dist/esm/pds-multiselect.entry.js +4 -4
  183. package/dist/esm/pds-popover.entry.js +1 -1
  184. package/dist/esm/pds-progress.entry.js +1 -1
  185. package/dist/esm/pds-property.entry.js +1 -1
  186. package/dist/esm/pds-radio-group.entry.js +4 -4
  187. package/dist/esm/pds-radio.entry.js +4 -4
  188. package/dist/esm/pds-row.entry.js +1 -1
  189. package/dist/esm/pds-select.entry.js +2 -2
  190. package/dist/esm/pds-sortable-item.entry.js +2 -2
  191. package/dist/esm/pds-sortable.entry.js +1 -1
  192. package/dist/esm/pds-switch.entry.js +5 -5
  193. package/dist/esm/pds-table-body.entry.js +1 -1
  194. package/dist/esm/pds-table-cell.entry.js +3 -3
  195. package/dist/esm/pds-table-head-cell.entry.js +3 -3
  196. package/dist/esm/pds-table-head.entry.js +1 -1
  197. package/dist/esm/pds-table-row.entry.js +1 -1
  198. package/dist/esm/pds-tabpanel.entry.js +1 -1
  199. package/dist/esm/pds-tabs.entry.js +1 -1
  200. package/dist/esm/pds-text.entry.js +3 -21
  201. package/dist/esm/pds-textarea.entry.js +5 -5
  202. package/dist/esm/pds-toast.entry.js +3 -3
  203. package/dist/esm/pds-tooltip.entry.js +2 -2
  204. package/dist/esm/pine-core.js +1 -1
  205. package/dist/esm/{truncation-tooltip-Blk4GigP.js → truncation-tooltip-CdtEBn_5.js} +51 -1
  206. package/dist/esm-es5/index.js +1 -0
  207. package/dist/esm-es5/loader.js +1 -1
  208. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  209. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  210. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  211. package/dist/esm-es5/pds-button.entry.js +1 -1
  212. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  213. package/dist/esm-es5/pds-chip.entry.js +1 -1
  214. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  215. package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
  216. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
  217. package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
  218. package/dist/esm-es5/pds-drawer.entry.js +1 -0
  219. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  220. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  221. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  222. package/dist/esm-es5/pds-filter.entry.js +1 -1
  223. package/dist/esm-es5/pds-filters.entry.js +1 -1
  224. package/dist/esm-es5/pds-image.entry.js +1 -1
  225. package/dist/esm-es5/pds-input.entry.js +1 -1
  226. package/dist/esm-es5/pds-link.entry.js +1 -1
  227. package/dist/esm-es5/pds-loader.entry.js +1 -1
  228. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  229. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  230. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  231. package/dist/esm-es5/pds-modal.entry.js +1 -1
  232. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  233. package/dist/esm-es5/pds-popover.entry.js +1 -1
  234. package/dist/esm-es5/pds-progress.entry.js +1 -1
  235. package/dist/esm-es5/pds-property.entry.js +1 -1
  236. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  237. package/dist/esm-es5/pds-radio.entry.js +1 -1
  238. package/dist/esm-es5/pds-row.entry.js +1 -1
  239. package/dist/esm-es5/pds-select.entry.js +1 -1
  240. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  241. package/dist/esm-es5/pds-sortable.entry.js +1 -1
  242. package/dist/esm-es5/pds-switch.entry.js +1 -1
  243. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  244. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  245. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  246. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  247. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  248. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  249. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  250. package/dist/esm-es5/pds-text.entry.js +1 -1
  251. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  252. package/dist/esm-es5/pds-toast.entry.js +1 -1
  253. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  254. package/dist/esm-es5/pine-core.js +1 -1
  255. package/dist/esm-es5/truncation-tooltip-CdtEBn_5.js +1 -0
  256. package/dist/pine-core/index.esm.js +1 -0
  257. package/dist/pine-core/p-02a47ebb.entry.js +1 -0
  258. package/dist/pine-core/{p-6089d811.entry.js → p-049681fc.entry.js} +1 -1
  259. package/dist/pine-core/p-053b0898.system.entry.js +1 -0
  260. package/dist/pine-core/{p-b0531455.entry.js → p-09413b07.entry.js} +1 -1
  261. package/dist/pine-core/{p-ba8bd9dc.system.entry.js → p-0ab735aa.system.entry.js} +1 -1
  262. package/dist/pine-core/p-12182cab.entry.js +1 -0
  263. package/dist/pine-core/p-15d3a4bc.system.entry.js +1 -0
  264. package/dist/pine-core/{p-bba759f8.system.entry.js → p-1614c000.system.entry.js} +1 -1
  265. package/dist/pine-core/{p-c0753d9f.entry.js → p-17dc3f87.entry.js} +1 -1
  266. package/dist/pine-core/p-18a59cdd.system.entry.js +1 -0
  267. package/dist/pine-core/{p-c713ffc6.system.entry.js → p-1e2a9b5d.system.entry.js} +1 -1
  268. package/dist/pine-core/{p-ce63f726.system.entry.js → p-1f307e59.system.entry.js} +1 -1
  269. package/dist/pine-core/{p-056667f0.entry.js → p-2016c878.entry.js} +1 -1
  270. package/dist/pine-core/{p-bfa640f4.system.entry.js → p-2eb8d697.system.entry.js} +1 -1
  271. package/dist/pine-core/{p-af4a24d9.entry.js → p-31e1722e.entry.js} +1 -1
  272. package/dist/pine-core/{p-63f5f66f.system.entry.js → p-324a7ae4.system.entry.js} +1 -1
  273. package/dist/pine-core/{p-d157a33a.entry.js → p-32f10aa9.entry.js} +1 -1
  274. package/dist/pine-core/p-33c0f3c9.system.entry.js +1 -0
  275. package/dist/pine-core/{p-b17fa86a.system.entry.js → p-3464b456.system.entry.js} +1 -1
  276. package/dist/pine-core/{p-902b3e8b.system.entry.js → p-34e38037.system.entry.js} +1 -1
  277. package/dist/pine-core/{p-8e6a8a8e.entry.js → p-3605a5f5.entry.js} +1 -1
  278. package/dist/pine-core/{p-65557500.entry.js → p-376f8286.entry.js} +1 -1
  279. package/dist/pine-core/{p-0e89a189.entry.js → p-3873f55b.entry.js} +1 -1
  280. package/dist/pine-core/{p-a7eabc0c.system.entry.js → p-3c229a00.system.entry.js} +1 -1
  281. package/dist/pine-core/{p-46f0dda5.system.entry.js → p-3c4236a8.system.entry.js} +1 -1
  282. package/dist/pine-core/{p-afd07d5b.entry.js → p-3e0c6384.entry.js} +1 -1
  283. package/dist/pine-core/p-3eca0b00.entry.js +1 -0
  284. package/dist/pine-core/{p-0fcda1ec.entry.js → p-3f12afb1.entry.js} +1 -1
  285. package/dist/pine-core/p-43338f77.system.entry.js +1 -0
  286. package/dist/pine-core/{p-463eb0e6.system.entry.js → p-4661259e.system.entry.js} +1 -1
  287. package/dist/pine-core/{p-92c79ed4.system.entry.js → p-4d388957.system.entry.js} +1 -1
  288. package/dist/pine-core/{p-3050c66f.entry.js → p-51b8490d.entry.js} +1 -1
  289. package/dist/pine-core/{p-e16dfb32.system.entry.js → p-51dff5af.system.entry.js} +1 -1
  290. package/dist/pine-core/p-53a4852e.system.entry.js +1 -0
  291. package/dist/pine-core/{p-d54af26c.system.entry.js → p-56b34569.system.entry.js} +1 -1
  292. package/dist/pine-core/{p-cf72e9b1.system.entry.js → p-5772f260.system.entry.js} +1 -1
  293. package/dist/pine-core/{p-9fd1e8f4.system.entry.js → p-585ad368.system.entry.js} +1 -1
  294. package/dist/pine-core/p-591fbff5.entry.js +1 -0
  295. package/dist/pine-core/{p-2fd71a0c.entry.js → p-5aea1082.entry.js} +1 -1
  296. package/dist/pine-core/{p-460aa66f.system.entry.js → p-5dd393cd.system.entry.js} +1 -1
  297. package/dist/pine-core/p-613a64f1.entry.js +1 -0
  298. package/dist/pine-core/{p-e450eb27.system.entry.js → p-630f33d6.system.entry.js} +1 -1
  299. package/dist/pine-core/{p-33de0eb7.system.entry.js → p-63686e2a.system.entry.js} +1 -1
  300. package/dist/pine-core/{p-2d4b9253.entry.js → p-6f7a7d55.entry.js} +1 -1
  301. package/dist/pine-core/p-6fd863e5.system.entry.js +1 -0
  302. package/dist/pine-core/{p-8702635d.system.entry.js → p-76286a68.system.entry.js} +1 -1
  303. package/dist/pine-core/p-78fd593d.system.entry.js +1 -0
  304. package/dist/pine-core/{p-ae296598.entry.js → p-7e2b934d.entry.js} +1 -1
  305. package/dist/pine-core/p-7e44106e.entry.js +1 -0
  306. package/dist/pine-core/p-84ade640.entry.js +1 -0
  307. package/dist/pine-core/{p-eb4058ed.system.entry.js → p-869ed1c0.system.entry.js} +1 -1
  308. package/dist/pine-core/{p-9b68669f.entry.js → p-8be301b6.entry.js} +1 -1
  309. package/dist/pine-core/{p-08151143.system.entry.js → p-8cc270f0.system.entry.js} +1 -1
  310. package/dist/pine-core/p-8cea0d7a.system.entry.js +1 -0
  311. package/dist/pine-core/{p-3b9e77b3.entry.js → p-8eef80d5.entry.js} +1 -1
  312. package/dist/pine-core/{p-b255d3b7.entry.js → p-957dbb0c.entry.js} +1 -1
  313. package/dist/pine-core/p-B2nn1gSd.js +1 -0
  314. package/dist/pine-core/{p-CRCxGYgw.system.js → p-B2qvvB3q.system.js} +1 -1
  315. package/dist/pine-core/p-Dr-FzkdE.system.js +1 -1
  316. package/dist/pine-core/p-G3CPPJEt.system.js +1 -0
  317. package/dist/pine-core/{p-ce79321b.system.entry.js → p-a11a9c40.system.entry.js} +1 -1
  318. package/dist/pine-core/p-a4a58477.entry.js +1 -0
  319. package/dist/pine-core/{p-9a7294e7.system.entry.js → p-a98bf89f.system.entry.js} +1 -1
  320. package/dist/pine-core/{p-aecaff12.entry.js → p-ac0098fd.entry.js} +1 -1
  321. package/dist/pine-core/{p-228a9068.system.entry.js → p-b32e3174.system.entry.js} +1 -1
  322. package/dist/pine-core/{p-2af19aa7.entry.js → p-b923a70b.entry.js} +1 -1
  323. package/dist/pine-core/p-be4a6cc2.entry.js +1 -0
  324. package/dist/pine-core/{p-d804d37b.system.entry.js → p-be819bff.system.entry.js} +1 -1
  325. package/dist/pine-core/{p-85434de8.system.entry.js → p-c0b3f2c1.system.entry.js} +1 -1
  326. package/dist/pine-core/p-c1f8a187.entry.js +1 -0
  327. package/dist/pine-core/{p-4d6944aa.entry.js → p-c5ce6dea.entry.js} +1 -1
  328. package/dist/pine-core/{p-97198cb6.system.entry.js → p-c8bffb08.system.entry.js} +1 -1
  329. package/dist/pine-core/p-cf24ed1e.system.entry.js +1 -0
  330. package/dist/pine-core/{p-9487ff20.system.entry.js → p-d0d2a886.system.entry.js} +1 -1
  331. package/dist/pine-core/{p-f3683be8.entry.js → p-d12ef40d.entry.js} +1 -1
  332. package/dist/pine-core/{p-aa208514.entry.js → p-d21739eb.entry.js} +1 -1
  333. package/dist/pine-core/p-d280741f.entry.js +1 -0
  334. package/dist/pine-core/p-d43db3ba.entry.js +1 -0
  335. package/dist/pine-core/{p-1e952dbb.entry.js → p-d46adf7d.entry.js} +1 -1
  336. package/dist/pine-core/{p-7a1971ec.entry.js → p-d7865297.entry.js} +1 -1
  337. package/dist/pine-core/{p-226232a7.system.entry.js → p-d9ffb2d9.system.entry.js} +1 -1
  338. package/dist/pine-core/p-db5703f2.entry.js +1 -0
  339. package/dist/pine-core/p-dd6d9807.system.entry.js +1 -0
  340. package/dist/pine-core/p-e0da17aa.system.entry.js +1 -0
  341. package/dist/pine-core/{p-4923a3fe.entry.js → p-e3600c53.entry.js} +1 -1
  342. package/dist/pine-core/{p-a9e54964.entry.js → p-e3a7d2db.entry.js} +1 -1
  343. package/dist/pine-core/{p-04a30a2d.system.entry.js → p-e3cd4627.system.entry.js} +1 -1
  344. package/dist/pine-core/{p-1649dd61.system.entry.js → p-e410b0d8.system.entry.js} +1 -1
  345. package/dist/pine-core/p-e5bbe8cc.entry.js +1 -0
  346. package/dist/pine-core/{p-4dad0878.entry.js → p-e95225cf.entry.js} +1 -1
  347. package/dist/pine-core/{p-544ccf67.entry.js → p-ed297f3e.entry.js} +1 -1
  348. package/dist/pine-core/{p-fcf91f14.system.entry.js → p-f21aea90.system.entry.js} +1 -1
  349. package/dist/pine-core/{p-a3c4c0ee.entry.js → p-f7a5062f.entry.js} +1 -1
  350. package/dist/pine-core/p-f94667b5.entry.js +1 -0
  351. package/dist/pine-core/p-fbf5f315.entry.js +1 -0
  352. package/dist/pine-core/{p-7c18e9e8.system.entry.js → p-fec298bb.system.entry.js} +1 -1
  353. package/dist/pine-core/pine-core.esm.js +1 -1
  354. package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +11 -0
  355. package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +5 -0
  356. package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +5 -0
  357. package/dist/types/components/pds-drawer/pds-drawer.d.ts +78 -0
  358. package/dist/types/components/pds-modal/pds-modal.d.ts +38 -0
  359. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +2 -1
  360. package/dist/types/components/pds-text/pds-text.d.ts +2 -1
  361. package/dist/types/components.d.ts +228 -4
  362. package/dist/types/index.d.ts +1 -0
  363. package/dist/types/utils/test/reduced-motion.d.ts +30 -0
  364. package/dist/types/utils/truncation-tooltip.d.ts +12 -0
  365. package/dist/vscode.html-data.json +139 -2
  366. package/hydrate/index.js +538 -101
  367. package/hydrate/index.mjs +538 -101
  368. package/package.json +7 -3
  369. package/dist/esm-es5/truncation-tooltip-Blk4GigP.js +0 -1
  370. package/dist/pine-core/p-0d73d473.entry.js +0 -1
  371. package/dist/pine-core/p-1ba361cb.entry.js +0 -1
  372. package/dist/pine-core/p-210f0994.system.entry.js +0 -1
  373. package/dist/pine-core/p-2e214db6.entry.js +0 -1
  374. package/dist/pine-core/p-3cdc1a5b.entry.js +0 -1
  375. package/dist/pine-core/p-4faff617.entry.js +0 -1
  376. package/dist/pine-core/p-50e0f726.system.entry.js +0 -1
  377. package/dist/pine-core/p-520f7a5b.entry.js +0 -1
  378. package/dist/pine-core/p-53999cd6.system.entry.js +0 -1
  379. package/dist/pine-core/p-5c239f0a.entry.js +0 -1
  380. package/dist/pine-core/p-611f68b7.system.entry.js +0 -1
  381. package/dist/pine-core/p-897fe88c.entry.js +0 -1
  382. package/dist/pine-core/p-9507eb49.system.entry.js +0 -1
  383. package/dist/pine-core/p-BNSGedhN.js +0 -1
  384. package/dist/pine-core/p-YWpyar7R.system.js +0 -1
  385. package/dist/pine-core/p-a53222f7.entry.js +0 -1
  386. package/dist/pine-core/p-a8ab4d9b.entry.js +0 -1
  387. package/dist/pine-core/p-b52deffb.entry.js +0 -1
  388. package/dist/pine-core/p-b6c2090f.system.entry.js +0 -1
  389. package/dist/pine-core/p-d27ef352.system.entry.js +0 -1
  390. package/dist/pine-core/p-e11795db.system.entry.js +0 -1
  391. package/dist/pine-core/p-f09ce49e.entry.js +0 -1
  392. /package/dist/esm-es5/{index-Bu9gFIxM.js → index-DdPaBxPo.js} +0 -0
  393. /package/dist/pine-core/{p-Bjc6fc_Y.system.js → p--Llh7wKm.system.js} +0 -0
  394. /package/dist/pine-core/{p-Bu9gFIxM.js → p-DdPaBxPo.js} +0 -0
@@ -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);
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-09-24T21:36:30",
2
+ "timestamp": "2026-10-06T17:46:04",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.5",
@@ -14949,6 +14949,351 @@
14949
14949
  "dependencies": [],
14950
14950
  "dependencyGraph": {}
14951
14951
  },
14952
+ {
14953
+ "filePath": "src/components/pds-drawer/pds-drawer.tsx",
14954
+ "encapsulation": "none",
14955
+ "tag": "pds-drawer",
14956
+ "readme": "# pds-drawer\n\n\n",
14957
+ "docs": "A non-modal side panel composed from `pds-modal`.\n\nUnlike `pds-modal`, the page stays interactive while a drawer is open: no\ndimming, no blur, no scroll lock, no click blocking. `pds-drawer` renders a\n`pds-modal` internally with `disableTopLayer` always on and its backdrop\nsuppressed, and adds the edge, width and dismiss behavior a side panel\nneeds on top. It does not reimplement focus, Escape or dialog semantics —\nthose come from `pds-modal` unchanged.",
14958
+ "docsTags": [],
14959
+ "usage": {},
14960
+ "props": [
14961
+ {
14962
+ "name": "componentId",
14963
+ "type": "string",
14964
+ "complexType": {
14965
+ "original": "string",
14966
+ "resolved": "string",
14967
+ "references": {}
14968
+ },
14969
+ "mutable": false,
14970
+ "attr": "component-id",
14971
+ "reflectToAttr": false,
14972
+ "docs": "A unique identifier used for the underlying component `id` attribute.",
14973
+ "docsTags": [],
14974
+ "values": [
14975
+ {
14976
+ "type": "string"
14977
+ }
14978
+ ],
14979
+ "optional": false,
14980
+ "required": false,
14981
+ "getter": false,
14982
+ "setter": false
14983
+ },
14984
+ {
14985
+ "name": "initialFocus",
14986
+ "type": "\"auto\" | \"none\"",
14987
+ "complexType": {
14988
+ "original": "'auto' | 'none'",
14989
+ "resolved": "\"auto\" | \"none\"",
14990
+ "references": {}
14991
+ },
14992
+ "mutable": false,
14993
+ "attr": "initial-focus",
14994
+ "reflectToAttr": false,
14995
+ "docs": "Whether to move focus into the drawer when it opens. `auto` is right for\na drawer opened by a direct user action (a click, a deep link the user\njust navigated to). Set to `none` for a drawer that can open from a\nbackground event while the user is mid-task elsewhere on the page —\nmoving focus there would interrupt them, and the page stays live under\na non-modal drawer, so it is a genuine data-entry risk, not just an\nannoyance.",
14996
+ "docsTags": [
14997
+ {
14998
+ "name": "default",
14999
+ "text": "'auto'"
15000
+ }
15001
+ ],
15002
+ "default": "'auto'",
15003
+ "values": [
15004
+ {
15005
+ "value": "auto",
15006
+ "type": "string"
15007
+ },
15008
+ {
15009
+ "value": "none",
15010
+ "type": "string"
15011
+ }
15012
+ ],
15013
+ "optional": false,
15014
+ "required": false,
15015
+ "getter": false,
15016
+ "setter": false
15017
+ },
15018
+ {
15019
+ "name": "lightDismiss",
15020
+ "type": "boolean",
15021
+ "complexType": {
15022
+ "original": "boolean",
15023
+ "resolved": "boolean",
15024
+ "references": {}
15025
+ },
15026
+ "mutable": false,
15027
+ "attr": "light-dismiss",
15028
+ "reflectToAttr": false,
15029
+ "docs": "Whether the drawer can be dismissed with a pointerdown outside it.\nReplaces `pds-modal`'s `backdropDismiss` — there is no backdrop to click.\nThis also gates Escape, matching how `backdropDismiss` gates Escape on\n`pds-modal` today: setting this to `false` means the close button is the\nonly way out.\n\nA trigger outside the drawer should only ever set `open` to `true` and\nleave closing to the drawer itself. A toggle-style trigger (`open =\n!open`) fights light dismiss: clicking it while open closes the drawer\non `pointerdown`, then the trigger's own click handler re-opens it.",
15030
+ "docsTags": [
15031
+ {
15032
+ "name": "default",
15033
+ "text": "true"
15034
+ }
15035
+ ],
15036
+ "default": "true",
15037
+ "values": [
15038
+ {
15039
+ "type": "boolean"
15040
+ }
15041
+ ],
15042
+ "optional": false,
15043
+ "required": false,
15044
+ "getter": false,
15045
+ "setter": false
15046
+ },
15047
+ {
15048
+ "name": "open",
15049
+ "type": "boolean",
15050
+ "complexType": {
15051
+ "original": "boolean",
15052
+ "resolved": "boolean",
15053
+ "references": {}
15054
+ },
15055
+ "mutable": true,
15056
+ "attr": "open",
15057
+ "reflectToAttr": false,
15058
+ "docs": "Whether the drawer is open",
15059
+ "docsTags": [
15060
+ {
15061
+ "name": "default",
15062
+ "text": "false"
15063
+ }
15064
+ ],
15065
+ "default": "false",
15066
+ "values": [
15067
+ {
15068
+ "type": "boolean"
15069
+ }
15070
+ ],
15071
+ "optional": false,
15072
+ "required": false,
15073
+ "getter": false,
15074
+ "setter": false
15075
+ },
15076
+ {
15077
+ "name": "scrollable",
15078
+ "type": "boolean",
15079
+ "complexType": {
15080
+ "original": "boolean",
15081
+ "resolved": "boolean",
15082
+ "references": {}
15083
+ },
15084
+ "mutable": false,
15085
+ "attr": "scrollable",
15086
+ "reflectToAttr": false,
15087
+ "docs": "Whether the drawer content should be scrollable",
15088
+ "docsTags": [
15089
+ {
15090
+ "name": "default",
15091
+ "text": "true"
15092
+ }
15093
+ ],
15094
+ "default": "true",
15095
+ "values": [
15096
+ {
15097
+ "type": "boolean"
15098
+ }
15099
+ ],
15100
+ "optional": false,
15101
+ "required": false,
15102
+ "getter": false,
15103
+ "setter": false
15104
+ },
15105
+ {
15106
+ "name": "side",
15107
+ "type": "\"end\" | \"start\"",
15108
+ "complexType": {
15109
+ "original": "'start' | 'end'",
15110
+ "resolved": "\"end\" | \"start\"",
15111
+ "references": {}
15112
+ },
15113
+ "mutable": false,
15114
+ "attr": "side",
15115
+ "reflectToAttr": false,
15116
+ "docs": "Which edge of the viewport the drawer is docked to. Logical, so this is\nfree under RTL — `end` is the inline-end edge regardless of direction.",
15117
+ "docsTags": [
15118
+ {
15119
+ "name": "default",
15120
+ "text": "'end'"
15121
+ }
15122
+ ],
15123
+ "default": "'end'",
15124
+ "values": [
15125
+ {
15126
+ "value": "end",
15127
+ "type": "string"
15128
+ },
15129
+ {
15130
+ "value": "start",
15131
+ "type": "string"
15132
+ }
15133
+ ],
15134
+ "optional": false,
15135
+ "required": false,
15136
+ "getter": false,
15137
+ "setter": false
15138
+ },
15139
+ {
15140
+ "name": "size",
15141
+ "type": "\"md\" | \"sm\"",
15142
+ "complexType": {
15143
+ "original": "'sm' | 'md'",
15144
+ "resolved": "\"md\" | \"sm\"",
15145
+ "references": {}
15146
+ },
15147
+ "mutable": false,
15148
+ "attr": "size",
15149
+ "reflectToAttr": false,
15150
+ "docs": "The drawer's width.",
15151
+ "docsTags": [
15152
+ {
15153
+ "name": "default",
15154
+ "text": "'md'"
15155
+ }
15156
+ ],
15157
+ "default": "'md'",
15158
+ "values": [
15159
+ {
15160
+ "value": "md",
15161
+ "type": "string"
15162
+ },
15163
+ {
15164
+ "value": "sm",
15165
+ "type": "string"
15166
+ }
15167
+ ],
15168
+ "optional": false,
15169
+ "required": false,
15170
+ "getter": false,
15171
+ "setter": false
15172
+ }
15173
+ ],
15174
+ "methods": [],
15175
+ "events": [
15176
+ {
15177
+ "event": "pdsDrawerClose",
15178
+ "detail": "void",
15179
+ "bubbles": true,
15180
+ "complexType": {
15181
+ "original": "void",
15182
+ "resolved": "void",
15183
+ "references": {}
15184
+ },
15185
+ "cancelable": true,
15186
+ "composed": true,
15187
+ "docs": "Emitted when the drawer is closed",
15188
+ "docsTags": []
15189
+ },
15190
+ {
15191
+ "event": "pdsDrawerOpen",
15192
+ "detail": "void",
15193
+ "bubbles": true,
15194
+ "complexType": {
15195
+ "original": "void",
15196
+ "resolved": "void",
15197
+ "references": {}
15198
+ },
15199
+ "cancelable": true,
15200
+ "composed": true,
15201
+ "docs": "Emitted when the drawer is opened",
15202
+ "docsTags": []
15203
+ }
15204
+ ],
15205
+ "listeners": [
15206
+ {
15207
+ "event": "pdsModalClose",
15208
+ "capture": false,
15209
+ "passive": false
15210
+ },
15211
+ {
15212
+ "event": "pdsModalOpen",
15213
+ "capture": false,
15214
+ "passive": false
15215
+ },
15216
+ {
15217
+ "event": "pointerdown",
15218
+ "target": "document",
15219
+ "capture": false,
15220
+ "passive": true
15221
+ }
15222
+ ],
15223
+ "styles": [],
15224
+ "slots": [],
15225
+ "parts": [],
15226
+ "states": [],
15227
+ "dependents": [],
15228
+ "dependencies": [
15229
+ "pds-modal"
15230
+ ],
15231
+ "dependencyGraph": {
15232
+ "pds-drawer": [
15233
+ "pds-modal"
15234
+ ]
15235
+ }
15236
+ },
15237
+ {
15238
+ "filePath": "src/components/pds-drawer/pds-drawer-content/pds-drawer-content.tsx",
15239
+ "encapsulation": "none",
15240
+ "tag": "pds-drawer-content",
15241
+ "readme": "# pds-drawer-content\n\n\n",
15242
+ "docs": "Fills the drawer panel's height by default — unlike `pds-modal-content`,\nwhich caps itself against the viewport for a centered, possibly-shorter\nmodal, a drawer panel is already edge-to-edge, so its content can simply\nflex to fill whatever space the header and footer leave.",
15243
+ "docsTags": [],
15244
+ "usage": {},
15245
+ "props": [],
15246
+ "methods": [],
15247
+ "events": [],
15248
+ "listeners": [],
15249
+ "styles": [],
15250
+ "slots": [],
15251
+ "parts": [],
15252
+ "states": [],
15253
+ "dependents": [],
15254
+ "dependencies": [],
15255
+ "dependencyGraph": {}
15256
+ },
15257
+ {
15258
+ "filePath": "src/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.tsx",
15259
+ "encapsulation": "none",
15260
+ "tag": "pds-drawer-footer",
15261
+ "readme": "# pds-drawer-footer\n\n\n",
15262
+ "docs": "",
15263
+ "docsTags": [],
15264
+ "usage": {},
15265
+ "props": [],
15266
+ "methods": [],
15267
+ "events": [],
15268
+ "listeners": [],
15269
+ "styles": [],
15270
+ "slots": [],
15271
+ "parts": [],
15272
+ "states": [],
15273
+ "dependents": [],
15274
+ "dependencies": [],
15275
+ "dependencyGraph": {}
15276
+ },
15277
+ {
15278
+ "filePath": "src/components/pds-drawer/pds-drawer-header/pds-drawer-header.tsx",
15279
+ "encapsulation": "none",
15280
+ "tag": "pds-drawer-header",
15281
+ "readme": "# pds-drawer-header\n\n\n",
15282
+ "docs": "",
15283
+ "docsTags": [],
15284
+ "usage": {},
15285
+ "props": [],
15286
+ "methods": [],
15287
+ "events": [],
15288
+ "listeners": [],
15289
+ "styles": [],
15290
+ "slots": [],
15291
+ "parts": [],
15292
+ "states": [],
15293
+ "dependents": [],
15294
+ "dependencies": [],
15295
+ "dependencyGraph": {}
15296
+ },
14952
15297
  {
14953
15298
  "filePath": "src/components/pds-dropdown-menu/pds-dropdown-menu.tsx",
14954
15299
  "encapsulation": "shadow",
@@ -17596,6 +17941,35 @@
17596
17941
  "getter": false,
17597
17942
  "setter": false
17598
17943
  },
17944
+ {
17945
+ "name": "disableInitialFocus",
17946
+ "type": "boolean",
17947
+ "complexType": {
17948
+ "original": "boolean",
17949
+ "resolved": "boolean",
17950
+ "references": {}
17951
+ },
17952
+ "mutable": false,
17953
+ "attr": "disable-initial-focus",
17954
+ "reflectToAttr": false,
17955
+ "docs": "Whether to skip moving focus into the modal when it opens — both our own\n`setInitialFocus()` and the browser's native \"dialog focusing steps\",\nwhich move focus into the dialog as soon as `show()`/`showModal()` is\ncalled regardless of application code. Focus return on close is\nunaffected either way. For a modal opened by something other than a\ndirect user click — a redirect, a deep link, a background event —\nstealing focus on open can interrupt whatever the user was already\ndoing. Default `false` preserves today's behavior for every existing\nconsumer.",
17956
+ "docsTags": [
17957
+ {
17958
+ "name": "default",
17959
+ "text": "false"
17960
+ }
17961
+ ],
17962
+ "default": "false",
17963
+ "values": [
17964
+ {
17965
+ "type": "boolean"
17966
+ }
17967
+ ],
17968
+ "optional": false,
17969
+ "required": false,
17970
+ "getter": false,
17971
+ "setter": false
17972
+ },
17599
17973
  {
17600
17974
  "name": "disableTopLayer",
17601
17975
  "type": "boolean",
@@ -17816,9 +18190,15 @@
17816
18190
  }
17817
18191
  ],
17818
18192
  "states": [],
17819
- "dependents": [],
18193
+ "dependents": [
18194
+ "pds-drawer"
18195
+ ],
17820
18196
  "dependencies": [],
17821
- "dependencyGraph": {}
18197
+ "dependencyGraph": {
18198
+ "pds-drawer": [
18199
+ "pds-modal"
18200
+ ]
18201
+ }
17822
18202
  },
17823
18203
  {
17824
18204
  "filePath": "src/components/pds-modal/pds-modal-content/pds-modal-content.tsx",
@@ -22993,7 +23373,7 @@
22993
23373
  "mutable": false,
22994
23374
  "attr": "truncate",
22995
23375
  "reflectToAttr": false,
22996
- "docs": "Truncates content to a max width and adds an ellipsis.\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.",
23376
+ "docs": "Truncates content to a max width and adds an ellipsis.\nWhen text overflows, a tooltip showing the full text will appear on hover/focus.\nNote: While the content is overflowing, the cell receives tabindex=\"0\" so the\ntooltip can be reached by keyboard. Content that fits is left out of the tab order.",
22997
23377
  "docsTags": [],
22998
23378
  "values": [
22999
23379
  {
@@ -24118,7 +24498,7 @@
24118
24498
  "mutable": false,
24119
24499
  "attr": "truncate",
24120
24500
  "reflectToAttr": true,
24121
- "docs": "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.",
24501
+ "docs": "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.",
24122
24502
  "docsTags": [],
24123
24503
  "values": [
24124
24504
  {
@@ -1,4 +1,4 @@
1
- /* pds-icons v10.4.2, ES Modules */
1
+ /* pds-icons v10.4.3, ES Modules */
2
2
 
3
3
  const addCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12m11-5a1 1 0 0 1 1 1v3h3a1 1 0 1 1 0 2h-3v3a1 1 0 1 1-2 0v-3H8a1 1 0 1 1 0-2h3V8a1 1 0 0 1 1-1'/></svg>";
4
4
  const caretDown = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' class='pdsicon'><path fill-rule='evenodd' d='M5.293 8.293a1 1 0 0 1 1.414 0L12 13.586l5.293-5.293a1 1 0 1 1 1.414 1.414l-6 6a1 1 0 0 1-1.414 0l-6-6a1 1 0 0 1 0-1.414'/></svg>";
package/dist/esm/index.js CHANGED
@@ -1 +1,20 @@
1
+ // Single source of truth for `pds-text` `size` values. The `as const` tuple is
2
+ // readable at runtime (for validation) and `TextSizeType` is derived from it,
3
+ // so the supported list and the prop type cannot drift apart.
4
+ const TEXT_SIZES = [
5
+ '2xl',
6
+ 'xl',
7
+ 'lg',
8
+ 'md',
9
+ 'sm',
10
+ 'xs',
11
+ '2xs',
12
+ 'h1',
13
+ 'h2',
14
+ 'h3',
15
+ 'h4',
16
+ 'h5',
17
+ 'h6',
18
+ ];
1
19
 
20
+ export { TEXT_SIZES };