@pine-ds/core 4.0.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 (452) 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-divider.js +1 -1
  7. package/components/pds-drawer-content.d.ts +11 -0
  8. package/components/pds-drawer-content.js +1 -0
  9. package/components/pds-drawer-footer.d.ts +11 -0
  10. package/components/pds-drawer-footer.js +1 -0
  11. package/components/pds-drawer-header.d.ts +11 -0
  12. package/components/pds-drawer-header.js +1 -0
  13. package/components/pds-drawer.d.ts +11 -0
  14. package/components/pds-drawer.js +1 -0
  15. package/components/pds-dropdown-menu-item.js +1 -1
  16. package/components/pds-dropdown-menu-separator.js +1 -1
  17. package/components/pds-dropdown-menu.js +1 -1
  18. package/components/pds-filter.js +1 -1
  19. package/components/pds-filters.js +1 -1
  20. package/components/pds-image.js +1 -1
  21. package/components/pds-input.js +1 -1
  22. package/components/pds-link2.js +1 -1
  23. package/components/pds-loader2.js +1 -1
  24. package/components/pds-modal-content.js +1 -1
  25. package/components/pds-modal-footer.js +1 -1
  26. package/components/pds-modal-header.js +1 -1
  27. package/components/pds-modal.js +1 -1
  28. package/components/pds-modal2.js +1 -0
  29. package/components/pds-multiselect.js +1 -1
  30. package/components/pds-popover.js +1 -1
  31. package/components/pds-progress.js +1 -1
  32. package/components/pds-property.js +1 -1
  33. package/components/pds-radio-group.js +1 -1
  34. package/components/pds-radio.js +1 -1
  35. package/components/pds-row.js +1 -1
  36. package/components/pds-select.js +1 -1
  37. package/components/pds-sortable-item.js +1 -1
  38. package/components/pds-sortable.js +1 -1
  39. package/components/pds-switch.js +1 -1
  40. package/components/pds-table-body.js +1 -1
  41. package/components/pds-table-cell2.js +1 -1
  42. package/components/pds-table-head-cell2.js +1 -1
  43. package/components/pds-table-head.js +1 -1
  44. package/components/pds-table-row.js +1 -1
  45. package/components/pds-tabpanel.js +1 -1
  46. package/components/pds-tabs.js +1 -1
  47. package/components/pds-text2.js +1 -1
  48. package/components/pds-textarea.js +1 -1
  49. package/components/pds-toast.js +1 -1
  50. package/components/pds-tooltip.js +1 -1
  51. package/components/truncation-tooltip.js +1 -1
  52. package/dist/cjs/{index-CKNNY-lQ.js → index-Bu3NXpbK.js} +1 -1
  53. package/dist/cjs/{index-BdFrBXCD.js → index-CuQil7H0.js} +1 -1
  54. package/dist/cjs/index.cjs.js +20 -0
  55. package/dist/cjs/loader.cjs.js +2 -2
  56. package/dist/cjs/mock-pds-modal.cjs.entry.js +2 -2
  57. package/dist/cjs/pds-accordion.cjs.entry.js +2 -2
  58. package/dist/cjs/pds-alert.cjs.entry.js +1 -1
  59. package/dist/cjs/pds-avatar.cjs.entry.js +2 -2
  60. package/dist/cjs/pds-box.cjs.entry.js +1 -1
  61. package/dist/cjs/pds-button.cjs.entry.js +2 -2
  62. package/dist/cjs/pds-checkbox.cjs.entry.js +2 -2
  63. package/dist/cjs/pds-chip.cjs.entry.js +18 -9
  64. package/dist/cjs/pds-combobox.cjs.entry.js +1 -1
  65. package/dist/cjs/pds-container.cjs.entry.js +1 -1
  66. package/dist/cjs/pds-copytext.cjs.entry.js +8 -4
  67. package/dist/cjs/pds-divider.cjs.entry.js +10 -3
  68. package/dist/cjs/pds-drawer-content.cjs.entry.js +23 -0
  69. package/dist/cjs/pds-drawer-footer.cjs.entry.js +23 -0
  70. package/dist/cjs/pds-drawer-header.cjs.entry.js +23 -0
  71. package/dist/cjs/pds-drawer.cjs.entry.js +137 -0
  72. package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +2 -2
  73. package/dist/cjs/pds-dropdown-menu-separator.cjs.entry.js +2 -2
  74. package/dist/cjs/pds-dropdown-menu.cjs.entry.js +2 -2
  75. package/dist/cjs/pds-filter.cjs.entry.js +3 -3
  76. package/dist/cjs/pds-filters.cjs.entry.js +2 -2
  77. package/dist/cjs/pds-icon.cjs.entry.js +1 -1
  78. package/dist/cjs/pds-image.cjs.entry.js +3 -3
  79. package/dist/cjs/pds-input.cjs.entry.js +4 -4
  80. package/dist/cjs/pds-link.cjs.entry.js +4 -4
  81. package/dist/cjs/pds-loader.cjs.entry.js +2 -2
  82. package/dist/cjs/pds-modal-content.cjs.entry.js +3 -3
  83. package/dist/cjs/pds-modal-footer.cjs.entry.js +2 -2
  84. package/dist/cjs/pds-modal-header.cjs.entry.js +2 -2
  85. package/dist/cjs/pds-modal.cjs.entry.js +142 -11
  86. package/dist/cjs/pds-multiselect.cjs.entry.js +5 -5
  87. package/dist/cjs/pds-popover.cjs.entry.js +2 -2
  88. package/dist/cjs/pds-progress.cjs.entry.js +2 -2
  89. package/dist/cjs/pds-property.cjs.entry.js +2 -2
  90. package/dist/cjs/pds-radio-group.cjs.entry.js +5 -5
  91. package/dist/cjs/pds-radio.cjs.entry.js +5 -5
  92. package/dist/cjs/pds-row.cjs.entry.js +2 -2
  93. package/dist/cjs/pds-select.cjs.entry.js +3 -3
  94. package/dist/cjs/pds-sortable-item.cjs.entry.js +3 -3
  95. package/dist/cjs/pds-sortable.cjs.entry.js +2 -2
  96. package/dist/cjs/pds-switch.cjs.entry.js +6 -6
  97. package/dist/cjs/pds-tab.cjs.entry.js +1 -1
  98. package/dist/cjs/pds-table-body.cjs.entry.js +2 -2
  99. package/dist/cjs/pds-table-cell.cjs.entry.js +4 -4
  100. package/dist/cjs/pds-table-head-cell.cjs.entry.js +4 -4
  101. package/dist/cjs/pds-table-head.cjs.entry.js +2 -2
  102. package/dist/cjs/pds-table-row.cjs.entry.js +2 -2
  103. package/dist/cjs/pds-table.cjs.entry.js +1 -1
  104. package/dist/cjs/pds-tabpanel.cjs.entry.js +2 -2
  105. package/dist/cjs/pds-tabs.cjs.entry.js +2 -2
  106. package/dist/cjs/pds-text.cjs.entry.js +6 -24
  107. package/dist/cjs/pds-textarea.cjs.entry.js +6 -6
  108. package/dist/cjs/pds-toast.cjs.entry.js +4 -4
  109. package/dist/cjs/pds-tooltip.cjs.entry.js +3 -3
  110. package/dist/cjs/pine-core.cjs.js +2 -2
  111. package/dist/cjs/{truncation-tooltip-CVzAha5B.js → truncation-tooltip-Bps7_rUy.js} +51 -1
  112. package/dist/collection/collection-manifest.json +4 -0
  113. package/dist/collection/components/pds-chip/pds-chip.js +15 -6
  114. package/dist/collection/components/pds-copytext/pds-copytext.js +5 -1
  115. package/dist/collection/components/pds-divider/pds-divider.css +41 -0
  116. package/dist/collection/components/pds-divider/pds-divider.js +30 -1
  117. package/dist/collection/components/pds-divider/stories/pds-divider.stories.js +7 -0
  118. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.css +22 -0
  119. package/dist/collection/components/pds-drawer/pds-drawer-content/pds-drawer-content.js +29 -0
  120. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.css +15 -0
  121. package/dist/collection/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.js +23 -0
  122. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.css +15 -0
  123. package/dist/collection/components/pds-drawer/pds-drawer-header/pds-drawer-header.js +23 -0
  124. package/dist/collection/components/pds-drawer/pds-drawer.css +36 -0
  125. package/dist/collection/components/pds-drawer/pds-drawer.js +362 -0
  126. package/dist/collection/components/pds-drawer/stories/pds-drawer.stories.js +72 -0
  127. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +1 -1
  128. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-separator/pds-dropdown-menu-separator.js +1 -1
  129. package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu.js +1 -1
  130. package/dist/collection/components/pds-filters/pds-filter/pds-filter.js +1 -1
  131. package/dist/collection/components/pds-filters/pds-filters.js +1 -1
  132. package/dist/collection/components/pds-image/pds-image.js +2 -2
  133. package/dist/collection/components/pds-input/pds-input.js +2 -2
  134. package/dist/collection/components/pds-link/pds-link.js +2 -2
  135. package/dist/collection/components/pds-loader/pds-loader.js +1 -1
  136. package/dist/collection/components/pds-modal/pds-modal-content/pds-modal-content.js +2 -2
  137. package/dist/collection/components/pds-modal/pds-modal-footer/pds-modal-footer.js +1 -1
  138. package/dist/collection/components/pds-modal/pds-modal-header/pds-modal-header.js +1 -1
  139. package/dist/collection/components/pds-modal/pds-modal.js +164 -10
  140. package/dist/collection/components/pds-modal/test/mock-pds-modal.js +1 -1
  141. package/dist/collection/components/pds-multiselect/pds-multiselect.js +3 -3
  142. package/dist/collection/components/pds-popover/pds-popover.js +1 -1
  143. package/dist/collection/components/pds-progress/pds-progress.js +1 -1
  144. package/dist/collection/components/pds-property/pds-property.js +1 -1
  145. package/dist/collection/components/pds-radio/pds-radio.js +3 -3
  146. package/dist/collection/components/pds-radio-group/pds-radio-group.js +3 -3
  147. package/dist/collection/components/pds-row/pds-row.js +1 -1
  148. package/dist/collection/components/pds-select/pds-select.js +1 -1
  149. package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.js +1 -1
  150. package/dist/collection/components/pds-sortable/pds-sortable.js +1 -1
  151. package/dist/collection/components/pds-switch/pds-switch.css +1 -1
  152. package/dist/collection/components/pds-switch/pds-switch.js +3 -3
  153. package/dist/collection/components/pds-table/pds-table-body/pds-table-body.js +1 -1
  154. package/dist/collection/components/pds-table/pds-table-cell/pds-table-cell.js +3 -3
  155. package/dist/collection/components/pds-table/pds-table-head/pds-table-head.js +1 -1
  156. package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.js +2 -2
  157. package/dist/collection/components/pds-table/pds-table-row/pds-table-row.js +1 -1
  158. package/dist/collection/components/pds-tabs/pds-tabpanel/pds-tabpanel.js +1 -1
  159. package/dist/collection/components/pds-tabs/pds-tabs.js +1 -1
  160. package/dist/collection/components/pds-text/pds-text.js +2 -2
  161. package/dist/collection/components/pds-textarea/pds-textarea.js +4 -4
  162. package/dist/collection/components/pds-toast/pds-toast.js +3 -3
  163. package/dist/collection/components/pds-tooltip/pds-tooltip.js +2 -2
  164. package/dist/collection/index.js +1 -0
  165. package/dist/collection/utils/test/reduced-motion.js +78 -0
  166. package/dist/collection/utils/truncation-tooltip.js +51 -1
  167. package/dist/docs.json +419 -6
  168. package/dist/esm/{index-NNDTPCWx.js → index-CTLu1TM4.js} +1 -1
  169. package/dist/esm/{index-BjlFq0VD.js → index-DdPaBxPo.js} +1 -1
  170. package/dist/esm/index.js +19 -0
  171. package/dist/esm/loader.js +3 -3
  172. package/dist/esm/mock-pds-modal.entry.js +2 -2
  173. package/dist/esm/pds-accordion.entry.js +2 -2
  174. package/dist/esm/pds-alert.entry.js +1 -1
  175. package/dist/esm/pds-avatar.entry.js +2 -2
  176. package/dist/esm/pds-box.entry.js +1 -1
  177. package/dist/esm/pds-button.entry.js +2 -2
  178. package/dist/esm/pds-checkbox.entry.js +2 -2
  179. package/dist/esm/pds-chip.entry.js +18 -9
  180. package/dist/esm/pds-combobox.entry.js +1 -1
  181. package/dist/esm/pds-container.entry.js +1 -1
  182. package/dist/esm/pds-copytext.entry.js +8 -4
  183. package/dist/esm/pds-divider.entry.js +10 -3
  184. package/dist/esm/pds-drawer-content.entry.js +21 -0
  185. package/dist/esm/pds-drawer-footer.entry.js +21 -0
  186. package/dist/esm/pds-drawer-header.entry.js +21 -0
  187. package/dist/esm/pds-drawer.entry.js +135 -0
  188. package/dist/esm/pds-dropdown-menu-item.entry.js +2 -2
  189. package/dist/esm/pds-dropdown-menu-separator.entry.js +2 -2
  190. package/dist/esm/pds-dropdown-menu.entry.js +2 -2
  191. package/dist/esm/pds-filter.entry.js +3 -3
  192. package/dist/esm/pds-filters.entry.js +2 -2
  193. package/dist/esm/pds-icon.entry.js +1 -1
  194. package/dist/esm/pds-image.entry.js +3 -3
  195. package/dist/esm/pds-input.entry.js +4 -4
  196. package/dist/esm/pds-link.entry.js +4 -4
  197. package/dist/esm/pds-loader.entry.js +2 -2
  198. package/dist/esm/pds-modal-content.entry.js +3 -3
  199. package/dist/esm/pds-modal-footer.entry.js +2 -2
  200. package/dist/esm/pds-modal-header.entry.js +2 -2
  201. package/dist/esm/pds-modal.entry.js +142 -11
  202. package/dist/esm/pds-multiselect.entry.js +5 -5
  203. package/dist/esm/pds-popover.entry.js +2 -2
  204. package/dist/esm/pds-progress.entry.js +2 -2
  205. package/dist/esm/pds-property.entry.js +2 -2
  206. package/dist/esm/pds-radio-group.entry.js +5 -5
  207. package/dist/esm/pds-radio.entry.js +5 -5
  208. package/dist/esm/pds-row.entry.js +2 -2
  209. package/dist/esm/pds-select.entry.js +3 -3
  210. package/dist/esm/pds-sortable-item.entry.js +3 -3
  211. package/dist/esm/pds-sortable.entry.js +2 -2
  212. package/dist/esm/pds-switch.entry.js +6 -6
  213. package/dist/esm/pds-tab.entry.js +1 -1
  214. package/dist/esm/pds-table-body.entry.js +2 -2
  215. package/dist/esm/pds-table-cell.entry.js +4 -4
  216. package/dist/esm/pds-table-head-cell.entry.js +4 -4
  217. package/dist/esm/pds-table-head.entry.js +2 -2
  218. package/dist/esm/pds-table-row.entry.js +2 -2
  219. package/dist/esm/pds-table.entry.js +1 -1
  220. package/dist/esm/pds-tabpanel.entry.js +2 -2
  221. package/dist/esm/pds-tabs.entry.js +2 -2
  222. package/dist/esm/pds-text.entry.js +4 -22
  223. package/dist/esm/pds-textarea.entry.js +6 -6
  224. package/dist/esm/pds-toast.entry.js +4 -4
  225. package/dist/esm/pds-tooltip.entry.js +3 -3
  226. package/dist/esm/pine-core.js +3 -3
  227. package/dist/esm/{truncation-tooltip-Blk4GigP.js → truncation-tooltip-CdtEBn_5.js} +51 -1
  228. package/dist/esm-es5/{index-NNDTPCWx.js → index-CTLu1TM4.js} +1 -1
  229. package/dist/esm-es5/index.js +1 -0
  230. package/dist/esm-es5/loader.js +1 -1
  231. package/dist/esm-es5/mock-pds-modal.entry.js +1 -1
  232. package/dist/esm-es5/pds-accordion.entry.js +1 -1
  233. package/dist/esm-es5/pds-alert.entry.js +1 -1
  234. package/dist/esm-es5/pds-avatar.entry.js +1 -1
  235. package/dist/esm-es5/pds-box.entry.js +1 -1
  236. package/dist/esm-es5/pds-button.entry.js +1 -1
  237. package/dist/esm-es5/pds-checkbox.entry.js +1 -1
  238. package/dist/esm-es5/pds-chip.entry.js +1 -1
  239. package/dist/esm-es5/pds-combobox.entry.js +1 -1
  240. package/dist/esm-es5/pds-container.entry.js +1 -1
  241. package/dist/esm-es5/pds-copytext.entry.js +1 -1
  242. package/dist/esm-es5/pds-divider.entry.js +1 -1
  243. package/dist/esm-es5/pds-drawer-content.entry.js +1 -0
  244. package/dist/esm-es5/pds-drawer-footer.entry.js +1 -0
  245. package/dist/esm-es5/pds-drawer-header.entry.js +1 -0
  246. package/dist/esm-es5/pds-drawer.entry.js +1 -0
  247. package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
  248. package/dist/esm-es5/pds-dropdown-menu-separator.entry.js +1 -1
  249. package/dist/esm-es5/pds-dropdown-menu.entry.js +1 -1
  250. package/dist/esm-es5/pds-filter.entry.js +1 -1
  251. package/dist/esm-es5/pds-filters.entry.js +1 -1
  252. package/dist/esm-es5/pds-icon.entry.js +1 -1
  253. package/dist/esm-es5/pds-image.entry.js +1 -1
  254. package/dist/esm-es5/pds-input.entry.js +1 -1
  255. package/dist/esm-es5/pds-link.entry.js +1 -1
  256. package/dist/esm-es5/pds-loader.entry.js +1 -1
  257. package/dist/esm-es5/pds-modal-content.entry.js +1 -1
  258. package/dist/esm-es5/pds-modal-footer.entry.js +1 -1
  259. package/dist/esm-es5/pds-modal-header.entry.js +1 -1
  260. package/dist/esm-es5/pds-modal.entry.js +1 -1
  261. package/dist/esm-es5/pds-multiselect.entry.js +1 -1
  262. package/dist/esm-es5/pds-popover.entry.js +1 -1
  263. package/dist/esm-es5/pds-progress.entry.js +1 -1
  264. package/dist/esm-es5/pds-property.entry.js +1 -1
  265. package/dist/esm-es5/pds-radio-group.entry.js +1 -1
  266. package/dist/esm-es5/pds-radio.entry.js +1 -1
  267. package/dist/esm-es5/pds-row.entry.js +1 -1
  268. package/dist/esm-es5/pds-select.entry.js +1 -1
  269. package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
  270. package/dist/esm-es5/pds-sortable.entry.js +2 -2
  271. package/dist/esm-es5/pds-switch.entry.js +1 -1
  272. package/dist/esm-es5/pds-tab.entry.js +1 -1
  273. package/dist/esm-es5/pds-table-body.entry.js +1 -1
  274. package/dist/esm-es5/pds-table-cell.entry.js +1 -1
  275. package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
  276. package/dist/esm-es5/pds-table-head.entry.js +1 -1
  277. package/dist/esm-es5/pds-table-row.entry.js +1 -1
  278. package/dist/esm-es5/pds-table.entry.js +1 -1
  279. package/dist/esm-es5/pds-tabpanel.entry.js +1 -1
  280. package/dist/esm-es5/pds-tabs.entry.js +1 -1
  281. package/dist/esm-es5/pds-text.entry.js +1 -1
  282. package/dist/esm-es5/pds-textarea.entry.js +1 -1
  283. package/dist/esm-es5/pds-toast.entry.js +1 -1
  284. package/dist/esm-es5/pds-tooltip.entry.js +1 -1
  285. package/dist/esm-es5/pine-core.js +1 -1
  286. package/dist/esm-es5/truncation-tooltip-CdtEBn_5.js +1 -0
  287. package/dist/pine-core/index.esm.js +1 -0
  288. package/dist/pine-core/p-02a47ebb.entry.js +1 -0
  289. package/dist/pine-core/{p-b3b44b80.entry.js → p-049681fc.entry.js} +1 -1
  290. package/dist/pine-core/p-053b0898.system.entry.js +1 -0
  291. package/dist/pine-core/p-09413b07.entry.js +1 -0
  292. package/dist/pine-core/{p-17d4a99a.system.entry.js → p-0ab735aa.system.entry.js} +1 -1
  293. package/dist/pine-core/p-12182cab.entry.js +1 -0
  294. package/dist/pine-core/{p-3170d53b.system.entry.js → p-12ec8186.system.entry.js} +1 -1
  295. package/dist/pine-core/p-15d3a4bc.system.entry.js +1 -0
  296. package/dist/pine-core/{p-606418b7.system.entry.js → p-1614c000.system.entry.js} +1 -1
  297. package/dist/pine-core/{p-6254d112.entry.js → p-17dc3f87.entry.js} +1 -1
  298. package/dist/pine-core/p-18a59cdd.system.entry.js +1 -0
  299. package/dist/pine-core/{p-2ec460e1.system.entry.js → p-1e2a9b5d.system.entry.js} +1 -1
  300. package/dist/pine-core/{p-6f82e8dc.system.entry.js → p-1f307e59.system.entry.js} +1 -1
  301. package/dist/pine-core/{p-f145e018.entry.js → p-2016c878.entry.js} +1 -1
  302. package/dist/pine-core/{p-5e6e8d4e.system.entry.js → p-222ff58e.system.entry.js} +1 -1
  303. package/dist/pine-core/{p-cd407bed.system.entry.js → p-2eb8d697.system.entry.js} +1 -1
  304. package/dist/pine-core/{p-bf759fc0.entry.js → p-31e1722e.entry.js} +1 -1
  305. package/dist/pine-core/p-324a7ae4.system.entry.js +1 -0
  306. package/dist/pine-core/{p-c35fe2e2.entry.js → p-32f10aa9.entry.js} +1 -1
  307. package/dist/pine-core/p-33c0f3c9.system.entry.js +1 -0
  308. package/dist/pine-core/{p-31679dbc.system.entry.js → p-3464b456.system.entry.js} +1 -1
  309. package/dist/pine-core/{p-69372e72.system.entry.js → p-34e38037.system.entry.js} +1 -1
  310. package/dist/pine-core/{p-2d1cc047.entry.js → p-3605a5f5.entry.js} +1 -1
  311. package/dist/pine-core/{p-c2688710.entry.js → p-376f8286.entry.js} +1 -1
  312. package/dist/pine-core/{p-292cf8f9.entry.js → p-3873f55b.entry.js} +1 -1
  313. package/dist/pine-core/{p-b0058cb0.entry.js → p-3aec9079.entry.js} +1 -1
  314. package/dist/pine-core/{p-464ec4eb.system.entry.js → p-3c229a00.system.entry.js} +1 -1
  315. package/dist/pine-core/{p-2fc127b4.system.entry.js → p-3c4236a8.system.entry.js} +1 -1
  316. package/dist/pine-core/{p-43ef94bc.entry.js → p-3e0c6384.entry.js} +1 -1
  317. package/dist/pine-core/p-3eca0b00.entry.js +1 -0
  318. package/dist/pine-core/{p-62f75f84.entry.js → p-3f12afb1.entry.js} +1 -1
  319. package/dist/pine-core/p-43338f77.system.entry.js +1 -0
  320. package/dist/pine-core/{p-b89583e7.system.entry.js → p-4661259e.system.entry.js} +1 -1
  321. package/dist/pine-core/{p-5c7a72aa.system.entry.js → p-4d388957.system.entry.js} +1 -1
  322. package/dist/pine-core/{p-7e065b59.entry.js → p-51b8490d.entry.js} +1 -1
  323. package/dist/pine-core/{p-d9cb26fe.system.entry.js → p-51dff5af.system.entry.js} +1 -1
  324. package/dist/pine-core/p-53a4852e.system.entry.js +1 -0
  325. package/dist/pine-core/{p-076aaa00.system.entry.js → p-56b34569.system.entry.js} +1 -1
  326. package/dist/pine-core/{p-a03c12a4.system.entry.js → p-5772f260.system.entry.js} +1 -1
  327. package/dist/pine-core/{p-3cece186.system.entry.js → p-585ad368.system.entry.js} +1 -1
  328. package/dist/pine-core/p-591fbff5.entry.js +1 -0
  329. package/dist/pine-core/{p-83e8f145.entry.js → p-5aea1082.entry.js} +1 -1
  330. package/dist/pine-core/{p-ff1e9a32.entry.js → p-5d585aa8.entry.js} +1 -1
  331. package/dist/pine-core/{p-1f20608e.system.entry.js → p-5dd393cd.system.entry.js} +1 -1
  332. package/dist/pine-core/p-613a64f1.entry.js +1 -0
  333. package/dist/pine-core/p-630f33d6.system.entry.js +1 -0
  334. package/dist/pine-core/{p-9374cf48.system.entry.js → p-63686e2a.system.entry.js} +1 -1
  335. package/dist/pine-core/{p-fef6694d.entry.js → p-6f7a7d55.entry.js} +1 -1
  336. package/dist/pine-core/{p-0a4f2d5f.system.entry.js → p-6fd863e5.system.entry.js} +1 -1
  337. package/dist/pine-core/{p-18ae43e3.entry.js → p-714bfdbd.entry.js} +1 -1
  338. package/dist/pine-core/{p-43268325.system.entry.js → p-76286a68.system.entry.js} +1 -1
  339. package/dist/pine-core/{p-43d6ab33.system.entry.js → p-7691a875.system.entry.js} +1 -1
  340. package/dist/pine-core/p-78fd593d.system.entry.js +1 -0
  341. package/dist/pine-core/{p-8c0040c4.entry.js → p-7b1e3e91.entry.js} +1 -1
  342. package/dist/pine-core/{p-7bac161d.entry.js → p-7e2b934d.entry.js} +1 -1
  343. package/dist/pine-core/p-7e44106e.entry.js +1 -0
  344. package/dist/pine-core/p-84ade640.entry.js +1 -0
  345. package/dist/pine-core/{p-24fcf841.system.entry.js → p-869ed1c0.system.entry.js} +1 -1
  346. package/dist/pine-core/p-86bc2a0c.entry.js +1 -0
  347. package/dist/pine-core/{p-caf73216.entry.js → p-8be301b6.entry.js} +1 -1
  348. package/dist/pine-core/{p-73b40545.system.entry.js → p-8cc270f0.system.entry.js} +1 -1
  349. package/dist/pine-core/p-8cea0d7a.system.entry.js +1 -0
  350. package/dist/pine-core/{p-b759dc21.entry.js → p-8eef80d5.entry.js} +1 -1
  351. package/dist/pine-core/p-9187c26c.system.entry.js +1 -0
  352. package/dist/pine-core/{p-2c5fe3d9.system.entry.js → p-92ef1608.system.entry.js} +1 -1
  353. package/dist/pine-core/{p-d12a93d6.entry.js → p-957dbb0c.entry.js} +1 -1
  354. package/dist/pine-core/p-B2nn1gSd.js +1 -0
  355. package/dist/pine-core/{p-CRCxGYgw.system.js → p-B2qvvB3q.system.js} +1 -1
  356. package/dist/pine-core/p-CTLu1TM4.js +2 -0
  357. package/dist/pine-core/{p-DVZjHa4_.system.js → p-DAIsVNlL.system.js} +1 -1
  358. package/dist/pine-core/p-Dr-FzkdE.system.js +1 -0
  359. package/dist/pine-core/p-G3CPPJEt.system.js +1 -0
  360. package/dist/pine-core/{p-1b8ac76c.system.entry.js → p-a11a9c40.system.entry.js} +1 -1
  361. package/dist/pine-core/p-a4a58477.entry.js +1 -0
  362. package/dist/pine-core/{p-6630f428.system.entry.js → p-a98bf89f.system.entry.js} +1 -1
  363. package/dist/pine-core/{p-ac2775b5.entry.js → p-ac0098fd.entry.js} +1 -1
  364. package/dist/pine-core/{p-8cb0eed9.entry.js → p-b109de2e.entry.js} +1 -1
  365. package/dist/pine-core/{p-cf389430.system.entry.js → p-b32e3174.system.entry.js} +1 -1
  366. package/dist/pine-core/{p-16f13b17.entry.js → p-b923a70b.entry.js} +1 -1
  367. package/dist/pine-core/p-be4a6cc2.entry.js +1 -0
  368. package/dist/pine-core/{p-f7cbdb81.system.entry.js → p-be819bff.system.entry.js} +1 -1
  369. package/dist/pine-core/{p-78cd9f97.system.entry.js → p-bf3afa16.system.entry.js} +1 -1
  370. package/dist/pine-core/{p-85f7428b.system.entry.js → p-c09dab1a.system.entry.js} +1 -1
  371. package/dist/pine-core/p-c0b3f2c1.system.entry.js +1 -0
  372. package/dist/pine-core/p-c1f8a187.entry.js +1 -0
  373. package/dist/pine-core/{p-47708864.entry.js → p-c5ce6dea.entry.js} +1 -1
  374. package/dist/pine-core/{p-6bc9b904.system.entry.js → p-c8bffb08.system.entry.js} +1 -1
  375. package/dist/pine-core/p-cf24ed1e.system.entry.js +1 -0
  376. package/dist/pine-core/{p-b1e5e8b1.system.entry.js → p-d0d2a886.system.entry.js} +1 -1
  377. package/dist/pine-core/{p-1e87e72a.entry.js → p-d12ef40d.entry.js} +1 -1
  378. package/dist/pine-core/{p-5d1228cb.entry.js → p-d21739eb.entry.js} +1 -1
  379. package/dist/pine-core/p-d280741f.entry.js +1 -0
  380. package/dist/pine-core/{p-ab0b992b.entry.js → p-d415bb01.entry.js} +2 -2
  381. package/dist/pine-core/p-d43db3ba.entry.js +1 -0
  382. package/dist/pine-core/{p-ec2c0e57.entry.js → p-d46adf7d.entry.js} +2 -2
  383. package/dist/pine-core/{p-419e711c.entry.js → p-d7865297.entry.js} +1 -1
  384. package/dist/pine-core/{p-8d6fd5a7.system.entry.js → p-d9ffb2d9.system.entry.js} +1 -1
  385. package/dist/pine-core/p-db5703f2.entry.js +1 -0
  386. package/dist/pine-core/p-dd6d9807.system.entry.js +1 -0
  387. package/dist/pine-core/p-e0da17aa.system.entry.js +1 -0
  388. package/dist/pine-core/{p-a8a1ae32.system.entry.js → p-e1653d75.system.entry.js} +1 -1
  389. package/dist/pine-core/{p-a0edb4ad.entry.js → p-e3600c53.entry.js} +1 -1
  390. package/dist/pine-core/{p-ebe218f8.entry.js → p-e3a7d2db.entry.js} +1 -1
  391. package/dist/pine-core/{p-b5c760c8.system.entry.js → p-e3cd4627.system.entry.js} +1 -1
  392. package/dist/pine-core/{p-950dd70e.system.entry.js → p-e410b0d8.system.entry.js} +1 -1
  393. package/dist/pine-core/p-e5bbe8cc.entry.js +1 -0
  394. package/dist/pine-core/{p-f6d1469d.entry.js → p-e95225cf.entry.js} +1 -1
  395. package/dist/pine-core/{p-43a1d9d7.entry.js → p-ed297f3e.entry.js} +1 -1
  396. package/dist/pine-core/{p-7153efaf.system.entry.js → p-f21aea90.system.entry.js} +1 -1
  397. package/dist/pine-core/{p-39c6e6c9.entry.js → p-f35596cd.entry.js} +1 -1
  398. package/dist/pine-core/{p-b9380ce8.entry.js → p-f7a5062f.entry.js} +1 -1
  399. package/dist/pine-core/{p-d70201bb.entry.js → p-f94667b5.entry.js} +1 -1
  400. package/dist/pine-core/p-fbf5f315.entry.js +1 -0
  401. package/dist/pine-core/{p-c3748812.system.entry.js → p-fec298bb.system.entry.js} +2 -2
  402. package/dist/pine-core/pine-core.css +1 -1
  403. package/dist/pine-core/pine-core.esm.js +1 -1
  404. package/dist/pine-core/pine-core.js +1 -1
  405. package/dist/types/components/pds-divider/pds-divider.d.ts +8 -0
  406. package/dist/types/components/pds-drawer/pds-drawer-content/pds-drawer-content.d.ts +11 -0
  407. package/dist/types/components/pds-drawer/pds-drawer-footer/pds-drawer-footer.d.ts +5 -0
  408. package/dist/types/components/pds-drawer/pds-drawer-header/pds-drawer-header.d.ts +5 -0
  409. package/dist/types/components/pds-drawer/pds-drawer.d.ts +78 -0
  410. package/dist/types/components/pds-modal/pds-modal.d.ts +38 -0
  411. package/dist/types/components/pds-table/pds-table-cell/pds-table-cell.d.ts +2 -1
  412. package/dist/types/components/pds-text/pds-text.d.ts +2 -1
  413. package/dist/types/components.d.ts +237 -4
  414. package/dist/types/index.d.ts +1 -0
  415. package/dist/types/utils/test/reduced-motion.d.ts +30 -0
  416. package/dist/types/utils/truncation-tooltip.d.ts +12 -0
  417. package/dist/vscode.html-data.json +147 -3
  418. package/hydrate/index.js +551 -103
  419. package/hydrate/index.mjs +551 -103
  420. package/package.json +7 -3
  421. package/dist/esm-es5/truncation-tooltip-Blk4GigP.js +0 -1
  422. package/dist/pine-core/p-08b0d298.entry.js +0 -1
  423. package/dist/pine-core/p-0a09ccbe.entry.js +0 -1
  424. package/dist/pine-core/p-20e0d06c.system.entry.js +0 -1
  425. package/dist/pine-core/p-36fc1ade.system.entry.js +0 -1
  426. package/dist/pine-core/p-73619cfc.system.entry.js +0 -1
  427. package/dist/pine-core/p-7803c5b6.system.entry.js +0 -1
  428. package/dist/pine-core/p-7ad6f313.entry.js +0 -1
  429. package/dist/pine-core/p-7b85115b.system.entry.js +0 -1
  430. package/dist/pine-core/p-7b97974e.system.entry.js +0 -1
  431. package/dist/pine-core/p-7e146a45.entry.js +0 -1
  432. package/dist/pine-core/p-8249e027.entry.js +0 -1
  433. package/dist/pine-core/p-86d12f3c.system.entry.js +0 -1
  434. package/dist/pine-core/p-8c85f53a.entry.js +0 -1
  435. package/dist/pine-core/p-92f648ba.entry.js +0 -1
  436. package/dist/pine-core/p-B1rytYxP.system.js +0 -1
  437. package/dist/pine-core/p-BNSGedhN.js +0 -1
  438. package/dist/pine-core/p-NNDTPCWx.js +0 -2
  439. package/dist/pine-core/p-YWpyar7R.system.js +0 -1
  440. package/dist/pine-core/p-af1e2778.entry.js +0 -1
  441. package/dist/pine-core/p-b6812452.system.entry.js +0 -1
  442. package/dist/pine-core/p-b8f288e8.entry.js +0 -1
  443. package/dist/pine-core/p-cd2370d0.system.entry.js +0 -1
  444. package/dist/pine-core/p-d281464e.entry.js +0 -1
  445. package/dist/pine-core/p-dc460e2d.system.entry.js +0 -1
  446. package/dist/pine-core/p-dcc4ee5e.entry.js +0 -1
  447. package/dist/pine-core/p-def5d3d3.entry.js +0 -1
  448. package/dist/pine-core/p-dfa70d20.entry.js +0 -1
  449. package/dist/pine-core/p-eed4b552.system.entry.js +0 -1
  450. /package/dist/esm-es5/{index-BjlFq0VD.js → index-DdPaBxPo.js} +0 -0
  451. /package/dist/pine-core/{p-WYNNo1N0.system.js → p--Llh7wKm.system.js} +0 -0
  452. /package/dist/pine-core/{p-BjlFq0VD.js → p-DdPaBxPo.js} +0 -0
@@ -33,6 +33,19 @@ export class PdsModal {
33
33
  * @default false
34
34
  */
35
35
  this.disableTopLayer = false;
36
+ /**
37
+ * Whether to skip moving focus into the modal when it opens — both our own
38
+ * `setInitialFocus()` and the browser's native "dialog focusing steps",
39
+ * which move focus into the dialog as soon as `show()`/`showModal()` is
40
+ * called regardless of application code. Focus return on close is
41
+ * unaffected either way. For a modal opened by something other than a
42
+ * direct user click — a redirect, a deep link, a background event —
43
+ * stealing focus on open can interrupt whatever the user was already
44
+ * doing. Default `false` preserves today's behavior for every existing
45
+ * consumer.
46
+ * @default false
47
+ */
48
+ this.disableInitialFocus = false;
36
49
  /**
37
50
  * Stores the list of focusable elements in the modal
38
51
  */
@@ -49,16 +62,41 @@ export class PdsModal {
49
62
  }
50
63
  };
51
64
  this.handleKeyDown = (e) => {
65
+ var _a, _b, _c;
52
66
  // If the modal is not open, don't handle any keyboard events
53
67
  if (!this.open)
54
68
  return;
55
69
  // Handle Escape key to close the modal
56
70
  if (e.key === 'Escape') {
57
- // In non-top-layer mode, focus can move into an overlay stacked above the
58
- // modal (the reason disableTopLayer exists). If that overlay owns focus,
59
- // leave Escape to it rather than dismissing this modal out from under it.
60
- const active = document.activeElement;
61
- if (this.disableTopLayer && active && active !== document.body && !this.el.contains(active)) {
71
+ // Every open pds-modal shares this document-level listener for the
72
+ // same keydown event. Whichever one runs first can synchronously move
73
+ // focus (hideModal() restores it), which would make a later instance's
74
+ // own read of document.activeElement reflect that side effect instead
75
+ // of where focus actually was when the key was pressed — stacking two
76
+ // sibling modals closing on one Escape instead of just the top one.
77
+ // That alone isn't enough, though: isStackedAboveOverlay's `:modal`
78
+ // check reads LIVE top-layer state, and hideModal()'s close() clears it
79
+ // synchronously — so whichever sibling's listener runs first (DOM
80
+ // order, not z-index) can close itself and erase the very evidence a
81
+ // later listener needs to recognize it was stacked above. Snapshot that
82
+ // determination too, in the same first-listener-wins block, before any
83
+ // instance has had a chance to act on this keypress.
84
+ const eventSnapshot = e;
85
+ if (!('__pdsActiveElementAtEscape' in eventSnapshot)) {
86
+ const activeAtDispatch = document.activeElement;
87
+ eventSnapshot.__pdsActiveElementAtEscape = activeAtDispatch;
88
+ const topLayerDialog = (_a = activeAtDispatch === null || activeAtDispatch === void 0 ? void 0 : activeAtDispatch.closest('dialog')) !== null && _a !== void 0 ? _a : null;
89
+ eventSnapshot.__pdsTopLayerDialogAtEscape = topLayerDialog;
90
+ eventSnapshot.__pdsTopLayerDialogWasModalAtEscape = !!(topLayerDialog && topLayerDialog.matches(':modal'));
91
+ }
92
+ // Leave Escape to a genuinely stacked-above overlay (disableTopLayer's
93
+ // reason for existing) — not just to anything outside this modal.
94
+ const active = eventSnapshot.__pdsActiveElementAtEscape;
95
+ if (this.disableTopLayer &&
96
+ active &&
97
+ active !== document.body &&
98
+ !this.el.contains(active) &&
99
+ this.isStackedAboveOverlay(active, (_b = eventSnapshot.__pdsTopLayerDialogAtEscape) !== null && _b !== void 0 ? _b : null, (_c = eventSnapshot.__pdsTopLayerDialogWasModalAtEscape) !== null && _c !== void 0 ? _c : false)) {
62
100
  return;
63
101
  }
64
102
  // Always prevent native dialog close behavior
@@ -106,6 +144,16 @@ export class PdsModal {
106
144
  this.modalRef = this.el.querySelector('.pds-modal__backdrop');
107
145
  // Add keyboard event listener
108
146
  document.addEventListener('keydown', this.handleKeyDown);
147
+ // @Watch('open') only fires on a later change, not the prop's initial
148
+ // value — a modal mounted with `open` already true (static markup, or a
149
+ // framework passing it on first render) would otherwise never call
150
+ // show()/showModal(): the panel still appears, since that's driven by the
151
+ // `open` CSS class, but the native <dialog> itself was never opened, so
152
+ // there's no top-layer promotion, no dialog focusing steps, and no
153
+ // focusable-elements list or previousActiveElement captured.
154
+ if (this.open) {
155
+ this.showModal();
156
+ }
109
157
  }
110
158
  // Unwraps a nested dialog.pds-modal__backdrop left by a page-cache (Turbo, bfcache) reconnect.
111
159
  componentDidRender() {
@@ -211,8 +259,39 @@ export class PdsModal {
211
259
  // Update focusable elements and set initial focus
212
260
  // Using a longer timeout to ensure all components are fully rendered
213
261
  setTimeout(() => {
262
+ var _a, _b;
214
263
  this.updateFocusableElements();
215
- this.setInitialFocus();
264
+ if (this.disableInitialFocus) {
265
+ // show()/showModal() also move focus into the dialog natively (the
266
+ // HTML spec's "dialog focusing steps") — that native step isn't
267
+ // necessarily done by the time this task runs either, so counter it
268
+ // here, in the same deferred slot setInitialFocus() below uses for
269
+ // the same reason, rather than racing it synchronously above.
270
+ //
271
+ // disableInitialFocus exists for a drawer that can open in the
272
+ // background while the user is mid-task elsewhere — by the time
273
+ // this runs, they may have already clicked into something of
274
+ // their own outside the dialog. Only act if focus is still where
275
+ // the native steps (or nothing) left it, so that isn't stolen.
276
+ const activeElement = document.activeElement;
277
+ const focusAlreadyClaimedElsewhere = activeElement !== null && activeElement !== document.body && !((_a = this.modalRef) === null || _a === void 0 ? void 0 : _a.contains(activeElement));
278
+ if (!focusAlreadyClaimedElsewhere) {
279
+ if (this.previousActiveElement !== document.body && typeof ((_b = this.previousActiveElement) === null || _b === void 0 ? void 0 : _b.focus) === 'function') {
280
+ this.previousActiveElement.focus();
281
+ }
282
+ else if (activeElement instanceof HTMLElement) {
283
+ // Nothing was focused before opening (previousActiveElement is
284
+ // body), so there's nothing to restore focus to — body.focus()
285
+ // would be a no-op and leave focus wherever the native focusing
286
+ // steps put it, inside the dialog. Blur that instead so focus
287
+ // ends up nowhere, matching the state before opening.
288
+ activeElement.blur();
289
+ }
290
+ }
291
+ }
292
+ else {
293
+ this.setInitialFocus();
294
+ }
216
295
  this.pdsModalOpen.emit();
217
296
  }, 100);
218
297
  }
@@ -227,10 +306,22 @@ export class PdsModal {
227
306
  async hideModal() {
228
307
  if (this.modalRef) {
229
308
  try {
309
+ // Capture before close(): with the async task queue, a prop change
310
+ // that triggers hideModal() (e.g. light dismiss setting `open` false
311
+ // on a pointerdown elsewhere) doesn't run until the next frame — by
312
+ // then the browser has already moved focus to whatever the user's
313
+ // click actually landed on. Restoring previousActiveElement in that
314
+ // case would steal focus back from a real new destination; only
315
+ // restore it when focus is still inside the modal (or nowhere, i.e.
316
+ // document.body), meaning nothing else has claimed it since.
317
+ const activeElement = document.activeElement;
318
+ const focusAlreadyMovedElsewhere = activeElement !== null && activeElement !== document.body && !this.modalRef.contains(activeElement);
230
319
  this.modalRef.close();
231
320
  this.open = false;
232
321
  // Restore focus to the element that was focused before the modal was opened
233
- if (this.previousActiveElement && typeof this.previousActiveElement.focus === 'function') {
322
+ if (!focusAlreadyMovedElsewhere &&
323
+ this.previousActiveElement &&
324
+ typeof this.previousActiveElement.focus === 'function') {
234
325
  this.previousActiveElement.focus();
235
326
  }
236
327
  this.pdsModalClose.emit();
@@ -247,6 +338,46 @@ export class PdsModal {
247
338
  const backdrop = modal.querySelector('.pds-modal__backdrop');
248
339
  return backdrop ? parseInt(getComputedStyle(backdrop).zIndex, 10) : -1;
249
340
  }
341
+ /**
342
+ * Whether `active` sits inside a surface actually stacked above this modal.
343
+ *
344
+ * Used to decide whether an Escape keypress belongs to that surface instead
345
+ * of this modal. Focus being merely *outside* this modal is not enough on
346
+ * its own: in `disableTopLayer` mode the page stays interactive (that's the
347
+ * point of a non-modal usage like a drawer), so focus will routinely be on
348
+ * ordinary page content while the modal is open, and that must not be
349
+ * mistaken for "an overlay owns Escape."
350
+ *
351
+ * Two ways a surface can be above: it is itself promoted to the browser's
352
+ * top layer (a regular `showModal()` dialog, which paints above everything
353
+ * outside the top layer regardless of z-index — a sibling pds-modal opened
354
+ * over a `disableTopLayer` drawer typically shares the exact same z-index
355
+ * token, so a numeric comparison alone would miss it), or it has a higher
356
+ * z-index than this modal's own backdrop (a `disableTopLayer` overlay, or
357
+ * anything else deliberately raised above it).
358
+ *
359
+ * `topLayerDialog` / `topLayerDialogWasModal` come pre-snapshotted from the
360
+ * keydown event (see handleKeyDown) rather than being re-derived here: by
361
+ * the time a later sibling modal's listener runs, an earlier one may have
362
+ * already closed itself, which clears `:modal` — reading it live here would
363
+ * lose that evidence depending on listener order.
364
+ */
365
+ isStackedAboveOverlay(active, topLayerDialog, topLayerDialogWasModal) {
366
+ if (topLayerDialog && topLayerDialog !== this.modalRef && topLayerDialogWasModal) {
367
+ return true;
368
+ }
369
+ const ownZIndex = this.getBackdropZIndex(this.el);
370
+ let node = active;
371
+ while (node && node !== document.body) {
372
+ const style = getComputedStyle(node);
373
+ const zIndex = parseInt(style.zIndex, 10);
374
+ if (style.position !== 'static' && !isNaN(zIndex) && zIndex > ownZIndex) {
375
+ return true;
376
+ }
377
+ node = node.parentElement;
378
+ }
379
+ return false;
380
+ }
250
381
  /**
251
382
  * Checks if this modal is the innermost (highest z-index) modal
252
383
  */
@@ -268,14 +399,14 @@ export class PdsModal {
268
399
  return thisZIndex === maxZIndex;
269
400
  }
270
401
  render() {
271
- return (h("dialog", { key: '134e913f0bf5d7bf77e67f00707a399fae986fcb', class: {
402
+ return (h("dialog", { key: 'f35044ec9bca1189069faf083c824d8144800053', class: {
272
403
  'pds-modal__backdrop': true,
273
404
  'open': this.open
274
- }, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, h("div", { key: '6cb819a92c00b5c8676b4d1a84301896373305f3', class: {
405
+ }, "aria-modal": this.disableTopLayer ? 'false' : 'true', "aria-labelledby": `${this.componentId}-heading`, onClick: this.handleBackdropClick }, h("div", { key: '99a53b36e160ac14dfd6d598aeaa94114855dacc', class: {
275
406
  'pds-modal': true,
276
407
  [`pds-modal--${this.size}`]: true,
277
408
  'pds-modal--scrollable': this.scrollable
278
- }, part: "modal" }, h("slot", { key: 'aff0f88a7b9e1b4b681a6a14636153ce3a6907d5' }))));
409
+ }, part: "modal" }, h("slot", { key: 'cfee7bdf3620d606b1d3130f4ebed4caa83084f1' }))));
279
410
  }
280
411
  static get is() { return "pds-modal"; }
281
412
  static get originalStyleUrls() {
@@ -423,6 +554,29 @@ export class PdsModal {
423
554
  "reflect": false,
424
555
  "attribute": "disable-top-layer",
425
556
  "defaultValue": "false"
557
+ },
558
+ "disableInitialFocus": {
559
+ "type": "boolean",
560
+ "mutable": false,
561
+ "complexType": {
562
+ "original": "boolean",
563
+ "resolved": "boolean",
564
+ "references": {}
565
+ },
566
+ "required": false,
567
+ "optional": false,
568
+ "docs": {
569
+ "tags": [{
570
+ "name": "default",
571
+ "text": "false"
572
+ }],
573
+ "text": "Whether to skip moving focus into the modal when it opens \u2014 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 \u2014 a redirect, a deep link, a background event \u2014\nstealing focus on open can interrupt whatever the user was already\ndoing. Default `false` preserves today's behavior for every existing\nconsumer."
574
+ },
575
+ "getter": false,
576
+ "setter": false,
577
+ "reflect": false,
578
+ "attribute": "disable-initial-focus",
579
+ "defaultValue": "false"
426
580
  }
427
581
  };
428
582
  }
@@ -77,7 +77,7 @@ export class MockPdsModal {
77
77
  'pds-modal__backdrop': true,
78
78
  'open': this.open,
79
79
  };
80
- return (h("div", { key: '6e7f71b339764894e1f17d253fc3c8e0243e4f90', class: backdropClasses }, h("div", { key: '25b2f82c1af743156d152880631d4294dfec68b5', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null, part: "modal" }, h("div", { key: '6bc97e805daee5e5dd547fa0b919a05cf1b6a6a1', class: "pds-modal__header" }, h("slot", { key: 'd9e7c248d983e3c055ed7e0aea5a4d5a15dfea12', name: "header" })), h("div", { key: '5608ee069b59cb34dc812bde22f83c6bce7e6904', class: "pds-modal-content" }, h("slot", { key: '6e3e790330598e1bde733350e5e216d269426e51' })), h("div", { key: '381f3c4e1c9c83b0687e1f1484b64334e388d669', class: "pds-modal__footer" }, h("slot", { key: '6e3a3cb64623de59a409072ab9c1bf65af8c2f6c', name: "footer" })))));
80
+ return (h("div", { key: '1207382ec39e45f95449791cd9fbf3ad54a17564', class: backdropClasses }, h("div", { key: '865cff8feaf031750e6763d60580f9060dfc0c91', class: modalClasses, role: "dialog", "aria-modal": "true", "aria-labelledby": this.componentId ? `${this.componentId}-heading` : null, part: "modal" }, h("div", { key: 'b49ba7c717999b53578056ad35c4ec270dbdfd01', class: "pds-modal__header" }, h("slot", { key: '2c06b0f0c4692f1991eb389a73b751d38796c1cf', name: "header" })), h("div", { key: 'ca0e6f324db12de5bd0c21b53bf888ab44c0d34c', class: "pds-modal-content" }, h("slot", { key: 'cef74e83f58195b574f9a290f748cecb2561668e' })), h("div", { key: '65518e197e80fa0cd8ea8cbbd9bb10a064e251ca', class: "pds-modal__footer" }, h("slot", { key: '8cd72b932b7c4d31cf9ecb8f0c37d9a5b5ca7594', name: "footer" })))));
81
81
  }
82
82
  static get is() { return "mock-pds-modal"; }
83
83
  static get originalStyleUrls() {
@@ -1021,10 +1021,10 @@ export class PdsMultiselect {
1021
1021
  }
1022
1022
  render() {
1023
1023
  const hasSelections = this.selectedItems.length > 0;
1024
- return (h(Host, { key: '4a54a778522d0a1d2f45c32928e7a663f19c0189', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '3593eb4fa1a0ae575b1c0ed03f0763dcea04c9e6', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: 'f91a680ae3c3021bac6bd99368d3ef6ad6438898', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
1024
+ return (h(Host, { key: '5d4de9ca729d5bfb63a8a73f8f40328b9ab48f57', "aria-disabled": this.disabled ? 'true' : null }, h("div", { key: '2b5e1e01caaa4a6540a67e2638a20072e9f706cb', class: "pds-multiselect", onFocusout: this.handleContainerFocusOut }, this.label && (h("label", { key: 'f23b840feb4e243d90b3a9913dab1b238e7c497d', id: `${this.componentId}-label`, htmlFor: this.componentId, class: {
1025
1025
  'pds-multiselect__label': true,
1026
1026
  'visually-hidden': this.hideLabel,
1027
- } }, this.label)), h("div", { key: 'de2899f19057b8cd19cf3467251d03c1b43b73f5', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
1027
+ } }, this.label)), h("div", { key: '2e1f89d6f06332e957858c0eea34fca1a9629921', class: "pds-multiselect__wrapper", ref: el => (this.containerEl = el), style: { width: this.triggerWidth } }, this.selectedDisplay === 'pill' && this.pillPosition === 'inline' ? (h("div", { ref: el => (this.pillInlineTriggerEl = el || undefined), part: "trigger", class: {
1028
1028
  'pds-multiselect__trigger': true,
1029
1029
  'pds-multiselect__trigger--open': this.isOpen,
1030
1030
  'pds-multiselect__trigger--disabled': this.disabled,
@@ -1040,7 +1040,7 @@ export class PdsMultiselect {
1040
1040
  }, id: this.componentId, disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-haspopup": "listbox", "aria-describedby": assignDescription(this.componentId, this.invalid || !!this.errorMessage, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid || !!this.errorMessage ? 'true' : undefined, onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown }, h("span", { class: {
1041
1041
  'pds-multiselect__trigger-text': true,
1042
1042
  'pds-multiselect__trigger-text--placeholder': !hasSelections || (this.selectedDisplay === 'pill' && this.pillPosition === 'below'),
1043
- } }, this.getTriggerText()), h("pds-icon", { class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '199804f5352818d32542864e3a61f7a9364cc2e3', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: 'e6855ff0aaf18f59dced2df5d636cadb4d47427b', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: '29eae23d8db31b9b9c292d5cd1dc5f641613ed32', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: 'aad6fd945998957cd28ab6eb97c4d80f0a732ea5', icon: danger, size: "small" }), this.errorMessage)), h("div", { key: '7d0d56a1e097cfc0c7396c1957d16014cb071b1e', style: { display: 'none' } }, h("slot", { key: '6e7fc9dbdab3977248439aa5ea14f13e0f45bbc6' })))));
1043
+ } }, this.getTriggerText()), h("pds-icon", { class: "pds-multiselect__icon", icon: enlarge }))), this.renderDropdown()), this.selectedDisplay === 'pill' && this.pillPosition === 'below' && this.renderBelowPills(), h("span", { key: '3d2e201157ce16abbcd12fa9254ced7f2b562a8f', class: "visually-hidden", "aria-live": "polite", "aria-atomic": "true" }, this.removalAnnouncement), this.helperMessage && !(this.errorMessage && this.errorMessage.length > 0) && (h("p", { key: '3bbf405df2e72ae730529f28273b003b3332e980', class: "pds-multiselect__helper", id: messageId(this.componentId, 'helper') }, this.helperMessage)), this.errorMessage && (h("p", { key: 'ef4a27162b00b14c3c9dfcb695f311961f2f56e5', class: "pds-multiselect__error", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '99fb12375e2d660018276091bf8014b9bc9a672e', icon: danger, size: "small" }), this.errorMessage)), h("div", { key: '8fc6369015e8d04d1dec582007733eb5db6776f5', style: { display: 'none' } }, h("slot", { key: 'a808ecb0f4b2c00fca478cda5c0054c6aba29a8d' })))));
1044
1044
  }
1045
1045
  static get is() { return "pds-multiselect"; }
1046
1046
  static get encapsulation() { return "shadow"; }
@@ -554,7 +554,7 @@ export class PdsPopover {
554
554
  }, 16); // ~1 frame at 60fps
555
555
  }
556
556
  render() {
557
- return (h(Host, { key: '2e19ac35068ac25b013bd146da0b3b343eb89d75', id: this.componentId }, h("span", { key: 'e982ade010dc6539593759704e5afae29ce5eba8', class: "pds-popover__trigger-wrapper" }, h("slot", { key: 'f1e1ef5e3b0b52a96cb566175ea420e1d1545ccc', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("div", { key: 'caa5762029db6430f174c8936611fe332889620d', class: "pds-popover__content-slot-wrapper" }, h("slot", { key: 'cdad839643d1a5a2024cd55cdd33750f8665a366', onSlotchange: this.handleContentSlotChange }))));
557
+ return (h(Host, { key: '760428c178ed92dfc35293181b7cef8fac3b4e26', id: this.componentId }, h("span", { key: 'd12a6a33dcf0fe6f3b61972ae8e5ac604263b2ac', class: "pds-popover__trigger-wrapper" }, h("slot", { key: 'd975e355a3acb9bc6d95202ec177f631bddb43bf', name: "trigger", onSlotchange: this.handleTriggerSlotChange })), h("div", { key: 'f99ae2d97c75ed8ec63fbd0a859f8b7b9f78f0d2', class: "pds-popover__content-slot-wrapper" }, h("slot", { key: 'd1620c57d993496045fc3c47b55cdd0c1d07b36c', onSlotchange: this.handleContentSlotChange }))));
558
558
  }
559
559
  static get is() { return "pds-popover"; }
560
560
  static get encapsulation() { return "shadow"; }
@@ -18,7 +18,7 @@ export class PdsProgress {
18
18
  this.showPercent = false;
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: '23b8b17a11e6537d1f73cd435c66e779267c6909', class: this.animated ? { 'is-animated': this.animated } : '' }, h("div", { key: '6bf201015c284f26b2bb794237aef8d4e4d532ee', class: "pds-progress" }, h("label", { key: '7e144a90c1fde70e58095bda2e23b250529a8114', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: 'ebf00485c3c7523e184fcc022e2bcc325a13458f', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '6f37bd88ccb9228b0d0ca4d934a2d3cff0026533', class: "pds-progress__percentage" }, this.percent, "%")));
21
+ return (h(Host, { key: '0ae02615ceeb094270d4d385d27dc1e539984e88', class: this.animated ? { 'is-animated': this.animated } : '' }, h("div", { key: '8da2f2a5b260cb19cda3021cc9289bde18fff9fc', class: "pds-progress" }, h("label", { key: 'a84106244fafed602c1f14b63d83b16f123732f4', class: "pds-progress__label", htmlFor: this.componentId }, this.label), h("progress", { key: '82fb1a46fb2e7c89d5b4ed4e8e3efa590c896d0d', id: this.componentId, max: "100", style: this.fillColor ? { '--color-progress-fill': this.fillColor } : {}, value: this.percent })), this.showPercent && h("div", { key: '36d041d1c5e656ac0864999200f48e15e53aa3f3', class: "pds-progress__percentage" }, this.percent, "%")));
22
22
  }
23
23
  static get is() { return "pds-progress"; }
24
24
  static get encapsulation() { return "shadow"; }
@@ -10,7 +10,7 @@ export class PdsProperty {
10
10
  this.icon = 'star';
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: '947e0adfc46ab267b4a5f3e3da5dedcd8ab64d3e', id: this.componentId }, h("pds-box", { key: 'bc6fbd4eaa162a7d9ff6348d74bf15f71e776db6', "align-items": "center", gap: "xs" }, h("pds-icon", { key: '5d703e9afd94761aae842c82c7b5e9223b63b894', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), h("slot", { key: 'e5e02fb21c783f7e4027591e99cd966981babc04' }))));
13
+ return (h(Host, { key: '1ce4509363c6c40c76d7d6c17335721b348abf04', id: this.componentId }, h("pds-box", { key: '8c6f5dd171e0383640aa550ccbe1b20e74de5b07', "align-items": "center", gap: "xs" }, h("pds-icon", { key: '31c19e7ff0c466f2fe54ad2d2366929311f01364', icon: this.icon, size: "var(--pine-dimension-sm)", "aria-hidden": "true" }), h("slot", { key: 'b5ddb877ef6f3239992a892c7990bbd4fcfa77ae' }))));
14
14
  }
15
15
  static get is() { return "pds-property"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -92,11 +92,11 @@ export class PdsRadio {
92
92
  }
93
93
  render() {
94
94
  const renderLabelAndMessages = () => [
95
- h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: 'd7534f457e24558e0e206e2de82eac5f59b47d8a', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange, class: this.hasImage() ? 'visually-hidden' : '' }), h("span", { key: 'bfb6a44684fcbb271c38da03b620e97067af6634', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)),
95
+ h("label", { htmlFor: this.componentId, key: `${this.componentId}-label` }, h("input", { key: 'faa2d815e03f6b05108af0e7934101b2d5f71c59', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, type: "radio", id: this.componentId, name: this.name, value: this.value, checked: this.checked, required: this.required, disabled: this.disabled, onChange: this.handleRadioChange, class: this.hasImage() ? 'visually-hidden' : '' }), h("span", { key: '22df3067667a7815e03dca45e4ef49d0e1caadcc', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)),
96
96
  this.helperMessage && (h("div", { key: `${this.componentId}-helper`, class: 'pds-radio__message', id: messageId(this.componentId, 'helper') }, this.helperMessage)),
97
- this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'd0c120ce21687b550b22546330d647f9876ee4d6', icon: danger, size: "small" }), this.errorMessage))
97
+ this.errorMessage && (h("div", { key: `${this.componentId}-error`, class: `pds-radio__message pds-radio__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '6dac17ccd12d558d3b25ffb77c55d160a619d6ab', icon: danger, size: "small" }), this.errorMessage))
98
98
  ];
99
- return (h(Host, { key: '55e4f32776bc8a5835801cd7d48b29045d4ce17f', class: this.classNames() }, this.hasImage() && (h("div", { key: '3d9bf1d624c00ea90971638b2de7b548aec73330', class: "pds-radio__image-container", part: "image-container" }, h("slot", { key: 'a256ede1340cf052570330342b1ed9e5f299c821', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), this.hasImage() ? (h("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
99
+ return (h(Host, { key: 'b464057b9e8d5de710183803c7d5e825316b3c3b', class: this.classNames() }, this.hasImage() && (h("div", { key: '692b2681221596cdf4bf6a21574edb2373d5127b', class: "pds-radio__image-container", part: "image-container" }, h("slot", { key: 'd68951b5b671863d582ad1a98543a51832966b36', name: "image", onSlotchange: () => (this._hasImage = this.hasImageSlot()) }))), this.hasImage() ? (h("div", { class: "pds-radio__content-wrapper" }, renderLabelAndMessages())) : (renderLabelAndMessages())));
100
100
  }
101
101
  static get is() { return "pds-radio"; }
102
102
  static get encapsulation() { return "scoped"; }
@@ -160,13 +160,13 @@ export class PdsRadioGroup {
160
160
  render() {
161
161
  const gapValue = this.getGapValue();
162
162
  const ariaDescribedBy = this.getAriaDescribedBy();
163
- return (h(Host, { key: '0f6b6ddc2af79fc470c050ed6b5588640fe0d7b6', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
163
+ return (h(Host, { key: '048d4676df7c31a9ab08e4d4fc2b93866c1241fd', class: this.classNames(), id: this._groupId, role: "group", "aria-describedby": ariaDescribedBy, style: {
164
164
  '--pds-radio-group-gap': gapValue,
165
- } }, this.groupLabel && (h("div", { key: '77dbdc4801c3ff50fa3ea6a84d3d6aa51702ad02', class: "pds-radio-group__label" }, this.groupLabel)), h("div", { key: 'c8d7f6aebc39f72a57f353ac2f8677139ac77e71', class: {
165
+ } }, this.groupLabel && (h("div", { key: '414363733d6053517bb63888fb9813af6554d4df', class: "pds-radio-group__label" }, this.groupLabel)), h("div", { key: 'd368dc474bf76f5cf7d633e59f929060fbf60b83', class: {
166
166
  'pds-radio-group__radios': true,
167
167
  'pds-radio-group__radios--row': this.direction === 'row',
168
168
  'pds-radio-group__radios--column': this.direction === 'column',
169
- } }, h("slot", { key: '605e640fada693696e0b71205d18904b0af887b0', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (h("div", { key: '13cc1c7a6b70ce6826f91a68380bc46188b218e1', class: "pds-radio-group__message", id: messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (h("div", { key: '693dd2f784eb5de04f1b885948e7064936cffa7d', class: "pds-radio-group__message pds-radio-group__message--error", id: messageId(this._groupId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '1569aeeeffde77d4920627020d04983e860ea52e', icon: danger, size: "small" }), this.errorMessage))));
169
+ } }, h("slot", { key: '210e1ba8d276c2832017ea7bf3d03348aa46106a', onSlotchange: () => this.updateChildRadios() })), this.helperMessage && (h("div", { key: '06015935856640afdcddfcd8833a3a0659c58698', class: "pds-radio-group__message", id: messageId(this._groupId, 'helper') }, this.helperMessage)), this.errorMessage && (h("div", { key: '44256d9a050feda9651f90093a298a12d9e97250', class: "pds-radio-group__message pds-radio-group__message--error", id: messageId(this._groupId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '2b3aa1ffaa0f6a3ad0ce83d2becfcfdcc2f56fbc', icon: danger, size: "small" }), this.errorMessage))));
170
170
  }
171
171
  static get is() { return "pds-radio-group"; }
172
172
  static get encapsulation() { return "scoped"; }
@@ -55,7 +55,7 @@ export class PdsRow {
55
55
  })), (this.minHeight && {
56
56
  'min-height': this.minHeight,
57
57
  }));
58
- return h(Host, { key: '7d99184153a86e5d7d2c90fce98e05e9c4a36b81', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
58
+ return h(Host, { key: '556bb00908d60df442b1fae17e28e54353f85f20', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
59
59
  }
60
60
  static get is() { return "pds-row"; }
61
61
  static get originalStyleUrls() {
@@ -228,7 +228,7 @@ export class PdsSelect {
228
228
  }
229
229
  render() {
230
230
  const hasAction = this.el.querySelector('[slot="action"]') !== null;
231
- return (h(Host, { key: 'c74f5e86a09bd3fe6e8048ca103ec9aa66a98fc6', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '76de23d6b0d9e32fab48e09a8f6ee3211e196115', class: "pds-select" }, !this.hideLabel && (h("div", { key: '1db87074447cbc819e6b06dd89135d018656a471', class: "pds-select__label-wrapper" }, h("label", { key: 'bc28c3b3361a19ee14a1b79edda736340009d87d', htmlFor: this.componentId }, h("span", { key: 'f0828e0e83c7c0d7cf50e08df4b861dad4df9eb9', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: 'd7d254887c976a95ad1f1da2ea540d6d3f986630', "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: '793a84d41bd5e18d64757238704a053b1135a83c', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: '27ed9ff31bbf83fcbd2ed8dd2b23b97422b18d25', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: '43d415eab0fc8a3c02e19848a5622ea43f04256e', "aria-hidden": "true", class: "pds-select__select-icon", icon: enlarge }))));
231
+ return (h(Host, { key: '6b240f3f91bcbdc52f019b0b6c57afda91abcbc9', "aria-disabled": this.disabled ? 'true' : null, class: this.classNames(), "has-action": hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '5bcacb3b861b69d4b2a16b917bad3d7c356eab13', class: "pds-select" }, !this.hideLabel && (h("div", { key: '4707b7b50a9e3144316f6c3e8b78767aee56553e', class: "pds-select__label-wrapper" }, h("label", { key: '89992c65158f26fef606b4f613baf139e9fe17c8', htmlFor: this.componentId }, h("span", { key: '8f05323646aca793a80310515b1cc6e0e8597736', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), hasAction && this.renderAction())), h("select", { key: '8381fe48cce4c6ec32ae2c0dd16bc3e188fbfda0', "aria-describedby": assignDescription(this.componentId, this.isInvalid(), this.helperMessage, this.errorMessage), "aria-invalid": this.isInvalid() ? 'true' : undefined, "aria-label": this.hideLabel ? this.label : undefined, autocomplete: this.autocomplete || undefined, class: "pds-select__field", disabled: this.disabled, id: this.componentId, multiple: this.multiple, name: this.name, onBlur: this.onBlur, onChange: this.onSelectUpdate, onFocus: this.onFocus, onKeyDown: this.onKeyDown, part: "select", required: this.required, ref: (el) => (this.selectEl = el) }), h("div", { key: 'c05f059e3c4e21d304ac1da08613d2b2d84aa342', "aria-hidden": "true", class: "hidden", ref: (el) => (this.slotContainer = el) }, h("slot", { key: 'b52f06405693803c0d2309e97f2611598cac7b70', onSlotchange: this.handleSlotChange })), this.renderMessages(), !this.multiple && h("pds-icon", { key: 'e1e7af5249a928402a3c5dfe418f695b4e1fa7d4', "aria-hidden": "true", class: "pds-select__select-icon", icon: enlarge }))));
232
232
  }
233
233
  static get is() { return "pds-select"; }
234
234
  static get encapsulation() { return "shadow"; }
@@ -38,7 +38,7 @@ export class PdsSortableItem {
38
38
  }
39
39
  }
40
40
  render() {
41
- return (h(Host, { key: '5533907ee217d31754ac19bf712bdb903e3b1614', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: '37642112619986b21c16c243e8d140ae82c869da', class: "pds-sortable-item__handle" }, h("pds-icon", { key: '71ec5188d7443c39ab00ba8b24ffbfbdfb3bd5b4', "aria-hidden": "true", icon: handleIcon }))), h("slot", { key: '4c5f80514336f40086a3b92d8c3d5ebb04115f4a' }), this.enableActions && (h("div", { key: 'ca821be132fb88e0faa207817bb27db488475d96', class: "pds-sortable-item__actions" }, h("slot", { key: '50fc7b02c86246cd60710996399c53b9f1f669c4', name: "sortable-item-actions" })))));
41
+ return (h(Host, { key: '07dcd36e87b8fcfae7ff5f33a7bd8d44322fcbb3', class: "pds-sortable-item", id: this.componentId }, this.showHandle && (h("div", { key: 'cb2de083316c50beb63d700288c9091d01a99240', class: "pds-sortable-item__handle" }, h("pds-icon", { key: '90906fe69419f1a240aa976e7024872577d00bd3', "aria-hidden": "true", icon: handleIcon }))), h("slot", { key: 'a6969eb7d575919db12f98e3fc5d82708128be8e' }), this.enableActions && (h("div", { key: '5688ea0ead3c2adba9e21a7fa327adc6fdbc71b1', class: "pds-sortable-item__actions" }, h("slot", { key: 'f62b4ecf0c92edae854e9b3ca5e9da6a5051f77d', name: "sortable-item-actions" })))));
42
42
  }
43
43
  static get is() { return "pds-sortable-item"; }
44
44
  static get encapsulation() { return "scoped"; }
@@ -57,7 +57,7 @@ export class PdsSortable {
57
57
  this.sortableInstance = Sortable.create(this.el, sortableOptions);
58
58
  }
59
59
  render() {
60
- return (h(Host, { key: '562bfb1ecea0b3a3f246b2e277b71f70d14b854c', class: this.classNames(), id: this.componentId }, h("slot", { key: 'a1ff894a9cd6049e532d2fa744429cec6d97e280' })));
60
+ return (h(Host, { key: '235879c63aa8e55ea819fd3bcdb30ef56dd2c0b3', class: this.classNames(), id: this.componentId }, h("slot", { key: '28cb6ef1a3b1f7de15f1f2728ffa625c879890dc' })));
61
61
  }
62
62
  static get is() { return "pds-sortable"; }
63
63
  static get encapsulation() { return "scoped"; }
@@ -2,7 +2,7 @@
2
2
  --sizing-input-toggle-size: calc(var(--pine-dimension-250) - (var(--pine-dimension-025) * 2));
3
3
  --pine-dimension-025: 2px;
4
4
  --spacing-message-inline: calc(var(--pine-dimension-450) + var(--pine-dimension-150));
5
- --number-transition-timing: 0.15s ease-out;
5
+ --number-transition-timing: var(--pine-motion-duration-fast) ease-out;
6
6
  align-items: flex-start;
7
7
  color: var(--pine-color-text);
8
8
  display: inline-flex;
@@ -82,9 +82,9 @@ export class PdsSwitch {
82
82
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
83
83
  }
84
84
  render() {
85
- return (h(Host, { key: '96ee8c40c04e95b461ba2942b740503897a56b27', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: '441d6854f2c0b02ecf3d874198b3e0636d68c83b', htmlFor: this.componentId }, h("input", Object.assign({ key: 'ed0c344ab46d83faf902571fcd282a605f5cfbec', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: 'a2e89156f56d6c921be9b866823bb4b36710b40f', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
86
- h("div", { key: '1465778f0a69d4c87108a80603d123bf0500911d', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
87
- h("div", { key: '2a652c3019f45a060283f98ea97ac83e17d7de33', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: '438895d9ad8799b540ab239ac90bedcb0231d2f0', icon: danger, size: "small" }), this.errorMessage)));
85
+ return (h(Host, { key: '0f7a97cc04485d5ead92f1d9e1deff176bef7859', class: this.switchClassNames(), "aria-disabled": this.disabled ? 'true' : null }, h("label", { key: 'bb8d0849e8ac5fd63d83f30d892bb195c7ed984c', htmlFor: this.componentId }, h("input", Object.assign({ key: 'd4f1c469ed61e5511fb4fef2b587b7320b7b8d10', "aria-describedby": assignDescription(this.componentId, this.invalid, this.helperMessage, this.errorMessage), "aria-invalid": this.invalid ? "true" : undefined, checked: this.checked, class: "pds-switch__input", disabled: this.disabled, id: this.componentId, name: this.name ? this.name : this.componentId, onChange: this.onSwitchUpdate, required: this.required, type: "checkbox", value: this.value }, this.inheritedAttributes)), h("span", { key: 'a902c71c77d143e5930f18ab3f37d3442d9190e3', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), this.helperMessage &&
86
+ h("div", { key: '3802a9cc1068caa4955634be3c728f283dedab16', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
87
+ h("div", { key: 'be0d4094af7f9c59be32faf42aed585ec92fd730', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, h("pds-icon", { key: 'f0f342b703fc5db7a4b03891ed5101e0ebcde47e', icon: danger, size: "small" }), this.errorMessage)));
88
88
  }
89
89
  static get is() { return "pds-switch"; }
90
90
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class PdsTableBody {
3
3
  render() {
4
- return (h(Host, { key: '457fc5406a1fe67055038398e03bfad97a393747', role: "rowgroup", part: "body" }, h("slot", { key: '5950bced36f7ba590f34173149cf8663ba76103b' })));
4
+ return (h(Host, { key: '38b6b6121a4652e5b98f2ff22721e687ae401437', role: "rowgroup", part: "body" }, h("slot", { key: '7ce84ac64307b9e19a8b4b72efe3e8eab34f99bf' })));
5
5
  }
6
6
  static get is() { return "pds-table-body"; }
7
7
  static get encapsulation() { return "shadow"; }
@@ -123,11 +123,11 @@ export class PdsTableCell {
123
123
  return classNames.join(' ');
124
124
  }
125
125
  render() {
126
- return (h(Host, { key: 'b108b0fce3ff0d5c503922a6c936ffd6ca52523f', class: this.classNames(), role: "gridcell", part: "cell", tabIndex: this.truncate ? 0 : undefined, style: this.tableRef &&
126
+ return (h(Host, { key: '1c37f341c8171d322d60647b25bfa92fdd9ea339', class: this.classNames(), role: "gridcell", part: "cell", style: this.tableRef &&
127
127
  this.tableRef.fixedColumn &&
128
128
  this.tableRef.selectable
129
129
  ? { '--fixed-cell-position': '40px' }
130
- : {} }, h("slot", { key: 'ebc1709ef52029bc6afec2fa89a90d47620892cb' })));
130
+ : {} }, h("slot", { key: '339b2217df131c58d76258f581a53c0bd46cbd03' })));
131
131
  }
132
132
  static get is() { return "pds-table-cell"; }
133
133
  static get encapsulation() { return "shadow"; }
@@ -174,7 +174,7 @@ export class PdsTableCell {
174
174
  "optional": false,
175
175
  "docs": {
176
176
  "tags": [],
177
- "text": "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."
177
+ "text": "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."
178
178
  },
179
179
  "getter": false,
180
180
  "setter": false,
@@ -42,7 +42,7 @@ export class PdsTableHead {
42
42
  }
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: 'd5d5906bdb23794b911ecd5904a4cc58aa5380d6', role: "row", part: "head" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '85df57fb4371e4fba855e16ce62c8329b49e08cf', part: this.tableRef.selectable ? 'checkbox-cell' : '' }, !this.tableRef.disableSelectAll && (h("pds-checkbox", { key: '92bd5565463e29d249d1ac71d9dc0d000f3eea79', 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: '494dc0395da229a264c38540479f36967601cc26' })));
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: 'e0a30c326b81e0cc3fa8c0392b61f2a6625aad71', 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: '3d0012983b2b552e4e61a3d84717afb9de8e572f' }), this.sortable && this.isActive && (h("pds-icon", { key: '326607f90b12ecc26a731dc696d0a3b8ebb0960c', 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: '6bbd8bb7cd1f90de0e418748bf8d3b9240ab0cb8', class: this.classNames(), role: "row", part: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-cell", { key: '9a92396654e7cdf819536335ebe95169d4d4c26d', part: this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell', class: this.tableRef.selectable ? 'has-checkbox' : '' }, h("pds-checkbox", { key: 'bf61a00da4d3c19280aae90d8eaff9515a716c52', componentId: this.generateUniqueId(), onPdsCheckboxChange: this.handleCheckboxChange, indeterminate: this.indeterminate, label: "Select Row", hideLabel: true, checked: this.isSelected, part: "row-checkbox" }))), h("slot", { key: 'f77887e878913bea5e0ca0a281a639285a65f1c1' })));
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: '342748daeeba7a5e0d2daef6eb0d1c787cdb47ea', slot: "tabpanels", class: this.stretch && this.selected ? "pds-tabpanel--stretch-active" : undefined }, h("div", { key: '72826548113720f89b9adcf017c1ca02a9f7a02a', 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: 'f12d5bacd3ce3509c84720cdbd4441c82b1f8ced' }))));
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: '97bb6d788bd7bdf393b46eaecea612d9b0c9dee4', "active-tab-name": this.activeTabName, class: this.classNames(), id: this.componentId }, tabList, h("slot", { key: '252855bfa496bc3e04fbe6dc0bcb7597c7360407', 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: '9ae3d5a57202ca1308c69b76645168fc8e18953b', ref: (el) => (this.contentEl = el), style: this.color && setColor(this.color), class: typeClasses, part: "content", tabIndex: this.truncate ? 0 : undefined }, h("slot", { key: 'e6c95b8240690a9c83927e206096bbd7615dd4d2' })));
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: 'd13869d989752c76c80a46ebb0291df2c0546cc2', "aria-disabled": this.disabled ? 'true' : null, "aria-readonly": this.readonly ? 'true' : null, "has-action": this.hasAction && !this.hideLabel ? 'true' : null }, h("div", { key: '19454f642896485dc22bc5dac8b6ed3b4ae5627a', class: "pds-textarea" }, this.label &&
305
- h("div", { key: 'def9e117ba3667a542e8cec32c2eabfa701c3305', class: "pds-textarea__label-wrapper" }, h("label", { key: '893a1db325ece460c627e72b765289098823e49e', htmlFor: this.componentId }, h("span", { key: 'd047f17441aa81800057d7403af15f6e38c53f6c', class: this.hideLabel ? 'visually-hidden' : '' }, this.label)), !this.hideLabel && this.renderAction()), h("div", { key: '7d0f2fab56fee9b9d9e0facabc7e607cb6bee23b', class: "pds-textarea__field-wrapper" }, h("textarea", Object.assign({ key: '261e6031c61832acde2d595248ccdc8bd5c84768', 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: 'de40f9d13bda3d9a224349b7f4ca38194e7adbb5', class: "pds-textarea__helper-message", id: messageId(this.componentId, 'helper') }, this.helperMessage), this.invalid &&
307
- h("p", { key: '1306917ce521c3ad0d303d255f9e7aefd0e65de7', "aria-live": "assertive", class: "pds-textarea__error-message", id: messageId(this.componentId, 'error') }, h("pds-icon", { key: '1c9e22b9b4bf84f671797bbfb9080bdbdb7619a7', 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"; }